Internationalization (i18n) Architecture for Supabase Studio #41896
Replies: 2 comments
|
+1 on this. I use Supabase for my own project and the hardcoded English strings in Studio have always stood out to me as something that'll need to change eventually. @aiyi404's phased approach makes sense. Starting with infrastructure and one isolated page before touching the rest keeps the risk low. I've been building i1n (github.com/Pakvothe/i1n-cli), a localization CLI that handles AI translation + TypeScript type generation. I'd be happy to help with the translation workflow side of this if the team decides to move forward. The tooling could handle the initial bulk translation across languages and keep things in sync as Studio evolves. Either way, would be great to hear from the Supabase team on whether this is something they'd accept community PRs for. |
|
@aiyi404 thanks for the detailed proposal. Two dimensions worth flagging before any string is extracted: 1. ICU MessageFormat should be decided before the first string is extracted. Retrofitting ICU later is expensive. Arabic alone has six CLDR plural forms (zero, one, two, few, many, other), and gender/select syntax matters once translations move beyond English-shaped strings. This also ties into @Pakvothe's tooling proposal. ICU-aware schemas significantly improve the quality of AI-assisted bulk translation in morphologically rich locales, so the schema decision affects the translation workflow as well. 2. RTL is a parallel concern, not an extension of i18n. Most RTL work (logical properties One low-cost step that would protect against future debt: a lint rule banning physical properties ( |
Uh oh!
There was an error while loading. Please reload this page.
Title: [Proposal] Internationalization (i18n) Architecture for Supabase Studio
Hi Supabase Team and Community,
I am a huge fan of Supabase and have been using it extensively. As the community continues to grow globally, I believe adding Internationalization (i18n) support to the Supabase Studio (Dashboard) would be a significant step forward. It would lower the barrier to entry for non-English speakers and further boost Supabase's adoption in regions like East Asia, Latin America, and Europe.
I understand that
apps/studiois a large Next.js application and that retrofitting i18n is a massive undertaking. Therefore, I am proposing a gradual, non-disruptive strategy to implement this, and I am willing to volunteer to set up the infrastructure.🐛 The Problem
Currently, all UI strings in the Studio are hardcoded in English within the
.tsxfiles. This makes it impossible to support other languages without forking the project, which limits accessibility for global developers.💡 The Proposed Solution
Since the Studio is built on Next.js, I propose integrating a standard i18n library.
Technical Stack Choice:
I suggest using
next-i18next(based oni18next) ornext-intl.apps/studio/locales/en/common.json), making it easy for the community to contribute translations via platforms like Crowdin or simple PRs later.🗓 Implementation Plan (The "Incremental" Approach)
To avoid a "Code Bomb" (a massive PR that is impossible to review), I propose breaking this down into strictly defined phases:
Phase 1: Infrastructure (RFC & Setup)
next.config.jsand i18n providers.Phase 2: MVP (Proof of Concept)
en.json.t('settings.title')).Phase 3: Community Adoption (The Long Run)
❓ Questions for the Maintainers
Before I start working on a PR, I would love to hear your thoughts:
next-i18next,react-intl,linguijs, etc.)I am happy to take the lead on the initial infrastructure setup if this aligns with the project's goals.
Looking forward to your feedback!
Best regards,
All reactions