本地化
简介
Laravel Lang
类提供非常方便的方法来从不同语言文件中取得字符串,允许在应用程序中支持多语言。
语言文件
语言文字存放在 app/lang
目录。应用程序所要支持的语言都需要在此目录建立为子目录。
/app
/lang
/en
messages.php
/es
messages.php
语言文件只是返回键值(字符串)对数组。例如:
语言文件示例
<?php
return array(
'welcome' => 'Welcome to our application'
);
应用程序默认语言配置在 app/config/app.php
配置文件中 locale
配置项.你可以在任何时候使用 App::setLocale
方法来改变当前激活语言。
在运行时改变默认语言
App::setLocale('es');
基本用例
从语言文件中获取文本
echo Lang::get('messages.welcome');
传给 get
方法字符串第一部分是语言文件名称,第二个部分是要取得文本的名字。
注意
: 如果语言不存在该文本,那么 get
方法会将键返回。
文本中替换
可以在语言文件中定义占位符:
'welcome' => 'Welcome, :name',
然后,将要替换的值传递给 Lang::get
方法的第二个参数:
echo Lang::get('messages.welcome', array('name' => 'Dayle'));
判断语言文件是否存在该文本
if (Lang::has('messages.welcome'))
{
//
}