visualbuilder / ai-translate
使用AI翻译本地化文件
Requires
- php: ^8.1
- openai-php/laravel: *
- symfony/var-exporter: *
Requires (Dev)
- mockery/mockery: ^1.6
- orchestra/testbench: ^8.5
- pestphp/pest: ^2.8.2
README
- 只需设置您希望网站翻译到的语言列表,并将其交给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.php
和 config/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
脚本将扫描所有源目录中的翻译文件,然后提供将翻译到所需语言的每个GPT模型的成本估计。
如果您愿意继续,请选择您希望使用的模型,并将翻译每个源文件。
如果目标文件存在,则仅翻译目标中不存在的新密钥。除非您使用 --force 选项,这将覆盖任何现有翻译。
我将添加模型翻译和Spatie Language行的额外功能。我在这几个项目中都有这些功能,所以想扩展功能。
测试
composer test
变更日志
请参阅 CHANGELOG 了解最近更改的更多信息。
贡献
请参阅CONTRIBUTING以获取详细信息。
安全
如果您发现任何与安全相关的问题,请通过电子邮件support@ekouk.com联系,而不是使用问题跟踪器。
鸣谢
许可证
GNU GPLv3。有关更多信息,请参阅许可证文件。