{"id":62855,"date":"2024-04-09T17:36:04","date_gmt":"2024-04-09T14:06:04","guid":{"rendered":"https:\/\/nabfollower.com\/blog\/phrase-cli-config-yaml-3pdh\/"},"modified":"2024-04-09T17:36:04","modified_gmt":"2024-04-09T14:06:04","slug":"phrase-cli-config-yaml-3pdh","status":"publish","type":"post","link":"https:\/\/nabfollower.com\/blog\/phrase-cli-config-yaml-3pdh\/","title":{"rendered":"\u0639\u0628\u0627\u0631\u062a CLI Config YAML &#8211; DEV Community"},"content":{"rendered":"<div data-article-id=\"1816124\" id=\"article-body\">\n<p>\u0627\u06cc\u0646\u062c\u0627\u0633\u062a <code>.phrase.yml<\/code> \u0641\u0627\u06cc\u0644 \u0628\u0627 \u062a\u0645\u0627\u0645 \u0645\u0634\u062e\u0635\u0627\u062a \u0645\u0645\u06a9\u0646<\/p>\n<p>\u067e\u06cc\u062f\u0627 \u06a9\u0631\u062f\u0646 \u0622\u0646 \u062f\u0631 \u0648\u0628 \u0633\u0627\u06cc\u062a \u0631\u0627\u0647\u0646\u0645\u0627 Phrase \u0628\u0647 \u0637\u0631\u0632 \u0639\u062c\u06cc\u0628\u06cc \u062f\u0634\u0648\u0627\u0631 \u0627\u0633\u062a.<\/p>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight yaml\"><code><span class=\"na\">phrase<\/span><span class=\"pi\">:<\/span>\n  <span class=\"na\">access_token<\/span><span class=\"pi\">:<\/span> <span class=\"s\">ACCESS_TOKEN<\/span> <span class=\"c1\">#Add your personal access token to authenticate, you can find the steps on how to create one here: https:\/\/help.phrase.com\/help\/access-tokens<\/span>\n  <span class=\"na\">project_id<\/span><span class=\"pi\">:<\/span> <span class=\"s\">PROJECT_ID<\/span> <span class=\"c1\">#The public Project ID which can be found in the Project Settings (API tab)<\/span>\n  <span class=\"na\">file_format<\/span><span class=\"pi\">:<\/span> <span class=\"s\">FORMAT_API_EXTENSION<\/span> <span class=\"c1\">#Find the format you want to use here: https:\/\/help.phrase.com\/help\/supported-platforms-and-formats , access the article and copi the API extension<\/span>\n\n  <span class=\"na\">push<\/span><span class=\"pi\">:<\/span>\n    <span class=\"na\">sources<\/span><span class=\"pi\">:<\/span>\n    <span class=\"pi\">-<\/span> <span class=\"na\">file<\/span><span class=\"pi\">:<\/span> <span class=\"s\">.\/path\/to\/file\/file.format<\/span> <span class=\"c1\">#Provide the path to the file(s) you want to push here, starting from the location of the configuration file. You can use the placeholders &lt;locale_name&gt;, &lt;locale_code&gt; and &lt;tags&gt; in the path or file-name<\/span>\n      <span class=\"na\">params<\/span><span class=\"pi\">:<\/span>\n        <span class=\"na\">file_format<\/span><span class=\"pi\">:<\/span> <span class=\"s\">FORMAT_API_EXTENSION (string)<\/span> <span class=\"c1\">#See above. Only required if you deviate from the default format set in the header<\/span>\n        <span class=\"na\">locale_id<\/span><span class=\"pi\">:<\/span> <span class=\"s\">LOCALE_ID (string)<\/span> <span class=\"c1\">#Can be the name (e.g. en-US) or public id (via Language settings -&gt; API) of the locale. Preferred is the public id.<\/span>\n        <span class=\"na\">tags<\/span><span class=\"pi\">:<\/span> <span class=\"s\">TAG_1, TAG_2 (string)<\/span> <span class=\"c1\">#List of tags separated by comma to be associated with the new keys contained in the upload.<\/span>\n        <span class=\"na\">update_translations<\/span><span class=\"pi\">:<\/span> <span class=\"kc\">false<\/span><span class=\"s\"> (boolean)<\/span> <span class=\"c1\">#Indicates whether existing translations should be updated with the file content.<\/span>\n        <span class=\"na\">update_descriptions<\/span><span class=\"pi\">:<\/span> <span class=\"kc\">false<\/span><span class=\"s\"> (boolean)<\/span> <span class=\"c1\">#Existing key descriptions will be updated with the file content. Empty descriptions overwrite existing descriptions.<\/span>\n        <span class=\"na\">skip_upload_tags<\/span><span class=\"pi\">:<\/span> <span class=\"kc\">false<\/span><span class=\"s\"> (boolean)<\/span> <span class=\"c1\">#Indicates whether the upload should not create upload tags.<\/span>\n        <span class=\"na\">skip_unverification<\/span><span class=\"pi\">:<\/span> <span class=\"kc\">false<\/span><span class=\"s\"> (boolean)<\/span> <span class=\"c1\">#Indicates whether the upload should unverify updated translations.<\/span>\n        <span class=\"na\">file_encoding<\/span><span class=\"pi\">:<\/span> <span class=\"s\">ENCODING (string)<\/span> <span class=\"c1\">#Enforces a specific encoding on the file contents. Valid options are \"UTF-8\", \"UTF-16\", \"UTF-16BE\", \"UTF-16LE\" and \"ISO-8859-1\".<\/span>\n        <span class=\"na\">locale_mapping<\/span><span class=\"pi\">:<\/span> <span class=\"pi\">{<\/span><span class=\"s2\">\"<\/span><span class=\"s\">LANGUAGE_CODE\"<\/span><span class=\"pi\">:<\/span> <span class=\"s2\">\"<\/span><span class=\"s\">COLUMN\"<\/span><span class=\"pi\">}<\/span> <span class=\"s\">(object)<\/span> <span class=\"c1\">#Optional, format specific (Excel, CSV) mapping between locale names and the columns the translations to those locales are contained in.<\/span>\n        <span class=\"na\">autotranslate<\/span><span class=\"pi\">:<\/span> <span class=\"kc\">false<\/span><span class=\"s\"> (boolean)<\/span> <span class=\"c1\">#If set, translations for the uploaded language will be fetched automatically.  <\/span>\n        <span class=\"na\">mark_reviewed<\/span><span class=\"pi\">:<\/span> <span class=\"kc\">false<\/span><span class=\"s\"> (boolean)<\/span> <span class=\"c1\">#Indicated whether the imported translations should be marked as reviewed. This setting is available if the review workflow (currently beta) is enabled for the project.<\/span>\n        <span class=\"c1\">#-------------<\/span>\n        <span class=\"na\">format_options<\/span><span class=\"pi\">:<\/span>\n          <span class=\"na\">ignore_source_translations<\/span><span class=\"pi\">:<\/span> <span class=\"kc\">false<\/span><span class=\"s\"> (boolean)<\/span> <span class=\"c1\">#XLIFF\/XLIFF 2.0 only. Ignores the source translations in the file during the upload (to avoid accidental source language updates)<\/span>\n          <span class=\"na\">ignore_target_translations<\/span><span class=\"pi\">:<\/span> <span class=\"kc\">false<\/span><span class=\"s\"> (boolean)<\/span> <span class=\"c1\">#XLIFF\/XLIFF 2.0 only. Ignores the target translations in the file during the upload (to avoid accidental target language updates)<\/span>\n          <span class=\"na\">msgid_as_default<\/span><span class=\"pi\">:<\/span> <span class=\"kc\">false<\/span><span class=\"s\"> (boolean)<\/span> <span class=\"c1\">#Gettext template POT files. Use the key name (msgid) as translation (key names equal source translation in that format)<\/span>\n          <span class=\"na\">strip_placeholder_delimiters<\/span><span class=\"pi\">:<\/span> <span class=\"kc\">false<\/span><span class=\"s\"> (boolean)<\/span> <span class=\"c1\">#XLIFF only. Removes &lt;ph&gt; tags from translations<\/span>\n          <span class=\"na\">override_file_language<\/span><span class=\"pi\">:<\/span> <span class=\"kc\">false<\/span><span class=\"s\"> (boolean)<\/span> <span class=\"c1\">#XLIFF\/XLIFF 2.0 only. This file format typically contains language information in the file itself. Use this option to override the language with one you specify.<\/span>\n          <span class=\"na\">key_index<\/span><span class=\"pi\">:<\/span> <span class=\"pi\">[<\/span><span class=\"nv\">empty<\/span><span class=\"pi\">]<\/span><span class=\"s\">(integer)<\/span> <span class=\"c1\">#Excel\/CSV only. Index of the column containing the key names. Column indexes start at 1.<\/span>\n          <span class=\"na\">comment_index<\/span><span class=\"pi\">:<\/span> <span class=\"pi\">[<\/span><span class=\"nv\">empty<\/span><span class=\"pi\">]<\/span><span class=\"s\">(integer)<\/span> <span class=\"c1\">#Excel\/CSV only. Index of the column containing description for the key. Column indexes start at 1.<\/span>\n          <span class=\"na\">tag_column<\/span><span class=\"pi\">:<\/span> <span class=\"pi\">[<\/span><span class=\"nv\">empty<\/span><span class=\"pi\">]<\/span><span class=\"s\">(integer)<\/span> <span class=\"c1\">#Excel\/CSV only. Index of the column containing a tag for the key. Column indexes start at 1 .<\/span>\n          <span class=\"na\">column_separator<\/span><span class=\"pi\">:<\/span> <span class=\"err\">,<\/span> <span class=\"s\">(string)<\/span> <span class=\"c1\">#CSV only. Char that is used to separate columns.<\/span>\n          <span class=\"na\">quote_char<\/span><span class=\"pi\">:<\/span> <span class=\"s1\">'<\/span><span class=\"s\">\"'<\/span> <span class=\"s\">(string)<\/span> <span class=\"c1\">#CSV only. Char that is used to quote newlines and column separator.<\/span>\n          <span class=\"na\">header_content_row<\/span><span class=\"pi\">:<\/span> <span class=\"kc\">false<\/span><span class=\"s\"> (boolean)<\/span> <span class=\"c1\">#CSV only. Indicates whether the first row contains only header information and should be skipped.<\/span>\n          <span class=\"na\">first_content_row<\/span><span class=\"pi\">:<\/span> <span class=\"s\">1 (integer)<\/span> <span class=\"c1\">#Excel only. Index of first row to contain translation content.<\/span>\n          <span class=\"na\">enable_pluralization<\/span><span class=\"pi\">:<\/span> <span class=\"kc\">true<\/span><span class=\"s\"> (boolean)<\/span> <span class=\"c1\">#Simple\/Nested JSON only. Enables detection of pluralized keys. All matching keys will be persisted as pluralized keys.<\/span>\n          <span class=\"na\">unescape_linebreaks<\/span><span class=\"pi\">:<\/span> <span class=\"kc\">false<\/span><span class=\"s\"> (boolean)<\/span> <span class=\"c1\">#Android XML only. All \\n will be imported as true newlines<\/span>\n          <span class=\"na\">escape_single_quotes<\/span><span class=\"pi\">:<\/span> <span class=\"kc\">false<\/span><span class=\"s\"> (boolean)<\/span> <span class=\"c1\">#Java Properties only. Escape single quotes with another single quote (e.g. I'm -&gt; I''m ).<\/span>\n\n  <span class=\"na\">pull<\/span><span class=\"pi\">:<\/span>\n    <span class=\"na\">targets<\/span><span class=\"pi\">:<\/span>\n    <span class=\"pi\">-<\/span> <span class=\"na\">file<\/span><span class=\"pi\">:<\/span> <span class=\"s\">.\/path\/to\/file\/file.format<\/span>\n      <span class=\"na\">params<\/span><span class=\"pi\">:<\/span>\n        <span class=\"na\">file_format<\/span><span class=\"pi\">:<\/span> <span class=\"s\">FORMAT_API_EXTENSION (string)<\/span> <span class=\"c1\">#See above. Only required if you deviate from the default format set in the header<\/span>\n        <span class=\"na\">locale_id<\/span><span class=\"pi\">:<\/span> <span class=\"s\">LOCALE_ID (string)<\/span> <span class=\"c1\">#Can be the name (e.g. en-US) or public id (via Language settings -&gt; API) of the locale. Preferred is the public id.<\/span>\n        <span class=\"na\">tags<\/span><span class=\"pi\">:<\/span> <span class=\"s\">TAG_1, TAG_2 (string)<\/span> <span class=\"c1\">#Limit results to keys tagged with a list of comma separated tag names.<\/span>\n        <span class=\"na\">include_empty_translations<\/span><span class=\"pi\">:<\/span> <span class=\"kc\">false<\/span><span class=\"s\"> (boolean)<\/span> <span class=\"c1\">#Indicates whether keys without translations should be included in the output as well.<\/span>\n        <span class=\"na\">exclude_empty_zero_forms<\/span><span class=\"pi\">:<\/span> <span class=\"kc\">false<\/span><span class=\"s\"> (boolean)<\/span> <span class=\"c1\">#Indicates whether zero forms should be included when empty in pluralized keys.<\/span>\n        <span class=\"na\">include_translated_keys<\/span><span class=\"pi\">:<\/span> <span class=\"kc\">true<\/span><span class=\"s\"> (boolean)<\/span> <span class=\"c1\">#Include translated keys in the locale file. Use in combination with include_empty_translations to obtain only untranslated keys.<\/span>\n        <span class=\"na\">keep_notranslate_tags<\/span><span class=\"pi\">:<\/span> <span class=\"kc\">false<\/span><span class=\"s\"> (boolean)<\/span> <span class=\"c1\">#Indicates whether [NOTRANSLATE] tags should be kept.<\/span>\n        <span class=\"na\">encoding<\/span><span class=\"pi\">:<\/span> <span class=\"s\">ENCODING (string)<\/span> <span class=\"c1\">#Enforces a specific encoding on the file contents. Valid options are \"UTF-8\", \"UTF-16\", \"UTF-16BE\", \"UTF-16LE\" and \"ISO-8859-1\".<\/span>\n        <span class=\"na\">include_unverified_translations<\/span><span class=\"pi\">:<\/span> <span class=\"kc\">true<\/span><span class=\"s\"> (boolean)<\/span> <span class=\"c1\">#If set to false unverified translations are excluded<\/span>\n        <span class=\"na\">use_last_reviewed_version<\/span><span class=\"pi\">:<\/span> <span class=\"kc\">false<\/span><span class=\"s\"> (boolean)<\/span> <span class=\"c1\">#If set to true the last reviewed version of a translation is used. This is only available if the review workflow is enabled for the project.<\/span>\n        <span class=\"na\">fallback_locale_id<\/span><span class=\"pi\">:<\/span> <span class=\"s\">LOCALE_ID (string)<\/span> <span class=\"c1\">#Can be the name (e.g. en-US) or public id (via Language settings -&gt; API) of the locale. Preferred is the public id.<\/span>\n        <span class=\"c1\">#-------------<\/span>\n        <span class=\"na\">format_options<\/span><span class=\"pi\">:<\/span>\n          <span class=\"na\">document_id<\/span><span class=\"pi\">:<\/span> <span class=\"s\">DOCUMENT_ID (string)<\/span> <span class=\"c1\">#Takes the document ID of the existing HTML documents in your project the export should be based on.<\/span>\n          <span class=\"na\">enclose_in_cdata<\/span><span class=\"pi\">:<\/span> <span class=\"kc\">false<\/span><span class=\"s\"> (boolean)<\/span> <span class=\"c1\">#XLIFF\/Symfony XLIFF\/Android XML only. Encloses translations containing html tags in CDATA<\/span>\n          <span class=\"na\">include_translation_state<\/span><span class=\"pi\">:<\/span> <span class=\"kc\">false<\/span><span class=\"s\"> (boolean)<\/span> <span class=\"c1\">#XLIFF\/Symfony XLIFF only. Include state of translations in the target locale<\/span>\n          <span class=\"na\">indent_size<\/span><span class=\"pi\">:<\/span> <span class=\"s\">4 (integer)<\/span> <span class=\"c1\">#XLIFF\/Android XML only. Specifies number of indentation characters<\/span>\n          <span class=\"na\">indent_style<\/span><span class=\"pi\">:<\/span> <span class=\"s\">space (string)<\/span> <span class=\"c1\">#XLIFF\/Android XML only.Specifies indentation character. Allowed values are space and tab<\/span>\n          <span class=\"na\">export_key_id_as_resname<\/span><span class=\"pi\">:<\/span> <span class=\"kc\">true<\/span><span class=\"s\">\/false (boolean)<\/span> <span class=\"c1\">#XLIFF only. Exports the Key ID as the \"resname\" attribute.<\/span>\n          <span class=\"na\">export_key_name_hash_as_extradata<\/span><span class=\"pi\">:<\/span> <span class=\"kc\">true<\/span><span class=\"s\">\/false (boolean)<\/span> <span class=\"c1\">#XLIFF only. Exports the Key Name hash as the \"extradata\" attribute.<\/span>\n          <span class=\"na\">delimit_placeholders<\/span><span class=\"pi\">:<\/span> <span class=\"kc\">false<\/span><span class=\"s\"> (boolean)<\/span> <span class=\"c1\">#XLIFF only. Removes &lt;ph&gt; tags from translations<\/span>\n          <span class=\"na\">convert_placeholder<\/span><span class=\"pi\">:<\/span> <span class=\"kc\">false<\/span><span class=\"s\"> (boolean)<\/span> <span class=\"c1\">#iOS\/Android XML only. Placeholder will be converted to match format specific requirements. Example: '$s' =&gt; '$@'<\/span>\n          <span class=\"na\">include_pluralized_keys<\/span><span class=\"pi\">:<\/span> <span class=\"kc\">false<\/span><span class=\"s\"> (boolean)<\/span> <span class=\"c1\">#iOS only. Also include pluralized keys in the locale file.<\/span>\n          <span class=\"na\">export_tags<\/span><span class=\"pi\">:<\/span> <span class=\"kc\">false<\/span><span class=\"s\"> (boolean)<\/span> <span class=\"c1\">#Excel\/CSV only. Exports tags along with keys and translations.<\/span>\n          <span class=\"na\">export_max_characters_allowed<\/span><span class=\"pi\">:<\/span> <span class=\"kc\">false<\/span><span class=\"s\"> (boolean)<\/span> <span class=\"c1\">#Excel\/CSV only.Exports the key character limit along with keys and translations.<\/span>\n          <span class=\"na\">escape_linebreaks<\/span><span class=\"pi\">:<\/span> <span class=\"kc\">false<\/span><span class=\"s\"> (boolean)<\/span> <span class=\"c1\">#Android XML only. All line breaks will be escaped as '\\n'<\/span>\n          <span class=\"na\">escape_single_quotes<\/span><span class=\"pi\">:<\/span> <span class=\"kc\">false<\/span><span class=\"s\"> (boolean)<\/span> <span class=\"c1\">#Java\/Play Framework Properties only. Escape single quotes with another single quote (e.g. I'm -&gt; I''m ).<\/span>\n          <span class=\"na\">omit_separator_space<\/span><span class=\"pi\">:<\/span> <span class=\"kc\">false<\/span><span class=\"s\"> (boolean)<\/span> <span class=\"c1\">#Java Properties only. Skip the space before and after the separator sign (= ).<\/span>\n          <span class=\"na\">crlf_line_terminators<\/span><span class=\"pi\">:<\/span> <span class=\"kc\">false<\/span><span class=\"s\"> (boolean)<\/span> <span class=\"c1\">#Java Properties only. Use CRLF (Windows) line terminator chars.<\/span>\n<\/code><\/pre>\n<div class=\"highlight__panel js-actions-panel\">\n<div class=\"highlight__panel-action js-fullscreen-code-action\">\n    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-on\"><title>\u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M16 3h6v6h-2V5h-4V3zM2 3h6v2H4v4H2V3zm18 16v-4h2v6h-6v-2h4zM4 19h4v2H2v-6h2v4z\"\/>\n<\/svg><\/p>\n<p>    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-off\"><title>\u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M18 7h4v2h-6V3h2v4zM8 9H2V7h4V3h2v6zm10 8v4h-2v-6h6v2h-4zM8 15v6H6v-4H2v-2h6z\"\/>\n<\/svg><\/p>\n<\/div>\n<\/div>\n<\/div><\/div>\n","protected":false},"excerpt":{"rendered":"<p>\u0627\u06cc\u0646\u062c\u0627\u0633\u062a .phrase.yml \u0641\u0627\u06cc\u0644 \u0628\u0627 \u062a\u0645\u0627\u0645 \u0645\u0634\u062e\u0635\u0627\u062a \u0645\u0645\u06a9\u0646 \u067e\u06cc\u062f\u0627 \u06a9\u0631\u062f\u0646 \u0622\u0646 \u062f\u0631 \u0648\u0628 \u0633\u0627\u06cc\u062a \u0631\u0627\u0647\u0646\u0645\u0627 Phrase \u0628\u0647 \u0637\u0631\u0632 \u0639\u062c\u06cc\u0628\u06cc \u062f\u0634\u0648\u0627\u0631 \u0627\u0633\u062a. phrase: access_token: ACCESS_TOKEN #Add your personal access token to authenticate, you can find the steps on how to create one here: https:\/\/help.phrase.com\/help\/access-tokens project_id: PROJECT_ID #The public Project ID which can be found in the Project &hellip;<\/p>\n","protected":false},"author":2,"featured_media":62856,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"fifu_image_url":"","fifu_image_alt":"","footnotes":""},"categories":[339],"tags":[],"class_list":["post-62855","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-dev"],"_links":{"self":[{"href":"https:\/\/nabfollower.com\/blog\/wp-json\/wp\/v2\/posts\/62855","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/nabfollower.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/nabfollower.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/nabfollower.com\/blog\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/nabfollower.com\/blog\/wp-json\/wp\/v2\/comments?post=62855"}],"version-history":[{"count":0,"href":"https:\/\/nabfollower.com\/blog\/wp-json\/wp\/v2\/posts\/62855\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/nabfollower.com\/blog\/wp-json\/wp\/v2\/media\/62856"}],"wp:attachment":[{"href":"https:\/\/nabfollower.com\/blog\/wp-json\/wp\/v2\/media?parent=62855"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/nabfollower.com\/blog\/wp-json\/wp\/v2\/categories?post=62855"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/nabfollower.com\/blog\/wp-json\/wp\/v2\/tags?post=62855"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}