Translation components API.

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

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

{
    "count": 129,
    "next": null,
    "previous": "https://weblate.framasoft.org/api/components/?format=api&page=2",
    "results": [
        {
            "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
        },
        {
            "name": "Funky Framadate Front",
            "slug": "funky-framadate-front",
            "id": 163,
            "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": "Funky Framadate",
                "slug": "funky-framadate",
                "id": 21,
                "web": "https://framagit.org/framasoft/framadate/funky-framadate-front/",
                "web_url": "https://weblate.framasoft.org/projects/funky-framadate/",
                "url": "https://weblate.framasoft.org/api/projects/funky-framadate/?format=api",
                "components_list_url": "https://weblate.framasoft.org/api/projects/funky-framadate/components/?format=api",
                "repository_url": "https://weblate.framasoft.org/api/projects/funky-framadate/repository/?format=api",
                "statistics_url": "https://weblate.framasoft.org/api/projects/funky-framadate/statistics/?format=api",
                "categories_url": "https://weblate.framasoft.org/api/projects/funky-framadate/categories/?format=api",
                "changes_list_url": "https://weblate.framasoft.org/api/projects/funky-framadate/changes/?format=api",
                "languages_url": "https://weblate.framasoft.org/api/projects/funky-framadate/languages/?format=api",
                "labels_url": "https://weblate.framasoft.org/api/projects/funky-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/funky-framadate-front.git",
            "git_export": "https://weblate.framasoft.org/git/funky-framadate/funky-framadate-front/",
            "branch": "master",
            "push_branch": "",
            "filemask": "src/assets/i18n/*.json",
            "screenshot_filemask": "",
            "template": "src/assets/i18n/en.json",
            "edit_template": true,
            "intermediate": "",
            "new_base": "",
            "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/funky-framadate/funky-framadate-front/",
            "url": "https://weblate.framasoft.org/api/components/funky-framadate/funky-framadate-front/?format=api",
            "repository_url": "https://weblate.framasoft.org/api/components/funky-framadate/funky-framadate-front/repository/?format=api",
            "translations_url": "https://weblate.framasoft.org/api/components/funky-framadate/funky-framadate-front/translations/?format=api",
            "statistics_url": "https://weblate.framasoft.org/api/components/funky-framadate/funky-framadate-front/statistics/?format=api",
            "lock_url": "https://weblate.framasoft.org/api/components/funky-framadate/funky-framadate-front/lock/?format=api",
            "links_url": "https://weblate.framasoft.org/api/components/funky-framadate/funky-framadate-front/links/?format=api",
            "changes_list_url": "https://weblate.framasoft.org/api/components/funky-framadate/funky-framadate-front/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": false,
            "enable_suggestions": true,
            "suggestion_voting": false,
            "suggestion_autoaccept": 0,
            "push_on_commit": true,
            "commit_pending_age": 24,
            "auto_lock_error": true,
            "language_regex": "^(?!(en)$).+$",
            "variant_regex": "",
            "addons": [],
            "is_glossary": false,
            "glossary_color": "silver",
            "category": null,
            "linked_component": null
        },
        {
            "name": "Search Index",
            "slug": "search-index",
            "id": 164,
            "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": "gitlab",
            "repo": "git@framagit.org:framasoft/joinmobilizon/search-index.git",
            "git_export": "https://weblate.framasoft.org/git/mobilizon/search-index/",
            "branch": "master",
            "push_branch": "",
            "filemask": "client/src/locale/*/app.po",
            "screenshot_filemask": "",
            "template": "",
            "edit_template": true,
            "intermediate": "",
            "new_base": "client/src/locale/messages.pot",
            "file_format": "po",
            "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/mobilizon/search-index/",
            "url": "https://weblate.framasoft.org/api/components/mobilizon/search-index/?format=api",
            "repository_url": "https://weblate.framasoft.org/api/components/mobilizon/search-index/repository/?format=api",
            "translations_url": "https://weblate.framasoft.org/api/components/mobilizon/search-index/translations/?format=api",
            "statistics_url": "https://weblate.framasoft.org/api/components/mobilizon/search-index/statistics/?format=api",
            "lock_url": "https://weblate.framasoft.org/api/components/mobilizon/search-index/lock/?format=api",
            "links_url": "https://weblate.framasoft.org/api/components/mobilizon/search-index/links/?format=api",
            "changes_list_url": "https://weblate.framasoft.org/api/components/mobilizon/search-index/changes/?format=api",
            "task_url": null,
            "new_lang": "add",
            "language_code_style": "",
            "push": "git@framagit.org:framasoft/joinmobilizon/search-index.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": [
                "https://weblate.framasoft.org/api/addons/14/?format=api",
                "https://weblate.framasoft.org/api/addons/15/?format=api"
            ],
            "is_glossary": false,
            "glossary_color": "silver",
            "category": null,
            "linked_component": null
        },
        {
            "name": "Main",
            "slug": "main",
            "id": 169,
            "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": "FreshRSS-Android",
                "slug": "freshrss-android",
                "id": 47,
                "web": "https://gitlab.com/christophehenry/freshrss-android",
                "web_url": "https://weblate.framasoft.org/projects/freshrss-android/",
                "url": "https://weblate.framasoft.org/api/projects/freshrss-android/?format=api",
                "components_list_url": "https://weblate.framasoft.org/api/projects/freshrss-android/components/?format=api",
                "repository_url": "https://weblate.framasoft.org/api/projects/freshrss-android/repository/?format=api",
                "statistics_url": "https://weblate.framasoft.org/api/projects/freshrss-android/statistics/?format=api",
                "categories_url": "https://weblate.framasoft.org/api/projects/freshrss-android/categories/?format=api",
                "changes_list_url": "https://weblate.framasoft.org/api/projects/freshrss-android/changes/?format=api",
                "languages_url": "https://weblate.framasoft.org/api/projects/freshrss-android/languages/?format=api",
                "labels_url": "https://weblate.framasoft.org/api/projects/freshrss-android/labels/?format=api",
                "translation_review": false,
                "source_review": false,
                "set_language_team": true,
                "instructions": "",
                "enable_hooks": true,
                "language_aliases": ""
            },
            "vcs": "gitlab",
            "repo": "https://gitlab.com/christophehenry/freshrss-android",
            "git_export": "https://weblate.framasoft.org/git/freshrss-android/main/",
            "branch": "develop",
            "push_branch": "weblate",
            "filemask": "app/src/main/res/values-*/strings.xml",
            "screenshot_filemask": "",
            "template": "app/src/main/res/values/strings.xml",
            "edit_template": true,
            "intermediate": "",
            "new_base": "",
            "file_format": "aresource",
            "license": "GPL-3.0-or-later",
            "license_url": "https://spdx.org/licenses/GPL-3.0-or-later.html",
            "agreement": "",
            "web_url": "https://weblate.framasoft.org/projects/freshrss-android/main/",
            "url": "https://weblate.framasoft.org/api/components/freshrss-android/main/?format=api",
            "repository_url": "https://weblate.framasoft.org/api/components/freshrss-android/main/repository/?format=api",
            "translations_url": "https://weblate.framasoft.org/api/components/freshrss-android/main/translations/?format=api",
            "statistics_url": "https://weblate.framasoft.org/api/components/freshrss-android/main/statistics/?format=api",
            "lock_url": "https://weblate.framasoft.org/api/components/freshrss-android/main/lock/?format=api",
            "links_url": "https://weblate.framasoft.org/api/components/freshrss-android/main/links/?format=api",
            "changes_list_url": "https://weblate.framasoft.org/api/components/freshrss-android/main/changes/?format=api",
            "task_url": null,
            "new_lang": "none",
            "language_code_style": "",
            "push": "https://gitlab.com/christophehenry/freshrss-android",
            "check_flags": "",
            "priority": 100,
            "enforced_checks": [],
            "restricted": false,
            "repoweb": "https://gitlab.com/christophehenry/freshrss-android/-/blob/{{branch}}//{{filename}}#L{{line}}",
            "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": [
                "https://weblate.framasoft.org/api/addons/21/?format=api"
            ],
            "is_glossary": true,
            "glossary_color": "silver",
            "category": null,
            "linked_component": null
        },
        {
            "name": "F-droid",
            "slug": "f-droid",
            "id": 170,
            "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": "FreshRSS-Android",
                "slug": "freshrss-android",
                "id": 47,
                "web": "https://gitlab.com/christophehenry/freshrss-android",
                "web_url": "https://weblate.framasoft.org/projects/freshrss-android/",
                "url": "https://weblate.framasoft.org/api/projects/freshrss-android/?format=api",
                "components_list_url": "https://weblate.framasoft.org/api/projects/freshrss-android/components/?format=api",
                "repository_url": "https://weblate.framasoft.org/api/projects/freshrss-android/repository/?format=api",
                "statistics_url": "https://weblate.framasoft.org/api/projects/freshrss-android/statistics/?format=api",
                "categories_url": "https://weblate.framasoft.org/api/projects/freshrss-android/categories/?format=api",
                "changes_list_url": "https://weblate.framasoft.org/api/projects/freshrss-android/changes/?format=api",
                "languages_url": "https://weblate.framasoft.org/api/projects/freshrss-android/languages/?format=api",
                "labels_url": "https://weblate.framasoft.org/api/projects/freshrss-android/labels/?format=api",
                "translation_review": false,
                "source_review": false,
                "set_language_team": true,
                "instructions": "",
                "enable_hooks": true,
                "language_aliases": ""
            },
            "vcs": "gitlab",
            "repo": "https://gitlab.com/christophehenry/freshrss-android",
            "git_export": "",
            "branch": "develop",
            "push_branch": "weblate",
            "filemask": "fastlane/metadata/android/*",
            "screenshot_filemask": "",
            "template": "fastlane/metadata/android/en-US",
            "edit_template": true,
            "intermediate": "",
            "new_base": "",
            "file_format": "appstore",
            "license": "GPL-3.0-or-later",
            "license_url": "https://spdx.org/licenses/GPL-3.0-or-later.html",
            "agreement": "",
            "web_url": "https://weblate.framasoft.org/projects/freshrss-android/f-droid/",
            "url": "https://weblate.framasoft.org/api/components/freshrss-android/f-droid/?format=api",
            "repository_url": "https://weblate.framasoft.org/api/components/freshrss-android/f-droid/repository/?format=api",
            "translations_url": "https://weblate.framasoft.org/api/components/freshrss-android/f-droid/translations/?format=api",
            "statistics_url": "https://weblate.framasoft.org/api/components/freshrss-android/f-droid/statistics/?format=api",
            "lock_url": "https://weblate.framasoft.org/api/components/freshrss-android/f-droid/lock/?format=api",
            "links_url": "https://weblate.framasoft.org/api/components/freshrss-android/f-droid/links/?format=api",
            "changes_list_url": "https://weblate.framasoft.org/api/components/freshrss-android/f-droid/changes/?format=api",
            "task_url": null,
            "new_lang": "add",
            "language_code_style": "",
            "push": "https://gitlab.com/christophehenry/freshrss-android",
            "check_flags": "",
            "priority": 100,
            "enforced_checks": [],
            "restricted": false,
            "repoweb": "https://gitlab.com/christophehenry/freshrss-android/-/blob/{{branch}}//{{filename}}#L{{line}}",
            "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/freshrss-android/main/?format=api"
        },
        {
            "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
        },
        {
            "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
        },
        {
            "name": "WebExtension",
            "slug": "webextension",
            "id": 173,
            "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": "PeerTube Companion",
                "slug": "peertube-companion",
                "id": 49,
                "web": "https://codeberg.org/Booteille/peertube-companion",
                "web_url": "https://weblate.framasoft.org/projects/peertube-companion/",
                "url": "https://weblate.framasoft.org/api/projects/peertube-companion/?format=api",
                "components_list_url": "https://weblate.framasoft.org/api/projects/peertube-companion/components/?format=api",
                "repository_url": "https://weblate.framasoft.org/api/projects/peertube-companion/repository/?format=api",
                "statistics_url": "https://weblate.framasoft.org/api/projects/peertube-companion/statistics/?format=api",
                "categories_url": "https://weblate.framasoft.org/api/projects/peertube-companion/categories/?format=api",
                "changes_list_url": "https://weblate.framasoft.org/api/projects/peertube-companion/changes/?format=api",
                "languages_url": "https://weblate.framasoft.org/api/projects/peertube-companion/languages/?format=api",
                "labels_url": "https://weblate.framasoft.org/api/projects/peertube-companion/labels/?format=api",
                "translation_review": false,
                "source_review": false,
                "set_language_team": true,
                "instructions": "",
                "enable_hooks": true,
                "language_aliases": ""
            },
            "vcs": "local",
            "repo": "https://codeberg.org/Booteille/peertube-companion",
            "git_export": "https://weblate.framasoft.org/git/peertube-companion/webextension/",
            "branch": "dev",
            "push_branch": "dev",
            "filemask": "_locales/*/messages.json",
            "screenshot_filemask": "",
            "template": "_locales/en/messages.json",
            "edit_template": true,
            "intermediate": "",
            "new_base": "",
            "file_format": "webextension",
            "license": "WTFPL",
            "license_url": "https://spdx.org/licenses/WTFPL.html",
            "agreement": "",
            "web_url": "https://weblate.framasoft.org/projects/peertube-companion/webextension/",
            "url": "https://weblate.framasoft.org/api/components/peertube-companion/webextension/?format=api",
            "repository_url": "https://weblate.framasoft.org/api/components/peertube-companion/webextension/repository/?format=api",
            "translations_url": "https://weblate.framasoft.org/api/components/peertube-companion/webextension/translations/?format=api",
            "statistics_url": "https://weblate.framasoft.org/api/components/peertube-companion/webextension/statistics/?format=api",
            "lock_url": "https://weblate.framasoft.org/api/components/peertube-companion/webextension/lock/?format=api",
            "links_url": "https://weblate.framasoft.org/api/components/peertube-companion/webextension/links/?format=api",
            "changes_list_url": "https://weblate.framasoft.org/api/components/peertube-companion/webextension/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 }}\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": false,
            "commit_pending_age": 24,
            "auto_lock_error": true,
            "language_regex": "^[^.]+$",
            "variant_regex": "",
            "addons": [],
            "is_glossary": false,
            "glossary_color": "silver",
            "category": null,
            "linked_component": null
        },
        {
            "name": "PeerTube Companion",
            "slug": "glossary",
            "id": 174,
            "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": "PeerTube Companion",
                "slug": "peertube-companion",
                "id": 49,
                "web": "https://codeberg.org/Booteille/peertube-companion",
                "web_url": "https://weblate.framasoft.org/projects/peertube-companion/",
                "url": "https://weblate.framasoft.org/api/projects/peertube-companion/?format=api",
                "components_list_url": "https://weblate.framasoft.org/api/projects/peertube-companion/components/?format=api",
                "repository_url": "https://weblate.framasoft.org/api/projects/peertube-companion/repository/?format=api",
                "statistics_url": "https://weblate.framasoft.org/api/projects/peertube-companion/statistics/?format=api",
                "categories_url": "https://weblate.framasoft.org/api/projects/peertube-companion/categories/?format=api",
                "changes_list_url": "https://weblate.framasoft.org/api/projects/peertube-companion/changes/?format=api",
                "languages_url": "https://weblate.framasoft.org/api/projects/peertube-companion/languages/?format=api",
                "labels_url": "https://weblate.framasoft.org/api/projects/peertube-companion/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/peertube-companion/glossary/",
            "branch": "main",
            "push_branch": "",
            "filemask": "*.tbx",
            "screenshot_filemask": "",
            "template": "",
            "edit_template": true,
            "intermediate": "",
            "new_base": "",
            "file_format": "tbx",
            "license": "WTFPL",
            "license_url": "https://spdx.org/licenses/WTFPL.html",
            "agreement": "",
            "web_url": "https://weblate.framasoft.org/projects/peertube-companion/glossary/",
            "url": "https://weblate.framasoft.org/api/components/peertube-companion/glossary/?format=api",
            "repository_url": "https://weblate.framasoft.org/api/components/peertube-companion/glossary/repository/?format=api",
            "translations_url": "https://weblate.framasoft.org/api/components/peertube-companion/glossary/translations/?format=api",
            "statistics_url": "https://weblate.framasoft.org/api/components/peertube-companion/glossary/statistics/?format=api",
            "lock_url": "https://weblate.framasoft.org/api/components/peertube-companion/glossary/lock/?format=api",
            "links_url": "https://weblate.framasoft.org/api/components/peertube-companion/glossary/links/?format=api",
            "changes_list_url": "https://weblate.framasoft.org/api/components/peertube-companion/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
        },
        {
            "name": "Home",
            "slug": "home",
            "id": 175,
            "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": "Dégooglisons Internet",
                "slug": "degooglisons-internet",
                "id": 39,
                "web": "https://degooglisons-internet.org",
                "web_url": "https://weblate.framasoft.org/projects/degooglisons-internet/",
                "url": "https://weblate.framasoft.org/api/projects/degooglisons-internet/?format=api",
                "components_list_url": "https://weblate.framasoft.org/api/projects/degooglisons-internet/components/?format=api",
                "repository_url": "https://weblate.framasoft.org/api/projects/degooglisons-internet/repository/?format=api",
                "statistics_url": "https://weblate.framasoft.org/api/projects/degooglisons-internet/statistics/?format=api",
                "categories_url": "https://weblate.framasoft.org/api/projects/degooglisons-internet/categories/?format=api",
                "changes_list_url": "https://weblate.framasoft.org/api/projects/degooglisons-internet/changes/?format=api",
                "languages_url": "https://weblate.framasoft.org/api/projects/degooglisons-internet/languages/?format=api",
                "labels_url": "https://weblate.framasoft.org/api/projects/degooglisons-internet/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/degooglisons.git",
            "git_export": "https://weblate.framasoft.org/git/degooglisons-internet/home/",
            "branch": "master",
            "push_branch": "",
            "filemask": "src/translations/*/home.yml",
            "screenshot_filemask": "",
            "template": "src/translations/en/home.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/degooglisons-internet/home/",
            "url": "https://weblate.framasoft.org/api/components/degooglisons-internet/home/?format=api",
            "repository_url": "https://weblate.framasoft.org/api/components/degooglisons-internet/home/repository/?format=api",
            "translations_url": "https://weblate.framasoft.org/api/components/degooglisons-internet/home/translations/?format=api",
            "statistics_url": "https://weblate.framasoft.org/api/components/degooglisons-internet/home/statistics/?format=api",
            "lock_url": "https://weblate.framasoft.org/api/components/degooglisons-internet/home/lock/?format=api",
            "links_url": "https://weblate.framasoft.org/api/components/degooglisons-internet/home/links/?format=api",
            "changes_list_url": "https://weblate.framasoft.org/api/components/degooglisons-internet/home/changes/?format=api",
            "task_url": null,
            "new_lang": "add",
            "language_code_style": "",
            "push": "git@framagit.org:framasoft/degooglisons.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
        },
        {
            "name": "Services",
            "slug": "services",
            "id": 176,
            "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": "Dégooglisons Internet",
                "slug": "degooglisons-internet",
                "id": 39,
                "web": "https://degooglisons-internet.org",
                "web_url": "https://weblate.framasoft.org/projects/degooglisons-internet/",
                "url": "https://weblate.framasoft.org/api/projects/degooglisons-internet/?format=api",
                "components_list_url": "https://weblate.framasoft.org/api/projects/degooglisons-internet/components/?format=api",
                "repository_url": "https://weblate.framasoft.org/api/projects/degooglisons-internet/repository/?format=api",
                "statistics_url": "https://weblate.framasoft.org/api/projects/degooglisons-internet/statistics/?format=api",
                "categories_url": "https://weblate.framasoft.org/api/projects/degooglisons-internet/categories/?format=api",
                "changes_list_url": "https://weblate.framasoft.org/api/projects/degooglisons-internet/changes/?format=api",
                "languages_url": "https://weblate.framasoft.org/api/projects/degooglisons-internet/languages/?format=api",
                "labels_url": "https://weblate.framasoft.org/api/projects/degooglisons-internet/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/vue-fs/commons.git",
            "git_export": "https://weblate.framasoft.org/git/degooglisons-internet/services/",
            "branch": "master",
            "push_branch": "",
            "filemask": "src/translations/*/dio.yml",
            "screenshot_filemask": "",
            "template": "src/translations/en/dio.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/degooglisons-internet/services/",
            "url": "https://weblate.framasoft.org/api/components/degooglisons-internet/services/?format=api",
            "repository_url": "https://weblate.framasoft.org/api/components/degooglisons-internet/services/repository/?format=api",
            "translations_url": "https://weblate.framasoft.org/api/components/degooglisons-internet/services/translations/?format=api",
            "statistics_url": "https://weblate.framasoft.org/api/components/degooglisons-internet/services/statistics/?format=api",
            "lock_url": "https://weblate.framasoft.org/api/components/degooglisons-internet/services/lock/?format=api",
            "links_url": "https://weblate.framasoft.org/api/components/degooglisons-internet/services/links/?format=api",
            "changes_list_url": "https://weblate.framasoft.org/api/components/degooglisons-internet/services/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
        },
        {
            "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
        },
        {
            "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
        },
        {
            "name": "Charon (messages)",
            "slug": "charon-messages",
            "id": 179,
            "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": "Framaspace",
                "slug": "framaspace",
                "id": 50,
                "web": "https://www.frama.space/",
                "web_url": "https://weblate.framasoft.org/projects/framaspace/",
                "url": "https://weblate.framasoft.org/api/projects/framaspace/?format=api",
                "components_list_url": "https://weblate.framasoft.org/api/projects/framaspace/components/?format=api",
                "repository_url": "https://weblate.framasoft.org/api/projects/framaspace/repository/?format=api",
                "statistics_url": "https://weblate.framasoft.org/api/projects/framaspace/statistics/?format=api",
                "categories_url": "https://weblate.framasoft.org/api/projects/framaspace/categories/?format=api",
                "changes_list_url": "https://weblate.framasoft.org/api/projects/framaspace/changes/?format=api",
                "languages_url": "https://weblate.framasoft.org/api/projects/framaspace/languages/?format=api",
                "labels_url": "https://weblate.framasoft.org/api/projects/framaspace/labels/?format=api",
                "translation_review": true,
                "source_review": false,
                "set_language_team": true,
                "instructions": "",
                "enable_hooks": true,
                "language_aliases": ""
            },
            "vcs": "gitlab",
            "repo": "git@framagit.org:framasoft/framaspace/charon.git",
            "git_export": "https://weblate.framasoft.org/git/framaspace/charon-messages/",
            "branch": "main",
            "push_branch": "",
            "filemask": "translations/messages+intl-icu.*.xlf",
            "screenshot_filemask": "",
            "template": "translations/messages+intl-icu.en.xlf",
            "edit_template": true,
            "intermediate": "",
            "new_base": "translations/messages+intl-icu.en.xlf",
            "file_format": "plainxliff",
            "license": "AGPL-3.0-only",
            "license_url": "https://spdx.org/licenses/AGPL-3.0-only.html",
            "agreement": "",
            "web_url": "https://weblate.framasoft.org/projects/framaspace/charon-messages/",
            "url": "https://weblate.framasoft.org/api/components/framaspace/charon-messages/?format=api",
            "repository_url": "https://weblate.framasoft.org/api/components/framaspace/charon-messages/repository/?format=api",
            "translations_url": "https://weblate.framasoft.org/api/components/framaspace/charon-messages/translations/?format=api",
            "statistics_url": "https://weblate.framasoft.org/api/components/framaspace/charon-messages/statistics/?format=api",
            "lock_url": "https://weblate.framasoft.org/api/components/framaspace/charon-messages/lock/?format=api",
            "links_url": "https://weblate.framasoft.org/api/components/framaspace/charon-messages/links/?format=api",
            "changes_list_url": "https://weblate.framasoft.org/api/components/framaspace/charon-messages/changes/?format=api",
            "task_url": null,
            "new_lang": "add",
            "language_code_style": "",
            "push": "git@framagit.org:framasoft/framaspace/charon.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": [],
            "is_glossary": false,
            "glossary_color": "silver",
            "category": null,
            "linked_component": null
        },
        {
            "name": "Framaspace",
            "slug": "glossary",
            "id": 180,
            "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": "Framaspace",
                "slug": "framaspace",
                "id": 50,
                "web": "https://www.frama.space/",
                "web_url": "https://weblate.framasoft.org/projects/framaspace/",
                "url": "https://weblate.framasoft.org/api/projects/framaspace/?format=api",
                "components_list_url": "https://weblate.framasoft.org/api/projects/framaspace/components/?format=api",
                "repository_url": "https://weblate.framasoft.org/api/projects/framaspace/repository/?format=api",
                "statistics_url": "https://weblate.framasoft.org/api/projects/framaspace/statistics/?format=api",
                "categories_url": "https://weblate.framasoft.org/api/projects/framaspace/categories/?format=api",
                "changes_list_url": "https://weblate.framasoft.org/api/projects/framaspace/changes/?format=api",
                "languages_url": "https://weblate.framasoft.org/api/projects/framaspace/languages/?format=api",
                "labels_url": "https://weblate.framasoft.org/api/projects/framaspace/labels/?format=api",
                "translation_review": true,
                "source_review": false,
                "set_language_team": true,
                "instructions": "",
                "enable_hooks": true,
                "language_aliases": ""
            },
            "vcs": "local",
            "repo": "local:",
            "git_export": "https://weblate.framasoft.org/git/framaspace/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/framaspace/glossary/",
            "url": "https://weblate.framasoft.org/api/components/framaspace/glossary/?format=api",
            "repository_url": "https://weblate.framasoft.org/api/components/framaspace/glossary/repository/?format=api",
            "translations_url": "https://weblate.framasoft.org/api/components/framaspace/glossary/translations/?format=api",
            "statistics_url": "https://weblate.framasoft.org/api/components/framaspace/glossary/statistics/?format=api",
            "lock_url": "https://weblate.framasoft.org/api/components/framaspace/glossary/lock/?format=api",
            "links_url": "https://weblate.framasoft.org/api/components/framaspace/glossary/links/?format=api",
            "changes_list_url": "https://weblate.framasoft.org/api/components/framaspace/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
        },
        {
            "name": "Charon (admin)",
            "slug": "charon-admin",
            "id": 181,
            "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": "Framaspace",
                "slug": "framaspace",
                "id": 50,
                "web": "https://www.frama.space/",
                "web_url": "https://weblate.framasoft.org/projects/framaspace/",
                "url": "https://weblate.framasoft.org/api/projects/framaspace/?format=api",
                "components_list_url": "https://weblate.framasoft.org/api/projects/framaspace/components/?format=api",
                "repository_url": "https://weblate.framasoft.org/api/projects/framaspace/repository/?format=api",
                "statistics_url": "https://weblate.framasoft.org/api/projects/framaspace/statistics/?format=api",
                "categories_url": "https://weblate.framasoft.org/api/projects/framaspace/categories/?format=api",
                "changes_list_url": "https://weblate.framasoft.org/api/projects/framaspace/changes/?format=api",
                "languages_url": "https://weblate.framasoft.org/api/projects/framaspace/languages/?format=api",
                "labels_url": "https://weblate.framasoft.org/api/projects/framaspace/labels/?format=api",
                "translation_review": true,
                "source_review": false,
                "set_language_team": true,
                "instructions": "",
                "enable_hooks": true,
                "language_aliases": ""
            },
            "vcs": "gitlab",
            "repo": "git@framagit.org:framasoft/framaspace/charon.git",
            "git_export": "",
            "branch": "main",
            "push_branch": "",
            "filemask": "translations/EasyAdminBundle+intl-icu.*.xlf",
            "screenshot_filemask": "",
            "template": "translations/EasyAdminBundle+intl-icu.en.xlf",
            "edit_template": true,
            "intermediate": "",
            "new_base": "translations/EasyAdminBundle+intl-icu.en.xlf",
            "file_format": "plainxliff",
            "license": "AGPL-3.0-only",
            "license_url": "https://spdx.org/licenses/AGPL-3.0-only.html",
            "agreement": "",
            "web_url": "https://weblate.framasoft.org/projects/framaspace/charon-admin/",
            "url": "https://weblate.framasoft.org/api/components/framaspace/charon-admin/?format=api",
            "repository_url": "https://weblate.framasoft.org/api/components/framaspace/charon-admin/repository/?format=api",
            "translations_url": "https://weblate.framasoft.org/api/components/framaspace/charon-admin/translations/?format=api",
            "statistics_url": "https://weblate.framasoft.org/api/components/framaspace/charon-admin/statistics/?format=api",
            "lock_url": "https://weblate.framasoft.org/api/components/framaspace/charon-admin/lock/?format=api",
            "links_url": "https://weblate.framasoft.org/api/components/framaspace/charon-admin/links/?format=api",
            "changes_list_url": "https://weblate.framasoft.org/api/components/framaspace/charon-admin/changes/?format=api",
            "task_url": null,
            "new_lang": "add",
            "language_code_style": "",
            "push": "git@framagit.org:framasoft/framaspace/charon.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": "https://weblate.framasoft.org/api/components/framaspace/charon-messages/?format=api"
        },
        {
            "name": "Charon (security)",
            "slug": "charon-security",
            "id": 182,
            "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": "Framaspace",
                "slug": "framaspace",
                "id": 50,
                "web": "https://www.frama.space/",
                "web_url": "https://weblate.framasoft.org/projects/framaspace/",
                "url": "https://weblate.framasoft.org/api/projects/framaspace/?format=api",
                "components_list_url": "https://weblate.framasoft.org/api/projects/framaspace/components/?format=api",
                "repository_url": "https://weblate.framasoft.org/api/projects/framaspace/repository/?format=api",
                "statistics_url": "https://weblate.framasoft.org/api/projects/framaspace/statistics/?format=api",
                "categories_url": "https://weblate.framasoft.org/api/projects/framaspace/categories/?format=api",
                "changes_list_url": "https://weblate.framasoft.org/api/projects/framaspace/changes/?format=api",
                "languages_url": "https://weblate.framasoft.org/api/projects/framaspace/languages/?format=api",
                "labels_url": "https://weblate.framasoft.org/api/projects/framaspace/labels/?format=api",
                "translation_review": true,
                "source_review": false,
                "set_language_team": true,
                "instructions": "",
                "enable_hooks": true,
                "language_aliases": ""
            },
            "vcs": "gitlab",
            "repo": "git@framagit.org:framasoft/framaspace/charon.git",
            "git_export": "",
            "branch": "main",
            "push_branch": "",
            "filemask": "translations/security.*.xlf",
            "screenshot_filemask": "",
            "template": "translations/security.en.xlf",
            "edit_template": true,
            "intermediate": "",
            "new_base": "translations/security.en.xlf",
            "file_format": "plainxliff",
            "license": "AGPL-3.0-only",
            "license_url": "https://spdx.org/licenses/AGPL-3.0-only.html",
            "agreement": "",
            "web_url": "https://weblate.framasoft.org/projects/framaspace/charon-security/",
            "url": "https://weblate.framasoft.org/api/components/framaspace/charon-security/?format=api",
            "repository_url": "https://weblate.framasoft.org/api/components/framaspace/charon-security/repository/?format=api",
            "translations_url": "https://weblate.framasoft.org/api/components/framaspace/charon-security/translations/?format=api",
            "statistics_url": "https://weblate.framasoft.org/api/components/framaspace/charon-security/statistics/?format=api",
            "lock_url": "https://weblate.framasoft.org/api/components/framaspace/charon-security/lock/?format=api",
            "links_url": "https://weblate.framasoft.org/api/components/framaspace/charon-security/links/?format=api",
            "changes_list_url": "https://weblate.framasoft.org/api/components/framaspace/charon-security/changes/?format=api",
            "task_url": null,
            "new_lang": "contact",
            "language_code_style": "",
            "push": "git@framagit.org:framasoft/framaspace/charon.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": "https://weblate.framasoft.org/api/components/framaspace/charon-messages/?format=api"
        },
        {
            "name": "Charon (validation)",
            "slug": "charon-validation",
            "id": 183,
            "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": "Framaspace",
                "slug": "framaspace",
                "id": 50,
                "web": "https://www.frama.space/",
                "web_url": "https://weblate.framasoft.org/projects/framaspace/",
                "url": "https://weblate.framasoft.org/api/projects/framaspace/?format=api",
                "components_list_url": "https://weblate.framasoft.org/api/projects/framaspace/components/?format=api",
                "repository_url": "https://weblate.framasoft.org/api/projects/framaspace/repository/?format=api",
                "statistics_url": "https://weblate.framasoft.org/api/projects/framaspace/statistics/?format=api",
                "categories_url": "https://weblate.framasoft.org/api/projects/framaspace/categories/?format=api",
                "changes_list_url": "https://weblate.framasoft.org/api/projects/framaspace/changes/?format=api",
                "languages_url": "https://weblate.framasoft.org/api/projects/framaspace/languages/?format=api",
                "labels_url": "https://weblate.framasoft.org/api/projects/framaspace/labels/?format=api",
                "translation_review": true,
                "source_review": false,
                "set_language_team": true,
                "instructions": "",
                "enable_hooks": true,
                "language_aliases": ""
            },
            "vcs": "gitlab",
            "repo": "git@framagit.org:framasoft/framaspace/charon.git",
            "git_export": "",
            "branch": "main",
            "push_branch": "",
            "filemask": "translations/validators.*.xlf",
            "screenshot_filemask": "",
            "template": "translations/validators.en.xlf",
            "edit_template": true,
            "intermediate": "",
            "new_base": "translations/validators.en.xlf",
            "file_format": "plainxliff",
            "license": "AGPL-3.0-only",
            "license_url": "https://spdx.org/licenses/AGPL-3.0-only.html",
            "agreement": "",
            "web_url": "https://weblate.framasoft.org/projects/framaspace/charon-validation/",
            "url": "https://weblate.framasoft.org/api/components/framaspace/charon-validation/?format=api",
            "repository_url": "https://weblate.framasoft.org/api/components/framaspace/charon-validation/repository/?format=api",
            "translations_url": "https://weblate.framasoft.org/api/components/framaspace/charon-validation/translations/?format=api",
            "statistics_url": "https://weblate.framasoft.org/api/components/framaspace/charon-validation/statistics/?format=api",
            "lock_url": "https://weblate.framasoft.org/api/components/framaspace/charon-validation/lock/?format=api",
            "links_url": "https://weblate.framasoft.org/api/components/framaspace/charon-validation/links/?format=api",
            "changes_list_url": "https://weblate.framasoft.org/api/components/framaspace/charon-validation/changes/?format=api",
            "task_url": null,
            "new_lang": "contact",
            "language_code_style": "",
            "push": "git@framagit.org:framasoft/framaspace/charon.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": "https://weblate.framasoft.org/api/components/framaspace/charon-messages/?format=api"
        },
        {
            "name": "Manifest",
            "slug": "manifest",
            "id": 184,
            "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/*/manifest.yml",
            "screenshot_filemask": "",
            "template": "src/translations/en/manifest.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/manifest/",
            "url": "https://weblate.framasoft.org/api/components/framasoft/manifest/?format=api",
            "repository_url": "https://weblate.framasoft.org/api/components/framasoft/manifest/repository/?format=api",
            "translations_url": "https://weblate.framasoft.org/api/components/framasoft/manifest/translations/?format=api",
            "statistics_url": "https://weblate.framasoft.org/api/components/framasoft/manifest/statistics/?format=api",
            "lock_url": "https://weblate.framasoft.org/api/components/framasoft/manifest/lock/?format=api",
            "links_url": "https://weblate.framasoft.org/api/components/framasoft/manifest/links/?format=api",
            "changes_list_url": "https://weblate.framasoft.org/api/components/framasoft/manifest/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"
        },
        {
            "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"
        },
        {
            "name": "Educ-pop",
            "slug": "educ-pop",
            "id": 186,
            "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/*/educ-pop.yml",
            "screenshot_filemask": "",
            "template": "src/translations/en/educ-pop.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/educ-pop/",
            "url": "https://weblate.framasoft.org/api/components/framasoft/educ-pop/?format=api",
            "repository_url": "https://weblate.framasoft.org/api/components/framasoft/educ-pop/repository/?format=api",
            "translations_url": "https://weblate.framasoft.org/api/components/framasoft/educ-pop/translations/?format=api",
            "statistics_url": "https://weblate.framasoft.org/api/components/framasoft/educ-pop/statistics/?format=api",
            "lock_url": "https://weblate.framasoft.org/api/components/framasoft/educ-pop/lock/?format=api",
            "links_url": "https://weblate.framasoft.org/api/components/framasoft/educ-pop/links/?format=api",
            "changes_list_url": "https://weblate.framasoft.org/api/components/framasoft/educ-pop/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"
        },
        {
            "name": "Empowerment",
            "slug": "empowerment",
            "id": 187,
            "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/*/empowerment.yml",
            "screenshot_filemask": "",
            "template": "src/translations/en/empowerment.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/empowerment/",
            "url": "https://weblate.framasoft.org/api/components/framasoft/empowerment/?format=api",
            "repository_url": "https://weblate.framasoft.org/api/components/framasoft/empowerment/repository/?format=api",
            "translations_url": "https://weblate.framasoft.org/api/components/framasoft/empowerment/translations/?format=api",
            "statistics_url": "https://weblate.framasoft.org/api/components/framasoft/empowerment/statistics/?format=api",
            "lock_url": "https://weblate.framasoft.org/api/components/framasoft/empowerment/lock/?format=api",
            "links_url": "https://weblate.framasoft.org/api/components/framasoft/empowerment/links/?format=api",
            "changes_list_url": "https://weblate.framasoft.org/api/components/framasoft/empowerment/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"
        },
        {
            "name": "Main 2",
            "slug": "main-2",
            "id": 188,
            "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": "Dégooglisons Internet",
                "slug": "degooglisons-internet",
                "id": 39,
                "web": "https://degooglisons-internet.org",
                "web_url": "https://weblate.framasoft.org/projects/degooglisons-internet/",
                "url": "https://weblate.framasoft.org/api/projects/degooglisons-internet/?format=api",
                "components_list_url": "https://weblate.framasoft.org/api/projects/degooglisons-internet/components/?format=api",
                "repository_url": "https://weblate.framasoft.org/api/projects/degooglisons-internet/repository/?format=api",
                "statistics_url": "https://weblate.framasoft.org/api/projects/degooglisons-internet/statistics/?format=api",
                "categories_url": "https://weblate.framasoft.org/api/projects/degooglisons-internet/categories/?format=api",
                "changes_list_url": "https://weblate.framasoft.org/api/projects/degooglisons-internet/changes/?format=api",
                "languages_url": "https://weblate.framasoft.org/api/projects/degooglisons-internet/languages/?format=api",
                "labels_url": "https://weblate.framasoft.org/api/projects/degooglisons-internet/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/degooglisons.git",
            "git_export": "",
            "branch": "master",
            "push_branch": "",
            "filemask": "src/translations/*/main2.yml",
            "screenshot_filemask": "",
            "template": "src/translations/en/main2.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/degooglisons-internet/main-2/",
            "url": "https://weblate.framasoft.org/api/components/degooglisons-internet/main-2/?format=api",
            "repository_url": "https://weblate.framasoft.org/api/components/degooglisons-internet/main-2/repository/?format=api",
            "translations_url": "https://weblate.framasoft.org/api/components/degooglisons-internet/main-2/translations/?format=api",
            "statistics_url": "https://weblate.framasoft.org/api/components/degooglisons-internet/main-2/statistics/?format=api",
            "lock_url": "https://weblate.framasoft.org/api/components/degooglisons-internet/main-2/lock/?format=api",
            "links_url": "https://weblate.framasoft.org/api/components/degooglisons-internet/main-2/links/?format=api",
            "changes_list_url": "https://weblate.framasoft.org/api/components/degooglisons-internet/main-2/changes/?format=api",
            "task_url": null,
            "new_lang": "add",
            "language_code_style": "",
            "push": "",
            "check_flags": "",
            "priority": 140,
            "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": "https://weblate.framasoft.org/api/components/degooglisons-internet/main/?format=api"
        },
        {
            "name": "server",
            "slug": "server",
            "id": 192,
            "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": "Inventaire",
                "slug": "inventaire",
                "id": 51,
                "web": "https://inventaire.io",
                "web_url": "https://weblate.framasoft.org/projects/inventaire/",
                "url": "https://weblate.framasoft.org/api/projects/inventaire/?format=api",
                "components_list_url": "https://weblate.framasoft.org/api/projects/inventaire/components/?format=api",
                "repository_url": "https://weblate.framasoft.org/api/projects/inventaire/repository/?format=api",
                "statistics_url": "https://weblate.framasoft.org/api/projects/inventaire/statistics/?format=api",
                "categories_url": "https://weblate.framasoft.org/api/projects/inventaire/categories/?format=api",
                "changes_list_url": "https://weblate.framasoft.org/api/projects/inventaire/changes/?format=api",
                "languages_url": "https://weblate.framasoft.org/api/projects/inventaire/languages/?format=api",
                "labels_url": "https://weblate.framasoft.org/api/projects/inventaire/labels/?format=api",
                "translation_review": false,
                "source_review": false,
                "set_language_team": true,
                "instructions": "",
                "enable_hooks": true,
                "language_aliases": ""
            },
            "vcs": "git",
            "repo": "https://github.com/inventaire/inventaire-i18n.git",
            "git_export": "https://weblate.framasoft.org/git/inventaire/server/",
            "branch": "main",
            "push_branch": "",
            "filemask": "src/server/*.json",
            "screenshot_filemask": "",
            "template": "src/server/en.json",
            "edit_template": true,
            "intermediate": "",
            "new_base": "",
            "file_format": "json",
            "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/inventaire/server/",
            "url": "https://weblate.framasoft.org/api/components/inventaire/server/?format=api",
            "repository_url": "https://weblate.framasoft.org/api/components/inventaire/server/repository/?format=api",
            "translations_url": "https://weblate.framasoft.org/api/components/inventaire/server/translations/?format=api",
            "statistics_url": "https://weblate.framasoft.org/api/components/inventaire/server/statistics/?format=api",
            "lock_url": "https://weblate.framasoft.org/api/components/inventaire/server/lock/?format=api",
            "links_url": "https://weblate.framasoft.org/api/components/inventaire/server/links/?format=api",
            "changes_list_url": "https://weblate.framasoft.org/api/components/inventaire/server/changes/?format=api",
            "task_url": null,
            "new_lang": "contact",
            "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 }}\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": [
                "https://weblate.framasoft.org/api/addons/23/?format=api",
                "https://weblate.framasoft.org/api/addons/28/?format=api",
                "https://weblate.framasoft.org/api/addons/30/?format=api",
                "https://weblate.framasoft.org/api/addons/24/?format=api"
            ],
            "is_glossary": true,
            "glossary_color": "silver",
            "category": null,
            "linked_component": null
        },
        {
            "name": "client",
            "slug": "client",
            "id": 193,
            "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": "Inventaire",
                "slug": "inventaire",
                "id": 51,
                "web": "https://inventaire.io",
                "web_url": "https://weblate.framasoft.org/projects/inventaire/",
                "url": "https://weblate.framasoft.org/api/projects/inventaire/?format=api",
                "components_list_url": "https://weblate.framasoft.org/api/projects/inventaire/components/?format=api",
                "repository_url": "https://weblate.framasoft.org/api/projects/inventaire/repository/?format=api",
                "statistics_url": "https://weblate.framasoft.org/api/projects/inventaire/statistics/?format=api",
                "categories_url": "https://weblate.framasoft.org/api/projects/inventaire/categories/?format=api",
                "changes_list_url": "https://weblate.framasoft.org/api/projects/inventaire/changes/?format=api",
                "languages_url": "https://weblate.framasoft.org/api/projects/inventaire/languages/?format=api",
                "labels_url": "https://weblate.framasoft.org/api/projects/inventaire/labels/?format=api",
                "translation_review": false,
                "source_review": false,
                "set_language_team": true,
                "instructions": "",
                "enable_hooks": true,
                "language_aliases": ""
            },
            "vcs": "git",
            "repo": "https://github.com/inventaire/inventaire-i18n.git",
            "git_export": "",
            "branch": "main",
            "push_branch": "",
            "filemask": "src/client/*.json",
            "screenshot_filemask": "",
            "template": "src/client/en.json",
            "edit_template": true,
            "intermediate": "",
            "new_base": "",
            "file_format": "json",
            "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/inventaire/client/",
            "url": "https://weblate.framasoft.org/api/components/inventaire/client/?format=api",
            "repository_url": "https://weblate.framasoft.org/api/components/inventaire/client/repository/?format=api",
            "translations_url": "https://weblate.framasoft.org/api/components/inventaire/client/translations/?format=api",
            "statistics_url": "https://weblate.framasoft.org/api/components/inventaire/client/statistics/?format=api",
            "lock_url": "https://weblate.framasoft.org/api/components/inventaire/client/lock/?format=api",
            "links_url": "https://weblate.framasoft.org/api/components/inventaire/client/links/?format=api",
            "changes_list_url": "https://weblate.framasoft.org/api/components/inventaire/client/changes/?format=api",
            "task_url": null,
            "new_lang": "contact",
            "language_code_style": "",
            "push": "",
            "check_flags": "vue-format",
            "priority": 100,
            "enforced_checks": [
                "vue_format"
            ],
            "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": [
                "https://weblate.framasoft.org/api/addons/27/?format=api",
                "https://weblate.framasoft.org/api/addons/29/?format=api",
                "https://weblate.framasoft.org/api/addons/26/?format=api"
            ],
            "is_glossary": true,
            "glossary_color": "silver",
            "category": null,
            "linked_component": "https://weblate.framasoft.org/api/components/inventaire/server/?format=api"
        },
        {
            "name": "PeerTube LiveChat",
            "slug": "glossary",
            "id": 195,
            "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": "PeerTube LiveChat",
                "slug": "peertube-livechat",
                "id": 52,
                "web": "https://github.com/JohnXLivingston/peertube-plugin-livechat",
                "web_url": "https://weblate.framasoft.org/projects/peertube-livechat/",
                "url": "https://weblate.framasoft.org/api/projects/peertube-livechat/?format=api",
                "components_list_url": "https://weblate.framasoft.org/api/projects/peertube-livechat/components/?format=api",
                "repository_url": "https://weblate.framasoft.org/api/projects/peertube-livechat/repository/?format=api",
                "statistics_url": "https://weblate.framasoft.org/api/projects/peertube-livechat/statistics/?format=api",
                "categories_url": "https://weblate.framasoft.org/api/projects/peertube-livechat/categories/?format=api",
                "changes_list_url": "https://weblate.framasoft.org/api/projects/peertube-livechat/changes/?format=api",
                "languages_url": "https://weblate.framasoft.org/api/projects/peertube-livechat/languages/?format=api",
                "labels_url": "https://weblate.framasoft.org/api/projects/peertube-livechat/labels/?format=api",
                "translation_review": false,
                "source_review": false,
                "set_language_team": true,
                "instructions": "Please find some translation directives in the documentation: https://livingston.frama.io/peertube-plugin-livechat/contributing/translate/",
                "enable_hooks": true,
                "language_aliases": ""
            },
            "vcs": "local",
            "repo": "local:",
            "git_export": "https://weblate.framasoft.org/git/peertube-livechat/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/peertube-livechat/glossary/",
            "url": "https://weblate.framasoft.org/api/components/peertube-livechat/glossary/?format=api",
            "repository_url": "https://weblate.framasoft.org/api/components/peertube-livechat/glossary/repository/?format=api",
            "translations_url": "https://weblate.framasoft.org/api/components/peertube-livechat/glossary/translations/?format=api",
            "statistics_url": "https://weblate.framasoft.org/api/components/peertube-livechat/glossary/statistics/?format=api",
            "lock_url": "https://weblate.framasoft.org/api/components/peertube-livechat/glossary/lock/?format=api",
            "links_url": "https://weblate.framasoft.org/api/components/peertube-livechat/glossary/links/?format=api",
            "changes_list_url": "https://weblate.framasoft.org/api/components/peertube-livechat/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
        },
        {
            "name": "Peertube Plugin LiveChat",
            "slug": "peertube-plugin-livechat",
            "id": 199,
            "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": "PeerTube LiveChat",
                "slug": "peertube-livechat",
                "id": 52,
                "web": "https://github.com/JohnXLivingston/peertube-plugin-livechat",
                "web_url": "https://weblate.framasoft.org/projects/peertube-livechat/",
                "url": "https://weblate.framasoft.org/api/projects/peertube-livechat/?format=api",
                "components_list_url": "https://weblate.framasoft.org/api/projects/peertube-livechat/components/?format=api",
                "repository_url": "https://weblate.framasoft.org/api/projects/peertube-livechat/repository/?format=api",
                "statistics_url": "https://weblate.framasoft.org/api/projects/peertube-livechat/statistics/?format=api",
                "categories_url": "https://weblate.framasoft.org/api/projects/peertube-livechat/categories/?format=api",
                "changes_list_url": "https://weblate.framasoft.org/api/projects/peertube-livechat/changes/?format=api",
                "languages_url": "https://weblate.framasoft.org/api/projects/peertube-livechat/languages/?format=api",
                "labels_url": "https://weblate.framasoft.org/api/projects/peertube-livechat/labels/?format=api",
                "translation_review": false,
                "source_review": false,
                "set_language_team": true,
                "instructions": "Please find some translation directives in the documentation: https://livingston.frama.io/peertube-plugin-livechat/contributing/translate/",
                "enable_hooks": true,
                "language_aliases": ""
            },
            "vcs": "github",
            "repo": "git@github.com:JohnXLivingston/peertube-plugin-livechat.git",
            "git_export": "https://weblate.framasoft.org/git/peertube-livechat/peertube-plugin-livechat/",
            "branch": "main",
            "push_branch": "",
            "filemask": "languages/*.yml",
            "screenshot_filemask": "",
            "template": "languages/en.yml",
            "edit_template": true,
            "intermediate": "",
            "new_base": "languages/en.yml",
            "file_format": "yaml",
            "license": "AGPL-3.0-only",
            "license_url": "https://spdx.org/licenses/AGPL-3.0-only.html",
            "agreement": "",
            "web_url": "https://weblate.framasoft.org/projects/peertube-livechat/peertube-plugin-livechat/",
            "url": "https://weblate.framasoft.org/api/components/peertube-livechat/peertube-plugin-livechat/?format=api",
            "repository_url": "https://weblate.framasoft.org/api/components/peertube-livechat/peertube-plugin-livechat/repository/?format=api",
            "translations_url": "https://weblate.framasoft.org/api/components/peertube-livechat/peertube-plugin-livechat/translations/?format=api",
            "statistics_url": "https://weblate.framasoft.org/api/components/peertube-livechat/peertube-plugin-livechat/statistics/?format=api",
            "lock_url": "https://weblate.framasoft.org/api/components/peertube-livechat/peertube-plugin-livechat/lock/?format=api",
            "links_url": "https://weblate.framasoft.org/api/components/peertube-livechat/peertube-plugin-livechat/links/?format=api",
            "changes_list_url": "https://weblate.framasoft.org/api/components/peertube-livechat/peertube-plugin-livechat/changes/?format=api",
            "task_url": null,
            "new_lang": "add",
            "language_code_style": "",
            "push": "git@github.com:JohnXLivingston/peertube-plugin-livechat.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/34/?format=api"
            ],
            "is_glossary": false,
            "glossary_color": "silver",
            "category": null,
            "linked_component": null
        },
        {
            "name": "Peertube Plugin Livechat Documentation",
            "slug": "peertube-plugin-livechat-documentation",
            "id": 200,
            "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": "PeerTube LiveChat",
                "slug": "peertube-livechat",
                "id": 52,
                "web": "https://github.com/JohnXLivingston/peertube-plugin-livechat",
                "web_url": "https://weblate.framasoft.org/projects/peertube-livechat/",
                "url": "https://weblate.framasoft.org/api/projects/peertube-livechat/?format=api",
                "components_list_url": "https://weblate.framasoft.org/api/projects/peertube-livechat/components/?format=api",
                "repository_url": "https://weblate.framasoft.org/api/projects/peertube-livechat/repository/?format=api",
                "statistics_url": "https://weblate.framasoft.org/api/projects/peertube-livechat/statistics/?format=api",
                "categories_url": "https://weblate.framasoft.org/api/projects/peertube-livechat/categories/?format=api",
                "changes_list_url": "https://weblate.framasoft.org/api/projects/peertube-livechat/changes/?format=api",
                "languages_url": "https://weblate.framasoft.org/api/projects/peertube-livechat/languages/?format=api",
                "labels_url": "https://weblate.framasoft.org/api/projects/peertube-livechat/labels/?format=api",
                "translation_review": false,
                "source_review": false,
                "set_language_team": true,
                "instructions": "Please find some translation directives in the documentation: https://livingston.frama.io/peertube-plugin-livechat/contributing/translate/",
                "enable_hooks": true,
                "language_aliases": ""
            },
            "vcs": "github",
            "repo": "git@github.com:JohnXLivingston/peertube-plugin-livechat.git",
            "git_export": "https://weblate.framasoft.org/git/peertube-livechat/peertube-plugin-livechat-documentation/",
            "branch": "main",
            "push_branch": "main",
            "filemask": "support/documentation/po/livechat.*.po",
            "screenshot_filemask": "",
            "template": "",
            "edit_template": false,
            "intermediate": "",
            "new_base": "support/documentation/po/livechat.en.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/peertube-livechat/peertube-plugin-livechat-documentation/",
            "url": "https://weblate.framasoft.org/api/components/peertube-livechat/peertube-plugin-livechat-documentation/?format=api",
            "repository_url": "https://weblate.framasoft.org/api/components/peertube-livechat/peertube-plugin-livechat-documentation/repository/?format=api",
            "translations_url": "https://weblate.framasoft.org/api/components/peertube-livechat/peertube-plugin-livechat-documentation/translations/?format=api",
            "statistics_url": "https://weblate.framasoft.org/api/components/peertube-livechat/peertube-plugin-livechat-documentation/statistics/?format=api",
            "lock_url": "https://weblate.framasoft.org/api/components/peertube-livechat/peertube-plugin-livechat-documentation/lock/?format=api",
            "links_url": "https://weblate.framasoft.org/api/components/peertube-livechat/peertube-plugin-livechat-documentation/links/?format=api",
            "changes_list_url": "https://weblate.framasoft.org/api/components/peertube-livechat/peertube-plugin-livechat-documentation/changes/?format=api",
            "task_url": null,
            "new_lang": "contact",
            "language_code_style": "",
            "push": "git@github.com:JohnXLivingston/peertube-plugin-livechat.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": 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
        },
        {
            "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
        }
    ]
}