我正在使用gettext本地化一个PHP项目......这个部分没问题。问题是,例如,我有这句话“记住密码”。我可以放入下一个代码(使用gettext):echo _(“记住密码”)
这将在PO文件中生成一行,其中包含“记住密码”键,我将其在英文文件中翻译为“记住密码”,并在西班牙语网站中将其翻译为MO文件中的“记录密码”。
如果在将来,我想改变那句话并输入英文“永远记住密码”(例如再次)......问题是关键的“句子”将不同于英文翻译。
两种可能的情况:
1)所以,如果我想要干净,我可以再次更改密钥,并再次更改PHP代码,但这没用。
2)另一方面,我可以使用一个通用键,如“登录页面 - 记住”,可以使用并用于任何未来略有不同的句子。但这延长了“本地化”的时间,因为它没有添加_(“和”)
那么快你用什么?还有其他第三种选择吗?
感谢您的评论
答案 0 :(得分:1)
你几乎已经总结了你拥有的两个选项。请记住,如果句子以您的原始语言发生变化,它也可能会在本地化版本中发生变化,因此您无论如何都必须触摸它的所有出现(除了拼写错误,所以不要做任何事情)。
一个好的策略可能是在重度开发期间将主要语言保留在PHP文件中,因为它经常会发生变化。一旦应用程序安定下来,您可以将其提取到PO文件中,并使用通用占位符替换PHP中的字符串。这是否适合您取决于您的工作流程和项目规模。