What do I mean by "permanent"? Each time a new language pack is installed in DotNetNuke, all the *.resx default file set for that localization is overwritten. This means that any change made to any of those files will be lost.
Besides the standard default resource files edition possibility, DotNetNuke provides two ways to perform modifications on its text resources so that they will not get overwritten upon a new language pack installation. The first works for all portals of a given DNN installation and the second is only related with a specific portal. The first is called "Host level" and the second "Admin level".
Let's see how to perform the three modifications and the differences that each one has.
1. Standard System level messages modification
It consists in modifying the standard file system, the one installed with each language pack. This modification gets lost upon a new language pack installation.
The steps are the following:
- Login as Host user
- Go to the Language page, following the menu option Host - Languages
- Click on "Language Editor" located down to the left of the page
- Inside the Language Editor page:
- On the left, from the files tree, select the system file to edit
- From the dropdown menu Available Locales, select the language to edit
- Below Available Locales you will find two options (System and Host) following the title Mode. Be sure to select "System"
- Select the text to modify and...
- Click on Update at the bottom of the page
All modifications made this way affect the system files, called [filename].[locale].resx, for example:
GlobalResources.en-AU.resx, where the locale corresponds to Australia. The default system files, for US English (en-US) do not have a [locale] field, so the file would be called GlobalResources.resx.
This particular file is located inside the App_GlobalResources folder of the DNN installation.
2. Host level messages modification
With this procedure, the modifications to the text messages will be saved in a different file, not the system standard defaults. This helps ensure that the installation of a new language pack (or a DotNetNuke upgrade on the Website, for the case of the en-US resource texts) will not overwrite the custom modifications.
The steps to follow are the same than the previous case and the only difference is in the 5) step. The new step is the following:
5) Below Available languages there is a two options (System and Host) configuration called Mode. Be sure to select "Host"
Any modification made this way will create a new file called [filename].[locale].Host.resx (for example, 'GlobalResources.en-AU.Host.resx'). This file contains only the text resources that were modified.
3. Admin level messages modification (for each particular portal)
With this procedure, the modifications to the text messages will be saved in a different file, thus protecting them from being lost upon new language packs installation or DotNetNuke upgrades made on the Website.
Let's review the steps for editing:
- It does not matter if you login as Host o Admin user
- Go to the Language page, following the menu option Admin - Languages
- Click on "Language Editor" located down to the left of the page
- Inside the Language Editor page:
- On the left, from the files tree, select the system file to edit
- From the dropdown menu Available Locales, select the language to edit
- Note that on this page there is no possibility to choose the Edition Mode, between System and Host.
- Select the text to modify and...
- Click on Update at the bottom of the page
This time the steps that changed were 1), 2) and... nothing else!
Any modification made this way will create a new file called [filename].[locale].Portal-[number].resx (for example, 'GlobalResources.en-AU.Portal-0.resx'). This file contains only the text resources that were modified.
4. Access priorities to the text resources
The access priority (fallback) to a specific text resource is:
- Portal specific file
- Host file
- Standard System file
It is a good suggestion to play around with the text resource called 'MESSAGE_REGISTRATION_INSTRUCTIONS.Text' which is located inside the GlobalResources.en-AU.resx file (or the one corresponding to each localization). It is the first message shown under "Preferred User Information" on the registration page.