Add more game languages and make game names translatable

Game languages added:
- Spanish (Mexico)
- British English
- Portuguese (Portugal)
- Swedish
- Thai
- Indonesian
- Vietnamese (Vietnam)
This commit is contained in:
GMatrixGames
2020-10-12 18:42:15 -04:00
parent db1f5a225f
commit 231ffeb0f7
8 changed files with 602 additions and 355 deletions

View File

@@ -42,21 +42,28 @@
public enum ELanguage : long public enum ELanguage : long
{ {
English, English,
AustralianEnglish,
BritishEnglish,
French, French,
German, German,
Italian, Italian,
Spanish, Spanish,
SpanishLatin, SpanishLatin,
SpanishMexico,
Arabic, Arabic,
Japanese, Japanese,
Korean, Korean,
Polish, Polish,
PortugueseBrazil, PortugueseBrazil,
PortuguesePortugal,
Russian, Russian,
Turkish, Turkish,
Chinese, Chinese,
TraditionalChinese, TraditionalChinese,
AustralianEnglish Swedish,
Thai,
Indonesian,
VietnameseVietnam
} }
public enum EJsonType: long public enum EJsonType: long

View File

@@ -3,6 +3,7 @@ using PakReader.Parsers.Objects;
using System; using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.Windows; using System.Windows;
using FModel.Properties;
using ToastNotifications; using ToastNotifications;
using ToastNotifications.Lifetime; using ToastNotifications.Lifetime;
using ToastNotifications.Position; using ToastNotifications.Position;
@@ -52,17 +53,17 @@ namespace FModel
{ {
return ActualGame switch return ActualGame switch
{ {
EGame.Fortnite => "Fortnite", EGame.Fortnite => Resources.GameName_Fortnite,
EGame.Valorant => "Valorant", EGame.Valorant => Resources.GameName_Valorant,
EGame.DeadByDaylight => "Dead By Daylight", EGame.DeadByDaylight => Resources.GameName_DeadByDaylight,
EGame.Borderlands3 => "Borderlands 3", EGame.Borderlands3 => Resources.GameName_Borderlands3,
EGame.MinecraftDungeons => "Minecraft Dungeons", EGame.MinecraftDungeons => Resources.GameName_MinecraftDungeons,
EGame.BattleBreakers => "Battle Breakers", EGame.BattleBreakers => Resources.GameName_BattleBreakers,
EGame.Spellbreak => "Spellbreak", EGame.Spellbreak => Resources.GameName_Spellbreak,
EGame.StateOfDecay2 => "State of Decay 2", EGame.StateOfDecay2 => Resources.GameName_StateofDecay2,
EGame.TheCycleEA => "The Cycle (Early Access)", EGame.TheCycleEA => Resources.GameName_TheCycle,
EGame.Unknown => "Unknown", EGame.Unknown => "Unknown",
_ => "Unknown", _ => "Unknown"
}; };
} }
} }

File diff suppressed because it is too large Load Diff

View File

@@ -1091,4 +1091,55 @@ It's now the most used free software to leak on Fortnite.</value>
<data name="ResetSettings" xml:space="preserve"> <data name="ResetSettings" xml:space="preserve">
<value>Reset Settings</value> <value>Reset Settings</value>
</data> </data>
<data name="GameName_Fortnite" xml:space="preserve">
<value>Fortnite</value>
</data>
<data name="GameName_Valorant" xml:space="preserve">
<value>Valorant</value>
</data>
<data name="GameName_DeadByDaylight" xml:space="preserve">
<value>Dead By Daylight</value>
</data>
<data name="GameName_Borderlands3" xml:space="preserve">
<value>Borderlands 3</value>
</data>
<data name="GameName_MinecraftDungeons" xml:space="preserve">
<value>Minecraft Dungeons</value>
</data>
<data name="AustralianEnglish" xml:space="preserve">
<value>Australian English</value>
</data>
<data name="BritishEnglish" xml:space="preserve">
<value>British English</value>
</data>
<data name="PortuguesePortugal" xml:space="preserve">
<value>Portuguese (Portugal)</value>
</data>
<data name="SpanishMexico" xml:space="preserve">
<value>Spanish (Mexico)</value>
</data>
<data name="Swedish" xml:space="preserve">
<value>Swedish</value>
</data>
<data name="Thai" xml:space="preserve">
<value>Thai</value>
</data>
<data name="Indonesian" xml:space="preserve">
<value>Indonesian</value>
</data>
<data name="VietnameseVietnam" xml:space="preserve">
<value>Vietnamese (Vietnam)</value>
</data>
<data name="GameName_BattleBreakers" xml:space="preserve">
<value>Battle Breakers</value>
</data>
<data name="GameName_Spellbreak" xml:space="preserve">
<value>Spellbreak</value>
</data>
<data name="GameName_StateofDecay2" xml:space="preserve">
<value>State of Decay 2</value>
</data>
<data name="GameName_TheCycle" xml:space="preserve">
<value>The Cycle</value>
</data>
</root> </root>

