aboutsummaryrefslogtreecommitdiff
path: root/ShiftOS.WinForms/WFLanguageProvider.cs
diff options
context:
space:
mode:
Diffstat (limited to 'ShiftOS.WinForms/WFLanguageProvider.cs')
-rw-r--r--ShiftOS.WinForms/WFLanguageProvider.cs49
1 files changed, 49 insertions, 0 deletions
diff --git a/ShiftOS.WinForms/WFLanguageProvider.cs b/ShiftOS.WinForms/WFLanguageProvider.cs
new file mode 100644
index 0000000..d334345
--- /dev/null
+++ b/ShiftOS.WinForms/WFLanguageProvider.cs
@@ -0,0 +1,49 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using Newtonsoft.Json;
+using ShiftOS.Engine;
+using ShiftOS.Objects.ShiftFS;
+
+namespace ShiftOS.WinForms
+{
+ public class WFLanguageProvider : ILanguageProvider
+ {
+ public string[] GetAllLanguages()
+ {
+ return JsonConvert.DeserializeObject<string[]>(Properties.Resources.languages);
+ }
+
+ public string GetCurrentTranscript()
+ {
+ switch (SaveSystem.CurrentSave.Language)
+ {
+ case "deutsch - in beta":
+ return Properties.Resources.strings_de;
+ default:
+ return getDefault();
+
+ }
+ }
+
+ public List<string> GetJSONTranscripts()
+ {
+ var strings = new List<string>();
+ strings.Add(Properties.Resources.strings_en);
+ strings.Add(Properties.Resources.strings_de);
+ return strings;
+ }
+
+ public void WriteDefaultTranscript()
+ {
+ Utils.WriteAllText(Paths.GetPath("english.local"), getDefault());
+ }
+
+ private string getDefault()
+ {
+ return Properties.Resources.strings_en;
+ }
+ }
+}