Languages and Translations

How to make languages and translations.

Create Language Files

How to create language files for the Eenos Control panel and manage It.

Create Language Files

Introduction

Eenos Language Files

Eenos control panel is developed on Python and uses Gnu Gettext tools to manage languages.  The  WAP, RAPP, and  UAPP  have their own language files. 

The language file locations are as follows,

Sl.NO User Interface Location of Language File Description
1 WAP /usr/local/eenos/wap/locale Web Admin Panel language folder
2 RAPP /usr/local/eenos/rapp/locale Reseller Control Panel language  folder
3 UAPP /usr/local/eenos/uapp/locale User  Control Panel  language folder

IMPORTANT: Eenos only provides language files, you need to translate into your local language by yourself. We will provide the translations in future releases only.

Please take a backup of the language folders before making customization on Eenos.

By default, Eenos provides 16 Language Files.  So that you can directly start creating the translations of those language files. 

The web interfaces were created using the Django libraries. So any Django developer can  create a language file configuration in the Django Settings Page as follows,


LANGUAGES += (
        ('en',_('English')),
        ('de',_('German')),        
        ('es',_('Spanish')),        
        ('ml',_('Malayalam')),
    )

You need to add the custom language codes to all three interfaces Django Settings page

Build Gettext Language Files.

After configuring the custom language code use the following  tool to generate the language files,

Command :

/usr/local/eenos/scripts/translate

Rebuild the WAP language files, and run the following command :

/usr/local/eenos/scripts/translate --rebuild --wap

Rebuild RAPP language files, and run the following command:

/usr/local/eenos/scripts/translate --rebuild --rapp

Rebuild UAPP language files, and run the following command :

/usr/local/eenos/scripts/translate --rebuild --uapp

The above commands will create the language files in the gettext format in .po files.

An example language file for WAP for the language Arabic is as  follows:

Location of the file   /usr/local/eenos/wap/locale/ar/LC_MESSAGES/django.po

more  /usr/local/eenos/wap/locale/ar/LC_MESSAGES/django.po 
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the PACKAGE package.
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
#
#, fuzzy
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2023-07-25 02:02-0500\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"Language: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 && n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5;\n"

msgid "Alert Management"
msgstr ""

msgid "Automation"
msgstr ""

msgid "Eenos Control Panel Alerts"
msgstr ""

msgid "Manage all types of email alerts from eenos control panel operations"
msgstr ""

msgid "Save Settings"
msgstr ""

msgid "Reset To Default"

Now you have the language file, you need to create translations for the language file by editing it and compiling it.

To start the translation process continue the the translation Documentation from Here

Rebuilding will rewrite any existing  Language files.  So please take proper backup before starting to rebuild language files.

Create Translations

How to create a translation for the language files.

Create Translations

Create Translation and Compile Language

Creating Translation on Language

In the previous chapter, we have seen how to create the gettext language files in .po files.  Now we are going to make translations for the language files.

Here we are going to translate the Arabic ( ar ) language file for the WAP control panel. The language file is located on /usr/local/eenos/wap/locale/ar/LC_MESSAGES/django.po

Understating the Gettext Language file

The language file has two terms,

After making the full translation, we need to compile the .po language files into binary file  .mo files. To compile the language files use the following command,

To compile WAP translations run the following command.

/usr/local/eenos/scripts/translate --compile --wap

To compile RAPP translations run  the following command, 

/usr/local/eenos/scripts/translate --compile --rapp

To compile UAPP translations run the following command:

/usr/local/eenos/scripts/translate --compile --uapp

Warning:  Compiling a language file may rewrite the existing  .mo files.