Bug #13438

Parts of Greeter translations are not applied

Added by xin 2017-07-07 15:50:52 . Updated 2020-04-15 06:02:12 .

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

100%

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:
Welcome Screen
Deliverable for:

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.


Files


Subtasks


Related issues

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

History

#1 Updated by Anonymous 2017-07-10 12:35:10

There might be a link with Bug #13449.

#2 Updated by Anonymous 2017-07-10 12:35:20

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

#3 Updated by Anonymous 2017-07-10 12:52:26

  • 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 2017-07-13 13:09:25

  • Status changed from New to Confirmed

#5 Updated by intrigeri 2017-07-17 13:39:36

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

#6 Updated by intrigeri 2017-07-17 13:40:53

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

#7 Updated by intrigeri 2017-07-17 14:00:34

  • Assignee changed from intrigeri to alant
  • Target version deleted (Tails_3.1)
  • Parent task set to Feature #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 Anonymous 2018-08-17 07:10:51

Is this bug still present in 3.8/3.9?

#9 Updated by xin 2018-10-12 09:36:08

This bug is still present in 3.9.1.

#10 Updated by intrigeri 2018-10-16 10:47:47

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

#11 Updated by xin 2019-01-04 22:21:16

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

#12 Updated by sajolida 2019-01-22 18:06:54

#13 Updated by CyrilBrulebois 2019-02-06 16:27:01

  • Assignee changed from alant to CyrilBrulebois

#14 Updated by intrigeri 2019-02-06 16:27:44

#15 Updated by intrigeri 2019-02-08 07:21:44

  • has duplicate Feature #16441: Placeholders for admin password fields are not translatable added

#16 Updated by xin 2019-02-08 12:43:45

  • Description updated

#17 Updated by intrigeri 2019-03-12 16:10:06

#18 Updated by intrigeri 2019-03-12 16:10:08

  • blocked by deleted (Feature #15507: Core work 2019Q1: Foundations Team)

#19 Updated by intrigeri 2019-04-05 16:13:21

  • 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 2019-04-11 14:53:04

  • Assignee set to hefee

#21 Updated by hefee 2019-04-11 18:29:38

  • 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 2019-04-12 11:29:57

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

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

#23 Updated by intrigeri 2019-04-12 11:30:19

What info do you need and from whom?

#24 Updated by intrigeri 2019-04-12 11:30:35

  • Status changed from Confirmed to In Progress

#25 Updated by xin 2019-04-12 16:36:26

> - 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 2019-04-14 11:53:03

  • QA Check deleted (Info Needed)

intrigeri wrote:
> What info do you need and from whom?

got all info so far

#27 Updated by hefee 2019-04-14 11:53:36

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 2019-04-14 12:01:00

  • 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 Feature #6525.

#29 Updated by hefee 2019-04-25 17:54:24

  • 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 2019-04-25 18:01:28

  • 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 2019-04-25 19:24:54

segfault wrote:
> Currently building the feature branch to test it.

The placeholder text is still not translated

#32 Updated by segfault 2019-04-25 19:25:11

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

#33 Updated by segfault 2019-04-25 19:53:53

  • 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 Feature #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 2019-04-25 19:55:48

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

the mention feature doesn’t seem to work

#35 Updated by segfault 2019-04-25 23:19:30

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 2019-04-26 11:08:43

  • 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 2019-04-26 22:51:24

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 2019-04-27 20:46:36

  • 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 2019-05-02 15:45:07

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 2019-05-04 11:50:42

  • 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 2019-05-07 21:47:52

  • 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 2019-05-10 22:09:25

  • QA Check changed from Ready for QA to Pass

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

Perfect, merged!

#43 Updated by segfault 2019-05-10 22:43:29

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

#44 Updated by segfault 2019-05-10 22:45:38

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 2019-05-11 20:17:52

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 2019-05-11 21:48:36

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

Applied in changeset commit:tails|e128c65d265448592ce17f3281ea433dee5d8206.

#47 Updated by hefee 2019-05-12 11:06:11

  • Target version set to Tails_3.14

#48 Updated by intrigeri 2019-05-14 13:23:07

  • Status changed from Fix committed to In Progress

@segfault, please push your 1.0.11 tag :)

#49 Updated by segfault 2019-05-14 17:22:30

intrigeri wrote:
> @segfault, please push your 1.0.11 tag :)

Done and added pushing tags to my packaging checklist

#50 Updated by intrigeri 2019-05-14 17:55:29

  • 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 2019-05-14 18:48:55

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 2019-05-19 06:07:19

>> 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 2019-05-19 13:29:29

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 2019-05-23 21:19:17

  • Status changed from Fix committed to Resolved

#55 Updated by intrigeri 2020-04-15 06:02:12

  • Affected tool changed from Greeter to Welcome Screen