Alexander Brandon Coles ccccead89f Merge branch 'dev' into merge-release/17.3-20260411112919
# Conflicts:
#	config/locales/crowdin/af.yml
#	config/locales/crowdin/ar.yml
#	config/locales/crowdin/az.yml
#	config/locales/crowdin/be.yml
#	config/locales/crowdin/bg.yml
#	config/locales/crowdin/ca.yml
#	config/locales/crowdin/ckb-IR.yml
#	config/locales/crowdin/cs.yml
#	config/locales/crowdin/da.yml
#	config/locales/crowdin/de.yml
#	config/locales/crowdin/el.yml
#	config/locales/crowdin/eo.yml
#	config/locales/crowdin/es.yml
#	config/locales/crowdin/et.yml
#	config/locales/crowdin/eu.yml
#	config/locales/crowdin/fa.yml
#	config/locales/crowdin/fi.yml
#	config/locales/crowdin/fil.yml
#	config/locales/crowdin/fr.yml
#	config/locales/crowdin/he.yml
#	config/locales/crowdin/hi.yml
#	config/locales/crowdin/hr.yml
#	config/locales/crowdin/hu.yml
#	config/locales/crowdin/id.yml
#	config/locales/crowdin/it.yml
#	config/locales/crowdin/ja.yml
#	config/locales/crowdin/js-af.yml
#	config/locales/crowdin/js-ar.yml
#	config/locales/crowdin/js-az.yml
#	config/locales/crowdin/js-be.yml
#	config/locales/crowdin/js-bg.yml
#	config/locales/crowdin/js-ca.yml
#	config/locales/crowdin/js-ckb-IR.yml
#	config/locales/crowdin/js-cs.yml
#	config/locales/crowdin/js-da.yml
#	config/locales/crowdin/js-de.yml
#	config/locales/crowdin/js-el.yml
#	config/locales/crowdin/js-eo.yml
#	config/locales/crowdin/js-es.yml
#	config/locales/crowdin/js-et.yml
#	config/locales/crowdin/js-eu.yml
#	config/locales/crowdin/js-fa.yml
#	config/locales/crowdin/js-fi.yml
#	config/locales/crowdin/js-fil.yml
#	config/locales/crowdin/js-fr.yml
#	config/locales/crowdin/js-he.yml
#	config/locales/crowdin/js-hi.yml
#	config/locales/crowdin/js-hr.yml
#	config/locales/crowdin/js-hu.yml
#	config/locales/crowdin/js-id.yml
#	config/locales/crowdin/js-it.yml
#	config/locales/crowdin/js-ja.yml
#	config/locales/crowdin/js-ka.yml
#	config/locales/crowdin/js-kk.yml
#	config/locales/crowdin/js-ko.yml
#	config/locales/crowdin/js-lt.yml
#	config/locales/crowdin/js-lv.yml
#	config/locales/crowdin/js-mn.yml
#	config/locales/crowdin/js-ms.yml
#	config/locales/crowdin/js-ne.yml
#	config/locales/crowdin/js-nl.yml
#	config/locales/crowdin/js-no.yml
#	config/locales/crowdin/js-pl.yml
#	config/locales/crowdin/js-pt-BR.yml
#	config/locales/crowdin/js-pt-PT.yml
#	config/locales/crowdin/js-ro.yml
#	config/locales/crowdin/js-ru.yml
#	config/locales/crowdin/js-rw.yml
#	config/locales/crowdin/js-si.yml
#	config/locales/crowdin/js-sk.yml
#	config/locales/crowdin/js-sl.yml
#	config/locales/crowdin/js-sr.yml
#	config/locales/crowdin/js-sv.yml
#	config/locales/crowdin/js-th.yml
#	config/locales/crowdin/js-tr.yml
#	config/locales/crowdin/js-uk.yml
#	config/locales/crowdin/js-uz.yml
#	config/locales/crowdin/js-vi.yml
#	config/locales/crowdin/js-zh-CN.yml
#	config/locales/crowdin/js-zh-TW.yml
#	config/locales/crowdin/ka.yml
#	config/locales/crowdin/kk.yml
#	config/locales/crowdin/ko.yml
#	config/locales/crowdin/lt.yml
#	config/locales/crowdin/lv.yml
#	config/locales/crowdin/mn.yml
#	config/locales/crowdin/ms.yml
#	config/locales/crowdin/ne.yml
#	config/locales/crowdin/nl.yml
#	config/locales/crowdin/no.yml
#	config/locales/crowdin/pl.yml
#	config/locales/crowdin/pt-BR.yml
#	config/locales/crowdin/pt-PT.yml
#	config/locales/crowdin/ro.yml
#	config/locales/crowdin/ru.yml
#	config/locales/crowdin/rw.yml
#	config/locales/crowdin/si.yml
#	config/locales/crowdin/sk.yml
#	config/locales/crowdin/sl.yml
#	config/locales/crowdin/sr.yml
#	config/locales/crowdin/sv.yml
#	config/locales/crowdin/th.yml
#	config/locales/crowdin/tr.yml
#	config/locales/crowdin/uk.yml
#	config/locales/crowdin/uz.yml
#	config/locales/crowdin/vi.yml
#	config/locales/crowdin/zh-CN.yml
#	config/locales/crowdin/zh-TW.yml
#	modules/backlogs/config/locales/crowdin/af.yml
#	modules/backlogs/config/locales/crowdin/ar.yml
#	modules/backlogs/config/locales/crowdin/az.yml
#	modules/backlogs/config/locales/crowdin/be.yml
#	modules/backlogs/config/locales/crowdin/bg.yml
#	modules/backlogs/config/locales/crowdin/ca.yml
#	modules/backlogs/config/locales/crowdin/ckb-IR.yml
#	modules/backlogs/config/locales/crowdin/cs.yml
#	modules/backlogs/config/locales/crowdin/da.yml
#	modules/backlogs/config/locales/crowdin/de.yml
#	modules/backlogs/config/locales/crowdin/el.yml
#	modules/backlogs/config/locales/crowdin/eo.yml
#	modules/backlogs/config/locales/crowdin/es.yml
#	modules/backlogs/config/locales/crowdin/et.yml
#	modules/backlogs/config/locales/crowdin/eu.yml
#	modules/backlogs/config/locales/crowdin/fa.yml
#	modules/backlogs/config/locales/crowdin/fi.yml
#	modules/backlogs/config/locales/crowdin/fil.yml
#	modules/backlogs/config/locales/crowdin/fr.yml
#	modules/backlogs/config/locales/crowdin/he.yml
#	modules/backlogs/config/locales/crowdin/hi.yml
#	modules/backlogs/config/locales/crowdin/hr.yml
#	modules/backlogs/config/locales/crowdin/hu.yml
#	modules/backlogs/config/locales/crowdin/id.yml
#	modules/backlogs/config/locales/crowdin/it.yml
#	modules/backlogs/config/locales/crowdin/ja.yml
#	modules/backlogs/config/locales/crowdin/ka.yml
#	modules/backlogs/config/locales/crowdin/kk.yml
#	modules/backlogs/config/locales/crowdin/ko.yml
#	modules/backlogs/config/locales/crowdin/lt.yml
#	modules/backlogs/config/locales/crowdin/lv.yml
#	modules/backlogs/config/locales/crowdin/mn.yml
#	modules/backlogs/config/locales/crowdin/ms.yml
#	modules/backlogs/config/locales/crowdin/ne.yml
#	modules/backlogs/config/locales/crowdin/nl.yml
#	modules/backlogs/config/locales/crowdin/no.yml
#	modules/backlogs/config/locales/crowdin/pl.yml
#	modules/backlogs/config/locales/crowdin/pt-BR.yml
#	modules/backlogs/config/locales/crowdin/pt-PT.yml
#	modules/backlogs/config/locales/crowdin/ro.yml
#	modules/backlogs/config/locales/crowdin/ru.yml
#	modules/backlogs/config/locales/crowdin/rw.yml
#	modules/backlogs/config/locales/crowdin/si.yml
#	modules/backlogs/config/locales/crowdin/sk.yml
#	modules/backlogs/config/locales/crowdin/sl.yml
#	modules/backlogs/config/locales/crowdin/sr.yml
#	modules/backlogs/config/locales/crowdin/sv.yml
#	modules/backlogs/config/locales/crowdin/th.yml
#	modules/backlogs/config/locales/crowdin/tr.yml
#	modules/backlogs/config/locales/crowdin/uk.yml
#	modules/backlogs/config/locales/crowdin/uz.yml
#	modules/backlogs/config/locales/crowdin/vi.yml
#	modules/backlogs/config/locales/crowdin/zh-CN.yml
#	modules/backlogs/config/locales/crowdin/zh-TW.yml
#	modules/bim/config/locales/crowdin/fr.yml
#	modules/budgets/config/locales/crowdin/cs.yml
#	modules/costs/config/locales/crowdin/ja.yml
#	modules/documents/config/locales/crowdin/af.yml
#	modules/documents/config/locales/crowdin/ar.yml
#	modules/documents/config/locales/crowdin/az.yml
#	modules/documents/config/locales/crowdin/be.yml
#	modules/documents/config/locales/crowdin/bg.yml
#	modules/documents/config/locales/crowdin/ca.yml
#	modules/documents/config/locales/crowdin/ckb-IR.yml
#	modules/documents/config/locales/crowdin/cs.yml
#	modules/documents/config/locales/crowdin/da.yml
#	modules/documents/config/locales/crowdin/de.yml
#	modules/documents/config/locales/crowdin/el.yml
#	modules/documents/config/locales/crowdin/eo.yml
#	modules/documents/config/locales/crowdin/es.yml
#	modules/documents/config/locales/crowdin/et.yml
#	modules/documents/config/locales/crowdin/eu.yml
#	modules/documents/config/locales/crowdin/fa.yml
#	modules/documents/config/locales/crowdin/fi.yml
#	modules/documents/config/locales/crowdin/fil.yml
#	modules/documents/config/locales/crowdin/fr.yml
#	modules/documents/config/locales/crowdin/he.yml
#	modules/documents/config/locales/crowdin/hi.yml
#	modules/documents/config/locales/crowdin/hr.yml
#	modules/documents/config/locales/crowdin/hu.yml
#	modules/documents/config/locales/crowdin/id.yml
#	modules/documents/config/locales/crowdin/it.yml
#	modules/documents/config/locales/crowdin/ja.yml
#	modules/documents/config/locales/crowdin/ka.yml
#	modules/documents/config/locales/crowdin/kk.yml
#	modules/documents/config/locales/crowdin/ko.yml
#	modules/documents/config/locales/crowdin/lt.yml
#	modules/documents/config/locales/crowdin/lv.yml
#	modules/documents/config/locales/crowdin/mn.yml
#	modules/documents/config/locales/crowdin/ms.yml
#	modules/documents/config/locales/crowdin/ne.yml
#	modules/documents/config/locales/crowdin/nl.yml
#	modules/documents/config/locales/crowdin/no.yml
#	modules/documents/config/locales/crowdin/pl.yml
#	modules/documents/config/locales/crowdin/pt-BR.yml
#	modules/documents/config/locales/crowdin/pt-PT.yml
#	modules/documents/config/locales/crowdin/ro.yml
#	modules/documents/config/locales/crowdin/ru.yml
#	modules/documents/config/locales/crowdin/rw.yml
#	modules/documents/config/locales/crowdin/si.yml
#	modules/documents/config/locales/crowdin/sk.yml
#	modules/documents/config/locales/crowdin/sl.yml
#	modules/documents/config/locales/crowdin/sr.yml
#	modules/documents/config/locales/crowdin/sv.yml
#	modules/documents/config/locales/crowdin/th.yml
#	modules/documents/config/locales/crowdin/tr.yml
#	modules/documents/config/locales/crowdin/uk.yml
#	modules/documents/config/locales/crowdin/uz.yml
#	modules/documents/config/locales/crowdin/vi.yml
#	modules/documents/config/locales/crowdin/zh-CN.yml
#	modules/documents/config/locales/crowdin/zh-TW.yml
#	modules/gitlab_integration/config/locales/crowdin/af.yml
#	modules/gitlab_integration/config/locales/crowdin/ar.yml
#	modules/gitlab_integration/config/locales/crowdin/az.yml
#	modules/gitlab_integration/config/locales/crowdin/be.yml
#	modules/gitlab_integration/config/locales/crowdin/bg.yml
#	modules/gitlab_integration/config/locales/crowdin/ca.yml
#	modules/gitlab_integration/config/locales/crowdin/ckb-IR.yml
#	modules/gitlab_integration/config/locales/crowdin/cs.yml
#	modules/gitlab_integration/config/locales/crowdin/da.yml
#	modules/gitlab_integration/config/locales/crowdin/de.yml
#	modules/gitlab_integration/config/locales/crowdin/el.yml
#	modules/gitlab_integration/config/locales/crowdin/eo.yml
#	modules/gitlab_integration/config/locales/crowdin/es.yml
#	modules/gitlab_integration/config/locales/crowdin/et.yml
#	modules/gitlab_integration/config/locales/crowdin/eu.yml
#	modules/gitlab_integration/config/locales/crowdin/fa.yml
#	modules/gitlab_integration/config/locales/crowdin/fi.yml
#	modules/gitlab_integration/config/locales/crowdin/fil.yml
#	modules/gitlab_integration/config/locales/crowdin/fr.yml
#	modules/gitlab_integration/config/locales/crowdin/he.yml
#	modules/gitlab_integration/config/locales/crowdin/hi.yml
#	modules/gitlab_integration/config/locales/crowdin/hr.yml
#	modules/gitlab_integration/config/locales/crowdin/hu.yml
#	modules/gitlab_integration/config/locales/crowdin/id.yml
#	modules/gitlab_integration/config/locales/crowdin/it.yml
#	modules/gitlab_integration/config/locales/crowdin/ja.yml
#	modules/gitlab_integration/config/locales/crowdin/ka.yml
#	modules/gitlab_integration/config/locales/crowdin/kk.yml
#	modules/gitlab_integration/config/locales/crowdin/ko.yml
#	modules/gitlab_integration/config/locales/crowdin/lt.yml
#	modules/gitlab_integration/config/locales/crowdin/lv.yml
#	modules/gitlab_integration/config/locales/crowdin/mn.yml
#	modules/gitlab_integration/config/locales/crowdin/ms.yml
#	modules/gitlab_integration/config/locales/crowdin/ne.yml
#	modules/gitlab_integration/config/locales/crowdin/nl.yml
#	modules/gitlab_integration/config/locales/crowdin/no.yml
#	modules/gitlab_integration/config/locales/crowdin/pl.yml
#	modules/gitlab_integration/config/locales/crowdin/pt-BR.yml
#	modules/gitlab_integration/config/locales/crowdin/pt-PT.yml
#	modules/gitlab_integration/config/locales/crowdin/ro.yml
#	modules/gitlab_integration/config/locales/crowdin/ru.yml
#	modules/gitlab_integration/config/locales/crowdin/rw.yml
#	modules/gitlab_integration/config/locales/crowdin/si.yml
#	modules/gitlab_integration/config/locales/crowdin/sk.yml
#	modules/gitlab_integration/config/locales/crowdin/sl.yml
#	modules/gitlab_integration/config/locales/crowdin/sr.yml
#	modules/gitlab_integration/config/locales/crowdin/sv.yml
#	modules/gitlab_integration/config/locales/crowdin/th.yml
#	modules/gitlab_integration/config/locales/crowdin/tr.yml
#	modules/gitlab_integration/config/locales/crowdin/uk.yml
#	modules/gitlab_integration/config/locales/crowdin/uz.yml
#	modules/gitlab_integration/config/locales/crowdin/vi.yml
#	modules/gitlab_integration/config/locales/crowdin/zh-CN.yml
#	modules/gitlab_integration/config/locales/crowdin/zh-TW.yml
#	modules/ldap_groups/config/locales/crowdin/af.yml
#	modules/ldap_groups/config/locales/crowdin/ar.yml
#	modules/ldap_groups/config/locales/crowdin/az.yml
#	modules/ldap_groups/config/locales/crowdin/be.yml
#	modules/ldap_groups/config/locales/crowdin/bg.yml
#	modules/ldap_groups/config/locales/crowdin/ca.yml
#	modules/ldap_groups/config/locales/crowdin/ckb-IR.yml
#	modules/ldap_groups/config/locales/crowdin/cs.yml
#	modules/ldap_groups/config/locales/crowdin/da.yml
#	modules/ldap_groups/config/locales/crowdin/de.yml
#	modules/ldap_groups/config/locales/crowdin/el.yml
#	modules/ldap_groups/config/locales/crowdin/eo.yml
#	modules/ldap_groups/config/locales/crowdin/es.yml
#	modules/ldap_groups/config/locales/crowdin/et.yml
#	modules/ldap_groups/config/locales/crowdin/eu.yml
#	modules/ldap_groups/config/locales/crowdin/fa.yml
#	modules/ldap_groups/config/locales/crowdin/fi.yml
#	modules/ldap_groups/config/locales/crowdin/fil.yml
#	modules/ldap_groups/config/locales/crowdin/fr.yml
#	modules/ldap_groups/config/locales/crowdin/he.yml
#	modules/ldap_groups/config/locales/crowdin/hi.yml
#	modules/ldap_groups/config/locales/crowdin/hr.yml
#	modules/ldap_groups/config/locales/crowdin/hu.yml
#	modules/ldap_groups/config/locales/crowdin/id.yml
#	modules/ldap_groups/config/locales/crowdin/it.yml
#	modules/ldap_groups/config/locales/crowdin/ja.yml
#	modules/ldap_groups/config/locales/crowdin/ka.yml
#	modules/ldap_groups/config/locales/crowdin/kk.yml
#	modules/ldap_groups/config/locales/crowdin/ko.yml
#	modules/ldap_groups/config/locales/crowdin/lt.yml
#	modules/ldap_groups/config/locales/crowdin/lv.yml
#	modules/ldap_groups/config/locales/crowdin/mn.yml
#	modules/ldap_groups/config/locales/crowdin/ms.yml
#	modules/ldap_groups/config/locales/crowdin/ne.yml
#	modules/ldap_groups/config/locales/crowdin/nl.yml
#	modules/ldap_groups/config/locales/crowdin/no.yml
#	modules/ldap_groups/config/locales/crowdin/pl.yml
#	modules/ldap_groups/config/locales/crowdin/pt-BR.yml
#	modules/ldap_groups/config/locales/crowdin/pt-PT.yml
#	modules/ldap_groups/config/locales/crowdin/ro.yml
#	modules/ldap_groups/config/locales/crowdin/ru.yml
#	modules/ldap_groups/config/locales/crowdin/rw.yml
#	modules/ldap_groups/config/locales/crowdin/si.yml
#	modules/ldap_groups/config/locales/crowdin/sk.yml
#	modules/ldap_groups/config/locales/crowdin/sl.yml
#	modules/ldap_groups/config/locales/crowdin/sr.yml
#	modules/ldap_groups/config/locales/crowdin/sv.yml
#	modules/ldap_groups/config/locales/crowdin/th.yml
#	modules/ldap_groups/config/locales/crowdin/tr.yml
#	modules/ldap_groups/config/locales/crowdin/uk.yml
#	modules/ldap_groups/config/locales/crowdin/uz.yml
#	modules/ldap_groups/config/locales/crowdin/vi.yml
#	modules/ldap_groups/config/locales/crowdin/zh-CN.yml
#	modules/ldap_groups/config/locales/crowdin/zh-TW.yml
#	modules/meeting/config/locales/crowdin/af.yml
#	modules/meeting/config/locales/crowdin/ar.yml
#	modules/meeting/config/locales/crowdin/az.yml
#	modules/meeting/config/locales/crowdin/be.yml
#	modules/meeting/config/locales/crowdin/bg.yml
#	modules/meeting/config/locales/crowdin/ca.yml
#	modules/meeting/config/locales/crowdin/ckb-IR.yml
#	modules/meeting/config/locales/crowdin/cs.yml
#	modules/meeting/config/locales/crowdin/da.yml
#	modules/meeting/config/locales/crowdin/de.yml
#	modules/meeting/config/locales/crowdin/el.yml
#	modules/meeting/config/locales/crowdin/eo.yml
#	modules/meeting/config/locales/crowdin/es.yml
#	modules/meeting/config/locales/crowdin/et.yml
#	modules/meeting/config/locales/crowdin/eu.yml
#	modules/meeting/config/locales/crowdin/fa.yml
#	modules/meeting/config/locales/crowdin/fi.yml
#	modules/meeting/config/locales/crowdin/fil.yml
#	modules/meeting/config/locales/crowdin/fr.yml
#	modules/meeting/config/locales/crowdin/he.yml
#	modules/meeting/config/locales/crowdin/hi.yml
#	modules/meeting/config/locales/crowdin/hr.yml
#	modules/meeting/config/locales/crowdin/hu.yml
#	modules/meeting/config/locales/crowdin/id.yml
#	modules/meeting/config/locales/crowdin/it.yml
#	modules/meeting/config/locales/crowdin/ja.yml
#	modules/meeting/config/locales/crowdin/ka.yml
#	modules/meeting/config/locales/crowdin/kk.yml
#	modules/meeting/config/locales/crowdin/ko.yml
#	modules/meeting/config/locales/crowdin/lt.yml
#	modules/meeting/config/locales/crowdin/lv.yml
#	modules/meeting/config/locales/crowdin/mn.yml
#	modules/meeting/config/locales/crowdin/ms.yml
#	modules/meeting/config/locales/crowdin/ne.yml
#	modules/meeting/config/locales/crowdin/nl.yml
#	modules/meeting/config/locales/crowdin/no.yml
#	modules/meeting/config/locales/crowdin/pl.yml
#	modules/meeting/config/locales/crowdin/pt-BR.yml
#	modules/meeting/config/locales/crowdin/pt-PT.yml
#	modules/meeting/config/locales/crowdin/ro.yml
#	modules/meeting/config/locales/crowdin/ru.yml
#	modules/meeting/config/locales/crowdin/rw.yml
#	modules/meeting/config/locales/crowdin/si.yml
#	modules/meeting/config/locales/crowdin/sk.yml
#	modules/meeting/config/locales/crowdin/sl.yml
#	modules/meeting/config/locales/crowdin/sr.yml
#	modules/meeting/config/locales/crowdin/sv.yml
#	modules/meeting/config/locales/crowdin/th.yml
#	modules/meeting/config/locales/crowdin/tr.yml
#	modules/meeting/config/locales/crowdin/uk.yml
#	modules/meeting/config/locales/crowdin/uz.yml
#	modules/meeting/config/locales/crowdin/vi.yml
#	modules/meeting/config/locales/crowdin/zh-CN.yml
#	modules/meeting/config/locales/crowdin/zh-TW.yml
#	modules/openid_connect/config/locales/crowdin/af.yml
#	modules/openid_connect/config/locales/crowdin/ar.yml
#	modules/openid_connect/config/locales/crowdin/az.yml
#	modules/openid_connect/config/locales/crowdin/be.yml
#	modules/openid_connect/config/locales/crowdin/bg.yml
#	modules/openid_connect/config/locales/crowdin/ca.yml
#	modules/openid_connect/config/locales/crowdin/ckb-IR.yml
#	modules/openid_connect/config/locales/crowdin/cs.yml
#	modules/openid_connect/config/locales/crowdin/da.yml
#	modules/openid_connect/config/locales/crowdin/de.yml
#	modules/openid_connect/config/locales/crowdin/el.yml
#	modules/openid_connect/config/locales/crowdin/eo.yml
#	modules/openid_connect/config/locales/crowdin/es.yml
#	modules/openid_connect/config/locales/crowdin/et.yml
#	modules/openid_connect/config/locales/crowdin/eu.yml
#	modules/openid_connect/config/locales/crowdin/fa.yml
#	modules/openid_connect/config/locales/crowdin/fi.yml
#	modules/openid_connect/config/locales/crowdin/fil.yml
#	modules/openid_connect/config/locales/crowdin/fr.yml
#	modules/openid_connect/config/locales/crowdin/he.yml
#	modules/openid_connect/config/locales/crowdin/hi.yml
#	modules/openid_connect/config/locales/crowdin/hr.yml
#	modules/openid_connect/config/locales/crowdin/hu.yml
#	modules/openid_connect/config/locales/crowdin/id.yml
#	modules/openid_connect/config/locales/crowdin/it.yml
#	modules/openid_connect/config/locales/crowdin/ja.yml
#	modules/openid_connect/config/locales/crowdin/ka.yml
#	modules/openid_connect/config/locales/crowdin/kk.yml
#	modules/openid_connect/config/locales/crowdin/ko.yml
#	modules/openid_connect/config/locales/crowdin/lt.yml
#	modules/openid_connect/config/locales/crowdin/lv.yml
#	modules/openid_connect/config/locales/crowdin/mn.yml
#	modules/openid_connect/config/locales/crowdin/ms.yml
#	modules/openid_connect/config/locales/crowdin/ne.yml
#	modules/openid_connect/config/locales/crowdin/nl.yml
#	modules/openid_connect/config/locales/crowdin/no.yml
#	modules/openid_connect/config/locales/crowdin/pl.yml
#	modules/openid_connect/config/locales/crowdin/pt-BR.yml
#	modules/openid_connect/config/locales/crowdin/pt-PT.yml
#	modules/openid_connect/config/locales/crowdin/ro.yml
#	modules/openid_connect/config/locales/crowdin/ru.yml
#	modules/openid_connect/config/locales/crowdin/rw.yml
#	modules/openid_connect/config/locales/crowdin/si.yml
#	modules/openid_connect/config/locales/crowdin/sk.yml
#	modules/openid_connect/config/locales/crowdin/sl.yml
#	modules/openid_connect/config/locales/crowdin/sr.yml
#	modules/openid_connect/config/locales/crowdin/sv.yml
#	modules/openid_connect/config/locales/crowdin/th.yml
#	modules/openid_connect/config/locales/crowdin/tr.yml
#	modules/openid_connect/config/locales/crowdin/uk.yml
#	modules/openid_connect/config/locales/crowdin/uz.yml
#	modules/openid_connect/config/locales/crowdin/vi.yml
#	modules/openid_connect/config/locales/crowdin/zh-CN.yml
#	modules/openid_connect/config/locales/crowdin/zh-TW.yml
#	modules/reporting/config/locales/crowdin/ro.yml
#	modules/reporting/config/locales/crowdin/vi.yml
#	modules/reporting/config/locales/crowdin/zh-TW.yml
#	modules/storages/config/locales/crowdin/ja.yml
#	modules/storages/config/locales/crowdin/js-ja.yml
#	modules/team_planner/config/locales/crowdin/js-fr.yml
#	modules/two_factor_authentication/config/locales/crowdin/af.yml
#	modules/two_factor_authentication/config/locales/crowdin/ar.yml
#	modules/two_factor_authentication/config/locales/crowdin/az.yml
#	modules/two_factor_authentication/config/locales/crowdin/be.yml
#	modules/two_factor_authentication/config/locales/crowdin/bg.yml
#	modules/two_factor_authentication/config/locales/crowdin/ca.yml
#	modules/two_factor_authentication/config/locales/crowdin/ckb-IR.yml
#	modules/two_factor_authentication/config/locales/crowdin/cs.yml
#	modules/two_factor_authentication/config/locales/crowdin/da.yml
#	modules/two_factor_authentication/config/locales/crowdin/de.yml
#	modules/two_factor_authentication/config/locales/crowdin/el.yml
#	modules/two_factor_authentication/config/locales/crowdin/eo.yml
#	modules/two_factor_authentication/config/locales/crowdin/es.yml
#	modules/two_factor_authentication/config/locales/crowdin/et.yml
#	modules/two_factor_authentication/config/locales/crowdin/eu.yml
#	modules/two_factor_authentication/config/locales/crowdin/fa.yml
#	modules/two_factor_authentication/config/locales/crowdin/fi.yml
#	modules/two_factor_authentication/config/locales/crowdin/fil.yml
#	modules/two_factor_authentication/config/locales/crowdin/fr.yml
#	modules/two_factor_authentication/config/locales/crowdin/he.yml
#	modules/two_factor_authentication/config/locales/crowdin/hi.yml
#	modules/two_factor_authentication/config/locales/crowdin/hr.yml
#	modules/two_factor_authentication/config/locales/crowdin/hu.yml
#	modules/two_factor_authentication/config/locales/crowdin/id.yml
#	modules/two_factor_authentication/config/locales/crowdin/it.yml
#	modules/two_factor_authentication/config/locales/crowdin/ja.yml
#	modules/two_factor_authentication/config/locales/crowdin/ka.yml
#	modules/two_factor_authentication/config/locales/crowdin/kk.yml
#	modules/two_factor_authentication/config/locales/crowdin/ko.yml
#	modules/two_factor_authentication/config/locales/crowdin/lt.yml
#	modules/two_factor_authentication/config/locales/crowdin/lv.yml
#	modules/two_factor_authentication/config/locales/crowdin/mn.yml
#	modules/two_factor_authentication/config/locales/crowdin/ms.yml
#	modules/two_factor_authentication/config/locales/crowdin/ne.yml
#	modules/two_factor_authentication/config/locales/crowdin/nl.yml
#	modules/two_factor_authentication/config/locales/crowdin/no.yml
#	modules/two_factor_authentication/config/locales/crowdin/pl.yml
#	modules/two_factor_authentication/config/locales/crowdin/pt-BR.yml
#	modules/two_factor_authentication/config/locales/crowdin/pt-PT.yml
#	modules/two_factor_authentication/config/locales/crowdin/ro.yml
#	modules/two_factor_authentication/config/locales/crowdin/ru.yml
#	modules/two_factor_authentication/config/locales/crowdin/rw.yml
#	modules/two_factor_authentication/config/locales/crowdin/si.yml
#	modules/two_factor_authentication/config/locales/crowdin/sk.yml
#	modules/two_factor_authentication/config/locales/crowdin/sl.yml
#	modules/two_factor_authentication/config/locales/crowdin/sr.yml
#	modules/two_factor_authentication/config/locales/crowdin/sv.yml
#	modules/two_factor_authentication/config/locales/crowdin/th.yml
#	modules/two_factor_authentication/config/locales/crowdin/tr.yml
#	modules/two_factor_authentication/config/locales/crowdin/uk.yml
#	modules/two_factor_authentication/config/locales/crowdin/uz.yml
#	modules/two_factor_authentication/config/locales/crowdin/vi.yml
#	modules/two_factor_authentication/config/locales/crowdin/zh-CN.yml
#	modules/two_factor_authentication/config/locales/crowdin/zh-TW.yml
#	modules/wikis/config/locales/crowdin/af.yml
#	modules/wikis/config/locales/crowdin/ar.yml
#	modules/wikis/config/locales/crowdin/az.yml
#	modules/wikis/config/locales/crowdin/be.yml
#	modules/wikis/config/locales/crowdin/bg.yml
#	modules/wikis/config/locales/crowdin/ca.yml
#	modules/wikis/config/locales/crowdin/ckb-IR.yml
#	modules/wikis/config/locales/crowdin/cs.yml
#	modules/wikis/config/locales/crowdin/da.yml
#	modules/wikis/config/locales/crowdin/de.yml
#	modules/wikis/config/locales/crowdin/el.yml
#	modules/wikis/config/locales/crowdin/eo.yml
#	modules/wikis/config/locales/crowdin/es.yml
#	modules/wikis/config/locales/crowdin/et.yml
#	modules/wikis/config/locales/crowdin/eu.yml
#	modules/wikis/config/locales/crowdin/fa.yml
#	modules/wikis/config/locales/crowdin/fi.yml
#	modules/wikis/config/locales/crowdin/fil.yml
#	modules/wikis/config/locales/crowdin/fr.yml
#	modules/wikis/config/locales/crowdin/he.yml
#	modules/wikis/config/locales/crowdin/hi.yml
#	modules/wikis/config/locales/crowdin/hr.yml
#	modules/wikis/config/locales/crowdin/hu.yml
#	modules/wikis/config/locales/crowdin/id.yml
#	modules/wikis/config/locales/crowdin/it.yml
#	modules/wikis/config/locales/crowdin/ja.yml
#	modules/wikis/config/locales/crowdin/ka.yml
#	modules/wikis/config/locales/crowdin/kk.yml
#	modules/wikis/config/locales/crowdin/ko.yml
#	modules/wikis/config/locales/crowdin/lt.yml
#	modules/wikis/config/locales/crowdin/lv.yml
#	modules/wikis/config/locales/crowdin/mn.yml
#	modules/wikis/config/locales/crowdin/ms.yml
#	modules/wikis/config/locales/crowdin/ne.yml
#	modules/wikis/config/locales/crowdin/nl.yml
#	modules/wikis/config/locales/crowdin/no.yml
#	modules/wikis/config/locales/crowdin/pl.yml
#	modules/wikis/config/locales/crowdin/pt-BR.yml
#	modules/wikis/config/locales/crowdin/pt-PT.yml
#	modules/wikis/config/locales/crowdin/ro.yml
#	modules/wikis/config/locales/crowdin/ru.yml
#	modules/wikis/config/locales/crowdin/rw.yml
#	modules/wikis/config/locales/crowdin/si.yml
#	modules/wikis/config/locales/crowdin/sk.yml
#	modules/wikis/config/locales/crowdin/sl.yml
#	modules/wikis/config/locales/crowdin/sr.yml
#	modules/wikis/config/locales/crowdin/sv.yml
#	modules/wikis/config/locales/crowdin/th.yml
#	modules/wikis/config/locales/crowdin/tr.yml
#	modules/wikis/config/locales/crowdin/uk.yml
#	modules/wikis/config/locales/crowdin/uz.yml
#	modules/wikis/config/locales/crowdin/vi.yml
#	modules/wikis/config/locales/crowdin/zh-CN.yml
#	modules/wikis/config/locales/crowdin/zh-TW.yml
2026-04-11 13:33:28 +02:00
2025-02-03 18:17:37 +01:00
2026-04-01 11:28:28 +02:00
2024-10-28 13:05:15 +01:00
2026-02-16 17:54:02 +01:00
2025-12-05 10:31:04 +01:00
2025-11-04 08:30:28 +01:00
2026-02-11 10:40:54 +01:00
2025-12-01 11:31:22 +01:00
2026-02-16 16:59:19 +01:00
2026-04-01 11:28:28 +02:00
2025-04-22 10:41:14 +02:00
2026-01-20 10:38:09 -03:00
2025-04-30 11:10:11 +02:00
2026-02-26 12:05:25 +01:00
2025-02-28 10:20:24 +01:00
2026-03-16 16:44:04 +01:00
2024-10-10 12:44:21 +02:00
2025-02-03 18:17:37 +01:00
2026-02-11 14:11:20 +01:00
2026-03-31 08:52:27 +02:00
2024-11-19 11:25:14 +01:00
2025-02-27 09:52:26 +01:00

OpenProject

GitHub release (latest by date) GitHub commit activity GitHub branch checks state Github Tests

We empower teams to achieve great things together for the good of society.

OpenProject is a web-based project management software. Use OpenProject to manage your projects, tasks and goals. Collaborate via work packages and link them to your pull requests on Github. Read more about the OpenProject GitHub integration.

Screenshot of OpenProject, showing the GitHub tab on a work package

OpenProject's key features are:

More information and screenshots can be found on our website.

Start now with OpenProject

Report bugs

You found a bug? Please report it to our OpenProject Community. Thank you!

Contribute

OpenProject is supported by its Community members, both companies and individuals.

We are always looking for new members to our Community, so if you are interested in improving OpenProject we would be glad to welcome and support you getting into the code. There are guides as well, e.g. a Quick Start for Developers, but don't hesitate to simply contact us if you have questions.

Working on OpenProject comes with the satisfaction of working on a widely used open source application.

Also, if you do not want to be limited to working on open source in your free time, OpenProject GmbH, the company contributing to the OpenProject development, is hiring.

Stay in contact

Here you can find our contact information. As we regularly update OpenProject, we recommend staying in touch here is where you can find us:

Security / responsible disclosure

We take security very seriously at OpenProject. We value any kind of feedback that will keep our Community secure. If you happen to come across a security issue we urge you to disclose it to us privately to allow our users and Community enough time to upgrade. Security issues will always take precedence over anything else in the pipeline.

For more information on how to disclose a security vulnerability, please see this page.

License

OpenProject is licensed under the terms of the GNU General Public License version 3. See COPYRIGHT and LICENSE files for details.

Credits

Icons

Thanks to Vincent Le Moign and his fabulous Minicons icons on webalys.com.

OpenProject icon font

Published and created by the OpenProject Foundation (OPF) under Creative Commons Attribution 3.0 Unported License with icons from the following sources Minicons Free Vector Icons Pack and User Interface Design framework both by webalys

Creative Commons License

OpenProject Icon Font by the OpenProject Foundation (OPF) is licensed under Creative Commons Attribution 3.0 Unported License and Free for both personal and commercial use. You can copy, adapt, remix, distribute or transmit it.

Under this condition: provide a mention of the "OpenProject Foundation" and a link back to OpenProject www.openproject.org.

S
Description
Project management (Rails). Reference for planning/roadmap surfaces.
Readme GPL-3.0 3.3 GiB
Languages
Ruby 80.1%
TypeScript 10.7%
HTML 7.2%
Sass 1.4%
Shell 0.3%
Other 0.2%