Офіційний сайт Etyma

Типізована i18n. Справжній SSR. Чисті Angular API.

Etyma дає типізовані JSON-каталоги, MessageFormat 2, локалізовані URL, перекладений SSR HTML і lazy-завантаження мов без проблем гідратації.

Angular
21 і 22
AnalogJS
2.6 і 2.7
Мови
EN / ES / UK
etyma.config.ts
const i18n = defineI18n({
  locales: ['en', 'es', 'uk'],
  sourceLocale: 'en',
  source: en,
  loaders: {
    es: () => import('./es.json'),
    uk: () => import('./uk.json')
  }
});
SSRЛокалізований HTML виходить із сервера ще до старту гідратації.
Навіщо це

i18n-шар, який Angular apps мали б мати за замовчуванням.

Типізована інтернаціоналізація для Angular і AnalogJS

Типізовані ключіДжерельний каталог визначає контракт ключів. Помилки в назвах падають під час перевірки TypeScript, а не стають порожнім UI.SSR передусімЛокалізована URL-адреса рендерить локалізований HTML на сервері, передає каталог і гідратується без повторного завантаження мови.Готово для edgeІнтеграція Analog перевіряється через build Cloudflare Pages, щоб пакет і runtime залишалися чесними.
Як це працює

Визнач один раз. Роуть через URL. Гідратуй без миготіння.

Etyma тримає джерельний каталог типізованим, додаткові каталоги lazy, а сторінку синхронною з адресним рядком.

01Створи каталогиJSON лишається читабельним, а TypeScript використовує джерельну мову як контракт.02Віддавай локалізовані URLДжерельна мова лишається чистою, а додаткові мови живуть під стабільними префіксами.03Передай активну мовуSSR віддає каталог, який використала сторінка, тому гідратація не просить його знову й не показує англійську.
Пакети

Один portable core і два Angular-адаптери.

@etyma/core відповідає за каталоги й MessageFormat. @etyma/angular дає signals і transfer state. @etyma/analog з'єднує маршрути, SSR і SEO.

@etyma/core
@etyma/angular
@etyma/analog