-
-
Notifications
You must be signed in to change notification settings - Fork 4.7k
gui: Switch to Weblate for translations #8777
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
Conversation
Skip duplicated and completely empty languages.
These are now treated correctly as untranslated, but present with the original (English) translation key.
Translated using Weblate (Polish) Currently translated at 100.0% (512 of 512 strings) Translation: Syncthing/GUI strings Translate-URL: https://hosted.weblate.org/projects/syncthing/gui/pl/ Translated using Weblate (Danish) Currently translated at 98.6% (505 of 512 strings) Translation: Syncthing/GUI strings Translate-URL: https://hosted.weblate.org/projects/syncthing/gui/da/ Translated using Weblate (Lithuanian) Currently translated at 85.4% (441 of 516 strings) Translation: Syncthing/GUI strings Translate-URL: https://hosted.weblate.org/projects/syncthing/gui/lt/ Translated using Weblate (French) Currently translated at 100.0% (516 of 516 strings) Translation: Syncthing/GUI strings Translate-URL: https://hosted.weblate.org/projects/syncthing/gui/fr/ Translated using Weblate (Danish) Currently translated at 98.6% (509 of 516 strings) Translation: Syncthing/GUI strings Translate-URL: https://hosted.weblate.org/projects/syncthing/gui/da/ Translated using Weblate (Spanish) Currently translated at 100.0% (516 of 516 strings) Translation: Syncthing/GUI strings Translate-URL: https://hosted.weblate.org/projects/syncthing/gui/es/
The following table summarizes the statistics (number of strings) for the current state at Transifex (TX) and Weblate (WL) as of today. Matching languages are in the same row, some are even empty in Transifex yet and therefore not copied to Weblate. If someone wants to work with this table, I can provide an
|
Todos 1 and 2 are complete here, the only transifex import that runs is via GitHub actions which is updated in build.sh and the token I just added. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM, engage
Wow, that was quick :-) Let me see what I can do about the follow-ups right away. |
Did you use the project token or something specific for your Weblate user account? |
I grabbed mine from my account page, didn't know there was a project one. It's easy to change if required. |
We can generate a new one at https://hosted.weblate.org/access/syncthing/#api (you should have admin access already), or I can send you the one I previously created (it's not displayed in the Web GUI anymore, but I have it). In case of the latter, do you have any preferred way of securely receiving private information? Threema, GitHub PM, E-Mail/OpenPGP? |
@calmh can you please help out on points 6, 7 and 9 (optionally also 3) of the check-list above? |
I've done the needful on the points above, except the release notes. The Spanish language change will be included if we close that issue by a PR, otherwise the release notes are for users who will not necessarily care about this change; those that do should run into the read-onlyness and announcement on transifex, or see the notes on the forum. |
Nice, thanks @calmh! Right the Weblate transition itself is not very important for users, and anyone interested in translations at all will get a heads-up when looking at why Spanish was removed. So I guess we can consider it done. |
* main: (48 commits) build: Use Go 1.19.6 for Windows build: Update dependencies gui, man, authors: Update docs, translations, and contributors gui: Remove duplicate Spanish (Spain) translation (fixes syncthing#8781) (syncthing#8782) gui: Add xattr filter editor (fixes syncthing#8660) (syncthing#8734) gui: Switch to Weblate for translations (syncthing#8777) all: Use new Go 1.19 atomic types (syncthing#8772) gui, man, authors: Update docs, translations, and contributors build: Update quic-go and pfilter for Go 1.20 (fixes syncthing#8768) (syncthing#8769) Add forgotten copyright notices cmd, docker: Updates for infrastructure cmd/ursrv: The driver import is important, though cmd/ursrv: Remove old, unused migration code cmd/ursrv: Harmonize timespan of charts cmd/ursrv: Remove broken and unsustainable join/leave chart cmd/ursrv: Fix broken block transfer chart gui, man, authors: Update docs, translations, and contributors gui: Fix broken link to Transifex in lang/README.txt (syncthing#8761) gui, man, authors: Update docs, translations, and contributors Handle relay connect timeout (fixes syncthing#8749) (syncthing#8755) ...
* main: (46 commits) build: Update dependencies lib/api: Expose `blocksHash` in file info (syncthing#8810) gui, man, authors: Update docs, translations, and contributors lib/discover: Don't leak relay-tokens to discovery (syncthing#8762) gui, man, authors: Update docs, translations, and contributors gui: Add Croatian (hr) translation template (syncthing#8801) build(deps): bump github.com/quic-go/quic-go from 0.32.0 to 0.33.0 (syncthing#8800) cmd/stupgrades: Cache should apply to HEAD as well as GET build: Add more GitHub Actions gui: Remove non-existent customicons.css file reference (fixes syncthing#8797) (syncthing#8798) Only fail after chmod error if permissions differ (e.g. on config file) (syncthing#8771) gui, man, authors: Update docs, translations, and contributors build: Use Go 1.19.6 for Windows build: Update dependencies gui, man, authors: Update docs, translations, and contributors gui: Remove duplicate Spanish (Spain) translation (fixes syncthing#8781) (syncthing#8782) gui: Add xattr filter editor (fixes syncthing#8660) (syncthing#8734) gui: Switch to Weblate for translations (syncthing#8777) all: Use new Go 1.19 atomic types (syncthing#8772) gui, man, authors: Update docs, translations, and contributors ...
As recently discussed in https://forum.syncthing.net/t/translating-syncthing/, this mangles the various translation files to interoperate with the repository on Hosted Weblate, to be found at https://hosted.weblate.org/projects/syncthing/gui/. The live Weblate instance currently syncs with the source branch of this PR, and will be automatically rebased.
Starting with some refactoring and housekeeping, the individual commits basically track how the Weblate database reached its current state: First importing already translated strings, then adding back the untranslated ones to apply a "needs-editing" label automatically. All based on the latest Transifex state as of 2023-02-06. Some language codes are not directly compatible and get adjusted automatically during future imports.
The only real conflict is
es-ES
Spanish (Spain), which has no equivalent on Weblate. As we already have a plaines
Spanish translation, strings from the former are copied to the latter where there is no previous translation. Thees-ES
variant should be removed completely in the long term, if needed strings can be recovered from Git history by the Spanish translators.Finally, all translation updates already collected through Weblate, but not present on Transifex, get imported through this PR. Not including them here would override the Weblate internal database. Note that Weblate interacts directly with the JSON files committed in upstream Git, thus all languages will live there henceforth and the
transifexdl.go
script should no longer be used.This is the step-by-step roadmap for a clean transition as far as I can tell. Please comment on any steps I might have missed:
build.sh
here should be enough.)main
branch instead.lang-es_ES.json
file in a separate follow-up PR: gui: Remove duplicate Spanish (Spain) translation (fixes #8781) #8782For roughly a few months after the transition, @acolomb volunteers to keep checking and incorporating remaining translation changes coming in through Transifex. Unless / until step 3. above is implemented.
Documentation
There are only two references to Transifex in the docs, in a heavily outdated section about source code layout. That should be cleaned up in general, but at least the reference will be removed in a separate docs PR once this is approved and merged.