diff --git a/Files.cfg b/Files.cfg index 24b1dbef..94da785a 100644 --- a/Files.cfg +++ b/Files.cfg @@ -46,16 +46,21 @@ }, }, localizations = { - { - path="/MineOS/System/Localizations/Russian.lang", - url="https://raw.githubusercontent.com/IgorTimofeev/OpenComputers/master/Localizations/OS/Russian.lang", - fileID=553, - }, { path="/MineOS/System/Localizations/English.lang", url="https://raw.githubusercontent.com/IgorTimofeev/OpenComputers/master/Localizations/OS/English.lang", fileID=554, }, + { + path="/MineOS/System/Localizations/French.lang", + url="https://raw.githubusercontent.com/IgorTimofeev/OpenComputers/master/Localizations/OS/French.lang", + fileID=554, + }, + { + path="/MineOS/System/Localizations/Russian.lang", + url="https://raw.githubusercontent.com/IgorTimofeev/OpenComputers/master/Localizations/OS/Russian.lang", + fileID=553, + }, }, duringInstall = { -- Либы @@ -259,6 +264,10 @@ path="/MineOS/Applications/App Market.app/Localizations/English.lang", url="https://raw.githubusercontent.com/IgorTimofeev/OpenComputers/master/Applications/AppMarket/Localization/English.lang", }, + { + path="/MineOS/Applications/App Market.app/Localizations/French.lang", + url="https://raw.githubusercontent.com/IgorTimofeev/OpenComputers/master/Applications/AppMarket/Localization/French.lang", + }, -- { path="/MineOS/Applications/MineCode IDE.app/Main.lua", @@ -277,6 +286,10 @@ path="/MineOS/Applications/MineCode IDE.app/Localizations/English.lang", url="https://raw.githubusercontent.com/IgorTimofeev/OpenComputers/master/Applications/MineCodeIDE/Localization/English.lang", }, + { + path="/MineOS/Applications/MineCode IDE.app/Localizations/French.lang", + url="https://raw.githubusercontent.com/IgorTimofeev/OpenComputers/master/Applications/MineCodeIDE/Localization/French.lang", + }, -- { path="/MineOS/Applications/Picture Edit.app/Main.lua", @@ -337,6 +350,10 @@ path="/MineOS/Applications/Control.app/Localizations/English.lang", url="https://raw.githubusercontent.com/IgorTimofeev/OpenComputers/master/Applications/Control/Localization/English.lang", }, + { + path="/MineOS/Applications/Control.app/Localizations/French.lang", + url="https://raw.githubusercontent.com/IgorTimofeev/OpenComputers/master/Applications/Control/Localization/French.lang", + }, { path="/MineOS/Applications/Control.app/Modules/1.lua", url="https://raw.githubusercontent.com/IgorTimofeev/OpenComputers/master/Applications/Control/Modules/1.lua", diff --git a/OS.lua b/OS.lua index 4d544844..d12a951f 100755 --- a/OS.lua +++ b/OS.lua @@ -715,26 +715,6 @@ local function createOSWidgets() menu:addSeparator() - menu:addItem(MineOSCore.localization.timezone).onTouch = function() - local container = MineOSInterface.addUniversalContainer(MineOSInterface.mainContainer, MineOSCore.localization.timezone) - - local comboBox = container.layout:addChild(GUI.comboBox(1, 1, 36, 3, 0xE1E1E1, 0x2D2D2D, 0x4B4B4B, 0x969696)) - comboBox.dropDownMenu.itemHeight = 1 - - for i = -12, 12 do - comboBox:addItem("GMT" .. (i >= 0 and "+" or "") .. i).onTouch = function() - MineOSCore.properties.timezone = i - MineOSCore.saveProperties() - - MineOSCore.OSUpdateTimezone(i) - MineOSCore.OSUpdateDate() - MineOSInterface.mainContainer:drawOnScreen() - end - end - - MineOSInterface.mainContainer:drawOnScreen() - end - menu:addItem(MineOSCore.localization.systemLanguage).onTouch = function() local container = MineOSInterface.addUniversalContainer(MineOSInterface.mainContainer, MineOSCore.localization.systemLanguage) @@ -921,6 +901,26 @@ local function createOSWidgets() showHiddenFilesSwitch.onStateChanged, showApplicationIconsSwitch.onStateChanged = showExtensionSwitch.onStateChanged, showExtensionSwitch.onStateChanged end + menu:addItem(MineOSCore.localization.timezone).onTouch = function() + local container = MineOSInterface.addUniversalContainer(MineOSInterface.mainContainer, MineOSCore.localization.timezone) + + local comboBox = container.layout:addChild(GUI.comboBox(1, 1, 36, 3, 0xE1E1E1, 0x2D2D2D, 0x4B4B4B, 0x969696)) + comboBox.dropDownMenu.itemHeight = 1 + + for i = -12, 12 do + comboBox:addItem("GMT" .. (i >= 0 and "+" or "") .. i).onTouch = function() + MineOSCore.properties.timezone = i + MineOSCore.saveProperties() + + MineOSCore.OSUpdateTimezone(i) + MineOSCore.OSUpdateDate() + MineOSInterface.mainContainer:drawOnScreen() + end + end + + MineOSInterface.mainContainer:drawOnScreen() + end + menu:addSeparator() menu:addItem(MineOSCore.localization.setProtectionMethod).onTouch = function() diff --git a/lib/MineOSCore.lua b/lib/MineOSCore.lua index 829a361d..3be7a52b 100755 --- a/lib/MineOSCore.lua +++ b/lib/MineOSCore.lua @@ -29,9 +29,11 @@ function MineOSCore.getTemporaryPath() end function MineOSCore.getLocalization(pathToLocalizationFolder) - local localizationFileName = pathToLocalizationFolder .. MineOSCore.properties.language .. ".lang" - if fs.exists(localizationFileName) then - return table.fromFile(localizationFileName) + local required, english = pathToLocalizationFolder .. MineOSCore.properties.language .. ".lang", pathToLocalizationFolder .. "English.lang" + if fs.exists(required) then + return table.fromFile(required) + elseif fs.exists(english) then + return table.fromFile(english) else return table.fromFile(pathToLocalizationFolder .. fs.list(pathToLocalizationFolder)()) end