Czech translation update

Bug #1360262 reported by Ivan on 2014-08-22
This bug affects 1 person
Affects Status Importance Assigned to Milestone

Bug Description

translation update for czech language

jazzynico (jazzynico) wrote :

Hi Ivan,

I'm afraid none of the Inkscape project contributors I know is Czech, and thus we won't be able to provide a translation to your favorite language unless someone (maybe you?) helps us. Would you be willing to join the translators team?

Changed in inkscape:
importance: Undecided → Wishlist
status: New → Confirmed
Ivan (osmdesat) wrote :

Hi Jazzynico,
according to the steps described in inkscape wiki I have attached an cs.po file with some translated messages. Maybe it failed to send... Did you get it?

Ivan (osmdesat) wrote :

Here is cs.po again for sure.

jazzynico (jazzynico) on 2014-08-26
Changed in inkscape:
assignee: nobody → Ivan (osmdesat)
importance: Wishlist → Low
milestone: none → 0.91
status: Confirmed → In Progress
jazzynico (jazzynico) wrote :

Thanks for the file Ivan!
Your update is available in the trunk as of revision 13533.

The Czech file is 31% translated (6% more than the previous version) thus I'm keeping the report open for now in case you have time to improve it before 0.91 is out.
Thanks again!

Ivan (osmdesat) wrote :

Here is more updated version of cs.po. I have only troubles checking the correctness of the file with msgfmt, because it reports that it doesn't understand the msgctxt tags, which it considers as errors, so it refuses to complete the checking. Can you give me advise which program to use for checking of .po in windows and which tool to use for converting to .mo?
When do you plan to release 0.91?

jazzynico (jazzynico) wrote :

You can use Poedit ( It both checks and convert the .po files.
Note that we also use a script (check-markup, in the po/ folder of the source code) to check the submitted files before committing them. So don't worry, you'll certainly be warned if something goes wrong.

jazzynico (jazzynico) wrote :

Thanks for your update!

There was an error in the file indeed:
cs.po: Mismatched quotes:
#. ### credits
#: ../src/ui/dialog/tracedialog.cpp:757
msgid "Inkscape bitmap tracing\nis based on Potrace,\ncreated by Peter Selinger\n\n"
msgstr msgid "Vektorizace Inkscape\nje založena na Potrace,\nvytvořeném Petrem Selingereme\n\n"

I've fixed it by removing the unnecessary msgid just after the msgstr keyword.

Translation updated in the trunk revision 13535 (now 39% translated).

Ivan (osmdesat) wrote :

Thanks for the tip on Poedit, Jazzynico. I just installed it and it looks good.
You know, that file was hand-edited, without check, so I thougt there were probably some mistakes. Thanks for correction, with poedit it will be errorless now.

Ivan (osmdesat) wrote :

I have some problem when applying new translation (.mo file) int my install of Inkscape.
Some messages remain untranslated, although in .po file they are translated. Where would be the mistake?

jazzynico (jazzynico) wrote :

Hi Ivan,

> I have some problem when applying new translation (.mo file) int my install of Inkscape.

The new .mo file is created when compiling Inkscape, and automatically copied to the application install folder (depending on your operating system). How did you install your new translation?

Ivan (osmdesat) wrote :

Hi Jazzynico.
I put new file into locale\cs\LC_MESSAGES folder. The file was created with PoEdit.
Most new messages seem to be reflected in UI, but many of them are still in English, although in .po file they are translated and not "fuzzy". Moreover some messages which were tranlated already before suddenly disappeared and were replaced with English ones.
I opened inkscape.po file in hex editor and looked if some messages didn't get lost during creation with PoEdit, but all of translated messages are present there. There is another possibility that PoEdit put wrong indexes on some of the messages and Inkscape was unable to find them, so it applied English version of them.
I also checked .po file against .pot template, if messages are properly linked and they are linked right.

jazzynico (jazzynico) wrote :

Hi Ivan,

I've just updated the Czech translation file with the global template so that you are synchronized with the UI strings (revision 13565).
The process of updating the file is not very complex on Gnu/Linux (cd po; msgmerge -Uv cs.po inkscape.pot) but I'm not sure it's the same on Windows.
I'll try to remember to automatically update the translation files for Windows users next time.

Ivan (osmdesat) wrote :

I didn't know that one must update .po file from inkscape.pot manually (I thought all .po files are update automatically when something changes in ui messages). So I updated my cs.po from inkscape.pot (it's possible with Poedit, too). There are some 400 new messages and several was removed by this update. Now I know..
But after conversion into .mo file no success again. Some messages remain untranslated. For example "Export bitmap", "Vacuum Defs" or "Inkscape preferences" in file menu read resistently in English, although translated in .po file. Or baloon tips on color palette with color names remain untranslated.
I don't know what's wrong.

