⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 trans_factory.cpp

📁 C++ web POSIX framewark
💻 CPP
字号:
#include "transtext.h"using namespace std;namespace cppcms {namespace transtext {static const trans default_trans;trans const &trans_factory::get(string lang,string domain) const{	map<string,map<string,boost::shared_ptr<trans> > >::const_iterator p;	if(lang.empty()) lang=default_lang;	if(domain.empty()) domain=default_domain;	if((p=langs.find(lang))==langs.end()) {		return default_trans;	}	else {		map<string,boost::shared_ptr<trans> >::const_iterator p2;		if((p2=p->second.find(domain))==p->second.end()) {			return default_trans;		}		return *(p2->second);	}}void trans_factory::load(			string const &locale_dir,			vector<string> const &lang_list,			string const &lang_def,			vector<string> const &domain_list,			string const &domain_def){	if(lang_list.empty() || domain_list.empty()) {		return;	}	default_lang=lang_def;	default_domain=domain_def;	if(default_lang.empty()) default_lang=lang_list[0];	if(default_domain.empty()) default_domain=domain_list[0];	typedef vector<string>::const_iterator it_t;	for(it_t lang=lang_list.begin(),le=lang_list.end();lang!=le;++lang)	{		for(it_t domain=domain_list.begin(),de=domain_list.end();de!=domain;++domain) {			boost::shared_ptr<trans_thread_safe> tr(new trans_thread_safe());			tr->load(lang->c_str(),domain->c_str(),locale_dir.c_str());			langs[*lang][*domain]=tr;				}	}}trans_factory::~trans_factory(){}} // namespace transtext} // namespace cppcms

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -