(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).
This commit is contained in:
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_DANISH :Danish
STR_TOWNNAME_TURKISH :Turkish
STR_TOWNNAME_ITALIAN :Italian
############ end of townname region
STR_CURR_GBP :Pounds (£)

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@ -621,6 +621,51 @@ static byte MakeTurkishTownName(char *buf, uint32 seed)
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[] =
{
MakeEnglishOriginalTownName,
@ -642,6 +687,7 @@ TownNameGenerator * const _town_name_generators[] =
MakeSwissTownName,
MakeDanishTownName,
MakeTurkishTownName,
MakeItalianTownName,
};
// DO WE NEED THIS ANY MORE?

View File

@ -493,7 +493,8 @@ enum SpecialStrings {
SPECSTR_TOWNNAME_SWISS,
SPECSTR_TOWNNAME_DANISH,
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".
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},
{"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" },
{"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" },
{"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" },

View File

@ -2843,3 +2843,269 @@ static const char *name_turkish_real[] = {
"Osmaniye",
"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",
};