doc/widget-api.fr.md
author veltr
Fri, 29 Jun 2012 16:22:52 +0200
branchnew-model
changeset 923 b3ee7d1b472a
parent 912 522a20306a55
child 947 ec4e9ddf9fba
permissions -rw-r--r--
UI improvements
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
912
522a20306a55 Documentation: Integration and widget API
veltr
parents:
diff changeset
     1
# API de programmation de widgets #
522a20306a55 Documentation: Integration and widget API
veltr
parents:
diff changeset
     2
522a20306a55 Documentation: Integration and widget API
veltr
parents:
diff changeset
     3
ATTENTION !
522a20306a55 Documentation: Integration and widget API
veltr
parents:
diff changeset
     4
Cette documentation se réfère à la v.3 du Metadataplayer, actuellement disponible dans la branche **new-model** du repository
522a20306a55 Documentation: Integration and widget API
veltr
parents:
diff changeset
     5
http://www.iri.centrepompidou.fr/dev/hg/metadataplayer
522a20306a55 Documentation: Integration and widget API
veltr
parents:
diff changeset
     6
522a20306a55 Documentation: Integration and widget API
veltr
parents:
diff changeset
     7
## Types et fichiers ##
522a20306a55 Documentation: Integration and widget API
veltr
parents:
diff changeset
     8
522a20306a55 Documentation: Integration and widget API
veltr
parents:
diff changeset
     9
Les widgets sont créés au moment de l’instanciation du Metadataplayer, en lisant la propriété *gui.widgets* des paramètres de configuration.
522a20306a55 Documentation: Integration and widget API
veltr
parents:
diff changeset
    10
522a20306a55 Documentation: Integration and widget API
veltr
parents:
diff changeset
    11
Exemple:
522a20306a55 Documentation: Integration and widget API
veltr
parents:
diff changeset
    12
522a20306a55 Documentation: Integration and widget API
veltr
parents:
diff changeset
    13
    var monPlayer = new IriSP.Metadataplayer({
522a20306a55 Documentation: Integration and widget API
veltr
parents:
diff changeset
    14
        player: {...},
522a20306a55 Documentation: Integration and widget API
veltr
parents:
diff changeset
    15
        gui: {
522a20306a55 Documentation: Integration and widget API
veltr
parents:
diff changeset
    16
            container: ...,
522a20306a55 Documentation: Integration and widget API
veltr
parents:
diff changeset
    17
            widgets: [
522a20306a55 Documentation: Integration and widget API
veltr
parents:
diff changeset
    18
                {
522a20306a55 Documentation: Integration and widget API
veltr
parents:
diff changeset
    19
                    type: "Slider"
522a20306a55 Documentation: Integration and widget API
veltr
parents:
diff changeset
    20
                },
522a20306a55 Documentation: Integration and widget API
veltr
parents:
diff changeset
    21
                {
522a20306a55 Documentation: Integration and widget API
veltr
parents:
diff changeset
    22
                    type: "Controller"
522a20306a55 Documentation: Integration and widget API
veltr
parents:
diff changeset
    23
                },
522a20306a55 Documentation: Integration and widget API
veltr
parents:
diff changeset
    24
                {
522a20306a55 Documentation: Integration and widget API
veltr
parents:
diff changeset
    25
                    type: "MonWidget",
522a20306a55 Documentation: Integration and widget API
veltr
parents:
diff changeset
    26
                    option: "valeur"
522a20306a55 Documentation: Integration and widget API
veltr
parents:
diff changeset
    27
                },
522a20306a55 Documentation: Integration and widget API
veltr
parents:
diff changeset
    28
                ...
522a20306a55 Documentation: Integration and widget API
veltr
parents:
diff changeset
    29
            ]
522a20306a55 Documentation: Integration and widget API
veltr
parents:
diff changeset
    30
        }
522a20306a55 Documentation: Integration and widget API
veltr
parents:
diff changeset
    31
    });
