PO2C.

PO2C é um script Perl que leva um monte de arquivos de tradução de idiomas GetText (.PO) de seus argumentos de linha de comando.
Baixe Agora

PO2C. Classificação e resumo

Propaganda

  • Rating:
  • Licença:
  • GPL
  • Preço:
  • FREE
  • Nome do editor:
  • Angel Ortega
  • Site do editor:
  • http://www.triptico.com/software/po2c.html

PO2C. Tag


PO2C. Descrição

O PO2C é um script Perl que leva um grupo de arquivos de tradução de idiomas do GetText (.PO) de seus argumentos de linha de comando. O PO2C é um pequeno script Perl que leva um monte de arquivos de tradução de idiomas do GetText (.PO) de seus argumentos de linha de comando e despejos um arquivo C código-fonte contendo todas essas mensagens e as funções necessárias para usá-las sem qualquer outra dependência. Quando você deseja implantar strings traduzidos para sistemas onde não existe nenhum suporte fácil do GetText (por exemplo, Win32) ou quando um binário exclusivo, autônomo sem dependências de arquivos externos é conveniente (por exemplo, sistemas incorporados ou pequenos). C Arquivo de código-fonte inclui as mensagens originais e traduzidas como um grupo de matrizes ponteiro-para-string terminada nulas e nulas e as seguintes duas funções C: VOID PO2C_SETLANG (Char * Lang); CHAR * PO2C_GETTEXT (CHAR * msgid); o primeiro, Po2c_Setlang (), é usado para definir o idioma favorito do usuário, provavelmente conseguiu dele ou ler de qualquer uma das variáveis de ambiente LANG, LC_ALL ou LC_MESSGAGES. Os nomes dos arquivos .PO processados devem corresponder a essas strings de idiomas. O segundo, Po2C_Gettext (), é exatamente ortogonal para a função original do GetText (); O msgid é a cadeia de caracteres para traduzir. Ele retorna a string traduzida se encontrada ou o mesmo msgstr de outra forma.ExamplessupPose você tem um diretório chamado Po e os seguintes dois arquivos, PO / ES.PO: #spanish Traduções msgstr "Bom dia!" Msgstr "Buenos Das!" e Po / Fr.Po: #French Traduções msgstr "Bom dia!" Msgstr "Bon Jour!" Em seguida, executar o seguinte comando: PO2C PO / *. PO> lang.cwill Resultado no seguinte arquivo de origem lang.c c: / * gerado por PO2C 1.0.2 - Não modifique * / #include # incluir char * _po2c_msgids estáticos [] = {/ * 0 * / "bom dia!", Null}; struct _po2c_msg {int msgid; char * msgstr; }; Estrutura estática _PO2C_MSG _PO2C_LANG_FR [] = {{0, "Bon Jour!" }, {-1, nulo}}; Estrutura estática _PO2C_MSG _PO2C_LANG_ES [] = {{0, "Buenos Das!" }, {-1, nulo}}; Estrutura estática {char * lang; struct _po2c_msg * msgs; } _PO2C_Langs [] = {{"fr", _po2c_lang_fr}, {"ES", _PO2C_LANG_ES}, {null, nulo}}; / * Código * / Estrutura estática _PO2C_MSG * _PO2C_LANG = NULL; INT INT _PO2C_LANG_SIZE = 0; void po2c_setlang (char * lang) {int n; _PO2C_LANG = NULL; _PO2C_LANG_SIZE = 0; / * Se Lang é NULL ou "", desativá-lo * / if (lang == null || * lang == '') retorno; / * Pesquisa por uma matriz de idioma válida * / para (n = 0; _PO2C_LANG == NULL _PO2C_LANGS .lang! = null; n ++) {if (strcmp (lang, _po2c_langs .lang) == 0) _PO2C_LANG = _PO2C_LANGS .msgs; } / * tente pesquisas parciais * / para (n = 0; _po2c_lang == null _PO2C_langs .lang! = null; n ++) {if (strncmp (lang, _po2c_langs .lang, 2) == 0) _PO2C_LANG = _PO2C_LANGS .msgs; } / * Se encontrado, contar entradas * / if (_PO2C_LANG! = null) {struct _po2c_msg * m; para (m = _PO2C_LANG; M-> msgid! = -1; m ++) _po2c_lang_size ++; }} char * po2c_gettext (char * msgid) {struct _po2c_msg * m; int b, t, n, c; / * Se nenhum idioma estiver definido ou msgid estiver vazio, Devolver Msgid como IS * / IF (_PO2C_LANG == NULL || * msgid == '') Retorna (msgstr); / * Binary-busca pelo msgid * / b = 0; t = _po2c_lang_size - 1; enquanto (t> = b) {n = (b + t) / 2; m = _po2c_lang ; c = strcmp (msgstr, _po2c_msgids ); if (c == 0) retornar (m-> msgstr); mais se (c <0) t = n - 1; mais b = n + 1; } Return (msgstr); } Você pode compilar e vinculá-lo contra o seu código. Lá, você adicionará os protótipos de função e usá-los.Requirements: · Requisitos de Perl: · Perl.


PO2C. Software Relacionado

bmk.

BMK é um programa que armazena e recorda os nomes de arquivos usando aliases mais curtos. ...

188

Download

JOPEN.

JOPEN é um pequeno programa Unix que fornece execução de uma ação para qualquer tipo de arquivo de acordo com uma lista de regras. ...

191

Download

Ggmud.

GGMUD Project é um cliente de lama gráfica com muitos recursos. ...

218

Download