From 2a1897a85c4b012c4edc6c56d58c043e2176fbff Mon Sep 17 00:00:00 2001 From: perry.werneck@gmail.com Date: Fri, 4 May 2012 11:20:52 +0000 Subject: [PATCH] Incluindo tradução dos arquivos .xml --- Makefile.in | 17 +++++++++++++++-- configure.ac | 1 + po/pt_BR.po | 417 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++--------------------------------------------------------------------------- pw3270.cbp | 180 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++------------------------------------------------------------------------------------ pw3270.spec.in | 2 +- src/pw3270/uiparser/menubar.c | 4 ++-- src/pw3270/uiparser/toolbar.c | 4 ++-- src/tools/xml2pot.c | 184 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 8 files changed, 643 insertions(+), 166 deletions(-) create mode 100644 src/tools/xml2pot.c diff --git a/Makefile.in b/Makefile.in index 1a085cb..89e317c 100644 --- a/Makefile.in +++ b/Makefile.in @@ -52,6 +52,7 @@ DBGLIB=-L../../$(BINDIR)/Debug/lib -l3270 RLSLIB=-L../../$(BINDIR)/Release/lib -l3270 TMPDIR=.tmp GLOBAL_DEPS=$(PWD)/include/*.h $(PWD)/include/lib3270/*.h +LANG_FILES=$(wildcard po/*.po) #---[ Tools ]------------------------------------------------------------------ @@ -65,6 +66,7 @@ CONVERT=@CONVERT@ MSGCAT=@MSGCAT@ MSGINIT=@MSGINIT@ MSGMERGE=@MSGMERGE@ +XML2POT=src/tools/xml2pot@EXEEXT@ #---[ Rules ]------------------------------------------------------------------ @@ -89,9 +91,12 @@ po/%.po: $(PACKAGE_NAME).po @touch $(TMPDIR)/$@ @$(MSGMERGE) $(TMPDIR)/$@ $(PACKAGE_NAME).po --output-file=$@ +src/tools/%@EXEEXT@: src/tools/%.c + @make -C src/tools $(notdir $@) + #---[ Release targets ]-------------------------------------------------------- -all: $(BINDIR)/Release/$(PACKAGE_TARNAME)$(EXEEXT) filelist +all: $(BINDIR)/Release/$(PACKAGE_TARNAME)$(EXEEXT) lang filelist Release: $(BINDIR)/Release/$(PACKAGE_TARNAME)$(EXEEXT) @@ -135,6 +140,8 @@ endif #---[ Targets ]---------------------------------------------------------------- +lang: $(foreach SRC, $(basename $(LANG_FILES)), $(SRC).po) + tgz: $(PACKAGE_TARNAME)-$(PACKAGE_VERSION).tar.gz rpm: $(PACKAGE_TARNAME)-$(PACKAGE_VERSION).tar.gz @@ -151,7 +158,12 @@ $(PACKAGE_NAME).po: $(TMPDIR)/$(PACKAGE_NAME).pot @echo " INIT `basename $@`" @$(MSGINIT) --no-translator -o $@ -i $^ -$(TMPDIR)/$(PACKAGE_NAME).pot: $(BINDIR)/pot/pw3270.pot $(BINDIR)/pot/lib3270.pot +$(BINDIR)/pot/ui.pot: $(XML2POT) $(wildcard ui/*.xml) + @echo " TEXT `basename $@`" + @$(MKDIR) `dirname $@` + @$(XML2POT) $(wildcard ui/*.xml) > $@ + +$(TMPDIR)/$(PACKAGE_NAME).pot: $(BINDIR)/pot/pw3270.pot $(BINDIR)/pot/lib3270.pot $(BINDIR)/pot/ui.pot @echo " TEXT `basename $@`" @$(MKDIR) `dirname $@` @$(MSGCAT) --sort-output $^ | sed "s&VERSION&$(PACKAGE_VERSION)&;s&CHARSET&UTF-8&;s&PACKAGE&$(PACKAGE_NAME)&g" > $@ @@ -203,6 +215,7 @@ clean: @rm -f debian/*.install @make -C src/lib3270 clean @make -C src/pw3270 clean + @make -C src/tools clean @rm -f *.log distclean: clean diff --git a/configure.ac b/configure.ac index 5881344..253d236 100644 --- a/configure.ac +++ b/configure.ac @@ -273,6 +273,7 @@ AC_CONFIG_FILES([ src/pw3270/Makefile src/pw3270/uiparser/Makefile src/pw3270/common/common.h + src/tools/Makefile ]) diff --git a/po/pt_BR.po b/po/pt_BR.po index b6137de..0596555 100644 --- a/po/pt_BR.po +++ b/po/pt_BR.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: pw3270 5.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2012-05-03 16:52-0300\n" +"POT-Creation-Date: 2012-05-04 08:17-0300\n" "PO-Revision-Date: \n" "Last-Translator: Perry Werneck \n" "Language-Team: \n" @@ -18,15 +18,12 @@ msgstr "" msgid " Unknown frame type from host" msgstr "" -#: actions.c:608 -#: actions.c:620 +#: actions.c:608 actions.c:620 #, c-format msgid "%s action needs a valid id attribute" msgstr "Ação %s exige um atributo ID válido" -#: actions.c:483 -#: actions.c:585 -#: actions.c:597 +#: actions.c:483 actions.c:585 actions.c:597 #, c-format msgid "%s action needs a valid toggle name" msgstr "Ação %s exige um nome de toggle válido" @@ -55,10 +52,7 @@ msgstr "%s:%d" msgid "- 3270 Emulator for Gtk" msgstr "- Emulador 3270 para GTK" -#: screen.c:622 -#: screen.c:647 -#: screen.c:659 -#: screen.c:768 +#: screen.c:622 screen.c:647 screen.c:659 screen.c:768 #, fuzzy msgid "3270 Error" msgstr "Erro 3270" @@ -75,6 +69,11 @@ msgstr "Tela 3270" msgid "3270 terminal emulator for GTK+" msgstr "Emulador 3270 para GTK+" +#: uiparser/menubar.c:40 uiparser/toolbar.c:49 +#, c-format +msgid "<%s> should be on toplevel" +msgstr "" + #: uiparser/accelerator.c:41 msgid " should be on toplevel" msgstr "" @@ -108,10 +107,6 @@ msgstr " é inválido nesse contexto" msgid " requires a label attribute" msgstr "" -#: uiparser/menubar.c:40 -msgid " should be on toplevel" -msgstr "" - #: uiparser/menuitem.c:60 msgid " is invalid at this context" msgstr "" @@ -142,11 +137,7 @@ msgstr "" #: uiparser/separator.c:53 msgid " should be inside a or " -msgstr "" - -#: uiparser/toolbar.c:49 -msgid " should be on toplevel" -msgstr "" +msgstr " só é válido dentro de ou " #: uiparser/toolitem.c:42 msgid " is invalid at this context" @@ -156,6 +147,14 @@ msgstr "" msgid "Action failed" msgstr "Ação falhou" +#: ui/00default.xml:113 +msgid "Add to copy" +msgstr "Adicionar à cópia" + +#: ui/00default.xml:180 +msgid "Alert sound" +msgstr "Aviso sonoro" + #: main.c:145 msgid "Application name" msgstr "Nome da aplicação" @@ -165,6 +164,11 @@ msgstr "Nome da aplicação" msgid "Attribute \"%s\" is invalid or undefined" msgstr "Atributo \"%s\" é invalido ou indefinido" +#: ui/00default.xml:175 +#, fuzzy +msgid "Auto-Reconnect" +msgstr "Servidor a conectar" + #: colors.c:351 msgid "Background" msgstr "Fundo" @@ -177,10 +181,22 @@ msgstr "Versão winsock inválida" msgid "Black" msgstr "Preto" +#: ui/00default.xml:173 +msgid "Blank Fill" +msgstr "Completar com espaços" + +#: ui/00default.xml:167 +msgid "Blinking Cursor" +msgstr "Cursor piscante" + #: colors.c:352 msgid "Blue" msgstr "Azul" +#: ui/00default.xml:176 +msgid "Bold" +msgstr "Negrito" + #: dialog.c:576 msgid "Brazilian Public Software Portal" msgstr "Portal do Software Público Brasileiro" @@ -225,9 +241,7 @@ msgstr "Não foi possível carregar arquivo" msgid "Can't open local file" msgstr "Não foi possível abrir arquivo local" -#: uiparser/parser.c:241 -#: uiparser/parsefile.c:301 -#: uiparser/parsefile.c:329 +#: uiparser/parser.c:241 uiparser/parsefile.c:301 uiparser/parsefile.c:329 msgid "Can't parse UI" msgstr "" @@ -236,8 +250,7 @@ msgstr "" msgid "Can't parse UI description files in %s" msgstr "" -#: uiparser/parsefile.c:100 -#: uiparser/parsefile.c:126 +#: uiparser/parsefile.c:100 uiparser/parsefile.c:126 msgid "Can't parse unnamed element" msgstr "" @@ -288,12 +301,16 @@ msgstr "" #: init.c:224 #, c-format msgid "Cannot find charset \"%s\", using defaults" -msgstr "" +msgstr "Não encontrei codificação \"%s\", usando default" #: v3270/selection.c:383 msgid "Charset error" msgstr "Erro de codificação de caracteres" +#: ui/00default.xml:127 +msgid "Clear" +msgstr "Limpar" + #: colors.c:473 msgid "Color scheme:" msgstr "Tema de cores:" @@ -302,6 +319,29 @@ msgstr "Tema de cores:" msgid "Color setup" msgstr "Configuração de cores" +#: ui/00default.xml:157 +#, fuzzy +msgid "Colors" +msgstr "Configuração de cores" + +#: ui/00default.xml:166 +#, fuzzy +msgid "Connect on startup" +msgstr "Não foi possível conectar ao servidor" + +#: ui/00default.xml:110 +msgid "Copy" +msgstr "Copiar" + +#: ui/00default.xml:111 +msgid "Copy as table" +msgstr "Copiar como tabela" + +#: ui/00default.xml:172 +#, fuzzy +msgid "Cross Hair Cursor" +msgstr "Cursor mira" + #: colors.c:376 msgid "Cross-hair cursor" msgstr "Cursor mira" @@ -315,6 +355,10 @@ msgstr "Current (%s)" msgid "Custom colors" msgstr "Cores personalizadas" +#: ui/99debug.xml:36 +msgid "DS Trace" +msgstr "" + #: colors.c:360 msgid "Dark Blue" msgstr "Azul Escuro" @@ -323,11 +367,18 @@ msgstr "Azul Escuro" msgid "Dark Green" msgstr "Verde Escuro" -#: ft_cut.c:163 -#: ft_cut.c:171 +#: ft_cut.c:163 ft_cut.c:171 msgid "Data conversion error" msgstr "Erro na conversão de dados" +#: ui/99debug.xml:43 +msgid "Debug" +msgstr "" + +#: ui/99debug.xml:45 +msgid "Debug window updates" +msgstr "" + #: telnet.c:1260 msgid "EOR received when not in 3270 mode, ignored." msgstr "" @@ -336,8 +387,7 @@ msgstr "" msgid "Empty LU name" msgstr "Nome da LU está em branco" -#: host.c:266 -#: host.c:393 +#: host.c:266 host.c:393 msgid "Empty hostname" msgstr "Nome do host em branco" @@ -345,6 +395,18 @@ msgstr "Nome do host em branco" msgid "Empty port name" msgstr "Porta em branco" +#: ui/00default.xml:128 +msgid "Erase input" +msgstr "Apagar campos" + +#: ui/00default.xml:130 +msgid "Erase to end of field" +msgstr "Apagar até o final do campo" + +#: ui/00default.xml:131 +msgid "Erase to end of line" +msgstr "Apagar até o final da linha" + #: resolver.c:106 #, c-format msgid "Error %d resolving %s" @@ -360,6 +422,10 @@ msgstr "Erro lendo %s" msgid "Error resolving %s: %s" msgstr "Erro ao resolver %s: %s" +#: ui/99debug.xml:38 +msgid "Event Trace" +msgstr "" + #: colors.c:344 msgid "Fields" msgstr "" @@ -372,6 +438,10 @@ msgstr "" msgid "Forces monochrome display" msgstr "Força tela monocromática" +#: ui/00default.xml:170 +msgid "Full Screen" +msgstr "" + #: main.c:60 msgid "GTK Version mismatch" msgstr "Divergência de versão GTK" @@ -384,6 +454,10 @@ msgstr "Cinza" msgid "Green" msgstr "Verde" +#: ui/00default.xml:190 +msgid "Help" +msgstr "Ajuda" + #: ft.c:378 msgid "Host disconnected, transfer cancelled" msgstr "Host desconectou, transferência cancelada" @@ -392,14 +466,8 @@ msgstr "Host desconectou, transferência cancelada" msgid "Host to connect" msgstr "Servidor a conectar" -#: host.c:314 -#: host.c:339 -#: host.c:351 -#: host.c:377 -#: host.c:389 -#: host.c:393 -#: host.c:446 -#: host.c:461 +#: host.c:314 host.c:339 host.c:351 host.c:377 host.c:389 host.c:393 +#: host.c:446 host.c:461 msgid "Hostname syntax error" msgstr "Formato inválido no nome do servidor" @@ -407,6 +475,10 @@ msgstr "Formato inválido no nome do servidor" msgid "Illegal frame length" msgstr "" +#: ui/00default.xml:185 +msgid "Input method" +msgstr "" + #: colors.c:371 msgid "Intensified/Protected" msgstr "Intensificado/Protegido" @@ -419,13 +491,14 @@ msgstr "Intensificado/Desprotegido" msgid "Invalid (empty) hostname" msgstr "Nome do host é invalido (vazio)" -#: uiparser/menubar.c:46 -msgid "Invalid or unexpected action attribute in " -msgstr "" +#: uiparser/menubar.c:46 uiparser/toolbar.c:55 +#, fuzzy, c-format +msgid "Invalid or unexpected action attribute in <%s>" +msgstr "Atributo " -#: uiparser/toolbar.c:55 -msgid "Invalid or unexpected action attribute in " -msgstr "" +#: ui/00default.xml:178 +msgid "Keep selected" +msgstr "Manter selecionado" #: paste.c:267 msgid "Keyboard is locked" @@ -440,6 +513,10 @@ msgstr "Faltando ']'" msgid "Model %d (%s)" msgstr "Modelo %d (%s)" +#: ui/00default.xml:168 +msgid "Monocase" +msgstr "Só Maiúsculas" + #: actions.c:500 msgid "Move action needs target & direction attributes" msgstr "Ação \"move\" precisa dos atributos \"target\" e \"direction\"" @@ -456,14 +533,14 @@ msgstr "Mostarda" msgid "Network error" msgstr "Erro de rede" -#: telnet.c:374 -#: telnet.c:385 -#: telnet.c:692 -#: telnet.c:704 -#: telnet.c:976 +#: telnet.c:374 telnet.c:385 telnet.c:692 telnet.c:704 telnet.c:976 msgid "Network startup error" msgstr "Erro ao iniciar a rede" +#: ui/00default.xml:237 +msgid "Next field" +msgstr "Próximo campo" + #: colors.c:370 msgid "Normal/Protected" msgstr "Normal/Protegido" @@ -522,14 +599,48 @@ msgstr "Erro de interpretação" msgid "Parse error in %s" msgstr "Erro de interpretação em %s" +#: ui/00default.xml:114 +msgid "Paste" +msgstr "Colar" + +#: ui/00default.xml:115 +msgid "Paste next" +msgstr "Colar próximo" + +#: ui/00default.xml:118 +#, fuzzy +msgid "Paste text file" +msgstr "Não foi possível salvar arquivo" + #: dialog.c:486 msgid "Paste text file contents" -msgstr "" +msgstr "Colar conteúdo de arquivo texto" + +#: ui/00default.xml:171 +msgid "Paste with left margin" +msgstr "Colar com margem esquerda" #: colors.c:354 msgid "Pink" msgstr "Rosa" +#: ui/00default.xml:236 +msgid "Previous field" +msgstr "Campo anterior" + +#: ui/00default.xml:98 +msgid "Print" +msgstr "Imprimir" + +#: ui/00default.xml:100 +msgid "Print copy" +msgstr "Imprimir cópia" + +#: ui/00default.xml:99 +#, fuzzy +msgid "Print selected" +msgstr "X Protegido" + #: print.c:333 msgid "Print selection box" msgstr "" @@ -542,10 +653,31 @@ msgstr "Servidor proxy (tipo:nome[:port])" msgid "Purple" msgstr "Púrpura" +#: ui/00default.xml:103 +msgid "Receive file" +msgstr "" + #: colors.c:353 msgid "Red" msgstr "Vermelho" +#: ui/99debug.xml:44 +msgid "Reload buffer contents" +msgstr "" + +#: ui/00default.xml:123 +#, fuzzy +msgid "Remove selection" +msgstr "Salvar seleção para arquivo" + +#: ui/00default.xml:124 +msgid "Reselect" +msgstr "Reselecionar" + +#: ui/00default.xml:238 +msgid "Return" +msgstr "" + #: telnet.c:3327 msgid "SSL Connect error" msgstr "Erro na conexão SSL" @@ -554,22 +686,61 @@ msgstr "Erro na conexão SSL" msgid "SSL error" msgstr "Erro SSL" +#: ui/00default.xml:95 +#, fuzzy +msgid "Save copy" +msgstr "Salvar cópia para arquivo" + #: dialog.c:428 msgid "Save copy to file" msgstr "Salvar cópia para arquivo" +#: ui/00default.xml:93 +#, fuzzy +msgid "Save screen" +msgstr "Salvar tela para arquivo" + #: dialog.c:403 msgid "Save screen to file" msgstr "Salvar tela para arquivo" +#: ui/00default.xml:94 +#, fuzzy +msgid "Save selected" +msgstr "Salvar seleção para arquivo" + #: dialog.c:417 msgid "Save selection to file" msgstr "Salvar seleção para arquivo" +#: ui/00default.xml:163 +#, fuzzy +msgid "Screen size" +msgstr "Salvar tela para arquivo" + #: telnet.c:977 msgid "Second connect() failed" msgstr "Segundo connect() falhou" +#: ui/00default.xml:122 +#, fuzzy +msgid "Select Field" +msgstr "WSAEventSelect falhou" + +#: ui/00default.xml:121 +#, fuzzy +msgid "Select all" +msgstr "Selecione host" + +#: ui/00default.xml:174 +msgid "Select by rectangles" +msgstr "Seleção retangular" + +#: ui/00default.xml:160 +#, fuzzy +msgid "Select font" +msgstr "Selecione host" + #: dialog.c:296 msgid "Select hostname" msgstr "Selecione host" @@ -582,13 +753,46 @@ msgstr "Fundo da seleção" msgid "Selection foreground" msgstr "Frente da seleção" +#: ui/00default.xml:104 +msgid "Send file" +msgstr "Enviar arquivo" + +#: ui/00default.xml:103 +msgid "Send/Receive" +msgstr "Enviar/Receber" + +#: ui/00default.xml:142 +#, fuzzy +msgid "Set hostname" +msgstr "Selecione host" + #: glue.c:325 msgid "Set terminal model (screen size)" msgstr "Modelo de terminal (tamanho da tela)" #: glue.c:330 -msgid "Sets the screen dimensions to be larger than the default for the chosen model (COLSxROWS)." -msgstr "Define que as dimensões da tela serão maiores do que o padrão para o modelo escolhido (COLSxROWS)." +msgid "" +"Sets the screen dimensions to be larger than the default for the chosen " +"model (COLSxROWS)." +msgstr "" +"Define que as dimensões da tela serão maiores do que o padrão para o modelo " +"escolhido (COLSxROWS)." + +#: ui/00default.xml:157 +msgid "Settings" +msgstr "Configurações" + +#: ui/00default.xml:177 +msgid "Show Underline" +msgstr "" + +#: ui/99debug.xml:43 +msgid "Show test pattern" +msgstr "Mostrar padrão de teste" + +#: ui/00default.xml:179 +msgid "Smart paste" +msgstr "Colar inteligente" #: telnet.c:1045 msgid "Socket read error" @@ -603,7 +807,8 @@ msgid "Space in LU name" msgstr "Espaçõ no nome da LU" #: glue.c:347 -msgid "Specifies the terminal name to be transmitted over the telnet connection." +msgid "" +"Specifies the terminal name to be transmitted over the telnet connection." msgstr "Define o nome do terminal a ser transmitido através da conexão telnet." #: colors.c:343 @@ -629,31 +834,56 @@ msgstr "O nome do arquivo remoto não é válido" #: dialog.c:526 msgid "" -"This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.\n" +"This program is free software; you can redistribute it and/or modify it " +"under the terms of the GNU General Public License as published by the Free " +"Software Foundation; either version 2 of the License, or (at your option) " +"any later version.\n" "\n" -"This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.\n" +"This program is distributed in the hope that it will be useful, but WITHOUT " +"ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or " +"FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for " +"more details.\n" "\n" -"You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02111-1307 USA" +"You should have received a copy of the GNU General Public License along with " +"this program; if not, write to the Free Software Foundation, Inc., 51 " +"Franklin St, Fifth Floor, Boston, MA 02111-1307 USA" msgstr "" -"Este programa é software livre. Você pode redistribuí-lo e/ou modificá-lo sob os termos da GPL v.2 - Licença Pública Geral GNU, conforme publicado pela Free Software Foundation.\n" +"Este programa é software livre. Você pode redistribuí-lo e/ou modificá-lo " +"sob os termos da GPL v.2 - Licença Pública Geral GNU, conforme publicado " +"pela Free Software Foundation.\n" "\n" -"Este programa é distribuído na expectativa de ser útil, mas SEM QUALQUER GARANTIA; sem mesmo a garantia implícita de COMERCIALIZAÇÃO ou de ADEQUAÇÃO A QUALQUER PROPÓSITO EM PARTICULAR. Consulte a Licença Pública Geral GNU para obter mais detalhes.\n" +"Este programa é distribuído na expectativa de ser útil, mas SEM " +"QUALQUER GARANTIA; sem mesmo a garantia implícita de COMERCIALIZAÇÃO ou de " +"ADEQUAÇÃO A QUALQUER PROPÓSITO EM PARTICULAR. Consulte a Licença Pública " +"Geral GNU para obter mais detalhes.\n" "\n" -"Você deve ter recebido uma cópia da Licença Pública Geral GNU junto com este programa; se não, escreva para a Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA, 02111-1307, USA" +"Você deve ter recebido uma cópia da Licença Pública Geral GNU junto com este " +"programa; se não, escreva para a Free Software Foundation, Inc., 59 Temple " +"Place, Suite 330, Boston, MA, 02111-1307, USA" #: host.c:303 #, c-format -msgid "This version of %s was built without support for secure sockets layer (SSL)." +msgid "" +"This version of %s was built without support for secure sockets layer (SSL)." msgstr "Esta versão do %s foi gerada sem suporte para conexões seguras (SSL)." +#: ui/00default.xml:196 +msgid "Toolbar" +msgstr "Barra de ferramentas" + +#: ui/99debug.xml:36 +msgid "Trace" +msgstr "" + +#: ui/00default.xml:169 +msgid "Track Cursor" +msgstr "Mostrar posição do cursor" + #: ft_cut.c:347 msgid "Transfer cancelled by host" msgstr "Transferência cancelada pelo servidor" -#: ft_cut.c:374 -#: ft_cut.c:468 -#: ft_dft.c:218 -#: ft_dft.c:354 +#: ft_cut.c:374 ft_cut.c:468 ft_dft.c:218 ft_dft.c:354 msgid "Transfer cancelled by user" msgstr "Transferência cancelada pelo usuário" @@ -661,8 +891,7 @@ msgstr "Transferência cancelada pelo usuário" msgid "Transmission error" msgstr "Erro de transmissão" -#: colors.c:356 -#: colors.c:364 +#: colors.c:356 colors.c:364 msgid "Turquoise" msgstr "Turquesa" @@ -715,8 +944,11 @@ msgid "Unexpected or invalid src attribute: \"%s\"" msgstr "" #: v3270/widget.c:687 -msgid "Unexpected signature in H3270 object, possible version mismatch in lib3270" -msgstr "Assinatura inválida no objeto H3270, possível divergência de versão na lib3270" +msgid "" +"Unexpected signature in H3270 object, possible version mismatch in lib3270" +msgstr "" +"Assinatura inválida no objeto H3270, possível divergência de versão na " +"lib3270" #: actions.c:305 #, c-format @@ -761,6 +993,10 @@ msgstr "" msgid "Unknown port number or service: %s" msgstr "Número de porta ou serviço desconhecido: %s" +#: ui/00default.xml:181 +msgid "Use +/- for field navigation" +msgstr "Usar teclas +/- para navegar por campos" + #: dialog.c:565 #, c-format msgid "Version %s - Revision %s" @@ -782,13 +1018,15 @@ msgstr "Europa ocidental (ISO 8859-1)" msgid "White" msgstr "Branco" +#: ui/00default.xml:207 +msgid "Window" +msgstr "" + #: dialog.c:89 msgid "Windows Western languages (CP1252)" msgstr "" -#: v3270/oia.c:387 -#: v3270/oia.c:411 -#: v3270/oia.c:415 +#: v3270/oia.c:387 v3270/oia.c:411 v3270/oia.c:415 msgid "X" msgstr "" @@ -836,6 +1074,24 @@ msgstr "X Aguarde" msgid "Yellow" msgstr "Amarelo" +#: ui/00default.xml:152 +#, fuzzy +msgid "_Connect" +msgstr "X Conectando" + +#: ui/00default.xml:153 +#, fuzzy +msgid "_Disconnect" +msgstr "Servidor a conectar" + +#: ui/00default.xml:110 +msgid "_Edit" +msgstr "_Editar" + +#: ui/00default.xml:85 +msgid "_File" +msgstr "_Arquivo" + #: print.c:290 msgid "_Font:" msgstr "_Fonte:" @@ -844,6 +1100,16 @@ msgstr "_Fonte:" msgid "_Hostname:" msgstr "Nome do _Host:" +#: ui/00default.xml:142 +#, fuzzy +msgid "_Network" +msgstr "Erro de rede" + +#: ui/00default.xml:166 +#, fuzzy +msgid "_Options" +msgstr "Opções" + #: dialog.c:316 msgid "_Port:" msgstr "_Porta:" @@ -852,8 +1118,11 @@ msgstr "_Porta:" msgid "_Secure connection" msgstr "Conexão _Segura" -#: telnet.c:3203 -#: telnet.c:3211 +#: ui/00default.xml:135 +msgid "_View" +msgstr "_Exibir" + +#: telnet.c:3203 telnet.c:3211 #, c-format msgid "fcntl(%s)" msgstr "fcntl(%s)" @@ -863,9 +1132,7 @@ msgstr "fcntl(%s)" msgid "ioctl(%s)" msgstr "ioctl(%s)" -#: telnet.c:584 -#: telnet.c:590 -#: telnet.c:597 +#: telnet.c:584 telnet.c:590 telnet.c:597 #, c-format msgid "setsockopt(%s)" msgstr "setsockopt(%s)" diff --git a/pw3270.cbp b/pw3270.cbp index 9a34c44..d3f27c0 100644 --- a/pw3270.cbp +++ b/pw3270.cbp @@ -46,103 +46,19 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -317,6 +233,102 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/pw3270.spec.in b/pw3270.spec.in index 82b2954..9156d42 100644 --- a/pw3270.spec.in +++ b/pw3270.spec.in @@ -112,7 +112,7 @@ autoconf %build make clean -make Release +make all %install rm -rf $RPM_BUILD_ROOT diff --git a/src/pw3270/uiparser/menubar.c b/src/pw3270/uiparser/menubar.c index 51b9246..544122a 100644 --- a/src/pw3270/uiparser/menubar.c +++ b/src/pw3270/uiparser/menubar.c @@ -37,13 +37,13 @@ { if(info->element) { - *error = g_error_new(ERROR_DOMAIN,EINVAL,"%s", _( " should be on toplevel")); + *error = g_error_new(ERROR_DOMAIN,EINVAL, _( "<%s> should be on toplevel"), "menubar"); return NULL; } if(action) { - *error = g_error_new(ERROR_DOMAIN,EINVAL,"%s", _( "Invalid or unexpected action attribute in ")); + *error = g_error_new(ERROR_DOMAIN,EINVAL, _( "Invalid or unexpected action attribute in <%s>"), "menubar"); return NULL; } diff --git a/src/pw3270/uiparser/toolbar.c b/src/pw3270/uiparser/toolbar.c index efad951..50b3841 100644 --- a/src/pw3270/uiparser/toolbar.c +++ b/src/pw3270/uiparser/toolbar.c @@ -46,13 +46,13 @@ if(info->element) { - *error = g_error_new(ERROR_DOMAIN,EINVAL,"%s", _( " should be on toplevel")); + *error = g_error_new(ERROR_DOMAIN,EINVAL, _( "<%s> should be on toplevel"), "toolbar"); return NULL; } if(action) { - *error = g_error_new(ERROR_DOMAIN,EINVAL,"%s", _( "Invalid or unexpected action attribute in ")); + *error = g_error_new(ERROR_DOMAIN,EINVAL, _( "Invalid or unexpected action attribute in <%s>"), "toolbar"); return NULL; } diff --git a/src/tools/xml2pot.c b/src/tools/xml2pot.c new file mode 100644 index 0000000..a9a90b0 --- /dev/null +++ b/src/tools/xml2pot.c @@ -0,0 +1,184 @@ +/* + * "Software pw3270, desenvolvido com base nos códigos fontes do WC3270 e X3270 + * (Paul Mattes Paul.Mattes@usa.net), de emulação de terminal 3270 para acesso a + * aplicativos mainframe. Registro no INPI sob o nome G3270. + * + * Copyright (C) <2008> + * + * Este programa é software livre. Você pode redistribuí-lo e/ou modificá-lo sob + * os termos da GPL v.2 - Licença Pública Geral GNU, conforme publicado pela + * Free Software Foundation. + * + * Este programa é distribuído na expectativa de ser útil, mas SEM QUALQUER + * GARANTIA; sem mesmo a garantia implícita de COMERCIALIZAÇÃO ou de ADEQUAÇÃO + * A QUALQUER PROPÓSITO EM PARTICULAR. Consulte a Licença Pública Geral GNU para + * obter mais detalhes. + * + * Você deve ter recebido uma cópia da Licença Pública Geral GNU junto com este + * programa; se não, escreva para a Free Software Foundation, Inc., 59 Temple + * Place, Suite 330, Boston, MA, 02111-1307, USA + * + * Este programa está nomeado como xml2pot.c e possui - linhas de código. + * + * Contatos: + * + * perry.werneck@gmail.com (Alexandre Perry de Souza Werneck) + * erico.mendonca@gmail.com (Erico Mascarenhas Mendonça) + * licinio@bb.com.br (Licínio Luis Branco) + * kraucer@bb.com.br (Kraucer Fernandes Mazuco) + * macmiranda@bb.com.br (Marco Aurélio Caldas Miranda) + * + */ + +#include +#include +#include +#include + + static const gchar *filename = NULL; + static FILE *out; + static GHashTable *hash = NULL; + + struct record + { + const gchar *filename; + const gchar *label; + gint line_number; + gint char_number; + + gchar text[1]; + }; + +/*---[ Implement ]----------------------------------------------------------------------------------------*/ + + static void element_start(GMarkupParseContext *context,const gchar *element_name,const gchar **names,const gchar **values, gpointer user_data, GError **error) + { + int f; + + for(f=0;names[f];f++) + { + if(!strcmp(names[f],"label") && values[f]) + { + struct record *rec = g_hash_table_lookup(hash,values[f]); + + if(!rec) + { + struct record *rec = g_malloc0(sizeof(struct record)+strlen(values[f])+strlen(filename)+3); + char *ptr = rec->text; + + g_markup_parse_context_get_position(context,&rec->line_number,&rec->char_number); + + strcpy(ptr,filename); + rec->filename = ptr; + ptr += (strlen(ptr)+1); + + strcpy(ptr,values[f]); + rec->label = ptr; + + g_hash_table_insert(hash,(gpointer) rec->label, rec); + } + } + } + + } + + static void element_end(GMarkupParseContext *context, const gchar *element_name, gpointer user_data, GError **error) + { + } + + static void element_text(GMarkupParseContext *context,const gchar *text,gsize text_len, gpointer user_data, GError **error) + { + } + + static void element_passthrough(GMarkupParseContext *context,const gchar *passthrough_text, gsize text_len, gpointer user_data,GError **error) + { + } + + static void element_error(GMarkupParseContext *context,GError *error,gpointer user_data) + { + } + + static const GMarkupParser parser = + { + element_start, + element_end, + element_text, + element_passthrough, + element_error, + }; + + static int parsefile(GMarkupParseContext *context) + { + GError *error = NULL; + gchar *contents = NULL; + + if(!g_file_get_contents(filename,&contents,NULL,&error)) + { + fprintf(stderr,"%s\n",error->message); + g_error_free(error); + return -1; + } + + if(!g_markup_parse_context_parse(context,contents,strlen(contents),&error)) + { + fprintf(stderr,"%s\n",error->message); + g_error_free(error); + g_free(contents); + return -1; + } + + g_free(contents); + return 0; + } + + static void write_file(gpointer key,struct record *rec, FILE *out) + { + fprintf(out,"#: %s:%d\n",rec->filename,(int) rec->line_number); + fprintf(out,"msgid \"%s\"\n",rec->label); + fprintf(out,"msgstr \"\"\n\n"); + } + + int main (int argc, char *argv[]) + { + static const char * header= "# SOME DESCRIPTIVE TITLE.\n" + "# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER\n" + "# This file is distributed under the same license as the PACKAGE package.\n" + "# FIRST AUTHOR , YEAR.\n" + "#\n" + "#, fuzzy\n" + "msgid \"\"\n" + "msgstr \"\"\n" + "\"Project-Id-Version: PACKAGE VERSION\\n\"\n" + "\"Report-Msgid-Bugs-To: \\n\"\n" + "\"POT-Creation-Date: 2010-01-18 17:12-0200\\n\"\n" + "\"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\\n\"\n" + "\"Last-Translator: FULL NAME \\n\"\n" + "\"Language-Team: LANGUAGE \\n\"\n" + "\"Language: \\n\"\n" + "\"MIME-Version: 1.0\\n\"\n" + "\"Content-Type: text/plain; charset=CHARSET\\n\"\n" + "\"Content-Transfer-Encoding: 8bit\\n\"\n\n"; + + int rc = 0; + int f; + + GMarkupParseContext *context = g_markup_parse_context_new(&parser,G_MARKUP_TREAT_CDATA_AS_TEXT,NULL,NULL); + + out = stdout; + + fprintf(out,"%s",header); + + hash = g_hash_table_new(g_str_hash, g_str_equal); + + for(f=1;f