Notepad++ supports multi-language functionality by means of a translated xml file (based on the official english.xml translation).
Creating or Editing a translation
Maybe Notepad++ doesn’t currently have the language you would like to use. Or maybe, Notepad++ has been updated recently but the translation file is one or more versions behind, so some of the text isn’t in your selected language. Maybe the official Notepad++ translation for a language doesn’t match your particular usage of that language. Or sometimes, you just want to have some fun rewording things for your own amusement.
The process of teaching Notepad++ a new language is virtually identical to editing an existing language, and both processes are described here:
- Download the master copy of english.xml and save it into the
%APPDATA%\Notepad++\localization\
orNotepad++_Install_Dir\localization\
directory (see Configuration Files Location). Create thelocalization\
directory first, if it doesn’t already exist.- This will be used as the source for a new translation, and a reference when you are editing an existing language.
- This step depends on whether you are editing an existing language translation, or creating a new translation from scratch:
- For an existing translation: Download the most recent copy of the existing language translation from the localization portion of the code repository and save it into the same folder as
localization\english.xml
.- Note: If you are wanting to change the English text for your own use, please edit
localization\english_customizable.xml
instead oflocalization\english.xml
, sinceenglish.xml
is meant to exist as an “absolute reference” with the official names of each of the text entries.
- Note: If you are wanting to change the English text for your own use, please edit
- For a new translation for a language that Notepad++ doesn’t already have: Copy
localization\english.xml
tolocalization\<yourlanguagename>.xml
- For an existing translation: Download the most recent copy of the existing language translation from the localization portion of the code repository and save it into the same folder as
- Edit
localization\<yourlanguagename>.xml
- Make sure the initial
<?xml ... ?>
tag indicatesencoding="utf-8"
. - Update the
<Native-Langue...>
tag near the top of the file:- Make sure the
name="___"
attribute matches your language’s native name. This is the name that will show up in the Preference dialog’s Localization pulldown - Make sure the
filename="___.xml"
matches your language name - Make sure
version="8.1.1"
matches the most-recent Notepad++ version number. It should already match, if you downloaded the most recentenglish.xml
as described above.
- Make sure the
- Edit the
name="..."
attributes as appropriate for the language you are editing.- Note: Do not change any of the
id="###"
orsubMenuId="xxx"
attributes, as those are used to map the text in thename="..."
attribute to the right piece of text in Notepad++. If you change those, the localization file will not work properly. - You may use XML character entities for characters. (Note: unlike HTML, XML only has 5 predefined named entities; all other characters require numeric or hexadecimal entities.)
- If the encoding was properly set (above), you may insert Unicode characters directly.
- When possible, keep the translated text about the same length (in characters) as the original English; this will help make sure the translation will fit in menus and dialog boxes which were designed to fit the official English text.
- Note: Do not change any of the
- Make sure the initial
- To see the changes take effect, save the file, then go to Settings > Preferences > General > Localization and select
<yourlanguagename>
from the pulldown menu: this will copylocalization\<yourlanguagename>.xml
tonativeLang.xml
and will immediately update the Notepad++ application to use the text from your saved XML file.- Note: If you do not see the right language in the pulldown, you need to make sure you put the XML file(s) in the right directory, as explained above.
- You may actually do the process of saving the file then selecting Localization =
<yourlanguagename>
throughout your development of the translation, to be able to see the changes you make as you go.
Share your translation
If you have updated an existing translation to match the most recent version of Notepad++, or if you have created a translation for a new language that isn’t currently available in Notepad++, you may want to request that it get added to the Notepad++ codebase, so that it will be distributed with the next version of the application. To do so, create your own fork of the codebase and make a Pull Request to ask that your translation be added to the main repository; if you do not know how to make Pull Requests, see the GitHub documentation; or you may create an issue asking for the tranlsation to be updated, and attach your XML file to the issue. Before making any Pull Request, please read and understand and follow the Rules for Contributing to Notepad++’s codebase.