Lokalisering filformat

Weblate stöder ett brett utbud av översättningsformat. Varje format är något olika och erbjuder olika funktioner.

Råd

När du väljer ett filformat för din applikation är det bättre att hålla sig till ett väl etablerat format i det verktyg/den plattform du använder. På så sätt kan dina översättare dessutom använda de verktyg de är vana vid, vilket ökar sannolikheten att de bidrar till ditt projekt.

Automatisk igenkänning

Weblate försöker upptäcka filformatet under Lägga till översättningsprojekt och komponenter. Detekteringen kan vara felaktig för olika varianter av samma serialiseringsformat (JSON, YAML, egenskaper) eller filkodning, så kontrollera att Filformat är korrekt innan du skapar komponenten.

Översättningstyper och funktioner

Funktioner för alla format som stöds

Format

Lingualitet [1]

Pluralformer [2]

Beskrivningar [3]

Kontext [4]

Plats [5]

Flaggor [8]

Ytterligare stater [6]

GNU gettext PO (Portable Object)

tvåspråkig

ja

ja

ja

ja

ja [9]

behöver redigeras

Enspråkig gettext

mono

ja

ja

ja

ja

ja [9]

behöver redigeras

XLIFF 1.1 och 1.2

båda

ja

ja

ja

ja

ja

behöver redigeras, godkänd

Java-egenskaper

båda

nej

ja

nej

nej

nej

draggable/i18n-språkfiler

mono

nej

ja

nej

nej

nej

GWT-egenskaper

mono

ja

ja

nej

nej

nej

Joomla-översättningar

mono

nej

ja

nej

ja

nej

Qt Linguist .ts

båda

ja

ja

nej

ja

ja

behöver redigeras

Android-strängresurser

mono

ja

ja [7]

nej

nej

ja

Apple iOS-strängar

båda

nej

ja

nej

nej

nej

PHP-strängar

mono

nej [10]

ja

nej

nej

nej

JSON-filer

mono

nej

nej

nej

nej

nej

i18next JSON-filer

mono

ja

nej

nej

nej

nej

go-i18n JSON-filer

mono

ja

ja

nej

nej

nej

gotext JSON-filer

mono

ja

ja

nej

ja

nej

ARB-fil

mono

ja

ja

nej

nej

nej

WebExtension JSON

mono

ja

ja

nej

nej

nej

.NET-resursfiler (RESX, RESW)

mono

nej

ja

nej

nej

ja

ResourceDictionary-filer

mono

nej

nej

nej

nej

ja

CSV-filer

båda

nej

ja

ja

ja

nej

behöver redigeras

YAML-filer

mono

nej

nej

nej

nej

nej

Ruby YAML-filer

mono

ja

nej

nej

nej

nej

DTD-filer

mono

nej

nej

nej

nej

nej

Flata XML-filer

mono

nej

nej

nej

nej

ja

Windows RC-filer

mono

nej

ja

nej

nej

nej

Excel Open XML

mono

nej

ja

ja

ja

nej

behöver redigeras

Metadata-filer för App store

mono

nej

nej

nej

nej

nej

Subtitle-filer

mono

nej

nej

nej

ja

nej

HTML-filer

mono

nej

nej

nej

nej

nej

Markdown-filer

mono

nej

nej

nej

nej

nej

OpenDocument-format

mono

nej

nej

nej

nej

nej

IDML-format

mono

nej

nej

nej

nej

nej

INI-översättningar

mono

nej

nej

nej

nej

nej

Inno Setup INI-översättningar

mono

nej

nej

nej

nej

nej

TermBase eXchange-format

tvåspråkig

nej

ja

ja

nej

ja

Text-filer

mono

nej

nej

nej

nej

nej

Stringsdict-format

mono

ja

nej

nej

nej

nej

Fluent-format

mono

nej [11]

ja

nej

nej

nej

Tvåspråkiga och enspråkiga format

Både monolingual och bilingual format stöds. Tvåspråkiga format lagrar två språk i en enda fil – källspråk och översättning (typiska exempel är GNU gettext PO (Portable Object), XLIFF 1.1 och 1.2 eller Apple iOS-strängar). Å andra sidan identifierar enspråkiga format strängen med hjälp av ID, och varje språkfil innehåller endast mappningen av dessa till ett visst språk (vanligtvis Android-strängresurser). Vissa filformat används i båda varianterna, se den detaljerade beskrivningen nedan.

För korrekt användning av enspråkiga filer kräver Weblate åtkomst till en fil som innehåller en komplett lista över strängar som ska översättas med deras källa. Denna fil kallas Enspråkig basspråkfil inom Weblate, men namnet kan variera beroende på ditt paradigm.

Dessutom kan detta arbetsflöde utökas genom att använda Mellanliggande språkfil för att inkludera strängar som tillhandahålls av utvecklare, men som inte ska användas som de är i de slutliga strängarna.

Strängtillstånd

Många filformat skiljer endast mellan ”Oöversatta” och ”Översatta” strängar. Med vissa format är det möjligt att lagra mer detaljerad statusinformation, såsom ”Behöver redigeras” eller ”Godkänt”.

Beskrivning av källsträng

Källsträngbeskrivningar kan användas för att vidarebefordra ytterligare information om strängen som ska översättas.

Flera format har inbyggt stöd för att tillhandahålla ytterligare information till översättare (till exempel XLIFF 1.1 och 1.2, GNU gettext PO (Portable Object), WebExtension JSON, CSV-filer, Excel Open XML, Qt Linguist .ts, go-i18n JSON-filer, gotext JSON-filer, ARB-fil, .NET-resursfiler (RESX, RESW)). Många andra format extraherar närmaste kommentar som källsträngbeskrivning.

