* First pass at configuring localization * Add CI job for translations * Update CI job * Update default value * Update parser config * Update defaults again * try to fix the multiple parsing of a file * Update crowdlin config * Update configs * New Crowdin translations by GitHub Action (#3448) Co-authored-by: Crowdin Bot <support+bot@crowdin.com> * Point to updated translated files * Tooltip i18n * Run translation job when web components are updated * Commit updated translations * Translations update (#3453) * Update source file strings.json Updated translations * New translations strings.json (French) Updated translations * New translations strings.json (Spanish) Updated translations * New translations strings.json (German) Updated translations * New translations strings.json (English, United States) Updated translations * Commit updated translations * New Crowdin translations by GitHub Action (#3452) Co-authored-by: Owncast <owncast@owncast.online> * chore(deps): update to next config to address build errors * New Crowdin translations by GitHub Action (#3455) Co-authored-by: Crowdin Bot <support+bot@crowdin.com> * Translations update (#3456) * New translations strings.json (Arabic) Updated translations * New translations strings.json (German) Updated translations * New translations strings.json (Greek) Updated translations * New translations strings.json (Irish) Updated translations * New translations strings.json (Italian) Updated translations * New translations strings.json (Japanese) Updated translations * New translations strings.json (Korean) Updated translations * New translations strings.json (Dutch) Updated translations * New translations strings.json (Norwegian) Updated translations * New translations strings.json (Punjabi) Updated translations * New translations strings.json (Russian) Updated translations * New translations strings.json (Swedish) Updated translations * New translations strings.json (Chinese Traditional) Updated translations * New translations strings.json (Vietnamese) Updated translations * New translations strings.json (Bengali) Updated translations * New translations strings.json (Thai) Updated translations * New translations strings.json (Croatian) Updated translations * New translations strings.json (Hindi) Updated translations * New translations strings.json (Malay) Updated translations * New Crowdin translations by GitHub Action (#3457) * New translations strings.json (Arabic) Updated translations * New translations strings.json (German) Updated translations * New translations strings.json (Greek) Updated translations * New translations strings.json (Irish) Updated translations * New translations strings.json (Italian) Updated translations * New translations strings.json (Japanese) Updated translations * New translations strings.json (Korean) Updated translations * New translations strings.json (Dutch) Updated translations * New translations strings.json (Norwegian) Updated translations * New translations strings.json (Punjabi) Updated translations * New translations strings.json (Russian) Updated translations * New translations strings.json (Swedish) Updated translations * New translations strings.json (Chinese Traditional) Updated translations * New translations strings.json (Vietnamese) Updated translations * New translations strings.json (Bengali) Updated translations * New translations strings.json (Thai) Updated translations * New translations strings.json (Croatian) Updated translations * New translations strings.json (Hindi) Updated translations * New translations strings.json (Malay) Updated translations * New Crowdin translations by GitHub Action --------- Co-authored-by: Gabe Kangas <gabek@real-ity.com> Co-authored-by: Crowdin Bot <support+bot@crowdin.com> * Commit updated API documentation * Update translations job * New Crowdin translations by GitHub Action (#3698) Co-authored-by: Crowdin Bot <support+bot@crowdin.com> * Update Crowdin configuration file * Translations update (#3700) * New translations strings.json (French) Updated translations * New translations strings.json (Italian) Updated translations * Translations update (#3699) * New translations strings.json (French) Updated translations * New translations strings.json (Spanish) Updated translations * New translations strings.json (Italian) Updated translations * New translations strings.json (Japanese) Updated translations * New translations strings.json (Polish) Updated translations * New translations strings.json (Russian) Updated translations * New translations strings.json (Portuguese, Brazilian) Updated translations * Commit updated API documentation --------- Co-authored-by: Owncast <owncast@owncast.online> * New Crowdin translations by GitHub Action (#3701) * New translations strings.json (French) Updated translations * New translations strings.json (Spanish) Updated translations * New translations strings.json (Italian) Updated translations * New translations strings.json (Japanese) Updated translations * New translations strings.json (Polish) Updated translations * New translations strings.json (Russian) Updated translations * New translations strings.json (Portuguese, Brazilian) Updated translations * New Crowdin translations by GitHub Action --------- Co-authored-by: Gabe Kangas <gabek@real-ity.com> Co-authored-by: Crowdin Bot <support+bot@crowdin.com> * Draft: Mark strings for translation. (#3458) * Mark strings for translation. * Mark up strings for translation * fix(web): fix linter warnings --------- Co-authored-by: Le fractal <17422-fractal@users.noreply.framagit.org> Co-authored-by: Gabe Kangas <gabek@real-ity.com> * do not pull from cowdin via workflow * Commit updated translations * feat: add translations support to admin pages and components (#3977) * feat: add translations support to admin pages and components Added translations support admin main page and its components, help page, handware-info page. Added translations support for LogTable, NewsFeed and StreamHealthOverview components. * update package.json * fix rendering issue * Commit updated API documentation --------- Co-authored-by: Owncast <owncast@owncast.online> Co-authored-by: Gabe Kangas <gabek@real-ity.com> * Offline banner i18n formatting (#3997) * Fix "Last live ago" string formatting with i18n interpolation * Change some base translation jsons to use i18n interpolation * Linting fix * chore(js): ignore i18n pkgs in knip * fix(test): fix browser ui test * fix(js): remove unused var --------- Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: Crowdin Bot <support+bot@crowdin.com> Co-authored-by: Owncast <owncast@owncast.online> Co-authored-by: taintedcypher <119351153+taintedcypher@users.noreply.github.com> Co-authored-by: Le fractal <17422-fractal@users.noreply.framagit.org> Co-authored-by: Sufyaan Khateeb <81009832+SufyaanKhateeb@users.noreply.github.com> Co-authored-by: mahmed2000 <mahmad2000@protonmail.com>
Tests
Load Tests
- Install artillery from NPM/Yarn/Whatever Javascript package manager is popular this week.
- Start an instance of the server on localhost.
artillery run httpGetTest.yamlfor endpoint load tests.artillery run websocketTest.yamlfor websocket load tests.
Chat test
This will send automated fake chat messages to your localhost instance. Edit the messages, usernames or point to a different instance.
npm installnode fakeChat.js
Public Testing
Run ./test-local.sh and it'll create a public URL that you can access your local Owncast instance from. This is particularly useful for testing mobile and other external devices, as well as webhooks. Make sure Owncast is running under port 8080.
If you'd like your own custom hostname that uses your username follow the instructions printed, otherwise use auto-generated name printed to the console for testing.
$ ./test/test-local.sh
Please wait. Making the local server port 8080 available at https://oc-gabek-develop.serveo.net
Forwarding HTTP traffic from https://oc-gabek-develop.serveo.net