[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[cameleon-dev] un outil de localisation
From: |
Maxence Guesdon |
Subject: |
[cameleon-dev] un outil de localisation |
Date: |
Fri, 4 Apr 2003 15:28:02 +0200 |
Re-salut,
profitons du fait qu'il n'y a que des français sur cette liste :-)
J'ai pensé à faire un outil de localisation il y a longtemps.
Ca marcherait comme ça:
- on définirait une arboresence de langues
(avec typiquement l'anglais en racine).
Le but est d'avoir un fallback : quand il manque une traduction
(traduction complète ou partielle dans une langue), on retombe
sur la langue "mere"
- une interface graphique pour définir l'arborescence des langues
- les langues possibles sont d'apres les locales (fr, en, fr_FR, ...)
- tous les messages seraient définis dans un ou plusieurs fichiers,
modifié(s) par l'interface graphique
- on génère du code à partir de ce(s) fichier(s), du style:
type t = {
message1 : string ;
la_version : string ;
mon_message : string -> string ;
.....
}
let en = {
message1 = "my first message" ;
la_version = "1.0" ;
mon_message = (fun s -> "this is the message "^s);
....
}
let fr = {
message1 = "Mon premier message" ;
la_version = en.la_version ; (** not translated *)
mon_message = en.mon_message ; (** not translated *)
....
}
let lang = match Sys.getenv "LANG" with
"en" -> en
| "fr" -> fr
| ...
| _ -> en
let message1 = lang.message1
let la_version = lang.la_version
let mon_message = lang.mon_message
...
- on pourrait aussi, au lieu de créer les records ici, les charger par dynlink
mais ça ne marche pour le bytecode.
Qu'en pensez-vous ?
Amicalement,
Maxence
- [cameleon-dev] un outil de localisation,
Maxence Guesdon <=