Revision history [back]

There are two ways to get started, in either case you will have to type some stuff into the command line of your OS.

Let's assume you are translating to Russian and your operating system is Unix-like.

Method 1 (start from scratch or for update an existing translation)

By starting from scratch it is meant that you are not using any prepared localization for another language and instead you are just pulling the string keys from the project source files.

This method also works when source files got out of sync with your translation and you want to get up to date (say with a new release).

1. open the command shell in the directory that contains your settings.py file
2. type python manage.py makemessages -l ru -e html,py,txt

If you are working on Windows, the command will start with python.exe, but will be the same otherwise. ru - is the language code (locale in computer parlance).

There are two ways to get started, in either case you will have to type some stuff into the command line of your OS.

Let's assume you are translating to Russian and your operating system is Unix-like.

Method 1 (start from scratch or for update an existing translation)

By starting from scratch it is meant that you are not using any prepared localization for another language and instead you are just pulling the string keys from the project source files.

This method also works when source files got out of sync with your translation and you want to get up to date (say with a new release).

1. open the command shell in the directory that contains your settings.py file
2. type python manage.py makemessages -l ru -e html,py,txt

If you are working on Windows, the command will start with python.exe, but will be the same otherwise. ru - is the language code (locale in computer parlance).

There are two ways to get started, in either case you will have to type some stuff into the command line of your OS.

Let's assume you are translating to Russian and your operating system is Unix-like.

Method 1 (start from scratch or update an existing translation)

By starting from scratch it is meant that you are not using any prepared localization for another language and instead you are just pulling the string keys from the project source files.

This method also works when source files got out of sync with your translation and you want to get up to date (say with a new release).

1. open the command shell in the directory that contains your settings.py file
2. type python manage.py makemessages -l ru -e html,py,txt

The command above will create/update a file ./locale/ru/LC_MESSAGES/django.po - that file will be the main focus of your translation effort.

If you are working on Windows, the command will start with python.exe, but will be the same otherwise. ru - is the language code (locale in computer parlance).

Method 2 (start from another language translation)

This method is perfect if there is a good quality localization that you understand, and is the only sane way if application abbreviates the string keys.

There are two ways to get started, in either case you will have to type some stuff into the command line of your OS.

Let's assume you are translating to Russian and your operating system is Unix-like.

Method 1 (start from scratch or update an existing translation)

By starting from scratch it is meant that you are not using any prepared localization for another language and instead you are just pulling the string keys from the project source files.

This method also works when source files got out of sync with your translation and you want to get up to date (say with a new release).

1. open the command shell in the directory that contains your settings.py file
2. type python manage.py makemessages -l ru -e html,py,txt

The command above will create/update a file ./locale/ru/LC_MESSAGES/django.po - that file will be the main focus of your translation effort.effort. .po files are meant to be edited by the translators. There are some format requirements to follow, but they are easier than those used in the source code and contain no programming logic.

If you are working on Windows, the command will start with python.exe, but will be the same otherwise. ru - is the language code (locale in computer parlance).

Method 2 (start from another language translation)

This method is perfect if there is a good quality localization that you understand, and is the only sane way if application abbreviates the string keys.

There are two ways to get started, in either case you will have to type some stuff into the command line of your OS.

Let's assume you are translating to Russian and your operating system is Unix-like.

Method 1 (start from scratch or update an existing translation)

By starting from scratch it is meant that you are not using any prepared localization for another language and instead you are just pulling the string keys from the project source files.

This method also works when source files got out of sync with your translation and you want to get up to date (say with a new release).

1. open the command shell in the directory that contains your settings.py file
2. type python manage.py makemessages -l ru -e html,py,txt

The command above will create/update a file ./locale/ru/LC_MESSAGES/django.po - that file will be the main focus of your translation effort. .po files are meant to be edited by the translators. There are some format requirements to follow, but they are easier than those used in the source code and contain no programming logic.

If you are working on Windows, the command will start with python.exe, but will be the same otherwise. ru - is the language code (locale in computer parlance).

Method 2 (start from another language translation)

This method is perfect if there is a good quality localization that you understand, and is the only sane way if application abbreviates the string keys.

All you need here is just copy the translation directory (say English - ./locale/en) and name it ./locale/ru:

 cd locale
cp -r en ru #copy the directories recursively
cd ..       #get back to the root of your django site


Now you have the ./locale/ru/LC_MESSAGES/django.po file. All that you need to do now is to translate those hundreds of messages into your language :).

