Localization Update (#23)

Improved localization support across MSE. Unless otherwise noted, updates apply to Chinese, French, German, Italian, Japanese, Korean, Portuguese, Russian, and Spanish

Locales have been updated, including the Dutch and Polish locales. These may still want to be improved by native speakers but are no longer full of untranslated English strings.

Type line word lists are now localized, and will change with the Set tab language option rather than needing files to be edited. Chinese types are sorted by Unicode, Japanese types are sorted by gojūon, the rest are alphabetized in their own language. Card type and super types have also been reordered accordingly.

Added spellcheck dictionaries for most languages. Chinese and Japanese have instead had their spellchecking disabled so they don't have their entire cards underlined.
Updated the Beleren, MPlantin, and Relay fonts to support Cyrillic characters.

Number maps have been added to assist with localized keywords.
Localized keyword files have been added up to Lost Caverns of Ixalan. To use these, rename the magic.mse-game/keywords file to "keywords_en", then rename the keyword file of your choice to "keywords".
Craft has a simplified reminder text for most languages. The craft_code function in magic.mse-game/scripts provides a template for using the more comprehensive version English uses, with German having access to it as well so far.

Localized auto-frames for M15 Adventures, M15 Sagas, Mainframe Tokens, M15 Mainframe, Mainframe DFC, and GenevensiS frames

Added Totem armor -> Umbra armor to auto errata script, and updated it to allow for localized replacements

Did about as much stats page localization as we can get away with. French has been completed, other languages will need the stats names and help trace done by someone who actually knows the language.
---------

Co-authored-by: cajun <kajunkittyavenger@gmail.com>
This commit is contained in:
GenevensiS
2024-01-05 10:02:40 +01:00
committed by GitHub
parent 33d04480e5
commit 1adaf70609
137 changed files with 709925 additions and 194920 deletions

View File

@@ -755,6 +755,11 @@ keyword:
match: Rebound
mode: expert
reminder: If you cast this spell from your hand, exile it as it resolves. At the beginning of your next upkeep, you may cast this card from exile without paying its mana cost.
keyword:
keyword: Umbra armor
match: Totem armor
mode: expert
reminder: If enchanted {if contains(card.text, match:"Enchant <param-name>creature</param-name>") then "creature" else "permanent"} would be destroyed, instead remove all damage from it and destroy this Aura.
keyword:
keyword: Umbra armor
match: Umbra armor
@@ -1680,7 +1685,7 @@ keyword:
keyword: Incubate
match: Incubate <atom-param>number</atom-param>
mode: action
reminder: Create an Incubator token wit {english_number_a(param1)} +1/+1 counter(s) on it and "[2]: Transform this artifact." It transforms into a 0/0 Phyrexian artifact creature.
reminder: Create an Incubator token with {english_number_a(param1)} +1/+1 counter(s) on it and "[2]: Transform this artifact." It transforms into a 0/0 Phyrexian artifact creature.
# Wilds of Eldraine
keyword:
keyword: Bargain
@@ -1691,7 +1696,7 @@ keyword:
keyword: Celebration
match: Celebration
mode: pseudo
rules: Celebration — If two or more nonland permanents entered the battlefield under your turn, [effect].
rules: Celebration — If two or more nonland permanents entered the battlefield under your control this turn, [effect].
keyword:
keyword: Cursed Role
match: Cursed Role token
@@ -1764,7 +1769,7 @@ keyword:
keyword: Craft
match: Craft with <atom-param>name</atom-param> <atom-param>cost</atom-param>
mode: expert
reminder: {rem := param2.value + ", Exile this artifact, Exile ";count := filter_text(param1.value, match:"^(one|two|three|four|five|six|seven|eight|nine|ten|eleven|twelve|thirteen|fourteen|fifteen|sixteen|seventeen|eighteen|nineteen|twenty|thirty|forty|fifty|sixty|seventy|eighty|ninety|[0-9]+)(-(one|two|three|four|five|six|seven|eight|nine))? (or more)?");commas := filter_text(param1.value, match:",");vowel := match(param1.value, match:"^[aeiouAEIOU]");if commas != "" then count := english_number(length(commas)+1);count := replace(count, match:" $", replace:"");if count == param1.value then (rem := rem + param1.value + " other permanents you control and/or cards from your graveyard: ") else if count != "" then (rem := rem + (if count == "one or more" then param1.value else "the " + count) + " from among other permanents you control and/or cards in your graveyard: ") else rem := rem + "another " + param1.value + " you control or " + (if vowel then "an " else "a ") + param1.value + " card from your graveyard: ";rem := rem + "Return this card transformed under its owner's control. Craft only as a sorcery.";rem;}
reminder: {craft_code(param1:param1, param2:param2)}
keyword:
keyword: Descend
match: Descend <atom-param>number</atom-param>