522a20306a55 Documentation: Integration and widget API
veltr
parents:
diff changeset
    32
522a20306a55 Documentation: Integration and widget API
veltr
parents:
diff changeset
    33
Le *type* du widget détermine quels fichiers, javascript et CSS, seront appelés et quelle classe d'objet sera instanciée.
522a20306a55 Documentation: Integration and widget API
veltr
parents:
diff changeset
    34
522a20306a55 Documentation: Integration and widget API
veltr
parents:
diff changeset
    35
Par exemple, pour le *type* **MonWidget**, seront appelés **MonWidget.js**, **MonWidget.css** et l’initialisation du widget se fera en appelant la classe **IriSP.Widgets.MonWidget**
522a20306a55 Documentation: Integration and widget API
veltr
parents:
diff changeset
    36
522a20306a55 Documentation: Integration and widget API
veltr
parents:
diff changeset
    37
Le fichier **MonWidget.js** doit donc contenir une implémentation de **IriSP.Widgets.MonWidget**
522a20306a55 Documentation: Integration and widget API
veltr
parents:
diff changeset
    38
522a20306a55 Documentation: Integration and widget API
veltr
parents:
diff changeset
    39
## Implémentation d’une classe de widget ##
522a20306a55 Documentation: Integration and widget API
veltr
parents:
diff changeset
    40
522a20306a55 Documentation: Integration and widget API
veltr
parents:
diff changeset
    41
La classe de Widget doit hériter de IriSP.Widgets.Widget. Le code permettant l’héritage est le suivant:
522a20306a55 Documentation: Integration and widget API
veltr
parents:
diff changeset
    42
522a20306a55 Documentation: Integration and widget API
veltr
parents:
diff changeset
    43
    IriSP.Widgets.MonWidget = function(player, config) {
522a20306a55 Documentation: Integration and widget API
veltr
parents:
diff changeset
    44
        IriSP.Widgets.Widget.call(this, player, config);
522a20306a55 Documentation: Integration and widget API
veltr
parents:
diff changeset
    45
    }
522a20306a55 Documentation: Integration and widget API
veltr
parents:
diff changeset
    46
    
522a20306a55 Documentation: Integration and widget API
veltr
parents:
diff changeset
    47
    IriSP.Widgets.MonWidget.prototype = new IriSP.Widgets.Widget();
522a20306a55 Documentation: Integration and widget API
veltr
parents:
diff changeset
    48
522a20306a55 Documentation: Integration and widget API
veltr
parents:
diff changeset
    49
### Paramètres d’appel de l’objet Widget ###
522a20306a55 Documentation: Integration and widget API
veltr
parents:
diff changeset
    50
522a20306a55 Documentation: Integration and widget API
veltr
parents:
diff changeset
    51
Le paramètre **player** correspond à l’objet IriSP.Metadataplayer qui a appelé le widget.
522a20306a55 Documentation: Integration and widget API
veltr
parents:
diff changeset
    52
522a20306a55 Documentation: Integration and widget API
veltr
parents:
diff changeset
    53
Il sera ensuite accessible dans les fonctions du widget par:
522a20306a55 Documentation: Integration and widget API
veltr
parents:
diff changeset
    54
522a20306a55 Documentation: Integration and widget API
veltr
parents:
diff changeset
    55
    this.player
522a20306a55 Documentation: Integration and widget API
veltr
parents:
diff changeset
    56
522a20306a55 Documentation: Integration and widget API
veltr
parents:
diff changeset
    57
Le paramètre **config** correspond aux paramètres de configuration du widget. Dans notre exemple, il s’agit d’un objet contenant:
522a20306a55 Documentation: Integration and widget API
veltr
parents:
diff changeset
    58
