首页 > 代码库 > PHP Laravel 本地化语言支持

PHP Laravel 本地化语言支持

    That`s it. 我发现在网上Laravel的学习资料实在是太少了.好多东西需要自己去弄.去理解.

我的方法还有一个,就是去github上面下载老外写的Laravel网站,然后拿下来自己运行,分析代码,然后找出其中的出彩的地方.恩,很不错的方法.今天让我找到了一个好东西,就是Laravel 本地化语言的功能.

所谓本地化语言,就是说在不同的的国家可能使用不同的语言.那么如果没有适应各个语言的程序,也就意味着程序需要重写.现在Laravel提供了一个方便的功能,本地化语言支持.

好了,下面让我们来看看这些神奇的功能吧.

Laravel设计模式中很好的体现了门面的设计模式.将内部细节封装,向外部暴露统一的接口.

这里本地化语言使用的就是Lang这个类.

我们如果想要让程序支持中文和英文.

第一步:

在app目录下有个lang的文件夹,里面有个en的文件夹,这个表示的是英文.

我们再在里面建立一个zh的文件夹,表示中文.

加入我们我们在页面中要实现这样的功能

中国的用户显示 : "你好,世界!"

美国的用户显示:"hello world"

我们在en和zh里面建立都一个叫做 tag.php

en/tag.php 里这样写

return array(

  "welcome" =>"hello world"

);

zh/tag.php里这样写:

return array(

  "welcome" =>"你好,世界"

);

好了,这就是我们要做的第一步

第二步:

我们在我们的config/app.php中可以看到

里面有个

‘locale‘=>‘en‘, //这个表示默认使用的是lang哪个文件夹中的内容

‘fallback_locale‘ => ‘en‘, //这个表示的是如果上面文件夹中的内容不存在时,使用哪个文件夹中的内容.

第三步:

听起来似乎很绕口.下面上例子.

在我们的模板页面中我们这样写道

{{Lang::get(‘tag.welcome‘)}}

是不是很熟悉.tag表示的就是tag.php ,welcome表示的就是我们返回数组中的一个键名.从而获取到了数据.

那么到底是获取哪个文件夹中的数据呢...

不要问我了吧.上面说的很清楚了啊...就是通过配置文件中得到的啊...

那么现在如果我们将config/app.php配置文件进行修改.

‘locale‘=>‘zh‘,

‘fallback_locale‘=>‘en‘,

那么如果我们在zh文件中没有找到相应的内容,那么就到en文件夹中进行查找.如果也没有.

那么不好意思,页面中就会显示 例如 tag.welcome的东西.


好了,该部分介绍完毕了.我要继续研究了哦.

Persistence makes life valuable.

Best Wishes.