ソースを参照

chore: add international components address

richard1015 3 年 前
コミット
05ce195769

+ 0 - 5
src/packages/__VUE/address/demo.vue

@@ -11,7 +11,6 @@
       :town="town"
       @change="(cal) => onChange(cal, 'normal')"
       @close="close1"
-      custom-address-title="请选择所在地区"
     ></nut-address>
 
     <h2>选中省市区</h2>
@@ -26,7 +25,6 @@
       :town="town"
       @change="(cal) => onChange(cal, 'select')"
       @close="close6"
-      custom-address-title="请选择所在地区"
       :columns-placeholder="placeholder"
     ></nut-address>
 
@@ -45,7 +43,6 @@
       @change="(cal) => onChange(cal, 'normal2')"
       @close="close5"
       :columns-placeholder="placeholder"
-      custom-address-title="请选择所在地区"
     ></nut-address>
 
     <h2>选择已有地址</h2>
@@ -59,7 +56,6 @@
       @close="close2"
       :is-show-custom-address="false"
       @selected="selected"
-      exist-address-title="配送至"
     ></nut-address>
 
     <h2>自定义图标</h2>
@@ -93,7 +89,6 @@
       @change="(cal) => onChange(cal, 'other')"
       @close="close4"
       @selected="selected"
-      custom-and-exist-title="选择其他地址"
       @switch-module="switchModule"
       @close-mask="closeMask"
     ></nut-address>

+ 18 - 12
src/packages/__VUE/address/index.taro.vue

@@ -17,7 +17,11 @@
         </view>
 
         <view class="nut-address__header__title">
-          {{ privateType == 'custom' ? customAddressTitle : existAddressTitle }}
+          {{
+            privateType == 'custom'
+              ? customAddressTitle || translate('selectRegion')
+              : existAddressTitle || translate('deliveryTo')
+          }}
         </view>
 
         <view class="arrow-close" @click="handClose('cross')">
@@ -115,7 +119,7 @@
           </ul>
         </div>
         <div class="choose-other" @click="switchModule" v-if="isShowCustomAddress">
-          <div class="btn">{{ customAndExistTitle }}</div>
+          <div class="btn">{{ customAndExistTitle || translate('chooseAnotherAddress') }}</div>
         </div>
       </view>
     </view>
@@ -126,7 +130,7 @@ import { reactive, ref, toRefs, watch, computed, onMounted } from 'vue';
 import { createComponent } from '../../utils/create';
 import Taro from '@tarojs/taro';
 