522a20306a55 Documentation: Integration and widget API
veltr
parents:
diff changeset
    59
    {
522a20306a55 Documentation: Integration and widget API
veltr
parents:
diff changeset
    60
        type: "MonWidget",
522a20306a55 Documentation: Integration and widget API
veltr
parents:
diff changeset
    61
        option: "valeur de l’option"
522a20306a55 Documentation: Integration and widget API
veltr
parents:
diff changeset
    62
    }
522a20306a55 Documentation: Integration and widget API
veltr
parents:
diff changeset
    63
522a20306a55 Documentation: Integration and widget API
veltr
parents:
diff changeset
    64
Les options de configuration sont recopiées dans les propriétés de l’objet widget:
522a20306a55 Documentation: Integration and widget API
veltr
parents:
diff changeset
    65
522a20306a55 Documentation: Integration and widget API
veltr
parents:
diff changeset
    66
    this.type    => "MonWidget"
522a20306a55 Documentation: Integration and widget API
veltr
parents:
diff changeset
    67
    this.option  => "valeur de l’option"
522a20306a55 Documentation: Integration and widget API
veltr
parents:
diff changeset
    68
522a20306a55 Documentation: Integration and widget API
veltr
parents:
diff changeset
    69
### Propriétés accessibles par le widget ###
522a20306a55 Documentation: Integration and widget API
veltr
parents:
diff changeset
    70
522a20306a55 Documentation: Integration and widget API
veltr
parents:
diff changeset
    71
#### Popcorn ####
522a20306a55 Documentation: Integration and widget API
veltr
parents:
diff changeset
    72
522a20306a55 Documentation: Integration and widget API
veltr
parents:
diff changeset
    73
Les fonctions de gestion de la lecture vidéo sont accessibles par la propriété **popcorn** du Metadataplayer.
522a20306a55 Documentation: Integration and widget API
veltr
parents:
diff changeset
    74
522a20306a55 Documentation: Integration and widget API
veltr
parents:
diff changeset
    75
Par exemple:
522a20306a55 Documentation: Integration and widget API
veltr
parents:
diff changeset
    76
522a20306a55 Documentation: Integration and widget API
veltr
parents:
diff changeset
    77
    this.player.popcorn.trigger("Evenement"); => déclenche un événement Popcorn de type "Evenement"
522a20306a55 Documentation: Integration and widget API
veltr
parents:
diff changeset
    78
    this.player.popcorn.play();               => met le player en lecture
522a20306a55 Documentation: Integration and widget API
veltr
parents:
diff changeset
    79
    this.player.popcorn.currentTime()         => obtient le timecode courant, en secondes
522a20306a55 Documentation: Integration and widget API
veltr
parents:
diff changeset
    80
522a20306a55 Documentation: Integration and widget API
veltr
parents:
diff changeset
    81
#### Source de métadonnées ####
522a20306a55 Documentation: Integration and widget API
veltr
parents:
diff changeset
    82
522a20306a55 Documentation: Integration and widget API
veltr
parents:
diff changeset
    83
La source de métadonnées est accessible par la propriété **source** du Widget.
522a20306a55 Documentation: Integration and widget API
veltr
parents:
diff changeset
    84
522a20306a55 Documentation: Integration and widget API
veltr
parents:
diff changeset
    85
Par exemple:
522a20306a55 Documentation: Integration and widget API
veltr
parents:
diff changeset
    86
522a20306a55 Documentation: Integration and widget API
veltr
parents:
diff changeset
    87
    this.source.getAnnotations();  => obtient la liste des annotations
522a20306a55 Documentation: Integration and widget API
veltr
parents:
diff changeset
    88
    this.source.getDuration();     => obtient la durée du média en cours, en millisecondes
522a20306a55 Documentation: Integration and widget API
veltr
parents:
diff changeset
    89
522a20306a55 Documentation: Integration and widget API
veltr
parents:
diff changeset
    90
#### Sélecteur jQuery ####
522a20306a55 Documentation: Integration and widget API
veltr
parents:
diff changeset
    91
