Crowdin Sorgu Dili (CroQL)

Crowdin Sorgu Dili (CroQL), Crowdin ve Crowdin Enterprise API için belirli koşullara dayanarak gerekli yerelleştirme kaynaklarını almanızı sağlayan bir araçtır. CroQL kullanarak, kaynak dizgileri ve çevirilerini belirli bir hedef dil için süzebilirsiniz.

CroQL’yi aşağıdaki API yöntemleriyle kullanabilirsiniz:

İşleçler

Ana CroQL işleçleri aşağıda listelenmiştir. Crowdin’den gerekli içeriği almak amacıyla belirli koşulları ayarlamak için bunları kullanın ve birleştirin. CroQL sorgunuzu oluşturmak için aşağıdaki tablolardaki öğeleri kullanabilirsiniz.

Aritmetik İşleçler

Aritmetik işleçler, herhangi bir sayısal veri türüyle matematik işlemlerini gerçekleştirmek için kullanılır.

Ad Sembol Örnek
Toplama + 1 + 9
Çıkarma - 11 - 1
Bölme / 20 / 2
Çarpma * 2 * 5
Olumsuzluk - -10

Karşılaştırma İşleçleri

Karşılaştırma işleçleri değerleri karşılaştırmak ve true veya false döndürmek için kullanılır.

Ad Sembol Kod Adları Örnek
Arasındadır {{expression}} between {{expression}} and {{expression}} 5 between 1 and 10
Eşittir = 10 = 10
Eşit değildir != 1 != 10; 1 ≠ 10
Büyüktür > 10 > 1
Büyüktür veya eşittir >= 10 >= 1; 10 ≥ 1
Küçüktür < 1 < 10
Küçüktür veya eşittir <= 1 <= 10; 1 ≤ 10;
İçerir {{string}} contains {{string}} "Merhaba Dünya" contains "Merhaba";
"Merhaba Dünya" contains text;
text contains "Merhaba Dünya";
context contains text;

Mantıksal İşleçler

Mantıksal işleçler, birden çok boole ifadesini veya değerini birleştirmek ve tek bir boole çıktısı sağlamak için kullanılır.

Ad Sembol Örnek
Ve and 1 < 10 and 10 > 1
Veya or 1 < 10 or 10 > 1
Dışlamalı veya xor 1 < 10 xor 10 > 1
Not not not 1 < 10

Süzme İşleçleri

Süzme işleçleri, nesneleri belirtilen koşula dayanarak süzmek için kullanılır.

Ad Sembol Örnek
Süzme {{collection}} where {{predicate}} çeviriler where (oy sayısı > 0)
Eşleşme {{object}} with {{predicate}} kullanıcı with (login = "crowdin")

Koşullu (Üçlü) İşleç

Üçlü işleç, ilk değerde belirtilen bir koşulu denetlemek için kullanılır ve eğer true ise ikinci değeri döndürür, ancak false ise, üçüncü değeri döndürür.

Ad Sembol Örnek
Üçlü If {{condition}} then {{expression}} else {{expression}} If 1 < 10 then "küçüktür" else "büyüktür"

Alma İşleçleri

Alma işleçleri nesnelerden verileri almak için kullanılır.

Ad Sembol Örnek
Bahsetme @user:{{string}}; @language:{{string}} @user:"crowdin"; @language:"tr"
Üye {{member}} of {{object}} çeviri sayısı
Tanımlayıcı {{identifier}} text; identifier

Rakamsal İşleçler

Rakamsal işleçler, daha fazla işleme için değerleri bildirmek amacıyla kullanılır.

Ad Sembol Örnek
Tamsayı {{integer}} 10
Ondalıklı sayı {{float}} 10.01
Dizgi {{string}} “crowdin"
Tarih-Saat {{datetime}} 'today'; '2021-03-16 00:00:00'

Grup İşleci

Grup işleci, işleçlerin yürütme sırasını belirlemek için kullanılır.

Ad Sembol Örnek
Grup ( ) 1 < 10 and (20 > 10 or 10 > 5)

Sorgu Örnekleri

Onayları veya oyları olan Türkçe çevirisine sahip olmayan dizgilerin listesini almak için sorgunuz şöyle görünebilir:

çevirilerin sayısı where ( dil = @language:"tr" and ( onay sayısı > 0 or oy sayısı > 0 ) ) = 0

Sorgunuzu Crowdin’de aşağıdaki uç noktada kullanın:

GET https://api.crowdin.com/api/v2/projects/{projectId}/strings?croql={croql}

