plokko/locale-manager

此软件包最新版本(2.1.0)没有提供许可信息。

Laravel 持久化语言环境和 Javascript/Vue.js 翻译支持

2.1.0 2023-11-15 10:33 UTC

This package is auto-updated.

Last update: 2024-09-15 12:28:33 UTC


README

生成和管理 Javascript Laravel 本地化和当前语言环境

安装

使用 composer 安装

composer require plokko/locale-manager

Laravel >=5.5 应该自动发现并注册所需服务。

如果你使用的是 laravel <5.5,你需要手动在 /config/app.php 中注册提供者。

<?php
//...
   'providers' => [
                 //...
                 //-- Add locale manager --//
                 Plokko\LocaleManager\LocaleManagerServiceProvider::class,
                 //...
   ],
//...

要编辑配置参数,请使用以下命令发布它:php artisan vendor:publish --provider="Plokko\LocaleManager\LocaleManagerServiceProvider" --tag="config" 然后编辑你的 config\locale-manager.php 配置文件。

持久化语言环境

如果你想要自动将 Laravel 语言环境设置为用户(浏览器首选)的语言环境,或者允许用户设置语言环境(通过 cookie),你可以添加此软件包中包含的 PersistentLocale 中间件:编辑你的 /App/Http/Kernel.php 文件并添加 \Plokko\LocaleManager\PersistentLocale 中间件。

<?php
   //...
    protected $middlewareGroups = [
        'web' => [
            //...
            //add this line below
            \Plokko\LocaleManager\Middleware\PersistentLocale::class,
            //...
        ],
//...

Javascript 初始化

将以下 Javascript 代码包含到你的 main app.js 文件中

/*** Import translation plugin ***/
import Localization from '../../vendor/plokko/locale-manager/assets/js/Localization';

// Make it globally accessible from the page 
// NOTE: variable name MUST be the same js_class 
window.Localization = new Localization();

// Optional: add global functions
window.trans = function(key,replace){return window.Localization.trans(key,replace);};
window.trans_choice = function(key,number,replace){return window.Localization.trans_choice(key,number,replace);};

// Optional: Vue mixin to make it globally available
Vue.mixin({
    methods:{
        trans: window.trans ,
        trans_choice: window.trans_choice ,
    },
    filters:{
        trans:(s) => window.trans(s),
    }
});