x

Main chapters

  1. LimeSurvey Cloud vs LimeSurvey CE
  2. LimeSurvey Cloud - Quick start guide
  3. LimeSurvey CE - Installation
  4. How to design a good survey (Guide)
  5. Getting started
  6. LimeSurvey configuration
  7. Introduction - Surveys
  8. View survey settings
  9. View survey menu
  10. View survey structure
  11. Introduction - Questions
  12. Introduction - Question Groups
  13. Introduction - Surveys - Management
  14. Survey toolbar options
  15. Multilingual survey
  16. Quick start guide - ExpressionScript
  17. Advanced features
  18. General FAQ
  19. Troubleshooting
  20. Workarounds
  21. License
  22. Version change log
  23. Plugins - Advanced
 Actions

カスタム翻訳

From LimeSurvey Manual

This page is a translated version of the page Custom translation and the translation is 95% complete.

はじめに

LimeSurvey 5.4.0以降では、データベースへの直接アクセスによって全言語のあらゆる文字列を独自に翻訳することができます。

既存の翻訳がビジネスニーズに適合しない場合にこのしくみを使用することができます。

LimeSurveyの中核部分のテキストを変更すると、データベースを変更する必要があるため、特定の場合にのみ使用してください。

さらに、このしくみを使用すれば、アンケートテーマ固有の文字列を翻訳することもできます。

データベース翻訳のしくみ

データベースの翻訳は、LimeSurveyはYiiフレームワークのCDbMessageSourceから着想を得た方法を使用しています。

  1. SourceMessageテーブルのlime_source_message->messageで文字列を検索し、lime_source_message->idからidを取得します。
  2. 存在する場合、対象のid lime_message->idを持つ言語lime_message->languageのMessageテーブルの関連する翻訳 lime_message->translationを検索します。

LimeSurveyは、poファイルから翻訳の配列を作成し(このファイルの更新方法についてはLimeSurveyの翻訳を参照してください)、その後、データベースのすべての翻訳とマージします。

データベースに翻訳がある場合、常にその翻訳が返されます。

「送信」ボタンの例(英語とフランス語)

(特定のテーマと共に)すべてのアンケートの送信ボタンについて、_Submit_ではなく_Validate_を表示したいとします。テーマを更新し、gT('Submit')をgT('Validate')に置き換えると、すべての言語で常に_Validate_が表示されます。

すべてのテーマのすべてのアンケート

  1. ソースメッセージINSERT INTO lime_source_message (id, category, message) VALUES (NULL, NULL, 'Submit');を作成する。
  2. 以下の手順で使用するため、IDを確認する(もし1番の場合:IDは1)
  3. 関連する翻訳を作成する:INSERT INTO lime_message (id, language, translation) VALUES ('1', 'en', 'Validate'), ('1', 'fr', 'Valider');

独自のテーマの使用(推奨)

この方法は、独自のテンプレートを使用した解決方法であり、他のすべての言語の既定文字列も更新されます。

  1. テーマエディターのナビゲーションパートを選択する
  2. Template:GT("Submit")を検索する(navigator.twig内)
  3. Template:GT("Validate")に置き換える
  4. ソースメッセージを作成する:INSERT INTO lime_source_message (id, category, message) VALUES (NULL, NULL, 'Validate');
  5. 以下の手順で使用するため、IDを確認する(もし1番の場合:IDは1)
  6. 関連する翻訳を作成する:INSERT INTO lime_message (id, language, translation) VALUES ('1', 'fr', 'Valider');

Please Note

The category field in lime_source_message must be an empty string (``), not NULL. If the category does not match exactly, gT() will not find the source message, and your translation will not be applied. This is especially important when adding translations for theme-specific strings.