# Django 5.2.8 documentation

# Internationalisering och lokalisering

## Översikt

Målet med internationalisering och lokalisering är att en och samma webbapplikation ska kunna erbjuda sitt innehåll på språk och i format som är anpassade till målgruppen.

Django har fullt stöd för översättning av text, formatering av datum, tider och siffror och tidszoner.

Django gör i huvudsak två saker:

- Det gör det möjligt för utvecklare och mallförfattare att ange vilka delar av deras appar som ska översättas eller formateras för lokala språk och kulturer.

- Den använder dessa hooks för att lokalisera webbappar för vissa användare enligt deras preferenser.

Översättningen beror på målspråket, och formateringen beror vanligtvis på mållandet. Denna information tillhandahålls av webbläsare i `Accept-Language`-headern. Tidszonen är dock inte lättillgänglig.

## Definitioner

Orden ”internationalisering” och ”lokalisering” skapar ofta förvirring; här följer en förenklad definition:

internationalisering

  Förbereda programvaran för lokalisering. Görs vanligtvis av utvecklare.

lokalisering

  Skriva översättningarna och de lokala formaten. Görs vanligen av översättare.

Mer information finns i W3C Web Internationalization FAQ, Wikipedia-artikeln eller GNU gettext-dokumentationen.

Varning

Översättning styrs av inställningen `USE_I18N`. Det handlar dock om internationalisering och lokalisering. Namnet på inställningen är ett olyckligt resultat av Djangos historia.

Här är några andra termer som kan hjälpa oss att hantera ett gemensamt språk:

lokalt namn

  Ett lokalt namn, antingen en språkspecifikation av formen `ll` eller en kombinerad språk- och landsspecifikation av formen `ll_CC`. Exempel: `it`, `de_AT`, `es`, `pt_BR`, `r_Latn`. Språkdelen skrivs alltid med små bokstäver. Landet skrivs med versaler om det har mer än 2 tecken, annars skrivs det med versaler. Separatorn är ett understreck.

språkkod

  Representerar namnet på ett språk. Webbläsare skickar namnen på de språk de accepterar i HTTP-headern `Accept-Language` med detta format. Exempel på språk: `it`, `de-at`, `es`, `pt-br`. Språkkoder representeras i allmänhet med gemener, men HTTP-huvudet `Accept-Language` är okänsligt för gemener. Separatorn är ett bindestreck.

meddelandefil

  En meddelandefil är en fil i klartext som representerar ett enda språk och som innehåller alla tillgängliga översättningssträngar och hur de ska representeras på det givna språket. Meddelandefiler har filändelsen `.po`.

översättningssträng

  Ett bokstavligt ord som kan översättas.

format fil

  En formatfil är en Python-modul som definierar dataformaten för en viss lokal.