Opsætningsfil

Introduktion

Crowdin-CLI benytter en opsætningsfil indeholdende en beskrivelse af ressourcerne, som skal håndteres: Filer, som skal uploades til Enterprise og placeringen af de korresponderende oversættelser.

For at benytte Crowdin-CLI skal du først generere din opsætningsfil og herefter afvikle værktøjet. Som standard ser Crowdin-CLI efter en opsætningsfil med navnet crowdin.yml (filnavnet behøves derfor ikke angivet, medmindre dette ikke er crowdin.yml).

Afvikl flg. kommando for at oprette opsætningsfilen:

$ crowdin lint

Opsætningsfilstruktur

En gyldig Crowdin-CLI opsætningsfil har flg. struktur, så tjek, at alle nødvendige oplysninger er angivet:

  • Filhoved med projektakkreditiver, præferencer og adgangsoplysninger
  • Et filmatrixelement, der beskriver et sæt kilde- og oversættelsesfiler, du vil håndtere
  • Obligatoriske felter i filermatrixerne: Kilde, der definerer filtre for kildefilerne samt Oversættelse med instrukser om, hvor de oversatte filer skal gemmes, eller hvor der skal søges efter allerede eksisterende oversættelser, såfremt disse skal uploades under opsætningen af CLI

Oprettelse af en simpel opsætningsfil

En typisk opsætningsfil vil ligne flg. eksempel:

"project_id": "projectId"                     #åbn projektet og gå til Værktøjer > Kommandlinjeværktøj (CLI)
"api_token": "personal-access-token"          #åbn projektet og gå til Værktøjer > Kommandlinjeværktøj (CLI)
"base_path": "/project-base-path"
"base_url": "https://{organization-name}.crowdin.com"

"files": [
  {
    "source": "/locale/en/folder1/[0-2].txt",                                       #kildefilsfilter
    "translation": "/locale/%two_letters_code%/folder1/%original_file_name%"        #where translations are stored
  },
  {
    "source": "/locale/en/folder2/[0-2].txt",
    "translation": "/locale/%two_letters_code%/folder2/%original_file_name%"
  }
]

For at køre ovenstående opsætningsfil og uploade kildefiler til Enterprise:

$ crowdin upload sources -b

Hent oversættelser fra Enterprise og placér dem de rigtige steder:

$ crowdin download

API-akkreditiver fra miljøvariabler

Du kan indlæse API-akkreditiverne fra en miljøvariabel, f.eks.:

"project_id_env": "CROWDIN_PROJECT_ID"
"api_token_env": "CROWDIN_PERSONAL_TOKEN"
"base_path_env": "CROWDIN_BASE_PATH"
"base_url_env": "CROWDIN_BASE_URL"

Hvis blandet, prioriteres api_token samt project_id:

"project_id_env": "CROWDIN_PROJECT_ID"                # Lav prioritet
"api_token_env": "CROWDIN_PERSONAL_TOKEN"             # Lav prioritet
"base_path_env": "CROWDIN_BASE_PATH"                  # Lav prioritet
"base_url_env": "CROWDIN_BASE_PATH"                   # Lav prioritet
"project_id": "projectId"                             # Høj prioritet
"api_token": "personal-access-token"                  # Høj prioritet
"base_path": "/project-base-path"                     # Høj prioritet
"base_url": "https://{organization-name}.crowdin.com" # Høj prioritet

Split projektopsætning og API-referencer

Filen crowdin.yml indeholder en beskrivelse af ressourcerne til håndtering samt API-akkreditiver (api_key, project_identifier, base_path). Dvs., at det er risikabelt at lagre denne fil i kodedepotet, da API-nøglen vil være tilgængelig for andre brugere. Crowdin-CLI understøtter to typer opsætningsfiler:

  • en beskrivelse af ressourcerne til håndtering, som befinder sig i projektmappen
  • API-akkreditiver, som antageligvis befinder sig i $HOME/.crowdin.yml
Bemærk: API-akkreditiver fra opsætningsfilen .crowdin.ymlhar højere prioritet end akkreditiver fra projektmappen (crowdin.yml).

Er der behov for at afvikle en kommando med brugerspecifikke akkreditiver (f.eks. upload-kilder). så eksekvér flg. kommando:

$ crowdin upload sources --identity 'path-to-user-credentials-file'

Er den brugerspecifikke akkreditivfil placeret i $HOME/.crowdin.yml, kan man eksekvere:

$ crowdin upload sources -b

Generel opsætning

Den ovenfor viste prøveopsætning har kilde- og oversættelsesattributter indeholdende standard jokertegn (også betegnet globbing mønstre) for at gøre det nemmere at arbejde med flere filer.

Her er mønstre, du kan bruge:

* (stjerne)

Repræsenterer et hvilket som helst tegn i fil- eller mappenavnet. Angives en “*.json”, vil den indeholde alle filer, såsom “messages.json”, “about_us.json” og alt af filtypen “.json”.

*** (dobbeltstjerne)

Matcher enhver streng rekursivt (inkl. undermapper). Bemærk, at *** kan benyttes i både kilde- og oversættelsesmønstre. Vha. *** i oversættelsesmønsteret vil det altid indeholde en understi fra kilden til en bestemt fil. Der kan f.eks. benyttes kilden: ‘/da/**/.po’ for rekursivt at uploade alle *.po-filer til Crowdin. Oversættelsesmønsteret vil være ‘/%two_letters_code%/\/%original_file_name%’.

? (spørgsmålstegn)

Matcher ethvert enkelttegn.

[set]

Matcher ethvert enkelttegn i et sæt. Opfører sig nøjagtig som tegnsæt i Regexp, herunder negation ([^a-z]).

\ (omvendt skråstreg)

Escaper det næste metategn.

Pladsholdere

Crowdin-CLI gør det muligt at benytte flg. pladsholdere til at indsætte passende variabler i det resulterende filnavn:

Navn Beskriveslse
%original_file_name% Oprindeligt filnavn
%original_path% Benyt overordnede mappers navne i Crowdin-projektet til at generere filstien i det resulterende bundt
%file_extension% Oprindeligt filtypenavn
%file_name% Filnavn uden fiíltypeangivelse
%language% Sprognavn (f.eks. Dansk)
%two_letters_code% Sprogkode ISO 639-1 (f.eks.. da)
%three_letters_code% Sprogkode ISO 639-2/T (f.eks. dan)
%locale% Landestandard (f.eks. da-DK)
%locale_with_underscore% Landestandard (f.eks. da_DK)
%android_code% Android Landestandard-ID benyttes ved navngivning af "værdier"-mapper
%osx_code% OS X-landestandard-ID benyttet ved navngivning af ".lproj"-mapper
%osx_locale% OS X-landestandard benyttet til navngivning af oversættelsesressourcer (f.eks. uk, zh-Hans, zh_HK)

Du kan også definere stien til filer i det resulterende depot ved at sætte et skråstreg (/) i starten af mønsteret.

Din oversættelsesindstilling kan se ud som: “/ locale /%two_letters_code%/ LC_MESSAGES /%original_file_name%”.

Brug af jokertegn

Opbygning af filer og mapper på den lokale maskine:

- base_path | |-- folder |     | |     |-- 1.xml |     |-- 1.txt |     |-- 123.txt |     |-- 123_test.txt |     |-- a.txt |     |-- a1.txt |     |-- crowdin?test.txt |     |-- crowdin_test.txt | |-- 1.xml |-- 1.txt |-- 123.txt |-- 123_test.txt |-- a.txt |-- a1.txt |-- crowdin?test.txt |-- crowdin_test.txt |-- 3.txt

Eksempel 1. Brug af jokertegn i kildestien:

#........din projektkonfiguration........
"files": [
  {
      "source": "/**/?[0-9].txt", #upload a1.txt, mappe/a1.txt
      "translation": "/**/%two_letters_code%_%original_file_name%"
  },
  {
      "source": "/**/*\\?*.txt",  #upload crowdin?test.txt, mappe/crowdin?test.txt
      "translation": "/**/%two_letters_code%_%original_file_name%"
  },
  {
      "source": "/**/[^0-2].txt", #upload 3.txt, mappe/3.txt, a.txt, folder/a.txt (ignore 1.txt, folder/1.txt)
      "translation": "/**/%two_letters_code%_%original_file_name%"
  }
]

