From 093fca37ec589e151b0777a83cb23d635c65fc54 Mon Sep 17 00:00:00 2001 From: Kurt Date: Mon, 3 Jun 2024 19:37:57 -0500 Subject: [PATCH] Add enum to GUI translatable list Improve perf of GUI scrape by only making forms once, don't fully set up Main Add method to get a list of translated Enum names Adds translatability for size markings Closes #4266 --- .../Formatting/LegalityCheckStrings.cs | 1 + .../Legality/Formatting/LegalityFormatting.cs | 2 +- .../checks/LegalityCheckStrings_de.txt | 1 + .../checks/LegalityCheckStrings_en.txt | 1 + .../checks/LegalityCheckStrings_es.txt | 1 + .../checks/LegalityCheckStrings_fr.txt | 1 + .../checks/LegalityCheckStrings_it.txt | 1 + .../checks/LegalityCheckStrings_ja.txt | 1 + .../checks/LegalityCheckStrings_ko.txt | 1 + .../checks/LegalityCheckStrings_zh.txt | 1 + .../checks/LegalityCheckStrings_zh2.txt | 1 + .../Saves/Substructures/Gen5/FestaBlock5.cs | 26 +- .../Saves/Substructures/Gen5/PassPower5.cs | 122 ++++---- .../Saves/Substructures/Gen7/FestaFacility.cs | 16 ++ .../Substructures/Gen7/PlayerSkinColor7.cs | 18 +- PKHeX.Core/Saves/Substructures/Gen7/Stamp7.cs | 32 +-- .../Controls/PKM Editor/PKMEditor.Designer.cs | 2 +- PKHeX.WinForms/Controls/PKM Editor/SizeCP.cs | 10 +- .../PKM Editor/StatusConditionView.cs | 4 +- PKHeX.WinForms/MainWindow/Main.cs | 6 + PKHeX.WinForms/Resources/text/lang_de.txt | 264 +++++++++++++++++- PKHeX.WinForms/Resources/text/lang_en.txt | 260 +++++++++++++++++ PKHeX.WinForms/Resources/text/lang_es.txt | 261 ++++++++++++++++- PKHeX.WinForms/Resources/text/lang_fr.txt | 260 +++++++++++++++++ PKHeX.WinForms/Resources/text/lang_it.txt | 260 +++++++++++++++++ PKHeX.WinForms/Resources/text/lang_ja.txt | 260 +++++++++++++++++ PKHeX.WinForms/Resources/text/lang_ko.txt | 262 ++++++++++++++++- PKHeX.WinForms/Resources/text/lang_zh.txt | 261 ++++++++++++++++- PKHeX.WinForms/Resources/text/lang_zh2.txt | 260 +++++++++++++++++ .../Subforms/Save Editors/Gen5/SAV_Misc5.cs | 4 +- .../Subforms/Save Editors/Gen6/SAV_OPower.cs | 6 +- .../Subforms/Save Editors/Gen6/SAV_Trainer.cs | 2 +- .../Save Editors/Gen7/SAV_FestivalPlaza.cs | 7 +- .../Save Editors/Gen7/SAV_Trainer7.cs | 28 +- PKHeX.WinForms/Util/DevUtil.cs | 46 +-- PKHeX.WinForms/Util/WinFormsTranslator.cs | 189 +++++++------ 36 files changed, 2643 insertions(+), 235 deletions(-) diff --git a/PKHeX.Core/Legality/Formatting/LegalityCheckStrings.cs b/PKHeX.Core/Legality/Formatting/LegalityCheckStrings.cs index a184599bd..30c4f62c3 100644 --- a/PKHeX.Core/Legality/Formatting/LegalityCheckStrings.cs +++ b/PKHeX.Core/Legality/Formatting/LegalityCheckStrings.cs @@ -60,6 +60,7 @@ public static class LegalityCheckStrings public static string L_XNickname { get; set; } = "Nickname"; public static string L_XKorean { get; set; } = "Korean"; public static string L_XKoreanNon { get; set; } = "Non-Korean"; + public static string L_XLocation { get; set; } = "Location"; public static string L_XEnigmaBerry_0 { get; set; } = "{0} Berry"; public static string L_XMatches0_1 { get; set; } = "Matches: {0} {1}"; public static string L_XWurmpleEvo_0 { get; set; } = "Wurmple Evolution: {0}"; diff --git a/PKHeX.Core/Legality/Formatting/LegalityFormatting.cs b/PKHeX.Core/Legality/Formatting/LegalityFormatting.cs index 7b07043ae..e9c7af06b 100644 --- a/PKHeX.Core/Legality/Formatting/LegalityFormatting.cs +++ b/PKHeX.Core/Legality/Formatting/LegalityFormatting.cs @@ -82,7 +82,7 @@ public static class LegalityFormatting // Location var loc = enc.GetEncounterLocation(); if (!string.IsNullOrEmpty(loc)) - lines.Add(string.Format(L_F0_1, "Location", loc)); + lines.Add(string.Format(L_F0_1, L_XLocation, loc)); // Version if (enc.Generation <= 2) diff --git a/PKHeX.Core/Resources/legality/checks/LegalityCheckStrings_de.txt b/PKHeX.Core/Resources/legality/checks/LegalityCheckStrings_de.txt index 79ed94093..8fa97e3f2 100644 --- a/PKHeX.Core/Resources/legality/checks/LegalityCheckStrings_de.txt +++ b/PKHeX.Core/Resources/legality/checks/LegalityCheckStrings_de.txt @@ -16,6 +16,7 @@ L_XEnigmaBerry_0 = {0}BEERE L_XHT = HT L_XKorean = Korean L_XKoreanNon = Non-Korean +L_XLocation = Location L_XMatches0_1 = Matches: {0} {1} L_XNickname = Nickname L_XOT = OT diff --git a/PKHeX.Core/Resources/legality/checks/LegalityCheckStrings_en.txt b/PKHeX.Core/Resources/legality/checks/LegalityCheckStrings_en.txt index dff939760..a9cfd61da 100644 --- a/PKHeX.Core/Resources/legality/checks/LegalityCheckStrings_en.txt +++ b/PKHeX.Core/Resources/legality/checks/LegalityCheckStrings_en.txt @@ -16,6 +16,7 @@ L_XEnigmaBerry_0 = {0} BERRY L_XHT = HT L_XKorean = Korean L_XKoreanNon = Non-Korean +L_XLocation = Location L_XMatches0_1 = Matches: {0} {1} L_XNickname = Nickname L_XOT = OT diff --git a/PKHeX.Core/Resources/legality/checks/LegalityCheckStrings_es.txt b/PKHeX.Core/Resources/legality/checks/LegalityCheckStrings_es.txt index 164885d4b..4f1d3c1a4 100644 --- a/PKHeX.Core/Resources/legality/checks/LegalityCheckStrings_es.txt +++ b/PKHeX.Core/Resources/legality/checks/LegalityCheckStrings_es.txt @@ -16,6 +16,7 @@ L_XEnigmaBerry_0 = BAYA {0} L_XHT = EE L_XKorean = Coreano L_XKoreanNon = No es coreano. +L_XLocation = Location L_XMatches0_1 = Coinciden: {0} {1} L_XNickname = Nickname L_XOT = EO diff --git a/PKHeX.Core/Resources/legality/checks/LegalityCheckStrings_fr.txt b/PKHeX.Core/Resources/legality/checks/LegalityCheckStrings_fr.txt index 296123e6f..6914aeffb 100644 --- a/PKHeX.Core/Resources/legality/checks/LegalityCheckStrings_fr.txt +++ b/PKHeX.Core/Resources/legality/checks/LegalityCheckStrings_fr.txt @@ -16,6 +16,7 @@ L_XEnigmaBerry_0 = BAIE {0} L_XHT = HT L_XKorean = Coréen L_XKoreanNon = Non-Coréen +L_XLocation = Location L_XMatches0_1 = Correspondances : {0} {1} L_XNickname = Nickname L_XOT = DO diff --git a/PKHeX.Core/Resources/legality/checks/LegalityCheckStrings_it.txt b/PKHeX.Core/Resources/legality/checks/LegalityCheckStrings_it.txt index ba651a6a0..f3ad613a9 100644 --- a/PKHeX.Core/Resources/legality/checks/LegalityCheckStrings_it.txt +++ b/PKHeX.Core/Resources/legality/checks/LegalityCheckStrings_it.txt @@ -16,6 +16,7 @@ L_XEnigmaBerry_0 = BACCA{0} L_XHT = HT L_XKorean = Korean L_XKoreanNon = Non-Korean +L_XLocation = Location L_XMatches0_1 = Matches: {0} {1} L_XNickname = Nickname L_XOT = OT diff --git a/PKHeX.Core/Resources/legality/checks/LegalityCheckStrings_ja.txt b/PKHeX.Core/Resources/legality/checks/LegalityCheckStrings_ja.txt index e9dc785d2..55bd1e19f 100644 --- a/PKHeX.Core/Resources/legality/checks/LegalityCheckStrings_ja.txt +++ b/PKHeX.Core/Resources/legality/checks/LegalityCheckStrings_ja.txt @@ -16,6 +16,7 @@ L_XEnigmaBerry_0 = {0}のみ L_XHT = 現在のトレーナー L_XKorean = 韓国 L_XKoreanNon = 韓国以外 +L_XLocation = Location L_XMatches0_1 = 一致: {0} {1} L_XNickname = Nickname L_XOT = 元々のトレーナー diff --git a/PKHeX.Core/Resources/legality/checks/LegalityCheckStrings_ko.txt b/PKHeX.Core/Resources/legality/checks/LegalityCheckStrings_ko.txt index 7d5f12f7f..2d9507a8b 100644 --- a/PKHeX.Core/Resources/legality/checks/LegalityCheckStrings_ko.txt +++ b/PKHeX.Core/Resources/legality/checks/LegalityCheckStrings_ko.txt @@ -16,6 +16,7 @@ L_XEnigmaBerry_0 = {0}열매 L_XHT = 소유했던 트레이너 (HT) L_XKorean = 한국어 버전 포켓몬 L_XKoreanNon = 한국어 버전이 아닌 포켓몬 +L_XLocation = Location L_XMatches0_1 = 일치: {0} {1} L_XNickname = Nickname L_XOT = 어버이 (OT) diff --git a/PKHeX.Core/Resources/legality/checks/LegalityCheckStrings_zh.txt b/PKHeX.Core/Resources/legality/checks/LegalityCheckStrings_zh.txt index 6b2840c83..018e39a26 100644 --- a/PKHeX.Core/Resources/legality/checks/LegalityCheckStrings_zh.txt +++ b/PKHeX.Core/Resources/legality/checks/LegalityCheckStrings_zh.txt @@ -16,6 +16,7 @@ L_XEnigmaBerry_0 = {0}果 L_XHT = 持有人 L_XKorean = 韩版 L_XKoreanNon = 非韩版 +L_XLocation = Location L_XMatches0_1 = 匹配: {0} {1} L_XNickname = Nickname L_XOT = 初训家 diff --git a/PKHeX.Core/Resources/legality/checks/LegalityCheckStrings_zh2.txt b/PKHeX.Core/Resources/legality/checks/LegalityCheckStrings_zh2.txt index a941db3ba..752bf5bc4 100644 --- a/PKHeX.Core/Resources/legality/checks/LegalityCheckStrings_zh2.txt +++ b/PKHeX.Core/Resources/legality/checks/LegalityCheckStrings_zh2.txt @@ -16,6 +16,7 @@ L_XEnigmaBerry_0 = {0}果 L_XHT = 持有人 L_XKorean = 韓版 L_XKoreanNon = 非韓版 +L_XLocation = Location L_XMatches0_1 = 匹配: {0} {1} L_XNickname = Nickname L_XOT = 初訓家 diff --git a/PKHeX.Core/Saves/Substructures/Gen5/FestaBlock5.cs b/PKHeX.Core/Saves/Substructures/Gen5/FestaBlock5.cs index 2036a4340..b2d82a1af 100644 --- a/PKHeX.Core/Saves/Substructures/Gen5/FestaBlock5.cs +++ b/PKHeX.Core/Saves/Substructures/Gen5/FestaBlock5.cs @@ -178,16 +178,16 @@ public enum Funfest5Mission SearchFor3Pokemon = 6, TrainwithMartialArtists = 7, Sparringwith10Trainers = 8, - B_GetRichQuick = 9, - W_TreasureHunting = 10, - B_ExcitingTrading = 11, - W_ExhilaratingTrading = 12, + GetRichQuickB = 9, + TreasureHuntingW = 10, + ExcitingTradingB = 11, + ExhilaratingTradingW = 12, FindEmolga = 13, WingsFallingontheDrawbridge = 14, FindTreasures = 15, MushroomsHideAndSeek = 16, - B_FindMysteriousOres = 17, - W_FindShiningOres = 18, + FindMysteriousOresB = 17, + FindShiningOresW = 18, The2LostTreasures = 19, BigHarvestofBerries = 20, RingtheBell = 21, @@ -198,15 +198,15 @@ public enum Funfest5Mission PushtheLimitofYourMemory = 26, FindRustlingGrass = 27, FindShards = 28, - B_ForgottenLostItems = 29, - W_NotFoundLostItems = 30, - B_WhatistheBestPrice = 31, - W_WhatistheRealPrice = 32, + ForgottenLostItemsB = 29, + NotFoundLostItemsW = 30, + WhatistheBestPriceB = 31, + WhatistheRealPriceW = 32, GivemetheItem = 33, DoaGreatTradeUp = 34, - SearchHiddenGrottes = 35, - B_NoisyHiddenGrottes = 36, - W_QuietHiddenGrottes = 37, + SearchHiddenGrottoes = 35, + NoisyHiddenGrottoesB = 36, + QuietHiddenGrottoesW = 37, FishingCompetition = 38, MulchCollector = 39, WhereareFlutteringHearts = 40, diff --git a/PKHeX.Core/Saves/Substructures/Gen5/PassPower5.cs b/PKHeX.Core/Saves/Substructures/Gen5/PassPower5.cs index 5f46f2bf1..929f2e66d 100644 --- a/PKHeX.Core/Saves/Substructures/Gen5/PassPower5.cs +++ b/PKHeX.Core/Saves/Substructures/Gen5/PassPower5.cs @@ -5,72 +5,72 @@ namespace PKHeX.Core; /// public enum PassPower5 { - Encounter_Plus1 = 0, - Encounter_Plus2 = 1, - Encounter_Plus3 = 2, - Encounter_Negative1 = 3, - Encounter_Negative2 = 4, - Encounter_Negative3 = 5, - Hatching_Plus1 = 6, - Hatching_Plus2 = 7, - Hatching_Plus3 = 8, - Befriending_Plus1 = 9, - Befriending_Plus2 = 10, - Befriending_Plus3 = 11, - Bargain_Plus1 = 12, - Bargain_Plus2 = 13, - Bargain_Plus3 = 14, - HP_Plus1 = 15, - HP_Plus2 = 16, - HP_Plus3 = 17, - PP_Plus1 = 18, - PP_Plus2 = 19, - PP_Plus3 = 20, - EXP_Plus1 = 21, - EXP_Plus2 = 22, - EXP_Plus3 = 23, - EXP_Negative1 = 24, - EXP_Negative2 = 25, - EXP_Negative3 = 26, - PrizeMoney_Plus1 = 27, - PrizeMoney_Plus2 = 28, - PrizeMoney_Plus3 = 29, - Capture_Plus1 = 30, - Capture_Plus2 = 31, - Capture_Plus3 = 32, + EncounterPlus1 = 0, + EncounterPlus2 = 1, + EncounterPlus3 = 2, + EncounterNegative1 = 3, + EncounterNegative2 = 4, + EncounterNegative3 = 5, + HatchingPlus1 = 6, + HatchingPlus2 = 7, + HatchingPlus3 = 8, + BefriendingPlus1 = 9, + BefriendingPlus2 = 10, + BefriendingPlus3 = 11, + BargainPlus1 = 12, + BargainPlus2 = 13, + BargainPlus3 = 14, + HPPlus1 = 15, + HPPlus2 = 16, + HPPlus3 = 17, + PPPlus1 = 18, + PPPlus2 = 19, + PPPlus3 = 20, + EXPPlus1 = 21, + EXPPlus2 = 22, + EXPPlus3 = 23, + EXPNegative1 = 24, + EXPNegative2 = 25, + EXPNegative3 = 26, + PrizeMoneyPlus1 = 27, + PrizeMoneyPlus2 = 28, + PrizeMoneyPlus3 = 29, + CapturePlus1 = 30, + CapturePlus2 = 31, + CapturePlus3 = 32, - Hatching_S = 33, - Bargain_S = 34, - Befriending_S = 35, - EXP_S = 36, - PrizeMoney_S = 37, - Capture_S = 38, - HPFullRecovery_S = 39, - Hatch_MAX = 40, - Bargain_MAX = 41, - Befriending_MAX = 42, - EXP_MAX = 43, - PrizeMoney_MAX = 44, - Capture_MAX = 45, + HatchingS = 33, + BargainS = 34, + BefriendingS = 35, + EXPS = 36, + PrizeMoneyS = 37, + CaptureS = 38, + HPFullRecoveryS = 39, + HatchMAX = 40, + BargainMAX = 41, + BefriendingMAX = 42, + EXPMAX = 43, + PrizeMoneyMAX = 44, + CaptureMAX = 45, // 46 // 47 None = 48, // B2/W2 - Search_Plus1 = 49, - Search_Plus2 = 50, - Search_Plus3 = 51, - HiddenGrotto_Plus1 = 52, - HiddenGrotto_Plus2 = 53, - HiddenGrotto_Plus3 = 54, - Charm_Plus1 = 55, - Charm_Plus2 = 56, - Charm_Plus3 = 57, + SearchPlus1 = 49, + SearchPlus2 = 50, + SearchPlus3 = 51, + HiddenGrottoPlus1 = 52, + HiddenGrottoPlus2 = 53, + HiddenGrottoPlus3 = 54, + CharmPlus1 = 55, + CharmPlus2 = 56, + CharmPlus3 = 57, - Search_S = 58, - Search_MAX = 59, - HiddenGrotto_S = 60, - HiddenGrotto_MAX = 61, - Charm_S = 62, - Charm_MAX = 63, + SearchS = 58, + SearchMAX = 59, + HiddenGrottoS = 60, + HiddenGrottoMAX = 61, + CharmS = 62, + CharmMAX = 63, } diff --git a/PKHeX.Core/Saves/Substructures/Gen7/FestaFacility.cs b/PKHeX.Core/Saves/Substructures/Gen7/FestaFacility.cs index 8c030d94a..644392780 100644 --- a/PKHeX.Core/Saves/Substructures/Gen7/FestaFacility.cs +++ b/PKHeX.Core/Saves/Substructures/Gen7/FestaFacility.cs @@ -46,3 +46,19 @@ public sealed class FestaFacility(Memory raw, int language) _ => -1, }; } + +public enum FestivalPlazaFacilityColor : byte +{ + Red = 0, + Blue = 1, + Gold = 2, + Black = 3, + Purple = 4, + Yellow = 5, + Brown = 6, + Green = 7, + Orange = 8, + NavyBlue = 9, + Pink = 10, + White = 11, +} diff --git a/PKHeX.Core/Saves/Substructures/Gen7/PlayerSkinColor7.cs b/PKHeX.Core/Saves/Substructures/Gen7/PlayerSkinColor7.cs index db3383d0c..df7db7211 100644 --- a/PKHeX.Core/Saves/Substructures/Gen7/PlayerSkinColor7.cs +++ b/PKHeX.Core/Saves/Substructures/Gen7/PlayerSkinColor7.cs @@ -1,13 +1,13 @@ -namespace PKHeX.Core; +namespace PKHeX.Core; public enum PlayerSkinColor7 { - M_Pale, - F_Pale, - M_Default, - F_Default, - M_Tan, - F_Tan, - M_Dark, - F_Dark, + PaleM = 0, + PaleF = 1, + DefaultM = 2, + DefaultF = 3, + TanM = 4, + TanF = 5, + DarkM = 6, + DarkF = 7, } diff --git a/PKHeX.Core/Saves/Substructures/Gen7/Stamp7.cs b/PKHeX.Core/Saves/Substructures/Gen7/Stamp7.cs index 9be627b13..d4ea8b737 100644 --- a/PKHeX.Core/Saves/Substructures/Gen7/Stamp7.cs +++ b/PKHeX.Core/Saves/Substructures/Gen7/Stamp7.cs @@ -1,20 +1,20 @@ -namespace PKHeX.Core; +namespace PKHeX.Core; public enum Stamp7 { - Official_Pokemon_Trainer, - Melemele_Trial_Completion, - Akala_Trial_Completion, - Ula_ula_Trial_Completion, - Poni_Trial_Completion, - Island_Challenge_Completion, - Melemele_Pokedex_Completion, - Akala_Pokedex_Completion, - Ula_ula_Pokedex_Completion, - Poni_Pokedex_Completion, - Alola_Pokedex_Completion, - _50_Consecutive_Single_Battle_Wins, - _50_Consecutive_Double_Battle_Wins, - _50_Consecutive_Multi_Battle_Wins, - Poke_Finder_Pro, + OfficialPokemonTrainer = 0, + MelemeleTrialCompletion = 1, + AkalaTrialCompletion = 2, + UlaulaTrialCompletion = 3, + PoniTrialCompletion = 4, + IslandChallengeCompletion = 5, + MelemelePokedexCompletion = 6, + AkalaPokedexCompletion = 7, + UlaulaPokedexCompletion = 8, + PoniPokedexCompletion = 9, + AlolaPokedexCompletion = 10, + ConsecutiveSingleBattleWins50 = 11, + ConsecutiveDoubleBattleWins50 = 12, + ConsecutiveMultiBattleWins50 = 13, + PokeFinderPro = 14, } diff --git a/PKHeX.WinForms/Controls/PKM Editor/PKMEditor.Designer.cs b/PKHeX.WinForms/Controls/PKM Editor/PKMEditor.Designer.cs index b5ee8e79f..0b8e93051 100644 --- a/PKHeX.WinForms/Controls/PKM Editor/PKMEditor.Designer.cs +++ b/PKHeX.WinForms/Controls/PKM Editor/PKMEditor.Designer.cs @@ -3250,7 +3250,7 @@ namespace PKHeX.WinForms.Controls private System.Windows.Forms.FlowLayoutPanel FLP_CatchRate; private System.Windows.Forms.Label L_CatchRate; private CatchRate CR_PK1; - private SizeCP SizeCP; + public SizeCP SizeCP; private System.Windows.Forms.PictureBox PB_Favorite; private System.Windows.Forms.FlowLayoutPanel FLP_OriginalNature; private System.Windows.Forms.Label L_OriginalNature; diff --git a/PKHeX.WinForms/Controls/PKM Editor/SizeCP.cs b/PKHeX.WinForms/Controls/PKM Editor/SizeCP.cs index c37c878d8..5d397a5a5 100644 --- a/PKHeX.WinForms/Controls/PKM Editor/SizeCP.cs +++ b/PKHeX.WinForms/Controls/PKM Editor/SizeCP.cs @@ -21,8 +21,14 @@ public partial class SizeCP : UserControl } private readonly bool Initialized; - private static readonly string[] SizeClass = Enum.GetNames(); - private static readonly string[] SizeClassDetailed = Enum.GetNames(); + private static string[] SizeClass = Enum.GetNames(); + private static string[] SizeClassDetailed = Enum.GetNames(); + + public static void ResetSizeLocalizations(string language) + { + SizeClass = WinFormsTranslator.GetEnumTranslation(language); + SizeClassDetailed = WinFormsTranslator.GetEnumTranslation(language); + } public void LoadPKM(PKM entity) { diff --git a/PKHeX.WinForms/Controls/PKM Editor/StatusConditionView.cs b/PKHeX.WinForms/Controls/PKM Editor/StatusConditionView.cs index 9a36e8069..186bc5d47 100644 --- a/PKHeX.WinForms/Controls/PKM Editor/StatusConditionView.cs +++ b/PKHeX.WinForms/Controls/PKM Editor/StatusConditionView.cs @@ -58,7 +58,9 @@ public partial class StatusConditionView : UserControl private void SetStatus(StatusCondition status) { PB_Status.Image = status.GetStatusSprite(); - Hover.SetToolTip(PB_Status, $"Status Condition: {status}"); + + var text = WinFormsTranslator.TranslateEnum(status, Main.CurrentLanguage); + Hover.SetToolTip(PB_Status, $"Status Condition: {text}"); } private void PB_Status_Click(object sender, EventArgs e) diff --git a/PKHeX.WinForms/MainWindow/Main.cs b/PKHeX.WinForms/MainWindow/Main.cs index 8ef83f8af..2720b6984 100644 --- a/PKHeX.WinForms/MainWindow/Main.cs +++ b/PKHeX.WinForms/MainWindow/Main.cs @@ -34,7 +34,10 @@ public partial class Main : Form FormLoadAddEvents(); #if DEBUG // translation updater -- all controls are added at this point -- call translate now if (DevUtil.IsUpdatingTranslations) + { WinFormsUtil.TranslateInterface(this, CurrentLanguage); // Translate the UI to language. + return; + } #endif FormInitializeSecond(); FormLoadCheckForUpdates(); @@ -1010,6 +1013,9 @@ public partial class Main : Form WinFormsUtil.TranslateInterface(this, lang); // Translate the UI to language. LocalizedDescriptionAttribute.Localizer = WinFormsTranslator.GetDictionary(lang); + SizeCP.ResetSizeLocalizations(lang); + PKME_Tabs.SizeCP.TryResetStats(); + if (sav is not FakeSaveFile) { var pk = PKME_Tabs.CurrentPKM.Clone(); diff --git a/PKHeX.WinForms/Resources/text/lang_de.txt b/PKHeX.WinForms/Resources/text/lang_de.txt index ef9332c5b..2d5989fb4 100644 --- a/PKHeX.WinForms/Resources/text/lang_de.txt +++ b/PKHeX.WinForms/Resources/text/lang_de.txt @@ -94,6 +94,63 @@ ErrorWindow.B_Continue=Fortfahren ErrorWindow.B_CopyToClipboard=In Zwischenablage kopieren ErrorWindow.L_Message=An unknown error has occurred. ErrorWindow.L_ProvideInfo=Bitte gib diese Informationen an, wenn du den Fehler meldest: +FestivalPlazaFacilityColor.Black=Black +FestivalPlazaFacilityColor.Blue=Blue +FestivalPlazaFacilityColor.Brown=Brown +FestivalPlazaFacilityColor.Gold=Gold +FestivalPlazaFacilityColor.Green=Green +FestivalPlazaFacilityColor.NavyBlue=NavyBlue +FestivalPlazaFacilityColor.Orange=Orange +FestivalPlazaFacilityColor.Pink=Pink +FestivalPlazaFacilityColor.Purple=Purple +FestivalPlazaFacilityColor.Red=Red +FestivalPlazaFacilityColor.White=White +FestivalPlazaFacilityColor.Yellow=Yellow +Funfest5Mission.BigHarvestofBerries=Big Harvest of Berries +Funfest5Mission.CollectBerries=Collect Berries +Funfest5Mission.DoaGreatTradeUp=Do a Great Trade Up +Funfest5Mission.EnjoyShopping=Enjoy Shopping +Funfest5Mission.ExcitingTradingB=Exciting Trading (B) +Funfest5Mission.ExhilaratingTradingW=Exhilarating Trading (W) +Funfest5Mission.FindAudino=Find Audino +Funfest5Mission.FindEmolga=Find Emolga +Funfest5Mission.FindLostBoys=Find Lost Boys +Funfest5Mission.FindLostItems=Find Lost Items +Funfest5Mission.FindMysteriousOresB=Find Mysterious Ores (B) +Funfest5Mission.FindRustlingGrass=Find Rustling Grass +Funfest5Mission.FindShards=Find Shards +Funfest5Mission.FindShiningOresW=Find Shining Ores (W) +Funfest5Mission.FindSteelix=Find Steelix +Funfest5Mission.FindTreasures=Find Treasures +Funfest5Mission.FishingCompetition=Fishing Competition +Funfest5Mission.ForgottenLostItemsB=Forgotten Lost Items (B) +Funfest5Mission.GetRichQuickB=Get Rich Quick (B) +Funfest5Mission.GivemetheItem=Give me the Item +Funfest5Mission.MemoryTraining=Memory Training +Funfest5Mission.MulchCollector=Mulch Collector +Funfest5Mission.MushroomsHideAndSeek=Mushrooms Hide And Seek +Funfest5Mission.NoisyHiddenGrottoesB=Noisy Hidden Grottoes +Funfest5Mission.NotFoundLostItemsW=Not Found Lost Items (W) +Funfest5Mission.PathtoanAce=Path to an Ace +Funfest5Mission.PushtheLimitofYourMemory=Push the Limit of Your Memory +Funfest5Mission.QuietHiddenGrottoesW=Quiet Hidden Grottoes (W) +Funfest5Mission.RingtheBell=Ring the Bell +Funfest5Mission.RockPaperScissorsCompetition=Rock Paper Scissors Competition +Funfest5Mission.SearchFor3Pokemon=Search For 3 Pokemon +Funfest5Mission.SearchHiddenGrottoes=Search Hidden Grottoes +Funfest5Mission.ShockingShopping=Shocking Shopping +Funfest5Mission.Sparringwith10Trainers=Sparring with 10 Trainers +Funfest5Mission.TakeaWalkwithEggs=Take a Walk with Eggs +Funfest5Mission.The2LostTreasures=The 2 Lost Treasures +Funfest5Mission.TheBellthatRings3Times=The Bell that Rings 3 Times +Funfest5Mission.TheBerryHuntingAdventure=The Berry Hunting Adventure +Funfest5Mission.TheFirstBerrySearch=The First Berry Search +Funfest5Mission.TrainwithMartialArtists=Train with Martial Artists +Funfest5Mission.TreasureHuntingW=Treasure Hunting (W) +Funfest5Mission.WhatistheBestPriceB=What is the Best Price +Funfest5Mission.WhatistheRealPriceW=What is the Real Price (W) +Funfest5Mission.WhereareFlutteringHearts=Where are Fluttering Hearts +Funfest5Mission.WingsFallingontheDrawbridge=Wings Falling on the Drawbridge LocalizedDescription.AllowBoxDataDrop=Allow drag and drop of boxdata binary files from the GUI via the Box tab. LocalizedDescription.AllowGen1Tradeback=Erlaube Gen 1 Rücktausch LocalizedDescription.AllowGuessRejuvenateHOME=Erlaube der PKM Konvertierung, legale Begegnungs Daten, welche nicht im vorherigen Format gespeichert sind, zu erraten. @@ -249,10 +306,6 @@ Main.B_OpenWondercards=Wunderkarten Main.B_OtherSlots=Andere Felder Main.B_OUTPasserby=Passanten Main.B_Poffins=Pofflés -Main.B_RaidArmor=Raids (DLC 1) -Main.B_RaidBlueberry=Raids (DLC 2) -Main.B_RaidCrown=Raids (DLC 2) -Main.B_RaidKitakami=Raids (DLC 1) Main.B_Raids=Raids Main.B_RaidsDLC1=Raids (DLC 1) Main.B_RaidsDLC2=Raids (DLC 2) @@ -518,6 +571,181 @@ MoveShopEditor.B_All=Give All MoveShopEditor.B_Cancel=Cancel MoveShopEditor.B_None=Remove All MoveShopEditor.B_Save=Save +OPower6BattleType.Accuracy=Accuracy +OPower6BattleType.Attack=Attack +OPower6BattleType.Critical=Critical +OPower6BattleType.Defense=Defense +OPower6BattleType.Sp_Attack=Special Attack +OPower6BattleType.Sp_Defense=Special Defense +OPower6BattleType.Speed=Speed +OPower6FieldType.Bargain=Bargain +OPower6FieldType.Befriending=Befriending +OPower6FieldType.Capture=Capture +OPower6FieldType.Encounter=Encounter +OPower6FieldType.Experience=Experience +OPower6FieldType.Hatching=Hatching +OPower6FieldType.HPRestoring=HP Restoring +OPower6FieldType.PPRestoring=PP Restoring +OPower6FieldType.PrizeMoney=Prize Money +OPower6FieldType.Stealth=Stealth +OPower6Index.Accuracy1=Accuracy 1 +OPower6Index.Accuracy2=Accuracy 2 +OPower6Index.Accuracy3=Accuracy 3 +OPower6Index.Attack1=Attack 1 +OPower6Index.Attack2=Attack 2 +OPower6Index.Attack3=Attack 3 +OPower6Index.Bargain1=Bargain 1 +OPower6Index.Bargain2=Bargain 2 +OPower6Index.Bargain3=Bargain 3 +OPower6Index.BargainMAX=Bargain MAX +OPower6Index.BargainS=Bargain S +OPower6Index.Befriending1=Befriending 1 +OPower6Index.Befriending2=Befriending 2 +OPower6Index.Befriending3=Befriending 3 +OPower6Index.BefriendingMAX=Befriending MAX +OPower6Index.BefriendingS=Befriending S +OPower6Index.Capture1=Capture 1 +OPower6Index.Capture2=Capture 2 +OPower6Index.Capture3=Capture 3 +OPower6Index.CaptureMAX=Capture MAX +OPower6Index.CaptureS=Capture S +OPower6Index.Critical1=Critical 1 +OPower6Index.Critical2=Critical 2 +OPower6Index.Critical3=Critical 3 +OPower6Index.Defense1=Defense 1 +OPower6Index.Defense2=Defense 2 +OPower6Index.Defense3=Defense 3 +OPower6Index.Enable=Enable +OPower6Index.Encounter1=Encounter 1 +OPower6Index.Encounter2=Encounter 2 +OPower6Index.Encounter3=Encounter 3 +OPower6Index.Experience1=Experience 1 +OPower6Index.Experience2=Experience 2 +OPower6Index.Experience3=Experience 3 +OPower6Index.ExperienceMAX=Experience MAX +OPower6Index.ExperienceS=Experience S +OPower6Index.FullRecovery=Full Recovery +OPower6Index.Hatching1=Hatching 1 +OPower6Index.Hatching2=Hatching 2 +OPower6Index.Hatching3=Hatching 3 +OPower6Index.HatchingMAX=Hatching MAX +OPower6Index.HatchingS=Hatching S +OPower6Index.HPRestoring1=HP Restoring 1 +OPower6Index.HPRestoring2=HP Restoring 2 +OPower6Index.HPRestoring3=HP Restoring 3 +OPower6Index.PPRestoring1=PP Restoring 1 +OPower6Index.PPRestoring2=PP Restoring 2 +OPower6Index.PPRestoring3=PP Restoring 3 +OPower6Index.PrizeMoney1=Prize Money 1 +OPower6Index.PrizeMoney2=Prize Money 2 +OPower6Index.PrizeMoney3=Prize Money 3 +OPower6Index.PrizeMoneyMAX=Prize Money MAX +OPower6Index.PrizeMoneyS=Prize Money S +OPower6Index.SpecialAttack1=Special Attack 1 +OPower6Index.SpecialAttack2=Special Attack 2 +OPower6Index.SpecialAttack3=Special Attack 3 +OPower6Index.SpecialDefense1=Special Defense 1 +OPower6Index.SpecialDefense2=Special Defense 2 +OPower6Index.SpecialDefense3=Special Defense 3 +OPower6Index.Speed1=Speed 1 +OPower6Index.Speed2=Speed 2 +OPower6Index.Speed3=Speed 3 +OPower6Index.Stealth1=Stealth 1 +OPower6Index.Stealth2=Stealth 2 +OPower6Index.Stealth3=Stealth 3 +PassPower5.BargainMAX=Bargain MAX +PassPower5.BargainPlus1=Bargain Plus 1 +PassPower5.BargainPlus2=Bargain Plus 2 +PassPower5.BargainPlus3=Bargain Plus 3 +PassPower5.BargainS=Bargain S +PassPower5.BefriendingMAX=Befriending MAX +PassPower5.BefriendingPlus1=Befriending Plus 1 +PassPower5.BefriendingPlus2=Befriending Plus 2 +PassPower5.BefriendingPlus3=Befriending Plus 3 +PassPower5.BefriendingS=Befriending S +PassPower5.CaptureMAX=Capture MAX +PassPower5.CapturePlus1=Capture Plus 1 +PassPower5.CapturePlus2=Capture Plus 2 +PassPower5.CapturePlus3=Capture Plus 3 +PassPower5.CaptureS=Capture S +PassPower5.CharmMAX=Charm MAX +PassPower5.CharmPlus1=Charm Plus 1 +PassPower5.CharmPlus2=Charm Plus 2 +PassPower5.CharmPlus3=Charm Plus 3 +PassPower5.CharmS=Charm S +PassPower5.EncounterNegative1=Encounter Negative 1 +PassPower5.EncounterNegative2=Encounter Negative 2 +PassPower5.EncounterNegative3=Encounter Negative 3 +PassPower5.EncounterPlus1=Encounter Plus 1 +PassPower5.EncounterPlus2=Encounter Plus 2 +PassPower5.EncounterPlus3=Encounter Plus 3 +PassPower5.EXPMAX=EXP MAX +PassPower5.EXPNegative1=EXP Negative 1 +PassPower5.EXPNegative2=EXP Negative 2 +PassPower5.EXPNegative3=EXP Negative 3 +PassPower5.EXPPlus1=EXP Plus 1 +PassPower5.EXPPlus2=EXP Plus 2 +PassPower5.EXPPlus3=EXP Plus 3 +PassPower5.EXPS=EXP S +PassPower5.HatchingPlus1=Hatching Plus 1 +PassPower5.HatchingPlus2=Hatching Plus 2 +PassPower5.HatchingPlus3=Hatching Plus 3 +PassPower5.HatchingS=Hatching S +PassPower5.HatchMAX=Hatch MAX +PassPower5.HiddenGrottoMAX=Hidden Grotto MAX +PassPower5.HiddenGrottoPlus1=Hidden Grotto Plus 1 +PassPower5.HiddenGrottoPlus2=Hidden Grotto Plus 2 +PassPower5.HiddenGrottoPlus3=Hidden Grotto Plus 3 +PassPower5.HiddenGrottoS=Hidden Grotto S +PassPower5.HPFullRecoveryS=HP Full Recovery S +PassPower5.HPPlus1=HP Plus 1 +PassPower5.HPPlus2=HP Plus 2 +PassPower5.HPPlus3=HP Plus 3 +PassPower5.None=None +PassPower5.PPPlus1=PP Plus 1 +PassPower5.PPPlus2=PP Plus 2 +PassPower5.PPPlus3=PP Plus 3 +PassPower5.PrizeMoneyMAX=Prize Money MAX +PassPower5.PrizeMoneyPlus1=Prize Money Plus 1 +PassPower5.PrizeMoneyPlus2=Prize Money Plus 2 +PassPower5.PrizeMoneyPlus3=Prize Money Plus 3 +PassPower5.PrizeMoneyS=PrizeMoney S +PassPower5.SearchMAX=Search MAX +PassPower5.SearchPlus1=Search Plus 1 +PassPower5.SearchPlus2=Search Plus 2 +PassPower5.SearchPlus3=Search Plus 3 +PassPower5.SearchS=Search S +PlayerBattleStyle7.Elegant=Elegant +PlayerBattleStyle7.Girlish=Girlish +PlayerBattleStyle7.Idol=Idol +PlayerBattleStyle7.LeftHanded=LeftHanded +PlayerBattleStyle7.Nihilist=Nihilist +PlayerBattleStyle7.Normal=Normal +PlayerBattleStyle7.Passionate=Passionate +PlayerBattleStyle7.Reverent=Reverent +PlayerBattleStyle7.Smug=Smug +PlayerSkinColor7.DarkF=Dark (Female) +PlayerSkinColor7.DarkM=Dark (Male) +PlayerSkinColor7.DefaultF=Default (Female) +PlayerSkinColor7.DefaultM=Default (Male) +PlayerSkinColor7.PaleF=Pale (Female) +PlayerSkinColor7.PaleM=Pale (Male) +PlayerSkinColor7.TanF=Tan (Female) +PlayerSkinColor7.TanM=Tan (Male) +PokeSize.AV=AV +PokeSize.L=L +PokeSize.S=S +PokeSize.XL=XL +PokeSize.XS=XS +PokeSizeDetailed.AV=AV +PokeSizeDetailed.L=L +PokeSizeDetailed.S=S +PokeSizeDetailed.XL=XL +PokeSizeDetailed.XS=XS +PokeSizeDetailed.XXL=XXL +PokeSizeDetailed.XXS=XXS +PokeSizeDetailed.XXXL=XXXL +PokeSizeDetailed.XXXS=XXXS RibbonEditor.B_All=Alle RibbonEditor.B_Cancel=Abbrechen RibbonEditor.B_None=Alle entfernen @@ -1918,6 +2146,34 @@ SAV_ZygardeCell.L_Cells=Gelagert: SAV_ZygardeCell.L_Collected=Gesammelt: SettingsEditor.B_Reset=Reset All SettingsEditor.L_Blank=Blank Save Version: +Stamp7.AkalaPokedexCompletion=Akala Pokedex Completion +Stamp7.AkalaTrialCompletion=Akala Trial Completion +Stamp7.AlolaPokedexCompletion=Alola Pokedex Completion +Stamp7.ConsecutiveDoubleBattleWins50=50 Consecutive Double Battle Wins +Stamp7.ConsecutiveMultiBattleWins50=50 Consecutive MultiBattle Wins +Stamp7.ConsecutiveSingleBattleWins50=50 Consecutive Single Battle Wins +Stamp7.IslandChallengeCompletion=Island Challenge Completion +Stamp7.MelemelePokedexCompletion=Melemele Pokedex Completion +Stamp7.MelemeleTrialCompletion=Melemele Trial Completion +Stamp7.OfficialPokemonTrainer=Official Pokemon Trainer +Stamp7.PokeFinderPro=Poke Finder Pro +Stamp7.PoniPokedexCompletion=Poni Pokedex Completion +Stamp7.PoniTrialCompletion=Poni Trial Completion +Stamp7.UlaulaPokedexCompletion=Ula’ula Pokedex Completion +Stamp7.UlaulaTrialCompletion=Ula’ula Trial Completion +StatusCondition.Burn=Burn +StatusCondition.Freeze=Freeze +StatusCondition.None=None +StatusCondition.Paralysis=Paralysis +StatusCondition.Poison=Poison +StatusCondition.PoisonBad=Toxic +StatusCondition.Sleep1=Sleep (1 Turn) +StatusCondition.Sleep2=Sleep (2 Turn) +StatusCondition.Sleep3=Sleep (3 Turn) +StatusCondition.Sleep4=Sleep (4 Turn) +StatusCondition.Sleep5=Sleep (5 Turn) +StatusCondition.Sleep6=Sleep (6 Turn) +StatusCondition.Sleep7=Sleep (7 Turn) SuperTrainingEditor.B_All=Alle SuperTrainingEditor.B_Cancel=Abbrechen SuperTrainingEditor.B_None=Keine diff --git a/PKHeX.WinForms/Resources/text/lang_en.txt b/PKHeX.WinForms/Resources/text/lang_en.txt index 768712f52..711cc6cba 100644 --- a/PKHeX.WinForms/Resources/text/lang_en.txt +++ b/PKHeX.WinForms/Resources/text/lang_en.txt @@ -94,6 +94,63 @@ ErrorWindow.B_Continue=Continue ErrorWindow.B_CopyToClipboard=Copy to Clipboard ErrorWindow.L_Message=An unknown error has occurred. ErrorWindow.L_ProvideInfo=Please provide this information when reporting this error: +FestivalPlazaFacilityColor.Black=Black +FestivalPlazaFacilityColor.Blue=Blue +FestivalPlazaFacilityColor.Brown=Brown +FestivalPlazaFacilityColor.Gold=Gold +FestivalPlazaFacilityColor.Green=Green +FestivalPlazaFacilityColor.NavyBlue=NavyBlue +FestivalPlazaFacilityColor.Orange=Orange +FestivalPlazaFacilityColor.Pink=Pink +FestivalPlazaFacilityColor.Purple=Purple +FestivalPlazaFacilityColor.Red=Red +FestivalPlazaFacilityColor.White=White +FestivalPlazaFacilityColor.Yellow=Yellow +Funfest5Mission.BigHarvestofBerries=Big Harvest of Berries +Funfest5Mission.CollectBerries=Collect Berries +Funfest5Mission.DoaGreatTradeUp=Do a Great Trade Up +Funfest5Mission.EnjoyShopping=Enjoy Shopping +Funfest5Mission.ExcitingTradingB=Exciting Trading (B) +Funfest5Mission.ExhilaratingTradingW=Exhilarating Trading (W) +Funfest5Mission.FindAudino=Find Audino +Funfest5Mission.FindEmolga=Find Emolga +Funfest5Mission.FindLostBoys=Find Lost Boys +Funfest5Mission.FindLostItems=Find Lost Items +Funfest5Mission.FindMysteriousOresB=Find Mysterious Ores (B) +Funfest5Mission.FindRustlingGrass=Find Rustling Grass +Funfest5Mission.FindShards=Find Shards +Funfest5Mission.FindShiningOresW=Find Shining Ores (W) +Funfest5Mission.FindSteelix=Find Steelix +Funfest5Mission.FindTreasures=Find Treasures +Funfest5Mission.FishingCompetition=Fishing Competition +Funfest5Mission.ForgottenLostItemsB=Forgotten Lost Items (B) +Funfest5Mission.GetRichQuickB=Get Rich Quick (B) +Funfest5Mission.GivemetheItem=Give me the Item +Funfest5Mission.MemoryTraining=Memory Training +Funfest5Mission.MulchCollector=Mulch Collector +Funfest5Mission.MushroomsHideAndSeek=Mushrooms Hide And Seek +Funfest5Mission.NoisyHiddenGrottoesB=Noisy Hidden Grottoes +Funfest5Mission.NotFoundLostItemsW=Not Found Lost Items (W) +Funfest5Mission.PathtoanAce=Path to an Ace +Funfest5Mission.PushtheLimitofYourMemory=Push the Limit of Your Memory +Funfest5Mission.QuietHiddenGrottoesW=Quiet Hidden Grottoes (W) +Funfest5Mission.RingtheBell=Ring the Bell +Funfest5Mission.RockPaperScissorsCompetition=Rock Paper Scissors Competition +Funfest5Mission.SearchFor3Pokemon=Search For 3 Pokemon +Funfest5Mission.SearchHiddenGrottoes=Search Hidden Grottoes +Funfest5Mission.ShockingShopping=Shocking Shopping +Funfest5Mission.Sparringwith10Trainers=Sparring with 10 Trainers +Funfest5Mission.TakeaWalkwithEggs=Take a Walk with Eggs +Funfest5Mission.The2LostTreasures=The 2 Lost Treasures +Funfest5Mission.TheBellthatRings3Times=The Bell that Rings 3 Times +Funfest5Mission.TheBerryHuntingAdventure=The Berry Hunting Adventure +Funfest5Mission.TheFirstBerrySearch=The First Berry Search +Funfest5Mission.TrainwithMartialArtists=Train with Martial Artists +Funfest5Mission.TreasureHuntingW=Treasure Hunting (W) +Funfest5Mission.WhatistheBestPriceB=What is the Best Price +Funfest5Mission.WhatistheRealPriceW=What is the Real Price (W) +Funfest5Mission.WhereareFlutteringHearts=Where are Fluttering Hearts +Funfest5Mission.WingsFallingontheDrawbridge=Wings Falling on the Drawbridge LocalizedDescription.AllowBoxDataDrop=Allow drag and drop of boxdata binary files from the GUI via the Box tab. LocalizedDescription.AllowGen1Tradeback=GB: Allow Generation 2 tradeback learnsets LocalizedDescription.AllowGuessRejuvenateHOME=Allow PKM file conversion paths to guess the legal original encounter data that is not stored in the format that it was converted from. @@ -514,6 +571,181 @@ MoveShopEditor.B_All=Give All MoveShopEditor.B_Cancel=Cancel MoveShopEditor.B_None=Remove All MoveShopEditor.B_Save=Save +OPower6BattleType.Accuracy=Accuracy +OPower6BattleType.Attack=Attack +OPower6BattleType.Critical=Critical +OPower6BattleType.Defense=Defense +OPower6BattleType.Sp_Attack=Special Attack +OPower6BattleType.Sp_Defense=Special Defense +OPower6BattleType.Speed=Speed +OPower6FieldType.Bargain=Bargain +OPower6FieldType.Befriending=Befriending +OPower6FieldType.Capture=Capture +OPower6FieldType.Encounter=Encounter +OPower6FieldType.Experience=Experience +OPower6FieldType.Hatching=Hatching +OPower6FieldType.HPRestoring=HP Restoring +OPower6FieldType.PPRestoring=PP Restoring +OPower6FieldType.PrizeMoney=Prize Money +OPower6FieldType.Stealth=Stealth +OPower6Index.Accuracy1=Accuracy 1 +OPower6Index.Accuracy2=Accuracy 2 +OPower6Index.Accuracy3=Accuracy 3 +OPower6Index.Attack1=Attack 1 +OPower6Index.Attack2=Attack 2 +OPower6Index.Attack3=Attack 3 +OPower6Index.Bargain1=Bargain 1 +OPower6Index.Bargain2=Bargain 2 +OPower6Index.Bargain3=Bargain 3 +OPower6Index.BargainMAX=Bargain MAX +OPower6Index.BargainS=Bargain S +OPower6Index.Befriending1=Befriending 1 +OPower6Index.Befriending2=Befriending 2 +OPower6Index.Befriending3=Befriending 3 +OPower6Index.BefriendingMAX=Befriending MAX +OPower6Index.BefriendingS=Befriending S +OPower6Index.Capture1=Capture 1 +OPower6Index.Capture2=Capture 2 +OPower6Index.Capture3=Capture 3 +OPower6Index.CaptureMAX=Capture MAX +OPower6Index.CaptureS=Capture S +OPower6Index.Critical1=Critical 1 +OPower6Index.Critical2=Critical 2 +OPower6Index.Critical3=Critical 3 +OPower6Index.Defense1=Defense 1 +OPower6Index.Defense2=Defense 2 +OPower6Index.Defense3=Defense 3 +OPower6Index.Enable=Enable +OPower6Index.Encounter1=Encounter 1 +OPower6Index.Encounter2=Encounter 2 +OPower6Index.Encounter3=Encounter 3 +OPower6Index.Experience1=Experience 1 +OPower6Index.Experience2=Experience 2 +OPower6Index.Experience3=Experience 3 +OPower6Index.ExperienceMAX=Experience MAX +OPower6Index.ExperienceS=Experience S +OPower6Index.FullRecovery=Full Recovery +OPower6Index.Hatching1=Hatching 1 +OPower6Index.Hatching2=Hatching 2 +OPower6Index.Hatching3=Hatching 3 +OPower6Index.HatchingMAX=Hatching MAX +OPower6Index.HatchingS=Hatching S +OPower6Index.HPRestoring1=HP Restoring 1 +OPower6Index.HPRestoring2=HP Restoring 2 +OPower6Index.HPRestoring3=HP Restoring 3 +OPower6Index.PPRestoring1=PP Restoring 1 +OPower6Index.PPRestoring2=PP Restoring 2 +OPower6Index.PPRestoring3=PP Restoring 3 +OPower6Index.PrizeMoney1=Prize Money 1 +OPower6Index.PrizeMoney2=Prize Money 2 +OPower6Index.PrizeMoney3=Prize Money 3 +OPower6Index.PrizeMoneyMAX=Prize Money MAX +OPower6Index.PrizeMoneyS=Prize Money S +OPower6Index.SpecialAttack1=Special Attack 1 +OPower6Index.SpecialAttack2=Special Attack 2 +OPower6Index.SpecialAttack3=Special Attack 3 +OPower6Index.SpecialDefense1=Special Defense 1 +OPower6Index.SpecialDefense2=Special Defense 2 +OPower6Index.SpecialDefense3=Special Defense 3 +OPower6Index.Speed1=Speed 1 +OPower6Index.Speed2=Speed 2 +OPower6Index.Speed3=Speed 3 +OPower6Index.Stealth1=Stealth 1 +OPower6Index.Stealth2=Stealth 2 +OPower6Index.Stealth3=Stealth 3 +PassPower5.BargainMAX=Bargain MAX +PassPower5.BargainPlus1=Bargain Plus 1 +PassPower5.BargainPlus2=Bargain Plus 2 +PassPower5.BargainPlus3=Bargain Plus 3 +PassPower5.BargainS=Bargain S +PassPower5.BefriendingMAX=Befriending MAX +PassPower5.BefriendingPlus1=Befriending Plus 1 +PassPower5.BefriendingPlus2=Befriending Plus 2 +PassPower5.BefriendingPlus3=Befriending Plus 3 +PassPower5.BefriendingS=Befriending S +PassPower5.CaptureMAX=Capture MAX +PassPower5.CapturePlus1=Capture Plus 1 +PassPower5.CapturePlus2=Capture Plus 2 +PassPower5.CapturePlus3=Capture Plus 3 +PassPower5.CaptureS=Capture S +PassPower5.CharmMAX=Charm MAX +PassPower5.CharmPlus1=Charm Plus 1 +PassPower5.CharmPlus2=Charm Plus 2 +PassPower5.CharmPlus3=Charm Plus 3 +PassPower5.CharmS=Charm S +PassPower5.EncounterNegative1=Encounter Negative 1 +PassPower5.EncounterNegative2=Encounter Negative 2 +PassPower5.EncounterNegative3=Encounter Negative 3 +PassPower5.EncounterPlus1=Encounter Plus 1 +PassPower5.EncounterPlus2=Encounter Plus 2 +PassPower5.EncounterPlus3=Encounter Plus 3 +PassPower5.EXPMAX=EXP MAX +PassPower5.EXPNegative1=EXP Negative 1 +PassPower5.EXPNegative2=EXP Negative 2 +PassPower5.EXPNegative3=EXP Negative 3 +PassPower5.EXPPlus1=EXP Plus 1 +PassPower5.EXPPlus2=EXP Plus 2 +PassPower5.EXPPlus3=EXP Plus 3 +PassPower5.EXPS=EXP S +PassPower5.HatchingPlus1=Hatching Plus 1 +PassPower5.HatchingPlus2=Hatching Plus 2 +PassPower5.HatchingPlus3=Hatching Plus 3 +PassPower5.HatchingS=Hatching S +PassPower5.HatchMAX=Hatch MAX +PassPower5.HiddenGrottoMAX=Hidden Grotto MAX +PassPower5.HiddenGrottoPlus1=Hidden Grotto Plus 1 +PassPower5.HiddenGrottoPlus2=Hidden Grotto Plus 2 +PassPower5.HiddenGrottoPlus3=Hidden Grotto Plus 3 +PassPower5.HiddenGrottoS=Hidden Grotto S +PassPower5.HPFullRecoveryS=HP Full Recovery S +PassPower5.HPPlus1=HP Plus 1 +PassPower5.HPPlus2=HP Plus 2 +PassPower5.HPPlus3=HP Plus 3 +PassPower5.None=None +PassPower5.PPPlus1=PP Plus 1 +PassPower5.PPPlus2=PP Plus 2 +PassPower5.PPPlus3=PP Plus 3 +PassPower5.PrizeMoneyMAX=Prize Money MAX +PassPower5.PrizeMoneyPlus1=Prize Money Plus 1 +PassPower5.PrizeMoneyPlus2=Prize Money Plus 2 +PassPower5.PrizeMoneyPlus3=Prize Money Plus 3 +PassPower5.PrizeMoneyS=PrizeMoney S +PassPower5.SearchMAX=Search MAX +PassPower5.SearchPlus1=Search Plus 1 +PassPower5.SearchPlus2=Search Plus 2 +PassPower5.SearchPlus3=Search Plus 3 +PassPower5.SearchS=Search S +PlayerBattleStyle7.Elegant=Elegant +PlayerBattleStyle7.Girlish=Girlish +PlayerBattleStyle7.Idol=Idol +PlayerBattleStyle7.LeftHanded=LeftHanded +PlayerBattleStyle7.Nihilist=Nihilist +PlayerBattleStyle7.Normal=Normal +PlayerBattleStyle7.Passionate=Passionate +PlayerBattleStyle7.Reverent=Reverent +PlayerBattleStyle7.Smug=Smug +PlayerSkinColor7.DarkF=Dark (Female) +PlayerSkinColor7.DarkM=Dark (Male) +PlayerSkinColor7.DefaultF=Default (Female) +PlayerSkinColor7.DefaultM=Default (Male) +PlayerSkinColor7.PaleF=Pale (Female) +PlayerSkinColor7.PaleM=Pale (Male) +PlayerSkinColor7.TanF=Tan (Female) +PlayerSkinColor7.TanM=Tan (Male) +PokeSize.AV=AV +PokeSize.L=L +PokeSize.S=S +PokeSize.XL=XL +PokeSize.XS=XS +PokeSizeDetailed.AV=AV +PokeSizeDetailed.L=L +PokeSizeDetailed.S=S +PokeSizeDetailed.XL=XL +PokeSizeDetailed.XS=XS +PokeSizeDetailed.XXL=XXL +PokeSizeDetailed.XXS=XXS +PokeSizeDetailed.XXXL=XXXL +PokeSizeDetailed.XXXS=XXXS RibbonEditor.B_All=Give All RibbonEditor.B_Cancel=Cancel RibbonEditor.B_None=Remove All @@ -1914,6 +2146,34 @@ SAV_ZygardeCell.L_Cells=Stored: SAV_ZygardeCell.L_Collected=Collected: SettingsEditor.B_Reset=Reset All SettingsEditor.L_Blank=Blank Save Version: +Stamp7.AkalaPokedexCompletion=Akala Pokedex Completion +Stamp7.AkalaTrialCompletion=Akala Trial Completion +Stamp7.AlolaPokedexCompletion=Alola Pokedex Completion +Stamp7.ConsecutiveDoubleBattleWins50=50 Consecutive Double Battle Wins +Stamp7.ConsecutiveMultiBattleWins50=50 Consecutive MultiBattle Wins +Stamp7.ConsecutiveSingleBattleWins50=50 Consecutive Single Battle Wins +Stamp7.IslandChallengeCompletion=Island Challenge Completion +Stamp7.MelemelePokedexCompletion=Melemele Pokedex Completion +Stamp7.MelemeleTrialCompletion=Melemele Trial Completion +Stamp7.OfficialPokemonTrainer=Official Pokemon Trainer +Stamp7.PokeFinderPro=Poke Finder Pro +Stamp7.PoniPokedexCompletion=Poni Pokedex Completion +Stamp7.PoniTrialCompletion=Poni Trial Completion +Stamp7.UlaulaPokedexCompletion=Ula’ula Pokedex Completion +Stamp7.UlaulaTrialCompletion=Ula’ula Trial Completion +StatusCondition.Burn=Burn +StatusCondition.Freeze=Freeze +StatusCondition.None=None +StatusCondition.Paralysis=Paralysis +StatusCondition.Poison=Poison +StatusCondition.PoisonBad=Toxic +StatusCondition.Sleep1=Sleep (1 Turn) +StatusCondition.Sleep2=Sleep (2 Turn) +StatusCondition.Sleep3=Sleep (3 Turn) +StatusCondition.Sleep4=Sleep (4 Turn) +StatusCondition.Sleep5=Sleep (5 Turn) +StatusCondition.Sleep6=Sleep (6 Turn) +StatusCondition.Sleep7=Sleep (7 Turn) SuperTrainingEditor.B_All=Give All SuperTrainingEditor.B_Cancel=Cancel SuperTrainingEditor.B_None=Remove All diff --git a/PKHeX.WinForms/Resources/text/lang_es.txt b/PKHeX.WinForms/Resources/text/lang_es.txt index fd16de331..f70c32a4d 100644 --- a/PKHeX.WinForms/Resources/text/lang_es.txt +++ b/PKHeX.WinForms/Resources/text/lang_es.txt @@ -94,6 +94,63 @@ ErrorWindow.B_Continue=Continuar ErrorWindow.B_CopyToClipboard=Copiar al portapapeles ErrorWindow.L_Message=An unknown error has occurred. ErrorWindow.L_ProvideInfo=Por favor, proporcione esta información cuando reporte el fallo: +FestivalPlazaFacilityColor.Black=Black +FestivalPlazaFacilityColor.Blue=Blue +FestivalPlazaFacilityColor.Brown=Brown +FestivalPlazaFacilityColor.Gold=Gold +FestivalPlazaFacilityColor.Green=Green +FestivalPlazaFacilityColor.NavyBlue=NavyBlue +FestivalPlazaFacilityColor.Orange=Orange +FestivalPlazaFacilityColor.Pink=Pink +FestivalPlazaFacilityColor.Purple=Purple +FestivalPlazaFacilityColor.Red=Red +FestivalPlazaFacilityColor.White=White +FestivalPlazaFacilityColor.Yellow=Yellow +Funfest5Mission.BigHarvestofBerries=Big Harvest of Berries +Funfest5Mission.CollectBerries=Collect Berries +Funfest5Mission.DoaGreatTradeUp=Do a Great Trade Up +Funfest5Mission.EnjoyShopping=Enjoy Shopping +Funfest5Mission.ExcitingTradingB=Exciting Trading (B) +Funfest5Mission.ExhilaratingTradingW=Exhilarating Trading (W) +Funfest5Mission.FindAudino=Find Audino +Funfest5Mission.FindEmolga=Find Emolga +Funfest5Mission.FindLostBoys=Find Lost Boys +Funfest5Mission.FindLostItems=Find Lost Items +Funfest5Mission.FindMysteriousOresB=Find Mysterious Ores (B) +Funfest5Mission.FindRustlingGrass=Find Rustling Grass +Funfest5Mission.FindShards=Find Shards +Funfest5Mission.FindShiningOresW=Find Shining Ores (W) +Funfest5Mission.FindSteelix=Find Steelix +Funfest5Mission.FindTreasures=Find Treasures +Funfest5Mission.FishingCompetition=Fishing Competition +Funfest5Mission.ForgottenLostItemsB=Forgotten Lost Items (B) +Funfest5Mission.GetRichQuickB=Get Rich Quick (B) +Funfest5Mission.GivemetheItem=Give me the Item +Funfest5Mission.MemoryTraining=Memory Training +Funfest5Mission.MulchCollector=Mulch Collector +Funfest5Mission.MushroomsHideAndSeek=Mushrooms Hide And Seek +Funfest5Mission.NoisyHiddenGrottoesB=Noisy Hidden Grottoes +Funfest5Mission.NotFoundLostItemsW=Not Found Lost Items (W) +Funfest5Mission.PathtoanAce=Path to an Ace +Funfest5Mission.PushtheLimitofYourMemory=Push the Limit of Your Memory +Funfest5Mission.QuietHiddenGrottoesW=Quiet Hidden Grottoes (W) +Funfest5Mission.RingtheBell=Ring the Bell +Funfest5Mission.RockPaperScissorsCompetition=Rock Paper Scissors Competition +Funfest5Mission.SearchFor3Pokemon=Search For 3 Pokemon +Funfest5Mission.SearchHiddenGrottoes=Search Hidden Grottoes +Funfest5Mission.ShockingShopping=Shocking Shopping +Funfest5Mission.Sparringwith10Trainers=Sparring with 10 Trainers +Funfest5Mission.TakeaWalkwithEggs=Take a Walk with Eggs +Funfest5Mission.The2LostTreasures=The 2 Lost Treasures +Funfest5Mission.TheBellthatRings3Times=The Bell that Rings 3 Times +Funfest5Mission.TheBerryHuntingAdventure=The Berry Hunting Adventure +Funfest5Mission.TheFirstBerrySearch=The First Berry Search +Funfest5Mission.TrainwithMartialArtists=Train with Martial Artists +Funfest5Mission.TreasureHuntingW=Treasure Hunting (W) +Funfest5Mission.WhatistheBestPriceB=What is the Best Price +Funfest5Mission.WhatistheRealPriceW=What is the Real Price (W) +Funfest5Mission.WhereareFlutteringHearts=Where are Fluttering Hearts +Funfest5Mission.WingsFallingontheDrawbridge=Wings Falling on the Drawbridge LocalizedDescription.AllowBoxDataDrop=Allow drag and drop of boxdata binary files from the GUI via the Box tab. LocalizedDescription.AllowGen1Tradeback=GB: Permitir intercambio de movimientos desde la Generación 2. LocalizedDescription.AllowGuessRejuvenateHOME=Permitir adivinar a la ruta de conversión de archivos PKM los datos del encuentro original que no estén almacenados en el formato origen. @@ -514,6 +571,181 @@ MoveShopEditor.B_All=Dar todos MoveShopEditor.B_Cancel=Cancelar MoveShopEditor.B_None=Ninguno MoveShopEditor.B_Save=Guardar +OPower6BattleType.Accuracy=Accuracy +OPower6BattleType.Attack=Attack +OPower6BattleType.Critical=Critical +OPower6BattleType.Defense=Defense +OPower6BattleType.Sp_Attack=Special Attack +OPower6BattleType.Sp_Defense=Special Defense +OPower6BattleType.Speed=Speed +OPower6FieldType.Bargain=Bargain +OPower6FieldType.Befriending=Befriending +OPower6FieldType.Capture=Capture +OPower6FieldType.Encounter=Encounter +OPower6FieldType.Experience=Experience +OPower6FieldType.Hatching=Hatching +OPower6FieldType.HPRestoring=HP Restoring +OPower6FieldType.PPRestoring=PP Restoring +OPower6FieldType.PrizeMoney=Prize Money +OPower6FieldType.Stealth=Stealth +OPower6Index.Accuracy1=Accuracy 1 +OPower6Index.Accuracy2=Accuracy 2 +OPower6Index.Accuracy3=Accuracy 3 +OPower6Index.Attack1=Attack 1 +OPower6Index.Attack2=Attack 2 +OPower6Index.Attack3=Attack 3 +OPower6Index.Bargain1=Bargain 1 +OPower6Index.Bargain2=Bargain 2 +OPower6Index.Bargain3=Bargain 3 +OPower6Index.BargainMAX=Bargain MAX +OPower6Index.BargainS=Bargain S +OPower6Index.Befriending1=Befriending 1 +OPower6Index.Befriending2=Befriending 2 +OPower6Index.Befriending3=Befriending 3 +OPower6Index.BefriendingMAX=Befriending MAX +OPower6Index.BefriendingS=Befriending S +OPower6Index.Capture1=Capture 1 +OPower6Index.Capture2=Capture 2 +OPower6Index.Capture3=Capture 3 +OPower6Index.CaptureMAX=Capture MAX +OPower6Index.CaptureS=Capture S +OPower6Index.Critical1=Critical 1 +OPower6Index.Critical2=Critical 2 +OPower6Index.Critical3=Critical 3 +OPower6Index.Defense1=Defense 1 +OPower6Index.Defense2=Defense 2 +OPower6Index.Defense3=Defense 3 +OPower6Index.Enable=Enable +OPower6Index.Encounter1=Encounter 1 +OPower6Index.Encounter2=Encounter 2 +OPower6Index.Encounter3=Encounter 3 +OPower6Index.Experience1=Experience 1 +OPower6Index.Experience2=Experience 2 +OPower6Index.Experience3=Experience 3 +OPower6Index.ExperienceMAX=Experience MAX +OPower6Index.ExperienceS=Experience S +OPower6Index.FullRecovery=Full Recovery +OPower6Index.Hatching1=Hatching 1 +OPower6Index.Hatching2=Hatching 2 +OPower6Index.Hatching3=Hatching 3 +OPower6Index.HatchingMAX=Hatching MAX +OPower6Index.HatchingS=Hatching S +OPower6Index.HPRestoring1=HP Restoring 1 +OPower6Index.HPRestoring2=HP Restoring 2 +OPower6Index.HPRestoring3=HP Restoring 3 +OPower6Index.PPRestoring1=PP Restoring 1 +OPower6Index.PPRestoring2=PP Restoring 2 +OPower6Index.PPRestoring3=PP Restoring 3 +OPower6Index.PrizeMoney1=Prize Money 1 +OPower6Index.PrizeMoney2=Prize Money 2 +OPower6Index.PrizeMoney3=Prize Money 3 +OPower6Index.PrizeMoneyMAX=Prize Money MAX +OPower6Index.PrizeMoneyS=Prize Money S +OPower6Index.SpecialAttack1=Special Attack 1 +OPower6Index.SpecialAttack2=Special Attack 2 +OPower6Index.SpecialAttack3=Special Attack 3 +OPower6Index.SpecialDefense1=Special Defense 1 +OPower6Index.SpecialDefense2=Special Defense 2 +OPower6Index.SpecialDefense3=Special Defense 3 +OPower6Index.Speed1=Speed 1 +OPower6Index.Speed2=Speed 2 +OPower6Index.Speed3=Speed 3 +OPower6Index.Stealth1=Stealth 1 +OPower6Index.Stealth2=Stealth 2 +OPower6Index.Stealth3=Stealth 3 +PassPower5.BargainMAX=Bargain MAX +PassPower5.BargainPlus1=Bargain Plus 1 +PassPower5.BargainPlus2=Bargain Plus 2 +PassPower5.BargainPlus3=Bargain Plus 3 +PassPower5.BargainS=Bargain S +PassPower5.BefriendingMAX=Befriending MAX +PassPower5.BefriendingPlus1=Befriending Plus 1 +PassPower5.BefriendingPlus2=Befriending Plus 2 +PassPower5.BefriendingPlus3=Befriending Plus 3 +PassPower5.BefriendingS=Befriending S +PassPower5.CaptureMAX=Capture MAX +PassPower5.CapturePlus1=Capture Plus 1 +PassPower5.CapturePlus2=Capture Plus 2 +PassPower5.CapturePlus3=Capture Plus 3 +PassPower5.CaptureS=Capture S +PassPower5.CharmMAX=Charm MAX +PassPower5.CharmPlus1=Charm Plus 1 +PassPower5.CharmPlus2=Charm Plus 2 +PassPower5.CharmPlus3=Charm Plus 3 +PassPower5.CharmS=Charm S +PassPower5.EncounterNegative1=Encounter Negative 1 +PassPower5.EncounterNegative2=Encounter Negative 2 +PassPower5.EncounterNegative3=Encounter Negative 3 +PassPower5.EncounterPlus1=Encounter Plus 1 +PassPower5.EncounterPlus2=Encounter Plus 2 +PassPower5.EncounterPlus3=Encounter Plus 3 +PassPower5.EXPMAX=EXP MAX +PassPower5.EXPNegative1=EXP Negative 1 +PassPower5.EXPNegative2=EXP Negative 2 +PassPower5.EXPNegative3=EXP Negative 3 +PassPower5.EXPPlus1=EXP Plus 1 +PassPower5.EXPPlus2=EXP Plus 2 +PassPower5.EXPPlus3=EXP Plus 3 +PassPower5.EXPS=EXP S +PassPower5.HatchingPlus1=Hatching Plus 1 +PassPower5.HatchingPlus2=Hatching Plus 2 +PassPower5.HatchingPlus3=Hatching Plus 3 +PassPower5.HatchingS=Hatching S +PassPower5.HatchMAX=Hatch MAX +PassPower5.HiddenGrottoMAX=Hidden Grotto MAX +PassPower5.HiddenGrottoPlus1=Hidden Grotto Plus 1 +PassPower5.HiddenGrottoPlus2=Hidden Grotto Plus 2 +PassPower5.HiddenGrottoPlus3=Hidden Grotto Plus 3 +PassPower5.HiddenGrottoS=Hidden Grotto S +PassPower5.HPFullRecoveryS=HP Full Recovery S +PassPower5.HPPlus1=HP Plus 1 +PassPower5.HPPlus2=HP Plus 2 +PassPower5.HPPlus3=HP Plus 3 +PassPower5.None=None +PassPower5.PPPlus1=PP Plus 1 +PassPower5.PPPlus2=PP Plus 2 +PassPower5.PPPlus3=PP Plus 3 +PassPower5.PrizeMoneyMAX=Prize Money MAX +PassPower5.PrizeMoneyPlus1=Prize Money Plus 1 +PassPower5.PrizeMoneyPlus2=Prize Money Plus 2 +PassPower5.PrizeMoneyPlus3=Prize Money Plus 3 +PassPower5.PrizeMoneyS=PrizeMoney S +PassPower5.SearchMAX=Search MAX +PassPower5.SearchPlus1=Search Plus 1 +PassPower5.SearchPlus2=Search Plus 2 +PassPower5.SearchPlus3=Search Plus 3 +PassPower5.SearchS=Search S +PlayerBattleStyle7.Elegant=Elegant +PlayerBattleStyle7.Girlish=Girlish +PlayerBattleStyle7.Idol=Idol +PlayerBattleStyle7.LeftHanded=LeftHanded +PlayerBattleStyle7.Nihilist=Nihilist +PlayerBattleStyle7.Normal=Normal +PlayerBattleStyle7.Passionate=Passionate +PlayerBattleStyle7.Reverent=Reverent +PlayerBattleStyle7.Smug=Smug +PlayerSkinColor7.DarkF=Dark (Female) +PlayerSkinColor7.DarkM=Dark (Male) +PlayerSkinColor7.DefaultF=Default (Female) +PlayerSkinColor7.DefaultM=Default (Male) +PlayerSkinColor7.PaleF=Pale (Female) +PlayerSkinColor7.PaleM=Pale (Male) +PlayerSkinColor7.TanF=Tan (Female) +PlayerSkinColor7.TanM=Tan (Male) +PokeSize.AV=AV +PokeSize.L=L +PokeSize.S=S +PokeSize.XL=XL +PokeSize.XS=XS +PokeSizeDetailed.AV=AV +PokeSizeDetailed.L=L +PokeSizeDetailed.S=S +PokeSizeDetailed.XL=XL +PokeSizeDetailed.XS=XS +PokeSizeDetailed.XXL=XXL +PokeSizeDetailed.XXS=XXS +PokeSizeDetailed.XXXL=XXXL +PokeSizeDetailed.XXXS=XXXS RibbonEditor.B_All=Dar todos RibbonEditor.B_Cancel=Cancelar RibbonEditor.B_None=Ninguno @@ -1914,6 +2146,34 @@ SAV_ZygardeCell.L_Cells=Almacenado: SAV_ZygardeCell.L_Collected=Coleccionado: SettingsEditor.B_Reset=Reset All SettingsEditor.L_Blank=Blank Save Version: +Stamp7.AkalaPokedexCompletion=Akala Pokedex Completion +Stamp7.AkalaTrialCompletion=Akala Trial Completion +Stamp7.AlolaPokedexCompletion=Alola Pokedex Completion +Stamp7.ConsecutiveDoubleBattleWins50=50 Consecutive Double Battle Wins +Stamp7.ConsecutiveMultiBattleWins50=50 Consecutive MultiBattle Wins +Stamp7.ConsecutiveSingleBattleWins50=50 Consecutive Single Battle Wins +Stamp7.IslandChallengeCompletion=Island Challenge Completion +Stamp7.MelemelePokedexCompletion=Melemele Pokedex Completion +Stamp7.MelemeleTrialCompletion=Melemele Trial Completion +Stamp7.OfficialPokemonTrainer=Official Pokemon Trainer +Stamp7.PokeFinderPro=Poke Finder Pro +Stamp7.PoniPokedexCompletion=Poni Pokedex Completion +Stamp7.PoniTrialCompletion=Poni Trial Completion +Stamp7.UlaulaPokedexCompletion=Ula’ula Pokedex Completion +Stamp7.UlaulaTrialCompletion=Ula’ula Trial Completion +StatusCondition.Burn=Burn +StatusCondition.Freeze=Freeze +StatusCondition.None=None +StatusCondition.Paralysis=Paralysis +StatusCondition.Poison=Poison +StatusCondition.PoisonBad=Toxic +StatusCondition.Sleep1=Sleep (1 Turn) +StatusCondition.Sleep2=Sleep (2 Turn) +StatusCondition.Sleep3=Sleep (3 Turn) +StatusCondition.Sleep4=Sleep (4 Turn) +StatusCondition.Sleep5=Sleep (5 Turn) +StatusCondition.Sleep6=Sleep (6 Turn) +StatusCondition.Sleep7=Sleep (7 Turn) SuperTrainingEditor.B_All=Dar todos SuperTrainingEditor.B_Cancel=Cancelar SuperTrainingEditor.B_None=Quitar todos @@ -1950,7 +2210,6 @@ SuperTrainingEditor.CHK_SuperTrain7_1=Nv. 7: Scatterbug SuperTrainingEditor.CHK_SuperTrain7_2=Nv. 7: Bombardeo SuperTrainingEditor.CHK_SuperTrain7_3=Nv. 7: Hydreigon SuperTrainingEditor.CHK_SuperTrain8_1=Nv. 8: X/Y -SuperTrainingEditor.CHK_SuperTraining=Superentrenamiento normal SuperTrainingEditor.L_Bag=Último saco usado: SuperTrainingEditor.L_Hits=Golpes restantes: TechRecordEditor.B_All=Aprender todo diff --git a/PKHeX.WinForms/Resources/text/lang_fr.txt b/PKHeX.WinForms/Resources/text/lang_fr.txt index aea76c3a8..ec5b71b0c 100644 --- a/PKHeX.WinForms/Resources/text/lang_fr.txt +++ b/PKHeX.WinForms/Resources/text/lang_fr.txt @@ -94,6 +94,63 @@ ErrorWindow.B_Continue=Continuer ErrorWindow.B_CopyToClipboard=Copier dans le presse-papier ErrorWindow.L_Message=An unknown error has occurred. ErrorWindow.L_ProvideInfo=Veuillez fournir les informations suivantes dans votre rapport d'erreur : +FestivalPlazaFacilityColor.Black=Black +FestivalPlazaFacilityColor.Blue=Blue +FestivalPlazaFacilityColor.Brown=Brown +FestivalPlazaFacilityColor.Gold=Gold +FestivalPlazaFacilityColor.Green=Green +FestivalPlazaFacilityColor.NavyBlue=NavyBlue +FestivalPlazaFacilityColor.Orange=Orange +FestivalPlazaFacilityColor.Pink=Pink +FestivalPlazaFacilityColor.Purple=Purple +FestivalPlazaFacilityColor.Red=Red +FestivalPlazaFacilityColor.White=White +FestivalPlazaFacilityColor.Yellow=Yellow +Funfest5Mission.BigHarvestofBerries=Big Harvest of Berries +Funfest5Mission.CollectBerries=Collect Berries +Funfest5Mission.DoaGreatTradeUp=Do a Great Trade Up +Funfest5Mission.EnjoyShopping=Enjoy Shopping +Funfest5Mission.ExcitingTradingB=Exciting Trading (B) +Funfest5Mission.ExhilaratingTradingW=Exhilarating Trading (W) +Funfest5Mission.FindAudino=Find Audino +Funfest5Mission.FindEmolga=Find Emolga +Funfest5Mission.FindLostBoys=Find Lost Boys +Funfest5Mission.FindLostItems=Find Lost Items +Funfest5Mission.FindMysteriousOresB=Find Mysterious Ores (B) +Funfest5Mission.FindRustlingGrass=Find Rustling Grass +Funfest5Mission.FindShards=Find Shards +Funfest5Mission.FindShiningOresW=Find Shining Ores (W) +Funfest5Mission.FindSteelix=Find Steelix +Funfest5Mission.FindTreasures=Find Treasures +Funfest5Mission.FishingCompetition=Fishing Competition +Funfest5Mission.ForgottenLostItemsB=Forgotten Lost Items (B) +Funfest5Mission.GetRichQuickB=Get Rich Quick (B) +Funfest5Mission.GivemetheItem=Give me the Item +Funfest5Mission.MemoryTraining=Memory Training +Funfest5Mission.MulchCollector=Mulch Collector +Funfest5Mission.MushroomsHideAndSeek=Mushrooms Hide And Seek +Funfest5Mission.NoisyHiddenGrottoesB=Noisy Hidden Grottoes +Funfest5Mission.NotFoundLostItemsW=Not Found Lost Items (W) +Funfest5Mission.PathtoanAce=Path to an Ace +Funfest5Mission.PushtheLimitofYourMemory=Push the Limit of Your Memory +Funfest5Mission.QuietHiddenGrottoesW=Quiet Hidden Grottoes (W) +Funfest5Mission.RingtheBell=Ring the Bell +Funfest5Mission.RockPaperScissorsCompetition=Rock Paper Scissors Competition +Funfest5Mission.SearchFor3Pokemon=Search For 3 Pokemon +Funfest5Mission.SearchHiddenGrottoes=Search Hidden Grottoes +Funfest5Mission.ShockingShopping=Shocking Shopping +Funfest5Mission.Sparringwith10Trainers=Sparring with 10 Trainers +Funfest5Mission.TakeaWalkwithEggs=Take a Walk with Eggs +Funfest5Mission.The2LostTreasures=The 2 Lost Treasures +Funfest5Mission.TheBellthatRings3Times=The Bell that Rings 3 Times +Funfest5Mission.TheBerryHuntingAdventure=The Berry Hunting Adventure +Funfest5Mission.TheFirstBerrySearch=The First Berry Search +Funfest5Mission.TrainwithMartialArtists=Train with Martial Artists +Funfest5Mission.TreasureHuntingW=Treasure Hunting (W) +Funfest5Mission.WhatistheBestPriceB=What is the Best Price +Funfest5Mission.WhatistheRealPriceW=What is the Real Price (W) +Funfest5Mission.WhereareFlutteringHearts=Where are Fluttering Hearts +Funfest5Mission.WingsFallingontheDrawbridge=Wings Falling on the Drawbridge LocalizedDescription.AllowBoxDataDrop=Allow drag and drop of boxdata binary files from the GUI via the Box tab. LocalizedDescription.AllowGen1Tradeback=GB: Permettre les movepools de revenants de la Gén. 2 LocalizedDescription.AllowGuessRejuvenateHOME=Permettre aux chemins de conversion des fichiers PKM de deviner les données de rencontre originales légales qui ne sont pas stockées dans le format à partir duquel elles ont été converties. @@ -514,6 +571,181 @@ MoveShopEditor.B_All=Donner tout MoveShopEditor.B_Cancel=Annuler MoveShopEditor.B_None=Retirer tout MoveShopEditor.B_Save=Sauvegarder +OPower6BattleType.Accuracy=Accuracy +OPower6BattleType.Attack=Attack +OPower6BattleType.Critical=Critical +OPower6BattleType.Defense=Defense +OPower6BattleType.Sp_Attack=Special Attack +OPower6BattleType.Sp_Defense=Special Defense +OPower6BattleType.Speed=Speed +OPower6FieldType.Bargain=Bargain +OPower6FieldType.Befriending=Befriending +OPower6FieldType.Capture=Capture +OPower6FieldType.Encounter=Encounter +OPower6FieldType.Experience=Experience +OPower6FieldType.Hatching=Hatching +OPower6FieldType.HPRestoring=HP Restoring +OPower6FieldType.PPRestoring=PP Restoring +OPower6FieldType.PrizeMoney=Prize Money +OPower6FieldType.Stealth=Stealth +OPower6Index.Accuracy1=Accuracy 1 +OPower6Index.Accuracy2=Accuracy 2 +OPower6Index.Accuracy3=Accuracy 3 +OPower6Index.Attack1=Attack 1 +OPower6Index.Attack2=Attack 2 +OPower6Index.Attack3=Attack 3 +OPower6Index.Bargain1=Bargain 1 +OPower6Index.Bargain2=Bargain 2 +OPower6Index.Bargain3=Bargain 3 +OPower6Index.BargainMAX=Bargain MAX +OPower6Index.BargainS=Bargain S +OPower6Index.Befriending1=Befriending 1 +OPower6Index.Befriending2=Befriending 2 +OPower6Index.Befriending3=Befriending 3 +OPower6Index.BefriendingMAX=Befriending MAX +OPower6Index.BefriendingS=Befriending S +OPower6Index.Capture1=Capture 1 +OPower6Index.Capture2=Capture 2 +OPower6Index.Capture3=Capture 3 +OPower6Index.CaptureMAX=Capture MAX +OPower6Index.CaptureS=Capture S +OPower6Index.Critical1=Critical 1 +OPower6Index.Critical2=Critical 2 +OPower6Index.Critical3=Critical 3 +OPower6Index.Defense1=Defense 1 +OPower6Index.Defense2=Defense 2 +OPower6Index.Defense3=Defense 3 +OPower6Index.Enable=Enable +OPower6Index.Encounter1=Encounter 1 +OPower6Index.Encounter2=Encounter 2 +OPower6Index.Encounter3=Encounter 3 +OPower6Index.Experience1=Experience 1 +OPower6Index.Experience2=Experience 2 +OPower6Index.Experience3=Experience 3 +OPower6Index.ExperienceMAX=Experience MAX +OPower6Index.ExperienceS=Experience S +OPower6Index.FullRecovery=Full Recovery +OPower6Index.Hatching1=Hatching 1 +OPower6Index.Hatching2=Hatching 2 +OPower6Index.Hatching3=Hatching 3 +OPower6Index.HatchingMAX=Hatching MAX +OPower6Index.HatchingS=Hatching S +OPower6Index.HPRestoring1=HP Restoring 1 +OPower6Index.HPRestoring2=HP Restoring 2 +OPower6Index.HPRestoring3=HP Restoring 3 +OPower6Index.PPRestoring1=PP Restoring 1 +OPower6Index.PPRestoring2=PP Restoring 2 +OPower6Index.PPRestoring3=PP Restoring 3 +OPower6Index.PrizeMoney1=Prize Money 1 +OPower6Index.PrizeMoney2=Prize Money 2 +OPower6Index.PrizeMoney3=Prize Money 3 +OPower6Index.PrizeMoneyMAX=Prize Money MAX +OPower6Index.PrizeMoneyS=Prize Money S +OPower6Index.SpecialAttack1=Special Attack 1 +OPower6Index.SpecialAttack2=Special Attack 2 +OPower6Index.SpecialAttack3=Special Attack 3 +OPower6Index.SpecialDefense1=Special Defense 1 +OPower6Index.SpecialDefense2=Special Defense 2 +OPower6Index.SpecialDefense3=Special Defense 3 +OPower6Index.Speed1=Speed 1 +OPower6Index.Speed2=Speed 2 +OPower6Index.Speed3=Speed 3 +OPower6Index.Stealth1=Stealth 1 +OPower6Index.Stealth2=Stealth 2 +OPower6Index.Stealth3=Stealth 3 +PassPower5.BargainMAX=Bargain MAX +PassPower5.BargainPlus1=Bargain Plus 1 +PassPower5.BargainPlus2=Bargain Plus 2 +PassPower5.BargainPlus3=Bargain Plus 3 +PassPower5.BargainS=Bargain S +PassPower5.BefriendingMAX=Befriending MAX +PassPower5.BefriendingPlus1=Befriending Plus 1 +PassPower5.BefriendingPlus2=Befriending Plus 2 +PassPower5.BefriendingPlus3=Befriending Plus 3 +PassPower5.BefriendingS=Befriending S +PassPower5.CaptureMAX=Capture MAX +PassPower5.CapturePlus1=Capture Plus 1 +PassPower5.CapturePlus2=Capture Plus 2 +PassPower5.CapturePlus3=Capture Plus 3 +PassPower5.CaptureS=Capture S +PassPower5.CharmMAX=Charm MAX +PassPower5.CharmPlus1=Charm Plus 1 +PassPower5.CharmPlus2=Charm Plus 2 +PassPower5.CharmPlus3=Charm Plus 3 +PassPower5.CharmS=Charm S +PassPower5.EncounterNegative1=Encounter Negative 1 +PassPower5.EncounterNegative2=Encounter Negative 2 +PassPower5.EncounterNegative3=Encounter Negative 3 +PassPower5.EncounterPlus1=Encounter Plus 1 +PassPower5.EncounterPlus2=Encounter Plus 2 +PassPower5.EncounterPlus3=Encounter Plus 3 +PassPower5.EXPMAX=EXP MAX +PassPower5.EXPNegative1=EXP Negative 1 +PassPower5.EXPNegative2=EXP Negative 2 +PassPower5.EXPNegative3=EXP Negative 3 +PassPower5.EXPPlus1=EXP Plus 1 +PassPower5.EXPPlus2=EXP Plus 2 +PassPower5.EXPPlus3=EXP Plus 3 +PassPower5.EXPS=EXP S +PassPower5.HatchingPlus1=Hatching Plus 1 +PassPower5.HatchingPlus2=Hatching Plus 2 +PassPower5.HatchingPlus3=Hatching Plus 3 +PassPower5.HatchingS=Hatching S +PassPower5.HatchMAX=Hatch MAX +PassPower5.HiddenGrottoMAX=Hidden Grotto MAX +PassPower5.HiddenGrottoPlus1=Hidden Grotto Plus 1 +PassPower5.HiddenGrottoPlus2=Hidden Grotto Plus 2 +PassPower5.HiddenGrottoPlus3=Hidden Grotto Plus 3 +PassPower5.HiddenGrottoS=Hidden Grotto S +PassPower5.HPFullRecoveryS=HP Full Recovery S +PassPower5.HPPlus1=HP Plus 1 +PassPower5.HPPlus2=HP Plus 2 +PassPower5.HPPlus3=HP Plus 3 +PassPower5.None=None +PassPower5.PPPlus1=PP Plus 1 +PassPower5.PPPlus2=PP Plus 2 +PassPower5.PPPlus3=PP Plus 3 +PassPower5.PrizeMoneyMAX=Prize Money MAX +PassPower5.PrizeMoneyPlus1=Prize Money Plus 1 +PassPower5.PrizeMoneyPlus2=Prize Money Plus 2 +PassPower5.PrizeMoneyPlus3=Prize Money Plus 3 +PassPower5.PrizeMoneyS=PrizeMoney S +PassPower5.SearchMAX=Search MAX +PassPower5.SearchPlus1=Search Plus 1 +PassPower5.SearchPlus2=Search Plus 2 +PassPower5.SearchPlus3=Search Plus 3 +PassPower5.SearchS=Search S +PlayerBattleStyle7.Elegant=Elegant +PlayerBattleStyle7.Girlish=Girlish +PlayerBattleStyle7.Idol=Idol +PlayerBattleStyle7.LeftHanded=LeftHanded +PlayerBattleStyle7.Nihilist=Nihilist +PlayerBattleStyle7.Normal=Normal +PlayerBattleStyle7.Passionate=Passionate +PlayerBattleStyle7.Reverent=Reverent +PlayerBattleStyle7.Smug=Smug +PlayerSkinColor7.DarkF=Dark (Female) +PlayerSkinColor7.DarkM=Dark (Male) +PlayerSkinColor7.DefaultF=Default (Female) +PlayerSkinColor7.DefaultM=Default (Male) +PlayerSkinColor7.PaleF=Pale (Female) +PlayerSkinColor7.PaleM=Pale (Male) +PlayerSkinColor7.TanF=Tan (Female) +PlayerSkinColor7.TanM=Tan (Male) +PokeSize.AV=AV +PokeSize.L=L +PokeSize.S=S +PokeSize.XL=XL +PokeSize.XS=XS +PokeSizeDetailed.AV=AV +PokeSizeDetailed.L=L +PokeSizeDetailed.S=S +PokeSizeDetailed.XL=XL +PokeSizeDetailed.XS=XS +PokeSizeDetailed.XXL=XXL +PokeSizeDetailed.XXS=XXS +PokeSizeDetailed.XXXL=XXXL +PokeSizeDetailed.XXXS=XXXS RibbonEditor.B_All=Donner tout RibbonEditor.B_Cancel=Annuler RibbonEditor.B_None=Retirer Tout @@ -1914,6 +2146,34 @@ SAV_ZygardeCell.L_Cells=Conservé : SAV_ZygardeCell.L_Collected=Obtenu : SettingsEditor.B_Reset=Reset All SettingsEditor.L_Blank=Blank Save Version: +Stamp7.AkalaPokedexCompletion=Akala Pokedex Completion +Stamp7.AkalaTrialCompletion=Akala Trial Completion +Stamp7.AlolaPokedexCompletion=Alola Pokedex Completion +Stamp7.ConsecutiveDoubleBattleWins50=50 Consecutive Double Battle Wins +Stamp7.ConsecutiveMultiBattleWins50=50 Consecutive MultiBattle Wins +Stamp7.ConsecutiveSingleBattleWins50=50 Consecutive Single Battle Wins +Stamp7.IslandChallengeCompletion=Island Challenge Completion +Stamp7.MelemelePokedexCompletion=Melemele Pokedex Completion +Stamp7.MelemeleTrialCompletion=Melemele Trial Completion +Stamp7.OfficialPokemonTrainer=Official Pokemon Trainer +Stamp7.PokeFinderPro=Poke Finder Pro +Stamp7.PoniPokedexCompletion=Poni Pokedex Completion +Stamp7.PoniTrialCompletion=Poni Trial Completion +Stamp7.UlaulaPokedexCompletion=Ula’ula Pokedex Completion +Stamp7.UlaulaTrialCompletion=Ula’ula Trial Completion +StatusCondition.Burn=Burn +StatusCondition.Freeze=Freeze +StatusCondition.None=None +StatusCondition.Paralysis=Paralysis +StatusCondition.Poison=Poison +StatusCondition.PoisonBad=Toxic +StatusCondition.Sleep1=Sleep (1 Turn) +StatusCondition.Sleep2=Sleep (2 Turn) +StatusCondition.Sleep3=Sleep (3 Turn) +StatusCondition.Sleep4=Sleep (4 Turn) +StatusCondition.Sleep5=Sleep (5 Turn) +StatusCondition.Sleep6=Sleep (6 Turn) +StatusCondition.Sleep7=Sleep (7 Turn) SuperTrainingEditor.B_All=Tout donner SuperTrainingEditor.B_Cancel=Annuler SuperTrainingEditor.B_None=Tout retirer diff --git a/PKHeX.WinForms/Resources/text/lang_it.txt b/PKHeX.WinForms/Resources/text/lang_it.txt index e868f55ce..d34526437 100644 --- a/PKHeX.WinForms/Resources/text/lang_it.txt +++ b/PKHeX.WinForms/Resources/text/lang_it.txt @@ -94,6 +94,63 @@ ErrorWindow.B_Continue=Continua ErrorWindow.B_CopyToClipboard=Copiato negli appunti ErrorWindow.L_Message=An unknown error has occurred. ErrorWindow.L_ProvideInfo=Per favore includi queste informazioni quando riporti questo errore: +FestivalPlazaFacilityColor.Black=Black +FestivalPlazaFacilityColor.Blue=Blue +FestivalPlazaFacilityColor.Brown=Brown +FestivalPlazaFacilityColor.Gold=Gold +FestivalPlazaFacilityColor.Green=Green +FestivalPlazaFacilityColor.NavyBlue=NavyBlue +FestivalPlazaFacilityColor.Orange=Orange +FestivalPlazaFacilityColor.Pink=Pink +FestivalPlazaFacilityColor.Purple=Purple +FestivalPlazaFacilityColor.Red=Red +FestivalPlazaFacilityColor.White=White +FestivalPlazaFacilityColor.Yellow=Yellow +Funfest5Mission.BigHarvestofBerries=Big Harvest of Berries +Funfest5Mission.CollectBerries=Collect Berries +Funfest5Mission.DoaGreatTradeUp=Do a Great Trade Up +Funfest5Mission.EnjoyShopping=Enjoy Shopping +Funfest5Mission.ExcitingTradingB=Exciting Trading (B) +Funfest5Mission.ExhilaratingTradingW=Exhilarating Trading (W) +Funfest5Mission.FindAudino=Find Audino +Funfest5Mission.FindEmolga=Find Emolga +Funfest5Mission.FindLostBoys=Find Lost Boys +Funfest5Mission.FindLostItems=Find Lost Items +Funfest5Mission.FindMysteriousOresB=Find Mysterious Ores (B) +Funfest5Mission.FindRustlingGrass=Find Rustling Grass +Funfest5Mission.FindShards=Find Shards +Funfest5Mission.FindShiningOresW=Find Shining Ores (W) +Funfest5Mission.FindSteelix=Find Steelix +Funfest5Mission.FindTreasures=Find Treasures +Funfest5Mission.FishingCompetition=Fishing Competition +Funfest5Mission.ForgottenLostItemsB=Forgotten Lost Items (B) +Funfest5Mission.GetRichQuickB=Get Rich Quick (B) +Funfest5Mission.GivemetheItem=Give me the Item +Funfest5Mission.MemoryTraining=Memory Training +Funfest5Mission.MulchCollector=Mulch Collector +Funfest5Mission.MushroomsHideAndSeek=Mushrooms Hide And Seek +Funfest5Mission.NoisyHiddenGrottoesB=Noisy Hidden Grottoes +Funfest5Mission.NotFoundLostItemsW=Not Found Lost Items (W) +Funfest5Mission.PathtoanAce=Path to an Ace +Funfest5Mission.PushtheLimitofYourMemory=Push the Limit of Your Memory +Funfest5Mission.QuietHiddenGrottoesW=Quiet Hidden Grottoes (W) +Funfest5Mission.RingtheBell=Ring the Bell +Funfest5Mission.RockPaperScissorsCompetition=Rock Paper Scissors Competition +Funfest5Mission.SearchFor3Pokemon=Search For 3 Pokemon +Funfest5Mission.SearchHiddenGrottoes=Search Hidden Grottoes +Funfest5Mission.ShockingShopping=Shocking Shopping +Funfest5Mission.Sparringwith10Trainers=Sparring with 10 Trainers +Funfest5Mission.TakeaWalkwithEggs=Take a Walk with Eggs +Funfest5Mission.The2LostTreasures=The 2 Lost Treasures +Funfest5Mission.TheBellthatRings3Times=The Bell that Rings 3 Times +Funfest5Mission.TheBerryHuntingAdventure=The Berry Hunting Adventure +Funfest5Mission.TheFirstBerrySearch=The First Berry Search +Funfest5Mission.TrainwithMartialArtists=Train with Martial Artists +Funfest5Mission.TreasureHuntingW=Treasure Hunting (W) +Funfest5Mission.WhatistheBestPriceB=What is the Best Price +Funfest5Mission.WhatistheRealPriceW=What is the Real Price (W) +Funfest5Mission.WhereareFlutteringHearts=Where are Fluttering Hearts +Funfest5Mission.WingsFallingontheDrawbridge=Wings Falling on the Drawbridge LocalizedDescription.AllowBoxDataDrop=Allow drag and drop of boxdata binary files from the GUI via the Box tab. LocalizedDescription.AllowGen1Tradeback=GB:Consenti insieme di mosse tradeback da 2° Generazione. LocalizedDescription.AllowGuessRejuvenateHOME=Prova ad indovinare dati di incontro originali legali, quando questi non sono contenuti all'interno del file di origine. @@ -514,6 +571,181 @@ MoveShopEditor.B_All=Dai Tutto MoveShopEditor.B_Cancel=Annulla MoveShopEditor.B_None=Rimuovi Tutto MoveShopEditor.B_Save=Salva +OPower6BattleType.Accuracy=Accuracy +OPower6BattleType.Attack=Attack +OPower6BattleType.Critical=Critical +OPower6BattleType.Defense=Defense +OPower6BattleType.Sp_Attack=Special Attack +OPower6BattleType.Sp_Defense=Special Defense +OPower6BattleType.Speed=Speed +OPower6FieldType.Bargain=Bargain +OPower6FieldType.Befriending=Befriending +OPower6FieldType.Capture=Capture +OPower6FieldType.Encounter=Encounter +OPower6FieldType.Experience=Experience +OPower6FieldType.Hatching=Hatching +OPower6FieldType.HPRestoring=HP Restoring +OPower6FieldType.PPRestoring=PP Restoring +OPower6FieldType.PrizeMoney=Prize Money +OPower6FieldType.Stealth=Stealth +OPower6Index.Accuracy1=Accuracy 1 +OPower6Index.Accuracy2=Accuracy 2 +OPower6Index.Accuracy3=Accuracy 3 +OPower6Index.Attack1=Attack 1 +OPower6Index.Attack2=Attack 2 +OPower6Index.Attack3=Attack 3 +OPower6Index.Bargain1=Bargain 1 +OPower6Index.Bargain2=Bargain 2 +OPower6Index.Bargain3=Bargain 3 +OPower6Index.BargainMAX=Bargain MAX +OPower6Index.BargainS=Bargain S +OPower6Index.Befriending1=Befriending 1 +OPower6Index.Befriending2=Befriending 2 +OPower6Index.Befriending3=Befriending 3 +OPower6Index.BefriendingMAX=Befriending MAX +OPower6Index.BefriendingS=Befriending S +OPower6Index.Capture1=Capture 1 +OPower6Index.Capture2=Capture 2 +OPower6Index.Capture3=Capture 3 +OPower6Index.CaptureMAX=Capture MAX +OPower6Index.CaptureS=Capture S +OPower6Index.Critical1=Critical 1 +OPower6Index.Critical2=Critical 2 +OPower6Index.Critical3=Critical 3 +OPower6Index.Defense1=Defense 1 +OPower6Index.Defense2=Defense 2 +OPower6Index.Defense3=Defense 3 +OPower6Index.Enable=Enable +OPower6Index.Encounter1=Encounter 1 +OPower6Index.Encounter2=Encounter 2 +OPower6Index.Encounter3=Encounter 3 +OPower6Index.Experience1=Experience 1 +OPower6Index.Experience2=Experience 2 +OPower6Index.Experience3=Experience 3 +OPower6Index.ExperienceMAX=Experience MAX +OPower6Index.ExperienceS=Experience S +OPower6Index.FullRecovery=Full Recovery +OPower6Index.Hatching1=Hatching 1 +OPower6Index.Hatching2=Hatching 2 +OPower6Index.Hatching3=Hatching 3 +OPower6Index.HatchingMAX=Hatching MAX +OPower6Index.HatchingS=Hatching S +OPower6Index.HPRestoring1=HP Restoring 1 +OPower6Index.HPRestoring2=HP Restoring 2 +OPower6Index.HPRestoring3=HP Restoring 3 +OPower6Index.PPRestoring1=PP Restoring 1 +OPower6Index.PPRestoring2=PP Restoring 2 +OPower6Index.PPRestoring3=PP Restoring 3 +OPower6Index.PrizeMoney1=Prize Money 1 +OPower6Index.PrizeMoney2=Prize Money 2 +OPower6Index.PrizeMoney3=Prize Money 3 +OPower6Index.PrizeMoneyMAX=Prize Money MAX +OPower6Index.PrizeMoneyS=Prize Money S +OPower6Index.SpecialAttack1=Special Attack 1 +OPower6Index.SpecialAttack2=Special Attack 2 +OPower6Index.SpecialAttack3=Special Attack 3 +OPower6Index.SpecialDefense1=Special Defense 1 +OPower6Index.SpecialDefense2=Special Defense 2 +OPower6Index.SpecialDefense3=Special Defense 3 +OPower6Index.Speed1=Speed 1 +OPower6Index.Speed2=Speed 2 +OPower6Index.Speed3=Speed 3 +OPower6Index.Stealth1=Stealth 1 +OPower6Index.Stealth2=Stealth 2 +OPower6Index.Stealth3=Stealth 3 +PassPower5.BargainMAX=Bargain MAX +PassPower5.BargainPlus1=Bargain Plus 1 +PassPower5.BargainPlus2=Bargain Plus 2 +PassPower5.BargainPlus3=Bargain Plus 3 +PassPower5.BargainS=Bargain S +PassPower5.BefriendingMAX=Befriending MAX +PassPower5.BefriendingPlus1=Befriending Plus 1 +PassPower5.BefriendingPlus2=Befriending Plus 2 +PassPower5.BefriendingPlus3=Befriending Plus 3 +PassPower5.BefriendingS=Befriending S +PassPower5.CaptureMAX=Capture MAX +PassPower5.CapturePlus1=Capture Plus 1 +PassPower5.CapturePlus2=Capture Plus 2 +PassPower5.CapturePlus3=Capture Plus 3 +PassPower5.CaptureS=Capture S +PassPower5.CharmMAX=Charm MAX +PassPower5.CharmPlus1=Charm Plus 1 +PassPower5.CharmPlus2=Charm Plus 2 +PassPower5.CharmPlus3=Charm Plus 3 +PassPower5.CharmS=Charm S +PassPower5.EncounterNegative1=Encounter Negative 1 +PassPower5.EncounterNegative2=Encounter Negative 2 +PassPower5.EncounterNegative3=Encounter Negative 3 +PassPower5.EncounterPlus1=Encounter Plus 1 +PassPower5.EncounterPlus2=Encounter Plus 2 +PassPower5.EncounterPlus3=Encounter Plus 3 +PassPower5.EXPMAX=EXP MAX +PassPower5.EXPNegative1=EXP Negative 1 +PassPower5.EXPNegative2=EXP Negative 2 +PassPower5.EXPNegative3=EXP Negative 3 +PassPower5.EXPPlus1=EXP Plus 1 +PassPower5.EXPPlus2=EXP Plus 2 +PassPower5.EXPPlus3=EXP Plus 3 +PassPower5.EXPS=EXP S +PassPower5.HatchingPlus1=Hatching Plus 1 +PassPower5.HatchingPlus2=Hatching Plus 2 +PassPower5.HatchingPlus3=Hatching Plus 3 +PassPower5.HatchingS=Hatching S +PassPower5.HatchMAX=Hatch MAX +PassPower5.HiddenGrottoMAX=Hidden Grotto MAX +PassPower5.HiddenGrottoPlus1=Hidden Grotto Plus 1 +PassPower5.HiddenGrottoPlus2=Hidden Grotto Plus 2 +PassPower5.HiddenGrottoPlus3=Hidden Grotto Plus 3 +PassPower5.HiddenGrottoS=Hidden Grotto S +PassPower5.HPFullRecoveryS=HP Full Recovery S +PassPower5.HPPlus1=HP Plus 1 +PassPower5.HPPlus2=HP Plus 2 +PassPower5.HPPlus3=HP Plus 3 +PassPower5.None=None +PassPower5.PPPlus1=PP Plus 1 +PassPower5.PPPlus2=PP Plus 2 +PassPower5.PPPlus3=PP Plus 3 +PassPower5.PrizeMoneyMAX=Prize Money MAX +PassPower5.PrizeMoneyPlus1=Prize Money Plus 1 +PassPower5.PrizeMoneyPlus2=Prize Money Plus 2 +PassPower5.PrizeMoneyPlus3=Prize Money Plus 3 +PassPower5.PrizeMoneyS=PrizeMoney S +PassPower5.SearchMAX=Search MAX +PassPower5.SearchPlus1=Search Plus 1 +PassPower5.SearchPlus2=Search Plus 2 +PassPower5.SearchPlus3=Search Plus 3 +PassPower5.SearchS=Search S +PlayerBattleStyle7.Elegant=Elegant +PlayerBattleStyle7.Girlish=Girlish +PlayerBattleStyle7.Idol=Idol +PlayerBattleStyle7.LeftHanded=LeftHanded +PlayerBattleStyle7.Nihilist=Nihilist +PlayerBattleStyle7.Normal=Normal +PlayerBattleStyle7.Passionate=Passionate +PlayerBattleStyle7.Reverent=Reverent +PlayerBattleStyle7.Smug=Smug +PlayerSkinColor7.DarkF=Dark (Female) +PlayerSkinColor7.DarkM=Dark (Male) +PlayerSkinColor7.DefaultF=Default (Female) +PlayerSkinColor7.DefaultM=Default (Male) +PlayerSkinColor7.PaleF=Pale (Female) +PlayerSkinColor7.PaleM=Pale (Male) +PlayerSkinColor7.TanF=Tan (Female) +PlayerSkinColor7.TanM=Tan (Male) +PokeSize.AV=AV +PokeSize.L=L +PokeSize.S=S +PokeSize.XL=XL +PokeSize.XS=XS +PokeSizeDetailed.AV=AV +PokeSizeDetailed.L=L +PokeSizeDetailed.S=S +PokeSizeDetailed.XL=XL +PokeSizeDetailed.XS=XS +PokeSizeDetailed.XXL=XXL +PokeSizeDetailed.XXS=XXS +PokeSizeDetailed.XXXL=XXXL +PokeSizeDetailed.XXXS=XXXS RibbonEditor.B_All=Dai Tutto RibbonEditor.B_Cancel=Annulla RibbonEditor.B_None=Rimuovi Tutto @@ -1914,6 +2146,34 @@ SAV_ZygardeCell.L_Cells=Stored: SAV_ZygardeCell.L_Collected=Collezionate: SettingsEditor.B_Reset=Reset All SettingsEditor.L_Blank=Blank Save Version: +Stamp7.AkalaPokedexCompletion=Akala Pokedex Completion +Stamp7.AkalaTrialCompletion=Akala Trial Completion +Stamp7.AlolaPokedexCompletion=Alola Pokedex Completion +Stamp7.ConsecutiveDoubleBattleWins50=50 Consecutive Double Battle Wins +Stamp7.ConsecutiveMultiBattleWins50=50 Consecutive MultiBattle Wins +Stamp7.ConsecutiveSingleBattleWins50=50 Consecutive Single Battle Wins +Stamp7.IslandChallengeCompletion=Island Challenge Completion +Stamp7.MelemelePokedexCompletion=Melemele Pokedex Completion +Stamp7.MelemeleTrialCompletion=Melemele Trial Completion +Stamp7.OfficialPokemonTrainer=Official Pokemon Trainer +Stamp7.PokeFinderPro=Poke Finder Pro +Stamp7.PoniPokedexCompletion=Poni Pokedex Completion +Stamp7.PoniTrialCompletion=Poni Trial Completion +Stamp7.UlaulaPokedexCompletion=Ula’ula Pokedex Completion +Stamp7.UlaulaTrialCompletion=Ula’ula Trial Completion +StatusCondition.Burn=Burn +StatusCondition.Freeze=Freeze +StatusCondition.None=None +StatusCondition.Paralysis=Paralysis +StatusCondition.Poison=Poison +StatusCondition.PoisonBad=Toxic +StatusCondition.Sleep1=Sleep (1 Turn) +StatusCondition.Sleep2=Sleep (2 Turn) +StatusCondition.Sleep3=Sleep (3 Turn) +StatusCondition.Sleep4=Sleep (4 Turn) +StatusCondition.Sleep5=Sleep (5 Turn) +StatusCondition.Sleep6=Sleep (6 Turn) +StatusCondition.Sleep7=Sleep (7 Turn) SuperTrainingEditor.B_All=Dai Tutto SuperTrainingEditor.B_Cancel=Annulla SuperTrainingEditor.B_None=Rimuovi Tutto diff --git a/PKHeX.WinForms/Resources/text/lang_ja.txt b/PKHeX.WinForms/Resources/text/lang_ja.txt index 361e3d842..02deae903 100644 --- a/PKHeX.WinForms/Resources/text/lang_ja.txt +++ b/PKHeX.WinForms/Resources/text/lang_ja.txt @@ -94,6 +94,63 @@ ErrorWindow.B_Continue=続ける ErrorWindow.B_CopyToClipboard=クリップボードにコピー ErrorWindow.L_Message=An unknown error has occurred. ErrorWindow.L_ProvideInfo=このエラーを報告する時は、こちらの情報を提供してください: +FestivalPlazaFacilityColor.Black=Black +FestivalPlazaFacilityColor.Blue=Blue +FestivalPlazaFacilityColor.Brown=Brown +FestivalPlazaFacilityColor.Gold=Gold +FestivalPlazaFacilityColor.Green=Green +FestivalPlazaFacilityColor.NavyBlue=NavyBlue +FestivalPlazaFacilityColor.Orange=Orange +FestivalPlazaFacilityColor.Pink=Pink +FestivalPlazaFacilityColor.Purple=Purple +FestivalPlazaFacilityColor.Red=Red +FestivalPlazaFacilityColor.White=White +FestivalPlazaFacilityColor.Yellow=Yellow +Funfest5Mission.BigHarvestofBerries=Big Harvest of Berries +Funfest5Mission.CollectBerries=Collect Berries +Funfest5Mission.DoaGreatTradeUp=Do a Great Trade Up +Funfest5Mission.EnjoyShopping=Enjoy Shopping +Funfest5Mission.ExcitingTradingB=Exciting Trading (B) +Funfest5Mission.ExhilaratingTradingW=Exhilarating Trading (W) +Funfest5Mission.FindAudino=Find Audino +Funfest5Mission.FindEmolga=Find Emolga +Funfest5Mission.FindLostBoys=Find Lost Boys +Funfest5Mission.FindLostItems=Find Lost Items +Funfest5Mission.FindMysteriousOresB=Find Mysterious Ores (B) +Funfest5Mission.FindRustlingGrass=Find Rustling Grass +Funfest5Mission.FindShards=Find Shards +Funfest5Mission.FindShiningOresW=Find Shining Ores (W) +Funfest5Mission.FindSteelix=Find Steelix +Funfest5Mission.FindTreasures=Find Treasures +Funfest5Mission.FishingCompetition=Fishing Competition +Funfest5Mission.ForgottenLostItemsB=Forgotten Lost Items (B) +Funfest5Mission.GetRichQuickB=Get Rich Quick (B) +Funfest5Mission.GivemetheItem=Give me the Item +Funfest5Mission.MemoryTraining=Memory Training +Funfest5Mission.MulchCollector=Mulch Collector +Funfest5Mission.MushroomsHideAndSeek=Mushrooms Hide And Seek +Funfest5Mission.NoisyHiddenGrottoesB=Noisy Hidden Grottoes +Funfest5Mission.NotFoundLostItemsW=Not Found Lost Items (W) +Funfest5Mission.PathtoanAce=Path to an Ace +Funfest5Mission.PushtheLimitofYourMemory=Push the Limit of Your Memory +Funfest5Mission.QuietHiddenGrottoesW=Quiet Hidden Grottoes (W) +Funfest5Mission.RingtheBell=Ring the Bell +Funfest5Mission.RockPaperScissorsCompetition=Rock Paper Scissors Competition +Funfest5Mission.SearchFor3Pokemon=Search For 3 Pokemon +Funfest5Mission.SearchHiddenGrottoes=Search Hidden Grottoes +Funfest5Mission.ShockingShopping=Shocking Shopping +Funfest5Mission.Sparringwith10Trainers=Sparring with 10 Trainers +Funfest5Mission.TakeaWalkwithEggs=Take a Walk with Eggs +Funfest5Mission.The2LostTreasures=The 2 Lost Treasures +Funfest5Mission.TheBellthatRings3Times=The Bell that Rings 3 Times +Funfest5Mission.TheBerryHuntingAdventure=The Berry Hunting Adventure +Funfest5Mission.TheFirstBerrySearch=The First Berry Search +Funfest5Mission.TrainwithMartialArtists=Train with Martial Artists +Funfest5Mission.TreasureHuntingW=Treasure Hunting (W) +Funfest5Mission.WhatistheBestPriceB=What is the Best Price +Funfest5Mission.WhatistheRealPriceW=What is the Real Price (W) +Funfest5Mission.WhereareFlutteringHearts=Where are Fluttering Hearts +Funfest5Mission.WingsFallingontheDrawbridge=Wings Falling on the Drawbridge LocalizedDescription.AllowBoxDataDrop=Allow drag and drop of boxdata binary files from the GUI via the Box tab. LocalizedDescription.AllowGen1Tradeback=GB: Allow Generation 2 tradeback learnsets LocalizedDescription.AllowGuessRejuvenateHOME=Allow PKM file conversion paths to guess the legal original encounter data that is not stored in the format that it was converted from. @@ -514,6 +571,181 @@ MoveShopEditor.B_All=全て取得 MoveShopEditor.B_Cancel=キャンセル MoveShopEditor.B_None=全て消去 MoveShopEditor.B_Save=保存 +OPower6BattleType.Accuracy=Accuracy +OPower6BattleType.Attack=Attack +OPower6BattleType.Critical=Critical +OPower6BattleType.Defense=Defense +OPower6BattleType.Sp_Attack=Special Attack +OPower6BattleType.Sp_Defense=Special Defense +OPower6BattleType.Speed=Speed +OPower6FieldType.Bargain=Bargain +OPower6FieldType.Befriending=Befriending +OPower6FieldType.Capture=Capture +OPower6FieldType.Encounter=Encounter +OPower6FieldType.Experience=Experience +OPower6FieldType.Hatching=Hatching +OPower6FieldType.HPRestoring=HP Restoring +OPower6FieldType.PPRestoring=PP Restoring +OPower6FieldType.PrizeMoney=Prize Money +OPower6FieldType.Stealth=Stealth +OPower6Index.Accuracy1=Accuracy 1 +OPower6Index.Accuracy2=Accuracy 2 +OPower6Index.Accuracy3=Accuracy 3 +OPower6Index.Attack1=Attack 1 +OPower6Index.Attack2=Attack 2 +OPower6Index.Attack3=Attack 3 +OPower6Index.Bargain1=Bargain 1 +OPower6Index.Bargain2=Bargain 2 +OPower6Index.Bargain3=Bargain 3 +OPower6Index.BargainMAX=Bargain MAX +OPower6Index.BargainS=Bargain S +OPower6Index.Befriending1=Befriending 1 +OPower6Index.Befriending2=Befriending 2 +OPower6Index.Befriending3=Befriending 3 +OPower6Index.BefriendingMAX=Befriending MAX +OPower6Index.BefriendingS=Befriending S +OPower6Index.Capture1=Capture 1 +OPower6Index.Capture2=Capture 2 +OPower6Index.Capture3=Capture 3 +OPower6Index.CaptureMAX=Capture MAX +OPower6Index.CaptureS=Capture S +OPower6Index.Critical1=Critical 1 +OPower6Index.Critical2=Critical 2 +OPower6Index.Critical3=Critical 3 +OPower6Index.Defense1=Defense 1 +OPower6Index.Defense2=Defense 2 +OPower6Index.Defense3=Defense 3 +OPower6Index.Enable=Enable +OPower6Index.Encounter1=Encounter 1 +OPower6Index.Encounter2=Encounter 2 +OPower6Index.Encounter3=Encounter 3 +OPower6Index.Experience1=Experience 1 +OPower6Index.Experience2=Experience 2 +OPower6Index.Experience3=Experience 3 +OPower6Index.ExperienceMAX=Experience MAX +OPower6Index.ExperienceS=Experience S +OPower6Index.FullRecovery=Full Recovery +OPower6Index.Hatching1=Hatching 1 +OPower6Index.Hatching2=Hatching 2 +OPower6Index.Hatching3=Hatching 3 +OPower6Index.HatchingMAX=Hatching MAX +OPower6Index.HatchingS=Hatching S +OPower6Index.HPRestoring1=HP Restoring 1 +OPower6Index.HPRestoring2=HP Restoring 2 +OPower6Index.HPRestoring3=HP Restoring 3 +OPower6Index.PPRestoring1=PP Restoring 1 +OPower6Index.PPRestoring2=PP Restoring 2 +OPower6Index.PPRestoring3=PP Restoring 3 +OPower6Index.PrizeMoney1=Prize Money 1 +OPower6Index.PrizeMoney2=Prize Money 2 +OPower6Index.PrizeMoney3=Prize Money 3 +OPower6Index.PrizeMoneyMAX=Prize Money MAX +OPower6Index.PrizeMoneyS=Prize Money S +OPower6Index.SpecialAttack1=Special Attack 1 +OPower6Index.SpecialAttack2=Special Attack 2 +OPower6Index.SpecialAttack3=Special Attack 3 +OPower6Index.SpecialDefense1=Special Defense 1 +OPower6Index.SpecialDefense2=Special Defense 2 +OPower6Index.SpecialDefense3=Special Defense 3 +OPower6Index.Speed1=Speed 1 +OPower6Index.Speed2=Speed 2 +OPower6Index.Speed3=Speed 3 +OPower6Index.Stealth1=Stealth 1 +OPower6Index.Stealth2=Stealth 2 +OPower6Index.Stealth3=Stealth 3 +PassPower5.BargainMAX=Bargain MAX +PassPower5.BargainPlus1=Bargain Plus 1 +PassPower5.BargainPlus2=Bargain Plus 2 +PassPower5.BargainPlus3=Bargain Plus 3 +PassPower5.BargainS=Bargain S +PassPower5.BefriendingMAX=Befriending MAX +PassPower5.BefriendingPlus1=Befriending Plus 1 +PassPower5.BefriendingPlus2=Befriending Plus 2 +PassPower5.BefriendingPlus3=Befriending Plus 3 +PassPower5.BefriendingS=Befriending S +PassPower5.CaptureMAX=Capture MAX +PassPower5.CapturePlus1=Capture Plus 1 +PassPower5.CapturePlus2=Capture Plus 2 +PassPower5.CapturePlus3=Capture Plus 3 +PassPower5.CaptureS=Capture S +PassPower5.CharmMAX=Charm MAX +PassPower5.CharmPlus1=Charm Plus 1 +PassPower5.CharmPlus2=Charm Plus 2 +PassPower5.CharmPlus3=Charm Plus 3 +PassPower5.CharmS=Charm S +PassPower5.EncounterNegative1=Encounter Negative 1 +PassPower5.EncounterNegative2=Encounter Negative 2 +PassPower5.EncounterNegative3=Encounter Negative 3 +PassPower5.EncounterPlus1=Encounter Plus 1 +PassPower5.EncounterPlus2=Encounter Plus 2 +PassPower5.EncounterPlus3=Encounter Plus 3 +PassPower5.EXPMAX=EXP MAX +PassPower5.EXPNegative1=EXP Negative 1 +PassPower5.EXPNegative2=EXP Negative 2 +PassPower5.EXPNegative3=EXP Negative 3 +PassPower5.EXPPlus1=EXP Plus 1 +PassPower5.EXPPlus2=EXP Plus 2 +PassPower5.EXPPlus3=EXP Plus 3 +PassPower5.EXPS=EXP S +PassPower5.HatchingPlus1=Hatching Plus 1 +PassPower5.HatchingPlus2=Hatching Plus 2 +PassPower5.HatchingPlus3=Hatching Plus 3 +PassPower5.HatchingS=Hatching S +PassPower5.HatchMAX=Hatch MAX +PassPower5.HiddenGrottoMAX=Hidden Grotto MAX +PassPower5.HiddenGrottoPlus1=Hidden Grotto Plus 1 +PassPower5.HiddenGrottoPlus2=Hidden Grotto Plus 2 +PassPower5.HiddenGrottoPlus3=Hidden Grotto Plus 3 +PassPower5.HiddenGrottoS=Hidden Grotto S +PassPower5.HPFullRecoveryS=HP Full Recovery S +PassPower5.HPPlus1=HP Plus 1 +PassPower5.HPPlus2=HP Plus 2 +PassPower5.HPPlus3=HP Plus 3 +PassPower5.None=None +PassPower5.PPPlus1=PP Plus 1 +PassPower5.PPPlus2=PP Plus 2 +PassPower5.PPPlus3=PP Plus 3 +PassPower5.PrizeMoneyMAX=Prize Money MAX +PassPower5.PrizeMoneyPlus1=Prize Money Plus 1 +PassPower5.PrizeMoneyPlus2=Prize Money Plus 2 +PassPower5.PrizeMoneyPlus3=Prize Money Plus 3 +PassPower5.PrizeMoneyS=PrizeMoney S +PassPower5.SearchMAX=Search MAX +PassPower5.SearchPlus1=Search Plus 1 +PassPower5.SearchPlus2=Search Plus 2 +PassPower5.SearchPlus3=Search Plus 3 +PassPower5.SearchS=Search S +PlayerBattleStyle7.Elegant=Elegant +PlayerBattleStyle7.Girlish=Girlish +PlayerBattleStyle7.Idol=Idol +PlayerBattleStyle7.LeftHanded=LeftHanded +PlayerBattleStyle7.Nihilist=Nihilist +PlayerBattleStyle7.Normal=Normal +PlayerBattleStyle7.Passionate=Passionate +PlayerBattleStyle7.Reverent=Reverent +PlayerBattleStyle7.Smug=Smug +PlayerSkinColor7.DarkF=Dark (Female) +PlayerSkinColor7.DarkM=Dark (Male) +PlayerSkinColor7.DefaultF=Default (Female) +PlayerSkinColor7.DefaultM=Default (Male) +PlayerSkinColor7.PaleF=Pale (Female) +PlayerSkinColor7.PaleM=Pale (Male) +PlayerSkinColor7.TanF=Tan (Female) +PlayerSkinColor7.TanM=Tan (Male) +PokeSize.AV=AV +PokeSize.L=L +PokeSize.S=S +PokeSize.XL=XL +PokeSize.XS=XS +PokeSizeDetailed.AV=AV +PokeSizeDetailed.L=L +PokeSizeDetailed.S=S +PokeSizeDetailed.XL=XL +PokeSizeDetailed.XS=XS +PokeSizeDetailed.XXL=XXL +PokeSizeDetailed.XXS=XXS +PokeSizeDetailed.XXXL=XXXL +PokeSizeDetailed.XXXS=XXXS RibbonEditor.B_All=全て RibbonEditor.B_Cancel=キャンセル RibbonEditor.B_None=全て消去 @@ -1914,6 +2146,34 @@ SAV_ZygardeCell.L_Cells=キューブ内 SAV_ZygardeCell.L_Collected=回収 SettingsEditor.B_Reset=Reset All SettingsEditor.L_Blank=Blank Save Version: +Stamp7.AkalaPokedexCompletion=Akala Pokedex Completion +Stamp7.AkalaTrialCompletion=Akala Trial Completion +Stamp7.AlolaPokedexCompletion=Alola Pokedex Completion +Stamp7.ConsecutiveDoubleBattleWins50=50 Consecutive Double Battle Wins +Stamp7.ConsecutiveMultiBattleWins50=50 Consecutive MultiBattle Wins +Stamp7.ConsecutiveSingleBattleWins50=50 Consecutive Single Battle Wins +Stamp7.IslandChallengeCompletion=Island Challenge Completion +Stamp7.MelemelePokedexCompletion=Melemele Pokedex Completion +Stamp7.MelemeleTrialCompletion=Melemele Trial Completion +Stamp7.OfficialPokemonTrainer=Official Pokemon Trainer +Stamp7.PokeFinderPro=Poke Finder Pro +Stamp7.PoniPokedexCompletion=Poni Pokedex Completion +Stamp7.PoniTrialCompletion=Poni Trial Completion +Stamp7.UlaulaPokedexCompletion=Ula’ula Pokedex Completion +Stamp7.UlaulaTrialCompletion=Ula’ula Trial Completion +StatusCondition.Burn=Burn +StatusCondition.Freeze=Freeze +StatusCondition.None=None +StatusCondition.Paralysis=Paralysis +StatusCondition.Poison=Poison +StatusCondition.PoisonBad=Toxic +StatusCondition.Sleep1=Sleep (1 Turn) +StatusCondition.Sleep2=Sleep (2 Turn) +StatusCondition.Sleep3=Sleep (3 Turn) +StatusCondition.Sleep4=Sleep (4 Turn) +StatusCondition.Sleep5=Sleep (5 Turn) +StatusCondition.Sleep6=Sleep (6 Turn) +StatusCondition.Sleep7=Sleep (7 Turn) SuperTrainingEditor.B_All=全て取得 SuperTrainingEditor.B_Cancel=キャンセル SuperTrainingEditor.B_None=全て消去 diff --git a/PKHeX.WinForms/Resources/text/lang_ko.txt b/PKHeX.WinForms/Resources/text/lang_ko.txt index 160dbcf1c..b694e5add 100644 --- a/PKHeX.WinForms/Resources/text/lang_ko.txt +++ b/PKHeX.WinForms/Resources/text/lang_ko.txt @@ -94,6 +94,63 @@ ErrorWindow.B_Continue=계속 ErrorWindow.B_CopyToClipboard=클립보드에 복사 ErrorWindow.L_Message=An unknown error has occurred. ErrorWindow.L_ProvideInfo=오류를 보고할 때 이 정보를 제공해 주세요: +FestivalPlazaFacilityColor.Black=Black +FestivalPlazaFacilityColor.Blue=Blue +FestivalPlazaFacilityColor.Brown=Brown +FestivalPlazaFacilityColor.Gold=Gold +FestivalPlazaFacilityColor.Green=Green +FestivalPlazaFacilityColor.NavyBlue=NavyBlue +FestivalPlazaFacilityColor.Orange=Orange +FestivalPlazaFacilityColor.Pink=Pink +FestivalPlazaFacilityColor.Purple=Purple +FestivalPlazaFacilityColor.Red=Red +FestivalPlazaFacilityColor.White=White +FestivalPlazaFacilityColor.Yellow=Yellow +Funfest5Mission.BigHarvestofBerries=Big Harvest of Berries +Funfest5Mission.CollectBerries=Collect Berries +Funfest5Mission.DoaGreatTradeUp=Do a Great Trade Up +Funfest5Mission.EnjoyShopping=Enjoy Shopping +Funfest5Mission.ExcitingTradingB=Exciting Trading (B) +Funfest5Mission.ExhilaratingTradingW=Exhilarating Trading (W) +Funfest5Mission.FindAudino=Find Audino +Funfest5Mission.FindEmolga=Find Emolga +Funfest5Mission.FindLostBoys=Find Lost Boys +Funfest5Mission.FindLostItems=Find Lost Items +Funfest5Mission.FindMysteriousOresB=Find Mysterious Ores (B) +Funfest5Mission.FindRustlingGrass=Find Rustling Grass +Funfest5Mission.FindShards=Find Shards +Funfest5Mission.FindShiningOresW=Find Shining Ores (W) +Funfest5Mission.FindSteelix=Find Steelix +Funfest5Mission.FindTreasures=Find Treasures +Funfest5Mission.FishingCompetition=Fishing Competition +Funfest5Mission.ForgottenLostItemsB=Forgotten Lost Items (B) +Funfest5Mission.GetRichQuickB=Get Rich Quick (B) +Funfest5Mission.GivemetheItem=Give me the Item +Funfest5Mission.MemoryTraining=Memory Training +Funfest5Mission.MulchCollector=Mulch Collector +Funfest5Mission.MushroomsHideAndSeek=Mushrooms Hide And Seek +Funfest5Mission.NoisyHiddenGrottoesB=Noisy Hidden Grottoes +Funfest5Mission.NotFoundLostItemsW=Not Found Lost Items (W) +Funfest5Mission.PathtoanAce=Path to an Ace +Funfest5Mission.PushtheLimitofYourMemory=Push the Limit of Your Memory +Funfest5Mission.QuietHiddenGrottoesW=Quiet Hidden Grottoes (W) +Funfest5Mission.RingtheBell=Ring the Bell +Funfest5Mission.RockPaperScissorsCompetition=Rock Paper Scissors Competition +Funfest5Mission.SearchFor3Pokemon=Search For 3 Pokemon +Funfest5Mission.SearchHiddenGrottoes=Search Hidden Grottoes +Funfest5Mission.ShockingShopping=Shocking Shopping +Funfest5Mission.Sparringwith10Trainers=Sparring with 10 Trainers +Funfest5Mission.TakeaWalkwithEggs=Take a Walk with Eggs +Funfest5Mission.The2LostTreasures=The 2 Lost Treasures +Funfest5Mission.TheBellthatRings3Times=The Bell that Rings 3 Times +Funfest5Mission.TheBerryHuntingAdventure=The Berry Hunting Adventure +Funfest5Mission.TheFirstBerrySearch=The First Berry Search +Funfest5Mission.TrainwithMartialArtists=Train with Martial Artists +Funfest5Mission.TreasureHuntingW=Treasure Hunting (W) +Funfest5Mission.WhatistheBestPriceB=What is the Best Price +Funfest5Mission.WhatistheRealPriceW=What is the Real Price (W) +Funfest5Mission.WhereareFlutteringHearts=Where are Fluttering Hearts +Funfest5Mission.WingsFallingontheDrawbridge=Wings Falling on the Drawbridge LocalizedDescription.AllowBoxDataDrop=Allow drag and drop of boxdata binary files from the GUI via the Box tab. LocalizedDescription.AllowGen1Tradeback=GB: 2세대에서 옮겨온 1세대 기술 허용 LocalizedDescription.AllowGuessRejuvenateHOME=Allow PKM file conversion paths to guess the legal original encounter data that is not stored in the format that it was converted from. @@ -514,6 +571,181 @@ MoveShopEditor.B_All=Give All MoveShopEditor.B_Cancel=Cancel MoveShopEditor.B_None=Remove All MoveShopEditor.B_Save=Save +OPower6BattleType.Accuracy=Accuracy +OPower6BattleType.Attack=Attack +OPower6BattleType.Critical=Critical +OPower6BattleType.Defense=Defense +OPower6BattleType.Sp_Attack=Special Attack +OPower6BattleType.Sp_Defense=Special Defense +OPower6BattleType.Speed=Speed +OPower6FieldType.Bargain=Bargain +OPower6FieldType.Befriending=Befriending +OPower6FieldType.Capture=Capture +OPower6FieldType.Encounter=Encounter +OPower6FieldType.Experience=Experience +OPower6FieldType.Hatching=Hatching +OPower6FieldType.HPRestoring=HP Restoring +OPower6FieldType.PPRestoring=PP Restoring +OPower6FieldType.PrizeMoney=Prize Money +OPower6FieldType.Stealth=Stealth +OPower6Index.Accuracy1=Accuracy 1 +OPower6Index.Accuracy2=Accuracy 2 +OPower6Index.Accuracy3=Accuracy 3 +OPower6Index.Attack1=Attack 1 +OPower6Index.Attack2=Attack 2 +OPower6Index.Attack3=Attack 3 +OPower6Index.Bargain1=Bargain 1 +OPower6Index.Bargain2=Bargain 2 +OPower6Index.Bargain3=Bargain 3 +OPower6Index.BargainMAX=Bargain MAX +OPower6Index.BargainS=Bargain S +OPower6Index.Befriending1=Befriending 1 +OPower6Index.Befriending2=Befriending 2 +OPower6Index.Befriending3=Befriending 3 +OPower6Index.BefriendingMAX=Befriending MAX +OPower6Index.BefriendingS=Befriending S +OPower6Index.Capture1=Capture 1 +OPower6Index.Capture2=Capture 2 +OPower6Index.Capture3=Capture 3 +OPower6Index.CaptureMAX=Capture MAX +OPower6Index.CaptureS=Capture S +OPower6Index.Critical1=Critical 1 +OPower6Index.Critical2=Critical 2 +OPower6Index.Critical3=Critical 3 +OPower6Index.Defense1=Defense 1 +OPower6Index.Defense2=Defense 2 +OPower6Index.Defense3=Defense 3 +OPower6Index.Enable=Enable +OPower6Index.Encounter1=Encounter 1 +OPower6Index.Encounter2=Encounter 2 +OPower6Index.Encounter3=Encounter 3 +OPower6Index.Experience1=Experience 1 +OPower6Index.Experience2=Experience 2 +OPower6Index.Experience3=Experience 3 +OPower6Index.ExperienceMAX=Experience MAX +OPower6Index.ExperienceS=Experience S +OPower6Index.FullRecovery=Full Recovery +OPower6Index.Hatching1=Hatching 1 +OPower6Index.Hatching2=Hatching 2 +OPower6Index.Hatching3=Hatching 3 +OPower6Index.HatchingMAX=Hatching MAX +OPower6Index.HatchingS=Hatching S +OPower6Index.HPRestoring1=HP Restoring 1 +OPower6Index.HPRestoring2=HP Restoring 2 +OPower6Index.HPRestoring3=HP Restoring 3 +OPower6Index.PPRestoring1=PP Restoring 1 +OPower6Index.PPRestoring2=PP Restoring 2 +OPower6Index.PPRestoring3=PP Restoring 3 +OPower6Index.PrizeMoney1=Prize Money 1 +OPower6Index.PrizeMoney2=Prize Money 2 +OPower6Index.PrizeMoney3=Prize Money 3 +OPower6Index.PrizeMoneyMAX=Prize Money MAX +OPower6Index.PrizeMoneyS=Prize Money S +OPower6Index.SpecialAttack1=Special Attack 1 +OPower6Index.SpecialAttack2=Special Attack 2 +OPower6Index.SpecialAttack3=Special Attack 3 +OPower6Index.SpecialDefense1=Special Defense 1 +OPower6Index.SpecialDefense2=Special Defense 2 +OPower6Index.SpecialDefense3=Special Defense 3 +OPower6Index.Speed1=Speed 1 +OPower6Index.Speed2=Speed 2 +OPower6Index.Speed3=Speed 3 +OPower6Index.Stealth1=Stealth 1 +OPower6Index.Stealth2=Stealth 2 +OPower6Index.Stealth3=Stealth 3 +PassPower5.BargainMAX=Bargain MAX +PassPower5.BargainPlus1=Bargain Plus 1 +PassPower5.BargainPlus2=Bargain Plus 2 +PassPower5.BargainPlus3=Bargain Plus 3 +PassPower5.BargainS=Bargain S +PassPower5.BefriendingMAX=Befriending MAX +PassPower5.BefriendingPlus1=Befriending Plus 1 +PassPower5.BefriendingPlus2=Befriending Plus 2 +PassPower5.BefriendingPlus3=Befriending Plus 3 +PassPower5.BefriendingS=Befriending S +PassPower5.CaptureMAX=Capture MAX +PassPower5.CapturePlus1=Capture Plus 1 +PassPower5.CapturePlus2=Capture Plus 2 +PassPower5.CapturePlus3=Capture Plus 3 +PassPower5.CaptureS=Capture S +PassPower5.CharmMAX=Charm MAX +PassPower5.CharmPlus1=Charm Plus 1 +PassPower5.CharmPlus2=Charm Plus 2 +PassPower5.CharmPlus3=Charm Plus 3 +PassPower5.CharmS=Charm S +PassPower5.EncounterNegative1=Encounter Negative 1 +PassPower5.EncounterNegative2=Encounter Negative 2 +PassPower5.EncounterNegative3=Encounter Negative 3 +PassPower5.EncounterPlus1=Encounter Plus 1 +PassPower5.EncounterPlus2=Encounter Plus 2 +PassPower5.EncounterPlus3=Encounter Plus 3 +PassPower5.EXPMAX=EXP MAX +PassPower5.EXPNegative1=EXP Negative 1 +PassPower5.EXPNegative2=EXP Negative 2 +PassPower5.EXPNegative3=EXP Negative 3 +PassPower5.EXPPlus1=EXP Plus 1 +PassPower5.EXPPlus2=EXP Plus 2 +PassPower5.EXPPlus3=EXP Plus 3 +PassPower5.EXPS=EXP S +PassPower5.HatchingPlus1=Hatching Plus 1 +PassPower5.HatchingPlus2=Hatching Plus 2 +PassPower5.HatchingPlus3=Hatching Plus 3 +PassPower5.HatchingS=Hatching S +PassPower5.HatchMAX=Hatch MAX +PassPower5.HiddenGrottoMAX=Hidden Grotto MAX +PassPower5.HiddenGrottoPlus1=Hidden Grotto Plus 1 +PassPower5.HiddenGrottoPlus2=Hidden Grotto Plus 2 +PassPower5.HiddenGrottoPlus3=Hidden Grotto Plus 3 +PassPower5.HiddenGrottoS=Hidden Grotto S +PassPower5.HPFullRecoveryS=HP Full Recovery S +PassPower5.HPPlus1=HP Plus 1 +PassPower5.HPPlus2=HP Plus 2 +PassPower5.HPPlus3=HP Plus 3 +PassPower5.None=None +PassPower5.PPPlus1=PP Plus 1 +PassPower5.PPPlus2=PP Plus 2 +PassPower5.PPPlus3=PP Plus 3 +PassPower5.PrizeMoneyMAX=Prize Money MAX +PassPower5.PrizeMoneyPlus1=Prize Money Plus 1 +PassPower5.PrizeMoneyPlus2=Prize Money Plus 2 +PassPower5.PrizeMoneyPlus3=Prize Money Plus 3 +PassPower5.PrizeMoneyS=PrizeMoney S +PassPower5.SearchMAX=Search MAX +PassPower5.SearchPlus1=Search Plus 1 +PassPower5.SearchPlus2=Search Plus 2 +PassPower5.SearchPlus3=Search Plus 3 +PassPower5.SearchS=Search S +PlayerBattleStyle7.Elegant=Elegant +PlayerBattleStyle7.Girlish=Girlish +PlayerBattleStyle7.Idol=Idol +PlayerBattleStyle7.LeftHanded=LeftHanded +PlayerBattleStyle7.Nihilist=Nihilist +PlayerBattleStyle7.Normal=Normal +PlayerBattleStyle7.Passionate=Passionate +PlayerBattleStyle7.Reverent=Reverent +PlayerBattleStyle7.Smug=Smug +PlayerSkinColor7.DarkF=Dark (Female) +PlayerSkinColor7.DarkM=Dark (Male) +PlayerSkinColor7.DefaultF=Default (Female) +PlayerSkinColor7.DefaultM=Default (Male) +PlayerSkinColor7.PaleF=Pale (Female) +PlayerSkinColor7.PaleM=Pale (Male) +PlayerSkinColor7.TanF=Tan (Female) +PlayerSkinColor7.TanM=Tan (Male) +PokeSize.AV=AV +PokeSize.L=L +PokeSize.S=S +PokeSize.XL=XL +PokeSize.XS=XS +PokeSizeDetailed.AV=AV +PokeSizeDetailed.L=L +PokeSizeDetailed.S=S +PokeSizeDetailed.XL=XL +PokeSizeDetailed.XS=XS +PokeSizeDetailed.XXL=XXL +PokeSizeDetailed.XXS=XXS +PokeSizeDetailed.XXXL=XXXL +PokeSizeDetailed.XXXS=XXXS RibbonEditor.B_All=모두 주기 RibbonEditor.B_Cancel=취소 RibbonEditor.B_None=모두 제거 @@ -895,8 +1127,6 @@ SAV_Misc4.GB_Poketch=포켓치 SAV_Misc4.GB_Prints=Print SAV_Misc4.GB_Streaks=연승 SAV_Misc4.GB_WalkerCourses=Pokewalker Courses -SAV_Misc4.L_Accessories=액세서리: -SAV_Misc4.L_Backdrops=벽지: SAV_Misc4.L_BP=BP: SAV_Misc4.L_CastleRank01=Recovery / Item / Info SAV_Misc4.L_Coin=Coin: @@ -1916,6 +2146,34 @@ SAV_ZygardeCell.L_Cells=보관됨: SAV_ZygardeCell.L_Collected=회수함: SettingsEditor.B_Reset=Reset All SettingsEditor.L_Blank=Blank Save Version: +Stamp7.AkalaPokedexCompletion=Akala Pokedex Completion +Stamp7.AkalaTrialCompletion=Akala Trial Completion +Stamp7.AlolaPokedexCompletion=Alola Pokedex Completion +Stamp7.ConsecutiveDoubleBattleWins50=50 Consecutive Double Battle Wins +Stamp7.ConsecutiveMultiBattleWins50=50 Consecutive MultiBattle Wins +Stamp7.ConsecutiveSingleBattleWins50=50 Consecutive Single Battle Wins +Stamp7.IslandChallengeCompletion=Island Challenge Completion +Stamp7.MelemelePokedexCompletion=Melemele Pokedex Completion +Stamp7.MelemeleTrialCompletion=Melemele Trial Completion +Stamp7.OfficialPokemonTrainer=Official Pokemon Trainer +Stamp7.PokeFinderPro=Poke Finder Pro +Stamp7.PoniPokedexCompletion=Poni Pokedex Completion +Stamp7.PoniTrialCompletion=Poni Trial Completion +Stamp7.UlaulaPokedexCompletion=Ula’ula Pokedex Completion +Stamp7.UlaulaTrialCompletion=Ula’ula Trial Completion +StatusCondition.Burn=Burn +StatusCondition.Freeze=Freeze +StatusCondition.None=None +StatusCondition.Paralysis=Paralysis +StatusCondition.Poison=Poison +StatusCondition.PoisonBad=Toxic +StatusCondition.Sleep1=Sleep (1 Turn) +StatusCondition.Sleep2=Sleep (2 Turn) +StatusCondition.Sleep3=Sleep (3 Turn) +StatusCondition.Sleep4=Sleep (4 Turn) +StatusCondition.Sleep5=Sleep (5 Turn) +StatusCondition.Sleep6=Sleep (6 Turn) +StatusCondition.Sleep7=Sleep (7 Turn) SuperTrainingEditor.B_All=모두 주기 SuperTrainingEditor.B_Cancel=취소 SuperTrainingEditor.B_None=모두 제거 diff --git a/PKHeX.WinForms/Resources/text/lang_zh.txt b/PKHeX.WinForms/Resources/text/lang_zh.txt index e1f902ba3..22ba59222 100644 --- a/PKHeX.WinForms/Resources/text/lang_zh.txt +++ b/PKHeX.WinForms/Resources/text/lang_zh.txt @@ -94,6 +94,63 @@ ErrorWindow.B_Continue=继续 ErrorWindow.B_CopyToClipboard=复制到剪切板 ErrorWindow.L_Message=An unknown error has occurred. ErrorWindow.L_ProvideInfo=提交错误报告时请提供以下信息: +FestivalPlazaFacilityColor.Black=Black +FestivalPlazaFacilityColor.Blue=Blue +FestivalPlazaFacilityColor.Brown=Brown +FestivalPlazaFacilityColor.Gold=Gold +FestivalPlazaFacilityColor.Green=Green +FestivalPlazaFacilityColor.NavyBlue=NavyBlue +FestivalPlazaFacilityColor.Orange=Orange +FestivalPlazaFacilityColor.Pink=Pink +FestivalPlazaFacilityColor.Purple=Purple +FestivalPlazaFacilityColor.Red=Red +FestivalPlazaFacilityColor.White=White +FestivalPlazaFacilityColor.Yellow=Yellow +Funfest5Mission.BigHarvestofBerries=Big Harvest of Berries +Funfest5Mission.CollectBerries=Collect Berries +Funfest5Mission.DoaGreatTradeUp=Do a Great Trade Up +Funfest5Mission.EnjoyShopping=Enjoy Shopping +Funfest5Mission.ExcitingTradingB=Exciting Trading (B) +Funfest5Mission.ExhilaratingTradingW=Exhilarating Trading (W) +Funfest5Mission.FindAudino=Find Audino +Funfest5Mission.FindEmolga=Find Emolga +Funfest5Mission.FindLostBoys=Find Lost Boys +Funfest5Mission.FindLostItems=Find Lost Items +Funfest5Mission.FindMysteriousOresB=Find Mysterious Ores (B) +Funfest5Mission.FindRustlingGrass=Find Rustling Grass +Funfest5Mission.FindShards=Find Shards +Funfest5Mission.FindShiningOresW=Find Shining Ores (W) +Funfest5Mission.FindSteelix=Find Steelix +Funfest5Mission.FindTreasures=Find Treasures +Funfest5Mission.FishingCompetition=Fishing Competition +Funfest5Mission.ForgottenLostItemsB=Forgotten Lost Items (B) +Funfest5Mission.GetRichQuickB=Get Rich Quick (B) +Funfest5Mission.GivemetheItem=Give me the Item +Funfest5Mission.MemoryTraining=Memory Training +Funfest5Mission.MulchCollector=Mulch Collector +Funfest5Mission.MushroomsHideAndSeek=Mushrooms Hide And Seek +Funfest5Mission.NoisyHiddenGrottoesB=Noisy Hidden Grottoes +Funfest5Mission.NotFoundLostItemsW=Not Found Lost Items (W) +Funfest5Mission.PathtoanAce=Path to an Ace +Funfest5Mission.PushtheLimitofYourMemory=Push the Limit of Your Memory +Funfest5Mission.QuietHiddenGrottoesW=Quiet Hidden Grottoes (W) +Funfest5Mission.RingtheBell=Ring the Bell +Funfest5Mission.RockPaperScissorsCompetition=Rock Paper Scissors Competition +Funfest5Mission.SearchFor3Pokemon=Search For 3 Pokemon +Funfest5Mission.SearchHiddenGrottoes=Search Hidden Grottoes +Funfest5Mission.ShockingShopping=Shocking Shopping +Funfest5Mission.Sparringwith10Trainers=Sparring with 10 Trainers +Funfest5Mission.TakeaWalkwithEggs=Take a Walk with Eggs +Funfest5Mission.The2LostTreasures=The 2 Lost Treasures +Funfest5Mission.TheBellthatRings3Times=The Bell that Rings 3 Times +Funfest5Mission.TheBerryHuntingAdventure=The Berry Hunting Adventure +Funfest5Mission.TheFirstBerrySearch=The First Berry Search +Funfest5Mission.TrainwithMartialArtists=Train with Martial Artists +Funfest5Mission.TreasureHuntingW=Treasure Hunting (W) +Funfest5Mission.WhatistheBestPriceB=What is the Best Price +Funfest5Mission.WhatistheRealPriceW=What is the Real Price (W) +Funfest5Mission.WhereareFlutteringHearts=Where are Fluttering Hearts +Funfest5Mission.WingsFallingontheDrawbridge=Wings Falling on the Drawbridge LocalizedDescription.AllowBoxDataDrop=Allow drag and drop of boxdata binary files from the GUI via the Box tab. LocalizedDescription.AllowGen1Tradeback=GB 允许二代传回的招式组合 LocalizedDescription.AllowGuessRejuvenateHOME=允许在PKM文件转换中猜测那些未在文件中存储的合法原始相遇数据。 @@ -514,6 +571,181 @@ MoveShopEditor.B_All=获得全部 MoveShopEditor.B_Cancel=取消 MoveShopEditor.B_None=全部清除 MoveShopEditor.B_Save=保存 +OPower6BattleType.Accuracy=Accuracy +OPower6BattleType.Attack=Attack +OPower6BattleType.Critical=Critical +OPower6BattleType.Defense=Defense +OPower6BattleType.Sp_Attack=Special Attack +OPower6BattleType.Sp_Defense=Special Defense +OPower6BattleType.Speed=Speed +OPower6FieldType.Bargain=Bargain +OPower6FieldType.Befriending=Befriending +OPower6FieldType.Capture=Capture +OPower6FieldType.Encounter=Encounter +OPower6FieldType.Experience=Experience +OPower6FieldType.Hatching=Hatching +OPower6FieldType.HPRestoring=HP Restoring +OPower6FieldType.PPRestoring=PP Restoring +OPower6FieldType.PrizeMoney=Prize Money +OPower6FieldType.Stealth=Stealth +OPower6Index.Accuracy1=Accuracy 1 +OPower6Index.Accuracy2=Accuracy 2 +OPower6Index.Accuracy3=Accuracy 3 +OPower6Index.Attack1=Attack 1 +OPower6Index.Attack2=Attack 2 +OPower6Index.Attack3=Attack 3 +OPower6Index.Bargain1=Bargain 1 +OPower6Index.Bargain2=Bargain 2 +OPower6Index.Bargain3=Bargain 3 +OPower6Index.BargainMAX=Bargain MAX +OPower6Index.BargainS=Bargain S +OPower6Index.Befriending1=Befriending 1 +OPower6Index.Befriending2=Befriending 2 +OPower6Index.Befriending3=Befriending 3 +OPower6Index.BefriendingMAX=Befriending MAX +OPower6Index.BefriendingS=Befriending S +OPower6Index.Capture1=Capture 1 +OPower6Index.Capture2=Capture 2 +OPower6Index.Capture3=Capture 3 +OPower6Index.CaptureMAX=Capture MAX +OPower6Index.CaptureS=Capture S +OPower6Index.Critical1=Critical 1 +OPower6Index.Critical2=Critical 2 +OPower6Index.Critical3=Critical 3 +OPower6Index.Defense1=Defense 1 +OPower6Index.Defense2=Defense 2 +OPower6Index.Defense3=Defense 3 +OPower6Index.Enable=Enable +OPower6Index.Encounter1=Encounter 1 +OPower6Index.Encounter2=Encounter 2 +OPower6Index.Encounter3=Encounter 3 +OPower6Index.Experience1=Experience 1 +OPower6Index.Experience2=Experience 2 +OPower6Index.Experience3=Experience 3 +OPower6Index.ExperienceMAX=Experience MAX +OPower6Index.ExperienceS=Experience S +OPower6Index.FullRecovery=Full Recovery +OPower6Index.Hatching1=Hatching 1 +OPower6Index.Hatching2=Hatching 2 +OPower6Index.Hatching3=Hatching 3 +OPower6Index.HatchingMAX=Hatching MAX +OPower6Index.HatchingS=Hatching S +OPower6Index.HPRestoring1=HP Restoring 1 +OPower6Index.HPRestoring2=HP Restoring 2 +OPower6Index.HPRestoring3=HP Restoring 3 +OPower6Index.PPRestoring1=PP Restoring 1 +OPower6Index.PPRestoring2=PP Restoring 2 +OPower6Index.PPRestoring3=PP Restoring 3 +OPower6Index.PrizeMoney1=Prize Money 1 +OPower6Index.PrizeMoney2=Prize Money 2 +OPower6Index.PrizeMoney3=Prize Money 3 +OPower6Index.PrizeMoneyMAX=Prize Money MAX +OPower6Index.PrizeMoneyS=Prize Money S +OPower6Index.SpecialAttack1=Special Attack 1 +OPower6Index.SpecialAttack2=Special Attack 2 +OPower6Index.SpecialAttack3=Special Attack 3 +OPower6Index.SpecialDefense1=Special Defense 1 +OPower6Index.SpecialDefense2=Special Defense 2 +OPower6Index.SpecialDefense3=Special Defense 3 +OPower6Index.Speed1=Speed 1 +OPower6Index.Speed2=Speed 2 +OPower6Index.Speed3=Speed 3 +OPower6Index.Stealth1=Stealth 1 +OPower6Index.Stealth2=Stealth 2 +OPower6Index.Stealth3=Stealth 3 +PassPower5.BargainMAX=Bargain MAX +PassPower5.BargainPlus1=Bargain Plus 1 +PassPower5.BargainPlus2=Bargain Plus 2 +PassPower5.BargainPlus3=Bargain Plus 3 +PassPower5.BargainS=Bargain S +PassPower5.BefriendingMAX=Befriending MAX +PassPower5.BefriendingPlus1=Befriending Plus 1 +PassPower5.BefriendingPlus2=Befriending Plus 2 +PassPower5.BefriendingPlus3=Befriending Plus 3 +PassPower5.BefriendingS=Befriending S +PassPower5.CaptureMAX=Capture MAX +PassPower5.CapturePlus1=Capture Plus 1 +PassPower5.CapturePlus2=Capture Plus 2 +PassPower5.CapturePlus3=Capture Plus 3 +PassPower5.CaptureS=Capture S +PassPower5.CharmMAX=Charm MAX +PassPower5.CharmPlus1=Charm Plus 1 +PassPower5.CharmPlus2=Charm Plus 2 +PassPower5.CharmPlus3=Charm Plus 3 +PassPower5.CharmS=Charm S +PassPower5.EncounterNegative1=Encounter Negative 1 +PassPower5.EncounterNegative2=Encounter Negative 2 +PassPower5.EncounterNegative3=Encounter Negative 3 +PassPower5.EncounterPlus1=Encounter Plus 1 +PassPower5.EncounterPlus2=Encounter Plus 2 +PassPower5.EncounterPlus3=Encounter Plus 3 +PassPower5.EXPMAX=EXP MAX +PassPower5.EXPNegative1=EXP Negative 1 +PassPower5.EXPNegative2=EXP Negative 2 +PassPower5.EXPNegative3=EXP Negative 3 +PassPower5.EXPPlus1=EXP Plus 1 +PassPower5.EXPPlus2=EXP Plus 2 +PassPower5.EXPPlus3=EXP Plus 3 +PassPower5.EXPS=EXP S +PassPower5.HatchingPlus1=Hatching Plus 1 +PassPower5.HatchingPlus2=Hatching Plus 2 +PassPower5.HatchingPlus3=Hatching Plus 3 +PassPower5.HatchingS=Hatching S +PassPower5.HatchMAX=Hatch MAX +PassPower5.HiddenGrottoMAX=Hidden Grotto MAX +PassPower5.HiddenGrottoPlus1=Hidden Grotto Plus 1 +PassPower5.HiddenGrottoPlus2=Hidden Grotto Plus 2 +PassPower5.HiddenGrottoPlus3=Hidden Grotto Plus 3 +PassPower5.HiddenGrottoS=Hidden Grotto S +PassPower5.HPFullRecoveryS=HP Full Recovery S +PassPower5.HPPlus1=HP Plus 1 +PassPower5.HPPlus2=HP Plus 2 +PassPower5.HPPlus3=HP Plus 3 +PassPower5.None=None +PassPower5.PPPlus1=PP Plus 1 +PassPower5.PPPlus2=PP Plus 2 +PassPower5.PPPlus3=PP Plus 3 +PassPower5.PrizeMoneyMAX=Prize Money MAX +PassPower5.PrizeMoneyPlus1=Prize Money Plus 1 +PassPower5.PrizeMoneyPlus2=Prize Money Plus 2 +PassPower5.PrizeMoneyPlus3=Prize Money Plus 3 +PassPower5.PrizeMoneyS=PrizeMoney S +PassPower5.SearchMAX=Search MAX +PassPower5.SearchPlus1=Search Plus 1 +PassPower5.SearchPlus2=Search Plus 2 +PassPower5.SearchPlus3=Search Plus 3 +PassPower5.SearchS=Search S +PlayerBattleStyle7.Elegant=Elegant +PlayerBattleStyle7.Girlish=Girlish +PlayerBattleStyle7.Idol=Idol +PlayerBattleStyle7.LeftHanded=LeftHanded +PlayerBattleStyle7.Nihilist=Nihilist +PlayerBattleStyle7.Normal=Normal +PlayerBattleStyle7.Passionate=Passionate +PlayerBattleStyle7.Reverent=Reverent +PlayerBattleStyle7.Smug=Smug +PlayerSkinColor7.DarkF=Dark (Female) +PlayerSkinColor7.DarkM=Dark (Male) +PlayerSkinColor7.DefaultF=Default (Female) +PlayerSkinColor7.DefaultM=Default (Male) +PlayerSkinColor7.PaleF=Pale (Female) +PlayerSkinColor7.PaleM=Pale (Male) +PlayerSkinColor7.TanF=Tan (Female) +PlayerSkinColor7.TanM=Tan (Male) +PokeSize.AV=AV +PokeSize.L=L +PokeSize.S=S +PokeSize.XL=XL +PokeSize.XS=XS +PokeSizeDetailed.AV=AV +PokeSizeDetailed.L=L +PokeSizeDetailed.S=S +PokeSizeDetailed.XL=XL +PokeSizeDetailed.XS=XS +PokeSizeDetailed.XXL=XXL +PokeSizeDetailed.XXS=XXS +PokeSizeDetailed.XXXL=XXXL +PokeSizeDetailed.XXXS=XXXS RibbonEditor.B_All=获得全部 RibbonEditor.B_Cancel=取消 RibbonEditor.B_None=全部清除 @@ -1425,7 +1657,6 @@ SAV_Raid8.B_Save=保存 SAV_Raid9.B_Cancel=取消 SAV_Raid9.B_CopyToOthers=复制到其他洞窟 SAV_Raid9.B_Save=保存 -SAV_Raid9.B_Star6=设置成全部6星 SAV_Raid9.L_SeedCurrent=当前Seed: SAV_Raid9.L_SeedTomorrow=明天: SAV_RaidSevenStar9.B_Cancel=取消 @@ -1915,6 +2146,34 @@ SAV_ZygardeCell.L_Cells=储存了: SAV_ZygardeCell.L_Collected=收集了: SettingsEditor.B_Reset=Reset All SettingsEditor.L_Blank=Blank Save Version: +Stamp7.AkalaPokedexCompletion=Akala Pokedex Completion +Stamp7.AkalaTrialCompletion=Akala Trial Completion +Stamp7.AlolaPokedexCompletion=Alola Pokedex Completion +Stamp7.ConsecutiveDoubleBattleWins50=50 Consecutive Double Battle Wins +Stamp7.ConsecutiveMultiBattleWins50=50 Consecutive MultiBattle Wins +Stamp7.ConsecutiveSingleBattleWins50=50 Consecutive Single Battle Wins +Stamp7.IslandChallengeCompletion=Island Challenge Completion +Stamp7.MelemelePokedexCompletion=Melemele Pokedex Completion +Stamp7.MelemeleTrialCompletion=Melemele Trial Completion +Stamp7.OfficialPokemonTrainer=Official Pokemon Trainer +Stamp7.PokeFinderPro=Poke Finder Pro +Stamp7.PoniPokedexCompletion=Poni Pokedex Completion +Stamp7.PoniTrialCompletion=Poni Trial Completion +Stamp7.UlaulaPokedexCompletion=Ula’ula Pokedex Completion +Stamp7.UlaulaTrialCompletion=Ula’ula Trial Completion +StatusCondition.Burn=Burn +StatusCondition.Freeze=Freeze +StatusCondition.None=None +StatusCondition.Paralysis=Paralysis +StatusCondition.Poison=Poison +StatusCondition.PoisonBad=Toxic +StatusCondition.Sleep1=Sleep (1 Turn) +StatusCondition.Sleep2=Sleep (2 Turn) +StatusCondition.Sleep3=Sleep (3 Turn) +StatusCondition.Sleep4=Sleep (4 Turn) +StatusCondition.Sleep5=Sleep (5 Turn) +StatusCondition.Sleep6=Sleep (6 Turn) +StatusCondition.Sleep7=Sleep (7 Turn) SuperTrainingEditor.B_All=获得全部 SuperTrainingEditor.B_Cancel=取消 SuperTrainingEditor.B_None=全部清除 diff --git a/PKHeX.WinForms/Resources/text/lang_zh2.txt b/PKHeX.WinForms/Resources/text/lang_zh2.txt index 8ac6920d4..c63553df6 100644 --- a/PKHeX.WinForms/Resources/text/lang_zh2.txt +++ b/PKHeX.WinForms/Resources/text/lang_zh2.txt @@ -94,6 +94,63 @@ ErrorWindow.B_Continue=繼續 ErrorWindow.B_CopyToClipboard=複製到剪切板 ErrorWindow.L_Message=An unknown error has occurred. ErrorWindow.L_ProvideInfo=提交錯誤報告時請提供以下資訊: +FestivalPlazaFacilityColor.Black=Black +FestivalPlazaFacilityColor.Blue=Blue +FestivalPlazaFacilityColor.Brown=Brown +FestivalPlazaFacilityColor.Gold=Gold +FestivalPlazaFacilityColor.Green=Green +FestivalPlazaFacilityColor.NavyBlue=NavyBlue +FestivalPlazaFacilityColor.Orange=Orange +FestivalPlazaFacilityColor.Pink=Pink +FestivalPlazaFacilityColor.Purple=Purple +FestivalPlazaFacilityColor.Red=Red +FestivalPlazaFacilityColor.White=White +FestivalPlazaFacilityColor.Yellow=Yellow +Funfest5Mission.BigHarvestofBerries=Big Harvest of Berries +Funfest5Mission.CollectBerries=Collect Berries +Funfest5Mission.DoaGreatTradeUp=Do a Great Trade Up +Funfest5Mission.EnjoyShopping=Enjoy Shopping +Funfest5Mission.ExcitingTradingB=Exciting Trading (B) +Funfest5Mission.ExhilaratingTradingW=Exhilarating Trading (W) +Funfest5Mission.FindAudino=Find Audino +Funfest5Mission.FindEmolga=Find Emolga +Funfest5Mission.FindLostBoys=Find Lost Boys +Funfest5Mission.FindLostItems=Find Lost Items +Funfest5Mission.FindMysteriousOresB=Find Mysterious Ores (B) +Funfest5Mission.FindRustlingGrass=Find Rustling Grass +Funfest5Mission.FindShards=Find Shards +Funfest5Mission.FindShiningOresW=Find Shining Ores (W) +Funfest5Mission.FindSteelix=Find Steelix +Funfest5Mission.FindTreasures=Find Treasures +Funfest5Mission.FishingCompetition=Fishing Competition +Funfest5Mission.ForgottenLostItemsB=Forgotten Lost Items (B) +Funfest5Mission.GetRichQuickB=Get Rich Quick (B) +Funfest5Mission.GivemetheItem=Give me the Item +Funfest5Mission.MemoryTraining=Memory Training +Funfest5Mission.MulchCollector=Mulch Collector +Funfest5Mission.MushroomsHideAndSeek=Mushrooms Hide And Seek +Funfest5Mission.NoisyHiddenGrottoesB=Noisy Hidden Grottoes +Funfest5Mission.NotFoundLostItemsW=Not Found Lost Items (W) +Funfest5Mission.PathtoanAce=Path to an Ace +Funfest5Mission.PushtheLimitofYourMemory=Push the Limit of Your Memory +Funfest5Mission.QuietHiddenGrottoesW=Quiet Hidden Grottoes (W) +Funfest5Mission.RingtheBell=Ring the Bell +Funfest5Mission.RockPaperScissorsCompetition=Rock Paper Scissors Competition +Funfest5Mission.SearchFor3Pokemon=Search For 3 Pokemon +Funfest5Mission.SearchHiddenGrottoes=Search Hidden Grottoes +Funfest5Mission.ShockingShopping=Shocking Shopping +Funfest5Mission.Sparringwith10Trainers=Sparring with 10 Trainers +Funfest5Mission.TakeaWalkwithEggs=Take a Walk with Eggs +Funfest5Mission.The2LostTreasures=The 2 Lost Treasures +Funfest5Mission.TheBellthatRings3Times=The Bell that Rings 3 Times +Funfest5Mission.TheBerryHuntingAdventure=The Berry Hunting Adventure +Funfest5Mission.TheFirstBerrySearch=The First Berry Search +Funfest5Mission.TrainwithMartialArtists=Train with Martial Artists +Funfest5Mission.TreasureHuntingW=Treasure Hunting (W) +Funfest5Mission.WhatistheBestPriceB=What is the Best Price +Funfest5Mission.WhatistheRealPriceW=What is the Real Price (W) +Funfest5Mission.WhereareFlutteringHearts=Where are Fluttering Hearts +Funfest5Mission.WingsFallingontheDrawbridge=Wings Falling on the Drawbridge LocalizedDescription.AllowBoxDataDrop=Allow drag and drop of boxdata binary files from the GUI via the Box tab. LocalizedDescription.AllowGen1Tradeback=GB 允許從第二世代傳回之招式組合 LocalizedDescription.AllowGuessRejuvenateHOME=允許 PKM 檔轉換時猜測未於轉換格式存儲的合法原始遇見數據。 @@ -514,6 +571,181 @@ MoveShopEditor.B_All=獲得全部 MoveShopEditor.B_Cancel=取消 MoveShopEditor.B_None=全部清除 MoveShopEditor.B_Save=儲存 +OPower6BattleType.Accuracy=Accuracy +OPower6BattleType.Attack=Attack +OPower6BattleType.Critical=Critical +OPower6BattleType.Defense=Defense +OPower6BattleType.Sp_Attack=Special Attack +OPower6BattleType.Sp_Defense=Special Defense +OPower6BattleType.Speed=Speed +OPower6FieldType.Bargain=Bargain +OPower6FieldType.Befriending=Befriending +OPower6FieldType.Capture=Capture +OPower6FieldType.Encounter=Encounter +OPower6FieldType.Experience=Experience +OPower6FieldType.Hatching=Hatching +OPower6FieldType.HPRestoring=HP Restoring +OPower6FieldType.PPRestoring=PP Restoring +OPower6FieldType.PrizeMoney=Prize Money +OPower6FieldType.Stealth=Stealth +OPower6Index.Accuracy1=Accuracy 1 +OPower6Index.Accuracy2=Accuracy 2 +OPower6Index.Accuracy3=Accuracy 3 +OPower6Index.Attack1=Attack 1 +OPower6Index.Attack2=Attack 2 +OPower6Index.Attack3=Attack 3 +OPower6Index.Bargain1=Bargain 1 +OPower6Index.Bargain2=Bargain 2 +OPower6Index.Bargain3=Bargain 3 +OPower6Index.BargainMAX=Bargain MAX +OPower6Index.BargainS=Bargain S +OPower6Index.Befriending1=Befriending 1 +OPower6Index.Befriending2=Befriending 2 +OPower6Index.Befriending3=Befriending 3 +OPower6Index.BefriendingMAX=Befriending MAX +OPower6Index.BefriendingS=Befriending S +OPower6Index.Capture1=Capture 1 +OPower6Index.Capture2=Capture 2 +OPower6Index.Capture3=Capture 3 +OPower6Index.CaptureMAX=Capture MAX +OPower6Index.CaptureS=Capture S +OPower6Index.Critical1=Critical 1 +OPower6Index.Critical2=Critical 2 +OPower6Index.Critical3=Critical 3 +OPower6Index.Defense1=Defense 1 +OPower6Index.Defense2=Defense 2 +OPower6Index.Defense3=Defense 3 +OPower6Index.Enable=Enable +OPower6Index.Encounter1=Encounter 1 +OPower6Index.Encounter2=Encounter 2 +OPower6Index.Encounter3=Encounter 3 +OPower6Index.Experience1=Experience 1 +OPower6Index.Experience2=Experience 2 +OPower6Index.Experience3=Experience 3 +OPower6Index.ExperienceMAX=Experience MAX +OPower6Index.ExperienceS=Experience S +OPower6Index.FullRecovery=Full Recovery +OPower6Index.Hatching1=Hatching 1 +OPower6Index.Hatching2=Hatching 2 +OPower6Index.Hatching3=Hatching 3 +OPower6Index.HatchingMAX=Hatching MAX +OPower6Index.HatchingS=Hatching S +OPower6Index.HPRestoring1=HP Restoring 1 +OPower6Index.HPRestoring2=HP Restoring 2 +OPower6Index.HPRestoring3=HP Restoring 3 +OPower6Index.PPRestoring1=PP Restoring 1 +OPower6Index.PPRestoring2=PP Restoring 2 +OPower6Index.PPRestoring3=PP Restoring 3 +OPower6Index.PrizeMoney1=Prize Money 1 +OPower6Index.PrizeMoney2=Prize Money 2 +OPower6Index.PrizeMoney3=Prize Money 3 +OPower6Index.PrizeMoneyMAX=Prize Money MAX +OPower6Index.PrizeMoneyS=Prize Money S +OPower6Index.SpecialAttack1=Special Attack 1 +OPower6Index.SpecialAttack2=Special Attack 2 +OPower6Index.SpecialAttack3=Special Attack 3 +OPower6Index.SpecialDefense1=Special Defense 1 +OPower6Index.SpecialDefense2=Special Defense 2 +OPower6Index.SpecialDefense3=Special Defense 3 +OPower6Index.Speed1=Speed 1 +OPower6Index.Speed2=Speed 2 +OPower6Index.Speed3=Speed 3 +OPower6Index.Stealth1=Stealth 1 +OPower6Index.Stealth2=Stealth 2 +OPower6Index.Stealth3=Stealth 3 +PassPower5.BargainMAX=Bargain MAX +PassPower5.BargainPlus1=Bargain Plus 1 +PassPower5.BargainPlus2=Bargain Plus 2 +PassPower5.BargainPlus3=Bargain Plus 3 +PassPower5.BargainS=Bargain S +PassPower5.BefriendingMAX=Befriending MAX +PassPower5.BefriendingPlus1=Befriending Plus 1 +PassPower5.BefriendingPlus2=Befriending Plus 2 +PassPower5.BefriendingPlus3=Befriending Plus 3 +PassPower5.BefriendingS=Befriending S +PassPower5.CaptureMAX=Capture MAX +PassPower5.CapturePlus1=Capture Plus 1 +PassPower5.CapturePlus2=Capture Plus 2 +PassPower5.CapturePlus3=Capture Plus 3 +PassPower5.CaptureS=Capture S +PassPower5.CharmMAX=Charm MAX +PassPower5.CharmPlus1=Charm Plus 1 +PassPower5.CharmPlus2=Charm Plus 2 +PassPower5.CharmPlus3=Charm Plus 3 +PassPower5.CharmS=Charm S +PassPower5.EncounterNegative1=Encounter Negative 1 +PassPower5.EncounterNegative2=Encounter Negative 2 +PassPower5.EncounterNegative3=Encounter Negative 3 +PassPower5.EncounterPlus1=Encounter Plus 1 +PassPower5.EncounterPlus2=Encounter Plus 2 +PassPower5.EncounterPlus3=Encounter Plus 3 +PassPower5.EXPMAX=EXP MAX +PassPower5.EXPNegative1=EXP Negative 1 +PassPower5.EXPNegative2=EXP Negative 2 +PassPower5.EXPNegative3=EXP Negative 3 +PassPower5.EXPPlus1=EXP Plus 1 +PassPower5.EXPPlus2=EXP Plus 2 +PassPower5.EXPPlus3=EXP Plus 3 +PassPower5.EXPS=EXP S +PassPower5.HatchingPlus1=Hatching Plus 1 +PassPower5.HatchingPlus2=Hatching Plus 2 +PassPower5.HatchingPlus3=Hatching Plus 3 +PassPower5.HatchingS=Hatching S +PassPower5.HatchMAX=Hatch MAX +PassPower5.HiddenGrottoMAX=Hidden Grotto MAX +PassPower5.HiddenGrottoPlus1=Hidden Grotto Plus 1 +PassPower5.HiddenGrottoPlus2=Hidden Grotto Plus 2 +PassPower5.HiddenGrottoPlus3=Hidden Grotto Plus 3 +PassPower5.HiddenGrottoS=Hidden Grotto S +PassPower5.HPFullRecoveryS=HP Full Recovery S +PassPower5.HPPlus1=HP Plus 1 +PassPower5.HPPlus2=HP Plus 2 +PassPower5.HPPlus3=HP Plus 3 +PassPower5.None=None +PassPower5.PPPlus1=PP Plus 1 +PassPower5.PPPlus2=PP Plus 2 +PassPower5.PPPlus3=PP Plus 3 +PassPower5.PrizeMoneyMAX=Prize Money MAX +PassPower5.PrizeMoneyPlus1=Prize Money Plus 1 +PassPower5.PrizeMoneyPlus2=Prize Money Plus 2 +PassPower5.PrizeMoneyPlus3=Prize Money Plus 3 +PassPower5.PrizeMoneyS=PrizeMoney S +PassPower5.SearchMAX=Search MAX +PassPower5.SearchPlus1=Search Plus 1 +PassPower5.SearchPlus2=Search Plus 2 +PassPower5.SearchPlus3=Search Plus 3 +PassPower5.SearchS=Search S +PlayerBattleStyle7.Elegant=Elegant +PlayerBattleStyle7.Girlish=Girlish +PlayerBattleStyle7.Idol=Idol +PlayerBattleStyle7.LeftHanded=LeftHanded +PlayerBattleStyle7.Nihilist=Nihilist +PlayerBattleStyle7.Normal=Normal +PlayerBattleStyle7.Passionate=Passionate +PlayerBattleStyle7.Reverent=Reverent +PlayerBattleStyle7.Smug=Smug +PlayerSkinColor7.DarkF=Dark (Female) +PlayerSkinColor7.DarkM=Dark (Male) +PlayerSkinColor7.DefaultF=Default (Female) +PlayerSkinColor7.DefaultM=Default (Male) +PlayerSkinColor7.PaleF=Pale (Female) +PlayerSkinColor7.PaleM=Pale (Male) +PlayerSkinColor7.TanF=Tan (Female) +PlayerSkinColor7.TanM=Tan (Male) +PokeSize.AV=AV +PokeSize.L=L +PokeSize.S=S +PokeSize.XL=XL +PokeSize.XS=XS +PokeSizeDetailed.AV=AV +PokeSizeDetailed.L=L +PokeSizeDetailed.S=S +PokeSizeDetailed.XL=XL +PokeSizeDetailed.XS=XS +PokeSizeDetailed.XXL=XXL +PokeSizeDetailed.XXS=XXS +PokeSizeDetailed.XXXL=XXXL +PokeSizeDetailed.XXXS=XXXS RibbonEditor.B_All=取得全部獎章 RibbonEditor.B_Cancel=取消 RibbonEditor.B_None=全部清除 @@ -1914,6 +2146,34 @@ SAV_ZygardeCell.L_Cells=儲存了: SAV_ZygardeCell.L_Collected=收集了: SettingsEditor.B_Reset=Reset All SettingsEditor.L_Blank=Blank Save Version: +Stamp7.AkalaPokedexCompletion=Akala Pokedex Completion +Stamp7.AkalaTrialCompletion=Akala Trial Completion +Stamp7.AlolaPokedexCompletion=Alola Pokedex Completion +Stamp7.ConsecutiveDoubleBattleWins50=50 Consecutive Double Battle Wins +Stamp7.ConsecutiveMultiBattleWins50=50 Consecutive MultiBattle Wins +Stamp7.ConsecutiveSingleBattleWins50=50 Consecutive Single Battle Wins +Stamp7.IslandChallengeCompletion=Island Challenge Completion +Stamp7.MelemelePokedexCompletion=Melemele Pokedex Completion +Stamp7.MelemeleTrialCompletion=Melemele Trial Completion +Stamp7.OfficialPokemonTrainer=Official Pokemon Trainer +Stamp7.PokeFinderPro=Poke Finder Pro +Stamp7.PoniPokedexCompletion=Poni Pokedex Completion +Stamp7.PoniTrialCompletion=Poni Trial Completion +Stamp7.UlaulaPokedexCompletion=Ula’ula Pokedex Completion +Stamp7.UlaulaTrialCompletion=Ula’ula Trial Completion +StatusCondition.Burn=Burn +StatusCondition.Freeze=Freeze +StatusCondition.None=None +StatusCondition.Paralysis=Paralysis +StatusCondition.Poison=Poison +StatusCondition.PoisonBad=Toxic +StatusCondition.Sleep1=Sleep (1 Turn) +StatusCondition.Sleep2=Sleep (2 Turn) +StatusCondition.Sleep3=Sleep (3 Turn) +StatusCondition.Sleep4=Sleep (4 Turn) +StatusCondition.Sleep5=Sleep (5 Turn) +StatusCondition.Sleep6=Sleep (6 Turn) +StatusCondition.Sleep7=Sleep (7 Turn) SuperTrainingEditor.B_All=獲得全部 SuperTrainingEditor.B_Cancel=取消 SuperTrainingEditor.B_None=全部清除 diff --git a/PKHeX.WinForms/Subforms/Save Editors/Gen5/SAV_Misc5.cs b/PKHeX.WinForms/Subforms/Save Editors/Gen5/SAV_Misc5.cs index 251f30680..ac009a427 100644 --- a/PKHeX.WinForms/Subforms/Save Editors/Gen5/SAV_Misc5.cs +++ b/PKHeX.WinForms/Subforms/Save Editors/Gen5/SAV_Misc5.cs @@ -297,7 +297,7 @@ public partial class SAV_Misc5 : Form { var pass = (Entralink5B2W2)entree; var ppv = Enum.GetValues(); - var ppn = Enum.GetNames(); + var ppn = WinFormsTranslator.GetEnumTranslation(Main.CurrentLanguage); var PassPowerB = new ComboItem[ppv.Length]; for (int i = 0; i < ppv.Length; i++) PassPowerB[i] = new ComboItem(ppn[i], (int)ppv[i]); @@ -321,7 +321,7 @@ public partial class SAV_Misc5 : Form NUD_EntreeWhiteEXP.SetValueClamped(block.WhiteEXP); NUD_EntreeBlackEXP.SetValueClamped(block.BlackEXP); - string[] FMTitles = Enum.GetNames(); + string[] FMTitles = WinFormsTranslator.GetEnumTranslation(Main.CurrentLanguage); LB_FunfestMissions.Items.Clear(); LB_FunfestMissions.Items.AddRange(FMTitles); diff --git a/PKHeX.WinForms/Subforms/Save Editors/Gen6/SAV_OPower.cs b/PKHeX.WinForms/Subforms/Save Editors/Gen6/SAV_OPower.cs index 395f08a9b..420b84a74 100644 --- a/PKHeX.WinForms/Subforms/Save Editors/Gen6/SAV_OPower.cs +++ b/PKHeX.WinForms/Subforms/Save Editors/Gen6/SAV_OPower.cs @@ -31,9 +31,9 @@ public partial class SAV_OPower : Form NUDBattle_B = [NUD_B0B, NUD_B1B, NUD_B2B, NUD_B3B, NUD_B4B, NUD_B5B, NUD_B6B]; // get names, without the "Count" enum value at the end. - var nameIndex = Enum.GetNames().AsSpan()[..^1]; - var nameField = Enum.GetNames().AsSpan()[..^1]; - var nameBattle = Enum.GetNames().AsSpan()[..^1]; + var nameIndex = WinFormsTranslator.GetEnumTranslation(Main.CurrentLanguage).AsSpan()[..^1]; + var nameField = WinFormsTranslator.GetEnumTranslation(Main.CurrentLanguage).AsSpan()[..^1]; + var nameBattle = WinFormsTranslator.GetEnumTranslation(Main.CurrentLanguage).AsSpan()[..^1]; foreach (string index in nameIndex) CLB_Unlock.Items.Add(index); for (int i = 0; i < nameField.Length; i++) diff --git a/PKHeX.WinForms/Subforms/Save Editors/Gen6/SAV_Trainer.cs b/PKHeX.WinForms/Subforms/Save Editors/Gen6/SAV_Trainer.cs index b4fd0c3c3..40f94e178 100644 --- a/PKHeX.WinForms/Subforms/Save Editors/Gen6/SAV_Trainer.cs +++ b/PKHeX.WinForms/Subforms/Save Editors/Gen6/SAV_Trainer.cs @@ -81,7 +81,7 @@ public partial class SAV_Trainer : Form CB_Region.InitializeBinding(); Main.SetCountrySubRegion(CB_Country, "countries"); - var names = Enum.GetNames(); + var names = WinFormsTranslator.GetEnumTranslation(Main.CurrentLanguage); var values = Enum.GetValues(); var max = SAV is not SAV6AO ? (int)TrainerSprite6.Trevor : names.Length; var data = new ComboItem[max]; diff --git a/PKHeX.WinForms/Subforms/Save Editors/Gen7/SAV_FestivalPlaza.cs b/PKHeX.WinForms/Subforms/Save Editors/Gen7/SAV_FestivalPlaza.cs index ace7f85ad..df9836c86 100644 --- a/PKHeX.WinForms/Subforms/Save Editors/Gen7/SAV_FestivalPlaza.cs +++ b/PKHeX.WinForms/Subforms/Save Editors/Gen7/SAV_FestivalPlaza.cs @@ -177,12 +177,7 @@ public partial class SAV_FestivalPlaza : Form private static ReadOnlySpan RewardState => [ 0, 2, 1 ]; // CheckState.Indeterminate <-> CheckState.Checked private readonly int typeMAX; private readonly FestaFacility[] f = new FestaFacility[JoinFesta7.FestaFacilityCount]; - private readonly string[] RES_Color = Enum.GetNames(); - - public enum FestivalPlazaFacilityColor : byte - { - Red, Blue, Gold, Black, Purple, Yellow, Brown, Green, Orange, NavyBlue, Pink, White, - } + private readonly string[] RES_Color = WinFormsTranslator.GetEnumTranslation(Main.CurrentLanguage); private readonly byte[][] RES_FacilityColor = //facility appearance [ diff --git a/PKHeX.WinForms/Subforms/Save Editors/Gen7/SAV_Trainer7.cs b/PKHeX.WinForms/Subforms/Save Editors/Gen7/SAV_Trainer7.cs index dfe490bcd..054632c9e 100644 --- a/PKHeX.WinForms/Subforms/Save Editors/Gen7/SAV_Trainer7.cs +++ b/PKHeX.WinForms/Subforms/Save Editors/Gen7/SAV_Trainer7.cs @@ -1,5 +1,4 @@ using System; -using System.Collections.Generic; using System.Linq; using System.Windows.Forms; using PKHeX.Core; @@ -15,6 +14,11 @@ public partial class SAV_Trainer7 : Form { InitializeComponent(); WinFormsUtil.TranslateInterface(this, Main.CurrentLanguage); + + BattleStyles = WinFormsTranslator.GetEnumTranslation(Main.CurrentLanguage); + if (SAV is not SAV7USUM) + BattleStyles = BattleStyles[..^1]; // remove Nihilist + SAV = (SAV7)(Origin = sav).Clone(); Loading = true; if (Main.Unicode) @@ -45,8 +49,7 @@ public partial class SAV_Trainer7 : Form private readonly bool Loading; private bool MapUpdated; - private static readonly string[] AllStyles = Enum.GetNames(); - private readonly List BattleStyles = [..AllStyles]; + private readonly string[] BattleStyles; private int[] FlyDestFlagOfs = null!, MapUnmaskFlagOfs = null!; private int SkipFlag => SAV is SAV7USUM ? 4160 : 3200; // FlagMax - 768 @@ -65,14 +68,13 @@ public partial class SAV_Trainer7 : Form Main.SetCountrySubRegion(CB_Country, "countries"); CB_SkinColor.Items.Clear(); - CB_SkinColor.Items.AddRange(Enum.GetNames()); + CB_SkinColor.Items.AddRange(WinFormsTranslator.GetEnumTranslation(Main.CurrentLanguage)); + var strings = GameInfo.Strings; L_Vivillon.Text = GameInfo.Strings.Species[(int)Species.Vivillon] + ":"; CB_Vivillon.InitializeBinding(); - CB_Vivillon.DataSource = FormConverter.GetFormList((int)Species.Vivillon, GameInfo.Strings.types, GameInfo.Strings.forms, Main.GenderSymbols, SAV.Context); + CB_Vivillon.DataSource = FormConverter.GetFormList((int)Species.Vivillon, strings.types, strings.forms, Main.GenderSymbols, SAV.Context); - if (SAV is not SAV7USUM) - BattleStyles.RemoveAt(BattleStyles.Count - 1); // remove Nihilist foreach (string t in BattleStyles) { CB_BallThrowType.Items.Add(t); @@ -80,9 +82,7 @@ public partial class SAV_Trainer7 : Form LB_BallThrowTypeLearned.Items.Add(t); } - var stamps = Enum.GetNames().Select(z => z.Replace("_", " ")); - foreach (string t in stamps) - LB_Stamps.Items.Add(t); + LB_Stamps.Items.AddRange(WinFormsTranslator.GetEnumTranslation(Main.CurrentLanguage)); } private static ComboItem[] GetAlolaTimeList() @@ -217,11 +217,11 @@ public partial class SAV_Trainer7 : Form const int learnedStart = 3479; LB_BallThrowTypeUnlocked.SetSelected(0, true); LB_BallThrowTypeUnlocked.SetSelected(1, true); - for (int i = 2; i < BattleStyles.Count; i++) + for (int i = 2; i < BattleStyles.Length; i++) LB_BallThrowTypeUnlocked.SetSelected(i, SAV.EventWork.GetEventFlag(unlockStart + i)); LB_BallThrowTypeLearned.SetSelected(0, true); - for (int i = 1; i < BattleStyles.Count; i++) + for (int i = 1; i < BattleStyles.Length; i++) LB_BallThrowTypeLearned.SetSelected(i, SAV.EventWork.GetEventFlag(learnedStart + i)); CB_BallThrowTypeListMode.SelectedIndex = 0; @@ -418,9 +418,9 @@ public partial class SAV_Trainer7 : Form const int unlockStart = 292; const int learnedStart = 3479; - for (int i = 2; i < BattleStyles.Count; i++) + for (int i = 2; i < BattleStyles.Length; i++) SAV.EventWork.SetEventFlag(unlockStart + i, LB_BallThrowTypeUnlocked.GetSelected(i)); - for (int i = 1; i < BattleStyles.Count; i++) + for (int i = 1; i < BattleStyles.Length; i++) SAV.EventWork.SetEventFlag(learnedStart + i, LB_BallThrowTypeLearned.GetSelected(i)); } diff --git a/PKHeX.WinForms/Util/DevUtil.cs b/PKHeX.WinForms/Util/DevUtil.cs index 46cbc58e8..498ac833f 100644 --- a/PKHeX.WinForms/Util/DevUtil.cs +++ b/PKHeX.WinForms/Util/DevUtil.cs @@ -17,7 +17,7 @@ namespace PKHeX.WinForms } private static readonly string[] Languages = ["ja", "fr", "it", "de", "es", "ko", "zh", "zh2"]; - private const string DefaultLanguage = GameLanguage.DefaultLanguage; + private static string DefaultLanguage => Main.CurrentLanguage; public static bool IsUpdatingTranslations { get; private set; } @@ -50,24 +50,21 @@ namespace PKHeX.WinForms { var assembly = System.Reflection.Assembly.GetExecutingAssembly(); var types = assembly.GetTypes(); - // add mode - WinFormsTranslator.SetRemovalMode(false); - WinFormsTranslator.LoadSettings(DefaultLanguage); - WinFormsTranslator.LoadAllForms(types, LoadBanlist); // populate with every possible control - WinFormsTranslator.TranslateControls(GetExtraControls()); - WinFormsTranslator.UpdateAll(DefaultLanguage, Languages); // propagate to others - WinFormsTranslator.DumpAll(Banlist); // dump current to file - // de-populate - WinFormsTranslator.SetRemovalMode(); // remove used keys, don't add any - WinFormsTranslator.LoadSettings(DefaultLanguage, false); - WinFormsTranslator.LoadAllForms(types, LoadBanlist); - WinFormsTranslator.TranslateControls(GetExtraControls()); - WinFormsTranslator.RemoveAll(DefaultLanguage, []); // remove all lines from above generated files that still remain + // Trigger a translation then dump all. + foreach (var lang in Languages) // get all languages ready to go + _ = WinFormsTranslator.GetDictionary(lang); + WinFormsTranslator.SetUpdateMode(); + WinFormsTranslator.LoadSettings(DefaultLanguage); + WinFormsTranslator.LoadEnums(EnumTypesToTranslate, DefaultLanguage); + WinFormsTranslator.LoadAllForms(types, LoadBanlist); // populate with every possible control + WinFormsTranslator.TranslateControls(GetExtraControls(), DefaultLanguage); + var dir = GetResourcePath("PKHeX.WinForms", "Resources", "text"); + WinFormsTranslator.DumpAll(DefaultLanguage, Banlist, dir); // dump current to file + WinFormsTranslator.SetUpdateMode(false); // Move translated files from the debug exe loc to their project location var files = Directory.GetFiles(Application.StartupPath); - var dir = GetResourcePath("PKHeX.WinForms", "Resources", "text"); foreach (var f in files) { var fn = Path.GetFileName(f); @@ -85,6 +82,23 @@ namespace PKHeX.WinForms Application.Exit(); } + private static readonly Type[] EnumTypesToTranslate = + [ + typeof(StatusCondition), + typeof(PokeSize), + typeof(PokeSizeDetailed), + + typeof(PassPower5), + typeof(Funfest5Mission), + typeof(OPower6Index), + typeof(OPower6FieldType), + typeof(OPower6BattleType), + typeof(PlayerBattleStyle7), + typeof(PlayerSkinColor7), + typeof(Stamp7), + typeof(FestivalPlazaFacilityColor), + ]; + private static IEnumerable GetExtraControls() { var slotGroupLabels = Enum.GetNames(); @@ -100,11 +114,11 @@ namespace PKHeX.WinForms private static readonly string[] Banlist = [ - ..LoadBanlist, "Gender=", // editor gender labels "BTN_Shinytize", // ☆ "Hidden_", // Hidden controls "CAL_", // calendar controls now expose Text, don't care. + ".Count", // enum count $"{nameof(Main)}.L_SizeH", // height rating $"{nameof(Main)}.L_SizeW", // weight rating $"{nameof(Main)}.L_SizeS", // scale rating diff --git a/PKHeX.WinForms/Util/WinFormsTranslator.cs b/PKHeX.WinForms/Util/WinFormsTranslator.cs index 6dff310db..da5291f4b 100644 --- a/PKHeX.WinForms/Util/WinFormsTranslator.cs +++ b/PKHeX.WinForms/Util/WinFormsTranslator.cs @@ -1,8 +1,11 @@ using System; using System.Collections.Generic; +using System.Diagnostics.CodeAnalysis; using System.IO; using System.Linq; using System.Reflection; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; using System.Windows.Forms; using PKHeX.Core; @@ -14,6 +17,19 @@ public static class WinFormsTranslator private static readonly Dictionary Context = []; internal static void TranslateInterface(this Control form, string lang) => TranslateForm(form, GetContext(lang)); + internal static string TranslateEnum(T value, string lang) where T : Enum => + TranslateEnum(typeof(T).Name, value.ToString(), lang); + + internal static string[] GetEnumTranslation(string lang) + { + var type = typeof(T); + var names = Enum.GetNames(type); + var result = new string[names.Length]; + for (int i = 0; i < names.Length; i++) + result[i] = TranslateEnum(type.Name, names[i], lang); + return result; + } + private static string GetTranslationFileNameInternal(ReadOnlySpan lang) => $"lang_{lang}"; private static string GetTranslationFileNameExternal(ReadOnlySpan lang) => $"lang_{lang}.txt"; @@ -46,13 +62,11 @@ public static class WinFormsTranslator form.ResumeLayout(); } - internal static void TranslateControls(IEnumerable controls) + internal static void TranslateControls(IEnumerable controls, string baseLanguage) { + var context = GetContext(baseLanguage); foreach (var c in controls) - { - foreach (var context in Context.Values) - context.GetTranslatedText(c.Name, c.Text); - } + context.GetTranslatedText(c.Name, c.Text); } private static string GetSaneFormName(string formName) @@ -69,6 +83,13 @@ public static class WinFormsTranslator }; } + private static string TranslateEnum(string type, string value, string lang) + { + var context = GetContext(lang); + var key = $"{type}.{value}"; + return context.GetTranslatedText(key, value); + } + private static void TranslateControl(object c, TranslationContext context, ReadOnlySpan formname) { if (c is Control r) @@ -172,45 +193,26 @@ public static class WinFormsTranslator } #if DEBUG - public static void UpdateAll(string baseLanguage, IEnumerable others) + public static void DumpAll(string baseLang, ReadOnlySpan banlist, string dir) { - var baseContext = GetContext(baseLanguage); - foreach (var lang in others) - { - var c = GetContext(lang); - c.UpdateFrom(baseContext); - } - } + var context = Context[baseLang]; + context.RemoveBannedEntries(banlist); - public static void DumpAll(ReadOnlySpan banlist) - { + // Reload all contexts foreach (var (lang, value) in Context) { - var fn = GetTranslationFileNameExternal(lang); - var lines = value.Write(); + if (lang != baseLang) + value.CopyFrom(context); + var exist = GetTranslationFile(lang); + value.UpdateFrom(exist); // Write a new file. - using var fs = new StreamWriter(fn); - foreach (var line in lines) - { - // Ensure line isn't banned. - if (IsBannedContains(line, banlist)) - continue; - fs.WriteLine(line); - } + var fn = GetTranslationFileNameExternal(lang); + var lines = value.Write(); + File.WriteAllLines(Path.Combine(dir, fn), lines); } } - private static bool IsBannedContains(ReadOnlySpan line, ReadOnlySpan banlist) - { - foreach (var banned in banlist) - { - if (line.Contains(banned, StringComparison.Ordinal)) - return true; - } - return false; - } - private static bool IsBannedStartsWith(ReadOnlySpan line, ReadOnlySpan banlist) { foreach (var banned in banlist) @@ -245,47 +247,16 @@ public static class WinFormsTranslator } } - public static void SetRemovalMode(bool status = true) + public static void SetUpdateMode(bool status = true) { - foreach (TranslationContext c in Context.Values) - { - c.RemoveUsedKeys = status; - c.AddNew = !status; - } - } - - public static void RemoveAll(string defaultLanguage, ReadOnlySpan banlist) - { - var badKeys = Context[defaultLanguage]; - var skipExports = GetSkips(banlist, badKeys); foreach (var c in Context) { - var lang = c.Key; - var fn = GetTranslationFileNameExternal(lang); - var lines = File.ReadAllLines(fn); - var result = lines.Where(l => !skipExports.Any(l.StartsWith)); - File.WriteAllLines(fn, result); + if (status) + c.Value.Clear(); + c.Value.AddNew = status; } } - private static string[] GetSkips(ReadOnlySpan banlist, TranslationContext badKeys) - { - List split = []; - foreach (var line in badKeys.Write()) - { - var index = line.IndexOf(TranslationContext.Separator); - if (index < 0) - continue; - var key = line.AsSpan(0, index); - if (!IsBannedStartsWith(key, banlist)) - split.Add(line[..(index+1)]); - } - - if (split.Count == 0) - return []; - return [..split]; - } - public static void LoadSettings(string defaultLanguage, bool add = true) { var context = (Dictionary)Context[defaultLanguage].Lookup; @@ -323,16 +294,31 @@ public static class WinFormsTranslator LoadSettings(add, t, context); } } + + public static void LoadEnums(ReadOnlySpan enumTypesToTranslate, string defaultLanguage) + { + var context = (Dictionary)Context[defaultLanguage].Lookup; + foreach (var t in enumTypesToTranslate) + { + var names = Enum.GetNames(t); + foreach (var name in names) + { + var key = $"{t.Name}.{name}"; + context.Add(key, name); + } + } + } #endif } public sealed class TranslationContext { - public bool AddNew { private get; set; } - public bool RemoveUsedKeys { private get; set; } public const char Separator = '='; private readonly Dictionary Translation = []; public IReadOnlyDictionary Lookup => Translation; + public bool AddNew { get; set; } + + public void Clear() => Translation.Clear(); public TranslationContext(ReadOnlySpan content, char separator = Separator) { @@ -350,11 +336,9 @@ public sealed class TranslationContext Translation.TryAdd(key, value); } + [return: NotNullIfNotNull(nameof(fallback))] public string? GetTranslatedText(string val, string? fallback) { - if (RemoveUsedKeys) - Translation.Remove(val); - if (Translation.TryGetValue(val, out var translated)) return translated; @@ -368,12 +352,55 @@ public sealed class TranslationContext return Translation.Select(z => $"{z.Key}{separator}{z.Value}").OrderBy(z => z.Contains('.')).ThenBy(z => z); } - public void UpdateFrom(TranslationContext other) + public void UpdateFrom(ReadOnlySpan lines) { - bool oldAdd = AddNew; - AddNew = true; - foreach (var kvp in other.Translation) - GetTranslatedText(kvp.Key, kvp.Value); - AddNew = oldAdd; + foreach (var line in lines) + { + var split = line.IndexOf(Separator); + if (split < 0) + continue; + var key = line[..split]; + + ref var exist = ref CollectionsMarshal.GetValueRefOrNullRef(Translation, key); + if (!Unsafe.IsNullRef(ref exist)) + exist = line[(split + 1)..]; + } + } + + public void RemoveBannedEntries(ReadOnlySpan banlist) + { + var badKeys = new List(); + foreach (var (key, _) in Translation) + { + if (IsBannedContains(key, banlist)) + badKeys.Add(key); + + static bool IsBannedContains(ReadOnlySpan key, ReadOnlySpan banlist) + { + foreach (var line in banlist) + { + if (line.EndsWith(Separator)) + { + if (key.EndsWith(line.AsSpan()[..^1], StringComparison.Ordinal)) + return true; + } + else + { + if (key.Contains(line, StringComparison.Ordinal)) + return true; + } + } + return false; + } + } + + foreach (var key in badKeys) + Translation.Remove(key); + } + + public void CopyFrom(TranslationContext other) + { + foreach (var (key, value) in other.Translation) + Translation.Add(key, value); } }