Crowdin Enterprise’da:

GET https://{kuruluş_etki_alanı}.api.crowdin.com/api/v2/projects/{projectId}/strings?croql={croql}
Not: İsteği gerçekleştirmeden önce, CroQL ifadenizi kodlayan URL’den emin olun.
{projectId}

Tür: tamsayı

Açıklama: Crowdin projenizin sayısal tanımlayıcısı.

{croql}

Tür: dizgi

Açıklama: CroQL ifadesi.

Sadece bir çevirisi olan dizgilerin listesini almak için sorgunuz şöyle görünebilir:

çeviri sayısı = 1

Sorgunuzu Crowdin’de aşağıdaki uç noktada kullanın:

GET https://api.crowdin.com/api/v2/projects/{projectId}/strings?croql={croql}

Crowdin Enterprise’da:

GET https://{kuruluş_etki_alanı}.api.crowdin.com/api/v2/projects/{projectId}/strings?croql={croql}
Not: İsteği gerçekleştirmeden önce, CroQL ifadenizi kodlayan URL’den emin olun.
{projectId}

Tür: tamsayı

Açıklama: Crowdin projenizin sayısal tanımlayıcısı.

{croql}

Tür: dizgi

Açıklama: CroQL ifadesi.

Sadece belirli bir kullanıcıdan çevirileri olan dizgilerin listesini almak için sorgunuz şöyle görünebilir:

çeviri sayısı > 0 and çeviri sayısı = çeviri sayısı where (kullanıcı = @user:"crowdin")

Sorgunuzu Crowdin’de aşağıdaki uç noktada kullanın:

GET https://api.crowdin.com/api/v2/projects/{projectId}/strings?croql={croql}

Crowdin Enterprise’da:

GET https://{kuruluş_etki_alanı}.api.crowdin.com/api/v2/projects/{projectId}/strings?croql={croql}
Not: İsteği gerçekleştirmeden önce, CroQL ifadenizi kodlayan URL’den emin olun.
{projectId}

Tür: tamsayı

Açıklama: Crowdin projenizin sayısal tanımlayıcısı.

{croql}

Tür: dizgi

Açıklama: CroQL ifadesi.

Belirli kullanıcılardan olmayan en az bir çevirisi olan dizgilerin listesini almak için sorgunuz şöyle görünebilir:

çeviri sayısı where (kullanıcı != @user:"crowdin") > 0

Sorgunuzu Crowdin’de aşağıdaki uç noktada kullanın:

GET https://api.crowdin.com/api/v2/projects/{projectId}/strings?croql={croql}

Crowdin Enterprise’da:

GET https://{kuruluş_etki_alanı}.api.crowdin.com/api/v2/projects/{projectId}/strings?croql={croql}
Not: İsteği gerçekleştirmeden önce, CroQL ifadenizi kodlayan URL’den emin olun.
{projectId}

Tür: tamsayı

Açıklama: Crowdin projenizin sayısal tanımlayıcısı.

{croql}

Tür: dizgi

Açıklama: CroQL ifadesi.

Tüm çevirileri belirli kullanıcılardan olmayan dizgilerin bir listesini almak için sorgunuz şöyle görünebilir:

çeviri sayısı > 0 and çeviri sayısı = çeviri sayısı where (kullanıcı != @user:"crowdin")

Sorgunuzu Crowdin’de aşağıdaki uç noktada kullanın:

GET https://api.crowdin.com/api/v2/projects/{projectId}/strings?croql={croql}

Crowdin Enterprise’da:

GET https://{kuruluş_etki_alanı}.api.crowdin.com/api/v2/projects/{projectId}/strings?croql={croql}
Not: İsteği gerçekleştirmeden önce, CroQL ifadenizi kodlayan URL’den emin olun.
{projectId}

Tür: tamsayı

Açıklama: Crowdin projenizin sayısal tanımlayıcısı.

{croql}

Tür: dizgi

Açıklama: CroQL ifadesi.

Kullanıcı tarafından crowdin kullanıcı adıyla veya ≥ 100 oy fazla olan çevirileri almak için sorgunuz şöyle görünebilir:

kullanıcı = @user:"crowdin" or oyların sayısı where ( is up ) >= 100

Sorgunuzu Crowdin’de aşağıdaki uç noktada kullanın:

GET https://api.crowdin.com/api/v2/projects/{projectId}/languages/tr/translations?croql={croql}

Crowdin Enterprise’da:

