我们如何消除Symfony框架中的同音异义词i18n?
当我们使用相同的英语单词用于不同的含义时,它应该被翻译成不同点的不同单词。像“免费啤酒”和“言论自由”中的“免费”一样,需要翻译成另一种语言的不同词语。像Wordpress这样的大多数脚本都使用了上下文。
我正在考虑使用一些包含部分名称的ID。我认为使用ID是i18n的正确方法。但是我认为Symfony i18n不支持使用ID +默认值,例如__('ui:generic:yes','Yes')
。所以我正在考虑为英语添加字典,包括我需要的ID。
任何想法以更合适的方式(正式或广泛接受)来做到这一点?任何最佳实践,样本,参考Symfony i18n消歧/默认/上下文?
答案 0 :(得分:0)
我在我的应用中使用了一种非常相似的方式:我使用这样的翻译键:homepage_main_title。 我使用英语词典:这样,即使我用英语浏览网站,我也可以发现未翻译的文本。
答案 1 :(得分:0)
使用Symfony执行此操作的正确方法是使用目录。
<?php
echo __('your message',array(),'catalogname');
?>