How to prepare the translator's environment

This answer assumes that your application has already been prepared for the internationalization.internationalization and explains how to prepare a file holding the translation messages.

There are two ways to get started, in either case you will have to type some stuff into the command line of your OS.

Let's assume you are translating to Russian and your operating system is Unix-like.

Method 1 (start from scratch or update an existing translation)

By starting from scratch it is meant that you are not using any prepared localization for another language and instead you are just pulling the string keys from the project source files.

This method also works when source files got out of sync with your translation and you want to get up to date (say with a new release).

1. open the command shell in the directory that contains your settings.py file
2. type python manage.py makemessages -l ru -e html,py,txt

The command above will create/update a file ./locale/ru/LC_MESSAGES/django.po - that file will be the main focus of your translation effort. .po files are meant to be edited by the translators. There are some format requirements to follow, but they are easier than those used in the source code and contain no programming logic.

If you are working on Windows, the command will start with python.exe, but will be the same otherwise. ru - is the language code (locale in computer parlance).

Method 2 (start from another language translation)

This method is perfect if there is a good quality localization that you understand, and is the only sane way if application abbreviates the string keys.

All you need here is just copy the translation directory (say English - ./locale/en) and name it ./locale/ru:

 cd locale
cp -r en ru #copy the directories recursively
cd ..       #get back to the root of your django site


Now you have the ./locale/ru/LC_MESSAGES/django.po file. All that you need to do now is to translate those hundreds of messages into your language :).

How to prepare the translator's environment

This answer assumes that your application has already been prepared for the internationalization and explains how to prepare a file holding the translation messages.messages. Ideally this file is the only thing that translator needs to touch in order to do his work.

There are two ways to get started, in either case you will have to type some stuff into the command line of your OS.

Let's assume you are translating to Russian and your operating system is Unix-like.

Method 1 (start from scratch or update an existing translation)

By starting from scratch it is meant that you are not using any prepared localization for another language and instead you are just pulling the string keys from the project source files.

This method also works when source files got out of sync with your translation and you want to get up to date (say with a new release).

1. open the command shell in the directory that contains your settings.py file
2. type python manage.py makemessages -l ru -e html,py,txt

The command above will create/update a file ./locale/ru/LC_MESSAGES/django.po - that file will be the main focus of your translation effort. .po files are meant to be edited by the translators. There are some format requirements to follow, but they are easier than those used in the source code and contain no programming logic.

If you are working on Windows, the command will start with python.exe, but will be the same otherwise. ru - is the language code (locale in computer parlance).

Method 2 (start from another language translation)

This method is perfect if there is a good quality localization that you understand, and is the only sane way if application abbreviates the string keys.

All you need here is just copy the translation directory (say English - ./locale/en) and name it ./locale/ru:

 cd locale
cp -r en ru #copy the directories recursively
cd ..       #get back to the root of your django site


Now you have the ./locale/ru/LC_MESSAGES/django.po file. All that you need to do now is to translate those hundreds of messages into your language :).

How to prepare the translator's environment

This answer assumes that your application has already been prepared for the internationalization and explains how to prepare a file holding the translation messages. Ideally this file is the only thing that translator needs to touch in order to do his work.

There are two ways to get started, in either case you will have to type some stuff into the command line of your OS.

Let's assume you are translating to Russian and your operating system is Unix-like.

Method 1 (start from scratch or update an existing translation)

By starting from scratch it is meant that you are not using any prepared localization for another language and instead you are just pulling the string keys from the project source files.

This method also works when source files got out of sync with your translation and you want to get up to date (say with a new release).

1. open the command shell in the directory that contains your settings.py file
2. type python manage.py makemessages -l ru -e html,py,txt

The command above will create/update a file ./locale/ru/LC_MESSAGES/django.po - that file will be the main focus of your translation effort. .po files are meant to be edited by the translators. There are some format requirements to follow, but they are easier than those used in the source code and contain no programming logic.

If you are working on Windows, the command will start with python.exe, but will be the same otherwise. ru - is the language code (locale in computer parlance).

Method 2 (start from another language translation)

This method is perfect if there is a good quality localization that you understand, and is the only sane way if application abbreviates the string keys.

All you need here is just copy the translation directory (say English - ./locale/en) and name it ./locale/ru:

 cd locale
cp -r en ru #copy the directories recursively
cd ..       #get back to the root of your django site


What's next?

Now you have the ./locale/ru/LC_MESSAGES/django.po file. All that you need to do now is to translate those hundreds of messages into your language :).

