This fixes various test issues with Go 1.20.
- Most tests rewritten to use fakefs where possible
- Some tests that were already skipped, or dubious (invasive,
unmaintainable, unclear what they even tested) have been removed
- Some actual code rewritten to better support testing in fakefs
Co-authored-by: Eric P <eric@kastelo.net>
* Normalize EOL before EOF.
* Import current Transifex state, only translated.
Skip duplicated and completely empty languages.
* Re-add untranslated strings to JSON files.
These are now treated correctly as untranslated, but present with the
original (English) translation key.
* Update valid language codes and names.
* Refer to Weblate instead of Transifex for translations.
* lang-es: Copy untranslated strings from es-ES.
* Integrate translation changes from Weblate.
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/
* translation update uses weblate
---------
Co-authored-by: Jakob Borg <jakob@kastelo.net>
Without this, we tag the build as made by some random user account on some random host name which is not useful.
(And minor bug in the cache key which has no effect on the build itself.)
This is sort of a proof of concept, but since our current Windows
builder is down this might solve the problem. It includes a change for
easier code signing (taking the certificate in a secret/env var rather
than existing already on disk), but otherwise mirrors precisely what we
already do in the build server.