Project

General

Profile

Bug #13438

Parts of Greeter translations are not applied

Added by xin over 2 years ago. Updated 6 months ago.

Status:
Resolved
Priority:
Normal
Assignee:
Category:
Internationalization
Target version:
Start date:
07/07/2017
Due date:
% Done:

100%

Estimated time:
4.00 h
Feature Branch:
bugfix/13438-parts-of-greeter-translation-not-applied,hefee/hefee/master,https://salsa.debian.org/hefee/tails-greeter/merge_requests/2
Type of work:
Code
Blueprint:
Starter:
Affected tool:
Greeter

Description

Few parts of the Greeter translations remain in English:
- texts in text boxes, both for administration password and persistence
- "Unlocking..." that appeared during persistence unlocking
- "Unlock" is translated but it's back to English after entering a bad passphrase for persistence.
- Also "On" and "Off" it not translated.
If you add administration password it says "On" in the list.
If you add MAC address spoofing and then select not to spoof it says "Off" in the list.

Tested with Spanish, French and German.

Screenshot_20190502_172708.png View (14.3 KB) hefee, 05/02/2019 03:28 PM


Related issues

Related to Tails - Feature #14544: Spend software developer time on smallish UX improvements In Progress 08/31/2018
Duplicated by Tails - Feature #16278: No Spanish translation of "Unblocking..." in Greeter despite translation in PO file Duplicate 01/04/2019
Duplicated by Tails - Feature #16441: Placeholders for admin password fields are not translatable Duplicate 02/07/2019
Blocks Tails - Feature #16209: Core work: Foundations Team Confirmed

Associated revisions

Revision 60cfe544 (diff)
Added by segfault 7 months ago

