x

主要章節

  1. LimeSurvey Cloud 與 LimeSurvey CE 的差異
  2. 快速入門指南 - LimeSurvey 3.0+
  3. 安裝 - LimeSurvey CE
  4. 如何設計一份好的問卷(指南)
  5. 入門指南
  6. 管理 LimeSurvey
  7. 問卷 - 簡介
  8. 問卷設定
  9. 問卷選單
  10. 問卷結構
  11. 問題簡介
  12. 題組 - 簡介
  13. 問卷管理
  14. 問卷工具列選項
  15. 多語言問卷
  16. ExpressionScript 引擎 - 快速入門指南
  17. 未分類及進階功能
  18. 常見問題
  19. 疑難排解
  20. 應變方案
  21. 授權條款
  22. 版本更改紀錄檔
  23. 外掛程式
 Actions

自訂翻譯

From LimeSurvey Manual

本頁面可能為機器翻譯,可能包含錯誤。 檢視英文原文 · 改善此翻譯
This page is a translated version of the page Custom translation and the translation is 100% complete.

簡介

自 LimeSurvey 5.4.0 起,您可以直接存取資料庫,為所有內建語言中的所有字串設定自己的翻譯。

如果現有翻譯不符合您的業務需求,可以使用此系統。

此方式應僅限於特定情況使用,因為 LimeSurvey 核心中的文字若有修改,將需要再次修改您的資料庫。

此外,您也可以使用此方法來翻譯問卷佈景主題專用的字串。

資料庫翻譯的運作方式

對於資料庫翻譯,LimeSurvey 採用的方法是受 Yii 框架的 CDbMessageSource 所啟發。

  1. 在 SourceMessage 資料表 lime_source_message->message 中尋找該字串,並取得 id:lime_source_message->id
  2. 若存在,則在 Message 資料表中,以目前的 id lime_message->id 及目前的語言 lime_message->language,尋找相關的翻譯 lime_message->translation

LimeSurvey 會從 po 檔建立翻譯陣列(如何更新此檔案請參閱 翻譯 LimeSurvey),然後再與資料庫中的所有翻譯合併。

之後,只要資料庫中存在翻譯,一律會傳回資料庫中的翻譯。

英文和法文「送出」按鈕的範例

您希望在所有問卷(使用特定佈景主題)中,將送出按鈕顯示為 _Validate_ 而不是 _Submit_。如果您只是更新佈景主題,並將 gT('Submit') 替換為 gT('Validate'),則所有語言都會一律顯示 _Validate_。

適用於所有問卷與所有佈景主題

  1. 建立來源訊息 INSERT INTO lime_source_message (id, category, message) VALUES (NULL, '', 'Submit');
  2. 檢查 ID(如果是第一筆,ID 即為 1),並在下一個指令中使用
  3. 建立相關的翻譯: INSERT INTO lime_message (id, language, translation) VALUES ('1', 'en', 'Validate'), ('1', 'fr', 'Valider');

請勿將字串替換為空字串,否則翻譯會退回為原始的英文句子。您至少必須包含一個空格。

使用您自己的佈景主題(建議的解決方案)

此方法使用您自己的範本,同時也會更新所有其他語言的預設字串。

  1. 在佈景主題編輯器中選擇 Navigation 部分
  2. 搜尋 Template:GT("Submit")(位於 navigator.twig 中)
  3. 替換為 Template:GT("Validate")
  4. 建立來源訊息 INSERT INTO lime_source_message (id, category, message) VALUES (NULL, '', 'Validate');
  5. 檢查 ID(如果是第一筆,ID 即為 1),並在下一個指令中使用
  6. 建立相關的翻譯: INSERT INTO lime_message (id, language, translation) VALUES ('1', 'fr', 'Valider');

請注意

lime_source_message 中的 category 欄位必須是空字串(''),而不是 NULL。如果類別不完全相符,gT() 將找不到來源訊息,您的翻譯也就不會被套用。在新增佈景主題專用字串的翻譯時,這一點尤其重要。