我应该如何本地化PHP/MySQL网站的界面?
是否有指导方针或最先进的方法来本地化PHP/MySQL网站 这里的想法是翻译按钮、页面标题和消息。网站的语言将在安装时选择,不应更改 我已经开始创建包含关键字列表及其翻译的文本文件,但感觉就像是重新发明轮子我应该如何本地化PHP/MySQL网站的界面?,php,mysql,localization,Php,Mysql,Localization,是否有指导方针或最先进的方法来本地化PHP/MySQL网站 这里的想法是翻译按钮、页面标题和消息。网站的语言将在安装时选择,不应更改 我已经开始创建包含关键字列表及其翻译的文本文件,但感觉就像是重新发明轮子 谢谢你的帮助 我做过一次,我为不同的语言添加了不同的文件。 包括该文件,如果未包括任何文件,则包括默认(英文)文件。 在该文件中定义数组 $array_language['welcome_msg'] = 'You are welcome'; 因此,您将包含该数组的哪个文件将显示,其他相关消
谢谢你的帮助 我做过一次,我为不同的语言添加了不同的文件。
包括该文件,如果未包括任何文件,则包括默认(英文)文件。
在该文件中定义数组
$array_language['welcome_msg'] = 'You are welcome';
因此,您将包含该数组的哪个文件将显示,其他相关消息将显示默认的英文文件。同时,我发现了一种构建数组文本文件的有效方法 无论我想在哪里翻译文本项,我都会使用php函数aliased uz()来封装它 然后,我解析所有php文件并自动创建翻译 我生成的.po(人类可读)和.mo(编译)本地化文件放入:
locale/en_EN/LC_MESSAGES
然后,我使用以下代码初始化翻译应用程序:
$locale = 'en_EN';
putenv("LC_ALL=".$locale);
setlocale(LC_ALL, $locale);
bindtextdomain("messages", "locale");
textdomain("messages");
优点:
- 这样我就不必跟踪我的各种文本项和 创建新的翻译可以由非程序员完成
- 输出的.po文件的格式似乎也相当标准
- .po文件还引用要在我的项目中翻译的每一个文本
- 另一个好处是,如果由于某种原因无法访问.po翻译文件,则基本文本将由gettext函数显示