Eksempel 2. Brug af jokertegn til ignorering af filer:

#........din projektkonfiguration........
"files": [
  {
    "source": "/**/*.*",                             #upload alle filer fra base_path
    "translation": "/**/%two_letters_code%_%original_file_name%",
    "ignore": [
      "/**/%two_letters_code%_%original_file_name%", #ignorér de oversatte filer
      "/**/?.txt",                                   #ignorér 1.txt, a.txt, folder/1.txt, mappe/a.txt
      "/**/[0-9].txt",                               #ignorér 1.txt, mappe/1.txt
      "/**/*\\?*.txt",                               #ignorér crowdin?test.txt, folder/crowdin?test.txt
      "/**/[0-9][0-9][0-9].txt",                     #ignorér 123.txt , mappe½/123.txt
      "/**/[0-9]*_*.txt"                             #ignorér 123_test.txt, mappe/123_test.txt
    ]
  }
]

Sprogtilknytning

Ofte har softwareprojekter tilpassede navne til lokalmapper. Enterprise muliggør tilknytning af eget sprog mhp. genkendelse i øvrige projekter.

Lad os antage, at dine lokalmapper er navngivet ‘en’, ‘uk’, ‘fr’, ‘de’. De kan alle repræsenteres af parameteren %two_letters_code%. Du har stadig en mappe med navnet ‘zh_CH’. For at få det til at fungere med Enterprise uden ændringer i projektet, kan Sprogtilknytning opsættes. Du kan også tilsidesætte sprogkoder for andre parametre såsom %android_code%, %locale% mv.

Sprogtilknytning kan opsættes enten via brugerfladen (UI) eller ved at tilføje en languages_mapping-afsnit til filsættet. Det anbefales at oprette en sprogtilknytning via UI’en, da det eliminerer behovet for dublering af parameteren languages_mapping for hvert filfilfilter, men selvfølgelig kan den mulighed, der foretrækkes, frit vælges.

Følg disse trin for at opsætte Sprogtilknytning via UI’en:

  1. Åbn Projektindstillinger og rul ned til afsnittet Eksport.
  2. Klik på Sprogkortlægning for at føje tilpassede sprogkoder til dit projekts målsprog.

For at opsætte Sprogtilknytning i opsætningsfilen, tilføj afsnittet languages_mapping til filsættet som vist nedenfor.

Eksempelopsætning:

"files": [
  {
    "source" : "/locale/en/**/*.po",
    "translation" : "/locale/%two_letters_code%/**/%original_file_name%",
    "languages_mapping" : {
      "two_letters_code" : {
        "uk" : "ukr",
        "pl" : "pol"
      }
    }
  }
]

Tilknytningsformatet er flg.: “crowdin_language_code”: “anvendte_kode”. Tjek den fulde liste over Enterprise-sprogkoder til brug for tilknytning.

Omdøbe oversættelsesfil

Har du behov for at omdøbe en fil med oversættelser efter eksporten, kan du nemt gøre dette vha. parameteren translation_replace.

Hedder filen f.eks. “en_strings.po”, kan den omdøbes til “strings.po”. Til dette skal du føje en ny parameter (på samme niveau som oversættelsesparameteren) til opsætningsfilen (crowdin.yml):

"files": [
  {
    "source": "/locale/**/en_*.po",
    "translation": "/locale/**/%two_letters_code%_%original_file_name%",
    "translation_replace": {
      "en_": ""
    }
  }
]

I dette tilfælde slettes “_en” blot fra filnavnet.

Ignorere filer og mapper

Fra tid til anden er der filer og mapper, som ikke behøver oversættelse i Enterprise. I sådanne tilfælde kan lokale pr. fil-regler føjes til projektets config-fil.

"files": [
  {
    "source": "/**/*.properties",
    "translation": "/**/%file_name%_%two_letters_code%.%file_extension%",
    "ignore": [
      "/test/file.properties",
      "/example.properties"
    ]
  },
  {
    "source": "/locale/en/**/*.po",
    "translation": "/locale/%two_letters_code%/**/%original_file_name%",
    "ignore": [
      "/locale/en/templates",
      "/locale/en/workflow"
    ]
  }
]

