tag country
Dans des nombreux messages sur FreeCol il y a
, bien que dans le message base il n'y a marqué que {{Tag:country|%nation%}}
%nation%
. Est-ce que c'est normale ?
Je ne vois pas du tout ton problème : la source de traduction (en anglais) mentionne bel et bien %nation%
comme étant encapsulé dans un {{tag:country| }}
, et parfois aussi on trouve d'autres "tags" de formatage (dans une syntaxe propre à FreeCol, et pas directement dans la syntaxe des modèles ou mots-clés magiques de Mediawiki), comme par exemple pour la capitalisation ou la dérivation des formes au pluriel.
(il peut être parfois nécessaire d'ajouter ou retirer ces tags spéciaux pour certaines traduction, comme par exemple mettre en capitale l'initiale d'un terme venant d'une variable avec {{ucfirst: }}
, quand la traduction demande que ce terme soit placé en début de ligne, ou changer le nombre (singulier/pluriel) ou le cas grammatical (certaines langues) et produire les accords de genre/nombre/cas entre les termes traduits).
FreeCol définit ses tags qui sont à conserver au sein des messages : ce qui est variable et ce qui peut changer dans la traduction est correctement délimité. C'est documenté dans la page de description du projet FreeCol ici sur ce wiki: Translating:FreeCol.
Essayes-tu de comparer à ce qu'affiche au final FreeCol lui-même : il a son propre "moteur" de rendu de ces tags et utilise ses propres règles, et évidemment tu ne voies plus ces tags et juste le texte final formatté avec les variables substituées et les tags évalués par FreeCol (de sorte qu'il ne produit pas seulement du texte non plus mais peut ajouter une mise en forme des styles.
: la source de traduction (en anglais) mentionne bel et bien %nation% comme étant encapsulé dans un {{Tag:country}}
, pas toujours, regarde FreeCol:Model.player.stance.alliance.others/en.
À quoi sert le {{ucfirst:}}
et pourquoi n’est-il pas dans le message original ? User:Urhixidur a ajouté ces balises en 2015 sans donner de justification.
@Thibaut120094: Le ucfirst sert pour mettre la première lettre en majuscule (c'est un mot magique). Par contre {{Tag:country}}
je ne l'ai jamais rencontré.
Je sais mais quel est l’intérêt de le mettre s’il n’est pas dans le message original ?
Tu as lu ci-dessus? Le message original peut l'avoir omis quand ce n'est pas nécessaire en anglais, ni même approprié en milieu de phrase (et même interdit dans certaines autres langues), mais nécessaire dans d'autres langues (comme le français) aux débuts de phrases/paragraphes. Le tag est documenté et utilisable. Les règles de capitalisation sont différentes d'une langue à l'autre.
Je doute que la balise ucfirst soit utile dans {{ucfirst:{{tag:country|%nation%}}}}
— surtout en début de phrase — ou alors il faudrait le documenter, le français est la seule langue où ces balises ucfirst sont présentes, les nations ne commencent pas déjà par une majuscule dans le jeu ?
Parce que le français ajoute un article je pense (à voir dans la source des traductions de noms de pays). En anglais il n'y a souvant pas d'article, ou quand il y en a il peut prendre la majuscule tout le temps (par exemple "The Gambia") ce qui n'est pas admis en français ("la Gambie").
Je ne sais pas comment ils règlent aussi les prépositions ("en", "aux", "de", "de la", "des", etc.) quand elles se combinent au nom (sans aucune règle définie hormis l'usage en français). De même les changements de cas grammatical (notamment dans les langues slaves) et les mutations contextuelles à l'initiale ou au milieu de la première syllabe: un nom de pays dans sa forme isolée ne suffit pas toujours.
Noter que ce jeu est basé avant tout sur un scénario écrit, et donc que la façon dont le texte est construit et écrit est importante : on y voit des phrases descriptives entières et pas juste un tableau de bord synthétique.
Justement ce n'est pas %country% (noms de pays, qui sont passés en anglais avant d'être traduit par le "tag:country") mais directement les noms de joueurs (comme %attacker%) qui sont passés et transcrits tels quels sans modification (il est possible que le code encadre les noms des joueurs déjà dans une balise d'isolation bidirectionnelle, ou entre caractères de contrôle Unicode équivalents, pour éviter un réordonnancement incorrect de la phrase: imagine un des joueurs ou les deux ayant des noms arabes, ou bien l'utilisation du message traduit en arabe avec des noms de joueurs en écriture latine, ça pourrait retourner un rendu incorrect et un quiproquo dans le jeu)
Je ne sais pas si FreeCol a été testé et est supposé être pris en charge dans une traduction arabe ou hébraïque. ou avec des noms de joueurs bidirectionnels
Mais je suppose que c'est aussi ce qui est fait pour les noms de pays et pourquoi un "tag:country" a pu être ajouté dans l'original (et donc aussi les traductions faites ici), pour la mise en forme ou pour ajouter une icône nationale, un drapeau, un blason, et colorer différemment les alliés ou adversaires, les mettre en gras, les surligner....
C'est le genre de choses qui change avec le temps et les signalement d'anomalies aux développeurs du jeu. De plus ce n'est pas nécessairement partout %country% si un message a besoin d'afficher pluseirus noms de pays avec %country1% ou %country2% ou juste %1% et %2% : les noms de cas variables sont à utiliser verbatim et ne se traduisent pas et leur valeur n'est pas nécessairement directement un nom de pays mais pourrait être un identifiant court indépendant de la langue (comme un code ISO 3166 ou l'identifiant d'un autre message traduit ailleurs).