AssignCulture Task
This task accepts a list of items that may contain a valid .NET culture identifier string as part of the file name, and produces items that have a metadata named Culture containing the corresponding culture identifier. For example, the file name Form1.fr-fr.resx has an embedded culture identifier "fr-fr", so this task will produce an item that has the same filename with the metadata Culture equal to fr-fr
. The task also produces a list of filenames with the culture removed from the filename.
Task Parameters
The following table describes the parameters of the AssignCulture task.
Parameter | Description |
---|---|
AssignedFiles |
Optional ITaskItem[] output parameter. Contains the list of items received in the Files parameter, with a Culture metadata entry added to each item. If the incoming item from the Files parameter already contains a Culture metadata entry, the original metadata entry is used. The task only assigns a Culture metadata entry if the file name contains a valid culture identifier. The culture identifier must be between the last two dots in the filename. |
AssignedFilesWithCulture |
Optional ITaskItem[] output parameter. Contains the subset of the items from the AssignedFiles parameter that have a Culture metadata entry. |
AssignedFilesWithNoCulture |
Optional ITaskItem[] output parameter. Contains the subset of the items from the AssignedFiles parameter that do not have a Culture metadata entry. |
CultureNeutralAssignedFiles |
Optional ITaskItem[] output parameter. Contains the same list of items that is produced in the AssignedFiles parameter, except with the culture removed from the file name. The task only removes the culture from the file name if it is a valid culture identifier. |
Files |
Optional ITaskItem[] parameter. Specifies the list of files with embedded culture names to assign a culture to. |
Remarks
Example
The following example executes the AssignCulture task with the ResourceFiles
item collection.
<Project xmlns="https://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup>
<ResourceFiles Include="MyResource1.fr.resx"/>
<ResourceFiles Include="MyResource2.XX.resx"/>
</ItemGroup>
<Target Name="Culture">
<AssignCulture
Files="@(ResourceFiles)"
<Output TaskParameter="AssignedFiles"
ItemName="OutAssignedFiles"/>
<Output TaskParameter="AssignedFilesWithCulture"
ItemName="OutAssignedFilesWithCulture"/>
<Output TaskParameter="AssignedFilesWithNoCulture"
ItemName="OutAssignedFilesWithNoCulture"/>
<Output TaskParameter="CultureNeutralAssignedFiles"
ItemName="OutCultureNeutralAssignedFiles"/>
</AssignCulture>
</Target>
</Project>
The following table describes the value of the output items after task execution. Item metadata is shown in parenthesis after the item.
Item collection | Contents |
---|---|
|
|
|
|
|
|
|
|