Ferramenta de tradução movida a IA para arquivos de linguagem Laravel
Expandimos nossos recursos com suporte para estilos de idiomas personalizados, permitindo traduções exclusivas e criativas. Saiba mais sobre estilos de linguagem personalizados
O Laravel AI Translator é uma ferramenta poderosa projetada para otimizar o processo de localização em projetos de Laravel. Ele automatiza a tarefa tediosa de traduzir strings em vários idiomas, alavancando os modelos avançados de IA para fornecer traduções de alta qualidade e com conhecimento de contexto.
Principais benefícios:
Esteja você trabalhando em um projeto pessoal ou em um aplicativo em larga escala, o Laravel AI Translator simplifica o processo de internacionalização, permitindo que você se concentre na criação de ótimos recursos em vez de lutar com traduções.
langAlém disso, esta ferramenta foi projetada para traduzir seus arquivos de idioma de forma inteligente:
Você quer saber como isso funciona? Veja o prompt no src/AI .
Além das traduções de idiomas padrão, este pacote agora suporta estilos de idiomas personalizados, permitindo localizações exclusivas e criativas.
O pacote inclui vários estilos de idioma interno:
ko_kp : Estilo norte -coreano coreanoEstes estão disponíveis automaticamente e não requerem configuração adicional.
Como demonstração de recursos de estilo personalizado, implementamos um inglês "Reddit Style":
Esse estilo imita a linguagem casual, muitas vezes humorística, encontrada no Reddit, apresentando:
Exemplo de configuração:
' 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 " ,
],
], Você pode criar seus próprios estilos de idioma personalizados adicionando novas entradas aos locale_names e additional_rules na configuração. Isso permite que você adapte as traduções para públicos ou plataformas específicas.
Esses estilos personalizados oferecem maneiras criativas de personalizar suas traduções, adicionando um toque exclusivo ao seu conteúdo localizado. Use com responsabilidade para aprimorar o envolvimento do usuário, mantendo clareza e adequação para o seu público.
Instale o pacote via compositor:
composer require kargnas/laravel-ai-translator Adicione a chave da API OpenAI ao seu arquivo .env :
OPENAI_API_KEY=your-openai-api-key-here
Você pode obter uma chave da API no site do OpenAI.
(Se você deseja usar o Claude do Anthrópico, consulte a Etapa 4 abaixo para obter instruções de configuração.)
(Opcional) Publique o arquivo de configuração:
php artisan vendor:publish --provider= " KargnasLaravelAiTranslatorServiceProvider " Esta etapa é opcional, mas recomendada se você deseja personalizar o comportamento do pacote. Ele criará um arquivo config/ai-translator.php , onde você pode modificar várias configurações.
(Opcional) Se você deseja usar o Claude do Anthropic em vez do GPT do OpenAI, atualize o arquivo config/ai-translator.php :
' ai ' => [
' provider ' => ' anthropic ' ,
' model ' => ' claude-3-5-sonnet-20240620 ' ,
' api_key ' => env ( ' ANTHROPIC_API_KEY ' ),
], Em seguida, adicione a chave API antrópica ao seu arquivo .env :
ANTHROPIC_API_KEY=your-anthropic-api-key-here
Você pode obter uma chave de API antrópica no site antrópico. Para obter melhores resultados, recomendamos o uso do modelo Claude-3-5 para suas traduções, em vez do OpenAI GPT. Este modelo fornece traduções mais precisas e naturais.
Agora você está pronto para usar o tradutor do Laravel AI!
Para traduzir seus arquivos de idioma, execute o seguinte comando:
php artisan ai-translator:translateEste comando vai:
langDado um arquivo de idioma inglês:
<?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) ' ,
]
];O pacote gerará traduções como essas:
<?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) ' ,
);Se você deseja personalizar as configurações, poderá publicar o arquivo de configuração:
php artisan vendor:publish --provider= " KargnasLaravelAiTranslatorServiceProvider " Isso criará um arquivo config/ai-translator.php , onde você pode modificar as seguintes configurações:
source_directory : Se você usar um diretório diferente para arquivos de idiomas em vez do diretório lang padrão, poderá especificá -lo aqui.
ai : Configure o provedor, modelo e API da IA aqui. Aqui estão a nossa recomendação para os melhores modelos:
| Provedor | Modelo | Custo (E/S por 1m tokens) | Descoberto |
|---|---|---|---|
| Antrópico | CLAUDE-3-5-SONNET-20240620 | $ 3,00 / $ 15,00 | A melhor qualidade, um pouco lenta. Recomendamos. |
| Antrópico | Claude-3-Haiku-20240307 | $ 0,25 / $ 1,25 | Baixa qualidade, mas melhor que o GPT-3.5 |
| Openai | GPT-4O | US $ 5,00 / $ 15,00 | Qualidade equilibrada e alta velocidade |
| Openai | GPT-4O-MINI | $ 0,15 / $ 0,60 | Qualidade equilibrada e barato |
Aqui não são modelos recomendados que são caros ou de baixa qualidade:
| Provedor | Modelo | Custo (E/S por 1m tokens) |
|---|---|---|
| Antrópico | Claude-3-Opus-20240229 | $ 15,00 / $ 75,00 |
| Antrópico | CLAUDE-3-SONNET-20240229 | $ 3,00 / $ 15,00 |
| Openai | GPT-4-Turbo | $ 10,0 / $ 30,0 |
| Openai | GPT-3.5-Turbo | $ 0,50 / $ 1,50 |
locale_names : Este mapeamento de códigos de localidade para nomes de idiomas aprimora a qualidade da tradução, fornecendo contexto para a IA.
additional_rules : adicione regras personalizadas ao prompt de tradução. Isso é útil para personalizar o estilo das mensagens ou criar estilos de idiomas totalmente novos.
Exemplo de configuração:
<?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 ' => [
" 한국의 인터넷 서비스 '토스'의 서비스 말투 처럼, 유저에게 친근하고 직관적인 말투로 설명하고 존댓말로 설명하세요. " ,
],
],
]; Certifique -se de definir a chave da API do provedor de IA escolhida no seu arquivo .env .
Atualmente, este pacote suporta apenas arquivos de idioma PHP usados pelo Laravel. Os arquivos de idiomas JSON não são suportados e não há planos de adicionar suporte para eles no futuro.
Recomendamos o uso de arquivos PHP para gerenciar traduções, especialmente ao lidar com vários idiomas. Aqui está o porquê:
Estrutura : Os arquivos PHP permitem uma estrutura mais organizada com matrizes aninhadas, facilitando a agrupamento de traduções relacionadas.
Comentários : Você pode adicionar comentários nos arquivos PHP para fornecer contexto ou instruções para tradutores.
Desempenho : os arquivos PHP são um pouco mais rápidos para carregar em comparação com os arquivos JSON, pois não precisam de análise.
Flexibilidade : os arquivos PHP permitem operações mais complexas, como o uso de variáveis ou condições em suas traduções.
Escalabilidade : Ao gerenciar um grande número de traduções em vários idiomas, a estrutura do diretório dos arquivos PHP facilita a navegação e a manutenção.
Se você estiver atualmente usando arquivos JSON para suas traduções, recomendamos migrar para arquivos PHP para melhor compatibilidade com este pacote e uma capacidade de gerenciamento aprimorada de suas traduções.
Este pacote suporta os modelos GPT da OpenAI e o Claude para traduções do Anthrópico, cada um com seus próprios pontos fortes:
Estamos constantemente trabalhando para melhorar o tradutor da Laravel AI. Aqui estão alguns recursos e melhorias que estamos planejando:
Se você quiser contribuir com alguma dessas tarefas, sinta -se à vontade para enviar uma solicitação de tração!
As contribuições são bem -vindas! Sinta -se à vontade para enviar uma solicitação de tração.
A licença do MIT (MIT). Consulte o arquivo de licença para obter mais informações.