i18n: complete the Polish translation (pl.yaml) - #1476
Conversation
The existing pl.yaml was a truncated copy of en.yaml: it stopped at the
keyword: section, and of the 205 keys it did contain only 39 held Polish
text (~5% real coverage).
This fills in all 844 keys from en.yaml.
Polish-specific handling:
- Register is impersonal/neutral ("Głosuj", "Wyślij"), using "Ty" only
where a personal form is unavoidable. This also sidesteps the
masculine/feminine past-tense forms that a "ty" register would force.
- Plurals: Polish has four i18next categories, so winner.winner and
results_ext.voter_profile_count gained _few and _many alongside
_one/_other.
- spelled_numbers now holds accusative masculine-personal forms
(jednego, dwóch, trzech, …) so that "{{spelled_count}} $t(winner.winner)"
renders as "jednego zwycięzcę" / "dwóch zwycięzców".
- number.rank_ordinal_* all map to "{{count}}." — Polish ordinals do not
vary by suffix (same approach as pt-BR.yaml).
- keyword nouns are injected in the nominative only, but Polish declines.
Strings are therefore phrased to need the nominative alone, often via an
appositive dash ("{{name}} — {{capital_candidate}} bez konkurencji").
Where no nominative phrasing was natural, the placeholder was dropped in
favour of correct Polish; those spots are marked with "# PL:" comments.
- Time zones use Polish exonyms where one is standard (Londyn, Wiedeń,
Kijów, Rzym); names without an established Polish form are left as-is.
Also fixes a typo carried over from en.yaml: tabulation_logs.star.
pairwise_advance_to_runoff had "{{runner_up_votes}" with a missing closing
brace. The Polish string uses the correct placeholder; en.yaml still needs
the same fix.
Refs Equal-Vote#762
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
✅ Deploy Preview for bettervoting ready!
To edit notification comments on pull requests, go to your Netlify project configuration. |
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: CHILL Plan: Pro Plus Run ID: 📒 Files selected for processing (1)
📝 WalkthroughSummary by CodeRabbit
WalkthroughThe Polish localization was comprehensively replaced. It now covers voter flows, ballots, voting methods, results, navigation, landing pages, administration, emails, help content, warnings, wizard flows, archive uploads, and time zones. Polish plural and ordinal forms were added. Placeholders and election-versus-poll terminology were updated. Poem
🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
Description
Fills in the Polish translation.
pl.yamlwas a truncated copy ofen.yaml— it stopped partway through thekeyword:section, and of the 205 keys it did contain, only 39 held actual Polish text (~5% real coverage). This brings it to all 844 keys.Register is impersonal/neutral throughout (Głosuj, Wyślij, Wybierz), falling back to Ty only where a personal form is unavoidable. Besides matching Polish web-UI convention, this sidesteps the masculine/feminine past-tense forms a ty register would force on every confirmation string (zagłosowałeś / zagłosowałaś).
Polish-specific handling
Plurals. Polish has four i18next plural categories, so
winner.winnerandresults_ext.voter_profile_countgained_fewand_manyalongside_one/_other.spelled_numbersnow holds accusative masculine-personal forms (jednego, dwóch, trzech, …) so that{{spelled_count}} $t(winner.winner)renders as jednego zwycięzcę / dwóch zwycięzców.number.rank_ordinal_*all map to{{count}}.— Polish ordinals don't vary by suffix. Same approachpt-BR.yamltakes.Time zones use Polish exonyms where one is standard (Londyn, Wiedeń, Kijów, Rzym, Stambuł); names with no established Polish form are left as-is.
One thing worth discussing: declension vs. the keyword system
useSubstitutedTranslationinjects{{election}},{{candidate}},{{ballot}}etc. in the nominative case only, and swaps between election terms (wybory, kandydat) and poll terms (ankieta, opcja). Those two sets differ in both gender and number, so a sentence built around the placeholder cannot agree with both:Where possible I rephrased so only the nominative is needed, often with an appositive dash:
Where no natural phrasing existed, the placeholder is dropped in favour of correct Polish, losing the election/poll distinction for that string. All such spots are marked with
# PL:comments in the file — 60 strings in total.This isn't a Polish quirk; it will hit Czech, Slovak, Russian, and Ukrainian the same way. If translations for those are wanted later, it may be worth letting a locale supply case forms (e.g.
keyword.election.election_loc/_gen) rather than a single nominative. Happy to open a separate issue for that if it's useful.Drive-by bug in
en.yamltabulation_logs.star.pairwise_advance_to_runoffhas{{runner_up_votes}— a missing closing brace, so it renders literally in English today. The Polish string uses the correct placeholder;en.yamlstill needs the same fix. Left out of this PR to keep it translation-only — say the word and I'll add it.Screenshots / Videos (frontend only)
Not included — this changes translation data only, no components or layout. Happy to add before/after captures of the ballot and results pages in
plif you'd like them for the record.Related Issues
Fixes #762