dl
dl::Language类 参考

语言管理器 更多...

#include <dl_language.h>

Public 类型

enum  Type : size_t { E_ENGLISH , E_CHINESE }
 
using MapName = std::unordered_map<std::string, std::string, string_hash, std::equal_to<>>
 
using MapTag = std::unordered_map<std::string, MapName, string_hash, std::equal_to<>>
 

Public 成员函数

 Language ()
 
void LoadXlsx (std::string_view path_name)
 从xlsx文件加载语言配置文件
 
std::string_view Get (std::string_view tag, std::string_view name)
 失败返回特定字符串,并写入日志
 
std::optional< std::string_view > GetCheck (std::string_view tag, std::string_view name)
 失败返回false
 
std::size_t GetTagSize (std::string_view tag)
 返回tag包含的子项数量
 
std::vector< std::string_view > GetTagVector (std::string_view tag)
 返回tag所有子项
 
std::unordered_map< std::string, std::string > GetTagMap (std::string_view tag)
 
std::vector< std::string_view > GetTagNameVector (std::string_view tag, std::string_view name)
 返回tag子项,以name字符串开头所有元素
 
std::unordered_map< std::string, std::string_view > GetTagNameMap (std::string_view tag, std::string_view name)
 
std::string_view GetTagNameRandom (std::string_view tag)
 随机获取tag的子项
 
const std::vector< std::string > & GetLangAll ()
 返回所有语言
 
void SetLangCurrent (Type type)
 设置当前语言
 
 ~Language ()
 

详细描述

语言管理器

在文件 dl_language.h27 行定义.

成员类型定义说明

◆ MapName

using dl::Language::MapName = std::unordered_map<std::string, std::string, string_hash, std::equal_to<>>

在文件 dl_language.h95 行定义.

◆ MapTag

using dl::Language::MapTag = std::unordered_map<std::string, MapName, string_hash, std::equal_to<>>

在文件 dl_language.h96 行定义.

成员枚举类型说明

◆ Type

enum dl::Language::Type : size_t
枚举值
E_ENGLISH 
E_CHINESE 

在文件 dl_language.h30 行定义.

构造及析构函数说明

◆ Language()

dl::Language::Language ( )

◆ ~Language()

dl::Language::~Language ( )

成员函数说明

◆ Get()

std::string_view dl::Language::Get ( std::string_view tag,
std::string_view name )

失败返回特定字符串,并写入日志

◆ GetCheck()

std::optional< std::string_view > dl::Language::GetCheck ( std::string_view tag,
std::string_view name )

失败返回false

◆ GetLangAll()

const std::vector< std::string > & dl::Language::GetLangAll ( )

返回所有语言

◆ GetTagMap()

std::unordered_map< std::string, std::string > dl::Language::GetTagMap ( std::string_view tag)

◆ GetTagNameMap()

std::unordered_map< std::string, std::string_view > dl::Language::GetTagNameMap ( std::string_view tag,
std::string_view name )

◆ GetTagNameRandom()

std::string_view dl::Language::GetTagNameRandom ( std::string_view tag)

随机获取tag的子项

◆ GetTagNameVector()

std::vector< std::string_view > dl::Language::GetTagNameVector ( std::string_view tag,
std::string_view name )

返回tag子项,以name字符串开头所有元素

注解
例如 {name, ai},将会返回{name, ai_0}、{name, ai_1}、{name, ai_abc}

◆ GetTagSize()

std::size_t dl::Language::GetTagSize ( std::string_view tag)

返回tag包含的子项数量

◆ GetTagVector()

std::vector< std::string_view > dl::Language::GetTagVector ( std::string_view tag)

返回tag所有子项

注解
例如 name,将会返回{name, ai_0}、{name, ai_1}、{name, ai_abc}

◆ LoadXlsx()

void dl::Language::LoadXlsx ( std::string_view path_name)

从xlsx文件加载语言配置文件

注解
可以多次调用以读取不同的文件

◆ SetLangCurrent()

void dl::Language::SetLangCurrent ( Type type)
inline

设置当前语言

在文件 dl_language.h86 行定义.


该类的文档由以下文件生成: