Changeset 257
- Timestamp:
- 04/05/03 13:02:57 (6 years ago)
- Files:
-
- trunk/jggtrans.xml (modified) (1 diff)
- trunk/jggtrans.xml.Pl (modified) (1 diff)
- trunk/po/pl.po (modified) (4 diffs, 2 props)
- trunk/src/ggtrans.h (modified) (2 diffs)
- trunk/src/iq.c (modified) (3 diffs)
- trunk/src/main.c (modified) (15 diffs)
- trunk/src/message.c (modified) (4 diffs)
- trunk/src/presence.c (modified) (2 diffs)
- trunk/src/requests.c (modified) (3 diffs)
- trunk/src/sessions.c (modified) (3 diffs)
- trunk/src/users.c (modified) (7 diffs)
- trunk/src/users.h (modified) (3 diffs)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
trunk/jggtrans.xml
r235 r257 88 88 </vCard> 89 89 90 <!-- Default user locale (language). 91 Empty means system locale setting, 92 no (or commented-out) <default_locale> tag means no translations. --> 93 <!-- <default_locale>pl_PL</default_locale> --> 94 90 95 <!-- Logger configuration. 91 96 You may configure one logger of type "syslog" and/or one of type "file". trunk/jggtrans.xml.Pl
r246 r257 95 95 </vCard> 96 96 97 <!-- domyślne locale (język) użytkownika. 98 Puste oznacza lokale systemowe, a brak to brak tłumaczeń --> 99 <default_locale>pl_PL</default_locale> 100 97 101 <!-- 98 102 Konfiguracja logów. trunk/po/pl.po
- Property svn:eol-style deleted
- Property svn:keywords deleted
r255 r257 6 6 msgstr "" 7 7 "Project-Id-Version: jabber-gg-transport 1.4.1\n" 8 "POT-Creation-Date: 2003-04-0 4 19:39+0200\n"8 "POT-Creation-Date: 2003-04-05 12:55+0200\n" 9 9 "PO-Revision-Date: 2003-04-04 19:43+0200\n" 10 10 "Last-Translator: Jacek Konieczny <jajcus@pld.org.pl>\n" … … 54 54 msgstr "" 55 55 56 #: src/main.c:280 56 #: src/main.c:243 57 msgid "Daemonizing..." 58 msgstr "" 59 60 #: src/main.c:245 61 #, c-format 62 msgid "Failed to fork(): %s" 63 msgstr "" 64 65 #: src/main.c:251 66 #, c-format 67 msgid "Daemon born, pid %i." 68 msgstr "" 69 70 #: src/main.c:273 71 msgid "I am a daemon, I think." 72 msgstr "" 73 74 #: src/main.c:282 57 75 #, c-format 58 76 msgid "" … … 61 79 msgstr "" 62 80 63 #: src/main.c:28 1 src/main.c:29081 #: src/main.c:283 src/main.c:292 64 82 msgid "\n" 65 83 msgstr "" 66 84 67 #: src/main.c:28 285 #: src/main.c:284 68 86 #, c-format 69 87 msgid "\tUsage: %s [OPTIONS]... [<config file>]\n" 70 88 msgstr "" 71 89 72 #: src/main.c:28 390 #: src/main.c:285 73 91 msgid "" 74 92 "\n" … … 76 94 msgstr "" 77 95 78 #: src/main.c:28 496 #: src/main.c:286 79 97 msgid "\t-h\t This message\n" 80 98 msgstr "" 81 99 82 #: src/main.c:28 5100 #: src/main.c:287 83 101 msgid "" 84 102 "\t-f\t Run in foreground. Debug/error messages will be sent to stderr\n" 85 103 msgstr "" 86 104 87 #: src/main.c:28688 msgid "\t-d <n> Log level (0(default) - normal, >0 more, <0 less)\n"89 msgstr ""90 91 #: src/main.c:28792 msgid "\t-D <n> libgg debug level (enables also -f)\n"93 msgstr ""94 95 105 #: src/main.c:288 96 msgid "\t- u <user> Switch to uid of <user> on startup\n"106 msgid "\t-d <n>\tLog level (0(default) - normal, >0 more, <0 less)\n" 97 107 msgstr "" 98 108 99 109 #: src/main.c:289 100 msgid "\t-g <group> Switch to gid of <group> on startup\n" 101 msgstr "" 102 103 #: src/main.c:349 110 msgid "\t-D <n>\tlibgg debug level (enables also -f)\n" 111 msgstr "" 112 113 #: src/main.c:290 114 msgid "\t-u <user>\tSwitch to uid of <user> on startup\n" 115 msgstr "" 116 117 #: src/main.c:291 118 msgid "\t-g <group>\tSwitch to gid of <group> on startup\n" 119 msgstr "" 120 121 #: src/main.c:351 104 122 msgid "Cannot change user." 105 123 msgstr "" 106 124 107 #: src/main.c:35 3125 #: src/main.c:355 108 126 msgid "Cannot change group." 109 127 msgstr "" 110 128 111 #: src/main.c:3 58129 #: src/main.c:360 112 130 #, c-format 113 131 msgid "Unknown command-line option: -%c.\n" 114 132 msgstr "Nieznana opcja: -%c.\n" 115 133 116 #: src/main.c:36 0134 #: src/main.c:362 117 135 #, c-format 118 136 msgid "Unknown command-line option: -\\%03o.\n" 119 137 msgstr "Nieznana opcja: -\\%03o.\n" 120 138 121 #: src/main.c:36 4139 #: src/main.c:366 122 140 msgid "Error while processing command line options" 123 141 msgstr "" 124 142 125 #: src/main.c:37 0143 #: src/main.c:372 126 144 #, c-format 127 145 msgid "Unexpected argument: %s\n" 128 146 msgstr "" 129 147 130 # vi: encoding=utf-8 148 #: src/main.c:392 149 msgid "Couldn't load config!" 150 msgstr "" 151 152 #: src/main.c:397 153 #, c-format 154 msgid "%s doesn't look like jggtrans config file." 155 msgstr "" 156 157 #: src/main.c:408 158 msgid "Multiple syslog configs specified. Using only one." 159 msgstr "" 160 161 #: src/main.c:419 162 #, c-format 163 msgid "Unknown syslog facility: %s" 164 msgstr "" 165 166 #: src/main.c:422 167 msgid "Multiple log files specified. Using only one." 168 msgstr "" 169 170 #: src/main.c:429 171 #, c-format 172 msgid "Ignoring unknown log type: %s" 173 msgstr "" 174 175 #: src/main.c:446 176 msgid "jggtrans already running" 177 msgstr "" 178 179 #: src/main.c:448 180 msgid "Stale pid file. Removing." 181 msgstr "" 182 183 #: src/main.c:452 184 msgid "Invalid pid file." 185 msgstr "" 186 187 #: src/main.c:456 188 #, c-format 189 msgid "Couldn't open pidfile %s" 190 msgstr "" 191 192 #: src/main.c:463 193 #, c-format 194 msgid "Couldn't find group %s" 195 msgstr "" 196 197 #: src/main.c:468 198 #, c-format 199 msgid "Couldn't find user %s" 200 msgstr "" 201 202 #: src/main.c:471 203 #, c-format 204 msgid "Couldn't change group: %s" 205 msgstr "" 206 207 #: src/main.c:472 208 #, c-format 209 msgid "Couldn't init groups: %s" 210 msgstr "" 211 212 #: src/main.c:473 213 #, c-format 214 msgid "Couldn't change user: %s" 215 msgstr "" 216 217 #: src/main.c:475 218 msgid "Refusing to run with uid=0" 219 msgstr "" 220 221 #: src/main.c:493 222 #, c-format 223 msgid "Couldn't open log file '%s': %s" 224 msgstr "" 225 226 #: src/main.c:525 227 #, c-format 228 msgid "Restarting in %i seconds.\n" 229 msgstr "" 230 231 #: src/main.c:546 232 msgid "Exiting normally.\n" 233 msgstr "" 234 235 #: src/message.c:432 236 msgid "" 237 "\n" 238 "Available commands (and abbreviations):" 239 msgstr "" 240 "\n" 241 "Dost�e komendy (i skr�:" 242 243 #: src/message.c:437 244 msgid " EXPERIMENTAL!" 245 msgstr "" 246 247 #: src/message.c:439 248 #, c-format 249 msgid "" 250 "%s\n" 251 "Current settings:" 252 msgstr "" 253 254 #: src/message.c:440 255 #, c-format 256 msgid "" 257 "%s\n" 258 " friends only: %s" 259 msgstr "" 260 261 #: src/message.c:440 src/message.c:441 262 msgid "on" 263 msgstr "" 264 265 #: src/message.c:440 src/message.c:441 266 msgid "off" 267 msgstr "" 268 269 #: src/message.c:441 270 #, c-format 271 msgid "" 272 "%s\n" 273 " invisible: %s" 274 msgstr "" trunk/src/ggtrans.h
r255 r257 1 /* $Id: ggtrans.h,v 1. 7 2003/04/04 17:59:32jajcus Exp $ */1 /* $Id: ggtrans.h,v 1.8 2003/04/05 11:02:57 jajcus Exp $ */ 2 2 3 3 /* … … 30 30 31 31 /* dummy gettext shortcut for translating error/debug messages after log handler is set */ 32 #define __(String) gettext (String)32 #define N_(String) gettext (String) 33 33 34 34 extern GMainLoop *main_loop; trunk/src/iq.c
r244 r257 1 /* $Id: iq.c,v 1.3 5 2003/03/25 07:43:45jajcus Exp $ */1 /* $Id: iq.c,v 1.36 2003/04/05 11:02:57 jajcus Exp $ */ 2 2 3 3 /* … … 319 319 void jabber_iq(Stream *s,xmlnode x){ 320 320 char *type; 321 char *from; 322 User *u; 321 323 322 324 if (jabber_state!=JS_CONNECTED){ … … 324 326 return; 325 327 } 328 329 from=xmlnode_get_attrib(x,"from"); 330 if (from) u=user_get_by_jid(from); 331 else u=NULL; 332 user_load_locale(u); 326 333 327 334 type=xmlnode_get_attrib(x,"type"); trunk/src/main.c
r256 r257 1 /* $Id: main.c,v 1.3 6 2003/04/05 10:24:50jajcus Exp $ */1 /* $Id: main.c,v 1.37 2003/04/05 11:02:57 jajcus Exp $ */ 2 2 3 3 /* … … 220 220 const gchar *message, gpointer user_data){ 221 221 222 char *lc_ctype,*lc_messages; 223 222 char *lc_ctype,*lc_messages,*td_codeset; 223 224 td_codeset=bind_textdomain_codeset(PACKAGE,NULL); 224 225 lc_ctype=setlocale(LC_CTYPE,NULL); 225 226 lc_messages=setlocale(LC_MESSAGES,NULL); … … 232 233 setlocale(LC_CTYPE,lc_ctype); 233 234 setlocale(LC_MESSAGES,lc_ctype); 235 bind_textdomain_codeset(PACKAGE,td_codeset); 234 236 } 235 237 … … 239 241 int fd; 240 242 241 debug( __("Daemonizing..."));243 debug(N_("Daemonizing...")); 242 244 pid=fork(); 243 if (pid==-1) g_error( __("Failed to fork(): %s"),g_strerror(errno));245 if (pid==-1) g_error(N_("Failed to fork(): %s"),g_strerror(errno)); 244 246 if (pid){ 245 247 if (pidfile){ … … 247 249 fclose(pidfile); 248 250 } 249 debug( __("Daemon born, pid %i."),pid);251 debug(N_("Daemon born, pid %i."),pid); 250 252 exit(0); 251 253 } … … 269 271 if (sid==-1) abort(); 270 272 foreground=FALSE; 271 debug( __("I am a daemon, I think."));273 debug(N_("I am a daemon, I think.")); 272 274 return; 273 275 } … … 384 386 setlocale(LC_MESSAGES,"C"); 385 387 setlocale(LC_CTYPE,"C"); 388 bind_textdomain_codeset(PACKAGE,"UTF-8"); 386 389 387 390 config=xmlnode_file(config_file); 388 391 if (!config){ 389 g_error( __("Couldn't load config!"));392 g_error(N_("Couldn't load config!")); 390 393 return 1; 391 394 } 392 395 str=xmlnode_get_name(config); 393 396 if (!str || strcmp(str,"jggtrans")){ 394 g_error( __("%s doesn't look like jggtrans config file."),config_file);397 g_error(N_("%s doesn't look like jggtrans config file."),config_file); 395 398 return 1; 396 399 } … … 403 406 if (!strcmp(log_type,"syslog")){ 404 407 if (log_facility!=-1){ 405 g_warning( __("Multiple syslog configs specified. Using only one."));408 g_warning(N_("Multiple syslog configs specified. Using only one.")); 406 409 continue; 407 410 } … … 414 417 if (!strcmp(facilitynames[log_facility].name,str)) break; 415 418 if (!facilitynames[log_facility].name) 416 g_error( __("Unknown syslog facility: %s"),str);419 g_error(N_("Unknown syslog facility: %s"),str); 417 420 } 418 421 else if (!strcmp(log_type,"file")){ 419 if (log_filename) g_warning( __("Multiple log files specified. Using only one."));422 if (log_filename) g_warning(N_("Multiple log files specified. Using only one.")); 420 423 else{ 421 424 data=xmlnode_get_data(tag); … … 424 427 } 425 428 } 426 else g_warning( __("Ignoring unknown log type: %s"),xmlnode2str(tag));429 else g_warning(N_("Ignoring unknown log type: %s"),xmlnode2str(tag)); 427 430 } 428 431 … … 441 444 if (r==1 && pid>0){ 442 445 r=kill(pid,0); 443 if (!r || (r && errno!=ESRCH)) g_error( __("jggtrans already running"));446 if (!r || (r && errno!=ESRCH)) g_error(N_("jggtrans already running")); 444 447 if (r){ 445 g_warning( __("Stale pid file. Removing."));448 g_warning(N_("Stale pid file. Removing.")); 446 449 unlink(pid_filename); 447 450 } 448 451 } 449 else if (r!=EOF) g_error( __("Invalid pid file."));452 else if (r!=EOF) g_error(N_("Invalid pid file.")); 450 453 } 451 454 pidfile=fopen(pid_filename,"w"); 452 455 if (pidfile==NULL) 453 g_error( __("Couldn't open pidfile %s"),pid_filename);456 g_error(N_("Couldn't open pidfile %s"),pid_filename); 454 457 } 455 458 else … … 458 461 if (group){ 459 462 grp=getgrnam(group); 460 if (!grp) g_error( __("Couldn't find group %s"),group);463 if (!grp) g_error(N_("Couldn't find group %s"),group); 461 464 newgid=grp->gr_gid; 462 465 } 463 466 if (user){ 464 467 pwd=getpwnam(user); 465 if (!pwd) g_error( __("Couldn't find user %s"),user);468 if (!pwd) g_error(N_("Couldn't find user %s"),user); 466 469 if (newgid<=0) newgid=pwd->pw_gid; 467 470 fchown(fileno(pidfile),pwd->pw_uid,newgid); 468 if (setgid(newgid)) g_error( __("Couldn't change group: %s"),g_strerror(errno));469 if (initgroups(user,newgid)) g_error( __("Couldn't init groups: %s"),g_strerror(errno));470 if (setuid(pwd->pw_uid)) g_error( __("Couldn't change user: %s"),g_strerror(errno));471 } 472 else if (uid==0 && !restarting) g_error( __("Refusing to run with uid=0"));471 if (setgid(newgid)) g_error(N_("Couldn't change group: %s"),g_strerror(errno)); 472 if (initgroups(user,newgid)) g_error(N_("Couldn't init groups: %s"),g_strerror(errno)); 473 if (setuid(pwd->pw_uid)) g_error(N_("Couldn't change user: %s"),g_strerror(errno)); 474 } 475 else if (uid==0 && !restarting) g_error(N_("Refusing to run with uid=0")); 473 476 474 477 main_loop=g_main_new(0); … … 488 491 if (log_filename){ 489 492 log_file=fopen(log_filename,"a"); 490 if (!log_file) g_critical( __("Couldn't open log file '%s': %s"),493 if (!log_file) g_critical(N_("Couldn't open log file '%s': %s"), 491 494 log_filename,g_strerror(errno)); 492 495 if (log_file) setvbuf(log_file,NULL,_IOLBF,0); … … 520 523 int n; 521 524 522 g_message( __("Restarting in %i seconds.\n"),restart_timeout);525 g_message(N_("Restarting in %i seconds.\n"),restart_timeout); 523 526 if (restart_timeout>0) sleep(restart_timeout); 524 527 if (saved_pwd) chdir(saved_pwd); … … 541 544 } 542 545 543 g_message( __("Exiting normally.\n"));546 g_message(N_("Exiting normally.\n")); 544 547 545 548 g_log_remove_handler(NULL,lh); trunk/src/message.c
r241 r257 1 /* $Id: message.c,v 1.2 2 2003/03/24 14:43:37 jajcus Exp $ */1 /* $Id: message.c,v 1.23 2003/04/05 11:02:57 jajcus Exp $ */ 2 2 3 3 /* … … 430 430 } 431 431 } 432 msg= "\nAvailable commands (and abbreviations):";432 msg=_("\nAvailable commands (and abbreviations):"); 433 433 for(i=0;msg_commands[i].command;i++){ 434 434 msg=g_strdup_printf("%s\n %s (%s)%s",msg, 435 435 msg_commands[i].command, 436 436 msg_commands[i].abr, 437 msg_commands[i].experimental? " EXPERIMENTAL!":"");438 } 439 msg=g_strdup_printf( "%s\nCurrent settings:",msg);440 msg=g_strdup_printf( "%s\n friends only: %s",msg,user->friends_only?"on":"off");441 msg=g_strdup_printf( "%s\n invisible: %s",msg,user->invisible?"on":"off");437 msg_commands[i].experimental?_(" EXPERIMENTAL!"):""); 438 } 439 msg=g_strdup_printf(_("%s\nCurrent settings:"),msg); 440 msg=g_strdup_printf(_("%s\n friends only: %s"),msg,user->friends_only?_("on"):_("off")); 441 msg=g_strdup_printf(_("%s\n invisible: %s"),msg,user->invisible?_("on"):_("off")); 442 442 message_send(stream,to,from,1,msg,0); 443 443 g_free(msg); … … 456 456 xmlnode body_n; 457 457 Session *s; 458 User *u; 458 459 459 460 body_n=xmlnode_get_tag(tag,"body"); … … 467 468 from=xmlnode_get_attrib(tag,"from"); 468 469 to=xmlnode_get_attrib(tag,"to"); 470 471 if (from) u=user_get_by_jid(from); 472 else u=NULL; 473 user_load_locale(u); 469 474 470 475 type=xmlnode_get_attrib(tag,"type"); trunk/src/presence.c
r203 r257 1 /* $Id: presence.c,v 1.2 4 2003/01/22 07:53:01jajcus Exp $ */1 /* $Id: presence.c,v 1.25 2003/04/05 11:02:57 jajcus Exp $ */ 2 2 3 3 /* … … 380 380 char *show,*status; 381 381 int priority; 382 User *u; 382 383 383 384 type=xmlnode_get_attrib(tag,"type"); 384 385 from=xmlnode_get_attrib(tag,"from"); 385 386 to=xmlnode_get_attrib(tag,"to"); 387 388 if (from) u=user_get_by_jid(from); 389 else u=NULL; 390 user_load_locale(u); 386 391 387 392 show_n=xmlnode_get_tag(tag,"show"); trunk/src/requests.c
r253 r257 1 /* $Id: requests.c,v 1.2 2 2003/04/04 13:49:02jajcus Exp $ */1 /* $Id: requests.c,v 1.23 2003/04/05 11:02:57 jajcus Exp $ */ 2 2 3 3 /* … … 66 66 int request_io_handler(GIOChannel *source,GIOCondition condition,gpointer data){ 67 67 Request *r; 68 User *u; 68 69 int t; 69 70 GIOCondition cond; … … 71 72 r=(Request *)data; 72 73 g_assert(r!=NULL); 74 75 u=user_get_by_jid(r->from); 76 user_load_locale(u); 77 73 78 switch(r->type){ 74 79 case RT_CHANGE: trunk/src/sessions.c
r236 r257 1 /* $Id: sessions.c,v 1.4 8 2003/03/24 13:46:49jajcus Exp $ */1 /* $Id: sessions.c,v 1.49 2003/04/05 11:02:57 jajcus Exp $ */ 2 2 3 3 /* … … 175 175 g_assert(data!=NULL); 176 176 s=(Session *)data; 177 user_load_locale(s->user); 177 178 178 179 g_warning("Timeout for server %u", … … 297 298 298 299 s=(Session *)data; 300 user_load_locale(s->user); 299 301 debug("Checking error conditions..."); 300 302 if (condition&(G_IO_ERR|G_IO_NVAL)){ trunk/src/users.c
r203 r257 1 /* $Id: users.c,v 1.2 5 2003/01/22 07:53:01jajcus Exp $ */1 /* $Id: users.c,v 1.26 2003/04/05 11:02:57 jajcus Exp $ */ 2 2 3 3 /* … … 32 32 GHashTable *users_jid=NULL; 33 33 static char *spool_dir; 34 static char *default_user_locale="C"; 34 35 35 36 int users_init(){ 36 37 int r; 38 39 default_user_locale=config_load_string("default_locale"); 37 40 38 41 spool_dir=config_load_string("spool"); … … 109 112 if (u->invisible) tag=xmlnode_insert_tag(xml,"invisible"); 110 113 if (u->friends_only) tag=xmlnode_insert_tag(xml,"friendsonly"); 114 if (u->locale){ 115 tag=xmlnode_insert_tag(xml,"locale"); 116 xmlnode_insert_cdata(tag,u->locale,-1); 117 } 111 118 112 119 if (u->contacts){ … … 203 210 char *fn,*njid; 204 211 xmlnode xml,tag,t; 205 char *uin,*ujid,*name,*password,*email ;212 char *uin,*ujid,*name,*password,*email,*locale; 206 213 int last_sys_msg=0,invisible=0,friends_only=0; 207 214 User *u; … … 253 260 tag=xmlnode_get_tag(xml,"invisible"); 254 261 if (tag!=NULL) invisible=1; 262 tag=xmlnode_get_tag(xml,"locale"); 263 if (tag!=NULL) locale=xmlnode_get_data(tag); 264 else locale=NULL; 255 265 tag=xmlnode_get_tag(xml,"userlist"); 256 266 contacts=NULL; … … 361 371 u->friends_only=friends_only; 362 372 u->invisible=invisible; 373 u->locale=locale; 363 374 u->contacts=contacts; 364 375 xmlnode_free(xml); … … 536 547 } 537 548 549 void user_load_locale(User *u){ 550 551 if (u && u->locale){ 552 setlocale(LC_MESSAGES,u->locale); 553 setlocale(LC_CTYPE,u->locale); 554 } 555 else{ 556 setlocale(LC_MESSAGES,default_user_locale); 557 setlocale(LC_CTYPE,default_user_locale); 558 } 559 } 560 538 561 int users_probe_all(){ 539 562 DIR *dir; trunk/src/users.h
r183 r257 1 /* $Id: users.h,v 1.1 5 2003/01/15 08:04:56jajcus Exp $ */1 /* $Id: users.h,v 1.16 2003/04/05 11:02:57 jajcus Exp $ */ 2 2 3 3 /* … … 49 49 int friends_only; 50 50 int invisible; 51 char *locale; 51 52 52 53 int confirmed; … … 72 73 int more,uint32_t ip,uint16_t port,uint32_t version); 73 74 75 void user_load_locale(User *u); 76 74 77 void user_print(User *u,int indent); 75 78 int users_probe_all();
