這個月用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