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

Migrate to Weblate for translations #1998

Merged
merged 17 commits into from Nov 9, 2023
Merged

Migrate to Weblate for translations #1998

merged 17 commits into from Nov 9, 2023

Conversation

acolomb
Copy link
Member

@acolomb acolomb commented Nov 8, 2023

First of all, this is a large clean-up of existing translation files. That is done to reduce noise when changes will be coming in later from Weblate. Also drop unused or rename incompatible language codes.

  • Before merging, the Transifex resources should be locked up.
  • Afterwards, an announcement will be made on Weblate and contributors kindly asked to follow over to the Hosted Weblate platform:

https://hosted.weblate.org/projects/syncthing/android/

Use double-quotes for the attribute values, as in the rest of each
file.  Lowercase the utf-8 encoding value.

Matches the Weblate normalized output.
Spans of whitespace are collapsed to a single space during XML
parsing, so these instances will not survive anyway.
Assuming that these are just input errors, as they don't exist in the
English strings and are not explicitly quoted.

Weblate will remove when outputting translated strings anyway.
For strings containing escaped newlines (\n), always start a new line
right before that sequence and remove any other whitespace in between.
Let the closing </string> tag follow immediately on the last line.
Keep one-line translations on one line, without arbitrary wrapping.

Actually fix some line-break inconsistencies within the translations
along the way.  Some had questionable \n\ sequences, capitalized \N or
the n actually forgotten after an escaping backslash, which lead to
parsing errors.  Others simply used two line breaks (which are
collapsed to one space during parsing) instead of the needed \n escape
sequence.

This gets the format much closer to what Weblate generates when
dumping the parsed strings into fresh XML files.  Also harmonizes the
formatting in the "source" (English) values/strings.xml though.
Since the XML files are explicitly marked as UTF-8 encoded, no need to
escaped that UTF-8 character.
Seems to be related to the TinyMCE editor component.  This is one more
tiny detail being mangled by Weblate during export.
There is a basic variant "si" which is recognized by Weblate and much
more complete than the specialized si_LK variant.  Seems obvious to
keep the former.
There is a basic variant "de" which is recognized by Weblate and
actually has translated strings in contrast to the specialized de_DE
variant.  Seems obvious to keep the former.
This language code is not even officially found in the Android sources
as a valid locale code [1] and currently contains no translations at
all.  Drop it completely to avoid someone putting work into an unused
language translation.

[1]:
https://android.googlesource.com/platform/frameworks/base/+/refs/tags/android-14.0.0_r11/core/res/res/
These languages currently contains no translations at all.  Drop them
completely until someone shows up to start working on it.
Wrongfully used an underscore before.
These languages simply copy the existing English strings verbatim.
Remove them in hope of someone actually re-translating them later.
@acolomb acolomb marked this pull request as ready for review November 8, 2023 13:01
@acolomb
Copy link
Member Author

acolomb commented Nov 8, 2023

Should be ready for merging once reviewed.

Please remember to make it a rebase merge, not squashed. That will ease the transition on the Weblate side, because even though the repo branch changes, it should still be looking at the exact same commit.

@imsodin
Copy link
Member

imsodin commented Nov 8, 2023

Lets also change the readme to point at weblate instead of transifex.

@acolomb
Copy link
Member Author

acolomb commented Nov 8, 2023

Right, that was one of the things I had in mind but then forgot :-)

Now fixed.

@acolomb
Copy link
Member Author

acolomb commented Nov 9, 2023

@imsodin can you actually make a "Rebase and merge"? It says "not enabled for this repository" on my end, and I don't think I can push directly to main either.

@acolomb acolomb merged commit 840e656 into main Nov 9, 2023
1 check passed
@acolomb
Copy link
Member Author

acolomb commented Nov 9, 2023

Never mind, manual pushing actually did work.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants