• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

Cakephp中如何实现i18n?

php 搞代码 4年前 (2022-01-22) 23次浏览 已收录 0个评论

好像网上一直没有比较详细的中文资料来讲述如何使用cakephp来实现i18n。正好昨天被逼无奈的将代码中的提示中文化了一把,略有心得,简而志之。

中文化cakephp有如下几步:

1,在代码中使用__()函数。

在需要进行中文化的地方使用__()函数,如下所示:

Php代码

__('This is the string i need to translate', true);

__('This is the string i need to translate', true);

将第2个参数置为ture,这样如果有相对应的翻译词条的话那么翻译过的词条将输出,否则会输出未翻译的词条。

2,执行i18n task

如果你的代码中存在__()函数的话,你就可以执行i18n task来进行代码扫描了。

i18n task的作用是扫描源码中所有__()函数,为__()中的string建立翻译索引并将这些索引保存在.pot文件中。

那么如何执行i18n task呢?

命令行进入你项目的app目录

如果是windows平台,请确保环境变量的PATH中包含php的bin路径,并确保你cake目录下的cake\console也存在于环境变量的PATH中

执行命令cake i18n,这时候应该会出现如下所示的提示,选择E既可

—————————————
I18n Shell
—————————————
[E]xtract POT file from sources
[I]nitialize i18n database table
[H]elp
[Q]uit
What would you like to do? (E/I/H/Q)
>

i18n task执行完毕后应该\app\locale目录下生成名为default.pot的文件,来4源gaodaimacom搞#代%码*网搞代gaodaima码将这个文件拷贝至\app\locale\chs\LC_MESSAGES目录下

使用pot文件的编辑工具翻译词条。推荐使用Poedit

在\app\config\core.php中加上如下代码:

Php代码

Configure::write('Config.language', 'chs');

Configure::write('Config.language', 'chs');

好了,这样就完成简单的项目中文化了。

其中很多细节由于篇幅原因就不做完整介绍了。有疑问的话请参考cakephp的帮助文档。

以上就是Cakephp中如何实现i18n的内容,更多相关内容请关注搞代码(www.gaodaima.com)!


搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:Cakephp中如何实现i18n?

喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址