-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathnlanguage.inc
More file actions
106 lines (98 loc) · 3.82 KB
/
nlanguage.inc
File metadata and controls
106 lines (98 loc) · 3.82 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
/**
* <summary>
* Another static language system
* </summary>
*
* <section>Macros</section>
* <ul>
* <li>SetPlayerLanguage(playerid, <LANGUAGE: language>);</li>
* <li>bool: IsPlayerLanguage(playerid, <LANGUAGE: language>);</li>
* <li>GetLanguageEntry(<LANGUAGE: language>, <LANGUAGE_KEY: key>);</li>
* <li>GetPlayerLanguageEntry(playerid, <LANGUAGE_KEY: key>);</li>
* </ul>
*//** */
#define LANGUAGE_MODE 1
/** <summary>All found languages</summary>
* <remarks>
* Only the three languages from the test script are listed here but there are
* <ul>
* <li>English</li>
* <li>Mandarin Chinese</li>
* <li>Hindi</li>
* <li>Spanish</li>
* <li>French</li>
* <li>Arabic</li>
* <li>Bengali</li>
* <li>Russian</li>
* <li>Portuguese</li>
* <li>Indonesian</li>
* <li>Urdu</li>
* <li>German</li>
* <li>Japanese</li>
* <li>Swahili</li>
* <li>Marathi</li>
* <li>Telugu</li>
* <li>Lahnda</li>
* <li>Wu</li>
* <li>Tamil</li>
* <li>Turkish</li>
* <li>Korean</li>
* <li>Vietnamese</li>
* <li>Yue</li>
* <li>Javanese</li>
* <li>Italian</li>
* <li>Hausa</li>
* <li>Masri</li>
* <li>Thai</li>
* <li>Gujarati</li>
* <li>Persian</li>
* <li>Bhojpuri</li>
* <li>Minnan</li>
* </ul>
* Create a language folder and create a language_name.inc file (language_name in lowercase)
* </remarks>
* <example>// english.inc - ENTRY: <keyword> "Translation"</example>
* <example>ENTRY: <WELCOME> "Welcome"</example>
* <example>ENTRY: <SELECTION> "Choose"</example>
* <export/>
*/
enum LANGUAGE {
#include "languages\languages"
};
#define LANGUAGE_MODE 2
/** <summary>All found language keys</summary>
* <remarks>Only keys from test script are listed here</remarks>
* <export/>
*/
#include "languages\languages" // LANGUAGE_KEY
#define LANGUAGE_MODE 4
/** <summary>The language data array which stores all translations</summary>
* <example>// GetLanguageEntry(<LANGUAGE: language>, <LANGUAGE_KEY: key>)</example>
* <example>// Get be accessed directly with GetLanguageEntry</example>
* <example>GetLanguageEntry(<ENGLISH>, <WELCOME>);</example>
* <export/>
*/
stock const LANGUAGE_DATA[LANGUAGE][LANGUAGE_KEY][] = {
#include "languages\languages"
};
/** <summary>The language player array which stores the player language</summary>
* <example>// SetPlayerLanguage(playerid, <LANGUAGE: language>)</example>
* <example>// Set the player language with</example>
* <example>SetPlayerLanguage(playerid, <ENGLISH>);</example>
* <example>// bool: IsPlayerLanguage(playerid, <LANGUAGE: language>)</example>
* <example>// Checks if the player language is the given language</example>
* <example>if(IsPlayerLanguage(playerid, <ENGLISH>)) {}</example>
* <example>// GetPlayerLanguageEntry(playerid, <LANGUAGE_KEY: key>)</example>
* <example>// Get the language data corresponding to the player language</example>
* <example>GetPlayerLanguageEntry(playerid, <WELCOME>);</example>
* <export/>
*/
stock LANGUAGE: LANGUAGE_PLAYER[MAX_PLAYERS char];
// native SetPlayerLanguage(playerid, <LANGUAGE: language>);
#define SetPlayerLanguage(%0,%2<%1>%2) (LANGUAGE_PLAYER{%0} = LANGUAGE_%1)
// native bool: IsPlayerLanguage(playerid, <LANGUAGE: language>);
#define IsPlayerLanguage(%0,%2<%1>%2) (LANGUAGE_PLAYER{%0} == LANGUAGE_%1)
// native GetLanguageEntry(<LANGUAGE: language>, <LANGUAGE_KEY: key>);
#define GetLanguageEntry(%2<%0>%2,%2<%1>%2) LANGUAGE_DATA[LANGUAGE_%0][LANGUAGE_KEY_%1]
// native GetPlayerLanguageEntry(playerid, <LANGUAGE_KEY: key>);
#define GetPlayerLanguageEntry(%0,%2<%1>%2) LANGUAGE_DATA[LANGUAGE_PLAYER{%0}][LANGUAGE_KEY_%1]