1. 适用于wap多语言

1.1. 准备工作

  1. 配置好开发环境 需要确保安装了gettext,可以使用yum或者apt-get的方式安装

    #ubuntu 系统执行
    apt-get install gettext
    
    #centos 系统执行
    yum install gettext-devel
    
    #mac 系统系统执行
    brew install gettext
    brew link gettext --force
    

    然后需要安装msgfmt

    #centos
    yum install msgfmt -y
    

    当使用msgfmt 时显示Try `msgfmt --help' for more information. 表示需要的扩展安装成功

  2. 测试当前 进入到bbc/config目录,修改app.php

    'locale' => 'en_US'
    

    进入到public/app/topwap/lang/en_US/LC_MESSAGES/,运行命令

    # 执行命令前,建议先删除 .mo 文件;
    msgfmt -o lang.mo lang.po
    

    查看是否报错,然后查看页面是否是英文显示

1.2. 自定义开发

  1. 增加英文显示

    找到对应的HTML或者PHP文件

    i. 对于html文件,例如要对"测试"进行翻译

    <{t app='topwap'}>测试<{/t}>
    

ii. 对于php文件,例如要对"测试"进行翻译

   app::get("topwap")->_("测试")

public/app/topwap/lang/en_US/LC_MESSAGES/lang.po中查看 是否有测试的翻译,如果没有,可以手动添加如下的翻译对照内容:

   msgid "测试"
   msgstr "test"

注意必须是双引号,完成翻译对照对照内容后,在public/app/topwap/lang/en_US/LC_MESSAGES/下运行

   # 执行命令前,建议先删除 .mo 文件;
   msgfmt -o lang.mo lang.po

并且重启php-fpm

  1. 编辑英文显示

    可以对已有的翻译对照文件进行二次修改,修改对应的.po 文件,并保存,重新执行msgfmt 命令。具体如下:

    public/app/topwap/lang/en_US/LC_MESSAGES/lang.po中,

    msgid "测试"
    msgstr "test"
    

    注意必须是双引号,然后在 public/app/topwap/lang/en_US/LC_MESSAGES/下运行

    # 执行命令前,建议先删除 .mo 文件;
    msgfmt -o lang.mo lang.po
    

    并且重启php-fpm

results matching ""

    No results matching ""