Revision Date: 14 April 2021

Language Translations ships with 29 languages built in. These are:

Official translations which ship with are developed on CrowdIn (an account is required). The project can be found at

To join the project, post your CrowdIn username and the language you wish to contribute to on forum here

Updated translation files (RESX files) are picked up before each release of Translations are used as-is provided they pass ResXCheck validation (see ).

New strings added to will default to machine translation. It is up to translators to provide better text than the default.

Many third-party language packs are available for free download via the forum.  If a language is not presently supported, a new translation can be developed using the instructions below.

Creating a new language pack

These instructions have been developed for Visual Studio.  If you do not have Visual Studio installed it is still possible to make a translation pack with a text editor and copy of resgen.exe (see for more information).  Resgen.exe is automatically installed with Visual Studio.

Step 1

Open the installation folder (usually C:\Program Files\

Open the \resx\ sub folder. This folder contains a file named PaintDotNet.Strings.3.resx.

Open the file in Visual Studio by right clicking on it and selecting "Open with " > "Microsoft Visual Studio Version Selector"

Opening PaintDotNet.Strings.3.resx
Opening PaintDotNet.Strings.3.resx with Visual Studio

Step 2

In Visual Studio, find the Value column. This column contains the default English text.  It is this column which needs to have the entries replaced with the translated strings. Click in a cell and type to change the string.

There are over 1200 strings, however it is not necessary to translate them all.

PaintDotNet.Strings.3.resx in Visual Studio
PaintDotNet.Strings.3.resx in Visual Studio

Step 3

When the translation is finished, use File > Save As.... to save the file in a location you can find easily.

File > Save xxxxxx As...
File > Save xxxxxx As...

The format of the new file name is important!

The file must be saved with the appropriate main culture name in lowercase, like this:

An optional subculture name may be added in capitals after the main culture name provided two names are separated by a dash (-).  Examples: ja-JP for Japanese as spoken in Japan, en-GB for English as spoken in the United Kingdom.

In the example above, is the filename for a translation to a generic German language.  A resource for German as spoken in Germany would be named "".

A list to culture-SUBCULTURE codes can be found here:

A list to two character subculture codes (ISO 3166-1) can be found here:

If you are translating to a language not covered by the listed language codes (Klingon, Valerian, Dothraki, Minionese or perhaps Elvish), choose any code you're unlikely to use.

Step 4

Exit Visual Studio. Open Windows Search and type dev.

Open a Developer Command Prompt for VS2015

Opening a developer command prompt
Opening a developer command prompt

Using the command prompt, navigate to the location of the saved resx file.

Navigate to the saved file location
Navigate to the saved file location

Step 5

Using resgen, compile the *.resx file into a *.resources file by typing the following at the command prompt.

resgen /compile,

Note: both instances of mn in the example should be replaced with your chosen country code.

Compile *.resx to *.resources
Compiling *.resx to *.resources

Close the command window.

Step 6

Open Windows Explorer and navigate to the location of the saved *.resx file. The directory should contain the newly created *.resources file as well.

Copy the *.resources file into the installation directory.

Close Windows Explorer.

Step 7

Start (restart)

Open the Settings dialog by clicking on the gear icon Settings Icon in the top right corner of the main window.

Under the Language drop-down, select the new language.

Set the new language in
Setting the new language in

When prompted, restart to enjoy your new language.