mirror of
https://github.com/AtomUI/AtomUI.git
synced 2026-10-23 17:59:22 +08:00
172 lines
12 KiB
XML
172 lines
12 KiB
XML
<Project>
|
|
<PropertyGroup>
|
|
<_AtomUILanguageFileExcludes>
|
|
$(DefaultItemExcludes);
|
|
$(BaseOutputPath)**/*.xlf;
|
|
$(BaseIntermediateOutputPath)**/*.xlf;
|
|
$(MSBuildProjectDirectory)/**/GeneratedFiles/**/*.xlf
|
|
</_AtomUILanguageFileExcludes>
|
|
</PropertyGroup>
|
|
|
|
<ItemGroup Condition="'$(AtomUIDisableLocalizationBuildIntegration)' != 'true'">
|
|
<AtomUILanguageOverride Include="$(MSBuildProjectDirectory)/Localization/Overrides/**/*.xlf"
|
|
Exclude="$(_AtomUILanguageFileExcludes);@(AtomUILanguageOverride)">
|
|
<AtomUILanguagePackagePath>%(RecursiveDir)%(Filename)%(Extension)</AtomUILanguagePackagePath>
|
|
<AtomUILanguageContractVersion Condition="'%(AtomUILanguageContractVersion)' == ''">1</AtomUILanguageContractVersion>
|
|
</AtomUILanguageOverride>
|
|
<AtomUILanguage Include="$(MSBuildProjectDirectory)/**/Localization/**/*.xlf"
|
|
Exclude="$(_AtomUILanguageFileExcludes);@(AtomUILanguage);@(AtomUILanguageOverride)">
|
|
<AtomUILanguagePackagePath>%(RecursiveDir)%(Filename)%(Extension)</AtomUILanguagePackagePath>
|
|
<AtomUILanguageContractVersion Condition="'%(AtomUILanguageContractVersion)' == ''">1</AtomUILanguageContractVersion>
|
|
</AtomUILanguage>
|
|
|
|
<AdditionalFiles Remove="@(AtomUILanguage);@(AtomUILanguageOverride)" />
|
|
<AdditionalFiles Include="@(AtomUILanguage)"
|
|
AtomUILanguage="true"
|
|
AtomUILanguageSourceKind="%(AtomUILanguageSourceKind)"
|
|
AtomUILanguageSourceIdentity="%(AtomUILanguageSourceIdentity)"
|
|
AtomUILanguageModuleId="%(AtomUILanguageModuleId)"
|
|
AtomUILanguageContractVersion="%(AtomUILanguageContractVersion)"
|
|
AtomUILanguageSourceFingerprint="%(AtomUILanguageSourceFingerprint)"
|
|
Visible="false" />
|
|
<AdditionalFiles Include="@(AtomUILanguageOverride)"
|
|
AtomUILanguage="true"
|
|
AtomUILanguageSourceKind="%(AtomUILanguageSourceKind)"
|
|
AtomUILanguageSourceIdentity="%(AtomUILanguageSourceIdentity)"
|
|
AtomUILanguageModuleId="%(AtomUILanguageModuleId)"
|
|
AtomUILanguageContractVersion="%(AtomUILanguageContractVersion)"
|
|
AtomUILanguageSourceFingerprint="%(AtomUILanguageSourceFingerprint)"
|
|
Visible="false" />
|
|
|
|
<CompilerVisibleItemMetadata Include="AdditionalFiles" MetadataName="AtomUILanguage" />
|
|
<CompilerVisibleItemMetadata Include="AdditionalFiles" MetadataName="AtomUILanguageSourceKind" />
|
|
<CompilerVisibleItemMetadata Include="AdditionalFiles" MetadataName="AtomUILanguageSourceIdentity" />
|
|
<CompilerVisibleItemMetadata Include="AdditionalFiles" MetadataName="AtomUILanguageModuleId" />
|
|
<CompilerVisibleItemMetadata Include="AdditionalFiles" MetadataName="AtomUILanguageContractVersion" />
|
|
<CompilerVisibleItemMetadata Include="AdditionalFiles" MetadataName="AtomUILanguageSourceFingerprint" />
|
|
<CompilerVisibleProperty Include="PackageId" />
|
|
<CompilerVisibleProperty Include="AssemblyName" />
|
|
<CompilerVisibleProperty Include="RootNamespace" />
|
|
<CompilerVisibleProperty Include="AtomUIBuildLanguagePackage" />
|
|
</ItemGroup>
|
|
|
|
<PropertyGroup>
|
|
<AtomUILocalizationBuildTasksAssembly Condition="'$(AtomUILocalizationBuildTasksAssembly)' == '' and Exists('$(MSBuildThisFileDirectory)../src/AtomUI.Build.Tasks/AtomUI.Build.Tasks.csproj')">$(MSBuildThisFileDirectory)../output/bin/$(Configuration)/netstandard2.0/AtomUI.Build.Tasks.dll</AtomUILocalizationBuildTasksAssembly>
|
|
<AtomUILocalizationBuildTasksAssembly Condition="'$(AtomUILocalizationBuildTasksAssembly)' == ''">$(MSBuildThisFileDirectory)../tools/netstandard2.0/AtomUI.Build.Tasks.dll</AtomUILocalizationBuildTasksAssembly>
|
|
<AtomUILanguagePackageManifestPath Condition="'$(AtomUILanguagePackageManifestPath)' == ''">$(IntermediateOutputPath)AtomUI.LanguagePack.xml</AtomUILanguagePackageManifestPath>
|
|
<AtomUILanguagePackagePropsPath Condition="'$(AtomUILanguagePackagePropsPath)' == ''">$(IntermediateOutputPath)$(PackageId).props</AtomUILanguagePackagePropsPath>
|
|
</PropertyGroup>
|
|
|
|
<UsingTask TaskName="AtomUI.Build.Tasks.CollectLanguageCatalogsTask"
|
|
AssemblyFile="$(AtomUILocalizationBuildTasksAssembly)"
|
|
Condition="Exists('$(AtomUILocalizationBuildTasksAssembly)')" />
|
|
<UsingTask TaskName="AtomUI.Build.Tasks.ValidateLanguageFilesTask"
|
|
AssemblyFile="$(AtomUILocalizationBuildTasksAssembly)"
|
|
Condition="Exists('$(AtomUILocalizationBuildTasksAssembly)')" />
|
|
<UsingTask TaskName="AtomUI.Build.Tasks.ExportLanguageTemplatesTask"
|
|
AssemblyFile="$(AtomUILocalizationBuildTasksAssembly)"
|
|
Condition="Exists('$(AtomUILocalizationBuildTasksAssembly)')" />
|
|
<UsingTask TaskName="AtomUI.Build.Tasks.PrepareLanguagePackageTask"
|
|
AssemblyFile="$(AtomUILocalizationBuildTasksAssembly)"
|
|
Condition="Exists('$(AtomUILocalizationBuildTasksAssembly)')" />
|
|
<UsingTask TaskName="AtomUI.Build.Tasks.GenerateLanguagePackagePropsTask"
|
|
AssemblyFile="$(AtomUILocalizationBuildTasksAssembly)"
|
|
Condition="Exists('$(AtomUILocalizationBuildTasksAssembly)')" />
|
|
|
|
<Target Name="AtomUICollectLanguageCatalogs"
|
|
Condition="Exists('$(AtomUILocalizationBuildTasksAssembly)') and '@(AtomUILanguageCatalog)' != ''">
|
|
<AtomUI.Build.Tasks.CollectLanguageCatalogsTask CatalogFiles="@(AtomUILanguageCatalog)">
|
|
<Output TaskParameter="Catalogs" ItemName="_AtomUICollectedLanguageCatalog" />
|
|
</AtomUI.Build.Tasks.CollectLanguageCatalogsTask>
|
|
</Target>
|
|
|
|
<Target Name="AtomUIValidateLanguageFiles"
|
|
BeforeTargets="CoreCompile"
|
|
Condition="Exists('$(AtomUILocalizationBuildTasksAssembly)') and ('@(AtomUILanguage)' != '' or '@(AtomUILanguageOverride)' != '')">
|
|
<ItemGroup>
|
|
<_AtomUILanguageFileForValidation Include="@(AdditionalFiles)"
|
|
Condition="'%(AdditionalFiles.AtomUILanguage)' == 'true'" />
|
|
</ItemGroup>
|
|
<AtomUI.Build.Tasks.ValidateLanguageFilesTask LanguageFiles="@(_AtomUILanguageFileForValidation)" />
|
|
</Target>
|
|
|
|
<Target Name="AtomUIExportLanguageTemplates"
|
|
DependsOnTargets="AtomUICollectLanguageCatalogs">
|
|
<Error Condition="'$(AtomUITargetLanguage)' == ''"
|
|
Text="AtomUITargetLanguage is required, for example -p:AtomUITargetLanguage=ja-JP." />
|
|
<Error Condition="!Exists('$(AtomUILocalizationBuildTasksAssembly)')"
|
|
Text="AtomUI.Build.Tasks could not be found at '$(AtomUILocalizationBuildTasksAssembly)'." />
|
|
<ItemGroup>
|
|
<_AtomUILanguageTemplateSource Include="@(AtomUILanguage)"
|
|
Condition="'%(AtomUILanguage.Filename)%(AtomUILanguage.Extension)' == 'en-US.xlf'" />
|
|
</ItemGroup>
|
|
<AtomUI.Build.Tasks.ExportLanguageTemplatesTask SourceFiles="@(_AtomUILanguageTemplateSource)"
|
|
OutputRootDirectory="$(MSBuildProjectDirectory)/Localization"
|
|
TargetLanguage="$(AtomUITargetLanguage)">
|
|
<Output TaskParameter="ExportedFiles" ItemName="AtomUIExportedLanguageTemplate" />
|
|
</AtomUI.Build.Tasks.ExportLanguageTemplatesTask>
|
|
</Target>
|
|
|
|
<Target Name="AtomUIPrepareLanguagePackage"
|
|
BeforeTargets="_GetPackageFiles"
|
|
Condition="'$(AtomUIBuildLanguagePackage)' == 'true'">
|
|
<Error Condition="!Exists('$(AtomUILocalizationBuildTasksAssembly)')"
|
|
Text="AtomUI.Build.Tasks could not be found at '$(AtomUILocalizationBuildTasksAssembly)'." />
|
|
<ItemGroup>
|
|
<_AtomUILanguagePackageFile Include="@(AtomUILanguage)"
|
|
Condition="'%(AtomUILanguageSourceKind)' == 'StaticLanguagePack'" />
|
|
<_AtomUILanguagePackageValidationFile Include="@(Compile);@(Content);@(None)"
|
|
Exclude="$(IntermediateOutputPath)**/*;$(BaseIntermediateOutputPath)**/*;$(BaseOutputPath)**/*" />
|
|
</ItemGroup>
|
|
<Error Condition="'@(_AtomUILanguagePackageFile)' == ''"
|
|
Text="No static language XLIFF files were found. Add target-language files under Localization/." />
|
|
<AtomUI.Build.Tasks.PrepareLanguagePackageTask PackageId="$(PackageId)"
|
|
ExpectedLanguage="$(AtomUILanguageTag)"
|
|
LanguageFiles="@(_AtomUILanguagePackageFile)"
|
|
PackageFiles="@(_AtomUILanguagePackageValidationFile)"
|
|
OutputManifestPath="$(AtomUILanguagePackageManifestPath)">
|
|
<Output TaskParameter="PreparedLanguageFiles" ItemName="_AtomUIPreparedLanguageFile" />
|
|
</AtomUI.Build.Tasks.PrepareLanguagePackageTask>
|
|
<AtomUI.Build.Tasks.GenerateLanguagePackagePropsTask PackageId="$(PackageId)"
|
|
LanguageFiles="@(_AtomUIPreparedLanguageFile)"
|
|
OutputPath="$(AtomUILanguagePackagePropsPath)" />
|
|
<ItemGroup>
|
|
<None Include="@(_AtomUIPreparedLanguageFile)"
|
|
Pack="true"
|
|
PackagePath="contentFiles/any/any/%(_AtomUIPreparedLanguageFile.AtomUILanguagePackagePath)" />
|
|
<None Include="$(AtomUILanguagePackageManifestPath)"
|
|
Pack="true"
|
|
PackagePath="contentFiles/any/any/AtomUI.LanguagePack.xml" />
|
|
<None Include="$(AtomUILanguagePackagePropsPath)"
|
|
Pack="true"
|
|
PackagePath="buildTransitive/$(PackageId).props" />
|
|
</ItemGroup>
|
|
</Target>
|
|
|
|
<PropertyGroup>
|
|
<AtomUILanguageModulePropsPath Condition="'$(AtomUILanguageModulePropsPath)' == ''">$(IntermediateOutputPath)$(PackageId).props</AtomUILanguageModulePropsPath>
|
|
</PropertyGroup>
|
|
|
|
<Target Name="AtomUIPrepareLanguageModuleAssets"
|
|
BeforeTargets="_GetPackageFiles"
|
|
Condition="'$(IsPackable)' == 'true' and '$(AtomUIBuildLanguagePackage)' != 'true' and '@(AtomUILanguage)' != ''">
|
|
<ItemGroup>
|
|
<_AtomUIModuleLanguageFile Include="@(AtomUILanguage)"
|
|
Condition="'%(AtomUILanguageSourceKind)' == 'ModuleBuiltIn' and '%(Filename)%(Extension)' == 'en-US.xlf'" />
|
|
</ItemGroup>
|
|
<AtomUI.Build.Tasks.GenerateLanguagePackagePropsTask PackageId="$(PackageId)"
|
|
SourceKind="ModuleBuiltIn"
|
|
RequireTargetLanguage="false"
|
|
LanguageFiles="@(_AtomUIModuleLanguageFile)"
|
|
OutputPath="$(AtomUILanguageModulePropsPath)" />
|
|
<ItemGroup>
|
|
<None Include="@(_AtomUIModuleLanguageFile)"
|
|
Pack="true"
|
|
PackagePath="contentFiles/any/any/%(_AtomUIModuleLanguageFile.AtomUILanguagePackagePath)" />
|
|
<None Include="$(AtomUILanguageModulePropsPath)"
|
|
Pack="true"
|
|
PackagePath="buildTransitive/$(PackageId).props" />
|
|
</ItemGroup>
|
|
</Target>
|
|
</Project>
|