Format des fichiers de langue

Contents

Modèle général

Chaque entrée du fichier de langue consiste en exactement une ligne.

Une entrée est soit une traduction, un pragma ou un commentaire.

Si vous utilisez l'outil de traduction web, vous ne verrez que les traductions.

L'encodage est UTF-8.

Traductions

Les traductions consistent en une clé et une traduction. Elles sont séparées par deux points (:).

Clés

La clé ne contient que des lettres majuscules, des nombres et le souligné (_). Chaque clé commence par "STR_" suivi d'un ou plus mots bien formés.

STR_MAPSIZE
STR_000F_PASSENGERS
STR_SORT_BY_DATE
STR_0196_SHOW_LAND_OWNERS_ON_MAP

Traductions

En utilisant des accolades {}, des commandes spéciales peuvent être insérées dans les traductions, qui seront substituées soit par strgen ou par la chaîne affichée à l'écran.

Remplacements de caractère
Commande Remplacé par
{} Saut de ligne
{{} Accolade ouvrante
{UPARROW}
{DOWNARROW}
{SMALLUPARROW} Petite flèche vers le haut
{SMALLDOWNARROW} Petite flèche vers le bas
{RIGHTARROW}
{NBSP} Espace insécable
{CENT} ¢
{EURO}
{POUNDSIGN} £
{YENSIGN} ¥
{COPYRIGHT} ©
{REGISTERED} ®
{CHECKMARK}
{CROSS} Grande croix
{TRAIN} Symbole de train
{LORRY} Symbole de camion
{BUS} Symbole de bus
{PLANE} Symbole d'avion
{SHIP} Symbole de bateau
Attribut visuel
Commande Remplacé par
{TINYFONT} texte affiché dans une fonte plus petite
{BIGFONT} texte affiché dans une fonte plus grosse
{SETX nn} texte démarrant en position nn
{SETXY nn mm'} texte démarrant en position nn/mm
{BLUE} texte affiché en bleu
{SILVER} texte affiché en argent
{GOLD} texte affiché en doré
{RED} texte affiché en rouge
{PURPLE} texte affiché en pourpre
{LTBROWN} texte affiché en marron clair
{ORANGE} texte affiché en orange
{GREEN} texte affiché en vert
{YELLOW} texte affiché en jaune
{DKGREEN} texte affiché en vert foncé
{CREAM} texte affiché couleur crème
{BROWN} texte affiché en brun
{WHITE} texte affiché en blanc
{LTBLUE} texte affiché en bleu clair
{GRAY} texte affiché en gris
{DKBLUE} texte affiché en bleu foncé
{BLACK} texte affiché en noir

Le remplacement des paramètres est fait dans le jeu, en complétant les caractères substituables dans les chaînes par des noms, des nombres ou des chaînes.

Remplacement de paramètre
Commande Remplacé par
{COMMA} un nombre avec virgule
{NUM} un nombre signé
{STRING} une chaîne unique
{STRINGn} une chaîne contenant n paramètres (1<=n<=5)
C'est un cas particulier, à n'utiliser que dans english.txt. Dans toute autre langue, {STRING} devrait plutôt être utilisé
{RAW_STRING} à n'utiliser que dans english.txt. Dans d'autres langues, utiliser plutôt {STRING}
{COMPANY} nom de la compagnie
{PLAYERNAME} nom du joueur
{VEHICLE} nom du véhicule
{TOWN} nom de la ville
{STATION} nom de la gare
{WAYPOINT} nom du point de passage
{INDUSTRY} nom de l'industrie (par ex. Mien de charbon de Londres)
{CARGO} cargaison en forme longue: nombre, unité et type (par ex. 12 tonnes d'acier)
{SHORTCARGO} cargaison sous forme courte: uniquement nombre et unité (par ex. 12 tonnes)
{VOLUME} un nombre suivi de litres
{VELOCITY} un nombre avec l'unité de vitesse (par ex. 120 km/h)
{CURRENCY} un nombre suivi du symbole monétaire
{CURRENCY64} un nombre de 64 bits suivi du symbole monétaire
{CURRCOMPACT} un nombre compacté suivi du symbole monétaire
{CURRCOMPACT64} un nombre 64 bits compacté suivi du symbole monétaire
{DATE_TINY} une date au format jj-mm-aaaa (par ex. 25-12-1975)
{DATE_SHORT} une date au format mmmm aaaa (par ex. Décembre 1975)
{DATE_LONG} une date au format jj mmm aaaa (par ex. 12 Déc. 1975)
{STATIONFEATURES} petites icônes des types de véhicule supportés dans une gare donnée
{REV} le numéro de révision de OpenTTD
{SKIP} rien (supprime un paramètre de la liste des paramètres, sans l'imprimer)
{P * * * *} forme plurielle (* remplace toute chaîne qui peut être citée avec le caractère "; il peut y avoir jusqu'à 4 *s)
Voir la liste des types de pluriel
{G ...} *voir ci-dessous*

Modifier l'ordre des mots

Les remplacements de paramètre peuvent être faits aussi de façon intervertible. Cela permet à un paramètre habituellement en position 0 (dont le premier) dans la chaîne traduite d'être en fait utilisé en position 1, donc d'inverser sa place avec la position 1.

Exemple : STR_INDUSTRY_PROD_GOUP.

En anglais, la chaîne s'écrit "{BLACK}{BIGFONT}{STRING} production at {INDUSTRY} increases {COMMA}%!"

En finnois, la même chaîne devient "{BLACK}{BIGFONT}{1:INDUSTRY} tuottaa {0:STRING} {2:COMMA}{NBSP}% entistä enemmän!"

/File/en/Klipper.png
À faire
Terminer et corriger

Cas

Après chaque clé, il peut y avoir un cas de suffixe personnalisé séparé par un point (.). Le cas doit être défini en premier au début du fichier par ##case pragma.

Dans l'exemple suivant du fichier de langue tchèque, vous voyez comment définir les cas. La langue tchèque a 7 cas et il y a un "cas" supplémentaire pour mettre en majuscule le nom de la cargaison dans le dialogue des subventions.

##case nom gen dat acc voc loc ins big
STR_0011_MAIL                      :pošta
STR_0011_MAIL.big                  :Pošta
STR_0011_MAIL.gen                  :pošty

L'utilisation générique des cas est d'ajouter un point et le nom du cas à la commande STRING. Dans le paragraphe "Dotace dopravy {STRING.gen} z{NBSP}{STRING} do {STRING} nebude dále nabízena.", un cas de génitif est nécessaire.

STR_202E_OFFER_OF_SUBSIDY_EXPIRED  :{BLACK}{BIGFONT}Nabídka dotace přepravy vypršela:{}{}Dotace dopravy {STRING.gen} z{NBSP}{STRING} do {STRING} nebude dále nabízena.
STR_2027_FROM_TO                   :{ORANGE}{STRING.big} z {STRING} do {STRING}

Forme plurielle

Introduction

Dans la plupart des langues, les formes singulier et pluriel sont un peu différentes. Chaque mot peut être divisé en deux parties - une partie invariable entre les deux formes, et une seconde partie qui diffère entre les deux. Appelons-les cœur et suffixe.

Prenons l'exemple de la langue française, qui est basique car elle a deux formes: singulier et pluriel.

Il y a "1 train", mais il y a "2 trains".

Maintenant, divisons ce mot en une partie invariable et une qui change:

Écrire la chaîne

Comme dit ci-dessus, il y a deux formes dans la langue française.

La structure de base pour la forme plurielle en français est

cœur{P suffixe1 suffixe2}

où suffixe1 est le suffixe pour le singulier et suffixe2 le suffixe pour le pluriel.

Gardez à l'esprit que les formes plurielles ne fonctionnent que s'il y a le bon paramètre dans la chaîne.

{COMMA} et {NUM}, ainsi que les autres valeurs numériques, fonctionnent bien pour déterminer la forme plurielle.

Faisons une chaîne qui affiche le nombre de lampes d'une pièce. La forme de "lampe" dépendra de la quantité fournie via le paramètre {NUM}.

Exemple

STR_SENTENCE : J'ai {NUM} lampe{P "" s}

Voyez-vous le cœur? Oui, c'est le mot lampe.

Plus loin, vous voyez {P. C'est l'indicateur que les suffixes suivent.

"" signifie qu'il n'y a pas de suffixe. OpenTTD doit le savoir. S'il n'y a pas de suffixe, écrives juste deux guillemets. C'est donc le premier suffixe, qui sera utilisé quand {NUM} vaudra 1

s est le second suffixe. C'est celui qui sera affiché quand {NUM} est plus grand que 1.

Voyons des formes de pluriel plus complexes. Prenons cheval. Sa forme plurielle est chevaux.

Tout d'abord, imaginons la phrase avec différents paramètres.

Quand vous êtes prêts, vous pouvez écrire la chaîne.

STR_SENTENCE : Maman, dans le pré brout{P 0 e ent} {NUM} chev{P al aux}!

Comme vous l'aurez remarqué, le premier {P contient un nombre supplémentaire avant les suffixes. Il est utilisé pour spécifier quel paramètre devra être utilisé pour déterminer la forme plurielle. Quand aucun nombre n'est donné, le paramètre précédent est utilisé, mais dans ce cas, il n'y en a pas, c'est pourquoi nous devons le spécifier.

/File/en/Klipper.png
À faire
Vérifier si c'est juste

Chaîne comme nombre

Si l'argument qui affecte une forme plurielle est donné comme {STRING}, vous devez alors utiliser un paramètre spécial pour {P:

Zone plane autour des industries: {ORANGE}{STRING} case{P 0:1 "" s}

Utilisation dans OpenTTD

Vous comprenez maintenant les bases des formes plurielles. Prenons un exemple de la traduction française Now you understand basics of plural forms. Let's take some example from English translation.

STR_QUANTITY_LIVESTOCK : {COMMA} tête{P "" s} de bétail

Ce texte est affiché dans les gares quand il y a une cargaison de bétail qui attend.

Comme vous pouvez le voir, le paramètre {COMMA} est fourni. Grâce au paramètre, nous pouvons changer la forme de tête. Voyons comment la chaîne changera quand nous fournirons un paramètre.

Regardons alors une chaîne sans paramètre fourni.

STR_WAGONS : Wagons

Aucune forme plurielle n'est applicable ici. Wagon{P "" s} ne fonctionnera pas.

Pourquoi? Parce qu'aucun paramètre n'est fourni.

Vous pouvez juste laisser cette chaîne telle quelle.

Autres types de pluriel

Trouvez votre langue dans la table Liste des types de pluriel. Les langues sont regroupées selon le comportement des mots avce des quantités différentes.

Les suffixes sont ordonnés de façon ascendante, avec tout autre nombre à la fin:

Prenons le polonais et inventons une chaîne de test

STR_CARS : {NUM} aut{P o a ""}

Regardons alors la descrition ci-dessus, et devinons à quoi ressemblera la chaîne pour {NUM} égal à 1, 2, 5, 13, 23, 38?

Genres

Introduction

Certaines langues ont des genres. Chaque nom (comme usine, calculateur, dragon) a son genre. Les adjectifs (vert, nouveau, beau) et parfois les verbes (tomber, manger) sont affectés par le genre.

Tout d'abord, voyons les genres de votre langue. Ouvrez le WebTranslator3, allez dans la page "Gestion" de votre langue et vérifiez la liste déroulante des genres. S'il n'y en a pas, appuyez sur le bouton "+" et fournissez les formes courtes de vos genres (m f n pour masculin féminin neutre est correct).

Une fois ceci fait, pensez aux chaînes dans OpenTTD qui ont besoin du genre. Les rapports de journaux qu'une nouvelle industrie a été fondée sont corrects, car industrie est un nom et certains mots dans la chaîne peuvent changer selon le genre.

Écrire la chaîne

Pour fixer le genre de la chaîne, insérez la marque {G=*} avant le premier mot de la chaîne, où * est le nom du genre donné auparavant.

Dans la chaîne qui peut changer selon le genre, utilisez la structure {G suffixe1 suffixe2 suffixe3}, où chaque suffixe correspond au bon genre (l'ordre des genres est celui de la section "Gestion" de votre langue, dans la liste déroulante)

Exemple

J'utiliserai la langue latine dans les exemples, car elle est bien connue et utilise, bien sûr, les genres.

La langue latine a trois genres, que nous appellerons m, f et n.

Trouvons quelques noms que nous utiliserons dans les exemples.

Prenons quelques adjectifs et trouvons leur cœur et leurs suffixes:

magnus, magna, magnum - large (masculin, féminin, neutre)

Comme vous le voyez, magn est le cœur, et les suffixes sont us, a et um respectivement, pour les genres masculin, féminin et neutre.

Et voici comment fonctionne la chaîne exemple:

STR_WELL : {G=m}Puteus
STR_FACTORY : {G=f}Officina
STR_SQUARE : {G=n}Forum
STR_IS_BIG : {STRING} magn{G us a um} est

Pouvez-vous imaginer à quoi ressemblera le résultat? Voici la réponse:

De nouveau, comme avec les formes plurielles, s'il n'y a pas de suffixe, écrivez "". Utilisez toujours autant de suffixes qu'il y a de genres.

Utilisation avancée

La marque {G...} est basée sur le genre de la {STRING} après la marque. Cependant, si vous devez changer le suffixe d'un mot qui est avant {STRING} (avant la marque), vous devez écrire l'ID de la chaîne dont vous voulez retrouver le genre. Cela peut sembler lourd, donc jetons un œil à un exemple:

{BLACK}{BIGFONT}Now{G y a e} {STRING} został{G "" a o} posadzon{G y a e} blisko {TOWN}!

Le deuxième et le troisième {G...} ne marcheront pas, car il n'y a pas de {STRING} après eux pour obtenir le genre.

Nous voulons retrouver le genre de la première (et seule) marque {STRING}. La première marque a ID=0, la deuxième ID=1, et ainsi de suite. Voici comment faire cela:

{BLACK}{BIGFONT}Now{G y a e} {STRING} został{G 0 "" a o} posadzon{G 0 y a e} blisko {TOWN}!

Ajouter les IDs résout le problème. La chaîne fonctionne comme attendu.

Et s'il y a plusieurs {STRING}s? (

/File/en/Klipper.png
À faire
Je ne suis pas sûr; à vérifier

) Dans l'exemple suivant, nous utilisons deux genres: masculin et féminin.

M{G onsieur adame} {STRING} est choqué{G 0 "" e} par s{G 0 on a} petit{G 2 "" e}-{G 2 fils fille} qui a insulté m{G onsieur adame} {STRING} hier. Le nom de c{G elui-ci elle-ci} est {STRING}

Maintenant, je vais expliquer pourquoi certains {G...} ont des nombres et d'autres pas:

/File/en/Klipper.png
À faire
Cette section peut être lourde; vous pouvez l'améliorer

Utilisation dans OpenTTD

Oui,

/File/en/Klipper.png
À faire
La personne ayant ajouté ce modèle n'a pas spécifier ce qui erstait à faire; il devrait donc être supprimé ou mis à jour avec l'action appropriée.

à écrire bientôt.

Pragmas

Les pragmas commencent par deux dièses (#).

Pragmas
Nom Fonction
name nom Nom de la langue en anglais
ownname nom Nom de la langue dans sa propre langue
isocode code Code ISO pour la langue (par ex. fr)
plural nombre Type des formes plurielles
gender jusqu'à 8 noms de genre Genres définis
case jusqu'à 50 noms de cas Cas définis
id nombre_hexa Le prochain id de chaîne démarre à nombre_hexa

Liste des types de pluriel
Num. Description

Utilisé pour
0 Deux formes, singulier utilisé pour un seulement
Danois, Hollandais, Anglais, Allemand, Norvégien, Suédois, Estonien, Finnois, Grec, Hébreu, Italien, Portugais, Espagnol, Espéranto
1 Seulement une forme
Hongrois, Japonais, Coréen, Turc
2 Deux formes, singulier utilisé pour zéro et un
Français, Portugais brésilien
3 Trois formes, cas spécial du zéro
Letton
4 Trois formes, cas spécial pour un et deux
Gaélique (Irlandais)
5 Trois formes, cas spécial pour les nombres finissant par 1[2-9]
Lituanien
6 Trois formes, cas spécial pour les nombres finissant par 1 et 2, 3, 4, sauf ceux finissant en 1[1-4]
Croate, Tchèque, Russe, Slovaque, Ukrainien
7 Trois formes, cas spécial pour un et les nombres finissant par 2, 3 ou 4, sauf ceux finissant par 1[2-4]
Polonais
8 Quatre formes, cas spéciaux pour un et tous les nombres se terminant en 02, 03 ou 04
Slovène
##name English
##id 0x1000

Commentaires

Les commentaires commencent par un ou plus que deux dièses (#) ou par un point-virgule (;). Les lignes vides sont également ignorées.

# Ignoré
#### Ignore cela
;et cela aussi