From f7669a3fcc87d4f6040257c3dd8708c263331458 Mon Sep 17 00:00:00 2001 From: Rr42 Date: Fri, 25 May 2018 10:13:59 +0530 Subject: Added all LDmicro filles to be ported --- ldmicro/lang.cpp | 78 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 78 insertions(+) create mode 100644 ldmicro/lang.cpp (limited to 'ldmicro/lang.cpp') diff --git a/ldmicro/lang.cpp b/ldmicro/lang.cpp new file mode 100644 index 0000000..4be05d0 --- /dev/null +++ b/ldmicro/lang.cpp @@ -0,0 +1,78 @@ +//----------------------------------------------------------------------------- +// Copyright 2007 Jonathan Westhues +// +// This file is part of LDmicro. +// +// LDmicro is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. +// +// LDmicro is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with LDmicro. If not, see . +//------ +// +// Multiple language support. For every non-English language, we have a +// table that maps the English strings to the translated strings. An +// internationalized version of the program will attempt to translate any +// string that is passed, using the appropriate (selected by a #define) +// table. If it fails then it just returns the English. +// Jonathan Westhues, Apr 2007 +//----------------------------------------------------------------------------- +#include +#include +#include + +#include "ldmicro.h" + +typedef struct LangTableTag { + char *from; + char *to; +} LangTable; + +typedef struct LangTag { + LangTable *tab; + int n; +} Lang; + +// These are the actual translation tables, so should be included in just +// one place. +#include "obj/lang-tables.h" + +char *_(char *in) +{ + Lang *l; + +#if defined(LDLANG_EN) + return in; +#elif defined(LDLANG_DE) + l = &LangDe; +#elif defined(LDLANG_FR) + l = &LangFr; +#elif defined(LDLANG_ES) + l = &LangEs; +#elif defined(LDLANG_IT) + l = &LangIt; +#elif defined(LDLANG_TR) + l = &LangTr; +#elif defined(LDLANG_PT) + l = &LangPt; +#else +# error "Unrecognized language!" +#endif + + int i; + + for(i = 0; i < l->n; i++) { + if(strcmp(in, l->tab[i].from)==0) { + return l->tab[i].to; + } + } + + return in; +} -- cgit From 1f483baf37359032ca3224a5d07853aaf725def4 Mon Sep 17 00:00:00 2001 From: Rr42 Date: Mon, 4 Jun 2018 15:25:44 +0530 Subject: Commented all GUI code for core test --- ldmicro/lang.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'ldmicro/lang.cpp') diff --git a/ldmicro/lang.cpp b/ldmicro/lang.cpp index 4be05d0..a4f1532 100644 --- a/ldmicro/lang.cpp +++ b/ldmicro/lang.cpp @@ -42,7 +42,8 @@ typedef struct LangTag { // These are the actual translation tables, so should be included in just // one place. -#include "obj/lang-tables.h" +//#include "obj/lang-tables.h" +#define LDLANG_EN char *_(char *in) { -- cgit From 2ef55474f6c1622b19bbd9dfa0d132bb433e08b9 Mon Sep 17 00:00:00 2001 From: Rr42 Date: Wed, 6 Jun 2018 12:12:49 +0530 Subject: Removed unnecessary files and headers. --- ldmicro/lang.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'ldmicro/lang.cpp') diff --git a/ldmicro/lang.cpp b/ldmicro/lang.cpp index a4f1532..67952bc 100644 --- a/ldmicro/lang.cpp +++ b/ldmicro/lang.cpp @@ -24,7 +24,7 @@ // table. If it fails then it just returns the English. // Jonathan Westhues, Apr 2007 //----------------------------------------------------------------------------- -#include +#include "linuxUI.h" #include #include -- cgit