• We have updated our Community Code of Conduct. Please read through the new rules for the forum that are an integral part of Paradox Interactive’s User Agreement.

Tomiket

Private
23 Badges
Oct 5, 2018
17
1
  • Stellaris: Humanoids Species Pack
  • Stellaris: Nemesis
  • Stellaris: Necroids
  • Stellaris: Federations
  • Stellaris: Lithoids
  • Stellaris: Ancient Relics
  • Prison Architect
  • Stellaris: Megacorp
  • Cities: Skylines Industries
  • Stellaris: Distant Stars
  • Cities: Skylines - Parklife
  • Stellaris: Apocalypse
  • Cities: Skylines
  • Cities: Skylines - Green Cities
  • Stellaris: Synthetic Dawn
  • Cities: Skylines - Mass Transit
  • Stellaris - Path to Destruction bundle
  • Cities: Skylines - Natural Disasters
  • Stellaris: Leviathans Story Pack
  • Stellaris: Digital Anniversary Edition
  • Cities: Skylines - Snowfall
  • Cities: Skylines - After Dark
  • Stellaris
Hello.
I need to ask what is the difference in the key of the variable GetAdjective and GetAdjectiveNoFormatting.
When translating I usually help myself with Russian. But I came across something I'm not quite clear about.
In the sentence "[ROOT.GetCountry.GetName]'s institutions must be built to last, through good and bad times alike." I need a variable for my language in the adjective.
I normally solve this by replacing the GetName key with the GetAdjectiveNoFormatting key. But in this case, Russian has a variable in there "#tooltippable_name [ROOT.GetCountry.GetAdjective]ие#!
And I'm not entirely clear on this.
The problem is that I don't know what is the difference between GetAdjective and GetAdjectiveNoFormatting. And above all I don't understand now why Russian has it in "Tooltippable".

I don't know if there has to be a shortened GetAdjective or if I can put GetAdjectiveNoFormatting in there. Or even if I have to put it in "Tooltipabble"
 
Well. I already know that "Tooltippable" doesn't have to be. I just need to know now what the difference is between [ROOT.GetCountry.GetAdjective] and [ROOT.GetCountry.GetAdjectiveNoFormatting]. When I need to make [ROOT.GetCountry.GetName] an adjective in a sentence.

"[ROOT.GetCountry.GetName]'s railways"

[ROOT.GetCountry.GetAdjective] železnice
or
[ROOT.GetCountry.GetAdjectiveNoFormatting] železnice
(Railways is in the my language "železnice")

If [ROOT.GetCountry.GetName] is France
France's railways
I can't write "Francie železnice" in my language, but I have to make it "Francouzká", "Francouzské" or "Francouzský železnice" Germany - Německo: Německo železnice is bad. Německý / Německá / Německé.
 
Last edited:
I can't write "Francie železnice" in my language, but I have to make it "Francouzká", "Francouzské" or "Francouzský železnice" Germany - Německo: Německo železnice is bad. Německý / Německá / Německé.

You should have a look at how other languages that have genders deal with this issue. For a relatively straight-forward example, have a look at French, and in particular the custom localisations in the file `localization/french/fr_custom_loc_l_french.yml`. As I understand it, they define four different adjectives for each culture. For example:

Code:
CAN_ADJ_MS:0 "Canadien"
CAN_ADJ_FS:0 "Canadienne"
CAN_ADJ_MP:0 "Canadiens"
CAN_ADJ_FP:0 "Canadiennes"

Where "M" is masculine, "F" is feminine, S" is singular, and "P" is plural. There are then custom rules in `common/customizable_localization/99_fr_custom_loc.txt` to create templates (for example, search for `FR_Culture_MP`) which are finally used in events, such as this one from `game/localization/french/content_105_l_french.yml`:

citizenship_laws.6.f:1 "« C’est facile pour les politiciens de parler d’égalité et de fraternité, mais j’ai un commerce à gérer. Si je commence à laisser entrer les [SCOPE.sCulture('future_accepted_pop').GetCustom('FR_Culture_MP')|U], je vais perdre la moitié de mes clients. Ils ne sont pas racistes, ce sont simplement des [SCOPE.sCulture('shopkeeper_pop').GetCustom('FR_Culture_MP')|U] qui ont leurs habitudes. Nous ne changerons pas notre façon de faire. »"

You can see the use of "[SCOPE.sCulture('future_accepted_pop').GetCustom('FR_Culture_MP')|U]", which - by virtue of requesting the FR_Culture_MP form here - will pick the form 'Canadiens' (the masculine plural) from the above list.

Czech has four gender forms rather than just two, so you'd need to add masculine inanimate and neuter forms. However, much more problematically, it has seven cases. Unless you're going to add 56 forms for every single adjective in the game, you'll probably have to find a way to script this. I can see that the Russian files seem to do some scripting to generate genitive forms, so you're right to start by studying those to figure out how they do it. But hopefully the above example is a simple way to illustrate the general principles at work here.
 
Last edited:
  • 1
  • 1Like
Reactions:
Hello.
Thank you so much for your answer. This answer helped me to understand a lot. I will focus on this and hopefully I can come up with something sensible.

In the case of the Czech language, we using the adjective from the file "country_i_english.yml". Fortunately, Czech is flexible in the case of inflection and so we have an adjective with the ending "ý" because we can work with it. "Francouzské železnice" is the literary spelling, but in common speech "Francouzský železnice" is more often used colloquially. It's not ideal but it's usable.¨
The problem arises just with cultures that don't have an adjective in English and because of the tables we have to lead it with the ending "á" "Francouzská" and that's the biggest problem because the ending "á" is unusable in sentences. "France people" - "Francouzský lid" "Francoužští lidé" "Francouzského lidu" "Francouzských lidí" but "Francouzská" it's an unsolvable problem and then we have to solve it the same way Polish does. The people of the culture "French" attack the people of the culture "Spanish" in the region "Scope_state" - Lidé kultury "Francouzská" útočí na lidi kultury "Španělská" v oblasti "Scope_state"

As for inflections in sentences, we use a Script from Russian: "IfFemale"
[SelectLocalization(SCOPE.sCharacter('any_ruler').IsFemale, 'YY', 'XX'
and
modification of variables of type: [concept_country] to [Concept('concept_country', 'XX')]


This advice really helped me a lot. ;) Thank you.
 
  • 1
Reactions: