How to translate DocumentUltimate to a new language

As of Version 5.7.0 - November 3, 2020, DocumentUltimate includes translations for these languages:

  • English (en)
  • Deutsch (de)
  • français (fr)
  • italiano (it)
  • español (es)
  • galego (gl)
  • português (Brasil) (pt-BR)
  • polski (pl)
  • русский (ru)
  • dansk (da)
  • svenska (sv)
  • norsk bokmål (nb)

Translation files for these languages are embedded inside DocumentUltimate's DLL.
However you can create your own translation file for a new language or update a translation file for an existing language:

  1. Download the latest translations files of DocumentUltimate

  2. Create this folder structure under your project: App_GlobalResources\WebViewer\i18n

    (note that before Version 4.3.0 - October 4, 2018 the folder structure was App_GlobalResources\WebViewer\Html5\Resources\i18n)

  3. Copy translation-en.json file from this zip to the folder App_GlobalResources\WebViewer\i18n and rename the file according to the new language.

    Translation files are named in this format: translation-cultureName.json
    Make sure you use the .NET standard codes for cultures, see the Language tag column in the list of language/region names supported by Windows.
    For example, the cultureName can be a specific culture like translation-de-CH.json (German in Switzerland) or a general (fallback) culture like translation-de.json (German).

  4. Edit this .json file with a text editor which supports UTF-8 encoding (e.g. Visual Studio, Notepad2, Notepad++). Basic Notepad only supports ANSI so it will corrupt encoding of your file so avoid it.

    Translate the values for keys to the target language (e.g. values to be translated are yellow highlighted):
      "controlbar": {
        "fullScreen": "Full Screen",
        "download": "Download",
        "downloadAsPdf": "Download as PDF",
    Value "" (empty string) means the translation is missing for a key (so English one will be used)
    To complete the translation of an existing translation file, search for "" and add the translated values for those keys.

    After translation is completed, ensure you save the .json file with UTF-8 encoding.

  5. DocumentUltimate will recognize your new translation file after application restart as it's put in the special folder App_GlobalResources\WebViewer\i18n 

    For Classic ASP.NET:
    Normally when you modify a file (save or create) under your project including App_GlobalResources subfolder, ASP.NET will restart your web application, so your new translation file will be recognized automatically. If not, you can touch Web.config (simply save) or recycle AppPool or rebuild your project to force AppDomain restart.

    You can now use your new translation file via setting the DisplayLanguage property to the culture name:
    documentViewer.DisplayLanguage = "de-CH";
    If you don’t set this property, the culture from CultureInfo.CurrentUICulture will be used by DocumentUltimate automatically.

  6. Please send us your completed translation file, so that we can include and embed in DocumentUltimate's DLL in the next version. This way you will not need to keep App_GlobalResources folder under your project.