Yapılandırma Dosyası

Giriş

Crowdin CLI yönetmek için kaynakların bir açıklamasını içeren bir yapılandırma dosyası kullanır: Crowdin Enterprise içine yüklenecek dosyalar ve ilgili çevirilerin yerleri.

Crowdin CLI’yi kullanmak için önce yapılandırma dosyanızı oluşturmalı ve ardından aracı çalıştırmalısınız. Varsayılan olarak, Crowdin CLI crowdin.yml adında bir yapılandırma dosyası arar (bu yüzden crowdin.yml’dan farklı değilse dosya adını belirtmek zorunda değilsiniz).

Yapılandırma dosyasını oluşturmak için aşağıdaki komutu çalıştırın:

$ crowdin init

Yapılandırma Dosyası Yapısı

Geçerli bir Crowdin CLI yapılandırma dosyası aşağıdaki yapıya sahiptir, bu yüzden lütfen gerekli tüm bilgileri doldurduğunuzdan emin olun:

  • Proje kimlik bilgileri, tercihlerin ​​ve erişim bilgilerinin bulunduğu dosyanın başı
  • Yöneteceğiniz bir dizi kaynak ve çeviri dosyasını tanımlayan bir dosya dizilimi öğesi
  • Dosyaların dizilimindeki zorunlu alanlar: Kaynak dosyalar için süzgeçleri tanımlayan Kaynak ve çevrilen dosyaların nerede saklanacağı veya CLI’yi ayarlarken bunları yüklemek istiyorsanız zaten sahip olduğunuz çevirileri nerede arayacağınızla ilgili talimatları içeren Çeviri

Basit Bir Yapılandırma Dosyası Yazma

Tipik bir yapılandırma dosyası aşağıdakine benzer:

"project_id": "proje-kimliği"                     #projeyi açın ve Bütünleştirmeler > Komut satırı aracı’na (CLI) gidin
"api_token": "kişisel-erişim-belirteci"          #projeyi açın ve Bütünleştirmeler > Komut satırı aracı’na (CLI) gidin
"base_path": "/proje-temel-yolu"
"base_url": "https://{organization-name}.crowdin.com"

"files": [
  {
    "source": "/locale/en/klasör1/[0-2].txt",                                       #kaynak dosyalar süzgeci
    "translation": "/locale/%two_letters_code%/klasör1/%original_file_name%"        #çevirilerin saklandığı yer
  },
  {
    "source": "/locale/en/klasör2/[0-2].txt",
    "translation": "/locale/%two_letters_code%/klasör2/%original_file_name%"
  }
]

Yukarıdaki yapılandırma dosyasını çalıştırmak ve Crowdin Enterprise’a kaynak dosyaları yüklemek için:

$ crowdin upload sources

Çevirileri Crowdin Enterprise’tan alın ve bunları doğru yerlere koyun:

$ crowdin download

Ortam Değişkenlerinden gelen API Kimlik Bilgileri

API Kimlik Bilgilerini bir ortam değişkeninden yükleyebilirsiniz, örneğin:

"project_id_env": "CROWDIN_PROJE_KİMLİĞİ"
"api_token_env": "CROWDIN_KİŞİSEL_BELİRTECİ"
"base_path_env": "CROWDIN_TEMEL_YOLU"
"base_url_env": "CROWDIN_TEMEL_URL"

Eğer karışıksa, api_token ve project_id önceliklidir:

"project_id_env": "CROWDIN_PROJE_KİMLİĞİ"      # Düşük öncelikli
"api_token_env": "CROWDIN_KİŞİSEL_BELİRTECİ"   # Düşük öncelikli
"base_path_env": "CROWDIN_TEMEL_YOLU"        # Düşük öncelikli
"base_url_env": "CROWDIN_TEMEL_URL"         # Düşük öncelikli
"project_id": "proje-kimliği"                   # Yüksek öncelikli
"api_token": "kişisel-erişim-belirteci"        # Yüksek öncelikli
"base_path": "/proje-temel-yolu"           # Yüksek öncelikli
"base_url": "https://{organization-name}.crowdin.com"           # Yüksek öncelikli

