diego1araujo / locale
处理多语言的新方法
dev-master
2014-10-12 18:15 UTC
Requires
- php: >=5.3.0
- illuminate/support: ~4|~5
This package is not auto-updated.
Last update: 2024-09-23 15:25:27 UTC
README
Locale - 处理多语言的新方法。
该包的目标是提供一个简单的方法来为Laravel 4/5创建多语言。
安装
编辑 composer.json
文件以要求此包。
"require": {
...
"diego1araujo/locale": "dev-master"
}
接下来,运行composer update命令
composer update
打开 app/config/app.php
找到 providers
键并向数组中添加新项
'Diego1araujo\Locale\ServiceProvider',
找到 aliases
键并向数组中添加新项
'Locale' => 'Diego1araujo\Locale\Facade',
最后,发布配置文件
php artisan config:publish diego1araujo/locale
配置
要查看可用的语言,打开 app/config/packages/diego1araujo/locale/config.php
默认情况下,主要语言是 en
(英语),而 available
项包含语言列表。
当然,您可以根据需要更改它们。
注意:主要语言不会附加到URL中,只有其他(来自
available
项)语言。
数据
转到 app/lang/[language]
并为每种语言创建一个新的文件(文件必须对所有语言具有相同的名称)
如下所示
英语 app/lang/en/message.php
return array( 'welcome' => 'Welcome to my page', );
葡萄牙语 app/lang/pt/message.php
return array( 'welcome' => 'Bem-vindo à minha página', );
用法
在路由组中将设置方法定义为前缀值
Route::group(array('prefix' => Locale::set()), function() { Route::get('/', function() { return View::make('home'); }); Route::get('example', function() { return View::make('example'); }); });
打印消息
Lang::get('message.welcome')
检索当前语言
Locale::get();
构建带有当前语言的URL
Locale::url('about'); // [site-domain]/[current-language]/about
多语言的单个路由
您可以使用单个路由为多语言页面。我建议您将所有页面放在您的文件翻译中。
英语 app/lang/en/message.php
return array( 'menu-page' => 'Page', 'slug-page' => 'page', );
葡萄牙语 app/lang/pt/message.php
return array( 'menu-page' => 'Página', 'slug-page' => 'pagina', );
Route::group(array('prefix' => Locale::set()), function() { Route::get(Lang::get('message.slug-page'), ['as' => 'page', 'uses' => 'HomeController@page']); }