Custom translation/ja: Difference between revisions
From LimeSurvey Manual
Bravehorse (talk | contribs) Created page with "# ソースメッセージ<code>INSERT INTO lime_source_message (id, category, message) VALUES (NULL, NULL, 'Submit');</code>を作成する。 # 以下の手順で使用するため、IDを確認する(もし1番の場合:IDは1) # 関連する翻訳を作成する:<code>INSERT INTO lime_message (id, language, translation) VALUES ('1', 'en', 'Validate'), ('1', 'fr', 'Valider'); </code>" |
Bravehorse (talk | contribs) Created page with "==独自のテーマの使用(推奨)==" |
||
Line 35: | Line 35: | ||
# 関連する翻訳を作成する:<code>INSERT INTO lime_message (id, language, translation) VALUES ('1', 'en', 'Validate'), ('1', 'fr', 'Valider'); </code> | # 関連する翻訳を作成する:<code>INSERT INTO lime_message (id, language, translation) VALUES ('1', 'en', 'Validate'), ('1', 'fr', 'Valider'); </code> | ||
< | <span id="Using_your_own_theme_(recommended_solution)"></span> | ||
== | ==独自のテーマの使用(推奨)== | ||
<div lang="en" dir="ltr" class="mw-content-ltr"> | <div lang="en" dir="ltr" class="mw-content-ltr"> |
Revision as of 11:26, 25 May 2024
はじめに
LimeSurvey 5.4.0以降では、データベースへの直接アクセスによって全言語のあらゆる文字列を独自に翻訳することができます。
既存の翻訳がビジネスニーズに適合しない場合にこのしくみを使用することができます。
LimeSurveyの中核部分のテキストを変更すると、データベースを変更する必要があるため、特定の場合にのみ使用してください。
さらに、このしくみを使用すれば、アンケートテーマ固有の文字列を翻訳することもできます。
データベース翻訳のしくみ
データベースの翻訳は、LimeSurveyはYiiフレームワークのCDbMessageSourceから着想を得た方法を使用しています。
- SourceMessageテーブルのlime_source_message->messageで文字列を検索し、lime_source_message->idからidを取得します。
- 存在する場合、対象のid lime_message->idを持つ言語lime_message->languageのMessageテーブルの関連する翻訳 lime_message->translationを検索します。
LimeSurveyは、poファイルから翻訳の配列を作成し(このファイルの更新方法についてはLimeSurveyの翻訳を参照してください)、その後、データベースのすべての翻訳とマージします。
データベースに翻訳がある場合、常にその翻訳が返されます。
「送信」ボタンの例(英語とフランス語)
(特定のテーマと共に)すべてのアンケートの送信ボタンについて、_Submit_ではなく_Validate_を表示したいとします。テーマを更新し、gT('Submit')をgT('Validate')に置き換えると、すべての言語で常に_Validate_が表示されます。
すべてのテーマのすべてのアンケート
- ソースメッセージ
INSERT INTO lime_source_message (id, category, message) VALUES (NULL, NULL, 'Submit');
を作成する。 - 以下の手順で使用するため、IDを確認する(もし1番の場合:IDは1)
- 関連する翻訳を作成する:
INSERT INTO lime_message (id, language, translation) VALUES ('1', 'en', 'Validate'), ('1', 'fr', 'Valider');
独自のテーマの使用(推奨)
This method uses a solution with your own template, it updates the default string for all other languages as well.
- In Theme editor select the Navigation part
- Search for
Template:GT("Submit")
(in navigator.twig) - Replace by
Template:GT("Validate")
- Create the source message
INSERT INTO lime_source_message (id, category, message) VALUES (NULL, NULL, 'Validate');
- Check the ID (if it's the 1st : ID is 1) and use it for next instruction
- Create the related translation :
INSERT INTO lime_message (id, language, translation) VALUES ('1', 'fr', 'Valider');