Proje Yapılandırması ve API Kimlik Bilgilerini Bölün

crowdin.yml dosyası, yönetilecek kaynakların ve API kimlik bilgilerinin (project_id, api_token, base_path, base_url) açıklamasını içerir. Bu, API anahtarının diğer kullanıcılar tarafından erişilebilir olacağından bu dosyayı kod deposuna işlemenin güvenli olmadığı anlamına gelir. Crowdin CLI, iki tür yapılandırma dosyası destekler:

  • proje dizininde bulunan, yönetilecek kaynakların açıklaması
  • Muhtemelen $HOME/.crowdin.yml dosyasında bulunan API kimlik bilgileri
Not: .crowdin.yml yapılandırma dosyasından gelen API kimlik bilgileri, proje dizininden gelen kimlik bilgilerine göre daha yüksek önceliğe sahiptir (crowdin.yml).

Eğer kullanıcıya özgü kimlik bilgileriyle bir komut çalıştırmanız gerekiyorsa (örneğin kaynakları yükleme), aşağıdaki komutu çalıştırın:

$ crowdin upload sources --identity 'kullanıcı-kimlik-bilgileri-dosyasına-giden-yol'

Ancak kullanıcıya özgü kimlik bilgileri dosyası $HOME/.crowdin.yml içinde bulunuyorsa çalıştırabilirisiniz:

$ crowdin upload sources

Genel Yapılandırma

Yukarıda verilen örnek yapılandırma, çoklu dosyalarla çalışmayı kolaylaştıran standart joker karakterleri (ayrıca genelleme şekilleri olarak da bilinir) içeren kaynak ve çeviri özniteliklerine sahiptir.

İşte kullanabileceğiniz şekiller:

* (yıldız işareti)

Represents any character in the file or directory name. Eğer bir “*.json” belirtirseniz, “iletiler.json”, “hakkimizda.json” ve “.json” ile biten her şey gibi tüm dosyaları içerecektir.

** (çiftli yıldız işareti)

Herhangi bir dizgiyle art arda (alt dizinler dahil) eşleşir. Hem kaynak hem de çeviri şekillerinde ** kullanabileceğinizi unutmayın. 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. Çeviri şekli ‘/%two_letters_code%/**/%original_file_name%’ olacaktır.

? (soru işareti)

Herhangi bir tek karakterle eşleşir.

[set]

Küme içindeki herhangi bir tek karakterle eşleşir. Düzenli İfadedeki, küme değili ([^ a-z]) dahil olmak üzere karakter kümeleri gibi davranır.

\ (ters eğik çizgi)

Sonraki üst karakteri atlatır.

Yer Tutucular

Crowdin CLI, sonuçta ortaya çıkan dosya adı içine uygun değişkenleri koymak için aşağıdaki yer tutucuları kullanmayı sağlar:

Ad Açıklama
%original_file_name% Orijinal dosya adı
%original_path% Sonuçta oluşan pakette dosya yolunu oluşturmak için Crowdin Enterprise projesindeki ana klasörlerin adlarını alır
%file_extension% Orijinal dosya uzantısı
%file_name% Uzantısız dosya adı
%language% Dil adı (örn. Ukraynaca)
%two_letters_code% Dil kodu ISO 639-1 (örn. uk)
%three_letters_code% Dil kodu ISO 639-2/T (örn. ukr)
%locale% Yerel ayar (örn. uk-UA)
%locale_with_underscore% Yerel ayar (örn. uk_UA)
%android_code% "values-" dizinlerini adlandırmak için kullanılan Android Locale tanımlayıcısı
%osx_code% ".lproj" dizinlerini adlandırmak için kullanılan OS X Locale tanımlayıcısı
%osx_locale% OS X locale used to name translation resources (e.g., uk, zh-Hans, zh_HK)

Ayrıca şeklin başına bir eğik çizgi (/) koyarak sonuçta ortaya çıkan arşivdeki dosyalar için yolu tanımlayabilirsiniz.

Çeviri seçeneğiniz şöyle görünebilir: “/locale/%two_letters_code%/LC_MESSAGES/%original_file_name%”.

Joker Karakterlerin Kullanımı

Yerel makinedeki dosyaların ve dizinlerin yapısı:

- base_path | |-- folder |     | |     |-- 1.xml |     |-- 1.txt |     |-- 123.txt |     |-- 123_deneme.txt |     |-- a.txt |     |-- a1.txt |     |-- crowdin?deneme.txt |     |-- crowdin_deneme.txt | |-- 1.xml |-- 1.txt |-- 123.txt |-- 123_deneme.txt |-- a.txt |-- a1.txt |-- crowdin?deneme.txt |-- crowdin_deneme.txt |-- 3.txt

Örnek 1. Kaynak yolunda joker karakterlerin kullanımı:

#........proje yapılandırmanız........
"files": [
  {
      "source": "/**/?[0-9].txt", #a1.txt, klasör/a1.txt yükle
      "translation": "/**/%two_letters_code%_%original_file_name%"
  },
  {
      "source": "/**/*\\?*.txt",  #crowdin?deneme.txt, klasör/crowdin?deneme.txt yükle
      "translation": "/**/%two_letters_code%_%original_file_name%"
  },
  {
      "source": "/**/[^0-2].txt", #3.txt, klasör/3.txt, a.txt, klasör/a.txt yükle (1.txt, klasör/1.txt yoksay)
      "translation": "/**/%two_letters_code%_%original_file_name%"
  }
]

Örnek 2. Dosyaları yoksayma için joker karakterlerin kullanımı:

#........proje yapılandırmanız........
"files": [
  {
    "source": "/**/*.*",                             #base_path’in içerdiği tüm dosyaları yükle
    "translation": "/**/%two_letters_code%_%original_file_name%",
    "ignore": [
      "/**/%two_letters_code%_%original_file_name%", #çevrilmiş dosyaları yoksay
      "/**/?.txt",                                   #1.txt, a.txt, klasör/1.txt, klasör/a.txt yoksay
      "/**/[0-9].txt",                               #1.txt, klasör/1.txt yoksay
      "/**/*\\?*.txt",                               #crowdin?deneme.txt, klasör/crowdin?deneme.txt yoksay
      "/**/[0-9][0-9][0-9].txt",                     #123.txt , klasör/123.txt yoksay
      "/**/[0-9]*_*.txt"                             #123_deneme.txt, klasör/123_deneme.txt yoksay
    ]
  }
]

Dil Eşleme

Genellikle yazılım projelerinin yerel dizinler için özel adları vardır. Crowdin Enterprise, projelerinizde tanınması için kendi dillerinizi eşlemenizi sağlar.

Yerel dizinleriniz ‘en’, ‘uk’, ‘tr’, ‘de’ olarak adlandırılmış diyelim. Hepsi %two_letters_code% yer tutucusu ile temsil edilebilir. Yine de, ‘zh_CH’ adında bir dizine sahipsiniz. Projenizde değişiklik yapmadan Crowdin Enterprise ile çalışmasını sağlamak için Dil Eşleme’yi ayarlayabilirsiniz. Ayrıca %android_code%, %locale% vb. gibi diğer yer tutucuları için dil kodlarını geçersiz kılabilirsiniz.

Dil Eşlemeyi, ya kullanıcı arabirimi (KA - UI) aracılığıyla ya da dosya kümenize bir ` language_mapping ` bölümü ekleyerek ayarlayabilirsiniz. Her dosya süzgeci için language_mapping parametresini çoğaltma ihtiyacını ortadan kaldırdığından, KA aracılığıyla bir dil eşlemesi ayarlamanızı öneririz, ancak elbette sizin için en uygun seçeneği seçebilirsiniz.

Kullanıcı Arayüzü aracılığıyla Dil Eşlemeyi ayarlamak için şu adımları izleyin:

  1. Proje Ayarları’nı açın ve Dışa Aktar bölümüne doğru kaydırın.
  2. Projenizin hedef dillerine özel dil kodları eklemek için Dil Eşleme’ye tıklayın.

Yapılandırma dosyanızda Dil Eşlemeyi ayarlamak için language_mapping bölümünü aşağıda gösterildiği gibi dosya kümenize ekleyin.

