z-paging-i18n.js 3.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133
  1. // z-paging国际化(支持中文、中文繁体和英文)
  2. const i18nUpdateKey = 'z-paging-i18n-update';
  3. const t = {
  4. refresherDefaultText: {
  5. 'en': 'Pull down to refresh',
  6. 'zh-cn': '继续下拉刷新',
  7. 'zh-hant-cn': '繼續下拉重繪',
  8. },
  9. refresherPullingText: {
  10. 'en': 'Release to refresh',
  11. 'zh-cn': '松开立即刷新',
  12. 'zh-hant-cn': '鬆開立即重繪',
  13. },
  14. refresherRefreshingText: {
  15. 'en': 'Refreshing...',
  16. 'zh-cn': '正在刷新...',
  17. 'zh-hant-cn': '正在重繪...',
  18. },
  19. refresherCompleteText: {
  20. 'en': 'Refresh succeeded',
  21. 'zh-cn': '刷新成功',
  22. 'zh-hant-cn': '重繪成功',
  23. },
  24. loadingMoreDefaultText: {
  25. 'en': 'Click to load more',
  26. 'zh-cn': '点击加载更多',
  27. 'zh-hant-cn': '點擊加載更多',
  28. },
  29. loadingMoreLoadingText: {
  30. 'en': 'Loading...',
  31. 'zh-cn': '正在加载...',
  32. 'zh-hant-cn': '正在加載...',
  33. },
  34. loadingMoreNoMoreText: {
  35. 'en': 'No more data',
  36. 'zh-cn': '没有更多了',
  37. 'zh-hant-cn': '沒有更多了',
  38. },
  39. loadingMoreFailText: {
  40. 'en': 'Load failed,click to reload',
  41. 'zh-cn': '加载失败,点击重新加载',
  42. 'zh-hant-cn': '加載失敗,點擊重新加載',
  43. },
  44. emptyViewText: {
  45. 'en': 'No data',
  46. 'zh-cn': '没有数据哦~',
  47. 'zh-hant-cn': '沒有數據哦~',
  48. },
  49. emptyViewReloadText: {
  50. 'en': 'Reload',
  51. 'zh-cn': '重新加载',
  52. 'zh-hant-cn': '重新加載',
  53. },
  54. emptyViewErrorText: {
  55. 'en': 'Sorry,load failed',
  56. 'zh-cn': '很抱歉,加载失败',
  57. 'zh-hant-cn': '很抱歉,加載失敗',
  58. },
  59. refresherUpdateTimeText: {
  60. 'en': 'Last update: ',
  61. 'zh-cn': '最后更新:',
  62. 'zh-hant-cn': '最後更新:',
  63. },
  64. refresherUpdateTimeNoneText: {
  65. 'en': 'None',
  66. 'zh-cn': '无',
  67. 'zh-hant-cn': '無',
  68. },
  69. refresherUpdateTimeTodayText: {
  70. 'en': 'Today',
  71. 'zh-cn': '今天',
  72. 'zh-hant-cn': '今天',
  73. },
  74. refresherUpdateTimeYesterdayText: {
  75. 'en': 'Yesterday',
  76. 'zh-cn': '昨天',
  77. 'zh-hant-cn': '昨天',
  78. }
  79. }
  80. // 获取当前语言,格式为:zh-cn、zh-hant-cn、en。followSystemLanguage:获取的结果是否是在不跟随系统语言下获取到的
  81. function getLanguage(followSystemLanguage = true) {
  82. return _getPrivateLanguage(false, followSystemLanguage);
  83. }
  84. // 获取当前语言,格式为:简体中文、繁體中文、English。followSystemLanguage:获取的结果是否是在不跟随系统语言下获取到的
  85. function getLanguageName(followSystemLanguage = true) {
  86. const language = getLanguage(followSystemLanguage);
  87. const languageNameMap = {
  88. 'zh-cn': '简体中文',
  89. 'zh-hant-cn': '繁體中文',
  90. 'en': 'English'
  91. };
  92. return languageNameMap[language];
  93. }
  94. //设置当前语言,格式为:zh-cn、zh-hant-cn、en
  95. function setLanguage(myLanguage) {
  96. uni.setStorageSync(i18nUpdateKey, myLanguage);
  97. uni.$emit(i18nUpdateKey, myLanguage);
  98. }
  99. // 插件内部使用,请勿直接调用
  100. function _getPrivateLanguage(myLanguage, followSystemLanguage = true) {
  101. let systemLanguage = '';
  102. if (followSystemLanguage) {
  103. systemLanguage = uni.getSystemInfoSync().language;
  104. }
  105. let language = myLanguage || uni.getStorageSync(i18nUpdateKey) || systemLanguage;
  106. language = language.toLowerCase();
  107. const reg = new RegExp('_', '');
  108. language = language.replace(reg, '-');
  109. if (language.indexOf('zh') !== -1) {
  110. if (language === 'zh' || language === 'zh-cn' || language.indexOf('zh-hans') !== -1) {
  111. return 'zh-cn';
  112. }
  113. return 'zh-hant-cn';
  114. }
  115. if (language.indexOf('en') !== -1) {
  116. return 'en';
  117. }
  118. return 'zh-cn';
  119. }
  120. export default {
  121. t,
  122. getLanguage,
  123. getLanguageName,
  124. setLanguage,
  125. _getPrivateLanguage,
  126. }