Laravel 学习第四天

  • 第四天 Services -挑准备做的小项目会用的到的学
    • Authentication
    • Billing
    • Errors & Logging
    • Events
    • Filesystem / Cloud Storage
    • Hashing
    • Helpers
    • Localization
    • Mail

Laravel都已经从5.0升级到5.3了,我这TMD刚重新捡起来。以后所有和PHP有关系的小项目都用框架,不能再继续使用自己搞的那套东西了。

Localization

多语言化文件存储的位置

/resources 
    /lang 
        /en 
            messages.php 
        /es 
            messages.php

当前应用默认的语言设置在设置文件中 config/app.php

在运行时获取和设置当前使用的Locale

Route::get('welcome/{locale}', function ($locale) {     
    App::setLocale($locale);  
});

获取当前语言设置

$locale = App::getLocale();
if (App::isLocale('en')) {  }

缺省语言设置,当希望获取的语言不存在的时候,可以在配置文件中设置缺省语言

'fallback_locale' => 'en',

使用翻译文件

直接使用

使用翻译文件中的String,假设我们的翻译文件为 resources/lang/message.php 其中有一个Key为 welcome的翻译

echo trans('messages.welcome');
{{ trans('messages.welcome') }} //如果你用了Blade
@lang('messages.welcome')

替换字符串中的文字

'welcome' => 'Welcome, :name',
echo trans('messages.welcome', ['name' => 'dayle']);
// Welcome, dayle
'welcome' => 'Welcome, :NAME', // Welcome, DAYLE
'goodbye' => 'Goodbye, :Name', // Goodbye, Dayle
// 这个大小写的设定真的很赞,哇哈哈哈

单复数的使用,这个点有

'apples' => 'There is one apple|There are many apples',
echo trans_choice('messages.apples', 10);
'apples' => '{0} There are none|[1,19] There are some|[20,Inf] There are many',

你可能感兴趣的:(Laravel 学习第四天)