[Localization] Add localization step to pipeline and enable localization on C# projects with resx/resw resource files (#6033)
* Added localization code to pipeline and created one LocProject json for Settings * Fixed typo * Reordered nuget source * Moved nuget install to restore step * Added FZ.rc file to LocProj * Added FZ resx file and modified rc file * Fixed file names * Changed to check folder for LocProject files * Updated folder * Changed directory * Changed to src directory * Changed language set and name format, removed rc file localization * Added all projects with resx/resw files * Added newline to end of file * Removed nuget source as it is not used * Updated comments * Fixed formatting of json file * Move loc step to end
This commit is contained in:
parent
dc744f236e
commit
2a7bf7fb5b
28
.pipelines/build-localization.cmd
Normal file
28
.pipelines/build-localization.cmd
Normal file
|
@ -0,0 +1,28 @@
|
|||
@echo off
|
||||
rem This script will fail to run unless you have the appropriate permissions
|
||||
|
||||
cd /D "%~dp0"
|
||||
|
||||
echo Preparing localization build...
|
||||
|
||||
setlocal
|
||||
|
||||
rem In this sample, the repo root is identical to the script directory path. Adjust the value of the RepoRoot variable accordingly based on your environment.
|
||||
rem Again, ensure the RepoRoot variable is set to the real repo root location, otherwise the localization toolset wouldn't work as intended.
|
||||
rem Note that the resolved %~dp0 ends with \.
|
||||
set RepoRoot=%~dp0..\
|
||||
set OutDir=%RepoRoot%out
|
||||
set NUGET_PACKAGES=%RepoRoot%packages
|
||||
set LocalizationXLocPkgVer=2.0.0
|
||||
|
||||
echo Running localization build...
|
||||
|
||||
set XLocPath=%NUGET_PACKAGES%\Localization.XLoc.%LocalizationXLocPkgVer%
|
||||
set LocProjectDirectory=%RepoRoot%src
|
||||
|
||||
rem Run the localization tool on all LocProject.json files in the src directory and it's subdirectories
|
||||
dotnet "%XLocPath%\tools\netcore\Microsoft.Localization.XLoc.dll" /f "%LocProjectDirectory%"
|
||||
|
||||
echo Localization build finished with exit code '%errorlevel%'.
|
||||
|
||||
exit /b %errorlevel%
|
|
@ -20,6 +20,7 @@ package_sources:
|
|||
nuget:
|
||||
feeds:
|
||||
'Nuget': 'https://api.nuget.org/v3/index.json'
|
||||
'Toolset': 'https://msazure.pkgs.visualstudio.com/_packaging/Toolset/nuget/v3/index.json'
|
||||
'PipelineBuildSupplement': 'https://msazure.pkgs.visualstudio.com/_packaging/PipelineBuildSupplement/nuget/v3/index.json'
|
||||
|
||||
restore:
|
||||
|
@ -33,6 +34,9 @@ restore:
|
|||
- !!defaultcommand
|
||||
name: 'Restore Installer'
|
||||
command: '.pipelines\restore-installer.cmd'
|
||||
- !!defaultcommand
|
||||
name: 'Restore Localization packages'
|
||||
command: '.pipelines\restore-localization.cmd'
|
||||
|
||||
|
||||
build:
|
||||
|
@ -145,6 +149,15 @@ build:
|
|||
- 'PowerToysSetup-*.exe'
|
||||
signing_options:
|
||||
sign_inline: true # This does signing a soon as this command completes
|
||||
# Localize the files after the build procedure to avoid existing localized files from getting overwritten. To be moved before the Build PowerToys step once the lcl files have been checked in. Tracked at https://github.com/microsoft/PowerToys/issues/6046
|
||||
- !!buildcommand
|
||||
name: 'Localize Power Toys'
|
||||
command: '.pipelines\build-localization.cmd'
|
||||
artifacts:
|
||||
- from: 'out\loc'
|
||||
to: 'loc'
|
||||
include:
|
||||
- '**/*'
|
||||
|
||||
|
||||
#package:
|
||||
|
|
32
.pipelines/restore-localization.cmd
Normal file
32
.pipelines/restore-localization.cmd
Normal file
|
@ -0,0 +1,32 @@
|
|||
@echo off
|
||||
|
||||
cd /D "%~dp0"
|
||||
|
||||
echo Installing nuget packages
|
||||
|
||||
setlocal
|
||||
|
||||
rem In this sample, the repo root is identical to the script directory path. Adjust the value of the RepoRoot variable accordingly based on your environment.
|
||||
rem Again, ensure the RepoRoot variable is set to the real repo root location, otherwise the localization toolset wouldn't work as intended.
|
||||
rem Note that the resolved %~dp0 ends with \.
|
||||
set RepoRoot=%~dp0..\
|
||||
set OutDir=%RepoRoot%out
|
||||
set NUGET_PACKAGES=%RepoRoot%packages
|
||||
set LocalizationXLocPkgVer=2.0.0
|
||||
|
||||
nuget install Localization.XLoc -Version %LocalizationXLocPkgVer% -OutputDirectory "%NUGET_PACKAGES%" -NonInteractive -Verbosity detailed
|
||||
if "%errorlevel%" neq "0" (
|
||||
exit /b %errorlevel%
|
||||
)
|
||||
|
||||
nuget install LSBuild.XLoc -OutputDirectory "%NUGET_PACKAGES%" -NonInteractive -Verbosity detailed
|
||||
if "%errorlevel%" neq "0" (
|
||||
exit /b %errorlevel%
|
||||
)
|
||||
|
||||
nuget install Localization.Languages -OutputDirectory "%NUGET_PACKAGES%" -NonInteractive -Verbosity detailed
|
||||
if "%errorlevel%" neq "0" (
|
||||
exit /b %errorlevel%
|
||||
)
|
||||
|
||||
exit /b %errorlevel%
|
14
src/core/Microsoft.PowerToys.Settings.UI/LocProject.json
Normal file
14
src/core/Microsoft.PowerToys.Settings.UI/LocProject.json
Normal file
|
@ -0,0 +1,14 @@
|
|||
{
|
||||
"Projects": [
|
||||
{
|
||||
"LanguageSet": "Azure_Languages",
|
||||
"LocItems": [
|
||||
{
|
||||
"SourceFile": "src\\core\\Microsoft.PowerToys.Settings.UI\\Strings\\en-us\\Resources.resw",
|
||||
"CopyOption": "LangIDOnName",
|
||||
"OutputPath": "src\\core\\Microsoft.PowerToys.Settings.UI\\Strings"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
14
src/modules/colorPicker/ColorPickerUI/LocProject.json
Normal file
14
src/modules/colorPicker/ColorPickerUI/LocProject.json
Normal file
|
@ -0,0 +1,14 @@
|
|||
{
|
||||
"Projects": [
|
||||
{
|
||||
"LanguageSet": "Azure_Languages",
|
||||
"LocItems": [
|
||||
{
|
||||
"SourceFile": "src\\modules\\colorPicker\\ColorPickerUI\\Properties\\Resources.resx",
|
||||
"CopyOption": "LangIDOnName",
|
||||
"OutputPath": "src\\modules\\colorPicker\\ColorPickerUI\\Properties"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
|
@ -0,0 +1,14 @@
|
|||
{
|
||||
"Projects": [
|
||||
{
|
||||
"LanguageSet": "Azure_Languages",
|
||||
"LocItems": [
|
||||
{
|
||||
"SourceFile": "src\\modules\\fancyzones\\editor\\FancyZonesEditor\\Properties\\Resources.resx",
|
||||
"CopyOption": "LangIDOnName",
|
||||
"OutputPath": "src\\modules\\fancyzones\\editor\\FancyZonesEditor\\Properties"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
14
src/modules/imageresizer/ui/LocProject.json
Normal file
14
src/modules/imageresizer/ui/LocProject.json
Normal file
|
@ -0,0 +1,14 @@
|
|||
{
|
||||
"Projects": [
|
||||
{
|
||||
"LanguageSet": "Azure_Languages",
|
||||
"LocItems": [
|
||||
{
|
||||
"SourceFile": "src\\modules\\imageresizer\\ui\\Properties\\Resources.resx",
|
||||
"CopyOption": "LangIDOnName",
|
||||
"OutputPath": "src\\modules\\imageresizer\\ui\\Properties"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
14
src/modules/launcher/PowerLauncher/LocProject.json
Normal file
14
src/modules/launcher/PowerLauncher/LocProject.json
Normal file
|
@ -0,0 +1,14 @@
|
|||
{
|
||||
"Projects": [
|
||||
{
|
||||
"LanguageSet": "Azure_Languages",
|
||||
"LocItems": [
|
||||
{
|
||||
"SourceFile": "src\\modules\\launcher\\PowerLauncher\\Properties\\Resources.resx",
|
||||
"CopyOption": "LangIDOnName",
|
||||
"OutputPath": "src\\modules\\launcher\\PowerLauncher\\Properties"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
|
@ -0,0 +1,14 @@
|
|||
{
|
||||
"Projects": [
|
||||
{
|
||||
"LanguageSet": "Azure_Languages",
|
||||
"LocItems": [
|
||||
{
|
||||
"SourceFile": "src\\modules\\previewpane\\MarkDownPreviewHandler\\Properties\\Resources.resx",
|
||||
"CopyOption": "LangIDOnName",
|
||||
"OutputPath": "src\\modules\\previewpane\\MarkDownPreviewHandler\\Properties"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
14
src/modules/previewpane/SvgPreviewHandler/LocProject.json
Normal file
14
src/modules/previewpane/SvgPreviewHandler/LocProject.json
Normal file
|
@ -0,0 +1,14 @@
|
|||
{
|
||||
"Projects": [
|
||||
{
|
||||
"LanguageSet": "Azure_Languages",
|
||||
"LocItems": [
|
||||
{
|
||||
"SourceFile": "src\\modules\\previewpane\\SvgPreviewHandler\\Resource.resx",
|
||||
"CopyOption": "LangIDOnName",
|
||||
"OutputPath": "src\\modules\\previewpane\\SvgPreviewHandler"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
Loading…
Reference in a new issue