522a20306a55 Documentation: Integration and widget API
veltr
parents:
diff changeset
    92
Le contenu du widget est géré par la bibliothèque jQuery. Pour accéder à ce contenu, il suffit d’appeller la propriété **$** du widget
522a20306a55 Documentation: Integration and widget API
veltr
parents:
diff changeset
    93
522a20306a55 Documentation: Integration and widget API
veltr
parents:
diff changeset
    94
Par exemple:
522a20306a55 Documentation: Integration and widget API
veltr
parents:
diff changeset
    95
522a20306a55 Documentation: Integration and widget API
veltr
parents:
diff changeset
    96
    this.$.html();                         => renvoie le code HTML contenu dans le widget.
522a20306a55 Documentation: Integration and widget API
veltr
parents:
diff changeset
    97
    this.$.find("p").html("Hello, world")  => écrit "Hello, world" dans le(s) élément(s) <P> du widget.
522a20306a55 Documentation: Integration and widget API
veltr
parents:
diff changeset
    98
522a20306a55 Documentation: Integration and widget API
veltr
parents:
diff changeset
    99
### Fonctions facilitatrices du widget ###
522a20306a55 Documentation: Integration and widget API
veltr
parents:
diff changeset
   100
522a20306a55 Documentation: Integration and widget API
veltr
parents:
diff changeset
   101
Quelques fonctions ont été rajoutées pour faciliter quelques tâches courantes:
522a20306a55 Documentation: Integration and widget API
veltr
parents:
diff changeset
   102
522a20306a55 Documentation: Integration and widget API
veltr
parents:
diff changeset
   103
#### getWidgetAnnotations ####
522a20306a55 Documentation: Integration and widget API
veltr
parents:
diff changeset
   104
522a20306a55 Documentation: Integration and widget API
veltr
parents:
diff changeset
   105
Retourne la liste des annotations selon la valeur de la propriété **annotation\_type** du widget:
522a20306a55 Documentation: Integration and widget API
veltr
parents:
diff changeset
   106
    - Chaîne de caractères: prend en compte les types d’annotations dont le titre contient la chaîne. Exemple: "chap" permet notamment d’afficher les annotations dans le type d’annotation "Chapitrage"
522a20306a55 Documentation: Integration and widget API
veltr
parents:
diff changeset
   107
    - Tableau de chaînes: pour prendre en compte plusieurs types d’annotations
522a20306a55 Documentation: Integration and widget API
veltr
parents:
diff changeset
   108
    - false: pour prendre en compte toutes les annotations du projet
522a20306a55 Documentation: Integration and widget API
veltr
parents:
diff changeset
   109
    
522a20306a55 Documentation: Integration and widget API
veltr
parents:
diff changeset
   110
    this.getWidgetAnnotations();
522a20306a55 Documentation: Integration and widget API
veltr
parents:
diff changeset
   111
522a20306a55 Documentation: Integration and widget API
veltr
parents:
diff changeset
   112
#### functionWrapper ####
522a20306a55 Documentation: Integration and widget API
veltr
parents:
diff changeset
   113
522a20306a55 Documentation: Integration and widget API
veltr
parents:
diff changeset
   114
Gère l’accès au fonctions du widget dans des callbacks. Ceci sert à pallier au fait qu’en Javascript, appeler directement une fonction dans un callback ne l’applique pas à l’objet dans lequel elle a été appelée.
522a20306a55 Documentation: Integration and widget API
veltr
parents:
diff changeset
   115
522a20306a55 Documentation: Integration and widget API
veltr
parents:
diff changeset
   116
**functionWrapper** demande un argument, une chaîne qui est le nom de la fonction à appeler.
522a20306a55 Documentation: Integration and widget API
veltr
parents:
diff changeset
   117
522a20306a55 Documentation: Integration and widget API
veltr
parents:
diff changeset
   118
Par exemple:
522a20306a55 Documentation: Integration and widget API
veltr
parents:
diff changeset
   119
