NSString+Locale.m 6.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154
  1. /*****************************************************************************
  2. * VLC for iOS
  3. *****************************************************************************
  4. * Copyright (c) 2015 VideoLAN. All rights reserved.
  5. * $Id$
  6. *
  7. * Authors: Felix Paul Kühne <fkuehne # videolan.org>
  8. *
  9. * Refer to the COPYING file of the official project for license.
  10. *****************************************************************************/
  11. #import <Foundation/Foundation.h>
  12. #import "NSString+Locale.h"
  13. @implementation NSString (LocaleCodes)
  14. - (NSString *)VLCtwoLetterLanguageKeyForThreeLetterCode
  15. {
  16. NSDictionary *searchDict = @{@"alb" : @"sq",
  17. @"ara" : @"ar",
  18. @"arm" : @"hy",
  19. @"baq" : @"eu",
  20. @"ben" : @"bn",
  21. @"bos" : @"bs",
  22. @"bre" : @"br",
  23. @"bur" : @"bg",
  24. @"cat" : @"ca",
  25. @"chi" : @"zh",
  26. @"hrv" : @"hr",
  27. @"cze" : @"cs",
  28. @"dan" : @"da",
  29. @"dut" : @"nl",
  30. @"eng" : @"en",
  31. @"epo" : @"eo",
  32. @"fin" : @"fi",
  33. @"fre" : @"fr",
  34. @"glg" : @"gl",
  35. @"ger" : @"de",
  36. @"ell" : @"el",
  37. @"heb" : @"he",
  38. @"hin" : @"hi",
  39. @"ice" : @"is",
  40. @"ind" : @"id",
  41. @"ita" : @"it",
  42. @"jpn" : @"a",
  43. @"kaz" : @"kk",
  44. @"kor" : @"ko",
  45. @"lav" : @"lv",
  46. @"lit" : @"lt",
  47. @"ltz" : @"lb",
  48. @"mac" : @"mk",
  49. @"may" : @"ms",
  50. @"mal" : @"ml",
  51. @"mon" : @"mn",
  52. @"nor" : @"no",
  53. @"oci" : @"oc",
  54. @"per" : @"fa",
  55. @"pol" : @"pl",
  56. @"por" : @"pt",
  57. @"pob" : @"po",
  58. @"rum" : @"rm",
  59. @"rus" : @"ru",
  60. @"scc" : @"sr",
  61. @"sin" : @"si",
  62. @"slo" : @"sk",
  63. @"slv" : @"sl",
  64. @"spa" : @"es",
  65. @"swa" : @"sw",
  66. @"swe" : @"sv",
  67. @"tgl" : @"tl",
  68. @"tel" : @"te",
  69. @"tha" : @"th",
  70. @"tur" : @"tr",
  71. @"ukr" : @"uk",
  72. @"urd" : @"ur",
  73. @"vie" : @"vi"};
  74. return searchDict[self];
  75. }
  76. - (NSString *)VLCthreeLetterLanguageKeyForTwoLetterCode
  77. {
  78. NSDictionary *searchDict = @{@"sq" : @"alb",
  79. @"ar" : @"ara",
  80. @"hy" : @"arm",
  81. @"eu" : @"baq",
  82. @"bn" : @"ben",
  83. @"bs" : @"bos",
  84. @"br" : @"bre",
  85. @"bg" : @"bul",
  86. @"my" : @"bur",
  87. @"ca" : @"cat",
  88. @"zh" : @"chi",
  89. @"hr" : @"hrv",
  90. @"cs" : @"cze",
  91. @"da" : @"dan",
  92. @"nl" : @"dut",
  93. @"en" : @"eng",
  94. @"eo" : @"epo",
  95. @"et" : @"est",
  96. @"fi" : @"fin",
  97. @"fr" : @"fre",
  98. @"gl" : @"glg",
  99. @"ka" : @"geo",
  100. @"de" : @"ger",
  101. @"el" : @"ell",
  102. @"he" : @"heb",
  103. @"hi" : @"hin",
  104. @"hu" : @"hun",
  105. @"is" : @"ice",
  106. @"id" : @"ind",
  107. @"it" : @"ita",
  108. @"ja" : @"jpn",
  109. @"kk" : @"kaz",
  110. @"km" : @"khm",
  111. @"ko" : @"kor",
  112. @"lv" : @"lav",
  113. @"lt" : @"lit",
  114. @"lb" : @"ltz",
  115. @"mk" : @"mac",
  116. @"ms" : @"may",
  117. @"ml" : @"mal",
  118. @"mn" : @"mon",
  119. @"no" : @"nor",
  120. @"oc" : @"oci",
  121. @"fa" : @"per",
  122. @"pl" : @"pol",
  123. @"pt" : @"por",
  124. @"po" : @"pob",
  125. @"ro" : @"rum",
  126. @"ru" : @"rus",
  127. @"sr" : @"scc",
  128. @"si" : @"sin",
  129. @"sk" : @"slo",
  130. @"sl" : @"slv",
  131. @"es" : @"spa",
  132. @"sw" : @"swa",
  133. @"sv" : @"swe",
  134. @"tl" : @"tgl",
  135. @"te" : @"tel",
  136. @"th" : @"tha",
  137. @"tr" : @"tur",
  138. @"uk" : @"ukr",
  139. @"ur" : @"urd",
  140. @"vi" : @"vie"};
  141. return searchDict[self];
  142. }
  143. - (NSString *)VLClocalizedLanguageNameForTwoLetterCode
  144. {
  145. return [[NSLocale currentLocale] displayNameForKey:NSLocaleLanguageCode value:self];
  146. }
  147. @end