Enable the bugfix-13438-parts-of-greeter-translation-not-applied APT overlay (refs: #13438).

Revision e128c65d
Added by segfault 6 months ago

Merge branch 'bugfix/13438-parts-of-greeter-translation-not-applied' into stable (Fix-committed: #13438)

History

#1 Updated by u over 2 years ago

There might be a link with #13449.

#2 Updated by u over 2 years ago

  • Related to Bug #13449: German language missing from Greeter in Tails 3.0.1 added

#3 Updated by u over 2 years ago

  • Assignee deleted (alant)

@xin, I'm unassigning Alan, because we're not sure it's a bug in the Greeter. Maybe it's a bug when the RMs fetched the translations from Transifex instead.

#4 Updated by mercedes508 over 2 years ago

  • Status changed from New to Confirmed

#5 Updated by intrigeri over 2 years ago

  • Category set to Internationalization
  • Assignee set to intrigeri
  • Target version set to Tails_3.1

#6 Updated by intrigeri over 2 years ago

  • Related to deleted (Bug #13449: German language missing from Greeter in Tails 3.0.1)

#7 Updated by intrigeri over 2 years ago

  • Assignee changed from intrigeri to alant
  • Target version deleted (Tails_3.1)
  • Parent task set to #11643

I confirm that "Confirm your administration password" is not translated into French on Tails 3.0.1, while it is translated in fr.po in tails-greeter 1.0.2. So it very much looks like a bug in the Greeter, or somewhere belowe in the GTK stack it's using.

#8 Updated by u about 1 year ago

Is this bug still present in 3.8/3.9?

#9 Updated by xin about 1 year ago

This bug is still present in 3.9.1.

#10 Updated by intrigeri about 1 year ago

  • Related to Feature #14544: Spend software developer time on smallish UX improvements added

#11 Updated by xin 10 months ago

  • Duplicated by Feature #16278: No Spanish translation of "Unblocking..." in Greeter despite translation in PO file added

#12 Updated by sajolida 10 months ago

  • Parent task deleted (#11643)

#13 Updated by CyrilBrulebois 9 months ago

  • Assignee changed from alant to CyrilBrulebois

#14 Updated by intrigeri 9 months ago

#15 Updated by intrigeri 9 months ago

  • Duplicated by Feature #16441: Placeholders for admin password fields are not translatable added

#16 Updated by xin 9 months ago

  • Description updated (diff)

#17 Updated by intrigeri 8 months ago

#18 Updated by intrigeri 8 months ago

#19 Updated by intrigeri 7 months ago

  • Assignee deleted (CyrilBrulebois)

As per https://tails.boum.org/contribute/working_together/roles/foundations_team/#tasks-management, this should be up for grabs for anyone who has spare capacity and the required skills :)

#20 Updated by hefee 7 months ago

  • Assignee set to hefee

#21 Updated by hefee 7 months ago

  • Assignee deleted (hefee)
  • QA Check set to Info Needed

The issues are in reality different issues:
- Also "On" and "Off" it not translated.

-> simply utils.po is missing in the scan list for translations (po/POTFILES.in)

- "Unlocking..." that appeared during persistence unlocking
- "Unlock" is translated but it's back to English after entering a bad passphrase for persistence.

This is wired. In languages.py the "Unlock" - button is handled as Gtk.Label and the set_label method is wrapped, so text would translated on the fly. The button (PersitentStorage.button_storage_unlock) inside gui.py is a GtkButton object, where the set_label is not wrapped. It looks like that Gtk.Label is a sub element of Gtk.Button and the set_label method of Gtk.Button is not triggering the wrapped set_label of the Gtk.Label child.

- texts in text boxes, both for administration password and persistence

I can't reproduce this for Arabic nor German nor French.

- but the placeholder texts are not translated at all see for the password field and administration password

The logic to handle placeholder texts is missing completely in language.py.

#22 Updated by intrigeri 7 months ago

  • Assignee set to hefee
  • Estimated time set to 4.00 h

(hefee tells me they've spent 3h on it and need 1h more.)

#23 Updated by intrigeri 7 months ago

What info do you need and from whom?

#24 Updated by intrigeri 7 months ago

  • Status changed from Confirmed to In Progress

#25 Updated by xin 7 months ago

- texts in text boxes, both for administration password and persistence

This sentence is about the placeholder texts. Sorry if it was not clear.

#26 Updated by hefee 7 months ago

  • QA Check deleted (Info Needed)

intrigeri wrote:

What info do you need and from whom?

got all info so far

#27 Updated by hefee 7 months ago

xin wrote:

- texts in text boxes, both for administration password and persistence

This sentence is about the placeholder texts. Sorry if it was not clear.

thanks for clearification.

#28 Updated by hefee 7 months ago

  • Assignee deleted (hefee)
  • QA Check set to Ready for QA
  • Feature Branch set to https://salsa.debian.org/hefee/tails-greeter/merge_requests/1

hefee wrote:

The issues are in reality different issues:
- Also "On" and "Off" it not translated.
-> simply utils.po is missing in the scan list for translations (po/POTFILES.in)

done. Only pot file is updates, as updates for all po files would make the review more hard. Btw. is the a good command to update all po files? The documnations only eplains how to update one language.

- "Unlocking..." that appeared during persistence unlocking
- "Unlock" is translated but it's back to English after entering a bad passphrase for persistence.

This is wired. In languages.py the "Unlock" - button is handled as Gtk.Label and the set_label method is wrapped, so text would translated on the fly. The button (PersitentStorage.button_storage_unlock) inside gui.py is a GtkButton object, where the set_label is not wrapped. It looks like that Gtk.Label is a sub element of Gtk.Button and the set_label method of Gtk.Button is not triggering the wrapped set_label of the Gtk.Label child.

Gtk.Button is now wrapped, too and "Unlock"/"Unlocking" is translated.

- but the placeholder texts are not translated at all see for the password field and administration password

The logic to handle placeholder texts is missing completely in language.py.

placeholder text is translated now.

- One additional art that is not translated are the links to the documentation, but this is tracked on #6525.

#29 Updated by hefee 7 months ago

  • Status changed from In Progress to Fix committed
  • Assignee set to segfault
  • QA Check changed from Ready for QA to Info Needed

it was merged to greeter master. But redmine does not got updated:( or is this only done, if a new version of greeter is packaged and been available in tails.git?

#30 Updated by segfault 7 months ago

  • Assignee deleted (segfault)
  • % Done changed from 0 to 100
  • QA Check changed from Info Needed to Pass
  • Feature Branch changed from https://salsa.debian.org/hefee/tails-greeter/merge_requests/1 to bugfix/13438-parts-of-greeter-translation-not-applied,hefee/hefee/master,https://salsa.debian.org/hefee/tails-greeter/merge_requests/1

Merged in 3980081dec4dcf9289870a58da9c7e06d5eb4681, released in tails-greeter_1.0.10. Currently building the feature branch to test it.

#31 Updated by segfault 7 months ago

segfault wrote:

Currently building the feature branch to test it.

The placeholder text is still not translated

#32 Updated by segfault 7 months ago

  • Status changed from Fix committed to In Progress
  • % Done changed from 100 to 50
  • QA Check deleted (Pass)

#33 Updated by segfault 7 months ago

  • Assignee set to segfault

The new package version was not installed in the image I built from the feature branch. I suspect that it's the same issue as described on #16350#note-12, even though this time I checked that the APT suite was listed on https://deb.tails.boum.org/dists before I uploaded the package.

intrigeri, could you once again touch the .changes@ file to trigger reprepro?

#34 Updated by segfault 7 months ago

  • Assignee changed from segfault to intrigeri
  • QA Check set to Info Needed

the mention feature doesn't seem to work

#35 Updated by segfault 7 months ago

segfault wrote:

intrigeri, could you once again touch the .changes@ file to trigger reprepro?

Nevermind, I noticed that

1. I'm able to ssh to incoming.deb.tails.boum.org and touch the .changes file myself
2. The issue was caused by me uploading the _source.changes files instead of the _amd64.changes file. Fixed that now.

#36 Updated by intrigeri 7 months ago

  • Assignee changed from intrigeri to segfault
  • % Done changed from 50 to 0
  • QA Check changed from Info Needed to Ready for QA

@segfault, what's the status here? I see you've reported stuff not working above but the MR was closed, so I'm somewhat confused.

#37 Updated by segfault 7 months ago

intrigeri wrote:

@segfault, what's the status here? I see you've reported stuff not working above but the MR was closed, so I'm somewhat confused.

The status is that

- hefee acted on all the comments I had during the code review, so I asked him to close the MR
- I built a new version of the greeter targeting the feature branch
- I uploaded the wrong .changes file, which caused that the package was not installed in the image I built from the feature branch (thus stuff was not working)
- I then uploaded the correct .changes file (and deleted the wrong one)
- Now I have to build another image from the feature branch and check whether everything is translated (I hope that I will be able to do that over the weekend)

#38 Updated by segfault 7 months ago

  • Assignee changed from segfault to hefee
  • QA Check changed from Ready for QA to Dev Needed

I rebuilt the image and now the new greeter is installed. My test results:

xin wrote:

Few parts of the Greeter translations remain in English:
- texts in text boxes, both for administration password and persistence

Fixed

- "Unlocking..." that appeared during persistence unlocking

Fixed

- "Unlock" is translated but it's back to English after entering a bad passphrase for persistence.

Fixed

- Also "On" and "Off" it not translated.
If you add administration password it says "On" in the list.
If you add MAC address spoofing and then select not to spoof it says "Off" in the list.

"On" and "Off" are correctly translated in the "Additional Settings" dialog, but they are not translated in the list of chosen additional settings. @hefee, could you look into this?

Also, in the German translation, the placeholders for both the persistence password and the administration password are too long to be completely displayed in the text entry, they are just cut off. Maybe we could change those translations and add a comment for translators that this string should not be longer than X characters (although we don't use a monospaced font for that, so the number of characters does not tell us how wide the displayed string will be).

#39 Updated by hefee 7 months ago

segfault wrote:

- Also "On" and "Off" it not translated.
If you add administration password it says "On" in the list.
If you add MAC address spoofing and then select not to spoof it says "Off" in the list.

"On" and "Off" are correctly translated in the "Additional Settings" dialog, but they are not translated in the list of chosen additional settings. @hefee, could you look into this?

Neither "On" nor "Off" are currently translated in the po files, so it can't be translated at all. When I add a translation for On/Off the parts are translated successfully ( see screenshot - I used xxAnxx and xxAusxx for translation to make it more visible, that translation is working).

Also, in the German translation, the placeholders for both the persistence password and the administration password are too long to be completely displayed in the text entry, they are just cut off. Maybe we could change those translations and add a comment for translators that this string should not be longer than X characters (although we don't use a monospaced font for that, so the number of characters does not tell us how wide the displayed string will be).

I would not cut the text by hand - as you can resize the greeter to read the full text. And translators will fix this, as they now are able to see the result. I could only shorten the text for German. The correct way IMO is to add hints for the translators. On data/greeter.ui you see a example of such an hint if you look at "Windows Camouflage" on line 51 - the comment is the hint translators see while translating.

#40 Updated by segfault 7 months ago

  • Assignee changed from segfault to hefee
  • QA Check changed from Ready for QA to Dev Needed

hefee wrote:

segfault wrote:

- Also "On" and "Off" it not translated.
If you add administration password it says "On" in the list.
If you add MAC address spoofing and then select not to spoof it says "Off" in the list.

"On" and "Off" are correctly translated in the "Additional Settings" dialog, but they are not translated in the list of chosen additional settings. @hefee, could you look into this?

Neither "On" nor "Off" are currently translated in the po files, so it can't be translated at all. When I add a translation for On/Off the parts are translated successfully ( see screenshot - I used xxAnxx and xxAusxx for translation to make it more visible, that translation is working).

Ah okay, the translation I saw was for "On (default)", I assumed that those would be two separately translated strings (which I guess would be more useful / less overhead for translators).

Also, in the German translation, the placeholders for both the persistence password and the administration password are too long to be completely displayed in the text entry, they are just cut off. Maybe we could change those translations and add a comment for translators that this string should not be longer than X characters (although we don't use a monospaced font for that, so the number of characters does not tell us how wide the displayed string will be).

I would not cut the text by hand - as you can resize the greeter to read the full text. And translators will fix this, as they now are able to see the result. I could only shorten the text for German. The correct way IMO is to add hints for the translators. On data/greeter.ui you see a example of such an hint if you look at "Windows Camouflage" on line 51 - the comment is the hint translators see while translating.

Yes, that's what I proposed - shortening the German translations and adding a comment for translators. I think that would be nice.

#41 Updated by hefee 6 months ago

  • Assignee changed from hefee to segfault
  • QA Check changed from Dev Needed to Ready for QA
  • Feature Branch changed from bugfix/13438-parts-of-greeter-translation-not-applied,hefee/hefee/master,https://salsa.debian.org/hefee/tails-greeter/merge_requests/1 to bugfix/13438-parts-of-greeter-translation-not-applied,hefee/hefee/master,https://salsa.debian.org/hefee/tails-greeter/merge_requests/2

segfault wrote:

Neither "On" nor "Off" are currently translated in the po files, so it can't be translated at all. When I add a translation for On/Off the parts are translated successfully ( see screenshot - I used xxAnxx and xxAusxx for translation to make it more visible, that translation is working).

Ah okay, the translation I saw was for "On (default)", I assumed that those would be two separately translated strings (which I guess would be more useful / less overhead for translators).

As far as I learned from translating, that it is most of the time a bad idea to split translation units, because than an translator can't take care of the combination of those units. In this case: do all languages prefer to suffix the (default)? (languages that prefer adjectives to be prefixed/suffixes like "the red car"(en) - "la voiture rouge"(fr) ), maybe the "On" needs be translated differently for both cases for any language? And there are languages where the grammatical gender of a word changes other words: "the big car"(en) - "la voiture grande"(fr) and "the big stone"(en) - "le caillou grand"(fr). Do all translations use "normal" parenthesis? ...

That's why I'd say: Having these two more translation units should no big deal for translators and we don't need to find answers for all those questions and get proper translations.

Also, in the German translation, the placeholders for both the persistence password and the administration password are too long to be completely displayed in the text entry, they are just cut off. Maybe we could change those translations and add a comment for translators that this string should not be longer than X characters (although we don't use a monospaced font for that, so the number of characters does not tell us how wide the displayed string will be).

I would not cut the text by hand - as you can resize the greeter to read the full text. And translators will fix this, as they now are able to see the result. I could only shorten the text for German. The correct way IMO is to add hints for the translators. On data/greeter.ui you see a example of such an hint if you look at "Windows Camouflage" on line 51 - the comment is the hint translators see while translating.

Yes, that's what I proposed - shortening the German translations and adding a comment for translators. I think that would be nice.

see: https://salsa.debian.org/hefee/tails-greeter/merge_requests/2

#42 Updated by segfault 6 months ago

  • QA Check changed from Ready for QA to Pass

#43 Updated by segfault 6 months ago

Released greeter version 1.0.11, now building the feature branch to test if it works.

#44 Updated by segfault 6 months ago

segfault wrote:

Released greeter version 1.0.11, now building the feature branch to test if it works.

Actually, we didn't change much since 1.0.10, which I already tested. So I will skip testing this myself and just wait for the Jenkins test results.

#45 Updated by segfault 6 months ago

segfault wrote:

segfault wrote:

Released greeter version 1.0.11, now building the feature branch to test if it works.

Actually, we didn't change much since 1.0.10, which I already tested. So I will skip testing this myself and just wait for the Jenkins test results.

Tests passed: https://jenkins.tails.boum.org/job/test_Tails_ISO_bugfix-13438-parts-of-greeter-translation-not-applied/17/

Merging into stable.

#46 Updated by segfault 6 months ago

  • Status changed from In Progress to Fix committed
  • % Done changed from 0 to 100

#47 Updated by hefee 6 months ago

  • Target version set to Tails_3.14

#48 Updated by intrigeri 6 months ago

  • Status changed from Fix committed to In Progress

@segfault, please push your 1.0.11 tag :)

#49 Updated by segfault 6 months ago

intrigeri wrote:

@segfault, please push your 1.0.11 tag :)

Done and added pushing tags to my packaging checklist

#50 Updated by intrigeri 6 months ago

  • Status changed from In Progress to Fix committed

Done

Thanks!

and added pushing tags to my packaging checklist

Well, for our own packages, please use the shared documentation (in this case, https://tails.boum.org/contribute/release_process/tails-greeter/), that 1. may have things your checklist lacks, as we've just seen; 2. can be improved to benefit everyone :)

#51 Updated by segfault 6 months ago

intrigeri wrote:

Done

Thanks!

and added pushing tags to my packaging checklist

Well, for our own packages, please use the shared documentation (in this case, https://tails.boum.org/contribute/release_process/tails-greeter/), that 1. may have things your checklist lacks, as we've just seen; 2. can be improved to benefit everyone :)

Oh, I didn't know there was a documentation for releasing the greeter on our website. I followed the documentation in tails-greeter/README instead. Maybe we should remove that one and add a link to the doc on our website instead?

#52 Updated by intrigeri 6 months ago

Well, for our own packages, please use the shared documentation (in this case, https://tails.boum.org/contribute/release_process/tails-greeter/), that 1. may have things your checklist lacks, as we've just seen; 2. can be improved to benefit everyone :)

Oh, I didn't know there was a documentation for releasing the greeter on our website. I followed the documentation in tails-greeter/README instead. Maybe we should remove that one and add a link to the doc on our website instead?

@segfault, that README merely points to HACKING, which is only about, well, hacking, and not about preparing new releases. So I don't see what there is to remove there. Still, I see your point, so I've added a link from README to our website, in the hope it helps the next person who walks this path :)

#53 Updated by segfault 6 months ago

intrigeri wrote:

@segfault, that README merely points to HACKING, which is only about, well, hacking, and not about preparing new releases. So I don't see what there is to remove there.

Oh man. I was looking at the README in the parent directory, in which I documented myself which steps I had to take to release tails-greeter. /me hides

Still, I see your point, so I've added a link from README to our website, in the hope it helps the next person who walks this path :)

Cool, thanks

#54 Updated by CyrilBrulebois 6 months ago

  • Status changed from Fix committed to Resolved

Also available in: Atom PDF