1 /* Code generated from eC source file: i18n.ec */
3 #define __runtimePlatform 1
4 #elif defined(__APPLE__)
5 #define __runtimePlatform 3
7 #define __runtimePlatform 2
10 typedef long long int64;
11 typedef unsigned long long uint64;
15 #elif defined(__TINYC__)
17 #define __builtin_va_list va_list
18 #define __builtin_va_start va_start
19 #define __builtin_va_end va_end
21 #define strcasecmp stricmp
22 #define strncasecmp strnicmp
23 #define __declspec(x) __attribute__((x))
27 typedef long long int64;
28 typedef unsigned long long uint64;
30 typedef __int64 int64;
31 typedef unsigned __int64 uint64;
34 #define __ENDIAN_PAD(x) (8 - (x))
36 #define __ENDIAN_PAD(x) 0
39 # if defined(__GNUC__) || defined(__TINYC__)
40 # define ecere_stdcall __attribute__((__stdcall__))
41 # define ecere_gcc_struct __attribute__((gcc_struct))
43 # define ecere_stdcall __stdcall
44 # define ecere_gcc_struct
47 # define ecere_stdcall
48 # define ecere_gcc_struct
51 #include <sys/types.h>
52 static struct __ecereNameSpace__ecere__com__Instance * __ecereNameSpace__ecere__moduleMaps;
54 extern struct __ecereNameSpace__ecere__com__Property * __ecereProp___ecereNameSpace__ecere__com__MapIterator_map;
56 extern struct __ecereNameSpace__ecere__com__Property * __ecereProp___ecereNameSpace__ecere__com__Iterator_data;
58 struct __ecereNameSpace__ecere__sys__OldList
67 struct __ecereNameSpace__ecere__sys__BTNode;
69 struct __ecereNameSpace__ecere__com__DataValue
84 } ecere_gcc_struct __anon1;
87 struct __ecereNameSpace__ecere__com__SerialBuffer
89 unsigned char * _buffer;
95 extern void * __ecereNameSpace__ecere__com__eSystem_New(unsigned int size);
97 extern void * __ecereNameSpace__ecere__com__eSystem_New0(unsigned int size);
99 extern void * __ecereNameSpace__ecere__com__eSystem_Renew(void * memory, unsigned int size);
101 extern void * __ecereNameSpace__ecere__com__eSystem_Renew0(void * memory, unsigned int size);
103 extern void __ecereNameSpace__ecere__com__eSystem_Delete(void * memory);
105 struct __ecereNameSpace__ecere__sys__File
111 extern char * __ecereNameSpace__ecere__sys__GetEnvironment(const char * envName, char * envValue, int max);
113 extern char * strcpy(char * , const char * );
115 extern char * strstr(const char * , const char * );
117 extern int strcasecmp(const char * , const char * );
119 extern char * strchr(const char * , int);
121 extern int sprintf(char * , const char * , ...);
123 struct __ecereNameSpace__ecere__com__IteratorPointer;
125 extern int printf(const char * , ...);
127 struct __ecereNameSpace__ecere__com__GlobalFunction;
129 struct __ecereNameSpace__ecere__com__Class;
131 struct __ecereNameSpace__ecere__com__Instance
134 struct __ecereNameSpace__ecere__com__Class * _class;
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 void * __ecereNameSpace__ecere__com__eInstance_New(struct __ecereNameSpace__ecere__com__Class * _class);
144 extern void __ecereNameSpace__ecere__com__eInstance_SetMethod(struct __ecereNameSpace__ecere__com__Instance * instance, const char * name, void * function);
146 extern void __ecereNameSpace__ecere__com__eInstance_IncRef(struct __ecereNameSpace__ecere__com__Instance * instance);
148 extern struct __ecereNameSpace__ecere__com__Instance * __ecereNameSpace__ecere__sys__FileOpen(const char * fileName, int mode);
150 struct __ecereNameSpace__ecere__com__MapIterator
152 struct __ecereNameSpace__ecere__com__Instance * container;
153 struct __ecereNameSpace__ecere__com__IteratorPointer * pointer;
156 struct __ecereNameSpace__ecere__com__Iterator
158 struct __ecereNameSpace__ecere__com__Instance * container;
159 struct __ecereNameSpace__ecere__com__IteratorPointer * pointer;
162 int __ecereVMethodID___ecereNameSpace__ecere__sys__File_Read;
164 extern void __ecereNameSpace__ecere__com__eInstance_DecRef(struct __ecereNameSpace__ecere__com__Instance * instance);
166 int __ecereVMethodID___ecereNameSpace__ecere__sys__File_Seek;
168 int __ecereVMethodID___ecereNameSpace__ecere__com__Container_Free;
170 int __ecereVMethodID___ecereNameSpace__ecere__com__Container_Delete;
172 struct __ecereNameSpace__ecere__com__Instance * __ecereProp___ecereNameSpace__ecere__com__MapIterator_Get_map(struct __ecereNameSpace__ecere__com__MapIterator * this);
174 void __ecereProp___ecereNameSpace__ecere__com__MapIterator_Set_map(struct __ecereNameSpace__ecere__com__MapIterator * this, struct __ecereNameSpace__ecere__com__Instance * value);
176 unsigned int __ecereMethod___ecereNameSpace__ecere__com__Iterator_Index(struct __ecereNameSpace__ecere__com__Iterator * this, const uint64 index, unsigned int create);
178 uint64 __ecereProp___ecereNameSpace__ecere__com__Iterator_Get_data(struct __ecereNameSpace__ecere__com__Iterator * this);
180 void __ecereProp___ecereNameSpace__ecere__com__Iterator_Set_data(struct __ecereNameSpace__ecere__com__Iterator * this, uint64 value);
182 void __ecereDestroyModuleInstances_i18n()
184 (__ecereNameSpace__ecere__com__eInstance_DecRef(__ecereNameSpace__ecere__moduleMaps), __ecereNameSpace__ecere__moduleMaps = 0);
187 const char * __ecereNameSpace__ecere__GetTranslatedString(const char * name, const char * string, const char * stringAndContext)
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 =
192 __ecereNameSpace__ecere__moduleMaps, 0
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 =
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));
208 return (result && result[0]) ? result : string;
211 struct __ecereNameSpace__ecere__sys__BinaryTree;
213 struct __ecereNameSpace__ecere__sys__BinaryTree
215 struct __ecereNameSpace__ecere__sys__BTNode * root;
217 int (* CompareKey)(struct __ecereNameSpace__ecere__sys__BinaryTree * tree, uintptr_t a, uintptr_t b);
218 void (* FreeKey)(void * key);
221 struct __ecereNameSpace__ecere__com__DataMember;
223 struct __ecereNameSpace__ecere__com__DataMember
225 struct __ecereNameSpace__ecere__com__DataMember * prev;
226 struct __ecereNameSpace__ecere__com__DataMember * next;
228 unsigned int isProperty;
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;
238 struct __ecereNameSpace__ecere__sys__OldList members;
239 struct __ecereNameSpace__ecere__sys__BinaryTree membersAlpha;
241 short structAlignment;
242 short pointerAlignment;
245 struct __ecereNameSpace__ecere__com__Property;
247 struct __ecereNameSpace__ecere__com__Property
249 struct __ecereNameSpace__ecere__com__Property * prev;
250 struct __ecereNameSpace__ecere__com__Property * next;
252 unsigned int isProperty;
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 * );
265 unsigned int conversion;
266 unsigned int watcherOffset;
267 const char * category;
268 unsigned int compiled;
269 unsigned int selfWatchable;
270 unsigned int isWatchable;
273 extern void __ecereNameSpace__ecere__com__eInstance_FireSelfWatchers(struct __ecereNameSpace__ecere__com__Instance * instance, struct __ecereNameSpace__ecere__com__Property * _property);
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);
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 * ));
279 extern void __ecereNameSpace__ecere__com__eInstance_FireWatchers(struct __ecereNameSpace__ecere__com__Instance * instance, struct __ecereNameSpace__ecere__com__Property * _property);
281 struct __ecereNameSpace__ecere__com__Method;
283 struct __ecereNameSpace__ecere__com__ClassTemplateArgument
289 const char * dataTypeString;
290 struct __ecereNameSpace__ecere__com__Class * dataTypeClass;
291 } ecere_gcc_struct __anon1;
292 struct __ecereNameSpace__ecere__com__DataValue expression;
295 const char * memberString;
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;
306 struct __ecereNameSpace__ecere__com__Method
309 struct __ecereNameSpace__ecere__com__Method * parent;
310 struct __ecereNameSpace__ecere__com__Method * left;
311 struct __ecereNameSpace__ecere__com__Method * right;
316 struct __ecereNameSpace__ecere__com__Class * _class;
318 const char * dataTypeString;
319 struct __ecereNameSpace__ecere__com__Instance * dataType;
323 struct __ecereNameSpace__ecere__com__Module;
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);
327 struct __ecereNameSpace__ecere__com__NameSpace;
329 struct __ecereNameSpace__ecere__com__NameSpace
332 struct __ecereNameSpace__ecere__com__NameSpace * btParent;
333 struct __ecereNameSpace__ecere__com__NameSpace * left;
334 struct __ecereNameSpace__ecere__com__NameSpace * right;
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;
343 struct __ecereNameSpace__ecere__com__Class
345 struct __ecereNameSpace__ecere__com__Class * prev;
346 struct __ecereNameSpace__ecere__com__Class * next;
352 unsigned int (* Constructor)(void * );
353 void (* Destructor)(void * );
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;
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;
371 int defaultAlignment;
372 void (* Initialize)();
374 struct __ecereNameSpace__ecere__sys__OldList selfWatchers;
375 const char * designerClass;
376 unsigned int noExpansion;
377 const char * defaultProperty;
378 unsigned int comRedefinition;
381 unsigned int internalDecl;
383 unsigned int computeSize;
384 short structAlignment;
385 short pointerAlignment;
386 int destructionWatchOffset;
388 struct __ecereNameSpace__ecere__sys__OldList delayedCPValues;
389 int inheritanceAccess;
390 const char * fullName;
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;
398 unsigned int isInstanceClass;
399 unsigned int byValueSystemClass;
400 void * bindingsClass;
403 struct __ecereNameSpace__ecere__com__Application
408 unsigned int isGUIApp;
409 struct __ecereNameSpace__ecere__sys__OldList allModules;
410 char * parsedCommand;
411 struct __ecereNameSpace__ecere__com__NameSpace systemNameSpace;
414 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__com__Map_TPL_String__ecere__com__Map_TPL_String__const_String___;
416 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__com__Map_TPL_String__const_String_;
418 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__sys__File;
420 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__com__Map;
422 struct __ecereNameSpace__ecere__com__Module
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;
436 struct __ecereNameSpace__ecere__com__NameSpace privateNameSpace;
437 struct __ecereNameSpace__ecere__com__NameSpace publicNameSpace;
440 void __ecereCreateModuleInstances_i18n()
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);
446 void __ecereNameSpace__ecere__LoadTranslatedStrings(const char * moduleName, const char * name)
448 struct __ecereNameSpace__ecere__com__Instance * f;
453 char lcMessages[256];
454 char * locale = (((void *)0));
455 char genericLocale[256];
457 genericLocale[0] = 0;
458 if(__ecereNameSpace__ecere__sys__GetEnvironment("ECERE_LANGUAGE", language, sizeof (language)))
460 else if(__ecereNameSpace__ecere__sys__GetEnvironment("LANGUAGE", language, sizeof (language)))
462 else if(__ecereNameSpace__ecere__sys__GetEnvironment("LC_ALL", lcAll, sizeof (lcAll)))
464 else if(__ecereNameSpace__ecere__sys__GetEnvironment("LC_MESSAGES", lcMessages, sizeof (lcMessages)))
466 else if(__ecereNameSpace__ecere__sys__GetEnvironment("LANG", lang, sizeof (lang)))
473 if(language != locale)
474 strcpy(language, locale);
475 dot = strstr(language, ".");
478 colon = strstr(language, ":");
482 if(!(strcasecmp)(locale, "zh"))
483 strcpy(locale, "zh_CN");
489 strcpy(genericLocale, locale);
490 under = strchr(genericLocale, '_');
493 if(!(strcasecmp)(genericLocale, "zh"))
494 strcpy(genericLocale, "zh_CN");
497 sprintf(fileName, "<:%s>locale/%s.mo", moduleName, locale);
499 sprintf(fileName, ":locale/%s.mo", locale);
500 f = __ecereNameSpace__ecere__sys__FileOpen(fileName, 1);
504 sprintf(fileName, "<:%s>locale/%s/LC_MESSAGES/%s.mo", moduleName, locale, name);
506 sprintf(fileName, ":locale/%s/LC_MESSAGES/%s.mo", locale, name);
507 f = __ecereNameSpace__ecere__sys__FileOpen(fileName, 1);
511 sprintf(fileName, "locale/%s/LC_MESSAGES/%s.mo", locale, name);
512 f = __ecereNameSpace__ecere__sys__FileOpen(fileName, 1);
516 sprintf(fileName, "/usr/share/locale/%s/LC_MESSAGES/%s.mo", locale, name);
517 f = __ecereNameSpace__ecere__sys__FileOpen(fileName, 1);
519 if(!f && locale && (strcasecmp)(locale, genericLocale))
522 sprintf(fileName, "<:%s>locale/%s.mo", moduleName, genericLocale);
524 sprintf(fileName, ":locale/%s.mo", genericLocale);
525 f = __ecereNameSpace__ecere__sys__FileOpen(fileName, 1);
529 sprintf(fileName, "<:%s>locale/%s/LC_MESSAGES/%s.mo", moduleName, genericLocale, name);
531 sprintf(fileName, ":locale/%s/LC_MESSAGES/%s.mo", genericLocale, name);
532 f = __ecereNameSpace__ecere__sys__FileOpen(fileName, 1);
536 sprintf(fileName, "locale/%s/LC_MESSAGES/%s.mo", genericLocale, name);
537 f = __ecereNameSpace__ecere__sys__FileOpen(fileName, 1);
541 sprintf(fileName, "/usr/share/locale/%s/LC_MESSAGES/%s.mo", genericLocale, name);
542 f = __ecereNameSpace__ecere__sys__FileOpen(fileName, 1);
547 unsigned int magic = 0;
550 int (* __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Instance *, void * buffer, unsigned int size, unsigned int count);
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;
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;
559 if(magic == 0x950412de || magic == 0xde120495)
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;
570 int (* __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Instance *, void * buffer, unsigned int size, unsigned int count);
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;
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;
580 revision = ((((revision) & 0x000000ff) << 24) | (((revision) & 0x0000ff00) << 8) | (((revision) & 0x00ff0000) >> 8) | (((revision) & 0xff000000) >> 24));
582 int (* __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Instance *, void * buffer, unsigned int size, unsigned int count);
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;
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;
592 numStrings = ((((numStrings) & 0x000000ff) << 24) | (((numStrings) & 0x0000ff00) << 8) | (((numStrings) & 0x00ff0000) >> 8) | (((numStrings) & 0xff000000) >> 24));
594 int (* __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Instance *, void * buffer, unsigned int size, unsigned int count);
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;
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;
604 origStrings = ((((origStrings) & 0x000000ff) << 24) | (((origStrings) & 0x0000ff00) << 8) | (((origStrings) & 0x00ff0000) >> 8) | (((origStrings) & 0xff000000) >> 24));
606 int (* __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Instance *, void * buffer, unsigned int size, unsigned int count);
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;
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;
616 transStrings = ((((transStrings) & 0x000000ff) << 24) | (((transStrings) & 0x0000ff00) << 8) | (((transStrings) & 0x00ff0000) >> 8) | (((transStrings) & 0xff000000) >> 24));
618 int (* __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Instance *, void * buffer, unsigned int size, unsigned int count);
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;
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;
628 hashingSize = ((((hashingSize) & 0x000000ff) << 24) | (((hashingSize) & 0x0000ff00) << 8) | (((hashingSize) & 0x00ff0000) >> 8) | (((hashingSize) & 0xff000000) >> 24));
630 int (* __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Instance *, void * buffer, unsigned int size, unsigned int count);
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;
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;
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___);
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);
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));
650 struct __ecereNameSpace__ecere__com__Iterator __internalIterator =
652 __ecereNameSpace__ecere__moduleMaps, 0
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_)));
658 for(c = 0; c < numStrings; c++)
660 unsigned int len = 0, offset = 0;
661 char * original = (((void *)0)), * translated = (((void *)0));
664 unsigned int (* __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Instance *, int pos, int mode);
666 __internal_VirtualMethod = ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, int pos, int mode))__extension__ ({
667 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
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;
674 int (* __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Instance *, void * buffer, unsigned int size, unsigned int count);
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;
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;
684 len = ((((len) & 0x000000ff) << 24) | (((len) & 0x0000ff00) << 8) | (((len) & 0x00ff0000) >> 8) | (((len) & 0xff000000) >> 24));
686 int (* __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Instance *, void * buffer, unsigned int size, unsigned int count);
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;
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;
696 offset = ((((offset) & 0x000000ff) << 24) | (((offset) & 0x0000ff00) << 8) | (((offset) & 0x00ff0000) >> 8) | (((offset) & 0xff000000) >> 24));
698 unsigned int (* __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Instance *, int pos, int mode);
700 __internal_VirtualMethod = ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, int pos, int mode))__extension__ ({
701 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
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;
707 original = __ecereNameSpace__ecere__com__eSystem_New(sizeof(unsigned char) * (len + 1));
709 int (* __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Instance *, void * buffer, unsigned int size, unsigned int count);
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;
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;
719 unsigned int (* __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Instance *, int pos, int mode);
721 __internal_VirtualMethod = ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, int pos, int mode))__extension__ ({
722 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
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;
729 int (* __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Instance *, void * buffer, unsigned int size, unsigned int count);
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;
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;
739 len = ((((len) & 0x000000ff) << 24) | (((len) & 0x0000ff00) << 8) | (((len) & 0x00ff0000) >> 8) | (((len) & 0xff000000) >> 24));
741 int (* __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Instance *, void * buffer, unsigned int size, unsigned int count);
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;
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;
751 offset = ((((offset) & 0x000000ff) << 24) | (((offset) & 0x0000ff00) << 8) | (((offset) & 0x00ff0000) >> 8) | (((offset) & 0xff000000) >> 24));
753 unsigned int (* __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Instance *, int pos, int mode);
755 __internal_VirtualMethod = ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, int pos, int mode))__extension__ ({
756 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
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;
762 translated = __ecereNameSpace__ecere__com__eSystem_New(sizeof(unsigned char) * (len + 1));
764 int (* __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Instance *, void * buffer, unsigned int size, unsigned int count);
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;
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;
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);
777 if(__ecereMethod___ecereNameSpace__ecere__com__Iterator_Index((void *)(&it), (uint64)(uintptr_t)(original), 0))
778 (__ecereNameSpace__ecere__com__eSystem_Delete(translated), translated = 0);
781 struct __ecereNameSpace__ecere__com__Iterator __internalIterator =
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));
791 (__ecereNameSpace__ecere__com__eSystem_Delete(translated), translated = 0);
792 (__ecereNameSpace__ecere__com__eSystem_Delete(original), original = 0);
797 printf("Invalid format while loading %s\n", fileName);
799 (__ecereNameSpace__ecere__com__eInstance_DecRef(f), f = 0);
803 void __ecereNameSpace__ecere__UnloadTranslatedStrings(const char * name)
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);
807 if(__ecereMethod___ecereNameSpace__ecere__com__Iterator_Index((void *)(&it), (uint64)(uintptr_t)(name), 0))
810 void (* __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Instance *);
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)));
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;
820 void (* __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Instance *, struct __ecereNameSpace__ecere__com__IteratorPointer * i);
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;
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;
832 void __ecereUnregisterModule_i18n(struct __ecereNameSpace__ecere__com__Instance * module)
837 void __ecereRegisterModule_i18n(struct __ecereNameSpace__ecere__com__Instance * module)
839 struct __ecereNameSpace__ecere__com__Class __attribute__((unused)) * class;
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);