我对如何进行国际化和本地化感到困惑,所以我将网站数据分类如下:
网站内容:由网站托管的内容,即有关主题的数据。例如:手机网站(有关手机型号、规范、价格等的数据)
用户数据:用户随时间添加的数据。例如:评论、评论、个人资料信息等。
UI Text :随 UI(模板)变化的静态文本。例如:菜单、页脚、页眉等。
希望我对数据进行了很好的分类。
可能的翻译方法:
from django.utils.translation import ugettext
还有哪些选择?
翻译问题(Django):
- 网站内容(动态):如何从数据库中获取动态内容的
.po文件? (ugettext 是正确的工具吗?) - 用户数据(动态):如何翻译这些动态数据? (
.po文件?)如果用户用英语发表评论而其他人用西类牙语发表评论怎么办? - UI Text (static) :这是静态文本,可以用
.po文件完成,并且可以用模板更改。那么,有没有更好的方法呢?
i18n 和 l10n 在实践中是如何处理的?
请您参考如下方法:
- UI 文本:gettext 是必经之路。
- 用户数据(动态):非常简单:您根本不需要翻译。您唯一可以做的就是要求用户提供一种以上的语言(只有少数人会这样做)或使用机器翻译(会惹恼人们——通常他们更喜欢英语而不是蹩脚的翻译)。尤其是当这样的翻译进入 google 索引时,获取它们而不是原始英文内容会非常烦人。
- 站点内容:您需要为 gettext 提供一种方法来提取数据库中的字符串,并且它们不应经常更改(否则工作量会很烦人)。使用 gettext 的替代方法是在数据库中存储多种语言。
