feat(packages): i18n (#1708)

This commit is contained in:
Sam Potts
2026-07-10 12:58:47 +10:00
committed by GitHub
parent 5f48fcc6d6
commit 028dadb385
561 changed files with 13059 additions and 1320 deletions
@@ -0,0 +1,13 @@
import { describe, expect, it } from 'vitest';
import { utilReferenceSlug } from '../utilReferenceSlug';
describe('utilReferenceSlug', () => {
it('uses normal kebab slugs by default', () => {
expect(utilReferenceSlug('usePlayerContext')).toBe('use-player-context');
});
it('keeps i18n abbreviations together', () => {
expect(utilReferenceSlug('registerI18n')).toBe('register-i18n');
expect(utilReferenceSlug('I18nProvider')).toBe('i18n-provider');
});
});
+15
View File
@@ -0,0 +1,15 @@
import { kebabCase } from 'es-toolkit/string';
const UTIL_SLUG_OVERRIDES: Record<string, string> = {
registerI18n: 'register-i18n',
getI18nTranslations: 'get-i18n-translations',
hasRegisteredI18n: 'has-registered-i18n',
onI18nRegistryChange: 'on-i18n-registry-change',
createI18n: 'create-i18n',
createTranslator: 'create-translator',
I18nProvider: 'i18n-provider',
};
export function utilReferenceSlug(name: string): string {
return UTIL_SLUG_OVERRIDES[name] ?? kebabCase(name);
}