翻譯 LimeSurvey
From LimeSurvey Manual
翻譯 LimeSurvey
如果 LimeSurvey 能完整翻譯成您的母語,豈不是很棒?LimeSurvey 團隊一直在尋求新的翻譯,也歡迎協助更新現有翻譯的人員。請閱讀以下說明;如有任何疑問,歡迎隨時發送電子郵件至 translations@limesurvey.org。
如何翻譯 - 逐步說明
更新現有翻譯
- 在 LimeSurvey 網站註冊,然後登入您的帳號。
- 前往 https://translate.limesurvey.org,並使用相同的使用者名稱和密碼登入。
- 選擇您要翻譯的 LimeSurvey 版本,然後直接開始翻譯。您的翻譯經核准後,將自動納入每週的穩定版本發佈,您的使用者名稱也會列入更改紀錄檔中。
- 如果您有興趣成為所屬語言的主要翻譯人員,並具有核准新翻譯字串的權限,請透過 translations@limesurvey.org 與我們聯絡。此職務每週最多需要約一小時的工作時間,我們非常重視您能否穩定可靠地完成這項工作。
自訂現有翻譯
有時您可能想修改現有翻譯,使其更符合您的特定問卷情境。在這種情況下,請執行以下步驟:
- 前往 https://translate.limesurvey.org,選擇您要翻譯的 LimeSurvey 版本以及要修改的語言。
- 在翻譯頁面底部,您會看到將所有字串匯出為 *.po 檔案的選項。按一下匯出,並將其以 *.po 檔案儲存到您的本機硬碟:

- 下載並安裝 Poedit。
- 啟動 Poedit 並編輯下載的 *.po 檔案 - 修改特定的翻譯。
- 當您儲存 *.po 檔案時,系統會自動建立 *.mo 檔案。LimeSurvey 將會讀取後者。
- 最後一步是將該 *.mo 檔案放入 /locale 中對應的語言資料夾,並取代現有檔案。
注意:如果您使用的是 LimeSurvey Pro(僅限 Cooperate 和 Enterprise 使用者),團隊很樂意為您放置該檔案。只需建立一張支援工單,並附上 *.po 檔案(不是.*mo)。
建立新的翻譯
- 首先,取得 LimeSurvey 開發版本的存取權限。詳細說明請參閱原始碼。
- 下載並安裝 Poedit。
- 接著,您必須找出所屬語言的語言編碼 - 您可以在 IANA Language Subtag Registry 中搜尋您的語言編碼。
- 進入 /locale 目錄(位於 LimeSurvey 根目錄中),並建立一個以您的語言編碼命名的目錄。
- 前往以下連結下載您的語言範本 [1]。選擇專案,然後選擇任一語言(例如選擇英文項目),並捲動到底部。在那裡您可以將語言檔案匯出為 <your_language_code>.po 檔案。
- 將 <your_language_code>.po 檔案複製到位於 /locale 目錄中新建立的資料夾。
- 使用 Poedit 開啟該檔案,並翻譯所有需要翻譯的內容。
- 為了讓 LimeSurvey 認得您的語言,您必須在 application/helpers/surveytranslator_helper.php(位於 LimeSurvey 根目錄中)中新增該語言。使用文字編輯器開啟該檔案,並以與檔案中其他語言相同的定義方式新增您的語言。
- 儲存 - 為了讓 LimeSurvey 能看到新增的語言,請儲存修改後的 *.po 檔案。這會在同一資料夾中自動產生 *.mo 檔案,LimeSurvey 將會讀取該檔案。
- 將新的 *.po 檔案和更新後的 surveytranslator_helper.php 檔案發送至 translations@limesurvey.org。
新增語言的範例程式碼
$supportedLanguages['code']['description'] = gT('Language'); // Your language name in English
$supportedLanguages['code']['nativedescription'] = 'Language in native'; // The native name of your language
$supportedLanguages['code']['rtl'] = (true|false); // RTL
$supportedLanguages['code']['dateformat'] = integer; // See getDateFormatData function
$supportedLanguages['code']['radixpoint'] = (0|1); // 0 : ., 1 : , for radix point
$supportedLanguages['code']['cldr'] = 'code'; // If the related Yii language code differs you can here map your language to a new code
$supportedLanguages['code']['momentjs'] = 'code'; // Used by moment.js
其他需要翻譯的部分
- LimeSurvey 使用 moment.js。當您發送訊息至 translations@limesurvey.org 時,請確認必須使用哪個語言編碼。
- moment.js :有關如何參與 moment.js 翻譯的方法,請參閱 moment.js 文件。