Internationalisations

API Web 2D en Javascript

L'internationalisation de la visualisation repose sur la mise en oeuvre par OpenLayers du support des langues. Ce support utilise la langue d'installation du butineur Web demandant l'affichage des cartes (Jetez un oeil à l'en-tête User-Agent).

Par défaut, la visualisation affiche dans cette langue d'installation si elle existe dans la bibliothèque OpenLayers et sa surcouche Geoportal. Les langues couramment supportées sont :

  • le français (code fr).
  • l'anglais (code en).
  • l'allemand (code de).
  • l'espagnol (code es).
  • l'italien (code it).

Si la langue d'installation n'est pas connue, alors OpenLayers utilise l'anglais.

Le webmestre n'a donc rien à changer pour obtenir une interface de visualisation qui s'adapte à la langue de l'internaute.

Assignation de la langue

Il est possible de forcer la langue d'affichage pour ne pas dépendre de la langue d'installation du butineur de l'internaute :

OpenLayers.Lang.setCode('fr');

Cet exemple force l'utilisation du français comme langue d'affichage, quelque soit la langue d'installation du butineur Web.

Internationalisation des cartes personnelles

Lors de l'ajout d'une carte personnelle via addLayer(), il est possible d'ajouter les éléments de traduction au dictionnaire de l'interface de visualisation :

// add translations
Geoportal.Lang.add(
    {
        'cartorisque.wms.name':
            {
                'fr':"Cartorisque",
                'en':"Avalanches",
                'de':"Lawinen",
                'es':"Aludes",
                'it':"Valanghe"
            },
        'shom.kml.name':
            {
                'fr':"Marées",
                'en':"Tides",
                'de':"Gezeiten",
                'es':"Mareas",
                'it':"Maree"
            }
    }
);
myMap.addLayer("WMS","cartorisque.wms.name",url,params,options);
myMap.addLayer("KML","shom.kml.name",url,params);

Cet exemple ajoute les traductions en français, anglais, allemand, espagnol et italien des noms des couches Cartorisque (MEEDDAT) et Prévisions de Marées (SHOM).

Si une traduction n'existe pas, alors OpenLayers utilise le code non traduit à la place.

Il est important de noter que la page HTML doit contenir la déclaration d'encodage UTF-8 et doit donc être encodée selon ce jeu de caractères pour avoir un affichage des caractères correct :

<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>