translations
Supabase security translations
These pages are language-specific versions of glossary terms. They exist only when we have high-quality localized copy — if a term isn’t translated yet, use the English canonical page.
What these Supabase security translations are
These pages are localized versions of glossary terms.
They exist only when real translated copy exists — no auto-translation placeholders.
Available Supabase security translation languages
| Language | hreflang | URL |
|---|---|---|
| Afrikaans | af-ZA | /translations/af |
| Azərbaycanca | az-AZ | /translations/az |
| Bahasa Indonesia | id-ID | /translations/id |
| Bahasa Melayu | ms-MY | /translations/ms |
| Basa Jawa | jv-ID | /translations/jv |
| Basa Sunda | su-ID | /translations/su |
| Bosanski | bs-BA | /translations/bs |
| Čeština | cs-CZ | /translations/cs |
| Chichewa | ny-MW | /translations/ny |
| Cymraeg | cy-GB | /translations/cy |
| Dansk | da-DK | /translations/da |
| Deutsch | de-DE | /translations/de |
| Eesti | et-EE | /translations/et |
| Español | es-ES | /translations/es |
| Euskara | eu-ES | /translations/eu |
| Français | fr-FR | /translations/fr |
| Gaeilge | ga-IE | /translations/ga |
| Galego | gl-ES | /translations/gl |
| Hausa | ha-NG | /translations/ha |
| Hrvatski | hr-HR | /translations/hr |
| Igbo | ig-NG | /translations/ig |
| isiXhosa | xh-ZA | /translations/xh |
| isiZulu | zu-ZA | /translations/zu |
| Íslenska | is-IS | /translations/is |
| Italiano | it-IT | /translations/it |
| Kinyarwanda | rw-RW | /translations/rw |
| Kirundi | rn-BI | /translations/rn |
| Kiswahili | sw-KE | /translations/sw |
| Kurdî (Sorani) | ckb-IQ | /translations/ckb |
| Latviešu | lv-LV | /translations/lv |
| Lëtzebuergesch | lb-LU | /translations/lb |
| Lietuvių | lt-LT | /translations/lt |
| Magyar | hu-HU | /translations/hu |
| Malagasy | mg-MG | /translations/mg |
| Malti | mt-MT | /translations/mt |
| Nederlands | nl-NL | /translations/nl |
| Norsk | no-NO | /translations/no |
| Oʻzbek | uz-UZ | /translations/uz |
| Polski | pl-PL | /translations/pl |
| Português | pt-PT | /translations/pt |
| Português (Brasil) | pt-BR | /translations/pt-br |
| Română | ro-RO | /translations/ro |
| Sesotho | st-LS | /translations/st |
| Setswana | tn-BW | /translations/tn |
| Shona | sn-ZW | /translations/sn |
| Shqip | sq-AL | /translations/sq |
| SiSwati | ss-SZ | /translations/ss |
| Slovenčina | sk-SK | /translations/sk |
| Slovenščina | sl-SI | /translations/sl |
| Soomaali | so-SO | /translations/so |
| Srpski | sr-RS | /translations/sr |
| Suomi | fi-FI | /translations/fi |
| Svenska | sv-SE | /translations/sv |
| Tagalog | tl-PH | /translations/tl |
| Tiếng Việt | vi-VN | /translations/vi |
| Tshivenda | ve-ZA | /translations/ve |
| Türkçe | tr-TR | /translations/tr |
| Türkmençe | tk-TM | /translations/tk |
| Xitsonga | ts-ZA | /translations/ts |
| Yorùbá | yo-NG | /translations/yo |
| Ελληνικά | el-GR | /translations/el |
| Беларуская | be-BY | /translations/be |
| Български | bg-BG | /translations/bg |
| Кыргызча | ky-KG | /translations/ky |
| Қазақша | kk-KZ | /translations/kk |
| Македонски | mk-MK | /translations/mk |
| Монгол | mn-MN | /translations/mn |
| Русский | ru-RU | /translations/ru |
| Тоҷикӣ | tg-TJ | /translations/tg |
| Українська | uk-UA | /translations/uk |
| ქართული | ka-GE | /translations/ka |
| Հայերեն | hy-AM | /translations/hy |
| עברית | he-IL | /translations/he |
| اردو | ur-PK | /translations/ur |
| العربية | ar-SA | /translations/ar |
| پښتو | ps-AF | /translations/ps |
| سنڌي | sd-PK | /translations/sd |
| فارسی | fa-IR | /translations/fa |
| አማርኛ | am-ET | /translations/am |
| नेपाली | ne-NP | /translations/ne |
| मराठी | mr-IN | /translations/mr |
| বাংলা | bn-BD | /translations/bn |
| ਪੰਜਾਬੀ | pa-IN | /translations/pa |
| ગુજરાતી | gu-IN | /translations/gu |
| ଓଡ଼ିଆ | or-IN | /translations/or |
| தமிழ் | ta-IN | /translations/ta |
| తెలుగు | te-IN | /translations/te |
| ಕನ್ನಡ | kn-IN | /translations/kn |
| മലയാളം | ml-IN | /translations/ml |
| සිංහල | si-LK | /translations/si |
| ไทย | th-TH | /translations/th |
| ລາວ | lo-LA | /translations/lo |
| မြန်မာ | my-MM | /translations/my |
| ខ្មែរ | km-KH | /translations/km |
| 한국어 | ko-KR | /translations/ko |
| 中文 | zh-CN | /translations/zh |
| 中文 (简体) | zh-CN | /translations/zh-cn |
| 中文 (繁體) | zh-TW | /translations/zh-tw |
| 日本語 | ja-JP | /translations/ja |
What a translated term page includes
- A localized introduction (optimized for native-language intent, not literal translation).
- A plain-language explanation of the term and why it matters in Supabase security.
- A practical detection checklist (what to test in your own project).
- A fix pattern that prioritizes backend-only access and verification.
- Links back to the English canonical page plus related templates/integrations.
How hreflang is handled
- Each translation page references its English canonical term page.
- Language indices map to available translated terms only.
- Pages are skipped if translated copy is missing.
Why some terms aren’t translated yet
We’d rather publish fewer translations that are clear and actionable than publish a lot of low-signal pages.
- Some terms are missing because we haven’t written a useful localized explanation yet.
- Some terms are missing because the fix guidance would be incomplete without the right examples and verification steps.
- When in doubt, use the English canonical page for maximum technical precision.
If a translation isn’t available, it’s not a broken link — it’s intentionally not published yet.
How to keep translations high quality at scale
- Store culturally localized introductions per language (not word-for-word translations).
- Keep technical terms consistent and define them clearly.
- Include examples and verification checklists in the native language when possible.
- Skip pages without sufficient localized content.
Internal linking strategy for translations
- Link to the language index (parent).
- Link to sibling translated terms.
- Cross-link to the English glossary term and relevant templates/integrations.
SEO notes (canonical, intent, and avoiding duplication)
Translation pages should satisfy native-language intent, not just mirror English copy.
- English remains canonical for the term’s core definition.
- hreflang helps search engines serve the right language to the right user.
- Primary keywords differ per language, reducing cross-language cannibalization.
The end goal is a better user experience: a reader can understand the concept and take action without switching languages mid-task.
How to add a new translated term (recommended workflow)
If you’re extending translations internally, treat it like product content — not like a mechanical translation task.
- Start from a real query pattern in that language (what users actually search).
- Write a localized introduction that matches that intent.
- Translate the beginner definition, then add practical detection and fix guidance in the same language.
- Link to the canonical English page for deep technical detail and keep terminology consistent.
- Make sure the page still includes a clear “how to verify” step so readers can prove the boundary is real.
Common mistakes with translated security content
- Literal translations that don’t match native-language intent.
- Skipping verification steps and relying on what the UI “seems” to do.
- Inconsistent terminology for core concepts (RLS, grants, service_role, signed URLs).
- Translating everything shallowly instead of translating high-impact terms deeply.
Translation quality rubric (what “good” looks like)
Use this as a checklist when you add new translated content:
- The introduction is localized for intent (not a literal translation).
- The page includes detection and fix guidance in the native language.
- Technical terms are consistent across pages (or defined clearly if kept in English).
- The page links to canonical English and to implementation pages (templates/integrations).
- You can still take action: reproduce → fix → verify.
If you can’t meet these, skip the page until you have better localized data. That’s how you avoid thin translations at scale.
Localization notes (beyond translating words)
Security content often fails in translation because the reader’s intent differs by language and region.
When you localize, prioritize clarity and actionability:
- Use a localized intro that matches how builders describe the problem in that language.
- Keep verification steps explicit; “try direct access” should be clear even to non-experts.
- Define technical terms (RLS, grants, service_role) consistently so pages don’t contradict each other.
- Prefer short, concrete examples over abstract theory when space is limited.
This keeps translation pages evergreen and genuinely useful instead of a thin mirror of English.
How to expand translation coverage safely
If you want to add more translated pages, prioritize depth over breadth:
- Translate the highest-impact glossary terms first (the ones most tied to real fixes).
- Include detection and verification steps in the target language, not only definitions.
- Keep internal linking intact: parent index, sibling translations, and cross-links to templates/integrations.
- Skip any page where the localized copy can’t be made clear and actionable.
This prevents large batches of thin pages and keeps translations genuinely helpful.
A good default is to translate a small set of terms deeply, then expand only when you can keep examples and verification steps consistent across pages.
As you expand, keep a simple per-language style guide so terminology and checklists stay consistent.
Next step
Pick a language and browse available translated terms. If a term isn’t translated, the page won’t exist — by design.
FAQ
Are these translations auto-generated?
No. Pages exist only when real translated copy exists. If a term isn’t translated yet, you won’t see a page for it.
Do translation pages have hreflang mappings?
Yes. When translated siblings exist, pages expose language alternates so search engines can route users correctly.
How do you avoid duplicate intent across languages?
Each page targets native-language queries and includes a localized introduction. The primary keyword differs per language.
Next step
Pick a language and start with the highest-impact terms. If the term you need isn’t translated yet, use the English canonical page and follow links to templates and examples to apply and verify the fix.