i18n Localization

Software development skill, available on Zeplik

i18n Localization is a ready-to-run software development skill on Zeplik. Internationalization: detect hardcoded strings, manage translations and locale files, RTL support. Ask in plain language and Zeplik applies the skill's method for you inside the conversation, on whichever AI model you prefer.

The i18n Localization skill loads automatically when your request matches it, or you can invoke it directly by typing /i18n-localization in any chat. It works with attachments, connectors, and any model that supports the task, so you get the same expert method every time without setting anything up.

What the i18n Localization skill can do

Try these prompts on Zeplik

Pick a prompt to open it in the Zeplik app. If you are not signed in yet, your prompt is waiting for you the moment you do.

How the i18n Localization skill works

<!-- source: davila7/claude-code-templates cli-tool/components/skills/development/i18n-localization/SKILL.md (MIT) adapted wave-r r2 -->

i18n & Localization

Internationalization (i18n) and Localization (L10n) best practices.


1. Core Concepts

TermMeaning
i18nInternationalization - making app translatable
L10nLocalization - actual translations
LocaleLanguage + Region (en-US, tr-TR)
RTLRight-to-left languages (Arabic, Hebrew)

2. When to Use i18n

Project Typei18n Needed?
Public web app✅ Yes
SaaS product✅ Yes
Internal tool⚠️ Maybe
Single-region app⚠️ Consider future
Personal project❌ Optional

3. Implementation Patterns

React (react-i18next)

import { useTranslation } from 'react-i18next';

function Welcome() {
  const { t } = useTranslation();
  return <h1>{t('welcome.title')}</h1>;
}

Next.js (next-intl)

import { useTranslations } from 'next-intl';

export default function Page() {
  const t = useTranslations('Home');
  return <h1>{t('title')}</h1>;
}

Python (gettext)

from gettext import gettext as _

print(_("Welcome to our app"))

4. File Structure

locales/
├── en/
│   ├── common.json
│   ├── auth.json
│   └── errors.json
├── tr/
│   ├── common.json
│   ├── auth.json
│   └── errors.json
└── ar/          # RTL
    └── ...

5. Best Practices

DO ✅

  • Use translation keys, not raw text
  • Namespace translations by feature
  • Support pluralization
  • Handle date/number formats per locale
  • Plan for RTL from the start
  • Use ICU message format for complex strings

DON'T ❌

  • Hardcode strings in components
  • Concatenate translated strings
  • Assume text length (German is 30% longer)
  • Forget about RTL layout
  • Mix languages in same file

6. Common Issues

IssueSolution
Missing translationFallback to default language
Hardcoded stringsUse linter/checker script
Date formatUse Intl.DateTimeFormat
Number formatUse Intl.NumberFormat
PluralizationUse ICU message format

7. RTL Support

/* CSS Logical Properties */
.container {
  margin-inline-start: 1rem;  /* Not margin-left */
  padding-inline-end: 1rem;   /* Not padding-right */
}

[dir="rtl"] .icon {
  transform: scaleX(-1);
}

8. Checklist

Before shipping:

  • All user-facing strings use translation keys
  • Locale files exist for all supported languages
  • Date/number formatting uses Intl API
  • RTL layout tested (if applicable)
  • Fallback language configured
  • No hardcoded strings in components

Script

ScriptPurposeCommand
scripts/i18n_checker.pyDetect hardcoded strings & missing translationspython scripts/i18n_checker.py <project_path>

How to use the i18n Localization skill

  1. Sign in to Zeplik

    Create a free Zeplik account or sign in. New accounts start with free credits, so you can try the i18n Localization skill right away.

  2. Describe your software development task

    Ask in plain language, or type /i18n-localization to invoke the skill directly. Zeplik recognizes the i18n Localization skill and applies its method.

  3. Review and refine the result

    Zeplik returns a clear, structured answer. Ask follow-ups in the same chat to refine it or take the next step.

Source and credit

Author
davila7 (D7 Class-A standalone)
License
MIT

Adapted from the open-source davila7/claude-code-templates project and tuned to run natively on Zeplik. View source on GitHub.

Frequently asked questions

What is the i18n Localization skill?
i18n Localization is a ready-to-run software development skill on Zeplik. Internationalization: detect hardcoded strings, manage translations and locale files, RTL support. Ask in plain language and Zeplik applies the skill's method for you inside the conversation, on whichever AI model you prefer.
How do I use i18n Localization on Zeplik?
Sign in to Zeplik and ask in plain language, or type /i18n-localization in any chat to invoke it directly. The skill applies its method and returns a result you can refine in the same conversation.
Which AI model does the i18n Localization skill use?
Any model you choose. Zeplik works across every model in one chat, so the i18n Localization skill runs on your preferred model for the task.
Where does the i18n Localization skill come from?
The i18n Localization skill is adapted from the open-source davila7/claude-code-templates project (MIT) and tuned to run natively on Zeplik. The original source is linked on this page.
How much does the i18n Localization skill cost?
Using the skill is free to start. You only spend Zeplik credits when the assistant runs, and new accounts begin with free credits.

Related software development skills

More on Zeplik

Try i18n Localization on Zeplik

Every model, one chat. Bring the i18n Localization skill into your next conversation and let the assistant do the work.

Browse all skills
i18n Localization - Software development skill for Zeplik AI | Zeplik Chat