522a20306a55 Documentation: Integration and widget API
veltr
parents:
diff changeset
   120
    this.$.click(this.functionWrapper("onClick"));  => Appellera this.onClick() lors d’un click sur le widget
522a20306a55 Documentation: Integration and widget API
veltr
parents:
diff changeset
   121
522a20306a55 Documentation: Integration and widget API
veltr
parents:
diff changeset
   122
#### bindPopcorn ####
522a20306a55 Documentation: Integration and widget API
veltr
parents:
diff changeset
   123
522a20306a55 Documentation: Integration and widget API
veltr
parents:
diff changeset
   124
Attache un événement *Popcorn* à une fonction, sur le même mode que *functionWrapper*
522a20306a55 Documentation: Integration and widget API
veltr
parents:
diff changeset
   125
522a20306a55 Documentation: Integration and widget API
veltr
parents:
diff changeset
   126
Par exemple:
522a20306a55 Documentation: Integration and widget API
veltr
parents:
diff changeset
   127
522a20306a55 Documentation: Integration and widget API
veltr
parents:
diff changeset
   128
    this.bindPopcorn("timeupdate","onTimeupdate");  => Appellera this.onTimeupdate() lorsque l’événement Popcorn "timeupdate" est déclenché.
522a20306a55 Documentation: Integration and widget API
veltr
parents:
diff changeset
   129
522a20306a55 Documentation: Integration and widget API
veltr
parents:
diff changeset
   130
#### Autres fonctions ####
522a20306a55 Documentation: Integration and widget API
veltr
parents:
diff changeset
   131
522a20306a55 Documentation: Integration and widget API
veltr
parents:
diff changeset
   132
Les fonctions relatives aux gabarits seront explicités dans la section Gabarits
522a20306a55 Documentation: Integration and widget API
veltr
parents:
diff changeset
   133
522a20306a55 Documentation: Integration and widget API
veltr
parents:
diff changeset
   134
### Implémentation de la fonction draw ###
522a20306a55 Documentation: Integration and widget API
veltr
parents:
diff changeset
   135
522a20306a55 Documentation: Integration and widget API
veltr
parents:
diff changeset
   136
La fonction **draw()** est appelée automatiquement lorsque les métadonnées ont fini d’être chargées. C’est le lieu privilégié pour les fonctions gérant l’apparence du widget.
522a20306a55 Documentation: Integration and widget API
veltr
parents:
diff changeset
   137
522a20306a55 Documentation: Integration and widget API
veltr
parents:
diff changeset
   138
    IriSP.Widgets.MonWidget.prototype.draw = function() {
522a20306a55 Documentation: Integration and widget API
veltr
parents:
diff changeset
   139
        this.$.html("Hello, world");
522a20306a55 Documentation: Integration and widget API
veltr
parents:
diff changeset
   140
    }
522a20306a55 Documentation: Integration and widget API
veltr
parents:
diff changeset
   141
522a20306a55 Documentation: Integration and widget API
veltr
parents:
diff changeset
   142
## Utilisation des gabarits ##
522a20306a55 Documentation: Integration and widget API
veltr
parents:
diff changeset
   143
522a20306a55 Documentation: Integration and widget API
veltr
parents:
diff changeset
   144
Les gabarits ou *templates* en anglais permettent d’injecter des données dans du code HTML.
522a20306a55 Documentation: Integration and widget API
veltr
parents:
diff changeset
   145
522a20306a55 Documentation: Integration and widget API
veltr
parents:
diff changeset
   146
### Utilisation de Mustache ###
522a20306a55 Documentation: Integration and widget API
veltr
parents:
diff changeset
   147
522a20306a55 Documentation: Integration and widget API
veltr
parents:
diff changeset
   148
Le Metadataplayer utilise la bibliothèque *Mustache.js* pour réaliser cette opération.
522a20306a55 Documentation: Integration and widget API
veltr
parents:
diff changeset
   149
