PluginProbe ʕ •ᴥ•ʔ
AI Engine – The Chatbot, AI Framework & MCP for WordPress / 3.4.7
AI Engine – The Chatbot, AI Framework & MCP for WordPress v3.4.7
3.5.7 3.5.6 3.5.5 3.5.4 3.5.3 3.5.2 3.5.1 3.5.0 3.4.9 3.4.8 3.4.7 0.2.1 1.6.91 0.2.2 1.6.92 0.2.3 1.6.93 0.2.4 1.6.94 0.2.5 1.6.95 0.2.6 1.6.96 0.2.7 1.6.97 0.2.8 1.6.98 0.2.9 1.6.99 0.3.0 1.7.0 0.3.1 1.7.1 0.3.2 1.7.2 0.3.3 1.7.3 0.3.4 1.7.4 0.3.5 1.7.5 0.3.6 1.7.6 0.4.0 1.7.7 0.4.1 1.7.8 0.4.2 1.7.9 0.4.3 1.8.0 0.4.4 1.8.1 0.4.5 1.8.2 0.4.6 1.8.3 0.4.7 1.8.4 0.4.8 1.8.5 0.4.9 1.8.6 0.5.0 1.8.7 0.5.1 1.8.8 0.5.2 1.8.9 0.5.3 1.9.0 0.5.4 1.9.1 0.5.5 1.9.2 0.5.6 1.9.3 0.5.7 1.9.4 0.5.8 1.9.5 0.5.9 1.9.6 0.6.0 1.9.7 0.6.1 1.9.8 0.6.2 1.9.81 0.6.3 1.9.82 0.6.4 1.9.83 0.6.5 1.9.84 0.6.6 1.9.85 0.6.7 1.9.86 0.6.8 1.9.87 0.6.9 1.9.88 0.7.0 1.9.89 0.7.1 1.9.90 0.7.2 1.9.91 0.7.3 1.9.92 0.7.4 1.9.93 0.7.5 1.9.94 0.7.6 1.9.95 0.7.7 1.9.96 0.7.8 1.9.97 0.7.9 1.9.98 0.8.0 1.9.99 0.8.1 2.0.0 0.8.2 2.0.1 0.8.3 2.0.2 0.8.4 2.0.3 0.8.5 2.0.4 0.8.6 2.0.5 0.8.7 2.0.6 0.8.8 2.0.7 0.8.9 2.0.8 0.9.0 2.0.9 0.9.2 2.1.0 0.9.3 2.1.1 0.9.4 2.1.2 0.9.5 2.1.3 0.9.6 2.1.4 0.9.7 2.1.5 0.9.8 2.1.6 0.9.81 2.1.7 0.9.82 2.1.8 0.9.83 2.1.9 0.9.84 2.2.0 0.9.85 2.2.1 0.9.86 2.2.2 0.9.87 2.2.3 0.9.88 2.2.4 0.9.89 2.2.5 0.9.9 2.2.51 0.9.91 2.2.52 0.9.92 2.2.53 0.9.93 2.2.54 0.9.94 2.2.56 0.9.95 2.2.57 0.9.96 2.2.6 0.9.97 2.2.60 0.9.98 2.2.61 0.9.99 2.2.62 1.0.0 2.2.63 1.0.01 2.2.70 1.0.1 2.2.80 1.0.2 2.2.81 1.0.3 2.2.90 1.0.4 2.2.91 1.0.5 2.2.92 1.0.6 2.2.93 1.0.7 2.2.94 1.0.8 2.2.95 1.0.9 2.3.0 1.1.0 2.3.1 1.1.1 2.3.2 1.1.2 2.3.3 1.1.3 2.3.4 1.1.4 2.3.5 1.1.5 2.3.6 1.1.6 2.3.7 1.1.7 2.3.8 1.1.8 2.3.9 1.1.9 2.4.0 1.2.0 2.4.1 1.2.1 2.4.2 1.2.2 2.4.3 1.2.21 2.4.4 1.2.3 2.4.5 1.2.30 2.4.6 1.3.0 2.4.7 1.3.1 2.4.8 1.3.2 2.4.9 1.3.3 2.5.0 1.3.31 2.5.1 1.3.32 2.5.2 1.3.33 2.5.3 1.3.34 2.5.4 1.3.35 2.5.5 1.3.36 2.5.6 1.3.37 2.5.7 1.3.38 2.5.8 1.3.39 2.5.9 1.3.40 2.6.0 1.3.41 2.6.1 1.3.42 2.6.2 1.3.43 2.6.3 1.3.44 2.6.5 1.3.45 2.6.6 1.3.46 2.6.7 1.3.47 2.6.8 1.3.48 2.6.9 1.3.49 2.7.0 1.3.50 2.7.1 1.3.51 2.7.2 1.3.52 2.7.3 1.3.53 2.7.4 1.3.54 2.7.5 1.3.56 2.7.6 1.3.57 2.7.7 1.3.58 2.7.8 1.3.59 2.7.9 1.3.60 2.8.0 1.3.61 2.8.1 1.3.62 2.8.2 1.3.63 2.8.3 1.3.64 2.8.4 1.3.65 2.8.5 1.3.66 2.8.6 1.3.67 2.8.7 1.3.68 2.8.8 1.3.69 2.8.9 1.3.70 2.9.0 1.3.71 2.9.1 1.3.72 2.9.2 1.3.73 2.9.3 1.3.74 2.9.4 1.3.75 2.9.5 1.3.76 2.9.6 1.3.77 2.9.7 1.3.78 2.9.8 1.3.79 2.9.9 1.3.80 3.0.0 1.3.81 3.0.1 1.3.82 3.0.2 1.3.83 3.0.3 1.3.84 3.0.4 1.3.85 3.0.5 1.3.86 3.0.6 1.3.87 3.0.7 1.3.88 3.0.8 1.3.89 3.0.9 1.3.90 3.1.0 1.3.91 3.1.1 1.3.92 3.1.2 1.3.93 3.1.3 1.3.94 3.1.4 1.3.95 3.1.5 1.3.96 3.1.6 1.3.97 3.1.7 1.3.98 3.1.8 1.3.99 3.1.9 1.4.0 3.2.0 1.4.1 3.2.1 1.4.2 3.2.2 1.4.3 3.2.3 1.4.4 3.2.4 1.4.5 3.2.5 1.4.6 3.2.6 1.4.7 3.2.7 1.4.8 3.2.8 1.4.9 3.2.9 1.5.0 3.3.0 1.5.1 3.3.1 1.5.2 3.3.2 1.5.3 3.3.3 1.5.4 3.3.4 1.5.5 3.3.5 1.5.6 3.3.6 1.5.7 3.3.7 1.5.8 3.3.8 1.5.9 3.3.9 1.6.0 3.4.0 1.6.1 3.4.1 1.6.2 3.4.2 1.6.3 3.4.3 1.6.5 3.4.4 1.6.51 3.4.5 1.6.52 3.4.6 1.6.53 1.6.54 1.6.55 1.6.56 1.6.57 1.6.58 1.6.59 1.6.60 1.6.61 1.6.62 1.6.63 1.6.64 1.6.65 1.6.66 1.6.67 1.6.68 trunk 1.6.69 0.0.1 1.6.70 0.0.2 1.6.71 0.0.3 1.6.72 0.0.4 1.6.73 0.0.5 1.6.74 0.0.6 1.6.75 0.0.7 1.6.76 0.0.8 1.6.77 0.0.9 1.6.78 0.1.0 1.6.79 0.1.1 1.6.81 0.1.2 1.6.82 0.1.3 1.6.83 0.1.4 1.6.84 0.1.5 1.6.85 0.1.6 1.6.86 0.1.7 1.6.87 0.1.8 1.6.88 0.1.9 1.6.89 0.2.0 1.6.90
ai-engine / constants / init.php
ai-engine / constants Last commit date
engines.php 7 months ago init.php 2 months ago models.php 2 months ago types.php 1 year ago
init.php
440 lines
1 <?php
2
3 require_once( MWAI_PATH . '/constants/engines.php' );
4 require_once( MWAI_PATH . '/constants/models.php' );
5
6 define( 'MWAI_CHATBOT_DEFAULT_PARAMS', [
7 // UI Parameters
8 'aiName' => 'AI: ',
9 'userName' => 'User: ',
10 'guestName' => 'Guest: ',
11 'textSend' => 'Send',
12 'textClear' => 'Clear',
13 'textInputPlaceholder' => 'Type your message...',
14 'textInputMaxLength' => 512,
15 'textCompliance' => '',
16 'startSentence' => 'Hi! How can I help you?',
17 'themeId' => 'chatgpt',
18 'window' => false,
19 'icon' => '',
20 'iconText' => '',
21 'iconTextDelay' => 1,
22 'iconAlt' => 'AI Engine Chatbot',
23 'iconPosition' => 'bottom-right',
24 'centerOpen' => false,
25 'width' => '',
26 'openDelay' => '',
27 'iconBubble' => false,
28 'windowAnimation' => 'zoom',
29 'fullscreen' => false,
30 'copyButton' => false,
31 // Default true to preserve the print-to-PDF behavior introduced in 3.4.6
32 // for installs that never opted into the new toggle.
33 'pdfButton' => true,
34 'headerSubtitle' => 'Discuss with',
35 'localMemory' => true,
36 'multiUpload' => false,
37 // UI Builder Parameters
38 'containerType' => 'standard',
39 'headerType' => 'standard',
40 'messagesType' => 'standard',
41 'inputType' => 'standard',
42 'footerType' => 'standard',
43 // Chatbot System Parameters
44 'botId' => null,
45 'instructions' => 'Converse as if you were an AI assistant. Be friendly, creative.',
46 'scope' => 'chatbot',
47 'mode' => 'chat',
48 'contentAware' => false,
49 'embeddingsEnvId' => '',
50 // AI Parameters
51 'model' => MWAI_FALLBACK_MODEL,
52 'temperature' => 0.8,
53 'maxMessages' => 15,
54 'maxTokens' => 4096,
55 'maxResults' => 1,
56 'apiKey' => null,
57 'voice' => null,
58 // Orchestration
59 'functions' => [],
60 'mcpServers' => [],
61 // Advanced
62 'historyStrategy' => null,
63 // Cross-Site
64 'crossSite' => [
65 'enabled' => false,
66 'allowedDomains' => []
67 ]
68 ] );
69
70 define( 'MWAI_LANGUAGES', [
71 'en' => 'English',
72 'de' => 'German',
73 'fr' => 'French',
74 'es' => 'Spanish',
75 'it' => 'Italian',
76 'zh' => 'Chinese',
77 'ja' => 'Japanese',
78 'pt' => 'Portuguese',
79 //'ru' => 'Russian',
80 ] );
81
82 define( 'MWAI_LIMITS', [
83 'enabled' => true,
84 'guests' => [
85 'credits' => 3,
86 'creditType' => 'queries',
87 'timeFrame' => 'day',
88 'isAbsolute' => false,
89 'overLimitMessage' => 'You have reached the limit (check the Insights Tab > Limits > Guests).',
90 ],
91 'users' => [
92 'credits' => 10,
93 'creditType' => 'price',
94 'timeFrame' => 'month',
95 'isAbsolute' => false,
96 'overLimitMessage' => 'You have reached the limit (check the Insights Tab > Limits > Users).',
97 'ignoredUsers' => 'administrator,editor',
98 ],
99 'system' => [
100 'credits' => 20,
101 'creditType' => 'price',
102 'timeFrame' => 'month',
103 'isAbsolute' => false,
104 'overLimitMessage' => 'Our chatbot went to sleep. Please try again later.',
105 'ignoredUsers' => '',
106 ],
107 ] );
108
109 define( 'MWAI_OPTIONS', [
110 'module_addons' => true,
111 'module_suggestions' => true,
112 'module_chatbots' => true,
113 'module_search' => false,
114 'search_frontend_method' => 'wordpress',
115 'search_frontend_env_id' => null,
116 'search_website_context' => 'This is a website with useful information and content.',
117 'module_library_search' => false,
118 'library_search_env_id' => null,
119 'module_forms' => false,
120 'forms_editor' => true,
121 'module_blocks' => false,
122 'module_playground' => true,
123 'module_generator_content' => true,
124 'module_generator_images' => true,
125 'module_generator_videos' => true,
126 'module_moderation' => false,
127 'module_statistics' => false,
128 'module_finetunes' => false,
129 'module_embeddings' => false,
130 'module_transcription' => false,
131 'module_advisor' => false,
132 'module_orchestration' => false,
133 'module_mcp' => false,
134 'speech_recognition' => false,
135 'speech_synthesis' => false,
136 'chatbot_gdpr_consent' => false,
137 'chatbot_gdpr_text' => 'By using this chatbot, you agree to the recording and processing of your data by our website and the external services it might use (LLMs, vector databases, etc.).',
138 'chatbot_gdpr_button' => 'I understand',
139 'chatbot_typewriter' => false,
140 'chatbot_discussions' => false,
141 'chatbot_discussions_titling' => true,
142 'chatbot_discussions_paging' => 10,
143 'chatbot_discussions_refresh_interval' => 5,
144 'chatbot_discussions_retention_days' => 90,
145 'chatbot_discussions_metadata_enabled' => true,
146 'chatbot_discussions_metadata_start_date' => true,
147 'chatbot_discussions_metadata_last_update' => true,
148 'chatbot_discussions_metadata_message_count' => true,
149 'chatbot_moderation' => false,
150 'syntax_highlight' => false,
151 'event_logs' => false,
152 'privacy_first' => false,
153 'limits' => MWAI_LIMITS,
154
155 // Settings for Images
156 'image_local_upload' => 'uploads',
157 'image_remote_upload' => 'data',
158 'image_expires' => 1 * HOUR_IN_SECONDS,
159
160 'ai_models' => [],
161 'ai_models_usage' => [],
162 'ai_streaming' => true,
163 'ai_default_env' => null,
164 'ai_default_model' => MWAI_FALLBACK_MODEL,
165 'ai_envs' => [
166 [
167 'name' => 'OpenAI',
168 'type' => 'openai',
169 'apikey' => '',
170 'finetunes' => [],
171 'finetunes_deleted' => [],
172 'legacy_finetunes' => [],
173 'legacy_finetunes_deleted' => [],
174 'usage' => [], // TODO: We should only keep the last year of usage
175 ],
176 [
177 'name' => 'Claude',
178 'type' => 'anthropic',
179 'apikey' => '',
180 ]
181 ],
182
183 'mcp_envs' => [],
184
185 'ai_fast_default_env' => null,
186 'ai_fast_default_model' => MWAI_FALLBACK_MODEL_FAST,
187 'ai_embeddings_default_env' => null,
188 'ai_embeddings_default_model' => 'text-embedding-3-small',
189 'ai_embeddings_default_dimensions' => 1536,
190 'ai_vision_default_env' => null,
191 'ai_vision_default_model' => 'gpt-5-mini',
192 'ai_images_default_env' => null,
193 'ai_images_default_model' => 'gpt-image-1.5',
194 'ai_audio_default_env' => null,
195 'ai_audio_default_model' => 'whisper-1',
196 'ai_json_default_env' => null,
197 'ai_json_default_model' => 'gpt-5-mini',
198 'embeddings_default_env' => null,
199 'embeddings_envs' => [
200 [
201 'name' => 'Chroma',
202 'type' => 'chroma',
203 'apikey' => '',
204 'server' => 'https://api.trychroma.com',
205 'deployment' => 'cloud',
206 'tenant' => '',
207 'database' => 'default_database',
208 'collection' => 'mwai',
209 'embeddings_source' => 'Qwen/Qwen3-Embedding-0.6B'
210 ]
211 ],
212 'embeddings' => [
213 'rewriteContent' => true,
214 'rewritePrompt' => "Start your response with the title: {TITLE}\nOn the next line, provide a brief introductory sentence that explains what the content is about.\n\nThen leave an empty line and begin the rewritten content.\n\nRewrite the content concisely in {LANGUAGE}, maintaining the same style and information. The revised text should be under 800 words, with paragraphs ranging from 160-280 words each. Omit non-textual elements and avoid unnecessary repetition. Conclude with a statement directing readers to find more information at {URL}. If you cannot meet these requirements, please leave a blank response.\n\nThe content to rewrite is below, between '== START ==' and '== END =='.\n\n== START ==\n{CONTENT}\n== END ==\n\n",
215 'forceRecreate' => false,
216 'syncPosts' => false,
217 'syncPostsEnvId' => null,
218 'syncPostTypes' => ['post', 'page', 'product'],
219 'syncPostStatus' => ['publish'],
220 'syncPostCategories' => [],
221 ],
222 'public_api' => false,
223 'dev_mode' => false,
224 'debug_mode' => false,
225 'server_debug_mode' => false,
226 'mcp_debug_mode' => false,
227 'mcp_role' => 'admin',
228 'queries_debug_mode' => false,
229 'logs_path' => null,
230 'resolve_shortcodes' => false,
231 'context_max_length' => 16384,
232 'banned_words' => [],
233 'ignore_word_boundaries' => false,
234 'banned_ips' => [],
235 'languages' => MWAI_LANGUAGES,
236 'custom_languages' => [
237 'English (en)',
238 'German (de)',
239 'French (fr)',
240 'Spanish (es)',
241 'Italian (it)',
242 'Chinese (zh)',
243 'Japanese (ja)',
244 'Portuguese (pt)'
245 ],
246 'clean_uninstall' => false,
247
248 // ADMIN UI
249 'intro_message' => true,
250 'chatbot_select' => 'tabs'
251 ] );
252
253 define( 'MWAI_ALL_LANGUAGES', [
254 'aa' => 'Afar',
255 'ab' => 'Abkhazian',
256 'af' => 'Afrikaans',
257 'ak' => 'Akan',
258 'sq' => 'Albanian',
259 'am' => 'Amharic',
260 'ar' => 'Arabic',
261 'an' => 'Aragonese',
262 'hy' => 'Armenian',
263 'as' => 'Assamese',
264 'av' => 'Avaric',
265 'ae' => 'Avestan',
266 'ay' => 'Aymara',
267 'az' => 'Azerbaijani',
268 'ba' => 'Bashkir',
269 'bm' => 'Bambara',
270 'eu' => 'Basque',
271 'be' => 'Belarusian',
272 'bn' => 'Bengali',
273 'bh' => 'Bihari',
274 'bi' => 'Bislama',
275 'bs' => 'Bosnian',
276 'br' => 'Breton',
277 'bg' => 'Bulgarian',
278 'my' => 'Burmese',
279 'ca' => 'Catalan; Valencian',
280 'ch' => 'Chamorro',
281 'ce' => 'Chechen',
282 'zh' => 'Chinese',
283 'cu' => 'Church Slavic; Old Slavonic; Church Slavonic; Old Bulgarian; Old Church Slavonic',
284 'cv' => 'Chuvash',
285 'kw' => 'Cornish',
286 'co' => 'Corsican',
287 'cr' => 'Cree',
288 'cs' => 'Czech',
289 'da' => 'Danish',
290 'dv' => 'Divehi; Dhivehi; Maldivian',
291 'nl' => 'Dutch; Flemish',
292 'dz' => 'Dzongkha',
293 'en' => 'English',
294 'eo' => 'Esperanto',
295 'et' => 'Estonian',
296 'ee' => 'Ewe',
297 'fo' => 'Faroese',
298 'fj' => 'Fijjian',
299 'fi' => 'Finnish',
300 'fr' => 'French',
301 'fy' => 'Western Frisian',
302 'ff' => 'Fulah',
303 'ka' => 'Georgian',
304 'de' => 'German',
305 'gd' => 'Gaelic; Scottish Gaelic',
306 'ga' => 'Irish',
307 'gl' => 'Galician',
308 'gv' => 'Manx',
309 'el' => 'Greek, Modern',
310 'gn' => 'Guarani',
311 'gu' => 'Gujarati',
312 'ht' => 'Haitian; Haitian Creole',
313 'ha' => 'Hausa',
314 'he' => 'Hebrew',
315 'hz' => 'Herero',
316 'hi' => 'Hindi',
317 'ho' => 'Hiri Motu',
318 'hu' => 'Hungarian',
319 'ig' => 'Igbo',
320 'is' => 'Icelandic',
321 'io' => 'Ido',
322 'ii' => 'Sichuan Yi',
323 'iu' => 'Inuktitut',
324 'ie' => 'Interlingue',
325 'ia' => 'Interlingua (International Auxiliary Language Association)',
326 'id' => 'Indonesian',
327 'ik' => 'Inupiaq',
328 'it' => 'Italian',
329 'jv' => 'Javanese',
330 'ja' => 'Japanese',
331 'kl' => 'Kalaallisut; Greenlandic',
332 'kn' => 'Kannada',
333 'ks' => 'Kashmiri',
334 'kr' => 'Kanuri',
335 'kk' => 'Kazakh',
336 'km' => 'Central Khmer',
337 'ki' => 'Kikuyu; Gikuyu',
338 'rw' => 'Kinyarwanda',
339 'ky' => 'Kirghiz; Kyrgyz',
340 'kv' => 'Komi',
341 'kg' => 'Kongo',
342 'ko' => 'Korean',
343 'kj' => 'Kuanyama; Kwanyama',
344 'ku' => 'Kurdish',
345 'lo' => 'Lao',
346 'la' => 'Latin',
347 'lv' => 'Latvian',
348 'li' => 'Limburgan; Limburger; Limburgish',
349 'ln' => 'Lingala',
350 'lt' => 'Lithuanian',
351 'lb' => 'Luxembourgish; Letzeburgesch',
352 'lu' => 'Luba-Katanga',
353 'lg' => 'Ganda',
354 'mk' => 'Macedonian',
355 'mh' => 'Marshallese',
356 'ml' => 'Malayalam',
357 'mi' => 'Maori',
358 'mr' => 'Marathi',
359 'ms' => 'Malay',
360 'mg' => 'Malagasy',
361 'mt' => 'Maltese',
362 'mo' => 'Moldavian',
363 'mn' => 'Mongolian',
364 'na' => 'Nauru',
365 'nv' => 'Navajo; Navaho',
366 'nr' => 'Ndebele, South; South Ndebele',
367 'nd' => 'Ndebele, North; North Ndebele',
368 'ng' => 'Ndonga',
369 'ne' => 'Nepali',
370 'nn' => 'Norwegian Nynorsk; Nynorsk, Norwegian',
371 'nb' => 'Bokmål, Norwegian, Norwegian Bokmål',
372 'no' => 'Norwegian',
373 'ny' => 'Chichewa; Chewa; Nyanja',
374 'oc' => 'Occitan, Provençal',
375 'oj' => 'Ojibwa',
376 'or' => 'Oriya',
377 'om' => 'Oromo',
378 'os' => 'Ossetian; Ossetic',
379 'pa' => 'Panjabi; Punjabi',
380 'fa' => 'Persian',
381 'pi' => 'Pali',
382 'pl' => 'Polish',
383 'pt' => 'Portuguese',
384 'ps' => 'Pushto',
385 'qu' => 'Quechua',
386 'rm' => 'Romansh',
387 'ro' => 'Romanian',
388 'rn' => 'Rundi',
389 'ru' => 'Russian',
390 'sg' => 'Sango',
391 'sa' => 'Sanskrit',
392 'sr' => 'Serbian',
393 'hr' => 'Croatian',
394 'si' => 'Sinhala; Sinhalese',
395 'sk' => 'Slovak',
396 'sl' => 'Slovenian',
397 'se' => 'Northern Sami',
398 'sm' => 'Samoan',
399 'sn' => 'Shona',
400 'sd' => 'Sindhi',
401 'so' => 'Somali',
402 'st' => 'Sotho, Southern',
403 'es' => 'Spanish; Castilian',
404 'sc' => 'Sardinian',
405 'ss' => 'Swati',
406 'su' => 'Sundanese',
407 'sw' => 'Swahili',
408 'sv' => 'Swedish',
409 'ty' => 'Tahitian',
410 'ta' => 'Tamil',
411 'tt' => 'Tatar',
412 'te' => 'Telugu',
413 'tg' => 'Tajik',
414 'tl' => 'Tagalog',
415 'th' => 'Thai',
416 'bo' => 'Tibetan',
417 'ti' => 'Tigrinya',
418 'to' => 'Tonga (Tonga Islands)',
419 'tn' => 'Tswana',
420 'ts' => 'Tsonga',
421 'tk' => 'Turkmen',
422 'tr' => 'Turkish',
423 'tw' => 'Twi',
424 'ug' => 'Uighur; Uyghur',
425 'uk' => 'Ukrainian',
426 'ur' => 'Urdu',
427 'uz' => 'Uzbek',
428 've' => 'Venda',
429 'vi' => 'Vietnamese',
430 'vo' => 'Volapük',
431 'cy' => 'Welsh',
432 'wa' => 'Walloon',
433 'wo' => 'Wolof',
434 'xh' => 'Xhosa',
435 'yi' => 'Yiddish',
436 'yo' => 'Yoruba',
437 'za' => 'Zhuang; Chuang',
438 'zu' => 'Zulu',
439 ] );
440