UIAudioLanguage.cs 1.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100
  1. using System;
  2. using System.Collections.Generic;
  3. public static class UIAudioLanguage
  4. {
  5. public static UIAudioLanguage.AudioLanguageInfo CurrentAudioLanguage
  6. {
  7. get
  8. {
  9. return UIAudioLanguage.AudioLanguageInfoDic[R.Settings.AudioLanguage];
  10. }
  11. }
  12. public static bool IsChinese
  13. {
  14. get
  15. {
  16. return UIAudioLanguage.Is(new string[]
  17. {
  18. "Chinese (Mandarin)"
  19. });
  20. }
  21. }
  22. public static bool IsEnglish
  23. {
  24. get
  25. {
  26. return UIAudioLanguage.Is(new string[]
  27. {
  28. "English"
  29. });
  30. }
  31. }
  32. public static bool IsJapanese
  33. {
  34. get
  35. {
  36. return UIAudioLanguage.Is(new string[]
  37. {
  38. "Japanese"
  39. });
  40. }
  41. }
  42. private static bool Is(params string[] languages)
  43. {
  44. string name = UIAudioLanguage.CurrentAudioLanguage.Name;
  45. for (int i = 0; i < languages.Length; i++)
  46. {
  47. if (name == languages[i])
  48. {
  49. return true;
  50. }
  51. }
  52. return false;
  53. }
  54. public const string English = "English";
  55. public const string MandarinChinese = "Chinese (Mandarin)";
  56. public const string Japanese = "Japanese";
  57. public static readonly List<string> AudioLanguages = new List<string>
  58. {
  59. "English",
  60. "Chinese (Mandarin)"
  61. };
  62. private static readonly Dictionary<string, UIAudioLanguage.AudioLanguageInfo> AudioLanguageInfoDic = new Dictionary<string, UIAudioLanguage.AudioLanguageInfo>
  63. {
  64. {
  65. "English",
  66. new UIAudioLanguage.AudioLanguageInfo("English", "ui/language/english")
  67. },
  68. {
  69. "Chinese (Mandarin)",
  70. new UIAudioLanguage.AudioLanguageInfo("Chinese (Mandarin)", "ui/language/mandarin_chinese")
  71. },
  72. {
  73. "Japanese",
  74. new UIAudioLanguage.AudioLanguageInfo("Japanese", "ui/language/japanese")
  75. }
  76. };
  77. public class AudioLanguageInfo
  78. {
  79. public AudioLanguageInfo(string name, string localizeTerm)
  80. {
  81. this.Name = name;
  82. this.LocalizeTerm = localizeTerm;
  83. }
  84. public readonly string LocalizeTerm;
  85. public readonly string Name;
  86. }
  87. }