Persian support
Persian support is a design goal of Parch, not a localization afterthought. This page describes the platform pieces; application-level rules are in RTL & Persian, and translation workflow is in Localization.
Fonts
Parch ships Estedad as its Persian UI typeface and maintains Persian font packaging:
parch-persian-fonts(world) pulls in the Parch font set.arad-fonts(world) carries additional Persian display fonts.vazirmatnis available from Arch repositories for compatibility.
Applications must not hardcode a specific Persian font; use the generic
stack (Saira, Estedad, sans-serif) so system font choices and future
font packages keep working. Font packaging conventions are in
Packaging.
Locale
The installer defaults target fa_IR.UTF-8 with the Asia/Tehran timezone,
while keeping en_US.UTF-8 generated as the universal fallback. In ISO
profiles, the pacman hook 40-locale-gen.hook regenerates locales at
build/install time; uncommenting locales happens in the airootfs
(see airootfs customization).
Inspect the current state on a running system:
$ locale
$ localectl list-locales | grep fa
$ timedatectl show -p Timezone
Input methods
Persian keyboard layouts ship with the desktop environments: Plasma and
GNOME include fa layouts natively, selectable in their keyboard settings.
Layout switching shortcuts work on both Latin and Persian layouts because
shortcut matching is positional, not character-based (a HIG requirement, see
Keyboard interaction).
For complex input (Arabic-script shaping is handled by the text stack directly; no IME is needed for Persian), nothing extra is required. Users of other languages can add IBus or Fcitx5 from the standard repositories.
RTL in the platform
- Desktop environments mirror their shells automatically with a
falocale. - Parch theming packages are tested with RTL: SDDM, GRUB (text labels), and Plymouth are asymmetric surfaces where RTL regressions hide.
- Installers: the Parch Calamares flavor defaults to Persian, so the first-boot experience of a fa_IR install is fully RTL.
Testing checklist
- Install with the
falocale; confirm installer, SDDM, and desktop are RTL and Persian-rendered. - Add a second language (English) and switch back and forth per-app.
- Check mixed-direction text: package names inside Persian sentences.
- Verify Persian date/number display in the components you own.