1
0
Fork 0

(svn r5671) - Backport from trunk (r5504, r5512):

Added Italian town name generator. While not a fix, it is added along the same lines
  as the turkish town names. Official translation > official townnames (if existing).
release/0.4
Darkvater 2006-07-31 12:08:08 +00:00
parent 58b4fd7683
commit 6af2e64186
21 changed files with 332 additions and 2 deletions

View File

@ -839,6 +839,7 @@ STR_TOWNNAME_CZECH :Czech
STR_TOWNNAME_SWISS :Swiss STR_TOWNNAME_SWISS :Swiss
STR_TOWNNAME_DANISH :Danish STR_TOWNNAME_DANISH :Danish
STR_TOWNNAME_TURKISH :Turkish STR_TOWNNAME_TURKISH :Turkish
STR_TOWNNAME_ITALIAN :Italian
############ end of townname region ############ end of townname region
STR_CURR_GBP :Pounds (£) STR_CURR_GBP :Pounds (£)

View File

@ -896,6 +896,7 @@ STR_TOWNNAME_CZECH :Ceska
STR_TOWNNAME_SWISS :¦výcarská STR_TOWNNAME_SWISS :¦výcarská
STR_TOWNNAME_DANISH :Dánská STR_TOWNNAME_DANISH :Dánská
STR_TOWNNAME_TURKISH :Turecká STR_TOWNNAME_TURKISH :Turecká
STR_TOWNNAME_ITALIAN :Italská
############ end of townname region ############ end of townname region
STR_CURR_GBP :Libry (£) STR_CURR_GBP :Libry (£)

View File

@ -839,6 +839,7 @@ STR_TOWNNAME_CZECH :Tsjechisch
STR_TOWNNAME_SWISS :Zwitsers STR_TOWNNAME_SWISS :Zwitsers
STR_TOWNNAME_DANISH :Deens STR_TOWNNAME_DANISH :Deens
STR_TOWNNAME_TURKISH :Turks STR_TOWNNAME_TURKISH :Turks
STR_TOWNNAME_ITALIAN :Italiaans
############ end of townname region ############ end of townname region
STR_CURR_GBP :Pond (£) STR_CURR_GBP :Pond (£)

View File

@ -839,6 +839,7 @@ STR_TOWNNAME_CZECH :Czech
STR_TOWNNAME_SWISS :Swiss STR_TOWNNAME_SWISS :Swiss
STR_TOWNNAME_DANISH :Danish STR_TOWNNAME_DANISH :Danish
STR_TOWNNAME_TURKISH :Turkish STR_TOWNNAME_TURKISH :Turkish
STR_TOWNNAME_ITALIAN :Italian
############ end of townname region ############ end of townname region
STR_CURR_GBP :Pounds (£) STR_CURR_GBP :Pounds (£)

View File

@ -839,6 +839,7 @@ STR_TOWNNAME_CZECH :T
STR_TOWNNAME_SWISS :¦veitsi STR_TOWNNAME_SWISS :¦veitsi
STR_TOWNNAME_DANISH :Taani STR_TOWNNAME_DANISH :Taani
STR_TOWNNAME_TURKISH :Türgi STR_TOWNNAME_TURKISH :Türgi
STR_TOWNNAME_ITALIAN :Itaalia
############ end of townname region ############ end of townname region
STR_CURR_GBP :Naelad (£) STR_CURR_GBP :Naelad (£)

View File

@ -840,6 +840,7 @@ STR_TOWNNAME_CZECH :Tch
STR_TOWNNAME_SWISS :Suisse STR_TOWNNAME_SWISS :Suisse
STR_TOWNNAME_DANISH :Danois STR_TOWNNAME_DANISH :Danois
STR_TOWNNAME_TURKISH :Turques STR_TOWNNAME_TURKISH :Turques
STR_TOWNNAME_ITALIAN :Italien
############ end of townname region ############ end of townname region
STR_CURR_GBP :Livre (£) STR_CURR_GBP :Livre (£)

View File

@ -840,6 +840,7 @@ STR_TOWNNAME_CZECH :Tschechisch
STR_TOWNNAME_SWISS :Schweizerisch STR_TOWNNAME_SWISS :Schweizerisch
STR_TOWNNAME_DANISH :Dänisch STR_TOWNNAME_DANISH :Dänisch
STR_TOWNNAME_TURKISH :Türkisch STR_TOWNNAME_TURKISH :Türkisch
STR_TOWNNAME_ITALIAN :Italienisch
############ end of townname region ############ end of townname region
STR_CURR_GBP :Pfund (£) STR_CURR_GBP :Pfund (£)

