美文网首页
前端语言包实现之一

前端语言包实现之一

作者: alipy_258 | 来源:发表于2021-08-19 16:54 被阅读0次

基础实现

1. 建一个文件夹,如图:

image.png
zh-cn.json
{
  title: "标题"
}

2. 建一个js utils,写一个方法,去处理多语言

/**
 * 解析字符串为字典格式
 * @param {string} [query] url字符串,不传的时候默认会取当前页面的url
 * @returns {object} url上的参数对象,包含了url上的正常参数与hash后的参数
 */
function resolveQuery (query) {
  let search = ''
  let hash = ''
  let hashSearch

  if (query) {
    let getHash = pickStringByIndentifier(query, '#')
    hash = getHash.result
    let getSearch = pickStringByIndentifier(getHash.rest, '?')
    search = getSearch.result
  } else {
    if (window && window.location) {
      search = window.location.search
      hash = window.location.hash
    }
  }

  hashSearch = pickStringByIndentifier(hash, '?').result
  let searchObj = resolveSearch(search)
  let hashSearchObj = resolveSearch(hashSearch)
  return Object.assign({}, searchObj, hashSearchObj)
}

const { lang } = resolveQuery()
const LANG_TYPES = [
  'zh-cn',
  'en-us'
]
function langData() {
  let langVal = lang || 'zh-cn'
  if (langVal) {
    langVal = langVal.toLocaleLowerCase()
  }
  if (!LANG_TYPES.includes(langVal)) {
    langVal = 'zh-cn'
  }
  return require(`../langs/${langVal}.json`)
}

export {
  langData
}

3. 引用

<template>
  <div>{{ langText.title }}</div>
</template>

import { langData } from 'utils'
const langText = langData()

export default {
  data() {
    return {
      langText
    }
  }
}

相关文章

  • 前端语言包实现之一

    基础实现 1. 建一个文件夹,如图: 2. 建一个js utils,写一个方法,去处理多语言 3. 引用

  • VS Code 插件推荐

    综合: Chinese 中文语言包 前端开发: Open in Browser 右键浏览器打开 Aut...

  • UE4 vs 的log乱码

    可以通过修改vs的语言包解决。 语言包在visual studio installer的语言包选项里面, 语言包选...

  • uniapp生态中的 uniCloud 是什么

    uniCloud使用前端技术实现前后端业务一体的一种技术,是前端全栈者的必学技术之一,按照uniapp官方描述有以...

  • PHP 新手入门指南 - 条件判断

    条件判断是 PHP 程序程最为常见的 流程控制 之一 if if 结构是很多语言包括 PHP 在内最重要的特性之一...

  • 通过动态脚本,实现按需加载语言包

    大家好,我是前端西瓜哥,是一名前端开发。 最近做了一个将按需加载语言包的需求,有不少收获,这里记录一下。 改造前的...

  • 关于国际化语言

    之前情况:有指定语言包就从指定语言包里面获取.没有对应的语言包就使用中文. 当前需求:没有对应的语言包就使用英文 ...

  • js一些使用的记录

    moment 计算时间差 依赖jQuery实现的多语言包 jquery.localize html js 当前路径...

  • vue面试题(第九天)

    1.Vue路由的实现原理 更新视图但不重新请求页面,是前端路由原理的核心之一 vue路由的实现有两种模式<1>ha...

  • bootstrap开发运营管理后台之一:布局

    bootstrap开发运营管理后台之一:布局 公司需要用bootstrap实现一个简易的运营管理后台,初次接触前端...

网友评论

      本文标题:前端语言包实现之一

      本文链接:https://www.haomeiwen.com/subject/dwfjbltx.html