]> git.immae.eu Git - github/wallabag/wallabag.git/blame - TRANSLATION.md
Merge pull request #1524 from wallabag/sf2.8
[github/wallabag/wallabag.git] / TRANSLATION.md
CommitLineData
a34d9208 1# How to manage translations for wallabag
cbcae403 2
a34d9208 3This guide will describe the procedure of translation management of the wallabag web application.
cbcae403 4
a34d9208 5All translations are made using [gettext](http://en.wikipedia.org/wiki/Gettext) system and tools.
cbcae403 6
a34d9208 7You will need the [Poedit](http://www.poedit.net/download.php) editor to update, edit and create your translation files easily. However, you can also handle translations also without it: all can be done using gettext tools and your favorite plain text editor only. This guide, however, describes editing with Poedit. If you want to use gettext only, please refer to the xgettext manual page to update po files from sources (see also how it is used by Poedit below) and use msgunfmt tool to compile .mo files manually.
cbcae403
MR
8
9You need to know, that translation phrases are stored in **".po"** files (for example: `locale/pl_PL.utf8/LC_MESSAGES/pl_PL.utf8.po`), which are then complied in **".mo"** files using **msgfmt** gettext tool or by Poedit, which will run msgfmt for you in background.
10
11**It's assumed, that you have wallabag installed locally on your computer or on the server you have access to.**
12
13## To change existing translation you will need to do:
14
15### 1. Clear cache
16You can do this using **http://your-wallabag-host.com/?empty-cache** link (replace http://your-wallabag-host.com/ with real url of your wallabag application)
17
18OR
19
20from command line:
21go to root of your installation of wallabag project and run next command:
22
23`rm -rf ./cache/*`
24
a34d9208 25(this may require root privileges if you run, for example Apache web server with mod_php)
cbcae403
MR
26
27### 2. Generate php files from all twig templates
28Do this using next command:
29
30`php ./locale/tools/fillCache.php`
31
32OR
33
a34d9208 34from your browser: **http://your-wallabag-host.com/locale/tools/fillCache.php** (this may require removal of .htaccess file in locale/ directory).
cbcae403
MR
35
36### 3. Configure your Poedit
37Open Poedit editor, open Edit->Preferences. Go to "Parsers" tab, click on PHP and press "Edit" button. Make sure your "Parser command:" looks like
38
39`xgettext --no-location --force-po -o %o %C %K %F`
40
a34d9208 41Usually it is required to add "--no-location" to default value.
cbcae403 42
a34d9208 43### 4. Open .po file you want to edit in Poedit and change its settings
cbcae403
MR
44Open, for example `locale/pl_PL.utf8/LC_MESSAGES/pl_PL.utf8.po` file in your Poedit.
45
a34d9208 46Go to "Catalog"->"Settings..." menu. Then go to "Path" tab and add path to wallabag installation in your local file system. This step can't be omitted as you will not be able to update phrases otherwise.
cbcae403
MR
47
48You can also check "project into" tab to be sure, that "Language" is set correctly (this will allow you to spell check your translation).
49
50### 5. Update opened .po file from sources
51Once you have set your path correctly, you are able to update phrases from sources. Press "Update catalog - synchronize it with sources" button or go to "Catalog"->"Update from sources" menu.
52
a34d9208 53As a result you will see confirmation popup with two tabs: "New strings" and "Obsolete strings". Please review and accept changes (or press "Undo" if you see too many obsolete strings, as Poedit will remove them all - in this case please make sure all previous steps are performed w/o errors).
cbcae403
MR
54
55### 6. Translate and save your .po file
a34d9208 56If you have any difficulties on this step, please consult with Poedit manual.
57Every time you save your .po file, Poedit will also compile appropriate .mo file by default (of course, if not disabled in preferences).
cbcae403 58
a34d9208 59You are now almost done.
cbcae403
MR
60
61### 7. Clear cache again
62This step may be required if your web server runs php scripts in name of, say, www user (i.e. Apache with mod_php, not cgi).
63
64
a34d9208 65##To create new translation
66You just have to copy the folder corresponding to the language you want to translate from, change language in the project settings and for the folder and files names. Then start replacing all existing translations with your own.
cbcae403 67