精华内容
下载资源
问答
  • laravel本地化

    2018-06-27 11:01:36
    laravel本地化App::setLocale();//每一次刷新之后都会从新加载配置文件在设置本地化之后保存Session App::setLocale(Input::get('local')); Session::put('lang', App::getLocale());页面刷新时根据Session的值去...

    laravel本地化

    App::setLocale();//每一次刷新之后都会从新加载配置文件

    在设置本地化之后保存Session

     App::setLocale(Input::get('local'));
     Session::put('lang', App::getLocale());

    页面刷新时根据Session的值去重新设置语言

    if (!empty(Session::get('lang'))) {
         App::setLocale(Session::get('lang'));
    }

    展开全文
  • Laravel开发-laravel-localization Laravel 本地化功能增强 Laravel本地化功能增强
  • Laravel本地化 介绍 Laravel本地化软件包是为Laravel 5.5+构建的,它提供: 具有语言URL前缀的本地化路由。 基于域的本地化路由。 中间件,用于基于HTTP标头和cookie检测用户语言。 将用户重定向到本地化版本。 ...
  • Laragle Translate是一个Laravel本地化管理系统,它将实时更新您的本地化文件。 您可以使用以下命令通过composer安装此软件包: composer require laragle/translate 包将自动注册。 接下来,将以下环境变量添加...
  • Laravel本地化翻译路由缓存解决方案 重要说明:此解决方案已被合并到mcamara/laravel-localization从版本1.3.11 。 不再需要此软件包! 一个经过修补的修补程序,允许在每个语言环境中缓存路由,以进行。 请参阅...
  • Laravel 本地化 中文提示 扩展包 caouecs/laravel-lang **项目地址"":https://github.com/caouecs/Laravel-lang 使用场景:Laravel 项目本地化-中文提示 使用方法: (1)下载...

    **项目地址"":https://github.com/caouecs/Laravel-lang

    使用场景:Laravel 项目本地化-中文提示

    使用方法
    (1)下载扩展包

     composer require caouecs/laravel-lang:~3.0
    

    在这里插入图片描述
    (2)将「vendor/caouecs/laravel-lang/src/zh-CN」目录下的中文语言包,复制到「resources/lang/」目录下。
    在这里插入图片描述

    (2)修改「config/app.php」中 「locale」对应的值,即可完成 Laravel 本地化,中文提示。

    'locale' => 'zh-CN',
    

    在这里插入图片描述

    展开全文
  • laravel本地化 locale,用起来感觉很别扭,不能像其他框架一样,按照控制器等自动加载语言包。 结合文档,并查看了源码,简单总结下 laravel 本地化的使用: 1>支持引入 2 类文件: 1.php 文件(php 文件 ...
    laravel 的本地化 locale,用起来感觉很别扭,不能像其他框架一样,按照控制器等自动加载语言包。
    
    结合文档,并查看了源码,简单总结下 laravel 本地化的使用:
    	1>支持引入 2 类文件:
    		1.php 文件(php 文件 return 一个数组)
    			不同语言包目录下,根据用途,可创建多个 xx.php,例如:
    			en
    				messages.php
    				other.php
    			zh-cn
    				messages.php
    					<?php
    						return [
    							'name' => '姓名',
    							'gender' => '性别',
    						];
    				other.php
    
    			使用:
    				__('message.name')
    
    		2.json 文件(必须是json格式)
    			不同语言包,只能是以 '不同语言' 命名的 json 文件	
    				/path1/en.json
    				/path1/zh-cn.json
    					{
    						'name': '姓名',
    						'gender': '性别'
    					}
    
    			但是允许我们添加多个路径
    				/path2/en.json
    				/path2/zh-cn.json
    
    			使用:
    				__('name')
    
    			但多个路径,对于我们项目组织语言包目录结构,貌似没啥用...
    
    	2>一般使用 2 个函数:
    		__('messages.name') 或 trans('messages.name'),__() 是 trans() 别名
    
    		trans_choice('messages.minutes', 10) - 对于复数形式的处理
    
    	3>关于 key 参数:
    		当引入的 php 文件,必须使用 '文件名.键名',文档中提到的 '使用短键'
    
    		当引入的 json 文件,只使用 '键名',文档中提到的 '使用翻译字符串作为键'
    
    	4>重写扩展包的语言文件
    		laravel 的语言包,还支持使用 '命名空间',应该是 key 可以是 
    			'namespace::message.name'
    
    		部分扩展包可能会附带自己的语言文件,我们可以在 resources/lang/vendor/{package}/{locale} 下放置语言包文件,来重写
    
    	5>总结,laravel 的语言包的 key,通过 '::' 和 '.' 进行解析,从而得到:
    			namespace::group.item
    		然后来进行字符串的替换
    
    		里面还有一些其他使用原则,例如:
    			json 文件的引用,我们可以添加过个 json 路径:
    				use Lang;
    				Lang::addJsonPath('path1');
    				Lang::addJsonPath('path2');
    
    			namespce 的引用,我们得先添加 namespace:
    				use Lang;
    				Lang::addNamespace('namespace1');
    				Lang::addNamespace('namespace2');
    
    好了,简单的介绍到这,写的有点乱,有些东西不好描述。最好是分析下源码
    接下来继续我们的主题,我们想按照 '控制器' 自动加载语言包(或者可以说是,任意加载不同的语言包文件):
    	
    改造:
    	vendor/laravel/framework/src/Illuminate/Translation/Translator.php
    
    		文件末尾,添加 addCustomFile() 方法:
    		    /**
    		     * 添加自定义文件
    		     */
    		    public function addCustomFile($file)
    		    {
    		        $this->loader->addCustomFile($file);
    		    }
    	
    
    	vendor/laravel/framework/src/Illuminate/Translation/FileLoader.php
    
    		属性末尾,添加 $customFiles 属性
    	    /**
    	     * 所有的自定义文件
    	     */
    	    protected $customFiles = [];
    
    		修改 load() 方法:
    		    public function load($locale, $group, $namespace = null)
    		    {
    		        if ($group === '*' && $namespace === '*') {
    		            // return $this->loadJsonPaths($locale);
    
    		            /*
    		                这里我们进行重构,额外支持加载自定义的语言包路径
    		             */
    		            $jsonFileMessages = $this->loadJsonPaths($locale);
    		            $customFileMessages = $this->loadCustomFiles($locale);
    
    		            return array_merge($jsonFileMessages, $customFileMessages);
    		        }
    
    		        if (is_null($namespace) || $namespace === '*') {
    		            return $this->loadPath($this->path, $locale, $group);
    		        }
    
    		        return $this->loadNamespaced($locale, $group, $namespace);
    		    }
    
    		文件末尾,添加 loadCustomFiles(), addCustomFile() 方法:
    		    /**
    		     * 从给定的文件中加载语言包
    		     */
    		    protected function loadCustomFiles($locale)
    		    {
    		        return collect($this->customFiles)
    		            ->reduce(function ($output, $file) use ($locale) {
    		                if ($this->files->exists($file)) {
    		                    $messages = $this->files->getRequire($file);
    		                    $output = array_merge($output, $messages);
    		                }
    
    		                return $output;
    		            }, []);
    		    }
    
    		    /**
    		     * 添加自定义文件
    		     */
    		    public function addCustomFile($file)
    		    {
    		        $this->customFiles[] = $file;
    		    }
    
    使用:
    	lang/zh-cn/admin/admin.php
    		<?php
    			return [
    				'name' => '姓名',
    				'avatar' => '头像',
    			];
    
    	/*
    		对于未改造前,我们想得到 name 的中文,laravel 其实是不支持的,laravel 默认只能是 zh-cn/ 的文件,不能再嵌套目录。
    
    		查看源码,其实有种手法也可以实现,key 带上文件目录层级:
    			__('admin/admin.name')	
    	 */ 
    
    	改造后:
    		use Lang;
    	    Lang::addCustomFile(resource_path('lang/zh-cn/admin/admin.php'));
    
    	    __('name')
    
        注意:
        	可添加任意的绝对文件路径,必须是 .php 文件,同时 return 一个数组
    
    
    

     

    展开全文
  • PHP Laravel 本地化语言支持

    千次阅读 2014-05-31 22:18:04
    That`s it. 我发现在网上Laravel的学习资料实在是太少了....今天让我找到了一个好东西,就是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.



    展开全文
  • Laravel 本地化定义

    2018-03-14 23:15:00
    1、配置本地化语言Laravel本地化语言配置项位于config/app.php: [php]view plaincopy 'locale' => 'zh',//当前语言 'fallback_locale' => 'en',//备用语言2、创建翻译文件 翻译文件所在目录为...
  • laravel 本地化caouecs/laravel-lang

    千次阅读 2018-03-23 10:18:07
    场景: laravel5.5的项目需要本地化, eg: 登录提示 密码重置caouecs/laravel-lang 完美解决问题laravel5.5 1. composer require caouecs/laravel-lang:~3.02. 将需要需要的语言包拷贝到 resources/lang 下面3. ...
  • Laravel本地化不起作用

    2018-07-13 07:40:10
    <p>im try to make localization with laravel but my code doesn't work, some opinion or advices? <p>Here is code <p>My Language Middleware: <pre><code> public function handle($request, Closure $next)...
  • 本地化 Laravel软件包,用于将路由包装在多个语言环境前缀中。 安装 通过作曲家 composer require getsupercode/localizater 要根据请求自动检测和更改应用程序的语言环境,可以将此中间件添加到您的app/...
  • ...<code>trans('app.Fransa')</code> works with current app language so if it is en it gives France, but there is a places in app I need somehow call trans('az.app.fransa') like this, but this way not...
  • <p>I'm trying to build multilingual website with laravel but there is a problem with translation. It shows only default language. Even if I set the app locale language, laravel continue to shows ...
  • Laravel本地化 Laravel的简单i18n本地化,这是与Laravel本地化类结合使用的有用工具。 该软件包提供以下内容: 从浏览器检测语言 智能重定向(将区域设置保存在会话/ cookie中) 智能路由(无论您使用多少种语言...
  • Laravel的简单i18n本地化,这是与Laravel本地化类结合使用的有用工具。 本地化软件包的官方文档可以在找到。 随时查看,和。 产品特点 易于设置和配置。 支持Laravel 5.x至8.x SEO友好(搜索引擎优化)。 新的...
  • 本文主要给大家介绍了关于Laravel本地化模块的相关内容,分享出来供大家参考学习,话不多说了,来一起看看详细的介绍吧。 本文是基于Laravel 5.4版本的本地化模块代码进行分析书写; 模块组成 下图展示了本地化模块...
  • Laravel本地化

    2017-07-27 13:50:00
    Laravel本地化功能提供方便的方法来获取多语言的字符串.语言包存放在 resources/lang 文件夹的文件里。在此文件夹内应该有网站对应支持的语言并将其对应到每一个子目录: /resources /lang /en messages...
  • Laravel本地化 尽可能简化的本地化程序包使它在/nl/home的情况下将app.locale设置为nl 。 安装 需要包装。 composer require kingscode/laravel-localize ...,并可以选择发布配置。 ... 将中间件添加到所需的...
  • 最近我对自动测试越来越感兴趣 —— 密切关注着 PHPUnit,TDD,Laravel Dusk,Travis 以及其他测试相关的关键词,所以我决定看看周围其他人是如何做自动测试的。我在 GitHub 上找到了相当多的 Laravel 开源项目...
  • Laravel本地化 这个软件包安装了一个全局命令,使您可以轻松地在Laravel应用程序中安装语言文件。 语言文件是从很棒的存储库下载的。 安装 您可以通过composer全局安装该软件包: composer global require ...
  • laravel 5.5本地化网址

    2018-01-21 09:16:46
    <p>I'm using Laravel locale, need to show language sign at the URL, I created a route group like so, and listed my routes inside the group <pre><code>Route::group(['prefix' => App::getLocale()],...
  • Laravel Carbon本地化筆記

    千次阅读 2015-04-15 10:30:32
    Laravel Carbon本地化佩服Laravel的用心,Laravel5的多國語言支持包火速出爐。 常用的Carbon也有了語言支持包,記錄一下使用方式。Laravel Carbon語言包在這裡下載。安裝使用composercomposer require jenssegers/...
  • laravel本地文件管理

    2018-12-23 23:49:42
    文件管理是一个对本地文件的可视管理的工具 安装 $ composer require laravel-admin-ext/media-manager -vvv $ php artisan admin:import media-manager 配置 打开config/admin.php指定你要管理的disk ...
  • 场景: Carbon格式的时间使用diffForHumans() 得到的却是 1 day ago 解决: app/Providers/AppServiceProvider.php public function boot() { Carbon::setLocale('zh'); }
  • Laravel本地化路线 在Laravel应用中设置和使用本地化路线的便捷方法。 :puzzle_piece: 产品特点 为每个语言环境一条路由。 使用(或子域)。 (可选)。 (可选)URI中的。 使用route()帮助器 。 使用redirect...

空空如也

空空如也

1 2 3 4 5 ... 14
收藏数 278
精华内容 111
关键字:

laravel本地化