Open the file in your favorite text editor and type away, but you will have to pay attention to some very specific issues - pluralization, insertion of variables and be careful with typing html tags into the translation strings.

How to prepare the translator's environment

This answer assumes that your application source code has already been prepared for the internationalization and explains how to prepare a file holding the translation messages. Ideally this file is the only thing that translator needs to touch in order to do his work.

There are two ways to get started, in either case you will have to type some stuff into the command line of your OS.

Let's assume you are translating to Russian and your operating system is Unix-like.

Method 1 (start from scratch or update an existing translation)

By starting from scratch it is meant that you are not using any prepared localization for another language and instead you are just pulling the string keys from the project source files.

This method also works when source files got out of sync with your translation and you want to get up to date (say with a new release).

1. open the command shell in the directory that contains your settings.py file
2. type python manage.py makemessages -l ru -e html,py,txt

The command above will create/update a file ./locale/ru/LC_MESSAGES/django.po - that file will be the main focus of your translation effort. .po files are meant to be edited by the translators. There are some format requirements to follow, but they are easier than those used in the source code and contain no programming logic.

If you are working on Windows, the command will start with python.exe, but will be the same otherwise. ru - is the language code (locale in computer parlance).

Method 2 (start from another language translation)

This method is perfect if there is a good quality localization that you understand, and is the only sane way if application abbreviates the string keys.

All you need here is just copy the translation directory (say English - ./locale/en) and name it ./locale/ru:

 cd locale
cp -r en ru #copy the directories recursively
cd ..       #get back to the root of your django site


What's next?

Now you have the ./locale/ru/LC_MESSAGES/django.po file. All that you need to do now is to translate those hundreds of messages into your language :).

Open the file in your favorite text editor and type away, but you will have to pay attention to some very specific issues - pluralization, insertion of variables and be careful with typing html tags into the translation strings.

How to prepare the translator's environment

This answer assumes that your application source code has already been prepared for the internationalization and explains how to prepare a file holding the translation messages. Ideally this file is the only thing that translator needs to touch in order to do his work.

There are two ways to get started, in either case you will have to type some stuff into the command line of your OS.

Let's assume you are translating to Russian and your operating system is Unix-like.

Method 1 (start Start from scratch or update an existing translation)translation

By starting from scratch it is meant that you are not using any prepared localization for another language and instead you are just pulling the string keys from the project source files.

This method also works when source files got out of sync with your translation and you want to get up to date (say with a new release).

1. open the command shell in the directory that contains your settings.py file
2. type python manage.py makemessages -l ru -e html,py,txt

The command above will create/update a file ./locale/ru/LC_MESSAGES/django.po - that file will be the main focus of your translation effort. .po files are meant to be edited by the translators. There are some format requirements to follow, but they are easier than those used in the source code and contain no programming logic.

If you are working on Windows, the command will start with python.exe, but will be the same otherwise. ru - is the language code (locale in computer parlance).

Method 2 (start Start from another language translation)translation

This method is perfect if there is a good quality localization that you understand, and is the only sane way if application abbreviates the string keys.

All you need here is just copy the translation directory (say English - ./locale/en) and name it ./locale/ru:

 cd locale
cp -r en ru #copy the directories recursively
cd ..       #get back to the root of your django site


What's next?

Now you have the ./locale/ru/LC_MESSAGES/django.po file. All that you need to do now is to translate those hundreds of messages into your language :).

Open the file in your favorite text editor and type away, but you will have to pay attention to some very specific issues - pluralization, insertion of variables and be careful with typing html tags into the translation strings.

How to prepare the translator's environment

This answer assumes that your application source code has already been prepared for the internationalization (askbot is) and explains how to prepare a file holding the translation messages. Ideally this file is the only thing that translator needs to touch in order to do his work.

There are two ways to get started, in either case you will have to type some stuff into the command line of your OS.

Let's assume you are translating to Russian and your operating system is Unix-like.

Start from scratch or update an existing translation

By starting from scratch it is meant that you are not using any prepared localization for another language and instead you are just pulling the string keys from the project source files.

This method also works when source files got out of sync with your translation and you want to get up to date (say with a new release).

1. open the command shell in the directory that contains your settings.py file
2. type python manage.py makemessages -l ru -e html,py,txt

The command above will create/update a file ./locale/ru/LC_MESSAGES/django.po - that file will be the main focus of your translation effort. .po files are meant to be edited by the translators. There are some format requirements to follow, but they are easier than those used in the source code and contain no programming logic.