Udelukkelse af målsprog for kildefiler

By default, the source files are available for translation into all target languages of the project. Skal visse kildefiler ikke oversættes til bestemte målsprog, kan disse udelukkes vha. parameteren ekskluded_target_languages.

Opsætningsfileksempel:

"files": [
  {
    "source": "/resources/en/*.json",
    "translation": "/resources/%two_letters_code%/%original_file_name%",
    "excluded_target_languages": [
      "uk",
      "fr"
    ]
  }
]

Flerkolonneregneark

Indeholder en CSV- eller XLS-/XLSX-fil oversættelserne til alle målsprog, skal passende sprogkoder angives i scriptet.

CSV-fileksempel:

identifier,source_phrase,context,Ukrainian,Russian,French ident1,Source 1,Context 1,,, ident2,Source 2,Context 2,,, ident3,Source 3,Context 3,,,

Opsætningsfileksempel:

"files": [
  {
    "source": "multicolumn.csv",
    "translation": "multicolumn.csv",
    "first_line_contains_header": true,
    "scheme": "identifier,source_phrase,context,uk,ru,fr"
  }
]

Indeholder CSV- eller XLS-/XLSX-filen kolonner, som skal overspringes under import, så angiv none for sådanne kolonner i skemaet, f.eks.:

"scheme" : "identifier,source_phrase,context,uk,none,ru,none,fr"

Skemakonstanter

Benyt flg. konstanter for at danne skemaet for CSV- eller XLS-/XLSX-filen:

identifier – Kolonne indeholder strengidentifikatorer.
source_phrase – Kolonne indeholder kildestrenge.
source_or_translation – Kolonnen indeholder kildestrenge, men udfyldes med oversættelser, når filen eksporteres. Når eksisterende oversættelser uploades, vil data fra denne kolonne blive brugt som oversættelser.
translations – Kolonne indeholder oversættelser.
context – Kolonne indeholder kommentarer eller kontekstoplysninger til kildestrengene.
max_length – Kolonne indeholder grænseværdierne max.length for strengoversættelserne.
labels – Kolonne indeholder etiketter til kildestrengene.
none – Kolonne, der overspringes under import.

Lagring af mappestruktur på server

"preserve_hierarchy": true

Eks. på opsætningsfil ved brug af preserve_hierarchy-muligheden:

"project_id": "projectId"                     #åbn projektet og gå til Værktøjer > Kommandlinjeværktøj (CLI)
"api_token": "personal-access-token"          #åbn projektet og gå til Værktøjer > Kommandlinjeværktøj (CLI)
"base_path": "/project-base-path"
"base_url": "https://{organization-name}.crowdin.com"
"preserve_hierarchy": true

"files": [
  {
    "source": "/locale/en/**/*.po",
    "translation": "/locale/%two_letters_code%/**/%original_file_name%"
  }
]

I Enterprise oprettes som standard kun mapper med filindehold til oversættelse. F.eks.:

- locale | |-- en | |-- foo.po |-- bar.po

Som standard repræsenteres projektfiler i Enterprise som følgende:

- foo.po
- bar.po

Vha. indstillingen preserve_hierarchy, vil filstrukturen i Enterprise være flg.:

- en | |-- foo.po |-- bar.po

Upload af filer til angivet sti med angivet type

Denne funktion tilføjer understøttelse af 2 valgfrie parametre i yaml-filafsnittene dest og type. Dette benyttes typisk til projekter, hvor det uploadede navn skal være anderledes, så Enterprise kan registrere typen korrekt.

dest-parameteren muliggør at angive et filnavn i Enterprise. Det fungerer for flere filer på én gang og understøtter flg. variabler: %original_file_name%, %original_path%, %file_extension%, %file_name%.

Bemærk! Bruges mest-parameter, skal opsætningsfilen indeholde parameteren preserve_hierarchy med værdien true.

Eksempel på en opsætningsfil med begge parametre:

