Files
v10/packages/core/README.md
T
2026-08-03 09:27:26 +10:00

54 lines
2.1 KiB
Markdown

# @videojs/core
[![package-badge]][package]
> **⚠️ Beta** Close to stable. Experimental adoption in real projects.
## Overview
`@videojs/core` provides runtime-agnostic core components and utilities shared across Video.js
packages. These are foundational building blocks used by platform-specific implementations
(DOM, HTML, React, React Native) to create consistent media player experiences.
## Update i18n copy
The i18n source of truth lives in `src/core/i18n/locales`. Translation keys are opaque semantic
paths such as `buttons.play`; English copy is stored separately, so it can change without renaming
the key.
When you add, rename, or remove player copy:
1. Update `src/core/i18n/locales/en.ts`.
Add the English value under a short semantic path. Keep required `{placeholder}` tokens in the
value.
2. Update every non-English file in `src/core/i18n/locales`.
Use the same nested path, move an existing translation when the meaning is unchanged, and add or
remove values with the English source.
3. Run `pnpm -F @videojs/core run generate:locales`.
This validates locale completeness and refreshes text descriptors, locale loaders, CDN
registration modules, and HTML/React re-exports.
4. Run `pnpm -F @videojs/core run generate:i18n-types`.
This refreshes `TranslationParams` from the English keys and placeholders.
5. Update call sites and tests.
Import the generated text descriptor from `src/core/i18n/text/<group>.ts`; do not duplicate the
key and English fallback at each call site.
6. Run focused tests and typecheck.
At minimum, run the package tests that cover the changed copy and `pnpm typecheck`.
## Community
If you need help with anything related to Video.js v10, or if you'd like to casually chat with other
members:
- [Join Discord Server][discord]
- [See GitHub Discussions][gh-discussions]
## License
[Apache-2.0](./LICENSE)
[package]: https://www.npmjs.com/package/@videojs/core
[package-badge]: https://img.shields.io/npm/v/@videojs/core?label=@videojs/core
[discord]: https://discord.gg/JBqHh485uF
[gh-discussions]: https://github.com/videojs/v10/discussions