30b4db13541dfa6a0fa1c66058e85ff24d4f2c22
[sdk] / compiler / bootstrap / ecere / bootstrap / i18n.c
1 /* Code generated from eC source file: i18n.ec */
2 #if defined(_WIN32)
3 #define __runtimePlatform 1
4 #elif defined(__APPLE__)
5 #define __runtimePlatform 3
6 #else
7 #define __runtimePlatform 2
8 #endif
9 #if defined(__GNUC__)
10 typedef long long int64;
11 typedef unsigned long long uint64;
12 #ifndef _WIN32
13 #define __declspec(x)
14 #endif
15 #elif defined(__TINYC__)
16 #include <stdarg.h>
17 #define __builtin_va_list va_list
18 #define __builtin_va_start va_start
19 #define __builtin_va_end va_end
20 #ifdef _WIN32
21 #define strcasecmp stricmp
22 #define strncasecmp strnicmp
23 #define __declspec(x) __attribute__((x))
24 #else
25 #define __declspec(x)
26 #endif
27 typedef long long int64;
28 typedef unsigned long long uint64;
29 #else
30 typedef __int64 int64;
31 typedef unsigned __int64 uint64;
32 #endif
33 #ifdef __BIG_ENDIAN__
34 #define __ENDIAN_PAD(x) (8 - (x))
35 #else
36 #define __ENDIAN_PAD(x) 0
37 #endif
38 #if defined(_WIN32)
39 #   if defined(__GNUC__) || defined(__TINYC__)
40 #      define ecere_stdcall __attribute__((__stdcall__))
41 #      define ecere_gcc_struct __attribute__((gcc_struct))
42 #   else
43 #      define ecere_stdcall __stdcall
44 #      define ecere_gcc_struct
45 #   endif
46 #else
47 #   define ecere_stdcall
48 #   define ecere_gcc_struct
49 #endif
50 #include <stdint.h>
51 #include <sys/types.h>
52 static struct __ecereNameSpace__ecere__com__Instance * __ecereNameSpace__ecere__moduleMaps;
53
54 extern struct __ecereNameSpace__ecere__com__Property * __ecereProp___ecereNameSpace__ecere__com__MapIterator_map;
55
56 extern struct __ecereNameSpace__ecere__com__Property * __ecereProp___ecereNameSpace__ecere__com__Iterator_data;
57
58 struct __ecereNameSpace__ecere__sys__OldList
59 {
60 void *  first;
61 void *  last;
62 int count;
63 unsigned int offset;
64 unsigned int circ;
65 } ecere_gcc_struct;
66
67 struct __ecereNameSpace__ecere__sys__BTNode;
68
69 struct __ecereNameSpace__ecere__com__DataValue
70 {
71 union
72 {
73 char c;
74 unsigned char uc;
75 short s;
76 unsigned short us;
77 int i;
78 unsigned int ui;
79 void *  p;
80 float f;
81 double d;
82 long long i64;
83 uint64 ui64;
84 } ecere_gcc_struct __anon1;
85 } ecere_gcc_struct;
86
87 struct __ecereNameSpace__ecere__com__SerialBuffer
88 {
89 unsigned char *  _buffer;
90 unsigned int count;
91 unsigned int _size;
92 unsigned int pos;
93 } ecere_gcc_struct;
94
95 extern void *  __ecereNameSpace__ecere__com__eSystem_New(unsigned int size);
96
97 extern void *  __ecereNameSpace__ecere__com__eSystem_New0(unsigned int size);
98
99 extern void *  __ecereNameSpace__ecere__com__eSystem_Renew(void *  memory, unsigned int size);
100
101 extern void *  __ecereNameSpace__ecere__com__eSystem_Renew0(void *  memory, unsigned int size);
102
103 extern void __ecereNameSpace__ecere__com__eSystem_Delete(void *  memory);
104
105 struct __ecereNameSpace__ecere__sys__File
106 {
107 void *  input;
108 void *  output;
109 } ecere_gcc_struct;
110
111 extern char *  __ecereNameSpace__ecere__sys__GetEnvironment(const char *  envName, char *  envValue, int max);
112
113 extern char *  strcpy(char * , const char * );
114
115 extern char *  strstr(const char * , const char * );
116
117 extern int strcasecmp(const char * , const char * );
118
119 extern char *  strchr(const char * , int);
120
121 extern int sprintf(char * , const char * , ...);
122
123 struct __ecereNameSpace__ecere__com__IteratorPointer;
124
125 extern int printf(const char * , ...);
126
127 struct __ecereNameSpace__ecere__com__GlobalFunction;
128
129 struct __ecereNameSpace__ecere__com__Class;
130
131 struct __ecereNameSpace__ecere__com__Instance
132 {
133 void * *  _vTbl;
134 struct __ecereNameSpace__ecere__com__Class * _class;
135 int _refCount;
136 } ecere_gcc_struct;
137
138 extern long long __ecereNameSpace__ecere__com__eClass_GetProperty(struct __ecereNameSpace__ecere__com__Class * _class, const char *  name);
139
140 extern void __ecereNameSpace__ecere__com__eClass_SetProperty(struct __ecereNameSpace__ecere__com__Class * _class, const char *  name, long long value);
141
142 extern void *  __ecereNameSpace__ecere__com__eInstance_New(struct __ecereNameSpace__ecere__com__Class * _class);
143
144 extern void __ecereNameSpace__ecere__com__eInstance_SetMethod(struct __ecereNameSpace__ecere__com__Instance * instance, const char *  name, void *  function);
145
146 extern void __ecereNameSpace__ecere__com__eInstance_IncRef(struct __ecereNameSpace__ecere__com__Instance * instance);
147
148 extern struct __ecereNameSpace__ecere__com__Instance * __ecereNameSpace__ecere__sys__FileOpen(const char *  fileName, int mode);
149
150 struct __ecereNameSpace__ecere__com__MapIterator
151 {
152 struct __ecereNameSpace__ecere__com__Instance * container;
153 struct __ecereNameSpace__ecere__com__IteratorPointer * pointer;
154 } ecere_gcc_struct;
155
156 struct __ecereNameSpace__ecere__com__Iterator
157 {
158 struct __ecereNameSpace__ecere__com__Instance * container;
159 struct __ecereNameSpace__ecere__com__IteratorPointer * pointer;
160 } ecere_gcc_struct;
161
162 int __ecereVMethodID___ecereNameSpace__ecere__sys__File_Read;
163
164 extern void __ecereNameSpace__ecere__com__eInstance_DecRef(struct __ecereNameSpace__ecere__com__Instance * instance);
165
166 int __ecereVMethodID___ecereNameSpace__ecere__sys__File_Seek;
167
168 int __ecereVMethodID___ecereNameSpace__ecere__com__Container_Free;
169
170 int __ecereVMethodID___ecereNameSpace__ecere__com__Container_Delete;
171
172 struct __ecereNameSpace__ecere__com__Instance * __ecereProp___ecereNameSpace__ecere__com__MapIterator_Get_map(struct __ecereNameSpace__ecere__com__MapIterator * this);
173
174 void __ecereProp___ecereNameSpace__ecere__com__MapIterator_Set_map(struct __ecereNameSpace__ecere__com__MapIterator * this, struct __ecereNameSpace__ecere__com__Instance * value);
175
176 unsigned int __ecereMethod___ecereNameSpace__ecere__com__Iterator_Index(struct __ecereNameSpace__ecere__com__Iterator * this, const uint64 index, unsigned int create);
177
178 uint64 __ecereProp___ecereNameSpace__ecere__com__Iterator_Get_data(struct __ecereNameSpace__ecere__com__Iterator * this);
179
180 void __ecereProp___ecereNameSpace__ecere__com__Iterator_Set_data(struct __ecereNameSpace__ecere__com__Iterator * this, uint64 value);
181
182 void __ecereDestroyModuleInstances_i18n()
183 {
184 (__ecereNameSpace__ecere__com__eInstance_DecRef(__ecereNameSpace__ecere__moduleMaps), __ecereNameSpace__ecere__moduleMaps = 0);
185 }
186
187 const char * __ecereNameSpace__ecere__GetTranslatedString(const char * name, const char * string, const char * stringAndContext)
188 {
189 struct __ecereNameSpace__ecere__com__Instance * textMap = __ecereNameSpace__ecere__moduleMaps ? (((struct __ecereNameSpace__ecere__com__Instance *)((uintptr_t)(__extension__ ({
190 struct __ecereNameSpace__ecere__com__Iterator __internalIterator =
191 {
192 __ecereNameSpace__ecere__moduleMaps, 0
193 };
194
195 __ecereMethod___ecereNameSpace__ecere__com__Iterator_Index(&__internalIterator, ((uint64)(uintptr_t)(name)), 0);
196 ((struct __ecereNameSpace__ecere__com__Instance *)(uintptr_t)__ecereProp___ecereNameSpace__ecere__com__Iterator_Get_data(&__internalIterator));
197 }))))) : (((void *)0));
198 const char * result = textMap ? (((const char *)((uintptr_t)(__extension__ ({
199 struct __ecereNameSpace__ecere__com__Iterator __internalIterator =
200 {
201 textMap, 0
202 };
203
204 __ecereMethod___ecereNameSpace__ecere__com__Iterator_Index(&__internalIterator, ((uint64)(uintptr_t)(stringAndContext ? stringAndContext : string)), 0);
205 ((char *)(uintptr_t)__ecereProp___ecereNameSpace__ecere__com__Iterator_Get_data(&__internalIterator));
206 }))))) : string;
207
208 return (result && result[0]) ? result : string;
209 }
210
211 struct __ecereNameSpace__ecere__sys__BinaryTree;
212
213 struct __ecereNameSpace__ecere__sys__BinaryTree
214 {
215 struct __ecereNameSpace__ecere__sys__BTNode * root;
216 int count;
217 int (*  CompareKey)(struct __ecereNameSpace__ecere__sys__BinaryTree * tree, uintptr_t a, uintptr_t b);
218 void (*  FreeKey)(void *  key);
219 } ecere_gcc_struct;
220
221 struct __ecereNameSpace__ecere__com__DataMember;
222
223 struct __ecereNameSpace__ecere__com__DataMember
224 {
225 struct __ecereNameSpace__ecere__com__DataMember * prev;
226 struct __ecereNameSpace__ecere__com__DataMember * next;
227 const char *  name;
228 unsigned int isProperty;
229 int memberAccess;
230 int id;
231 struct __ecereNameSpace__ecere__com__Class * _class;
232 const char *  dataTypeString;
233 struct __ecereNameSpace__ecere__com__Class * dataTypeClass;
234 struct __ecereNameSpace__ecere__com__Instance * dataType;
235 int type;
236 int offset;
237 int memberID;
238 struct __ecereNameSpace__ecere__sys__OldList members;
239 struct __ecereNameSpace__ecere__sys__BinaryTree membersAlpha;
240 int memberOffset;
241 short structAlignment;
242 short pointerAlignment;
243 } ecere_gcc_struct;
244
245 struct __ecereNameSpace__ecere__com__Property;
246
247 struct __ecereNameSpace__ecere__com__Property
248 {
249 struct __ecereNameSpace__ecere__com__Property * prev;
250 struct __ecereNameSpace__ecere__com__Property * next;
251 const char *  name;
252 unsigned int isProperty;
253 int memberAccess;
254 int id;
255 struct __ecereNameSpace__ecere__com__Class * _class;
256 const char *  dataTypeString;
257 struct __ecereNameSpace__ecere__com__Class * dataTypeClass;
258 struct __ecereNameSpace__ecere__com__Instance * dataType;
259 void (*  Set)(void * , int);
260 int (*  Get)(void * );
261 unsigned int (*  IsSet)(void * );
262 void *  data;
263 void *  symbol;
264 int vid;
265 unsigned int conversion;
266 unsigned int watcherOffset;
267 const char *  category;
268 unsigned int compiled;
269 unsigned int selfWatchable;
270 unsigned int isWatchable;
271 } ecere_gcc_struct;
272
273 extern void __ecereNameSpace__ecere__com__eInstance_FireSelfWatchers(struct __ecereNameSpace__ecere__com__Instance * instance, struct __ecereNameSpace__ecere__com__Property * _property);
274
275 extern void __ecereNameSpace__ecere__com__eInstance_StopWatching(struct __ecereNameSpace__ecere__com__Instance * instance, struct __ecereNameSpace__ecere__com__Property * _property, struct __ecereNameSpace__ecere__com__Instance * object);
276
277 extern void __ecereNameSpace__ecere__com__eInstance_Watch(struct __ecereNameSpace__ecere__com__Instance * instance, struct __ecereNameSpace__ecere__com__Property * _property, void *  object, void (*  callback)(void * , void * ));
278
279 extern void __ecereNameSpace__ecere__com__eInstance_FireWatchers(struct __ecereNameSpace__ecere__com__Instance * instance, struct __ecereNameSpace__ecere__com__Property * _property);
280
281 struct __ecereNameSpace__ecere__com__Method;
282
283 struct __ecereNameSpace__ecere__com__ClassTemplateArgument
284 {
285 union
286 {
287 struct
288 {
289 const char *  dataTypeString;
290 struct __ecereNameSpace__ecere__com__Class * dataTypeClass;
291 } ecere_gcc_struct __anon1;
292 struct __ecereNameSpace__ecere__com__DataValue expression;
293 struct
294 {
295 const char *  memberString;
296 union
297 {
298 struct __ecereNameSpace__ecere__com__DataMember * member;
299 struct __ecereNameSpace__ecere__com__Property * prop;
300 struct __ecereNameSpace__ecere__com__Method * method;
301 } ecere_gcc_struct __anon1;
302 } ecere_gcc_struct __anon2;
303 } ecere_gcc_struct __anon1;
304 } ecere_gcc_struct;
305
306 struct __ecereNameSpace__ecere__com__Method
307 {
308 const char *  name;
309 struct __ecereNameSpace__ecere__com__Method * parent;
310 struct __ecereNameSpace__ecere__com__Method * left;
311 struct __ecereNameSpace__ecere__com__Method * right;
312 int depth;
313 int (*  function)();
314 int vid;
315 int type;
316 struct __ecereNameSpace__ecere__com__Class * _class;
317 void *  symbol;
318 const char *  dataTypeString;
319 struct __ecereNameSpace__ecere__com__Instance * dataType;
320 int memberAccess;
321 } ecere_gcc_struct;
322
323 struct __ecereNameSpace__ecere__com__Module;
324
325 extern struct __ecereNameSpace__ecere__com__GlobalFunction * __ecereNameSpace__ecere__com__eSystem_RegisterFunction(const char *  name, const char *  type, void *  func, struct __ecereNameSpace__ecere__com__Instance * module, int declMode);
326
327 struct __ecereNameSpace__ecere__com__NameSpace;
328
329 struct __ecereNameSpace__ecere__com__NameSpace
330 {
331 const char *  name;
332 struct __ecereNameSpace__ecere__com__NameSpace *  btParent;
333 struct __ecereNameSpace__ecere__com__NameSpace *  left;
334 struct __ecereNameSpace__ecere__com__NameSpace *  right;
335 int depth;
336 struct __ecereNameSpace__ecere__com__NameSpace *  parent;
337 struct __ecereNameSpace__ecere__sys__BinaryTree nameSpaces;
338 struct __ecereNameSpace__ecere__sys__BinaryTree classes;
339 struct __ecereNameSpace__ecere__sys__BinaryTree defines;
340 struct __ecereNameSpace__ecere__sys__BinaryTree functions;
341 } ecere_gcc_struct;
342
343 struct __ecereNameSpace__ecere__com__Class
344 {
345 struct __ecereNameSpace__ecere__com__Class * prev;
346 struct __ecereNameSpace__ecere__com__Class * next;
347 const char *  name;
348 int offset;
349 int structSize;
350 void * *  _vTbl;
351 int vTblSize;
352 unsigned int (*  Constructor)(void * );
353 void (*  Destructor)(void * );
354 int offsetClass;
355 int sizeClass;
356 struct __ecereNameSpace__ecere__com__Class * base;
357 struct __ecereNameSpace__ecere__sys__BinaryTree methods;
358 struct __ecereNameSpace__ecere__sys__BinaryTree members;
359 struct __ecereNameSpace__ecere__sys__BinaryTree prop;
360 struct __ecereNameSpace__ecere__sys__OldList membersAndProperties;
361 struct __ecereNameSpace__ecere__sys__BinaryTree classProperties;
362 struct __ecereNameSpace__ecere__sys__OldList derivatives;
363 int memberID;
364 int startMemberID;
365 int type;
366 struct __ecereNameSpace__ecere__com__Instance * module;
367 struct __ecereNameSpace__ecere__com__NameSpace *  nameSpace;
368 const char *  dataTypeString;
369 struct __ecereNameSpace__ecere__com__Instance * dataType;
370 int typeSize;
371 int defaultAlignment;
372 void (*  Initialize)();
373 int memberOffset;
374 struct __ecereNameSpace__ecere__sys__OldList selfWatchers;
375 const char *  designerClass;
376 unsigned int noExpansion;
377 const char *  defaultProperty;
378 unsigned int comRedefinition;
379 int count;
380 int isRemote;
381 unsigned int internalDecl;
382 void *  data;
383 unsigned int computeSize;
384 short structAlignment;
385 short pointerAlignment;
386 int destructionWatchOffset;
387 unsigned int fixed;
388 struct __ecereNameSpace__ecere__sys__OldList delayedCPValues;
389 int inheritanceAccess;
390 const char *  fullName;
391 void *  symbol;
392 struct __ecereNameSpace__ecere__sys__OldList conversions;
393 struct __ecereNameSpace__ecere__sys__OldList templateParams;
394 struct __ecereNameSpace__ecere__com__ClassTemplateArgument *  templateArgs;
395 struct __ecereNameSpace__ecere__com__Class * templateClass;
396 struct __ecereNameSpace__ecere__sys__OldList templatized;
397 int numParams;
398 unsigned int isInstanceClass;
399 unsigned int byValueSystemClass;
400 void *  bindingsClass;
401 } ecere_gcc_struct;
402
403 struct __ecereNameSpace__ecere__com__Application
404 {
405 int argc;
406 const char * *  argv;
407 int exitCode;
408 unsigned int isGUIApp;
409 struct __ecereNameSpace__ecere__sys__OldList allModules;
410 char *  parsedCommand;
411 struct __ecereNameSpace__ecere__com__NameSpace systemNameSpace;
412 } ecere_gcc_struct;
413
414 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__com__Map_TPL_String__ecere__com__Map_TPL_String__const_String___;
415
416 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__com__Map_TPL_String__const_String_;
417
418 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__sys__File;
419
420 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__com__Map;
421
422 struct __ecereNameSpace__ecere__com__Module
423 {
424 struct __ecereNameSpace__ecere__com__Instance * application;
425 struct __ecereNameSpace__ecere__sys__OldList classes;
426 struct __ecereNameSpace__ecere__sys__OldList defines;
427 struct __ecereNameSpace__ecere__sys__OldList functions;
428 struct __ecereNameSpace__ecere__sys__OldList modules;
429 struct __ecereNameSpace__ecere__com__Instance * prev;
430 struct __ecereNameSpace__ecere__com__Instance * next;
431 const char *  name;
432 void *  library;
433 void *  Unload;
434 int importType;
435 int origImportType;
436 struct __ecereNameSpace__ecere__com__NameSpace privateNameSpace;
437 struct __ecereNameSpace__ecere__com__NameSpace publicNameSpace;
438 } ecere_gcc_struct;
439
440 void __ecereCreateModuleInstances_i18n()
441 {
442 __ecereNameSpace__ecere__moduleMaps = __ecereNameSpace__ecere__com__eInstance_New(__ecereClass___ecereNameSpace__ecere__com__Map_TPL_String__ecere__com__Map_TPL_String__const_String___);
443 __ecereNameSpace__ecere__com__eInstance_IncRef(__ecereNameSpace__ecere__moduleMaps);
444 }
445
446 void __ecereNameSpace__ecere__LoadTranslatedStrings(const char * moduleName, const char * name)
447 {
448 struct __ecereNameSpace__ecere__com__Instance * f;
449 char fileName[797];
450 char lcAll[256];
451 char language[256];
452 char lang[256];
453 char lcMessages[256];
454 char * locale = (((void *)0));
455 char genericLocale[256];
456
457 genericLocale[0] = 0;
458 if(__ecereNameSpace__ecere__sys__GetEnvironment("ECERE_LANGUAGE", language, sizeof (language)))
459 locale = language;
460 else if(__ecereNameSpace__ecere__sys__GetEnvironment("LANGUAGE", language, sizeof (language)))
461 locale = language;
462 else if(__ecereNameSpace__ecere__sys__GetEnvironment("LC_ALL", lcAll, sizeof (lcAll)))
463 locale = lcAll;
464 else if(__ecereNameSpace__ecere__sys__GetEnvironment("LC_MESSAGES", lcMessages, sizeof (lcMessages)))
465 locale = lcMessages;
466 else if(__ecereNameSpace__ecere__sys__GetEnvironment("LANG", lang, sizeof (lang)))
467 locale = lang;
468 if(locale)
469 {
470 char * dot;
471 char * colon;
472
473 if(language != locale)
474 strcpy(language, locale);
475 dot = strstr(language, ".");
476 if(dot)
477 *dot = 0;
478 colon = strstr(language, ":");
479 if(colon)
480 *colon = 0;
481 locale = language;
482 if(!(strcasecmp)(locale, "zh"))
483 strcpy(locale, "zh_CN");
484 }
485 if(locale)
486 {
487 char * under;
488
489 strcpy(genericLocale, locale);
490 under = strchr(genericLocale, '_');
491 if(under)
492 *under = 0;
493 if(!(strcasecmp)(genericLocale, "zh"))
494 strcpy(genericLocale, "zh_CN");
495 }
496 if(moduleName)
497 sprintf(fileName, "<:%s>locale/%s.mo", moduleName, locale);
498 else
499 sprintf(fileName, ":locale/%s.mo", locale);
500 f = __ecereNameSpace__ecere__sys__FileOpen(fileName, 1);
501 if(!f)
502 {
503 if(moduleName)
504 sprintf(fileName, "<:%s>locale/%s/LC_MESSAGES/%s.mo", moduleName, locale, name);
505 else
506 sprintf(fileName, ":locale/%s/LC_MESSAGES/%s.mo", locale, name);
507 f = __ecereNameSpace__ecere__sys__FileOpen(fileName, 1);
508 }
509 if(!f)
510 {
511 sprintf(fileName, "locale/%s/LC_MESSAGES/%s.mo", locale, name);
512 f = __ecereNameSpace__ecere__sys__FileOpen(fileName, 1);
513 }
514 if(!f)
515 {
516 sprintf(fileName, "/usr/share/locale/%s/LC_MESSAGES/%s.mo", locale, name);
517 f = __ecereNameSpace__ecere__sys__FileOpen(fileName, 1);
518 }
519 if(!f && locale && (strcasecmp)(locale, genericLocale))
520 {
521 if(moduleName)
522 sprintf(fileName, "<:%s>locale/%s.mo", moduleName, genericLocale);
523 else
524 sprintf(fileName, ":locale/%s.mo", genericLocale);
525 f = __ecereNameSpace__ecere__sys__FileOpen(fileName, 1);
526 if(!f)
527 {
528 if(moduleName)
529 sprintf(fileName, "<:%s>locale/%s/LC_MESSAGES/%s.mo", moduleName, genericLocale, name);
530 else
531 sprintf(fileName, ":locale/%s/LC_MESSAGES/%s.mo", genericLocale, name);
532 f = __ecereNameSpace__ecere__sys__FileOpen(fileName, 1);
533 }
534 if(!f)
535 {
536 sprintf(fileName, "locale/%s/LC_MESSAGES/%s.mo", genericLocale, name);
537 f = __ecereNameSpace__ecere__sys__FileOpen(fileName, 1);
538 }
539 if(!f)
540 {
541 sprintf(fileName, "/usr/share/locale/%s/LC_MESSAGES/%s.mo", genericLocale, name);
542 f = __ecereNameSpace__ecere__sys__FileOpen(fileName, 1);
543 }
544 }
545 if(f)
546 {
547 unsigned int magic = 0;
548
549 (__extension__ ({
550 int (*  __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Instance *, void *  buffer, unsigned int size, unsigned int count);
551
552 __internal_VirtualMethod = ((int (*)(struct __ecereNameSpace__ecere__com__Instance *, void *  buffer, unsigned int size, unsigned int count))__extension__ ({
553 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
554
555 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
556 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Read]);
557 __internal_VirtualMethod ? __internal_VirtualMethod(f, &magic, sizeof(unsigned int), 1) : (int)1;
558 }));
559 if(magic == 0x950412de || magic == 0xde120495)
560 {
561 struct __ecereNameSpace__ecere__com__Instance * textMap;
562 unsigned int swap = magic != 0x950412de;
563 unsigned int revision = 0;
564 unsigned int numStrings = 0;
565 unsigned int origStrings = 0, transStrings = 0;
566 unsigned int hashingSize = 0, hashingOffset = 0;
567 int c;
568
569 (__extension__ ({
570 int (*  __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Instance *, void *  buffer, unsigned int size, unsigned int count);
571
572 __internal_VirtualMethod = ((int (*)(struct __ecereNameSpace__ecere__com__Instance *, void *  buffer, unsigned int size, unsigned int count))__extension__ ({
573 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
574
575 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
576 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Read]);
577 __internal_VirtualMethod ? __internal_VirtualMethod(f, &revision, sizeof(unsigned int), 1) : (int)1;
578 }));
579 if(swap)
580 revision = ((((revision) & 0x000000ff) << 24) | (((revision) & 0x0000ff00) << 8) | (((revision) & 0x00ff0000) >> 8) | (((revision) & 0xff000000) >> 24));
581 (__extension__ ({
582 int (*  __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Instance *, void *  buffer, unsigned int size, unsigned int count);
583
584 __internal_VirtualMethod = ((int (*)(struct __ecereNameSpace__ecere__com__Instance *, void *  buffer, unsigned int size, unsigned int count))__extension__ ({
585 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
586
587 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
588 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Read]);
589 __internal_VirtualMethod ? __internal_VirtualMethod(f, &numStrings, sizeof(unsigned int), 1) : (int)1;
590 }));
591 if(swap)
592 numStrings = ((((numStrings) & 0x000000ff) << 24) | (((numStrings) & 0x0000ff00) << 8) | (((numStrings) & 0x00ff0000) >> 8) | (((numStrings) & 0xff000000) >> 24));
593 (__extension__ ({
594 int (*  __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Instance *, void *  buffer, unsigned int size, unsigned int count);
595
596 __internal_VirtualMethod = ((int (*)(struct __ecereNameSpace__ecere__com__Instance *, void *  buffer, unsigned int size, unsigned int count))__extension__ ({
597 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
598
599 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
600 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Read]);
601 __internal_VirtualMethod ? __internal_VirtualMethod(f, &origStrings, sizeof(unsigned int), 1) : (int)1;
602 }));
603 if(swap)
604 origStrings = ((((origStrings) & 0x000000ff) << 24) | (((origStrings) & 0x0000ff00) << 8) | (((origStrings) & 0x00ff0000) >> 8) | (((origStrings) & 0xff000000) >> 24));
605 (__extension__ ({
606 int (*  __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Instance *, void *  buffer, unsigned int size, unsigned int count);
607
608 __internal_VirtualMethod = ((int (*)(struct __ecereNameSpace__ecere__com__Instance *, void *  buffer, unsigned int size, unsigned int count))__extension__ ({
609 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
610
611 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
612 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Read]);
613 __internal_VirtualMethod ? __internal_VirtualMethod(f, &transStrings, sizeof(unsigned int), 1) : (int)1;
614 }));
615 if(swap)
616 transStrings = ((((transStrings) & 0x000000ff) << 24) | (((transStrings) & 0x0000ff00) << 8) | (((transStrings) & 0x00ff0000) >> 8) | (((transStrings) & 0xff000000) >> 24));
617 (__extension__ ({
618 int (*  __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Instance *, void *  buffer, unsigned int size, unsigned int count);
619
620 __internal_VirtualMethod = ((int (*)(struct __ecereNameSpace__ecere__com__Instance *, void *  buffer, unsigned int size, unsigned int count))__extension__ ({
621 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
622
623 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
624 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Read]);
625 __internal_VirtualMethod ? __internal_VirtualMethod(f, &hashingSize, sizeof(unsigned int), 1) : (int)1;
626 }));
627 if(swap)
628 hashingSize = ((((hashingSize) & 0x000000ff) << 24) | (((hashingSize) & 0x0000ff00) << 8) | (((hashingSize) & 0x00ff0000) >> 8) | (((hashingSize) & 0xff000000) >> 24));
629 (__extension__ ({
630 int (*  __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Instance *, void *  buffer, unsigned int size, unsigned int count);
631
632 __internal_VirtualMethod = ((int (*)(struct __ecereNameSpace__ecere__com__Instance *, void *  buffer, unsigned int size, unsigned int count))__extension__ ({
633 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
634
635 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
636 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Read]);
637 __internal_VirtualMethod ? __internal_VirtualMethod(f, &hashingOffset, sizeof(unsigned int), 1) : (int)1;
638 }));
639 if(swap)
640 hashingOffset = ((((hashingOffset) & 0x000000ff) << 24) | (((hashingOffset) & 0x0000ff00) << 8) | (((hashingOffset) & 0x00ff0000) >> 8) | (((hashingOffset) & 0xff000000) >> 24));
641 if(!__ecereNameSpace__ecere__moduleMaps)
642 __ecereNameSpace__ecere__moduleMaps = __ecereNameSpace__ecere__com__eInstance_New(__ecereClass___ecereNameSpace__ecere__com__Map_TPL_String__ecere__com__Map_TPL_String__const_String___);
643 {
644 struct __ecereNameSpace__ecere__com__MapIterator it = (it.container = (void *)0, it.pointer = (void *)0, __ecereProp___ecereNameSpace__ecere__com__MapIterator_Set_map(&it, __ecereNameSpace__ecere__moduleMaps), it);
645
646 if(__ecereMethod___ecereNameSpace__ecere__com__Iterator_Index((void *)(&it), (uint64)(uintptr_t)(name), 0))
647 (__ecereNameSpace__ecere__com__eInstance_DecRef(((void * )((uintptr_t)(__ecereProp___ecereNameSpace__ecere__com__Iterator_Get_data((void *)(&it)))))), __ecereProp___ecereNameSpace__ecere__com__Iterator_Set_data((void *)(&it), 0));
648 }
649 __extension__ ({
650 struct __ecereNameSpace__ecere__com__Iterator __internalIterator =
651 {
652 __ecereNameSpace__ecere__moduleMaps, 0
653 };
654
655 __ecereMethod___ecereNameSpace__ecere__com__Iterator_Index(&__internalIterator, ((uint64)(uintptr_t)(name)), 1);
656 __ecereProp___ecereNameSpace__ecere__com__Iterator_Set_data(&__internalIterator, (uint64)(uintptr_t)(textMap = __ecereNameSpace__ecere__com__eInstance_New(__ecereClass___ecereNameSpace__ecere__com__Map_TPL_String__const_String_)));
657 });
658 for(c = 0; c < numStrings; c++)
659 {
660 unsigned int len = 0, offset = 0;
661 char * original = (((void *)0)), * translated = (((void *)0));
662
663 (__extension__ ({
664 unsigned int (*  __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Instance *, int pos, int mode);
665
666 __internal_VirtualMethod = ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, int pos, int mode))__extension__ ({
667 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
668
669 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
670 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Seek]);
671 __internal_VirtualMethod ? __internal_VirtualMethod(f, origStrings + c * 2 * sizeof(unsigned int), 0) : (unsigned int)1;
672 }));
673 (__extension__ ({
674 int (*  __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Instance *, void *  buffer, unsigned int size, unsigned int count);
675
676 __internal_VirtualMethod = ((int (*)(struct __ecereNameSpace__ecere__com__Instance *, void *  buffer, unsigned int size, unsigned int count))__extension__ ({
677 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
678
679 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
680 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Read]);
681 __internal_VirtualMethod ? __internal_VirtualMethod(f, &len, sizeof(unsigned int), 1) : (int)1;
682 }));
683 if(swap)
684 len = ((((len) & 0x000000ff) << 24) | (((len) & 0x0000ff00) << 8) | (((len) & 0x00ff0000) >> 8) | (((len) & 0xff000000) >> 24));
685 (__extension__ ({
686 int (*  __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Instance *, void *  buffer, unsigned int size, unsigned int count);
687
688 __internal_VirtualMethod = ((int (*)(struct __ecereNameSpace__ecere__com__Instance *, void *  buffer, unsigned int size, unsigned int count))__extension__ ({
689 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
690
691 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
692 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Read]);
693 __internal_VirtualMethod ? __internal_VirtualMethod(f, &offset, sizeof(unsigned int), 1) : (int)1;
694 }));
695 if(swap)
696 offset = ((((offset) & 0x000000ff) << 24) | (((offset) & 0x0000ff00) << 8) | (((offset) & 0x00ff0000) >> 8) | (((offset) & 0xff000000) >> 24));
697 (__extension__ ({
698 unsigned int (*  __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Instance *, int pos, int mode);
699
700 __internal_VirtualMethod = ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, int pos, int mode))__extension__ ({
701 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
702
703 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
704 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Seek]);
705 __internal_VirtualMethod ? __internal_VirtualMethod(f, offset, 0) : (unsigned int)1;
706 }));
707 original = __ecereNameSpace__ecere__com__eSystem_New(sizeof(unsigned char) * (len + 1));
708 (__extension__ ({
709 int (*  __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Instance *, void *  buffer, unsigned int size, unsigned int count);
710
711 __internal_VirtualMethod = ((int (*)(struct __ecereNameSpace__ecere__com__Instance *, void *  buffer, unsigned int size, unsigned int count))__extension__ ({
712 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
713
714 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
715 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Read]);
716 __internal_VirtualMethod ? __internal_VirtualMethod(f, original, 1, len + 1) : (int)1;
717 }));
718 (__extension__ ({
719 unsigned int (*  __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Instance *, int pos, int mode);
720
721 __internal_VirtualMethod = ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, int pos, int mode))__extension__ ({
722 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
723
724 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
725 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Seek]);
726 __internal_VirtualMethod ? __internal_VirtualMethod(f, transStrings + c * 2 * sizeof(unsigned int), 0) : (unsigned int)1;
727 }));
728 (__extension__ ({
729 int (*  __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Instance *, void *  buffer, unsigned int size, unsigned int count);
730
731 __internal_VirtualMethod = ((int (*)(struct __ecereNameSpace__ecere__com__Instance *, void *  buffer, unsigned int size, unsigned int count))__extension__ ({
732 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
733
734 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
735 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Read]);
736 __internal_VirtualMethod ? __internal_VirtualMethod(f, &len, sizeof(unsigned int), 1) : (int)1;
737 }));
738 if(swap)
739 len = ((((len) & 0x000000ff) << 24) | (((len) & 0x0000ff00) << 8) | (((len) & 0x00ff0000) >> 8) | (((len) & 0xff000000) >> 24));
740 (__extension__ ({
741 int (*  __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Instance *, void *  buffer, unsigned int size, unsigned int count);
742
743 __internal_VirtualMethod = ((int (*)(struct __ecereNameSpace__ecere__com__Instance *, void *  buffer, unsigned int size, unsigned int count))__extension__ ({
744 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
745
746 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
747 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Read]);
748 __internal_VirtualMethod ? __internal_VirtualMethod(f, &offset, sizeof(unsigned int), 1) : (int)1;
749 }));
750 if(swap)
751 offset = ((((offset) & 0x000000ff) << 24) | (((offset) & 0x0000ff00) << 8) | (((offset) & 0x00ff0000) >> 8) | (((offset) & 0xff000000) >> 24));
752 (__extension__ ({
753 unsigned int (*  __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Instance *, int pos, int mode);
754
755 __internal_VirtualMethod = ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, int pos, int mode))__extension__ ({
756 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
757
758 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
759 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Seek]);
760 __internal_VirtualMethod ? __internal_VirtualMethod(f, offset, 0) : (unsigned int)1;
761 }));
762 translated = __ecereNameSpace__ecere__com__eSystem_New(sizeof(unsigned char) * (len + 1));
763 (__extension__ ({
764 int (*  __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Instance *, void *  buffer, unsigned int size, unsigned int count);
765
766 __internal_VirtualMethod = ((int (*)(struct __ecereNameSpace__ecere__com__Instance *, void *  buffer, unsigned int size, unsigned int count))__extension__ ({
767 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
768
769 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
770 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Read]);
771 __internal_VirtualMethod ? __internal_VirtualMethod(f, translated, 1, len + 1) : (int)1;
772 }));
773 if(len)
774 {
775 struct __ecereNameSpace__ecere__com__MapIterator it = (it.container = (void *)0, it.pointer = (void *)0, __ecereProp___ecereNameSpace__ecere__com__MapIterator_Set_map(&it, textMap), it);
776
777 if(__ecereMethod___ecereNameSpace__ecere__com__Iterator_Index((void *)(&it), (uint64)(uintptr_t)(original), 0))
778 (__ecereNameSpace__ecere__com__eSystem_Delete(translated), translated = 0);
779 else
780 __extension__ ({
781 struct __ecereNameSpace__ecere__com__Iterator __internalIterator =
782 {
783 textMap, 0
784 };
785
786 __ecereMethod___ecereNameSpace__ecere__com__Iterator_Index(&__internalIterator, ((uint64)(uintptr_t)(original)), 1);
787 __ecereProp___ecereNameSpace__ecere__com__Iterator_Set_data(&__internalIterator, (uint64)(uintptr_t)(translated));
788 });
789 }
790 else
791 (__ecereNameSpace__ecere__com__eSystem_Delete(translated), translated = 0);
792 (__ecereNameSpace__ecere__com__eSystem_Delete(original), original = 0);
793 }
794 }
795 else
796 {
797 printf("Invalid format while loading %s\n", fileName);
798 }
799 (__ecereNameSpace__ecere__com__eInstance_DecRef(f), f = 0);
800 }
801 }
802
803 void __ecereNameSpace__ecere__UnloadTranslatedStrings(const char * name)
804 {
805 struct __ecereNameSpace__ecere__com__MapIterator it = (it.container = (void *)0, it.pointer = (void *)0, __ecereProp___ecereNameSpace__ecere__com__MapIterator_Set_map(&it, __ecereNameSpace__ecere__moduleMaps), it);
806
807 if(__ecereMethod___ecereNameSpace__ecere__com__Iterator_Index((void *)(&it), (uint64)(uintptr_t)(name), 0))
808 {
809 (__extension__ ({
810 void (*  __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Instance *);
811
812 __internal_VirtualMethod = ((void (*)(struct __ecereNameSpace__ecere__com__Instance *))__extension__ ({
813 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = ((struct __ecereNameSpace__ecere__com__Instance *)(uintptr_t)__ecereProp___ecereNameSpace__ecere__com__Iterator_Get_data((void *)(&it)));
814
815 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__com__Map->_vTbl;
816 })[__ecereVMethodID___ecereNameSpace__ecere__com__Container_Free]);
817 __internal_VirtualMethod ? __internal_VirtualMethod(((struct __ecereNameSpace__ecere__com__Instance *)(uintptr_t)__ecereProp___ecereNameSpace__ecere__com__Iterator_Get_data((void *)(&it)))) : (void)1;
818 }));
819 (__extension__ ({
820 void (*  __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Instance *, struct __ecereNameSpace__ecere__com__IteratorPointer * i);
821
822 __internal_VirtualMethod = ((void (*)(struct __ecereNameSpace__ecere__com__Instance *, struct __ecereNameSpace__ecere__com__IteratorPointer * i))__extension__ ({
823 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = __ecereNameSpace__ecere__moduleMaps;
824
825 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__com__Map->_vTbl;
826 })[__ecereVMethodID___ecereNameSpace__ecere__com__Container_Delete]);
827 __internal_VirtualMethod ? __internal_VirtualMethod(__ecereNameSpace__ecere__moduleMaps, it.pointer) : (void)1;
828 }));
829 }
830 }
831
832 void __ecereUnregisterModule_i18n(struct __ecereNameSpace__ecere__com__Instance * module)
833 {
834
835 }
836
837 void __ecereRegisterModule_i18n(struct __ecereNameSpace__ecere__com__Instance * module)
838 {
839 struct __ecereNameSpace__ecere__com__Class __attribute__((unused)) * class;
840
841 __ecereNameSpace__ecere__com__eSystem_RegisterFunction("ecere::LoadTranslatedStrings", "void ecere::LoadTranslatedStrings(const String moduleName, const char * name)", __ecereNameSpace__ecere__LoadTranslatedStrings, module, 4);
842 __ecereNameSpace__ecere__com__eSystem_RegisterFunction("ecere::UnloadTranslatedStrings", "void ecere::UnloadTranslatedStrings(const String name)", __ecereNameSpace__ecere__UnloadTranslatedStrings, module, 4);
843 __ecereNameSpace__ecere__com__eSystem_RegisterFunction("ecere::GetTranslatedString", "const char * ecere::GetTranslatedString(const String name, const char * string, const char * stringAndContext)", __ecereNameSpace__ecere__GetTranslatedString, module, 4);
844 }
845