Örnek yapılandırma:

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

Eşleme biçimi şöyledir: “crowdin_language_code” : “kullandığınız_kod”. Eşleme için kullanılabilecek Crowdin Enterprise dil kodlarının tam listesini gözden geçirin.

Çeviri Dosyasını Yeniden Adlandırma

Eğer dışa aktarmadan sonra bir dosyayı çevirilerle yeniden adlandırmanız gerekirse, bunu translation_replace parametresi yardımıyla kolayca yapabilirsiniz.

Örneğin, dosya “en_strings.po” olarak adlandırılmışsa, “strings.po” olarak yeniden adlandırılabilir. Bunun için yapılandırma dosyasına (crowdin.yml) yeni bir parametre (translation parametresiyle aynı seviyede) ekleyin:

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

Bu durumda, “_en” dosya adından silinecektir.

Dosyaları ve Dizinleri Yoksayma

Zaman zaman, Crowdin Enterprise’ta çevirmeniz gerekmeyen dosyalar ve dizinler vardır. Bu gibi durumlarda, projenizdeki yapılandırma dosyasına yerel dosya başına kurallar eklenebilir.

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

Kaynak Dosyalar İçin Hedef Dilleri Hariç Tutma

Varsayılan olarak, kaynak dosyalar projenin tüm hedef dillerine çeviri için kullanılabilir. Eğer bazı kaynak dosyaların belirli hedef dillere çevrilmemesi gerekiyorsa, bunları excluded_target_languages​​ parametresinin yardımıyla hariç tutabilirsiniz.

Yapılandırma dosyası örneği:

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

Çok Sütunlu Elektronik Tablo

Eğer bir CSV veya XLS/XLSX dosyası tüm hedef diller için çeviriler içeriyorsa, şemada uygun dil kodlarını belirtmelisiniz.

CSV dosyası örneği:

identifier,source_phrase,context,Ukrainian,Russian,Turkish tanım1,Kaynak 1,Bağlam 1,,, tanım2,Kaynak 2,Bağlam 2,,, tanım3,Kaynak 3,Bağlam 3,,,

Yapılandırma dosyası örneği:

"files": [
  {
    "source": "çoksütunlu.csv",
    "translation": "çoksütunlu.csv",
    "first_line_contains_header": true,
    "scheme": "identifier,source_phrase,context,uk,ru,tr"
  }
]

Eğer CSV veya XLS/XLSX dosyanız içe aktarmada atlanması gereken sütunlar içeriyorsa, şemadaki bu tür sütunlar için none kullanın, örneğin:

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

Şema Sabitleri

CSV veya XLS/XLSX dosyanız için şemayı oluşturmak amacıyla aşağıdaki sabitleri kullanın:

identifier – Sütun, dizgi tanımlayıcıları içerir.
source_phrase – Sütun, kaynak dizgileri içerir.
source_or_translation – Sütun, kaynak dizgileri içerir, ancak dosya dışa aktarıldığında aynı sütun çevirilerle doldurulur. Varolan çevirileri yüklerken, bu sütundaki değerler çeviri olarak kullanılacaktır.
translation – Sütun çevirileri içerir.
context – Sütun, kaynak dizgiler için yorumları veya bağlam bilgilerini içerir.
max_length – Sütun, dizgilerin çevirileri için en fazla uzunluk sınırı değerlerini içerir.
labels – Sütun, kaynak dizgiler için etiketleri içerir.
none – İçe aktarma sırasında atlanacak sütun.

Dizin Yapısını Sunucuya Kaydetme

"preserve_hierarchy": true

preserve_hierarchy seçeneğini kullanarak yapılandırma dosyası örneği:

"project_id": "proje-kimliği"                     #projeyi açın ve Bütünleştirmeler > Komut satırı aracı’na (CLI) gidin
"api_token": "kişisel-erişim-belirteci"          #projeyi açın ve Bütünleştirmeler > Komut satırı aracı’na (CLI) gidin
"base_path": "/proje-temel-yolu"
"base_url": "https://{organization-name}.crowdin.com"
"preserve_hierarchy": true

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

