Skip to content

Internationalization (i18n)

Internationalization (i18n) is the software engineering process of designing an application so it can easily adapt to different languages without requiring structural code changes. vanityURLs detects the browser language from the request and sends localized English, French, German, Italian, and Spanish web pages when they are available. The English page is sent when there is no localized page for the requested ISO language code.

Supported Languages

CodeLanguage
enEnglish
frFrench
esSpanish
itItalian
deGerman

Localized Pages

The default public pages are available in the localized language directories under defaults/public/{language}/.

SlugEnglish page titlePage roleLocalized variants
404.htmlThis short link does not existUnknown short links and missing pagesen, fr, es, it, de
abuse.htmlTrust & SafetyAbuse reporting and coordinated vulnerability disclosureen, fr, es, it, de
disabled.htmlThis short link has been disabledDisabled link stateen, fr, es, it, de
expired.htmlThis short link is expiredExpired link stateen, fr, es, it, de
index.htmlVanityURLs short linksHomepage and short-link search formen, fr, es, it, de
maintenance.htmlThis link is temporarily not availableMaintenance link stateen, fr, es, it, de
privacy.htmlPrivacyPrivacy notice generated from operator configurationen, fr, es, it, de
terms.htmlTermsTerms generated from operator configurationen, fr, es, it, de

The installer writes supported languages to custom/v8s-site-config.json:

{
  "i18n": {
    "default_language": "en",
    "supported_languages": ["en", "fr", "es", "it", "de"]
  }
}

Keep en enabled unless you have a specific reason to remove generated English pages. During build, vanityURLs copies default public assets, overlays custom/public, and removes unsupported language directories from build/.

When you customize public pages, update only the languages you intend to support and keep i18n.supported_languages aligned with those pages.

Localized custom overrides use the language code as the first directory segment:

custom/public/fr/index.html
custom/public/fr/privacy.html
custom/public/es/404.html
custom/public/de/maintenance.html
custom/public/it/expired.html

Localized Badges

English light redirected badge

Each supported language also has localized redirected badges:

defaults/public/en/v8s-redirected.svg
defaults/public/en/v8s-redirected-dark.svg
defaults/public/fr/v8s-redirected.svg
defaults/public/fr/v8s-redirected-dark.svg
defaults/public/es/v8s-redirected.svg
defaults/public/es/v8s-redirected-dark.svg
defaults/public/it/v8s-redirected.svg
defaults/public/it/v8s-redirected-dark.svg
defaults/public/de/v8s-redirected.svg
defaults/public/de/v8s-redirected-dark.svg

The light badge is used by default. The dark badge is selected when the visitor’s browser prefers a dark color scheme.

Edit this page Last modified: