29b5100114
Create custom Translation component for better i18n handling ( #4431 )
...
* Initial plan
* Implement Translation component with Storybook stories
Co-authored-by: gabek <414923+gabek@users.noreply.github.com >
* Add Jest test for Translation component and demonstrate ?lang=de functionality
Co-authored-by: gabek <414923+gabek@users.noreply.github.com >
* Javascript formatting autofixes
* Create centralized type-safe localization system
Co-authored-by: gabek <414923+gabek@users.noreply.github.com >
* Add @testing-library/react to Translation component tests
Co-authored-by: gabek <414923+gabek@users.noreply.github.com >
* Fix code formatting errors with prettier and eslint
Co-authored-by: gabek <414923+gabek@users.noreply.github.com >
* Revert "Fix code formatting errors with prettier and eslint"
Co-authored-by: gabek <414923+gabek@users.noreply.github.com >
* fix(js): eslinter errors
* fix(js): unused code warnings
* fix(js): fix additional warnings
* Update Emoji admin page to use new Translation component
Co-authored-by: gabek <414923+gabek@users.noreply.github.com >
* Organize localization keys by logical sections (Frontend, Admin, Common, Testing)
Co-authored-by: gabek <414923+gabek@users.noreply.github.com >
* Organize localization keys by TypeScript namespaces
Co-authored-by: gabek <414923+gabek@users.noreply.github.com >
* Javascript formatting autofixes
* feat(js): add support for default translated text
* chore: add default lang translations on commit
* fix(js): unused code warnings
* Update OfflineBanner component to use new Translation component
Co-authored-by: gabek <414923+gabek@users.noreply.github.com >
* fix(js): fix localization extraction job
* chore(js): remove ts-node cli
* fix(css): fix css warning
* feat(js): add some additional translation strings via component
* chore: update extracted translations
* test: add tests for Translation component defaultText and fallback behavior
Co-authored-by: gabek <414923+gabek@users.noreply.github.com >
* chore: update extracted translations
* Javascript formatting autofixes
* chore: call out new Translation component
* fix: linter warning
* chore: updated instructions
---------
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com >
Co-authored-by: gabek <414923+gabek@users.noreply.github.com >
Co-authored-by: Owncast <owncast@owncast.online >
Co-authored-by: Gabe Kangas <gabek@real-ity.com >
2025-07-13 02:21:46 -07:00
c51d8e7891
chore(deps): update dependency knip to v5.61.3 ( #4296 )
...
* chore(deps): update dependency knip to v5.61.3
* fix: updates to resolve knip unused package errors
---------
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Gabe Kangas <gabek@real-ity.com >
2025-07-03 20:00:50 -07:00
cb387d88be
Initial localization work ( #3980 )
...
* 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 >
2025-01-14 20:54:21 -08:00
Gabe Kangas
df3a9424b1
fix(test): fix javascript tests not running
2024-10-19 15:28:41 -07:00
fa7e0c6ee1
chore(deps): update dependency knip to v5.17.3 ( #3751 )
...
* chore(deps): update dependency knip to v5.17.3
* fix(js): resolve errors with new version of knip
---------
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Gabe Kangas <gabek@real-ity.com >
2024-06-02 15:02:24 -07:00
Gabe Kangas
27c48c4068
chore(deps): update to next config to address build errors
2023-11-29 20:31:54 -08:00
Gabe Kangas
b145f3da9a
chore(deps): additional things to ignore in unused code check
2023-11-29 20:29:26 -08:00
Gabe Kangas
ab8c2279e3
fix(storybook): update stories to support mdx2
2023-10-25 21:41:27 -07:00
f5698ab6e6
chore(deps): update dependency knip to v2.33.3 ( #3353 )
...
* chore(deps): update dependency knip to v2.33.3
* chore(tests): update config file for unused code detection
---------
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Gabe Kangas <gabek@real-ity.com >
2023-10-15 21:02:16 -07:00
Gabe Kangas
742131695c
fix(tests): ignore stylint packages
2023-06-21 14:40:29 -07:00
Gabe Kangas and GitHub
e50b23d081
Cleanup unused Javascript ( #3027 )
...
* chore(js): be stricter about dead code warnings
* chore(js): remove dead code and unused exports
* rebase
* chore: remove unused files
* chore(deps): remove unused prop-types dep
* chore(js): remove unused function
* chore(deps): remove + check unused deps
* chore(js): remove unused exports. Closes #3036
2023-05-20 21:15:25 -07:00