Primero necesita una forma de separar los dominios.
Por ejemplo, digamos que usted tiene un dominio para lib y uno para aplicación, a continuación, crear un acceso directo para la llamada dgettext()
;
_app(msg) -> dgettext("app", msg);
y otro para el dominio lib:
_lib(msg) -> dgettext("lib", msg);
Añadir estas llamadas en todo su código, como este;
show_message(_app("Choose a directory to save your work."));
show_message(_lib("No space left on device."));
Recuerde que es necesario llamar a bindtextdomain()
para ambos dominios en la inicialización de la aplicación.
para extraerlos es necesario especificar diferentes palabras clave para xgettext
en todos los nombres de archivo en el árbol de código fuente que contiene estos marcadores:
xgettext --keyword=_app -d domain1 filenames...
xgettext --keyword=_lib -d domain2 filenames...
Por último, compilar tanto de los archivos .po en su variante .mo binaria y copiarlos/instalarlos en la ubicación correcta.
Encontré una [sugerencia] (http://stackoverflow.com/a/5354360/645186) sobre cómo analizar cada dominio por separado. Sin embargo, esto es una solución. – Shef