French translation (en français dans le texte)

Discuss clans, events, servers, and more!
User avatar
Tom
Dragoon
Posts: 253
Joined: Tue Jan 15, 2013 3:34 pm UTC
Location: France

Re: French translation (en français dans le texte)

Post by Tom »

Oui on peut, mais le problème du « du » reste entier :confused: .

gillux
Posts: 24
Joined: Mon Dec 10, 2012 12:21 pm UTC

Re: French translation (en français dans le texte)

Post by gillux »

Ouais, les accords sont souvent embêtants dans les traductions logicielles. Dans la librairie tinygettext utilisée dans Unvanquished pour la traduction, il existe un système de contexte. Il est déjà utilisé pour les messages du style « X a tué Y avec un Z ». Ces phrases-là ont des déclinaisons selon le genre grammatical de X (male, female ou neutral). (Oui, un joueur peut choisir son sexe.) On retrouve ensuite le nom du contexte dans Pottle (exemple), ou dans le fichier .po dans les lignes « msgctxt ». Donc, en théorie il « suffit » de modifier légèrement le code source pour apporter les informations de contexte dans les messages pour pouvoir les décliner. Je m’étais penché sur la question il y a quelques temps, mais j’avais buté sur plusieurs problèmes. Attention je vais partir dans les détails techniques.

Déjà, même si on a le genre de X, qu’en est-il du genre de Y et de Z ? Certaines langues pourraient potentiellement en avoir besoin.
Ensuite, comme le genre grammatical des armes et bâtiments varie selon les langues, l’élément de contexte ne peut donc pas être male/female/neutral, il faudrait que ce soit le nom de l’objet lui-même. Ou alors il faudrait avoir pour chaque langue une liste de noms avec leur genre associé. Si on reprend l’exemple de « Press %s to cancel placing the %s\n », on aurait les déclinaisons contextuelles suivantes :
— Appuyez sur %s pour annuler la mise en place de l'%s\n (contexte Acid Tube, Armoury, Egg, Overmind)
— Appuyez sur %s pour annuler la mise en place de la %s\n (contexte Hive, Barricade, Medistation, Machinegun Turret, Telenode)
— Appuyez sur %s pour annuler la mise en place du %s\n (contexte Booster, Defence Computer, Reactor, Repeater, Tesla Generator, Trapper)

On voit qu’il y a en fait deux déclinaisons combinées : masculin/féminin, et selon que la première lettre est une voyelle ou une consonne.
En plus actuellement il faut écrire chacune des déclinaisons. Vous avez peut-être vu que bon nombre des phrases du style « X a tué Y avec Z » ont des déclinaisons identiques. Ça passe encore d’avoir trois phrases pour male/female/neutral, mais ça devient trop lourd pour les noms des bâtiments.

Bon, j’ai peut-être pas tous les cas en tête mais j’imagine que quelque chose dans le genre pourrait fonctionner (sans modifier tinygettext). Pour chaque langue, on fait un fichier de définition de noms, avec pour chaque nom les déclinaisons qui correspondent sous forme de nom de contexte. Par exemple un bête fichier texte avec deux colonnes :

Code: Select all

Acid Tube               Masculin|Élision
Armoury                 Féminin|Élision
Barricade               Féminin
Booster                 Masculin
Defence Computer        Masculin
Egg                     Masculin|Élision
Hive                    Féminin
Medistation             Féminin
Machinegun Turret       Féminin
Overmind                Masculin|Élision
Reactor                 Masculin
Repeater                Masculin
Telenode                Féminin
Tesla Generator         Masculin
Trapper                 Masculin

Ce fichier servirait à deux choses. D’une part générer des fichiers .pot contenant les phrases avec les déclinaisons propres à chaque langues (par exemple l’espagnol aurait la déclinaison Neutro). Et d’autre part permettre à Unvanquished de retrouver le contexte à fournir à tinygettext selon le nom et la langue. On obtiendrait un fichier .po ressemblant à ça :

Code: Select all

msgctxt "Masculin|Élision"
msgid "Press %s to cancel placing the %s\n"
msgstr "Appuyez sur %s pour annuler la mise en place de l'%s\n"

msgctxt "Masculin"
msgid "Press %s to cancel placing the %s\n"
msgstr "Appuyez sur %s pour annuler la mise en place du %s\n"

msgctxt "Féminin|Élision"
msgid "Press %s to cancel placing the %s\n"
msgstr "Appuyez sur %s pour annuler la mise en place de l'%s\n"

