通過國際化來開始

有個項目,並想要將其翻譯為幾種語言?這個嚮導會幫您進行。幾種典型的情況展示出來,而多數示例是通用的,並且也可以用於其它情景。

在翻譯任何軟件之前,要認識到世界各處的語言真正不同,而您不應該根據自己的經驗做出任何假設。對於多數語言,如果嘗試從翻譯的段落中連接出句子,看起來會很奇怪。應該正常滴處理複數形式,因為很多語言對此具有復雜的規則,最終使用的國際化框架應該支持它。

最後但並非不重要的,有時將一些文本添加到翻譯的字符串中是必要的。想像一下翻譯者要翻譯字符串``Sun`` 。沒有上下文的話多數人會將它翻譯為我們最近的恆星,但它實際上也會用作星期天的縮寫。

選擇國家化框架

選擇您的平台上任何標準化的,嘗試通過創建自己的框架來處理本地化,來避免重新發明輪子。 Weblate 支持大多數廣泛使用的框架,更多信息請參見 formats`(特別是 :ref:`fmt_capabs)。

我們對一些平台的個人推薦在下面的表格中。這基於我們的經驗,但這無法覆蓋所有的使用情況,因此做選擇時總是要考慮您的環境。

Platform

推薦的格式

Android

安卓字符串資源

iOS

蘋果 iOS 字符串

Qt

Qt Linguist .ts

Python

GNU gettext

PHP

GNU gettext 1

C/C++

GNU gettext

C#

.XML resource files

Perl

GNU gettext

Ruby

Ruby YAML files

Web 擴展

WebExtension JSON

Java

XLIFF 2

JavaScript

JSON i18next files 3

1

PHP 對 Gettext 的本地支持故障比較多,並且通常缺乏 Windows 構建,推薦替代使用第三方庫 motranslator

2

如果不需要復數的話還可以使用 Java 屬性

3

如果不需要復數的話還可以使用簡單的 JSON files

一些格式更具體的工作流程在後面的章節中描述: