The Prompt Templating app allows you to leverage Liquid templates for creating advanced and customizable prompts for AI translations.
Key Features:
More Flexible Templates: Provide a Liquid template that the app uses to generate prompts, allowing for highly customizable translation instructions. This is particularly useful if you are using a fine-tuned LLM model that expects the prompt to be in a particular format.
Conditional Logic: Liquid allows the use of conditions to specify instructions based on language, project files, or text groups, enhancing your control over the translation process.
Improved RAG: Enjoy a more flexible RAG approach than native Crowdin prompts.
Easy Integration: Once installed, you can select the Prompt Templating as your prompt provider when configuring prompts.
Default Template: The app includes a default template to help you get started, which can be used as a reference or boilerplate for creating custom templates.
{
"project": {
"id": 462,
"type": 0,
"sourceLanguage": {
"id": "en-US",
"name": "English, United States",
"twoLettersCode": "en",
"threeLettersCode": "eng",
"locale": "en-US",
"pluralCategoryNames": [
"one",
"other"
],
"pluralRules": "(n != 1)",
"pluralExamples": [
"1",
"0, 2-999; 1.2, 2.07..."
],
"textDirection": "ltr",
"dialectOf": {
"id": "en",
"name": "English",
"twoLettersCode": "en",
"threeLettersCode": "eng",
"locale": "en-US",
"pluralCategoryNames": [
"one",
"other"
],
"pluralRules": "(n != 1)",
"pluralExamples": [
"1",
"0, 2-999; 1.2, 2.07..."
],
"textDirection": "ltr",
"dialectOf": null
}
},
"targetLanguages": [
{
"id": "fr",
"name": "French",
"twoLettersCode": "fr",
"threeLettersCode": "fra",
"locale": "fr-FR",
"pluralCategoryNames": [
"one",
"other"
],
"pluralRules": "(n > 1)",
"pluralExamples": [
"0, 1",
"2-999; 1.2, 2.07..."
],
"textDirection": "ltr",
"dialectOf": null
},
{
"id": "pl",
"name": "Polish",
"twoLettersCode": "pl",
"threeLettersCode": "pol",
"locale": "pl-PL",
"pluralCategoryNames": [
"one",
"few",
"many",
"other"
],
"pluralRules": "(n==1 ? 0 : (n%10>=2 && n%10<=4) && (n%100<12 || n%100>14) ? 1 : n!=1 && (n%10>=0 && n%10<=1) || (n%10>=5 && n%10<=9) || (n%100>=12 && n%100<=14) ? 2 : 3)",
"pluralExamples": [
"1",
"2-4, 22-24, 32-34, 42-44, 52-54, 62...",
"0, 5~19, 100, 1000, 10000...",
"0.0-1.5, 10.0, 100.0, 1000.0..."
],
"textDirection": "ltr",
"dialectOf": null
}
],
"name": "spreadsheet-test",
"description": "this project contains files from our mobile app, website and wubitlt files.",
"fields": {
"deadline": "2024-04-24"
}
},
"sourceLanguage": {
"id": "en-US",
"name": "English, United States",
"twoLettersCode": "en",
"threeLettersCode": "eng",
"locale": "en-US",
"pluralCategoryNames": [
"one",
"other"
],
"pluralRules": "(n != 1)",
"pluralExamples": [
"1",
"0, 2-999; 1.2, 2.07..."
],
"textDirection": "ltr",
"dialectOf": {
"id": "en",
"name": "English",
"twoLettersCode": "en",
"threeLettersCode": "eng",
"locale": "en-US",
"pluralCategoryNames": [
"one",
"other"
],
"pluralRules": "(n != 1)",
"pluralExamples": [
"1",
"0, 2-999; 1.2, 2.07..."
],
"textDirection": "ltr",
"dialectOf": null
}
},
"targetLanguage": {
"id": "pl",
"name": "Polish",
"twoLettersCode": "pl",
"threeLettersCode": "pol",
"locale": "pl-PL",
"pluralCategoryNames": [
"one",
"few",
"many",
"other"
],
"pluralRules": "(n==1 ? 0 : (n%10>=2 && n%10<=4) && (n%100<12 || n%100>14) ? 1 : n!=1 && (n%10>=0 && n%10<=1) || (n%10>=5 && n%10<=9) || (n%100>=12 && n%100<=14) ? 2 : 3)",
"pluralExamples": [
"1",
"2-4, 22-24, 32-34, 42-44, 52-54, 62...",
"0, 5~19, 100, 1000, 10000...",
"0.0-1.5, 10.0, 100.0, 1000.0..."
],
"textDirection": "ltr",
"dialectOf": null
},
"strings": [
{
"id": 2533087,
"text": "this {} is {} a test",
"key": "identifier_2",
"context": "asdfasdfa\n\n⨠AI Context\nUsed as the name of the CLI tool.\nUsed as a description for the '--type' option in a CLI command.\n⨠đ",
"maxLength": 24,
"pluralForm": null,
"fields": []
}
],
"siblingsStrings": {
"previous": {
"id": 2533085,
"text": "String for translation 1",
"key": "identifier_1",
"context": "identifier_1",
"maxLength": 24,
"fields": []
},
"next": {
"id": 2533089,
"text": "String for translation 3",
"key": "identifier_3",
"context": "identifier_3\n\n⨠AI Context\nthis is my ai context\n⨠đ",
"maxLength": 24,
"fields": []
}
},
"filteredStrings": [
{
"id": 2533087,
"text": "this {} is {} a test",
"key": "identifier_2",
"context": "asdfasdfa\n\n⨠AI Context\nUsed as the name of the CLI tool.\n⨠đ",
"maxLength": 24,
"fields": []
},
{
"id": 2533089,
"text": "String for translation 3",
"key": "identifier_3",
"context": "identifier_3\n\n⨠AI Context\nthis is my ai context\n⨠đ",
"maxLength": 24,
"fields": []
},
{
"id": 2533093,
"text": " String for translation 5",
"key": "identifier_5",
"context": "identifier_5",
"maxLength": 15,
"fields": []
},
{
"id": 2533095,
"text": {
"one": "%s apple",
"other": "%s apples"
},
"key": "apples_count",
"context": "apples_count\ndo not change placeholder format [one] [other]",
"maxLength": 9,
"fields": []
}
],
"tmSuggestions": [],
"terms": [],
"file": {
"id": 17983,
"name": "strings.xml",
"title": null,
"context": null,
"type": "android",
"path": "/strings.xml",
"fields": []
}
}
Crowdin is a platform that helps you manage and translate content into different languages. Integrate Crowdin with your repo, CMS, or other systems. Source content is always up to date for your translators, and translated content is returned automatically.
Learn More