Skip to content
Pootle instance for Malayalam localization of KDE
Branch: master
Clone or download
Type Name Latest commit message Commit time
Failed to load latest commit information.
custom_templates Modify index page Apr 25, 2019
.env.example Change env name Apr 20, 2019
.gitignore Ignore venv Apr 25, 2019
LICENSE Initial commit Feb 24, 2019
Pipfile Modify index page Apr 25, 2019
Pipfile.lock Add psycopg2-binary dep Mar 17, 2019
Procfile Add --insecure flag to load assets for now Mar 17, 2019 Add section on how to commit to upstream May 21, 2019
pootle.conf Modify index page Apr 25, 2019 Add script to run in bg Apr 20, 2019

Pootle Instance For KDE

Trying to integrate KDE translation with Pootle for easy translation.


The website is run with a software called Pootle for translation.

IMPORTANT : There maybe a Your names (NAME OF TRANSLATORS) and email to Your emails (EMAIL OF TRANSLATORS) string in the file. Add your name and email to it. This value gets displayed in program's About menu. If there already exist a value, add yours after a comma.

The Your names and Your emails strings will only exist in some files. If it exist, do add your name to it !

Example :

  • Your names :
    ശ്യാം കൃഷ്ണന്‍ സി.ആര്‍.,സുബിന്‍ സിബി
  • Your emails :,


These tools can be used to help in localization.

Priority List

Consider translating these files :

Choose files based on the activity. Completing a file is important than small work on individual files.


  • Install pootle

    This repo use pipenv

    pipenv install
  • Link pootle.conf :

    pootle init
    ln -s $(realpath pootle.conf) ~/.pootle/pootle.conf
  • pootle initdb --no-projects

  • Make the translations folder.

    mkdir translations
    mkdir translations/l10n-kf5
    mkdir translations/l10n-kf5/templates/
    ln -s $(realpath translations) .venv/lib/python2.7/site-packages/pootle/translations
    ln -s $(realpath custom_templates) .venv/lib/python2.7/site-packages/pootle/custom_templates
    ln -s $(realpath log) .venv/lib/python2.7/site-packages/pootle/log
  • Extra : set up elasticsearch for translation memory


Get into the virtual environment shell and run pootle runserver --insecure

or use the script to run in background :

nohup bash > foo.out 2> foo.err < /dev/null &

Use pkill -f pootle to kill the process.

Adding Project To Pootle

KDE's l10n repository is using Subversion. A mirror of it under git is used by us. Do the following process in that repo.

The Mirror git repo

These steps should be done in the mirror git repo

Find the package to add from here. Example : applications, kde-workspace

  • Set the package :

    export REPO_ROOT=$PWD
    export PACKAGE=''
  • Get the template files :

    cd $REPO_ROOT/l10n-kf5/templates
    svn checkout svn://$PACKAGE $PACKAGE
  • Get the language files :

    export LANG_CODE='ml'
    mkdir $REPO_ROOT/l10n-kf5/$LANG_CODE
    cd $REPO_ROOT/l10n-kf5/$LANG_CODE
    svn checkout svn://$LANG_CODE/messages/$PACKAGE $PACKAGE


  • Setup a SSH key and add it as deploy key to the mirror git repo

  • Clone the mirror repo to Pootle base directory (this repo base) :

    git clone translations
  • Open Pootle admin and add project

    The following project variables need to be changed :

    • Code : l10n-kf5
    • Full Name : KDE 5 Trunk
    • File types : Gettext PO
    • Path mapping preset : non-GNU style
    • Template name : templates

    The extra options are only in Pootle 2.9

  • Sync Pootle :

    pootle fs add l10n-kf5
    pootle fs fetch l10n-kf5
    pootle fs sync l10n-kf5

Committing back to Mirror git repo

  • In the server's translations folder, do :
    pootle fs sync l10n-lf5
    This will pull changes from Pootle to files
  • Update file headers :
  • Commit and push :
    git commit -a -m "Updates $(date)"
    git push

Committing to KDE upstream

  • Get developer access to KDE SVN
  • Checkout PO files :
    svn co svn+ssh://
  • Copy files from Mirror git repo to the checked out PO files
  • Add files and commit
    # Add all files
    svn status | grep '?' | sed 's/^.* /svn add /' | bash
    svn commit -m 'Update malayalam localizations'
You can’t perform that action at this time.