wordpress i18n多语言支持实现

文档http://codex.wordpress.org/I18n_for_WordPress_Developers

WP使用gettext(GNU来源项目)来实现i18n,带式实际使用是WP的函数__()和_e(), __是返回对应字符串,_e则是加载对应字符串并echo到返回流中。

首先WP的多语言是个全局配置wp-config.php中的配置项WPLANG指定是哪个语言。

然后在程序中加载mo

load_theme_textdomain (theme对应函数)

或是plugin中使用load_plugin_textdomain( $domain, $path_from_abspath, $path_from_plugins_folder )

来加载文件夹中对应语言的mo文件。

然后在你的php代码中使用__或_e来使用这些多语言。

wordpress多语言要使用xgettext生成pot文件然后转为po文件再转为mo文件,这位台湾同胞写的比较详细:

http://blog.longwin.com.tw/2010/08/windows-gettext-2010/

 

Windows 的 GetText 工具安裝
GetText 所需相關 Library 安裝
  • 上述套件下載後, 於 Windows XP 會缺下述兩個 Library:
    • libexpat.dll
    • libiconv2.dll
  • 可自行去尋找, 或者 直接下載 我抓好的版本 : gettext-dll.tgz
  • 將這兩個檔案放到 C:\gettext\bin\ 即可.
GetText 工具使用
  • C:\gettext\bin\xgettext.exe --from-code=UTF-8 -d hello hello.php
  • C:\gettext\bin\msgmerge.exe -o hello.po locale/zh_TW/LC_MESSAGES/hello.po hello.po
  • C:\gettext\bin\msgfmt.exe -o locale/zh_TW/LC_MESSAGES/hello.mo hello.po
  • 但是我试过了,不是很好用,其实在windows下最方便的是使用poedit了。
  • http://www.poedit.net/download.php 
  • 它是一个开元免费的工具,可以批量从php中导入生成po并且编辑,生成mo。

    这里我来讲一下怎么使用:

    新建File/New Catalog,出现对话框,红色框式必填的且要保证正确,

    Snap1

    Snap2

    source path就是php代码文件夹

    Snap3

    由于使用php所以需要添加关键字_e和__

    这样点击ok一路ok下去,就发现所有需要翻译的都加进来了。还可以编辑,它自动生成po,mo文件。

    很方便是吧。


  • Total views.

    © 2013 - 2018. All rights reserved.

    Powered by Hydejack v6.6.1