Selaa lähdekoodia

feat: 设置页面多语言

liangan 1 viikko sitten
vanhempi
sitoutus
b4937cb725
5 muutettua tiedostoa jossa 41 lisäystä ja 10 poistoa
  1. 10 0
      src/locale/bn.json
  2. 10 0
      src/locale/en.json
  3. 10 0
      src/locale/zh-Hans.json
  4. 1 1
      src/pages.json
  5. 10 9
      src/pages/mine/setting.vue

+ 10 - 0
src/locale/bn.json

@@ -1,4 +1,14 @@
 {
+  "setting.title": "সেটিং",
+  "setting.changePassword": "পাসওয়ার্ড পরিবর্তন",
+  "setting.language": "ভাষা",
+  "setting.policies": "নীতিমালা",
+  "setting.help": "সহায়তা",
+  "setting.feedback": "প্রতিক্রিয়া",
+  "setting.logout": "লগ আউট",
+  "setting.version": "ভার্সন {0}",
+  "setting.lang.en": "ইংরেজি",
+  "setting.lang.bn": "বাংলা",
   "home.missionCenter": "মিশন\nসেন্টার",
   "home.refer&earn": "রেফার\nএবং আয়",
   "home.vip": "ভিআইপি\nসদস্যতা",

+ 10 - 0
src/locale/en.json

@@ -1,4 +1,14 @@
 {
+  "setting.title": "Setting",
+  "setting.changePassword": "Change Password",
+  "setting.language": "Language",
+  "setting.policies": "Policies",
+  "setting.help": "Help",
+  "setting.feedback": "Feedback",
+  "setting.logout": "Logout",
+  "setting.version": "Version {0}",
+  "setting.lang.en": "English",
+  "setting.lang.bn": "Bengali",
   "home.missionCenter": "Mission\nCenter",
   "home.refer&earn": "Refer\n&Earn",
   "home.vip": "VIP\nMembership",

+ 10 - 0
src/locale/zh-Hans.json

@@ -1,4 +1,14 @@
 {
+  "setting.title": "设置",
+  "setting.changePassword": "修改密码",
+  "setting.language": "语言",
+  "setting.policies": "政策条款",
+  "setting.help": "帮助",
+  "setting.feedback": "反馈",
+  "setting.logout": "退出登录",
+  "setting.version": "版本 {0}",
+  "setting.lang.en": "英语",
+  "setting.lang.bn": "孟加拉语",
   "home.missionCenter": "任务中心",
   "home.refer&earn": "推荐赚钱",
   "home.vip": "VIP会员",

+ 1 - 1
src/pages.json

@@ -138,7 +138,7 @@
       "type": "page",
       "layout": "default",
       "style": {
-        "navigationBarTitleText": "Setting",
+        "navigationBarTitleText": "%setting.title%",
         "navigationBarBackgroundColor": "#fff"
       }
     },

+ 10 - 9
src/pages/mine/setting.vue

@@ -2,13 +2,14 @@
 {
   layout: 'default',
   style: {
-    navigationBarTitleText: 'Setting',
+    navigationBarTitleText: '%setting.title%',
     navigationBarBackgroundColor: '#fff',
   },
 }
 </route>
 
 <script lang="ts" setup>
+import { t } from '@/locale'
 import i18n from '@/locale/index'
 import { useUserStore } from '@/store'
 import { toPage } from '@/utils/page'
@@ -17,7 +18,7 @@ defineOptions({
   name: 'Setting', // 设置
 })
 const userStore = useUserStore()
-const columns = ref([{ label: 'English', value: 'en' }, { label: 'Bengali', value: 'bn' }])
+const columns = ref([{ label: t('setting.lang.en'), value: 'en' }, { label: t('setting.lang.bn'), value: 'bn' }])
 const language = ref(uni.getLocale() === 'bn' ? 'bn' : 'en')
 function changeLanguage(data: any) {
   console.log(data)
@@ -34,21 +35,21 @@ function logout() {
 <template>
   <view class="py-20rpx">
     <wd-cell-group custom-class="mb-20rpx" border>
-      <wd-cell title="Change Password" custom-title-class="text-32rpx" is-link @click="toPage('/pages/forgotPassword/forgotPassword')" />
+      <wd-cell :title="t('setting.changePassword')" custom-title-class="text-32rpx" is-link @click="toPage('/pages/forgotPassword/forgotPassword')" />
       <wd-picker v-model="language" :columns="columns" use-default-slot @confirm="changeLanguage">
-        <wd-cell title="Language" custom-title-class="text-32rpx" custom-value-class="text-#838383! text-32rpx!" :value="columns.find(item => item.value === language)?.label" is-link />
+        <wd-cell :title="t('setting.language')" custom-title-class="text-32rpx" custom-value-class="text-#838383! text-32rpx!" :value="columns.find(item => item.value === language)?.label" is-link />
       </wd-picker>
-      <wd-cell title="Policies" custom-title-class="text-32rpx" is-link />
-      <wd-cell title="Help" custom-title-class="text-32rpx" is-link />
-      <wd-cell title="Feedback" custom-title-class="text-32rpx" is-link />
+      <wd-cell :title="t('setting.policies')" custom-title-class="text-32rpx" is-link />
+      <wd-cell :title="t('setting.help')" custom-title-class="text-32rpx" is-link />
+      <wd-cell :title="t('setting.feedback')" custom-title-class="text-32rpx" is-link />
     </wd-cell-group>
 
     <!-- Logout -->
     <view class="mb-20rpx bg-white p-24rpx text-center text-32rpx text-[var(--wot-color-theme)]" @click="logout">
-      Logout
+      {{ t('setting.logout') }}
     </view>
     <view class="text-center text-32rpx text-#909090">
-      Version 1.1.0
+      {{ t('setting.version', ['1.1.0']) }}
     </view>
   </view>
 </template>