If you are working on Windows, the command will start with python.exe, but will be the same otherwise. ru - is the language code (locale in computer parlance).

Start from another language translation

This method is perfect if there is a good quality localization that you understand, and is the only sane way if application abbreviates the string keys.

All you need here is just copy the translation directory (say English - ./locale/en) and name it ./locale/ru:

 cd locale
cp -r en ru #copy the directories recursively
cd ..       #get back to the root of your django site


What's next?

Now you have the ./locale/ru/LC_MESSAGES/django.po file. All that you need to do now is to translate those hundreds of messages into your language :).

Open the file in your favorite text editor and type away, but you will have to pay attention to some very specific issues - pluralization, insertion of variables and be careful with typing html tags into the translation strings.

How to prepare the translator's environment

This answer assumes that your application source code has already been prepared for the internationalization (askbot is) and explains how to prepare a file holding the translation messages. Ideally this file is the only thing that translator needs to touch in order to do his work.

There are two ways to get started, in either case you will have to type some stuff into the command line of your OS.

Let's assume you are translating to Russian and your operating system is Unix-like.

Start from scratch or update an existing translation

By starting from scratch it is meant that you are not using any prepared localization for another language and instead you are just pulling the string keys from the project source files.

This method also works when source files got get out of sync with your translation and you want to get up to date (say with a new release).update it.

1. open the command shell in the directory that contains your settings.py file
2. type python manage.py makemessages -l ru -e html,py,txt

The command above will create/update a file ./locale/ru/LC_MESSAGES/django.po - that file will be the main focus of your translation effort. .po files are meant to be edited by the translators. There are some format requirements to follow, but they are easier than those used in the source code and contain no programming logic.

If you are working on Windows, the command will start with python.exe, but will be the same otherwise. ru - is the language code (locale in computer parlance).

Start from another language translation

This method is perfect if there is a good quality localization that you understand, and is the only sane way if application abbreviates the string keys.

All you need here is just copy the translation directory (say English - ./locale/en) and name it ./locale/ru:

 cd locale
cp -r en ru #copy the directories recursively
cd ..       #get back to the root of your django site


What's next?

Now you have the ./locale/ru/LC_MESSAGES/django.po file. All that you need to do now is to translate those hundreds of messages into your language :).

Open the file in your favorite text editor and type away, but you will have to pay attention to some very specific issues - pluralization, insertion of variables and be careful with typing html tags into the translation strings.

How to prepare the translator's environment

This answer assumes that your application source code has already been prepared for the internationalization (askbot is) and explains how to prepare a file holding the translation messages. Ideally this file is the only thing that translator needs to touch in order to do his work.

There are two ways to get started, in either case you will have to type some stuff into the command line of your OS.

Let's assume you are translating to Russian and your operating system is Unix-like.

Start from scratch or update an existing translation

By starting from scratch it is meant that you are not using any prepared localization for another language and instead you are just pulling the string keys from the project source files.

This method also works when source files get out of sync with your translation and you want to update it.

1. open the command shell in the directory that contains your settings.py file
2. type python manage.py makemessages -l ru -e html,py,txt

Note: the above command assumes that your translations are in the django site project directory, which is not always the case. For example, in askbot the localization files are inside the directory askbot, so in such cases the command will be:

cd askbot
python ../manage.py jinja2_makemessages -l ru -e html,py,txt


Notice the ../manage.py. Also, in askbot the message extraction command is customized, so it is called jinja2_makemessages instead of the django's makemessages.

The command above will create/update a file ./locale/ru/LC_MESSAGES/django.po - that file will be the main focus of your translation effort. .po files are meant to be edited by the translators. There are some format requirements to follow, but they are easier than those used in the source code and contain no programming logic.

If you are working on Windows, the command will start with python.exe, but will be the same otherwise. ru - is the language code (locale in computer parlance).

Start from another language translation

This method is perfect if there is a good quality localization that you understand, and is the only sane way if application abbreviates the string keys.

All you need here is just copy the translation directory (say English - ./locale/en) and name it ./locale/ru:

 cd locale
cp -r en ru #copy the directories recursively
cd ..       #get back to the root of your django site


What's next?

Now you have the ./locale/ru/LC_MESSAGES/django.po file. All that you need to do now is to translate those hundreds of messages into your language :).

Open the file in your favorite text editor and type away, but you will have to pay attention to some very specific issues - pluralization, insertion of variables and be careful with typing html tags into the translation strings.