- Neutral resources: *resx
Strings.shared.resxis a shared resource and gets embedded into all msbuild dlls- each neutral resource has a directory named
xlfbesides it which contains its localized strings in .xlf format - there is one language per xlf
- the logical name for a resource is:
<Assembly Name>.<Neutral Resx File Name>.resources. In the ResourceManager this appears as<Assembly Name>.<Neutral Resx File Name>(without the trailing.resources). For example, theMicrosoft.Buildassembly uses theMicrosoft.Build.Strings.resourceslogical resource name (the resource file isStrings.resx), and its corresponding ResourceManager usesMicrosoft.Build.Strings.
- if you need to add / remove / update a resource, only do so in the neutral resx files. xlf files get automatically updated during localized builds.
- converts xlf files to localized resx files
- the localized resx files are generated into the
$(IntermediaryOutputPath) - produces satellite assemblies for each language
- satellite assemblies are used even on English machines. This is for testing purposes, to ensure that English builds are not different than non English builds
- 3 weeks cadence for master, initiated by loc team
- on demand for master / release branches, initiated by msbuild team
- send a PR with an updated
<target>element of the xlf resource (do not include other non-localization changes) - we will notify the localization team, which will then take over and review the PR