GET https://{kuruluş_etki_alanı}.api.crowdin.com/api/v2/projects/{projectId}/languages/tr/translations?croql={croql}
Not: İsteği gerçekleştirmeden önce, CroQL ifadenizi kodlayan URL’den emin olun.
{projectId}

Tür: tamsayı

Açıklama: Crowdin projenizin sayısal tanımlayıcısı.

{croql}

Tür: dizgi

Açıklama: CroQL ifadesi.

Crowdin projenizdeki bir dosyanın tanımlayıcısına ve sayısal kimliğine göre süzülmüş dizgilerin bir listesini almak için sorgunuz şöyle görünebilir:

identifier = "anahtar" ve dosyanın kimliği = 777

Sorgunuzu Crowdin’de aşağıdaki uç noktada kullanın:

GET https://api.crowdin.com/api/v2/projects/{projectId}/strings?croql={croql}

Crowdin Enterprise’da:

GET https://{kuruluş_etki_alanı}.api.crowdin.com/api/v2/projects/{projectId}/strings?croql={croql}
Not: İsteği gerçekleştirmeden önce, CroQL ifadenizi kodlayan URL’den emin olun.
{projectId}

Tür: tamsayı

Açıklama: Crowdin projenizin sayısal tanımlayıcısı.

{croql}

Tür: dizgi

Açıklama: CroQL ifadesi.

Crowdin projenizdeki bir dosyanın sayısal kimliğine göre süzülmüş, çözülmemiş sorunları olan dizgilerin bir listesini almak için sorgunuz şöyle görünebilir:

dosyanın kimliği = 777 and yorumların sayısı where (çözülmemiş sorunu olan) > 0

Sorgunuzu Crowdin’de aşağıdaki uç noktada kullanın:

GET https://api.crowdin.com/api/v2/projects/{projectId}/strings?croql={croql}

Crowdin Enterprise’da:

GET https://{kuruluş_etki_alanı}.api.crowdin.com/api/v2/projects/{projectId}/strings?croql={croql}
Not: İsteği gerçekleştirmeden önce, CroQL ifadenizi kodlayan URL’den emin olun.
{projectId}

Tür: tamsayı

Açıklama: Crowdin projenizin sayısal tanımlayıcısı.

{croql}

Tür: dizgi

Açıklama: CroQL ifadesi.

Kopya olmayan ve bir veya daha fazla çevirisi olan gizli dizgilerin listesini almak için sorgunuz şöyle görünebilir:

gizlidir ve kopya değildir ve çeviri sayısı > 0

Sorgunuzu Crowdin’de aşağıdaki uç noktada kullanın:

GET https://api.crowdin.com/api/v2/projects/{projectId}/strings?croql={croql}

Crowdin Enterprise’da:

GET https://{kuruluş_etki_alanı}.api.crowdin.com/api/v2/projects/{projectId}/strings?croql={croql}
Not: İsteği gerçekleştirmeden önce, CroQL ifadenizi kodlayan URL’den emin olun.
{projectId}

Tür: tamsayı

Açıklama: Crowdin projenizin sayısal tanımlayıcısı.

{croql}

Tür: dizgi

Açıklama: CroQL ifadesi.

Bir veya daha fazla kez kullanılan en az bir kaydı içeren çeviri belleği bölümlerini almak için sorgunuz şöyle görünebilir:

(usageCount > 0) > 0 olan kayıtların sayısı

Sorgunuzu Crowdin’de aşağıdaki uç noktada kullanın:

GET https://api.crowdin.com/api/v2/tms/{tmId}/segments?croql={croql}

Crowdin Enterprise’da:

GET https://{kuruluş_etki_alanı}.api.crowdin.com/api/v2/tms/{tmId}/segments?croql={croql}
Note: Before executing the request, ensure to URL encode your CroQL expression.
{projectId}

Tür: tamsayı

Açıklama: Crowdin projenizin sayısal tanımlayıcısı.

{croql}

Tür: dizgi

Açıklama: CroQL ifadesi.

crowdin kullanıcı adına sahip kullanıcı tarafından oluşturulan en az bir kaydı içeren çeviri belleği bölümlerini almak için sorgunuz şu şekilde görünebilir:

(createdBy = @kullanıcı:"crowdin") > 0 olan kayıtların sayısı

Sorgunuzu Crowdin’de aşağıdaki uç noktada kullanın:

GET https://api.crowdin.com/api/v2/tms/{tmId}/segments?croql={croql}

