ManuceTraduire un fichierTraduire un fichier PO (gettext) en russe

Traduire un fichier PO (gettext) en russe

Déposez votre catalogue .po ou votre modèle .pot : Manuce le rend en russe dans le même format, avec autant de <code>msgstr[n]</code> que le russe en demande et l'en-tête <code>Plural-Forms</code> posé. Les variables printf sont contrôlées, et un rapport indique les chaînes traduites et celles laissées telles quelles.

Déposer mon fichier Voir les tarifs

Combien ça coûte

Pour un fichier PO (gettext) d'environ 2 500 mots de valeurs, vers le russe :

Essentiel
19 €

Comprendre, usage interne.

Professionnel
57 €

Prêt à transmettre, par le spécialiste technique.

Premium
110 €

Relecture croisée. Pour ce qui engage.

Prix pour une langue, mise en page d'origine comprise. TVA non applicable, article 293 B du CGI. Le devis exact, calculé sur le nombre de mots de votre fichier, s'affiche avant paiement.

Ce que le russe change dans un catalogue gettext

Le russe s'écrit en cyrillique, se lit de gauche à droite et occupe en général plus de place que l'anglais : Save devient Сохранить, Settings devient Настройки. Un bouton calibré pour quatre lettres latines risque de couper le texte.

  • Les pluriels : la forme du nom dépend de la terminaison du nombre. On écrit 1 файл, 2 файла, 5 файлов, mais 21 файл et 11 файлов. Une chaîne unique « %d fichier(s) » ne fonctionne pas.
  • Les cas et le genre : un %s inséré dans une phrase reste au nominatif. Une tournure comme Удалено: %s (« Supprimé : %s ») évite d'accorder le participe avec un nom qu'on ne connaît pas à l'avance.
  • La typographie : guillemets « ёлочки », tiret cadratin, et aucune espace avant les deux-points ou le point d'interrogation, contrairement au français.

Enfin, l'affichage : une police d'interface sans glyphes cyrilliques montre des carrés à la place du texte. Ce n'est pas le fichier PO qui le corrige, mais la police choisie dans l'application.

Pluriels russes : msgid_plural, msgstr[n] et Plural-Forms

Pour une entrée avec msgid_plural, chaque forme plurielle a sa propre ligne msgstr[n]. Avec la convention gettext usuelle pour le russe, cela donne :

  • msgstr[0] "%d файл" pour 1, 21, 101…
  • msgstr[1] "%d файла" pour 2 à 4, 22 à 24…
  • msgstr[2] "%d файлов" pour 0, 5 à 20, 25…

Le référentiel CLDR décrit quatre catégories pour le russe (one, few, many, other) ; la quatrième sert aux nombres décimaux (1,5 файла). Selon les outils, l'en-tête déclare donc trois ou quatre formes. Manuce fait correspondre le nombre de msgstr[n] à la langue cible et, si vous envoyez un .pot, renvoie un .po avec les en-têtes Language et Plural-Forms posés.

Vérifiez que cet en-tête correspond à ce qu'attend votre chaîne d'outils, puis compilez avec msgfmt --check : la commande signale un nombre de formes incohérent ou une variable manquante.

Registre et conventions d'une interface en russe

Une interface russe vouvoie généralement l'utilisateur (вы), avec une minuscule dans les écrans et une majuscule (Вы) plutôt réservée aux courriers. Les boutons emploient souvent l'infinitif : Сохранить, Отменить, Удалить. Regardez l'extrait gratuit pour vérifier que ce registre convient à votre produit.

Les chaînes courtes sont les plus ambiguës : Open peut être un verbe (Открыть) ou un état (Открыт, Открыто selon le genre). Un msgctxt "button" ou msgctxt "status" lève l'ambiguïté ; Manuce le conserve et s'en sert pour traduire.

Les formats de date et les nombres ne sont pas traduits dans le fichier. En russe, la date s'écrit plutôt 31.12.2024 et les nombres 1 234,5 (espace pour les milliers, virgule décimale) : c'est à votre code de les formater selon la locale ru.

Ce que Manuce rend, et ce qu'il ne fait pas

