Crowdin Query Language (CroQL) is a tool for Crowdin and Crowdin Enterprise API that allows you to retrieve needed localization resources based on specific conditions. Vha. CroQL kan kildestrenge og deres oversættelser filtreres ift. et bestemt målsprog.
You can use CroQL with the following API methods:
CroQL-hovedoperatorer er anført nedenfor. Benyt og kombinér dem for at opsætte særlige betingelser for at hente indhold fra Crowdin. Elementerne fra tabellerne nedenfor kan bruges til at danne CroQL-forespørgslen.
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 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; |
Contains | {{string}} contains {{string}} | "Hello World" contains "Hello"; "Hello World" contains text; text contains "Hello World"; context contains text; |
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 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") |
The ternary operator is used to check a condition specified in the first value, and if it’s true
it returns the second value, but if it’s false
it returns the third value.
Navn | Symbol | Eksempel |
---|---|---|
Ternær | If {{condition}} then {{expression}} else {{expression}} | If 1 < 10 then "less" else "greater" |
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 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' |
Gruppeoperatorer bruges til at fastlægge operatorers eksekveringssrækkefølge.
Navn | Symbol | Eksempel |
---|---|---|
Gruppér | ( ) | 1 < 10 and (20 > 10 or 10 > 5) |
For at hente en liste over strenge uden ukrainske oversættelser med godkendelser eller stemmer, kan forespørgslen se således ud:
Use your query in the following endpoint in Crowdin:
In Crowdin Enterprise:
{projectId} | Type: Beskrivelse: Numerisk identifikator for Crowdin-projektet. |
{croql} | Type: Beskrivelse: CroQL-udtryk. |
To retrieve a list of strings that have only one translation, your query might look like this:
Use your query in the following endpoint in Crowdin:
In Crowdin Enterprise:
{projectId} | Type: Beskrivelse: Numerisk identifikator for Crowdin-projektet. |
{croql} | Type: Beskrivelse: CroQL-udtryk. |
To retrieve a list of strings that have translations from only one specific user, your query might look like this:
Use your query in the following endpoint in Crowdin:
In Crowdin Enterprise:
{projectId} | Type: Description: Numeric identifier of your Crowdin project. |
{croql} | Type: Description: CroQL expression. |
To retrieve a list of strings that have at least one translation not from specific users, your query might look like this:
Use your query in the following endpoint in Crowdin:
In Crowdin Enterprise:
{projectId} | Type: Description: Numeric identifier of your Crowdin project. |
{croql} | Type: Description: CroQL expression. |
To retrieve a list of strings that have all translations not from specific users, your query might look like this:
Use your query in the following endpoint in Crowdin:
In Crowdin Enterprise:
{projectId} | Type: Description: Numeric identifier of your Crowdin project. |
{croql} | Type: Description: CroQL expression. |
For at hente oversættelser foretaget af brugere med et crowdin-brugernavn
eller med ≥ 100 upvotes, kan forespørgslen se således ud:
Use your query in the following endpoint in Crowdin:
In Crowdin Enterprise:
{projectId} | Type: Description: Numeric identifier of your Crowdin project. |
{croql} | Type: Description: CroQL expression. |
To retrieve a list of strings filtered by identifier and numeric id of a file in your Crowdin project, your query might look like this:
Use your query in the following endpoint in Crowdin:
In Crowdin Enterprise:
{projectId} | Type: Description: Numeric identifier of your Crowdin project. |
{croql} | Type: Description: CroQL expression. |
To retrieve a list of strings that have unresolved issues filtered by numeric id of a file in your Crowdin project, your query might look like this:
Use your query in the following endpoint in Crowdin:
In Crowdin Enterprise:
{projectId} | Type: Description: Numeric identifier of your Crowdin project. |
{croql} | Type: Description: CroQL expression. |
To retrieve a list of hidden strings that are not duplicates and have one or more translations, your query might look like this:
Use your query in the following endpoint in Crowdin:
In Crowdin Enterprise:
{projectId} | Type: Description: Numeric identifier of your Crowdin project. |
{croql} | Type: Description: CroQL expression. |
To retrieve translation memory segments containing at least one record used one or more times, your query might look like this:
Use your query in the following endpoint in Crowdin:
In Crowdin Enterprise:
{projectId} | Type: Description: Numeric identifier of your Crowdin project. |
{croql} | Type: Description: CroQL expression. |
To retrieve translation memory segments containing at least one record created by the user with a crowdin
username, your query might look like this:
Use your query in the following endpoint in Crowdin:
In Crowdin Enterprise:
{projectId} | Type: Description: Numeric identifier of your Crowdin project. |
{croql} | Type: Description: CroQL expression. |
CroQL can be used in the following contexts: source string context, translation context, and translation memory (TM) segment context. Use the following examples as a basis for building your CroQL queries.
{
"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,
"is duplicate": 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": "Швидкий старт",
"plural form": "none",
"is pre translated": true,
"provider": "tm",
"language": "uk",
"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: Beskrivelse: Kildestreng med almindelig tekst. |
type is plural | Type: Beskrivelse: Kildestreng med flertalsformer. |
type is icu | Type: Beskrivelse: Kildestreng med ICU. |
type is asset | Type: Beskrivelse: Kildestreng er et aktiv. |
text | Type: Beskrivelse: Kildestrengstekst. |
identifier | Type: Beskrivelse: Kildestrengidentifikator (nøgle). |
context | Type: Beskrivelse: Kildestrengskontekst. |
max length | Type: Description: The source string max.length. |
is visible | Type: Beskrivelse: Kildestreng er synlig. |
is hidden | Type: Beskrivelse: Kildestreng er skjult. |
is duplicate | Type: Description: The source string is duplicate. |
file | Type: Description: The source string file. |
comments | Type: Beskrivelse: Kildestrengskommentarer. |
has issue | Type: Beskrivelse: Kildestreng med en problematik. |
has unresolved issue | Type: Beskrivelse: Kildestreng med en uløst problematik. |
screenshots | Type: Beskrivelse: Kildestrengsskærmfotos. |
translations | Type: Oversættelse Kildestrengsoversættelse. |
text | Type: Beskrivelse: Oversættelsestekst. |
plural form | Type: Beskrivelse: Oversættelse i flertalsform. |
is pre translated | Type: Description: Translation added via pre-translation. |
provider | Type: Allowed values: Description: Translation provided via translation memory or machine translation engine. |
language | Type: Description: Language identifier specified as a string. Use the language codes, for example, |
user | Type: Description: Numeric identifier of the user who added a translation. |
votes | Type: Beskrivelse: Rækken af stemmerne tilføjet oversættelsen. |
is up | Type: Beskrivelse: Upvote. |
is down | Type: Beskrivelse: Downvote. |
user | Type: Description: Numeric identifier of the user who added a vote for translation. |
added | Type: Beskrivelse: Dato for, hvornår der blev stemt på en oversættelse. |
approvals | Type: Beskrivelse: Rækken af de tilføjede oversættelsesgodkendelser. |
user | Type: Description: Numeric identifier of the user who approved a translation. |
added | Type: Beskrivelse: Dato for, hvornår en oversættelse blev godkendt. |
updated | Type: Beskrivelse: Dato for, hvornår en oversættelse blev opdateret. |
added | Type: Beskrivelse: Dato for, hvornår en kildestreng blev tilføjet. |
updated | Type: Beskrivelse: Dato for, hvornår en kildestreng blev opdateret. |
{
"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 | Type: Beskrivelse: Oversættelsestekst. |
plural form | Type: Beskrivelse: Oversættelse i flertalsform. |
is pre translated | Type: Description: Translation added via pre-translation. |
provider | Type: Allowed values: Description: Translation provided via translation memory or machine translation engine. |
user | Type: Description: Numeric identifier of the user who added a translation. |
votes | Type: Beskrivelse: Rækken af stemmerne tilføjet oversættelsen. |
is up | Type: Beskrivelse: Upvote. |
is down | Type: Beskrivelse: Downvote. |
user | Type: Description: Numeric identifier of the user who added a vote for translation. |
added | Type: Beskrivelse: Dato for, hvornår der blev stemt på en oversættelse. |
approvals | Type: Beskrivelse: Rækken af de tilføjede oversættelsesgodkendelser. |
user | Type: Description: Numeric identifier of the user who approved a translation. |
added | Type: Beskrivelse: Dato for, hvornår en oversættelse blev godkendt. |
updated | Type: Beskrivelse: Dato for, hvornår en oversættelse blev opdateret. |
{
"records": [
{
"id": 1,
"text": "Перекладений текст",
"usageCount": 77,
"createdBy": 1,
"updatedBy": 1,
"createdAt": "2027-09-16T13:48:04+00:00",
"updatedAt": "2027-09-16T13:48:04+00:00"
}
]
}
records | Type: Description: Array of translation memory segment records. |
id | Type: Description: Numeric identifier of a record. |
text | Type: Description: Translation text of a record. |
usageCount | Type: Description: The number of times a translation memory record has been used. |
createdBy | Type: Description: Numeric identifier of the user who created a translation memory record. |
updatedBy | Type: Description: Numeric identifier of the user who updated a translation memory record. |
createdAt | Type: Description: Date when a translation memory record was created. |
updatedAt | Type: Description: Date when a translation memory record was updated. |