Note that there are some explanatory texts on larger screens.

plurals
  1. POWhat are the best practices for multilanguage sites?
    primarykey
    data
    text
    <p>I want to make a multi-language site, such that all or <em>almost</em> all pages will be available in 2 or more translations. What are the best practices to follow?</p> <p>For example, I consider these language selection mechanisms:</p> <ol> <li>Cookie-based selection of the preferred language.</li> <li>Based on <code>Accept-Language</code> header if the cookie is not set.</li> <li>Based on GeoIP otherwise (probably).</li> </ol> <p>Is there anything else?</p> <p>How should different translations be served?</p> <ol> <li>as <code>LANG.example.com/page</code></li> <li>as <code>example.com/LANG/page</code></li> <li>as <code>example.com/page?hl=LANG</code></li> <li>...</li> <li>any of the above with a redirect to <code>example.com/page</code>? (It seems to be <a href="/questions/368570/">discouraged</a>)</li> </ol> <p>How to ensure that all the translations are properly indexed?</p> <ol> <li>Sitemaps with all pages + correct <code>Content-Language</code> header are enough?</li> </ol> <p>What is the best way to let the users know there are other translations, but do not distract them?</p> <ol> <li>list available languages in the header/footer/sidebar (like Wikipedia)</li> <li>put “Choose a language” selector next to the content</li> </ol> <p>What is the best policy to deal with missing/outdated translations?</p> <ol> <li>do not display missing pages at all or display a page in a different language?</li> <li>display old translation, old translation with a warning or a page in a different language?</li> </ol> <p>What else should I take into account? What should I do and what I definitely should not?</p>
    singulars
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload