summaryrefslogtreecommitdiffstats
path: root/tools/Translation.targets
blob: 21b27be3730979c68cfc136614433e5551368c64 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
	<PropertyGroup>
		<ExportedTxtResourcesIntermediateDir>$(IntermediatePath)ExportedTxtResources</ExportedTxtResourcesIntermediateDir>
		<ExportedTxtResourcesIntermediateDir Condition=" '$(Culture)' != '' ">$(ExportedTxtResourcesIntermediateDir).$(Culture)</ExportedTxtResourcesIntermediateDir>
		<ExportedTxtResourcesIntermediateDir>$(ExportedTxtResourcesIntermediateDir)\</ExportedTxtResourcesIntermediateDir>

		<ExportedTxtResourcesZip>$(IntermediatePath)$(ProductName) resources</ExportedTxtResourcesZip>
		<ExportedTxtResourcesZip Condition=" '$(Culture)' != '' ">$(ExportedTxtResourcesZip).$(Culture)</ExportedTxtResourcesZip>
		<ExportedTxtResourcesZip>$(ExportedTxtResourcesZip).zip</ExportedTxtResourcesZip>
	</PropertyGroup>
	<Target Name="ExportResX">
		<ItemGroup Condition=" '$(Culture)' != '' " >
			<ResXFilesToExport Include="$(ProjectRoot)src\$(ProductName)\**\*.$(Culture).resx" />
		</ItemGroup>
		<PropertyGroup>
			<ResXNewCulture Condition=" '@(ResXFilesToExport)' == '' ">.$(Culture)</ResXNewCulture>
		</PropertyGroup>
		<ItemGroup Condition=" '$(Culture)' == '' or '$(ResXNewCulture)' != '' ">
			<ResXFilesToExport Include="$(ProjectRoot)src\$(ProductName)\**\*.resx" />
			<ResXFilesToExport Remove="$(ProjectRoot)src\$(ProductName)\**\*.*.resx" />
		</ItemGroup>
		<ItemGroup>
			<ResXFilesToExport>
				<ExportedFullPath>$(ExportedTxtResourcesIntermediateDir)%(RecursiveDir)%(FileName)$(ResXNewCulture).txt</ExportedFullPath>
				<ExportedDirectory>$(ExportedTxtResourcesIntermediateDir)%(RecursiveDir)</ExportedDirectory>
			</ResXFilesToExport>
			<ExportedTxtDirectories Include="@(ResXFilesToExport->'%(ExportedDirectory)')" />
			<ExportedTxtFiles Include="@(ResXFilesToExport->'%(ExportedFullPath)')" />
		</ItemGroup>
		<Warning Condition=" '$(ResXNewCulture)' != '' " Text="No culture '$(Culture)' exists in the source project.  Synthesizing new one from default culture." />
		<MakeDir Directories="%(ResXFilesToExport.ExportedDirectory)" Condition="!Exists('%(ResXFilesToExport.ExportedDirectory)')" />
		<Exec Command="resgen.exe %(ResXFilesToExport.Identity) %(ResXFilesToExport.ExportedFullPath)" />
		<Purge Directories="@(ExportedTxtDirectories)" IntendedFiles="@(ExportedTxtFiles)" />
		<Delete Files="$(ExportedTxtResourcesZip)" />
		<Zip ZipFileName="$(ExportedTxtResourcesZip)"
				 WorkingDirectory="$(ExportedTxtResourcesIntermediateDir)"
				 Files="@(ExportedTxtFiles)" />
	</Target>
</Project>