Konfigurációs fájl

Note: This configuration file can work only with the new CLI (v3).

Bevezetés

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

A Crowdin CLI használatához először hozza létre a saját YAML konfigurációját, majd futtassa az eszközt. A Crowdin CLI alapértelmezés szerint egy crowdin.yml nevű konfigurációs fájlt keres (tehát nem kell megadnia a konfigurációs nevet, hacsak az nem különbözik crowdin.yml-tól).

To create the configuration file, run the following command:

$ crowdin init

Konfigurációs fájl struktúrája

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

  • Fájl elején adatok a projekt hitelesítőiről, preferenciáiról és hozzáférési információiról
  • Egy elem a fájlok tömbjében, amely leírja a kezelendő fájlok halmazát
  • A Source - mely meghatározza a forrásfájlokra vonatkozó szűréseket - és a Translation - mely megmondja hogy hol kerüljenek tárolásra a fordítások mezők szükségesek, vagy hogy hol keresse a már rendelkezésre álló fordításokat - mezők szükségesek a fájlok tömbjében, ha fel kívánja őket tölteni a CLI beállításával

Egy egyszerű konfigurációs fájl írása

A typical configuration file looks similar to the following:

"project_id": "projectId"                     #open project settings and go to API section 
"api_token": "personal-access-token"          #open profile settings and go to API > New Token > create Token
"base_path": "/project-base-path"
"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%"
  }
]

A fenti konfigurációs fájl futtatása és a forrásfájlok feltöltése a Crowdinba:

$ crowdin upload sources

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

$ crowdin download

API hitelesítő adatok a környezeti változókból

Az API hitelesítő adatokat egy környezeti változóból is betöltheti, pl.:

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

Ha kevert, akkor az api_token és a project_id prioritásai a következők:

"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

A Projekt konfiguráció és az API hitelesítő adatok szétválasztása

A crowdin.yml fájl tartalmaz egy leírást a források kezeléséhez, illetve tartalmazza az API hitelesítő adatokat (project_id, api_token, base_path, base_url). 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:

  • a projekt könyvtárában található leírást a források kezeléséhez
  • API hitelesítő adatok, amely valószínűleg a $HOME/.crowdin.yml helyen van
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

Általános konfiguráció

A fent bemutatott minta-konfiguráció olyan forrás- és fordítási attribútumokat tartalmaz, amelyek szabványos helyettesítő karaktereket tartalmaznak (más néven globbing minták), hogy megkönnyítsék a több fájl kezelését.

Ezeket a mintákat használhatja:

* (csillag)

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

** (dupla csillag)

Rekurzív módon megfelel bármely karakterláncnak (beleértve az alkönyvtárakat is). A **\ mind a forrás, mind a fordítási mintákban is használható. When using ** in the translation pattern, it will always contain a sub-path from the source for a certain file. Példaként a forráshoz használhatja ezt: ‘/en/**/*.po’ az összes *.po fájl Crowdinba való rekurzív feltöltéséhez. A fordítási minta: ‘/%two_letters_code%/**/%original_file_name%’ lesz.

? (kérdőjel)

Egyetlen karaktert helyettesít.

[set]

Egy adott karaktert helyettesít egy csomagból. Pontosan úgy viselkedik, mint a Regexp karakterkészletei, beleértve a beállított tagadást ([^a-z]).

\ (fordított perjel)

Védi a következő metakaraktert.

Helyőrzők

A Crowdin CLI lehetővé teszi a következő helyőrzők használatát, hogy a megfelelő változókat az eredményül kapott fájl nevére alkalmazza:

Név Leírás
%original_file_name% Eredeti fájlnév
%original_path% Fogadja a szülőkönyvtárak nevét a Crowdin projektben a fájl elérési útjának létrehozásához
%file_extension% Eredeti fájlkiterjesztés
%file_name% Fájl neve kiterjesztés nélkül
%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 területi azonosító, a "values-" könyvtárak elnevezésére használható
%osx_code% OS X területi azonosító az ".lproj" könyvtárak elnevezésére használható
%osx_locale% OS X locale used to name translation resources (e.g., uk, zh-Hans, zh_HK)

A létrehozott archívumban lévő fájlok elérési útját is megadhatja úgy, hogy a minta elején egy perjelet (/) helyez el.

A translation beállítása a következőképp kell kinézzen: “/locale/%two_letters_code%/LC_MESSAGES/%original_file_name%”.

Helyettesítő karakterek használata

A helyi gépen található fájlok és könyvtárak struktúrája:

- 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
  1. példa Helyettesítő karakterek használata a forrás elérési útjában:
#........your project configuration........
"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%"
  }
]
  1. példa Helyettesítő karakterek használata a fájlok figyelmen kívül hagyásához:
    #........your project configuration........
    "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
     ]
      }
    ]
    

