z-paging-i18n.js 3.8 KB

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