DionicSoftware / FoundersFortuneLocalization

This project is the official community translation for the colony simulation game Founders' Fortune.
https://foundersfortune.com
16 stars 31 forks source link

Fix Korean Josa problem #69

Closed FourwingsY closed 4 years ago

FourwingsY commented 5 years ago

Josa template fills josa by checking leading character. for example, if name == "민성": "%name%#{은}" => "민성#{은}" => "민성은" if name == "민아":: "%name%#{은}" => "민아#{은}" => "민아는"

but in game, it looks like josa template is checking invalid character '%': makes josa template returns default josa "%name%#{은}" => "%name%는" => "민성는" <- grammatical error, should be "민성" "%name%#{은}" => "%name%는" => "민아는"

Please make sure josa template is applied "after" %template% filled.

FourwingsY commented 5 years ago

little information about josa:

a josa is coupled thing. single josa has a two format: ex) 은/는, 이/가, 을/를 which format should be is defined by josa's leading character.

민성이(을/를) is defined by '이' '이' is compound of 'ㅇ'(constant) + 'ㅣ'(vowel): it ends with vowel -> use '를'

달력(을/를) is defined by '력' '력' is compound of 'ㄹ'(constant) + 'ㅕ'(vowel) + 'ㄱ'(constant): it ends with constant -> use '을'

for easy and simple way to check korean character ends with vowel or constant: count how many parts they have. second part is always vowel. third part could be vowel but in firstname, all of them is constant. if letter has 2 parts: ends with vowel. if letter has 3 or 4 parts: ends with constant.

FourwingsY commented 5 years ago

Check point:

  1. open starting character selecting window.
  2. make two character has different firstname(one ends with constant, the other ends with vowel), and has one or more common traits.
  3. compare two character's trait description tooltip. Josa which following firstname should be different.

for example,

  1. two character's names are '지은 명' and '지호 성'
    • 지은 명's firstName ends with 'ㄴ', it is constant.
    • 지호 성's firstName ends with 'ㅗ', it is vowel.
  2. if they has common traits: "hates winter" https://github.com/Ponzel/FoundersFortuneLocalization/blob/master/traits.json#L815 "어두운 낮과 추운 밤은 %firstName%#{이} 즐거워하는 것이 아닙니다. 그래서 겨울은 %heShe%가 좋아하는 계절이 아닙니다."

    • 지은 명's description should be "어두운 낮과 추운 밤은 지은 즐거워하는 것이 아닙니다. 그래서 겨울은 그녀가 좋아하는 계절이 아닙니다."
    • 지호 성's description should be "어두운 낮과 추운 밤은 지호 즐거워하는 것이 아닙니다. 그래서 겨울은 그가 좋아하는 계절이 아닙니다."
Ponzel commented 4 years ago

Alright, Fourwings, thanks a lot for the detailed write-up and the examples. Unfortunately it takes me a lot of time to check if it's fixed in-game. However, I have understood the problem and changed the code so it should work now.

So could you please start the game and see if it's fixed? :D You can close this issue when if it's fixed or reply otherwise if it isn't fixed yet. Thanks.

FourwingsY commented 4 years ago

Checked. Fixed!