Opsætningsfil

Bemærk: Denne opsætningsfil fungerer kun med den nye CLI (v3).

Introduktion

Crowdin-CLI anvender en opsætningsfil indeholdende en beskrivelse af ressourcerne, som skal håndteres: Filer, som skal uploades til Crowdin 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ærltøjer > API 
"api_token": "personal-access-token"          #åbn profilindstillinger og gå til API > Nyt Token > Opret Token
"base_path": "/projekt basissti"
"base_url": "https://api.crowdin.com"
"preserve_hierarchy": true

"files": [
  {
    "source": "/locale/en/folder1/[0-2].txt",                                       #source files filter
    "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 Crowdin:

$ crowdin upload sources -b

Hent oversættelser fra Crowdin 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"      # Low priority
"api_token_env": "CROWDIN_PERSONAL_TOKEN"   # Low priority
"base_path_env": "CROWDIN_BASE_PATH"        # Low priority
"base_url_env": "CROWDIN_BASE_PATH"         # Low priority
"project_id": "projectId"                   # High priority
"api_token": "personal-access-token"        # High priority
"base_path": "/project-base-path"           # High priority
"base_url": "https://crowdin.com"           # High priority

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. Crowdin muliggør tilknytning af eget sprog mhp. at være genkendeligt i 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’. Du kan også tilsidesætte sprogkoder for andre parametre såsom %android_code%, %locale% mv.

For at få det til at fungere med Crowdin uden ændringer i projektet kan man opsætte Sprogtilknytning via UI’en.

Følg disse trin for at opsætte Sprogtilknytning:

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

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 i projektet, som ikke kræver oversættelse. 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

Kildefilerne er som standard tilgængelige for oversættelse til alle projektmålsprog. 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 indeholdende strengidentifikatorer. source_phrase – Kolonne indeholdende kildestrenge. source_or_translation – Kolonne indeholdende kildestrenge, men den samme kolonne udfyldes med oversættelser, når filen eksporteres. Når eksisterende oversættelser uploades, bruges dataene fra denne kolonne som oversættelser. translation – Kolonne indeholdende oversættelser. context – Kolonne indeholdende kildestrengskommentarer/-kontekstinformation. max_length – Kolonne indeholdende max.length-grænseværdier for strengoversættelser. labels – Kolonne indeholdende kildestrengsetiketter. none – Kolonne 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 projekt, gå til Værktøjer > API
"api_token": "personal-access-token"          #åbn projekt, gå til API > Nyt token > Opret token
"base_path": "/project-base-path"
"base_url": "https://api.crowdin.com"
"preserve_hierarchy": true

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

Som standard oprettes mapper uden filindehold til oversættelse ikke i projektet. F.eks.:

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

Som standard repræsenteres projektfiler som følgende:

- foo.po
- bar.po

Vha. indstillingen preserve_hierarchy, vil Crowdin-filstrukturen vil 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 i projekter, hvor det uploadede navn skal være anderledes, så Crowdin kan registrere typen korrekt.

dest-parameteren muliggør at angive et filnavn i Crowdin. 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, gå til Værktøjer > API
"api_token": "personal-access-token"          #åbn profilindstillinger, gå til API > Nyt token > Opret token
"base_path": "/project-base-path"
"base_url": "https://api.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"                     #ånn projektet, gå til Værktøjer > API
"api_token": "personal-access-token"          #åbn profilindstillinger, gå til API > Nyt token > Opret token
"base_path": "/project-base-path"
"base_url": "https://api.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, gå til Værktøjer > API
"api_token": "personal-access-token"        #åbn profilindstillinger, gå til API > Nt token > Opret token
"base_path": "/project-base-path"
"base_url": "https://api.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 Crowdin. 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 de sprogoversættelser, som skal uploades til Crowdin. Oversættelser uploades som standard til alle projektets målsprog. (Crowdin Sprogkoder)
  • --[no-]import-eq-suggestions - definerer, hvorvidt en oversættelse skal tilføjes, hvis den er lig en allerede eksisterende kildestreng i 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, gå til Værktøjer > API
"api_token": "personal-access-token"        #åbn profilindstillinger, gå til API > Nyt token > Opret token
"base_path": "/project-base-path"
"base_url": "https://api.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 lagres i 'text'-noder under hovednoden 'content'
      "/content/text[@value]"               #oversættelige tekster lagres i 'value'-attributten for '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, gå til Værktøjer > API
"api_token": "personal-access-token"        #åbn profilindstillinger, gå til API > Nyt token > Opret token
"base_path": "/project-base-path"
"base_url": "https://api.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 strenge medtages i det eksporterede oversættelsesarkiv. export_only_approved – Kun tekster, som både er oversat og godkendt, medtages i de eksporterede oversættelsesfiler.

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

"project_id": "projectId"                     #åbn projektet, gå til Værktøjer > API
"api_token": "personal-access-token"          #åbn profilindstillinger, gå til API > Nut token > Opret token
"base_path": "/project-base-path"
"base_url": "https://api.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, gå til Værktøjer > API
"api_token": "personal-access-token"        #åbn profilindstillingerne, gå til API > Nyt token > Opret token
"base_path": "/project-base-path"
"base_url": "https://api.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"                   #åbnprojektet, gå til Værktøjer  > API
"api_token": "personal-access-token"        #åbn profilindstillinger, gå til API > Nyt token > Opret token
"base_path": "/project-base-path"
"base_url": "https://api.crowdin.com"

"files": [
  {
    "source": "/*.csv",
    "translation": "/%two_letters_code%/%original_file_name%",
    # Specifies whether first line should be imported or it contains columns headers
    "first_line_contains_header": true,
    # used only when uploading CSV file to define data columns mapping
    "scheme": "identifier,source_phrase,translation,context,max_length"
  }
]

GetText-projekt

"project_id": "projectId"                   #åbn projektet, gå til Værktøjer > API
"api_token": "personal-access-token"        #åbn profilindstillinger, gå til API > Nyt token > Opret token
"base_path": "/project-base-path"
"base_url": "https://api.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, gå til Værktøjer > API
"api_token": "personal-access-token"        #åbn profilindstillinger, gå til API > Nyt token > Opret token
"base_path": "/project-base-path"
"base_url": "https://api.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: Ny oversættelse %original_file_name% fra Crowdin"
"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 Crowdin-projektet.

Strenge uploadet til Crowdin-projektet inden brug parameteren labels får ingen etiket. Fjernes etiketten tilføjet under den indledende upload direkte i Crowdin, 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?