Translation components API.

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

GET /api/translations/?format=api&page=48
HTTP 200 OK
Allow: GET, HEAD, OPTIONS
Content-Type: application/json
Vary: Accept

{
    "count": 2370,
    "next": null,
    "previous": "https://weblate.framasoft.org/api/translations/?format=api&page=47",
    "results": [
        {
            "language": {
                "id": 71,
                "code": "dsb",
                "name": "Lower Sorbian",
                "plural": {
                    "id": 71,
                    "source": 0,
                    "number": 4,
                    "formula": "(n % 100 == 1) ? 0 : ((n % 100 == 2) ? 1 : ((n % 100 == 3 || n % 100 == 4) ? 2 : 3))",
                    "type": 6
                },
                "aliases": [],
                "direction": "ltr",
                "population": 6973,
                "web_url": "https://weblate.framasoft.org/languages/dsb/",
                "url": "https://weblate.framasoft.org/api/languages/dsb/?format=api",
                "statistics_url": "https://weblate.framasoft.org/api/languages/dsb/statistics/?format=api"
            },
            "component": {
                "name": "Mobilizon",
                "slug": "glossary",
                "id": 103,
                "source_language": {
                    "id": 76,
                    "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": 1636485517,
                    "web_url": "https://weblate.framasoft.org/languages/en/",
                    "url": "https://weblate.framasoft.org/api/languages/en/?format=api",
                    "statistics_url": "https://weblate.framasoft.org/api/languages/en/statistics/?format=api"
                },
                "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/?format=api",
                    "components_list_url": "https://weblate.framasoft.org/api/projects/mobilizon/components/?format=api",
                    "repository_url": "https://weblate.framasoft.org/api/projects/mobilizon/repository/?format=api",
                    "statistics_url": "https://weblate.framasoft.org/api/projects/mobilizon/statistics/?format=api",
                    "categories_url": "https://weblate.framasoft.org/api/projects/mobilizon/categories/?format=api",
                    "changes_list_url": "https://weblate.framasoft.org/api/projects/mobilizon/changes/?format=api",
                    "languages_url": "https://weblate.framasoft.org/api/projects/mobilizon/languages/?format=api",
                    "labels_url": "https://weblate.framasoft.org/api/projects/mobilizon/labels/?format=api",
                    "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": "local",
                "repo": "local:",
                "git_export": "https://weblate.framasoft.org/git/mobilizon/glossary/",
                "branch": "main",
                "push_branch": "",
                "filemask": "*.tbx",
                "screenshot_filemask": "",
                "template": "",
                "edit_template": true,
                "intermediate": "",
                "new_base": "",
                "file_format": "tbx",
                "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/glossary/",
                "url": "https://weblate.framasoft.org/api/components/mobilizon/glossary/?format=api",
                "repository_url": "https://weblate.framasoft.org/api/components/mobilizon/glossary/repository/?format=api",
                "translations_url": "https://weblate.framasoft.org/api/components/mobilizon/glossary/translations/?format=api",
                "statistics_url": "https://weblate.framasoft.org/api/components/mobilizon/glossary/statistics/?format=api",
                "lock_url": "https://weblate.framasoft.org/api/components/mobilizon/glossary/lock/?format=api",
                "links_url": "https://weblate.framasoft.org/api/components/mobilizon/glossary/links/?format=api",
                "changes_list_url": "https://weblate.framasoft.org/api/components/mobilizon/glossary/changes/?format=api",
                "task_url": null,
                "new_lang": "none",
                "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 }})\n\nCurrently translated at {{ stats.translated_percent }}% ({{ stats.translated }} of {{ stats.all }} strings)\n\nTranslation: {{ project_name }}/{{ component_name }}\nTranslate-URL: {{ url }}",
                "add_message": "Added translation using Weblate ({{ language_name }})\n\n",
                "delete_message": "Deleted translation using Weblate ({{ language_name }})\n\n",
                "merge_message": "Merge branch '{{ component_remote_branch }}' into Weblate.\n\n",
                "addon_message": "Update translation files\n\nUpdated by \"{{ addon_name }}\" hook in Weblate.\n\nTranslation: {{ project_name }}/{{ component_name }}\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": false,
                "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": "^[^.]+$",
                "variant_regex": "",
                "addons": [],
                "is_glossary": true,
                "glossary_color": "silver",
                "category": null,
                "linked_component": null
            },
            "language_code": "dsb",
            "id": 3458,
            "filename": "dsb.tbx",
            "revision": "9e51da4c3d21fda8ccff715236435e3f3e0e77d4",
            "web_url": "https://weblate.framasoft.org/projects/mobilizon/glossary/dsb/",
            "share_url": "https://weblate.framasoft.org/engage/mobilizon/-/dsb/",
            "translate_url": "https://weblate.framasoft.org/translate/mobilizon/glossary/dsb/",
            "url": "https://weblate.framasoft.org/api/translations/mobilizon/glossary/dsb/?format=api",
            "is_template": false,
            "is_source": false,
            "total": 4,
            "total_words": 4,
            "translated": 3,
            "translated_words": 3,
            "translated_percent": 75.0,
            "fuzzy": 1,
            "fuzzy_words": 1,
            "fuzzy_percent": 25.0,
            "failing_checks": 0,
            "failing_checks_words": 0,
            "failing_checks_percent": 0.0,
            "have_suggestion": 0,
            "have_comment": 0,
            "last_change": "2024-04-03T12:37:24.856873Z",
            "last_author": null,
            "repository_url": "https://weblate.framasoft.org/api/translations/mobilizon/glossary/dsb/repository/?format=api",
            "file_url": "https://weblate.framasoft.org/api/translations/mobilizon/glossary/dsb/file/?format=api",
            "statistics_url": "https://weblate.framasoft.org/api/translations/mobilizon/glossary/dsb/statistics/?format=api",
            "changes_list_url": "https://weblate.framasoft.org/api/translations/mobilizon/glossary/dsb/changes/?format=api",
            "units_list_url": "https://weblate.framasoft.org/api/translations/mobilizon/glossary/dsb/units/?format=api"
        },
        {
            "language": {
                "id": 12,
                "code": "ar",
                "name": "Arabic",
                "plural": {
                    "id": 12,
                    "source": 0,
                    "number": 6,
                    "formula": "n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 && n%100<=10 ? 3 : n%100>=11 ? 4 : 5",
                    "type": 3
                },
                "aliases": [
                    "ar_ar",
                    "ara"
                ],
                "direction": "rtl",
                "population": 351664195,
                "web_url": "https://weblate.framasoft.org/languages/ar/",
                "url": "https://weblate.framasoft.org/api/languages/ar/?format=api",
                "statistics_url": "https://weblate.framasoft.org/api/languages/ar/statistics/?format=api"
            },
            "component": {
                "name": "Holiday Calendars",
                "slug": "holiday-calendars",
                "id": 178,
                "source_language": {
                    "id": 76,
                    "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": 1636485517,
                    "web_url": "https://weblate.framasoft.org/languages/en/",
                    "url": "https://weblate.framasoft.org/api/languages/en/?format=api",
                    "statistics_url": "https://weblate.framasoft.org/api/languages/en/statistics/?format=api"
                },
                "project": {
                    "name": "Nextcloud Apps",
                    "slug": "nextcloud",
                    "id": 41,
                    "web": "https://framagit.org/framasoft/nextcloud",
                    "web_url": "https://weblate.framasoft.org/projects/nextcloud/",
                    "url": "https://weblate.framasoft.org/api/projects/nextcloud/?format=api",
                    "components_list_url": "https://weblate.framasoft.org/api/projects/nextcloud/components/?format=api",
                    "repository_url": "https://weblate.framasoft.org/api/projects/nextcloud/repository/?format=api",
                    "statistics_url": "https://weblate.framasoft.org/api/projects/nextcloud/statistics/?format=api",
                    "categories_url": "https://weblate.framasoft.org/api/projects/nextcloud/categories/?format=api",
                    "changes_list_url": "https://weblate.framasoft.org/api/projects/nextcloud/changes/?format=api",
                    "languages_url": "https://weblate.framasoft.org/api/projects/nextcloud/languages/?format=api",
                    "labels_url": "https://weblate.framasoft.org/api/projects/nextcloud/labels/?format=api",
                    "translation_review": false,
                    "source_review": false,
                    "set_language_team": true,
                    "instructions": "",
                    "enable_hooks": true,
                    "language_aliases": ""
                },
                "vcs": "gitlab",
                "repo": "git@framagit.org:framasoft/nextcloud/holiday_calendars.git",
                "git_export": "https://weblate.framasoft.org/git/nextcloud/holiday-calendars/",
                "branch": "main",
                "push_branch": "",
                "filemask": "translationfiles/*/holiday_calendars.po",
                "screenshot_filemask": "",
                "template": "",
                "edit_template": true,
                "intermediate": "",
                "new_base": "translationfiles/templates/holiday_calendars.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/nextcloud/holiday-calendars/",
                "url": "https://weblate.framasoft.org/api/components/nextcloud/holiday-calendars/?format=api",
                "repository_url": "https://weblate.framasoft.org/api/components/nextcloud/holiday-calendars/repository/?format=api",
                "translations_url": "https://weblate.framasoft.org/api/components/nextcloud/holiday-calendars/translations/?format=api",
                "statistics_url": "https://weblate.framasoft.org/api/components/nextcloud/holiday-calendars/statistics/?format=api",
                "lock_url": "https://weblate.framasoft.org/api/components/nextcloud/holiday-calendars/lock/?format=api",
                "links_url": "https://weblate.framasoft.org/api/components/nextcloud/holiday-calendars/links/?format=api",
                "changes_list_url": "https://weblate.framasoft.org/api/components/nextcloud/holiday-calendars/changes/?format=api",
                "task_url": null,
                "new_lang": "add",
                "language_code_style": "",
                "push": "git@framagit.org:framasoft/nextcloud/holiday_calendars.git",
                "check_flags": "",
                "priority": 100,
                "enforced_checks": [],
                "restricted": false,
                "repoweb": "",
                "report_source_bugs": "",
                "merge_style": "rebase",
                "commit_message": "Translated using Weblate ({{ language_name }})\n\nCurrently translated at {{ stats.translated_percent }}% ({{ stats.translated }} of {{ stats.all }} strings)\n\nTranslation: {{ project_name }}/{{ component_name }}\nTranslate-URL: {{ url }}",
                "add_message": "Added translation using Weblate ({{ language_name }})\n\n",
                "delete_message": "Deleted translation using Weblate ({{ language_name }})\n\n",
                "merge_message": "Merge branch '{{ component_remote_branch }}' into Weblate.\n\n",
                "addon_message": "Update translation files\n\nUpdated by \"{{ addon_name }}\" hook in Weblate.\n\nTranslation: {{ project_name }}/{{ component_name }}\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": "^[^.]+$",
                "variant_regex": "",
                "addons": [],
                "is_glossary": false,
                "glossary_color": "silver",
                "category": null,
                "linked_component": null
            },
            "language_code": "ar",
            "id": 3459,
            "filename": "translationfiles/ar/holiday_calendars.po",
            "revision": "5207d1f2d4e59dad0903c7cb696867277a1b3f16",
            "web_url": "https://weblate.framasoft.org/projects/nextcloud/holiday-calendars/ar/",
            "share_url": "https://weblate.framasoft.org/engage/nextcloud/-/ar/",
            "translate_url": "https://weblate.framasoft.org/translate/nextcloud/holiday-calendars/ar/",
            "url": "https://weblate.framasoft.org/api/translations/nextcloud/holiday-calendars/ar/?format=api",
            "is_template": false,
            "is_source": false,
            "total": 17,
            "total_words": 109,
            "translated": 17,
            "translated_words": 109,
            "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": "2024-03-28T22:39:44.784971Z",
            "last_author": null,
            "repository_url": "https://weblate.framasoft.org/api/translations/nextcloud/holiday-calendars/ar/repository/?format=api",
            "file_url": "https://weblate.framasoft.org/api/translations/nextcloud/holiday-calendars/ar/file/?format=api",
            "statistics_url": "https://weblate.framasoft.org/api/translations/nextcloud/holiday-calendars/ar/statistics/?format=api",
            "changes_list_url": "https://weblate.framasoft.org/api/translations/nextcloud/holiday-calendars/ar/changes/?format=api",
            "units_list_url": "https://weblate.framasoft.org/api/translations/nextcloud/holiday-calendars/ar/units/?format=api"
        },
        {
            "language": {
                "id": 12,
                "code": "ar",
                "name": "Arabic",
                "plural": {
                    "id": 12,
                    "source": 0,
                    "number": 6,
                    "formula": "n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 && n%100<=10 ? 3 : n%100>=11 ? 4 : 5",
                    "type": 3
                },
                "aliases": [
                    "ar_ar",
                    "ara"
                ],
                "direction": "rtl",
                "population": 351664195,
                "web_url": "https://weblate.framasoft.org/languages/ar/",
                "url": "https://weblate.framasoft.org/api/languages/ar/?format=api",
                "statistics_url": "https://weblate.framasoft.org/api/languages/ar/statistics/?format=api"
            },
            "component": {
                "name": "Login Notes",
                "slug": "login-notes",
                "id": 102,
                "source_language": {
                    "id": 76,
                    "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": 1636485517,
                    "web_url": "https://weblate.framasoft.org/languages/en/",
                    "url": "https://weblate.framasoft.org/api/languages/en/?format=api",
                    "statistics_url": "https://weblate.framasoft.org/api/languages/en/statistics/?format=api"
                },
                "project": {
                    "name": "Nextcloud Apps",
                    "slug": "nextcloud",
                    "id": 41,
                    "web": "https://framagit.org/framasoft/nextcloud",
                    "web_url": "https://weblate.framasoft.org/projects/nextcloud/",
                    "url": "https://weblate.framasoft.org/api/projects/nextcloud/?format=api",
                    "components_list_url": "https://weblate.framasoft.org/api/projects/nextcloud/components/?format=api",
                    "repository_url": "https://weblate.framasoft.org/api/projects/nextcloud/repository/?format=api",
                    "statistics_url": "https://weblate.framasoft.org/api/projects/nextcloud/statistics/?format=api",
                    "categories_url": "https://weblate.framasoft.org/api/projects/nextcloud/categories/?format=api",
                    "changes_list_url": "https://weblate.framasoft.org/api/projects/nextcloud/changes/?format=api",
                    "languages_url": "https://weblate.framasoft.org/api/projects/nextcloud/languages/?format=api",
                    "labels_url": "https://weblate.framasoft.org/api/projects/nextcloud/labels/?format=api",
                    "translation_review": false,
                    "source_review": false,
                    "set_language_team": true,
                    "instructions": "",
                    "enable_hooks": true,
                    "language_aliases": ""
                },
                "vcs": "gitlab",
                "repo": "git@framagit.org:framasoft/nextcloud/login-notes.git",
                "git_export": "https://weblate.framasoft.org/git/nextcloud/login-notes/",
                "branch": "main",
                "push_branch": "",
                "filemask": "translationfiles/*/login_notes.po",
                "screenshot_filemask": "",
                "template": "",
                "edit_template": true,
                "intermediate": "",
                "new_base": "translationfiles/templates/login_notes.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/nextcloud/login-notes/",
                "url": "https://weblate.framasoft.org/api/components/nextcloud/login-notes/?format=api",
                "repository_url": "https://weblate.framasoft.org/api/components/nextcloud/login-notes/repository/?format=api",
                "translations_url": "https://weblate.framasoft.org/api/components/nextcloud/login-notes/translations/?format=api",
                "statistics_url": "https://weblate.framasoft.org/api/components/nextcloud/login-notes/statistics/?format=api",
                "lock_url": "https://weblate.framasoft.org/api/components/nextcloud/login-notes/lock/?format=api",
                "links_url": "https://weblate.framasoft.org/api/components/nextcloud/login-notes/links/?format=api",
                "changes_list_url": "https://weblate.framasoft.org/api/components/nextcloud/login-notes/changes/?format=api",
                "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 }})\n\nCurrently translated at {{ stats.translated_percent }}% ({{ stats.translated }} of {{ stats.all }} strings)\n\nTranslation: {{ project_name }}/{{ component_name }}\nTranslate-URL: {{ url }}",
                "add_message": "Added translation using Weblate ({{ language_name }})\n\n",
                "delete_message": "Deleted translation using Weblate ({{ language_name }})\n\n",
                "merge_message": "Merge branch '{{ component_remote_branch }}' into Weblate.\n\n",
                "addon_message": "Update translation files\n\nUpdated by \"{{ addon_name }}\" hook in Weblate.\n\nTranslation: {{ project_name }}/{{ component_name }}\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": "^[^.]+$",
                "variant_regex": "",
                "addons": [
                    "https://weblate.framasoft.org/api/addons/8/?format=api",
                    "https://weblate.framasoft.org/api/addons/36/?format=api"
                ],
                "is_glossary": false,
                "glossary_color": "silver",
                "category": null,
                "linked_component": null
            },
            "language_code": "ar",
            "id": 3460,
            "filename": "translationfiles/ar/login_notes.po",
            "revision": "9443749b0f49fac3f7f077158120d30efa0a4659",
            "web_url": "https://weblate.framasoft.org/projects/nextcloud/login-notes/ar/",
            "share_url": "https://weblate.framasoft.org/engage/nextcloud/-/ar/",
            "translate_url": "https://weblate.framasoft.org/translate/nextcloud/login-notes/ar/",
            "url": "https://weblate.framasoft.org/api/translations/nextcloud/login-notes/ar/?format=api",
            "is_template": false,
            "is_source": false,
            "total": 34,
            "total_words": 219,
            "translated": 34,
            "translated_words": 219,
            "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": 3,
            "have_comment": 0,
            "last_change": "2024-03-29T23:38:11.038932Z",
            "last_author": null,
            "repository_url": "https://weblate.framasoft.org/api/translations/nextcloud/login-notes/ar/repository/?format=api",
            "file_url": "https://weblate.framasoft.org/api/translations/nextcloud/login-notes/ar/file/?format=api",
            "statistics_url": "https://weblate.framasoft.org/api/translations/nextcloud/login-notes/ar/statistics/?format=api",
            "changes_list_url": "https://weblate.framasoft.org/api/translations/nextcloud/login-notes/ar/changes/?format=api",
            "units_list_url": "https://weblate.framasoft.org/api/translations/nextcloud/login-notes/ar/units/?format=api"
        },
        {
            "language": {
                "id": 12,
                "code": "ar",
                "name": "Arabic",
                "plural": {
                    "id": 12,
                    "source": 0,
                    "number": 6,
                    "formula": "n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 && n%100<=10 ? 3 : n%100>=11 ? 4 : 5",
                    "type": 3
                },
                "aliases": [
                    "ar_ar",
                    "ara"
                ],
                "direction": "rtl",
                "population": 351664195,
                "web_url": "https://weblate.framasoft.org/languages/ar/",
                "url": "https://weblate.framasoft.org/api/languages/ar/?format=api",
                "statistics_url": "https://weblate.framasoft.org/api/languages/ar/statistics/?format=api"
            },
            "component": {
                "name": "CSP Editor",
                "slug": "csp-editor",
                "id": 98,
                "source_language": {
                    "id": 76,
                    "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": 1636485517,
                    "web_url": "https://weblate.framasoft.org/languages/en/",
                    "url": "https://weblate.framasoft.org/api/languages/en/?format=api",
                    "statistics_url": "https://weblate.framasoft.org/api/languages/en/statistics/?format=api"
                },
                "project": {
                    "name": "Nextcloud Apps",
                    "slug": "nextcloud",
                    "id": 41,
                    "web": "https://framagit.org/framasoft/nextcloud",
                    "web_url": "https://weblate.framasoft.org/projects/nextcloud/",
                    "url": "https://weblate.framasoft.org/api/projects/nextcloud/?format=api",
                    "components_list_url": "https://weblate.framasoft.org/api/projects/nextcloud/components/?format=api",
                    "repository_url": "https://weblate.framasoft.org/api/projects/nextcloud/repository/?format=api",
                    "statistics_url": "https://weblate.framasoft.org/api/projects/nextcloud/statistics/?format=api",
                    "categories_url": "https://weblate.framasoft.org/api/projects/nextcloud/categories/?format=api",
                    "changes_list_url": "https://weblate.framasoft.org/api/projects/nextcloud/changes/?format=api",
                    "languages_url": "https://weblate.framasoft.org/api/projects/nextcloud/languages/?format=api",
                    "labels_url": "https://weblate.framasoft.org/api/projects/nextcloud/labels/?format=api",
                    "translation_review": false,
                    "source_review": false,
                    "set_language_team": true,
                    "instructions": "",
                    "enable_hooks": true,
                    "language_aliases": ""
                },
                "vcs": "gitlab",
                "repo": "git@framagit.org:framasoft/nextcloud/csp_editor.git",
                "git_export": "https://weblate.framasoft.org/git/nextcloud/csp-editor/",
                "branch": "main",
                "push_branch": "",
                "filemask": "translationfiles/*/csp_editor.po",
                "screenshot_filemask": "",
                "template": "",
                "edit_template": true,
                "intermediate": "",
                "new_base": "translationfiles/templates/csp_editor.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/nextcloud/csp-editor/",
                "url": "https://weblate.framasoft.org/api/components/nextcloud/csp-editor/?format=api",
                "repository_url": "https://weblate.framasoft.org/api/components/nextcloud/csp-editor/repository/?format=api",
                "translations_url": "https://weblate.framasoft.org/api/components/nextcloud/csp-editor/translations/?format=api",
                "statistics_url": "https://weblate.framasoft.org/api/components/nextcloud/csp-editor/statistics/?format=api",
                "lock_url": "https://weblate.framasoft.org/api/components/nextcloud/csp-editor/lock/?format=api",
                "links_url": "https://weblate.framasoft.org/api/components/nextcloud/csp-editor/links/?format=api",
                "changes_list_url": "https://weblate.framasoft.org/api/components/nextcloud/csp-editor/changes/?format=api",
                "task_url": null,
                "new_lang": "add",
                "language_code_style": "",
                "push": "git@framagit.org:framasoft/nextcloud/csp_editor.git",
                "check_flags": "",
                "priority": 100,
                "enforced_checks": [],
                "restricted": false,
                "repoweb": "",
                "report_source_bugs": "",
                "merge_style": "rebase",
                "commit_message": "Translated using Weblate ({{ language_name }})\n\nCurrently translated at {{ stats.translated_percent }}% ({{ stats.translated }} of {{ stats.all }} strings)\n\nTranslation: {{ project_name }}/{{ component_name }}\nTranslate-URL: {{ url }}",
                "add_message": "Added translation using Weblate ({{ language_name }})\n\n",
                "delete_message": "Deleted translation using Weblate ({{ language_name }})\n\n",
                "merge_message": "Merge branch '{{ component_remote_branch }}' into Weblate.\n\n",
                "addon_message": "Update translation files\n\nUpdated by \"{{ addon_name }}\" hook in Weblate.\n\nTranslation: {{ project_name }}/{{ component_name }}\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": "^[^.]+$",
                "variant_regex": "",
                "addons": [
                    "https://weblate.framasoft.org/api/addons/7/?format=api"
                ],
                "is_glossary": false,
                "glossary_color": "silver",
                "category": null,
                "linked_component": null
            },
            "language_code": "ar",
            "id": 3461,
            "filename": "translationfiles/ar/csp_editor.po",
            "revision": "c255873f85584bacbcccdf1aca958fb5c2674553",
            "web_url": "https://weblate.framasoft.org/projects/nextcloud/csp-editor/ar/",
            "share_url": "https://weblate.framasoft.org/engage/nextcloud/-/ar/",
            "translate_url": "https://weblate.framasoft.org/translate/nextcloud/csp-editor/ar/",
            "url": "https://weblate.framasoft.org/api/translations/nextcloud/csp-editor/ar/?format=api",
            "is_template": false,
            "is_source": false,
            "total": 30,
            "total_words": 124,
            "translated": 30,
            "translated_words": 124,
            "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": "2024-03-29T08:09:18.816915Z",
            "last_author": null,
            "repository_url": "https://weblate.framasoft.org/api/translations/nextcloud/csp-editor/ar/repository/?format=api",
            "file_url": "https://weblate.framasoft.org/api/translations/nextcloud/csp-editor/ar/file/?format=api",
            "statistics_url": "https://weblate.framasoft.org/api/translations/nextcloud/csp-editor/ar/statistics/?format=api",
            "changes_list_url": "https://weblate.framasoft.org/api/translations/nextcloud/csp-editor/ar/changes/?format=api",
            "units_list_url": "https://weblate.framasoft.org/api/translations/nextcloud/csp-editor/ar/units/?format=api"
        },
        {
            "language": {
                "id": 252,
                "code": "ru",
                "name": "Russian",
                "plural": {
                    "id": 252,
                    "source": 0,
                    "number": 3,
                    "formula": "n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2",
                    "type": 22
                },
                "aliases": [
                    "ru_r",
                    "ru_rr",
                    "rus"
                ],
                "direction": "ltr",
                "population": 195841151,
                "web_url": "https://weblate.framasoft.org/languages/ru/",
                "url": "https://weblate.framasoft.org/api/languages/ru/?format=api",
                "statistics_url": "https://weblate.framasoft.org/api/languages/ru/statistics/?format=api"
            },
            "component": {
                "name": "Commons (HoS)",
                "slug": "commons-hos",
                "id": 161,
                "source_language": {
                    "id": 76,
                    "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": 1636485517,
                    "web_url": "https://weblate.framasoft.org/languages/en/",
                    "url": "https://weblate.framasoft.org/api/languages/en/?format=api",
                    "statistics_url": "https://weblate.framasoft.org/api/languages/en/statistics/?format=api"
                },
                "project": {
                    "name": "Framaforms",
                    "slug": "framaforms",
                    "id": 46,
                    "web": "https://framaforms.org",
                    "web_url": "https://weblate.framasoft.org/projects/framaforms/",
                    "url": "https://weblate.framasoft.org/api/projects/framaforms/?format=api",
                    "components_list_url": "https://weblate.framasoft.org/api/projects/framaforms/components/?format=api",
                    "repository_url": "https://weblate.framasoft.org/api/projects/framaforms/repository/?format=api",
                    "statistics_url": "https://weblate.framasoft.org/api/projects/framaforms/statistics/?format=api",
                    "categories_url": "https://weblate.framasoft.org/api/projects/framaforms/categories/?format=api",
                    "changes_list_url": "https://weblate.framasoft.org/api/projects/framaforms/changes/?format=api",
                    "languages_url": "https://weblate.framasoft.org/api/projects/framaforms/languages/?format=api",
                    "labels_url": "https://weblate.framasoft.org/api/projects/framaforms/labels/?format=api",
                    "translation_review": false,
                    "source_review": false,
                    "set_language_team": true,
                    "instructions": "",
                    "enable_hooks": true,
                    "language_aliases": ""
                },
                "vcs": "gitlab",
                "repo": "git@framagit.org:framasoft/vue-fs/commons.git",
                "git_export": "https://weblate.framasoft.org/git/framaforms/commons-hos/",
                "branch": "master",
                "push_branch": "",
                "filemask": "src/translations/*/hos.yml",
                "screenshot_filemask": "",
                "template": "src/translations/en/hos.yml",
                "edit_template": true,
                "intermediate": "",
                "new_base": "",
                "file_format": "yaml",
                "license": "CC-BY-SA-4.0",
                "license_url": "https://spdx.org/licenses/CC-BY-SA-4.0.html",
                "agreement": "",
                "web_url": "https://weblate.framasoft.org/projects/framaforms/commons-hos/",
                "url": "https://weblate.framasoft.org/api/components/framaforms/commons-hos/?format=api",
                "repository_url": "https://weblate.framasoft.org/api/components/framaforms/commons-hos/repository/?format=api",
                "translations_url": "https://weblate.framasoft.org/api/components/framaforms/commons-hos/translations/?format=api",
                "statistics_url": "https://weblate.framasoft.org/api/components/framaforms/commons-hos/statistics/?format=api",
                "lock_url": "https://weblate.framasoft.org/api/components/framaforms/commons-hos/lock/?format=api",
                "links_url": "https://weblate.framasoft.org/api/components/framaforms/commons-hos/links/?format=api",
                "changes_list_url": "https://weblate.framasoft.org/api/components/framaforms/commons-hos/changes/?format=api",
                "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.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": "^[^.]+$",
                "variant_regex": "",
                "addons": [],
                "is_glossary": false,
                "glossary_color": "silver",
                "category": null,
                "linked_component": null
            },
            "language_code": "ru",
            "id": 3462,
            "filename": "src/translations/ru/hos.yml",
            "revision": "1626fe90e28df19ddeb3ab123481b7e4fbf3dd0a,c3accfbc427d4030c83e2f11a33800f16a142de3",
            "web_url": "https://weblate.framasoft.org/projects/framaforms/commons-hos/ru/",
            "share_url": "https://weblate.framasoft.org/engage/framaforms/-/ru/",
            "translate_url": "https://weblate.framasoft.org/translate/framaforms/commons-hos/ru/",
            "url": "https://weblate.framasoft.org/api/translations/framaforms/commons-hos/ru/?format=api",
            "is_template": false,
            "is_source": false,
            "total": 15,
            "total_words": 430,
            "translated": 1,
            "translated_words": 2,
            "translated_percent": 6.6,
            "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": "2024-04-08T00:20:17.726601Z",
            "last_author": null,
            "repository_url": "https://weblate.framasoft.org/api/translations/framaforms/commons-hos/ru/repository/?format=api",
            "file_url": "https://weblate.framasoft.org/api/translations/framaforms/commons-hos/ru/file/?format=api",
            "statistics_url": "https://weblate.framasoft.org/api/translations/framaforms/commons-hos/ru/statistics/?format=api",
            "changes_list_url": "https://weblate.framasoft.org/api/translations/framaforms/commons-hos/ru/changes/?format=api",
            "units_list_url": "https://weblate.framasoft.org/api/translations/framaforms/commons-hos/ru/units/?format=api"
        },
        {
            "language": {
                "id": 252,
                "code": "ru",
                "name": "Russian",
                "plural": {
                    "id": 252,
                    "source": 0,
                    "number": 3,
                    "formula": "n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2",
                    "type": 22
                },
                "aliases": [
                    "ru_r",
                    "ru_rr",
                    "rus"
                ],
                "direction": "ltr",
                "population": 195841151,
                "web_url": "https://weblate.framasoft.org/languages/ru/",
                "url": "https://weblate.framasoft.org/api/languages/ru/?format=api",
                "statistics_url": "https://weblate.framasoft.org/api/languages/ru/statistics/?format=api"
            },
            "component": {
                "name": "Framaforms",
                "slug": "glossary",
                "id": 160,
                "source_language": {
                    "id": 76,
                    "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": 1636485517,
                    "web_url": "https://weblate.framasoft.org/languages/en/",
                    "url": "https://weblate.framasoft.org/api/languages/en/?format=api",
                    "statistics_url": "https://weblate.framasoft.org/api/languages/en/statistics/?format=api"
                },
                "project": {
                    "name": "Framaforms",
                    "slug": "framaforms",
                    "id": 46,
                    "web": "https://framaforms.org",
                    "web_url": "https://weblate.framasoft.org/projects/framaforms/",
                    "url": "https://weblate.framasoft.org/api/projects/framaforms/?format=api",
                    "components_list_url": "https://weblate.framasoft.org/api/projects/framaforms/components/?format=api",
                    "repository_url": "https://weblate.framasoft.org/api/projects/framaforms/repository/?format=api",
                    "statistics_url": "https://weblate.framasoft.org/api/projects/framaforms/statistics/?format=api",
                    "categories_url": "https://weblate.framasoft.org/api/projects/framaforms/categories/?format=api",
                    "changes_list_url": "https://weblate.framasoft.org/api/projects/framaforms/changes/?format=api",
                    "languages_url": "https://weblate.framasoft.org/api/projects/framaforms/languages/?format=api",
                    "labels_url": "https://weblate.framasoft.org/api/projects/framaforms/labels/?format=api",
                    "translation_review": false,
                    "source_review": false,
                    "set_language_team": true,
                    "instructions": "",
                    "enable_hooks": true,
                    "language_aliases": ""
                },
                "vcs": "local",
                "repo": "local:",
                "git_export": "https://weblate.framasoft.org/git/framaforms/glossary/",
                "branch": "main",
                "push_branch": "",
                "filemask": "*.tbx",
                "screenshot_filemask": "",
                "template": "",
                "edit_template": true,
                "intermediate": "",
                "new_base": "",
                "file_format": "tbx",
                "license": "CC-BY-SA-4.0",
                "license_url": "https://spdx.org/licenses/CC-BY-SA-4.0.html",
                "agreement": "",
                "web_url": "https://weblate.framasoft.org/projects/framaforms/glossary/",
                "url": "https://weblate.framasoft.org/api/components/framaforms/glossary/?format=api",
                "repository_url": "https://weblate.framasoft.org/api/components/framaforms/glossary/repository/?format=api",
                "translations_url": "https://weblate.framasoft.org/api/components/framaforms/glossary/translations/?format=api",
                "statistics_url": "https://weblate.framasoft.org/api/components/framaforms/glossary/statistics/?format=api",
                "lock_url": "https://weblate.framasoft.org/api/components/framaforms/glossary/lock/?format=api",
                "links_url": "https://weblate.framasoft.org/api/components/framaforms/glossary/links/?format=api",
                "changes_list_url": "https://weblate.framasoft.org/api/components/framaforms/glossary/changes/?format=api",
                "task_url": null,
                "new_lang": "none",
                "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 }})\n\nCurrently translated at {{ stats.translated_percent }}% ({{ stats.translated }} of {{ stats.all }} strings)\n\nTranslation: {{ project_name }}/{{ component_name }}\nTranslate-URL: {{ url }}",
                "add_message": "Added translation using Weblate ({{ language_name }})\n\n",
                "delete_message": "Deleted translation using Weblate ({{ language_name }})\n\n",
                "merge_message": "Merge branch '{{ component_remote_branch }}' into Weblate.\n\n",
                "addon_message": "Update translation files\n\nUpdated by \"{{ addon_name }}\" hook in Weblate.\n\nTranslation: {{ project_name }}/{{ component_name }}\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": false,
                "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": "^[^.]+$",
                "variant_regex": "",
                "addons": [],
                "is_glossary": true,
                "glossary_color": "silver",
                "category": null,
                "linked_component": null
            },
            "language_code": "ru",
            "id": 3463,
            "filename": "ru.tbx",
            "revision": "a707eb0b067f141dc98e77ff33c3d42e12c3d712",
            "web_url": "https://weblate.framasoft.org/projects/framaforms/glossary/ru/",
            "share_url": "https://weblate.framasoft.org/engage/framaforms/-/ru/",
            "translate_url": "https://weblate.framasoft.org/translate/framaforms/glossary/ru/",
            "url": "https://weblate.framasoft.org/api/translations/framaforms/glossary/ru/?format=api",
            "is_template": false,
            "is_source": false,
            "total": 0,
            "total_words": 0,
            "translated": 0,
            "translated_words": 0,
            "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": "2024-04-07T21:35:22.882624Z",
            "last_author": null,
            "repository_url": "https://weblate.framasoft.org/api/translations/framaforms/glossary/ru/repository/?format=api",
            "file_url": "https://weblate.framasoft.org/api/translations/framaforms/glossary/ru/file/?format=api",
            "statistics_url": "https://weblate.framasoft.org/api/translations/framaforms/glossary/ru/statistics/?format=api",
            "changes_list_url": "https://weblate.framasoft.org/api/translations/framaforms/glossary/ru/changes/?format=api",
            "units_list_url": "https://weblate.framasoft.org/api/translations/framaforms/glossary/ru/units/?format=api"
        },
        {
            "language": {
                "id": 252,
                "code": "ru",
                "name": "Russian",
                "plural": {
                    "id": 252,
                    "source": 0,
                    "number": 3,
                    "formula": "n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2",
                    "type": 22
                },
                "aliases": [
                    "ru_r",
                    "ru_rr",
                    "rus"
                ],
                "direction": "ltr",
                "population": 195841151,
                "web_url": "https://weblate.framasoft.org/languages/ru/",
                "url": "https://weblate.framasoft.org/api/languages/ru/?format=api",
                "statistics_url": "https://weblate.framasoft.org/api/languages/ru/statistics/?format=api"
            },
            "component": {
                "name": "Main",
                "slug": "main",
                "id": 159,
                "source_language": {
                    "id": 76,
                    "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": 1636485517,
                    "web_url": "https://weblate.framasoft.org/languages/en/",
                    "url": "https://weblate.framasoft.org/api/languages/en/?format=api",
                    "statistics_url": "https://weblate.framasoft.org/api/languages/en/statistics/?format=api"
                },
                "project": {
                    "name": "Framaforms",
                    "slug": "framaforms",
                    "id": 46,
                    "web": "https://framaforms.org",
                    "web_url": "https://weblate.framasoft.org/projects/framaforms/",
                    "url": "https://weblate.framasoft.org/api/projects/framaforms/?format=api",
                    "components_list_url": "https://weblate.framasoft.org/api/projects/framaforms/components/?format=api",
                    "repository_url": "https://weblate.framasoft.org/api/projects/framaforms/repository/?format=api",
                    "statistics_url": "https://weblate.framasoft.org/api/projects/framaforms/statistics/?format=api",
                    "categories_url": "https://weblate.framasoft.org/api/projects/framaforms/categories/?format=api",
                    "changes_list_url": "https://weblate.framasoft.org/api/projects/framaforms/changes/?format=api",
                    "languages_url": "https://weblate.framasoft.org/api/projects/framaforms/languages/?format=api",
                    "labels_url": "https://weblate.framasoft.org/api/projects/framaforms/labels/?format=api",
                    "translation_review": false,
                    "source_review": false,
                    "set_language_team": true,
                    "instructions": "",
                    "enable_hooks": true,
                    "language_aliases": ""
                },
                "vcs": "gitlab",
                "repo": "git@framagit.org:framasoft/framaforms.git",
                "git_export": "https://weblate.framasoft.org/git/framaforms/main/",
                "branch": "master",
                "push_branch": "",
                "filemask": "src/translations/*/main.yml",
                "screenshot_filemask": "",
                "template": "src/translations/en/main.yml",
                "edit_template": true,
                "intermediate": "",
                "new_base": "",
                "file_format": "yaml",
                "license": "CC-BY-SA-4.0",
                "license_url": "https://spdx.org/licenses/CC-BY-SA-4.0.html",
                "agreement": "",
                "web_url": "https://weblate.framasoft.org/projects/framaforms/main/",
                "url": "https://weblate.framasoft.org/api/components/framaforms/main/?format=api",
                "repository_url": "https://weblate.framasoft.org/api/components/framaforms/main/repository/?format=api",
                "translations_url": "https://weblate.framasoft.org/api/components/framaforms/main/translations/?format=api",
                "statistics_url": "https://weblate.framasoft.org/api/components/framaforms/main/statistics/?format=api",
                "lock_url": "https://weblate.framasoft.org/api/components/framaforms/main/lock/?format=api",
                "links_url": "https://weblate.framasoft.org/api/components/framaforms/main/links/?format=api",
                "changes_list_url": "https://weblate.framasoft.org/api/components/framaforms/main/changes/?format=api",
                "task_url": null,
                "new_lang": "add",
                "language_code_style": "",
                "push": "git@framagit.org:framasoft/framaforms.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": true,
                "enable_suggestions": true,
                "suggestion_voting": false,
                "suggestion_autoaccept": 0,
                "push_on_commit": true,
                "commit_pending_age": 24,
                "auto_lock_error": true,
                "language_regex": "^[^.]+$",
                "variant_regex": "",
                "addons": [],
                "is_glossary": false,
                "glossary_color": "silver",
                "category": null,
                "linked_component": null
            },
            "language_code": "ru",
            "id": 3464,
            "filename": "src/translations/ru/main.yml",
            "revision": "0967ef424bce6791893e9a57bb952f80fd536e93,a3be17caf21a05d934d779016a9458c7957d1e78",
            "web_url": "https://weblate.framasoft.org/projects/framaforms/main/ru/",
            "share_url": "https://weblate.framasoft.org/engage/framaforms/-/ru/",
            "translate_url": "https://weblate.framasoft.org/translate/framaforms/main/ru/",
            "url": "https://weblate.framasoft.org/api/translations/framaforms/main/ru/?format=api",
            "is_template": false,
            "is_source": false,
            "total": 16,
            "total_words": 178,
            "translated": 0,
            "translated_words": 0,
            "translated_percent": 0.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": "2024-04-07T21:36:14.735187Z",
            "last_author": "Petr",
            "repository_url": "https://weblate.framasoft.org/api/translations/framaforms/main/ru/repository/?format=api",
            "file_url": "https://weblate.framasoft.org/api/translations/framaforms/main/ru/file/?format=api",
            "statistics_url": "https://weblate.framasoft.org/api/translations/framaforms/main/ru/statistics/?format=api",
            "changes_list_url": "https://weblate.framasoft.org/api/translations/framaforms/main/ru/changes/?format=api",
            "units_list_url": "https://weblate.framasoft.org/api/translations/framaforms/main/ru/units/?format=api"
        },
        {
            "language": {
                "id": 341,
                "code": "zh_Hant",
                "name": "Chinese (Traditional)",
                "plural": {
                    "id": 341,
                    "source": 0,
                    "number": 1,
                    "formula": "0",
                    "type": 0
                },
                "aliases": [
                    "tchinese",
                    "zh_cht",
                    "zhtw",
                    "zh_tw",
                    "zh_hant_tw",
                    "zh_hant@zh",
                    "zh_cmn_hant",
                    "cht",
                    "zho"
                ],
                "direction": "ltr",
                "population": 38612556,
                "web_url": "https://weblate.framasoft.org/languages/zh_Hant/",
                "url": "https://weblate.framasoft.org/api/languages/zh_Hant/?format=api",
                "statistics_url": "https://weblate.framasoft.org/api/languages/zh_Hant/statistics/?format=api"
            },
            "component": {
                "name": "Charte",
                "slug": "charte",
                "id": 53,
                "source_language": {
                    "id": 76,
                    "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": 1636485517,
                    "web_url": "https://weblate.framasoft.org/languages/en/",
                    "url": "https://weblate.framasoft.org/api/languages/en/?format=api",
                    "statistics_url": "https://weblate.framasoft.org/api/languages/en/statistics/?format=api"
                },
                "project": {
                    "name": "Framasoft",
                    "slug": "framasoft",
                    "id": 12,
                    "web": "https://framasoft.org",
                    "web_url": "https://weblate.framasoft.org/projects/framasoft/",
                    "url": "https://weblate.framasoft.org/api/projects/framasoft/?format=api",
                    "components_list_url": "https://weblate.framasoft.org/api/projects/framasoft/components/?format=api",
                    "repository_url": "https://weblate.framasoft.org/api/projects/framasoft/repository/?format=api",
                    "statistics_url": "https://weblate.framasoft.org/api/projects/framasoft/statistics/?format=api",
                    "categories_url": "https://weblate.framasoft.org/api/projects/framasoft/categories/?format=api",
                    "changes_list_url": "https://weblate.framasoft.org/api/projects/framasoft/changes/?format=api",
                    "languages_url": "https://weblate.framasoft.org/api/projects/framasoft/languages/?format=api",
                    "labels_url": "https://weblate.framasoft.org/api/projects/framasoft/labels/?format=api",
                    "translation_review": false,
                    "source_review": false,
                    "set_language_team": true,
                    "instructions": "",
                    "enable_hooks": true,
                    "language_aliases": ""
                },
                "vcs": "git",
                "repo": "https://framagit.org/framasoft/accueil.git",
                "git_export": "",
                "branch": "master",
                "push_branch": "",
                "filemask": "src/translations/*/charte.yml",
                "screenshot_filemask": "",
                "template": "src/translations/en/charte.yml",
                "edit_template": true,
                "intermediate": "",
                "new_base": "",
                "file_format": "yaml",
                "license": "CC-BY-SA-4.0",
                "license_url": "https://spdx.org/licenses/CC-BY-SA-4.0.html",
                "agreement": "",
                "web_url": "https://weblate.framasoft.org/projects/framasoft/charte/",
                "url": "https://weblate.framasoft.org/api/components/framasoft/charte/?format=api",
                "repository_url": "https://weblate.framasoft.org/api/components/framasoft/charte/repository/?format=api",
                "translations_url": "https://weblate.framasoft.org/api/components/framasoft/charte/translations/?format=api",
                "statistics_url": "https://weblate.framasoft.org/api/components/framasoft/charte/statistics/?format=api",
                "lock_url": "https://weblate.framasoft.org/api/components/framasoft/charte/lock/?format=api",
                "links_url": "https://weblate.framasoft.org/api/components/framasoft/charte/links/?format=api",
                "changes_list_url": "https://weblate.framasoft.org/api/components/framasoft/charte/changes/?format=api",
                "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.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": "^[^.]+$",
                "variant_regex": "",
                "addons": [],
                "is_glossary": false,
                "glossary_color": "silver",
                "category": null,
                "linked_component": "https://weblate.framasoft.org/api/components/framasoft/main/?format=api"
            },
            "language_code": "zh_Hant",
            "id": 3465,
            "filename": "src/translations/zh_Hant/charte.yml",
            "revision": "0967ef424bce6791893e9a57bb952f80fd536e93,dfdd7e4ee1aae9ab87b8ef0231358c6b7b2267a3",
            "web_url": "https://weblate.framasoft.org/projects/framasoft/charte/zh_Hant/",
            "share_url": "https://weblate.framasoft.org/engage/framasoft/-/zh_Hant/",
            "translate_url": "https://weblate.framasoft.org/translate/framasoft/charte/zh_Hant/",
            "url": "https://weblate.framasoft.org/api/translations/framasoft/charte/zh_Hant/?format=api",
            "is_template": false,
            "is_source": false,
            "total": 3,
            "total_words": 706,
            "translated": 0,
            "translated_words": 0,
            "translated_percent": 0.0,
            "fuzzy": 0,
            "fuzzy_words": 0,
            "fuzzy_percent": 0.0,
            "failing_checks": 2,
            "failing_checks_words": 24,
            "failing_checks_percent": 66.6,
            "have_suggestion": 0,
            "have_comment": 0,
            "last_change": "2024-04-17T03:37:22.461792Z",
            "last_author": "IanLiu",
            "repository_url": "https://weblate.framasoft.org/api/translations/framasoft/charte/zh_Hant/repository/?format=api",
            "file_url": "https://weblate.framasoft.org/api/translations/framasoft/charte/zh_Hant/file/?format=api",
            "statistics_url": "https://weblate.framasoft.org/api/translations/framasoft/charte/zh_Hant/statistics/?format=api",
            "changes_list_url": "https://weblate.framasoft.org/api/translations/framasoft/charte/zh_Hant/changes/?format=api",
            "units_list_url": "https://weblate.framasoft.org/api/translations/framasoft/charte/zh_Hant/units/?format=api"
        },
        {
            "language": {
                "id": 341,
                "code": "zh_Hant",
                "name": "Chinese (Traditional)",
                "plural": {
                    "id": 341,
                    "source": 0,
                    "number": 1,
                    "formula": "0",
                    "type": 0
                },
                "aliases": [
                    "tchinese",
                    "zh_cht",
                    "zhtw",
                    "zh_tw",
                    "zh_hant_tw",
                    "zh_hant@zh",
                    "zh_cmn_hant",
                    "cht",
                    "zho"
                ],
                "direction": "ltr",
                "population": 38612556,
                "web_url": "https://weblate.framasoft.org/languages/zh_Hant/",
                "url": "https://weblate.framasoft.org/api/languages/zh_Hant/?format=api",
                "statistics_url": "https://weblate.framasoft.org/api/languages/zh_Hant/statistics/?format=api"
            },
            "component": {
                "name": "Archipelago",
                "slug": "archipelago",
                "id": 185,
                "source_language": {
                    "id": 76,
                    "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": 1636485517,
                    "web_url": "https://weblate.framasoft.org/languages/en/",
                    "url": "https://weblate.framasoft.org/api/languages/en/?format=api",
                    "statistics_url": "https://weblate.framasoft.org/api/languages/en/statistics/?format=api"
                },
                "project": {
                    "name": "Framasoft",
                    "slug": "framasoft",
                    "id": 12,
                    "web": "https://framasoft.org",
                    "web_url": "https://weblate.framasoft.org/projects/framasoft/",
                    "url": "https://weblate.framasoft.org/api/projects/framasoft/?format=api",
                    "components_list_url": "https://weblate.framasoft.org/api/projects/framasoft/components/?format=api",
                    "repository_url": "https://weblate.framasoft.org/api/projects/framasoft/repository/?format=api",
                    "statistics_url": "https://weblate.framasoft.org/api/projects/framasoft/statistics/?format=api",
                    "categories_url": "https://weblate.framasoft.org/api/projects/framasoft/categories/?format=api",
                    "changes_list_url": "https://weblate.framasoft.org/api/projects/framasoft/changes/?format=api",
                    "languages_url": "https://weblate.framasoft.org/api/projects/framasoft/languages/?format=api",
                    "labels_url": "https://weblate.framasoft.org/api/projects/framasoft/labels/?format=api",
                    "translation_review": false,
                    "source_review": false,
                    "set_language_team": true,
                    "instructions": "",
                    "enable_hooks": true,
                    "language_aliases": ""
                },
                "vcs": "gitlab",
                "repo": "https://framagit.org/framasoft/accueil.git",
                "git_export": "",
                "branch": "master",
                "push_branch": "",
                "filemask": "src/translations/*/archipelago.yml",
                "screenshot_filemask": "",
                "template": "src/translations/en/archipelago.yml",
                "edit_template": true,
                "intermediate": "",
                "new_base": "",
                "file_format": "yaml",
                "license": "CC-BY-4.0",
                "license_url": "https://spdx.org/licenses/CC-BY-4.0.html",
                "agreement": "",
                "web_url": "https://weblate.framasoft.org/projects/framasoft/archipelago/",
                "url": "https://weblate.framasoft.org/api/components/framasoft/archipelago/?format=api",
                "repository_url": "https://weblate.framasoft.org/api/components/framasoft/archipelago/repository/?format=api",
                "translations_url": "https://weblate.framasoft.org/api/components/framasoft/archipelago/translations/?format=api",
                "statistics_url": "https://weblate.framasoft.org/api/components/framasoft/archipelago/statistics/?format=api",
                "lock_url": "https://weblate.framasoft.org/api/components/framasoft/archipelago/lock/?format=api",
                "links_url": "https://weblate.framasoft.org/api/components/framasoft/archipelago/links/?format=api",
                "changes_list_url": "https://weblate.framasoft.org/api/components/framasoft/archipelago/changes/?format=api",
                "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 }})\n\nCurrently translated at {{ stats.translated_percent }}% ({{ stats.translated }} of {{ stats.all }} strings)\n\nTranslation: {{ project_name }}/{{ component_name }}\nTranslate-URL: {{ url }}",
                "add_message": "Added translation using Weblate ({{ language_name }})\n\n",
                "delete_message": "Deleted translation using Weblate ({{ language_name }})\n\n",
                "merge_message": "Merge branch '{{ component_remote_branch }}' into Weblate.\n\n",
                "addon_message": "Update translation files\n\nUpdated by \"{{ addon_name }}\" hook in Weblate.\n\nTranslation: {{ project_name }}/{{ component_name }}\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": true,
                "enable_suggestions": true,
                "suggestion_voting": false,
                "suggestion_autoaccept": 0,
                "push_on_commit": true,
                "commit_pending_age": 24,
                "auto_lock_error": true,
                "language_regex": "^[^.]+$",
                "variant_regex": "",
                "addons": [],
                "is_glossary": false,
                "glossary_color": "silver",
                "category": null,
                "linked_component": "https://weblate.framasoft.org/api/components/framasoft/main/?format=api"
            },
            "language_code": "zh_Hant",
            "id": 3466,
            "filename": "src/translations/zh_Hant/archipelago.yml",
            "revision": "0967ef424bce6791893e9a57bb952f80fd536e93,ead1038686c29eeeebe4dc71c445d63f6673b411",
            "web_url": "https://weblate.framasoft.org/projects/framasoft/archipelago/zh_Hant/",
            "share_url": "https://weblate.framasoft.org/engage/framasoft/-/zh_Hant/",
            "translate_url": "https://weblate.framasoft.org/translate/framasoft/archipelago/zh_Hant/",
            "url": "https://weblate.framasoft.org/api/translations/framasoft/archipelago/zh_Hant/?format=api",
            "is_template": false,
            "is_source": false,
            "total": 13,
            "total_words": 407,
            "translated": 0,
            "translated_words": 0,
            "translated_percent": 0.0,
            "fuzzy": 0,
            "fuzzy_words": 0,
            "fuzzy_percent": 0.0,
            "failing_checks": 3,
            "failing_checks_words": 78,
            "failing_checks_percent": 23.0,
            "have_suggestion": 0,
            "have_comment": 0,
            "last_change": "2024-04-17T03:38:10.664252Z",
            "last_author": "IanLiu",
            "repository_url": "https://weblate.framasoft.org/api/translations/framasoft/archipelago/zh_Hant/repository/?format=api",
            "file_url": "https://weblate.framasoft.org/api/translations/framasoft/archipelago/zh_Hant/file/?format=api",
            "statistics_url": "https://weblate.framasoft.org/api/translations/framasoft/archipelago/zh_Hant/statistics/?format=api",
            "changes_list_url": "https://weblate.framasoft.org/api/translations/framasoft/archipelago/zh_Hant/changes/?format=api",
            "units_list_url": "https://weblate.framasoft.org/api/translations/framasoft/archipelago/zh_Hant/units/?format=api"
        },
        {
            "language": {
                "id": 147,
                "code": "ja",
                "name": "Japanese",
                "plural": {
                    "id": 147,
                    "source": 0,
                    "number": 1,
                    "formula": "0",
                    "type": 0
                },
                "aliases": [
                    "jp",
                    "jp_jpn",
                    "ja_ja",
                    "jpn_jp",
                    "jpn"
                ],
                "direction": "ltr",
                "population": 119729025,
                "web_url": "https://weblate.framasoft.org/languages/ja/",
                "url": "https://weblate.framasoft.org/api/languages/ja/?format=api",
                "statistics_url": "https://weblate.framasoft.org/api/languages/ja/statistics/?format=api"
            },
            "component": {
                "name": "Framadate",
                "slug": "framadate",
                "id": 7,
                "source_language": {
                    "id": 76,
                    "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": 1636485517,
                    "web_url": "https://weblate.framasoft.org/languages/en/",
                    "url": "https://weblate.framasoft.org/api/languages/en/?format=api",
                    "statistics_url": "https://weblate.framasoft.org/api/languages/en/statistics/?format=api"
                },
                "project": {
                    "name": "Framadate",
                    "slug": "framadate",
                    "id": 4,
                    "web": "https://framagit.org/framasoft/framadate/framadate/",
                    "web_url": "https://weblate.framasoft.org/projects/framadate/",
                    "url": "https://weblate.framasoft.org/api/projects/framadate/?format=api",
                    "components_list_url": "https://weblate.framasoft.org/api/projects/framadate/components/?format=api",
                    "repository_url": "https://weblate.framasoft.org/api/projects/framadate/repository/?format=api",
                    "statistics_url": "https://weblate.framasoft.org/api/projects/framadate/statistics/?format=api",
                    "categories_url": "https://weblate.framasoft.org/api/projects/framadate/categories/?format=api",
                    "changes_list_url": "https://weblate.framasoft.org/api/projects/framadate/changes/?format=api",
                    "languages_url": "https://weblate.framasoft.org/api/projects/framadate/languages/?format=api",
                    "labels_url": "https://weblate.framasoft.org/api/projects/framadate/labels/?format=api",
                    "translation_review": false,
                    "source_review": false,
                    "set_language_team": true,
                    "instructions": "",
                    "enable_hooks": true,
                    "language_aliases": ""
                },
                "vcs": "gitlab",
                "repo": "https://framagit.org/framasoft/framadate/framadate.git",
                "git_export": "https://weblate.framasoft.org/git/framadate/framadate/",
                "branch": "develop",
                "push_branch": "",
                "filemask": "po/*.po",
                "screenshot_filemask": "",
                "template": "",
                "edit_template": true,
                "intermediate": "",
                "new_base": "po/framadate.pot",
                "file_format": "po",
                "license": "CECILL-B",
                "license_url": "https://spdx.org/licenses/CECILL-B.html",
                "agreement": "",
                "web_url": "https://weblate.framasoft.org/projects/framadate/framadate/",
                "url": "https://weblate.framasoft.org/api/components/framadate/framadate/?format=api",
                "repository_url": "https://weblate.framasoft.org/api/components/framadate/framadate/repository/?format=api",
                "translations_url": "https://weblate.framasoft.org/api/components/framadate/framadate/translations/?format=api",
                "statistics_url": "https://weblate.framasoft.org/api/components/framadate/framadate/statistics/?format=api",
                "lock_url": "https://weblate.framasoft.org/api/components/framadate/framadate/lock/?format=api",
                "links_url": "https://weblate.framasoft.org/api/components/framadate/framadate/links/?format=api",
                "changes_list_url": "https://weblate.framasoft.org/api/components/framadate/framadate/changes/?format=api",
                "task_url": null,
                "new_lang": "add",
                "language_code_style": "",
                "push": "git@framagit.org:framasoft/framadate/framadate.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": "^[^.]+$",
                "variant_regex": "",
                "addons": [],
                "is_glossary": false,
                "glossary_color": "silver",
                "category": null,
                "linked_component": null
            },
            "language_code": "ja",
            "id": 3467,
            "filename": "po/ja.po",
            "revision": "6429fac4080f24f7fcf694316034489be68b92fd",
            "web_url": "https://weblate.framasoft.org/projects/framadate/framadate/ja/",
            "share_url": "https://weblate.framasoft.org/engage/framadate/-/ja/",
            "translate_url": "https://weblate.framasoft.org/translate/framadate/framadate/ja/",
            "url": "https://weblate.framasoft.org/api/translations/framadate/framadate/ja/?format=api",
            "is_template": false,
            "is_source": false,
            "total": 425,
            "total_words": 2236,
            "translated": 59,
            "translated_words": 240,
            "translated_percent": 13.8,
            "fuzzy": 0,
            "fuzzy_words": 0,
            "fuzzy_percent": 0.0,
            "failing_checks": 8,
            "failing_checks_words": 31,
            "failing_checks_percent": 1.8,
            "have_suggestion": 0,
            "have_comment": 0,
            "last_change": "2024-04-18T13:52:21.223133Z",
            "last_author": null,
            "repository_url": "https://weblate.framasoft.org/api/translations/framadate/framadate/ja/repository/?format=api",
            "file_url": "https://weblate.framasoft.org/api/translations/framadate/framadate/ja/file/?format=api",
            "statistics_url": "https://weblate.framasoft.org/api/translations/framadate/framadate/ja/statistics/?format=api",
            "changes_list_url": "https://weblate.framasoft.org/api/translations/framadate/framadate/ja/changes/?format=api",
            "units_list_url": "https://weblate.framasoft.org/api/translations/framadate/framadate/ja/units/?format=api"
        },
        {
            "language": {
                "id": 147,
                "code": "ja",
                "name": "Japanese",
                "plural": {
                    "id": 147,
                    "source": 0,
                    "number": 1,
                    "formula": "0",
                    "type": 0
                },
                "aliases": [
                    "jp",
                    "jp_jpn",
                    "ja_ja",
                    "jpn_jp",
                    "jpn"
                ],
                "direction": "ltr",
                "population": 119729025,
                "web_url": "https://weblate.framasoft.org/languages/ja/",
                "url": "https://weblate.framasoft.org/api/languages/ja/?format=api",
                "statistics_url": "https://weblate.framasoft.org/api/languages/ja/statistics/?format=api"
            },
            "component": {
                "name": "Framadate Glossary",
                "slug": "glossary",
                "id": 104,
                "source_language": {
                    "id": 76,
                    "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": 1636485517,
                    "web_url": "https://weblate.framasoft.org/languages/en/",
                    "url": "https://weblate.framasoft.org/api/languages/en/?format=api",
                    "statistics_url": "https://weblate.framasoft.org/api/languages/en/statistics/?format=api"
                },
                "project": {
                    "name": "Framadate",
                    "slug": "framadate",
                    "id": 4,
                    "web": "https://framagit.org/framasoft/framadate/framadate/",
                    "web_url": "https://weblate.framasoft.org/projects/framadate/",
                    "url": "https://weblate.framasoft.org/api/projects/framadate/?format=api",
                    "components_list_url": "https://weblate.framasoft.org/api/projects/framadate/components/?format=api",
                    "repository_url": "https://weblate.framasoft.org/api/projects/framadate/repository/?format=api",
                    "statistics_url": "https://weblate.framasoft.org/api/projects/framadate/statistics/?format=api",
                    "categories_url": "https://weblate.framasoft.org/api/projects/framadate/categories/?format=api",
                    "changes_list_url": "https://weblate.framasoft.org/api/projects/framadate/changes/?format=api",
                    "languages_url": "https://weblate.framasoft.org/api/projects/framadate/languages/?format=api",
                    "labels_url": "https://weblate.framasoft.org/api/projects/framadate/labels/?format=api",
                    "translation_review": false,
                    "source_review": false,
                    "set_language_team": true,
                    "instructions": "",
                    "enable_hooks": true,
                    "language_aliases": ""
                },
                "vcs": "local",
                "repo": "local:",
                "git_export": "https://weblate.framasoft.org/git/framadate/glossary/",
                "branch": "main",
                "push_branch": "",
                "filemask": "*.tbx",
                "screenshot_filemask": "",
                "template": "",
                "edit_template": true,
                "intermediate": "",
                "new_base": "",
                "file_format": "tbx",
                "license": "CECILL-B",
                "license_url": "https://spdx.org/licenses/CECILL-B.html",
                "agreement": "",
                "web_url": "https://weblate.framasoft.org/projects/framadate/glossary/",
                "url": "https://weblate.framasoft.org/api/components/framadate/glossary/?format=api",
                "repository_url": "https://weblate.framasoft.org/api/components/framadate/glossary/repository/?format=api",
                "translations_url": "https://weblate.framasoft.org/api/components/framadate/glossary/translations/?format=api",
                "statistics_url": "https://weblate.framasoft.org/api/components/framadate/glossary/statistics/?format=api",
                "lock_url": "https://weblate.framasoft.org/api/components/framadate/glossary/lock/?format=api",
                "links_url": "https://weblate.framasoft.org/api/components/framadate/glossary/links/?format=api",
                "changes_list_url": "https://weblate.framasoft.org/api/components/framadate/glossary/changes/?format=api",
                "task_url": null,
                "new_lang": "none",
                "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 }})\n\nCurrently translated at {{ stats.translated_percent }}% ({{ stats.translated }} of {{ stats.all }} strings)\n\nTranslation: {{ project_name }}/{{ component_name }}\nTranslate-URL: {{ url }}",
                "add_message": "Added translation using Weblate ({{ language_name }})\n\n",
                "delete_message": "Deleted translation using Weblate ({{ language_name }})\n\n",
                "merge_message": "Merge branch '{{ component_remote_branch }}' into Weblate.\n\n",
                "addon_message": "Update translation files\n\nUpdated by \"{{ addon_name }}\" hook in Weblate.\n\nTranslation: {{ project_name }}/{{ component_name }}\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": false,
                "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": "^[^.]+$",
                "variant_regex": "",
                "addons": [],
                "is_glossary": true,
                "glossary_color": "silver",
                "category": null,
                "linked_component": null
            },
            "language_code": "ja",
            "id": 3468,
            "filename": "ja.tbx",
            "revision": "c3d8de498de7b7c044f9d26358b7c14fe8f2cf60",
            "web_url": "https://weblate.framasoft.org/projects/framadate/glossary/ja/",
            "share_url": "https://weblate.framasoft.org/engage/framadate/-/ja/",
            "translate_url": "https://weblate.framasoft.org/translate/framadate/glossary/ja/",
            "url": "https://weblate.framasoft.org/api/translations/framadate/glossary/ja/?format=api",
            "is_template": false,
            "is_source": false,
            "total": 27,
            "total_words": 27,
            "translated": 27,
            "translated_words": 27,
            "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": "2024-04-18T13:52:20.981163Z",
            "last_author": null,
            "repository_url": "https://weblate.framasoft.org/api/translations/framadate/glossary/ja/repository/?format=api",
            "file_url": "https://weblate.framasoft.org/api/translations/framadate/glossary/ja/file/?format=api",
            "statistics_url": "https://weblate.framasoft.org/api/translations/framadate/glossary/ja/statistics/?format=api",
            "changes_list_url": "https://weblate.framasoft.org/api/translations/framadate/glossary/ja/changes/?format=api",
            "units_list_url": "https://weblate.framasoft.org/api/translations/framadate/glossary/ja/units/?format=api"
        },
        {
            "language": {
                "id": 147,
                "code": "ja",
                "name": "Japanese",
                "plural": {
                    "id": 147,
                    "source": 0,
                    "number": 1,
                    "formula": "0",
                    "type": 0
                },
                "aliases": [
                    "jp",
                    "jp_jpn",
                    "ja_ja",
                    "jpn_jp",
                    "jpn"
                ],
                "direction": "ltr",
                "population": 119729025,
                "web_url": "https://weblate.framasoft.org/languages/ja/",
                "url": "https://weblate.framasoft.org/api/languages/ja/?format=api",
                "statistics_url": "https://weblate.framasoft.org/api/languages/ja/statistics/?format=api"
            },
            "component": {
                "name": "Home",
                "slug": "home",
                "id": 177,
                "source_language": {
                    "id": 76,
                    "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": 1636485517,
                    "web_url": "https://weblate.framasoft.org/languages/en/",
                    "url": "https://weblate.framasoft.org/api/languages/en/?format=api",
                    "statistics_url": "https://weblate.framasoft.org/api/languages/en/statistics/?format=api"
                },
                "project": {
                    "name": "Framadate",
                    "slug": "framadate",
                    "id": 4,
                    "web": "https://framagit.org/framasoft/framadate/framadate/",
                    "web_url": "https://weblate.framasoft.org/projects/framadate/",
                    "url": "https://weblate.framasoft.org/api/projects/framadate/?format=api",
                    "components_list_url": "https://weblate.framasoft.org/api/projects/framadate/components/?format=api",
                    "repository_url": "https://weblate.framasoft.org/api/projects/framadate/repository/?format=api",
                    "statistics_url": "https://weblate.framasoft.org/api/projects/framadate/statistics/?format=api",
                    "categories_url": "https://weblate.framasoft.org/api/projects/framadate/categories/?format=api",
                    "changes_list_url": "https://weblate.framasoft.org/api/projects/framadate/changes/?format=api",
                    "languages_url": "https://weblate.framasoft.org/api/projects/framadate/languages/?format=api",
                    "labels_url": "https://weblate.framasoft.org/api/projects/framadate/labels/?format=api",
                    "translation_review": false,
                    "source_review": false,
                    "set_language_team": true,
                    "instructions": "",
                    "enable_hooks": true,
                    "language_aliases": ""
                },
                "vcs": "gitlab",
                "repo": "git@framagit.org:framasoft/framadate/abc.git",
                "git_export": "https://weblate.framasoft.org/git/framadate/home/",
                "branch": "master",
                "push_branch": "",
                "filemask": "src/translations/*/main.yml",
                "screenshot_filemask": "",
                "template": "src/translations/en/main.yml",
                "edit_template": true,
                "intermediate": "",
                "new_base": "",
                "file_format": "yaml",
                "license": "CC-BY-SA-4.0",
                "license_url": "https://spdx.org/licenses/CC-BY-SA-4.0.html",
                "agreement": "",
                "web_url": "https://weblate.framasoft.org/projects/framadate/home/",
                "url": "https://weblate.framasoft.org/api/components/framadate/home/?format=api",
                "repository_url": "https://weblate.framasoft.org/api/components/framadate/home/repository/?format=api",
                "translations_url": "https://weblate.framasoft.org/api/components/framadate/home/translations/?format=api",
                "statistics_url": "https://weblate.framasoft.org/api/components/framadate/home/statistics/?format=api",
                "lock_url": "https://weblate.framasoft.org/api/components/framadate/home/lock/?format=api",
                "links_url": "https://weblate.framasoft.org/api/components/framadate/home/links/?format=api",
                "changes_list_url": "https://weblate.framasoft.org/api/components/framadate/home/changes/?format=api",
                "task_url": null,
                "new_lang": "add",
                "language_code_style": "",
                "push": "git@framagit.org:framasoft/framadate/abc.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 }}\r\n\r\nTranslations update from [{{ site_title }}]({{ site_url }}) for [{{ project_name }}/{{ component_name }}]({{url}}).\r\n\r\n{% if component_linked_childs %}\r\nIt also includes following components:\r\n{% for linked in component_linked_childs %}\r\n* [{{ linked.project_name }}/{{ linked.name }}]({{ linked.url }})\r\n{% endfor %}\r\n{% endif %}\r\n\r\nCurrent translation status:\r\n\r\n![Weblate translation status]({{widget_url}})",
                "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": "^[^.]+$",
                "variant_regex": "",
                "addons": [],
                "is_glossary": false,
                "glossary_color": "silver",
                "category": null,
                "linked_component": null
            },
            "language_code": "ja",
            "id": 3469,
            "filename": "src/translations/ja/main.yml",
            "revision": "0967ef424bce6791893e9a57bb952f80fd536e93,36ef9b5eb345e3952bf4f1c1f332ff707e79daf1",
            "web_url": "https://weblate.framasoft.org/projects/framadate/home/ja/",
            "share_url": "https://weblate.framasoft.org/engage/framadate/-/ja/",
            "translate_url": "https://weblate.framasoft.org/translate/framadate/home/ja/",
            "url": "https://weblate.framasoft.org/api/translations/framadate/home/ja/?format=api",
            "is_template": false,
            "is_source": false,
            "total": 21,
            "total_words": 185,
            "translated": 0,
            "translated_words": 0,
            "translated_percent": 0.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": "2024-04-18T13:14:55.810024Z",
            "last_author": "moto",
            "repository_url": "https://weblate.framasoft.org/api/translations/framadate/home/ja/repository/?format=api",
            "file_url": "https://weblate.framasoft.org/api/translations/framadate/home/ja/file/?format=api",
            "statistics_url": "https://weblate.framasoft.org/api/translations/framadate/home/ja/statistics/?format=api",
            "changes_list_url": "https://weblate.framasoft.org/api/translations/framadate/home/ja/changes/?format=api",
            "units_list_url": "https://weblate.framasoft.org/api/translations/framadate/home/ja/units/?format=api"
        },
        {
            "language": {
                "id": 76,
                "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": 1636485517,
                "web_url": "https://weblate.framasoft.org/languages/en/",
                "url": "https://weblate.framasoft.org/api/languages/en/?format=api",
                "statistics_url": "https://weblate.framasoft.org/api/languages/en/statistics/?format=api"
            },
            "component": {
                "name": "Messages",
                "slug": "messages",
                "id": 202,
                "source_language": {
                    "id": 76,
                    "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": 1636485517,
                    "web_url": "https://weblate.framasoft.org/languages/en/",
                    "url": "https://weblate.framasoft.org/api/languages/en/?format=api",
                    "statistics_url": "https://weblate.framasoft.org/api/languages/en/statistics/?format=api"
                },
                "project": {
                    "name": "Anicetus",
                    "slug": "anicetus",
                    "id": 53,
                    "web": "https://framagit.org/framasoft/framatalk/anicetus",
                    "web_url": "https://weblate.framasoft.org/projects/anicetus/",
                    "url": "https://weblate.framasoft.org/api/projects/anicetus/?format=api",
                    "components_list_url": "https://weblate.framasoft.org/api/projects/anicetus/components/?format=api",
                    "repository_url": "https://weblate.framasoft.org/api/projects/anicetus/repository/?format=api",
                    "statistics_url": "https://weblate.framasoft.org/api/projects/anicetus/statistics/?format=api",
                    "categories_url": "https://weblate.framasoft.org/api/projects/anicetus/categories/?format=api",
                    "changes_list_url": "https://weblate.framasoft.org/api/projects/anicetus/changes/?format=api",
                    "languages_url": "https://weblate.framasoft.org/api/projects/anicetus/languages/?format=api",
                    "labels_url": "https://weblate.framasoft.org/api/projects/anicetus/labels/?format=api",
                    "translation_review": false,
                    "source_review": false,
                    "set_language_team": true,
                    "instructions": "",
                    "enable_hooks": true,
                    "language_aliases": ""
                },
                "vcs": "gitlab",
                "repo": "git@framagit.org:framasoft/framatalk/anicetus.git",
                "git_export": "https://weblate.framasoft.org/git/anicetus/messages/",
                "branch": "main",
                "push_branch": "",
                "filemask": "translations/messages+intl-icu.*.yaml",
                "screenshot_filemask": "",
                "template": "translations/messages+intl-icu.en.yaml",
                "edit_template": true,
                "intermediate": "",
                "new_base": "",
                "file_format": "yaml",
                "license": "AGPL-3.0-or-later",
                "license_url": "https://spdx.org/licenses/AGPL-3.0-or-later.html",
                "agreement": "",
                "web_url": "https://weblate.framasoft.org/projects/anicetus/messages/",
                "url": "https://weblate.framasoft.org/api/components/anicetus/messages/?format=api",
                "repository_url": "https://weblate.framasoft.org/api/components/anicetus/messages/repository/?format=api",
                "translations_url": "https://weblate.framasoft.org/api/components/anicetus/messages/translations/?format=api",
                "statistics_url": "https://weblate.framasoft.org/api/components/anicetus/messages/statistics/?format=api",
                "lock_url": "https://weblate.framasoft.org/api/components/anicetus/messages/lock/?format=api",
                "links_url": "https://weblate.framasoft.org/api/components/anicetus/messages/links/?format=api",
                "changes_list_url": "https://weblate.framasoft.org/api/components/anicetus/messages/changes/?format=api",
                "task_url": null,
                "new_lang": "add",
                "language_code_style": "",
                "push": "git@framagit.org:framasoft/framatalk/anicetus.git",
                "check_flags": "",
                "priority": 100,
                "enforced_checks": [],
                "restricted": false,
                "repoweb": "",
                "report_source_bugs": "",
                "merge_style": "rebase",
                "commit_message": "Translated using Weblate ({{ language_name }})\n\nCurrently translated at {{ stats.translated_percent }}% ({{ stats.translated }} of {{ stats.all }} strings)\n\nTranslation: {{ project_name }}/{{ component_name }}\nTranslate-URL: {{ url }}",
                "add_message": "Added translation using Weblate ({{ language_name }})\n\n",
                "delete_message": "Deleted translation using Weblate ({{ language_name }})\n\n",
                "merge_message": "Merge branch '{{ component_remote_branch }}' into Weblate.\n\n",
                "addon_message": "Update translation files\n\nUpdated by \"{{ addon_name }}\" hook in Weblate.\n\nTranslation: {{ project_name }}/{{ component_name }}\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": true,
                "enable_suggestions": true,
                "suggestion_voting": false,
                "suggestion_autoaccept": 0,
                "push_on_commit": true,
                "commit_pending_age": 24,
                "auto_lock_error": true,
                "language_regex": "^[^.]+$",
                "variant_regex": "",
                "addons": [
                    "https://weblate.framasoft.org/api/addons/37/?format=api"
                ],
                "is_glossary": false,
                "glossary_color": "silver",
                "category": null,
                "linked_component": null
            },
            "language_code": "en",
            "id": 3470,
            "filename": "translations/messages+intl-icu.en.yaml",
            "revision": "7aee5428f469dc9b5d55f1b6b3cbd321bc4b8d56,7aee5428f469dc9b5d55f1b6b3cbd321bc4b8d56",
            "web_url": "https://weblate.framasoft.org/projects/anicetus/messages/en/",
            "share_url": "https://weblate.framasoft.org/engage/anicetus/-/en/",
            "translate_url": "https://weblate.framasoft.org/translate/anicetus/messages/en/",
            "url": "https://weblate.framasoft.org/api/translations/anicetus/messages/en/?format=api",
            "is_template": true,
            "is_source": true,
            "total": 116,
            "total_words": 553,
            "translated": 116,
            "translated_words": 553,
            "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": "2024-04-23T07:55:58.456319Z",
            "last_author": null,
            "repository_url": "https://weblate.framasoft.org/api/translations/anicetus/messages/en/repository/?format=api",
            "file_url": "https://weblate.framasoft.org/api/translations/anicetus/messages/en/file/?format=api",
            "statistics_url": "https://weblate.framasoft.org/api/translations/anicetus/messages/en/statistics/?format=api",
            "changes_list_url": "https://weblate.framasoft.org/api/translations/anicetus/messages/en/changes/?format=api",
            "units_list_url": "https://weblate.framasoft.org/api/translations/anicetus/messages/en/units/?format=api"
        },
        {
            "language": {
                "id": 106,
                "code": "fr",
                "name": "French",
                "plural": {
                    "id": 106,
                    "source": 0,
                    "number": 2,
                    "formula": "n > 1",
                    "type": 1
                },
                "aliases": [
                    "fra_fr",
                    "fra",
                    "fre"
                ],
                "direction": "ltr",
                "population": 278611506,
                "web_url": "https://weblate.framasoft.org/languages/fr/",
                "url": "https://weblate.framasoft.org/api/languages/fr/?format=api",
                "statistics_url": "https://weblate.framasoft.org/api/languages/fr/statistics/?format=api"
            },
            "component": {
                "name": "Messages",
                "slug": "messages",
                "id": 202,
                "source_language": {
                    "id": 76,
                    "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": 1636485517,
                    "web_url": "https://weblate.framasoft.org/languages/en/",
                    "url": "https://weblate.framasoft.org/api/languages/en/?format=api",
                    "statistics_url": "https://weblate.framasoft.org/api/languages/en/statistics/?format=api"
                },
                "project": {
                    "name": "Anicetus",
                    "slug": "anicetus",
                    "id": 53,
                    "web": "https://framagit.org/framasoft/framatalk/anicetus",
                    "web_url": "https://weblate.framasoft.org/projects/anicetus/",
                    "url": "https://weblate.framasoft.org/api/projects/anicetus/?format=api",
                    "components_list_url": "https://weblate.framasoft.org/api/projects/anicetus/components/?format=api",
                    "repository_url": "https://weblate.framasoft.org/api/projects/anicetus/repository/?format=api",
                    "statistics_url": "https://weblate.framasoft.org/api/projects/anicetus/statistics/?format=api",
                    "categories_url": "https://weblate.framasoft.org/api/projects/anicetus/categories/?format=api",
                    "changes_list_url": "https://weblate.framasoft.org/api/projects/anicetus/changes/?format=api",
                    "languages_url": "https://weblate.framasoft.org/api/projects/anicetus/languages/?format=api",
                    "labels_url": "https://weblate.framasoft.org/api/projects/anicetus/labels/?format=api",
                    "translation_review": false,
                    "source_review": false,
                    "set_language_team": true,
                    "instructions": "",
                    "enable_hooks": true,
                    "language_aliases": ""
                },
                "vcs": "gitlab",
                "repo": "git@framagit.org:framasoft/framatalk/anicetus.git",
                "git_export": "https://weblate.framasoft.org/git/anicetus/messages/",
                "branch": "main",
                "push_branch": "",
                "filemask": "translations/messages+intl-icu.*.yaml",
                "screenshot_filemask": "",
                "template": "translations/messages+intl-icu.en.yaml",
                "edit_template": true,
                "intermediate": "",
                "new_base": "",
                "file_format": "yaml",
                "license": "AGPL-3.0-or-later",
                "license_url": "https://spdx.org/licenses/AGPL-3.0-or-later.html",
                "agreement": "",
                "web_url": "https://weblate.framasoft.org/projects/anicetus/messages/",
                "url": "https://weblate.framasoft.org/api/components/anicetus/messages/?format=api",
                "repository_url": "https://weblate.framasoft.org/api/components/anicetus/messages/repository/?format=api",
                "translations_url": "https://weblate.framasoft.org/api/components/anicetus/messages/translations/?format=api",
                "statistics_url": "https://weblate.framasoft.org/api/components/anicetus/messages/statistics/?format=api",
                "lock_url": "https://weblate.framasoft.org/api/components/anicetus/messages/lock/?format=api",
                "links_url": "https://weblate.framasoft.org/api/components/anicetus/messages/links/?format=api",
                "changes_list_url": "https://weblate.framasoft.org/api/components/anicetus/messages/changes/?format=api",
                "task_url": null,
                "new_lang": "add",
                "language_code_style": "",
                "push": "git@framagit.org:framasoft/framatalk/anicetus.git",
                "check_flags": "",
                "priority": 100,
                "enforced_checks": [],
                "restricted": false,
                "repoweb": "",
                "report_source_bugs": "",
                "merge_style": "rebase",
                "commit_message": "Translated using Weblate ({{ language_name }})\n\nCurrently translated at {{ stats.translated_percent }}% ({{ stats.translated }} of {{ stats.all }} strings)\n\nTranslation: {{ project_name }}/{{ component_name }}\nTranslate-URL: {{ url }}",
                "add_message": "Added translation using Weblate ({{ language_name }})\n\n",
                "delete_message": "Deleted translation using Weblate ({{ language_name }})\n\n",
                "merge_message": "Merge branch '{{ component_remote_branch }}' into Weblate.\n\n",
                "addon_message": "Update translation files\n\nUpdated by \"{{ addon_name }}\" hook in Weblate.\n\nTranslation: {{ project_name }}/{{ component_name }}\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": true,
                "enable_suggestions": true,
                "suggestion_voting": false,
                "suggestion_autoaccept": 0,
                "push_on_commit": true,
                "commit_pending_age": 24,
                "auto_lock_error": true,
                "language_regex": "^[^.]+$",
                "variant_regex": "",
                "addons": [
                    "https://weblate.framasoft.org/api/addons/37/?format=api"
                ],
                "is_glossary": false,
                "glossary_color": "silver",
                "category": null,
                "linked_component": null
            },
            "language_code": "fr",
            "id": 3471,
            "filename": "translations/messages+intl-icu.fr.yaml",
            "revision": "d52f2ffe9a8842559889c738758af7ab9b786757,7aee5428f469dc9b5d55f1b6b3cbd321bc4b8d56",
            "web_url": "https://weblate.framasoft.org/projects/anicetus/messages/fr/",
            "share_url": "https://weblate.framasoft.org/engage/anicetus/-/fr/",
            "translate_url": "https://weblate.framasoft.org/translate/anicetus/messages/fr/",
            "url": "https://weblate.framasoft.org/api/translations/anicetus/messages/fr/?format=api",
            "is_template": false,
            "is_source": false,
            "total": 116,
            "total_words": 553,
            "translated": 116,
            "translated_words": 553,
            "translated_percent": 100.0,
            "fuzzy": 0,
            "fuzzy_words": 0,
            "fuzzy_percent": 0.0,
            "failing_checks": 3,
            "failing_checks_words": 5,
            "failing_checks_percent": 2.5,
            "have_suggestion": 0,
            "have_comment": 0,
            "last_change": "2024-04-23T07:58:10.736981Z",
            "last_author": null,
            "repository_url": "https://weblate.framasoft.org/api/translations/anicetus/messages/fr/repository/?format=api",
            "file_url": "https://weblate.framasoft.org/api/translations/anicetus/messages/fr/file/?format=api",
            "statistics_url": "https://weblate.framasoft.org/api/translations/anicetus/messages/fr/statistics/?format=api",
            "changes_list_url": "https://weblate.framasoft.org/api/translations/anicetus/messages/fr/changes/?format=api",
            "units_list_url": "https://weblate.framasoft.org/api/translations/anicetus/messages/fr/units/?format=api"
        },
        {
            "language": {
                "id": 76,
                "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": 1636485517,
                "web_url": "https://weblate.framasoft.org/languages/en/",
                "url": "https://weblate.framasoft.org/api/languages/en/?format=api",
                "statistics_url": "https://weblate.framasoft.org/api/languages/en/statistics/?format=api"
            },
            "component": {
                "name": "Anicetus",
                "slug": "glossary",
                "id": 203,
                "source_language": {
                    "id": 76,
                    "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": 1636485517,
                    "web_url": "https://weblate.framasoft.org/languages/en/",
                    "url": "https://weblate.framasoft.org/api/languages/en/?format=api",
                    "statistics_url": "https://weblate.framasoft.org/api/languages/en/statistics/?format=api"
                },
                "project": {
                    "name": "Anicetus",
                    "slug": "anicetus",
                    "id": 53,
                    "web": "https://framagit.org/framasoft/framatalk/anicetus",
                    "web_url": "https://weblate.framasoft.org/projects/anicetus/",
                    "url": "https://weblate.framasoft.org/api/projects/anicetus/?format=api",
                    "components_list_url": "https://weblate.framasoft.org/api/projects/anicetus/components/?format=api",
                    "repository_url": "https://weblate.framasoft.org/api/projects/anicetus/repository/?format=api",
                    "statistics_url": "https://weblate.framasoft.org/api/projects/anicetus/statistics/?format=api",
                    "categories_url": "https://weblate.framasoft.org/api/projects/anicetus/categories/?format=api",
                    "changes_list_url": "https://weblate.framasoft.org/api/projects/anicetus/changes/?format=api",
                    "languages_url": "https://weblate.framasoft.org/api/projects/anicetus/languages/?format=api",
                    "labels_url": "https://weblate.framasoft.org/api/projects/anicetus/labels/?format=api",
                    "translation_review": false,
                    "source_review": false,
                    "set_language_team": true,
                    "instructions": "",
                    "enable_hooks": true,
                    "language_aliases": ""
                },
                "vcs": "local",
                "repo": "local:",
                "git_export": "https://weblate.framasoft.org/git/anicetus/glossary/",
                "branch": "main",
                "push_branch": "",
                "filemask": "*.tbx",
                "screenshot_filemask": "",
                "template": "",
                "edit_template": true,
                "intermediate": "",
                "new_base": "",
                "file_format": "tbx",
                "license": "AGPL-3.0-or-later",
                "license_url": "https://spdx.org/licenses/AGPL-3.0-or-later.html",
                "agreement": "",
                "web_url": "https://weblate.framasoft.org/projects/anicetus/glossary/",
                "url": "https://weblate.framasoft.org/api/components/anicetus/glossary/?format=api",
                "repository_url": "https://weblate.framasoft.org/api/components/anicetus/glossary/repository/?format=api",
                "translations_url": "https://weblate.framasoft.org/api/components/anicetus/glossary/translations/?format=api",
                "statistics_url": "https://weblate.framasoft.org/api/components/anicetus/glossary/statistics/?format=api",
                "lock_url": "https://weblate.framasoft.org/api/components/anicetus/glossary/lock/?format=api",
                "links_url": "https://weblate.framasoft.org/api/components/anicetus/glossary/links/?format=api",
                "changes_list_url": "https://weblate.framasoft.org/api/components/anicetus/glossary/changes/?format=api",
                "task_url": null,
                "new_lang": "none",
                "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 }})\n\nCurrently translated at {{ stats.translated_percent }}% ({{ stats.translated }} of {{ stats.all }} strings)\n\nTranslation: {{ project_name }}/{{ component_name }}\nTranslate-URL: {{ url }}",
                "add_message": "Added translation using Weblate ({{ language_name }})\n\n",
                "delete_message": "Deleted translation using Weblate ({{ language_name }})\n\n",
                "merge_message": "Merge branch '{{ component_remote_branch }}' into Weblate.\n\n",
                "addon_message": "Update translation files\n\nUpdated by \"{{ addon_name }}\" hook in Weblate.\n\nTranslation: {{ project_name }}/{{ component_name }}\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": false,
                "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": "^[^.]+$",
                "variant_regex": "",
                "addons": [],
                "is_glossary": true,
                "glossary_color": "silver",
                "category": null,
                "linked_component": null
            },
            "language_code": "en",
            "id": 3472,
            "filename": "",
            "revision": "",
            "web_url": "https://weblate.framasoft.org/projects/anicetus/glossary/en/",
            "share_url": "https://weblate.framasoft.org/engage/anicetus/-/en/",
            "translate_url": "https://weblate.framasoft.org/translate/anicetus/glossary/en/",
            "url": "https://weblate.framasoft.org/api/translations/anicetus/glossary/en/?format=api",
            "is_template": false,
            "is_source": true,
            "total": 0,
            "total_words": 0,
            "translated": 0,
            "translated_words": 0,
            "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": null,
            "last_author": null,
            "repository_url": "https://weblate.framasoft.org/api/translations/anicetus/glossary/en/repository/?format=api",
            "file_url": "https://weblate.framasoft.org/api/translations/anicetus/glossary/en/file/?format=api",
            "statistics_url": "https://weblate.framasoft.org/api/translations/anicetus/glossary/en/statistics/?format=api",
            "changes_list_url": "https://weblate.framasoft.org/api/translations/anicetus/glossary/en/changes/?format=api",
            "units_list_url": "https://weblate.framasoft.org/api/translations/anicetus/glossary/en/units/?format=api"
        },
        {
            "language": {
                "id": 106,
                "code": "fr",
                "name": "French",
                "plural": {
                    "id": 106,
                    "source": 0,
                    "number": 2,
                    "formula": "n > 1",
                    "type": 1
                },
                "aliases": [
                    "fra_fr",
                    "fra",
                    "fre"
                ],
                "direction": "ltr",
                "population": 278611506,
                "web_url": "https://weblate.framasoft.org/languages/fr/",
                "url": "https://weblate.framasoft.org/api/languages/fr/?format=api",
                "statistics_url": "https://weblate.framasoft.org/api/languages/fr/statistics/?format=api"
            },
            "component": {
                "name": "Anicetus",
                "slug": "glossary",
                "id": 203,
                "source_language": {
                    "id": 76,
                    "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": 1636485517,
                    "web_url": "https://weblate.framasoft.org/languages/en/",
                    "url": "https://weblate.framasoft.org/api/languages/en/?format=api",
                    "statistics_url": "https://weblate.framasoft.org/api/languages/en/statistics/?format=api"
                },
                "project": {
                    "name": "Anicetus",
                    "slug": "anicetus",
                    "id": 53,
                    "web": "https://framagit.org/framasoft/framatalk/anicetus",
                    "web_url": "https://weblate.framasoft.org/projects/anicetus/",
                    "url": "https://weblate.framasoft.org/api/projects/anicetus/?format=api",
                    "components_list_url": "https://weblate.framasoft.org/api/projects/anicetus/components/?format=api",
                    "repository_url": "https://weblate.framasoft.org/api/projects/anicetus/repository/?format=api",
                    "statistics_url": "https://weblate.framasoft.org/api/projects/anicetus/statistics/?format=api",
                    "categories_url": "https://weblate.framasoft.org/api/projects/anicetus/categories/?format=api",
                    "changes_list_url": "https://weblate.framasoft.org/api/projects/anicetus/changes/?format=api",
                    "languages_url": "https://weblate.framasoft.org/api/projects/anicetus/languages/?format=api",
                    "labels_url": "https://weblate.framasoft.org/api/projects/anicetus/labels/?format=api",
                    "translation_review": false,
                    "source_review": false,
                    "set_language_team": true,
                    "instructions": "",
                    "enable_hooks": true,
                    "language_aliases": ""
                },
                "vcs": "local",
                "repo": "local:",
                "git_export": "https://weblate.framasoft.org/git/anicetus/glossary/",
                "branch": "main",
                "push_branch": "",
                "filemask": "*.tbx",
                "screenshot_filemask": "",
                "template": "",
                "edit_template": true,
                "intermediate": "",
                "new_base": "",
                "file_format": "tbx",
                "license": "AGPL-3.0-or-later",
                "license_url": "https://spdx.org/licenses/AGPL-3.0-or-later.html",
                "agreement": "",
                "web_url": "https://weblate.framasoft.org/projects/anicetus/glossary/",
                "url": "https://weblate.framasoft.org/api/components/anicetus/glossary/?format=api",
                "repository_url": "https://weblate.framasoft.org/api/components/anicetus/glossary/repository/?format=api",
                "translations_url": "https://weblate.framasoft.org/api/components/anicetus/glossary/translations/?format=api",
                "statistics_url": "https://weblate.framasoft.org/api/components/anicetus/glossary/statistics/?format=api",
                "lock_url": "https://weblate.framasoft.org/api/components/anicetus/glossary/lock/?format=api",
                "links_url": "https://weblate.framasoft.org/api/components/anicetus/glossary/links/?format=api",
                "changes_list_url": "https://weblate.framasoft.org/api/components/anicetus/glossary/changes/?format=api",
                "task_url": null,
                "new_lang": "none",
                "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 }})\n\nCurrently translated at {{ stats.translated_percent }}% ({{ stats.translated }} of {{ stats.all }} strings)\n\nTranslation: {{ project_name }}/{{ component_name }}\nTranslate-URL: {{ url }}",
                "add_message": "Added translation using Weblate ({{ language_name }})\n\n",
                "delete_message": "Deleted translation using Weblate ({{ language_name }})\n\n",
                "merge_message": "Merge branch '{{ component_remote_branch }}' into Weblate.\n\n",
                "addon_message": "Update translation files\n\nUpdated by \"{{ addon_name }}\" hook in Weblate.\n\nTranslation: {{ project_name }}/{{ component_name }}\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": false,
                "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": "^[^.]+$",
                "variant_regex": "",
                "addons": [],
                "is_glossary": true,
                "glossary_color": "silver",
                "category": null,
                "linked_component": null
            },
            "language_code": "fr",
            "id": 3473,
            "filename": "fr.tbx",
            "revision": "a707eb0b067f141dc98e77ff33c3d42e12c3d712",
            "web_url": "https://weblate.framasoft.org/projects/anicetus/glossary/fr/",
            "share_url": "https://weblate.framasoft.org/engage/anicetus/-/fr/",
            "translate_url": "https://weblate.framasoft.org/translate/anicetus/glossary/fr/",
            "url": "https://weblate.framasoft.org/api/translations/anicetus/glossary/fr/?format=api",
            "is_template": false,
            "is_source": false,
            "total": 0,
            "total_words": 0,
            "translated": 0,
            "translated_words": 0,
            "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": "2024-04-23T07:56:02.007350Z",
            "last_author": null,
            "repository_url": "https://weblate.framasoft.org/api/translations/anicetus/glossary/fr/repository/?format=api",
            "file_url": "https://weblate.framasoft.org/api/translations/anicetus/glossary/fr/file/?format=api",
            "statistics_url": "https://weblate.framasoft.org/api/translations/anicetus/glossary/fr/statistics/?format=api",
            "changes_list_url": "https://weblate.framasoft.org/api/translations/anicetus/glossary/fr/changes/?format=api",
            "units_list_url": "https://weblate.framasoft.org/api/translations/anicetus/glossary/fr/units/?format=api"
        },
        {
            "language": {
                "id": 86,
                "code": "eo",
                "name": "Esperanto",
                "plural": {
                    "id": 86,
                    "source": 0,
                    "number": 2,
                    "formula": "n != 1",
                    "type": 1
                },
                "aliases": [
                    "epo"
                ],
                "direction": "ltr",
                "population": 301,
                "web_url": "https://weblate.framasoft.org/languages/eo/",
                "url": "https://weblate.framasoft.org/api/languages/eo/?format=api",
                "statistics_url": "https://weblate.framasoft.org/api/languages/eo/statistics/?format=api"
            },
            "component": {
                "name": "subtitles",
                "slug": "subtitles",
                "id": 171,
                "source_language": {
                    "id": 76,
                    "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": 1636485517,
                    "web_url": "https://weblate.framasoft.org/languages/en/",
                    "url": "https://weblate.framasoft.org/api/languages/en/?format=api",
                    "statistics_url": "https://weblate.framasoft.org/api/languages/en/statistics/?format=api"
                },
                "project": {
                    "name": "What is the Fediverse video",
                    "slug": "what-is-the-fediverse-video",
                    "id": 48,
                    "web": "https://framatube.org/w/9dRFC6Ya11NCVeYKn8ZhiD?start=2s",
                    "web_url": "https://weblate.framasoft.org/projects/what-is-the-fediverse-video/",
                    "url": "https://weblate.framasoft.org/api/projects/what-is-the-fediverse-video/?format=api",
                    "components_list_url": "https://weblate.framasoft.org/api/projects/what-is-the-fediverse-video/components/?format=api",
                    "repository_url": "https://weblate.framasoft.org/api/projects/what-is-the-fediverse-video/repository/?format=api",
                    "statistics_url": "https://weblate.framasoft.org/api/projects/what-is-the-fediverse-video/statistics/?format=api",
                    "categories_url": "https://weblate.framasoft.org/api/projects/what-is-the-fediverse-video/categories/?format=api",
                    "changes_list_url": "https://weblate.framasoft.org/api/projects/what-is-the-fediverse-video/changes/?format=api",
                    "languages_url": "https://weblate.framasoft.org/api/projects/what-is-the-fediverse-video/languages/?format=api",
                    "labels_url": "https://weblate.framasoft.org/api/projects/what-is-the-fediverse-video/labels/?format=api",
                    "translation_review": false,
                    "source_review": false,
                    "set_language_team": true,
                    "instructions": "",
                    "enable_hooks": true,
                    "language_aliases": ""
                },
                "vcs": "local",
                "repo": "local:",
                "git_export": "https://weblate.framasoft.org/git/what-is-the-fediverse-video/subtitles/",
                "branch": "main",
                "push_branch": "",
                "filemask": "subtitles/*.srt",
                "screenshot_filemask": "",
                "template": "subtitles/en.srt",
                "edit_template": true,
                "intermediate": "",
                "new_base": "subtitles/en.srt",
                "file_format": "srt",
                "license": "CC-BY-SA-4.0",
                "license_url": "https://spdx.org/licenses/CC-BY-SA-4.0.html",
                "agreement": "",
                "web_url": "https://weblate.framasoft.org/projects/what-is-the-fediverse-video/subtitles/",
                "url": "https://weblate.framasoft.org/api/components/what-is-the-fediverse-video/subtitles/?format=api",
                "repository_url": "https://weblate.framasoft.org/api/components/what-is-the-fediverse-video/subtitles/repository/?format=api",
                "translations_url": "https://weblate.framasoft.org/api/components/what-is-the-fediverse-video/subtitles/translations/?format=api",
                "statistics_url": "https://weblate.framasoft.org/api/components/what-is-the-fediverse-video/subtitles/statistics/?format=api",
                "lock_url": "https://weblate.framasoft.org/api/components/what-is-the-fediverse-video/subtitles/lock/?format=api",
                "links_url": "https://weblate.framasoft.org/api/components/what-is-the-fediverse-video/subtitles/links/?format=api",
                "changes_list_url": "https://weblate.framasoft.org/api/components/what-is-the-fediverse-video/subtitles/changes/?format=api",
                "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 }})\n\nCurrently translated at {{ stats.translated_percent }}% ({{ stats.translated }} of {{ stats.all }} strings)\n\nTranslation: {{ project_name }}/{{ component_name }}\nTranslate-URL: {{ url }}",
                "add_message": "Added translation using Weblate ({{ language_name }})\n\n",
                "delete_message": "Deleted translation using Weblate ({{ language_name }})\n\n",
                "merge_message": "Merge branch '{{ component_remote_branch }}' into Weblate.\n\n",
                "addon_message": "Update translation files\n\nUpdated by \"{{ addon_name }}\" hook in Weblate.\n\nTranslation: {{ project_name }}/{{ component_name }}\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": true,
                "enable_suggestions": true,
                "suggestion_voting": false,
                "suggestion_autoaccept": 0,
                "push_on_commit": true,
                "commit_pending_age": 24,
                "auto_lock_error": true,
                "language_regex": "^[^.]+$",
                "variant_regex": "",
                "addons": [],
                "is_glossary": false,
                "glossary_color": "silver",
                "category": null,
                "linked_component": null
            },
            "language_code": "eo",
            "id": 3475,
            "filename": "subtitles/eo.srt",
            "revision": "6ce70ae3dc47c7fe5fc04ef3613e452f5378d636,6ce70ae3dc47c7fe5fc04ef3613e452f5378d636",
            "web_url": "https://weblate.framasoft.org/projects/what-is-the-fediverse-video/subtitles/eo/",
            "share_url": "https://weblate.framasoft.org/engage/what-is-the-fediverse-video/-/eo/",
            "translate_url": "https://weblate.framasoft.org/translate/what-is-the-fediverse-video/subtitles/eo/",
            "url": "https://weblate.framasoft.org/api/translations/what-is-the-fediverse-video/subtitles/eo/?format=api",
            "is_template": false,
            "is_source": false,
            "total": 42,
            "total_words": 195,
            "translated": 42,
            "translated_words": 195,
            "translated_percent": 100.0,
            "fuzzy": 0,
            "fuzzy_words": 0,
            "fuzzy_percent": 0.0,
            "failing_checks": 38,
            "failing_checks_words": 187,
            "failing_checks_percent": 90.4,
            "have_suggestion": 0,
            "have_comment": 0,
            "last_change": "2024-04-23T19:11:59.386822Z",
            "last_author": "Marco Ciampa",
            "repository_url": "https://weblate.framasoft.org/api/translations/what-is-the-fediverse-video/subtitles/eo/repository/?format=api",
            "file_url": "https://weblate.framasoft.org/api/translations/what-is-the-fediverse-video/subtitles/eo/file/?format=api",
            "statistics_url": "https://weblate.framasoft.org/api/translations/what-is-the-fediverse-video/subtitles/eo/statistics/?format=api",
            "changes_list_url": "https://weblate.framasoft.org/api/translations/what-is-the-fediverse-video/subtitles/eo/changes/?format=api",
            "units_list_url": "https://weblate.framasoft.org/api/translations/what-is-the-fediverse-video/subtitles/eo/units/?format=api"
        },
        {
            "language": {
                "id": 86,
                "code": "eo",
                "name": "Esperanto",
                "plural": {
                    "id": 86,
                    "source": 0,
                    "number": 2,
                    "formula": "n != 1",
                    "type": 1
                },
                "aliases": [
                    "epo"
                ],
                "direction": "ltr",
                "population": 301,
                "web_url": "https://weblate.framasoft.org/languages/eo/",
                "url": "https://weblate.framasoft.org/api/languages/eo/?format=api",
                "statistics_url": "https://weblate.framasoft.org/api/languages/eo/statistics/?format=api"
            },
            "component": {
                "name": "What is the Fediverse video",
                "slug": "glossary",
                "id": 172,
                "source_language": {
                    "id": 76,
                    "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": 1636485517,
                    "web_url": "https://weblate.framasoft.org/languages/en/",
                    "url": "https://weblate.framasoft.org/api/languages/en/?format=api",
                    "statistics_url": "https://weblate.framasoft.org/api/languages/en/statistics/?format=api"
                },
                "project": {
                    "name": "What is the Fediverse video",
                    "slug": "what-is-the-fediverse-video",
                    "id": 48,
                    "web": "https://framatube.org/w/9dRFC6Ya11NCVeYKn8ZhiD?start=2s",
                    "web_url": "https://weblate.framasoft.org/projects/what-is-the-fediverse-video/",
                    "url": "https://weblate.framasoft.org/api/projects/what-is-the-fediverse-video/?format=api",
                    "components_list_url": "https://weblate.framasoft.org/api/projects/what-is-the-fediverse-video/components/?format=api",
                    "repository_url": "https://weblate.framasoft.org/api/projects/what-is-the-fediverse-video/repository/?format=api",
                    "statistics_url": "https://weblate.framasoft.org/api/projects/what-is-the-fediverse-video/statistics/?format=api",
                    "categories_url": "https://weblate.framasoft.org/api/projects/what-is-the-fediverse-video/categories/?format=api",
                    "changes_list_url": "https://weblate.framasoft.org/api/projects/what-is-the-fediverse-video/changes/?format=api",
                    "languages_url": "https://weblate.framasoft.org/api/projects/what-is-the-fediverse-video/languages/?format=api",
                    "labels_url": "https://weblate.framasoft.org/api/projects/what-is-the-fediverse-video/labels/?format=api",
                    "translation_review": false,
                    "source_review": false,
                    "set_language_team": true,
                    "instructions": "",
                    "enable_hooks": true,
                    "language_aliases": ""
                },
                "vcs": "local",
                "repo": "local:",
                "git_export": "https://weblate.framasoft.org/git/what-is-the-fediverse-video/glossary/",
                "branch": "main",
                "push_branch": "",
                "filemask": "*.tbx",
                "screenshot_filemask": "",
                "template": "",
                "edit_template": true,
                "intermediate": "",
                "new_base": "",
                "file_format": "tbx",
                "license": "CC-BY-SA-4.0",
                "license_url": "https://spdx.org/licenses/CC-BY-SA-4.0.html",
                "agreement": "",
                "web_url": "https://weblate.framasoft.org/projects/what-is-the-fediverse-video/glossary/",
                "url": "https://weblate.framasoft.org/api/components/what-is-the-fediverse-video/glossary/?format=api",
                "repository_url": "https://weblate.framasoft.org/api/components/what-is-the-fediverse-video/glossary/repository/?format=api",
                "translations_url": "https://weblate.framasoft.org/api/components/what-is-the-fediverse-video/glossary/translations/?format=api",
                "statistics_url": "https://weblate.framasoft.org/api/components/what-is-the-fediverse-video/glossary/statistics/?format=api",
                "lock_url": "https://weblate.framasoft.org/api/components/what-is-the-fediverse-video/glossary/lock/?format=api",
                "links_url": "https://weblate.framasoft.org/api/components/what-is-the-fediverse-video/glossary/links/?format=api",
                "changes_list_url": "https://weblate.framasoft.org/api/components/what-is-the-fediverse-video/glossary/changes/?format=api",
                "task_url": null,
                "new_lang": "none",
                "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 }})\n\nCurrently translated at {{ stats.translated_percent }}% ({{ stats.translated }} of {{ stats.all }} strings)\n\nTranslation: {{ project_name }}/{{ component_name }}\nTranslate-URL: {{ url }}",
                "add_message": "Added translation using Weblate ({{ language_name }})\n\n",
                "delete_message": "Deleted translation using Weblate ({{ language_name }})\n\n",
                "merge_message": "Merge branch '{{ component_remote_branch }}' into Weblate.\n\n",
                "addon_message": "Update translation files\n\nUpdated by \"{{ addon_name }}\" hook in Weblate.\n\nTranslation: {{ project_name }}/{{ component_name }}\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": false,
                "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": "^[^.]+$",
                "variant_regex": "",
                "addons": [],
                "is_glossary": true,
                "glossary_color": "silver",
                "category": null,
                "linked_component": null
            },
            "language_code": "eo",
            "id": 3476,
            "filename": "eo.tbx",
            "revision": "a707eb0b067f141dc98e77ff33c3d42e12c3d712",
            "web_url": "https://weblate.framasoft.org/projects/what-is-the-fediverse-video/glossary/eo/",
            "share_url": "https://weblate.framasoft.org/engage/what-is-the-fediverse-video/-/eo/",
            "translate_url": "https://weblate.framasoft.org/translate/what-is-the-fediverse-video/glossary/eo/",
            "url": "https://weblate.framasoft.org/api/translations/what-is-the-fediverse-video/glossary/eo/?format=api",
            "is_template": false,
            "is_source": false,
            "total": 0,
            "total_words": 0,
            "translated": 0,
            "translated_words": 0,
            "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": "2024-04-23T19:12:01.025257Z",
            "last_author": null,
            "repository_url": "https://weblate.framasoft.org/api/translations/what-is-the-fediverse-video/glossary/eo/repository/?format=api",
            "file_url": "https://weblate.framasoft.org/api/translations/what-is-the-fediverse-video/glossary/eo/file/?format=api",
            "statistics_url": "https://weblate.framasoft.org/api/translations/what-is-the-fediverse-video/glossary/eo/statistics/?format=api",
            "changes_list_url": "https://weblate.framasoft.org/api/translations/what-is-the-fediverse-video/glossary/eo/changes/?format=api",
            "units_list_url": "https://weblate.framasoft.org/api/translations/what-is-the-fediverse-video/glossary/eo/units/?format=api"
        },
        {
            "language": {
                "id": 145,
                "code": "it",
                "name": "Italian",
                "plural": {
                    "id": 145,
                    "source": 0,
                    "number": 2,
                    "formula": "n != 1",
                    "type": 1
                },
                "aliases": [
                    "ita_it",
                    "ita"
                ],
                "direction": "ltr",
                "population": 70247059,
                "web_url": "https://weblate.framasoft.org/languages/it/",
                "url": "https://weblate.framasoft.org/api/languages/it/?format=api",
                "statistics_url": "https://weblate.framasoft.org/api/languages/it/statistics/?format=api"
            },
            "component": {
                "name": "Import Service",
                "slug": "import-service",
                "id": 201,
                "source_language": {
                    "id": 106,
                    "code": "fr",
                    "name": "French",
                    "plural": {
                        "id": 106,
                        "source": 0,
                        "number": 2,
                        "formula": "n > 1",
                        "type": 1
                    },
                    "aliases": [
                        "fra_fr",
                        "fra",
                        "fre"
                    ],
                    "direction": "ltr",
                    "population": 278611506,
                    "web_url": "https://weblate.framasoft.org/languages/fr/",
                    "url": "https://weblate.framasoft.org/api/languages/fr/?format=api",
                    "statistics_url": "https://weblate.framasoft.org/api/languages/fr/statistics/?format=api"
                },
                "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/?format=api",
                    "components_list_url": "https://weblate.framasoft.org/api/projects/mobilizon/components/?format=api",
                    "repository_url": "https://weblate.framasoft.org/api/projects/mobilizon/repository/?format=api",
                    "statistics_url": "https://weblate.framasoft.org/api/projects/mobilizon/statistics/?format=api",
                    "categories_url": "https://weblate.framasoft.org/api/projects/mobilizon/categories/?format=api",
                    "changes_list_url": "https://weblate.framasoft.org/api/projects/mobilizon/changes/?format=api",
                    "languages_url": "https://weblate.framasoft.org/api/projects/mobilizon/languages/?format=api",
                    "labels_url": "https://weblate.framasoft.org/api/projects/mobilizon/labels/?format=api",
                    "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/joinmobilizon/event-importer.git",
                "git_export": "https://weblate.framasoft.org/git/mobilizon/import-service/",
                "branch": "main",
                "push_branch": "",
                "filemask": "src/locales/*.json",
                "screenshot_filemask": "",
                "template": "src/locales/fr.json",
                "edit_template": true,
                "intermediate": "",
                "new_base": "src/locales/fr.json",
                "file_format": "json-nested",
                "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/import-service/",
                "url": "https://weblate.framasoft.org/api/components/mobilizon/import-service/?format=api",
                "repository_url": "https://weblate.framasoft.org/api/components/mobilizon/import-service/repository/?format=api",
                "translations_url": "https://weblate.framasoft.org/api/components/mobilizon/import-service/translations/?format=api",
                "statistics_url": "https://weblate.framasoft.org/api/components/mobilizon/import-service/statistics/?format=api",
                "lock_url": "https://weblate.framasoft.org/api/components/mobilizon/import-service/lock/?format=api",
                "links_url": "https://weblate.framasoft.org/api/components/mobilizon/import-service/links/?format=api",
                "changes_list_url": "https://weblate.framasoft.org/api/components/mobilizon/import-service/changes/?format=api",
                "task_url": null,
                "new_lang": "add",
                "language_code_style": "",
                "push": "git@framagit.org:framasoft/joinmobilizon/event-importer.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 }}\r\n\r\nTranslations update from [{{ site_title }}]({{ site_url }}) for [{{ project_name }}/{{ component_name }}]({{url}}).\r\n\r\n{% if component_linked_childs %}\r\nIt also includes following components:\r\n{% for linked in component_linked_childs %}\r\n* [{{ linked.project_name }}/{{ linked.name }}]({{ linked.url }})\r\n{% endfor %}\r\n{% endif %}\r\n\r\nCurrent translation status:\r\n\r\n![Weblate translation status]({{widget_url}})",
                "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": "^[^.]+$",
                "variant_regex": "",
                "addons": [],
                "is_glossary": false,
                "glossary_color": "silver",
                "category": null,
                "linked_component": null
            },
            "language_code": "it",
            "id": 3477,
            "filename": "src/locales/it.json",
            "revision": "2c1594080e1723191b4a0e34971dd94505278bce,5aba7d41b2eb60325aadb9a51dbc419076d83286",
            "web_url": "https://weblate.framasoft.org/projects/mobilizon/import-service/it/",
            "share_url": "https://weblate.framasoft.org/engage/mobilizon/-/it/",
            "translate_url": "https://weblate.framasoft.org/translate/mobilizon/import-service/it/",
            "url": "https://weblate.framasoft.org/api/translations/mobilizon/import-service/it/?format=api",
            "is_template": false,
            "is_source": false,
            "total": 109,
            "total_words": 876,
            "translated": 7,
            "translated_words": 41,
            "translated_percent": 6.4,
            "fuzzy": 0,
            "fuzzy_words": 0,
            "fuzzy_percent": 0.0,
            "failing_checks": 2,
            "failing_checks_words": 3,
            "failing_checks_percent": 1.8,
            "have_suggestion": 2,
            "have_comment": 0,
            "last_change": "2024-04-28T21:17:47.816114Z",
            "last_author": null,
            "repository_url": "https://weblate.framasoft.org/api/translations/mobilizon/import-service/it/repository/?format=api",
            "file_url": "https://weblate.framasoft.org/api/translations/mobilizon/import-service/it/file/?format=api",
            "statistics_url": "https://weblate.framasoft.org/api/translations/mobilizon/import-service/it/statistics/?format=api",
            "changes_list_url": "https://weblate.framasoft.org/api/translations/mobilizon/import-service/it/changes/?format=api",
            "units_list_url": "https://weblate.framasoft.org/api/translations/mobilizon/import-service/it/units/?format=api"
        },
        {
            "language": {
                "id": 116,
                "code": "gl",
                "name": "Galician",
                "plural": {
                    "id": 116,
                    "source": 0,
                    "number": 2,
                    "formula": "n != 1",
                    "type": 1
                },
                "aliases": [
                    "glg_es",
                    "glg"
                ],
                "direction": "ltr",
                "population": 3515529,
                "web_url": "https://weblate.framasoft.org/languages/gl/",
                "url": "https://weblate.framasoft.org/api/languages/gl/?format=api",
                "statistics_url": "https://weblate.framasoft.org/api/languages/gl/statistics/?format=api"
            },
            "component": {
                "name": "Import Service",
                "slug": "import-service",
                "id": 201,
                "source_language": {
                    "id": 106,
                    "code": "fr",
                    "name": "French",
                    "plural": {
                        "id": 106,
                        "source": 0,
                        "number": 2,
                        "formula": "n > 1",
                        "type": 1
                    },
                    "aliases": [
                        "fra_fr",
                        "fra",
                        "fre"
                    ],
                    "direction": "ltr",
                    "population": 278611506,
                    "web_url": "https://weblate.framasoft.org/languages/fr/",
                    "url": "https://weblate.framasoft.org/api/languages/fr/?format=api",
                    "statistics_url": "https://weblate.framasoft.org/api/languages/fr/statistics/?format=api"
                },
                "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/?format=api",
                    "components_list_url": "https://weblate.framasoft.org/api/projects/mobilizon/components/?format=api",
                    "repository_url": "https://weblate.framasoft.org/api/projects/mobilizon/repository/?format=api",
                    "statistics_url": "https://weblate.framasoft.org/api/projects/mobilizon/statistics/?format=api",
                    "categories_url": "https://weblate.framasoft.org/api/projects/mobilizon/categories/?format=api",
                    "changes_list_url": "https://weblate.framasoft.org/api/projects/mobilizon/changes/?format=api",
                    "languages_url": "https://weblate.framasoft.org/api/projects/mobilizon/languages/?format=api",
                    "labels_url": "https://weblate.framasoft.org/api/projects/mobilizon/labels/?format=api",
                    "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/joinmobilizon/event-importer.git",
                "git_export": "https://weblate.framasoft.org/git/mobilizon/import-service/",
                "branch": "main",
                "push_branch": "",
                "filemask": "src/locales/*.json",
                "screenshot_filemask": "",
                "template": "src/locales/fr.json",
                "edit_template": true,
                "intermediate": "",
                "new_base": "src/locales/fr.json",
                "file_format": "json-nested",
                "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/import-service/",
                "url": "https://weblate.framasoft.org/api/components/mobilizon/import-service/?format=api",
                "repository_url": "https://weblate.framasoft.org/api/components/mobilizon/import-service/repository/?format=api",
                "translations_url": "https://weblate.framasoft.org/api/components/mobilizon/import-service/translations/?format=api",
                "statistics_url": "https://weblate.framasoft.org/api/components/mobilizon/import-service/statistics/?format=api",
                "lock_url": "https://weblate.framasoft.org/api/components/mobilizon/import-service/lock/?format=api",
                "links_url": "https://weblate.framasoft.org/api/components/mobilizon/import-service/links/?format=api",
                "changes_list_url": "https://weblate.framasoft.org/api/components/mobilizon/import-service/changes/?format=api",
                "task_url": null,
                "new_lang": "add",
                "language_code_style": "",
                "push": "git@framagit.org:framasoft/joinmobilizon/event-importer.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 }}\r\n\r\nTranslations update from [{{ site_title }}]({{ site_url }}) for [{{ project_name }}/{{ component_name }}]({{url}}).\r\n\r\n{% if component_linked_childs %}\r\nIt also includes following components:\r\n{% for linked in component_linked_childs %}\r\n* [{{ linked.project_name }}/{{ linked.name }}]({{ linked.url }})\r\n{% endfor %}\r\n{% endif %}\r\n\r\nCurrent translation status:\r\n\r\n![Weblate translation status]({{widget_url}})",
                "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": "^[^.]+$",
                "variant_regex": "",
                "addons": [],
                "is_glossary": false,
                "glossary_color": "silver",
                "category": null,
                "linked_component": null
            },
            "language_code": "gl",
            "id": 3478,
            "filename": "src/locales/gl.json",
            "revision": "aaf7bedf4d8081ecb048201bd524c56f27aa5987,5aba7d41b2eb60325aadb9a51dbc419076d83286",
            "web_url": "https://weblate.framasoft.org/projects/mobilizon/import-service/gl/",
            "share_url": "https://weblate.framasoft.org/engage/mobilizon/-/gl/",
            "translate_url": "https://weblate.framasoft.org/translate/mobilizon/import-service/gl/",
            "url": "https://weblate.framasoft.org/api/translations/mobilizon/import-service/gl/?format=api",
            "is_template": false,
            "is_source": false,
            "total": 109,
            "total_words": 876,
            "translated": 26,
            "translated_words": 138,
            "translated_percent": 23.8,
            "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": "2024-04-29T14:43:54.629598Z",
            "last_author": null,
            "repository_url": "https://weblate.framasoft.org/api/translations/mobilizon/import-service/gl/repository/?format=api",
            "file_url": "https://weblate.framasoft.org/api/translations/mobilizon/import-service/gl/file/?format=api",
            "statistics_url": "https://weblate.framasoft.org/api/translations/mobilizon/import-service/gl/statistics/?format=api",
            "changes_list_url": "https://weblate.framasoft.org/api/translations/mobilizon/import-service/gl/changes/?format=api",
            "units_list_url": "https://weblate.framasoft.org/api/translations/mobilizon/import-service/gl/units/?format=api"
        }
    ]
}