mirror of
https://github.com/zoriya/v10.git
synced 2026-08-16 02:45:09 +00:00
feat(packages): i18n (#1708)
This commit is contained in:
@@ -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');
|
||||
});
|
||||
});
|
||||
@@ -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);
|
||||
}
|
||||
Reference in New Issue
Block a user