mirror of
https://github.com/zoriya/v10.git
synced 2026-08-09 23:58:06 +00:00
@videojs/core
⚠️ 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:
- Update
src/core/i18n/locales/en.ts. Add the English value under a short semantic path. Keep required{placeholder}tokens in the value. - 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. - 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. - Run
pnpm -F @videojs/core run generate:i18n-types. This refreshesTranslationParamsfrom the English keys and placeholders. - 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. - 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: