Opsætningsfil

Introduktion

Crowdin CLI uses a configuration file that contains a description of the resources to manage: files to be uploaded into Crowdin Enterprise and the locations of the corresponding translations.

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).

To create the configuration file, run the following command:

$ crowdin lint

Opsætningsstruktur

A valid Crowdin CLI configuration file has the following structure, so please make sure that you fill out all the needed information:

  • 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

A typical configuration file looks similar to the following:

"project_id": "projectId"                     #open project and go to Integrations > Command line tool (CLI)
"api_token": "personal-access-token"          #open project and go to Integrations > Command line tool (CLI)
"base_path": "/project-base-path"
"base_url": "https://{organization-name}.crowdin.com"

"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%"
  }
]

To run the above configuration file and upload source files to Crowdin Enterprise:

$ crowdin upload sources -b

Get translations from Crowdin Enterprise and put them in the right locations:

$ crowdin download

API-referencer 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://{organization-name}.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). It means that it’s unsafe to commit this file into the code repository because the API key would be accessible to other users. Crowdin CLI supports two types of configuration files:

  • en beskrivelse af ressourcerne til håndtering, som befinder sig i projektmappen
  • API-akkreditiver, som antageligvis befinder sig i $HOME/.crowdin.yml
Note: API credentials from the .crowdin.yml configuration file have higher priority than credentials from the project directory(crowdin.yml).

If you need to run a command with user-specific credentials (for example, upload sources), run the following command:

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

But if user-specific credentials file residing in $HOME/.crowdin.yml you can run:

$ 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)

Represents any character in the file or directory name. If you specify a “*.json” it will include all files like “messages.json”, “about_us.json”, and anything that ends with “.json”.

*** (dobbeltstjerne)

Matcher enhver streng rekursivt (inkl. undermapper). Bemærk, at *** kan benyttes i både kilde- og oversættelsesmønstre. When using ** in the translation pattern, it will always contain a sub-path from the source for a certain file. For example, you can use source: ‘/en/**/.po’ to upload all *.po files to Crowdin Enterprise recursively. 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 Beskrivelse
%original_file_name% Oprindeligt filnavn
%original_path% Take parent folders names in Crowdin Enterprise project to build file path in the resulted bundle
%file_extension% Oprindeligt filtypenavn
%file_name% Filnavn uden fiíltypeangivelse
%language% Language name (e.g., Ukrainian)
%two_letters_code% Language code ISO 639-1 (e.g., uk)
%three_letters_code% Language code ISO 639-2/T (e.g., ukr)
%locale% Locale (e.g., uk-UA)
%locale_with_underscore% Locale (e.g., uk_UA)
%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 locale used to name translation resources (e.g., 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, folder/a1.txt
      "translation": "/**/%two_letters_code%_%original_file_name%"
  },
  {
      "source": "/**/*\\?*.txt",  #upload crowdin?test.txt, folder/crowdin?test.txt
      "translation": "/**/%two_letters_code%_%original_file_name%"
  },
  {
      "source": "/**/[^0-2].txt", #upload 3.txt, folder/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 all files that  the base_path contains
    "translation": "/**/%two_letters_code%_%original_file_name%",
    "ignore": [
      "/**/%two_letters_code%_%original_file_name%", #ignore the translated files
      "/**/?.txt",                                   #ignore 1.txt, a.txt, folder/1.txt, folder/a.txt
      "/**/[0-9].txt",                               #ignore 1.txt, folder/1.txt
      "/**/*\\?*.txt",                               #ignore crowdin?test.txt, folder/crowdin?test.txt
      "/**/[0-9][0-9][0-9].txt",                     #ignore 123.txt , folder/123.txt
      "/**/[0-9]*_*.txt"                             #ignore 123_test.txt, folder/123_test.txt
    ]
  }
]

Sprogtilknytning

Ofte har softwareprojekter tilpassede navne til lokalmapper. Crowdin Enterprise muliggør tilknytning af dit eget sprog til at være genkendeligt i dine 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’. To make it work with Crowdin Enterprise without changes in your project, you can set up Language Mapping. Du kan også tilsidesætte sprogkoder for andre parametre såsom %android_code%, %locale% mv.

You can set up Language Mapping either via the user interface (UI) or by adding a languages_mapping section to your file set. We recommend setting up a language mapping via UI since it eliminates the need for duplicating the languages_mapping parameter for each file filter, but of course, you can choose the option that works best for you.

To set up Language Mapping via UI, follow these steps:

  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.

To set up Language Mapping in your configuration file, add the languages_mapping section to your file set as shown below.

Eksempelopsætning:

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