View File

@@ -796,4 +796,31 @@
<data name="Fat" xml:space="preserve"> <data name="Fat" xml:space="preserve">
<value>厚</value> <value>厚</value>
</data> </data>
<data name="GameName_Fortnite" xml:space="preserve">
<value>堡垒之夜</value>
</data>
<data name="GameName_Valorant" xml:space="preserve">
<value>无畏契约</value>
</data>
<data name="GameName_MinecraftDungeons" xml:space="preserve">
<value>我的世界地牢</value>
</data>
<data name="GameName_Borderlands3" xml:space="preserve">
<value>无主之地3</value>
</data>
<data name="GameName_BattleBreakers" xml:space="preserve">
<value>《BATTLE BREAKERS》</value>
</data>
<data name="GameName_Spellbreak" xml:space="preserve">
<value>《Spellbreak》</value>
</data>
<data name="GameName_StateofDecay2" xml:space="preserve">
<value>《State of Decay 2》</value>
</data>
<data name="GameName_DeadByDaylight" xml:space="preserve">
<value>《Dead by Daylight》</value>
</data>
<data name="GameName_TheCycle" xml:space="preserve">
<value>《The Cycle》</value>
</data>
</root> </root>

View File

@@ -147,9 +147,6 @@ namespace FModel.Utils
else if (Globals.Game.ActualGame == EGame.Valorant) else if (Globals.Game.ActualGame == EGame.Valorant)
return lang switch return lang switch
{ {
//Indonesian id-ID
//Thailand th-TH
//Vietnam vi-VN
ELanguage.English => "en-US", ELanguage.English => "en-US",
ELanguage.French => "fr-FR", ELanguage.French => "fr-FR",
ELanguage.German => "de-DE", ELanguage.German => "de-DE",
@@ -165,12 +162,14 @@ namespace FModel.Utils
ELanguage.Turkish => "tr-TR", ELanguage.Turkish => "tr-TR",
ELanguage.Chinese => "zh-CN", ELanguage.Chinese => "zh-CN",
ELanguage.TraditionalChinese => "zh-TW", ELanguage.TraditionalChinese => "zh-TW",
ELanguage.Thai => "th-TH",
ELanguage.VietnameseVietnam => "vi-VN",
ELanguage.Indonesian => "id-ID",
_ => "en", _ => "en",
}; };
else if (Globals.Game.ActualGame == EGame.DeadByDaylight) else if (Globals.Game.ActualGame == EGame.DeadByDaylight)
return lang switch return lang switch
{ {
//Thailand th
ELanguage.English => "en", ELanguage.English => "en",
ELanguage.French => "fr", ELanguage.French => "fr",
ELanguage.German => "de", ELanguage.German => "de",
@@ -186,25 +185,26 @@ namespace FModel.Utils
ELanguage.Turkish => "tr", ELanguage.Turkish => "tr",
ELanguage.Chinese => "zh-Hans", ELanguage.Chinese => "zh-Hans",
ELanguage.TraditionalChinese => "zh-Hant", ELanguage.TraditionalChinese => "zh-Hant",
ELanguage.Thai => "th",
_ => "en", _ => "en",
}; };
else if (Globals.Game.ActualGame == EGame.MinecraftDungeons) else if (Globals.Game.ActualGame == EGame.MinecraftDungeons)
return lang switch return lang switch
{ {
//Swedish sv-SE
//Mexican Spanish es-MX
//Portugal Portuguese pt-PT
//British English en-GB
ELanguage.English => "en", ELanguage.English => "en",
ELanguage.BritishEnglish => "en-GB",
ELanguage.French => "fr-FR", ELanguage.French => "fr-FR",
ELanguage.German => "de-DE", ELanguage.German => "de-DE",
ELanguage.Italian => "it-IT", ELanguage.Italian => "it-IT",
ELanguage.Spanish => "es-ES", ELanguage.Spanish => "es-ES",
ELanguage.SpanishMexico => "es-MX",
ELanguage.Japanese => "ja-JP", ELanguage.Japanese => "ja-JP",
ELanguage.Korean => "ko-KR", ELanguage.Korean => "ko-KR",
ELanguage.Polish => "pl-PL", ELanguage.Polish => "pl-PL",
ELanguage.PortugueseBrazil => "pt-BR", ELanguage.PortugueseBrazil => "pt-BR",
ELanguage.PortuguesePortugal => "pt-PT",
ELanguage.Russian => "ru-RU", ELanguage.Russian => "ru-RU",
ELanguage.Swedish => "sv-SE",
_ => "en" _ => "en"
}; };
else if (Globals.Game.ActualGame == EGame.BattleBreakers) else if (Globals.Game.ActualGame == EGame.BattleBreakers)
@@ -244,9 +244,9 @@ namespace FModel.Utils
ELanguage.PortugueseBrazil => "pt-BR", ELanguage.PortugueseBrazil => "pt-BR",
ELanguage.Italian => "it-IT", ELanguage.Italian => "it-IT",
ELanguage.French => "fr-FR", ELanguage.French => "fr-FR",
ELanguage.SpanishLatin => "es-MX", ELanguage.SpanishMexico => "es-MX",
ELanguage.German => "de-DE", ELanguage.German => "de-DE",
_ => "en" _ => "en-US"
}; };
else if (Globals.Game.ActualGame == EGame.TheCycleEA) else if (Globals.Game.ActualGame == EGame.TheCycleEA)
return lang switch return lang switch