Crowdin Enterprise’da:

GET https://{kuruluş_etki_alanı}.api.crowdin.com/api/v2/tms/{tmId}/segments?croql={croql}
Not: İsteği gerçekleştirmeden önce, CroQL ifadenizi kodlayan URL’den emin olun.
{projectId}

Tür: tamsayı

Açıklama: Crowdin projenizin sayısal tanımlayıcısı.

{croql}

Tür: dizgi

Açıklama: CroQL ifadesi.

Bağlam

CroQL şu bağlamlarda kullanılabilir: kaynak dizgi bağlamı, çeviri bağlamı ve çeviri belleği (ÇB) bölümü bağlamı. CroQL sorgularınızı oluşturmak için aşağıdaki örnekleri temel olarak kullanın.

Kaynak Dizgi Bağlamı

{
  "type is plain": true,
  "type is plural": false,
  "type is icu": false,
  "type is asset": false,
  "text": "Quick Start",
  "identifier": "quick_start",
  "context": "quick_start",
  "max length": 0,
  "is visible": true,
  "is hidden": false,
  "file": {
    "id": 32,
    "name": "sample.csv",
    "title": "Sample",
    "type": "csv"
    "context": "Some useful context information"
  },
  "comments": [
    {
      "has issue": false,
      "has unresolved issue": false
    }
  ],
  "screenshots": [],
  "translations": [
    {
      "text": "Hızlı Başlangıç",
      "plural form": "none",
      "is pre translated": true,
      "provider": "tm",
      "language": "tr",
      "user": 1,
      "votes": [
        {
          "is up": true,
          "is down": false,
          "user": 2,
          "added": "2021-04-09 13:44:14"
        }
      ],
      "approvals": [
        {
          "user": 2,
          "added": "2021-04-09 13:44:14"
        }
      ],
      "updated": "2021-04-09 10:23:17"
    }
  ],
  "added": "2021-04-08 12:33:27",
  "updated": "2021-04-08 12:33:27"
}
type is plain

Tür: boole

Açıklama: Düz metin içeren kaynak dizgi.

type is plural

Tür: boole

Açıklama: Çoğul biçimleri içeren kaynak dizgi.

type is icu

Tür: boole

Açıklama: ICU içeren kaynak dizgi.

type is asset

Tür: boole

Açıklama: Kaynak dizgi bir varlık.

text

Tür: dizgi

Açıklama: Kaynak dizgi metni.

identifier

Tür: dizgi

Açıklama: Kaynak dizgi tanımlayıcısı (anahtar).

context

Tür: dizgi

Açıklama: Kaynak dizgi bağlamı.

max length

Tür: tamsayı

Açıklama: Kaynak dizgi en fazla uzunluğu.

is visible

Tür: boole

Açıklama: Kaynak dizgi görünür.

is hidden

Tür: boole

Açıklama: Kaynak dizgi gizli.

is duplicate

Tür: boole

Açıklama: Kaynak dizgi kopya.

file

Tür: nesne

Açıklama: Kaynak dizgi dosyası.

comments

Tür: dizilim

Açıklama: Kaynak dizgi açıklamaları.

has issue

Tür: boole

Açıklama: Kaynak dizgi bir sorun konusuna sahip.

has unresolved issue

Tür: boole

Açıklama: Kaynak dizgi bir çözülmemiş sorun konusuna sahip.

screenshots

Tür: dizilim

Açıklama: Kaynak dizgi ekran görüntüleri.

translations

Tür: dizilim

Açıklama: Kaynak dizgi çevirileri.

text

Tür: dizgi

Açıklama: Çeviri metni.

plural form

Tür: dizgi

Açıklama: Çeviri çoğul biçimi.

is pre translated

Tür: boole

Açıklama: Çeviri ön çeviri aracılığıyla eklendi.

provider

Tür: dizgi

İzin verilen değerler: tm, global_tm, google, google_automl, microsoft, crowdin, deepl, modernmt, amazon, watson, custom_mt

Açıklama: Çeviri belleği veya makine çeviri motoru aracılığıyla sağlanan çeviri.

language

Tür: dizgi

Açıklama: Dizgi olarak belirtilen dil tanımlayıcısı. Dil kodlarını kullanın; örneğin, Türkçe için "tr". Sorgularda belirtmek için şu biçimi kullanın: @language:"tr".

user

Tür: tamsayı

Açıklama: Çeviri ekleyen kullanıcının sayısal tanımlayıcısı.

votes

Tür: dizilim

