Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Prefixes and affixes #4

Open
3 tasks
IohannesIohannium opened this issue Dec 6, 2021 · 2 comments
Open
3 tasks

Prefixes and affixes #4

IohannesIohannium opened this issue Dec 6, 2021 · 2 comments

Comments

@IohannesIohannium
Copy link
Collaborator

IohannesIohannium commented Dec 6, 2021

A prefix from EU4Vic2 conversion is the New attached to some colonial nations. The result will differ in languages that have grammatical gender. As an example, while English has both New England and New Cyprus, Russian would have Новая Англия and Новый Кипр.

Then come CK3-EU4 prefixes, here listed in order of priority calculation. They are used if two output EU4 tags would share the same name.

  • Based on government type. Anointed for theocracies, Bourgeois for republics, Noble for others.
  • Based on rank and/or feudal contract type. Imperial for e_ rank, Royal for independent k_ rank, Viceroyal for vassal k_ rank, Marquisal for (vassal) d_ rank with a March contract, Palatine for (vassal) d_ rank with a Palatinate contract, Ducal for (vassal or non-vassal) d_ rank with other non-specified contracts, Comital for c_ rank, Baronal for b_ rank (although it should be never appearing).
  • Based on cultural difference. A list will be provided, based on CK3 (and I:R-to-CK3) cultures. As an example, however we'd have a German-led and a French-led Rhineland be called Teuto-Rhineland and Franco-Rhineland. The converter will however first check if both cultures have a specified prefix. If any of the two or both do not have one defined, it'll go to fallbacks.
  • Fallbacks. Already implemented ones like Hither and Further.

Ideally, all converters from EU4 would, if a country name is not found in the list, search for it by removing the prefix in English loc and, if it finds it, outputting the correct prefix + name combination.
E.g.:

  •  
    • Country is named "New Brunswick". Cannot be found in the list.
    • Converter checks name "New Brunswick" for prefixes. Founds "New " as a possible prefix.
    • Converter tries looking for "Brunswick". Can be found in the list.
    • Converter outputs "New " + "Brunswick" lines, leading to English name "New Brunswick", French name "Nouveau Brunswick", German name "Neu-Braunschweig", etc. and related adjectives
  •  
    • Country is named "Anointed Açaçids". Cannot be found in the list.
    • Converter checks name "Anointed Açaçids" for prefixes. Founds "Anointed " as a possible prefix.
    • Converter tries looking for "Açaçids". Cannot be found in the list.
    • Converter outputs according to locs coming from input game, while writing a log line "Couldn't find 'Anointed Açaçids' among our multilingual dictionary table. Result may not be translated correctly"
    • Converter outputs locs copying them from input game according to each language and copying English ones when it can't find them. (So, in a EU4Vic3 game, "Anointed Açaçids" for English, Polish, Russian, "Açaçides Ointes" for French, etc.)
  •  
    • Country is named "Glitterhoof". Cannot be found in the list.
    • Converter checks name "Glitterhoof" for prefixes. No prefix found.
    • Converter outputs according to locs coming from input game, while writing a log line "Couldn't find 'Glitterhoof' among our multilingual dictionary table. Result may not be translated correctly"
    • Converter outputs locs copying them from input game according to each language and copying English ones when it can't find them.

Concatenated prefixes, while possible, would be rare enough not to need any special parsing

Asking @Zemurin whether the generation of prefixes in CK3EU4 could be implemented this way.

@IohannesIohannium
Copy link
Collaborator Author

IohannesIohannium commented Dec 6, 2021

Prefix list (provisional):

# Recognized prefix list

## Colonial
link = { prefix_rule = "new_prefix" english_loc = "New " }

## Gov type difference
link = { prefix_rule = "theo_prefix" english_loc = "Anointed " }
link = { prefix_rule = "burg_prefix" english_loc = "Bourgeois " }
link = { prefix_rule = "noble_prefix" english_loc = "Noble " }