Vous recevez le même fichier, prêt à remettre dans le projet : indentation, ordre des entrées, guillemets, commentaires, fins de ligne, encodage et BOM conservés. Seules les valeurs changent.

  • msgctxt, msgid_plural et commentaires #., #:, #, restent en place.
  • Les variables %s, %d, %1$s sont vérifiées ; chaque valeur traduite est comparée à la source (variables, balises). En cas d'écart persistant, la valeur source est gardée et le rapport le dit.
  • Clés, valeurs vides, URL, adresses email, nombres, couleurs, formats de date, identifiants et éléments marqués non traduisibles ne sont pas traduits.
  • Un rapport liste les chaînes traduites et celles laissées telles quelles, avec la raison.

Manuce ne convertit pas l'encodage : un fichier déclaré en ISO-8859-1 ne peut pas contenir de cyrillique. Il ne réécrit pas non plus vos chaînes sources : une phrase découpée en morceaux concaténés restera découpée, alors que le russe a souvent besoin de la phrase entière pour accorder. Il ne reçoit pas de glossaire. Le prix porte sur les mots des valeurs, avec un coefficient ×1.25 pour le russe.

Préparer le fichier et vérifier le résultat

  1. Assurez-vous que l'en-tête contient Content-Type: text/plain; charset=UTF-8 et que le fichier est réellement enregistré en UTF-8.
  2. Ajoutez un msgctxt aux chaînes d'un ou deux mots qui servent à plusieurs endroits.
  3. Expliquez les variables dans un commentaire, par exemple #. %s = nom du dossier : le traducteur sait alors si la phrase doit s'accorder.
  4. Préférez %1$s et %2$s quand une phrase contient deux variables : l'ordre des mots russe peut les inverser.

Au retour, lisez le rapport, lancez msgfmt --check, puis testez l'interface avec 1, 2, 5, 11, 21 et 101 éléments pour voir chaque forme plurielle. Contrôlez aussi les libellés longs dans les boutons et les menus, et les noms de marque à garder tels quels : vérifiez-les dans l'extrait gratuit, puis dans la traduction.

En pratique

  1. Vérifiez que le .po ou le .pot est en UTF-8 et que l'en-tête le déclare.
  2. Déposez le fichier : le devis s'affiche, calculé sur les mots des valeurs.
  3. Lisez l'extrait gratuit en russe (registre, termes à garder) avant de payer.
  4. Récupérez le .po russe et le rapport, puis lancez msgfmt --check.
  5. Testez l'interface avec 1, 2, 5, 11 et 21 éléments et une police cyrillique.

Questions fréquentes

Combien de formes plurielles le russe demande-t-il dans un fichier PO ?

La convention gettext usuelle en compte trois (1 файл, 2 файла, 5 файлов) ; le référentiel CLDR en décrit quatre, la dernière servant aux décimaux. Manuce fait correspondre le nombre de msgstr[n] à la langue cible. Vérifiez que l'en-tête Plural-Forms correspond à ce qu'attend votre outil, puis compilez avec msgfmt --check.

Je n'ai qu'un modèle .pot, est-ce suffisant ?

Oui. Le .pot revient sous forme de .po pour le russe, avec les en-têtes Language et Plural-Forms posés. Les commentaires et contextes du modèle sont conservés.

Mon fichier est encodé en ISO-8859-1, que va-t-il se passer ?

Manuce conserve l'encodage du fichier, or le Latin-1 ne contient pas de caractères cyrilliques. Convertissez le fichier en UTF-8 et mettez à jour la déclaration charset de l'en-tête avant de le déposer.

Et si une variable %s ou %d manque dans la traduction ?

Chaque valeur traduite est comparée à la source, variables et balises comprises. Si l'écart persiste, la valeur source est conservée pour ne pas casser l'application, et le rapport signale la chaîne concernée.

Puis-je imposer ma terminologie ou garder un nom de produit en anglais ?

Manuce ne reçoit ni glossaire ni mémoire de traduction. Pour un terme à garder tel quel, vérifiez l'extrait gratuit avant de payer, puis la traduction livrée. Les clés, URL et identifiants, eux, ne sont jamais traduits.

Le spécialiste qui s’en charge

Ce sujet est confié à Dédale, le spécialiste technique. Voir comment il travaille.

Testez sur votre fichier, gratuitement

Un extrait de votre fichier traduit au niveau choisi, avant tout paiement. Vous jugez, puis vous décidez.

Déposer mon fichier