"project_id": "projectId"                     #åbn projektet og gå til Værktøjer > Kommandlinjeværktøj (CLI)
"api_token": "personal-access-token"          #åbn projektet og gå til Værktøjer > Kommandlinjeværktøj (CLI)
"base_path": "/project-base-path"
"base_url": "https://{organization-name}.crowdin.com"
"preserve_hierarchy": true

"files": [
  {
    "source": "/conf/**/*.txt",
    "dest": "/conf/**/%file_name%.properties",
    "translation": "/conf/**/%two_letters_code%/%file_name%.properties",
    "type": "properties"
  },
  {
    "source": "/app/*.txt",
    "dest": "/app/%file_name%.xml",
    "translation": "/res/values-%android_code%/%original_file_name%",
    "type": "android"
  },
  {
    "source": "/conf/**/*.txt",
    "dest": "/%original_path%/%file_name%.properties",
    "translation": "/conf/**/%two_letters_code%/%original_file_name%",
    "type": "properties"
  }
]

Ændrede strengeopdateringer

Parameteren update_option er valgfri. Opsættes den ikke, mistes oversættelser til ændrede strenge. Nyttigt for skrivefejlrettelser og mindre kildestrengsændringer.

Afhængigt af værdien benyttes update_option til at bevare oversættelser og bevare/fjerne valideringer af ændrede strenge under filopdatering.

Værdierne er:

  • update_as_unapproved — bevar oversættelser af ændrede strenge og fjern bekræftelser af disse oversættelser, hvis de findes
  • update_without_changes — bevar oversættelser og bekræftelser af ændrede strenge

Eksempel på en opsætningsfil med update_option-parameteren:

"project_id": "projectId"                     #åbn projektet og gå til Værktøjer > Kommandlinjeværktøj (CLI)
"api_token": "personal-access-token"          #åbn projektet og gå til Værktøjer > Kommandlinjeværktøj (CLI)
"base_path": "/project-base-path"
"base_url": "https://{organization-name}.crowdin.com"

"files": [
  {
    "source": "/*.csv",
    "translation": "/%three_letters_code%/%file_name%.csv",
    "first_line_contains_header": true,
    "scheme": "identifier,source_phrase,translation,context",
    "update_option": "update_as_unapproved"
  },
  {
    "source": "/**/*.xlsx",
    "translation": "/%three_letters_code%/folder/%file_name%.xlsx",
    "update_option": "update_without_changes"
  }
]

Upload af filer med tilpasset segmentering

Upload XML-, HTML- og MD-kildefiler mv. uden en nøgleværdistruktur med egne segmenteringsregler. Hvis ikke angivet, anvendes de prædefinerede segmenteringsregler (SRX 2.0) til automatisk indholdssegmentering.

Eks. på en opsætningsfil med tilpasset segmentering:

"project_id": "projectId"                     #åbn projektet og gå til Værktøjer > Kommandlinjeværktøj (CLI)
"api_token": "personal-access-token"          #åbn projektet og gå til Værktøjer > Kommandlinjeværktøj (CLI)
"base_path": "/project-base-path"
"base_url": "https://{organization-name}.crowdin.com"

"files": [
  {
    "source": "/emails/sample1.html",
    "translation": "/emails/%locale%/%original_file_name%",
    "custom_segmentation": "/rules/sample.srx.xml"
  }
]

Upload af oversættelser

Kommandoen upload translations uploader eksisterende oversættelser til Enterprise. Er ingen indstillinger angivet, så importeres og godkendes uploadede oversættelser ikke, selvom de svarer til kildestrengene.

Værdierne er:

  • -l, --language=language_code - definerer sprogoversættelserne, som skal uploades til Enterprise. Oversættelser uploades som standard til alle projektets målsprog. (Crowdin Sprogkoder)
  • --[no-]import-duplicates - definerer, om oversættelsen skal tilføjes, hvis den er lig den eksisterende kildestreng i Enterprise-projektet
  • --[no-]auto-approve-imported - auto-godkender uploadede oversættelser

Importindstillinger

Importindstillinger for XML-filer

