Laravel言語ファイル用のAI駆動型翻訳ツール
カスタム言語スタイルをサポートして機能を拡大し、ユニークで創造的な翻訳を可能にしました。カスタム言語スタイルの詳細をご覧ください
Laravel AI Translatorは、Laravelプロジェクトのローカリゼーションプロセスを合理化するために設計された強力なツールです。文字列を複数の言語に翻訳するという退屈なタスクを自動化し、高度なコンテキスト対応の翻訳を提供する高度なAIモデルを活用します。
主な利点:
個人プロジェクトであろうと大規模なアプリケーションに取り組んでいるかどうかにかかわらず、Laravel AI翻訳者は国際化プロセスを簡素化し、翻訳と格闘する代わりに優れた機能を構築することに集中できるようにします。
langディレクトリ内のすべての言語フォルダーを自動的に検出しますまた、このツールは、言語ファイルをインテリジェントに翻訳するように設計されています。
これがどのように機能するか知りたいですか? src/AIのプロンプトを参照してください。
標準的な言語翻訳に加えて、このパッケージはカスタム言語スタイルをサポートし、ユニークで創造的なローカリゼーションを可能にします。
パッケージには、いくつかの組み込み言語スタイルが含まれています。
ko_kp :北朝鮮スタイルの韓国語これらは自動的に利用可能であり、追加の構成は必要ありません。
カスタムスタイリング機能のデモンストレーションとして、「Reddit Style」英語を実装しました。
このスタイルは、Redditで見つかったカジュアルでしばしばユーモラスな言語を模倣しています。
構成の例:
' locale_names ' => [
' en_reddit ' => ' English (Reddit) ' ,
],
' additional_rules ' => [
' en_reddit ' => [
" - Incorporate sarcasm and exaggeration " ,
" - Use popular internet slang and meme references " ,
" - Add humorous calls for sources on obvious statements " ,
],
],構成内のlocale_namesとadditional_rulesに新しいエントリを追加することにより、独自のカスタム言語スタイルを作成できます。これにより、特定の視聴者やプラットフォームへの翻訳を調整できます。
これらのカスタムスタイルは、翻訳をカスタマイズするための創造的な方法を提供し、ローカライズされたコンテンツにユニークな才能を追加します。責任を持って使用して、視聴者の明確さと適切性を維持しながら、ユーザーのエンゲージメントを強化します。
Composer経由でパッケージをインストールします。
composer require kargnas/laravel-ai-translator .envファイルにOpenAI APIキーを追加します:
OPENAI_API_KEY=your-openai-api-key-here
OpenAI WebサイトからAPIキーを取得できます。
(代わりにAnthropicのClaudeを使用する場合は、構成手順については以下のステップ4を参照してください。)
(オプション)構成ファイルを公開します。
php artisan vendor:publish --provider= " KargnasLaravelAiTranslatorServiceProvider "この手順はオプションですが、パッケージの動作をカスタマイズする場合はお勧めします。さまざまな設定を変更できるconfig/ai-translator.phpファイルを作成します。
(オプション)OpenaiのGPTの代わりにAnthropicのClaudeを使用する場合は、 config/ai-translator.phpファイルを更新します。
' ai ' => [
' provider ' => ' anthropic ' ,
' model ' => ' claude-3-5-sonnet-20240620 ' ,
' api_key ' => env ( ' ANTHROPIC_API_KEY ' ),
],次に、 .envファイルに人類のAPIキーを追加します。
ANTHROPIC_API_KEY=your-anthropic-api-key-here
人類のWebサイトから人類のAPIキーを取得できます。最良の結果を得るには、Openai GPTではなく、翻訳にClaude-3-5-Sonnetモデルを使用することをお勧めします。このモデルは、より正確で自然な翻訳を提供します。
Laravel AI翻訳者を使用する準備ができました!
言語ファイルを翻訳するには、次のコマンドを実行します。
php artisan ai-translator:translateこのコマンドは次のとおりです。
langディレクトリ内のすべての言語フォルダーを認識します英語ファイルを与えられた:
<?php
return [
' notifications ' => [
' new_feature_search_sentence ' => ' New feature: Now you can type sentences not only words. Even in your languages. The AI will translate them to Chinese. ' ,
' refresh_after_1_min ' => ' Refresh after 1 minutes. New content will be available! (The previous model: :model, Updated: :updated_at) ' ,
]
];パッケージは次のような翻訳を生成します:
<?php
return array (
' notifications.new_feature_search_sentence ' => ' 새로운 기능: 이제 단어뿐만 아니라 문장도 입력할 수 있어요. 심지어 여러분의 언어로도 가능해요. ' ,
' notifications.refresh_after_1_min ' => ' 1분 후에 새로고침하세요. 새로운 내용이 준비될 거예요! (이전 모델: :model, 업데이트: :updated_at) ' ,
); <?php
return array (
' notifications.new_feature_search_sentence ' => '新功能:现在你不仅可以输入单词,还可以输入句子。甚至可以用你的语言。 ' ,
' notifications.refresh_after_1_min ' => ' 1分钟后刷新。新内容即将到来!(之前的模型::model,更新时间::updated_at) ' ,
); <?php
return array (
' notifications.new_feature_search_sentence ' => ' ฟีเจอร์ใหม่: ตอนนี้คุณพิมพ์ประโยคได้แล้ว ไม่ใช่แค่คำเดียว แม้แต่ภาษาของคุณเอง ' ,
' notifications.refresh_after_1_min ' => ' รีเฟรชหลังจาก 1 นาที จะมีเนื้อหาใหม่ให้ดู! (โมเดลก่อนหน้า: :model, อัปเดตเมื่อ: :updated_at) ' ,
); <?php
return array (
' notifications.new_feature_search_sentence ' => ' 혁명적 새로운 기능: 동무들! 이제 단어뿐만 아니라 문장도 입력하여 단어의 력사를 확인할 수 있습니다. 모국어로도 괜찮습니다. 인공지능이 중국어로 번역해드리겠습니다. ' ,
' notifications.refresh_after_1_min ' => ' 1분후에 새로고침하십시요. 새로운 내용을 볼수 있습니다! (이전 모델: :model, 갱신: :updated_at) ' ,
); <?php
return array (
' notifications.new_feature_search_sentence ' => ' Whoa, hold onto your keyboards, nerds! We ' ve leveled up our search game. Now you can type entire sentences, not just measly words. Mind. Blown. And get this - it even works in your weird non-English languages! Our AI overlord will graciously translate your gibberish into Chinese. You ' re welcome. ' ,
' notifications.refresh_after_1_min ' => ' Yo, hit that F5 in 60 seconds, fam. Fresh content incoming! (Previous model was :model, last updated when dinosaurs roamed the Earth at :updated_at) ' ,
);設定をカスタマイズする場合は、構成ファイルを公開できます。
php artisan vendor:publish --provider= " KargnasLaravelAiTranslatorServiceProvider "これにより、次の設定を変更できるconfig/ai-translator.phpファイルが作成されます。
source_directory :デフォルトのlangディレクトリの代わりに言語ファイルに別のディレクトリを使用する場合、ここで指定できます。
ai :AIプロバイダー、モデル、およびAPIキーをここで構成します。最高のモデルの推奨事項は次のとおりです。
| プロバイダー | モデル | コスト(1MトークンあたりのI/O) | 説明 |
|---|---|---|---|
| 人類 | Claude-3-5-Sonnet-20240620 | $ 3.00 / $ 15.00 | 最高の品質、少し遅い。お勧めします。 |
| 人類 | Claude-3-Haiku-20240307 | $ 0.25 / $ 1.25 | 低品質ですが、GPT-3.5よりも優れています |
| Openai | GPT-4O | $ 5.00 / $ 15.00 | バランスの取れた品質と高速 |
| Openai | GPT-4O-MINI | $ 0.15 / $ 0.60 | バランスの取れた品質と安価 |
高価または低品質の推奨モデルは次のとおりです。
| プロバイダー | モデル | コスト(1MトークンあたりのI/O) |
|---|---|---|
| 人類 | Claude-3-OPUS-20240229 | $ 15.00 / $ 75.00 |
| 人類 | claude-3-sonnet-20240229 | $ 3.00 / $ 15.00 |
| Openai | GPT-4-Turbo | $ 10.0 / $ 30.0 |
| Openai | GPT-3.5-ターボ | $ 0.50 / $ 1.50 |
locale_names :ロケールコードの言語名へのマッピングは、AIにコンテキストを提供することにより、翻訳品質を向上させます。
additional_rules :翻訳プロンプトにカスタムルールを追加します。これは、メッセージのスタイルをカスタマイズしたり、まったく新しい言語スタイルを作成したりするのに役立ちます。
構成の例:
<?php
return [
' source_directory ' => ' lang ' ,
' ai ' => [
' provider ' => ' openai ' , // or 'anthropic'
' model ' => ' gpt-4o ' , // or 'gpt-4', 'gpt-3.5-turbo', 'claude-3-5-sonnet-20240620'
' api_key ' => env ( ' OPENAI_API_KEY ' ), // or env('ANTHROPIC_API_KEY')
],
' locale_names ' => [
' en ' => ' English ' ,
' ko ' => ' Korean ' ,
' zh_cn ' => ' Chinese (Simplified) ' ,
// ... other locales
],
' additional_rules ' => [
' default ' => [
" Use a friendly and intuitive tone of voice, like the service tone of voice of 'Discord'. " ,
],
' ko ' => [
" 한국의 인터넷 서비스 '토스'의 서비스 말투 처럼, 유저에게 친근하고 직관적인 말투로 설명하고 존댓말로 설명하세요. " ,
],
],
]; .envファイルに、選択したAIプロバイダーのAPIキーを必ず設定してください。
現在、このパッケージは、Laravelが使用するPHP言語ファイルのみをサポートしています。 JSON言語ファイルはサポートされておらず、将来それらを追加する計画はありません。
特に複数の言語を扱う場合は、翻訳を管理するためにPHPファイルを使用することをお勧めします。その理由は次のとおりです。
構造:PHPファイルにより、ネストされた配列を備えたより組織化された構造が可能になり、関連する翻訳を簡単にグループ化できます。
コメント:PHPファイルにコメントを追加して、翻訳者にコンテキストまたは指示を提供できます。
パフォーマンス:PHPファイルは、解析を必要としないため、JSONファイルと比較してロードがわずかに高速です。
柔軟性:PHPファイルでは、変数や翻訳で条件を使用するなど、より複雑な操作を可能にします。
スケーラビリティ:複数の言語で多数の翻訳を管理する場合、PHPファイルのディレクトリ構造により、ナビゲートとメンテナンスが容易になります。
現在、翻訳にJSONファイルを使用している場合は、このパッケージとの互換性を向上させ、翻訳の管理性を向上させるためにPHPファイルに移行することをお勧めします。
このパッケージは、OpenaiのGPTモデルと人類の翻訳のためにクロードの両方をサポートしています。
私たちは常にLaravel AI翻訳者を改善するために取り組んでいます。ここに私たちが計画しているいくつかの機能と改善があります:
これらのタスクのいずれかに貢献したい場合は、プルリクエストをお気軽に送信してください!
貢献は大歓迎です!プルリクエストをお気軽に送信してください。
MITライセンス(MIT)。詳細については、ライセンスファイルをご覧ください。