View File

@@ -52,20 +52,28 @@ namespace FModel.ViewModels.ComboBox
public static ObservableCollection<ComboBoxViewModel> languageCbViewModel = new ObservableCollection<ComboBoxViewModel> public static ObservableCollection<ComboBoxViewModel> languageCbViewModel = new ObservableCollection<ComboBoxViewModel>
{ {
new ComboBoxViewModel { Id = 0, Content = Properties.Resources.English, Property = ELanguage.English }, new ComboBoxViewModel { Id = 0, Content = Properties.Resources.English, Property = ELanguage.English },
new ComboBoxViewModel { Id = 1, Content = Properties.Resources.French, Property = ELanguage.French }, new ComboBoxViewModel { Id = 1, Content = Properties.Resources.AustralianEnglish, Property = ELanguage.AustralianEnglish },
new ComboBoxViewModel { Id = 2, Content = Properties.Resources.German, Property = ELanguage.German }, new ComboBoxViewModel { Id = 2, Content = Properties.Resources.BritishEnglish, Property = ELanguage.BritishEnglish },
new ComboBoxViewModel { Id = 3, Content = Properties.Resources.Italian, Property = ELanguage.Italian }, new ComboBoxViewModel { Id = 3, Content = Properties.Resources.French, Property = ELanguage.French },
new ComboBoxViewModel { Id = 4, Content = Properties.Resources.Spanish, Property = ELanguage.Spanish }, new ComboBoxViewModel { Id = 4, Content = Properties.Resources.German, Property = ELanguage.German },
new ComboBoxViewModel { Id = 5, Content = Properties.Resources.SpanishLatin, Property = ELanguage.SpanishLatin }, new ComboBoxViewModel { Id = 5, Content = Properties.Resources.Italian, Property = ELanguage.Italian },
new ComboBoxViewModel { Id = 6, Content = Properties.Resources.Arabic, Property = ELanguage.Arabic }, new ComboBoxViewModel { Id = 6, Content = Properties.Resources.Spanish, Property = ELanguage.Spanish },
new ComboBoxViewModel { Id = 7, Content = Properties.Resources.Japanese, Property = ELanguage.Japanese }, new ComboBoxViewModel { Id = 7, Content = Properties.Resources.SpanishLatin, Property = ELanguage.SpanishLatin },
new ComboBoxViewModel { Id = 8, Content = Properties.Resources.Korean, Property = ELanguage.Korean }, new ComboBoxViewModel { Id = 8, Content = Properties.Resources.SpanishMexico, Property = ELanguage.SpanishMexico },
new ComboBoxViewModel { Id = 9, Content = Properties.Resources.Polish, Property = ELanguage.Polish }, new ComboBoxViewModel { Id = 9, Content = Properties.Resources.Arabic, Property = ELanguage.Arabic },
new ComboBoxViewModel { Id = 10, Content = Properties.Resources.PortugueseBrazil, Property = ELanguage.PortugueseBrazil }, new ComboBoxViewModel { Id = 10, Content = Properties.Resources.Japanese, Property = ELanguage.Japanese },
new ComboBoxViewModel { Id = 11, Content = Properties.Resources.Russian, Property = ELanguage.Russian }, new ComboBoxViewModel { Id = 11, Content = Properties.Resources.Korean, Property = ELanguage.Korean },
new ComboBoxViewModel { Id = 12, Content = Properties.Resources.Turkish, Property = ELanguage.Turkish }, new ComboBoxViewModel { Id = 12, Content = Properties.Resources.Polish, Property = ELanguage.Polish },
new ComboBoxViewModel { Id = 13, Content = Properties.Resources.Chinese, Property = ELanguage.Chinese }, new ComboBoxViewModel { Id = 13, Content = Properties.Resources.PortugueseBrazil, Property = ELanguage.PortugueseBrazil },
new ComboBoxViewModel { Id = 14, Content = Properties.Resources.TraditionalChinese, Property = ELanguage.TraditionalChinese } new ComboBoxViewModel { Id = 14, Content = Properties.Resources.PortuguesePortugal, Property = ELanguage.PortuguesePortugal },
new ComboBoxViewModel { Id = 15, Content = Properties.Resources.Russian, Property = ELanguage.Russian },
new ComboBoxViewModel { Id = 16, Content = Properties.Resources.Turkish, Property = ELanguage.Turkish },
new ComboBoxViewModel { Id = 17, Content = Properties.Resources.Chinese, Property = ELanguage.Chinese },
new ComboBoxViewModel { Id = 18, Content = Properties.Resources.TraditionalChinese, Property = ELanguage.TraditionalChinese },
new ComboBoxViewModel { Id = 19, Content = Properties.Resources.Swedish, Property = ELanguage.Swedish },
new ComboBoxViewModel { Id = 20, Content = Properties.Resources.Thai, Property = ELanguage.Thai },
new ComboBoxViewModel { Id = 21, Content = Properties.Resources.Indonesian, Property = ELanguage.Indonesian },
new ComboBoxViewModel { Id = 22, Content = Properties.Resources.VietnameseVietnam, Property = ELanguage.VietnameseVietnam }
}; };
public static ObservableCollection<ComboBoxViewModel> jsonCbViewModel = new ObservableCollection<ComboBoxViewModel> public static ObservableCollection<ComboBoxViewModel> jsonCbViewModel = new ObservableCollection<ComboBoxViewModel>