Varsayılan olarak, Crowdin Enterprise içinde çeviri için herhangi bir dosya içermeyen dizinler oluşturulmayacaktır. Örneğin:

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

Varsayılan olarak, proje dosyaları Crowdin Enterprise içinde aşağıdaki gibi gösterilecektir:

- foo.po
- bar.po

preserve_hierarchy seçeneğini kullanarak, Crowdin Enterprise’ta dosya yapısı aşağıdaki gibi olacaktır:

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

Dosyaları Belirtilen Türle Belirtilen Yola Yükleme

Bu özellik, yml dosya bölümüne iki isteğe bağlı parametre desteği ekler: dest ve type. Bu, genellikle yüklenen adın farklı olmak zorunda olduğu yerlerdeki projeler için kullanılır, böylece Crowdin Enterprise, türü doğru olarak algılayabilir.

dest parametresi, Crowdin Enterprise’ta bir dosya adı belirtmenizi sağlar. Aynı anda birden çok dosya için çalışır ve şu yer tutucuları destekler: %original_file_name%, %original_path%, %file_extension%, %file_name%.

Not! Eğer dest parametresini kullanırsanız, yapılandırma dosyası true değeri ile <1>preserve_hierarchy parametresini içermelidir.

Her iki parametre ile yapılandırma dosyası örneği:

"project_id": "proje-kimliği"                     #projeyi açın ve Bütünleştirmeler > Komut satırı aracı’na (CLI) gidin
"api_token": "kişisel-erişim-belirteci"          #projeyi açın ve Bütünleştirmeler > Komut satırı aracı’na (CLI) gidin
"base_path": "/proje-temel-yolu"
"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"
  }
]

Değişen Dizgileri Güncelleme

update_option parametresi isteğe bağlıdır. Eğer ayarlanmazsa, değiştirilen dizgilerin çevirileri kaybolacaktır. Yazım hataları düzeltmeleri ve kaynak dizgilerdeki küçük değişiklikler için yararlıdır.

Değere bağlı olarak, update_option seçeneği çevirileri korumak ve dosya güncelleme sırasında değiştirilen dizgilerini doğrulamalarını korumak/kaldırmak için kullanılır.

Değerler:

  • update_as_unapproved - değişen dizgilerin çevirilerini korur ve varsa bu çevirilerin doğrulamalarını kaldırır
  • update_without_changes - çevirileri ve değişen dizgilerin doğrulamalarını korur

update_option parametresine sahip yapılandırma dosyası örneği:

"project_id": "proje-kimliği"                     #projeyi açın ve Bütünleştirmeler > Komut satırı aracı’na (CLI) gidin
"api_token": "kişisel-erişim-belirteci"          #projeyi açın ve Bütünleştirmeler > Komut satırı aracı’na (CLI) gidin
"base_path": "/proje-temel-yolu"
"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%/klasör/%file_name%.xlsx",
    "update_option": "update_without_changes"
  }
]

Çevirileri Yükleme

upload translations komutu varolan çevirileri Crowdin Enterprise’a yükler. Eğer herhangi bir seçenek belirtilmezse, yüklenen çeviriler kaynak dizgilere eşit olsalar bile içe aktarılmayacak ve onaylanmayacaktır.

Değerler:

  • -l, --language=language_code - Crowdin Enterprise’a yüklenmesi gereken dil çevirilerini tanımlar. Varsayılan olarak, çeviriler tüm projenin hedef dillerine yüklenir. (Crowdin Dil Kodları)
  • --[no-]import-eq-suggestions - Crowdin Enterprise projesindeki kaynak dizgiye eşitse çevirinin eklenip eklenmeyeceğini tanımlar
  • --[no-]auto-approve-imported - yüklenen çevirileri otomatik olarak onaylar

İçe Aktarma Seçenekleri

XML Dosyalarını İçe Aktarma Seçenekleri

