edeoliv / gpt-translate
一个Laravel包,用于创建基础翻译文件,并使用ChatGPT API将其翻译成任何语言
Requires
- php: ^8.3
- openai-php/laravel: ^0.10.1
This package is auto-updated.
Last update: 2024-09-26 23:38:04 UTC
README
gpt-translate
是一个Laravel包,允许您使用OpenAI的ChatGPT API的强大功能生成和翻译语言文件。该包支持多种语言的翻译,包括英语、西班牙语、法语、德语、意大利语和葡萄牙语。您可以使用 __()
、@lang()
、$t()
或 trans()
调用这些字符串,并且它们可以位于php、js、ts或vue文件中。
此外,gpt-translate
允许您将基础语言文件翻译成其他语言,无论您之前是否已有该文件或使用该包生成,都支持使用ChatGPT API进行翻译。支持的翻译语言包括英语、西班牙语、法语、德语、意大利语和葡萄牙语。
新功能
自动通过扫描应用程序中的翻译字符串生成基础翻译文件。使用ChatGPT API将基础语言文件翻译成其他语言。提供自定义上下文以获得更准确的翻译。排除特定单词或短语不被翻译。支持不同模型(例如,GPT-3.5、GPT-4)。
入门指南
安装
使用composer安装此包
composer require edeoliv/gpt-translate
添加服务提供者 将以下内容添加到您的 config/app.php
文件中
'providers' => [ ... Edeoliv\GptTranslate\TranslateProvider::class, ... ],
发布配置文件
您需要发布 openai.php
配置文件
php artisan vendor:publish
环境配置
将 OPENAI_API_KEY
、OPENAI_ORGANIZATION
、GPT_TRANSLATE_DEFAULT_CONTEXT
和 GPT_TRANSLATE_EXCLUDE_WORDS
变量添加到您的 .env
文件中,并使用您的OpenAI账户详情进行设置。
生成基础翻译文件
如果您还没有基础翻译文件,可以使用以下命令生成
php artisan translate:make --lang=en
如所示,此命令在您的根目录中创建一个 lang/en.json
。如果您的应用程序使用其他语言,请传递适当的 lang
参数,例如,对于法语
php artisan translate:make --lang=fr
使用ChatGPT进行翻译
拥有基础翻译文件后,无论它是通过包生成的还是其他方式,运行翻译命令以让ChatGPT进行翻译,例如
php artisan translate:lang --origin=en --lang=fr
这将原始的 en.json
翻译成法语,并创建一个新的 fr.json
文件。
提供上下文(可选)
为了获得更准确的翻译,简要描述您应用程序目的的上下文。这有助于ChatGPT更好地理解和翻译文本。使用 context
参数
php artisan translate:lang --origin=en --lang=fr --context="a pet product sales application"
排除特定单词或短语不被翻译(可选)
您可以指定不应被翻译的单词或短语。这对于品牌名称、技术术语或其他必须保持原始语言的内容非常有用。
php artisan translate:lang --origin=en --lang=fr --exclude="Laravel,Eloquent,PHP"
指定模型(可选)
默认情况下,该包使用 GPT-3.5。如果需要,可以指定任何与Chat API兼容的OpenAI模型。
php artisan translate:lang --origin=en --lang=fr --model=gpt-4
上下文和排除配置(可选)
php artisan vendor:publish --tag=gpt-translate-config
然后,您可以在 config/gpt-translate.php
文件中自定义默认上下文和排除设置
return [ 'default_context' => env('GPT_TRANSLATE_DEFAULT_CONTEXT', 'Your default context here'), 'exclude_words' => explode(',', env('GPT_TRANSLATE_EXCLUDE_WORDS', 'Laravel,Eloquent,PHP')), ];
示例用法
php artisan translate:lang --origin=en --lang=fr --context="a tech startup specializing in AI products" --exclude="ChatGPT,OpenAI,Laravel"
使用所有参数的示例用法
php artisan translate:lang --origin=en --lang=fr --context="a tech startup specializing in AI products" --exclude="ChatGPT,OpenAI,Laravel" --model=gpt-4
结论
利用ChatGPT的力量和gpt-translate
的灵活性,有效地本地化您的Laravel应用程序。通过提供上下文、排除特定术语和选择模型的能力,gpt-translate
确保您的翻译准确且适用于您应用程序的需求。