Garry's Mod

Garry's Mod

74 ratings
PLang - Powerful Language Library
   
Award
Favorite
Favorited
Unfavorite
Content Type: Addon
Addon Type: Tool
Addon Tags: Movie, Scenic, Realism
File Size
Posted
Updated
13.873 KB
24 Sep, 2021 @ 4:58pm
15 Mar, 2022 @ 3:38pm
27 Change Notes ( view )

Subscribe to download
PLang - Powerful Language Library

Description
Commands:


  • plang_allow_superadmins - Allow superadmins to change the server language (0/1)
  • plang_setup - Force language installation directly (plang_setup en)
  • plang_update - Forced update of all phrases
  • plang_phrases - Phrase List

Functions:


  • PLang.Current() - Returns current language (Alternative: PLang["Language"])
  • PLang:AddPhrase(text, lang, tag, args) - Adds a phrase to specified language
    • Arguments:
      1. {string} text - phrase text (translated text)
      2. {string} lang - language code (ru, en, fr and etc.)
      3. {string} tag - phrase tag (used to refer to the phrase)
      4. {table} args - game_text (server/map) key/values (All keyvalues)

    • Returns {string} tag - phrase tag
  • PLang:Sync() - Sync language with client/server (Don't use, if not necessary!)
  • PLang:GetPhrase(lang, tag) - Uses to get phrase text (translated text)
    • Arguments:
      1. {string} lang - language code (ru, en, fr and etc.)
      2. {string} tag - phrase tag (used to refer to the phrase)

    • Returns {string} text - phrase text (translated text)
  • PLang:IsValid(lang, tag) - Returns boolean, true if phrase exist, false of not
    • Arguments:
      1. {string} lang - language code (ru, en, fr and etc.)
      2. {string} tag - phrase tag (used to refer to the phrase)

    • Returns {boolean(true/false)}

You can use #tag instead of PLang:GetPhrase(PLang.Current(), tag)

Hooks:


  1. GM:LanguageChanged(oldLang, newLang) - calls every language change
  2. GM:PLangInit(lang) - calls after PLang:Sync(), returns lang after synchronization

[github.com]
14 Comments
Vortigosha 21 Oct, 2021 @ 9:16am 
@PrikolMen:-b Добавил
Unknown Developer  [author] 21 Oct, 2021 @ 12:59am 
@Vortigosha пошли в дискорд разберёмся в чём проблема, PrikolMen#3372
Vortigosha 20 Oct, 2021 @ 3:11pm 
Сделал Мод Но чего то не работает перевод Какие надо оставить настройки в конце?
"
local hook_Add = hook.Add
local pairs = pairs

hook_Add("LanguageChanged", "PLang:Belarus", function(_, lang)
if lang != "BY" then return end

for tag, text in pairs(phrases) do
PLang:AddPhrase(text, lang, tag)
end

if IsMounted("ep2") then
for tag, text in pairs(ep2) do
PLang:AddPhrase(text, lang, tag)
end
end
end)
"
Unknown Developer  [author] 2 Oct, 2021 @ 6:42am 
@engineer gaming рад это слышать :MarisaKirisame:
alivieska 1 Oct, 2021 @ 6:00am 
Топченский думаю сделать аддон по PLang
OxidZon 30 Sep, 2021 @ 9:23am 
why lua error?
Terλbit 30 Sep, 2021 @ 9:01am 
[PLang - Powerful Language Library] lua/plang/cl_plang.lua:82: attempt to call upvalue 'validStr' (a nil value)
1. LanguageUpdate - lua/plang/cl_plang.lua:82
2. unknown - lua/plang/cl_plang.lua:147

[PLang - Powerful Language Library] lua/plang/cl_plang.lua:82: attempt to call upvalue 'validStr' (a nil value)
1. LanguageUpdate - lua/plang/cl_plang.lua:82
2. unknown - lua/plang/cl_plang.lua:120

[PLang - Powerful Language Library] lua/plang/cl_plang.lua:50: attempt to call upvalue 'validStr' (a nil value)
1. LanguageUpdate - lua/plang/cl_plang.lua:50
2. unknown - lua/plang/cl_plang.lua:120
Beelzebub 29 Sep, 2021 @ 5:05am 
:steamthumbsup:
Unknown Developer  [author] 29 Sep, 2021 @ 12:11am 
@Beelzebub fixed, my bad :Koakuma:
Beelzebub 29 Sep, 2021 @ 12:07am 
[PLang - Powerful Language Library] stack overflow
1. istable - [C]:-1
2. Copy - lua/includes/extensions/table.lua:30
3. Copy - lua/includes/extensions/table.lua:38
4. listGet - lua/includes/extensions/table.lua:38
5. UpdatePhrase - lua/plang/sh_plang.lua:170
6. InitPhrase - lua/plang/sh_plang.lua:79
7. UpdatePhrase - lua/plang/sh_plang.lua:185
8. InitPhrase - lua/plang/sh_plang.lua:79
9. UpdatePhrase - lua/plang/sh_plang.lua:185
10. InitPhrase - lua/plang/sh_plang.lua:79
11. UpdatePhrase - lua/plang/sh_plang.lua:185
12. InitPhrase - lua/plang/sh_plang.lua:79
13. UpdatePhrase - lua/plang/sh_plang.lua:185
14. InitPhrase - lua/plang/sh_plang.lua:79
15. UpdatePhrase - lua/plang/sh_plang.lua:185
16. InitPhrase - lua/plang/sh_plang.lua:79