Repository inventory

ryokun6/ryos

Skills indexed from this repository, with install-style signals scoped to the repo.
2 skills2.2K GitHub stars0 weekly installsTypeScriptGitHubOwner profile

Overview

This skill localizes ryOS apps and components by extracting hardcoded strings, replacing them with translation keys, and syncing translations across languages. It streamlines adding i18n support, managing translation files, and preparing keys for machine translation. Use it to ensure UI text, dialogs, menus, and status messages are language-ready and consistent.

How this skill works

The skill inspects source files to extract hardcoded strings and replaces them with t() calls following a predictable key structure (apps.[appName].category.key). It adds English entries to the master translation file, syncs missing keys across other language files with a TODO marker, and can trigger machine translation for untranslated keys. Validation tools report remaining untranslated strings and missing coverage.

When to use it

  • When adding i18n support to a new or existing ryOS app or component
  • Before shipping UI changes that introduce new user-facing text
  • When consolidating localization keys and ensuring consistent key structure
  • When preparing translation files for translators or machine translation
  • When validating that all visible strings are covered in translation files

Best practices

  • Follow the key hierarchy: apps.[appName].menu/dialogs/status/ariaLabels/help
  • Keep emoji and symbols hardcoded (e.g., ✓, ♪) and translate textual content only
  • Import useTranslation and add const { t } = useTranslation() in each component
  • Include t in useMemo/useCallback dependency arrays whenever used inside hooks
  • Run extraction, sync, and validation scripts as part of your localization workflow

Example use cases

  • Extract and replace hardcoded menu labels with t("apps.myApp.menu.file") and add entries to en/translation.json
  • Sync newly added keys across all language files and mark missing translations with [TODO]
  • Run machine translation to prefill untranslated entries before human review
  • Validate a component to find untranslated strings shown via showStatus() or toasts
  • Localize dialogs by replacing titles and descriptions and adding corresponding keys under apps.[appName].dialogs

FAQ

Emoji and non-text symbols (for example ♪ or ✓) may remain hardcoded; all user-facing textual content should use translation keys.

How are missing translations marked?

Missing keys are added to each language file and prefixed or suffixed with a [TODO] marker so translators can find them easily.

2 skills

More from this maintainer
Other repositories and skills published under the same GitHub owner.
Skills library
Jump back to the full directory or explore grouped topics.
Built by
VeilStrat
AI signals for GTM teams
© 2026 VeilStrat. All rights reserved.All systems operational