View File

@ -904,6 +904,7 @@ STR_TOWNNAME_CZECH :Cseh
STR_TOWNNAME_SWISS :Svájci STR_TOWNNAME_SWISS :Svájci
STR_TOWNNAME_DANISH :Dán STR_TOWNNAME_DANISH :Dán
STR_TOWNNAME_TURKISH :Török STR_TOWNNAME_TURKISH :Török
STR_TOWNNAME_ITALIAN :Olasz
############ end of townname region ############ end of townname region
STR_CURR_GBP :Font (£) STR_CURR_GBP :Font (£)

View File

@ -839,6 +839,7 @@ STR_TOWNNAME_CZECH :T
STR_TOWNNAME_SWISS :Svissnesk STR_TOWNNAME_SWISS :Svissnesk
STR_TOWNNAME_DANISH :Dönsk STR_TOWNNAME_DANISH :Dönsk
STR_TOWNNAME_TURKISH :Tyrknesk STR_TOWNNAME_TURKISH :Tyrknesk
STR_TOWNNAME_ITALIAN :Ítölsk
############ end of townname region ############ end of townname region
STR_CURR_GBP :Pund (£) STR_CURR_GBP :Pund (£)

View File

@ -839,6 +839,7 @@ STR_TOWNNAME_CZECH :Cechi
STR_TOWNNAME_SWISS :Svizzero STR_TOWNNAME_SWISS :Svizzero
STR_TOWNNAME_DANISH :Danese STR_TOWNNAME_DANISH :Danese
STR_TOWNNAME_TURKISH :Turco STR_TOWNNAME_TURKISH :Turco
STR_TOWNNAME_ITALIAN :Italiano
############ end of townname region ############ end of townname region
STR_CURR_GBP :Sterlina (£) STR_CURR_GBP :Sterlina (£)

View File

@ -839,6 +839,7 @@ STR_TOWNNAME_CZECH :Tsjekkisk
STR_TOWNNAME_SWISS :Sveitsisk STR_TOWNNAME_SWISS :Sveitsisk
STR_TOWNNAME_DANISH :Dansk STR_TOWNNAME_DANISH :Dansk
STR_TOWNNAME_TURKISH :Tyrkisk STR_TOWNNAME_TURKISH :Tyrkisk
STR_TOWNNAME_ITALIAN :Italiensk
############ end of townname region ############ end of townname region
STR_CURR_GBP :Pund (£) STR_CURR_GBP :Pund (£)

View File

@ -926,6 +926,7 @@ STR_TOWNNAME_CZECH :Czeskie
STR_TOWNNAME_SWISS :Szwajcarskie STR_TOWNNAME_SWISS :Szwajcarskie
STR_TOWNNAME_DANISH :Dunskie STR_TOWNNAME_DANISH :Dunskie
STR_TOWNNAME_TURKISH :Tureckie STR_TOWNNAME_TURKISH :Tureckie
STR_TOWNNAME_ITALIAN :Wloskie
############ end of townname region ############ end of townname region
STR_CURR_GBP :Funty (£) STR_CURR_GBP :Funty (£)

View File

@ -839,6 +839,7 @@ STR_TOWNNAME_CZECH :Checo
STR_TOWNNAME_SWISS :Suiça STR_TOWNNAME_SWISS :Suiça
STR_TOWNNAME_DANISH :Dinamarquês STR_TOWNNAME_DANISH :Dinamarquês
STR_TOWNNAME_TURKISH :Turco STR_TOWNNAME_TURKISH :Turco
STR_TOWNNAME_ITALIAN :Italiano
############ end of townname region ############ end of townname region
STR_CURR_GBP :Libras (£) STR_CURR_GBP :Libras (£)

View File

@ -839,6 +839,7 @@ STR_TOWNNAME_CZECH :Ceske
STR_TOWNNAME_SWISS :Svajciarske STR_TOWNNAME_SWISS :Svajciarske
STR_TOWNNAME_DANISH :Danske STR_TOWNNAME_DANISH :Danske
STR_TOWNNAME_TURKISH :Turecké STR_TOWNNAME_TURKISH :Turecké
STR_TOWNNAME_ITALIAN :Talianske
############ end of townname region ############ end of townname region
STR_CURR_GBP :Libry (£) STR_CURR_GBP :Libry (£)

