diff --git a/src/common/gamecode/laws.c b/src/common/gamecode/laws.c index 0ff16d2c0..fd40ed125 100644 --- a/src/common/gamecode/laws.c +++ b/src/common/gamecode/laws.c @@ -2126,7 +2126,7 @@ display_item(faction *f, unit *u, const item_type * itype) name = resourcename(itype->rtype, 0); key = mkname("iteminfo", name); - info = locale_string(f->locale, key); + info = locale_getstring(f->locale, key); if (info==key || strcmp(info, key)==0) { info = locale_string(f->locale, mkname("iteminfo", "no_info")); @@ -2178,7 +2178,7 @@ display_race(faction *f, unit *u, const race * rc) bufp += rsize; key = mkname("raceinfo", rc->_name[0]); - info = locale_string(f->locale, key); + info = locale_getstring(f->locale, key); if (info==key || strcmp(info, key)==0) { info = locale_string(f->locale, mkname("raceinfo", "no_info")); } diff --git a/src/common/modules/autoseed.c b/src/common/modules/autoseed.c index 00d211980..8190ad8a2 100644 --- a/src/common/modules/autoseed.c +++ b/src/common/modules/autoseed.c @@ -164,7 +164,7 @@ fix_demand(region *r) for (rl=rlist;rl;rl=rl->next) { region * r = rl->data; if (!fval(r, RF_CHAOTIC)) { - log_warning(("fixing demand in %s\n", regionname(r, NULL))); + log_error(("fixing demand in %s\n", regionname(r, NULL))); } sale = mlux[rng_int() % maxlux]; if (sale) setluxuries(r, sale); diff --git a/src/common/util/language.c b/src/common/util/language.c index ec2d891c2..4c54776cf 100644 --- a/src/common/util/language.c +++ b/src/common/util/language.c @@ -74,18 +74,27 @@ debug_language(const char * log) const char * locale_getstring(const locale * lang, const char * key) { - unsigned int hkey = hashstring(key); - unsigned int id = hkey & (SMAXHASH-1); - const struct locale_str * find; + unsigned int hkey = hashstring(key); + unsigned int id = hkey & (SMAXHASH-1); + const struct locale_str * find; - assert(lang); - if (key==NULL || *key==0) return NULL; - find = lang->strings[id]; - while (find) { - if (find->hashkey == hkey && !strcmp(key, find->key)) return find->str; - find = find->nexthash; - } - return NULL; + assert(lang); + if (key==NULL || *key==0) return NULL; + find = lang->strings[id]; + while (find) { + if (find->hashkey == hkey) { + if (find->nexthash==NULL) { + /* if this is the only entry with this hash, fine. */ + assert(strcmp(key, find->key)==0); + return find->str; + } + if (strcmp(key, find->key)==0) { + return find->str; + } + } + find = find->nexthash; + } + return NULL; } const char * diff --git a/src/eressea/korrektur.c b/src/eressea/korrektur.c index 00c0f0293..69c40ae81 100644 --- a/src/eressea/korrektur.c +++ b/src/eressea/korrektur.c @@ -328,7 +328,7 @@ fix_otherfaction(void) } } } - if (count) log_warning(("%u units had otherfaction=own faction.\n", count)); + if (count) log_error(("%u units had otherfaction=own faction.\n", count)); } static int diff --git a/src/res/de/strings.xml b/src/res/de/strings.xml index b82a693ae..dc9e2b5e8 100644 --- a/src/res/de/strings.xml +++ b/src/res/de/strings.xml @@ -22,38 +22,49 @@ Der Adler ist ein ausgezeichneter Späher, fliegend überquert er sogar kurze Meerengen, doch ist er hoch oben am Himmel auch sehr exponiert, - was ihn beim Rasten zu einem leichten Ziel macht (Schaden: 2d3, - Angriff 6, Verteidigung 2, 15 Trefferpunkte). + was ihn beim Rasten zu einem leichten Ziel macht. Der Luchs ist bekannt für seine Geschicklichkeit im Verbergen und Beobachten. Mit ein wenig Geduld kann er zu einem hervorragenden Späher ausgebildet werden. Im Kampf verteidigt er sich mit seinen - scharfen Krallen und weiß seine Gewandheit zu nutzen (Schaden: 2d3, - Angriff 4, Verteidigung 5, 20 Trefferpunkte). + scharfen Krallen und weiß seine Gewandheit zu nutzen. Diese großen Wölfe sind nicht alle so wild und böse wie in den Legenden berichtet, und einige von ihnen schließen sich auch guten - Magiern bereitwillig an und sind ihnen dann treue Gefährten. (3 - Angriffe, Schaden: 2d6, 1d4, 1d4, Angriff 6, Verteidigung 3, 25 - Trefferpunkte). + Magiern bereitwillig an und sind ihnen dann treue Gefährten. Diese aus den Tiefen Eresseas stammende gigantische Geschöpf ist dem Leben im Untergrund hervorragend angepasst. Blind, taub und nicht besonders intelligent, aber mit seinen gewaltigen Kräften kann es - ganze Berge versetzen oder Wälder roden. (Schaden: 3d20, Angriff 6, - Verteidigung 1, Rüstung 6, 300 Trefferpunkte). + ganze Berge versetzen oder Wälder roden. + + Das Horn eines Trolles. Kein Troll würde sich lebend davon trennen. + The horn of an adult troll. No troll would ever part with this while he's alive. + + + Beim Barte des Proheten! Ach nein, Zwergen. Irgendetwas riecht hier ranzig. + Sniff... Bleah. Don't they ever wash these? + Diese Amulett ist ein hervorragender Fokus für alle Heilzauber. Ein mit diesem Fokus gewirkter Heilzauber wird mit größerer Warscheinlichkeit Erfolgreich sein und doppelt so viele Leute heilen können. + + Der Kopf eines toten Drachens oder Wyrms. Man sagt, es ruhen magische Kräfte darin. + The head of a dead dragon or wyrm. They say that it has magical powers. + + + Munition für Katapulte. + Ammunition for catapults. + Ein Elfenpferd wird sich nur den wenigsten jemals anschließen. Hat es jedoch seine Scheu überwunden ist es ein sehr wertvoller Gefährte. Ein diff --git a/src/res/eressea/de/strings.xml b/src/res/eressea/de/strings.xml index f8feaeb56..6489dfc1b 100644 --- a/src/res/eressea/de/strings.xml +++ b/src/res/eressea/de/strings.xml @@ -12,10 +12,6 @@ - - Eine Geburtstagstorte mit 10 Kerzen. Herzlichen Glückwunsch, Eressea! - A birthday cake with 10 candles. Happy Birthday, Eressea! - Keine Informationen über diesen Schiffstyp verfügbar. No Information available for this type of ship. @@ -34,6 +30,10 @@ + + Eine Geburtstagstorte mit 10 Kerzen. Herzlichen Glückwunsch, Eressea! + A birthday cake with 10 candles. Happy Birthday, Eressea! + Keine Informationen. No Information available.