mirror of
https://github.com/PHIDIAS0303/ExpCluster.git
synced 2025-12-27 03:25:23 +09:00
Added language.cfg for all locale folders from the base game Added language.lua with the functions which detect the local language Added language.lua to _file_loader.lua
33 lines
1.1 KiB
Lua
33 lines
1.1 KiB
Lua
--- Stores the language used to join the server
|
|
-- @data Language
|
|
|
|
local Event = require 'utils.event' ---@dep utils.event
|
|
local PlayerData = require 'expcore.player_data' --- @dep expcore.player_data
|
|
local LocalLanguage = PlayerData.Settings:combine('LocalLanguage')
|
|
LocalLanguage:set_default("Unknown")
|
|
|
|
--- Creates translation request on_load of a player
|
|
LocalLanguage:on_load(function(player_name, language)
|
|
local player = game.players[player_name]
|
|
player.request_translation("language.local-language")
|
|
end)
|
|
|
|
--- Resolves translation request for language setting
|
|
Event.add(defines.events.on_string_translated, function(event)
|
|
-- Check if the translation request was for language setting
|
|
if event.localised_string ~= "language.local-language" then
|
|
return
|
|
end
|
|
|
|
-- Check if the translation request was succesful
|
|
if not event.translated then
|
|
game.print("Could not detect your language settings")
|
|
-- Raise error
|
|
return
|
|
end
|
|
|
|
-- Change LocalLanguage value for the player to the recognized one
|
|
local player = game.players[event.player_index]
|
|
local language = {event.result}
|
|
LocalLanguage:set(player, language)
|
|
end) |