Custom ediv_strlwr replacing strlwr call on language.c
This commit is contained in:
parent
71dd8b2a46
commit
3c592e1d1c
|
@ -18,7 +18,6 @@
|
||||||
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
|
||||||
#ifdef _WIN32
|
#ifdef _WIN32
|
||||||
#include <windows.h>
|
#include <windows.h>
|
||||||
#else
|
#else
|
||||||
|
@ -30,6 +29,7 @@
|
||||||
#include "language.h"
|
#include "language.h"
|
||||||
#include "edivcfg/iniparser.h"
|
#include "edivcfg/iniparser.h"
|
||||||
|
|
||||||
|
static char *ediv_strlwr(char *str);
|
||||||
|
|
||||||
int detecta_idioma_iso(char *lang)
|
int detecta_idioma_iso(char *lang)
|
||||||
{
|
{
|
||||||
|
@ -42,23 +42,27 @@ int detecta_idioma_iso(char* lang)
|
||||||
"ca", /* catalán */
|
"ca", /* catalán */
|
||||||
"eu" /* euskera */
|
"eu" /* euskera */
|
||||||
};
|
};
|
||||||
if(lang==NULL) return DEFAULT_LANGUAGE;
|
if (lang == NULL)
|
||||||
if(strlen(lang)>2) lang[2]=0;
|
return DEFAULT_LANGUAGE;
|
||||||
strlwr(lang);
|
if (strlen(lang) > 2)
|
||||||
|
lang[2] = 0;
|
||||||
|
ediv_strlwr(lang);
|
||||||
for (i = 0; i < NUM_LANGUAGES; i++)
|
for (i = 0; i < NUM_LANGUAGES; i++)
|
||||||
if (lang[0] == getid[i][0])
|
if (lang[0] == getid[i][0])
|
||||||
if (lang[1] == getid[i][1])
|
if (lang[1] == getid[i][1])
|
||||||
break;
|
break;
|
||||||
if(i==NUM_LANGUAGES) i=DEFAULT_LANGUAGE;
|
if (i == NUM_LANGUAGES)
|
||||||
|
i = DEFAULT_LANGUAGE;
|
||||||
return i;
|
return i;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
int detecta_idioma()
|
int detecta_idioma()
|
||||||
{
|
{
|
||||||
char *langcfg = NULL;
|
char *langcfg = NULL;
|
||||||
if (ini!=NULL) langcfg=iniparser_getstr(ini,"general:lang");
|
if (ini != NULL)
|
||||||
if(langcfg==NULL) {
|
langcfg = iniparser_getstr(ini, "general:lang");
|
||||||
|
if (langcfg == NULL)
|
||||||
|
{
|
||||||
#ifdef _WIN32
|
#ifdef _WIN32
|
||||||
int i;
|
int i;
|
||||||
static int getid[NUM_LANGUAGES] = {
|
static int getid[NUM_LANGUAGES] = {
|
||||||
|
@ -73,19 +77,23 @@ int detecta_idioma()
|
||||||
|
|
||||||
lang = GetSystemDefaultLangID() & 0xff;
|
lang = GetSystemDefaultLangID() & 0xff;
|
||||||
for (i = 0; i < NUM_LANGUAGES; i++)
|
for (i = 0; i < NUM_LANGUAGES; i++)
|
||||||
if(lang==getid[i]) break;
|
if (lang == getid[i])
|
||||||
if(i==NUM_LANGUAGES) i=DEFAULT_LANGUAGE;
|
break;
|
||||||
|
if (i == NUM_LANGUAGES)
|
||||||
|
i = DEFAULT_LANGUAGE;
|
||||||
return i;
|
return i;
|
||||||
#else
|
#else
|
||||||
langcfg = getenv("LANG");
|
langcfg = getenv("LANG");
|
||||||
if(langcfg==NULL) return DEFAULT_LANGUAGE;
|
if (langcfg == NULL)
|
||||||
else return detecta_idioma_iso(langcfg);
|
return DEFAULT_LANGUAGE;
|
||||||
|
else
|
||||||
|
return detecta_idioma_iso(langcfg);
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
else return detecta_idioma_iso(langcfg);
|
else
|
||||||
|
return detecta_idioma_iso(langcfg);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
char *translate_error(int num)
|
char *translate_error(int num)
|
||||||
{
|
{
|
||||||
|
|
||||||
|
@ -134,7 +142,6 @@ char* translate_ltlex_error(int num)
|
||||||
return e[idioma][num];
|
return e[idioma][num];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
char *translate(int num)
|
char *translate(int num)
|
||||||
{
|
{
|
||||||
static char *e[NUM_LANGUAGES][74] = {
|
static char *e[NUM_LANGUAGES][74] = {
|
||||||
|
@ -145,3 +152,16 @@ char* translate(int num)
|
||||||
};
|
};
|
||||||
return e[idioma][num];
|
return e[idioma][num];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static char *ediv_strlwr(char *str)
|
||||||
|
{
|
||||||
|
unsigned char *p = (unsigned char *)str;
|
||||||
|
|
||||||
|
while (*p)
|
||||||
|
{
|
||||||
|
*p = tolower((unsigned char)*p);
|
||||||
|
p++;
|
||||||
|
}
|
||||||
|
|
||||||
|
return str;
|
||||||
|
}
|
Loading…
Reference in a new issue