Nyelv hozzárendelése

Gyakran a szoftverprojektek a honosítási könyvtárakhoz egyéni neveket tartalmaznak. Crowdin allows you to map your own languages to be recognizable in your projects.

Tegyük fel, hogy a nyelvi könyvtárak elnevezése “en”, “uk”, “fr”, “de”. Közülük mindegyik megjeleníthető a %two_letters_code% helyőrzővel. Ezen felül van egy “zh_CH” nevű könyvtára. A nyelvkódokat felül is írhatja, például az %android_code%, %locale%, stb. helyőrzőkkel.

To make it work with Crowdin without changes in your project, you can set up Language Mapping via UI.

To set up Language Mapping, follow these steps:

  1. Open the Project settings > General tab and scroll down to the Export section.
  2. Egyéni nyelvkódok hozzáadásához a projektje célnyelveihez kattintson a Nyelv hozzárendelése gombra.

Fordítás fájlok átnevezése

Ha át kell neveznie a fordítás fájlokat az exportálás után, könnyen elvégezheti ezt a translation_replace paraméter segítségével.

For example, if the file is named “en_strings.po”, it can be renamed to “strings.po”. Ehhez a konfigurációs fájlhoz (crowdin.yml) adjon hozzá egy új paramétert (azonos szinten a fordítási paraméterrel):

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

Fájlok és könyvtárak figyelmen kívül hagyása

From time to time, there are files and directories you don’t need to translate in Crowdin. Ilyen esetekben a helyi fájlonkénti szabályok hozzáadhatók a projekt konfigurációs fájljához.

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

Konfigurációs fájl példa:

"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 fájl példa:

Konfigurációs fájl példa:

Konfigurációs fájl példa:

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

Könyvtárszerkezet mentése szerveren

"preserve_hierarchy": true

Example of the configuration file using the preserve_hierarchy option:

"project_id": "projectId"                     #open project settings and go to API section
"api_token": "personal-access-token"          #open profile settings and go to API > New Token > create 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%"
  }
]

Alapértelmezés szerint az olyan könyvtárak, amelyek nem tartalmaznak fordítási fájlokat, nem hozhatók létre a Crowdinban. Például:

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

A projektfájlok alapértelmezés szerint a Crowdinban a következők szerint jelennek meg:

- foo.po
- bar.po

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

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

Fájlok feltöltése a megadott útvonalra a megadott típussal

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 can detect the type correctly.

A dest paraméter lehetővé teszi, hogy megadja a fájl nevét a Crowdinban. 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.

Konfigurációs fájl példa mindkét paraméterrel:

"project_id": "projectId"                     #open project settings and go to API section
"api_token": "personal-access-token"          #open profile settings and go to API > New Token > create 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"
  }
]

Módosított karakterláncok frissítése

Az update_option paraméter opcionális. Ha nincs beállítva, a megváltoztatott karakterláncok fordításai a fájlfrissítés után elveszhetnek. Hasznos az elgépelések javításaihoz és a kisebb forrás-karakterlánc változásokhoz.

Az értéktől függően, az update_option a fordítások megőrzésére és a módosított karakterláncok jóváhagyásainak megőrzésére/eltávolítására használható a fájlfrissítés során.

Az értékek:

  • update_as_unapproved - megváltozott karakterláncok fordításainak megőrzése, és eltávolítja a fordítások jóváhagyásait, ha vannak ilyenek
  • update_without_changes - megváltozott karakterláncok fordításainak és a fordítások jóváhagyásainak megőrzése

Konfigurációs fájl példa update_option paraméterrel:

"project_id": "projectId"                     #open project settings and go to API section
"api_token": "personal-access-token"          #open profile settings and go to API > New Token > create 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"
  }
]

Fordítások feltöltése

Az upload translations parancs feltölti a meglévő fordításokat a Crowdinba. 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.

Az értékek:

  • -l, --language=language_code - határozza meg azokat a fordításokat, amelyeket fel kell tölteni a Crowdinba. Alapértelmezetten a fordítások az összes projekt célnyelvre feltöltésre kerül. (Crowdin nyelvkódok)
  • --[no-]import-eq-suggestions - defines whether to add translation if it is equal to source string in the Crowdin project
  • --[no-]auto-approve-imported - automatikusan jóváhagyja a feltöltött fordításokat

Import Options

XML Files Import Options

translate_content
opcionális
bool Defines whether to translate texts placed inside the tags.
Acceptable values are 0 or 1. Alapértelmezett értéke 1.
translate_attributes
opcionális
bool Defines whether to translate tags' attributes.
Acceptable values are 0 or 1. Alapértelmezett értéke 1.
content_segmentation
opcionális
bool Defines whether to split long texts into smaller text segments.
Acceptable values are 0 or 1. Alapértelmezett értéke 1.
Note: When Content segmentation is enabled, the translation upload is handled by an experimental machine learning technology.
translatable_elements
opcionális
array Ez egy karakterláncok tömb, ahol minden elem az XPaths a DOM-hoz elem, amelyet importálni kell.
Minta útvonal: /path/to/node vagy /path/to/attribute[@attr]
Figyelem! Ha be van állítva, a translate_content és a translate_attributes paramétereket nem veszi figyelembe az importálás során.

Konfigurációs fájl példa további paraméterekkel:

"project_id": "projectId"                   #open project settings and go to API section
"api_token": "personal-access-token"        #open profile settings and go to API > New Token > create 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",                      # 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
opcionális
bool Meghatározza, hogy a hosszú szövegeket kisebb szövegekre szétdarabolja e. 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. Alapértelmezett értéke 1.
Note: When Content segmentation is enabled, the translation upload is handled by an experimental machine learning technology.

Konfigurációs fájl példa további paraméterekkel:

"project_id": "projectId"                   #open project settings and go to API section
"api_token": "personal-access-token"        #open profile settings and go to API > New Token > create 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
  }
]

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 settings and go to API section
"api_token": "personal-access-token"          #open profile settings and go to API > New Token > create 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
  }
]
Note: The export options work only with CLI.

Védett idézőjelek funkció a .properties fájlformátumhoz

Meghatározza, hogy egy adott aposztrófot egy másik aposztróffal, vagy fordított perjellel kell védeni (escape) az exportált fordításokban. You can add the escape_quotes per-file option. Acceptable values are 0, 1, 2, 3. Alapértelmezett értéke 3.

Az értékek:

  • 0 - ne védje az aposztrófot
  • 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} )

Speciális karakterek védése
Meghatározza, hogy a speciális karaktereket (=, :, ! 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. Alapértelmezett értéke 1.

  • 0 - speciális karakterek nincsenek védve
  • 1 - speciális karakterek védése fordított perjellel

Példa a konfigurációs fájlra:

"project_id": "projectId"                   #open project settings and go to API section
"api_token": "personal-access-token"        #open profile settings and go to API > New Token > create 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
  }
]

Konfiguráció minták

Uploading CSV files

"project_id": "projectId"                   #open project settings and go to API section
"api_token": "personal-access-token"        #open profile settings and go to API > New Token > create 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"                   #open project settings and go to API section
"api_token": "personal-access-token"        #open profile settings and go to API > New Token > create 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"                   #open project settings and go to API section
"api_token": "personal-access-token"        #open profile settings and go to API > New Token > create 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"
      }
    }
  }
]

Konfigurációs fájl a VCS integrációkhoz

A VCS integrációk ugyanazt a konfigurációs fájlt igénylik, mint a CLI eszköz, azaz ugyanazt a struktúrát támogatja. 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.

Minta:

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

Leíró üzenet paraméter a VCS integrációkhoz

Minden alkalommal, amikor fordítások kerülnek beküldésre a következő alapértelmezett üzenet jelenik meg: “Új fordítások {fileName} {languageName}”. You can use the commit_message parameter to add Git tags (e.g., to skip builds).

Minta:

"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. Két opcionális helyőrzőt is hozzáadhat: %original_file_name% és %language% a megfelelő fájlnév és a megfelelő nyelvi változók használatához.

Minta:

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

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

Nyelvek exportálási paraméterei a VCS integrációkhoz

Alapértelmezés szerint az összes nyelv exportálásra kerül. If you need to export some specific languages, use the export_languages parameter to specify them.

Minta:

"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 project.

The strings uploaded to the Crowdin 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, it won’t be re-added on the next syncs.

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

Minta:

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

Egy konfigurációs fájl használata a VCS integrációkhoz és a CLI-hez

Előfordulhatnak olyan esetek, amikor a VCS integrációt és a CLI-t kell használni egy projekthez. Az ilyen helyzetben legtöbbször két különálló konfigurációs fájlra van szüksége, az egyik a VCS integrációhoz, a másik pedig a CLI-hez. Ugyanakkor lehetséges egyetlen konfigurációs fájl használata a két esethez.

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. Alternatív megoldásként erre a célra használhatkörnyezeti változókat is.

Ennek eredményeként a fordítások CLI-n keresztüli letöltésére szolgáló parancs a következőképpen néz ki:

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

Segítség kérése

Segítségre van szüksége a Crowdin CLI használatával, vagy kérdése van? Lépjen kapcsolatba az ügyfélszolgálattal.

Lásd még

Hasznos volt ez a cikk?