<a id="languages"></a>

# Språkliga definitioner

To present different translations properly, info about language name,
text direction, plural definitions and language code are needed.

<a id="included-languages"></a>

## Inbyggda språldefinitioner

Definitioner för cirka 800 språk ingår i Weblate och listan utökas i varje release. Varje gång Weblate uppgraderas (mer specifikt varje gång [`migrate`](https://docs.weblate.org/sv/latest/admin/management.md#weblate-admin-migrate) körs, se [Generella uppgraderingsinstruktioner](https://docs.weblate.org/sv/latest/admin/upgrade.md#generic-upgrade-instructions)) uppdateras språkdatabasen så att den innehåller alla språkteckningar som finns i Weblate.

Norwegian Bokmål now uses `nb` as its built-in language code. Weblate also
accepts `nb_NO` for existing files and locally added languages. Language
setup moves existing `nb_NO` languages to `nb` unless their translations
or settings conflict with an existing `nb` language. Translation file names
remain unchanged.

Denna funktion kan inaktiveras med [`UPDATE_LANGUAGES`](https://docs.weblate.org/sv/latest/admin/config.md#std-setting-UPDATE_LANGUAGES). Du kan också tvinga fram en uppdatering av databasen så att den matchar Weblates inbyggda data med [`setuplang`](https://docs.weblate.org/sv/latest/admin/management.md#weblate-admin-setuplang).

#### SEE ALSO
* [Utöka inbyggda språkteckningar](https://docs.weblate.org/sv/latest/contributing/modules.md#extending-languages)
* [Aktuella språldefinitioner](https://github.com/WeblateOrg/language-data/blob/main/languages.csv)

<a id="language-parsing-codes"></a>

## Analysera språkkoder

När Weblate analyserar översättningar försöker det mappa språkkoden (vanligtvis ISO 639-1) från [Filmask](https://docs.weblate.org/sv/latest/admin/projects.md#component-filemask) till ett befintligt språkojekt.

Du kan justera denna mappning ytterligare på projektnivå genom [Språkalias](https://docs.weblate.org/sv/latest/admin/projects.md#project-language-aliases).

Om ingen exakt matchning kan hittas, kommer ett försök att göras för att bäst anpassa det till ett befintligt språk. Följande steg försöks:

* Sökningar som inte är skiftlägeskänsliga.
* Normalisering av understrykningstecken och bindestreck.
* Söka efter inbyggda språkalias.
* Sökning efter språknamn.
* Ignorera standardlandskoden för ett visst språk – välj `cs` istället för `cs_CZ`.

Om även det misslyckas skapas en ny språkteckning med standardinställningarna (textriktning från vänster till höger, en pluralform). Det automatiskt skapade språket med koden `xx_XX` kommer att namnges xx_XX (genererat). Du kanske vill ändra detta senare i administratörsgränssnittet (se [Ändra språkinställningar](#changing-languages)) och rapportera det till felrapporteringssystemet (se [Bidra till Weblate](https://docs.weblate.org/sv/latest/contributing/index.md#contributing)), så att rätt definition kan läggas till i nästa version av Weblate.

#### HINT
Om du ser något oönskat som språk kan du justera [Språkfilter](https://docs.weblate.org/sv/latest/admin/projects.md#component-language-regex) för att ignorera sådana filer när översättningar analyseras.

#### SEE ALSO
* [Språkkod](#language-code)
* [Lägga till nya översättningar](https://docs.weblate.org/sv/latest/devel/translations.md#adding-translation)

<a id="changing-languages"></a>

## Ändra språkinställningar

Du kan ändra språkteckningar i språkgränssnittet (`/languages/` URL).

Se till att alla fält är korrekta när du redigerar (särskilt pluralformer och textriktning), annars kan översättarna inte redigera översättningarna på rätt sätt.

#### HINT
Vänligen överväg att bidra med dina ändringar, se [Utöka inbyggda språkteckningar](https://docs.weblate.org/sv/latest/contributing/modules.md#extending-languages).

<a id="ambiguous-languages"></a>

## Tvetydiga språkkoder och makrospråk

I många fall är det inte en bra idé att använda makrospråkkoder för översättning. Ett typiskt problematiskt fall är kurdiska språket, som kan skrivas med arabiska eller latinska bokstäver, beroende på den aktuella varianten. För att få korrekt funktion i Weblate rekommenderas att endast använda enskilda språkkoder och undvika makrospråk.

#### SEE ALSO
[Makrospråk på Wikipedia](https://en.wikipedia.org/wiki/ISO_639_macrolanguage)

<a id="id1"></a>

## Språkliga definitioner

Varje språk består av följande fält:

<a id="language-code"></a>

### Språkkod

Kod som identifierar språket. Weblate föredrar tvåbokstavskoder enligt definitionen i [ISO 639-1](https://en.wikipedia.org/wiki/ISO_639-1), men använder [ISO 639-2](https://en.wikipedia.org/wiki/ISO_639-2) eller [ISO 639-3](https://en.wikipedia.org/wiki/ISO_639-3) för språk som inte har tvåbokstavskoder. Det kan också stödja utökade koder enligt definitionen i [BCP 47](https://www.rfc-editor.org/info/bcp47).

#### SEE ALSO
* [Analysera språkkoder](#language-parsing-codes)
* [Lägga till nya översättningar](https://docs.weblate.org/sv/latest/devel/translations.md#adding-translation)

<a id="language-name"></a>

### Språknamn

Synligt namn på språket. Språknamnen som ingår i Weblate lokaliseras också beroende på språket i användargränssnittet.

<a id="language-direction"></a>

### Textriktning

Avgör om språket skrivs från höger till vänster eller från vänster till höger. Denna egenskap detekteras automatiskt korrekt för de flesta språk.

<a id="language-population"></a>

### Antal talare

Antal talare av detta språk världen över.

<a id="plural-definitions"></a>

## Pluraldefinitioner

Weblate har en inbyggd uppsättning pluraldefinitioner. Dessa baseras på filformatspecifikationer, CLDR och andra källor.

#### WARNING
Att göra ändringar i de inbyggda pluraldefinitionerna kommer sannolikt inte att ge önskad effekt, eftersom dessa regler måste stämma överens med den underliggande implementeringen.

Changing plural number or formula will affect only displaying of the
strings, but not parsing and storing strings to the files. Should you think
Weblate behaves incorrectly, please file an issue in our issue tracker.

<a id="plural-number"></a>

### Plural

Antal pluralformer som används i språket.

<a id="plural-formula"></a>

### Pluralformel

Gettext-kompatibel pluralformel som används för att avgöra vilken pluralform som ska användas för ett givet antal.

The formula uses the same expression syntax as the `plural=` part of the
Gettext `Plural-Forms` header. The `nplurals` value sets how many plural
forms the language has, and the formula returns the zero-based index of the
plural form to use for a count `n`.

Weblate validates the formula using the Gettext parser provided by Python.
The accepted syntax is a C-like integer expression with `n` as the only
variable. It can use decimal numbers, parentheses, arithmetic operators
(`+`, `-`, `*`, `/`, `%`), comparison and equality operators,
logical operators (`&&`, `||`, `!`), and the ternary operator
(`condition ? value1 : value2`). The result must be between `0` and
`nplurals - 1`.

For example, English uses:

```text
nplurals=2; plural=n != 1;
```

#### SEE ALSO
* [Pluralformer](https://docs.weblate.org/sv/latest/user/translating.md#plurals)
* [GNU gettext manual for plural forms](https://www.gnu.org/software/gettext/manual/gettext.html#Plural-forms)
* [GNU gettext plural formula parser](https://cgit.git.savannah.gnu.org/cgit/gettext.git/tree/gettext-runtime/intl/plural.y)
* [Språkliga pluralregler enligt Unicode Consortium](https://www.unicode.org/cldr/charts/43/supplemental/language_plural_rules.html)
