标签:php localization translation gettext
当我开始构建项目时,.po翻译文件中会有相当多的条目.我使用Poedit构建这些.
我的问题是,此文件中的条目的最佳做法是什么?我在想,而不是引用如下条目:
echo _('This is an entry.');
我在考虑组织他们:
echo _('error_pwd');
echo _('error_user_taken');
其中,一旦浏览了翻译文件,就会输出如下内容:
Password incorrect. Please try again.
Username is already taken. Please try another.
因此,我的所有翻译都可以按类型进行组织,例如error_,msg_,status_,tip_等.
有没有人看到它以这种方式完成,或者对更有组织的方法有任何建议?
解决方法:
其实没关系!
这取决于你.
但是,我建议您不要在部分中拆分翻译.
这样做没有任何好处.实际上,大多数项目对所有msgid条目使用一种文件方法.
像django,see.
当然,如果您仍希望按部分进行拆分翻译,可能需要查看Domains:
来自PHP doc:
This function (textdomain()) sets the domain to search within when calls are made to
gettext(), usually the named after an application.
此外,正如前面所说,使用msgid作为真正的短语(而不是下划线或点缀符号键)的优点是,如果没有用于条目的翻译,它将保留为默认消息.
这里有一些有用的链接:
> Django Porject – i18n, Definition
> PHP textdomain function
> What is bindtextdomain, textdomain in gettext?
> How to determine which catalog to be used
标签:php,localization,translation,gettext 来源: https://codeday.me/bug/20190702/1360401.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。