1k-i18n

Internationalization (i18n)

Safety Notice

This listing is imported from skills.sh public index metadata. Review upstream SKILL.md and repository scripts before running.

Copy this and send it to your AI assistant to learn

Install skill "1k-i18n" with this command: npx skills add onekeyhq/app-monorepo/onekeyhq-app-monorepo-1k-i18n

Internationalization (i18n)

Guidelines for internationalization and translation management in OneKey.

Critical Restrictions

ABSOLUTELY FORBIDDEN (auto-generated files):

// ❌ NEVER modify these files - they are AUTO-GENERATED // @onekeyhq/shared/src/locale/enum/translations.ts // @onekeyhq/shared/src/locale/json/*.json

// ❌ NEVER hardcode text strings <Text>Confirm</Text>

// ✅ CORRECT - Always use translation keys import { ETranslations } from '@onekeyhq/shared/src/locale'; intl.formatMessage({ id: ETranslations.global__confirm })

Consequences of violation:

  • Translation system corruption

  • Loss of translation work

  • Build failures in i18n pipeline

  • Breaking localization for international users

Quick Reference

Using Translations in Components

import { useIntl } from 'react-intl'; import { ETranslations } from '@onekeyhq/shared/src/locale';

function MyComponent() { const intl = useIntl();

return ( <SizableText> {intl.formatMessage({ id: ETranslations.global__confirm })} </SizableText> ); }

Using formatMessage Outside Components

import { appLocale } from '@onekeyhq/shared/src/locale/appLocale'; import { ETranslations } from '@onekeyhq/shared/src/locale';

const message = appLocale.intl.formatMessage({ id: ETranslations.global__cancel, });

Translation Workflow

  • Design provides translation key like prime::restore_purchases

  • Run sync command: yarn fetch:locale

  • Convert key format: prime::restore_purchases → ETranslations.prime_restore_purchases

  • Use in code: {intl.formatMessage({ id: ETranslations.prime_restore_purchases })}

Translation Key Naming Pattern

namespace__action_description

Examples:

  • global__confirm
  • global__cancel
  • swap__select_token
  • wallet__create_wallet
  • settings__dark_mode

Detailed Guide

For comprehensive i18n guidelines and examples, see i18n.md.

Topics covered:

  • Translation management restrictions

  • Using translations in components

  • Translation key naming conventions

  • Locale handling and fallbacks

  • Code examples

  • Workflow summary

Key Files

Purpose File Path

Translation enum (auto-generated) packages/shared/src/locale/enum/translations.ts

Locale JSON (auto-generated) packages/shared/src/locale/json/

App locale packages/shared/src/locale/appLocale.ts

Default locale packages/shared/src/locale/getDefaultLocale.ts

Related Skills

  • /1k-date-formatting

  • Date formatting with locale support

  • /1k-coding-patterns

  • General coding patterns

Source Transparency

This detail page is rendered from real SKILL.md content. Trust labels are metadata-based hints, not a safety guarantee.

Related Skills

Related by shared tags or category signals.

General

react-best-practices

No summary provided by upstream source.

Repository SourceNeeds Review
General

implementing-figma-designs

No summary provided by upstream source.

Repository SourceNeeds Review
General

1k-date-formatting

No summary provided by upstream source.

Repository SourceNeeds Review
General

pr-review

No summary provided by upstream source.

Repository SourceNeeds Review