• 企业400电话
  • 微网小程序
  • AI电话机器人
  • 电商代运营
  • 全 部 栏 目

    企业400电话 网络优化推广 AI电话机器人 呼叫中心 网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    PHP项目多语言配置平台实现过程解析

    这个月用ant design的方式重构了我在15年的时候写的一个给主端项目写的多语言配置后台。发现当时的设计很“深”,深到有些功能根本就没用过,根据这几年的使用情况,重构了这一版本,无论是体验上还是实用性上都有所提高。今天抽时间把当时的一些想当然的需求拿出来总结下吧:

    使用的技术

    我们的项目主要是PHP为主要开发语言。使用gettext扩展实现国际化的。即通过人工的方式按照规则写入.po文件,然后调用某函数生成.mo 文件,放到生产环境的文件夹下,然后在代码里初始化一些内容进行引用。

    gettext

    gettext是php实现国际化的基本方式。使用方法如下:

    安装php扩展gettext,这个同php其他扩展一样,这里就不详细介绍了。

    linux环境安装msgfmt,安好后可用此命令将po文件生成.mo文件。

    基本使用

    建立文件如:zh_CN.po (.po是个文本文件),内容如下:

    msgid "repeat content!"
    msgstr "文本内容相同"

    利用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'); // 函数设置地区信息(地域信息)
    bindtextdomain($lang, {$pofile_path})); // 用来设置文本域目录
    textdomain($lang); // 设置默认域
    bind_textdomain_codeset($lang, 'UTF-8');

    在php的请求里面使用如下方法即可得到语境下对应词组的内容:

    gettext("repeat content!") // 文本内容必须与1中的内容一致。

    或者

    _("repeat content!"); // 与上面函数相同

    管理后台

    以前都是开发人员自己上传,后来为了解放开发者,让产品自己操作,我们进行了如下改进:

    改进

    经过一段时间的使用,我决定根据实际使用情况重构一版。

    以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

    您可能感兴趣的文章:
    • PHP安全配置优化详解
    • Nginx+php配置文件及原理解析
    • VSCode+PHPstudy配置PHP开发环境的步骤详解
    • php开发最强大的IDE编辑的phpstorm 2020.2配置Xdebug调试的详细教程
    • Thinkphp 框架配置操作之动态配置、扩展配置及批量配置实例分析
    • 在phpstudy集成环境下的nginx服务器下配置url重写
    • 浅谈thinkphp的nginx配置,以及重写隐藏index.php入口文件方法
    • 详解Hbuilder中PHP环境配置
    上一篇:Yii 框架使用Forms操作详解
    下一篇:PHP7生产环境队列Beanstalkd用法详解
  • 相关文章
  • 

    © 2016-2020 巨人网络通讯 版权所有

    《增值电信业务经营许可证》 苏ICP备15040257号-8

    PHP项目多语言配置平台实现过程解析 PHP,项目,多,语言,配置,平台,