unicode - 多字节语言的网站本地化

标签 unicode localization internationalization string-externalization

我已经开始为一个包含大量硬编码文本的中型网站编写多语言功能。由于该网站应该翻译成日语和韩语(多字节字符集),我正在考虑以下内容:

  • 如果我使用字符串外部化,日语或韩语的字符串是否需要在语言环境文件中采用 unicode 形式(即 台北 而不是 台北 作为字符串值) ?
  • 将本地化信息存储在数据库(即 MySQL)中并通过 PHP 中的本地化函数检索相应的值是否更有意义?

非常感谢您的想法。

致以诚挚的问候

最佳答案

0.02 美元,来自有一些 i18n 经验的人...

  1. 以人类可读的形式保存您的翻译,因为管理这些资源的可能是翻译人员,而不是编码人员。
  2. 如果此文本(您说是硬编码的)不会经常更改,那么您可能希望将这些资源存储为在运行时读入的文件。
  3. 如果此文本经常更改,那么您可能希望探索其他存储资源的替代方案,例如数据库或内存中键值存储。

根据您的要求,您可能需要考虑上述内容的混合。

但我强烈建议您避免将代码(HTML 字符实体)与翻译资源混合。大多数译者不会理解它们的意思,并且在翻译时可能会破坏它们。另一方面,程序员可能不明白如何正确地将代码或格式插入到翻译资源中,除非他们真正理解该语言。

tl;dr 
  - use UTF-8
  - don't mix any code/formatting into the translations themselves
  - how you store the translations depends upon your requirements

关于unicode - 多字节语言的网站本地化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5986328/

相关文章:

javascript - 是否可以更改谷歌地图中上下文菜单的语言?

words - 日语 Unicode : Convert radical to regular character code

javascript - 为什么在ECMAScript 6中,U + D800和U + DBFF之间的代码点会生成一个一字串的字符串?

python - mysql 字段到 HTML 模板(python unicode 解码错误)

c++ - 有没有办法在我的应用程序中使用外语字符?

angular - 如何使用 ngx-translate 翻译 typescript 文件中的组件或服务字符串

python - Unicode编码错误: 'ascii' codec can't encode character u'\xa0' in position 4: ordinal not in range(128)

Haskell:打印文本编码

iOS 应用未根据所选语言进行本地化

ios - swift:使导航栏从右到左(rtl)同时带有左右项目,例如后退