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 void __ecereNameSpace__ecere__com__eSystem_Delete(void * memory);
53 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__sys__BTNode;
55 struct __ecereNameSpace__ecere__sys__BTNode;
57 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__sys__BinaryTree;
59 struct __ecereNameSpace__ecere__sys__BinaryTree
61 struct __ecereNameSpace__ecere__sys__BTNode * root;
63 int (* CompareKey)(struct __ecereNameSpace__ecere__sys__BinaryTree * tree, uintptr_t a, uintptr_t b);
64 void (* FreeKey)(void * key);
65 } __attribute__ ((gcc_struct));
67 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__sys__OldList;
69 struct __ecereNameSpace__ecere__sys__OldList
76 } __attribute__ ((gcc_struct));
78 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__com__Class;
80 struct __ecereNameSpace__ecere__com__Class
82 struct __ecereNameSpace__ecere__com__Class * prev;
83 struct __ecereNameSpace__ecere__com__Class * next;
89 int (* Constructor)(struct __ecereNameSpace__ecere__com__Instance *);
90 void (* Destructor)(struct __ecereNameSpace__ecere__com__Instance *);
93 struct __ecereNameSpace__ecere__com__Class * base;
94 struct __ecereNameSpace__ecere__sys__BinaryTree methods;
95 struct __ecereNameSpace__ecere__sys__BinaryTree members;
96 struct __ecereNameSpace__ecere__sys__BinaryTree prop;
97 struct __ecereNameSpace__ecere__sys__OldList membersAndProperties;
98 struct __ecereNameSpace__ecere__sys__BinaryTree classProperties;
99 struct __ecereNameSpace__ecere__sys__OldList derivatives;
103 struct __ecereNameSpace__ecere__com__Instance * module;
104 struct __ecereNameSpace__ecere__com__NameSpace * nameSpace;
105 const char * dataTypeString;
106 struct __ecereNameSpace__ecere__com__Instance * dataType;
108 int defaultAlignment;
109 void (* Initialize)();
111 struct __ecereNameSpace__ecere__sys__OldList selfWatchers;
112 const char * designerClass;
113 unsigned int noExpansion;
114 const char * defaultProperty;
115 unsigned int comRedefinition;
118 unsigned int internalDecl;
120 unsigned int computeSize;
122 int destructionWatchOffset;
124 struct __ecereNameSpace__ecere__sys__OldList delayedCPValues;
125 int inheritanceAccess;
126 const char * fullName;
128 struct __ecereNameSpace__ecere__sys__OldList conversions;
129 struct __ecereNameSpace__ecere__sys__OldList templateParams;
130 struct __ecereNameSpace__ecere__com__ClassTemplateArgument * templateArgs;
131 struct __ecereNameSpace__ecere__com__Class * templateClass;
132 struct __ecereNameSpace__ecere__sys__OldList templatized;
134 unsigned int isInstanceClass;
135 unsigned int byValueSystemClass;
136 } __attribute__ ((gcc_struct));
138 extern long long __ecereNameSpace__ecere__com__eClass_GetProperty(struct __ecereNameSpace__ecere__com__Class * _class, const char * name);
140 extern void __ecereNameSpace__ecere__com__eClass_SetProperty(struct __ecereNameSpace__ecere__com__Class * _class, const char * name, long long value);
142 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__com__Property;
144 struct __ecereNameSpace__ecere__com__Property
146 struct __ecereNameSpace__ecere__com__Property * prev;
147 struct __ecereNameSpace__ecere__com__Property * next;
149 unsigned int isProperty;
152 struct __ecereNameSpace__ecere__com__Class * _class;
153 const char * dataTypeString;
154 struct __ecereNameSpace__ecere__com__Class * dataTypeClass;
155 struct __ecereNameSpace__ecere__com__Instance * dataType;
156 void (* Set)(void * , int);
157 int (* Get)(void * );
158 unsigned int (* IsSet)(void * );
162 unsigned int conversion;
163 unsigned int watcherOffset;
164 const char * category;
165 unsigned int compiled;
166 unsigned int selfWatchable;
167 unsigned int isWatchable;
168 } __attribute__ ((gcc_struct));
170 extern void __ecereNameSpace__ecere__com__eInstance_FireSelfWatchers(struct __ecereNameSpace__ecere__com__Instance * instance, struct __ecereNameSpace__ecere__com__Property * _property);
172 extern void __ecereNameSpace__ecere__com__eInstance_SetMethod(struct __ecereNameSpace__ecere__com__Instance * instance, const char * name, void * function);
174 extern void __ecereNameSpace__ecere__com__eInstance_IncRef(struct __ecereNameSpace__ecere__com__Instance * instance);
176 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);
178 extern void __ecereNameSpace__ecere__com__eInstance_Watch(void * instance, struct __ecereNameSpace__ecere__com__Property * _property, void * object, void (* callback)(void * , void * ));
180 extern void __ecereNameSpace__ecere__com__eInstance_FireWatchers(struct __ecereNameSpace__ecere__com__Instance * instance, struct __ecereNameSpace__ecere__com__Property * _property);
182 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__com__Instance;
184 struct __ecereNameSpace__ecere__com__Instance
187 struct __ecereNameSpace__ecere__com__Class * _class;
189 } __attribute__ ((gcc_struct));
191 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__com__DataMember;
193 struct __ecereNameSpace__ecere__com__DataMember
195 struct __ecereNameSpace__ecere__com__DataMember * prev;
196 struct __ecereNameSpace__ecere__com__DataMember * next;
198 unsigned int isProperty;
201 struct __ecereNameSpace__ecere__com__Class * _class;
202 const char * dataTypeString;
203 struct __ecereNameSpace__ecere__com__Class * dataTypeClass;
204 struct __ecereNameSpace__ecere__com__Instance * dataType;
208 struct __ecereNameSpace__ecere__sys__OldList members;
209 struct __ecereNameSpace__ecere__sys__BinaryTree membersAlpha;
212 } __attribute__ ((gcc_struct));
214 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__com__Method;
216 struct __ecereNameSpace__ecere__com__Method
219 struct __ecereNameSpace__ecere__com__Method * parent;
220 struct __ecereNameSpace__ecere__com__Method * left;
221 struct __ecereNameSpace__ecere__com__Method * right;
226 struct __ecereNameSpace__ecere__com__Class * _class;
228 const char * dataTypeString;
229 struct __ecereNameSpace__ecere__com__Instance * dataType;
231 } __attribute__ ((gcc_struct));
233 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__com__SerialBuffer;
235 struct __ecereNameSpace__ecere__com__SerialBuffer
237 unsigned char * _buffer;
241 } __attribute__ ((gcc_struct));
243 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__com__DataValue;
245 struct __ecereNameSpace__ecere__com__DataValue
260 } __attribute__ ((gcc_struct));
261 } __attribute__ ((gcc_struct));
263 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__com__ClassTemplateArgument;
265 struct __ecereNameSpace__ecere__com__ClassTemplateArgument
271 const char * dataTypeString;
272 struct __ecereNameSpace__ecere__com__Class * dataTypeClass;
273 } __attribute__ ((gcc_struct));
274 struct __ecereNameSpace__ecere__com__DataValue expression;
277 const char * memberString;
280 struct __ecereNameSpace__ecere__com__DataMember * member;
281 struct __ecereNameSpace__ecere__com__Property * prop;
282 struct __ecereNameSpace__ecere__com__Method * method;
283 } __attribute__ ((gcc_struct));
284 } __attribute__ ((gcc_struct));
285 } __attribute__ ((gcc_struct));
286 } __attribute__ ((gcc_struct));
288 static struct __ecereNameSpace__ecere__com__Instance * __ecereNameSpace__ecere__moduleMaps;
290 extern char * __ecereNameSpace__ecere__sys__GetEnvironment(const char * envName, char * envValue, int max);
292 extern char * strcpy(char * , const char * );
294 extern char * strstr(const char * , const char * );
296 extern int strcasecmp(const char * , const char * );
298 extern char * strchr(const char * , int);
300 extern int sprintf(char * , const char * , ...);
302 extern struct __ecereNameSpace__ecere__com__Instance * __ecereNameSpace__ecere__sys__FileOpen(const char * fileName, int mode);
304 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__com__IteratorPointer;
306 struct __ecereNameSpace__ecere__com__IteratorPointer;
308 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__com__MapIterator;
310 struct __ecereNameSpace__ecere__com__MapIterator
312 struct __ecereNameSpace__ecere__com__Instance * container;
313 struct __ecereNameSpace__ecere__com__IteratorPointer * pointer;
314 } __attribute__ ((gcc_struct));
316 extern int printf(const char * , ...);
318 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__com__Map_TPL_String__ecere__com__Map_TPL_String__const_String___;
320 extern void * __ecereNameSpace__ecere__com__eInstance_New(struct __ecereNameSpace__ecere__com__Class * _class);
322 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__com__Map_TPL_String__const_String_;
324 int __ecereVMethodID___ecereNameSpace__ecere__sys__File_Read;
326 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__sys__File;
328 struct __ecereNameSpace__ecere__com__Instance * __ecereProp___ecereNameSpace__ecere__com__MapIterator_Get_map(struct __ecereNameSpace__ecere__com__MapIterator * this);
330 void __ecereProp___ecereNameSpace__ecere__com__MapIterator_Set_map(struct __ecereNameSpace__ecere__com__MapIterator * this, struct __ecereNameSpace__ecere__com__Instance * value);
332 extern struct __ecereNameSpace__ecere__com__Property ** __ecereProp___ecereNameSpace__ecere__com__MapIterator_map;
334 unsigned int __ecereMethod___ecereNameSpace__ecere__com__Iterator_Index(struct __ecereNameSpace__ecere__com__Iterator * this, const uint64 index, unsigned int create);
336 extern void __ecereNameSpace__ecere__com__eInstance_DecRef(struct __ecereNameSpace__ecere__com__Instance * instance);
338 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__com__Iterator;
340 struct __ecereNameSpace__ecere__com__Iterator
342 struct __ecereNameSpace__ecere__com__Instance * container;
343 struct __ecereNameSpace__ecere__com__IteratorPointer * pointer;
344 } __attribute__ ((gcc_struct));
346 uint64 __ecereProp___ecereNameSpace__ecere__com__Iterator_Get_data(struct __ecereNameSpace__ecere__com__Iterator * this);
348 void __ecereProp___ecereNameSpace__ecere__com__Iterator_Set_data(struct __ecereNameSpace__ecere__com__Iterator * this, uint64 value);
350 extern struct __ecereNameSpace__ecere__com__Property ** __ecereProp___ecereNameSpace__ecere__com__Iterator_data;
352 int __ecereVMethodID___ecereNameSpace__ecere__sys__File_Seek;
354 void __ecereNameSpace__ecere__LoadTranslatedStrings(const char * moduleName, const char * name)
356 struct __ecereNameSpace__ecere__com__Instance * f;
361 char lcMessages[256];
362 char * locale = (((void *)0));
363 char genericLocale[256];
365 genericLocale[0] = (char)0;
366 if(__ecereNameSpace__ecere__sys__GetEnvironment("ECERE_LANGUAGE", language, sizeof (language)))
368 else if(__ecereNameSpace__ecere__sys__GetEnvironment("LANGUAGE", language, sizeof (language)))
370 else if(__ecereNameSpace__ecere__sys__GetEnvironment("LC_ALL", lcAll, sizeof (lcAll)))
372 else if(__ecereNameSpace__ecere__sys__GetEnvironment("LC_MESSAGES", lcMessages, sizeof (lcMessages)))
374 else if(__ecereNameSpace__ecere__sys__GetEnvironment("LANG", lang, sizeof (lang)))
381 if(language != locale)
382 strcpy(language, locale);
383 dot = strstr(language, ".");
386 colon = strstr(language, ":");
390 if(!(strcasecmp)(locale, "zh"))
391 strcpy(locale, "zh_CN");
397 strcpy(genericLocale, locale);
398 under = strchr(genericLocale, '_');
401 if(!(strcasecmp)(genericLocale, "zh"))
402 strcpy(genericLocale, "zh_CN");
405 sprintf(fileName, "<:%s>locale/%s.mo", moduleName, locale);
407 sprintf(fileName, ":locale/%s.mo", locale);
408 f = __ecereNameSpace__ecere__sys__FileOpen(fileName, 1);
412 sprintf(fileName, "<:%s>locale/%s/LC_MESSAGES/%s.mo", moduleName, locale, name);
414 sprintf(fileName, ":locale/%s/LC_MESSAGES/%s.mo", locale, name);
415 f = __ecereNameSpace__ecere__sys__FileOpen(fileName, 1);
419 sprintf(fileName, "locale/%s/LC_MESSAGES/%s.mo", locale, name);
420 f = __ecereNameSpace__ecere__sys__FileOpen(fileName, 1);
424 sprintf(fileName, "/usr/share/locale/%s/LC_MESSAGES/%s.mo", locale, name);
425 f = __ecereNameSpace__ecere__sys__FileOpen(fileName, 1);
427 if(!f && locale && (strcasecmp)(locale, genericLocale))
430 sprintf(fileName, "<:%s>locale/%s.mo", moduleName, genericLocale);
432 sprintf(fileName, ":locale/%s.mo", genericLocale);
433 f = __ecereNameSpace__ecere__sys__FileOpen(fileName, 1);
437 sprintf(fileName, "<:%s>locale/%s/LC_MESSAGES/%s.mo", moduleName, genericLocale, name);
439 sprintf(fileName, ":locale/%s/LC_MESSAGES/%s.mo", genericLocale, name);
440 f = __ecereNameSpace__ecere__sys__FileOpen(fileName, 1);
444 sprintf(fileName, "locale/%s/LC_MESSAGES/%s.mo", genericLocale, name);
445 f = __ecereNameSpace__ecere__sys__FileOpen(fileName, 1);
449 sprintf(fileName, "/usr/share/locale/%s/LC_MESSAGES/%s.mo", genericLocale, name);
450 f = __ecereNameSpace__ecere__sys__FileOpen(fileName, 1);
455 unsigned int magic = 0;
457 ((int (*)(struct __ecereNameSpace__ecere__com__Instance *, void * buffer, unsigned int size, unsigned int count))__extension__ ({
458 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
460 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
461 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Read])(f, &magic, sizeof(unsigned int), 1);
462 if(magic == 0x950412de || magic == 0xde120495)
464 struct __ecereNameSpace__ecere__com__Instance * textMap;
465 unsigned int swap = magic != 0x950412de;
466 unsigned int revision = 0;
467 unsigned int numStrings = 0;
468 unsigned int origStrings = 0, transStrings = 0;
469 unsigned int hashingSize = 0, hashingOffset = 0;
472 ((int (*)(struct __ecereNameSpace__ecere__com__Instance *, void * buffer, unsigned int size, unsigned int count))__extension__ ({
473 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
475 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
476 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Read])(f, &revision, sizeof(unsigned int), 1);
478 revision = ((((revision) & 0x000000ff) << 24) | (((revision) & 0x0000ff00) << 8) | (((revision) & 0x00ff0000) >> 8) | (((revision) & 0xff000000) >> 24));
479 ((int (*)(struct __ecereNameSpace__ecere__com__Instance *, void * buffer, unsigned int size, unsigned int count))__extension__ ({
480 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
482 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
483 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Read])(f, &numStrings, sizeof(unsigned int), 1);
485 numStrings = ((((numStrings) & 0x000000ff) << 24) | (((numStrings) & 0x0000ff00) << 8) | (((numStrings) & 0x00ff0000) >> 8) | (((numStrings) & 0xff000000) >> 24));
486 ((int (*)(struct __ecereNameSpace__ecere__com__Instance *, void * buffer, unsigned int size, unsigned int count))__extension__ ({
487 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
489 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
490 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Read])(f, &origStrings, sizeof(unsigned int), 1);
492 origStrings = ((((origStrings) & 0x000000ff) << 24) | (((origStrings) & 0x0000ff00) << 8) | (((origStrings) & 0x00ff0000) >> 8) | (((origStrings) & 0xff000000) >> 24));
493 ((int (*)(struct __ecereNameSpace__ecere__com__Instance *, void * buffer, unsigned int size, unsigned int count))__extension__ ({
494 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
496 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
497 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Read])(f, &transStrings, sizeof(unsigned int), 1);
499 transStrings = ((((transStrings) & 0x000000ff) << 24) | (((transStrings) & 0x0000ff00) << 8) | (((transStrings) & 0x00ff0000) >> 8) | (((transStrings) & 0xff000000) >> 24));
500 ((int (*)(struct __ecereNameSpace__ecere__com__Instance *, void * buffer, unsigned int size, unsigned int count))__extension__ ({
501 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
503 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
504 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Read])(f, &hashingSize, sizeof(unsigned int), 1);
506 hashingSize = ((((hashingSize) & 0x000000ff) << 24) | (((hashingSize) & 0x0000ff00) << 8) | (((hashingSize) & 0x00ff0000) >> 8) | (((hashingSize) & 0xff000000) >> 24));
507 ((int (*)(struct __ecereNameSpace__ecere__com__Instance *, void * buffer, unsigned int size, unsigned int count))__extension__ ({
508 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
510 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
511 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Read])(f, &hashingOffset, sizeof(unsigned int), 1);
513 hashingOffset = ((((hashingOffset) & 0x000000ff) << 24) | (((hashingOffset) & 0x0000ff00) << 8) | (((hashingOffset) & 0x00ff0000) >> 8) | (((hashingOffset) & 0xff000000) >> 24));
514 if(!__ecereNameSpace__ecere__moduleMaps)
515 __ecereNameSpace__ecere__moduleMaps = __ecereNameSpace__ecere__com__eInstance_New(__ecereClass___ecereNameSpace__ecere__com__Map_TPL_String__ecere__com__Map_TPL_String__const_String___);
517 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);
519 if(__ecereMethod___ecereNameSpace__ecere__com__Iterator_Index(&it, (uint64)(name), 0x0))
520 (__ecereNameSpace__ecere__com__eInstance_DecRef(__ecereProp___ecereNameSpace__ecere__com__Iterator_Get_data(&it)), __ecereProp___ecereNameSpace__ecere__com__Iterator_Set_data(&it, 0));
523 struct __ecereNameSpace__ecere__com__Iterator __internalIterator =
525 __ecereNameSpace__ecere__moduleMaps, 0
528 __ecereMethod___ecereNameSpace__ecere__com__Iterator_Index(&__internalIterator, (uint64)(((uint64)(name))), 0x1);
529 __ecereProp___ecereNameSpace__ecere__com__Iterator_Set_data(&__internalIterator, textMap = __ecereNameSpace__ecere__com__eInstance_New(__ecereClass___ecereNameSpace__ecere__com__Map_TPL_String__const_String_));
531 for(c = 0; c < numStrings; c++)
533 unsigned int len = 0, offset = 0;
534 char * original = (((void *)0)), * translated = (((void *)0));
536 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, int pos, int mode))__extension__ ({
537 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
539 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
540 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Seek])(f, origStrings + c * 2 * sizeof(unsigned int), 0);
541 ((int (*)(struct __ecereNameSpace__ecere__com__Instance *, void * buffer, unsigned int size, unsigned int count))__extension__ ({
542 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
544 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
545 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Read])(f, &len, sizeof(unsigned int), 1);
547 len = ((((len) & 0x000000ff) << 24) | (((len) & 0x0000ff00) << 8) | (((len) & 0x00ff0000) >> 8) | (((len) & 0xff000000) >> 24));
548 ((int (*)(struct __ecereNameSpace__ecere__com__Instance *, void * buffer, unsigned int size, unsigned int count))__extension__ ({
549 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
551 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
552 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Read])(f, &offset, sizeof(unsigned int), 1);
554 offset = ((((offset) & 0x000000ff) << 24) | (((offset) & 0x0000ff00) << 8) | (((offset) & 0x00ff0000) >> 8) | (((offset) & 0xff000000) >> 24));
555 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, int pos, int mode))__extension__ ({
556 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
558 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
559 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Seek])(f, offset, 0);
560 original = __ecereNameSpace__ecere__com__eSystem_New(sizeof(unsigned char) * (len + 1));
561 ((int (*)(struct __ecereNameSpace__ecere__com__Instance *, void * buffer, unsigned int size, unsigned int count))__extension__ ({
562 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
564 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
565 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Read])(f, original, 1, len + 1);
566 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, int pos, int mode))__extension__ ({
567 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
569 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
570 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Seek])(f, transStrings + c * 2 * sizeof(unsigned int), 0);
571 ((int (*)(struct __ecereNameSpace__ecere__com__Instance *, void * buffer, unsigned int size, unsigned int count))__extension__ ({
572 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
574 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
575 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Read])(f, &len, sizeof(unsigned int), 1);
577 len = ((((len) & 0x000000ff) << 24) | (((len) & 0x0000ff00) << 8) | (((len) & 0x00ff0000) >> 8) | (((len) & 0xff000000) >> 24));
578 ((int (*)(struct __ecereNameSpace__ecere__com__Instance *, void * buffer, unsigned int size, unsigned int count))__extension__ ({
579 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
581 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
582 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Read])(f, &offset, sizeof(unsigned int), 1);
584 offset = ((((offset) & 0x000000ff) << 24) | (((offset) & 0x0000ff00) << 8) | (((offset) & 0x00ff0000) >> 8) | (((offset) & 0xff000000) >> 24));
585 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, int pos, int mode))__extension__ ({
586 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
588 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
589 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Seek])(f, offset, 0);
590 translated = __ecereNameSpace__ecere__com__eSystem_New(sizeof(unsigned char) * (len + 1));
591 ((int (*)(struct __ecereNameSpace__ecere__com__Instance *, void * buffer, unsigned int size, unsigned int count))__extension__ ({
592 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
594 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
595 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Read])(f, translated, 1, len + 1);
598 struct __ecereNameSpace__ecere__com__MapIterator it = (it.container = (void *)0, it.pointer = (void *)0, __ecereProp___ecereNameSpace__ecere__com__MapIterator_Set_map(&it, textMap), it);
600 if(__ecereMethod___ecereNameSpace__ecere__com__Iterator_Index(&it, (uint64)(original), 0x0))
601 (__ecereNameSpace__ecere__com__eSystem_Delete(translated), translated = 0);
604 struct __ecereNameSpace__ecere__com__Iterator __internalIterator =
609 __ecereMethod___ecereNameSpace__ecere__com__Iterator_Index(&__internalIterator, (uint64)(((uint64)(original))), 0x1);
610 __ecereProp___ecereNameSpace__ecere__com__Iterator_Set_data(&__internalIterator, translated);
614 (__ecereNameSpace__ecere__com__eSystem_Delete(translated), translated = 0);
615 (__ecereNameSpace__ecere__com__eSystem_Delete(original), original = 0);
620 printf("Invalid format while loading %s\n", fileName);
622 (__ecereNameSpace__ecere__com__eInstance_DecRef(f), f = 0);
626 int __ecereVMethodID___ecereNameSpace__ecere__com__Container_Free;
628 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__com__Map;
630 int __ecereVMethodID___ecereNameSpace__ecere__com__Container_Delete;
632 void __ecereNameSpace__ecere__UnloadTranslatedStrings(const char * name)
634 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);
636 if(__ecereMethod___ecereNameSpace__ecere__com__Iterator_Index(&it, (uint64)(name), 0x0))
638 ((void (*)(struct __ecereNameSpace__ecere__com__Instance *))__extension__ ({
639 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = ((struct __ecereNameSpace__ecere__com__Instance *)__ecereProp___ecereNameSpace__ecere__com__Iterator_Get_data(&it));
641 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__com__Map->_vTbl;
642 })[__ecereVMethodID___ecereNameSpace__ecere__com__Container_Free])(((struct __ecereNameSpace__ecere__com__Instance *)__ecereProp___ecereNameSpace__ecere__com__Iterator_Get_data(&it)));
643 ((void (*)(struct __ecereNameSpace__ecere__com__Instance *, struct __ecereNameSpace__ecere__com__IteratorPointer * i))__extension__ ({
644 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = __ecereNameSpace__ecere__moduleMaps;
646 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__com__Map->_vTbl;
647 })[__ecereVMethodID___ecereNameSpace__ecere__com__Container_Delete])(__ecereNameSpace__ecere__moduleMaps, it.pointer);
651 const char * __ecereNameSpace__ecere__GetTranslatedString(const char * name, const char * string, const char * stringAndContext)
653 struct __ecereNameSpace__ecere__com__Instance * textMap = __ecereNameSpace__ecere__moduleMaps ? (__extension__ ({
654 struct __ecereNameSpace__ecere__com__Iterator __internalIterator =
656 __ecereNameSpace__ecere__moduleMaps, 0
659 __ecereMethod___ecereNameSpace__ecere__com__Iterator_Index(&__internalIterator, (uint64)(((uint64)(name))), 0x0);
660 ((struct __ecereNameSpace__ecere__com__Instance *)__ecereProp___ecereNameSpace__ecere__com__Iterator_Get_data(&__internalIterator));
662 const char * result = textMap ? (__extension__ ({
663 struct __ecereNameSpace__ecere__com__Iterator __internalIterator =
668 __ecereMethod___ecereNameSpace__ecere__com__Iterator_Index(&__internalIterator, (uint64)(((uint64)(stringAndContext ? stringAndContext : string))), 0x0);
669 ((char *)__ecereProp___ecereNameSpace__ecere__com__Iterator_Get_data(&__internalIterator));
672 return (result && result[0]) ? result : string;
675 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__com__GlobalFunction;
677 struct __ecereNameSpace__ecere__com__GlobalFunction;
679 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);
681 void __ecereRegisterModule_i18n(struct __ecereNameSpace__ecere__com__Instance * module)
683 struct __ecereNameSpace__ecere__com__Class * class;
685 __ecereNameSpace__ecere__com__eSystem_RegisterFunction("ecere::LoadTranslatedStrings", "void ecere::LoadTranslatedStrings(const String moduleName, const char * name)", __ecereNameSpace__ecere__LoadTranslatedStrings, module, 4);
686 __ecereNameSpace__ecere__com__eSystem_RegisterFunction("ecere::UnloadTranslatedStrings", "void ecere::UnloadTranslatedStrings(const String name)", __ecereNameSpace__ecere__UnloadTranslatedStrings, module, 4);
687 __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);
690 void __ecereUnregisterModule_i18n(struct __ecereNameSpace__ecere__com__Instance * module)
695 void __ecereCreateModuleInstances_i18n()
697 __ecereNameSpace__ecere__moduleMaps = __ecereNameSpace__ecere__com__eInstance_New(__ecereClass___ecereNameSpace__ecere__com__Map_TPL_String__ecere__com__Map_TPL_String__const_String___);
698 __ecereNameSpace__ecere__com__eInstance_IncRef(__ecereNameSpace__ecere__moduleMaps);
701 void __ecereDestroyModuleInstances_i18n()
703 (__ecereNameSpace__ecere__com__eInstance_DecRef(__ecereNameSpace__ecere__moduleMaps), __ecereNameSpace__ecere__moduleMaps = 0);