Mapping format is the following: “crowdin_language_code” : “code_you_use”. Check the full list of Crowdin Enterprise language codes that can be used for mapping.

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.

For example, if the file is named “en_strings.po”, it can be renamed to “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_": ""
    }
  }
]

In this case, “_en” will be erased from the file name.

Ignorere filer og mapper

From time to time, there are files and directories you don’t need to translate in Crowdin Enterprise. I sådanne tilfælde kan lokale pr. fil-regler føjes til dit projekts 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"
    ]
  }
]

Excluding Target Languages for Source Files

By default, the source files are available for translation into all target languages of the project. If some source files shouldn’t be translated into specific target languages, you can exclude them with the help of the parameter excluded_target_languages.

Opsætningsfileksempel:

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

Multicolumn Spreadsheet

If a CSV or XLS/XLSX file contains the translations for all target languages, you should specify appropriate language codes in the scheme.

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"
  }
]

If your CSV or XLS/XLSX file contains columns that should be skipped on import, use none for such columns in the scheme, for example:

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

Scheme Constants

To form the scheme for your CSV or XLS/XLSX file, use the following constants:

identifier – Column contains string identifiers.
source_phrase – Column contains source strings.
source_or_translation – Column contains source strings, but the same column will be filled with translations when the file is exported. When uploading existing translations, the values from this column will be used as translations.
translation – Column contains translations.
context – Column contains comments or context information for the source strings.
max_length – Column contains max.length limit values for the translations of the strings.
labels – Column contains labels for the source strings.
none – Column that will be skipped on import.

Lagring af mappestruktur på server

"preserve_hierarchy": true

Example of the configuration file using the preserve_hierarchy option:

"project_id": "projectId"                     #open project and go to Integrations > Command line tool (CLI)
"api_token": "personal-access-token"          #open project and go to Integrations > Command line tool (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%"
  }
]

By default, directories that do not contain any files for translation will not be created in Crowdin Enterprise. F.eks.:

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

By default, project files will be represented in Crowdin Enterprise as following:

- foo.po
- bar.po

Using the option preserve_hierarchy, the file structure in Crowdin Enterprise will be the following:

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

Upload af filer til specificeret sti med specificeret type

This feature adds support for two optional parameters in the yml file section: dest and type. It’s typically used for projects where the uploaded name must be different so that Crowdin Enterprise can detect the type correctly.

The dest parameter allows you to specify a file name in Crowdin Enterprise. It works for multiple files at once and supports the following placeholders: %original_file_name%, %original_path%, %file_extension%, %file_name%.

Note! If you use the dest parameter, the configuration file should include the preserve_hierarchy parameter with the true value.

Eksempel på en opsætningsfil med begge parametre:

"project_id": "projectId"                     #open project and go to Integrations > Command line tool (CLI)
"api_token": "personal-access-token"          #open project and go to Integrations > Command line tool (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"                     #open project and go to Integrations > Command line tool (CLI)
"api_token": "personal-access-token"          #open project and go to Integrations > Command line tool (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"
  }
]

Oversættelses-uploads

The command upload translations uploads existing translations to Crowdin Enterprise. If no options are specified, the uploaded translations will not be imported even if they are equal to the source strings and will not be approved.

Værdierne er:

  • -l, --language=language_code - defines the language translations that should be uploaded to Crowdin Enterprise. Oversættelser uploades som standard til alle projektets målsprog. (Crowdin Sprogkoder)
  • --[no-]import-eq-suggestions - defines whether to add translation if it is equal to source string in Crowdin Enterprise project
  • --[no-]auto-approve-imported - automatically approves uploaded translations

Import Options

XML Files Import Options

translate_content
valgfrit
bool Defines whether to translate texts placed inside the tags.
Acceptable values are 0 or 1. Standard er 1.
translate_attibutes
valgfri
bool Defines whether to translate tags' attributes.
Acceptable values are 0 or 1. Standard er 1.
content_segmentation
valgfri
bool Defines whether to split long texts into smaller text segments.
Acceptable values are 0 or 1. Standard er 1.
Note: When Content segmentation is enabled, the translation upload is handled by an experimental machine learning technology.
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"                     #open project and go to Integrations > Command line tool (CLI)
"api_token": "personal-access-token"          #open project and go to Integrations > Command line tool (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",                      # translatable texts are stored in 'text' nodes of parent node 'content'
      "/content/text[@value]"               # translatable texts are stored in 'value' attribute of 'text' nodes
    ]
  }
]

Other Files Import Options