522a20306a55 Documentation: Integration and widget API
veltr
parents:
diff changeset
   150
Voici un exemple d’utilisation de *Mustache* seul:
522a20306a55 Documentation: Integration and widget API
veltr
parents:
diff changeset
   151
522a20306a55 Documentation: Integration and widget API
veltr
parents:
diff changeset
   152
    var gabarit = "<b>{{hello}}</b>, {{world}}";
522a20306a55 Documentation: Integration and widget API
veltr
parents:
diff changeset
   153
    var donnees = {
522a20306a55 Documentation: Integration and widget API
veltr
parents:
diff changeset
   154
        hello: "Bonjour",
522a20306a55 Documentation: Integration and widget API
veltr
parents:
diff changeset
   155
        world: "monde"
522a20306a55 Documentation: Integration and widget API
veltr
parents:
diff changeset
   156
    }
522a20306a55 Documentation: Integration and widget API
veltr
parents:
diff changeset
   157
    Mustache.to_html(gabarit, donnees);           => "<b>Bonjour</b>, monde"
522a20306a55 Documentation: Integration and widget API
veltr
parents:
diff changeset
   158
522a20306a55 Documentation: Integration and widget API
veltr
parents:
diff changeset
   159
### templateToHtml ###
522a20306a55 Documentation: Integration and widget API
veltr
parents:
diff changeset
   160
522a20306a55 Documentation: Integration and widget API
veltr
parents:
diff changeset
   161
Les gabarits sont souvent utilisés directement avec les propriétés du widget. Un raccourci existe pour injecter directement celles-ci dans un gabarit:
522a20306a55 Documentation: Integration and widget API
veltr
parents:
diff changeset
   162
522a20306a55 Documentation: Integration and widget API
veltr
parents:
diff changeset
   163
    this.templateToHtml("<h3>{{type}}</h3><p>{{option}}</p>");  => "<h3>MonWidget</h3><p>valeur de l’option</p>"
522a20306a55 Documentation: Integration and widget API
veltr
parents:
diff changeset
   164
522a20306a55 Documentation: Integration and widget API
veltr
parents:
diff changeset
   165
### renderTemplate ###
522a20306a55 Documentation: Integration and widget API
veltr
parents:
diff changeset
   166
522a20306a55 Documentation: Integration and widget API
veltr
parents:
diff changeset
   167
Dans les cas les plus fréquents, le gabarit sera implémenté directement dans la propriété *template* du widget, par exemple:
522a20306a55 Documentation: Integration and widget API
veltr
parents:
diff changeset
   168
522a20306a55 Documentation: Integration and widget API
veltr
parents:
diff changeset
   169
    IriSP.Widgets.MonWidget.prototype.template = "<h3>{{type}}</h3><p>{{option}}</p>";
522a20306a55 Documentation: Integration and widget API
veltr
parents:
diff changeset
   170
522a20306a55 Documentation: Integration and widget API
veltr
parents:
diff changeset
   171
De plus, le code généré par le gabarit a pour vocation d’être rajouté directement au contenu du widget, généralement à l’intérieur de la fonction draw(). Ceci peut être réalisé avec la fonction *renderTemplate*.
522a20306a55 Documentation: Integration and widget API
veltr
parents:
diff changeset
   172
522a20306a55 Documentation: Integration and widget API
veltr
parents:
diff changeset
   173
    this.renderTemplate();   => ajoute directement "<h3>MonWidget</h3><p>valeur de l’option</p>" dans le code HTML du widget
522a20306a55 Documentation: Integration and widget API
veltr
parents:
diff changeset
   174
522a20306a55 Documentation: Integration and widget API
veltr
parents:
diff changeset
   175
## Internationalisation du widget ##
522a20306a55 Documentation: Integration and widget API
veltr
parents:
diff changeset
   176
