HiveNetCore.i18n module

国际化文本处理模块

class HiveNetCore.i18n.SimpleI18N(lang='en', trans_file_path=None, trans_file_prefix='', encoding='utf-8', auto_loads=False)[源代码]

基类:object

国际化文本处理类

__init__(lang='en', trans_file_path=None, trans_file_prefix='', encoding='utf-8', auto_loads=False)[源代码]

构造函数

参数
  • lang (string) – default=’en’, 指定默认语言, 例如en、zh等

  • trans_file_path (string) – default=None, 语言信息文件所在路径, 如果为None则代表不处理信息文件

  • trans_file_prefix (string) –

    default=’’, 语言信息文件前缀,

    例如前缀为test, 信息文件名为test_en.json、test_zh.json等

  • encoding (string) – default=’utf-8’, 解析文件的编码

  • auto_loads (bool) – default=False, 是否自动加载语言信息文件

lang = 'en'
load_trans_from_dir(trans_file_path, trans_file_prefix, encoding='utf-8', append=True)[源代码]

从指定路径加载语言信息文件到对象中

参数
  • trans_file_path (string) – 语言信息文件所在路径, 如果为None则代表不处理信息文件

  • trans_file_prefix (string) –

    语言信息文件前缀,

    例如前缀为test, 信息文件名为test_en.json、test_zh.json等

  • encoding (string) – default=’utf-8’, 解析文件的编码

  • append (bool) – default=True, 是否追加模式, 如果是则以增量方式更新, 否则覆盖原来的配置

load_trans_from_file(file_full_path, lang, encoding='utf-8', append=True)[源代码]

从语言信息文件加载到对象中

参数
  • file_full_path (string) – 语言信息文件全路径( 含文件名)

  • lang (string) – 对应的语言, 例如en、zh等

  • encoding (string) – default=’utf-8’, 解析文件的编码

  • append (bool) – default=True, 是否追加模式, 如果是则以增量方式更新, 否则覆盖原来的配置

load_trans_from_json(json_obj, lang, append=True)[源代码]

从JSON实例变量中加载语言信息到对象中

参数
  • json_obj (object) – 信息字典的json对象

  • lang (string) – 对应的语言, 例如en、zh等

  • append (bool) – default=True, 是否追加模式, 如果是则以增量方式更新, 否则覆盖原来的配置

load_trans_from_str(json_str, lang, append=True)[源代码]

从JSON字符串中加载语言信息到对象中

参数
  • json_str (string) – JSON字符串

  • lang (string) – 对应的语言, 例如en、zh等

  • append (bool) – default=True, 是否追加模式, 如果是则以增量方式更新, 否则覆盖原来的配置

property trans_dict

返回已装载的多国语言字典 格式如下: {

‘en’: {

‘success’ : ‘success’, ‘failed’ : ‘failed’, ‘my name is $1’ : ‘my name is $1’

}, ‘zh’: {

‘success’ : ‘成功’, ‘failed’ : ‘失败’, ‘my name is $1’ : ‘我的名字是$1’

}

}

@property {dict}

translate(msg_id, replace_para=(), lang=None)[源代码]

返回指定语言的文本

参数
  • msg_id (string) – 要翻译的语言ID标识

  • replace_para (tuple) – default=(), 进行占位符替换的变量

  • lang (string) – default=None, 要翻译的语言, 如果不指定则采用初始化对象的默认语言

返回

国际化转换后的字符串

返回类型

string

HiveNetCore.i18n.get_global_i18n()[源代码]

获取全局SimpleI18N实例对象

@returns {SimpleI18N} - 如果未设置返回None

HiveNetCore.i18n.init_global_i18n()[源代码]

初始化HiveNetCore的国际化控件, 包括: 1、生成SimpleI18N类, 并设置到全局变量 2、装载HiveNetCore的基础国际化配置信息

HiveNetCore.i18n.set_global_i18n(i18n_obj)[源代码]

设置通用的SimpleI18N实例对象

@param {object} i18n_obj - SimpleI18N实例对象