本地化的Web应用程序选项(Options for localizing web app)

2019-10-18 15:59发布

我工作的国际网站(PHP,自定义轻量级MVC框架),它需要显示在用户的本地语言内容上。 内容将主要是文字,但也可以是影像。

我们目前的解决方案是一个巨大的文件,与对每一块文本的独立的功能将被翻译,并且在每个功能的开关的情况。 这已经成为可怕的维护和ins't特别是可扩展的两种。

我们优先考虑的是性能,可维护性(如果我们需要修复错误或做出改变,应在尽可能少的地方尽可能地发生),和可扩展性(允许翻译者增加更多的语言)。 我们预计至少有10〜12种语言进行工作。 我们还需要考虑内的文本HTML内容,如<p></p>和链接。 目前,我们已经在返回的文本(其中,很明显,是不是特别维护)的HTML内嵌。 一些我们考虑的选择:

数据库表的翻译,与每种语言的列
+可扩展到大量的内容
- 不容易翻译添加/修改内容
- DB交易的地块,性能下降

一个纯文本文件(CSV)
+转换为电子表格,便于翻译人员一起工作
- 加载一个巨大的文件到内存可能会影响性能(不知道有多少的影响,这实际上使)
- 可能难以维持

每一种语言的纯文本文件
+方便译员工作
? 更好的性能(也许)

创建嵌入,本地化内容的每个(MVC)视图的多个版本,持续集成系统
+最佳性能
+可以采用CSV或其他格式的组合,很容易对翻译人员使用
- 设置复杂
- 可能难以维持

我们一直在寻找如何实现在Web应用程序内容翻译导游,但还没有碰到过任何有用的东西。 这其中一个选项是最好的,什么其他实现我们不是考虑?

Answer 1:

本地化可以使用PHP的gettext扩展和.po文件类型来实现。 蒲文件类型与福建师范大学的gettext有关。 你使用poEdit,我们可以创建的.po和文件的.mo .po文件包含与转换的短信如下

eng.po

MSGID “”

Msgstr “”

ch.po

MSGID “”

Msgstr “”

详细介绍参见这里http://php.net/manual/en/book.gettext.php



文章来源: Options for localizing web app