• Laravel 本地化定义


    1、配置本地化语言
    Laravel 的本地化语言配置项位于config/app.php:

    [php] view plain copy
    1.   

    'locale' => 'zh',//当前语言

    'fallback_locale' => 'en',//备用语言


    2、创建翻译文件

    翻译文件所在目录为resources/lang,在此创建 zh/auth.php文件

    [php] view plain copy
    1.   

    return [ 

        'username'=>'用户名',

        'password'=>'密码',

        'rememberme'=>'记住密码',

        'login'=>'登录', 

        'badpassword' => '用户名或密码错误.', 

    ];


    3、在代码中实现 使用 trans()方法  实现本地化显示

    [php] view plain copy
    1. <div class="form-group">  
    2.            <label class="col-lg-4 control-label">{{trans('auth.username')}}</label>  
    3.             <div class="col-lg-6">  
    4.                 <input type="text" class="form-control" name="name" value="{{old('name')}}" autofocus/>  
    5.             </div>  
    6.        </div>  


    4、如没有定义翻译你会返回整个字符串,可以封装自己封装的trans函数

    创建app/Libraries/helpers.php文件,添加代码

    [php] view plain copy
    1. if(!function_exists('ts')){  
    2.   function ts($code,$lang='zh'){  
    3.     $langempty($lang)?'zh':$lang;  
    4.     $code= preg_replace('/[^0-9a-zA-z.-_ ]/'''$code);  
    5.     $trans=trans($code,[],'',$lang);  
    6.     if(empty($trans)||$trans==$code){  
    7.         $trans= ucwords(preg_replace('/([0-9a-zA-z-_ ]*[.])*/'''$code));  
    8.     }  
    9.     return $trans;  
    10.   }  
    11.  }  



    在根目录下composer.json文件中修改代码

    [php] view plain copy
    1. "autoload": {  
    2.   "classmap": [  
    3.     "database"  
    4.   ],  
    5.   "files": [  
    6.     "app/helpers.php",  
    7.     "app/Libraries/helpers.php"  //新添加  
    8.   ],  
    9.   "psr-4": {  
    10.     "App\": "app/"  
    11.   }  
    12.   },  


    执行 composer dumpautoload

    之后在项目、 模板中就可以使用 ts() 函数了

    [php] view plain copy
    1. {{ts('auth.login')}}  


    5、有时候需要动态的切换语言,通过URL传递参数,动态实现本地化

    [php] view plain copy
    1. function setLocalLang(Request $request) {   
    2.     $lang=$request->lang;  
    3.     App::setLocale($lang);  
    4. }  

    1.  

    'locale' => 'zh',//当前语言

    'fallback_locale' => 'en',//备用语言


    2、创建翻译文件

    翻译文件所在目录为resources/lang,在此创建 zh/auth.php文件

    [php] view plain copy
    1.  

    return [

        'username'=>'用户名',

        'password'=>'密码',

        'rememberme'=>'记住密码',

        'login'=>'登录',

        'badpassword' => '用户名或密码错误.',

    ];


    3、在代码中实现 使用 trans()方法  实现本地化显示

    [php] view plain copy
    1. <div class="form-group"
    2.            <label class="col-lg-4 control-label">{{trans('auth.username')}}</label> 
    3.             <div class="col-lg-6"
    4.                 <input type="text" class="form-control" name="name" value="{{old('name')}}" autofocus/> 
    5.             </div> 
    6.        </div> 


    4、如没有定义翻译你会返回整个字符串,可以封装自己封装的trans函数

    创建app/Libraries/helpers.php文件,添加代码

    [php] view plain copy
    1. if(!function_exists('ts')){ 
    2.   function ts($code,$lang='zh'){ 
    3.     $lang= empty($lang)?'zh':$lang
    4.     $code= preg_replace('/[^0-9a-zA-z.-_ ]/', '', $code); 
    5.     $trans=trans($code,[],'',$lang); 
    6.     if(empty($trans)||$trans==$code){ 
    7.         $trans= ucwords(preg_replace('/([0-9a-zA-z-_ ]*[.])*/', '', $code)); 
    8.     } 
    9.     return $trans
    10.   } 



    在根目录下composer.json文件中修改代码

    [php] view plain copy
    1. "autoload": { 
    2.   "classmap": [ 
    3.     "database" 
    4.   ], 
    5.   "files": [ 
    6.     "app/helpers.php"
    7.     "app/Libraries/helpers.php"  //新添加 
    8.   ], 
    9.   "psr-4": { 
    10.     "App\": "app/" 
    11.   } 
    12.   }, 


    执行 composer dumpautoload

    之后在项目、 模板中就可以使用 ts() 函数了

    [php] view plain copy
    1. {{ts('auth.login')}} 


    5、有时候需要动态的切换语言,通过URL传递参数,动态实现本地化

    [php] view plain copy
    1. function setLocalLang(Request $request) {  
    2.     $lang=$request->lang; 
    3.     App::setLocale($lang); 

  • 相关阅读:
    新年来了,却似乎没有新年的迹象和心情
    XHTC最新进展
    有件事很是头疼
    完善中的HTML版ProcessBuilder
    20041114 Bindows
    想不到这么快就申请成功了,多年未曾体会的激动仿佛又重返我身了
    有人需要这样的HTML Menu组件吗?
    告知所有需要XHTC和ProcessBuilder的朋友
    醉里插花花莫笑,可怜人似春将老
    Flex创建一个UI component的全过程
  • 原文地址:https://www.cnblogs.com/mouseleo/p/8570768.html
Copyright © 2020-2023  润新知