georgechaduneli / laravel-js-localization
Laravel JavaScript 本地化
Requires
- php: >=5.5.9
- illuminate/config: >=4.2
- illuminate/console: >=4.2
- illuminate/filesystem: >=4.2
- tedivm/jshrink: 1.0.*
Requires (Dev)
- phpunit/phpunit: 4.8.*
This package is auto-updated.
Last update: 2024-08-29 04:37:35 UTC
README
🌐 Laravel JavaScript 本地化。
此包将您的 Laravel 应用中的所有本地化消息转换为 JavaScript,附带一个用于与这些消息交互的小型库,语法与您熟悉的语法非常相似。
特性
- 支持 Laravel 4.2.x、Laravel 5.0.x、Laravel 5.1.x、Laravel 5.2.x 和 Laravel 5.3.x。
- 包含 Lang.js(一个灵感来自 Laravel 的
Translator
类的精简库)。 - 允许指定要转换为 JS 的所需的 lang 文件。
- Lang.js API 基于 Laravel 的
Translator
类。无需学习整个 API。
安装
composer require mariuzzo/laravel-js-localization
在您的 Laravel 应用中,转到 config/app.php
并添加以下服务提供程序
Mariuzzo\LaravelJsLocalization\LaravelJsLocalizationServiceProvider::class
用法
Laravel-JS-Localization
包提供了一个命令,可以生成在 app/lang
(Laravel 4)或 resources/lang
(Laravel 5)目录中找到的所有消息的 JavaScript 版本。生成的 JavaScript 文件将包含您的所有消息以及 Lang.js(一个灵感来自 Laravel 的 Translator
类的精简库)。
生成 JS 消息
php artisan lang:js
指定自定义目标
php artisan lang:js public/assets/dist/lang.dist.js
压缩 JS 文件
php artisan lang:js -c
配置
首先,运行以下命令发布默认包的配置文件
php artisan vendor:publish --provider="Mariuzzo\LaravelJsLocalization\LaravelJsLocalizationServiceProvider"
配置将发布到 config/localization-js.php
。
您可能需要编辑此文件以定义您的 JavaScript 代码中需要的消息。只需编辑配置文件中的 messages
数组。 空的消息数组将在构建中包含所有语言文件。
要仅将 pagination.php
和 validation.php
文件包含在构建过程中
<?php return [ 'messages' => [ 'pagination', 'validation', ], ];
使用 gulp(可选)
安装 gulp-shell
,然后在 gulpfile.js
中直接运行它
var shell = require('gulp-shell'); gulp.task('langjs', shell.task('php artisan lang:js -c public/js/messages.js'));
使用 Laravel 的 elixir(可选)
在 Elixir 4.0 之前
elixir.extend('langjs', function(path) { gulp.task('langjs', function() { gulp.src('').pipe(shell('php artisan lang:js ' + (path || 'public/js/messages.js'))); }); return this.queueTask('langjs'); });
Elixir 4.0+
var Task = elixir.Task; elixir.extend('langjs', function(path) { new Task('langjs', function() { gulp.src('').pipe(shell('php artisan lang:js ' + (path || 'public/js/messages.js'))); }); });
并像这样使用它
elixir(function(mix) { mix.langjs(); });
文档
这是关于 Lang.js(由 Laravel-JS-Localization
包包含的精简 JavaScript 库)的简要文档。 Lang.js(一个灵感来自 Laravel 的 Translator
类的精简库)。
💁 前往 Lang.js 文档以查看所有可用方法。
获取消息
Lang.get('messages.home');
带替换获取消息
Lang.get('messages.welcome', { name: 'Joe' });
更改区域设置
Lang.setLocale('es');
检查消息密钥是否存在
Lang.has('messages.foo');
基于计数的单复数消息支持
Lang.choice('messages.apples', 10);
带替换调用 choice
方法
Lang.choice('messages.apples', 10, { name: 'Joe' });
💁 前往 Lang.js 文档以查看所有可用方法。
想要贡献吗?
- 从这个存储库分叉并克隆它。
- 从 develop 分支创建一个 功能分支:
git checkout develop; git checkout -b feature-foo
。 - 推送您的提交并创建一个拉取请求。
先决条件
您需要安装以下软件。
- Composer。
- PHP 5.5及以上。
开发设置
在获取所有必要的软件后,您可以使用以下命令来准备一切
-
安装PHP依赖项
composer install
-
安装测试依赖项
composer test-install
现在您可以开始了!祝您编码愉快!
测试
此项目使用PHPUnit。所有测试都存储在tests
目录中。要在终端中运行所有测试,请输入以下命令
composer test