Skip to content

Commit 65faec9

Browse files
committed
SG : Translation(en , zh-CN , zh-TW)
1 parent d5e9355 commit 65faec9

File tree

5 files changed

+389
-46
lines changed

5 files changed

+389
-46
lines changed
Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
using System;
2+
using System.Collections.Generic;
3+
using System.Runtime.CompilerServices;
4+
using System.Text;
5+
6+
namespace PCCSettingsGenerator
7+
{
8+
public enum LanguageType
9+
{
10+
en,
11+
zh_TW,
12+
zh_CN
13+
}
14+
15+
public static class LanguageTypeUtils
16+
{
17+
public static string ToString(LanguageType language)
18+
{
19+
return language.ToString().Replace("_" , "-");
20+
}
21+
22+
public static bool TryPrase(string name , out LanguageType language)
23+
{
24+
return Enum.TryParse<LanguageType>(name.Replace("-" , "_") , out language);
25+
}
26+
}
27+
}

PCCSettingsCalculator/Program.cs

Lines changed: 17 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -41,22 +41,9 @@ static void Main(string[] args)
4141
}
4242
catch(MissingManifestResourceException)
4343
{
44-
Console.WriteLine("Available language option");
45-
Console.WriteLine("1) en");
46-
Console.WriteLine("2) zh-TW");
47-
Console.WriteLine("Please choose a language.");
48-
temp = Console.ReadLine();
49-
while(!int.TryParse(temp , out int i) && i < 3 && i > 0)
50-
{
51-
Console.WriteLine("Unexpected response. Please choose a language.");
52-
temp = Console.ReadLine();
53-
}
54-
if(temp == "1")
55-
Thread.CurrentThread.CurrentUICulture = CultureInfo.CreateSpecificCulture("en");
56-
else if(temp == "2")
57-
Thread.CurrentThread.CurrentUICulture = CultureInfo.CreateSpecificCulture("zh-TW");
58-
Console.WriteLine(manager.GetObject("Language"));
44+
LanguageRequest();
5945
}
46+
Console.WriteLine(manager.GetObject("Translate"));
6047
Console.WriteLine(manager.GetObject("PressKey"));
6148
Console.ReadKey();
6249
Clear();
@@ -156,7 +143,7 @@ static void Main(string[] args)
156143
Console.WriteLine(manager.GetObject("Statement5"));
157144
SeparatingLine();
158145
Console.WriteLine(manager.GetObject("TNTSymbol"));
159-
string temp2 = Console.ReadLine();
146+
string temp2 = Console.ReadLine().ToUpper();
160147
while(temp2 != "A" && temp2 != "B" && temp2 != "C" && temp2 != "D")
161148
{
162149
SeparatingLine();
@@ -287,7 +274,7 @@ private static void SaveSettingsToJson(string path , Settings settings)
287274
}
288275

289276

290-
public static Space3D ReadSpace3DFromConsole(string valueName)
277+
private static Space3D ReadSpace3DFromConsole(string valueName)
291278
{
292279
Space3D result;
293280
Console.WriteLine(valueName + " X :");
@@ -317,7 +304,7 @@ public static Space3D ReadSpace3DFromConsole(string valueName)
317304
return result;
318305
}
319306

320-
public static Surface2D ReadSurface2DFromConsole(string valueName)
307+
private static Surface2D ReadSurface2DFromConsole(string valueName)
321308
{
322309
Surface2D result = new Surface2D();
323310
Console.WriteLine(valueName + " X :");
@@ -339,7 +326,7 @@ public static Surface2D ReadSurface2DFromConsole(string valueName)
339326
return result;
340327
}
341328

342-
public static void Clear()
329+
private static void Clear()
343330
{
344331
Console.Clear();
345332
Console.WriteLine(manager.GetObject("Welcome"));
@@ -354,9 +341,18 @@ public static void Clear()
354341
Console.WriteLine();
355342
}
356343

357-
public static void SeparatingLine()
344+
private static void SeparatingLine() => Console.WriteLine(manager.GetObject("Separate"));
345+
346+
private static void LanguageRequest()
358347
{
359-
Console.WriteLine(manager.GetObject("Separate"));
348+
int i = 0;
349+
Console.WriteLine("Available language option");
350+
foreach(var item in Enum.GetValues(typeof(LanguageType)))
351+
Console.WriteLine((++i).ToString() + ") " + LanguageTypeUtils.ToString((LanguageType)item));
352+
Console.WriteLine("Please choose a language.");
353+
int.TryParse(Console.ReadLine() , out i);
354+
Thread.CurrentThread.CurrentUICulture = CultureInfo.CreateSpecificCulture(LanguageTypeUtils.ToString((LanguageType)(i - 1)));
355+
Console.WriteLine(manager.GetObject("Language"));
360356
}
361357
}
362358
}

PCCSettingsCalculator/Resources/Language.en.resx

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -300,6 +300,9 @@
300300
<data name="TNTSymbolParameter" xml:space="preserve">
301301
<value>Corresponding English symbol for red TNT</value>
302302
</data>
303+
<data name="Translate" xml:space="preserve">
304+
<value>Translate : LegendsOfSky</value>
305+
</data>
303306
<data name="UnexpectedResponseJson" xml:space="preserve">
304307
<value>Unexpected response. Do you want to save as settings.json? (Y/N)</value>
305308
</data>

0 commit comments

Comments
 (0)