add gs
This commit is contained in:
@@ -0,0 +1,100 @@
|
||||
local runService = game:GetService("RunService")
|
||||
local LocalizationService = game:GetService("LocalizationService")
|
||||
local ReplicatedStorage = game:GetService("ReplicatedStorage")
|
||||
local CorePackages = game:GetService("CorePackages")
|
||||
|
||||
local enabled = runService:IsEdit()
|
||||
|
||||
local function createTextScraperControls(toolbar, plugin)
|
||||
function getTextScraperAsset()
|
||||
return LocalizationService.IsTextScraperRunning
|
||||
and "rbxasset://textures/localizationUIScrapingOn.png"
|
||||
or "rbxasset://textures/localizationUIScrapingOff.png"
|
||||
end
|
||||
|
||||
local captureButton = toolbar:CreateButton(
|
||||
"Text Capture",
|
||||
"Enable untranslated text capture",
|
||||
getTextScraperAsset()
|
||||
)
|
||||
|
||||
local exportButton = toolbar:CreateButton(
|
||||
"Export",
|
||||
"Export LocalizationTables under LocalizationService to CSV files",
|
||||
"rbxasset://textures/localizationExport.png"
|
||||
)
|
||||
|
||||
local importButton = toolbar:CreateButton(
|
||||
"Import",
|
||||
"Import CSV files to LocalizationTables under LocalizationService",
|
||||
"rbxasset://textures/localizationImport.png"
|
||||
)
|
||||
|
||||
captureButton.Enabled = enabled
|
||||
captureButton.Click:Connect(function()
|
||||
if not LocalizationService.IsTextScraperRunning then
|
||||
LocalizationService:StartTextScraper()
|
||||
else
|
||||
LocalizationService:StopTextScraper()
|
||||
end
|
||||
captureButton.Icon = getTextScraperAsset()
|
||||
end)
|
||||
|
||||
exportButton.Enabled = enabled
|
||||
exportButton.Click:Connect(function()
|
||||
LocalizationService:PromptExportToCSVs()
|
||||
end)
|
||||
|
||||
importButton.Enabled = enabled
|
||||
importButton.Click:Connect(function()
|
||||
LocalizationService:PromptImportFromCSVs()
|
||||
end)
|
||||
end
|
||||
|
||||
local function getInitialRobloxLocaleId()
|
||||
local forcedLocale = LocalizationService.RobloxForcePlayModeRobloxLocaleId
|
||||
|
||||
if forcedLocale ~= "" then
|
||||
return forcedLocale
|
||||
end
|
||||
|
||||
return LocalizationService.RobloxLocaleId
|
||||
end
|
||||
|
||||
local function createPlayerLocaleViewButton(toolbar, plugin)
|
||||
local PlayerLocaleView = require(script.Parent.Components.PlayerLocaleView)
|
||||
local Roact = require(CorePackages.Roact)
|
||||
|
||||
local Window = plugin:CreateDockWidgetPluginGui("LocalizationTesting",
|
||||
DockWidgetPluginGuiInfo.new(Enum.InitialDockState.Left))
|
||||
Window.Title = "Test Language"
|
||||
|
||||
local params = {
|
||||
Window = Window,
|
||||
SetRobloxLocaleId = function(localeId)
|
||||
LocalizationService.RobloxForcePlayModeRobloxLocaleId = localeId
|
||||
end,
|
||||
InitialRobloxLocaleId = getInitialRobloxLocaleId(),
|
||||
}
|
||||
|
||||
Roact.mount(Roact.createElement(PlayerLocaleView, params), Window)
|
||||
Window.Enabled = false
|
||||
|
||||
local button = toolbar:CreateButton(
|
||||
"Test Language",
|
||||
"Hide/show the Localization Testing view",
|
||||
"rbxasset://textures/localizationTestingIcon.png")
|
||||
|
||||
button.Enabled = enabled
|
||||
button.Click:Connect(
|
||||
function()
|
||||
Window.Enabled = not Window.Enabled
|
||||
end
|
||||
)
|
||||
end
|
||||
|
||||
return function(plugin)
|
||||
local toolbar = plugin:CreateToolbar("Localization Tools")
|
||||
createTextScraperControls(toolbar, plugin)
|
||||
createPlayerLocaleViewButton(toolbar, plugin)
|
||||
end
|
||||
Reference in New Issue
Block a user