Hacktoberfest 2026: le issue che i maintainer hanno segnato per ottobre, aperte e adatte ai principianti. Sfoglia le issue Hacktoberfest

Epic: OpenSignup in Swedish, and other languages after it

Aperta
#619 0 commenti 0 reazioni 0 assegnatari Vedi su GitHub

I maintainer di solito rispondono entro 1 giorno

Nessuno ha ancora preso questa issue.

Valutazione

Difficoltà
5/5
Tempo stimato
Più di una settimana
Idoneità per principianti
20/100
Tipo di issue
Funzionalità
Chiarezza
Abbastanza chiara
Stato di attività
Attiva
Stack tecnologico
next.js, typescript

Direzione di ricerca

Read the phase order and the referenced sub-issues, starting with #620; #621 and #622 can proceed alongside it. The issue describes a multi-phase localization plan but leaves decisions open about Swedish review, legal translations, existing signups, and later languages. Done means completing the scoped sub-issues and having a native speaker review Swedish before it becomes selectable.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Descrizione

enhancement

This tracks the plan for translating OpenSignup, starting with Swedish. Each sub-issue carries its own pipeline:proposed label and needs your OK on its own.

The problem

Everything OpenSignup says is English: the buttons, the sign-up form, error messages, the confirmation and reminder emails, and the dates and times ("Sat, May 3", "6:30 PM"). Organizers are already writing signups in Swedish. That was seen in production; the figures stay out of this public repo. So their participants get Swedish content wrapped in English, on pages that say lang="en", which screen readers and browser translation trust.

How language works in this plan

  • The organizer has a language, saved on their account. Until they save one, it's the instance's language if the operator set DEFAULT_LOCALE, else their browser's first language, else English. Once the organizer side is translated, it's the app's language too.
  • A new signup starts in its organizer's language. There's nothing to pick when creating one; an organizer changes a signup's language in its Settings tab.
  • Participants see the signup's language, on its pages and in every email.
  • AI drafts are written in the organizer's language.
  • A language can be chosen only when its translation is complete for that audience and a native speaker has reviewed it.

Technical choices

  • next-intl 4.x, pinned, with its core (use-intl/core) for server code, emails and the worker. Its client runtime measured 11.6 KB gzipped, or 2.8 KB with its precompile option. For comparison: Lingui 3.4 KB, react-intl 14.9 KB, i18next 17.2 KB.
  • ICU messages in src/messages/*.json.
  • Three root layouts, so a signup's pages can say lang="sv" while help and legal stay static. This was spiked on Next 15.5.27 in Chromium.
  • Storage. The signup's language lives in its settings (no migration); the organizer's is a new column.

Order

Phase 0, groundwork, with no visible change. #620 comes first; #621 and #622 can be built alongside it.

  • #620 OpenSignup has no message catalogs or translator
  • #621 Every page is marked lang="en" (three root layouts)
  • #622 Slot dates and times can only be shown in US English
  • #623 Nothing checks the message catalogs, or catches new hard-coded text
  • #624 Translated client components would add about 12 KB of JavaScript (precompile)

Phase 1, participants in Swedish. The language reaches the pages before the text does, and Swedish can be chosen only at the end (#639).

  • #625 A signup has no language, and an instance has no default language
  • #626 Organizers have no saved language
  • #627 New signups don't start in their organizer's language
  • #628 Public signup pages always say lang="en"
  • #629 The public signup page and the sign-up dialog are English-only
  • #630 The edit, cancel and unsubscribe pages are English-only
  • #631 Sign-up errors can show participants the server's English text
  • #632 Participant emails are English-only
  • #633 The calendar file and share text are English
  • #634 New signups get English column names
  • #635 Magic Compose drafts in whatever language the model picks
  • #637 There's no guide for translating OpenSignup, and no Swedish glossary
  • #639 Signups can't be in Swedish yet (translation, native review, launch)
  • #640 Signups made before Swedish shipped stay in English (optional; decide after #639)

Later, filed once phase 1 has landed:

  • Phase 2: the organizer app in Swedish.
    • The app follows the organizer's saved language.
    • Organizer text moves into the catalog area by area, one PR each: the chrome and dashboard; account settings and connected apps; the signup header, tabs, banners and status labels; the Build tab; Responses and the CSV headers; New signup and Magic Compose; the sign-in pages and email; OAuth consent.
    • Organizer errors become codes; signup content shown to organizers is marked with its own lang.
    • Swedish translation and review.
  • Phase 3: landing, help and legal pages in other languages, under /sv/... URLs, kept static. Help articles per language, and legal translations if the operator wants them.
  • Phase 4: more languages, with Weblate once there's a third. #641 should land before Danish or Norwegian.

Not in this plan

  • Participants switching a page into their own language: #642, separate work.
  • Translating organizers' own content, timezones (#319), and right-to-left scripts.
  • API error text and MCP tool descriptions, which stay English for developers and models.

Open questions

  1. Who reviews the Swedish translation? It can't ship without a native speaker.
  2. Should opensignup.org's privacy policy and terms be translated, and which version would be binding?
  3. Should #640 be built, or should signups made before Swedish shipped stay as they are?
  4. Which languages come after Swedish?

The plan

The full plan is private to the owner's account: https://claude.ai/artifact/VgQH6U2s2EVx3LX991fJi8. Its decisions, risks and step-by-step detail are there, and a Claude session on that account can open it with the Artifact tool's read action. Two Fable reviewers went over it in seven rounds against the code. Checked against main at 35288fa.

Planned in https://claude.ai/code/session_01EFKmj716ZY3b3SwR8TV8Y2

Lingua principale
TypeScript
Stelle
19
Fork
4
Merge medio
22h 10m
PR unite (30g)
168

Preparare l'ambiente

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di richshaw/OpenSignup

Tutte le issue di richshaw/OpenSignup

Issue simili

Altre issue su TypeScript

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.