内射老阿姨1区2区3区4区_久久精品人人做人人爽电影蜜月_久久国产精品亚洲77777_99精品又大又爽又粗少妇毛片

如何實現(xiàn)PHP項目多語言配置平臺-創(chuàng)新互聯(lián)

這篇文章主要講解了“如何實現(xiàn)PHP項目多語言配置平臺”,文中的講解內(nèi)容簡單清晰,易于學(xué)習(xí)與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學(xué)習(xí)“如何實現(xiàn)PHP項目多語言配置平臺”吧!

目前創(chuàng)新互聯(lián)已為千余家的企業(yè)提供了網(wǎng)站建設(shè)、域名、虛擬主機網(wǎng)站運營、企業(yè)網(wǎng)站設(shè)計、深州網(wǎng)站維護等服務(wù),公司將堅持客戶導(dǎo)向、應(yīng)用為本的策略,正道將秉承"和諧、參與、激情"的文化,與客戶和合作伙伴齊心協(xié)力一起成長,共同發(fā)展。

這個月用ant design的方式重構(gòu)了我在15年的時候?qū)懙囊粋€給主端項目寫的多語言配置后臺。發(fā)現(xiàn)當(dāng)時的設(shè)計很“深”,深到有些功能根本就沒用過,根據(jù)這幾年的使用情況,重構(gòu)了這一版本,無論是體驗上還是實用性上都有所提高。今天抽時間把當(dāng)時的一些想當(dāng)然的需求拿出來總結(jié)下吧:

使用的技術(shù)


我們的項目主要是PHP為主要開發(fā)語言。使用gettext擴展實現(xiàn)國際化的。即通過人工的方式按照規(guī)則寫入.po文件,然后調(diào)用某函數(shù)生成.mo 文件,放到生產(chǎn)環(huán)境的文件夾下,然后在代碼里初始化一些內(nèi)容進行引用。

gettext


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

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


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


基本使用


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


msgid "repeat content!"
msgstr "文本內(nèi)容相同"


利用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'); // 函數(shù)設(shè)置地區(qū)信息(地域信息)
bindtextdomain($lang, {$pofile_path})); // 用來設(shè)置文本域目錄
textdomain($lang); // 設(shè)置默認域
bind_textdomain_codeset($lang, 'UTF-8');


在php的請求里面使用如下方法即可得到語境下對應(yīng)詞組的內(nèi)容:


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


或者


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


管理后臺


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

  • 做成可配置后臺,產(chǎn)品自己根據(jù)內(nèi)容填寫。

  • 配置后臺分成入口(權(quán)限控制),展示列表頁,即每個詞組key對應(yīng)各種語言下的內(nèi)容。

  • 詳情頁,詳情頁支持批量添加。

  • 點擊按鈕觸發(fā)發(fā)布。

  • 發(fā)布高級功能:生成列表和支持比對,對歷史版本發(fā)布(拷貝歷史版本到對應(yīng)的文件夾下)。


改進


經(jīng)過一段時間的使用,我決定根據(jù)實際使用情況重構(gòu)一版。

  • 頁面全部采用ant design pro為基礎(chǔ)的框架,采用前后端分離的樣式,我特別推崇ant design的設(shè)計思想,和人機交互的開發(fā)方法,是后端開發(fā)者的福音。

  • 淡化歷史版本的記錄。雖然有個好些,但是這個確實看的人少,基本沒有。

  • 重新發(fā)布,如果有時間就做,沒時間就不做。

  • 對于一些特殊內(nèi)容的規(guī)定,如如果一個詞組key在某種語言環(huán)境下顯示為空,該怎么處理等等。

感謝各位的閱讀,以上就是“如何實現(xiàn)PHP項目多語言配置平臺”的內(nèi)容了,經(jīng)過本文的學(xué)習(xí)后,相信大家對如何實現(xiàn)PHP項目多語言配置平臺這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是創(chuàng)新互聯(lián)網(wǎng)站建設(shè)公司,,小編將為大家推送更多相關(guān)知識點的文章,歡迎關(guān)注!

文章名稱:如何實現(xiàn)PHP項目多語言配置平臺-創(chuàng)新互聯(lián)
本文地址:http://www.rwnh.cn/article40/cschho.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供定制開發(fā)、標(biāo)簽優(yōu)化、品牌網(wǎng)站制作、服務(wù)器托管、定制網(wǎng)站全網(wǎng)營銷推廣

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

營銷型網(wǎng)站建設(shè)
霞浦县| 肥城市| 荃湾区| 青川县| 贵阳市| 雷州市| 巴彦淖尔市| 绥德县| 巴彦县| 务川| 南京市| 鲁山县| 灵寿县| 章丘市| 锡林郭勒盟| 陆丰市| 徐州市| 高尔夫| 绍兴县| 海晏县| 开鲁县| 阜平县| 定远县| 阿拉尔市| 甘南县| 延边| 扎囊县| 永福县| 马山县| 涟源市| 福鼎市| 浮山县| 常州市| 孟村| 土默特右旗| 遂宁市| 普安县| 西乌珠穆沁旗| 房山区| 阆中市| 临西县|