View File

@@ -37,11 +37,11 @@ namespace FModel.Windows.Settings
_outputPath = Properties.Settings.Default.OutputPath; _outputPath = Properties.Settings.Default.OutputPath;
_useDiscordRpc = Properties.Settings.Default.UseDiscordRpc; _useDiscordRpc = Properties.Settings.Default.UseDiscordRpc;
FLanguages_CbBox.ItemsSource = ComboBoxVm.programLanguageCbViewModel; FLanguages_CbBox.ItemsSource = ComboBoxVm.programLanguageCbViewModel;
FLanguages_CbBox.SelectedItem = ComboBoxVm.programLanguageCbViewModel.Where(x => x.Id == Properties.Settings.Default.ProgramLanguage).FirstOrDefault(); FLanguages_CbBox.SelectedItem = ComboBoxVm.programLanguageCbViewModel.FirstOrDefault(x => x.Id == Properties.Settings.Default.ProgramLanguage);
Languages_CbBox.ItemsSource = ComboBoxVm.languageCbViewModel; Languages_CbBox.ItemsSource = ComboBoxVm.languageCbViewModel;
Languages_CbBox.SelectedItem = ComboBoxVm.languageCbViewModel.Where(x => x.Id == Properties.Settings.Default.AssetsLanguage).FirstOrDefault(); Languages_CbBox.SelectedItem = ComboBoxVm.languageCbViewModel.FirstOrDefault(x => x.Id == Properties.Settings.Default.AssetsLanguage);
Json_CbBox.ItemsSource = ComboBoxVm.jsonCbViewModel; Json_CbBox.ItemsSource = ComboBoxVm.jsonCbViewModel;
Json_CbBox.SelectedItem = ComboBoxVm.jsonCbViewModel.Where(x => x.Id == Properties.Settings.Default.AssetsJsonType).FirstOrDefault(); Json_CbBox.SelectedItem = ComboBoxVm.jsonCbViewModel.FirstOrDefault(x => x.Id == Properties.Settings.Default.AssetsJsonType);
} }
private async Task SaveAndExit() private async Task SaveAndExit()