Browse Source

feat: 地址薄多语言

liangan 1 tuần trước cách đây
mục cha
commit
98b32826c7
5 tập tin đã thay đổi với 34 bổ sung13 xóa
  1. 8 0
      src/locale/bn.json
  2. 8 0
      src/locale/en.json
  3. 8 0
      src/locale/zh-Hans.json
  4. 1 1
      src/pages.json
  5. 9 12
      src/pages/mine/addressBook.vue

+ 8 - 0
src/locale/bn.json

@@ -1,4 +1,12 @@
 {
+  "addressBook.title": "ঠিকানা বই",
+  "addressBook.delete.deleting": "মুছে ফেলা হচ্ছে...",
+  "addressBook.delete.success": "ঠিকানা সফলভাবে মুছে ফেলা হয়েছে",
+  "addressBook.delete.confirm": "মুছে ফেলা নিশ্চিত করুন",
+  "addressBook.delete.message": "আপনি কি এই ঠিকানাটি মুছে ফেলতে চান?",
+  "addressBook.delete.button": "মুছুন",
+  "addressBook.tag.default": "ডিফল্ট",
+  "addressBook.button.add": "নতুন ঠিকানা যোগ করুন",
   "myProfile.title": "আমার প্রোফাইল",
   "myProfile.avatar": "অবতার",
   "myProfile.userId": "ইউজার আইডি",

+ 8 - 0
src/locale/en.json

@@ -1,4 +1,12 @@
 {
+  "addressBook.title": "Address Book",
+  "addressBook.delete.deleting": "Deleting...",
+  "addressBook.delete.success": "Address deleted successfully",
+  "addressBook.delete.confirm": "Confirm Delete",
+  "addressBook.delete.message": "Are you sure you want to delete this address?",
+  "addressBook.delete.button": "Delete",
+  "addressBook.tag.default": "default",
+  "addressBook.button.add": "Add New Address",
   "myProfile.title": "My Profile",
   "myProfile.avatar": "Avatar",
   "myProfile.userId": "User ID",

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

@@ -1,4 +1,12 @@
 {
+  "addressBook.title": "地址簿",
+  "addressBook.delete.deleting": "删除中...",
+  "addressBook.delete.success": "地址删除成功",
+  "addressBook.delete.confirm": "确认删除",
+  "addressBook.delete.message": "确定要删除这个地址吗?",
+  "addressBook.delete.button": "删除",
+  "addressBook.tag.default": "默认",
+  "addressBook.button.add": "添加新地址",
   "myProfile.title": "个人资料",
   "myProfile.avatar": "头像",
   "myProfile.userId": "用户ID",

+ 1 - 1
src/pages.json

@@ -93,7 +93,7 @@
       "type": "page",
       "layout": "default",
       "style": {
-        "navigationBarTitleText": "Address Book",
+        "navigationBarTitleText": "%addressBook.title%",
         "navigationBarBackgroundColor": "#fff"
       }
     },

+ 9 - 12
src/pages/mine/addressBook.vue

@@ -2,7 +2,7 @@
 {
   layout: 'default',
   style: {
-    navigationBarTitleText: 'Address Book',
+    navigationBarTitleText: '%addressBook.title%',
     navigationBarBackgroundColor: '#fff',
   },
 }
@@ -14,6 +14,7 @@
 import { onPageScroll, onReachBottom } from '@dcloudio/uni-app'
 import useZPaging from 'z-paging/components/z-paging/js/hooks/useZPaging.js'
 import { addressDel, addressList } from '@/api/mine'
+import { t } from '@/locale'
 import { toPage } from '@/utils/page'
 import { toast } from '@/utils/toast'
 
@@ -54,23 +55,19 @@ function editAddress(id: any) {
 async function deleteAddress(id: any) {
   try {
     await uni.showLoading({
-      title: 'Deleting...',
+      title: t('addressBook.delete.deleting'),
     })
 
     const res = await addressDel({ id })
 
     if (res.code === '200') {
-      toast.success('Address deleted successfully')
+      toast.success(t('addressBook.delete.success'))
       // 刷新列表
       paging.value.reload()
     }
-    else {
-      toast.error(res.message || 'Delete failed, please try again')
-    }
   }
   catch (error: any) {
     console.error('Delete address error:', error)
-    toast.error(error.message || 'Delete failed, please try again')
   }
   finally {
     uni.hideLoading()
@@ -81,8 +78,8 @@ async function deleteAddress(id: any) {
 function handleAction(action: string, item: any) {
   if (action === 'del') {
     uni.showModal({
-      title: 'Confirm Delete',
-      content: 'Are you sure you want to delete this address?',
+      title: t('addressBook.delete.confirm'),
+      content: t('addressBook.delete.message'),
       success: (res) => {
         if (res.confirm) {
           deleteAddress(item.id)
@@ -106,7 +103,7 @@ function handleAction(action: string, item: any) {
                 </text>
                 <text>{{ item.phone }}</text>
               </view>
-              <wd-text v-if="item.isDefault" type="primary" text="default" />
+              <wd-text v-if="item.isDefault" type="primary" :text="t('addressBook.tag.default')" />
             </view>
             <view class="text-22rpx text-#3A444C">
               {{ [item.province, item.city, item.district, item.street].filter(Boolean).join(', ') }} {{ item.postCode }}
@@ -117,7 +114,7 @@ function handleAction(action: string, item: any) {
         <template #right>
           <view class="action">
             <view class="button" style="background:var(--wot-color-theme);" @click="handleAction('del', item)">
-              删除
+              {{ t('addressBook.delete.button') }}
             </view>
           </view>
         </template>
@@ -126,7 +123,7 @@ function handleAction(action: string, item: any) {
     <template #bottom>
       <view class="bg-white/60 px-28rpx py-30rpx backdrop-blur-20">
         <wd-button plain block @click="toPage('/pages/mine/addressBookOperate')">
-          Add New Address
+          {{ t('addressBook.button.add') }}
         </wd-button>
       </view>
     </template>