cameleon-dev
[Top][All Lists]
Advanced

[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




reply via email to

[Prev in Thread] Current Thread [Next in Thread]