i18n ou l10n ?

Hello,

à quel moment on parle internationalization (i18n) et de localization (l10n) ?

true question :slight_smile:

honnetement, même si je vois bien une différence semantique (notamment pour les pays multilingue), j’ai l’impression que dans spip on a pris le plis de parler d’i18n et jamais de l10n…

Sauf erreur de ma part, et en simplifiant, i18n serait le service de traduction dans le logicel SPIP et l10n l’adaptation de paramètres tels que le séparateur décimal, la devise, …

Je pense que l’adaptation de la typographie pourrait entrer dans l10n, en étendant le concept à ce qui se fait dans SPIP et pas trop ailleurs.

Et j’oublie certainement des features.

L’API actuelle (disons SPIP4.3 et plus) c’est : les fonctions _T(), _L(), la globale idx_lang, l’idiome <:module:code:> dans le compilo. Quoi d’autres ?

Ah oui je comprend mieux la différence que tu fais.

Pour la partie devise / séparateur décimal etc, il y a le plugin intl qui empaquetage la librairie PHP correspondante (de mémoire, et un jour j’aimerai l’étendre aussi à la partie JS)

Ce n’est pas moi qui la fait :slight_smile: c’est la littérature sur le sujet :wink:

il y a l’extension PHP ext-intl et les polyfills Symfony :stuck_out_tongue:

Et je m’aperçois que nous n’avons jamais vraiment fixé le périmètre d’intervention de la team @architecture … dans mon esprit, c’est spip/* comme la @maintenance et spip-secu …

Sinon ya une page entière de plusieurs chapitres sur le sujet de la relation entre les deux mots, sur Wikipedia :slight_smile:

Internationalization is the process of designing a software application so that it can be adapted to various languages and regions without engineering changes. Localization is the process of adapting internationalized software for a specific region or language by translating text and adding locale-specific components.

Donc si je comprends bien, tout ce qui est code, développement, c’est de l’internationalisation, c’est le fait de concevoir l’architecture pour que ça sache changer de langue ET de pays sans rien changer au code ensuite. La localisation c’est le fait de concrètement traduire (ou ajouter des fichiers de configs, pour quelle format de monnaie etc) pour une langue ou un pays spécifique.

L’internationalisation c’est toute l’API, les fonctions pour appeler les trads, pour formater des nombres, etc. La localisation ce sont les données de traduction et de configuration qui listent quoi renvoyer suivant la langue ou le pays.

Oh bah ça alors ! :smiley:

On peut avoir ta todo @marcimat ?