goodmagma/laravel-translations

导出本地化字符串并通过 Google Translate 进行 Laravel 翻译

v1.0.2 2023-12-05 13:50 UTC

This package is auto-updated.

Last update: 2024-09-05 22:32:29 UTC


README

Latest Version Packagist Downloads Tests Status Badge PHPStan Status Badge Code Styles Check Badge

您可以使用 __('Translate me')@lang('Translate me') 与 JSON 文件中的翻译进行字符串翻译。Laravel 翻译工具由两个命令组成

  • exporter: 收集应用程序中所有可翻译的字符串,并创建相应的 JSON 格式翻译文件
  • autotranslate: 翻译特定语言的全部字符串并将其保存到相应的 JSON 文件中。您可以定义一个 persistent-strings 文件以保留一些翻译。

归属

此项目包含以下开源项目的代码

为 Laravel 的可翻译字符串导出器

安装

您可以通过 composer 安装此包

composer require goodmagma/laravel-translations --dev

您可以使用以下命令发布配置文件

php artisan vendor:publish --tag="translations-config"

点击此处查看配置文件的内容.

您应该阅读配置文件,它作为额外的文档使用,并根据需要进行更改。

使用方法

导出可翻译字符串

php artisan translations:export <lang>

其中 <lang> 是语言代码或逗号分隔的语言代码列表。例如

php artisan translations:export es
php artisan translations:export es,bg,de

带有 "es,bg,de" 参数的命令将创建 es.jsonbg.jsonde.json 文件,包含可翻译的字符串或在您的项目的 lang/ 文件夹中更新现有文件。

翻译字符串

php artisan translations:translate <lang>

其中 <lang> 是语言代码或逗号分隔的语言代码列表。例如

php artisan translations:translate es
php artisan translations:translate es,bg,de

持久字符串

一些字符串不包括在导出中,因为它们是动态生成的。例如

{{ __(sprintf('Dear customer, your order has been %s', $orderStatus)) }}

其中 $orderStatus 可以是 'approved''paid''cancelled' 等。

在这种情况下,您可以手动将字符串添加到 <lang>.json 文件中。例如

  ...,
  "Dear customer, your order has been approved": "Dear customer, your order has been approved",
  "Dear customer, your order has been paid": "Dear customer, your order has been paid",
  ...

为了确保那些手动添加的字符串在下次运行导出命令时不会被删除,您应该将它们添加到名为 persistent-strings-<lang>.json 的 json 文件中。例如

[
  ...,
  "Dear customer, your order has been %s": "Gentile cliente, il tuo ordine è stato approvato",
  ...
]

您还可以使用 persistent-strings-<lang>.json 文件在您使用翻译命令时修复某些翻译。当在此处定义翻译时,不会通过 Google Translate 自动翻译。这在例如自动翻译特定字符串的输出不准确时很有用。

贡献

贡献是使开源社区成为一个如此美妙的学习、灵感和创造的地方的原因。您所提供的任何贡献都受到 高度赞赏

  • 给我们一个星 ⭐
  • 分叉和克隆!太棒了
  • 选择现有的 问题 或创建一个 新问题,并在之后给我们一个带有您的错误修复或改进的 PR。我们喜欢它 ❤️

如果您想提交 PR

  1. 分叉项目并切换到 develop 分支
  2. 创建您的功能分支 (git checkout -b feature/AmazingFeature)
  3. 提交您的更改 (git commit -m 'Add some AmazingFeature')
  4. 推送到分支 (git push origin feature/AmazingFeature)
  5. 打开拉取请求

许可证

遵循MIT许可发布。更多信息请参见许可证