Portál AbcLinuxu, 15. května 2024 12:31


Dotaz: Resources a l10n v c/c++

17.3.2009 17:49 Bardolf
Resources a l10n v c/c++
Přečteno: 160×
Odpovědět | Admin

Zdravim,

rad bych se poptal jak spravovat/pouzivat resourcy v c/c++ projektech.  Jedine co me napadlo je pri prekladu nakopirovat tyto resourcy do ciloveho mista prekladu a pak je loadovat zadanim relativni cesty. Je to tak spravne? 

Druha cast dotazu je souvisejici, jaky pouzit framework pro spravu lokalizacnich resourcu, abych znovu nevynalezal kolo.

Diky bardolf

Nástroje: Začni sledovat (1) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

17.3.2009 21:23 petr_p | skóre: 59 | blog: pb
Rozbalit Rozbalit vše Re: Resources a l10n v c/c++
Odpovědět | | Sbalit | Link | Blokovat | Admin
Použijte gettext, který bývá součástí slušnějších standardních céčkových knihoven.
Fuky avatar 17.3.2009 22:17 Fuky | skóre: 52 | blog: 4u
Rozbalit Rozbalit vše Re: Resources a l10n v c/c++

Ukázka l10n1-program.c:

#include <locale.h>
#include <libintl.h>

#define PACKAGE   "l10n1-program"
#define LOCALEDIR "/usr/share/locale"
#define _(str) gettext(str)

int main(void) {
  setlocale(LC_ALL,"");
  bindtextdomain(PACKAGE, LOCALEDIR);
  textdomain(PACKAGE);

  printf(_("Hello World.\n"));
  printf(_("Dir: %s\n"), LOCALEDIR);
  exit(0);
}

U céčkových programů hledá implicitně xgettext ve zdrojovém kódu klíčové slovo gettext, ale my používáme kratší _.

$ xgettext --keyword=_ l10n1-program.c -o l10n1-program.po
$ vim l10n1-program.po
$ msgfmt l10n1-program.po -o l10n1-program.mo
# cp ./l10n1-program.mo /usr/share/locale/cs/LC_MESSAGES/l10n1-program.mo

18.3.2009 16:39 bardolf
Rozbalit Rozbalit vše Re: Resources a l10n v c/c++

super, v podobnou odpoved jsem doufal, navic example - tleskam! diky b.

 

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.