Commit 2a1897a85c4b012c4edc6c56d58c043e2176fbff
1 parent
946398e1
Exists in
master
and in
5 other branches
Incluindo tradução dos arquivos .xml
Showing
8 changed files
with
643 additions
and
166 deletions
Show diff stats
Makefile.in
@@ -52,6 +52,7 @@ DBGLIB=-L../../$(BINDIR)/Debug/lib -l3270 | @@ -52,6 +52,7 @@ DBGLIB=-L../../$(BINDIR)/Debug/lib -l3270 | ||
52 | RLSLIB=-L../../$(BINDIR)/Release/lib -l3270 | 52 | RLSLIB=-L../../$(BINDIR)/Release/lib -l3270 |
53 | TMPDIR=.tmp | 53 | TMPDIR=.tmp |
54 | GLOBAL_DEPS=$(PWD)/include/*.h $(PWD)/include/lib3270/*.h | 54 | GLOBAL_DEPS=$(PWD)/include/*.h $(PWD)/include/lib3270/*.h |
55 | +LANG_FILES=$(wildcard po/*.po) | ||
55 | 56 | ||
56 | #---[ Tools ]------------------------------------------------------------------ | 57 | #---[ Tools ]------------------------------------------------------------------ |
57 | 58 | ||
@@ -65,6 +66,7 @@ CONVERT=@CONVERT@ | @@ -65,6 +66,7 @@ CONVERT=@CONVERT@ | ||
65 | MSGCAT=@MSGCAT@ | 66 | MSGCAT=@MSGCAT@ |
66 | MSGINIT=@MSGINIT@ | 67 | MSGINIT=@MSGINIT@ |
67 | MSGMERGE=@MSGMERGE@ | 68 | MSGMERGE=@MSGMERGE@ |
69 | +XML2POT=src/tools/xml2pot@EXEEXT@ | ||
68 | 70 | ||
69 | #---[ Rules ]------------------------------------------------------------------ | 71 | #---[ Rules ]------------------------------------------------------------------ |
70 | 72 | ||
@@ -89,9 +91,12 @@ po/%.po: $(PACKAGE_NAME).po | @@ -89,9 +91,12 @@ po/%.po: $(PACKAGE_NAME).po | ||
89 | @touch $(TMPDIR)/$@ | 91 | @touch $(TMPDIR)/$@ |
90 | @$(MSGMERGE) $(TMPDIR)/$@ $(PACKAGE_NAME).po --output-file=$@ | 92 | @$(MSGMERGE) $(TMPDIR)/$@ $(PACKAGE_NAME).po --output-file=$@ |
91 | 93 | ||
94 | +src/tools/%@EXEEXT@: src/tools/%.c | ||
95 | + @make -C src/tools $(notdir $@) | ||
96 | + | ||
92 | #---[ Release targets ]-------------------------------------------------------- | 97 | #---[ Release targets ]-------------------------------------------------------- |
93 | 98 | ||
94 | -all: $(BINDIR)/Release/$(PACKAGE_TARNAME)$(EXEEXT) filelist | 99 | +all: $(BINDIR)/Release/$(PACKAGE_TARNAME)$(EXEEXT) lang filelist |
95 | 100 | ||
96 | Release: $(BINDIR)/Release/$(PACKAGE_TARNAME)$(EXEEXT) | 101 | Release: $(BINDIR)/Release/$(PACKAGE_TARNAME)$(EXEEXT) |
97 | 102 | ||
@@ -135,6 +140,8 @@ endif | @@ -135,6 +140,8 @@ endif | ||
135 | 140 | ||
136 | #---[ Targets ]---------------------------------------------------------------- | 141 | #---[ Targets ]---------------------------------------------------------------- |
137 | 142 | ||
143 | +lang: $(foreach SRC, $(basename $(LANG_FILES)), $(SRC).po) | ||
144 | + | ||
138 | tgz: $(PACKAGE_TARNAME)-$(PACKAGE_VERSION).tar.gz | 145 | tgz: $(PACKAGE_TARNAME)-$(PACKAGE_VERSION).tar.gz |
139 | 146 | ||
140 | rpm: $(PACKAGE_TARNAME)-$(PACKAGE_VERSION).tar.gz | 147 | rpm: $(PACKAGE_TARNAME)-$(PACKAGE_VERSION).tar.gz |
@@ -151,7 +158,12 @@ $(PACKAGE_NAME).po: $(TMPDIR)/$(PACKAGE_NAME).pot | @@ -151,7 +158,12 @@ $(PACKAGE_NAME).po: $(TMPDIR)/$(PACKAGE_NAME).pot | ||
151 | @echo " INIT `basename $@`" | 158 | @echo " INIT `basename $@`" |
152 | @$(MSGINIT) --no-translator -o $@ -i $^ | 159 | @$(MSGINIT) --no-translator -o $@ -i $^ |
153 | 160 | ||
154 | -$(TMPDIR)/$(PACKAGE_NAME).pot: $(BINDIR)/pot/pw3270.pot $(BINDIR)/pot/lib3270.pot | 161 | +$(BINDIR)/pot/ui.pot: $(XML2POT) $(wildcard ui/*.xml) |
162 | + @echo " TEXT `basename $@`" | ||
163 | + @$(MKDIR) `dirname $@` | ||
164 | + @$(XML2POT) $(wildcard ui/*.xml) > $@ | ||
165 | + | ||
166 | +$(TMPDIR)/$(PACKAGE_NAME).pot: $(BINDIR)/pot/pw3270.pot $(BINDIR)/pot/lib3270.pot $(BINDIR)/pot/ui.pot | ||
155 | @echo " TEXT `basename $@`" | 167 | @echo " TEXT `basename $@`" |
156 | @$(MKDIR) `dirname $@` | 168 | @$(MKDIR) `dirname $@` |
157 | @$(MSGCAT) --sort-output $^ | sed "s&VERSION&$(PACKAGE_VERSION)&;s&CHARSET&UTF-8&;s&PACKAGE&$(PACKAGE_NAME)&g" > $@ | 169 | @$(MSGCAT) --sort-output $^ | sed "s&VERSION&$(PACKAGE_VERSION)&;s&CHARSET&UTF-8&;s&PACKAGE&$(PACKAGE_NAME)&g" > $@ |
@@ -203,6 +215,7 @@ clean: | @@ -203,6 +215,7 @@ clean: | ||
203 | @rm -f debian/*.install | 215 | @rm -f debian/*.install |
204 | @make -C src/lib3270 clean | 216 | @make -C src/lib3270 clean |
205 | @make -C src/pw3270 clean | 217 | @make -C src/pw3270 clean |
218 | + @make -C src/tools clean | ||
206 | @rm -f *.log | 219 | @rm -f *.log |
207 | 220 | ||
208 | distclean: clean | 221 | distclean: clean |
configure.ac
@@ -273,6 +273,7 @@ AC_CONFIG_FILES([ | @@ -273,6 +273,7 @@ AC_CONFIG_FILES([ | ||
273 | src/pw3270/Makefile | 273 | src/pw3270/Makefile |
274 | src/pw3270/uiparser/Makefile | 274 | src/pw3270/uiparser/Makefile |
275 | src/pw3270/common/common.h | 275 | src/pw3270/common/common.h |
276 | + src/tools/Makefile | ||
276 | 277 | ||
277 | ]) | 278 | ]) |
278 | 279 |
po/pt_BR.po
@@ -2,7 +2,7 @@ msgid "" | @@ -2,7 +2,7 @@ msgid "" | ||
2 | msgstr "" | 2 | msgstr "" |
3 | "Project-Id-Version: pw3270 5.0\n" | 3 | "Project-Id-Version: pw3270 5.0\n" |
4 | "Report-Msgid-Bugs-To: \n" | 4 | "Report-Msgid-Bugs-To: \n" |
5 | -"POT-Creation-Date: 2012-05-03 16:52-0300\n" | 5 | +"POT-Creation-Date: 2012-05-04 08:17-0300\n" |
6 | "PO-Revision-Date: \n" | 6 | "PO-Revision-Date: \n" |
7 | "Last-Translator: Perry Werneck <perry.werneck@gmail.com>\n" | 7 | "Last-Translator: Perry Werneck <perry.werneck@gmail.com>\n" |
8 | "Language-Team: \n" | 8 | "Language-Team: \n" |
@@ -18,15 +18,12 @@ msgstr "" | @@ -18,15 +18,12 @@ msgstr "" | ||
18 | msgid " Unknown frame type from host" | 18 | msgid " Unknown frame type from host" |
19 | msgstr "" | 19 | msgstr "" |
20 | 20 | ||
21 | -#: actions.c:608 | ||
22 | -#: actions.c:620 | 21 | +#: actions.c:608 actions.c:620 |
23 | #, c-format | 22 | #, c-format |
24 | msgid "%s action needs a valid id attribute" | 23 | msgid "%s action needs a valid id attribute" |
25 | msgstr "Ação %s exige um atributo ID válido" | 24 | msgstr "Ação %s exige um atributo ID válido" |
26 | 25 | ||
27 | -#: actions.c:483 | ||
28 | -#: actions.c:585 | ||
29 | -#: actions.c:597 | 26 | +#: actions.c:483 actions.c:585 actions.c:597 |
30 | #, c-format | 27 | #, c-format |
31 | msgid "%s action needs a valid toggle name" | 28 | msgid "%s action needs a valid toggle name" |
32 | msgstr "Ação %s exige um nome de toggle válido" | 29 | msgstr "Ação %s exige um nome de toggle válido" |
@@ -55,10 +52,7 @@ msgstr "%s:%d" | @@ -55,10 +52,7 @@ msgstr "%s:%d" | ||
55 | msgid "- 3270 Emulator for Gtk" | 52 | msgid "- 3270 Emulator for Gtk" |
56 | msgstr "- Emulador 3270 para GTK" | 53 | msgstr "- Emulador 3270 para GTK" |
57 | 54 | ||
58 | -#: screen.c:622 | ||
59 | -#: screen.c:647 | ||
60 | -#: screen.c:659 | ||
61 | -#: screen.c:768 | 55 | +#: screen.c:622 screen.c:647 screen.c:659 screen.c:768 |
62 | #, fuzzy | 56 | #, fuzzy |
63 | msgid "3270 Error" | 57 | msgid "3270 Error" |
64 | msgstr "Erro 3270" | 58 | msgstr "Erro 3270" |
@@ -75,6 +69,11 @@ msgstr "Tela 3270" | @@ -75,6 +69,11 @@ msgstr "Tela 3270" | ||
75 | msgid "3270 terminal emulator for GTK+" | 69 | msgid "3270 terminal emulator for GTK+" |
76 | msgstr "Emulador 3270 para GTK+" | 70 | msgstr "Emulador 3270 para GTK+" |
77 | 71 | ||
72 | +#: uiparser/menubar.c:40 uiparser/toolbar.c:49 | ||
73 | +#, c-format | ||
74 | +msgid "<%s> should be on toplevel" | ||
75 | +msgstr "" | ||
76 | + | ||
78 | #: uiparser/accelerator.c:41 | 77 | #: uiparser/accelerator.c:41 |
79 | msgid "<accelerator> should be on toplevel" | 78 | msgid "<accelerator> should be on toplevel" |
80 | msgstr "" | 79 | msgstr "" |
@@ -108,10 +107,6 @@ msgstr "<menu> é inválido nesse contexto" | @@ -108,10 +107,6 @@ msgstr "<menu> é inválido nesse contexto" | ||
108 | msgid "<menu> requires a label attribute" | 107 | msgid "<menu> requires a label attribute" |
109 | msgstr "" | 108 | msgstr "" |
110 | 109 | ||
111 | -#: uiparser/menubar.c:40 | ||
112 | -msgid "<menubar> should be on toplevel" | ||
113 | -msgstr "" | ||
114 | - | ||
115 | #: uiparser/menuitem.c:60 | 110 | #: uiparser/menuitem.c:60 |
116 | msgid "<menuitem> is invalid at this context" | 111 | msgid "<menuitem> is invalid at this context" |
117 | msgstr "" | 112 | msgstr "" |
@@ -142,11 +137,7 @@ msgstr "" | @@ -142,11 +137,7 @@ msgstr "" | ||
142 | 137 | ||
143 | #: uiparser/separator.c:53 | 138 | #: uiparser/separator.c:53 |
144 | msgid "<separator> should be inside a <menu> or <toolbar>" | 139 | msgid "<separator> should be inside a <menu> or <toolbar>" |
145 | -msgstr "" | ||
146 | - | ||
147 | -#: uiparser/toolbar.c:49 | ||
148 | -msgid "<toolbar> should be on toplevel" | ||
149 | -msgstr "" | 140 | +msgstr "<separator> só é válido dentro de <menu> ou <toolbar>" |
150 | 141 | ||
151 | #: uiparser/toolitem.c:42 | 142 | #: uiparser/toolitem.c:42 |
152 | msgid "<toolitem> is invalid at this context" | 143 | msgid "<toolitem> is invalid at this context" |
@@ -156,6 +147,14 @@ msgstr "" | @@ -156,6 +147,14 @@ msgstr "" | ||
156 | msgid "Action failed" | 147 | msgid "Action failed" |
157 | msgstr "Ação falhou" | 148 | msgstr "Ação falhou" |
158 | 149 | ||
150 | +#: ui/00default.xml:113 | ||
151 | +msgid "Add to copy" | ||
152 | +msgstr "Adicionar à cópia" | ||
153 | + | ||
154 | +#: ui/00default.xml:180 | ||
155 | +msgid "Alert sound" | ||
156 | +msgstr "Aviso sonoro" | ||
157 | + | ||
159 | #: main.c:145 | 158 | #: main.c:145 |
160 | msgid "Application name" | 159 | msgid "Application name" |
161 | msgstr "Nome da aplicação" | 160 | msgstr "Nome da aplicação" |
@@ -165,6 +164,11 @@ msgstr "Nome da aplicação" | @@ -165,6 +164,11 @@ msgstr "Nome da aplicação" | ||
165 | msgid "Attribute \"%s\" is invalid or undefined" | 164 | msgid "Attribute \"%s\" is invalid or undefined" |
166 | msgstr "Atributo \"%s\" é invalido ou indefinido" | 165 | msgstr "Atributo \"%s\" é invalido ou indefinido" |
167 | 166 | ||
167 | +#: ui/00default.xml:175 | ||
168 | +#, fuzzy | ||
169 | +msgid "Auto-Reconnect" | ||
170 | +msgstr "Servidor a conectar" | ||
171 | + | ||
168 | #: colors.c:351 | 172 | #: colors.c:351 |
169 | msgid "Background" | 173 | msgid "Background" |
170 | msgstr "Fundo" | 174 | msgstr "Fundo" |
@@ -177,10 +181,22 @@ msgstr "Versão winsock inválida" | @@ -177,10 +181,22 @@ msgstr "Versão winsock inválida" | ||
177 | msgid "Black" | 181 | msgid "Black" |
178 | msgstr "Preto" | 182 | msgstr "Preto" |
179 | 183 | ||
184 | +#: ui/00default.xml:173 | ||
185 | +msgid "Blank Fill" | ||
186 | +msgstr "Completar com espaços" | ||
187 | + | ||
188 | +#: ui/00default.xml:167 | ||
189 | +msgid "Blinking Cursor" | ||
190 | +msgstr "Cursor piscante" | ||
191 | + | ||
180 | #: colors.c:352 | 192 | #: colors.c:352 |
181 | msgid "Blue" | 193 | msgid "Blue" |
182 | msgstr "Azul" | 194 | msgstr "Azul" |
183 | 195 | ||
196 | +#: ui/00default.xml:176 | ||
197 | +msgid "Bold" | ||
198 | +msgstr "Negrito" | ||
199 | + | ||
184 | #: dialog.c:576 | 200 | #: dialog.c:576 |
185 | msgid "Brazilian Public Software Portal" | 201 | msgid "Brazilian Public Software Portal" |
186 | msgstr "Portal do Software Público Brasileiro" | 202 | msgstr "Portal do Software Público Brasileiro" |
@@ -225,9 +241,7 @@ msgstr "Não foi possível carregar arquivo" | @@ -225,9 +241,7 @@ msgstr "Não foi possível carregar arquivo" | ||
225 | msgid "Can't open local file" | 241 | msgid "Can't open local file" |
226 | msgstr "Não foi possível abrir arquivo local" | 242 | msgstr "Não foi possível abrir arquivo local" |
227 | 243 | ||
228 | -#: uiparser/parser.c:241 | ||
229 | -#: uiparser/parsefile.c:301 | ||
230 | -#: uiparser/parsefile.c:329 | 244 | +#: uiparser/parser.c:241 uiparser/parsefile.c:301 uiparser/parsefile.c:329 |
231 | msgid "Can't parse UI" | 245 | msgid "Can't parse UI" |
232 | msgstr "" | 246 | msgstr "" |
233 | 247 | ||
@@ -236,8 +250,7 @@ msgstr "" | @@ -236,8 +250,7 @@ msgstr "" | ||
236 | msgid "Can't parse UI description files in %s" | 250 | msgid "Can't parse UI description files in %s" |
237 | msgstr "" | 251 | msgstr "" |
238 | 252 | ||
239 | -#: uiparser/parsefile.c:100 | ||
240 | -#: uiparser/parsefile.c:126 | 253 | +#: uiparser/parsefile.c:100 uiparser/parsefile.c:126 |
241 | msgid "Can't parse unnamed element" | 254 | msgid "Can't parse unnamed element" |
242 | msgstr "" | 255 | msgstr "" |
243 | 256 | ||
@@ -288,12 +301,16 @@ msgstr "" | @@ -288,12 +301,16 @@ msgstr "" | ||
288 | #: init.c:224 | 301 | #: init.c:224 |
289 | #, c-format | 302 | #, c-format |
290 | msgid "Cannot find charset \"%s\", using defaults" | 303 | msgid "Cannot find charset \"%s\", using defaults" |
291 | -msgstr "" | 304 | +msgstr "Não encontrei codificação \"%s\", usando default" |
292 | 305 | ||
293 | #: v3270/selection.c:383 | 306 | #: v3270/selection.c:383 |
294 | msgid "Charset error" | 307 | msgid "Charset error" |
295 | msgstr "Erro de codificação de caracteres" | 308 | msgstr "Erro de codificação de caracteres" |
296 | 309 | ||
310 | +#: ui/00default.xml:127 | ||
311 | +msgid "Clear" | ||
312 | +msgstr "Limpar" | ||
313 | + | ||
297 | #: colors.c:473 | 314 | #: colors.c:473 |
298 | msgid "Color scheme:" | 315 | msgid "Color scheme:" |
299 | msgstr "Tema de cores:" | 316 | msgstr "Tema de cores:" |
@@ -302,6 +319,29 @@ msgstr "Tema de cores:" | @@ -302,6 +319,29 @@ msgstr "Tema de cores:" | ||
302 | msgid "Color setup" | 319 | msgid "Color setup" |
303 | msgstr "Configuração de cores" | 320 | msgstr "Configuração de cores" |
304 | 321 | ||
322 | +#: ui/00default.xml:157 | ||
323 | +#, fuzzy | ||
324 | +msgid "Colors" | ||
325 | +msgstr "Configuração de cores" | ||
326 | + | ||
327 | +#: ui/00default.xml:166 | ||
328 | +#, fuzzy | ||
329 | +msgid "Connect on startup" | ||
330 | +msgstr "Não foi possível conectar ao servidor" | ||
331 | + | ||
332 | +#: ui/00default.xml:110 | ||
333 | +msgid "Copy" | ||
334 | +msgstr "Copiar" | ||
335 | + | ||
336 | +#: ui/00default.xml:111 | ||
337 | +msgid "Copy as table" | ||
338 | +msgstr "Copiar como tabela" | ||
339 | + | ||
340 | +#: ui/00default.xml:172 | ||
341 | +#, fuzzy | ||
342 | +msgid "Cross Hair Cursor" | ||
343 | +msgstr "Cursor mira" | ||
344 | + | ||
305 | #: colors.c:376 | 345 | #: colors.c:376 |
306 | msgid "Cross-hair cursor" | 346 | msgid "Cross-hair cursor" |
307 | msgstr "Cursor mira" | 347 | msgstr "Cursor mira" |
@@ -315,6 +355,10 @@ msgstr "Current (%s)" | @@ -315,6 +355,10 @@ msgstr "Current (%s)" | ||
315 | msgid "Custom colors" | 355 | msgid "Custom colors" |
316 | msgstr "Cores personalizadas" | 356 | msgstr "Cores personalizadas" |
317 | 357 | ||
358 | +#: ui/99debug.xml:36 | ||
359 | +msgid "DS Trace" | ||
360 | +msgstr "" | ||
361 | + | ||
318 | #: colors.c:360 | 362 | #: colors.c:360 |
319 | msgid "Dark Blue" | 363 | msgid "Dark Blue" |
320 | msgstr "Azul Escuro" | 364 | msgstr "Azul Escuro" |
@@ -323,11 +367,18 @@ msgstr "Azul Escuro" | @@ -323,11 +367,18 @@ msgstr "Azul Escuro" | ||
323 | msgid "Dark Green" | 367 | msgid "Dark Green" |
324 | msgstr "Verde Escuro" | 368 | msgstr "Verde Escuro" |
325 | 369 | ||
326 | -#: ft_cut.c:163 | ||
327 | -#: ft_cut.c:171 | 370 | +#: ft_cut.c:163 ft_cut.c:171 |
328 | msgid "Data conversion error" | 371 | msgid "Data conversion error" |
329 | msgstr "Erro na conversão de dados" | 372 | msgstr "Erro na conversão de dados" |
330 | 373 | ||
374 | +#: ui/99debug.xml:43 | ||
375 | +msgid "Debug" | ||
376 | +msgstr "" | ||
377 | + | ||
378 | +#: ui/99debug.xml:45 | ||
379 | +msgid "Debug window updates" | ||
380 | +msgstr "" | ||
381 | + | ||
331 | #: telnet.c:1260 | 382 | #: telnet.c:1260 |
332 | msgid "EOR received when not in 3270 mode, ignored." | 383 | msgid "EOR received when not in 3270 mode, ignored." |
333 | msgstr "" | 384 | msgstr "" |
@@ -336,8 +387,7 @@ msgstr "" | @@ -336,8 +387,7 @@ msgstr "" | ||
336 | msgid "Empty LU name" | 387 | msgid "Empty LU name" |
337 | msgstr "Nome da LU está em branco" | 388 | msgstr "Nome da LU está em branco" |
338 | 389 | ||
339 | -#: host.c:266 | ||
340 | -#: host.c:393 | 390 | +#: host.c:266 host.c:393 |
341 | msgid "Empty hostname" | 391 | msgid "Empty hostname" |
342 | msgstr "Nome do host em branco" | 392 | msgstr "Nome do host em branco" |
343 | 393 | ||
@@ -345,6 +395,18 @@ msgstr "Nome do host em branco" | @@ -345,6 +395,18 @@ msgstr "Nome do host em branco" | ||
345 | msgid "Empty port name" | 395 | msgid "Empty port name" |
346 | msgstr "Porta em branco" | 396 | msgstr "Porta em branco" |
347 | 397 | ||
398 | +#: ui/00default.xml:128 | ||
399 | +msgid "Erase input" | ||
400 | +msgstr "Apagar campos" | ||
401 | + | ||
402 | +#: ui/00default.xml:130 | ||
403 | +msgid "Erase to end of field" | ||
404 | +msgstr "Apagar até o final do campo" | ||
405 | + | ||
406 | +#: ui/00default.xml:131 | ||
407 | +msgid "Erase to end of line" | ||
408 | +msgstr "Apagar até o final da linha" | ||
409 | + | ||
348 | #: resolver.c:106 | 410 | #: resolver.c:106 |
349 | #, c-format | 411 | #, c-format |
350 | msgid "Error %d resolving %s" | 412 | msgid "Error %d resolving %s" |
@@ -360,6 +422,10 @@ msgstr "Erro lendo %s" | @@ -360,6 +422,10 @@ msgstr "Erro lendo %s" | ||
360 | msgid "Error resolving %s: %s" | 422 | msgid "Error resolving %s: %s" |
361 | msgstr "Erro ao resolver %s: %s" | 423 | msgstr "Erro ao resolver %s: %s" |
362 | 424 | ||
425 | +#: ui/99debug.xml:38 | ||
426 | +msgid "Event Trace" | ||
427 | +msgstr "" | ||
428 | + | ||
363 | #: colors.c:344 | 429 | #: colors.c:344 |
364 | msgid "Fields" | 430 | msgid "Fields" |
365 | msgstr "" | 431 | msgstr "" |
@@ -372,6 +438,10 @@ msgstr "" | @@ -372,6 +438,10 @@ msgstr "" | ||
372 | msgid "Forces monochrome display" | 438 | msgid "Forces monochrome display" |
373 | msgstr "Força tela monocromática" | 439 | msgstr "Força tela monocromática" |
374 | 440 | ||
441 | +#: ui/00default.xml:170 | ||
442 | +msgid "Full Screen" | ||
443 | +msgstr "" | ||
444 | + | ||
375 | #: main.c:60 | 445 | #: main.c:60 |
376 | msgid "GTK Version mismatch" | 446 | msgid "GTK Version mismatch" |
377 | msgstr "Divergência de versão GTK" | 447 | msgstr "Divergência de versão GTK" |
@@ -384,6 +454,10 @@ msgstr "Cinza" | @@ -384,6 +454,10 @@ msgstr "Cinza" | ||
384 | msgid "Green" | 454 | msgid "Green" |
385 | msgstr "Verde" | 455 | msgstr "Verde" |
386 | 456 | ||
457 | +#: ui/00default.xml:190 | ||
458 | +msgid "Help" | ||
459 | +msgstr "Ajuda" | ||
460 | + | ||
387 | #: ft.c:378 | 461 | #: ft.c:378 |
388 | msgid "Host disconnected, transfer cancelled" | 462 | msgid "Host disconnected, transfer cancelled" |
389 | msgstr "Host desconectou, transferência cancelada" | 463 | msgstr "Host desconectou, transferência cancelada" |
@@ -392,14 +466,8 @@ msgstr "Host desconectou, transferência cancelada" | @@ -392,14 +466,8 @@ msgstr "Host desconectou, transferência cancelada" | ||
392 | msgid "Host to connect" | 466 | msgid "Host to connect" |
393 | msgstr "Servidor a conectar" | 467 | msgstr "Servidor a conectar" |
394 | 468 | ||
395 | -#: host.c:314 | ||
396 | -#: host.c:339 | ||
397 | -#: host.c:351 | ||
398 | -#: host.c:377 | ||
399 | -#: host.c:389 | ||
400 | -#: host.c:393 | ||
401 | -#: host.c:446 | ||
402 | -#: host.c:461 | 469 | +#: host.c:314 host.c:339 host.c:351 host.c:377 host.c:389 host.c:393 |
470 | +#: host.c:446 host.c:461 | ||
403 | msgid "Hostname syntax error" | 471 | msgid "Hostname syntax error" |
404 | msgstr "Formato inválido no nome do servidor" | 472 | msgstr "Formato inválido no nome do servidor" |
405 | 473 | ||
@@ -407,6 +475,10 @@ msgstr "Formato inválido no nome do servidor" | @@ -407,6 +475,10 @@ msgstr "Formato inválido no nome do servidor" | ||
407 | msgid "Illegal frame length" | 475 | msgid "Illegal frame length" |
408 | msgstr "" | 476 | msgstr "" |
409 | 477 | ||
478 | +#: ui/00default.xml:185 | ||
479 | +msgid "Input method" | ||
480 | +msgstr "" | ||
481 | + | ||
410 | #: colors.c:371 | 482 | #: colors.c:371 |
411 | msgid "Intensified/Protected" | 483 | msgid "Intensified/Protected" |
412 | msgstr "Intensificado/Protegido" | 484 | msgstr "Intensificado/Protegido" |
@@ -419,13 +491,14 @@ msgstr "Intensificado/Desprotegido" | @@ -419,13 +491,14 @@ msgstr "Intensificado/Desprotegido" | ||
419 | msgid "Invalid (empty) hostname" | 491 | msgid "Invalid (empty) hostname" |
420 | msgstr "Nome do host é invalido (vazio)" | 492 | msgstr "Nome do host é invalido (vazio)" |
421 | 493 | ||
422 | -#: uiparser/menubar.c:46 | ||
423 | -msgid "Invalid or unexpected action attribute in <menubar>" | ||
424 | -msgstr "" | 494 | +#: uiparser/menubar.c:46 uiparser/toolbar.c:55 |
495 | +#, fuzzy, c-format | ||
496 | +msgid "Invalid or unexpected action attribute in <%s>" | ||
497 | +msgstr "Atributo " | ||
425 | 498 | ||
426 | -#: uiparser/toolbar.c:55 | ||
427 | -msgid "Invalid or unexpected action attribute in <toolbar>" | ||
428 | -msgstr "" | 499 | +#: ui/00default.xml:178 |
500 | +msgid "Keep selected" | ||
501 | +msgstr "Manter selecionado" | ||
429 | 502 | ||
430 | #: paste.c:267 | 503 | #: paste.c:267 |
431 | msgid "Keyboard is locked" | 504 | msgid "Keyboard is locked" |
@@ -440,6 +513,10 @@ msgstr "Faltando ']'" | @@ -440,6 +513,10 @@ msgstr "Faltando ']'" | ||
440 | msgid "Model %d (%s)" | 513 | msgid "Model %d (%s)" |
441 | msgstr "Modelo %d (%s)" | 514 | msgstr "Modelo %d (%s)" |
442 | 515 | ||
516 | +#: ui/00default.xml:168 | ||
517 | +msgid "Monocase" | ||
518 | +msgstr "Só Maiúsculas" | ||
519 | + | ||
443 | #: actions.c:500 | 520 | #: actions.c:500 |
444 | msgid "Move action needs target & direction attributes" | 521 | msgid "Move action needs target & direction attributes" |
445 | msgstr "Ação \"move\" precisa dos atributos \"target\" e \"direction\"" | 522 | msgstr "Ação \"move\" precisa dos atributos \"target\" e \"direction\"" |
@@ -456,14 +533,14 @@ msgstr "Mostarda" | @@ -456,14 +533,14 @@ msgstr "Mostarda" | ||
456 | msgid "Network error" | 533 | msgid "Network error" |
457 | msgstr "Erro de rede" | 534 | msgstr "Erro de rede" |
458 | 535 | ||
459 | -#: telnet.c:374 | ||
460 | -#: telnet.c:385 | ||
461 | -#: telnet.c:692 | ||
462 | -#: telnet.c:704 | ||
463 | -#: telnet.c:976 | 536 | +#: telnet.c:374 telnet.c:385 telnet.c:692 telnet.c:704 telnet.c:976 |
464 | msgid "Network startup error" | 537 | msgid "Network startup error" |
465 | msgstr "Erro ao iniciar a rede" | 538 | msgstr "Erro ao iniciar a rede" |
466 | 539 | ||
540 | +#: ui/00default.xml:237 | ||
541 | +msgid "Next field" | ||
542 | +msgstr "Próximo campo" | ||
543 | + | ||
467 | #: colors.c:370 | 544 | #: colors.c:370 |
468 | msgid "Normal/Protected" | 545 | msgid "Normal/Protected" |
469 | msgstr "Normal/Protegido" | 546 | msgstr "Normal/Protegido" |
@@ -522,14 +599,48 @@ msgstr "Erro de interpretação" | @@ -522,14 +599,48 @@ msgstr "Erro de interpretação" | ||
522 | msgid "Parse error in %s" | 599 | msgid "Parse error in %s" |
523 | msgstr "Erro de interpretação em %s" | 600 | msgstr "Erro de interpretação em %s" |
524 | 601 | ||
602 | +#: ui/00default.xml:114 | ||
603 | +msgid "Paste" | ||
604 | +msgstr "Colar" | ||
605 | + | ||
606 | +#: ui/00default.xml:115 | ||
607 | +msgid "Paste next" | ||
608 | +msgstr "Colar próximo" | ||
609 | + | ||
610 | +#: ui/00default.xml:118 | ||
611 | +#, fuzzy | ||
612 | +msgid "Paste text file" | ||
613 | +msgstr "Não foi possível salvar arquivo" | ||
614 | + | ||
525 | #: dialog.c:486 | 615 | #: dialog.c:486 |
526 | msgid "Paste text file contents" | 616 | msgid "Paste text file contents" |
527 | -msgstr "" | 617 | +msgstr "Colar conteúdo de arquivo texto" |
618 | + | ||
619 | +#: ui/00default.xml:171 | ||
620 | +msgid "Paste with left margin" | ||
621 | +msgstr "Colar com margem esquerda" | ||
528 | 622 | ||
529 | #: colors.c:354 | 623 | #: colors.c:354 |
530 | msgid "Pink" | 624 | msgid "Pink" |
531 | msgstr "Rosa" | 625 | msgstr "Rosa" |
532 | 626 | ||
627 | +#: ui/00default.xml:236 | ||
628 | +msgid "Previous field" | ||
629 | +msgstr "Campo anterior" | ||
630 | + | ||
631 | +#: ui/00default.xml:98 | ||
632 | +msgid "Print" | ||
633 | +msgstr "Imprimir" | ||
634 | + | ||
635 | +#: ui/00default.xml:100 | ||
636 | +msgid "Print copy" | ||
637 | +msgstr "Imprimir cópia" | ||
638 | + | ||
639 | +#: ui/00default.xml:99 | ||
640 | +#, fuzzy | ||
641 | +msgid "Print selected" | ||
642 | +msgstr "X Protegido" | ||
643 | + | ||
533 | #: print.c:333 | 644 | #: print.c:333 |
534 | msgid "Print selection box" | 645 | msgid "Print selection box" |
535 | msgstr "" | 646 | msgstr "" |
@@ -542,10 +653,31 @@ msgstr "Servidor proxy (tipo:nome[:port])" | @@ -542,10 +653,31 @@ msgstr "Servidor proxy (tipo:nome[:port])" | ||
542 | msgid "Purple" | 653 | msgid "Purple" |
543 | msgstr "Púrpura" | 654 | msgstr "Púrpura" |
544 | 655 | ||
656 | +#: ui/00default.xml:103 | ||
657 | +msgid "Receive file" | ||
658 | +msgstr "" | ||
659 | + | ||
545 | #: colors.c:353 | 660 | #: colors.c:353 |
546 | msgid "Red" | 661 | msgid "Red" |
547 | msgstr "Vermelho" | 662 | msgstr "Vermelho" |
548 | 663 | ||
664 | +#: ui/99debug.xml:44 | ||
665 | +msgid "Reload buffer contents" | ||
666 | +msgstr "" | ||
667 | + | ||
668 | +#: ui/00default.xml:123 | ||
669 | +#, fuzzy | ||
670 | +msgid "Remove selection" | ||
671 | +msgstr "Salvar seleção para arquivo" | ||
672 | + | ||
673 | +#: ui/00default.xml:124 | ||
674 | +msgid "Reselect" | ||
675 | +msgstr "Reselecionar" | ||
676 | + | ||
677 | +#: ui/00default.xml:238 | ||
678 | +msgid "Return" | ||
679 | +msgstr "" | ||
680 | + | ||
549 | #: telnet.c:3327 | 681 | #: telnet.c:3327 |
550 | msgid "SSL Connect error" | 682 | msgid "SSL Connect error" |
551 | msgstr "Erro na conexão SSL" | 683 | msgstr "Erro na conexão SSL" |
@@ -554,22 +686,61 @@ msgstr "Erro na conexão SSL" | @@ -554,22 +686,61 @@ msgstr "Erro na conexão SSL" | ||
554 | msgid "SSL error" | 686 | msgid "SSL error" |
555 | msgstr "Erro SSL" | 687 | msgstr "Erro SSL" |
556 | 688 | ||
689 | +#: ui/00default.xml:95 | ||
690 | +#, fuzzy | ||
691 | +msgid "Save copy" | ||
692 | +msgstr "Salvar cópia para arquivo" | ||
693 | + | ||
557 | #: dialog.c:428 | 694 | #: dialog.c:428 |
558 | msgid "Save copy to file" | 695 | msgid "Save copy to file" |
559 | msgstr "Salvar cópia para arquivo" | 696 | msgstr "Salvar cópia para arquivo" |
560 | 697 | ||
698 | +#: ui/00default.xml:93 | ||
699 | +#, fuzzy | ||
700 | +msgid "Save screen" | ||
701 | +msgstr "Salvar tela para arquivo" | ||
702 | + | ||
561 | #: dialog.c:403 | 703 | #: dialog.c:403 |
562 | msgid "Save screen to file" | 704 | msgid "Save screen to file" |
563 | msgstr "Salvar tela para arquivo" | 705 | msgstr "Salvar tela para arquivo" |
564 | 706 | ||
707 | +#: ui/00default.xml:94 | ||
708 | +#, fuzzy | ||
709 | +msgid "Save selected" | ||
710 | +msgstr "Salvar seleção para arquivo" | ||
711 | + | ||
565 | #: dialog.c:417 | 712 | #: dialog.c:417 |
566 | msgid "Save selection to file" | 713 | msgid "Save selection to file" |
567 | msgstr "Salvar seleção para arquivo" | 714 | msgstr "Salvar seleção para arquivo" |
568 | 715 | ||
716 | +#: ui/00default.xml:163 | ||
717 | +#, fuzzy | ||
718 | +msgid "Screen size" | ||
719 | +msgstr "Salvar tela para arquivo" | ||
720 | + | ||
569 | #: telnet.c:977 | 721 | #: telnet.c:977 |
570 | msgid "Second connect() failed" | 722 | msgid "Second connect() failed" |
571 | msgstr "Segundo connect() falhou" | 723 | msgstr "Segundo connect() falhou" |
572 | 724 | ||
725 | +#: ui/00default.xml:122 | ||
726 | +#, fuzzy | ||
727 | +msgid "Select Field" | ||
728 | +msgstr "WSAEventSelect falhou" | ||
729 | + | ||
730 | +#: ui/00default.xml:121 | ||
731 | +#, fuzzy | ||
732 | +msgid "Select all" | ||
733 | +msgstr "Selecione host" | ||
734 | + | ||
735 | +#: ui/00default.xml:174 | ||
736 | +msgid "Select by rectangles" | ||
737 | +msgstr "Seleção retangular" | ||
738 | + | ||
739 | +#: ui/00default.xml:160 | ||
740 | +#, fuzzy | ||
741 | +msgid "Select font" | ||
742 | +msgstr "Selecione host" | ||
743 | + | ||
573 | #: dialog.c:296 | 744 | #: dialog.c:296 |
574 | msgid "Select hostname" | 745 | msgid "Select hostname" |
575 | msgstr "Selecione host" | 746 | msgstr "Selecione host" |
@@ -582,13 +753,46 @@ msgstr "Fundo da seleção" | @@ -582,13 +753,46 @@ msgstr "Fundo da seleção" | ||
582 | msgid "Selection foreground" | 753 | msgid "Selection foreground" |
583 | msgstr "Frente da seleção" | 754 | msgstr "Frente da seleção" |
584 | 755 | ||
756 | +#: ui/00default.xml:104 | ||
757 | +msgid "Send file" | ||
758 | +msgstr "Enviar arquivo" | ||
759 | + | ||
760 | +#: ui/00default.xml:103 | ||
761 | +msgid "Send/Receive" | ||
762 | +msgstr "Enviar/Receber" | ||
763 | + | ||
764 | +#: ui/00default.xml:142 | ||
765 | +#, fuzzy | ||
766 | +msgid "Set hostname" | ||
767 | +msgstr "Selecione host" | ||
768 | + | ||
585 | #: glue.c:325 | 769 | #: glue.c:325 |
586 | msgid "Set terminal model (screen size)" | 770 | msgid "Set terminal model (screen size)" |
587 | msgstr "Modelo de terminal (tamanho da tela)" | 771 | msgstr "Modelo de terminal (tamanho da tela)" |
588 | 772 | ||
589 | #: glue.c:330 | 773 | #: glue.c:330 |
590 | -msgid "Sets the screen dimensions to be larger than the default for the chosen model (COLSxROWS)." | ||
591 | -msgstr "Define que as dimensões da tela serão maiores do que o padrão para o modelo escolhido (COLSxROWS)." | 774 | +msgid "" |
775 | +"Sets the screen dimensions to be larger than the default for the chosen " | ||
776 | +"model (COLSxROWS)." | ||
777 | +msgstr "" | ||
778 | +"Define que as dimensões da tela serão maiores do que o padrão para o modelo " | ||
779 | +"escolhido (COLSxROWS)." | ||
780 | + | ||
781 | +#: ui/00default.xml:157 | ||
782 | +msgid "Settings" | ||
783 | +msgstr "Configurações" | ||
784 | + | ||
785 | +#: ui/00default.xml:177 | ||
786 | +msgid "Show Underline" | ||
787 | +msgstr "" | ||
788 | + | ||
789 | +#: ui/99debug.xml:43 | ||
790 | +msgid "Show test pattern" | ||
791 | +msgstr "Mostrar padrão de teste" | ||
792 | + | ||
793 | +#: ui/00default.xml:179 | ||
794 | +msgid "Smart paste" | ||
795 | +msgstr "Colar inteligente" | ||
592 | 796 | ||
593 | #: telnet.c:1045 | 797 | #: telnet.c:1045 |
594 | msgid "Socket read error" | 798 | msgid "Socket read error" |
@@ -603,7 +807,8 @@ msgid "Space in LU name" | @@ -603,7 +807,8 @@ msgid "Space in LU name" | ||
603 | msgstr "Espaçõ no nome da LU" | 807 | msgstr "Espaçõ no nome da LU" |
604 | 808 | ||
605 | #: glue.c:347 | 809 | #: glue.c:347 |
606 | -msgid "Specifies the terminal name to be transmitted over the telnet connection." | 810 | +msgid "" |
811 | +"Specifies the terminal name to be transmitted over the telnet connection." | ||
607 | msgstr "Define o nome do terminal a ser transmitido através da conexão telnet." | 812 | msgstr "Define o nome do terminal a ser transmitido através da conexão telnet." |
608 | 813 | ||
609 | #: colors.c:343 | 814 | #: colors.c:343 |
@@ -629,31 +834,56 @@ msgstr "O nome do arquivo remoto não é válido" | @@ -629,31 +834,56 @@ msgstr "O nome do arquivo remoto não é válido" | ||
629 | 834 | ||
630 | #: dialog.c:526 | 835 | #: dialog.c:526 |
631 | msgid "" | 836 | msgid "" |
632 | -"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" | 837 | +"This program is free software; you can redistribute it and/or modify it " |
838 | +"under the terms of the GNU General Public License as published by the Free " | ||
839 | +"Software Foundation; either version 2 of the License, or (at your option) " | ||
840 | +"any later version.\n" | ||
633 | "\n" | 841 | "\n" |
634 | -"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" | 842 | +"This program is distributed in the hope that it will be useful, but WITHOUT " |
843 | +"ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or " | ||
844 | +"FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for " | ||
845 | +"more details.\n" | ||
635 | "\n" | 846 | "\n" |
636 | -"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" | 847 | +"You should have received a copy of the GNU General Public License along with " |
848 | +"this program; if not, write to the Free Software Foundation, Inc., 51 " | ||
849 | +"Franklin St, Fifth Floor, Boston, MA 02111-1307 USA" | ||
637 | msgstr "" | 850 | msgstr "" |
638 | -"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" | 851 | +"Este programa é software livre. Você pode redistribuí-lo e/ou modificá-lo " |
852 | +"sob os termos da GPL v.2 - Licença Pública Geral GNU, conforme publicado " | ||
853 | +"pela Free Software Foundation.\n" | ||
639 | "\n" | 854 | "\n" |
640 | -"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" | 855 | +"Este programa é distribuído na expectativa de ser útil, mas SEM " |
856 | +"QUALQUER GARANTIA; sem mesmo a garantia implícita de COMERCIALIZAÇÃO ou de " | ||
857 | +"ADEQUAÇÃO A QUALQUER PROPÓSITO EM PARTICULAR. Consulte a Licença Pública " | ||
858 | +"Geral GNU para obter mais detalhes.\n" | ||
641 | "\n" | 859 | "\n" |
642 | -"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" | 860 | +"Você deve ter recebido uma cópia da Licença Pública Geral GNU junto com este " |
861 | +"programa; se não, escreva para a Free Software Foundation, Inc., 59 Temple " | ||
862 | +"Place, Suite 330, Boston, MA, 02111-1307, USA" | ||
643 | 863 | ||
644 | #: host.c:303 | 864 | #: host.c:303 |
645 | #, c-format | 865 | #, c-format |
646 | -msgid "This version of %s was built without support for secure sockets layer (SSL)." | 866 | +msgid "" |
867 | +"This version of %s was built without support for secure sockets layer (SSL)." | ||
647 | msgstr "Esta versão do %s foi gerada sem suporte para conexões seguras (SSL)." | 868 | msgstr "Esta versão do %s foi gerada sem suporte para conexões seguras (SSL)." |
648 | 869 | ||
870 | +#: ui/00default.xml:196 | ||
871 | +msgid "Toolbar" | ||
872 | +msgstr "Barra de ferramentas" | ||
873 | + | ||
874 | +#: ui/99debug.xml:36 | ||
875 | +msgid "Trace" | ||
876 | +msgstr "" | ||
877 | + | ||
878 | +#: ui/00default.xml:169 | ||
879 | +msgid "Track Cursor" | ||
880 | +msgstr "Mostrar posição do cursor" | ||
881 | + | ||
649 | #: ft_cut.c:347 | 882 | #: ft_cut.c:347 |
650 | msgid "Transfer cancelled by host" | 883 | msgid "Transfer cancelled by host" |
651 | msgstr "Transferência cancelada pelo servidor" | 884 | msgstr "Transferência cancelada pelo servidor" |
652 | 885 | ||
653 | -#: ft_cut.c:374 | ||
654 | -#: ft_cut.c:468 | ||
655 | -#: ft_dft.c:218 | ||
656 | -#: ft_dft.c:354 | 886 | +#: ft_cut.c:374 ft_cut.c:468 ft_dft.c:218 ft_dft.c:354 |
657 | msgid "Transfer cancelled by user" | 887 | msgid "Transfer cancelled by user" |
658 | msgstr "Transferência cancelada pelo usuário" | 888 | msgstr "Transferência cancelada pelo usuário" |
659 | 889 | ||
@@ -661,8 +891,7 @@ msgstr "Transferência cancelada pelo usuário" | @@ -661,8 +891,7 @@ msgstr "Transferência cancelada pelo usuário" | ||
661 | msgid "Transmission error" | 891 | msgid "Transmission error" |
662 | msgstr "Erro de transmissão" | 892 | msgstr "Erro de transmissão" |
663 | 893 | ||
664 | -#: colors.c:356 | ||
665 | -#: colors.c:364 | 894 | +#: colors.c:356 colors.c:364 |
666 | msgid "Turquoise" | 895 | msgid "Turquoise" |
667 | msgstr "Turquesa" | 896 | msgstr "Turquesa" |
668 | 897 | ||
@@ -715,8 +944,11 @@ msgid "Unexpected or invalid src attribute: \"%s\"" | @@ -715,8 +944,11 @@ msgid "Unexpected or invalid src attribute: \"%s\"" | ||
715 | msgstr "" | 944 | msgstr "" |
716 | 945 | ||
717 | #: v3270/widget.c:687 | 946 | #: v3270/widget.c:687 |
718 | -msgid "Unexpected signature in H3270 object, possible version mismatch in lib3270" | ||
719 | -msgstr "Assinatura inválida no objeto H3270, possível divergência de versão na lib3270" | 947 | +msgid "" |
948 | +"Unexpected signature in H3270 object, possible version mismatch in lib3270" | ||
949 | +msgstr "" | ||
950 | +"Assinatura inválida no objeto H3270, possível divergência de versão na " | ||
951 | +"lib3270" | ||
720 | 952 | ||
721 | #: actions.c:305 | 953 | #: actions.c:305 |
722 | #, c-format | 954 | #, c-format |
@@ -761,6 +993,10 @@ msgstr "" | @@ -761,6 +993,10 @@ msgstr "" | ||
761 | msgid "Unknown port number or service: %s" | 993 | msgid "Unknown port number or service: %s" |
762 | msgstr "Número de porta ou serviço desconhecido: %s" | 994 | msgstr "Número de porta ou serviço desconhecido: %s" |
763 | 995 | ||
996 | +#: ui/00default.xml:181 | ||
997 | +msgid "Use +/- for field navigation" | ||
998 | +msgstr "Usar teclas +/- para navegar por campos" | ||
999 | + | ||
764 | #: dialog.c:565 | 1000 | #: dialog.c:565 |
765 | #, c-format | 1001 | #, c-format |
766 | msgid "Version %s - Revision %s" | 1002 | msgid "Version %s - Revision %s" |
@@ -782,13 +1018,15 @@ msgstr "Europa ocidental (ISO 8859-1)" | @@ -782,13 +1018,15 @@ msgstr "Europa ocidental (ISO 8859-1)" | ||
782 | msgid "White" | 1018 | msgid "White" |
783 | msgstr "Branco" | 1019 | msgstr "Branco" |
784 | 1020 | ||
1021 | +#: ui/00default.xml:207 | ||
1022 | +msgid "Window" | ||
1023 | +msgstr "" | ||
1024 | + | ||
785 | #: dialog.c:89 | 1025 | #: dialog.c:89 |
786 | msgid "Windows Western languages (CP1252)" | 1026 | msgid "Windows Western languages (CP1252)" |
787 | msgstr "" | 1027 | msgstr "" |
788 | 1028 | ||
789 | -#: v3270/oia.c:387 | ||
790 | -#: v3270/oia.c:411 | ||
791 | -#: v3270/oia.c:415 | 1029 | +#: v3270/oia.c:387 v3270/oia.c:411 v3270/oia.c:415 |
792 | msgid "X" | 1030 | msgid "X" |
793 | msgstr "" | 1031 | msgstr "" |
794 | 1032 | ||
@@ -836,6 +1074,24 @@ msgstr "X Aguarde" | @@ -836,6 +1074,24 @@ msgstr "X Aguarde" | ||
836 | msgid "Yellow" | 1074 | msgid "Yellow" |
837 | msgstr "Amarelo" | 1075 | msgstr "Amarelo" |
838 | 1076 | ||
1077 | +#: ui/00default.xml:152 | ||
1078 | +#, fuzzy | ||
1079 | +msgid "_Connect" | ||
1080 | +msgstr "X Conectando" | ||
1081 | + | ||
1082 | +#: ui/00default.xml:153 | ||
1083 | +#, fuzzy | ||
1084 | +msgid "_Disconnect" | ||
1085 | +msgstr "Servidor a conectar" | ||
1086 | + | ||
1087 | +#: ui/00default.xml:110 | ||
1088 | +msgid "_Edit" | ||
1089 | +msgstr "_Editar" | ||
1090 | + | ||
1091 | +#: ui/00default.xml:85 | ||
1092 | +msgid "_File" | ||
1093 | +msgstr "_Arquivo" | ||
1094 | + | ||
839 | #: print.c:290 | 1095 | #: print.c:290 |
840 | msgid "_Font:" | 1096 | msgid "_Font:" |
841 | msgstr "_Fonte:" | 1097 | msgstr "_Fonte:" |
@@ -844,6 +1100,16 @@ msgstr "_Fonte:" | @@ -844,6 +1100,16 @@ msgstr "_Fonte:" | ||
844 | msgid "_Hostname:" | 1100 | msgid "_Hostname:" |
845 | msgstr "Nome do _Host:" | 1101 | msgstr "Nome do _Host:" |
846 | 1102 | ||
1103 | +#: ui/00default.xml:142 | ||
1104 | +#, fuzzy | ||
1105 | +msgid "_Network" | ||
1106 | +msgstr "Erro de rede" | ||
1107 | + | ||
1108 | +#: ui/00default.xml:166 | ||
1109 | +#, fuzzy | ||
1110 | +msgid "_Options" | ||
1111 | +msgstr "Opções" | ||
1112 | + | ||
847 | #: dialog.c:316 | 1113 | #: dialog.c:316 |
848 | msgid "_Port:" | 1114 | msgid "_Port:" |
849 | msgstr "_Porta:" | 1115 | msgstr "_Porta:" |
@@ -852,8 +1118,11 @@ msgstr "_Porta:" | @@ -852,8 +1118,11 @@ msgstr "_Porta:" | ||
852 | msgid "_Secure connection" | 1118 | msgid "_Secure connection" |
853 | msgstr "Conexão _Segura" | 1119 | msgstr "Conexão _Segura" |
854 | 1120 | ||
855 | -#: telnet.c:3203 | ||
856 | -#: telnet.c:3211 | 1121 | +#: ui/00default.xml:135 |
1122 | +msgid "_View" | ||
1123 | +msgstr "_Exibir" | ||
1124 | + | ||
1125 | +#: telnet.c:3203 telnet.c:3211 | ||
857 | #, c-format | 1126 | #, c-format |
858 | msgid "fcntl(%s)" | 1127 | msgid "fcntl(%s)" |
859 | msgstr "fcntl(%s)" | 1128 | msgstr "fcntl(%s)" |
@@ -863,9 +1132,7 @@ msgstr "fcntl(%s)" | @@ -863,9 +1132,7 @@ msgstr "fcntl(%s)" | ||
863 | msgid "ioctl(%s)" | 1132 | msgid "ioctl(%s)" |
864 | msgstr "ioctl(%s)" | 1133 | msgstr "ioctl(%s)" |
865 | 1134 | ||
866 | -#: telnet.c:584 | ||
867 | -#: telnet.c:590 | ||
868 | -#: telnet.c:597 | 1135 | +#: telnet.c:584 telnet.c:590 telnet.c:597 |
869 | #, c-format | 1136 | #, c-format |
870 | msgid "setsockopt(%s)" | 1137 | msgid "setsockopt(%s)" |
871 | msgstr "setsockopt(%s)" | 1138 | msgstr "setsockopt(%s)" |
pw3270.cbp
@@ -46,103 +46,19 @@ | @@ -46,103 +46,19 @@ | ||
46 | <Unit filename="configure.ac" /> | 46 | <Unit filename="configure.ac" /> |
47 | <Unit filename="pw3270.spec.in" /> | 47 | <Unit filename="pw3270.spec.in" /> |
48 | <Unit filename="src/gtk/Makefile.in" /> | 48 | <Unit filename="src/gtk/Makefile.in" /> |
49 | - <Unit filename="src/gtk/actions.c"> | ||
50 | - <Option compilerVar="CC" /> | ||
51 | - </Unit> | ||
52 | - <Unit filename="src/gtk/colors.c"> | ||
53 | - <Option compilerVar="CC" /> | ||
54 | - </Unit> | ||
55 | <Unit filename="src/gtk/common/common.h" /> | 49 | <Unit filename="src/gtk/common/common.h" /> |
56 | <Unit filename="src/gtk/common/common.h.in" /> | 50 | <Unit filename="src/gtk/common/common.h.in" /> |
57 | - <Unit filename="src/gtk/common/config.c"> | ||
58 | - <Option compilerVar="CC" /> | ||
59 | - </Unit> | ||
60 | - <Unit filename="src/gtk/dialog.c"> | ||
61 | - <Option compilerVar="CC" /> | ||
62 | - </Unit> | ||
63 | - <Unit filename="src/gtk/fonts.c"> | ||
64 | - <Option compilerVar="CC" /> | ||
65 | - </Unit> | ||
66 | <Unit filename="src/gtk/globals.h" /> | 51 | <Unit filename="src/gtk/globals.h" /> |
67 | - <Unit filename="src/gtk/main.c"> | ||
68 | - <Option compilerVar="CC" /> | ||
69 | - </Unit> | ||
70 | - <Unit filename="src/gtk/print.c"> | ||
71 | - <Option compilerVar="CC" /> | ||
72 | - </Unit> | ||
73 | <Unit filename="src/gtk/uiparser/Makefile.in" /> | 52 | <Unit filename="src/gtk/uiparser/Makefile.in" /> |
74 | - <Unit filename="src/gtk/uiparser/accelerator.c"> | ||
75 | - <Option compilerVar="CC" /> | ||
76 | - </Unit> | ||
77 | - <Unit filename="src/gtk/uiparser/action.c"> | ||
78 | - <Option compilerVar="CC" /> | ||
79 | - </Unit> | ||
80 | - <Unit filename="src/gtk/uiparser/menu.c"> | ||
81 | - <Option compilerVar="CC" /> | ||
82 | - </Unit> | ||
83 | - <Unit filename="src/gtk/uiparser/menubar.c"> | ||
84 | - <Option compilerVar="CC" /> | ||
85 | - </Unit> | ||
86 | - <Unit filename="src/gtk/uiparser/menuitem.c"> | ||
87 | - <Option compilerVar="CC" /> | ||
88 | - </Unit> | ||
89 | - <Unit filename="src/gtk/uiparser/parsefile.c"> | ||
90 | - <Option compilerVar="CC" /> | ||
91 | - </Unit> | ||
92 | - <Unit filename="src/gtk/uiparser/parser.c"> | ||
93 | - <Option compilerVar="CC" /> | ||
94 | - </Unit> | ||
95 | <Unit filename="src/gtk/uiparser/parser.h" /> | 53 | <Unit filename="src/gtk/uiparser/parser.h" /> |
96 | - <Unit filename="src/gtk/uiparser/popup.c"> | ||
97 | - <Option compilerVar="CC" /> | ||
98 | - </Unit> | ||
99 | <Unit filename="src/gtk/uiparser/private.h" /> | 54 | <Unit filename="src/gtk/uiparser/private.h" /> |
100 | - <Unit filename="src/gtk/uiparser/script.c"> | ||
101 | - <Option compilerVar="CC" /> | ||
102 | - </Unit> | ||
103 | - <Unit filename="src/gtk/uiparser/separator.c"> | ||
104 | - <Option compilerVar="CC" /> | ||
105 | - </Unit> | ||
106 | <Unit filename="src/gtk/uiparser/sources.mak" /> | 55 | <Unit filename="src/gtk/uiparser/sources.mak" /> |
107 | - <Unit filename="src/gtk/uiparser/toolbar.c"> | ||
108 | - <Option compilerVar="CC" /> | ||
109 | - </Unit> | ||
110 | - <Unit filename="src/gtk/uiparser/toolitem.c"> | ||
111 | - <Option compilerVar="CC" /> | ||
112 | - </Unit> | ||
113 | - <Unit filename="src/gtk/v3270/accessible.c"> | ||
114 | - <Option compilerVar="CC" /> | ||
115 | - </Unit> | ||
116 | <Unit filename="src/gtk/v3270/accessible.h" /> | 56 | <Unit filename="src/gtk/v3270/accessible.h" /> |
117 | - <Unit filename="src/gtk/v3270/draw.c"> | ||
118 | - <Option compilerVar="CC" /> | ||
119 | - </Unit> | ||
120 | <Unit filename="src/gtk/v3270/genmarshal" /> | 57 | <Unit filename="src/gtk/v3270/genmarshal" /> |
121 | - <Unit filename="src/gtk/v3270/iocallback.c"> | ||
122 | - <Option compilerVar="CC" /> | ||
123 | - </Unit> | ||
124 | - <Unit filename="src/gtk/v3270/keyboard.c"> | ||
125 | - <Option compilerVar="CC" /> | ||
126 | - </Unit> | ||
127 | - <Unit filename="src/gtk/v3270/mouse.c"> | ||
128 | - <Option compilerVar="CC" /> | ||
129 | - </Unit> | ||
130 | - <Unit filename="src/gtk/v3270/oia.c"> | ||
131 | - <Option compilerVar="CC" /> | ||
132 | - </Unit> | ||
133 | <Unit filename="src/gtk/v3270/private.h" /> | 58 | <Unit filename="src/gtk/v3270/private.h" /> |
134 | - <Unit filename="src/gtk/v3270/selection.c"> | ||
135 | - <Option compilerVar="CC" /> | ||
136 | - </Unit> | ||
137 | <Unit filename="src/gtk/v3270/sources.mak" /> | 59 | <Unit filename="src/gtk/v3270/sources.mak" /> |
138 | <Unit filename="src/gtk/v3270/v3270.h" /> | 60 | <Unit filename="src/gtk/v3270/v3270.h" /> |
139 | - <Unit filename="src/gtk/v3270/widget.c"> | ||
140 | - <Option compilerVar="CC" /> | ||
141 | - </Unit> | ||
142 | <Unit filename="src/gtk/valgrind.suppression" /> | 61 | <Unit filename="src/gtk/valgrind.suppression" /> |
143 | - <Unit filename="src/gtk/window.c"> | ||
144 | - <Option compilerVar="CC" /> | ||
145 | - </Unit> | ||
146 | <Unit filename="src/include/lib3270.h" /> | 62 | <Unit filename="src/include/lib3270.h" /> |
147 | <Unit filename="src/include/lib3270/action_table.h" /> | 63 | <Unit filename="src/include/lib3270/action_table.h" /> |
148 | <Unit filename="src/include/lib3270/actions.h" /> | 64 | <Unit filename="src/include/lib3270/actions.h" /> |
@@ -317,6 +233,102 @@ | @@ -317,6 +233,102 @@ | ||
317 | </Unit> | 233 | </Unit> |
318 | <Unit filename="src/lib3270/xioc.h" /> | 234 | <Unit filename="src/lib3270/xioc.h" /> |
319 | <Unit filename="src/lib3270/xl.h" /> | 235 | <Unit filename="src/lib3270/xl.h" /> |
236 | + <Unit filename="src/pw3270/actions.c"> | ||
237 | + <Option compilerVar="CC" /> | ||
238 | + </Unit> | ||
239 | + <Unit filename="src/pw3270/colors.c"> | ||
240 | + <Option compilerVar="CC" /> | ||
241 | + </Unit> | ||
242 | + <Unit filename="src/pw3270/common/common.h.in" /> | ||
243 | + <Unit filename="src/pw3270/common/config.c"> | ||
244 | + <Option compilerVar="CC" /> | ||
245 | + </Unit> | ||
246 | + <Unit filename="src/pw3270/common/sources.mak" /> | ||
247 | + <Unit filename="src/pw3270/dialog.c"> | ||
248 | + <Option compilerVar="CC" /> | ||
249 | + </Unit> | ||
250 | + <Unit filename="src/pw3270/fonts.c"> | ||
251 | + <Option compilerVar="CC" /> | ||
252 | + </Unit> | ||
253 | + <Unit filename="src/pw3270/globals.h" /> | ||
254 | + <Unit filename="src/pw3270/main.c"> | ||
255 | + <Option compilerVar="CC" /> | ||
256 | + </Unit> | ||
257 | + <Unit filename="src/pw3270/print.c"> | ||
258 | + <Option compilerVar="CC" /> | ||
259 | + </Unit> | ||
260 | + <Unit filename="src/pw3270/uiparser/Makefile.in" /> | ||
261 | + <Unit filename="src/pw3270/uiparser/accelerator.c"> | ||
262 | + <Option compilerVar="CC" /> | ||
263 | + </Unit> | ||
264 | + <Unit filename="src/pw3270/uiparser/action.c"> | ||
265 | + <Option compilerVar="CC" /> | ||
266 | + </Unit> | ||
267 | + <Unit filename="src/pw3270/uiparser/menu.c"> | ||
268 | + <Option compilerVar="CC" /> | ||
269 | + </Unit> | ||
270 | + <Unit filename="src/pw3270/uiparser/menubar.c"> | ||
271 | + <Option compilerVar="CC" /> | ||
272 | + </Unit> | ||
273 | + <Unit filename="src/pw3270/uiparser/menuitem.c"> | ||
274 | + <Option compilerVar="CC" /> | ||
275 | + </Unit> | ||
276 | + <Unit filename="src/pw3270/uiparser/parsefile.c"> | ||
277 | + <Option compilerVar="CC" /> | ||
278 | + </Unit> | ||
279 | + <Unit filename="src/pw3270/uiparser/parser.c"> | ||
280 | + <Option compilerVar="CC" /> | ||
281 | + </Unit> | ||
282 | + <Unit filename="src/pw3270/uiparser/parser.h" /> | ||
283 | + <Unit filename="src/pw3270/uiparser/popup.c"> | ||
284 | + <Option compilerVar="CC" /> | ||
285 | + </Unit> | ||
286 | + <Unit filename="src/pw3270/uiparser/private.h" /> | ||
287 | + <Unit filename="src/pw3270/uiparser/script.c"> | ||
288 | + <Option compilerVar="CC" /> | ||
289 | + </Unit> | ||
290 | + <Unit filename="src/pw3270/uiparser/separator.c"> | ||
291 | + <Option compilerVar="CC" /> | ||
292 | + </Unit> | ||
293 | + <Unit filename="src/pw3270/uiparser/sources.mak" /> | ||
294 | + <Unit filename="src/pw3270/uiparser/toolbar.c"> | ||
295 | + <Option compilerVar="CC" /> | ||
296 | + </Unit> | ||
297 | + <Unit filename="src/pw3270/uiparser/toolitem.c"> | ||
298 | + <Option compilerVar="CC" /> | ||
299 | + </Unit> | ||
300 | + <Unit filename="src/pw3270/v3270/accessible.c"> | ||
301 | + <Option compilerVar="CC" /> | ||
302 | + </Unit> | ||
303 | + <Unit filename="src/pw3270/v3270/accessible.h" /> | ||
304 | + <Unit filename="src/pw3270/v3270/draw.c"> | ||
305 | + <Option compilerVar="CC" /> | ||
306 | + </Unit> | ||
307 | + <Unit filename="src/pw3270/v3270/genmarshal" /> | ||
308 | + <Unit filename="src/pw3270/v3270/iocallback.c"> | ||
309 | + <Option compilerVar="CC" /> | ||
310 | + </Unit> | ||
311 | + <Unit filename="src/pw3270/v3270/keyboard.c"> | ||
312 | + <Option compilerVar="CC" /> | ||
313 | + </Unit> | ||
314 | + <Unit filename="src/pw3270/v3270/mouse.c"> | ||
315 | + <Option compilerVar="CC" /> | ||
316 | + </Unit> | ||
317 | + <Unit filename="src/pw3270/v3270/oia.c"> | ||
318 | + <Option compilerVar="CC" /> | ||
319 | + </Unit> | ||
320 | + <Unit filename="src/pw3270/v3270/private.h" /> | ||
321 | + <Unit filename="src/pw3270/v3270/selection.c"> | ||
322 | + <Option compilerVar="CC" /> | ||
323 | + </Unit> | ||
324 | + <Unit filename="src/pw3270/v3270/sources.mak" /> | ||
325 | + <Unit filename="src/pw3270/v3270/v3270.h" /> | ||
326 | + <Unit filename="src/pw3270/v3270/widget.c"> | ||
327 | + <Option compilerVar="CC" /> | ||
328 | + </Unit> | ||
329 | + <Unit filename="src/pw3270/window.c"> | ||
330 | + <Option compilerVar="CC" /> | ||
331 | + </Unit> | ||
320 | <Unit filename="ui/00default.xml" /> | 332 | <Unit filename="ui/00default.xml" /> |
321 | <Unit filename="ui/99debug.xml" /> | 333 | <Unit filename="ui/99debug.xml" /> |
322 | <Extensions> | 334 | <Extensions> |
pw3270.spec.in
src/pw3270/uiparser/menubar.c
@@ -37,13 +37,13 @@ | @@ -37,13 +37,13 @@ | ||
37 | { | 37 | { |
38 | if(info->element) | 38 | if(info->element) |
39 | { | 39 | { |
40 | - *error = g_error_new(ERROR_DOMAIN,EINVAL,"%s", _( "<menubar> should be on toplevel")); | 40 | + *error = g_error_new(ERROR_DOMAIN,EINVAL, _( "<%s> should be on toplevel"), "menubar"); |
41 | return NULL; | 41 | return NULL; |
42 | } | 42 | } |
43 | 43 | ||
44 | if(action) | 44 | if(action) |
45 | { | 45 | { |
46 | - *error = g_error_new(ERROR_DOMAIN,EINVAL,"%s", _( "Invalid or unexpected action attribute in <menubar>")); | 46 | + *error = g_error_new(ERROR_DOMAIN,EINVAL, _( "Invalid or unexpected action attribute in <%s>"), "menubar"); |
47 | return NULL; | 47 | return NULL; |
48 | } | 48 | } |
49 | 49 |
src/pw3270/uiparser/toolbar.c
@@ -46,13 +46,13 @@ | @@ -46,13 +46,13 @@ | ||
46 | 46 | ||
47 | if(info->element) | 47 | if(info->element) |
48 | { | 48 | { |
49 | - *error = g_error_new(ERROR_DOMAIN,EINVAL,"%s", _( "<toolbar> should be on toplevel")); | 49 | + *error = g_error_new(ERROR_DOMAIN,EINVAL, _( "<%s> should be on toplevel"), "toolbar"); |
50 | return NULL; | 50 | return NULL; |
51 | } | 51 | } |
52 | 52 | ||
53 | if(action) | 53 | if(action) |
54 | { | 54 | { |
55 | - *error = g_error_new(ERROR_DOMAIN,EINVAL,"%s", _( "Invalid or unexpected action attribute in <toolbar>")); | 55 | + *error = g_error_new(ERROR_DOMAIN,EINVAL, _( "Invalid or unexpected action attribute in <%s>"), "toolbar"); |
56 | return NULL; | 56 | return NULL; |
57 | } | 57 | } |
58 | 58 |
@@ -0,0 +1,184 @@ | @@ -0,0 +1,184 @@ | ||
1 | +/* | ||
2 | + * "Software pw3270, desenvolvido com base nos códigos fontes do WC3270 e X3270 | ||
3 | + * (Paul Mattes Paul.Mattes@usa.net), de emulação de terminal 3270 para acesso a | ||
4 | + * aplicativos mainframe. Registro no INPI sob o nome G3270. | ||
5 | + * | ||
6 | + * Copyright (C) <2008> <Banco do Brasil S.A.> | ||
7 | + * | ||
8 | + * Este programa é software livre. Você pode redistribuí-lo e/ou modificá-lo sob | ||
9 | + * os termos da GPL v.2 - Licença Pública Geral GNU, conforme publicado pela | ||
10 | + * Free Software Foundation. | ||
11 | + * | ||
12 | + * Este programa é distribuído na expectativa de ser útil, mas SEM QUALQUER | ||
13 | + * GARANTIA; sem mesmo a garantia implícita de COMERCIALIZAÇÃO ou de ADEQUAÇÃO | ||
14 | + * A QUALQUER PROPÓSITO EM PARTICULAR. Consulte a Licença Pública Geral GNU para | ||
15 | + * obter mais detalhes. | ||
16 | + * | ||
17 | + * Você deve ter recebido uma cópia da Licença Pública Geral GNU junto com este | ||
18 | + * programa; se não, escreva para a Free Software Foundation, Inc., 59 Temple | ||
19 | + * Place, Suite 330, Boston, MA, 02111-1307, USA | ||
20 | + * | ||
21 | + * Este programa está nomeado como xml2pot.c e possui - linhas de código. | ||
22 | + * | ||
23 | + * Contatos: | ||
24 | + * | ||
25 | + * perry.werneck@gmail.com (Alexandre Perry de Souza Werneck) | ||
26 | + * erico.mendonca@gmail.com (Erico Mascarenhas Mendonça) | ||
27 | + * licinio@bb.com.br (Licínio Luis Branco) | ||
28 | + * kraucer@bb.com.br (Kraucer Fernandes Mazuco) | ||
29 | + * macmiranda@bb.com.br (Marco Aurélio Caldas Miranda) | ||
30 | + * | ||
31 | + */ | ||
32 | + | ||
33 | +#include <stdlib.h> | ||
34 | +#include <stdio.h> | ||
35 | +#include <glib.h> | ||
36 | +#include <string.h> | ||
37 | + | ||
38 | + static const gchar *filename = NULL; | ||
39 | + static FILE *out; | ||
40 | + static GHashTable *hash = NULL; | ||
41 | + | ||
42 | + struct record | ||
43 | + { | ||
44 | + const gchar *filename; | ||
45 | + const gchar *label; | ||
46 | + gint line_number; | ||
47 | + gint char_number; | ||
48 | + | ||
49 | + gchar text[1]; | ||
50 | + }; | ||
51 | + | ||
52 | +/*---[ Implement ]----------------------------------------------------------------------------------------*/ | ||
53 | + | ||
54 | + static void element_start(GMarkupParseContext *context,const gchar *element_name,const gchar **names,const gchar **values, gpointer user_data, GError **error) | ||
55 | + { | ||
56 | + int f; | ||
57 | + | ||
58 | + for(f=0;names[f];f++) | ||
59 | + { | ||
60 | + if(!strcmp(names[f],"label") && values[f]) | ||
61 | + { | ||
62 | + struct record *rec = g_hash_table_lookup(hash,values[f]); | ||
63 | + | ||
64 | + if(!rec) | ||
65 | + { | ||
66 | + struct record *rec = g_malloc0(sizeof(struct record)+strlen(values[f])+strlen(filename)+3); | ||
67 | + char *ptr = rec->text; | ||
68 | + | ||
69 | + g_markup_parse_context_get_position(context,&rec->line_number,&rec->char_number); | ||
70 | + | ||
71 | + strcpy(ptr,filename); | ||
72 | + rec->filename = ptr; | ||
73 | + ptr += (strlen(ptr)+1); | ||
74 | + | ||
75 | + strcpy(ptr,values[f]); | ||
76 | + rec->label = ptr; | ||
77 | + | ||
78 | + g_hash_table_insert(hash,(gpointer) rec->label, rec); | ||
79 | + } | ||
80 | + } | ||
81 | + } | ||
82 | + | ||
83 | + } | ||
84 | + | ||
85 | + static void element_end(GMarkupParseContext *context, const gchar *element_name, gpointer user_data, GError **error) | ||
86 | + { | ||
87 | + } | ||
88 | + | ||
89 | + static void element_text(GMarkupParseContext *context,const gchar *text,gsize text_len, gpointer user_data, GError **error) | ||
90 | + { | ||
91 | + } | ||
92 | + | ||
93 | + static void element_passthrough(GMarkupParseContext *context,const gchar *passthrough_text, gsize text_len, gpointer user_data,GError **error) | ||
94 | + { | ||
95 | + } | ||
96 | + | ||
97 | + static void element_error(GMarkupParseContext *context,GError *error,gpointer user_data) | ||
98 | + { | ||
99 | + } | ||
100 | + | ||
101 | + static const GMarkupParser parser = | ||
102 | + { | ||
103 | + element_start, | ||
104 | + element_end, | ||
105 | + element_text, | ||
106 | + element_passthrough, | ||
107 | + element_error, | ||
108 | + }; | ||
109 | + | ||
110 | + static int parsefile(GMarkupParseContext *context) | ||
111 | + { | ||
112 | + GError *error = NULL; | ||
113 | + gchar *contents = NULL; | ||
114 | + | ||
115 | + if(!g_file_get_contents(filename,&contents,NULL,&error)) | ||
116 | + { | ||
117 | + fprintf(stderr,"%s\n",error->message); | ||
118 | + g_error_free(error); | ||
119 | + return -1; | ||
120 | + } | ||
121 | + | ||
122 | + if(!g_markup_parse_context_parse(context,contents,strlen(contents),&error)) | ||
123 | + { | ||
124 | + fprintf(stderr,"%s\n",error->message); | ||
125 | + g_error_free(error); | ||
126 | + g_free(contents); | ||
127 | + return -1; | ||
128 | + } | ||
129 | + | ||
130 | + g_free(contents); | ||
131 | + return 0; | ||
132 | + } | ||
133 | + | ||
134 | + static void write_file(gpointer key,struct record *rec, FILE *out) | ||
135 | + { | ||
136 | + fprintf(out,"#: %s:%d\n",rec->filename,(int) rec->line_number); | ||
137 | + fprintf(out,"msgid \"%s\"\n",rec->label); | ||
138 | + fprintf(out,"msgstr \"\"\n\n"); | ||
139 | + } | ||
140 | + | ||
141 | + int main (int argc, char *argv[]) | ||
142 | + { | ||
143 | + static const char * header= "# SOME DESCRIPTIVE TITLE.\n" | ||
144 | + "# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER\n" | ||
145 | + "# This file is distributed under the same license as the PACKAGE package.\n" | ||
146 | + "# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.\n" | ||
147 | + "#\n" | ||
148 | + "#, fuzzy\n" | ||
149 | + "msgid \"\"\n" | ||
150 | + "msgstr \"\"\n" | ||
151 | + "\"Project-Id-Version: PACKAGE VERSION\\n\"\n" | ||
152 | + "\"Report-Msgid-Bugs-To: \\n\"\n" | ||
153 | + "\"POT-Creation-Date: 2010-01-18 17:12-0200\\n\"\n" | ||
154 | + "\"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\\n\"\n" | ||
155 | + "\"Last-Translator: FULL NAME <EMAIL@ADDRESS>\\n\"\n" | ||
156 | + "\"Language-Team: LANGUAGE <LL@li.org>\\n\"\n" | ||
157 | + "\"Language: \\n\"\n" | ||
158 | + "\"MIME-Version: 1.0\\n\"\n" | ||
159 | + "\"Content-Type: text/plain; charset=CHARSET\\n\"\n" | ||
160 | + "\"Content-Transfer-Encoding: 8bit\\n\"\n\n"; | ||
161 | + | ||
162 | + int rc = 0; | ||
163 | + int f; | ||
164 | + | ||
165 | + GMarkupParseContext *context = g_markup_parse_context_new(&parser,G_MARKUP_TREAT_CDATA_AS_TEXT,NULL,NULL); | ||
166 | + | ||
167 | + out = stdout; | ||
168 | + | ||
169 | + fprintf(out,"%s",header); | ||
170 | + | ||
171 | + hash = g_hash_table_new(g_str_hash, g_str_equal); | ||
172 | + | ||
173 | + for(f=1;f<argc;f++) | ||
174 | + { | ||
175 | + filename = argv[f]; | ||
176 | + rc = parsefile(context); | ||
177 | + } | ||
178 | + | ||
179 | + g_hash_table_foreach(hash,(GHFunc) write_file, out); | ||
180 | + | ||
181 | + | ||
182 | + return rc; | ||
183 | + } | ||
184 | + |