translate_content
valgfrit
bool Definerer, hvorvidt tekster omsluttet af tags skal oversættes.
Gyldige værdier er 0 eller 1. Standard er 1.
translate_attibutes
valgfri
bool Definerer, hvorvidt tagattributter skal oversættes.
Gyldige værdier er 0 eller 1. Standard er 1.
content_segmentation
valgfri
bool Definerer, hvorvidt lange tekster skal opdeles i kortere segmenter.
Gyldige værdier er 0 eller 1. Standard er 1.
Bemærk: Når Indholdssegmentering er aktiveret, håndteres oversættelsesupload af en eksperimentel maskinlæringsteknologi.
translatable_elements
valgfri
matrix Dette er en matrix af strenge, hvori hvert element er XPaths tilet DOM-element, der skal importeres.
Eksempelsti: /path/to/node or /path/to/attribute[@attr]
Bemærk! Hvis angivet, tages parametrene translate_content og translate_attributes ikke i betragtning under importen.

Eksempel på en opsætningsfil med ekstra parametre:

"project_id": "projectId"                     #åbn projektet og gå til Værktøjer > Kommandlinjeværktøj (CLI)
"api_token": "personal-access-token"          #åbn projektet og gå til Værktøjer > Kommandlinjeværktøj (CLI)
"base_path": "/project-base-path"
"base_url": "https://{organization-name}.crowdin.com"

"files": [
  {
    "source": "/app/sample1.xml",
    "translation": "/app/%locale%/%original_file_name%",
    "translate_attributes": 1,
    "translate_content": 0
  },
  {
    "source": "/app/sample2.xml",
    "translation": "/app/%locale%/%original_file_name%",
    "translatable_elements": [
      "/content/text",                      #oversættelige tekster gemmes i 'tekst'-noder i det overordnede node-indhold'
      "/content/text[@value]"               #oversættelige tekster gemmes i 'værdi'-attributter i 'text'-noder
    ]
  }
]

Yderligere filimportmuligheder

content_segmentation
valgfri
bool Definerer, hvorvidt lange tekster skal opdeles i kortere segmenter. Kun for TXT, DOCX, DITA, IDML, MIF, MEDIAWIKI, HTML, Front Matter HTML, Markdown, Front Matter Markdown, XML, XLIFF, XLIFF 2.0>
Gyldige værdier er 0 eller 1. Standard er 1.
Bemærk: Når Indholdssegmentering er aktiveret, håndteres oversættelsesupload af en eksperimentel maskinlæringsteknologi.

Eksempel på en opsætningsfil med ekstra parametre:

"project_id": "projectId"                     #åbn projektet og gå til Værktøjer > Kommandlinjeværktøj (CLI)
"api_token": "personal-access-token"          #åbn projektet og gå til Værktøjer > Kommandlinjeværktøj (CLI)
"base_path": "/project-base-path"
"base_url": "https://{organization-name}.crowdin.com"

"files": [
  {
    "source": "/emails/sample1.html",
    "translation": "/emails/%locale%/%original_file_name%",
    "content_segmentation": 1
  }
]

Eksportindstillinger

Flg. eksportindstillinger kan bruges til at opsætte den ønskede eksportadfærd for hver filgruppe:

skip_untranslated_strings – Kun oversatte strenge medtages i de eksporterede oversættelsesfiler.
skip_untranslated_files – Kun oversatte filer medtages i de eksporterede oversættelsesarkiv.
export_only_approved – Kun både oversatte og godkendte tekster medtages i de eksporterede oversættelsesfiler.

Eks. på en opsætningsfil med begge parametre:

"project_id": "projectId"                     #åbn projektet og gå til Værktøjer > Kommandlinjeværktøj (CLI)
"api_token": "personal-access-token"          #åbn projektet og gå til Værktøjer > Kommandlinjeværktøj (CLI)
"base_path": "/project-base-path"
"base_url": "https://{organization-name}.crowdin.com"
"preserve_hierarchy": true

"files": [
  {
    "source": "/locale/en/**/*.po",
    "translation": "/locale/%two_letters_code%/**/%original_file_name%",
    "skip_untranslated_strings": true
  },
  {
    "source": "/locale/en/**/*.json",
    "translation": "/locale/%two_letters_code%/**/%original_file_name%",
    "skip_untranslated_files": true
  },
  {
    "source": "/locale/en/**/*.yml",
    "translation": "/locale/%two_letters_code%/**/%original_file_name%",
    "export_only_approved": true
  }
]
Bemærk: Eksportindstillingerne fungerer kun med CLI.

