edeoliv/gpt-translate

一个Laravel包,用于创建基础翻译文件,并使用ChatGPT API将其翻译成任何语言

安装: 3

依赖项: 0

建议者: 0

安全: 0

星级: 0

关注者: 0

分支: 5

类型:laravel-package

v1.0.3 2024-08-26 22:25 UTC

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_KEYOPENAI_ORGANIZATIONGPT_TRANSLATE_DEFAULT_CONTEXTGPT_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确保您的翻译准确且适用于您应用程序的需求。