bcquality/custom/knowledge/architecture/xliff-translation-workflow.md
Michael Dieringer f0b473e106 translate
2026-06-14 15:56:45 +02:00

3.8 KiB

bc-version domain keywords technologies countries application-area
all
architecture
xliff
translation
xlf
caption
tooltip
enu
da-dk
de-de
no-nb
sv-se
de-at
al
w1
all

Description

CURABIS apps support the following locales: da-DK, de-DE, de-AT, nb-NO, sv-SE. XLIFF translation is a batch operation — never line-by-line. The agent must translate all trans-units in one pass without asking questions per string.

Tone and register

Follow Microsoft Business Central's translation tone for each locale:

  • da-DK: Kort, direkte, professionel. Undgå høfligheds-De. Brug infinitiv frem for bydeform. Brug BC-standardtermer: "Bogfør" ikke "Send til bogføring", "Kreditor" ikke "Leverandør", "Finanspost" ikke "Finansregistrering".
  • de-DE: Formell, Sie-Form. BC-Standardterminologie: "Buchen", "Kreditor", "Sachposten". Substantive großschreiben.
  • de-AT: Identisch mit de-DE. Keine österreichischen Dialektvarianten.
  • nb-NO: Kort og profesjonell. BC-standardtermer: "Bokfør", "Leverandør", "Finanspost". Bruk infinitiv.
  • sv-SE: Kort, professionell. BC-standardtermer: "Bokför", "Leverantör", "Redovisningspost". Undvik dialekt.

Workflow — one pass, no questions

When asked to translate an XLIFF file:

  1. Read the entire source .g.xlf file in one operation
  2. Translate ALL trans-units in memory
  3. Write the complete translated file in one operation
  4. Do not ask questions about individual strings
  5. Do not pause between strings
  6. Do not ask for confirmation per trans-unit

If a term is ambiguous, apply the BC standard term for that locale and add a single summary comment at the end — never interrupt the translation to ask.

Terms that must NOT be translated

The following must remain in English in all locales:

  • Object names used as identifiers (e.g. "Settlement Voucher")
  • Field names that are part of the AL identifier (e.g. "Qty. to Invoice")
  • Company names, product names, app names

Trans-unit structure

<trans-unit id="..." size-unit="char" translate="yes" xml:space="preserve">
  <source>Post</source>
  <target state="translated">Bogfør</target>  ← da-DK example
  <note from="Developer" annotates="source" priority="2">Button caption</note>
</trans-unit>

State must always be translated — never needs-translation or new.

Common BC terms reference

ENU da-DK de-DE nb-NO sv-SE
Post Bogfør Buchen Bokfør Bokför
Vendor Kreditor Kreditor Leverandør Leverantör
Customer Debitor Debitor Kunde Kund
Item Vare Artikel Vare Artikel
G/L Entry Finanspost Sachposten Finanspost Redovisningspost
Amount Beløb Betrag Beløp Belopp
Quantity Antal Menge Antall Antal
Invoice Faktura Rechnung Faktura Faktura
Receipt Kvittering Empfangsschein Kvittering Inleverans
Settlement Afregning Abrechnung Avregning Avräkning
Voucher Bilag Beleg Bilag Verifikation
Cash Kontant Bar Kontant Kontant
Threshold Grænse Grenzwert Grense Gräns
Incoming Indgående Eingehend Inngående Inkommande
Outgoing Udgående Ausgehend Utgående Utgående
Handle Håndter Verarbeiten Håndter Hantera
Weighbridge Vægt Fahrzeugwaage Vekt Våg
Scrap Skrot Schrott Skrap Skrot

Error and warning messages

Error messages follow the BC pattern:

  • da-DK: Start with capital, end with period. "Du kan ikke bogføre et tomt bilag."
  • de-DE: Formal, Sie-Form. "Sie können keinen leeren Beleg buchen."
  • nb-NO: "Du kan ikke bokføre et tomt bilag."
  • sv-SE: "Du kan inte bokföra ett tomt verifikat."

ToolTip format (da-DK): "Angiver [hvad feltet indeholder]." — always starts with "Angiver" for fields, "Åbner" for actions that open pages.