View File

@ -839,6 +839,7 @@ STR_TOWNNAME_CZECH :Checo
STR_TOWNNAME_SWISS :Suizo STR_TOWNNAME_SWISS :Suizo
STR_TOWNNAME_DANISH :Danes STR_TOWNNAME_DANISH :Danes
STR_TOWNNAME_TURKISH :Turco STR_TOWNNAME_TURKISH :Turco
STR_TOWNNAME_ITALIAN :Italiano
############ end of townname region ############ end of townname region
STR_CURR_GBP :Libras (£) STR_CURR_GBP :Libras (£)

View File

@ -839,6 +839,7 @@ STR_TOWNNAME_CZECH :Tjeckiska
STR_TOWNNAME_SWISS :Schweiziska STR_TOWNNAME_SWISS :Schweiziska
STR_TOWNNAME_DANISH :Danska STR_TOWNNAME_DANISH :Danska
STR_TOWNNAME_TURKISH :Turkiska STR_TOWNNAME_TURKISH :Turkiska
STR_TOWNNAME_ITALIAN :Italienska
############ end of townname region ############ end of townname region
STR_CURR_GBP :Pund (£) STR_CURR_GBP :Pund (£)

View File

@ -839,6 +839,7 @@ STR_TOWNNAME_CZECH :
STR_TOWNNAME_SWISS :isviçrece STR_TOWNNAME_SWISS :isviçrece
STR_TOWNNAME_DANISH :Danimarkaca STR_TOWNNAME_DANISH :Danimarkaca
STR_TOWNNAME_TURKISH :Türkçe STR_TOWNNAME_TURKISH :Türkçe
STR_TOWNNAME_ITALIAN :Italyanca
############ end of townname region ############ end of townname region
STR_CURR_GBP :Sterlin (£) STR_CURR_GBP :Sterlin (£)

View File

@ -621,6 +621,51 @@ static byte MakeTurkishTownName(char *buf, uint32 seed)
return 0; return 0;
} }
static const char *mascul_femin_italian[] = {
"o",
"a",
};
static byte MakeItalianTownName(char *buf, uint32 seed) {
strcpy(buf, "");
if (SeedModChance(0, 6, seed) == 0) { // real city names
strcat(buf, name_italian_real[SeedModChance(4, lengthof(name_italian_real), seed)]);
} else {
uint i;
if (SeedModChance(0, 8, seed) == 0) { // prefix
strcat(buf, name_italian_pref[SeedModChance(11, lengthof(name_italian_pref), seed)]);
}
i = SeedChance(0, 2, seed);
if (i == 0) { // masculine form
strcat(buf, name_italian_1m[SeedModChance(4, lengthof(name_italian_1m), seed)]);
} else { // feminine form
strcat(buf, name_italian_1f[SeedModChance(4, lengthof(name_italian_1f), seed)]);
}
if (SeedModChance(3, 3, seed) == 0) {
strcat(buf, name_italian_2[SeedModChance(11, lengthof(name_italian_2), seed)]);
strcat(buf,mascul_femin_italian[i]);
} else {
strcat(buf, name_italian_2i[SeedModChance(16, lengthof(name_italian_2i), seed)]);
}
if (SeedModChance(15, 4, seed) == 0) {
if (SeedModChance(5, 2, seed) == 0) { // generic suffix
strcat(buf, name_italian_3[SeedModChance(4, lengthof(name_italian_3), seed)]);
} else { // river name suffix
strcat(buf, name_italian_river1[SeedModChance(4, lengthof(name_italian_river1), seed)]);
strcat(buf, name_italian_river2[SeedModChance(16, lengthof(name_italian_river2), seed)]);
}
}
}
return 0;
}
TownNameGenerator * const _town_name_generators[] = TownNameGenerator * const _town_name_generators[] =
{ {
MakeEnglishOriginalTownName, MakeEnglishOriginalTownName,
@ -642,6 +687,7 @@ TownNameGenerator * const _town_name_generators[] =
MakeSwissTownName, MakeSwissTownName,
MakeDanishTownName, MakeDanishTownName,
MakeTurkishTownName, MakeTurkishTownName,
MakeItalianTownName,
}; };
// DO WE NEED THIS ANY MORE? // DO WE NEED THIS ANY MORE?

