这个月用ant design的方式重构了我在15年的时候写的一个给主端项目写的多语言配置后台。发现当时的设计很“深”,深到有些功能根本就没用过,根据这几年的使用状况,重构了这一版本,不管是体验上仍是实用性上都有所提升。今天抽时间把当时的一些想固然的需求拿出来总结下吧: php
咱们的项目主要是PHP为主要开发语言。使用gettext扩展实现国际化的。即经过人工的方式按照规则写入.po文件,而后调用某函数生成.mo 文件,放到生产环境的文件夹下,而后在代码里初始化一些内容进行引用。linux
gettext是php实现国际化的基本方式。使用方法以下:后端
msgid "repeat content!" msgstr "文本内容相同"
msgfmt -o {$lang_path}/zh_CN.mo {$lang_path}/zh_CN.po
将生成的.po文件拷贝到你指定的文件夹 target_dir 下。框架
$lang = 'zh_CN'; // setlocale(LC_MESSAGES, 'en_US.UTF-8'); // 函数设置地区信息(地域信息) bindtextdomain($lang, {$pofile_path})); // 用来设置文本域目录 textdomain($lang); // 设置默认域 bind_textdomain_codeset($lang, 'UTF-8');
gettext("repeat content!") // 文本内容必须与1中的内容一致。 或者 _("repeat content!"); // 与上面函数相同
之前都是开发人员本身上传,后来为了解放开发者,让产品本身操做,咱们进行了以下改进:前后端分离
通过一段时间的使用,我决定根据实际使用状况重构一版。dom