Herramienta de traducción a IA para archivos de idioma Laravel
Hemos ampliado nuestras capacidades con soporte para estilos de lenguaje personalizados, permitiendo traducciones únicas y creativas. Obtenga más información sobre los estilos de lenguaje personalizados
Laravel AI Translator es una herramienta poderosa diseñada para optimizar el proceso de localización en proyectos de Laravel. Automata la tediosa tarea de traducir cadenas en múltiples idiomas, aprovechando modelos AI avanzados para proporcionar traducciones de alta calidad y contextuales.
Beneficios clave:
Ya sea que esté trabajando en un proyecto personal o en una aplicación a gran escala, Laravel AI Translator simplifica el proceso de internacionalización, lo que le permite concentrarse en construir excelentes características en lugar de luchar con traducciones.
langAdemás, esta herramienta está diseñada para traducir sus archivos de idioma de manera inteligente:
¿Quieres saber cómo funciona esto? Vea el aviso en src/AI .
Además de las traducciones de idioma estándar, este paquete ahora admite estilos de lenguaje personalizados, lo que permite localizaciones únicas y creativas.
El paquete incluye varios estilos de idioma incorporados:
ko_kp : Corea de estilo norcoreanoEstos están disponibles automáticamente y no requieren configuración adicional.
Como demostración de capacidades de estilo personalizado, hemos implementado un inglés "estilo Reddit":
Este estilo imita el lenguaje casual, a menudo humorístico que se encuentra en Reddit, con:
Configuración de ejemplo:
' 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 " ,
],
], Puede crear sus propios estilos de lenguaje personalizados agregando nuevas entradas a la configuración locale_names y additional_rules en la configuración. Esto le permite adaptar las traducciones a audiencias o plataformas específicas.
Estos estilos personalizados ofrecen formas creativas de personalizar sus traducciones, agregando un toque único a su contenido localizado. Use responsablemente para mejorar la participación del usuario mientras mantiene la claridad y la idoneidad para su audiencia.
Instale el paquete a través del compositor:
composer require kargnas/laravel-ai-translator Agregue la tecla API de OpenAI a su archivo .env :
OPENAI_API_KEY=your-openai-api-key-here
Puede obtener una clave API del sitio web de OpenAI.
(Si desea usar el Claude de Anthrope, consulte el paso 4 a continuación para obtener instrucciones de configuración).
(Opcional) Publique el archivo de configuración:
php artisan vendor:publish --provider= " KargnasLaravelAiTranslatorServiceProvider " Este paso es opcional pero se recomienda si desea personalizar el comportamiento del paquete. Creará un archivo config/ai-translator.php donde puede modificar varias configuraciones.
(Opcional) Si desea utilizar el Claude de Anthrope en lugar del GPT de OpenAI, actualice el archivo config/ai-translator.php :
' ai ' => [
' provider ' => ' anthropic ' ,
' model ' => ' claude-3-5-sonnet-20240620 ' ,
' api_key ' => env ( ' ANTHROPIC_API_KEY ' ),
], Luego, agregue la tecla API antrópica a su archivo .env :
ANTHROPIC_API_KEY=your-anthropic-api-key-here
Puede obtener una clave API antrópica del sitio web antrópico. Para obtener los mejores resultados, recomendamos usar el modelo Claude-3-5-Sonnet para sus traducciones en lugar de OpenAI GPT. Este modelo proporciona traducciones más precisas y naturales.
¡Ahora estás listo para usar el traductor de Laravel AI!
Para traducir sus archivos de idioma, ejecute el siguiente comando:
php artisan ai-translator:translateEste comando:
langDado un archivo 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) ' ,
]
];El paquete generará traducciones como estas:
<?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) ' ,
);Si desea personalizar la configuración, puede publicar el archivo de configuración:
php artisan vendor:publish --provider= " KargnasLaravelAiTranslatorServiceProvider " Esto creará un archivo config/ai-translator.php donde puede modificar la siguiente configuración:
source_directory : si usa un directorio diferente para archivos de idioma en lugar del directorio lang predeterminado, puede especificarlo aquí.
ai : Configure la clave del proveedor, modelo y API AI aquí. Aquí está nuestra recomendación para los mejores modelos:
| Proveedor | Modelo | Costo (E/S por 1 m Tokens) | Descripción |
|---|---|---|---|
| antrópico | Claude-3-5-Sonnet-20240620 | $ 3.00 / $ 15.00 | La mejor calidad, un poco lenta. Recomendamos. |
| antrópico | Claude-3-HAIKU-20240307 | $ 0.25 / $ 1.25 | Baja calidad, pero mejor que GPT-3.5 |
| opadai | GPT-4O | $ 5.00 / $ 15.00 | Calidad equilibrada y alta velocidad |
| opadai | GPT-4O-Mini | $ 0.15 / $ 0.60 | Calidad equilibrada y barato |
Aquí no hay modelos recomendados que sean caros o de baja calidad:
| Proveedor | Modelo | Costo (E/S por 1 m Tokens) |
|---|---|---|
| antrópico | Claude-3-OPUS-20240229 | $ 15.00 / $ 75.00 |
| antrópico | Claude-3-Sonnet-20240229 | $ 3.00 / $ 15.00 |
| opadai | GPT-4-TURBO | $ 10.0 / $ 30.0 |
| opadai | GPT-3.5-TURBO | $ 0.50 / $ 1.50 |
locale_names : Esta asignación de códigos de localidad a los nombres de idiomas mejora la calidad de la traducción al proporcionar contexto a la IA.
additional_rules : agregue reglas personalizadas al mensaje de traducción. Esto es útil para personalizar el estilo de los mensajes o crear estilos de lenguaje completamente nuevos.
Configuración de ejemplo:
<?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 ' => [
" 한국의 인터넷 서비스 '토스'의 서비스 말투 처럼, 유저에게 친근하고 직관적인 말투로 설명하고 존댓말로 설명하세요. " ,
],
],
]; Asegúrese de configurar la clave API de su proveedor de IA elegida en su archivo .env .
Actualmente, este paquete solo admite archivos de idioma PHP utilizados por Laravel. Los archivos de lenguaje JSON no son compatibles, y no hay planes para agregarle soporte en el futuro.
Recomendamos usar archivos PHP para administrar traducciones, especialmente cuando se trata de varios idiomas. He aquí por qué:
Estructura : los archivos PHP permiten una estructura más organizada con matrices anidadas, lo que facilita el grupo de traducciones relacionadas.
Comentarios : Puede agregar comentarios en archivos PHP para proporcionar contexto o instrucciones para los traductores.
Rendimiento : los archivos PHP son un poco más rápidos de cargar en comparación con los archivos JSON, ya que no requieren análisis.
Flexibilidad : los archivos PHP permiten operaciones más complejas, como usar variables o condiciones en sus traducciones.
Escalabilidad : al administrar una gran cantidad de traducciones en múltiples idiomas, la estructura del directorio de los archivos PHP facilita la navegación y mantenimiento.
Si actualmente está utilizando archivos JSON para sus traducciones, recomendamos migrar a los archivos PHP para una mejor compatibilidad con este paquete y una mayor administración de sus traducciones.
Este paquete es compatible con los modelos GPT de OpenAI y Claude para traducciones de Anthrope, cada uno con sus propias fortalezas:
Estamos trabajando constantemente para mejorar el traductor de AI de Laravel. Aquí hay algunas características y mejoras que estamos planeando:
Si desea contribuir a cualquiera de estas tareas, ¡no dude en enviar una solicitud de extracción!
¡Las contribuciones son bienvenidas! No dude en enviar una solicitud de extracción.
La licencia MIT (MIT). Consulte el archivo de licencia para obtener más información.