Escape-anførselstegnsvalg for .properties-filformater

Definerer, om et enkelt anførselstegn skal escapes af et andet enkelt anførselstegn eller bagudvendt stråstreg i eksporterede oversættelser. Der kan tilføjes escape_quote pr. fil muligheden. Gyldige værdier er: 0, 1, 2, 3. Standard er 3.

Værdierne er:

  • 0 - escape ikke enkelt anførselstegn
  • 1 - escape enkelt anførselstegn med et andet enkelt anførselstegn
  • 2 - escape enkelt anførselstegn med en bagudvendt skråstreg
  • 3 - escape enkelt anførselstegn med et andet enkelt anførselstegn i strenge indeholdende variabler ( {0})

Escaper specialtegn
Definerer, hvorvidt visse specialtegn (=, :, ! og #) skal escapes med bagudvendt skråstreg i eksporterede oversættelser. Der kan tilføjes escape_special_characters pr. fil muligheden.

Gyldige værdier er 0, 1. Standard er 1.

  • 0 - escape ikke specialtegn
  • 1 - escape specialtegn med en bagudvendt skråstreg

Opsætningsfileks.:

"project_id": "projectId"                     #åbn projektet og gå til Værktøjer > Kommandlinjeværktøj (CLI)
"api_token": "personal-access-token"          #åbn projektet og gå til Værktøjer > Kommandlinjeværktøj (CLI)
"base_path": "/project-base-path"
"base_url": "https://{organization-name}.crowdin.com"

"files": [
  {
    "source": "/en/strings.properties",
    "translation": "/%two_letters_code%/%original_file_name%",
    "escape_quotes": 1,
    "translate_content": 0,
    "escape_special_characters": 0
  }
]

Eks. på opsætninger

Upload af CSV-filer

"project_id": "projectId"                    #åbn projektet og gå til Værktøjer > Kommandlinjeværktøj (CLI)
"api_token": "personal-access-token"          #åbn projektet og gå til Værktøjer > Kommandlinjeværktøj (CLI)
"base_path": "/project-base-path"
"base_url": "https://{organization-name}.crowdin.com"

"files": [
  {
    "source": "/*.csv",
    "translation": "/%two_letters_code%/%original_file_name%",
    #Angiver, om den første linje skal importeres, eller om den indeholder kolonneoverskrifter
    "first_line_contains_header": true,
    #bruges kun ved upload af CSV-fil til definering af datakolonnertilknytning
    "scheme": "identifier,source_phrase,translation,context,max_length"
  }
]

GetText-projekt

"project_id": "projectId"                     #åbn projektet og gå til Værktøjer > Kommandlinjeværktøj (CLI)
"api_token": "personal-access-token"          #åbn projektet og gå til Værktøjer > Kommandlinjeværktøj (CLI)
"base_path": "/project-base-path"
"base_url": "https://{organization-name}.crowdin.com"

"files" : [
  {
    "source" : "/locale/en/**/*.po",
    "translation" : "/locale/%two_letters_code%/LC_MESSAGES/%original_file_name%",
    "languages_mapping" : {
      "two_letters_code" : {
        "zh-CN" : "zh_CH",
        "fr-QC": "fr"
      }
    }
  }
]

Android-projekt

"project_id": "projectId"                     #åbn projektet og gå til Værktøjer > Kommandlinjeværktøj (CLI)
"api_token": "personal-access-token"          #åbn projektet og gå til Værktøjer > Kommandlinjeværktøj (CLI)
"base_path": "/project-base-path"
"base_url": "https://{organization-name}.crowdin.com"

"files" : [
  {
    "source" : "/res/values/*.xml",
    "translation" : "/res/values-%android_code%/%original_file_name%",
    "languages_mapping" : {
      "android_code" : {
        "de" : "de",
        "ru" : "ru"
      }
    }
  }
]

Opsætningsfil til VCS-integrationer

VCS-integrationer kræver den samme opsætningsfil som CLI-værktøjet, hvilket betyder, at den samme struktur understøttes. Den eneste forskel er, at der af sikkerhedsmæssige årsager ikke bør gemmes projektlegitimationsoplysninger i fil-headeren. Et par ekstra parametre kan også bruges.

Pull Request-title og Etiketter til VCS-integrationer

Standard pull request-titel er New Crowdin updates. For at angive en tilpasset pull request-titel og føje etiketter til pull requesten kan flg. parametre bruges i opsætningsfilen: pull_request_title, pull_request_labels.

Bemærk: Pull request-etiketter understøttes ikke af Bitbucket-integrationen.

Eks.:

"base_path": "/project-base-path"
"pull_request_title": "Custom PR title"
"pull_request_labels": [
  "crowdin",
  "l10n"
]

"files": [
  {
    "source" : "/resources/en/*.json",
    "translation" : "/resources/%two_letters_code%/%original_file_name%"
  }
]

Commit-meddelelsesparameter til VCS-integrationer

Hver gang oversættelser commites, vises standardmeddelelsen “Nye oversættelser {fileName} ({languageName})”. Parameteren commit_message kan benyttes for at tilføje Git-tags (f.eks. for at overspringe builds).

Eks.:

"base_path": "/project-base-path"
"commit_message": "[ci skip]"

"files": [
  {
    "source" : "/resources/en/*.json",
    "translation" : "/resources/%two_letters_code%/%original_file_name%"
  }
]

Benytte parameteren append_commit_message med værdien false for at erstatte standard commit-meddelelsen. Der kan også tilføjes de to valgfrie parametre, %original_file_name% og %language%, for at benytte hhv. det relevante filnavn og sprogvariabler.

Eks.:

"commit_message": "Rettelse: Nye oversættelser %original_file_name% fra Enterprise"
"append_commit_message": false

"files": [
  {
    "source" : "/resources/en/*.json",
    "translation" : "/resources/%two_letters_code%/%original_file_name%"
  }
]

Eksport af sprogparameter til VCS-integrationer

Som standard eksporteres alle sprogene. Ved behov for at eksportere nogle bestemte sprog, så benyt parameteren export_languages for at angive disse.

Eks.:

"base_path": "/project-base-path"
"export_languages": [                                   
    "ru", 
    "uk", 
    "ja"
  ]
"files": [
  {
    "source" : "/resources/en/*.json",
    "translation" : "/resources/%two_letters_code%/%original_file_name%"
  }
]

Føje etiketter til kildestrenge

For at føje eksisterende eller nye etiketter til kildestrengene, så brug parameteren labels. Etiketter føjes kun til kildestrengene under den indledende upload til Enterprise-projektet.

Strenge uploadet til Enterprise-projektet inden brug parameteren etiketter får ingen etiket. Fjernes etiketten tilføjet under den indledende upload direkte i Enterprise, gentilføjes den ikke under de næste synkninger.

Etiketnavnene kan indeholde alle tegn undtagen “,”.

Eks.:

"base_path": "/project-base-path"

"files": [
  {
    "source" : "/resources/en/*.json",
    "translation" : "/resources/%two_letters_code%/%original_file_name%",
    "labels" : [
      "android",
      "emails"
    ]
  }
]

Læs mere om Etiketter.

Brug af én konfigurationsfil til VCS-integrationer og CLI

Der er tilfælde, hvor det er nødvendigt at bruge VCS-integration og CLI til et projekt. I en sådan situation vil man oftest have to separate opsætningsfiler, én til VCS-integration og én til CLI. Man kan dog bruge én enkelt opsætningsfil til begge tilfælde.

Da VCS-integrationsopsætningsfilen ikke indeholder project_id og api_token-legitimationsoplysninger, der kræves for CLI, kan disse sendes direkte i kommandoen vha. flg. parametre: -i/--project-id, -T/--token. Alternativt kan miljøvariabler anvendes til dette formål.

Som resultat, vil kommandoen til download af oversættelser via CLI se således ud:

$ crowdin download -i {your-project-id} -T {your-token}

Søge assistance

Behov for hjælp til brug af Crowdin-CLI eller evt. spørgsmål? Kontakt Supportteamet.

Se også

Var denne artikel nyttig?