Translation components API.

See the Weblate's Web API documentation for detailed description of the API.

GET /api/components/mobilizon/frontend/
Content-Type: application/json
Vary: Accept

    "name": "Frontend",
    "slug": "frontend",
    "id": 3,
    "source_language": {
        "code": "en",
        "name": "English",
        "plural": {
            "id": 76,
            "source": 0,
            "number": 2,
            "formula": "n != 1",
            "type": 1
        "aliases": [
        "direction": "ltr",
        "population": 159034349015,
        "web_url": "",
        "url": "",
        "statistics_url": ""
    "project": {
        "name": "Mobilizon",
        "slug": "mobilizon",
        "id": 2,
        "web": "",
        "web_url": "",
        "url": "",
        "components_list_url": "",
        "repository_url": "",
        "statistics_url": "",
        "changes_list_url": "",
        "languages_url": "",
        "translation_review": true,
        "source_review": false,
        "set_language_team": true,
        "instructions": "### Guidelines\r\n\r\n* When in doubt, use the suggestion feature instead of changing the translation directly\r\n* Post a comment to discuss about translations\r\n* Feel free to ask clarification and context on a string\r\n\r\n### Components\r\n\r\nMobilizon has several modules that need to be translated:\r\n\r\n* Frontend: mostly what you see in the web app in your browser\r\n* Activity: every group activity log, that can be sent in emails\r\n* Backend errors: errors returned by the backend (for instance if the event lacks a title)\r\n* Backend: the rest of emails, server-side default configuration, push notifications, …\r\n* Search index: the global search engine\r\n\r\nThe Android app and Android app metadata components are not maintained.\r\n\r\n### Formating\r\n\r\nFrontend (frontend + search index components) and backend (everything else) parts use different formats to hold translations so you may encounter different ways to format strings when translating:\r\n\r\n* Frontend uses the [Vue-I18N]( library\r\n  * Formatting is based on the ICU Message Format syntax, with placeholders like this: `{interpolation}`. **You must never translate what's between the brackets**.\r\n  * It handles pluralization manually by separating versions with pipes :\r\n  * Pluralization rules are included for the majority of languages but some may need to be added manually ([example for Scottish Gaelic](\r\n  * Special characters sometimes have to be escaped. For instance: `{'@'}{username}` would give, after interpolation : `@thomas`. See\r\n\r\n* Backend uses the classic Gettext library and Weblate should support this format much better\r\n  * Placeholders look like this: `This is user %{username}`.",
        "enable_hooks": true,
        "language_aliases": ""
    "vcs": "gitlab",
    "repo": "",
    "git_export": "",
    "branch": "main",
    "push_branch": "",
    "filemask": "js/src/i18n/*.json",
    "template": "js/src/i18n/en_US.json",
    "edit_template": false,
    "intermediate": "",
    "new_base": "",
    "file_format": "json",
    "license": "AGPL-3.0-only",
    "license_url": "",
    "agreement": "",
    "web_url": "",
    "url": "",
    "repository_url": "",
    "translations_url": "",
    "statistics_url": "",
    "lock_url": "",
    "links_url": "",
    "changes_list_url": "",
    "task_url": null,
    "new_lang": "add",
    "language_code_style": "",
    "push": "",
    "check_flags": "",
    "priority": 100,
    "enforced_checks": [],
    "restricted": false,
    "repoweb": "",
    "report_source_bugs": "",
    "merge_style": "rebase",
    "commit_message": "Translated using Weblate ({{ language_name }})\r\n\r\nCurrently translated at {{ stats.translated_percent }}% ({{ stats.translated }} of {{ stats.all }} strings)\r\n\r\nTranslation: {{ project_name }}/{{ component_name }}\r\nTranslate-URL: {{ url }}",
    "add_message": "Added translation using Weblate ({{ language_name }})",
    "delete_message": "Deleted translation using Weblate ({{ language_name }})",
    "merge_message": "Merge branch '{{ component_remote_branch }}' into Weblate.",
    "addon_message": "Update translation files\r\n\r\nUpdated by \"{{ addon_name }}\" hook in Weblate.\r\n\r\nTranslation: {{ project_name }}/{{ component_name }}\r\nTranslate-URL: {{ url }}",
    "pull_message": "Translations update from {{ site_title }}\n\nTranslations update from [{{ site_title }}]({{ site_url }}) for [{{ project_name }}/{{ component_name }}]({{url}}).\n\n{% if component_linked_childs %}\nIt also includes following components:\n{% for linked in component_linked_childs %}\n* [{{ linked.project_name }}/{{ }}]({{ linked.url }})\n{% endfor %}\n{% endif %}\n\nCurrent translation status:\n\n![Weblate translation status]({{widget_url}})\n",
    "allow_translation_propagation": true,
    "manage_units": true,
    "enable_suggestions": true,
    "suggestion_voting": false,
    "suggestion_autoaccept": 0,
    "push_on_commit": true,
    "commit_pending_age": 24,
    "auto_lock_error": true,
    "language_regex": "^(?!(en)|(langs)$).+$",
    "variant_regex": "",
    "addons": [
    "is_glossary": false,
    "glossary_color": "silver"