# GIFT Quiz Format > Translate Moodle-compatible GIFT quiz files with preview and round-trip-safe export URL: https://store.crowdin.com/gift-quiz-format Category: File Formats Type: App Author: Awesome Crowdin Translate GIFT quiz files in Crowdin using this app. This app functions as a custom file format processor for `.gift` files used to define quiz content for Moodle and other LMS platforms that support GIFT import/export workflows, such as Docebo. It extracts translatable quiz content into Crowdin, provides a structured preview in the editor, and rebuilds translated GIFT files while preserving the original quiz syntax. ## How It Works ### Step 1: Prepare Your GIFT file Export or create a GIFT quiz file that uses the standard `.gift` extension. This format is especially useful when localizing quiz content coming from Moodle, Docebo, or other learning systems and authoring tools that use or accept Moodle-compatible GIFT syntax. ### Step 2: Configure Your Crowdin project Upload the `.gift` file to your Crowdin project as a source file. The app parses each question block and extracts the parts intended for translation while preserving the original quiz structure for export. ### Step 3: Translate quiz content The app extracts the following content types for translation: - **Question titles** such as `::Question Title::` - **Question stems** for the main prompt - **Answer choices** for choice-based, short-answer, and matching questions - **Matching targets** in matching questions - **Per-answer feedback** and **general feedback** Supported question types include: - Multiple choice and multiple answer - True/false - Short answer - Numerical - Matching - Description - Essay - Missing-word questions with inline answer blocks ### Step 4: Preview and review The app provides a quiz preview in the Crowdin editor so translators can review how extracted content appears in context. Rich text is rendered according to the format used in the source, including plain text, HTML, Markdown, and Moodle-style fragments. ### Step 5: Export translations Download the translated file from Crowdin. The app writes translated content back into valid GIFT syntax while preserving key structural elements such as categories, weights, escapes, feedback markers, and inline answer blocks. ## Why GIFT Is Useful for Localization GIFT is a practical format for translating quiz-based learning content because it is portable, text-based, and widely associated with Moodle-compatible workflows. It is a good fit when you need to localize assessments exported from Moodle, imported into systems like Docebo, or exchanged between LMS platforms and quiz authoring pipelines that rely on GIFT for interoperability. ## File Format Details | Attribute | Value | | --------- | ----- | | File Extension | .gift | | [API Type](https://developer.crowdin.com/api/v2/#operation/api.projects.files.post) | gift-quiz-format | | Source can be edited in Crowdin | No | | Generating translated files via [Bundles](https://support.crowdin.com/bundles/) | [Search Crowdin Store](https://store.crowdin.com/tags/string-exporter) | | Supports pluralization | No | | WYSIWYG Preview in the editor | Yes | | Supported types of contextual information | WYSIWYG | | Custom attributes | No | | Existing translations import possibility | Key-value mapping | ## Sample File ```text $CATEGORY: science/physics // question: 42 name: Safety ::[plain]PPE::[markdown]**What is the correct PPE for welding?** {=Helmet#[plain]Head protection ~Boots#Incomplete protection ~[html]Gloves#Helpful but not sufficient ####[html]

Use approved gear.

} ::Inline::Grant is {~buried ~%100%entombed ~living} in Grant's tomb. ::Fractions::Select all prime numbers {~%-50%4 ~%33.33333%2 ~%33.33333%3 ~%33.33334%5 ####[plain]Multiple answers may be correct.} ::Truth::Sky is green.{FALSE#Correct, it is not green.#[html]No, that would mean the statement is true.####[markdown]*Color* perception explanation} ::Short::Spell the Greek letter {=lambda =Λ} ::Numeric::Pi to 2 decimals {#3.14:0.01 =%50%3.1..3.2 ~#Use 2 decimals ####[plain]Rounded values accepted.} ::Pairs::Match the languages {=Bonjour -> French =Hola -> Spanish =Guten Tag -> German} [plain]Read carefully before answering. ::EssayPrompt::[html]

Explain the process.

{} ::Escapes::[plain]Escape these characters: \\ \~ \= \# \{ \} \: \n {=[plain]\~ \= \# \{ \} \: \\ \n} ```