Bug 18594 - Poedit needs an update
Summary: Poedit needs an update
Status: RESOLVED FIXED
Alias: None
Product: Mageia
Classification: Unclassified
Component: RPM Packages (show other bugs)
Version: 5
Hardware: All Linux
Priority: Normal normal
Target Milestone: ---
Assignee: QA Team
QA Contact:
URL:
Whiteboard: MGA5-64-OK advisory
Keywords: validated_update
Depends on:
Blocks:
 
Reported: 2016-05-31 16:40 CEST by nikos papadopoulos
Modified: 2016-06-10 21:06 CEST (History)
4 users (show)

See Also:
Source RPM: poedit-1.6.9-3.1.mga5.src.rpm
CVE:
Status comment:


Attachments

Description nikos papadopoulos 2016-05-31 16:40:07 CEST
Description of problem:
Poedit version for Mageia 5 is kind of old.
And it has a few annoying bugs...

Mainly with the translation memory.
It seems to suggest translations in the wrong order.
That is, the one that matches the least is placed first, and the best suggestion is last.
And the worst suggestion seems to be added when doing an automatic translation (fuzzy strings).
It also doesn't seem to add the newly translated strings to the translation memory.

And it doesn't save a .mo file, when saving the .po file.
You have to do that on your own, with a some other command.

Overall, it has some time consuming bugs.

Hopefully they are fixed at later versions.
And given that we won't be switching to Mageia 6 any time soon...

So, an update would be helpful.

Latest version at...
https://poedit.net/download


Version-Release number of selected component (if applicable):


How reproducible:
everytime

Steps to Reproduce:
1.
2.
3.
Comment 1 Marja Van Waes 2016-05-31 19:09:43 CEST
Assigning to maintainer, who'll decide whether a newer version can be backported, or, if it is a pure bugfix release, made available as update.

CC: (none) => marja11
Assignee: bugsquad => geiger.david68210

Comment 2 David GEIGER 2016-06-01 08:38:19 CEST
poedit-18.7.1 is now submitted and uploaded for mga5 in Core/Updates_testing repo.

please test if all seems good now, thanks in advance.
Comment 3 nikos papadopoulos 2016-06-01 16:37:27 CEST
I just installed the rpm, and did a small test.

