schniper/laravel-localization-helpers

此包已被废弃,不再维护。作者建议使用 keypoint-solutions/laravel-localization-helpers 包。

一个 artisan 命令包和易于翻译管理的方法。基于 potsky 的仓库,增加了现代 PHP &Laravel 支持,更新了 MS 翻译器支持和其他功能

7.0.0 2024-06-20 18:24 UTC

This package is auto-updated.

Last update: 2024-06-20 18:24:28 UTC


README

Laravel Localization Helpers

Total Downloads

此分支是当前的开发分支

LLH 是一组 artisan 命令,用于管理 Laravel 项目的翻译。主要功能

  • 解析您的代码并生成 lang 文件
  • 自动翻译您的句子,多亏了 Microsoft Translator API
  • 根据您的代码风格配置输出

目录

  1. 安装
  2. 配置
  3. 用法
  4. 支持
  5. 贡献

1. 安装

  • 根据版本兼容性矩阵选择您的版本
Laravel Lumen
8.0.x 8.0.x main
9.0.x 9.0.x main
  • composer.json 文件的 require-dev 数组中添加以下行,并根据您的 Laravel 版本替换版本(如有必要)

    "keypoint-solutions/laravel-localization-helpers" : "3.0.*"
  • 更新您的安装: composer update

  • 对于 Laravel,在 config/app.php 配置文件的 providers 数组中添加以下行

    \LaravelLocalizationHelpersServiceProvider::class,
  • 对于 Lumen,在 bootstrap/app.php 文件中添加以下行

    $app->register( \LaravelLocalizationHelpersServiceProvider::class );
    $app->configure('laravel-localization-helpers');
  • 现在执行 php artisan list,您应该可以看到新的 localization 命令

    ...
    localization
    localization:clear          Remove lang backup files
    localization:find           Display all files where the argument is used as a lemma
    localization:missing        Parse all translations in app directory and build all lang files
    ...
    

在 Laravel 中,如果您需要在代码中管理翻译,可以添加 facade 到 Aliases

'LocalizationHelpers' => Facade\LocalizationHelpers::class

2. 配置

要配置您的全新安装的包,请执行以下操作创建一个配置文件:

php artisan vendor:publish

然后您可以在文件中修改配置

config/laravel-localization-helpers.php

添加要搜索的新文件夹,添加您自己的 lang 方法或函数,...

备份文件

您不应将备份 lang 文件包含在 GIT 或其他版本控制系统中。

在您的 laravel 文件夹中,在 .gitignore 文件中添加以下内容

# Do not include backup lang files
resources/lang/*/[a-zA-Z]*20[0-9][0-9][0-1][0-9][0-3][0-9]_[0-2][0-9][0-5][0-9][0-5][0-9].php

3. 用法

3.1 命令 localization:missing

此命令解析所有代码并根据所有 lang/XXX/ 目录中的 lang 文件生成翻译。

使用 php artisan help localization:missing 获取有关选项的更多信息。

示例

生成所有 lang 文件
php artisan localization:missing
无提示生成所有 lang 文件
php artisan localization:missing -n
生成所有 lang 文件,不备份旧文件
php artisan localization:missing -b
生成所有 lang 文件,并自动翻译
php artisan localization:missing -t
生成所有 lang 文件,不保留过时的词条
php artisan localization:missing -o
生成所有 lang 文件,不对新发现的词条添加任何注释
php artisan localization:missing -c
生成所有 lang 文件,不添加头部注释
php artisan localization:missing -d
生成所有 lang 文件并设置新的词条值

以下 3 个命令会产生相同的输出

php artisan localization:missing
php artisan localization:missing -l
php artisan localization:missing -l "TODO: %LEMMA"

您可以自定义未知词条的默认生成值。

以下命令使新值留空

php artisan localization:missing -l ""

以下命令在所有词条值前添加 "请翻译此:"

php artisan localization:missing -l "Please translate this : %LEMMA"

以下命令将所有词条值设置为 null,以提供所有缺失值的回退翻译。

php artisan localization:missing -l null

以下命令将所有词条值设置为 "请翻译此 !"

php artisan localization:missing -l 'Please translate this !'
静默选项用于 shell 集成
#!/bin/bash

php artisan localization:missing -s
if [ $? -eq 0 ]; then
echo "Nothing to do dude, GO for release"
else
echo "I will not release in production, lang files are not clean"
fi
使用 dry run 模拟所有操作(不写入任何内容)
php artisan localization:missing -r
在过程结束时打开所有必须编辑的文件
php artisan localization:missing -e

您可以在配置文件中编辑编辑器路径。默认情况下,在 Mac OS X 上编辑器是 Sublime Text

'editor_command_line' => '/Applications/Sublime\\ Text.app/Contents/SharedSupport/bin/subl'

关于 PHPStormMac OS X 上的使用

'editor_command_line' => '/usr/local/bin/phpstorm'

3.2 命令 localization:find

此命令将在您的所有代码中搜索作为词干的参数。

使用 php artisan help localization:find 获取有关选项的更多信息。

示例

查找常规词干
php artisan localization:find Search
以详细模式查找常规词干
php artisan localization:find -v Search
显示短路径查找常规词干
php artisan localization:find -s "Search me"
使用正则表达式查找词干
php artisan localization:find -s -r "@Search.*@"
php artisan localization:find -s -r "/.*me$/"

使用 PCRE 函数

3.3 命令 localization:clear

此命令将删除所有备份的 lang 文件。

使用 php artisan help localization:clear 获取有关选项的更多信息。

示例

删除所有备份
php artisan localization:clear
删除 7 天前的备份
php artisan localization:clear -d 7

4. 支持

使用 GitHub 问题工具 打开问题或提出请求。

5. 贡献

  1. 将其分叉
  2. 创建您的功能分支(git checkout -b my-new-feature
  3. 提交您的更改(git commit -am '添加一些功能'
  4. 推送到分支(git push origin my-new-feature
  5. 创建新的 Pull Request