Un outil d'interface de ligne de commande pour traduire automatiquement les catalogues .xcstring
en utilisant OpenAI.
Anglais · Chinois (Simplifié) · Français · Espagnol · Allemand
Configuration · Utilisation · Paramétrage · Markdown · Problèmes courants · Motivation · Contribution · Contributeurs
tranzlate_demo.mov
La version minimale prise en charge de Node.js est v14
-
Installez tranzlate globalement :
npm install -g tranzlate.js
-
Récupérez votre clé API de OpenAI
Remarque : Si vous ne l'avez pas déjà fait, vous devrez créer un compte et configurer la facturation.
-
Définissez la clé pour que tranzlate puisse l'utiliser. Vous pouvez le faire en exécutant :
echo export OPENAI_API_KEY=<votre token> >> ~/.bashrc
ou alternativement, fournir la clé lors de l'exécution de la commande
tranzlate
Ensuite, vous obtiendrez une sortie comme celle-ci, qui vous guide tout au long du processus de traduction d'un catalogue de chaînes :
┌ tranzlate: traduction automatique de chaînes
│
◇ Entrer le fichier d'entrée
│ Localizable.xcstrings
│
◇ Entrer le fichier de sortie
│ Localizable.xcstrings
│
◆ Sélectionnez les langues vers lesquelles traduire.
│ ◻ Arabe
│ ◻ Catalan
│ ◻ Chinois (Simplifié)
│ ◻ Chinois (Traditionnel)
│ ◻ Croate
│ ◼ Tchèque
│ ◼ Danois
│ ◻ Néerlandais
│ ◻ Anglais
│ ◻ Anglais (Australie)
│ ◻ Anglais (Canada)
│ ◻ Anglais (R.U.)
│ ◻ Anglais (U.S.)
│ ◻ Finnois
│ ◻ Français
│ ◻ Français (Canada)
│ ◻ Allemand
│ ◻ Grec
│ ◻ Hébreu
│ ◻ Hindi
│ ◻ Hongrois
│ ◼ Indonésien
│ ◻ Italien
│ ◻ Japonais
│ ◻ Coréen
│ ◻ Malais
│ ◻ Norvégien
│ ◻ Polonais
│ ◼ Portugais (Brésil)
│ ◻ Portugais (Portugal)
│ ◻ Roumain
│ ◻ Russe
│ ◻ Slovaque
│ ◻ Espagnol (Mexique)
│ ◼ Espagnol (Espagne)
│ ◻ Suédois
│ ◻ Thaï
│ ◻ Turc
│ ◼ Ukrainien
└ ◻ Vietnamien
multiple-languages.mov
Parce que ne soutenir qu'une seule langue serait ironique pour un utilitaire de traduction, nous soutenons la modification de votre langue de configuration. Vous pouvez établir votre langue en exécutant :
tranzlate set-language <langue>
Où <langue>
est l'un des termes suivants :
Langue | Clé |
---|---|
Anglais | en |
Chinois Simplifié | zh-Hans |
Chinois Traditionnel | zh-Hant |
Espagnol | es |
Japonais | ja |
Coréen | ko |
Français | fr |
Allemand | de |
Russe | ru |
Ukrainien | uk |
Vietnamien | vi |
Arabe | ar |
Portugais | pt-BR |
Turc | tr |
Par exemple, si vous voulez passer au chinois simplifié, vous pouvez le faire en définissant la valeur de LANGUAGE à zh-Hans :
tranzlate set-language zh-Hans
Cela définira votre langue en chinois simplifié.
Le support pour les traductions en markdown est assuré. Pour entrer en mode markdown, exécutez :
tranzlate markdown
On vous demandera un fichier markdown ou glob à traduire. Les traductions de sortie ajoutent le code ISO de la langue à la fin de chaque nom de fichier. Par exemple, si vous traduisez README.md
en chinois simplifié (zh-Hans), le fichier de sortie sera README.zh-Hans.md
.
┌ tranzlate: traduction automatique de markdown
│
◇ Entrer un fichier markdown ou glob
│ ./README.md
│
◇ Sélectionnez les langues vers lesquelles traduire
│ fi - Finnois, hu - Hongrois, pl - Polonais, ru - Russe
│
◇ Sélectionnez un modèle
│ gpt-3.5-turbo
◆ Traduction de README.md...
Remarque : la traduction en markdown est en version bêta. Merci de signaler tout problème que vous rencontrez.
Certains utilisateurs signalent une erreur 429 de la part d'OpenAI. Ceci est dû à une configuration incorrecte de la facturation ou à une utilisation excessive du quota. Veuillez suivre ce guide pour le corriger.
Vous pouvez activer la facturation à ce lien. Assurez-vous d'ajouter un mode de paiement si vous n'êtes pas sous une bourse active de OpenAI.
Je ne suis pas un expert en langues. Mon aptitude à la traduction se limite au niveau espagnol du collège. Cependant, je crois au logiciel et à son importance. Pour qui le logiciel est développé compte. La localisation n'est ni ne devrait jamais être une réflexion après coup. En utilisant des outils de traduction par IA, on peut parler plus tôt dans le développement du produit de l'impact du logiciel sur différentes communautés, et non plus tard.
Accélérer les conversations sur l'impact du logiciel conduit à un changement significatif avant que les éléments fonctionnels ne soient verrouillés. C'est pourquoi je crois en la puissance des outils de traduction par IA, souvent imparfaits. Ne laissez pas la perfection être l'ennemie du bien.
La facilité de traduction, des catalogues de chaînes, et j'espère de nombreux autres formats de fichiers à venir est la raison pour laquelle j'ai créé tranzlate.
Si vous voulez aider à corriger un bug ou à implémenter une fonctionnalité dans Issues, n'hésitez pas. Le développement avec Swift est quelque chose de nouveau pour moi, donc j'apprécierais les commentaires de la communauté.
Merci à ai-shell pour leur README que j'ai utilisé comme modèle.