## Rank difference
link = { prefix_rule = "emperor_prefix" english_loc = "Imperial " }
link = { prefix_rule = "viceroy_prefix" english_loc = "Viceroyal " }
link = { prefix_rule = "king_prefix" english_loc = "Royal " }
link = { prefix_rule = "marquis_prefix" english_loc = "Marquisal " }
link = { prefix_rule = "palatine_prefix" english_loc = "Palatine " }
link = { prefix_rule = "duke_prefix" english_loc = "Ducal " }
link = { prefix_rule = "count_prefix" english_loc = "Comital " }
link = { prefix_rule = "baron_prefix" english_loc = "Baronal " }

## Cultural difference
link = { prefix_rule = "afghan_prefix" english_loc = "Afghano-" }
link = { prefix_rule = "alan_prefix" english_loc = "Alano-" }
link = { prefix_rule = "albanian_prefix" english_loc = "Albano-" }
link = { prefix_rule = "andalusian_prefix" english_loc = "Andaluso-" }
link = { prefix_rule = "anglo_saxon_prefix" english_loc = "Anglo-" }
link = { prefix_rule = "armenian_prefix" english_loc = "Armeno-" }
link = { prefix_rule = "assyrian_prefix" english_loc = "Assyro-" }
link = { prefix_rule = "basque_prefix" english_loc = "Vasco-" }
link = { prefix_rule = "bavarian_prefix" english_loc = "Bavaro-" }
link = { prefix_rule = "bedouin_prefix" english_loc = "Arabo-" }
link = { prefix_rule = "belgae_prefix" english_loc = "Belgo-" }
link = { prefix_rule = "bengali_prefix" english_loc = "Bangla-" }
link = { prefix_rule = "bolghar_prefix" english_loc = "Bulgaro-" }
link = { prefix_rule = "bosnian_prefix" english_loc = "Bosno-" }
link = { prefix_rule = "breton_prefix" english_loc = "Breto-" }
link = { prefix_rule = "brythonic_prefix" english_loc = "Brythono-" }
link = { prefix_rule = "bulgarian_prefix" english_loc = "Bulgaro-" }
link = { prefix_rule = "carthaginian_prefix" english_loc = "Carthago-" }
link = { prefix_rule = "cisalpine_prefix" english_loc = "Cisalpino-" }
link = { prefix_rule = "cornish_prefix" english_loc = "Corno-" }
link = { prefix_rule = "croatian_prefix" english_loc = "Croato-" }
link = { prefix_rule = "cumbrian_prefix" english_loc = "Cumbro-" }
link = { prefix_rule = "czech_prefix" english_loc = "Czecho-" }
link = { prefix_rule = "dacian_prefix" english_loc = "Daco-" }
link = { prefix_rule = "dalmatian_prefix" english_loc = "Dalmato-" }
link = { prefix_rule = "danish_prefix" english_loc = "Dano-" }
link = { prefix_rule = "dutch_prefix" english_loc = "Batavo-" }
link = { prefix_rule = "egyptian_prefix" english_loc = "Egypto-" }
link = { prefix_rule = "english_prefix" english_loc = "Anglo-" }
link = { prefix_rule = "ethiopian_prefix" english_loc = "Abyssino-" }
link = { prefix_rule = "etruscan_prefix" english_loc = "Tosco-" }
link = { prefix_rule = "finnish_prefix" english_loc = "Fenno-" }
link = { prefix_rule = "frankish_prefix" english_loc = "Franco-" }
link = { prefix_rule = "french_prefix" english_loc = "Franco-" }
link = { prefix_rule = "frisian_prefix" english_loc = "Friso-" }
link = { prefix_rule = "gaelic_prefix" english_loc = "Gaelo-" }
link = { prefix_rule = "galatian_prefix" english_loc = "Galato-" }
link = { prefix_rule = "gallic_prefix" english_loc = "Gallo-" }
link = { prefix_rule = "georgian_prefix" english_loc = "Georgio-" }
link = { prefix_rule = "german_prefix" english_loc = "Teuto-" }
link = { prefix_rule = "getian_prefix" english_loc = "Geto-" }
link = { prefix_rule = "gothic_prefix" english_loc = "Gotho-" }
link = { prefix_rule = "greek_prefix" english_loc = "Greco-" }
link = { prefix_rule = "han_prefix" english_loc = "Sino-" }
link = { prefix_rule = "hebrew_prefix" english_loc = "Judeo-" }
link = { prefix_rule = "hungarian_prefix" english_loc = "Magyaro-" }
link = { prefix_rule = "iberian_prefix" english_loc = "Ibero-" }
link = { prefix_rule = "irish_prefix" english_loc = "Hiberno-" }
link = { prefix_rule = "italian_prefix" english_loc = "Italo-" }
link = { prefix_rule = "jurchen_prefix" english_loc = "Manchu-" }
link = { prefix_rule = "kirghiz_prefix" english_loc = "Kyrgyzo-" }
link = { prefix_rule = "kurdish_prefix" english_loc = "Kurdo-" }
link = { prefix_rule = "latgalian_prefix" english_loc = "Letto-" }
link = { prefix_rule = "lithuanian_prefix" english_loc = "Litto-" }
link = { prefix_rule = "lusoiberian_prefix" english_loc = "Luso-" }
link = { prefix_rule = "mashriqi_prefix" english_loc = "Syro-" }
link = { prefix_rule = "mongol_prefix" english_loc = "Mongolo-" }
link = { prefix_rule = "norwegian_prefix" english_loc = "Norvego-" }
link = { prefix_rule = "nubian_prefix" english_loc = "Sudano-" }
link = { prefix_rule = "oghuz_prefix" english_loc = "Turko-" }
link = { prefix_rule = "old_egyptian_prefix" english_loc = "Egypto-" }
link = { prefix_rule = "ostrogothic_prefix" english_loc = "Ostrogotho-" }
link = { prefix_rule = "outremer_prefix" english_loc = "Christo-" }
link = { prefix_rule = "persian_prefix" english_loc = "Perso-" }
link = { prefix_rule = "phoenician_prefix" english_loc = "Lebano-" }
link = { prefix_rule = "polish_prefix" english_loc = "Polono-" }
link = { prefix_rule = "portuguese_prefix" english_loc = "Luso-" }
link = { prefix_rule = "prussian_prefix" english_loc = "Prusso-" }
link = { prefix_rule = "rhaetian_prefix" english_loc = "Rheto-" }
link = { prefix_rule = "roman_prefix" english_loc = "Latino-" }
link = { prefix_rule = "russian_prefix" english_loc = "Russo-" }
link = { prefix_rule = "saxon_prefix" english_loc = "Saxo-" }
link = { prefix_rule = "scots_prefix" english_loc = "Scoto-" }
link = { prefix_rule = "scythian_prefix" english_loc = "Scytho-" }
link = { prefix_rule = "serbian_prefix" english_loc = "Serbo-" }
link = { prefix_rule = "sicilian_prefix" english_loc = "Siculo-" }
link = { prefix_rule = "slovien_prefix" english_loc = "Slovako-" }
link = { prefix_rule = "suebi_prefix" english_loc = "Svevo-" }
link = { prefix_rule = "swabian_prefix" english_loc = "Svevo-" }
link = { prefix_rule = "swedish_prefix" english_loc = "Sueco-" }
link = { prefix_rule = "tajik_prefix" english_loc = "Tajico-" }
link = { prefix_rule = "thracian_prefix" english_loc = "Thraco-" }
link = { prefix_rule = "urslavic_prefix" english_loc = "Slavo-" }
link = { prefix_rule = "visigothic_prefix" english_loc = "Visigotho-" }
link = { prefix_rule = "welsh_prefix" english_loc = "Cambro-" }

## Fallbacks
link = { prefix_rule = "hither_prefix" english_loc = "Hither " }
link = { prefix_rule = "further_prefix" english_loc = "Further " }

## EU4 prefix that should be lost upon conversion
link = { prefix_rule = "no_prefix" english_loc = "Revolutionary " }

@IohannesIohannium
Copy link
Collaborator Author

IohannesIohannium commented Dec 6, 2021

Prefix rule file (dictates the output according to grammatical categories and languages):

https://pastebin.com/Laa0L2Rf

As an example, if the bare name is found (in French) to be in category fr_fsav, the output will have "Nouvelle " followed by the bare name and it will change the category for this one tag to fr_fsac. The adjective, regardless of the category, is set to "néo-" followed by the bare adjective (e.g. Angleterre, anglais will become Nouvelle Angleterre, néo-anglais. The category change means that, while Angleterre would have L' as an article, Nouvelle Angleterre would have La)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant