婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識庫 > PHP項目多語言配置平臺實現過程解析

PHP項目多語言配置平臺實現過程解析

熱門標簽:廈門400電話辦理選易號網 臨沂crm外呼系統平臺 如何在世界地圖標注 梧州市機器人外呼系統怎么樣 電子地圖標注怎么修改 天客通地圖標注 公司外呼系統中心 菏澤語音外呼系統運營商 地圖標注符號樣式有

這個月用ant design的方式重構了我在15年的時候寫的一個給主端項目寫的多語言配置后臺。發現當時的設計很“深”,深到有些功能根本就沒用過,根據這幾年的使用情況,重構了這一版本,無論是體驗上還是實用性上都有所提高。今天抽時間把當時的一些想當然的需求拿出來總結下吧:

使用的技術

我們的項目主要是PHP為主要開發語言。使用gettext擴展實現國際化的。即通過人工的方式按照規則寫入.po文件,然后調用某函數生成.mo 文件,放到生產環境的文件夾下,然后在代碼里初始化一些內容進行引用。

gettext

gettext是php實現國際化的基本方式。使用方法如下:

安裝php擴展gettext,這個同php其他擴展一樣,這里就不詳細介紹了。

linux環境安裝msgfmt,安好后可用此命令將po文件生成.mo文件。

基本使用

建立文件如:zh_CN.po (.po是個文本文件),內容如下:

msgid "repeat content!"
msgstr "文本內容相同"

利用msgfmt將.po文件生成.mo文件。

msgfmt -o {$lang_path}/zh_CN.mo {$lang_path}/zh_CN.po

將生成的.po文件拷貝到你指定的文件夾 target_dir 下。

在php代碼里面初始化。

$lang = 'zh_CN'; //
setlocale(LC_MESSAGES, 'en_US.UTF-8'); // 函數設置地區信息(地域信息)
bindtextdomain($lang, {$pofile_path})); // 用來設置文本域目錄
textdomain($lang); // 設置默認域
bind_textdomain_codeset($lang, 'UTF-8');

在php的請求里面使用如下方法即可得到語境下對應詞組的內容:

gettext("repeat content!") // 文本內容必須與1中的內容一致。

或者

_("repeat content!"); // 與上面函數相同

管理后臺

以前都是開發人員自己上傳,后來為了解放開發者,讓產品自己操作,我們進行了如下改進:

  • 做成可配置后臺,產品自己根據內容填寫。
  • 配置后臺分成入口(權限控制),展示列表頁,即每個詞組key對應各種語言下的內容。
  • 詳情頁,詳情頁支持批量添加。
  • 點擊按鈕觸發發布。
  • 發布高級功能:生成列表和支持比對,對歷史版本發布(拷貝歷史版本到對應的文件夾下)。

改進

經過一段時間的使用,我決定根據實際使用情況重構一版。

  • 頁面全部采用ant design pro為基礎的框架,采用前后端分離的樣式,我特別推崇ant design的設計思想,和人機交互的開發方法,是后端開發者的福音。
  • 淡化歷史版本的記錄。雖然有個好些,但是這個確實看的人少,基本沒有。
  • 重新發布,如果有時間就做,沒時間就不做。
  • 對于一些特殊內容的規定,如如果一個詞組key在某種語言環境下顯示為空,該怎么處理等等。

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。

您可能感興趣的文章:
  • PHP安全配置優化詳解
  • Nginx+php配置文件及原理解析
  • VSCode+PHPstudy配置PHP開發環境的步驟詳解
  • php開發最強大的IDE編輯的phpstorm 2020.2配置Xdebug調試的詳細教程
  • Thinkphp 框架配置操作之動態配置、擴展配置及批量配置實例分析
  • 在phpstudy集成環境下的nginx服務器下配置url重寫
  • 淺談thinkphp的nginx配置,以及重寫隱藏index.php入口文件方法
  • 詳解Hbuilder中PHP環境配置

標簽:郴州 貴陽 白城 黃石 雞西 迪慶 瀘州 綿陽

巨人網絡通訊聲明:本文標題《PHP項目多語言配置平臺實現過程解析》,本文關鍵詞  PHP,項目,多,語言,配置,平臺,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《PHP項目多語言配置平臺實現過程解析》相關的同類信息!
  • 本頁收集關于PHP項目多語言配置平臺實現過程解析的相關信息資訊供網民參考!
  • 推薦文章
    主站蜘蛛池模板: 宁津县| 天水市| 河源市| 疏附县| 民权县| 纳雍县| 当阳市| 涞源县| 白沙| 莒南县| 崇明县| 通榆县| 郯城县| 若羌县| 阿瓦提县| 宁安市| 成都市| 通江县| 科尔| 驻马店市| 洱源县| 德清县| 荆门市| 赤水市| 栖霞市| 通州区| 建宁县| 本溪| 明光市| 平谷区| 石首市| 达孜县| 彰化市| 喀喇沁旗| 库车县| 新丰县| 江门市| 镇平县| 宜良县| 兴安县| 清镇市|