diff --git a/modules/data/language.lua b/modules/data/language.lua index 6c0ae268..8a3ae867 100644 --- a/modules/data/language.lua +++ b/modules/data/language.lua @@ -7,19 +7,21 @@ 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) +LocalLanguage:on_load(function(player_name, _) local player = game.players[player_name] - player.request_translation("language.local-language") + player.request_translation({"language.local-language"}) end) --- Resolves translation request for language setting Event.add(defines.events.on_string_translated, function(event) + -- Check if event.localised_string is a table -- Check if the translation request was for language setting - if event.localised_string ~= "language.local-language" then - return + if type(event.localised_string) ~= "table" or event.localised_string[1] ~= "language.local-language" then + return end -- Check if the translation request was succesful + local player = game.players[event.player_index] if not event.translated then player.print("Could not detect your language settings") -- Raise error @@ -27,7 +29,6 @@ Event.add(defines.events.on_string_translated, function(event) end -- Change LocalLanguage value for the player to the recognized one - local player = game.players[event.player_index] - local language = {event.result} + local language = event.result LocalLanguage:set(player, language) end) \ No newline at end of file