georgechaduneli/laravel-js-localization

Laravel JavaScript 本地化

dev-master 2020-08-05 18:52 UTC

This package is auto-updated.

Last update: 2024-08-29 04:37:35 UTC


README

🌐 Laravel JavaScript 本地化。

Laravel 5.3 Laravel 5.2 Laravel 5.1 Laravel 5.0 Laravel 4.2 Latest Stable Version Total Downloads License Join the chat at https://gitter.im/rmariuzzo/Laravel-JS-Localization

此包将您的 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.phpvalidation.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 文档以查看所有可用方法。

想要贡献吗?

  1. 从这个存储库分叉并克隆它。
  2. 从 develop 分支创建一个 功能分支git checkout develop; git checkout -b feature-foo
  3. 推送您的提交并创建一个拉取请求。

先决条件

您需要安装以下软件。

  • Composer。
  • PHP 5.5及以上。

开发设置

在获取所有必要的软件后,您可以使用以下命令来准备一切

  1. 安装PHP依赖项

    composer install
  2. 安装测试依赖项

    composer test-install

现在您可以开始了!祝您编码愉快!

测试

此项目使用PHPUnit。所有测试都存储在tests目录中。要在终端中运行所有测试,请输入以下命令

composer test