Changes between Version 2 and Version 3 of DocumentacionUsuario1.1.0/TraduccionGettext


Ignore:
Timestamp:
Jun 8, 2016, 9:34:42 AM (9 years ago)
Author:
ramon
Comment:

Notas para usar gettext en scripts BASH

Legend:

Unmodified
Added
Removed
Modified
  • DocumentacionUsuario1.1.0/TraduccionGettext

    v2 v3  
    1414||= Componente =||= Programado en =||= Dominio =||= Directorio =||
    1515||Browser del cliente||C++||{{{browser}}}||{{{/opt/opengnsys/lib/locale}}} (cliente)||
     16||Scripts del servidor||BASH||{{{server}}}||{{{/opt/opengnsys/lib/locale}}} (servidor)||
    1617
    1718Para localizar el fichero de traducción, cada componente debe incluir en la configuración de gettext el dominio de texto y el directorio de idiomas. El camino completo del fichero será: ''{{{DirectorioIdiomas/xx}}}''{{{/LC_MESSAGES/}}}''{{{Dominio}}}''{{{.mo}}}, siendo ''{{{xx}}}'' las siglas del idioma ({{{ca}}} para catalán, {{{en}}} para inglés o {{{es}}} para castellano).
     
    3940
    4041
     42=== BASH ===
     43
     44Es recomendable incluir un fichero auxiliar con la configuración de GNU gettext y que sea llamado desde cada script usando el comando {{{source}}}.
     45
     46Script de configuración de Gettext:
     47 * Definir las variables:
     48 {{{
     49TEXTDOMAIN="Dominio"
     50TEXTDOMAINDIR=DirectorioIdiomas
     51}}}
     52 * Definir una función {{{__}}} con la llamada a {{{gettext}}}, incluyendo:
     53 {{{
     54STRING=$1; shift
     55printf "$(gettext "$TEXTDOMAIN" "$STRING")" $@
     56}}}
     57
     58Modificaciones a incluir en un script BASH:
     59 * Incluir la función de configuración (se recomienda usar el fichero {{{locale.sh}}} en el directorio de librerías):
     60 {{{
     61source CaminoScriptConfiguraciónGettext
     62}}}
     63 * Indicar las cadenas que van a ser traducidas, sustituyendo ''{{{Cadena}}}'' por la función de traducción {{{$(__ "}}}''{{{Cadena}}}''" ''{{{Parámetros}}}''{{{)}}}, teniendo en cuenta que la cadena y los parámetros deben estar bien formateados (como se usan en el comando {{{printf}}}).
     64
     65
     66
    4167== Crear fichero de cadenas ==
    4268