GetLocalization: Difference between revisions
Jump to navigation
Jump to search
No edit summary |
m (Converted language codes to a table (easier to fix/add new codes)) |
||
(14 intermediate revisions by 5 users not shown) | |||
Line 1: | Line 1: | ||
{{Client function}} | {{Client function}} | ||
__NOTOC__ | __NOTOC__ | ||
{{New items| | {{New items|3.0140|1.4| | ||
This function gets the player's localization setting as set in the MTA client. | This function gets the player's localization setting as set in the MTA client. | ||
}} | }} | ||
Line 17: | Line 17: | ||
This example outputs simple ''Welcome'' message at the resource start (also when player joins the game if the resource is already running). | This example outputs simple ''Welcome'' message at the resource start (also when player joins the game if the resource is already running). | ||
<syntaxhighlight lang="lua"> | <syntaxhighlight lang="lua"> | ||
local msg = {cs = "Vítejte", fr = "Accueil", de = "Willkommen", pl = "Powitanie"} | local msg = {cs = "Vítejte", fr = "Accueil", de = "Willkommen", pl = "Powitanie", hu = "Üdv"} | ||
addEventHandler("onClientResourceStart", resourceRoot, | addEventHandler("onClientResourceStart", resourceRoot, | ||
Line 28: | Line 28: | ||
end | end | ||
end) | end) | ||
</syntaxhighlight> | |||
This is a list of all the language codes used in MTA in a table with the full name of the language. | |||
<syntaxhighlight lang="lua"> | |||
langTable = { | |||
["ar_SA"] = "Arabic", | |||
["az_AZ"] = "Azerbaijani", | |||
["bg_BG"] = "Bulgarian", | |||
["bs_BA"] = "Bosnian", | |||
["cs_CZ"] = "Czech", | |||
["da_DK"] = "Danish", | |||
["de_DE"] = "German", | |||
["en_US"] = "English", | |||
["el_GR"] = "Greek", | |||
["es_ES"] = "Spanish", | |||
["et_EE"] = "Estonian", | |||
["fa_IR"] = "Persian", | |||
["fi_FI"] = "Finnish", | |||
["fil_PH"] = "Filipino", | |||
["fr_FR"] = "French", | |||
["he_IL"] = "Hebrew", | |||
["hi_IN"] = "Hindi", | |||
["hr_HR"] = "Croatian", | |||
["hu_HU"] = "Hungarian", | |||
["id_ID"] = "Indonesian", | |||
["it_IT"] = "Italian", | |||
["ja_JP"] = "Japanese", | |||
["ka_GE"] = "Georgian", | |||
["ko_KR"] = "Korean", | |||
["lt_LT"] = "Lithuanian", | |||
["lv_LV"] = "Latvian", | |||
["mk_MK"] = "Macedonian", | |||
["nb_NO"] = "Norwegian", | |||
["nl_NL"] = "Dutch", | |||
["pt_BR"] = "Portuguese, Brazilian", | |||
["pt_PT"] = "Portuguese", | |||
["pl_PL"] = "Polish", | |||
["ru_RU"] = "Russian", | |||
["ro_RO"] = "Romanian", | |||
["sl_SL"] = "Slovenian", | |||
["sv_SE"] = "Swedish", | |||
["sk_SK"] = "Slovak", | |||
["srp"] = "Serbian", | |||
["tr_TR"] = "Turkish", | |||
["uk_UA"] = "Ukrainian", | |||
["vi_VN"] = "Vietnamese", | |||
["zh_CN"] = "Chinese Simplified", | |||
["zh_TW"] = "Chinese Traditional", | |||
} | |||
</syntaxhighlight> | |||
<!-- Or... just update the scripts? Why complicate everything? --> | |||
This function is useful for fixing any scripts that were made before MTA 1.6 as some of the language codes were changed. | |||
<syntaxhighlight lang="lua"> | |||
local languageCodes = { | |||
['ar_SA'] = 'ar', | |||
['bg_BG'] = 'bg', | |||
['da_DK'] = 'da', | |||
['de_DE'] = 'de', | |||
['el_GR'] = 'el', | |||
['es_ES'] = 'es', | |||
['fr_FR'] = 'fr', | |||
['hr_HR'] = 'hr', | |||
['hu_HU'] = 'hu', | |||
['id_ID'] = 'id', | |||
['it_IT'] = 'it', | |||
['lt_LT'] = 'lt', | |||
['nb_NO'] = 'nb', | |||
['nl_NL'] = 'nl', | |||
['pl_PL'] = 'pl', | |||
['pt_PT'] = 'pt_BR', | |||
['ro_RO'] = 'ro', | |||
['ru_RU'] = 'ru', | |||
['sl_SL'] = 'sl', | |||
['sv_SE'] = 'sv', | |||
['tr_TR'] = 'tr', | |||
['uk_UA'] = 'uk', | |||
['vi_VN'] = 'vi', | |||
} | |||
function getLanguageCode(c) | |||
return languageCodes[c] or c | |||
end | |||
code = getLanguageCode(getLocalization().code) | |||
</syntaxhighlight> | </syntaxhighlight> | ||
==See Also== | ==See Also== | ||
{{Client_utility_functions}} | {{Client_utility_functions}} | ||
[[ru:GetLocalization]] |
Latest revision as of 11:56, 28 July 2023
This function gets the player's localization setting as set in the MTA client.
Syntax
table getLocalization ( )
Returns
Returns a table with the following entries:
- code : The language code (eg. "en_US" for "English (United States)" or "ar" for "Arabic").
- name : The name of the language (eg. "English (United States)" or "Arabic").
Example
This example outputs simple Welcome message at the resource start (also when player joins the game if the resource is already running).
local msg = {cs = "Vítejte", fr = "Accueil", de = "Willkommen", pl = "Powitanie", hu = "Üdv"} addEventHandler("onClientResourceStart", resourceRoot, function () local languageCode = getLocalization()["code"] if msg[languageCode] then --Check if the message is avaible in client's language outputChatBox(msg[languageCode] .. "!") --Output it else outputChatBox("Welcome!") --Output English for any other language end end)
This is a list of all the language codes used in MTA in a table with the full name of the language.
langTable = { ["ar_SA"] = "Arabic", ["az_AZ"] = "Azerbaijani", ["bg_BG"] = "Bulgarian", ["bs_BA"] = "Bosnian", ["cs_CZ"] = "Czech", ["da_DK"] = "Danish", ["de_DE"] = "German", ["en_US"] = "English", ["el_GR"] = "Greek", ["es_ES"] = "Spanish", ["et_EE"] = "Estonian", ["fa_IR"] = "Persian", ["fi_FI"] = "Finnish", ["fil_PH"] = "Filipino", ["fr_FR"] = "French", ["he_IL"] = "Hebrew", ["hi_IN"] = "Hindi", ["hr_HR"] = "Croatian", ["hu_HU"] = "Hungarian", ["id_ID"] = "Indonesian", ["it_IT"] = "Italian", ["ja_JP"] = "Japanese", ["ka_GE"] = "Georgian", ["ko_KR"] = "Korean", ["lt_LT"] = "Lithuanian", ["lv_LV"] = "Latvian", ["mk_MK"] = "Macedonian", ["nb_NO"] = "Norwegian", ["nl_NL"] = "Dutch", ["pt_BR"] = "Portuguese, Brazilian", ["pt_PT"] = "Portuguese", ["pl_PL"] = "Polish", ["ru_RU"] = "Russian", ["ro_RO"] = "Romanian", ["sl_SL"] = "Slovenian", ["sv_SE"] = "Swedish", ["sk_SK"] = "Slovak", ["srp"] = "Serbian", ["tr_TR"] = "Turkish", ["uk_UA"] = "Ukrainian", ["vi_VN"] = "Vietnamese", ["zh_CN"] = "Chinese Simplified", ["zh_TW"] = "Chinese Traditional", }
This function is useful for fixing any scripts that were made before MTA 1.6 as some of the language codes were changed.
local languageCodes = { ['ar_SA'] = 'ar', ['bg_BG'] = 'bg', ['da_DK'] = 'da', ['de_DE'] = 'de', ['el_GR'] = 'el', ['es_ES'] = 'es', ['fr_FR'] = 'fr', ['hr_HR'] = 'hr', ['hu_HU'] = 'hu', ['id_ID'] = 'id', ['it_IT'] = 'it', ['lt_LT'] = 'lt', ['nb_NO'] = 'nb', ['nl_NL'] = 'nl', ['pl_PL'] = 'pl', ['pt_PT'] = 'pt_BR', ['ro_RO'] = 'ro', ['ru_RU'] = 'ru', ['sl_SL'] = 'sl', ['sv_SE'] = 'sv', ['tr_TR'] = 'tr', ['uk_UA'] = 'uk', ['vi_VN'] = 'vi', } function getLanguageCode(c) return languageCodes[c] or c end code = getLanguageCode(getLocalization().code)
See Also
- createTrayNotification
- downloadFile
- getDevelopmentMode
- getKeyboardLayout
- getLocalization
- isShowCollisionsEnabled
- isShowSoundEnabled
- isTransferBoxAlwaysVisible
- isTransferBoxVisible
- isTrayNotificationEnabled
- setClipboard
- setDevelopmentMode
- setTransferBoxVisible
- setWindowFlashing
- showCol
- showSound
- Shared
- addDebugHook
- base64Decode
- base64Encode
- debugSleep
- decodeString
- encodeString
- fromJSON
- generateKeyPair
- getColorFromString
- getDevelopmentMode
- getDistanceBetweenPoints2D
- getDistanceBetweenPoints3D
- getEasingValue
- getNetworkStats
- getNetworkUsageData
- getPerformanceStats
- getRealTime
- getTickCount
- getTimerDetails
- getTimers
- getFPSLimit
- getUserdataType
- getVersion
- gettok
- isTransferBoxVisible
- setTransferBoxVisible
- hash
- inspect
- interpolateBetween
- iprint
- isOOPEnabled
- isTimer
- killTimer
- md5
- passwordHash
- passwordVerify
- pregFind
- pregMatch
- pregReplace
- removeDebugHook
- resetTimer
- setDevelopmentMode
- setFPSLimit
- setTimer
- ref
- deref
- sha256
- split
- teaDecode
- teaEncode
- toJSON
- tocolor
- getProcessMemoryStats
- utfChar
- utfCode
- utfLen
- utfSeek
- utfSub