php的國際化程式設計思路 i18n gettext

2021-05-08 09:12:13 字數 2346 閱讀 2547

1.實驗環境:

[複製到剪下板]

code:

php開發環境:xp

+apache2

+php5

;document_root = d

:wwwmy

;程式在根目錄下執行

poedit

-1.3.7 

//可以到poedit官網上去下符合你作業系統的程式. ;

2.配置.

[複製到剪下板]

code:

當然了

,首先一點你要支援php的gettext擴充套件

,linux下在編譯php時搞定

,win下最新的php5只要把配置檔案裡的gettext擴充套件開啟就行了

.!~安裝poedit

,我是按預設安裝的

,你自己找到命令的目錄就行了

,或加個環境變數

.

3.php編碼

寫個簡單的hello world!

hello.php

[複製到剪下板]

code:

<?

php  

//i18n php國際化程式設計

define

('package'

, 'hello'

); //定義語言檔名稱.就是*.mo,*.po的名字

putenv

("lang=zh_cn"

);//定義語系,這個可以參照各種國際化文件.我定義的是中文.

setlocale

(lc_all

,"zh_cn"

);bindtextdomain

(package

,"d:/www/my/locale"

);//設定語言檔案路徑

textdomain

(package

);//這裡是設定下語言檔案,上面只是定義乙個常量,別搞混了哦

echo _(

"hello world!"

);//程式主體,我們用英文寫

?> 

4.生成語言檔案

[複製到剪下板]

code:

//進入poedit的bin目錄c:

program filespoeditbin

>

xgettext 

-d hello d

:wwwmyhello

.php 

用記事本開啟生成的hello.po 如下

[複製到剪下板]

code:

msgid 

""msgstr 

"""project-id-version: package version/n"

"report-msgid-bugs-to: /n"

"pot-creation-date: 2007-09-18 13:40+0800/n"

"po-revision-date: year-mo-da ho:mi+zone/n"

"last-translator: full name /n"

"language-team: language <[email][email protected][/email]>/n"

"mime-version: 1.0/n"

"content-type: text/plain; charset=gbk/n" 

#這裡設定你的字符集

"content-transfer-encoding: 8bit/n"

#: d:/www/my/hello.php:8

msgid 

"hello world!"

msgstr 

"您好!"  

#在這裡寫你的譯文 ;

改好以後執行生成*.mo檔案,編譯過c的相信對這些不陌生.

[複製到剪下板]

code:

c

:program filespoeditbin

>

msgfmt 

-o hello

.mo hello

.po 

5.設定目錄結構.

相對於上面的bindtextdomain設定

d:/www/my/locale

locale

+---zh_cn

+-------lc_messages//這裡放你生成的hello.mo hello.po

6.執行

hello.php

哈哈,出來了,是您好.

這主要是目錄結構設定正確,比較複雜.有疑問的同學歡迎參加討論!~`````

react Taro 使用i18n國際化

npm install react i18next i18next i18next browser languagedetector 新建index.jsx import languagedetector from i18next browser languagedetector import i1...

iOS應用的國際化i18n

ios應用的國際化,主要分為3個部分 下面我就來一一說明。info.plist 檔案的國際化 我們使用xcode 4.5 建立乙個新專案,會自動建立乙個 en.lproj 目錄,這個目錄下存放的就是需要國際化的檔案 預設為英文 下面,我們還需要建立中文國際化支援。1.建立名為 zh hans.lpr...

iOS應用的國際化i18n

m ios應用的國際化,主要分為3個部分 下面我就來一一說明。info.plist 檔案的國際化 我們使用xcode 4.5 建立乙個新專案,會自動建立乙個 en.lproj 目錄,這個目錄下存放的就是需要國際化的檔案 預設為英文 下面,我們還需要建立中文國際化支援。1.建立名為 zh hans.l...