522a20306a55 Documentation: Integration and widget API
veltr
parents:
diff changeset
   177
Le Metadataplayer a été conçu pour être multilingue. Pour ceci, les différents textes de l’interface doivent être séparés du reste du code et des gabarits.
522a20306a55 Documentation: Integration and widget API
veltr
parents:
diff changeset
   178
522a20306a55 Documentation: Integration and widget API
veltr
parents:
diff changeset
   179
### Définition des textes ###
522a20306a55 Documentation: Integration and widget API
veltr
parents:
diff changeset
   180
522a20306a55 Documentation: Integration and widget API
veltr
parents:
diff changeset
   181
Les textes sont définis dans la propriété **messages** du widget et regroupés par langue, dans un objet dont les clés sont les codes ISO 639-1 de la langue. Chaque langue est elle-même un objet, associant un nom de texte unique à sa traduction.
522a20306a55 Documentation: Integration and widget API
veltr
parents:
diff changeset
   182
522a20306a55 Documentation: Integration and widget API
veltr
parents:
diff changeset
   183
    IriSP.Widgets.MonWidget.prototype.message = {
522a20306a55 Documentation: Integration and widget API
veltr
parents:
diff changeset
   184
        en: {
522a20306a55 Documentation: Integration and widget API
veltr
parents:
diff changeset
   185
            hello: "Hello",
522a20306a55 Documentation: Integration and widget API
veltr
parents:
diff changeset
   186
            world: "world"
522a20306a55 Documentation: Integration and widget API
veltr
parents:
diff changeset
   187
        },
522a20306a55 Documentation: Integration and widget API
veltr
parents:
diff changeset
   188
        fr: {
522a20306a55 Documentation: Integration and widget API
veltr
parents:
diff changeset
   189
            hello: "Bonjour",
522a20306a55 Documentation: Integration and widget API
veltr
parents:
diff changeset
   190
            world: "monde"
522a20306a55 Documentation: Integration and widget API
veltr
parents:
diff changeset
   191
        }
522a20306a55 Documentation: Integration and widget API
veltr
parents:
diff changeset
   192
    }
522a20306a55 Documentation: Integration and widget API
veltr
parents:
diff changeset
   193
522a20306a55 Documentation: Integration and widget API
veltr
parents:
diff changeset
   194
### Accès aux textes dans la langue de l’interface ###
522a20306a55 Documentation: Integration and widget API
veltr
parents:
diff changeset
   195
522a20306a55 Documentation: Integration and widget API
veltr
parents:
diff changeset
   196
La langue de l’interface est définie par *IriSP.language*. Un accès direct aux messages se fait par la propriété *l10n* (raccourci pour "localization") du widget.
522a20306a55 Documentation: Integration and widget API
veltr
parents:
diff changeset
   197
522a20306a55 Documentation: Integration and widget API
veltr
parents:
diff changeset
   198
    this.l10n.hello;   => "Hello" si l’interface est en anglais, "Bonjour" si l’interface est en français.
522a20306a55 Documentation: Integration and widget API
veltr
parents:
diff changeset
   199
522a20306a55 Documentation: Integration and widget API
veltr
parents:
diff changeset
   200
### Accès aux textes dans un gabarit ###
522a20306a55 Documentation: Integration and widget API
veltr
parents:
diff changeset
   201
522a20306a55 Documentation: Integration and widget API
veltr
parents:
diff changeset
   202
Cette propriété *l10n* permet d’accéder directement aux textes dans les gabarits:
522a20306a55 Documentation: Integration and widget API
veltr
parents:
diff changeset
   203
522a20306a55 Documentation: Integration and widget API
veltr
parents:
diff changeset
   204
    this.templateToHtml("{{l10n.hello}}, {{l10n.world}}!");  => "Hello, world!" en anglais ou "Bonjour, monde!" en français.
522a20306a55 Documentation: Integration and widget API
veltr
parents:
diff changeset
   205