2011-02-18 60 views
0

我正在使用gettext本地化PHP项目......没有问题的部分。例如,我有这样一句话:“记住密码”。我可以在代码中使用下一个(使用gettext):echo _(“记住密码”)本地化语句

这将在密钥“记住密码”的PO文件中生成一行,我将它翻译成英文文件“记住密码”,并在西班牙文网站上将MO文件中的“Recordar密码”。

如果将来我想改变这句话,并用英语“永远记住密码”(例如再次)......问题是关键的“句子”将与英语翻译不同。

两种可能的情况:

1)所以,如果我想有这样干净,我可以再次更改密钥,并再次将PHP代码,但是这是没有用的。

2)另一方面,我可以使用通用密钥,如“登录页面 - 记住”,可用于任何未来略有不同的句子。但是这会延长“本地化”的时间,因为它不如加入_(“和”)那么快。

你用什么?任何其他第三种选择?

感谢您的意见

回答

1

你几乎总结了你有两个选项。请记住,如果句子以您的原始语言更改,它可能会在本地化版本中更改,因此无论如何您都必须触摸它的所有出现(除了拼写错误,所以不要做任何)。

一个好的策略可能是在重大开发过程中将主要语言保留在PHP文件中,因为它预计会经常更改。一旦应用程序稍微安定下来,您可以将其解压缩到PO文件中,并用通用占位符替换PHP中的字符串。这是否适用于您,取决于您的工作流程和项目大小。

+0

我同意你应该在开发过程中坚持主要语言,并保存本地化,直到应用程序更稳定。我曾在有多种语言选项的网站上工作,并保持po文件同步,这本身就是一项任务。 – Chaoley 2011-02-18 06:17:05