From 7b6000346133a34600058931c7dbe2cfbbe1559d Mon Sep 17 00:00:00 2001 From: Joel Bodenmann Date: Sun, 7 Feb 2016 22:59:35 +0100 Subject: Preliminary version of GTRANS --- src/gtrans/gtrans.c | 51 +++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 51 insertions(+) (limited to 'src/gtrans/gtrans.c') diff --git a/src/gtrans/gtrans.c b/src/gtrans/gtrans.c index 7e1105d6..4961cdcb 100644 --- a/src/gtrans/gtrans.c +++ b/src/gtrans/gtrans.c @@ -5,16 +5,67 @@ * http://ugfx.org/license.html */ +#include #include "../../gfx.h" #if GFX_USE_GTRANS +static const transTable* _languageBase; +static const transTable* _languageCurrent; + void _gtransInit(void) { + _languageBase = 0; + _languageCurrent = 0; } void _gtransDeinit(void) { } +const char* gtransString(const char* string) +{ + size_t i = 0; + while (1) { + if (i >= _languageBase->numEntries-1) { + return 0; + } + + if (strcmp(string, _languageBase->strings[i]) == 0) { + break; + } + + i++; + } + + if (i >= _languageCurrent->numEntries-1) { + return 0; + } + + return _languageCurrent->strings[i]; +} + +const char* gtransIndex(unsigned index) +{ + if (!_languageCurrent) { + return 0; + } + + if (index >= _languageCurrent->numEntries) { + return 0; + } + + return _languageCurrent->strings[index]; +} + +void gtransSetBaseLanguage(const transTable* const translation) +{ + _languageBase = translation; +} + +void gtransSetLanguage(const transTable* const translation) +{ + _languageCurrent = translation; +} + #endif /* GFX_USE_GTRANS */ -- cgit v1.2.3