Version 19 (modified by cedric, 8 years ago) (diff) |
---|
Utilisation de gettext
notes internes pour les développeurs
retour à la page de démarrage ..
téléchargement du logiciel
https://www.gnu.org/software/gettext/ ... en fait les routines d'uilisation de po sont dans poedit ci après
Aide :
https://cran.r-project.org/doc/manuals/r-release/R-exts.html#Internationalization
https://poedit.net/ ???
Dans R
Utilisation de gettext
Traduction des messages stop, warning et message + tout message encapsulé dans gettext et gettextf.
Outils pour préparer :
tools::xgettext2pot tools::xgettext# extracts the actual calls # prépare le répertoire du package tools::update_pkg_po("F:/workspace/stacomir/pkg/stacomir") # en fait crée un répertoire po avec un fichier R-stacomiR.pot
Pour aller chercher toutes les instances d'appel à msg j'utilise l'expression régulière qui suit (en cochant la case expression régulière en éclipse)
get\(\"msg\"\,envir\_stacomi\)\$(.)+(,)
Comment remplacer toutes les entrées de la base
Hors de leur contexte d'appel, certains messages, notamment la concatenation de plusieurs chaines ne sera pas aisée Il faut trouver tous les funout() et les get("msg",envir_stacomi)$ et les remplacer par gettext("this is the message in get...") Ci dessous des méthodes sont programmées pour récupérer les messages, mais je ne vois pas trop
# message en français object=new("RefMsg") msgfr<-charge_avec_filtre(object,lang='French') str(msgfr) #Formal class 'RefMsg' [package "stacomiR"] with 2 slots # ..@ messager :'data.frame': 0 obs. of 0 variables #Formal class 'data.frame' [package "methods"] with 4 slots # .. .. ..@ .Data : list() # .. .. ..@ names : chr(0) # .. .. ..@ row.names: int(0) # .. .. ..@ .S3Class : chr "data.frame" # ..@ messagerlang:'data.frame': 364 obs. of 3 variables: # .. ..$ mrl_id : int [1:364] 1 2 3 4 5 6 7 8 9 10 ... # .. ..$ mrl_msr_id: int [1:364] 1 2 3 4 5 6 7 8 9 10 ... # .. ..$ mrl_text : chr [1:364] "\"Il faut choisir un dispositif de comptage,cliquez sur valider \"" "\"Il faut choisir un taxon,cliquez sur valider \"" "\"Il faut choisir un stade,cliquez sur valider \"" "\"Il faut choisir un parametre,cliquez sur valider \"" ... createmessage(object,TRUE) msg<-get("msg",envir=envir_stacomi) #$Bilan_stades_pigm.2 #[1] "Bilan des stades pigmentaires\n" # #$Bilan_stades_pigm.3 #[1] "BILAN STADES PIGMENTAIRES "