translate_content
isteğe bağlı
bool Etiketlerin içinde yer alan metinlerin çevrilip çevrilmeyeceğini tanımlar.
Kabul edilebilir değerler 0 veya 1’dir. Varsayılan 1.
translate_attributes
isteğe bağlı
bool Etiketlerin özniteliklerinin çevrilip çevrilmeyeceğini tanımlar.
Kabul edilebilir değerler 0 veya 1’dir. Varsayılan 1.
content_segmentation
isteğe bağlı
bool Uzun metinlerin daha küçük metin parçalarına bölünüp bölünmeyeceğini tanımlar.
Kabul edilebilir değerler 0 veya 1’dir. Varsayılan 1.
Not: İçerik bölümlemesi etkinleştirildiğinde, çeviri yükleme bir deneysel makine öğrenme teknolojisi tarafından ele alınır.
translatable_elements
isteğe bağlı
dizilim Bu, XPaths olan yerdeki her öğenin DOM öğesine aktarılması gereken dizgilerin bir dizilimidir.
Örnek yol: /düğüme/giden/yol veya /özniteliğe/giden/yol[@attr]
Not! Eğer tanımlanırsa, içe aktarılırken translate_content ve translate_attributes parametreleri dikkate alınmaz.

Ek parametreler ile yapılandırma dosyası örneği:

"project_id": "proje-kimliği"                     #projeyi açın ve Bütünleştirmeler > Komut satırı aracı’na (CLI) gidin
"api_token": "kişisel-erişim-belirteci"          #projeyi açın ve Bütünleştirmeler > Komut satırı aracı’na (CLI) gidin
"base_path": "/proje-temel-yolu"
"base_url": "https://{organization-name}.crowdin.com"

"files": [
  {
    "source": "/app/örnek1.xml",
    "translation": "/app/%locale%/%original_file_name%",
    "translate_attributes": 1,
    "translate_content": 0
  },
  {
    "source": "/app/örnek2.xml",
    "translation": "/app/%locale%/%original_file_name%",
    "translatable_elements": [
      "/content/text",                      #çevrilebilir metinler 'content' ana düğümünün 'text' düğümlerinde saklanır
      "/content/text[@value]"               # çevrilebilir metinler 'text' düğümlerinin 'value' özniteliğinde saklanır
    ]
  }
]

Diğer Dosyaları İçe Aktarma Seçenekleri

content_segmentation
isteğe bağlı
bool Uzun metinlerin daha küçük metin parçalarına bölünüp bölünmeyeceğini tanımlar. Sadece TXT, DOCX, DITA, IDML, MIF, MEDIAWIKI, HTML, Front Matter HTML, Markdown, Front Matter Markdown, XML, XLIFF, XLIFF 2.0 için
Kabul edilebilir değerler 0 veya 1’dir. Varsayılan 1.
Not: İçerik bölümlemesi etkinleştirildiğinde, çeviri yükleme bir deneysel makine öğrenme teknolojisi tarafından ele alınır.

Ek parametreler ile yapılandırma dosyası örneği:

"project_id": "proje-kimliği"                     #projeyi açın ve Bütünleştirmeler > Komut satırı aracı’na (CLI) gidin
"api_token": "kişisel-erişim-belirteci"          #projeyi açın ve Bütünleştirmeler > Komut satırı aracı’na (CLI) gidin
"base_path": "/proje-temel-yolu"
"base_url": "https://{organization-name}.crowdin.com"

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

Dışa Aktarma Seçenekleri

Her dosya grubu için tercih edilen dışa aktarma davranışını yapılandırmak amacıyla aşağıdaki dışa aktarma seçeneklerini kullanabilirsiniz:

skip_untranslated_strings – Dışa aktarılan çeviri dosyalarına sadece çevrilmiş dizgiler dahil edilecektir.
skip_untranslated_files – Dışa aktarılan çeviri arşivine sadece çevrilmiş dosyalar dahil edilecektir.
export_only_approved – Dışa aktarılan çeviri dosyalarına sadece hem çevrilmiş hem de onaylanmış metinler dahil edilecektir.

Dışa aktarma seçenekleriyle yapılandırma dosyası örneği:

"project_id": "proje-kimliği"                     #projeyi açın ve Bütünleştirmeler > Komut satırı aracı’na (CLI) gidin
"api_token": "kişisel-erişim-belirteci"          #projeyi açın ve Bütünleştirmeler > Komut satırı aracı’na (CLI) gidin
"base_path": "/proje-temel-yolu"
"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
  }
]
Not: Dışa aktarma seçenekleri sadece CLI ile çalışır.

.properties Dosya Biçimi için Atlatma Tırnağı Seçenekleri

Dışa aktarılan çevirilerde tek tırnağın başka bir tek tırnak tarafından yoksa ters eğik çizgi tarafından atlatılması gerektiğini tanımlar. Dosya başına escape_quotes seçeneğini ekleyebilirsiniz. Kabul edilebilir değerler 0, 1, 2, 3’tür. Varsayılan 3.

Değerler:

  • 0 - tek tırnağı atlatma
  • 1 - başka bir tek tırnak ile tek tırnağı atlat
  • 2 - ters eğik çizgi ile tek tırnağı atlat
  • 3 - Sadece değişkenler ( {0} ) içeren dizgilerde başka bir tek tırnak ile tek tırnağı atlat

Özel karakterleri atlatın
Dışa aktarılan çevirilerde herhangi bir özel karakterin (=, :, ! ve #) ters eğik çizgi tarafından atlatılması gerekip gerekmediğini tanımlar. Dosya başına escape_special_characters seçeneğini ekleyebilirsiniz.

Kabul edilebilir değerler 0, 1’dir. Varsayılan 1.

  • 0 - özel karakterleri atlatma
  • 1 - ters eğik çizgi ile özel karakterleri atlat

Yapılandırma dosyası örneği:

"project_id": "proje-kimliği"                     #projeyi açın ve Bütünleştirmeler > Komut satırı aracı’na (CLI) gidin
"api_token": "kişisel-erişim-belirteci"          #projeyi açın ve Bütünleştirmeler > Komut satırı aracı’na (CLI) gidin
"base_path": "/proje-temel-yolu"
"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
  }
]

Örnek Yapılandırmalar

CSV dosyalarını yükleme

"project_id": "proje-kimliği"                     #projeyi açın ve Bütünleştirmeler > Komut satırı aracı’na (CLI) gidin
"api_token": "kişisel-erişim-belirteci"          #projeyi açın ve Bütünleştirmeler > Komut satırı aracı’na (CLI) gidin
"base_path": "/proje-temel-yolu"
"base_url": "https://{organization-name}.crowdin.com"

"files": [
  {
    "source": "/*.csv",
    "translation": "/%two_letters_code%/%original_file_name%",
    # İlk satırın içe aktarılması gerekip gerekmediğini veya sütun başlıkları içerdiğini belirtir
    "first_line_contains_header": true,
    # sadece veri sütunları eşlemesini tanımlamak için CSV dosyası yüklenirken kullanılır
    "scheme": "identifier,source_phrase,translation,context,max_length"
  }
]

GetText Projesi

"project_id": "proje-kimliği"                     #projeyi açın ve Bütünleştirmeler > Komut satırı aracı’na (CLI) gidin
"api_token": "kişisel-erişim-belirteci"          #projeyi açın ve Bütünleştirmeler > Komut satırı aracı’na (CLI) gidin
"base_path": "/proje-temel-yolu"
"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 Projesi

"project_id": "proje-kimliği"                     #projeyi açın ve Bütünleştirmeler > Komut satırı aracı’na (CLI) gidin
"api_token": "kişisel-erişim-belirteci"          #projeyi açın ve Bütünleştirmeler > Komut satırı aracı’na (CLI) gidin
"base_path": "/proje-temel-yolu"
"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"
      }
    }
  }
]

VCS Bütünleştirmeleri için Yapılandırma Dosyası

VCS bütünleştirmeleri, CLI aracıyla aynı yapılandırma dosyasını gerektirir, yani aynı yapı desteklenir. Tek fark, proje kimlik bilgilerini güvenlik nedeniyle dosya başlığında saklamamanızdır. Ayrıca, birkaç ek parametre kullanabilirsiniz.

VCS Bütünleştirmeleri için İstek Başlığını ve Etiketleri Çekin

