Nov 11, 2024
好吧,想象一下:你有一个 Laravel Nova 仪表板,一个包含多种语言内容字段的列表,以及一种强烈的愿望来自动化翻译,因为说实话,手动操作并不是一个好时光。
照片由Cherry Lin在Unsplash上拍摄
进入SharpAPI AI Translator for Laravel Nova。这个包无缝地将AI驱动的翻译直接插入到您的Nova仪表盘中,消除了重复的翻译任务,让您可以专注于更有意义的事情。
想查看所有包详情?前往GitHub:https://github.com/sharpapi/nova-ai-translator
如果您使用的是
spatie/laravel-translatable,那么我们也假设您已经在使用并知道如何配置他们的https://github.com/spatie/nova-translatable
简而言之,它结合了Spatie的laravel-translatable包和SharpAPI的AI超能力,将您应用中的内容字段转化为轻松可翻译的资产。结果?在您的Nova仪表盘上新增了一个名为**🤖启动AI翻译**的新操作,负责为您完成翻译工作。
从Nova资源列表或编辑屏幕中,您可以直接在Nova中排队翻译任何配置的语言,当您按下按钮时,AI就会接管。需要将博客文章从英语翻译成西班牙语?没问题。
如果您是一个管理多语言内容的Laravel Nova用户,那么这个包适合您。它非常适合那些经常处理国际化应用程序的团队,并需要快速翻译内容,而无需手动翻阅Google翻译。想象一下,当您的内容直接从Nova自动翻译时节省的时间!
确保您正在运行:
您还需要在SharpAPI.com注册一个帐户以获取API访问权限,但我们会在后面讨论。
composer require sharpapi/nova-ai-translator
将您的API密钥从SharpAPI添加到您的.env:
SHARP_API_KEY=your-sharp-api-key
在config/app.php中的locales键下定义您的区域设置:
return [
'locales' => [
'en' => 'English',
'es' => 'Spanish',
'fr' => 'French',
// 添加您应用所需的其他语言
],
];
您的可翻译模型应使用:
HasTranslations特性。Actionable和Notifiable特性以跟踪操作。这是一个快速设置,例如,一个BlogPost模型:
namespace App;
use Laravel\Nova\Actions\Actionable;
use Illuminate\Notifications\Notifiable;
use Spatie\Translatable\HasTranslations;
class BlogPost
{
use Actionable, Notifiable, HasTranslations;
protected $translatable = ['title', 'subtitle', 'content'];
}
通过将TranslateModel操作添加到操作数组中,将其挂钩到您的Nova资源中:
use SharpAPI\NovaAiTranslator\Actions\TranslateModel;
public function actions()
{
return [
(new TranslateModel())->enabled(),
];
}
此操作使用队列异步处理翻译,因此请确保您的队列已准备就绪。
一旦集成,操作就存在于您的Nova资源中。以下是它的工作原理:
从资源列表或任何资源的编辑视图中打开操作。
示例:从编辑视图触发操作
一个表单让您选择源语言和目标语言,甚至可以设置语气。您还会看到一个将被翻译的字段列表,所以没有意外。
一旦您确认,操作会检查目标字段是否已经填充。如果它们已经填充,它会温和地建议您在继续之前清除它们。假设一切顺利,它会将翻译工作排入队列。如果您使用Actionable和Notifiable特性,您甚至可以实时监控它。
Nova的操作日志功能有助于跟踪翻译。如果您需要调试任何问题或只是喜欢看AI在运行,这非常方便。
示例:翻译日志中的操作
示例:错误处理(如果出现问题)
spatie/laravel-translatable集成,您可以获得两全其美的效果:结构化的本地化与AI翻译的强大功能。通过SharpAPI AI Translator for Laravel Nova,您的应用翻译水平通过其新的Laravel AI功能得到了巨大的升级。试试吧,告诉我们它如何为您工作!
您的客户已经需要人工智能。通过推荐最简单的添加方式来获得报酬。