Crowdin Query Language (CroQL)

CrowdIn Query Language (CroQL) er et værktøj til Enterprise-API’en, der muliggør at hente nødvendige lokaliseringsressourcer fra Enterprise baseret på bestemte forhold. Vha. CroQL kan kildestrenge og deres oversættelser filtreres ift. et bestemt målsprog.

Operatorer

CroQL-hovedoperatorer er anført nedenfor. Benyt og kombinér dem for at sætte specifikke betingelser for at hente krævet indhold fra Enterprise. Elementerne fra tabellerne nedenfor kan bruges til at danne CroQL-forespørgslen.

Aritmetiske operatorer

De aritmetiske operatorer bruges til at udføre matematiske operationer med enhver numeriske datatype.

Navn Symbol Eksempel
Addition + 1 + 9
Subtraktion - 11 - 1
Division / 20 / 2
Multiplikation * 2 * 5
Negation - -10

Sammenligningsoperatorer

Sammenligningsoperatorer bruges til at sammenligne værdier og returnere true eller false.

Navn Symbol Aliaser Eksempel
Mellem {{expression}} mellem {{expression}} og {{expression}} 5 mellem 1 og 10
Lig med = 10 = 10
Ikke lig med != 1 != 10; 1 ≠ 10
Større end > 10 > 1
Større end eller lig med >= 10 >= 1; 10 ≥ 1
Mindre end < 1 < 10
Mindre end eller lig med <= 1 <= 10; 1 ≤ 10;

Logiske operatorer

Logiske operatører bruges til at kombinere flere booleske udtryk/værdier og give et enkelt boolesk output.

Navn Symbol Eksempel
Og og 1 < 10 and 10 > 1
Eller eller 1 < 10 or 10 > 1
Xor xor 1 < 10 xor 10 > 1
Ikke ikke not 1 < 10

Filtreringsoperatorer

Filtreringsoperatorer anvendes til at filtrere objekter baseret på den angivne tilstand.

Navn Symbol Eksempel
Filter {{collection}} where {{predicate}} translations where (count of votes > 0)
Match {{object}} med {{predicate}} bruger med (login = "crowdin")

Betinget (ternær) operator

Den ternære operator bruges til at tjekke en betingelse angivet i den første værdi, og er denne true, returneres den anden værdi. Er den imidlertid false, returneres den tredje værdi.

Navn Symbol Eksempel
Ternær If {{condition}} then {{expression}} else {{expression}} If 1 < 10 then "less" else "greater"

Hent-operatorer

Hent-operatører bruges til at hente data fra objekterne.

Navn Symbol Eksempel
Nævn @user:{{string}}; @language:{{string}} @user:"crowdin"; @language:"en"
Medlem {{member}} of {{object}} antal af oversættelser
Identifikator {{identifier}} text; identifier

Skalaroperatorer

Skalaroperatorer bruges til at erklære værdier til videre behandling.

Navn Symbol Eksempel
Integer {{integer}} 10
Flydende {{float}} 10.01
Streng {{string}} “crowdin"
Datotid {{datetime}} 'i dag'; '2021-03-16 00:00:00'

Gruppeoperator

Gruppeoperatorer bruges til at fastlægge operatorers eksekveringssrækkefølge.

Navn Symbol Eksempel
Gruppér ( ) 1 < 10 and (20 > 10 or 10 > 5)

Forespørgselseksempler

  • For at hente en liste over strenge uden ukrainske oversættelser med godkendelser eller stemmer, kan forespørgslen se således ud:
count of translations where ( language = @language:"uk" and ( count of approvals > 0 or count of votes > 0 ) ) = 0

Brug forespørgslen i flg. slutpunkt:

GET https://{organization_domain}.api.crowdin.com/api/v2/projects/{projectId}/strings?croql={croql}
Bemærk: Inden eksekvering af anmodningen, så sørg for at URL-indkode CroQL-udtrykket.
{projectId}

Type: integer

Beskrivelse: Numerisk identifikator for ens Enterprise-projekt.

{croql}

Type: string

Beskrivelse: CroQL-udtryk.

  • For at hente oversættelser foretaget af brugere med et crowdin-brugernavn eller med ≥ 100 upvotes, kan forespørgslen se således ud:
user = @user:"crowdin" or count of votes where ( is up ) >= 100

Brug forespørgslen i flg. slutpunkt:

GET https://{organization_domain}.api.crowdin.com/api/v2/projects/{projectId}/languages/uk/translations?croql={croql}
Bemærk: Inden eksekvering af anmodningen, så sørg for at URL-indkode CroQL-udtrykket.
{projectId}

Type: integer

Beskrivelse: Numerisk identifikator for ens Enterprise-projekt.

{croql}

Type: string

Beskrivelse: CroQL-udtryk.

Kontekst

