SharePoint Products

compelling add-ons for SharePoint

How can I get CopyMove in another language than English?

Applies to: CopyMove for SharePoint 2016

Currently, CopyMove 2016 does out-of-the-box not support any other languages in the user interface than English, German, French, Dutch, Spanish, Danish and Japanese. If you need a translation for another language then you have the option to translate the UI strings yourself - CopyMove is prepared for this. Alternatively, we can also arrange a professional translation at an additional cost or for free if you are placing an order for two server licenses or more. The CopyMove UI strings are by default loaded from the following resource files:

  • sppcopymove.resx
  • sppplatform.resx

where sppcopymove.resx contains all the CopyMove specific strings and sppplatform.resx contains strings for general stuff like the license management system. These two files are installed to each of the following locations on each server in a SharePoint farm:

First, they are required by the CopyMove application pages to exist in the App_GlobalResources folder of each SharePoint Web Application including the one hosting Central Administration. Next, they are also needed in the Resources folder below the SharePoint 16 Hive as localized strings in the SharePoint feature XML files are loaded from the resource files here. Finally, the files are also installed to the Config\Resources folder to ensure that CopyMove will also work with new SharePoint Web Applications created after it was deployed. SharePoint will when a new Web Application is created copy all resource files from the Config\Resources directory to the App_GlobalResources folder of the new Web Application.

Let us now have a look inside the resource files. They are simply XML files with an entry for each unique user interface string. The excerpt below illustrates two unqiue entries. For each entry, the name attribute specifies the unique key identifying the entry across all languages. The inner text of the <value> element contains the localized text for the language of the resource file. See Resources in .Resx File Format for more information on the RESX file format.

<data name="CustomAction_Copy" xml:space="preserve">
  <value>Copy</value>
</data>
<data name="RunPage_CopyFileAndFolderProgressMessage" xml:space="preserve">
  <value>Copying {0} files in {1} folders with a total size of {2} to {3}</value>
</data>

To translate CopyMove to a new language, follow this procedure:

  1. Create a copy of the CopyMove resource files sppcopmove.resx and sppplatform.resx
  2. Rename the files to represent the new language, e.g. sppcopymove.de-DE.resx and sppplatform.de-DE.resx for the German language. See the list of possible Language Codes.
  3. Translate the inner text of all <value> elements. But be careful with parameterized values containing parameters as {0}, {1}, {2} and {3}. It is very important that these stay in the translation. Also, consider using a good editor like the free Resx Resource Translator to work with the RESX files.
  4. Deploy the files to all the resource folders outlined above. Consider, packaging them as a Custom Language Pack for easy deployment to multiple servers and multiple farms.