1 /* Code generated from eC source file: i18n.ec */
3 typedef long long int64;
4 typedef unsigned long long uint64;
8 #elif defined(__TINYC__)
10 #define __builtin_va_list va_list
11 #define __builtin_va_start va_start
12 #define __builtin_va_end va_end
14 #define strcasecmp stricmp
15 #define strncasecmp strnicmp
16 #define __declspec(x) __attribute__((x))
20 typedef long long int64;
21 typedef unsigned long long uint64;
23 typedef __int64 int64;
24 typedef unsigned __int64 uint64;
27 #define __ENDIAN_PAD(x) (8 - (x))
29 #define __ENDIAN_PAD(x) 0
32 #include <sys/types.h>
34 #if /*defined(_W64) || */(defined(__WORDSIZE) && __WORDSIZE == 8) || defined(__x86_64__)
40 #define arch_PointerSize sizeof(void *)
41 #define structSize_Instance (_64BIT ? 24 : 12)
43 extern void * __ecereNameSpace__ecere__com__eSystem_New(unsigned int size);
45 extern void * __ecereNameSpace__ecere__com__eSystem_New0(unsigned int size);
47 extern void * __ecereNameSpace__ecere__com__eSystem_Renew(void * memory, unsigned int size);
49 extern void * __ecereNameSpace__ecere__com__eSystem_Renew0(void * memory, unsigned int size);
51 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__sys__BTNode;
53 struct __ecereNameSpace__ecere__sys__BTNode;
55 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__sys__BinaryTree;
57 struct __ecereNameSpace__ecere__sys__BinaryTree
59 struct __ecereNameSpace__ecere__sys__BTNode * root;
61 int (* CompareKey)(struct __ecereNameSpace__ecere__sys__BinaryTree * tree, uintptr_t a, uintptr_t b);
62 void (* FreeKey)(void * key);
63 } __attribute__ ((gcc_struct));
65 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__sys__OldList;
67 struct __ecereNameSpace__ecere__sys__OldList
74 } __attribute__ ((gcc_struct));
76 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__com__Class;
78 struct __ecereNameSpace__ecere__com__Class
80 struct __ecereNameSpace__ecere__com__Class * prev;
81 struct __ecereNameSpace__ecere__com__Class * next;
87 int (* Constructor)(struct __ecereNameSpace__ecere__com__Instance *);
88 void (* Destructor)(struct __ecereNameSpace__ecere__com__Instance *);
91 struct __ecereNameSpace__ecere__com__Class * base;
92 struct __ecereNameSpace__ecere__sys__BinaryTree methods;
93 struct __ecereNameSpace__ecere__sys__BinaryTree members;
94 struct __ecereNameSpace__ecere__sys__BinaryTree prop;
95 struct __ecereNameSpace__ecere__sys__OldList membersAndProperties;
96 struct __ecereNameSpace__ecere__sys__BinaryTree classProperties;
97 struct __ecereNameSpace__ecere__sys__OldList derivatives;
101 struct __ecereNameSpace__ecere__com__Instance * module;
102 struct __ecereNameSpace__ecere__com__NameSpace * nameSpace;
103 char * dataTypeString;
104 struct __ecereNameSpace__ecere__com__Instance * dataType;
106 int defaultAlignment;
107 void (* Initialize)();
109 struct __ecereNameSpace__ecere__sys__OldList selfWatchers;
110 char * designerClass;
111 unsigned int noExpansion;
112 char * defaultProperty;
113 unsigned int comRedefinition;
115 unsigned int isRemote;
116 unsigned int internalDecl;
118 unsigned int computeSize;
120 int destructionWatchOffset;
122 struct __ecereNameSpace__ecere__sys__OldList delayedCPValues;
123 int inheritanceAccess;
126 struct __ecereNameSpace__ecere__sys__OldList conversions;
127 struct __ecereNameSpace__ecere__sys__OldList templateParams;
128 struct __ecereNameSpace__ecere__com__ClassTemplateArgument * templateArgs;
129 struct __ecereNameSpace__ecere__com__Class * templateClass;
130 struct __ecereNameSpace__ecere__sys__OldList templatized;
132 unsigned int isInstanceClass;
133 unsigned int byValueSystemClass;
134 } __attribute__ ((gcc_struct));
136 extern long long __ecereNameSpace__ecere__com__eClass_GetProperty(struct __ecereNameSpace__ecere__com__Class * _class, char * name);
138 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__com__Instance;
140 struct __ecereNameSpace__ecere__com__Instance
143 struct __ecereNameSpace__ecere__com__Class * _class;
145 } __attribute__ ((gcc_struct));
147 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__com__Property;
149 struct __ecereNameSpace__ecere__com__Property
151 struct __ecereNameSpace__ecere__com__Property * prev;
152 struct __ecereNameSpace__ecere__com__Property * next;
154 unsigned int isProperty;
157 struct __ecereNameSpace__ecere__com__Class * _class;
158 char * dataTypeString;
159 struct __ecereNameSpace__ecere__com__Class * dataTypeClass;
160 struct __ecereNameSpace__ecere__com__Instance * dataType;
161 void (* Set)(void * , int);
162 int (* Get)(void * );
163 unsigned int (* IsSet)(void * );
167 unsigned int conversion;
168 unsigned int watcherOffset;
170 unsigned int compiled;
171 unsigned int selfWatchable;
172 unsigned int isWatchable;
173 } __attribute__ ((gcc_struct));
175 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__com__DataMember;
177 struct __ecereNameSpace__ecere__com__DataMember
179 struct __ecereNameSpace__ecere__com__DataMember * prev;
180 struct __ecereNameSpace__ecere__com__DataMember * next;
182 unsigned int isProperty;
185 struct __ecereNameSpace__ecere__com__Class * _class;
186 char * dataTypeString;
187 struct __ecereNameSpace__ecere__com__Class * dataTypeClass;
188 struct __ecereNameSpace__ecere__com__Instance * dataType;
192 struct __ecereNameSpace__ecere__sys__OldList members;
193 struct __ecereNameSpace__ecere__sys__BinaryTree membersAlpha;
196 } __attribute__ ((gcc_struct));
198 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__com__Method;
200 struct __ecereNameSpace__ecere__com__Method
203 struct __ecereNameSpace__ecere__com__Method * parent;
204 struct __ecereNameSpace__ecere__com__Method * left;
205 struct __ecereNameSpace__ecere__com__Method * right;
210 struct __ecereNameSpace__ecere__com__Class * _class;
212 char * dataTypeString;
213 struct __ecereNameSpace__ecere__com__Instance * dataType;
215 } __attribute__ ((gcc_struct));
217 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__com__SerialBuffer;
219 struct __ecereNameSpace__ecere__com__SerialBuffer
221 unsigned char * _buffer;
225 } __attribute__ ((gcc_struct));
227 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__com__DataValue;
229 struct __ecereNameSpace__ecere__com__DataValue
244 } __attribute__ ((gcc_struct));
245 } __attribute__ ((gcc_struct));
247 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__com__ClassTemplateArgument;
249 struct __ecereNameSpace__ecere__com__ClassTemplateArgument
255 char * dataTypeString;
256 struct __ecereNameSpace__ecere__com__Class * dataTypeClass;
257 } __attribute__ ((gcc_struct));
258 struct __ecereNameSpace__ecere__com__DataValue expression;
264 struct __ecereNameSpace__ecere__com__DataMember * member;
265 struct __ecereNameSpace__ecere__com__Property * prop;
266 struct __ecereNameSpace__ecere__com__Method * method;
267 } __attribute__ ((gcc_struct));
268 } __attribute__ ((gcc_struct));
269 } __attribute__ ((gcc_struct));
270 } __attribute__ ((gcc_struct));
272 static struct __ecereNameSpace__ecere__com__Instance * __ecereNameSpace__ecere__moduleMaps;
274 extern char * __ecereNameSpace__ecere__sys__GetEnvironment(char * envName, char * envValue, int max);
276 extern char * strcpy(char * , const char * );
278 extern char * strstr(const char * , const char * );
280 extern char * strchr(const char * , int);
282 extern int sprintf(char * , char * , ...);
284 extern struct __ecereNameSpace__ecere__com__Instance * __ecereNameSpace__ecere__sys__FileOpen(char * fileName, int mode);
286 extern int strcasecmp(const char * , const char * );
288 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__com__IteratorPointer;
290 struct __ecereNameSpace__ecere__com__IteratorPointer;
292 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__com__MapIterator;
294 struct __ecereNameSpace__ecere__com__MapIterator
296 struct __ecereNameSpace__ecere__com__Instance * container;
297 struct __ecereNameSpace__ecere__com__IteratorPointer * pointer;
298 } __attribute__ ((gcc_struct));
300 extern int printf(char * , ...);
302 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__com__Map_TPL_String__ecere__com__Map_TPL_String__String___;
304 extern void * __ecereNameSpace__ecere__com__eInstance_New(struct __ecereNameSpace__ecere__com__Class * _class);
306 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__com__Map_TPL_String__String_;
308 int __ecereVMethodID___ecereNameSpace__ecere__sys__File_Read;
310 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__sys__File;
312 struct __ecereNameSpace__ecere__com__Instance * __ecereProp___ecereNameSpace__ecere__com__MapIterator_Get_map(struct __ecereNameSpace__ecere__com__MapIterator * this);
314 void __ecereProp___ecereNameSpace__ecere__com__MapIterator_Set_map(struct __ecereNameSpace__ecere__com__MapIterator * this, struct __ecereNameSpace__ecere__com__Instance * value);
316 extern struct __ecereNameSpace__ecere__com__Property ** __ecereProp___ecereNameSpace__ecere__com__MapIterator_map;
318 unsigned int __ecereMethod___ecereNameSpace__ecere__com__Iterator_Index(struct __ecereNameSpace__ecere__com__Iterator * this, uint64 index, unsigned int create);
320 extern void __ecereNameSpace__ecere__com__eInstance_DecRef(struct __ecereNameSpace__ecere__com__Instance * instance);
322 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__com__Iterator;
324 struct __ecereNameSpace__ecere__com__Iterator
326 struct __ecereNameSpace__ecere__com__Instance * container;
327 struct __ecereNameSpace__ecere__com__IteratorPointer * pointer;
328 } __attribute__ ((gcc_struct));
330 uint64 __ecereProp___ecereNameSpace__ecere__com__Iterator_Get_data(struct __ecereNameSpace__ecere__com__Iterator * this);
332 void __ecereProp___ecereNameSpace__ecere__com__Iterator_Set_data(struct __ecereNameSpace__ecere__com__Iterator * this, uint64 value);
334 extern struct __ecereNameSpace__ecere__com__Property ** __ecereProp___ecereNameSpace__ecere__com__Iterator_data;
336 int __ecereVMethodID___ecereNameSpace__ecere__sys__File_Seek;
338 void __ecereNameSpace__ecere__LoadTranslatedStrings(char * moduleName, char * name)
340 struct __ecereNameSpace__ecere__com__Instance * f;
345 char lcMessages[256];
346 char * locale = (((void *)0));
347 char genericLocale[256];
349 genericLocale[0] = (char)0;
350 if(__ecereNameSpace__ecere__sys__GetEnvironment("LANGUAGE", language, sizeof language))
352 else if(__ecereNameSpace__ecere__sys__GetEnvironment("LC_ALL", lcAll, sizeof lcAll))
354 else if(__ecereNameSpace__ecere__sys__GetEnvironment("LC_MESSAGES", lcMessages, sizeof lcMessages))
356 else if(__ecereNameSpace__ecere__sys__GetEnvironment("LANG", lang, sizeof lang))
362 if(language != locale)
363 strcpy(language, locale);
364 dot = strstr(language, ".");
373 strcpy(genericLocale, locale);
374 under = strchr(genericLocale, '_');
379 sprintf(fileName, "<:%s>locale/%s.mo", moduleName, locale);
381 sprintf(fileName, ":locale/%s.mo", locale);
382 f = __ecereNameSpace__ecere__sys__FileOpen(fileName, 1);
386 sprintf(fileName, "<:%s>locale/%s/LC_MESSAGES/%s.mo", moduleName, locale, name);
388 sprintf(fileName, ":locale/%s/LC_MESSAGES/%s.mo", locale, name);
389 f = __ecereNameSpace__ecere__sys__FileOpen(fileName, 1);
393 sprintf(fileName, "locale/%s/LC_MESSAGES/%s.mo", locale, name);
394 f = __ecereNameSpace__ecere__sys__FileOpen(fileName, 1);
398 sprintf(fileName, "/usr/share/locale/%s/LC_MESSAGES/%s.mo", locale, name);
399 f = __ecereNameSpace__ecere__sys__FileOpen(fileName, 1);
401 if(!f && locale && (strcasecmp)(locale, genericLocale))
404 sprintf(fileName, "<:%s>locale/%s.mo", moduleName, genericLocale);
406 sprintf(fileName, ":locale/%s.mo", name, genericLocale);
407 f = __ecereNameSpace__ecere__sys__FileOpen(fileName, 1);
411 sprintf(fileName, "<:%s>locale/%s/LC_MESSAGES/%s.mo", moduleName, genericLocale, name);
413 sprintf(fileName, ":locale/%s/LC_MESSAGES/%s.mo", genericLocale, name);
414 f = __ecereNameSpace__ecere__sys__FileOpen(fileName, 1);
418 sprintf(fileName, "locale/%s/LC_MESSAGES/%s.mo", genericLocale, name);
419 f = __ecereNameSpace__ecere__sys__FileOpen(fileName, 1);
423 sprintf(fileName, "/usr/share/locale/%s/LC_MESSAGES/%s.mo", genericLocale, name);
424 f = __ecereNameSpace__ecere__sys__FileOpen(fileName, 1);
429 unsigned int magic = 0;
431 ((int (*)(struct __ecereNameSpace__ecere__com__Instance *, void * buffer, unsigned int size, unsigned int count))__extension__ ({
432 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
434 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
435 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Read])(f, &magic, sizeof(unsigned int), 1);
436 if(magic == 0x950412de || magic == 0xde120495)
438 struct __ecereNameSpace__ecere__com__Instance * textMap;
439 unsigned int swap = magic != 0x950412de;
440 unsigned int revision = 0;
441 unsigned int numStrings = 0;
442 unsigned int origStrings = 0, transStrings = 0;
443 unsigned int hashingSize = 0, hashingOffset = 0;
446 ((int (*)(struct __ecereNameSpace__ecere__com__Instance *, void * buffer, unsigned int size, unsigned int count))__extension__ ({
447 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
449 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
450 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Read])(f, &revision, sizeof(unsigned int), 1);
452 ((((revision) & 0x000000ff) << 24) | (((revision) & 0x0000ff00) << 8) | (((revision) & 0x00ff0000) >> 8) | (((revision) & 0xff000000) >> 24));
453 ((int (*)(struct __ecereNameSpace__ecere__com__Instance *, void * buffer, unsigned int size, unsigned int count))__extension__ ({
454 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
456 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
457 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Read])(f, &numStrings, sizeof(unsigned int), 1);
459 ((((numStrings) & 0x000000ff) << 24) | (((numStrings) & 0x0000ff00) << 8) | (((numStrings) & 0x00ff0000) >> 8) | (((numStrings) & 0xff000000) >> 24));
460 ((int (*)(struct __ecereNameSpace__ecere__com__Instance *, void * buffer, unsigned int size, unsigned int count))__extension__ ({
461 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
463 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
464 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Read])(f, &origStrings, sizeof(unsigned int), 1);
466 ((((origStrings) & 0x000000ff) << 24) | (((origStrings) & 0x0000ff00) << 8) | (((origStrings) & 0x00ff0000) >> 8) | (((origStrings) & 0xff000000) >> 24));
467 ((int (*)(struct __ecereNameSpace__ecere__com__Instance *, void * buffer, unsigned int size, unsigned int count))__extension__ ({
468 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
470 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
471 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Read])(f, &transStrings, sizeof(unsigned int), 1);
473 ((((transStrings) & 0x000000ff) << 24) | (((transStrings) & 0x0000ff00) << 8) | (((transStrings) & 0x00ff0000) >> 8) | (((transStrings) & 0xff000000) >> 24));
474 ((int (*)(struct __ecereNameSpace__ecere__com__Instance *, void * buffer, unsigned int size, unsigned int count))__extension__ ({
475 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
477 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
478 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Read])(f, &hashingSize, sizeof(unsigned int), 1);
480 ((((hashingSize) & 0x000000ff) << 24) | (((hashingSize) & 0x0000ff00) << 8) | (((hashingSize) & 0x00ff0000) >> 8) | (((hashingSize) & 0xff000000) >> 24));
481 ((int (*)(struct __ecereNameSpace__ecere__com__Instance *, void * buffer, unsigned int size, unsigned int count))__extension__ ({
482 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
484 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
485 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Read])(f, &hashingOffset, sizeof(unsigned int), 1);
487 ((((hashingOffset) & 0x000000ff) << 24) | (((hashingOffset) & 0x0000ff00) << 8) | (((hashingOffset) & 0x00ff0000) >> 8) | (((hashingOffset) & 0xff000000) >> 24));
488 if(!__ecereNameSpace__ecere__moduleMaps)
489 __ecereNameSpace__ecere__moduleMaps = __ecereNameSpace__ecere__com__eInstance_New(__ecereClass___ecereNameSpace__ecere__com__Map_TPL_String__ecere__com__Map_TPL_String__String___);
491 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);
493 if(__ecereMethod___ecereNameSpace__ecere__com__Iterator_Index(&it, (uint64)(name), 0x0))
494 (__ecereNameSpace__ecere__com__eInstance_DecRef(__ecereProp___ecereNameSpace__ecere__com__Iterator_Get_data(&it)), __ecereProp___ecereNameSpace__ecere__com__Iterator_Set_data(&it, 0));
497 struct __ecereNameSpace__ecere__com__Iterator __internalIterator =
499 __ecereNameSpace__ecere__moduleMaps, 0
502 __ecereMethod___ecereNameSpace__ecere__com__Iterator_Index(&__internalIterator, (uint64)(((uint64)(name))), 0x1);
503 __ecereProp___ecereNameSpace__ecere__com__Iterator_Set_data(&__internalIterator, textMap = __ecereNameSpace__ecere__com__eInstance_New(__ecereClass___ecereNameSpace__ecere__com__Map_TPL_String__String_));
505 for(c = 0; c < numStrings; c++)
507 unsigned int len = 0, offset = 0;
508 char * original = (((void *)0)), * translated = (((void *)0));
510 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, int pos, int mode))__extension__ ({
511 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
513 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
514 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Seek])(f, origStrings + c * 2 * sizeof(unsigned int), 0);
515 ((int (*)(struct __ecereNameSpace__ecere__com__Instance *, void * buffer, unsigned int size, unsigned int count))__extension__ ({
516 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
518 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
519 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Read])(f, &len, sizeof(unsigned int), 1);
521 ((((len) & 0x000000ff) << 24) | (((len) & 0x0000ff00) << 8) | (((len) & 0x00ff0000) >> 8) | (((len) & 0xff000000) >> 24));
522 ((int (*)(struct __ecereNameSpace__ecere__com__Instance *, void * buffer, unsigned int size, unsigned int count))__extension__ ({
523 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
525 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
526 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Read])(f, &offset, sizeof(unsigned int), 1);
528 ((((offset) & 0x000000ff) << 24) | (((offset) & 0x0000ff00) << 8) | (((offset) & 0x00ff0000) >> 8) | (((offset) & 0xff000000) >> 24));
529 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, int pos, int mode))__extension__ ({
530 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
532 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
533 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Seek])(f, offset, 0);
534 original = __ecereNameSpace__ecere__com__eSystem_New(sizeof(unsigned char) * (len + 1));
535 ((int (*)(struct __ecereNameSpace__ecere__com__Instance *, void * buffer, unsigned int size, unsigned int count))__extension__ ({
536 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
538 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
539 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Read])(f, original, 1, len + 1);
540 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, int pos, int mode))__extension__ ({
541 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
543 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
544 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Seek])(f, transStrings + c * 2 * sizeof(unsigned int), 0);
545 ((int (*)(struct __ecereNameSpace__ecere__com__Instance *, void * buffer, unsigned int size, unsigned int count))__extension__ ({
546 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
548 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
549 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Read])(f, &len, sizeof(unsigned int), 1);
551 ((((len) & 0x000000ff) << 24) | (((len) & 0x0000ff00) << 8) | (((len) & 0x00ff0000) >> 8) | (((len) & 0xff000000) >> 24));
552 ((int (*)(struct __ecereNameSpace__ecere__com__Instance *, void * buffer, unsigned int size, unsigned int count))__extension__ ({
553 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
555 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
556 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Read])(f, &offset, sizeof(unsigned int), 1);
558 ((((offset) & 0x000000ff) << 24) | (((offset) & 0x0000ff00) << 8) | (((offset) & 0x00ff0000) >> 8) | (((offset) & 0xff000000) >> 24));
559 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, int pos, int mode))__extension__ ({
560 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
562 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
563 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Seek])(f, offset, 0);
564 translated = __ecereNameSpace__ecere__com__eSystem_New(sizeof(unsigned char) * (len + 1));
565 ((int (*)(struct __ecereNameSpace__ecere__com__Instance *, void * buffer, unsigned int size, unsigned int count))__extension__ ({
566 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
568 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
569 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Read])(f, translated, 1, len + 1);
572 struct __ecereNameSpace__ecere__com__MapIterator it = (it.container = (void *)0, it.pointer = (void *)0, __ecereProp___ecereNameSpace__ecere__com__MapIterator_Set_map(&it, textMap), it);
574 if(__ecereMethod___ecereNameSpace__ecere__com__Iterator_Index(&it, (uint64)(original), 0x0))
575 (__ecereNameSpace__ecere__com__eSystem_Delete(translated), translated = 0);
578 struct __ecereNameSpace__ecere__com__Iterator __internalIterator =
583 __ecereMethod___ecereNameSpace__ecere__com__Iterator_Index(&__internalIterator, (uint64)(((uint64)(original))), 0x1);
584 __ecereProp___ecereNameSpace__ecere__com__Iterator_Set_data(&__internalIterator, translated);
588 (__ecereNameSpace__ecere__com__eSystem_Delete(translated), translated = 0);
589 (__ecereNameSpace__ecere__com__eSystem_Delete(original), original = 0);
594 printf("Invalid format while loading %s\n", fileName);
596 (__ecereNameSpace__ecere__com__eInstance_DecRef(f), f = 0);
600 int __ecereVMethodID___ecereNameSpace__ecere__com__Container_Free;
602 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__com__Map;
604 int __ecereVMethodID___ecereNameSpace__ecere__com__Container_Delete;
606 void __ecereNameSpace__ecere__UnloadTranslatedStrings(char * name)
608 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);
610 if(__ecereMethod___ecereNameSpace__ecere__com__Iterator_Index(&it, (uint64)(name), 0x0))
612 ((void (*)(struct __ecereNameSpace__ecere__com__Instance *))__extension__ ({
613 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = ((struct __ecereNameSpace__ecere__com__Instance *)__ecereProp___ecereNameSpace__ecere__com__Iterator_Get_data(&it));
615 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__com__Map->_vTbl;
616 })[__ecereVMethodID___ecereNameSpace__ecere__com__Container_Free])(((struct __ecereNameSpace__ecere__com__Instance *)__ecereProp___ecereNameSpace__ecere__com__Iterator_Get_data(&it)));
617 ((void (*)(struct __ecereNameSpace__ecere__com__Instance *, struct __ecereNameSpace__ecere__com__IteratorPointer * i))__extension__ ({
618 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = __ecereNameSpace__ecere__moduleMaps;
620 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__com__Map->_vTbl;
621 })[__ecereVMethodID___ecereNameSpace__ecere__com__Container_Delete])(__ecereNameSpace__ecere__moduleMaps, it.pointer);
625 char * __ecereNameSpace__ecere__GetTranslatedString(char * name, char * string, char * stringAndContext)
627 struct __ecereNameSpace__ecere__com__Instance * textMap = __ecereNameSpace__ecere__moduleMaps ? (__extension__ ({
628 struct __ecereNameSpace__ecere__com__Iterator __internalIterator =
630 __ecereNameSpace__ecere__moduleMaps, 0
633 __ecereMethod___ecereNameSpace__ecere__com__Iterator_Index(&__internalIterator, (uint64)(((uint64)(name))), 0x0);
634 ((struct __ecereNameSpace__ecere__com__Instance *)__ecereProp___ecereNameSpace__ecere__com__Iterator_Get_data(&__internalIterator));
636 char * result = textMap ? (__extension__ ({
637 struct __ecereNameSpace__ecere__com__Iterator __internalIterator =
642 __ecereMethod___ecereNameSpace__ecere__com__Iterator_Index(&__internalIterator, (uint64)(((uint64)(stringAndContext ? stringAndContext : string))), 0x0);
643 ((char *)__ecereProp___ecereNameSpace__ecere__com__Iterator_Get_data(&__internalIterator));
646 return (result && result[0]) ? result : string;
649 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__com__GlobalFunction;
651 struct __ecereNameSpace__ecere__com__GlobalFunction;
653 extern struct __ecereNameSpace__ecere__com__GlobalFunction * __ecereNameSpace__ecere__com__eSystem_RegisterFunction(char * name, char * type, void * func, struct __ecereNameSpace__ecere__com__Instance * module, int declMode);
655 void __ecereRegisterModule_i18n(struct __ecereNameSpace__ecere__com__Instance * module)
657 struct __ecereNameSpace__ecere__com__Class * class;
659 __ecereNameSpace__ecere__com__eSystem_RegisterFunction("ecere::LoadTranslatedStrings", "void ecere::LoadTranslatedStrings(String moduleName, char * name)", __ecereNameSpace__ecere__LoadTranslatedStrings, module, 4);
660 __ecereNameSpace__ecere__com__eSystem_RegisterFunction("ecere::UnloadTranslatedStrings", "void ecere::UnloadTranslatedStrings(String name)", __ecereNameSpace__ecere__UnloadTranslatedStrings, module, 4);
661 __ecereNameSpace__ecere__com__eSystem_RegisterFunction("ecere::GetTranslatedString", "char * ecere::GetTranslatedString(String name, char * string, char * stringAndContext)", __ecereNameSpace__ecere__GetTranslatedString, module, 4);
664 void __ecereUnregisterModule_i18n(struct __ecereNameSpace__ecere__com__Instance * module)
669 void __ecereCreateModuleInstances_i18n()
671 __ecereNameSpace__ecere__moduleMaps = __ecereNameSpace__ecere__com__eInstance_New(__ecereClass___ecereNameSpace__ecere__com__Map_TPL_String__ecere__com__Map_TPL_String__String___);
672 __ecereNameSpace__ecere__com__eInstance_IncRef(__ecereNameSpace__ecere__moduleMaps);
675 void __ecereDestroyModuleInstances_i18n()
677 (__ecereNameSpace__ecere__com__eInstance_DecRef(__ecereNameSpace__ecere__moduleMaps), __ecereNameSpace__ecere__moduleMaps = 0);