-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathModuleHelp_Language.cpp
More file actions
171 lines (169 loc) · 5.52 KB
/
ModuleHelp_Language.cpp
File metadata and controls
171 lines (169 loc) · 5.52 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
#include "pch.h"
#include "ModuleHelp_Language.h"
/********************************************************************
// Created: 2022/03/24 10:27:34
// File Name: D:\XEngine_APIService\XEngine_Source\XEngine_ModuleHelp\ModuleHelp_Language\ModuleHelp_Language.cpp
// File Path: D:\XEngine_APIService\XEngine_Source\XEngine_ModuleHelp\ModuleHelp_Language
// File Base: ModuleHelp_Language
// File Ext: cpp
// Project: XEngine(网络通信引擎)
// Author: qyt
// Purpose: 语言转换
// History:
*********************************************************************/
CModuleHelp_Language::CModuleHelp_Language()
{
}
CModuleHelp_Language::~CModuleHelp_Language()
{
}
//////////////////////////////////////////////////////////////////////////
// 公有函数
//////////////////////////////////////////////////////////////////////////
/********************************************************************
函数名称:ModuleHelp_Translation_Convert
函数功能:翻译类型转换
参数.一:enTranslationType
In/Out:In
类型:枚举型
可空:N
意思:输入要转换的类型
参数.二:ptszTranslationType
In/Out:Out
类型:字符指针
可空:N
意思:输出转换后的类型
返回值
类型:逻辑型
意思:是否成功
备注:
*********************************************************************/
bool CModuleHelp_Language::ModuleHelp_Translation_Convert(ENUM_XENGINE_APISERVICE_TRANSLATION_TYPE enTranslationType, XCHAR* ptszTranslationType)
{
/*
* 功能说明:
* 1. 将内部翻译语言枚举值转换为外部翻译服务所需的短码字符串(如 zh/en/jp 等)。
* 2. 转换结果写入 ptszTranslationType。
* 3. 发生参数错误或不支持的类型时,统一设置模块错误标记与错误码并返回 false。
*/
ModuleHelp_IsErrorOccur = false;
// 参数合法性检查:输出缓冲区不能为空。
if (NULL == ptszTranslationType)
{
ModuleHelp_IsErrorOccur = true;
ModuleHelp_dwErrorCode = ERROR_XENGINE_APISERVICE_MODULE_HELP_LANGUAGE_PARAMENT;
return false;
}
// 枚举值到服务端语言短码的映射。
if (ENUM_XENGINE_APISERVICE_TRANSLATION_TYPE_AUTO == enTranslationType)
{
_tcsxcpy(ptszTranslationType, _X("auto"));
}
else if (ENUM_XENGINE_APISERVICE_TRANSLATION_TYPE_ZH == enTranslationType)
{
_tcsxcpy(ptszTranslationType, _X("zh"));
}
else if (ENUM_XENGINE_APISERVICE_TRANSLATION_TYPE_EN == enTranslationType)
{
_tcsxcpy(ptszTranslationType, _X("en"));
}
else if (ENUM_XENGINE_APISERVICE_TRANSLATION_TYPE_YUE == enTranslationType)
{
_tcsxcpy(ptszTranslationType, _X("yue"));
}
else if (ENUM_XENGINE_APISERVICE_TRANSLATION_TYPE_WYW == enTranslationType)
{
_tcsxcpy(ptszTranslationType, _X("wyw"));
}
else if (ENUM_XENGINE_APISERVICE_TRANSLATION_TYPE_JP == enTranslationType)
{
_tcsxcpy(ptszTranslationType, _X("jp"));
}
else if (ENUM_XENGINE_APISERVICE_TRANSLATION_TYPE_KOR == enTranslationType)
{
_tcsxcpy(ptszTranslationType, _X("kor"));
}
else if (ENUM_XENGINE_APISERVICE_TRANSLATION_TYPE_FRA == enTranslationType)
{
_tcsxcpy(ptszTranslationType, _X("fra"));
}
else if (ENUM_XENGINE_APISERVICE_TRANSLATION_TYPE_SPA == enTranslationType)
{
_tcsxcpy(ptszTranslationType, _X("spa"));
}
else if (ENUM_XENGINE_APISERVICE_TRANSLATION_TYPE_TH == enTranslationType)
{
_tcsxcpy(ptszTranslationType, _X("th"));
}
else if (ENUM_XENGINE_APISERVICE_TRANSLATION_TYPE_DE == enTranslationType)
{
_tcsxcpy(ptszTranslationType, _X("de"));
}
else if (ENUM_XENGINE_APISERVICE_TRANSLATION_TYPE_IT == enTranslationType)
{
_tcsxcpy(ptszTranslationType, _X("it"));
}
else if (ENUM_XENGINE_APISERVICE_TRANSLATION_TYPE_EL == enTranslationType)
{
_tcsxcpy(ptszTranslationType, _X("el"));
}
else if (ENUM_XENGINE_APISERVICE_TRANSLATION_TYPE_NL == enTranslationType)
{
_tcsxcpy(ptszTranslationType, _X("nl"));
}
else if (ENUM_XENGINE_APISERVICE_TRANSLATION_TYPE_PL == enTranslationType)
{
_tcsxcpy(ptszTranslationType, _X("pl"));
}
else if (ENUM_XENGINE_APISERVICE_TRANSLATION_TYPE_BUL == enTranslationType)
{
_tcsxcpy(ptszTranslationType, _X("bul"));
}
else if (ENUM_XENGINE_APISERVICE_TRANSLATION_TYPE_EST == enTranslationType)
{
_tcsxcpy(ptszTranslationType, _X("est"));
}
else if (ENUM_XENGINE_APISERVICE_TRANSLATION_TYPE_DAN == enTranslationType)
{
_tcsxcpy(ptszTranslationType, _X("dan"));
}
else if (ENUM_XENGINE_APISERVICE_TRANSLATION_TYPE_FIN == enTranslationType)
{
_tcsxcpy(ptszTranslationType, _X("fin"));
}
else if (ENUM_XENGINE_APISERVICE_TRANSLATION_TYPE_CS == enTranslationType)
{
_tcsxcpy(ptszTranslationType, _X("cs"));
}
else if (ENUM_XENGINE_APISERVICE_TRANSLATION_TYPE_ROM == enTranslationType)
{
_tcsxcpy(ptszTranslationType, _X("rom"));
}
else if (ENUM_XENGINE_APISERVICE_TRANSLATION_TYPE_SLO == enTranslationType)
{
_tcsxcpy(ptszTranslationType, _X("slo"));
}
else if (ENUM_XENGINE_APISERVICE_TRANSLATION_TYPE_SWE == enTranslationType)
{
_tcsxcpy(ptszTranslationType, _X("swe"));
}
else if (ENUM_XENGINE_APISERVICE_TRANSLATION_TYPE_HU == enTranslationType)
{
_tcsxcpy(ptszTranslationType, _X("hu"));
}
else if (ENUM_XENGINE_APISERVICE_TRANSLATION_TYPE_CHT == enTranslationType)
{
_tcsxcpy(ptszTranslationType, _X("cht"));
}
else if (ENUM_XENGINE_APISERVICE_TRANSLATION_TYPE_VIE == enTranslationType)
{
_tcsxcpy(ptszTranslationType, _X("vie"));
}
else
{
ModuleHelp_IsErrorOccur = true;
ModuleHelp_dwErrorCode = ERROR_XENGINE_APISERVICE_MODULE_HELP_LANGUAGE_NOTSUPPORT;
return false;
}
return true;
}