Skip to content

Web development

There are some conventions and best practices around several web development topics that might save reinventing wheels.

The URL determines the language of a page. A saved preference or browser setting must not override a language-specific URL, including default-language content paths without a locale prefix. This keeps shared links, bookmarks and search results in the language they identify.

Use this decision tree when handling a page request:

Language-specific URL?
|-- Yes -> Render the URL's language
`-- No (language-neutral entry point)
|-- Saved, supported language choice? -> Use that language
|-- Supported Accept-Language match? -> Use the best match
`-- Otherwise -> Use the site's default language

Language negotiation applies only at a designated language-neutral entry point, such as / when the site’s routing defines it as neutral. Redirect to the selected language before rendering content. The Accept-Language header is a hint when the URL and saved choice do not select a language; it must not override an explicit choice. Do not switch languages automatically after the page renders.

The language selector navigates to the corresponding localized page and remembers the user’s choice in a cookie that the server can read. Opening a localized link does not change the saved preference. Display language names in their own language:

Language menu showing languages in their own language

On sign up, use the current website language as the initial account language for emails. Users can change that preference in their profile independently of the current page’s language.

Do’s:

  • Use locale specific URLS to make language switching easy to implement.
  • Use html tags to help search engines find similar page content in different languages and/or countries (locales).

Don’ts:

  • Don’t work with flags as there’s most often no 1:1 relation between country and languages spoken.

This is a mix between company ‘personality’ and what’s expected when writing for a certain locale.

As an example for how we approach nl-NL:

Tone of voice for d-centralize company can be extracted from the brand styleguide. Some keywords: trust, openness, quality, creativity, fun. So, writing is best done in informal tone (je instead of u) without. Humorous bits of text are appreciated as long as the bulk is serious.

Comparing this to de-DE: we’re still the same company, but we adjust communication towards using more formal language which is appreciated in business to business communication.

We want to be consistent across the website with how we capitalize letters. We should follow these guidelines to ensure a professional and cohesive appearance. By maintaining uniform capitalization practices, we can enhance readability, improve user experience, and uphold our brand’s standards.