CroQL kan bruges i kildestrengs- og oversættelseskontekster. Brug flg. eks. som udgangspunkter ved udformning af CroQL-forespørgsler.

Kildestrengskontekst

{
  "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",
  "is visible": true,
  "is hidden": false,
  "comments": [
    {
      "has issue": false,
      "has unresolved issue": false
    }
  ],
  "screenshots": [],
  "translations": [
    {
      "text": "Швидкий старт",
      "plural form": "none",
      "provider is tm": false,
      "provider is mt": true,
      "language": 52,
      "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

Type: boolean

Beskrivelse: Kildestreng med almindelig tekst.

type is plural

Type: boolean

Beskrivelse: Kildestreng med flertalsformer.

type is icu

Type: boolean

Beskrivelse: Kildestreng med ICU.

type is asset

Type: boolean

Beskrivelse: Kildestreng er et aktiv.

text

Type: string

Beskrivelse: Kildestrengstekst.

identifier

Type: string

Beskrivelse: Kildestrengidentifikator (nøgle).

context

Type: string

Beskrivelse: Kildestrengskontekst.

is visible

Type: boolean

Beskrivelse: Kildestreng er synlig.

is hidden

Type: boolean

Beskrivelse: Kildestreng er skjult.

comments

Type: array

Beskrivelse: Kildestrengskommentarer.

has issue

Type: boolean

Beskrivelse: Kildestreng med en problematik.

has unresolved issue

Type: boolean

Beskrivelse: Kildestreng med en uløst problematik.

screenshots

Type: array

Beskrivelse: Kildestrengsskærmfotos.

translations

Type: array

Oversættelse Kildestrengsoversættelse.

text

Type: string

Beskrivelse: Oversættelsestekst.

plural form

Type: string

Beskrivelse: Oversættelse i flertalsform.

provider is tm

Type: boolean

Beskrivelse: Oversættelse leveret via Oversættelseshukommelse.

provider is mt

Type: boolean

Beskrivelse: Oversættelse leveret via Maskinoversættelsesmotor.

language

Type: integer

Beskrivelse: Numerisk identifikator for målsproget.

user

Type: integer

Beskrivelse: Numerisk identifikator på brugeren, der tilføjede en oversættelse.

votes

Type: array

Beskrivelse: Rækken af stemmerne tilføjet oversættelsen.

is up

Type: boolean

Beskrivelse: Upvote.

is down

Type: boolean

Beskrivelse: Downvote.

user

Type: integer

Beskrivelse: Numerisk identifikator på brugeren, der stemte på en oversættelse.

added

Type: datetime

Beskrivelse: Dato for, hvornår der blev stemt på en oversættelse.

approvals

Type: array

Beskrivelse: Rækken af de tilføjede oversættelsesgodkendelser.

user

Type: integer

Beskrivelse: Numerisk identifikator på brugeren, der godkendte en oversættelse.

added

Type: datetime

Beskrivelse: Dato for, hvornår en oversættelse blev godkendt.

updated

Type: datetime

Beskrivelse: Dato for, hvornår en oversættelse blev opdateret.

added

Type: datetime

Beskrivelse: Dato for, hvornår en kildestreng blev tilføjet.

updated

Type: datetime

Beskrivelse: Dato for, hvornår en kildestreng blev opdateret.

Translation Context

{
  "text": "Швидкий старт",
  "plural form": "none",
  "provider is tm": false,
  "provider is mt": true,
  "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

Type: boolean

Beskrivelse: Oversættelsestekst.

plural form

Type: string

Beskrivelse: Oversættelse i flertalsform.

provider is tm

Type: boolean

Beskrivelse: Oversættelse leveret via Oversættelseshukommelse.

provider is mt

Type: boolean

Beskrivelse: Oversættelse leveret via Maskinoversættelsesmotor.

user

Type: integer

Beskrivelse: Numerisk identifikator på brugeren, der tilføjede en oversættelse.

votes

Type: array

Beskrivelse: Rækken af stemmerne tilføjet oversættelsen.

is up

Type: boolean

Beskrivelse: Upvote.

is down

Type: boolean

Beskrivelse: Downvote.

user

Type: integer

Beskrivelse: Numerisk identifikator på brugeren, der stemte på en oversættelse.

added

Type: datetime

Beskrivelse: Dato for, hvornår der blev stemt på en oversættelse.

approvals

Type: array

Beskrivelse: Rækken af de tilføjede oversættelsesgodkendelser.

user

Type: integer

Beskrivelse: Numerisk identifikator på brugeren, der godkendte en oversættelse.

added

Type: datetime

Beskrivelse: Dato for, hvornår en oversættelse blev godkendt.

updated

Type: datetime

Beskrivelse: Dato for, hvornår en oversættelse blev opdateret.

Var denne artikel nyttig?