Varsayılan çekme isteği başlığı Yeni Crowdin güncellemeleri’dir. Özel çekme isteği başlığınızı belirlemek ve çekme isteğine etiketler eklemek için şu parametreleri yapılandırma dosyasında kullanabilirsiniz: pull_request_title, pull_request_labels.

Not: Çekme isteği etiketleri Bitbucket bütünleştirmesi tarafından desteklenmez.

Örnek:

"base_path": "/proje-temel-yolu"
"pull_request_title": "Özel Çİ başlığı"
"pull_request_labels": [
  "crowdin",
  "l10n"
]

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

VCS Bütünleştirmeleri için İşleme İletisi Parametresi

Çeviriler her işlendiğinde varsayılan ileti “Yeni çeviriler {fileName} ({languageName})” olarak gösterilir. Git etiketleri eklemek için commit_message parametresini kullanabilirsiniz (örn. yapımları atlamak için).

Örnek:

"base_path": "/proje-temel-yolu"
"commit_message": "[ci skip]"

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

Varsayılan işleme iletisini değiştirmek için append_commit_message parametresini false değeriyle kullanın. Buna göre uygun dosya adı ve dil değişkenlerini kullanmak için isteğe bağlı iki yer tutucuyu da ekleyebilirsiniz: %original_file_name% ve %language%.

Örnek:

"commit_message": "Düzeltme: Crowdin Enterprise’tan yeni çeviriler %original_file_name%"
"append_commit_message": false

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

VCS Bütünleştirmeleri için Dilleri Dışa Aktarma Parametresi

Varsayılan olarak, tüm diller dışa aktarılır. Eğer bazı belirli dilleri dışa aktarmanız gerekiyorsa, bunları belirtmek için export_languages​​ parametresini kullanın.

Örnek:

"base_path": "/proje-temel-yolu"
"export_languages": [                                   
    "ru", 
    "uk", 
    "tr"
  ]
"files": [
  {
    "source" : "/resources/en/*.json",
    "translation" : "/resources/%two_letters_code%/%original_file_name%"
  }
]

Kaynak Dizgilere Etiketleri Ekleme

Kaynak dizgilere varolan veya yeni etiketler eklemek için labels parametresini kullanın. Etiketler, sadece Crowdin Enterprise projesine ilk yükleme sırasında kaynak dizgilere eklenecektir.

labels parametresi kullanılmadan önce Crowdin Enterprise projesine yüklenen dizgiler etiketlenmeyecektir. Eğer doğrudan Crowdin Enterprise’ta ilk yükleme sırasında eklenen etiketi kaldırırsanız, sonraki eşitlemelerde yeniden eklenmeyecektir.

Etiket adları, “,” dışında herhangi bir karakter içerebilir.

Örnek:

"base_path": "/proje-temel-yolu"

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

Etiketler hakkında daha fazlasını okuyun.

VCS Bütünleştirmeleri ve CLI için Tek Yapılandırma Dosyası Kullanma

Bir proje için VCS bütünleştirmesi ve CLI kullanmanın gerekli olduğu durumlar vardır. Çoğunlukla, bu tür bir durumda, VCS bütünleştirmesi için bir CLI için başka bir tane olmak üzere iki ayrı yapılandırma dosyasına sahip olmanız gerekir. Ancak, her iki durumda da tek bir yapılandırma dosyası kullanma olasılığı vardır.

VCS bütünleştirme yapılandırma dosyası, CLI için gereken project_id ve api_token kimlik bilgilerini içermediğinden, şu parametreleri kullanarak bunları doğrudan komutta iletebilirsiniz: -i/--project-id, -T/--token. Alternatif olarak, bu amaçla ortam değişkenlerini kullanabilirsiniz.

Sonuç olarak, CLI aracılığıyla çevirileri indirme komutunuz aşağıdaki gibi görünecek:

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

Yardım Arama

Crowdin CLI ile çalışırken yardıma mı ihtiyacınız var ya da herhangi bir sorunuz mu var? Destek Ekibine Ulaşın.

Ayrıca Bakınız

Bu makale yararlı oldu mu?