From ddd18c32a976c6303b7e35bfd586dad6e36264c3 Mon Sep 17 00:00:00 2001
From: "p.kosyh"
Date: Fri, 20 Nov 2009 07:54:50 +0000
Subject: [PATCH] i18n of themes
---
src/sdl-instead/game.c | 4 +---
src/sdl-instead/main.c | 7 +++++--
src/sdl-instead/menu.c | 4 ++--
src/sdl-instead/util.c | 14 +++++++-------
4 files changed, 15 insertions(+), 14 deletions(-)
diff --git a/src/sdl-instead/game.c b/src/sdl-instead/game.c
index e97a30d..3478d83 100644
--- a/src/sdl-instead/game.c
+++ b/src/sdl-instead/game.c
@@ -89,7 +89,7 @@ static char *game_name(const char *path, const char *d_name)
char *p = getfilepath(path, MAIN_FILE);
if (!p)
goto err;
- l = lookup_tag(p, "$Name:", "--");
+ l = lookup_tag(p, "Name", "--");
free(p);
if (l)
return l;
@@ -534,8 +534,6 @@ int game_init(const char *name)
{
getcwd(game_cwd, sizeof(game_cwd));
- if (!opt_lang || !opt_lang[0])
- opt_lang = game_locale();
if (menu_lang_select(opt_lang) && menu_lang_select(LANG_DEF)) {
fprintf(stderr, "Can not load default language.\n");
exit(1);
diff --git a/src/sdl-instead/main.c b/src/sdl-instead/main.c
index 232a25c..dcb6822 100644
--- a/src/sdl-instead/main.c
+++ b/src/sdl-instead/main.c
@@ -87,6 +87,11 @@ int main(int argc, char **argv)
exit(1);
}
+ cfg_load();
+
+ if (!opt_lang || !opt_lang[0])
+ opt_lang = game_locale();
+
if (games_sw)
games_lookup(games_sw);
@@ -99,8 +104,6 @@ int main(int argc, char **argv)
themes_lookup(game_local_themes_path());
games_lookup(game_local_games_path());
- cfg_load();
-
if (noauto_sw)
opt_autosave = 0;
if (window_sw)
diff --git a/src/sdl-instead/menu.c b/src/sdl-instead/menu.c
index 99d6e88..c104ff8 100644
--- a/src/sdl-instead/menu.c
+++ b/src/sdl-instead/menu.c
@@ -49,7 +49,7 @@ static char *slot_name(const char *path)
struct stat st;
char *l;
FILE *fd;
- l = lookup_tag(path, "$Name:", "--");
+ l = lookup_tag(path, "Name", "--");
if (l) {
char *s = fromgame(l);
free(l);
@@ -616,7 +616,7 @@ static char *lang_code(const char *str)
static char *lang_name(const char *path, const char *file)
{
char *l;
- l = lookup_tag(path, "$Name:", ";");
+ l = lookup_tag(path, "Name", ";");
if (l)
return l;
return lang_code(file);
diff --git a/src/sdl-instead/util.c b/src/sdl-instead/util.c
index 2a73735..32bc08d 100644
--- a/src/sdl-instead/util.c
+++ b/src/sdl-instead/util.c
@@ -263,12 +263,10 @@ char *lookup_lang_tag(const char *fname, const char *tag, const char *comm)
{
char lang_tag[1024];
char *l;
- snprintf(lang_tag, sizeof(lang_tag), "$%s(%s):", tag, opt_lang);
+ snprintf(lang_tag, sizeof(lang_tag), "%s(%s)", tag, opt_lang);
l = lookup_tag(fname, lang_tag, comm);
- if (!l) {
- snprintf(lang_tag, sizeof(lang_tag), "$%s:", tag);
- l = lookup_tag(fname, lang_tag, comm);
- }
+ if (!l)
+ l = lookup_tag(fname, tag, comm);
return l;
}
@@ -276,15 +274,17 @@ char *parse_tag(char *line, const char *tag, const char *comm, int *brk)
{
char *l = line;
char *ns = NULL;
+ char ftag[1024];
+ snprintf(ftag, sizeof(ftag), "$%s:", tag);
l += strspn(l, " \t");
if (strncmp(l, comm, strlen(comm))) { /* non coment block */
*brk = 1;
return NULL;
}
l += strlen(comm); l += strspn(l, " \t");
- if (strncmp(l, tag, strlen(tag)))
+ if (strncmp(l, ftag, strlen(ftag)))
return NULL;
- l += strlen(tag);
+ l += strlen(ftag);
l += strspn(l, " \t");
ns = l;
l = find_in_esc(l, "\\$");