jazzynico (jazzynico) wrote :

> But after conversion into .mo file no success again. Some messages remain untranslated.

Sometimes, if a new string is not too far from the old one, msgmerge manages to apply a correct translation (in that case, you just have to remove the fuzzy tag). If not, you need to translate the new string.
Note that the old strings and their translations are kept in the document, commented with #~.

I've just tried with the following string in the cs.po file committed revision 13565:
27707 #: ../src/verbs.cpp:2865
27708 #, fuzzy
27709 msgid "_Export PNG Image..."
27710 msgstr "Extrahovat jeden obrázek"
Removing line 27708 (or switching the fuzzy status with poedit) validates the translation, and compiling Inkscape (on Windows, with btool) then updates the UI translation correctly.

Ivan (osmdesat) wrote :

Hi Jazzynico,
here's little more updated cs.po in the attachment.
After some trials and fails I probably found what you meant. For example above mentioned "Vacuum Defs" message was placed at the end of .po file:

#~ msgid "Vac_uum Defs"
#~ msgstr "Vyčistit definice"

So I made this:

msgid "Vac_uum Defs"
msgstr "Vyčistit definice"

and it finally worked. But my question is, why there's no link before the message, for example

#: ../

It means for me that some messages don't have a link at all and inkscape executable finds them just by the english string contained in msgid. But such situation can lead to ambiguity if same string is used in several places of the program.

Moreover I found some other problem - if there's a difference between the english message stored in executable and msgid in .po file, program just doesn't apply translation. I found many differences in cs.po, for example there was

msgid "_Export bitmap..."
msgstr "_Exportovat bitmapu…"

but it didn't translate, because program expected msgid "_Export Bitmap...", not msgid "_Export bitmap...". Such discrepancies are many, expecially in the Filters menu. It means I have to repair letter case manually in msgid's.

Finally, this

#. Palette: ./inkscape.gpl
#: ../share/palettes/palettes.h:2
msgctxt "Palette"
msgid "Black"
msgstr "černá"

and all the colour names for palette don't translate at all. Msgid's are right, but no way. What would be wrong about it?

Thanks in advance for help,

Ivan (osmdesat) wrote :

Little more updated cs.po

jazzynico (jazzynico) wrote :

Hi Ivan,

> #~ msgid "Vac_uum Defs"
> #~ msgstr "Vyčistit definice"

Are you sure you're using the most recent Inkscape trunk revision? It looks like you still have a very old one.
The #~ lines are for deprecated and unused strings. You should not need them since they are no longer used in the Inkscape interface (in 0.91, "Vacuum Defs" is replaced with "Document cleanup").

> why there's no link before the message, for example
> #: ../

Some file (such as SVG or palettes) can't be handled by the translation system directly. Thus we use a script to create an intermediate .h file that can be used properly. That's the case here too.

> program expected msgid "_Export Bitmap...",
> all the colour names for palette don't translate at all

Again, it seems you don't use the correct executable version. The string for exporting bitmaps is now "_Export PNG Image...", and things changed in the way we translate palettes too.

> It means I have to repair letter case manually in msgid's.

The committed .po file is based on the most recent strings, and thus you should never need to change anything manually.

I'm going to update your file with the latest updates committed for 0.91 and create a Windows snapshot so that you can test properly.

jazzynico (jazzynico) wrote :

Translation update in the trunk (rev. 13630) and 0.91 branch (rev. 13626).

jazzynico (jazzynico) wrote :

Ivan, could you please download the most recent file from and use it to test your translations? Thanks!

Ivan (osmdesat) wrote :

Oh yes, now I see!
I had the latest windows version available from
which reads 0.48.5. I thought this was the latest one - of course I didn't think too much why already 0.91 is on the way (:
It seems download section at is unmaintained.

Now everything works perfect, color names, everything - only msgid's I already changed in .po file are now untranslated. But this I can rewrite back, there was not too many of.

jazzynico (jazzynico) wrote :

> only msgid's I already changed in .po file are now untranslated. But this I can rewrite back, there was not too many of.

Please don't, and use the .po file from the downloaded archive instead. It adds new string changes that were not in your previous file.

su_v (suv-lp) on 2015-02-23
Changed in inkscape:
status: In Progress → Fix Released
To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers