← Retour aux issues

Tag "capital" avec plusieurs valeurs à traduire

publié le , mis à jour
Avatar github de kevinvennittikevinvennitti

Le tag capital (ici) peut avoir une valeur admin_level-number :

screencapture-2024-08-10-12 34 29

Dans osmTagLabels.ts, faudrait-il passer le tagName à la fonction tagValueCorrespondance() afin de permettre une traduction spécifique des valeurs en fonction du tagName ?

  1. Avatar github de kevinvennittikevinvennitti

    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))
    }
    

✏️ Participer à la discussion