Açıklama: Çeviriye eklenen oyların dizilimi.

is up

Tür: boole

Açıklama: Olumlu oy.

is down

Tür: boole

Açıklama: Olumsuz oy.

user

Tür: tamsayı

Açıklama: Çeviri için oy ekleyen kullanıcının sayısal tanımlayıcısı.

added

Tür: tarihsaat

Açıklama: Çeviri için oy eklendiğindeki tarih.

approvals

Tür: dizilim

Açıklama: Eklenen çeviri onaylarının dizilimi.

user

Tür: tamsayı

Açıklama: Çeviri onaylayan kullanıcının sayısal tanımlayıcısı.

added

Tür: tarihsaat

Açıklama: Çeviri onayı eklendiğindeki tarih.

updated

Tür: tarih-saat

Açıklama: Çevirinin güncellendiğindeki tarih.

added

Tür: tarih-saat

Açıklama: Kaynak dizgi eklendiğindeki tarih.

updated

Tür: tarih-saat

Açıklama: Kaynak dizgi güncellendiğindeki tarih.

Çeviri Bağlamı

{
  "text": "Швидкий старт",
  "plural form": "none",
  "is pre translated": true,
  "provider": "tm",
  "user": 1,
  "votes": [
    {
      "is up": true,
      "is down": false,
      "user": 2,
      "added": "2021-04-09 13:44:14"
    }
  ],
  "approvals": [
    {
      "user": 2,
      "added": "2021-04-09 13:44:14"
    }
  ],
  "updated": "2021-04-09 10:23:17"
}
text

Tür: boole

Açıklama: Çeviri metni.

plural form

Tür: dizgi

Açıklama: Çeviri çoğul biçimi.

is pre translated

Tür: boole

Açıklama: Çeviri ön çeviri aracılığıyla eklendi.

provider

Tür: dizgi

İzin verilen değerler: tm, global_tm, google, google_automl, microsoft, crowdin, deepl, modernmt, amazon, watson, custom_mt

Açıklama: Çeviri belleği veya makine çeviri motoru aracılığıyla sağlanan çeviri.

user

Tür: tamsayı

Açıklama: Çeviri ekleyen kullanıcının sayısal tanımlayıcısı.

votes

Tür: dizilim

Açıklama: Çeviriye eklenen oyların dizilimi.

is up

Tür: boole

Açıklama: Olumlu oy.

is down

Tür: boole

Açıklama: Olumsuz oy.

user

Tür: tamsayı

Açıklama: Çeviri için oy ekleyen kullanıcının sayısal tanımlayıcısı.

added

Tür: tarih-saat

Açıklama: Çeviri için oy eklendiğindeki tarih.

approvals

Tür: dizilim

Açıklama: Eklenen çeviri onaylarının dizilimi.

user

Tür: tamsayı

Açıklama: Çeviri onaylayan kullanıcının sayısal tanımlayıcısı.

added

Tür: tarih-saat

Açıklama: Çeviri onayı eklendiğindeki tarih.

updated

Tür: tarih-saat

Açıklama: Çevirinin güncellendiğindeki tarih.

Çeviri Belleği (ÇB) Bölümü Bağlamı

{
  "records": [
    {
      "id": 1,
      "text": "Çevrilmiş metin",
      "usageCount": 77,
      "createdBy": 1,
      "updatedBy": 1,
      "createdAt": "2027-09-16T13:48:04+00:00",
      "updatedAt": "2027-09-16T13:48:04+00:00"
    }
  ]
}
records

Tür: dizilim

Açıklama: Çeviri belleği bölümü kayıtları dizilimi.

id

Tür: tamsayı

Açıklama: Bir kaydın sayısal tanımlayıcısı.

text

Tür: dizgi

Açıklama: Bir kaydın çeviri metni.

usageCount

Tür: tamsayı

Açıklama: Bir çeviri belleğinin kaç kez kullanıldığının sayısı.

createdBy

Tür: tamsayı

Açıklama: Çeviri belleği kaydı oluşturan kullanıcının sayısal tanımlayıcısı.

updatedBy

Tür: tamsayı

Açıklama: Çeviri belleği kaydını güncelleyen kullanıcının sayısal tanımlayıcısı.

createdAt

Tür: tarihsaat

Açıklama: Çeviri belleği kaydının oluşturulduğu tarih.

updatedAt

Tür: tarihsaat

Açıklama: Çeviri belleği kaydının güncellendiği tarih.

Bu makale yararlı oldu mu?