# Freshrss I18N

> Add, move, or format translation strings in FreshRSS. Use when modifying UI text that needs translation (i18n). Handles all supported languages automatically.

- Skill: `mahabdalla/freshrss-i18n` (Agent Skill)
- Install (CLI): `npx skillmds@latest add mahabdalla/freshrss-i18n`
- Raw SKILL.md: https://api.skillmd.com/api/skills/mahabdalla/freshrss-i18n/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- Author: mahabdalla (https://skillmd.com/u/mahabdalla)
- Updated: 2026-09-22
- Page: https://skillmd.com/skills/mahabdalla/freshrss-i18n

---


# FreshRSS translation management (i18n)

For instructions and commands to work with translations, make sure to obey [i18n.instructions.md](../../instructions/i18n.instructions.md).

Translations strings are in `app/i18n/{lang}/` as PHP arrays, used with:

```php
_t('key.subkey')
```

## When to use this skill

- Adding new user-facing text to the application
- Moving/renaming or deleting existing translation keys
- Adding a new translation file for a new feature area
- Formatting translation files after manual edits

## Workflow example

When adding a new UI element:

1. Identify the appropriate i18n file and section, in proximity of existing strings, avoiding duplication
2. Add a key if an appropriate string does not already exist, using `cli/manipulate.translation.php` or the corresponding `make` commands as defined in the [instructions](../../instructions/i18n.instructions.md).
3. Use in the code:
	```php
	<button><?= _t('gen.action.my_new_button') ?></button>
	```

---
> Converted and distributed by [TomeVault](https://tomevault.io) | [Claim this content](https://tomevault.io/claim/freshrss/freshrss)

