Added a translation module to implement multilanguage support
This commit is contained in:
parent
0874a24cb9
commit
323f1f2996
15
src/W800_SDK_v1.00.10/app/translation/Makefile
Normal file
15
src/W800_SDK_v1.00.10/app/translation/Makefile
Normal file
@ -0,0 +1,15 @@
|
|||||||
|
TOP_DIR = ../..
|
||||||
|
sinclude $(TOP_DIR)/tools/w800/conf.mk
|
||||||
|
|
||||||
|
ifndef PDIR
|
||||||
|
GEN_LIBS = libtranslation$(LIB_EXT)
|
||||||
|
endif
|
||||||
|
|
||||||
|
#DEFINES +=
|
||||||
|
|
||||||
|
sinclude $(TOP_DIR)/tools/w800/rules.mk
|
||||||
|
|
||||||
|
INCLUDES := $(INCLUDES) -I $(PDIR)include
|
||||||
|
|
||||||
|
PDIR := ../$(PDIR)
|
||||||
|
sinclude $(PDIR)Makefile
|
39
src/W800_SDK_v1.00.10/app/translation/translation.c
Normal file
39
src/W800_SDK_v1.00.10/app/translation/translation.c
Normal file
@ -0,0 +1,39 @@
|
|||||||
|
#include "wm_type_def.h"
|
||||||
|
#include "translation.h"
|
||||||
|
#include "watch_settings.h"
|
||||||
|
|
||||||
|
static const char * const translation_dictionary[][TRANSLATED_LANGUAGES_COUNT] =
|
||||||
|
{
|
||||||
|
[TRANSLATION_WATCH] = {
|
||||||
|
[TRANSLATION_FRENCH] = "Montre",
|
||||||
|
[TRANSLATION_GERMAN] = "Uhr",
|
||||||
|
[TRANSLATION_ENGLISH]= "Watch"
|
||||||
|
},
|
||||||
|
[TRANSLATION_ALARM] = {
|
||||||
|
[TRANSLATION_FRENCH] = "Reveil",
|
||||||
|
[TRANSLATION_GERMAN] = "Wecker",
|
||||||
|
[TRANSLATION_ENGLISH]= "Alarm"
|
||||||
|
},
|
||||||
|
[TRANSLATION_COMPASS] = {
|
||||||
|
[TRANSLATION_FRENCH] = "Boussole",
|
||||||
|
[TRANSLATION_GERMAN] = "Kompass",
|
||||||
|
[TRANSLATION_ENGLISH]= "Compass"
|
||||||
|
},
|
||||||
|
[TRANSLATION_ALTIMETER] = {
|
||||||
|
[TRANSLATION_FRENCH] = "Altimetre",
|
||||||
|
[TRANSLATION_GERMAN] = "Hohenmesser",
|
||||||
|
[TRANSLATION_ENGLISH]= "Altimeter"
|
||||||
|
},
|
||||||
|
[TRANSLATION_SETTINGS] = {
|
||||||
|
[TRANSLATION_FRENCH] = "Parametres",
|
||||||
|
[TRANSLATION_GERMAN] = "Einstellungen",
|
||||||
|
[TRANSLATION_ENGLISH]= "Settings"
|
||||||
|
},
|
||||||
|
};
|
||||||
|
|
||||||
|
const char *translation_get_word(TranslationWord_e word)
|
||||||
|
{
|
||||||
|
uint8_t word_count = sizeof translation_dictionary / sizeof(*translation_dictionary);
|
||||||
|
uint8_t language = persistency_get_settings()->languageAndUI.language;
|
||||||
|
return translation_dictionary[word % word_count][language % TRANSLATED_LANGUAGES_COUNT];
|
||||||
|
}
|
24
src/W800_SDK_v1.00.10/app/translation/translation.h
Normal file
24
src/W800_SDK_v1.00.10/app/translation/translation.h
Normal file
@ -0,0 +1,24 @@
|
|||||||
|
#ifndef TRANSLATION_H
|
||||||
|
#define TRANSLATION_H
|
||||||
|
|
||||||
|
#define TRANSLATED_LANGUAGES_COUNT (3)
|
||||||
|
|
||||||
|
typedef enum TranslationLanguage
|
||||||
|
{
|
||||||
|
TRANSLATION_FRENCH = 0,
|
||||||
|
TRANSLATION_GERMAN,
|
||||||
|
TRANSLATION_ENGLISH
|
||||||
|
} TranslationLanguage_e;
|
||||||
|
|
||||||
|
typedef enum TranslationWord
|
||||||
|
{
|
||||||
|
TRANSLATION_WATCH = 0,
|
||||||
|
TRANSLATION_ALARM,
|
||||||
|
TRANSLATION_COMPASS,
|
||||||
|
TRANSLATION_ALTIMETER,
|
||||||
|
TRANSLATION_SETTINGS
|
||||||
|
} TranslationWord_e;
|
||||||
|
|
||||||
|
const char * translation_get_word(TranslationWord_e word);
|
||||||
|
|
||||||
|
#endif //TRANSLATION_H
|
Loading…
Reference in New Issue
Block a user