微信小程序实现多国语言的切换-简单

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了微信小程序实现多国语言的切换-简单相关的知识,希望对你有一定的参考价值。

参考技术A 实现步骤:

1,首先在根目录新建文件夹 i18n,该文件夹下是 各种语言的js文件,如下图所示:

每个js文件内容和下面的图片类似;

2,新建base.js文件,位置和app.js同级别即可,也可自行安排位置;里面内容如下

3,在页面中使用:

首先在页面 js文件中引入base.js;

然后在onShow生命周期函数中 写入:

写在onShow生命周期函数中每次进入该页面,都加载数据,虽然降低了性能,但是保证切换语言之后,页面的文字能随时变化;(((切换语言主要是用了微信小程序的组件 radio-group ,改变缓存中的一个变量,该变量是用于确定当前选择的是何种语言的标志;在步骤1中有四个js文件,分别是“_hanyu.js”,“_riyu.js” ,“_ying.js”,“_zhong.js”,

通过单选按钮将对应的文件名放入缓存

这样页面js文件的data对象里就有了对应语言的数据,在wxml页面中可以通过双花括号获取数据;

例如:<text>_t["授权完成"]</text>

微信小程序实现tab切换(可滑动切换)

前言

tab切换作为前端开发中最常见的组件之一,相信大家平时都用的不少吧,今天给大家分享一个微信小程序的tab切换,一起来看看吧。

实现效果:

其实这个小功能的实现非常简单,只需要通过一个标识控制选项的样式及显示的内容,当我们触发点击或者滑动事件时动态的改变标识的值即可。话不多说,下面直接上实例代码。

wxml 文件

<view>
    <!-- Tab布局 -->
    <view class='navBox'>
        <view class='titleBox' bindtap='titleClick' data-idx='0'>
            <text class="0 == currentIndex ? 'fontColorBox' : ''">装备</text>
            <hr class="0 == currentIndex ? 'lineBox' : 'notLineBox'" />
        </view>
        <view class='titleBox' bindtap='titleClick' data-idx='1'>
            <text class="1 == currentIndex ? 'fontColorBox1' : ''">活动</text>
            <hr class="1 == currentIndex ? 'lineBox' : 'notLineBox' " />
        </view>
    </view>
    <!-- 内容布局 -->
    <swiper class='swiperTtemBox' bindchange='pagechange' current='currentIndex'>
        <swiper-item class='swiperTtemBox'>
            <view>装备内容</view>
        </swiper-item>
        <swiper-item class='swiperTtemBox'>
            <view>活动内容</view>
        </swiper-item>
    </swiper>
</view>

js文件

const app = getApp()
Page(
  data: 
    currentIndex: 0, //默认是活动项
  ,
  // 切换swiper-item触发bindchange事件
  pagechange: function (e) 
    // 通过touch判断,改变tab的下标值
    if ("touch" === e.detail.source) 
      let currentPageIndex = this.data.currentIndex;
      currentPageIndex = (currentPageIndex + 1) % 2;
      // 拿到当前索引并动态改变
      this.setData(
        currentIndex: currentPageIndex,
      )
    
  ,

  //点击tab时触发
  titleClick: function (e) 
    this.setData(
      //拿到当前索引并动态改变
      currentIndex: e.currentTarget.dataset.idx
    )
  ,
)

wxss 文件

Page 
    /* 全局样式 */
    background: rgb(244, 245, 249);
    height: 100%;
    position: fixed;


.fontColorBox,
.fontColorBox1 
    /* 文字默认颜色 */
    color: black;


.navBox 
    /* 顶部tab盒子样式 */
    width: 100%;
    height: 108rpx;
    background: white;
    display: flex;
    align-items: center;
    justify-content: center;


.navBox view:last-child 
    /* 最后一个tab标题的样式 */
    padding-left: 20%;


.titleBox 
    /* 未选中文字的样式 */
    color: rgb(168, 170, 175);
    font-size: 30rpx;
    display: flex;
    flex-direction: column;
    align-items: center;

.lineBox,.notLineBox
    /* 选中及未选中底线共同样式 */
    width: 32rpx;
    height: 8rpx;


.lineBox 
    /* 选中底线样式 */
    background: rgb(43, 44, 45);
    margin-top: 16rpx;
    border-radius: 4rpx;


.notLineBox 
    /* 未选中底线样式 */
    background: transparent;


.swiperTtemBox 
    /* 底部内容样式 */
    height: 100vh;
    overflow: scroll;
    margin: 12rpx 0rpx;
    background: white;
    font-size: 28rpx;

以上是关于微信小程序实现多国语言的切换-简单的主要内容,如果未能解决你的问题,请参考以下文章

微信小程序怎么实现下方tabs切换

微信小程序 切换主题色

微信小程序实现tab切换(可滑动切换)

微信小程序是用啥技术实现的?

微信小程序点击切换class

微信小程序实现tab切换