At least 3 out of 4 bugs, that I mentioned earlier, are fixed 
(I didn't check for the remaining bug).
Poedit 1.8.7 runs fine; doesn't seem to have any serious problems.

Thanks for the update.
Comment 4 David GEIGER 2016-06-01 18:32:40 CEST
Assigning to QA,


Advisory:
=============================
Current version of poedit is nearly 2 years old (August 2014), so
this updates poedit to a version which is supported and maintained
upstream. And also it fixes some upstream bugs.

=============================


Packages in 5/core/updates_testing:
========================
poedit-1.8.7.1-1.mga5.i586.rpm
poedit-1.8.7.1-1.mga5.x86_64.rpm

Source RPM: 
========================
poedit-1.8.7.1-1.mga5.src.rpm

Assignee: geiger.david68210 => qa-bugs

Comment 5 Lewis Smith 2016-06-02 09:18:58 CEST
(In reply to nikos papadopoulos from comment #3)
> I just installed the rpm, and did a small test.
> Poedit 1.8.7 runs fine; doesn't seem to have any serious problems.
Nikos, would you be so good as to indicate to someone who knows absolutely nothing about this package what it does and how to drive it - the "small test" you mention. To help newbies in QA test it.
TIA

CC: (none) => lewyssmith

Comment 6 nikos papadopoulos 2016-06-02 23:38:11 CEST
(In reply to Lewis Smith from comment #5)
> Nikos, would you be so good as to indicate to someone who knows absolutely
> nothing about this package what it does and how to drive it - the "small
> test" you mention. To help newbies in QA test it.
> TIA

Poedit edits .po files and creates .mo files.
The .po file contains the translated strings of gtk applications 
(menus, preferences, error messages, etc).

Simply, download, the .po file, for your language, 
from the source code of ANY gtk application
(for example, Poedit's own translated files can be found here:
https://github.com/vslavik/poedit/tree/master/locales).

Then open that file with Poedit, 
do some change, and save the file.
Also, a .mo file should be created (by Poedit) in the same folder as the .po file.

The .mo file can be placed in...
   /usr/share/locale/YOUR_LANGUAGE/LC_MESSAGES
to test your translation.

You might also want to create a Translation Memory,
that will retrieve strings from the directory mentioned earlier,
or from other .po and .mo files in your system.
Poedit will use this Memory to suggest translations, in the future.


Basically, an editor of .po files is a text editor that respects the .po file's syntax
(search:gettext).
Plus, it usually comes with some functions (like Translation Memory)
that will make localization more productive.
Comment 7 Lewis Smith 2016-06-04 21:39:26 CEST
Nikos
Many thanks fo the helpful info above in Comment 6.

I downloaded the French file from
 https://github.com/vslavik/poedit/tree/master/locales
but when I try to open it with (issued) poedit, it complains that the file is corrupt - or at least not in a format suitable for the program.

$ head fr.po
<!DOCTYPE html>
<html lang="en" class=" is-copy-enabled">
  <head prefix="og: http://ogp.me/ns# fb: http://ogp.me/ns/fb# object: http://ogp.me/ns/object# article: http://ogp.me/ns/article# profile: http://ogp.me/ns/profile#">
    <meta charset='utf-8'>

    <link crossorigin="anonymous" href="https://assets-cdn.github.com/assets/frameworks-6f27f5b07606202bf470b360ae9cd52453955b556cc8f325c45890dbacf94e43.css" integrity="sha256-byf1sHYGICv0cLNgrpzVJFOVW1VsyPMlxFiQ26z5TkM=" media="all" rel="stylesheet" />
.................
$ tail fr.po 
    </div>
    <button type="button" class="facebox-close js-facebox-close" aria-label="Close modal">
      <svg aria-hidden="true" class="octicon octicon-x" height="16" version="1.1" viewBox="0 0 12 16" width="12"><path d="M7.48 8l3.75 3.75-1.48 1.48-3.75-3.75-3.75 3.75-1.48-1.48 3.75-3.75L0.77 4.25l1.48-1.48 3.75 3.75 3.75-3.75 1.48 1.48-3.75 3.75z"></path></svg>
    </button>
  </div>
</div>

  </body>
</html>

Same problem with the en_GB.po file.

I have looked for some local *.po files, but find them in /usr/share/locale/ only for a couple of unknown applications.

So - any other possible *.po sources?
Comment 8 nikos papadopoulos 2016-06-05 20:07:53 CEST
(In reply to Lewis Smith from comment #7)
> I downloaded the French file from
>  https://github.com/vslavik/poedit/tree/master/locales
> So - any other possible *.po sources?

You seem to have downloaded a web page leading to or containing the .po file,
and not the .po file itself.

(The fr.po link, in the github's locale page, will point to...
   https://github.com/vslavik/poedit/blob/master/locales/fr.po
but the url address is misleading.
It ought to be something like...
   https://github.com/vslavik/poedit/blob/master/locales/fr.po.html
or 
   https://github.com/vslavik/poedit/blob/master/locales/fr.po.php )

Anyway, going to the above webpage
(https://github.com/vslavik/poedit/blob/master/locales/fr.po),
you will see a button named "Raw".
That links to the true "fr.po" file; 
here...
   https://raw.githubusercontent.com/vslavik/poedit/master/locales/fr.po
Comment 9 Lewis Smith 2016-06-06 22:19:21 CEST
Nikos
Once again thank you for your helpul pointer above. Yes, "the url address is misleading" but your advice got me there! One would not have guessed it. In fact to keep things simple, I downloaded the en_GB.po file. And can indeed with poedit open & edit the translated strings therein. I did a couple lower -> UPPER case; there is no translation per se in this case.

My system is set to Cymraeg [Welsh] language, subordinated to British English, but this is not available for poedit - so I expect & see English throughout.
Except curiously the RH (translated) column heading says "Translation - Saesneg (Y Deyrnas Unedig)" which is Welsh for " - English (The United Kingdom)"; I do not know where *that* comes from.

Following your advice from Comment 6:
The .mo file can be placed in...
   /usr/share/locale/YOUR_LANGUAGE/LC_MESSAGES
to test your translation:
# cp /home/lewis/tmp/en_GB.mo /usr/share/locale/en_GB/LC_MESSAGES/poedit.mo
I can *not* see the altered 'translated' strings at all. Nor after logging out & in. So advice please how to see them to persue this update test. It may be something to do with LOCALE.
Sorry to keep bothering you about this.
Comment 10 nikos papadopoulos 2016-06-07 12:31:25 CEST
(In reply to Lewis Smith from comment #9)
> One would not have guessed it.
It's a modern trend. Some sites don't put extensions in the URLs. Maybe there is a reason behind that (guessing: "search engine friendly")... or they might think it's just "smart".

-----
Well, first things first.
When creating a new .po file, normally, you do that by using the .pot file.
That is, the file that contains all the strings that need to be translated,
but contains no translations.
In poedit you need the "poedit.pot" file:
   https://raw.githubusercontent.com/vslavik/poedit/master/locales/poedit.pot
Rename this file to "poedit.po", 
and then open it with Poedit.
In Poedit's menu, go to 
  Catalog -> Properties
and, there, set the catalog's properties;
most importantly, the "Language".
There you will see that Welsh is a separate language,
and not related to English.

Close the properties dialogue and translate something.
Keep in mind that some strings look alike.
so you might have "Open", "Open ", "_Open", etc.

Save the file.
And, now, copy the new "poedit.mo" file in your system's locales folder.
Since Welsh is treated as a separate language,
it must not be something like "en_CY", but simply "cy".

-----
Here I did some tests.
I see that Poedit has "Welsh", and "Welsh (United Kindom)".
Opening the saved poedit.po file, by using a simple text editor,
and checking the string
   "Language: 
the above correspond to "cy" and "cy_GB".
-----

So, your locales folder must be either...
   /usr/share/locale/cy/LC_MESSAGES
or ...
   /usr/share/locale/cy_GB/LC_MESSAGES

-----
> /usr/share/locale/en_GB/LC_MESSAGES/poedit.mo
> I can *not* see the altered 'translated' strings at all.
For the above reasons, your system must be ignoring the English translation,
the same way it would ignore a German or a French translation.

When a program doesn't find any suitable translation,
it shows the original, untranslated, string.
So it happens, that 99 out of 100 times,
these strings are in English (American).

So, what you see are the "pure" strings
(like in the poedit.pot file),
and not the English translations of these strings
(like in the en_GB.po file)

-----
> Except curiously the RH (translated) column heading says "Translation -
> Saesneg (Y Deyrnas Unedig)" which is Welsh for " - English (The United
> Kingdom)"; I do not know where *that* comes from.
Poedit, as most linux programs do, uses other system libraries, too.
Libraries that belong to other installation packages.
They must come from some lib...,gtk...,gettext... or whatever file.

-----

> Nor after logging out & in.
After you have copied the proper .mo file, in the proper locales folder,
a simple application restart will load the new translations.
(Tip: I use a symlink from the locales folder to the translated .mo file (in my Documents),
so I won't have to copy the .mo file every time)


> Sorry to keep bothering you about this.
No bothering at all. 
I am no Linux expert. I rarely have the change to share my limited "know how".
Linux is about sharing after all, isn't it?
Comment 11 Lewis Smith 2016-06-08 15:29:18 CEST
Nikos

Phew! Your thorough explanations in Comment 10 (which sort of supersedes Comment 6) at last enabled me to get this thing working. My situation is confused by having:
 /usr/share/locale/cy/LC_MESSAGES/*
which contains entries for all applications *.mo and seems to be the one that matters.
+ /usr/share/locale/cy_GB/LC_MESSAGES/SYS_LC_MESSAGES
+ /usr/share/locale/cy_GB.UTF-8/LC_MESSAGES/SYS_LC_MESSAGES

$ env | grep cy
LC_MESSAGES=cy_GB.utf8
LANG=cy_GB.utf8
LANGUAGE=cy_GB.utf8

Starting with the raw untranslated poedit.pot file renamed to poedit.po
"In Poedit's menu, go to Catalog -> Properties
and, there, set the catalog's properties; most importantly, the "Language".
There you will see that Welsh is a separate language,"
Did that. Important hint for a previously untranslated file.

"(Tip: I use a symlink from the locales folder to the translated .mo file"
Did that too - useful:
 $ pwd
 /usr/share/locale/cy/LC_MESSAGES
 $ ln -s /home/lewis/tmp/poedit.mo ./poedit.mo
 $ ls -l | grep poedit
 lrwxrwxrwx 1 root root     25 Meh   8 14:32 poedit.mo -> /home/lewis/tmp/poedit.mo

BEFORE: poedit-1.6.9-3.1.mga5
I was then able to add some new translations that did indeed show up on restarting the program. For others: be careful (use Edit/Search) to cover all instances of the raw word to make sure it *does* show up.
Query: what do the entries with '&' mean?
Saving the file complained of erroneous entries, allegedly shown in red - which I could never find. It also complained about the list name being unchanged. I ignored these errors.

AFTER update to: poedit-1.8.7.1-1.mga5
It actually behaved better generally, with slight behavioural changes. Neither of the previous two errors happened again. Additional translations worked & were visible.
So this update is OK. Thanks to Nikos for great patience.

Whiteboard: (none) => MGA5-64-OK

Comment 12 nikos papadopoulos 2016-06-09 11:10:00 CEST
> Query: what do the entries with '&' mean?

They are used for moving around an application's menu using the Alt button.
For example: 
&Edit , C&ut
In the menu the E and the U would be underlined.
You would type "Alt+E" to open the edit menu, and then "Alt+U" to choose "Cut".

They might not work with non-English characters, in some programs.

They also don't work if you have two items, in the same menu, 
with this indicator at the same letter. Example:
&Copy
&Cut

Some translation files use " _ " instead of " & " (example: _Edit, C_ut )
Lewis Smith 2016-06-09 21:23:08 CEST

Keywords: (none) => validated_update
CC: (none) => sysadmin-bugs

Comment 13 Lewis Smith 2016-06-09 21:23:40 CEST
Validated with just the one OK, agreed at QA IRC.
Dave Hodgins 2016-06-09 21:54:59 CEST

CC: (none) => davidwhodgins
Whiteboard: MGA5-64-OK => MGA5-64-OK advisory

Comment 14 Mageia Robot 2016-06-10 21:06:40 CEST
An update for this issue has been pushed to the Mageia Updates repository.

http://advisories.mageia.org/MGAA-2016-0093.html

Status: NEW => RESOLVED
Resolution: (none) => FIXED


Note You need to log in before you can comment on or make changes to this bug.