forked from github/server
Merge pull request #652 from ennorehling/develop
finish locale refactoring for now.
This commit is contained in:
commit
69fd8edb8b
2
clibs
2
clibs
|
@ -1 +1 @@
|
||||||
Subproject commit 27c8b3202b52766465743c3324fc0b52c5ba4b11
|
Subproject commit f91ef37f08c5244bf616f1836c0aa9caaf36805c
|
|
@ -146,7 +146,7 @@ function process(rules, orders)
|
||||||
init_summary()
|
init_summary()
|
||||||
|
|
||||||
-- run the turn:
|
-- run the turn:
|
||||||
if read_orders(orders) ~= 0 then
|
if eressea.read_orders(orders) ~= 0 then
|
||||||
print("could not read " .. orders)
|
print("could not read " .. orders)
|
||||||
return -1
|
return -1
|
||||||
end
|
end
|
||||||
|
|
|
@ -223,14 +223,6 @@ static int tolua_rng_int(lua_State * L)
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
static int tolua_read_orders(lua_State * L)
|
|
||||||
{
|
|
||||||
const char *filename = tolua_tostring(L, 1, 0);
|
|
||||||
int result = readorders(filename);
|
|
||||||
lua_pushinteger(L, result);
|
|
||||||
return 1;
|
|
||||||
}
|
|
||||||
|
|
||||||
static int tolua_message_unit(lua_State * L)
|
static int tolua_message_unit(lua_State * L)
|
||||||
{
|
{
|
||||||
unit *sender = (unit *)tolua_tousertype(L, 1, 0);
|
unit *sender = (unit *)tolua_tousertype(L, 1, 0);
|
||||||
|
@ -1072,8 +1064,6 @@ int tolua_bindings_open(lua_State * L, const dictionary *inifile)
|
||||||
tolua_function(L, TOLUA_CAST "factions", tolua_get_factions);
|
tolua_function(L, TOLUA_CAST "factions", tolua_get_factions);
|
||||||
tolua_function(L, TOLUA_CAST "regions", tolua_get_regions);
|
tolua_function(L, TOLUA_CAST "regions", tolua_get_regions);
|
||||||
tolua_function(L, TOLUA_CAST "read_turn", tolua_read_turn);
|
tolua_function(L, TOLUA_CAST "read_turn", tolua_read_turn);
|
||||||
// tolua_function(L, TOLUA_CAST "write_map", &tolua_write_map);
|
|
||||||
tolua_function(L, TOLUA_CAST "read_orders", tolua_read_orders);
|
|
||||||
tolua_function(L, TOLUA_CAST "process_orders", tolua_process_orders);
|
tolua_function(L, TOLUA_CAST "process_orders", tolua_process_orders);
|
||||||
tolua_function(L, TOLUA_CAST "init_reports", tolua_init_reports);
|
tolua_function(L, TOLUA_CAST "init_reports", tolua_init_reports);
|
||||||
tolua_function(L, TOLUA_CAST "write_reports", tolua_write_reports);
|
tolua_function(L, TOLUA_CAST "write_reports", tolua_write_reports);
|
||||||
|
|
|
@ -654,7 +654,7 @@ static void json_strings(cJSON *json) {
|
||||||
}
|
}
|
||||||
for (child = json->child; child; child = child->next) {
|
for (child = json->child; child; child = child->next) {
|
||||||
if (child->type == cJSON_Object) {
|
if (child->type == cJSON_Object) {
|
||||||
struct locale *lang = get_or_create_locale(child->string);
|
struct locale *lang = get_locale(child->string);
|
||||||
json_locale(child, lang);
|
json_locale(child, lang);
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
|
@ -695,7 +695,7 @@ static void json_directions(cJSON *json) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
for (child = json->child; child; child = child->next) {
|
for (child = json->child; child; child = child->next) {
|
||||||
struct locale * lang = get_or_create_locale(child->string);
|
struct locale * lang = get_locale(child->string);
|
||||||
json_direction(child, lang);
|
json_direction(child, lang);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -771,7 +771,7 @@ static void json_skills(cJSON *json) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
for (child = json->child; child; child = child->next) {
|
for (child = json->child; child; child = child->next) {
|
||||||
struct locale * lang = get_or_create_locale(child->string);
|
struct locale * lang = get_locale(child->string);
|
||||||
json_skill(child, lang);
|
json_skill(child, lang);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -783,7 +783,7 @@ static void json_keywords(cJSON *json) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
for (child = json->child; child; child = child->next) {
|
for (child = json->child; child; child = child->next) {
|
||||||
struct locale * lang = get_or_create_locale(child->string);
|
struct locale * lang = get_locale(child->string);
|
||||||
json_keyword(child, lang);
|
json_keyword(child, lang);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -600,9 +600,10 @@ static void test_infinitive_from_config(CuTest *tc) {
|
||||||
|
|
||||||
cJSON *json = cJSON_Parse(data);
|
cJSON *json = cJSON_Parse(data);
|
||||||
CuAssertPtrNotNull(tc, json);
|
CuAssertPtrNotNull(tc, json);
|
||||||
|
test_setup();
|
||||||
|
lang = get_or_create_locale("de");
|
||||||
json_config(json);
|
json_config(json);
|
||||||
|
|
||||||
lang = get_or_create_locale("de");
|
|
||||||
CuAssertIntEquals(tc, K_STUDY, get_keyword("LERN", lang));
|
CuAssertIntEquals(tc, K_STUDY, get_keyword("LERN", lang));
|
||||||
CuAssertIntEquals(tc, K_STUDY, get_keyword("LERNE", lang));
|
CuAssertIntEquals(tc, K_STUDY, get_keyword("LERNE", lang));
|
||||||
CuAssertIntEquals(tc, K_STUDY, get_keyword("LERNEN", lang));
|
CuAssertIntEquals(tc, K_STUDY, get_keyword("LERNEN", lang));
|
||||||
|
|
|
@ -66,10 +66,6 @@ static void xml_readtext(xmlNodePtr node, struct locale **lang, xmlChar ** text)
|
||||||
xmlChar *propValue = xmlGetProp(node, BAD_CAST "locale");
|
xmlChar *propValue = xmlGetProp(node, BAD_CAST "locale");
|
||||||
assert(propValue != NULL);
|
assert(propValue != NULL);
|
||||||
*lang = get_locale((const char *)propValue);
|
*lang = get_locale((const char *)propValue);
|
||||||
#ifdef MAKE_LOCALES
|
|
||||||
if (*lang == NULL)
|
|
||||||
*lang = get_or_create_locale((const char *)propValue);
|
|
||||||
#endif
|
|
||||||
xmlFree(propValue);
|
xmlFree(propValue);
|
||||||
|
|
||||||
*text = xmlNodeListGetString(node->doc, node->children, 1);
|
*text = xmlNodeListGetString(node->doc, node->children, 1);
|
||||||
|
@ -361,7 +357,6 @@ static int parse_calendar(xmlDocPtr doc)
|
||||||
|
|
||||||
xpathCalendars = xmlXPathEvalExpression(BAD_CAST "/eressea/calendar", xpath);
|
xpathCalendars = xmlXPathEvalExpression(BAD_CAST "/eressea/calendar", xpath);
|
||||||
nsetCalendars = xpathCalendars->nodesetval;
|
nsetCalendars = xpathCalendars->nodesetval;
|
||||||
months_per_year = 0;
|
|
||||||
if (nsetCalendars != NULL && nsetCalendars->nodeNr != 0) {
|
if (nsetCalendars != NULL && nsetCalendars->nodeNr != 0) {
|
||||||
int c;
|
int c;
|
||||||
for (c = 0; c != nsetCalendars->nodeNr; ++c) {
|
for (c = 0; c != nsetCalendars->nodeNr; ++c) {
|
||||||
|
|
|
@ -70,15 +70,13 @@ static void load_inifile(dictionary * d)
|
||||||
lomem = iniparser_getint(d, "game:lomem", lomem) ? 1 : 0;
|
lomem = iniparser_getint(d, "game:lomem", lomem) ? 1 : 0;
|
||||||
|
|
||||||
verbosity = iniparser_getint(d, "game:verbose", 2);
|
verbosity = iniparser_getint(d, "game:verbose", 2);
|
||||||
str = iniparser_getstring(d, "game:locales", "de,en");
|
|
||||||
make_locales(str);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static dictionary *parse_config(const char *filename)
|
static dictionary *parse_config(const char *filename)
|
||||||
{
|
{
|
||||||
char path[MAX_PATH];
|
char path[MAX_PATH];
|
||||||
dictionary *d;
|
dictionary *d;
|
||||||
const char *cfgpath = config_get("config.path");
|
const char *str, *cfgpath = config_get("config.path");
|
||||||
|
|
||||||
if (cfgpath) {
|
if (cfgpath) {
|
||||||
join_path(cfgpath, filename, path, sizeof(path));
|
join_path(cfgpath, filename, path, sizeof(path));
|
||||||
|
@ -99,6 +97,8 @@ static dictionary *parse_config(const char *filename)
|
||||||
gm_codepage = iniparser_getint(d, "editor:codepage", gm_codepage);
|
gm_codepage = iniparser_getint(d, "editor:codepage", gm_codepage);
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
str = config_get("game.locales");
|
||||||
|
make_locales(str ? str : "de,en");
|
||||||
return d;
|
return d;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -157,7 +157,7 @@ size_t report_status(const unit * u, const struct locale *lang, char *fsbuf, siz
|
||||||
|
|
||||||
if (!status) {
|
if (!status) {
|
||||||
const char *lname = locale_name(lang);
|
const char *lname = locale_name(lang);
|
||||||
struct locale *wloc = get_or_create_locale(lname);
|
struct locale *wloc = get_locale(lname);
|
||||||
log_warning("no translation for combat status %s in %s", combatstatus[u->status], lname);
|
log_warning("no translation for combat status %s in %s", combatstatus[u->status], lname);
|
||||||
locale_setstring(wloc, combatstatus[u->status], combatstatus[u->status]+7);
|
locale_setstring(wloc, combatstatus[u->status], combatstatus[u->status]+7);
|
||||||
len = strlcpy(fsbuf, combatstatus[u->status]+7, buflen);
|
len = strlcpy(fsbuf, combatstatus[u->status]+7, buflen);
|
||||||
|
|
|
@ -327,10 +327,10 @@ static int locale_init = 0;
|
||||||
|
|
||||||
void init_locales(void)
|
void init_locales(void)
|
||||||
{
|
{
|
||||||
int l;
|
locale * lang;
|
||||||
if (locale_init) return;
|
if (locale_init) return;
|
||||||
for (l = 0; localenames[l]; ++l) {
|
assert(locales);
|
||||||
struct locale *lang = get_or_create_locale(localenames[l]);
|
for (lang = locales; lang; lang = lang->next) {
|
||||||
init_locale(lang);
|
init_locale(lang);
|
||||||
}
|
}
|
||||||
locale_init = 1;
|
locale_init = 1;
|
||||||
|
|
Loading…
Reference in New Issue