visualbuilder/ai-translate

使用AI翻译本地化文件

1.0.12 2023-07-12 02:58 UTC

This package is auto-updated.

Last update: 2024-09-12 05:34:37 UTC


README

Latest Version on Packagist Total Downloads run-tests Check & fix styling

Example

  • 只需设置您希望网站翻译到的语言列表,并将其交给GPT处理。
  • 可以使用GPT-3.5-turbo或GPT-4
  • 运行前估计成本
  • 比谷歌翻译更准确
  • 处理翻译字符串中的变量 - 它们不会被翻译。
  • 处理PHP和JSON文件
  • 模型翻译即将推出

示例

示例:从英语

  • 'accepted' => 'The :attribute must be accepted.',
  • 'accepted_if' => 'The :attribute must be accepted when :other is :value.',

到阿拉伯语:

  • 'accepted' => 'يجب قبول الـ :attribute',
  • 'accepted_if' => 'يجب قبول الـ :attribute عندما يكون الـ :other هو :value',

到乌克兰语:

  • 'accepted' => ':attribute має бути прийнятий.',
  • 'accepted_if' => ':attribute має бути прийнятий, коли :other є :value.',

到德语:

  • 'accepted' => 'Die :attribute müssen akzeptiert werden.',
  • 'accepted_if' => 'Die :attribute müssen akzeptiert werden, wenn :other :value ist.',

到西班牙语:

  • 'accepted' => 'El :attribute debe ser aceptado.',
  • 'accepted_if' => 'El :attribute debe ser aceptado cuando :other es :value.',

到简体中文:

  • 'accepted' => ':attribute必须被接受。',
  • 'accepted_if' => '当:attribute是:other时,:value必须被接受。',

到瑞典语:

  • 'accepted' => ':attribute måste accepteras.',
  • 'accepted_if' => ':attribute måste accepteras när :other är :value.',

需求

PHP 8.1 是OpenAI Wrapper的最低要求。

已测试与Laravel ^9.45 和 10.x

Filament 不是必需的(但可以添加到他们已经非常棒的翻译集。)

安装

通过composer下载包

composer require visualbuilder/ai-translate

运行安装以复制配置文件:

php artisan vb:ai:install

这将创建 config/ai-translate.phpconfig/openai.php,如果尚未安装。

如果您还没有GPT密钥,请访问: https://platform.openai.com/account/api-keys

将这些密钥添加到您的 .env

OPENAI_API_KEY=sk-xxxxxxx
OPENAI_ORGANIZATION=org-xxxxxx

用法

检查配置文件以确保您已包含所需的源区域目录。从 known_locales 列表中复制您希望翻译到的语言到 target_locales 数组中。

目前处理 .json.php 翻译文件。属性标记应保持不变。这是一个挑战,因为GPT-3.5拒绝忽略 :attribute,即使在明确告知忽略它的情况下也会翻译。为了解决这个问题,所有标记在翻译前都被替换为 ***,在翻译后再次添加,以确保连续性。

php artisan vb:ai:translate --help

要运行脚本:

php artisan vb:ai:translate

脚本将扫描所有源目录中的翻译文件,然后提供将翻译到所需语言的每个GPT模型的成本估计。

如果您愿意继续,请选择您希望使用的模型,并将翻译每个源文件。

php artisan vb:ai:translate

如果目标文件存在,则仅翻译目标中不存在的新密钥。除非您使用 --force 选项,这将覆盖任何现有翻译。

我将添加模型翻译和Spatie Language行的额外功能。我在这几个项目中都有这些功能,所以想扩展功能。

测试

composer test

变更日志

请参阅 CHANGELOG 了解最近更改的更多信息。

贡献

请参阅CONTRIBUTING以获取详细信息。

安全

如果您发现任何与安全相关的问题,请通过电子邮件support@ekouk.com联系,而不是使用问题跟踪器。

鸣谢

许可证

GNU GPLv3。有关更多信息,请参阅许可证文件