msgctxt "Féminin"
msgid "Press %s to cancel placing the %s\n"
msgstr "Appuyez sur %s pour annuler la mise en place de la %s\n"

Bon j’ai pas d’autre exemple en tête mais il est nécessaire de différencier « Masculin|Élision » et « Féminin|Élision » pour le cas où l’article est indéfini (un ou une). Voilà au final j’ai trouvé un semblant de solution rien qu’en écrivant ce post. À soumettre (en anglais) aux développeurs. J’essaierai d’implémenter ça un jour si j’ai le temps, sinon n’hésitez pas si vous savez faire.

User avatar
illwieckz
Project Head
Posts: 718
Joined: Sat Aug 11, 2012 7:22 pm UTC
Location: France
Contact:

Re: French translation (en français dans le texte)

Post by illwieckz »

w00t, désolé d'avoir été si absent, finalement après mon message je n'ai pas trouvé le temps de continuer mon effort de traduction… ni même vraiment de jouer à Unvanquished… :bugeyes:

Je vois que la traduction a sacrément avancé et que des problèmes pertinents sont évoqués (comme la question de l'élision, c'est pas simple). Je vais relire en profondeur ce topic. :grin:

Aussi, quand j'avais commencé à traduire, je m'étais posé diverses questions sur la pertinence des mots à choisir, notamment les mots qui nomment les armes ou leurs actions. Par exemple si on traduit "machinegun" par « mitraillette » et "chaingun" par « mitrailleuse », comment traduire "was machinegunned by" et "was chaingunned by", dans tous les cas ont dit en français « a été mitraillé par », hors c'est intéressant de distinguer ces actions dans le jeu… :eek: Ce sont des questions complexes et je ne me voyais pas faire un choix arbitraire tout seul dans mon coin. Ça m'a un peu bloqué dans mon élan (avant de perdre le temps de m'en occuper). :shy:

gnales
Dretch
Posts: 58
Joined: Sat Oct 06, 2012 1:22 pm UTC

Re: French translation (en français dans le texte)

Post by gnales »

Il me semble que pour pistolet mitrailleur, fusil d'assaut serait plus correct
, même si mitraillette est français.

Last edited by gnales on Tue Oct 29, 2013 9:47 pm UTC, edited 1 time in total.
User avatar
illwieckz
Project Head
Posts: 718
Joined: Sat Aug 11, 2012 7:22 pm UTC
Location: France
Contact:

Re: French translation (en français dans le texte)

Post by illwieckz »

Avec quel adjectif ? j'avoue que j'ai du mal à associer « fusillé » avec le « fusil d'assaut », personnellement j'associe plus l'adjectif « fusillé » avec un fusil non-mitrailleur. Mais ça se défend.

On pourrait donc imaginer dans game/fr.po :

[…]

#: src/gamelogic/cgame/cg_event.c:222
msgctxt "male"
msgid "%s 7was machinegunned by %s%s\n"
msgstr "%s 7a été fusillé par %s%s\n"

#: src/gamelogic/cgame/cg_event.c:222
msgctxt "female"
msgid "%s 7was machinegunned by %s%s\n"
msgstr "%s 7a été fusillée par %s%s\n"

#: src/gamelogic/cgame/cg_event.c:222
msgctxt "neuter"
msgid "%s 7was machinegunned by %s%s\n"
msgstr "%s 7a été fusillé par %s%s\n"

#: src/gamelogic/cgame/cg_event.c:226
msgctxt "male"
msgid "%s 7was chaingunned by %s%s\n"
msgstr "%s 7a été mitraillé par %s%s\n"

#: src/gamelogic/cgame/cg_event.c:226
msgctxt "female"
msgid "%s 7was chaingunned by %s%s\n"
msgstr "%s 7a été mitraillé par %s%s\n"

#: src/gamelogic/cgame/cg_event.c:226
msgctxt "neuter"
msgid "%s 7was chaingunned by %s%s\n"
msgstr "%s 7a été mitraillé par %s%s\n"

[…]

#: src/gamelogic/game/bg_misc.c:2133
msgid "Rifle"
msgstr "Fusil d'assault"

[…]

#: src/gamelogic/game/bg_misc.c:2266
msgid "Chaingun"
msgstr "Fusil mitrailleur"

[…]

Sinon on n'est peut-être pas obligé d'employer un vocabulaire réaliste, on peut utiliser des termes comme « sulfateuse » par exemple, surtout que pour les armes futuristes, il faudra inventer…

Post Reply