View File

@ -493,7 +493,8 @@ enum SpecialStrings {
SPECSTR_TOWNNAME_SWISS, SPECSTR_TOWNNAME_SWISS,
SPECSTR_TOWNNAME_DANISH, SPECSTR_TOWNNAME_DANISH,
SPECSTR_TOWNNAME_TURKISH, SPECSTR_TOWNNAME_TURKISH,
SPECSTR_TOWNNAME_LAST = SPECSTR_TOWNNAME_TURKISH, SPECSTR_TOWNNAME_ITALIAN,
SPECSTR_TOWNNAME_LAST = SPECSTR_TOWNNAME_ITALIAN,
// special strings for player names on the form "TownName transport". // special strings for player names on the form "TownName transport".
SPECSTR_PLAYERNAME_START = 0x70EA, SPECSTR_PLAYERNAME_START = 0x70EA,

View File

@ -811,7 +811,7 @@ static const SettingDesc gameopt_settings[] = {
{"diff_custom", SDT_INTLIST | SDT_UINT32 | (sizeof(GameDifficulty)/4) << 16, NULL, &_opt_newgame.diff, NULL}, {"diff_custom", SDT_INTLIST | SDT_UINT32 | (sizeof(GameDifficulty)/4) << 16, NULL, &_opt_newgame.diff, NULL},
{"currency", SDT_UINT8 | SDT_ONEOFMANY, (void*)0, &_opt_newgame.currency, "GBP|USD|EUR|YEN|ATS|BEF|CHF|CZK|DEM|DKK|ESP|FIM|FRF|GRD|HUF|ISK|ITL|NLG|NOK|PLN|ROL|RUR|SEK|custom" }, {"currency", SDT_UINT8 | SDT_ONEOFMANY, (void*)0, &_opt_newgame.currency, "GBP|USD|EUR|YEN|ATS|BEF|CHF|CZK|DEM|DKK|ESP|FIM|FRF|GRD|HUF|ISK|ITL|NLG|NOK|PLN|ROL|RUR|SEK|custom" },
{"distances", SDT_UINT8 | SDT_ONEOFMANY, (void*)1, &_opt_newgame.kilometers, "imperial|metric" }, {"distances", SDT_UINT8 | SDT_ONEOFMANY, (void*)1, &_opt_newgame.kilometers, "imperial|metric" },
{"town_names", SDT_UINT8 | SDT_ONEOFMANY, (void*)0, &_opt_newgame.town_name, "english|french|german|american|latin|silly|swedish|dutch|finnish|polish|slovakish|norwegian|hungarian|austrian|romanian|czech|swiss|danish|turkish" }, {"town_names", SDT_UINT8 | SDT_ONEOFMANY, (void*)0, &_opt_newgame.town_name, "english|french|german|american|latin|silly|swedish|dutch|finnish|polish|slovakish|norwegian|hungarian|austrian|romanian|czech|swiss|danish|turkish|italian" },
{"landscape", SDT_UINT8 | SDT_ONEOFMANY, (void*)0, &_opt_newgame.landscape, "normal|hilly|desert|candy" }, {"landscape", SDT_UINT8 | SDT_ONEOFMANY, (void*)0, &_opt_newgame.landscape, "normal|hilly|desert|candy" },
{"autosave", SDT_UINT8 | SDT_ONEOFMANY, (void*)1, &_opt_newgame.autosave, "off|monthly|quarterly|half year|yearly" }, {"autosave", SDT_UINT8 | SDT_ONEOFMANY, (void*)1, &_opt_newgame.autosave, "off|monthly|quarterly|half year|yearly" },
{"road_side", SDT_UINT8 | SDT_ONEOFMANY, (void*)1, &_opt_newgame.road_side, "left|right" }, {"road_side", SDT_UINT8 | SDT_ONEOFMANY, (void*)1, &_opt_newgame.road_side, "left|right" },

View File

@ -2843,3 +2843,269 @@ static const char *name_turkish_real[] = {
"Osmaniye", "Osmaniye",
"Düzce" "Düzce"
}; };
static const char *name_italian_real[] = {
"Roma",
"Milano",
"Napoli",
"Torino",
"Venezia",
"Firenze",
"Palermo",
"Genova",
"Parma",
"Bologna",
"Bari",
"Cagliari",
"Sassari",
"Pisa",
"Aosta",
"Brescia",
"Verona",
"Bolzano",
"Padova",
"Udine",
"Trieste",
"Livorno",
"Ancona",
"Perugia",
"Pescara",
"L'Aquila",
"Campobasso",
"Potenza",
"Cosenza",
"Reggio Calabria",
"Catania",
"Caltanisetta",
"Agrigento",
"La Spezia",
"Modena",
"Vicenza",
"Mantova",
"Cremona",
"Piacenza",
"Reggio Emilia",
"Foggia",
"Benevento",
"Salerno",
"Catanzaro",
"Lecce",
"Como",
"Lecco",
"Sondrio",
"Trento",
"Desenzano",
"Cuneo",
"Asti",
"Lodi",
"Novara",
"Biella",
"Vercelli",
"Rieti",
"Nuoro",
"Oristano",
"Matera",
"Taranto",
"Varese",
"Bergamo",
"Pavia",
"Caserta",
"Frosinone",
"Latina",
"Enna",
"Ragusa",
"Siracusa",
"Pordenone",
"Imperia",
"Verbania",
"Alessandria",
"Messina",
"Siena",
"Arezzo",
"Grosseto",
};
static const char *name_italian_pref[] = {
"Alpe ",
"Borgo ",
"Cascina ",
"Castel ",
"Fonte ",
"Forte ",
"Malga ",
"Pieve ",
"Poggio ",
"Rocca ",
"Villa ",
"Villar ",
};
static const char *name_italian_1m[] = {
"Bel",
"Borgo",
"Bosco",
"Campo",
"Capo",
"Casal",
"Castel",
"Colle",
"Fiume",
"Fonte",
"Lago",
"Mezzo",
"Monte",
"Mon",
"Orto",
"Passo",
"Prato",
"Poggio",
"Ponte",
"Pozzo",
"Sasso",
"Tra",
"Tre",
"Ver",
"Vico",
};
static const char *name_italian_1f[] = {
"Acqua",
"Bra",
"Cala",
"Casa",
"Chiesa",
"Citta",
"Civita",
"Corte",
"Costa",
"Croce",
"Fontana",
"Grotta",
"Guardia",
"Mezza",
"Palma",
"Pietra",
"Ripa",
"Rocca",
"Serra",
"Torre",
"Val",
"Valle",
"Villa",
};
static const char *name_italian_2[] = {
"bell",
"bianc",
"cald",
"chiar",
"cort",
"ferrat",
"fier",
"fredd",
"gioios",
"grec",
"guzz",
"lung",
"long",
"migli",
"negr",
"ner",
"nov",
"nuov",
"ross",
"rotond",
"scur",
"secc",
"sett",
"vecchi",
"ventos",
"vers",
"viv",
};
static const char *name_italian_2i[] = {
"",
"breve",
"brevi",
"chiari",
"ferro",
"fieschi",
"fiore",
"fonte",
"forte",
"gate",
"leone",
"maggiore",
"minore",
"mole",
"monte",
"poli",
"scuri",
"terra",
"te",
"torrione",
"vento",
"verde",
"versiere",
};
static const char *name_italian_3[] = {
" Marittimo",
" Marittima",
" del Capo",
" del Monte",
" di Sopra",
" di Sotto",
" sui Monti",
" dei Marmi",
" dei Sassi",
" delle Fonti",
" sui Prati",
" a Mare",
" Superiore",
" Inferiore",
" Terme",
" Alta",
" Bassa",
" Brianza",
" Vesuviano",
" Scrivia",
" Ticino",
};
static const char *name_italian_river1[] = {
" del",
" sul",
" al",
" nel",
};
static const char *name_italian_river2[] = {
"l'Adda",
"l'Adige",
"le Alpi",
"l'Arno",
" Bormida",
" Brenta",
"la Dora Baltea",
" Lambro",
" Mincio",
" Naviglio",
"l'Oglio",
"l'Olona",
"l'Ombrone",
" Panaro",
" Piave",
" Po",
" Reno",
" Scrivia",
" Secchia",
" Serio",
" Tagliamento",
" Tanaro",
" Taro",
" Ticino",
" Tevere",
};