Stratégie d'internationalisation
Structuration des fichiers de localisation
Chaque localisation du système doit contenir un fichier common.php et un fichier [module].php par module. Ces fichiers sont situés dans un dossier portant comme nom le code à deux lettres de la langue, qui est lui même situé dans le dossier locales à la racine de Mediboard.
Cependant, il est devenu nécessaire de pouvoir placer ces fichiers dans le dossier des modules depuis la mise en place des modules externes. Les nouveaux fichiers sont alors placés dans un dossier locales dans le dossier du module. Chaque fichier de langue à le même format interne, mais est nommé avec le code à deux chiffres de la langue plutôt que le nom du module.
Contenu du common.php
On y trouvera tout ce qui ne dépend pas d'un module, mais qui est plus général au système. Notamment :
- Les boutons classiques
- Valider, Modifier, Annuler, Chercher, ...
- les types de bases
- bool.1 donne 'oui'
Contenu de [module].php
On y mettra tout ce qui est spécifique à un module, ses classes, ses templates.
Informations sur le module
- module-[module]-court
- le nom du module version court, ex : 'Cabinet'
- module-[module]-long
- la description du module, ex : 'Gestion de cabinet de consultation'
- mod-[module]-tab-[file]
- le nom d'un onglet, ex : 'Planifier une consultation'
- pref-[preference]
- le nom de la préférence, ex 'Répertoire d'InterMax'
- pref-[preference]-desc
- la description de la préférence, ex 'Répertoire d'Interopérabilité de LogicMax sur le poste utilisateur'
- pref-[preference]-[value]
- un des valeurs possibles pour la préférence, ex 'Mode expert'
- config-[module]-[class]-[field]
- nom des variables de configuration
Informations sur les objets
- [class]-msg-create
- confirmation de création d'objet, ex 'Thème crée'
- [class]-msg-modify
- confirmation de modification d'objet, ex ''Thème modifié
- [class]-msg-delete
- confirmation de suppression d'objet, ex 'Thème supprimé'
- [class]-title-create
- titre d'en tête (TH) de création, ex 'Nouveau thème'
- [class]-title-modify
- titre d'en tête (TH) de modification, ex 'Modifier le thème'
- [class]
- le nom réel de la classe, ex 'Patient'
- [class].one
- le nom d'un objet, ex 'un patient'
- [class].more
- le nom de plusieurs objets, ex 'les patients'
- [class].all
- tous les objets, ex 'tous les patients'
- [class].none
- aucun objet, ex 'Aucun favori disponible'
- [class].select
- choisir un objet, ex 'Sélectionner un patient'
- [class]-[prop]
- le label d'une propriété, ex 'Téléphone'
- [class]-[prop]-desc
- la description du label, ex 'Numéro de téléphone du patient'
- [class]-[prop]-court
- court label pour les colonnes entre autres, ex 'Tel.'
- [class].[prop-enum].[value-enum]
- le label d'une valeur d'une énumération, ex 'Ambulatoire'
- [class].[prop-enum].
- le label de la valeur "vide" d'une énumération, ex 'Aucun type'
- [class]-back-[backname]
- le nom d'une collection de backref, ex 'Fichiers joints'
Autres informations
- [class]-button-[key]
- bouton particulier pour une classe, ex 'button-CDocGed-notviewcancel'
- [class]-msg-[key]
- message particulier
Illustration dans les templates
L'exemple suivant illustre l'utilisation des textes localisées dans les fichiers templates Smarty :
- soit codées en direct : utilisation de la balise
{WARNING: Plugin disabled tr!Text{{/tr}} - soit codées en via les accesseurs de propriétésdirect : utilisation de la balise
{{mb_label}}et{{mb_value}}
Ici sont affichées les informations concernant les affectations d'un séjour :
<table class="tbl">
<tr>
<th class="title" colspan="10">
{{tr}}CSejour-back-affectations{{/tr}}
</th>
</tr>
<tr>
<th>{{mb_label class=CAffectation field=lit_id}}</th>
<th>{{mb_label class=CAffectation field=entree}}</th>
<th>{{mb_label class=CAffectation field=sortie}}</th>
<th>{{mb_label class=CAffectation field=effectue}}</th>
</tr>
{{foreach from=$sejour->_ref_affectations item=_affectation}}
<tr>
<td>{{$_affectation->_ref_lit->_view}}</td>
<td>{{mb_value object=$_affectation field=entree}}</td>
<td>{{mb_value object=$_affectation field=sortie}}</td>
<td>{{mb_value object=$_affectation field=effectue}}</td>
</tr>
{{/foreach}}
</table>
Dernièrement modifié par Fabien
, Basé sur le travail de
maskas
,
rhum1
et
mytto
.
Modifiée dernièrement le vendredi 07 de mai, 2010 19h25m07.
