* Pull/push strings via Git instead of via API
This is necessary because the Weblate API doesn't handle stale strings
well. In particular, it won't remove them automatically.
* Schedule workflow instead of running on every commit
This is so we can minimize downtime for Weblate translations.
* Prevent pull requests modifying translations
* Don't commit translations during the merge freeze
* Add release notes
* Undo rename
* Don't commit translations nightly, per feedback
* Include translations just-in-time in builds
* Revert "Prevent pull requests modifying translations"
This reverts commit 8c19a0ce13.
* Re-ignore translations
* Update release notes to be accurate
* Create missing directory
* Fix conditional logic
* fix: translations were not being loaded properly
* fix: support running GitHub actions locally with `act`
* feat: upload new strings on master build
* Add release notes
* PR feedback: security
After #1115, new Node.js versions will be able to be used for
development of the frontend. This PR changes the recommended Node.js
version to 18 (the current LTS version). I have also tested with 16 and
20 and it works.
I also took the opportunity to:
- move the build script that was at the project root to the `bin/`
folder
- update the `browserslist` to target Electron 24 (which is the version
we currently build against). This results in a slightly smaller bundle
due to no longer having to transpile optional chaining.