Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fix broken translation template (pot) generation. #7425

Merged
merged 1 commit into from
Jul 20, 2017
Merged

Fix broken translation template (pot) generation. #7425

merged 1 commit into from
Jul 20, 2017

Conversation

jcsteh
Copy link
Contributor

@jcsteh jcsteh commented Jul 20, 2017

Link to issue number:

Fixes regression introduced by #7352.

Summary of the issue:

The translation system failed to build a translation template due to the superBrl driver.

Description of how this pull request fixes the issue:

The superBrl braille display driver includes escape sequences which produce non-ASCII characters; e.g. "\xff". Due to a gettext bug, this causes xgettext to fail even though these aren't in translatable strings. See #2592 (comment).

  1. To work around this, declare encoding as UTF-8 for the superBrl driver.
  2. Make AppVeyor build the translation template so that builds fail for problems like this. This way, we learn about such problems long before they get to the translation system.
  3. Explicitly exclude source\comInterfaces for scons pot to avoid unknown encoding warnings. These files never contain translatable strings anyway.

I also updated the Contributing document to mention the need for an encoding declaration in this case.

Testing performed:

  1. Locally ensured that scons pot succeeded.
  2. Pushed a try build with the AppVeyor changes but without the superBrl changes. It failed as expected.
  3. Pushed a try build including all changes. It succeeded.

Known issues with pull request:

None.

Change log entry:

None needed.

Merge notes:

This should be merged straight to master. Once done, a mergePot job should be manually triggered on the translation system, since the scheduled job failed.

The superBrl braille display driver includes escape sequences which produce non-ASCII characters; e.g. "\xff". Due to a gettext bug, this causes xgettext to fail even though these aren't in translatable strings. See #2592 (comment).

1. To work around this, declare encoding as UTF-8 for the superBrl driver.
2. Make AppVeyor build the translation template so that builds fail for problems like this. This way, we learn about such problems long before they get to the translation system.
3. Explicitly exclude source\comInterfaces for scons pot to avoid unknown encoding warnings. These files never contain translatable strings anyway.
@jcsteh jcsteh requested a review from michaelDCurran July 20, 2017 22:31
@jcsteh jcsteh added p2 https://github.com/nvaccess/nvda/blob/master/projectDocs/issues/triage.md#priority bug/regression labels Jul 20, 2017
@jcsteh
Copy link
Contributor Author

jcsteh commented Jul 20, 2017

P1 because this breaks translation.

@jcsteh jcsteh merged commit 9dac6ff into master Jul 20, 2017
@nvaccessAuto nvaccessAuto added this to the 2017.3 milestone Jul 20, 2017
@jcsteh jcsteh deleted the fixPot branch July 20, 2017 23:09
@LeonarddeR
Copy link
Collaborator

LeonarddeR commented Jul 21, 2017 via email

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug/regression p2 https://github.com/nvaccess/nvda/blob/master/projectDocs/issues/triage.md#priority
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants