Added local language detection

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
This commit is contained in:
DrahcPro
2023-08-08 20:00:24 +02:00
parent cdd34ebaea
commit 6415190b6a
50 changed files with 130 additions and 0 deletions
+1
View File
@@ -61,6 +61,7 @@ return {
'modules.data.alt-view',
'modules.data.tag',
'modules.data.bonus',
'modules.data.language',
--- GUI
'modules.gui.readme',
+2
View File
@@ -0,0 +1,2 @@
[language]
local-language=Afrikaans
+2
View File
@@ -0,0 +1,2 @@
[language]
local-language=Arabic
+2
View File
@@ -0,0 +1,2 @@
[language]
local-language=Belarusian
+2
View File
@@ -0,0 +1,2 @@
[language]
local-language=Bulgarian
+2
View File
@@ -0,0 +1,2 @@
[language]
local-language=Catalan
+2
View File
@@ -0,0 +1,2 @@
[language]
local-language=Czech
+2
View File
@@ -0,0 +1,2 @@
[language]
local-language=Danish
+2
View File
@@ -0,0 +1,2 @@
[language]
local-language=German
+2
View File
@@ -0,0 +1,2 @@
[language]
local-language=Greek
+2
View File
@@ -0,0 +1,2 @@
[language]
local-language=English
+2
View File
@@ -0,0 +1,2 @@
[language]
local-language=Esperanto
+2
View File
@@ -0,0 +1,2 @@
[language]
local-language=Spanish (Spain)
+2
View File
@@ -0,0 +1,2 @@
[language]
local-language=Estonian
+2
View File
@@ -0,0 +1,2 @@
[language]
local-language=Basque
+2
View File
@@ -0,0 +1,2 @@
[language]
local-language=Persian
+2
View File
@@ -0,0 +1,2 @@
[language]
local-language=Finnish
+2
View File
@@ -0,0 +1,2 @@
[language]
local-language=Filipino
+2
View File
@@ -0,0 +1,2 @@
[language]
local-language=French
+2
View File
@@ -0,0 +1,2 @@
[language]
local-language=Frysian (Netherlands)
+2
View File
@@ -0,0 +1,2 @@
[language]
local-language=Irish (Ireland)
+2
View File
@@ -0,0 +1,2 @@
[language]
local-language=Hebrew
+2
View File
@@ -0,0 +1,2 @@
[language]
local-language=Croatian
+2
View File
@@ -0,0 +1,2 @@
[language]
local-language=Hungarian
+2
View File
@@ -0,0 +1,2 @@
[language]
local-language=Indonesian
+2
View File
@@ -0,0 +1,2 @@
[language]
local-language=Icelandic
+2
View File
@@ -0,0 +1,2 @@
[language]
local-language=Italian
+2
View File
@@ -0,0 +1,2 @@
[language]
local-language=Japanese
+2
View File
@@ -0,0 +1,2 @@
[language]
local-language=Georgian
+2
View File
@@ -0,0 +1,2 @@
[language]
local-language=Kazakh
+2
View File
@@ -0,0 +1,2 @@
[language]
local-language=Korean
+2
View File
@@ -0,0 +1,2 @@
[language]
local-language=Lithuanian
+2
View File
@@ -0,0 +1,2 @@
[language]
local-language=Latvian
+2
View File
@@ -0,0 +1,2 @@
[language]
local-language=Dutch (Netherlands)
+2
View File
@@ -0,0 +1,2 @@
[language]
local-language=Norwegian (Norway)
+2
View File
@@ -0,0 +1,2 @@
[language]
local-language=Polish
+2
View File
@@ -0,0 +1,2 @@
[language]
local-language=Portuguese (Brazil)
+2
View File
@@ -0,0 +1,2 @@
[language]
local-language=Portuguese (Portugal)
+2
View File
@@ -0,0 +1,2 @@
[language]
local-language=Romanian
+2
View File
@@ -0,0 +1,2 @@
[language]
local-language=Russian
+2
View File
@@ -0,0 +1,2 @@
[language]
local-language=Slovak
+2
View File
@@ -0,0 +1,2 @@
[language]
local-language=Slovenian
+2
View File
@@ -0,0 +1,2 @@
[language]
local-language=Albanian
+2
View File
@@ -0,0 +1,2 @@
[language]
local-language=Serbian
+2
View File
@@ -0,0 +1,2 @@
[language]
local-language=Swedish (Sweden)
+2
View File
@@ -0,0 +1,2 @@
[language]
local-language=Thai
+2
View File
@@ -0,0 +1,2 @@
[language]
local-language=Turkish
+2
View File
@@ -0,0 +1,2 @@
[language]
local-language=Ukrainian
+2
View File
@@ -0,0 +1,2 @@
[language]
local-language=Vietnamese
+33
View File
@@ -0,0 +1,33 @@
--- 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)