content_segmentation
valgfri
bool Definerer, om lange tekster skal opdeles i kortere tekstsegmenter. Only for TXT, DOCX, DITA, IDML, MIF, MEDIAWIKI, HTML, Front Matter HTML, Markdown, Front Matter Markdown, XML, XLIFF, XLIFF 2.0
Acceptable values are 0 or 1. Standard er 1.
Note: When Content segmentation is enabled, the translation upload is handled by an experimental machine learning technology.

Eksempel på en opsætningsfil med ekstra parametre:

"project_id": "projectId"                     #open project and go to Integrations > Command line tool (CLI)
"api_token": "personal-access-token"          #open project and go to Integrations > Command line tool (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
  }
]

Export Options

To configure the preferred export behavior for each file group, you may use the following export options:

skip_untranslated_strings – Only translated strings will be included in the exported translation files.
skip_untranslated_files – Only translated files will be included in the exported translation archive.
export_only_approved – Only texts that are both translated and approved will be included in the exported translation files.

Example of the configuration file with the export options:

"project_id": "projectId"                     #open project and go to Integrations > Command line tool (CLI)
"api_token": "personal-access-token"          #open project and go to Integrations > Command line tool (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
  }
]
Note: The export options work only with 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. You can add the escape_quotes per-file option. Acceptable values are 0, 1, 2, 3. Standard er 3.

Værdierne er:

  • 0 - escape ikke enkelt anførselstegn
  • 1 - escape single quote with another single quote
  • 2 - escape single quote with a backslash
  • 3 - escape single quote with another single quote only in strings containing variables ( {0} )

Escape special characters
Defines whether any special characters (=, :, ! and #) should be escaped by a backslash in exported translations. You can add the escape_special_characters per-file option.

Acceptable values are 0, 1. Standard er 1.

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

Opsætningsfileksempel:

"project_id": "projectId"                     #open project and go to Integrations > Command line tool (CLI)
"api_token": "personal-access-token"          #open project and go to Integrations > Command line tool (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
  }
]

Eksempelopsætninger

Uploading CSV files

"project_id": "projectId"                     #open project and go to Integrations > Command line tool (CLI)
"api_token": "personal-access-token"          #open project and go to Integrations > Command line tool (CLI)
"base_path": "/project-base-path"
"base_url": "https://{organization-name}.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"                     #open project and go to Integrations > Command line tool (CLI)
"api_token": "personal-access-token"          #open project and go to Integrations > Command line tool (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"                     #open project and go to Integrations > Command line tool (CLI)
"api_token": "personal-access-token"          #open project and go to Integrations > Command line tool (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. The only difference is that you should not store the project credentials in the file header for security reasons. Also, you can use a few additional parameters.

Pull Request Title and Labels for VCS Integrations

The default pull request title is New Crowdin updates. To specify your custom pull request title and add labels to the pull request, you can use the following parameters in the configuration file: pull_request_title, pull_request_labels.

Note: Pull request labels are not supported by the Bitbucket integration.

Eksempel:

"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 for VCS-integrationer

Hver gang oversættelser commites, vises standardmeddelelsen “Nye oversættelser {fileName} ({languageName})”. You can use the commit_message parameter to add Git tags (e.g., to skip builds).

Eksempel:

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

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

To replace the default commit message, use the append_commit_message parameter with the value false. Du kan også tilføje to valgfrie parametre: %original_file_name% og %language% for at benytte det relevante filnavn og sprogvariablerne i relation hertil.

Eksempel:

"commit_message": "Fix: New translations %original_file_name% from Crowdin Enterprise"
"append_commit_message": false

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

Eksportere sprogparameter til VCS-integrationer

Som standard eksporteres alle sprogene. If you need to export some specific languages, use the export_languages parameter to specify them.

Eksempel:

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

Adding Labels to Source Strings

To add existing or new labels to the source strings, use the labels parameter. Labels will be added to the source strings only during the initial upload to the Crowdin Enterprise project.

The strings uploaded to the Crowdin Enterprise project before the use of the labels parameter won’t be labeled. If you remove the label added during the initial upload directly in Crowdin Enterprise, it won’t be re-added on the next syncs.

The label names can contain any characters except “,”.

Eksempel:

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

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

Read more about Labels.

Using One Configuration File for VCS Integrations and CLI

There are cases when it’s necessary to use VCS integration and CLI for one project. Mostly, in this kind of situation, you’d need to have two separate configuration files, one for VCS integration and another for CLI. However, there is a possibility to use a single configuration file for both cases.

Since the VCS integration configuration file doesn’t contain project_id and api_token credentials required for CLI, you can pass them directly in the command using the following parameters: -i/--project-id, -T/--token. Alternatively, you may use environment variables for this purpose.

As a result, your command for downloading translations via CLI will look like the following:

$ 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?