- 在app.js里面 onLaunch: function() {
}
写入新增代码1 如:按照下方的的图片
image.png
//新增daima1
this.setWeiyu();
var e = this;
wx.getSystemInfo({
success: function (a) {
e.globalData.StatusBar = a.statusBarHeight;
var s = wx.getMenuButtonBoundingClientRect();
e.globalData.Custom = s, e.globalData.CustomBar = s.bottom + s.top - a.statusBarHeight;
}
});
// 新增代码1结束
-
app(){} 里面写入 新增代码2 如图
image.png
globalData: {
// 新增代码2
weiyu:false,
//新增2代码结束
},
-
最下方添加切换语言函数 如图:
image.png
// 新增代码3
setWeiyu(){
let weiyu = false;//默认汉语
if (this.contains(wx.getStorageInfoSync().keys, "weiyu")) {//若缓存中有语言设置
weiyu = wx.getStorageSync("weiyu");
}
this.globalData.weiyu = weiyu;
},
contains: function (arr, obj) {
var i = arr.length;
while (i--) {
if (arr[i] === obj) {
return true;
}
}
return false;
},
echo: function (text) {
if (!text) return text;
var n = text.split("|");
// console.log(n)
if (n.length == 1) {
return n;
} else {
return this.globalData.weiyu ? n[1] : n[0]
}
}
//代码3结束
页面的翻译准备 第1步
// page里面写 加代码1
//新增代码1开始
changeLang(a) {
this.setData({ isWeiyu: a.detail })
},
//新增1结束
下面截图是实例代码1
image.png
第2步
在js文件中搜搜data关键字 里头写 代码2
//新增代码2开始
isWeiyu: app.globalData. isWeiyu,
//代码2结束
下面截图是实例代码2
image.png
第3步
在json文件中 里头写 代码3
"navigationStyle": "custom",
下面截图是实例代码3
image.png
第4步
在wxml文件头部导入一下代码
<wxs src="../../echo.wxs" module="echo"></wxs>
<custom showCheckbox bgColor ="bg-white" color="pink" bind:changeLang="changeLang">
<view slot="content">{{echo(isWeiyu,"我的|مىنىڭ")}}</view>
<view slot="right">
<view bindtap="my_center" class="action" style="margin-left:1rpx;width:100rpx;padding-top:20rpx;padding-bottom:30rpx;">
<image src="/image/my_center.png" style="width:33rpx;height:36rpx;"></image>
</view>
</view>
</custom>
每个字符全都换成{{echo(isWeiyu,"我的|مىنىڭ")}} 代码如下
{{echo(isWeiyu,"我的|مىنىڭ")}}
知识点1.
如果想把文字或者view显示在右边的话 添加以下代码4
style="direction:{{isWeiyu?'rtl':'ltr'}}"
下面截图是实例代码4
image.png
知识点2.
如果是wxml显示的文字不在当前文件里得加一下代码
isWeiyu="{{isWeiyu}}"
image.png
image.png
知识点3.
如果是后端中获取的文字那需要这么表达,这里的item是命名,按照实际代码确定的
{{echo(isWeiyu,item.title)}}
image.png
知识点4.
如果是后端中获取的文字那需要这么表达,这里的item是命名,按照实际代码确定的
//图片位置判断
class="{{isWeiyu?'uylunbo-right-img':'lunbo-right-img'}}"
//图片来源判断
src="{{isWeiyu?'/image/uylunbo_r.png':'/image/lunbo_r.png'}}
image.png
image.png
知识点5.
如果js里面没有page 只有component的话 在properties里 加一下代码
isWeiyu:{
type:Boolean,
value:false
},
下面截图是实例代码5
image.png
知识点5. js文件里的处理
if((that.data.extra.order_type == 1 || !that.data.extra.order_type) && !that.data.extra.address_id && that.data.store.delivery_type != 2) {
app.util.toast(app.echo('请选择收货地址|ئادرىس تاللاڭ'), '');
return false;
}
onSubmit: function() {
var that = this;
if(that.data.cart.is_category_limit == 1) {
wx.showModal({
title: app.echo('温馨提示|ئەسكەرتىش'),
content: that.data.cart.category_limit_cn
});
return false;
}
else {
goods_id = goodsActive['id'];
option_id = goodsActive['activeOptionId'];
var optionKey = goodsActive['activeOptionKey'];
if(!goodsActive.total) {
app.util.toast = app.echo('库存不足|سېتلىپ بولدى');
return false;
}
onTurncateCart: function(){
var that = this;
wx.showModal({
content: app.echo("确定清除购物车吗?|مال ھارۋىسىنى تازلامسىز؟"),
success: function (res) {
if (res.confirm) {
app.util.request({
url: 'wmall/store/goods/truncate',
data: {sid: that.data.store.id},
success: function() {
if(that.data.goodsActive) {
that.data.goodsActive.totalnum = 0;
for(var i in that.data.goodsActive['options_data']) {
that.data.goodsActive['options_data'][i]['num'] = 0;
}
}
that.data.goodsItem = that.data.goodsAll;
that.setData({
goodsActive: that.data.goodsActive,
goodsDetail: that.data.goodsActive,
cart: {},
showCartDetail: false,
});
that.onCalculate();
}
});
}
}
});
},
有些复杂的语法中使用:
<view class='wui-cell wui-cell-access coupon susyixil' bind:tap='onToggleCoupon'>
<view class='wui-cell-bd'>{{echo(isWeiyu," 商家代金券| دۇكان ئېتىبار بېلىتى")}}</view>
<view class='wui-cell-ft {{coupons.length? "": "disabled"}} susyixil' wx:if="{{!order.coupon.id}}">{{coupons.length
> 0 ? (coupons.length + echo(isWeiyu,'张代金券|دانە')) : echo(isWeiyu,'暂无代金券|يوق')}}</view>
<view class='wui-cell-ft' wx:if="{{order.coupon.id}}">-<text
class="font-12">{{Lang.dollarSign}}</text>{{order.coupon.discount}}</view>
</view>
6.要隐藏自定义组件还是生效他的 作用的话 ,hidden来实现
<wxs src="../../echo.wxs" module="echo"></wxs>
<view hidden="{{true}}">
<custom bind:changeLang="changeLang"></custom>
</view>
7.组件里面的文字需要就在组件里面处理 要data proprty 还有method都要全看图片
var app = getApp();
Component({
options: {
addGlobalClass: true,
},
properties: {
isWeiyu:{
type:Boolean,
value:false
}
},
data: {
isWeiyu: app.globalData. isWeiyu,
Lang: app.Lang,
showback: false,
popup: {
activity: false
},
themecolor: app.util.getThemeColorValue(app.util.getStorageSync('theme.themecolor'))
},
methods: {
changeLang(a) {
this.setData({ isWeiyu: a.detail })
}
})
知识点8: placeholder使用方法
placeholder="{{echo(isWeiyu,'请输入手机号|تىلفۇن نۇمرىڭىزنى كىرگۈزۈڭ')}}"
知识点9: tabbar组建的上的使用 ,先tabbar文件夹里配置好双语后,咋子回来 使用tabbar的 页面 传递给值image.png
外卖江双语的时候 因为主包大 删除了,功能文件shop和tangshi
知识点5. 外卖江餐厅名称长度不保存问题是数据库长促要改看图片
image.png
image.png
//设置提示语样式
placeholder-style ="font-family: 'UKIJ Tuz Kitab';"
某个文字不现实不是位于的时候和汉语的售后
<text wx:if="{{!ug}}">%</text>
<text wx:if="{{ug}}">%</text>