b966211a47
Merge remote-tracking branch 'transapirem/master' into transapi
92 lines
2.0 KiB
Lua
92 lines
2.0 KiB
Lua
-- This plugin copyright Alexander Harkness 2013, licensed under the MIT license.
|
|
|
|
-- Configuration
|
|
g_ServerLang = "en"
|
|
g_ConsoleLang = "en"
|
|
|
|
-- Global Variables
|
|
g_Plugin = nil
|
|
g_PluginManager = nil
|
|
g_PluginDir = nil
|
|
g_UserData = nil
|
|
|
|
-- START WITH DA AWESOME!
|
|
function Initialize( Plugin )
|
|
|
|
-- Set up the globals.
|
|
g_Plugin = Plugin
|
|
g_PluginManager = cRoot:Get():GetPluginManager()
|
|
g_PluginDir = Plugin:GetDirectory()
|
|
|
|
-- Set up the plugin details.
|
|
Plugin:SetName( "TransAPI" )
|
|
Plugin:SetVersion( 1 )
|
|
|
|
-- This is the place for commands!
|
|
g_PluginManager:BindCommand("/language", "transapi.setlang", HandleLanguageCommand, " - Set your preferred language (use ISO 639-1)")
|
|
|
|
-- Load the userdata file.
|
|
g_UserData = cIniFile( g_PluginDir .. "/userdata.ini" )
|
|
if g_UserData ~= true then
|
|
LOGERROR( "TransAPI INI file could not be opened!" )
|
|
end
|
|
|
|
LOG( "Initialized " .. Plugin:GetName() .. " v." .. Plugin:GetVersion() )
|
|
|
|
return true
|
|
|
|
end
|
|
|
|
function GetLanguage( Player )
|
|
|
|
-- Returns a language to use.
|
|
if g_UserData:ReadFile() == true then
|
|
local userLang = g_UserData:GetValueSet( Player:GetName(), "language", "false" )
|
|
g_UserData:WriteFile()
|
|
end
|
|
|
|
if userLang == "false" then
|
|
return g_ServerLang
|
|
else
|
|
return userLang
|
|
end
|
|
|
|
end
|
|
|
|
function GetConsoleLanguage()
|
|
-- Return the language to use for console messages.
|
|
return g_ConsoleLang
|
|
end
|
|
|
|
function HandleLanguageCommand ( Split, Player )
|
|
|
|
-- If the user is not setting the language, tell them the currently selected one.
|
|
if #Split ~= 2 then
|
|
|
|
local userLang = g_UserData:GetValueSet( Player:GetName(), "language", "false" )
|
|
if userLang == "false" then
|
|
return g_ServerLang
|
|
else
|
|
return userLang
|
|
end
|
|
|
|
end
|
|
|
|
-- Set the language.
|
|
local success = g_UserData:SetValue( Player:GetName(), "language" Split[2] )
|
|
g_UserData:WriteFile()
|
|
|
|
if not success then
|
|
Player:SendMessage( "Language could not be set!" )
|
|
else
|
|
Player:SendMessage( "Language set!" )
|
|
end
|
|
|
|
return true
|
|
|
|
end
|
|
|
|
function OnDisable()
|
|
LOG( "Disabled TransAPI!" )
|
|
end
|