-const { create, componentName } = createComponent('address');
+const { create, componentName, translate } = createComponent('address');
 
 interface RegionData {
   id: string;
@@ -164,7 +168,7 @@ export default create({
     },
     customAddressTitle: {
       type: String,
-      default: '请选择所在地区'
+      default: ''
     },
     province: {
       type: Array,
@@ -192,11 +196,11 @@ export default create({
     }, // 现存地址列表
     existAddressTitle: {
       type: String,
-      default: '配送至'
+      default: ''
     },
     customAndExistTitle: {
       type: String,
-      default: '选择其他地址'
+      default: ''
     },
     defaultIcon: {
       // 地址选择列表前 - 默认的图标
@@ -224,7 +228,7 @@ export default create({
     },
     columnsPlaceholder: {
       type: [String, Array],
-      default: '请选择'
+      default: ''
     }
   },
   emits: ['update:visible', 'update:modelValue', 'type', 'change', 'selected', 'close', 'close-mask', 'switch-module'],
@@ -342,16 +346,17 @@ export default create({
 
     // 自定义‘请选择’文案
     const customPlaceholder = () => {
-      let typeD = Object.prototype.toString.call(props.columnsPlaceholder);
+      let selectStr = translate('select');
+      let typeD = Object.prototype.toString.call(props.columnsPlaceholder || selectStr);
       if (typeD == '[object String]') {
-        tabNameDefault.value = new Array(4).fill(props.columnsPlaceholder);
+        tabNameDefault.value = new Array(4).fill(props.columnsPlaceholder || selectStr);
       } else if (typeD == '[object Array]') {
         tabNameDefault.value = new Array(4).fill('');
         tabNameDefault.value.forEach((val, index) => {
           if (props.columnsPlaceholder[index]) {
             tabNameDefault.value[index] = props.columnsPlaceholder[index];
           } else {
-            tabNameDefault.value[index] = '请选择';
+            tabNameDefault.value[index] = selectStr;
           }
         });
       }
@@ -364,7 +369,7 @@ export default create({
       if (tabIndex.value < index) {
         return item.name;
       } else {
-        return '请选择';
+        return tabNameDefault.value[index];
       }
     };
     // 手动关闭 点击叉号(cross),或者蒙层(mask)
@@ -601,7 +606,8 @@ export default create({
       handClose,
       handleElevatorItem,
       ...toRefs(props),
-      ...toRefs(tabItemRef)
+      ...toRefs(tabItemRef),
+      translate
     };
   }
 });

+ 17 - 11
src/packages/__VUE/address/index.vue

@@ -19,7 +19,11 @@
         </view>
 
         <view class="nut-address__header__title">
-          {{ privateType == 'custom' ? customAddressTitle : existAddressTitle }}
+          {{
+            privateType == 'custom'
+              ? customAddressTitle || translate('selectRegion')
+              : existAddressTitle || translate('deliveryTo')
+          }}
         </view>
 
         <view class="arrow-close" @click="handClose('cross')">
@@ -120,7 +124,7 @@
           </ul>
         </div>
         <div class="choose-other" @click="switchModule" v-if="isShowCustomAddress">
-          <div class="btn">{{ customAndExistTitle }}</div>
+          <div class="btn">{{ customAndExistTitle || translate('chooseAnotherAddress') }}</div>
         </div>
       </view>
     </view>
@@ -130,7 +134,7 @@
 import { reactive, ref, toRefs, watch, nextTick, computed, Ref, onMounted } from 'vue';
 import { createComponent } from '../../utils/create';
 import { popupProps } from '../popup/index.vue';
-const { componentName, create } = createComponent('address');
+const { componentName, create, translate } = createComponent('address');
 interface RegionData {
   name: string;
   [key: string]: any;
@@ -163,7 +167,7 @@ export default create({
     },
     customAddressTitle: {
       type: String,
-      default: '请选择所在地区'
+      default: ''
     },
     province: {
       type: Array,
@@ -191,11 +195,11 @@ export default create({
     }, // 现存地址列表
     existAddressTitle: {
       type: String,
-      default: '配送至'
+      default: ''
     },
     customAndExistTitle: {
       type: String,
-      default: '选择其他地址'
+      default: ''
     },
     defaultIcon: {
       // 地址选择列表前 - 默认的图标
@@ -223,7 +227,7 @@ export default create({
     },
     columnsPlaceholder: {
       type: [String, Array],
-      default: '请选择'
+      default: ''
     }
   },
   emits: ['update:visible', 'update:modelValue', 'type', 'change', 'selected', 'close', 'close-mask', 'switch-module'],
@@ -328,16 +332,17 @@ export default create({
     };
     // 自定义‘请选择’文案
     const customPlaceholder = () => {
-      let typeD = Object.prototype.toString.call(props.columnsPlaceholder);
+      let selectStr = translate('select');
+      let typeD = Object.prototype.toString.call(props.columnsPlaceholder || selectStr);
       if (typeD == '[object String]') {
-        tabNameDefault.value = new Array(4).fill(props.columnsPlaceholder);
+        tabNameDefault.value = new Array(4).fill(props.columnsPlaceholder || selectStr);
       } else if (typeD == '[object Array]') {
         tabNameDefault.value = new Array(4).fill('');
         tabNameDefault.value.forEach((val, index) => {
           if (props.columnsPlaceholder[index]) {
             tabNameDefault.value[index] = props.columnsPlaceholder[index];
           } else {
-            tabNameDefault.value[index] = '请选择';
+            tabNameDefault.value[index] = selectStr;
           }
         });
       }
@@ -585,7 +590,8 @@ export default create({
       handClose,
       handleElevatorItem,
       initCustomSelected,
-      ...toRefs(props)
+      ...toRefs(props),
+      translate
     };
   }
 });

+ 5 - 0
src/packages/locale/lang/baseLang.ts

@@ -45,4 +45,9 @@ export interface BaseLang {
     minute: string;
     second: string;
   };
+  address: {
+    selectRegion: string;
+    deliveryTo: string;
+    chooseAnotherAddress: string;
+  };
 }

+ 5 - 0
src/packages/locale/lang/en-US.ts

@@ -45,6 +45,11 @@ const lang: BaseLang = {
     hour: ' Hour ',
     minute: ' Minute ',
     second: ' Second '
+  },
+  address: {
+    selectRegion: 'Select Region',
+    deliveryTo: 'Delivery To',
+    chooseAnotherAddress: 'Choose Another Address'
   }
 };
 export default lang;

+ 5 - 0
src/packages/locale/lang/zh-CN.ts

@@ -45,6 +45,11 @@ const lang: BaseLang = {
     hour: '时',
     minute: '分',
     second: '秒'
+  },
+  address: {
+    selectRegion: '请选择所在地区',
+    deliveryTo: '配送至',
+    chooseAnotherAddress: '选择其他地址'
   }
 };
 export default lang;

+ 0 - 5
src/sites/mobile-taro/vue/src/business/pages/address/index.vue

@@ -11,7 +11,6 @@
       :town="town"
       @change="(cal) => onChange(cal, 'normal')"
       @close="close1"
-      custom-address-title="请选择所在地区"
     ></nut-address>
 
     <h2>选中省市区</h2>
@@ -26,7 +25,6 @@
       :town="town"
       @change="(cal) => onChange(cal, 'select')"
       @close="close6"
-      custom-address-title="请选择所在地区"
       :columns-placeholder="placeholder"
     ></nut-address>
 
@@ -45,7 +43,6 @@
       @change="(cal) => onChange(cal, 'normal2')"
       @close="close5"
       :columns-placeholder="placeholder"
-      custom-address-title="请选择所在地区"
     ></nut-address>
 
     <h2>选择已有地址</h2>
@@ -59,7 +56,6 @@
       @close="close2"
       :is-show-custom-address="false"
       @selected="selected"
-      exist-address-title="配送至"
     ></nut-address>
 
     <h2>自定义图标</h2>
@@ -93,7 +89,6 @@
       @change="(cal) => onChange(cal, 'other')"
       @close="close4"
       @selected="selected"
-      custom-and-exist-title="选择其他地址"
       @switch-module="switchModule"
       @close-mask="closeMask"
     ></nut-address>