Translation components API.

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

GET /api/translations/mobilizon/backend/fr/
HTTP 200 OK
Allow: GET, DELETE, HEAD, OPTIONS
Content-Type: application/json
Vary: Accept

{
    "language": {
        "code": "fr",
        "name": "French",
        "plural": {
            "id": 106,
            "source": 0,
            "number": 2,
            "formula": "n > 1",
            "type": 1
        },
        "aliases": [
            "fra",
            "fre"
        ],
        "direction": "ltr",
        "population": 26405523410,
        "web_url": "https://weblate.framasoft.org/languages/fr/",
        "url": "https://weblate.framasoft.org/api/languages/fr/",
        "statistics_url": "https://weblate.framasoft.org/api/languages/fr/statistics/"
    },
    "component": {
        "name": "Backend",
        "slug": "backend",
        "id": 4,
        "source_language": {
            "code": "en",
            "name": "English",
            "plural": {
                "id": 76,
                "source": 0,
                "number": 2,
                "formula": "n != 1",
                "type": 1
            },
            "aliases": [
                "en_en",
                "base",
                "source",
                "enp",
                "eng"
            ],
            "direction": "ltr",
            "population": 159034349015,
            "web_url": "https://weblate.framasoft.org/languages/en/",
            "url": "https://weblate.framasoft.org/api/languages/en/",
            "statistics_url": "https://weblate.framasoft.org/api/languages/en/statistics/"
        },
        "project": {
            "name": "Mobilizon",
            "slug": "mobilizon",
            "id": 2,
            "web": "https://joinmobilizon.org/",
            "web_url": "https://weblate.framasoft.org/projects/mobilizon/",
            "url": "https://weblate.framasoft.org/api/projects/mobilizon/",
            "components_list_url": "https://weblate.framasoft.org/api/projects/mobilizon/components/",
            "repository_url": "https://weblate.framasoft.org/api/projects/mobilizon/repository/",
            "statistics_url": "https://weblate.framasoft.org/api/projects/mobilizon/statistics/",
            "changes_list_url": "https://weblate.framasoft.org/api/projects/mobilizon/changes/",
            "languages_url": "https://weblate.framasoft.org/api/projects/mobilizon/languages/",
            "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](https://vue-i18n.intlify.dev/) 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 : https://vue-i18n.intlify.dev/guide/essentials/pluralization.html\r\n  * Pluralization rules are included for the majority of languages but some may need to be added manually ([example for Scottish Gaelic](https://framagit.org/framasoft/mobilizon/-/blob/main/js/src/i18n/pluralRules/gd.ts)).\r\n  * Special characters sometimes have to be escaped. For instance: `{'@'}{username}` would give, after interpolation : `@thomas`. See https://vue-i18n.intlify.dev/guide/essentials/syntax.html#special-characters\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@framagit.org:framasoft/mobilizon.git",
        "git_export": "",
        "branch": "main",
        "push_branch": "",
        "filemask": "priv/gettext/*/LC_MESSAGES/default.po",
        "template": "",
        "edit_template": false,
        "intermediate": "",
        "new_base": "priv/gettext/default.pot",
        "file_format": "po",
        "license": "AGPL-3.0-only",
        "license_url": "https://spdx.org/licenses/AGPL-3.0-only.html",
        "agreement": "",
        "web_url": "https://weblate.framasoft.org/projects/mobilizon/backend/",
        "url": "https://weblate.framasoft.org/api/components/mobilizon/backend/",
        "repository_url": "https://weblate.framasoft.org/api/components/mobilizon/backend/repository/",
        "translations_url": "https://weblate.framasoft.org/api/components/mobilizon/backend/translations/",
        "statistics_url": "https://weblate.framasoft.org/api/components/mobilizon/backend/statistics/",
        "lock_url": "https://weblate.framasoft.org/api/components/mobilizon/backend/lock/",
        "links_url": "https://weblate.framasoft.org/api/components/mobilizon/backend/links/",
        "changes_list_url": "https://weblate.framasoft.org/api/components/mobilizon/backend/changes/",
        "task_url": null,
        "new_lang": "add",
        "language_code_style": "",
        "push": "git@framagit.org:framasoft/mobilizon.git",
        "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.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": false,
        "enable_suggestions": true,
        "suggestion_voting": false,
        "suggestion_autoaccept": 0,
        "push_on_commit": true,
        "commit_pending_age": 24,
        "auto_lock_error": true,
        "language_regex": "^(?!(en)$).+$",
        "variant_regex": "",
        "addons": [
            "https://weblate.framasoft.org/api/addons/9/"
        ],
        "is_glossary": false,
        "glossary_color": "silver"
    },
    "language_code": "fr",
    "id": 6,
    "filename": "priv/gettext/fr/LC_MESSAGES/default.po",
    "revision": "42aafb871af22ad468d2df4cf16b6a5d19aae6b0",
    "web_url": "https://weblate.framasoft.org/projects/mobilizon/backend/fr/",
    "share_url": "https://weblate.framasoft.org/engage/mobilizon/fr/",
    "translate_url": "https://weblate.framasoft.org/translate/mobilizon/backend/fr/",
    "url": "https://weblate.framasoft.org/api/translations/mobilizon/backend/fr/",
    "is_template": false,
    "is_source": false,
    "total": 353,
    "total_words": 4236,
    "translated": 353,
    "translated_words": 4236,
    "translated_percent": 100.0,
    "fuzzy": 0,
    "fuzzy_words": 0,
    "fuzzy_percent": 0.0,
    "failing_checks": 0,
    "failing_checks_words": 0,
    "failing_checks_percent": 0.0,
    "have_suggestion": 0,
    "have_comment": 0,
    "last_change": "2022-10-18T11:57:43.719863Z",
    "last_author": "Thomas Citharel",
    "repository_url": "https://weblate.framasoft.org/api/translations/mobilizon/backend/fr/repository/",
    "file_url": "https://weblate.framasoft.org/api/translations/mobilizon/backend/fr/file/",
    "statistics_url": "https://weblate.framasoft.org/api/translations/mobilizon/backend/fr/statistics/",
    "changes_list_url": "https://weblate.framasoft.org/api/translations/mobilizon/backend/fr/changes/",
    "units_list_url": "https://weblate.framasoft.org/api/translations/mobilizon/backend/fr/units/"
}