通过国际化来开始¶
有个项目,并想要将其翻译为几种语言?这个向导会帮您进行。几种典型的情况展示出来,而多数示例是通用的,并且也可以用于其它情景。
在翻译任何软件之前,要认识到世界各处的语言真正不同,而您不应该根据自己的经验做出任何假设。对于多数语言,如果尝试从翻译的段落中连接出句子,看起来会很奇怪。应该正常滴处理复数形式,因为很多语言对此具有复杂的规则,最终使用的国际化框架应该支持它。
最后但并非不重要的,有时将一些文本添加到翻译的字符串中是必要的。想象一下翻译者要翻译字符串``Sun`` 。没有上下文的话多数人会将它翻译为我们最近的恒星,但它实际上也会用作星期天的缩写。
选择国家化框架¶
选择您的平台上任何标准化的,尝试通过创建自己的框架来处理本地化,来避免重新发明轮子。Weblate 支持大多数广泛使用的框架,更多信息请参见 formats`(特别是 :ref:`fmt_capabs)。
我们对一些平台的个人推荐在下面的表格中。这基于我们的经验,但这无法覆盖所有的使用情况,因此做选择时总是要考虑您的环境。
平台 |
推荐的格式 |
---|---|
Android |
|
iOS |
|
Qt |
|
Python |
|
PHP |
|
C/C++ |
|
C# |
|
Perl |
|
Ruby |
|
Web 扩展 |
|
Java |
|
JavaScript |
- 1
PHP 对 Gettext 的本地支持故障比较多,并且通常缺乏 Windows 构建,推荐替代使用第三方库 motranslator。
- 2
如果不需要复数的话还可以使用 Java 属性。
- 3
如果不需要复数的话还可以使用简单的 JSON 文件。
一些格式更具体的工作流程在后面的章节中描述:
参见