cartes
cartes copied to clipboard
Tag "capital" avec plusieurs valeurs à traduire
Le tag capital (ici) peut avoir une valeur admin_level-number :
Dans osmTagLabels.ts, faudrait-il passer le tagName à la fonction tagValueCorrespondance() afin de permettre une traduction spécifique des valeurs en fonction du tagName ?
Pour info, j'ai modifié la fonction tagValueCorrespondance() dans mon fork pour avoir une liste des traductions spécifiques (lorsqu'une valeur peut se traduire différemment en fonction du contexte/tagName) et une liste de fonctions de formattage pour transformer la valeur d'une clé (par exemple : ajouter un suffixe, mieux afficher une liste, etc) :
export const tagValueCorrespondance = (key: string, tagName: string) => {
const translations = {
children: 'Enfant',
only: 'Uniquement',
subway: 'Métro',
metro: 'Métro',
}
const specificTranslations = {
'seamark:type': {
'harbour': 'Port',
},
'type:RATP': {
'rer': 'RER',
}
}
const formats = {
'route_ref': (v) => v.split(';').join(', '),
'Population': (v) => v + ' habitants',
}
return formats[tagName]
? formats[tagName](key)
: (
specificTranslations[tagName]
? (specificTranslations[tagName][key] ?? (translations[key] ?? key))
: (translations[key] ?? key))
}