Förklaring

Den Förklaring om strängar kan lagras och analyseras från några filformat.

Stöds för närvarande endast i TermBase eXchange-format.

Källsträngens plats

Placeringen av en sträng i källkoden kan hjälpa skickliga översättare att förstå hur strängen används.

Denna information finns vanligtvis tillgänglig i tvåspråkiga format där strängar extraheras från källkoden med hjälp av verktyg. Till exempel GNU gettext PO (Portable Object) och Qt Linguist .ts.

Översättningsflaggor

Översättningsflaggor gör det möjligt att anpassa Weblates beteende. Vissa format stöder definition av dessa i översättningsfilen (du kan alltid definiera dem i Weblate-gränssnittet, se Anpassa beteende med hjälp av flaggor).

Denna funktion är utformad efter flaggorna i GNU gettext PO (Portable Object).

Dessutom extraheras flaggorna för alla XML-baserade format från det icke-standardiserade attributet weblate-flags. Dessutom stöds max-length:N genom attributet maxwidth attribute enligt definitionen i XLIFF-standarden, se Ange översättningsflaggor.

Sammanhang

Kontext används för att skilja identiska strängar i ett tvåspråkigt format som används i olika sammanhang (till exempel kan Sun användas som en förkortning av dagen ”Sunday” eller som namnet på vår närmaste stjärna).

För enspråkiga format kan strängidentifieraren (ofta kallad nyckel) tjäna samma syfte och ytterligare kontext är inte nödvändig.

Pluraliserade strängar

Pluralformer är nödvändiga för att korrekt lokalisera strängar med varierande antal. Reglerna beror på målspråket och många format följer CLDR-specifikationen för detta.

Råd

Pluralisering av strängar kräver också korrekt stöd från applikationsramverket. Välj plattformens inbyggda format, till exempel GNU gettext PO (Portable Object), Android-strängresurser eller Stringsdict-format.

Skrivskyddade strängar

Skrivskyddade strängar från översättningsfiler kommer att inkluderas, men kan inte redigeras i Weblate. Denna funktion stöds inbyggt av få format (XLIFF 1.1 och 1.2 och Android-strängresurser), men kan emuleras i andra genom att lägga till en skrivskyddad flagga, se Anpassa beteende med hjälp av flaggor.

Stöd för andra format

De flesta format som stöds av translate-toolkit och som stöder serialisering kan enkelt stödjas, men de har (ännu) inte testats. I de flesta fall behövs ett extra tunt lager i Weblate för att dölja skillnader i beteendet hos olika lagringsplatser.

För att lägga till stöd för ett nytt format är det bästa sättet att först implementera stöd för det i translate-toolkit.

Filformatsparametrar

Filformatparametrarna gör det möjligt att konfigurera inställningar relaterade till filformatet. De konfigureras på komponentnivå och gör det möjligt att anpassa hur filanalys och serialisering hanteras.

Lista över filformatsparametrar

Parameternamn

Filformat

Etikett

Hjälptext

flatxml_key_name

  • flatxml

FlatXML-nyckelnamn

flatxml_root_name

  • flatxml

FlatXML-rotnamn

flatxml_värdenamn

  • flatxml

FlatXML-värdenamn

json_indent

  • json

  • json-nested

  • webextension

  • i18next

  • i18nextv4

  • arb

  • go-i18n-json

  • go-i18n-json-v2

  • formatjs

  • gotext

JSON-indentering

json_indent_style

  • json

  • json-nested

  • webextension

  • i18next

  • i18nextv4

  • arb

  • go-i18n-json

  • go-i18n-json-v2

  • formatjs

  • gotext

Stil för indentering av JSON

Tillgängliga alternativ:

spaces

Mellanslag

tabs

Tabbar

json_sort_keys

  • json

  • json-nested

  • webextension

  • i18next

  • i18nextv4

  • arb

  • go-i18n-json

  • go-i18n-json-v2

  • formatjs

  • gotext

Sortera JSON-nycklar

json_use_compact_separators

  • json

  • json-nested

  • webextension

  • i18next

  • i18nextv4

  • arb

  • go-i18n-json

  • go-i18n-json-v2

  • formatjs

  • gotext

Undvik mellanslag efter avgränsare

po_fuzzy_matching

  • po

Använd fuzzy-matchning

po_behåll_föregående

  • po

Behåll tidigare msgid för översatta strängar

po_line_wrap

  • po

  • po-mono

Radbrytning av långa rader

Som standard bryter gettext rader vid 77 tecken och vid radbrytningar. Med parametern --no-wrap bryts rader endast vid radbrytningar.

Tillgängliga alternativ:

77

Radbyt efter 77 tecken och vid radbrytningar (standard för xgettext)

65535

Vik endast rader vid radbrytningar (som xgettext --no-wrap)

-1

Ingen radbrytning

po_no_location

  • po

Inkludera inte platsinformation i filen

xml_slut-taggar

  • ts

  • plainxliff

  • xliff

  • poxliff

  • resx

  • aresource

  • moko-resource

  • cmp-resource

  • tbx

Inkludera avslutande tagg för tomma XML-taggar

yaml_indent

  • yaml

  • ruby-yaml

YAML-indentering

yaml_line_break

  • yaml

  • ruby-yaml

Radbrytningar

Tillgängliga alternativ:

dos

DOS (\r\n)

unix

UNIX (\n)

mac

MAC (\r)

yaml_line_wrap

  • yaml

  • ruby-yaml

Radbrytning av långa rader

Tillgängliga alternativ:

80

Radbryt efter 80 tecken

100

Radbyte efter 100 tecken

120

Radbyte efter 120 tecken

180

Radbyte efter 180 tecken

65535

Ingen radbrytning