Swoft-Api项目部署六:国际化(语言包)


swoft语言包的术语是:国际化

使用语言包好处:

统一存放"类型"数据 如

'sex'=>[0=>'未知',1=>'','']
// 文本中可用大括号注入参数
'sayhello' => 'Hey {name}!',
'saygoodbye' => 'Bye!',
'order_status'=>[0=>'无效',1=>'待付款',2=>'待发货',3=>'待确认',4=>'待评价',5=>'已完成']

如果数据发生变更,只需修改语言包里的内容即可,无需全文去修改

swoft默认调用语言包

\Swoft::t('sayhello', ['name' => 'man']);

\Swoft::t('msg.sayhello', ['name' => 'man'], 'en');

创建助手函数lang调用

if(!function_exists('lang')){
    /*
 * 语言包助手函数
 * */
    function lang(string $key, array $params = [], string $locale = ''){
        return \Swoft::t($key, $params, $locale);
    }
}