在 Laravel Nova 中使用 AI 轻松翻译

介绍SharpAPI AI翻译器

Nov 11, 2024

在 Laravel Nova 中使用 AI 轻松翻译 好吧,想象一下:你有一个 Laravel Nova 仪表板,一个包含多种语言内容字段的列表,以及一种强烈的愿望来自动化翻译,因为说实话,手动操作并不是一个好时光。

照片由Cherry LinUnsplash上拍摄

进入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 AI Translator

要求

确保您正在运行:

  • Laravel:^9.0+
  • Laravel Nova:4.0+
  • PHP:8.0+
  • 并安装了spatie/laravel-translatable

您还需要在SharpAPI.com注册一个帐户以获取API访问权限,但我们会在后面讨论。

安装

  • 安装包
composer require sharpapi/nova-ai-translator
  • 配置API访问

将您的API密钥从SharpAPI添加到您的.env

SHARP_API_KEY=your-sharp-api-key
  • 设置支持的语言

config/app.php中的locales键下定义您的区域设置:

return [
   'locales' => [
       'en' => 'English',
       'es' => 'Spanish',
       'fr' => 'French',
       // 添加您应用所需的其他语言
   ],
];
  • 添加到您的Nova资源模型中

您的可翻译模型应使用:

  • 来自Spatie的HasTranslations特性。
  • [强烈推荐] ActionableNotifiable特性以跟踪操作。

这是一个快速设置,例如,一个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操作

通过将TranslateModel操作添加到操作数组中,将其挂钩到您的Nova资源中:

use SharpAPI\NovaAiTranslator\Actions\TranslateModel;

public function actions()
{
   return [
       (new TranslateModel())->enabled(),
   ];
}
  • 启用队列

此操作使用队列异步处理翻译,因此请确保您的队列已准备就绪。

在Nova中使用TranslateModel操作

一旦集成,操作就存在于您的Nova资源中。以下是它的工作原理:

  • 启动AI翻译

从资源列表或任何资源的编辑视图中打开操作。

示例:从编辑视图触发操作

  • 选择翻译设置

一个表单让您选择源语言和目标语言,甚至可以设置语气。您还会看到一个将被翻译的字段列表,所以没有意外。

  • 点击翻译并放松

一旦您确认,操作会检查目标字段是否已经填充。如果它们已经填充,它会温和地建议您在继续之前清除它们。假设一切顺利,它会将翻译工作排入队列。如果您使用ActionableNotifiable特性,您甚至可以实时监控它。

  • 跟踪进度和日志

Nova的操作日志功能有助于跟踪翻译。如果您需要调试任何问题或只是喜欢看AI在运行,这非常方便。

示例:翻译日志中的操作

示例:错误处理(如果出现问题)

小贴士和技巧

  • 设定并忘记它:此设置允许您排队翻译而无需担心时间或负载。对于不想扩大翻译任务而希望扩展多语言应用的情况,这尤其有用。
  • 翻译策略:根据内容更新的数量和频率微调您触发翻译的频率。
  • 本地化需求?:由于此设置与spatie/laravel-translatable集成,您可以获得两全其美的效果:结构化的本地化与AI翻译的强大功能。

通过SharpAPI AI Translator for Laravel Nova,您的应用翻译水平通过其新的Laravel AI功能得到了巨大的升级。试试吧,告诉我们它如何为您工作!

喜欢 SharpAPI?分享它并获得 30% 的永久性佣金。

您的客户已经需要人工智能。通过推荐最简单的添加方式来获得报酬。