goodmagma / laravel-translations
导出本地化字符串并通过 Google Translate 进行 Laravel 翻译
Requires
- php: ^8.0
- ext-json: *
- illuminate/support: ^8|^9|^10.0
- illuminate/translation: ^8|^9|^10.0
- stichoza/google-translate-php: ^5.1
- symfony/finder: ^5|^6
Requires (Dev)
- nunomaduro/larastan: ^1.0|^2.0
- orchestra/testbench: ^6.0|^7.0|^8.0
- phpunit/phpunit: ^9.0
This package is auto-updated.
Last update: 2024-09-05 22:32:29 UTC
README
您可以使用 __('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.json
、bg.json
、de.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
- 分叉项目并切换到
develop
分支 - 创建您的功能分支 (
git checkout -b feature/AmazingFeature
) - 提交您的更改 (
git commit -m 'Add some AmazingFeature'
) - 推送到分支 (
git push origin feature/AmazingFeature
) - 打开拉取请求
许可证
遵循MIT许可发布。更多信息请参见许可证。