Add Serbian translation (#13842)

## Summary
- Adds Serbian translations for both Cyrillic (`sr`) and Latin
(`sr@latin`) scripts, registered in `src/os/i18n_locales.zig` and
`CODEOWNERS`.
- `po/sr@latin.po` is generated from `po/sr.po` with `msgfilter
recode-sr-latin` and should not be translated by hand.
- Replaces the closed #13030; strings are rebased onto current `main`.

Cc @slowdub for a review.

EDIT: AI disclosure: I used Cursor (Grok 4.6) for mechanical repo work
only, not for writing the Serbian translations. The agent fetched
ghostty-org/ghostty, branched from current main, ran msgmerge on
po/sr.po against the template, generated po/sr@latin.po with msgfilter
recode-sr-latin, registered sr / sr@latin in src/os/i18n_locales.zig and
CODEOWNERS, rebased my three commits onto later main, pushed the branch,
and opened this PR (I had intended to open the PR myself, s***** thing
ignored my instructions). I translated and reviewed sr.po and the Latin
file is a recode of that catalog, not a separate translation since
Serbian Cyrillic can be perfectly transcoded to the Latin script via
[recode-sr-latin](https://linux.die.net/man/1/recode-sr-latin).
This commit is contained in:
kat
2026-08-31 21:23:47 +00:00
committed by GitHub
4 changed files with 2193 additions and 0 deletions

View File

@@ -192,6 +192,8 @@
/po/pl.po @ghostty-org/pl_PL
/po/pt_BR.po @ghostty-org/pt_BR
/po/ru.po @ghostty-org/ru_RU
/po/sr.po @ghostty-org/sr_RS
/po/sr@latin.po @ghostty-org/sr_RS
/po/tr.po @ghostty-org/tr_TR
/po/uk.po @ghostty-org/uk_UA
/po/vi.po @ghostty-org/vi_VN

1054
po/sr.po Normal file

File diff suppressed because it is too large Load Diff

1135
po/sr@latin.po Normal file

File diff suppressed because it is too large Load Diff

View File

@@ -60,4 +60,6 @@ pub const locales = [_][:0]const u8{
"be",
"eu",
"da",
"sr",
"sr@latin",
};