【问题标题】:Dynamically import locale file in node在节点中动态导入语言环境文件
【发布时间】:2018-07-09 19:50:04
【问题描述】:

我的项目中有以下结构:

locale
|_ nl
|   |_ country.ts
|_ en
|   |_ country.ts
|_ de
    |_ country.ts

每个country.ts 都包含一个用于翻译的查找对象:

export default {
  'AFG': 'Afghanistan',
  'ALA': 'Åland',
  'ALB': 'Albanië',
  'DZA': 'Algerije',

目前我正在使用 NL 文件,例如:

import CountryNL from 'locale/nl/country';
let locale = CountryNL['ALB'];

但是,要使用其他语言环境,我需要动态导入模块。正如Importing modules using ES6 syntax and dynamic path 中所述,这是不可能的。

动态获取正确语言文件的最佳方法是什么?

【问题讨论】:

    标签: node.js typescript


    【解决方案1】:

    首先创建一个语言对象{}。递归列出目录的内容以获取所有内容。按 .json 扩展名过滤。读入文件并解析json。使用文件名作为键将 json 添加到您的主语言对象。

    【讨论】:

    • 我想过这个问题,但是每个请求的语言都会改变,所以我需要预先将所有语言加载到一个大对象中。不知道这是否是最好的:)
    猜你喜欢
    • 2018-07-01
    • 1970-01-01
    • 2015-10-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-08-03
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多