OP#%{wp_id}
(or PP#%{wp_id}
for private links) in the issue title/description or create a new issue.
+ tab_mrs:
+ empty: There are no merge requests linked yet. Link an existing MR by using the code OP#%{wp_id}
(or PP#%{wp_id}
for private links) in the MR title/description or create a new MR.
+ gitlab_pipelines: Pipelines
+ updated_on: Updated on
diff --git a/modules/gitlab_integration/config/locales/crowdin/js-bg.yml b/modules/gitlab_integration/config/locales/crowdin/js-bg.yml
new file mode 100644
index 000000000000..78c2bb6ec51a
--- /dev/null
+++ b/modules/gitlab_integration/config/locales/crowdin/js-bg.yml
@@ -0,0 +1,56 @@
+#-- copyright
+# OpenProject is an open source project management software.
+# Copyright (C) 2023 Ben Tey
+#
+# This program is free software; you can redistribute it and/or
+# modify it under the terms of the GNU General Public License version 3.
+#
+# OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows:
+# Copyright (C) 2006-2013 Jean-Philippe Lang
+# Copyright (C) 2010-2013 the ChiliProject Team
+# Copyright (C) 2012-2021 the OpenProject GmbH
+#
+# This program is free software; you can redistribute it and/or
+# modify it under the terms of the GNU General Public License
+# as published by the Free Software Foundation; either version 2
+# of the License, or (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+#
+# See docs/COPYRIGHT.rdoc for more details.
+#++
+bg:
+ js:
+ gitlab_integration:
+ work_packages:
+ tab_name: "GitLab"
+ tab_header_issue:
+ title: "Issues"
+ tab_header_mr:
+ title: "Merge requests"
+ create_mr:
+ label: Create MR
+ description: Create a Merge Request
+ copy_menu:
+ label: Git snippets
+ description: Copy git snippets to clipboard
+ git_actions:
+ branch_name: Branch name
+ commit_message: Commit message
+ cmd: Create branch with empty commit
+ title: Quick snippets for Git
+ copy_success: ✅ Copied!
+ copy_error: ❌ Copy failed!
+ tab_issue:
+ empty: There are no issues linked yet. Link an existing issue by using the code OP#%{wp_id}
(or PP#%{wp_id}
for private links) in the issue title/description or create a new issue.
+ tab_mrs:
+ empty: There are no merge requests linked yet. Link an existing MR by using the code OP#%{wp_id}
(or PP#%{wp_id}
for private links) in the MR title/description or create a new MR.
+ gitlab_pipelines: Pipelines
+ updated_on: Updated on
diff --git a/modules/gitlab_integration/config/locales/crowdin/js-ca.yml b/modules/gitlab_integration/config/locales/crowdin/js-ca.yml
new file mode 100644
index 000000000000..723b26e95bc5
--- /dev/null
+++ b/modules/gitlab_integration/config/locales/crowdin/js-ca.yml
@@ -0,0 +1,56 @@
+#-- copyright
+# OpenProject is an open source project management software.
+# Copyright (C) 2023 Ben Tey
+#
+# This program is free software; you can redistribute it and/or
+# modify it under the terms of the GNU General Public License version 3.
+#
+# OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows:
+# Copyright (C) 2006-2013 Jean-Philippe Lang
+# Copyright (C) 2010-2013 the ChiliProject Team
+# Copyright (C) 2012-2021 the OpenProject GmbH
+#
+# This program is free software; you can redistribute it and/or
+# modify it under the terms of the GNU General Public License
+# as published by the Free Software Foundation; either version 2
+# of the License, or (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+#
+# See docs/COPYRIGHT.rdoc for more details.
+#++
+ca:
+ js:
+ gitlab_integration:
+ work_packages:
+ tab_name: "GitLab"
+ tab_header_issue:
+ title: "Issues"
+ tab_header_mr:
+ title: "Merge requests"
+ create_mr:
+ label: Create MR
+ description: Create a Merge Request
+ copy_menu:
+ label: Git snippets
+ description: Copy git snippets to clipboard
+ git_actions:
+ branch_name: Branch name
+ commit_message: Commit message
+ cmd: Create branch with empty commit
+ title: Quick snippets for Git
+ copy_success: ✅ Copied!
+ copy_error: ❌ Copy failed!
+ tab_issue:
+ empty: There are no issues linked yet. Link an existing issue by using the code OP#%{wp_id}
(or PP#%{wp_id}
for private links) in the issue title/description or create a new issue.
+ tab_mrs:
+ empty: There are no merge requests linked yet. Link an existing MR by using the code OP#%{wp_id}
(or PP#%{wp_id}
for private links) in the MR title/description or create a new MR.
+ gitlab_pipelines: Pipelines
+ updated_on: Updated on
diff --git a/modules/gitlab_integration/config/locales/crowdin/js-cs.yml b/modules/gitlab_integration/config/locales/crowdin/js-cs.yml
new file mode 100644
index 000000000000..a8905380a2be
--- /dev/null
+++ b/modules/gitlab_integration/config/locales/crowdin/js-cs.yml
@@ -0,0 +1,56 @@
+#-- copyright
+# OpenProject is an open source project management software.
+# Copyright (C) 2023 Ben Tey
+#
+# This program is free software; you can redistribute it and/or
+# modify it under the terms of the GNU General Public License version 3.
+#
+# OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows:
+# Copyright (C) 2006-2013 Jean-Philippe Lang
+# Copyright (C) 2010-2013 the ChiliProject Team
+# Copyright (C) 2012-2021 the OpenProject GmbH
+#
+# This program is free software; you can redistribute it and/or
+# modify it under the terms of the GNU General Public License
+# as published by the Free Software Foundation; either version 2
+# of the License, or (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+#
+# See docs/COPYRIGHT.rdoc for more details.
+#++
+cs:
+ js:
+ gitlab_integration:
+ work_packages:
+ tab_name: "GitLab"
+ tab_header_issue:
+ title: "Issues"
+ tab_header_mr:
+ title: "Merge requests"
+ create_mr:
+ label: Create MR
+ description: Create a Merge Request
+ copy_menu:
+ label: Git snippets
+ description: Copy git snippets to clipboard
+ git_actions:
+ branch_name: Branch name
+ commit_message: Commit message
+ cmd: Create branch with empty commit
+ title: Quick snippets for Git
+ copy_success: ✅ Copied!
+ copy_error: ❌ Copy failed!
+ tab_issue:
+ empty: There are no issues linked yet. Link an existing issue by using the code OP#%{wp_id}
(or PP#%{wp_id}
for private links) in the issue title/description or create a new issue.
+ tab_mrs:
+ empty: There are no merge requests linked yet. Link an existing MR by using the code OP#%{wp_id}
(or PP#%{wp_id}
for private links) in the MR title/description or create a new MR.
+ gitlab_pipelines: Pipelines
+ updated_on: Updated on
diff --git a/modules/gitlab_integration/config/locales/crowdin/js-da.yml b/modules/gitlab_integration/config/locales/crowdin/js-da.yml
new file mode 100644
index 000000000000..c168aaeb6d57
--- /dev/null
+++ b/modules/gitlab_integration/config/locales/crowdin/js-da.yml
@@ -0,0 +1,56 @@
+#-- copyright
+# OpenProject is an open source project management software.
+# Copyright (C) 2023 Ben Tey
+#
+# This program is free software; you can redistribute it and/or
+# modify it under the terms of the GNU General Public License version 3.
+#
+# OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows:
+# Copyright (C) 2006-2013 Jean-Philippe Lang
+# Copyright (C) 2010-2013 the ChiliProject Team
+# Copyright (C) 2012-2021 the OpenProject GmbH
+#
+# This program is free software; you can redistribute it and/or
+# modify it under the terms of the GNU General Public License
+# as published by the Free Software Foundation; either version 2
+# of the License, or (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+#
+# See docs/COPYRIGHT.rdoc for more details.
+#++
+da:
+ js:
+ gitlab_integration:
+ work_packages:
+ tab_name: "GitLab"
+ tab_header_issue:
+ title: "Issues"
+ tab_header_mr:
+ title: "Merge requests"
+ create_mr:
+ label: Create MR
+ description: Create a Merge Request
+ copy_menu:
+ label: Git snippets
+ description: Copy git snippets to clipboard
+ git_actions:
+ branch_name: Branch name
+ commit_message: Commit message
+ cmd: Create branch with empty commit
+ title: Quick snippets for Git
+ copy_success: ✅ Copied!
+ copy_error: ❌ Copy failed!
+ tab_issue:
+ empty: There are no issues linked yet. Link an existing issue by using the code OP#%{wp_id}
(or PP#%{wp_id}
for private links) in the issue title/description or create a new issue.
+ tab_mrs:
+ empty: There are no merge requests linked yet. Link an existing MR by using the code OP#%{wp_id}
(or PP#%{wp_id}
for private links) in the MR title/description or create a new MR.
+ gitlab_pipelines: Pipelines
+ updated_on: Updated on
diff --git a/modules/gitlab_integration/config/locales/crowdin/js-de.yml b/modules/gitlab_integration/config/locales/crowdin/js-de.yml
new file mode 100644
index 000000000000..066a38968913
--- /dev/null
+++ b/modules/gitlab_integration/config/locales/crowdin/js-de.yml
@@ -0,0 +1,56 @@
+#-- copyright
+# OpenProject is an open source project management software.
+# Copyright (C) 2023 Ben Tey
+#
+# This program is free software; you can redistribute it and/or
+# modify it under the terms of the GNU General Public License version 3.
+#
+# OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows:
+# Copyright (C) 2006-2013 Jean-Philippe Lang
+# Copyright (C) 2010-2013 the ChiliProject Team
+# Copyright (C) 2012-2021 the OpenProject GmbH
+#
+# This program is free software; you can redistribute it and/or
+# modify it under the terms of the GNU General Public License
+# as published by the Free Software Foundation; either version 2
+# of the License, or (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+#
+# See docs/COPYRIGHT.rdoc for more details.
+#++
+de:
+ js:
+ gitlab_integration:
+ work_packages:
+ tab_name: "GitLab"
+ tab_header_issue:
+ title: "Issues"
+ tab_header_mr:
+ title: "Merge requests"
+ create_mr:
+ label: Create MR
+ description: Create a Merge Request
+ copy_menu:
+ label: Git snippets
+ description: Copy git snippets to clipboard
+ git_actions:
+ branch_name: Branch name
+ commit_message: Commit message
+ cmd: Create branch with empty commit
+ title: Quick snippets for Git
+ copy_success: ✅ Copied!
+ copy_error: ❌ Copy failed!
+ tab_issue:
+ empty: There are no issues linked yet. Link an existing issue by using the code OP#%{wp_id}
(or PP#%{wp_id}
for private links) in the issue title/description or create a new issue.
+ tab_mrs:
+ empty: There are no merge requests linked yet. Link an existing MR by using the code OP#%{wp_id}
(or PP#%{wp_id}
for private links) in the MR title/description or create a new MR.
+ gitlab_pipelines: Pipelines
+ updated_on: Updated on
diff --git a/modules/gitlab_integration/config/locales/crowdin/js-el.yml b/modules/gitlab_integration/config/locales/crowdin/js-el.yml
new file mode 100644
index 000000000000..6ae410420ed6
--- /dev/null
+++ b/modules/gitlab_integration/config/locales/crowdin/js-el.yml
@@ -0,0 +1,56 @@
+#-- copyright
+# OpenProject is an open source project management software.
+# Copyright (C) 2023 Ben Tey
+#
+# This program is free software; you can redistribute it and/or
+# modify it under the terms of the GNU General Public License version 3.
+#
+# OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows:
+# Copyright (C) 2006-2013 Jean-Philippe Lang
+# Copyright (C) 2010-2013 the ChiliProject Team
+# Copyright (C) 2012-2021 the OpenProject GmbH
+#
+# This program is free software; you can redistribute it and/or
+# modify it under the terms of the GNU General Public License
+# as published by the Free Software Foundation; either version 2
+# of the License, or (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+#
+# See docs/COPYRIGHT.rdoc for more details.
+#++
+el:
+ js:
+ gitlab_integration:
+ work_packages:
+ tab_name: "GitLab"
+ tab_header_issue:
+ title: "Issues"
+ tab_header_mr:
+ title: "Merge requests"
+ create_mr:
+ label: Create MR
+ description: Create a Merge Request
+ copy_menu:
+ label: Git snippets
+ description: Copy git snippets to clipboard
+ git_actions:
+ branch_name: Branch name
+ commit_message: Commit message
+ cmd: Create branch with empty commit
+ title: Quick snippets for Git
+ copy_success: ✅ Copied!
+ copy_error: ❌ Copy failed!
+ tab_issue:
+ empty: There are no issues linked yet. Link an existing issue by using the code OP#%{wp_id}
(or PP#%{wp_id}
for private links) in the issue title/description or create a new issue.
+ tab_mrs:
+ empty: There are no merge requests linked yet. Link an existing MR by using the code OP#%{wp_id}
(or PP#%{wp_id}
for private links) in the MR title/description or create a new MR.
+ gitlab_pipelines: Pipelines
+ updated_on: Updated on
diff --git a/modules/gitlab_integration/config/locales/crowdin/js-es.yml b/modules/gitlab_integration/config/locales/crowdin/js-es.yml
new file mode 100644
index 000000000000..4955957a802d
--- /dev/null
+++ b/modules/gitlab_integration/config/locales/crowdin/js-es.yml
@@ -0,0 +1,56 @@
+#-- copyright
+# OpenProject is an open source project management software.
+# Copyright (C) 2023 Ben Tey
+#
+# This program is free software; you can redistribute it and/or
+# modify it under the terms of the GNU General Public License version 3.
+#
+# OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows:
+# Copyright (C) 2006-2013 Jean-Philippe Lang
+# Copyright (C) 2010-2013 the ChiliProject Team
+# Copyright (C) 2012-2021 the OpenProject GmbH
+#
+# This program is free software; you can redistribute it and/or
+# modify it under the terms of the GNU General Public License
+# as published by the Free Software Foundation; either version 2
+# of the License, or (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+#
+# See docs/COPYRIGHT.rdoc for more details.
+#++
+es:
+ js:
+ gitlab_integration:
+ work_packages:
+ tab_name: "GitLab"
+ tab_header_issue:
+ title: "Issues"
+ tab_header_mr:
+ title: "Merge requests"
+ create_mr:
+ label: Create MR
+ description: Create a Merge Request
+ copy_menu:
+ label: Git snippets
+ description: Copy git snippets to clipboard
+ git_actions:
+ branch_name: Branch name
+ commit_message: Commit message
+ cmd: Create branch with empty commit
+ title: Quick snippets for Git
+ copy_success: ✅ Copied!
+ copy_error: ❌ Copy failed!
+ tab_issue:
+ empty: There are no issues linked yet. Link an existing issue by using the code OP#%{wp_id}
(or PP#%{wp_id}
for private links) in the issue title/description or create a new issue.
+ tab_mrs:
+ empty: There are no merge requests linked yet. Link an existing MR by using the code OP#%{wp_id}
(or PP#%{wp_id}
for private links) in the MR title/description or create a new MR.
+ gitlab_pipelines: Pipelines
+ updated_on: Updated on
diff --git a/modules/gitlab_integration/config/locales/crowdin/js-fi.yml b/modules/gitlab_integration/config/locales/crowdin/js-fi.yml
new file mode 100644
index 000000000000..007068090482
--- /dev/null
+++ b/modules/gitlab_integration/config/locales/crowdin/js-fi.yml
@@ -0,0 +1,56 @@
+#-- copyright
+# OpenProject is an open source project management software.
+# Copyright (C) 2023 Ben Tey
+#
+# This program is free software; you can redistribute it and/or
+# modify it under the terms of the GNU General Public License version 3.
+#
+# OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows:
+# Copyright (C) 2006-2013 Jean-Philippe Lang
+# Copyright (C) 2010-2013 the ChiliProject Team
+# Copyright (C) 2012-2021 the OpenProject GmbH
+#
+# This program is free software; you can redistribute it and/or
+# modify it under the terms of the GNU General Public License
+# as published by the Free Software Foundation; either version 2
+# of the License, or (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+#
+# See docs/COPYRIGHT.rdoc for more details.
+#++
+fi:
+ js:
+ gitlab_integration:
+ work_packages:
+ tab_name: "GitLab"
+ tab_header_issue:
+ title: "Issues"
+ tab_header_mr:
+ title: "Merge requests"
+ create_mr:
+ label: Create MR
+ description: Create a Merge Request
+ copy_menu:
+ label: Git snippets
+ description: Copy git snippets to clipboard
+ git_actions:
+ branch_name: Branch name
+ commit_message: Commit message
+ cmd: Create branch with empty commit
+ title: Quick snippets for Git
+ copy_success: ✅ Copied!
+ copy_error: ❌ Copy failed!
+ tab_issue:
+ empty: There are no issues linked yet. Link an existing issue by using the code OP#%{wp_id}
(or PP#%{wp_id}
for private links) in the issue title/description or create a new issue.
+ tab_mrs:
+ empty: There are no merge requests linked yet. Link an existing MR by using the code OP#%{wp_id}
(or PP#%{wp_id}
for private links) in the MR title/description or create a new MR.
+ gitlab_pipelines: Pipelines
+ updated_on: Updated on
diff --git a/modules/gitlab_integration/config/locales/crowdin/js-fil.yml b/modules/gitlab_integration/config/locales/crowdin/js-fil.yml
new file mode 100644
index 000000000000..5df298917221
--- /dev/null
+++ b/modules/gitlab_integration/config/locales/crowdin/js-fil.yml
@@ -0,0 +1,56 @@
+#-- copyright
+# OpenProject is an open source project management software.
+# Copyright (C) 2023 Ben Tey
+#
+# This program is free software; you can redistribute it and/or
+# modify it under the terms of the GNU General Public License version 3.
+#
+# OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows:
+# Copyright (C) 2006-2013 Jean-Philippe Lang
+# Copyright (C) 2010-2013 the ChiliProject Team
+# Copyright (C) 2012-2021 the OpenProject GmbH
+#
+# This program is free software; you can redistribute it and/or
+# modify it under the terms of the GNU General Public License
+# as published by the Free Software Foundation; either version 2
+# of the License, or (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+#
+# See docs/COPYRIGHT.rdoc for more details.
+#++
+fil:
+ js:
+ gitlab_integration:
+ work_packages:
+ tab_name: "GitLab"
+ tab_header_issue:
+ title: "Issues"
+ tab_header_mr:
+ title: "Merge requests"
+ create_mr:
+ label: Create MR
+ description: Create a Merge Request
+ copy_menu:
+ label: Git snippets
+ description: Copy git snippets to clipboard
+ git_actions:
+ branch_name: Branch name
+ commit_message: Commit message
+ cmd: Create branch with empty commit
+ title: Quick snippets for Git
+ copy_success: ✅ Copied!
+ copy_error: ❌ Copy failed!
+ tab_issue:
+ empty: There are no issues linked yet. Link an existing issue by using the code OP#%{wp_id}
(or PP#%{wp_id}
for private links) in the issue title/description or create a new issue.
+ tab_mrs:
+ empty: There are no merge requests linked yet. Link an existing MR by using the code OP#%{wp_id}
(or PP#%{wp_id}
for private links) in the MR title/description or create a new MR.
+ gitlab_pipelines: Pipelines
+ updated_on: Updated on
diff --git a/modules/gitlab_integration/config/locales/crowdin/js-fr.yml b/modules/gitlab_integration/config/locales/crowdin/js-fr.yml
new file mode 100644
index 000000000000..a4cc350aacd5
--- /dev/null
+++ b/modules/gitlab_integration/config/locales/crowdin/js-fr.yml
@@ -0,0 +1,56 @@
+#-- copyright
+# OpenProject is an open source project management software.
+# Copyright (C) 2023 Ben Tey
+#
+# This program is free software; you can redistribute it and/or
+# modify it under the terms of the GNU General Public License version 3.
+#
+# OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows:
+# Copyright (C) 2006-2013 Jean-Philippe Lang
+# Copyright (C) 2010-2013 the ChiliProject Team
+# Copyright (C) 2012-2021 the OpenProject GmbH
+#
+# This program is free software; you can redistribute it and/or
+# modify it under the terms of the GNU General Public License
+# as published by the Free Software Foundation; either version 2
+# of the License, or (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+#
+# See docs/COPYRIGHT.rdoc for more details.
+#++
+fr:
+ js:
+ gitlab_integration:
+ work_packages:
+ tab_name: "GitLab"
+ tab_header_issue:
+ title: "Issues"
+ tab_header_mr:
+ title: "Merge requests"
+ create_mr:
+ label: Create MR
+ description: Create a Merge Request
+ copy_menu:
+ label: Git snippets
+ description: Copy git snippets to clipboard
+ git_actions:
+ branch_name: Branch name
+ commit_message: Commit message
+ cmd: Create branch with empty commit
+ title: Quick snippets for Git
+ copy_success: ✅ Copied!
+ copy_error: ❌ Copy failed!
+ tab_issue:
+ empty: There are no issues linked yet. Link an existing issue by using the code OP#%{wp_id}
(or PP#%{wp_id}
for private links) in the issue title/description or create a new issue.
+ tab_mrs:
+ empty: There are no merge requests linked yet. Link an existing MR by using the code OP#%{wp_id}
(or PP#%{wp_id}
for private links) in the MR title/description or create a new MR.
+ gitlab_pipelines: Pipelines
+ updated_on: Updated on
diff --git a/modules/gitlab_integration/config/locales/crowdin/js-hr.yml b/modules/gitlab_integration/config/locales/crowdin/js-hr.yml
new file mode 100644
index 000000000000..cb34ab81c26f
--- /dev/null
+++ b/modules/gitlab_integration/config/locales/crowdin/js-hr.yml
@@ -0,0 +1,56 @@
+#-- copyright
+# OpenProject is an open source project management software.
+# Copyright (C) 2023 Ben Tey
+#
+# This program is free software; you can redistribute it and/or
+# modify it under the terms of the GNU General Public License version 3.
+#
+# OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows:
+# Copyright (C) 2006-2013 Jean-Philippe Lang
+# Copyright (C) 2010-2013 the ChiliProject Team
+# Copyright (C) 2012-2021 the OpenProject GmbH
+#
+# This program is free software; you can redistribute it and/or
+# modify it under the terms of the GNU General Public License
+# as published by the Free Software Foundation; either version 2
+# of the License, or (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+#
+# See docs/COPYRIGHT.rdoc for more details.
+#++
+hr:
+ js:
+ gitlab_integration:
+ work_packages:
+ tab_name: "GitLab"
+ tab_header_issue:
+ title: "Issues"
+ tab_header_mr:
+ title: "Merge requests"
+ create_mr:
+ label: Create MR
+ description: Create a Merge Request
+ copy_menu:
+ label: Git snippets
+ description: Copy git snippets to clipboard
+ git_actions:
+ branch_name: Branch name
+ commit_message: Commit message
+ cmd: Create branch with empty commit
+ title: Quick snippets for Git
+ copy_success: ✅ Copied!
+ copy_error: ❌ Copy failed!
+ tab_issue:
+ empty: There are no issues linked yet. Link an existing issue by using the code OP#%{wp_id}
(or PP#%{wp_id}
for private links) in the issue title/description or create a new issue.
+ tab_mrs:
+ empty: There are no merge requests linked yet. Link an existing MR by using the code OP#%{wp_id}
(or PP#%{wp_id}
for private links) in the MR title/description or create a new MR.
+ gitlab_pipelines: Pipelines
+ updated_on: Updated on
diff --git a/modules/gitlab_integration/config/locales/crowdin/js-hu.yml b/modules/gitlab_integration/config/locales/crowdin/js-hu.yml
new file mode 100644
index 000000000000..b584ba1d94d4
--- /dev/null
+++ b/modules/gitlab_integration/config/locales/crowdin/js-hu.yml
@@ -0,0 +1,56 @@
+#-- copyright
+# OpenProject is an open source project management software.
+# Copyright (C) 2023 Ben Tey
+#
+# This program is free software; you can redistribute it and/or
+# modify it under the terms of the GNU General Public License version 3.
+#
+# OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows:
+# Copyright (C) 2006-2013 Jean-Philippe Lang
+# Copyright (C) 2010-2013 the ChiliProject Team
+# Copyright (C) 2012-2021 the OpenProject GmbH
+#
+# This program is free software; you can redistribute it and/or
+# modify it under the terms of the GNU General Public License
+# as published by the Free Software Foundation; either version 2
+# of the License, or (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+#
+# See docs/COPYRIGHT.rdoc for more details.
+#++
+hu:
+ js:
+ gitlab_integration:
+ work_packages:
+ tab_name: "GitLab"
+ tab_header_issue:
+ title: "Issues"
+ tab_header_mr:
+ title: "Merge requests"
+ create_mr:
+ label: Create MR
+ description: Create a Merge Request
+ copy_menu:
+ label: Git snippets
+ description: Copy git snippets to clipboard
+ git_actions:
+ branch_name: Branch name
+ commit_message: Commit message
+ cmd: Create branch with empty commit
+ title: Quick snippets for Git
+ copy_success: ✅ Copied!
+ copy_error: ❌ Copy failed!
+ tab_issue:
+ empty: There are no issues linked yet. Link an existing issue by using the code OP#%{wp_id}
(or PP#%{wp_id}
for private links) in the issue title/description or create a new issue.
+ tab_mrs:
+ empty: There are no merge requests linked yet. Link an existing MR by using the code OP#%{wp_id}
(or PP#%{wp_id}
for private links) in the MR title/description or create a new MR.
+ gitlab_pipelines: Pipelines
+ updated_on: Updated on
diff --git a/modules/gitlab_integration/config/locales/crowdin/js-id.yml b/modules/gitlab_integration/config/locales/crowdin/js-id.yml
new file mode 100644
index 000000000000..922c5bf1d2d2
--- /dev/null
+++ b/modules/gitlab_integration/config/locales/crowdin/js-id.yml
@@ -0,0 +1,56 @@
+#-- copyright
+# OpenProject is an open source project management software.
+# Copyright (C) 2023 Ben Tey
+#
+# This program is free software; you can redistribute it and/or
+# modify it under the terms of the GNU General Public License version 3.
+#
+# OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows:
+# Copyright (C) 2006-2013 Jean-Philippe Lang
+# Copyright (C) 2010-2013 the ChiliProject Team
+# Copyright (C) 2012-2021 the OpenProject GmbH
+#
+# This program is free software; you can redistribute it and/or
+# modify it under the terms of the GNU General Public License
+# as published by the Free Software Foundation; either version 2
+# of the License, or (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+#
+# See docs/COPYRIGHT.rdoc for more details.
+#++
+id:
+ js:
+ gitlab_integration:
+ work_packages:
+ tab_name: "GitLab"
+ tab_header_issue:
+ title: "Issues"
+ tab_header_mr:
+ title: "Merge requests"
+ create_mr:
+ label: Create MR
+ description: Create a Merge Request
+ copy_menu:
+ label: Git snippets
+ description: Copy git snippets to clipboard
+ git_actions:
+ branch_name: Branch name
+ commit_message: Commit message
+ cmd: Create branch with empty commit
+ title: Quick snippets for Git
+ copy_success: ✅ Copied!
+ copy_error: ❌ Copy failed!
+ tab_issue:
+ empty: There are no issues linked yet. Link an existing issue by using the code OP#%{wp_id}
(or PP#%{wp_id}
for private links) in the issue title/description or create a new issue.
+ tab_mrs:
+ empty: There are no merge requests linked yet. Link an existing MR by using the code OP#%{wp_id}
(or PP#%{wp_id}
for private links) in the MR title/description or create a new MR.
+ gitlab_pipelines: Pipelines
+ updated_on: Updated on
diff --git a/modules/gitlab_integration/config/locales/crowdin/js-it.yml b/modules/gitlab_integration/config/locales/crowdin/js-it.yml
new file mode 100644
index 000000000000..f1c7409c29bb
--- /dev/null
+++ b/modules/gitlab_integration/config/locales/crowdin/js-it.yml
@@ -0,0 +1,56 @@
+#-- copyright
+# OpenProject is an open source project management software.
+# Copyright (C) 2023 Ben Tey
+#
+# This program is free software; you can redistribute it and/or
+# modify it under the terms of the GNU General Public License version 3.
+#
+# OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows:
+# Copyright (C) 2006-2013 Jean-Philippe Lang
+# Copyright (C) 2010-2013 the ChiliProject Team
+# Copyright (C) 2012-2021 the OpenProject GmbH
+#
+# This program is free software; you can redistribute it and/or
+# modify it under the terms of the GNU General Public License
+# as published by the Free Software Foundation; either version 2
+# of the License, or (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+#
+# See docs/COPYRIGHT.rdoc for more details.
+#++
+it:
+ js:
+ gitlab_integration:
+ work_packages:
+ tab_name: "GitLab"
+ tab_header_issue:
+ title: "Issues"
+ tab_header_mr:
+ title: "Merge requests"
+ create_mr:
+ label: Create MR
+ description: Create a Merge Request
+ copy_menu:
+ label: Git snippets
+ description: Copy git snippets to clipboard
+ git_actions:
+ branch_name: Branch name
+ commit_message: Commit message
+ cmd: Create branch with empty commit
+ title: Quick snippets for Git
+ copy_success: ✅ Copied!
+ copy_error: ❌ Copy failed!
+ tab_issue:
+ empty: There are no issues linked yet. Link an existing issue by using the code OP#%{wp_id}
(or PP#%{wp_id}
for private links) in the issue title/description or create a new issue.
+ tab_mrs:
+ empty: There are no merge requests linked yet. Link an existing MR by using the code OP#%{wp_id}
(or PP#%{wp_id}
for private links) in the MR title/description or create a new MR.
+ gitlab_pipelines: Pipelines
+ updated_on: Updated on
diff --git a/modules/gitlab_integration/config/locales/crowdin/js-ja.yml b/modules/gitlab_integration/config/locales/crowdin/js-ja.yml
new file mode 100644
index 000000000000..40a8e5fb36ce
--- /dev/null
+++ b/modules/gitlab_integration/config/locales/crowdin/js-ja.yml
@@ -0,0 +1,56 @@
+#-- copyright
+# OpenProject is an open source project management software.
+# Copyright (C) 2023 Ben Tey
+#
+# This program is free software; you can redistribute it and/or
+# modify it under the terms of the GNU General Public License version 3.
+#
+# OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows:
+# Copyright (C) 2006-2013 Jean-Philippe Lang
+# Copyright (C) 2010-2013 the ChiliProject Team
+# Copyright (C) 2012-2021 the OpenProject GmbH
+#
+# This program is free software; you can redistribute it and/or
+# modify it under the terms of the GNU General Public License
+# as published by the Free Software Foundation; either version 2
+# of the License, or (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+#
+# See docs/COPYRIGHT.rdoc for more details.
+#++
+ja:
+ js:
+ gitlab_integration:
+ work_packages:
+ tab_name: "GitLab"
+ tab_header_issue:
+ title: "Issues"
+ tab_header_mr:
+ title: "Merge requests"
+ create_mr:
+ label: Create MR
+ description: Create a Merge Request
+ copy_menu:
+ label: Git snippets
+ description: Copy git snippets to clipboard
+ git_actions:
+ branch_name: Branch name
+ commit_message: Commit message
+ cmd: Create branch with empty commit
+ title: Quick snippets for Git
+ copy_success: ✅ Copied!
+ copy_error: ❌ Copy failed!
+ tab_issue:
+ empty: There are no issues linked yet. Link an existing issue by using the code OP#%{wp_id}
(or PP#%{wp_id}
for private links) in the issue title/description or create a new issue.
+ tab_mrs:
+ empty: There are no merge requests linked yet. Link an existing MR by using the code OP#%{wp_id}
(or PP#%{wp_id}
for private links) in the MR title/description or create a new MR.
+ gitlab_pipelines: Pipelines
+ updated_on: Updated on
diff --git a/modules/gitlab_integration/config/locales/crowdin/js-ko.yml b/modules/gitlab_integration/config/locales/crowdin/js-ko.yml
new file mode 100644
index 000000000000..3f58d75b8801
--- /dev/null
+++ b/modules/gitlab_integration/config/locales/crowdin/js-ko.yml
@@ -0,0 +1,56 @@
+#-- copyright
+# OpenProject is an open source project management software.
+# Copyright (C) 2023 Ben Tey
+#
+# This program is free software; you can redistribute it and/or
+# modify it under the terms of the GNU General Public License version 3.
+#
+# OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows:
+# Copyright (C) 2006-2013 Jean-Philippe Lang
+# Copyright (C) 2010-2013 the ChiliProject Team
+# Copyright (C) 2012-2021 the OpenProject GmbH
+#
+# This program is free software; you can redistribute it and/or
+# modify it under the terms of the GNU General Public License
+# as published by the Free Software Foundation; either version 2
+# of the License, or (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+#
+# See docs/COPYRIGHT.rdoc for more details.
+#++
+ko:
+ js:
+ gitlab_integration:
+ work_packages:
+ tab_name: "GitLab"
+ tab_header_issue:
+ title: "Issues"
+ tab_header_mr:
+ title: "Merge requests"
+ create_mr:
+ label: Create MR
+ description: Create a Merge Request
+ copy_menu:
+ label: Git snippets
+ description: Copy git snippets to clipboard
+ git_actions:
+ branch_name: Branch name
+ commit_message: Commit message
+ cmd: Create branch with empty commit
+ title: Quick snippets for Git
+ copy_success: ✅ Copied!
+ copy_error: ❌ Copy failed!
+ tab_issue:
+ empty: There are no issues linked yet. Link an existing issue by using the code OP#%{wp_id}
(or PP#%{wp_id}
for private links) in the issue title/description or create a new issue.
+ tab_mrs:
+ empty: There are no merge requests linked yet. Link an existing MR by using the code OP#%{wp_id}
(or PP#%{wp_id}
for private links) in the MR title/description or create a new MR.
+ gitlab_pipelines: Pipelines
+ updated_on: Updated on
diff --git a/modules/gitlab_integration/config/locales/crowdin/js-lt.yml b/modules/gitlab_integration/config/locales/crowdin/js-lt.yml
new file mode 100644
index 000000000000..b612d1be67dc
--- /dev/null
+++ b/modules/gitlab_integration/config/locales/crowdin/js-lt.yml
@@ -0,0 +1,56 @@
+#-- copyright
+# OpenProject is an open source project management software.
+# Copyright (C) 2023 Ben Tey
+#
+# This program is free software; you can redistribute it and/or
+# modify it under the terms of the GNU General Public License version 3.
+#
+# OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows:
+# Copyright (C) 2006-2013 Jean-Philippe Lang
+# Copyright (C) 2010-2013 the ChiliProject Team
+# Copyright (C) 2012-2021 the OpenProject GmbH
+#
+# This program is free software; you can redistribute it and/or
+# modify it under the terms of the GNU General Public License
+# as published by the Free Software Foundation; either version 2
+# of the License, or (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+#
+# See docs/COPYRIGHT.rdoc for more details.
+#++
+lt:
+ js:
+ gitlab_integration:
+ work_packages:
+ tab_name: "GitLab"
+ tab_header_issue:
+ title: "Issues"
+ tab_header_mr:
+ title: "Merge requests"
+ create_mr:
+ label: Create MR
+ description: Create a Merge Request
+ copy_menu:
+ label: Git snippets
+ description: Copy git snippets to clipboard
+ git_actions:
+ branch_name: Branch name
+ commit_message: Commit message
+ cmd: Create branch with empty commit
+ title: Quick snippets for Git
+ copy_success: ✅ Copied!
+ copy_error: ❌ Copy failed!
+ tab_issue:
+ empty: There are no issues linked yet. Link an existing issue by using the code OP#%{wp_id}
(or PP#%{wp_id}
for private links) in the issue title/description or create a new issue.
+ tab_mrs:
+ empty: There are no merge requests linked yet. Link an existing MR by using the code OP#%{wp_id}
(or PP#%{wp_id}
for private links) in the MR title/description or create a new MR.
+ gitlab_pipelines: Pipelines
+ updated_on: Updated on
diff --git a/modules/gitlab_integration/config/locales/crowdin/js-nl.yml b/modules/gitlab_integration/config/locales/crowdin/js-nl.yml
new file mode 100644
index 000000000000..b0c8d39b54b9
--- /dev/null
+++ b/modules/gitlab_integration/config/locales/crowdin/js-nl.yml
@@ -0,0 +1,56 @@
+#-- copyright
+# OpenProject is an open source project management software.
+# Copyright (C) 2023 Ben Tey
+#
+# This program is free software; you can redistribute it and/or
+# modify it under the terms of the GNU General Public License version 3.
+#
+# OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows:
+# Copyright (C) 2006-2013 Jean-Philippe Lang
+# Copyright (C) 2010-2013 the ChiliProject Team
+# Copyright (C) 2012-2021 the OpenProject GmbH
+#
+# This program is free software; you can redistribute it and/or
+# modify it under the terms of the GNU General Public License
+# as published by the Free Software Foundation; either version 2
+# of the License, or (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+#
+# See docs/COPYRIGHT.rdoc for more details.
+#++
+nl:
+ js:
+ gitlab_integration:
+ work_packages:
+ tab_name: "GitLab"
+ tab_header_issue:
+ title: "Issues"
+ tab_header_mr:
+ title: "Merge requests"
+ create_mr:
+ label: Create MR
+ description: Create a Merge Request
+ copy_menu:
+ label: Git snippets
+ description: Copy git snippets to clipboard
+ git_actions:
+ branch_name: Branch name
+ commit_message: Commit message
+ cmd: Create branch with empty commit
+ title: Quick snippets for Git
+ copy_success: ✅ Copied!
+ copy_error: ❌ Copy failed!
+ tab_issue:
+ empty: There are no issues linked yet. Link an existing issue by using the code OP#%{wp_id}
(or PP#%{wp_id}
for private links) in the issue title/description or create a new issue.
+ tab_mrs:
+ empty: There are no merge requests linked yet. Link an existing MR by using the code OP#%{wp_id}
(or PP#%{wp_id}
for private links) in the MR title/description or create a new MR.
+ gitlab_pipelines: Pipelines
+ updated_on: Updated on
diff --git a/modules/gitlab_integration/config/locales/crowdin/js-no.yml b/modules/gitlab_integration/config/locales/crowdin/js-no.yml
new file mode 100644
index 000000000000..d8983e51a0c5
--- /dev/null
+++ b/modules/gitlab_integration/config/locales/crowdin/js-no.yml
@@ -0,0 +1,56 @@
+#-- copyright
+# OpenProject is an open source project management software.
+# Copyright (C) 2023 Ben Tey
+#
+# This program is free software; you can redistribute it and/or
+# modify it under the terms of the GNU General Public License version 3.
+#
+# OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows:
+# Copyright (C) 2006-2013 Jean-Philippe Lang
+# Copyright (C) 2010-2013 the ChiliProject Team
+# Copyright (C) 2012-2021 the OpenProject GmbH
+#
+# This program is free software; you can redistribute it and/or
+# modify it under the terms of the GNU General Public License
+# as published by the Free Software Foundation; either version 2
+# of the License, or (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+#
+# See docs/COPYRIGHT.rdoc for more details.
+#++
+"no":
+ js:
+ gitlab_integration:
+ work_packages:
+ tab_name: "GitLab"
+ tab_header_issue:
+ title: "Issues"
+ tab_header_mr:
+ title: "Merge requests"
+ create_mr:
+ label: Create MR
+ description: Create a Merge Request
+ copy_menu:
+ label: Git snippets
+ description: Copy git snippets to clipboard
+ git_actions:
+ branch_name: Branch name
+ commit_message: Commit message
+ cmd: Create branch with empty commit
+ title: Quick snippets for Git
+ copy_success: ✅ Copied!
+ copy_error: ❌ Copy failed!
+ tab_issue:
+ empty: There are no issues linked yet. Link an existing issue by using the code OP#%{wp_id}
(or PP#%{wp_id}
for private links) in the issue title/description or create a new issue.
+ tab_mrs:
+ empty: There are no merge requests linked yet. Link an existing MR by using the code OP#%{wp_id}
(or PP#%{wp_id}
for private links) in the MR title/description or create a new MR.
+ gitlab_pipelines: Pipelines
+ updated_on: Updated on
diff --git a/modules/gitlab_integration/config/locales/crowdin/js-pl.yml b/modules/gitlab_integration/config/locales/crowdin/js-pl.yml
new file mode 100644
index 000000000000..35e9c52f07b7
--- /dev/null
+++ b/modules/gitlab_integration/config/locales/crowdin/js-pl.yml
@@ -0,0 +1,56 @@
+#-- copyright
+# OpenProject is an open source project management software.
+# Copyright (C) 2023 Ben Tey
+#
+# This program is free software; you can redistribute it and/or
+# modify it under the terms of the GNU General Public License version 3.
+#
+# OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows:
+# Copyright (C) 2006-2013 Jean-Philippe Lang
+# Copyright (C) 2010-2013 the ChiliProject Team
+# Copyright (C) 2012-2021 the OpenProject GmbH
+#
+# This program is free software; you can redistribute it and/or
+# modify it under the terms of the GNU General Public License
+# as published by the Free Software Foundation; either version 2
+# of the License, or (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+#
+# See docs/COPYRIGHT.rdoc for more details.
+#++
+pl:
+ js:
+ gitlab_integration:
+ work_packages:
+ tab_name: "GitLab"
+ tab_header_issue:
+ title: "Issues"
+ tab_header_mr:
+ title: "Merge requests"
+ create_mr:
+ label: Create MR
+ description: Create a Merge Request
+ copy_menu:
+ label: Git snippets
+ description: Copy git snippets to clipboard
+ git_actions:
+ branch_name: Branch name
+ commit_message: Commit message
+ cmd: Create branch with empty commit
+ title: Quick snippets for Git
+ copy_success: ✅ Copied!
+ copy_error: ❌ Copy failed!
+ tab_issue:
+ empty: There are no issues linked yet. Link an existing issue by using the code OP#%{wp_id}
(or PP#%{wp_id}
for private links) in the issue title/description or create a new issue.
+ tab_mrs:
+ empty: There are no merge requests linked yet. Link an existing MR by using the code OP#%{wp_id}
(or PP#%{wp_id}
for private links) in the MR title/description or create a new MR.
+ gitlab_pipelines: Pipelines
+ updated_on: Updated on
diff --git a/modules/gitlab_integration/config/locales/crowdin/js-pt.yml b/modules/gitlab_integration/config/locales/crowdin/js-pt.yml
new file mode 100644
index 000000000000..b265a3a11bc2
--- /dev/null
+++ b/modules/gitlab_integration/config/locales/crowdin/js-pt.yml
@@ -0,0 +1,56 @@
+#-- copyright
+# OpenProject is an open source project management software.
+# Copyright (C) 2023 Ben Tey
+#
+# This program is free software; you can redistribute it and/or
+# modify it under the terms of the GNU General Public License version 3.
+#
+# OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows:
+# Copyright (C) 2006-2013 Jean-Philippe Lang
+# Copyright (C) 2010-2013 the ChiliProject Team
+# Copyright (C) 2012-2021 the OpenProject GmbH
+#
+# This program is free software; you can redistribute it and/or
+# modify it under the terms of the GNU General Public License
+# as published by the Free Software Foundation; either version 2
+# of the License, or (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+#
+# See docs/COPYRIGHT.rdoc for more details.
+#++
+pt:
+ js:
+ gitlab_integration:
+ work_packages:
+ tab_name: "GitLab"
+ tab_header_issue:
+ title: "Issues"
+ tab_header_mr:
+ title: "Merge requests"
+ create_mr:
+ label: Create MR
+ description: Create a Merge Request
+ copy_menu:
+ label: Git snippets
+ description: Copy git snippets to clipboard
+ git_actions:
+ branch_name: Branch name
+ commit_message: Commit message
+ cmd: Create branch with empty commit
+ title: Quick snippets for Git
+ copy_success: ✅ Copied!
+ copy_error: ❌ Copy failed!
+ tab_issue:
+ empty: There are no issues linked yet. Link an existing issue by using the code OP#%{wp_id}
(or PP#%{wp_id}
for private links) in the issue title/description or create a new issue.
+ tab_mrs:
+ empty: There are no merge requests linked yet. Link an existing MR by using the code OP#%{wp_id}
(or PP#%{wp_id}
for private links) in the MR title/description or create a new MR.
+ gitlab_pipelines: Pipelines
+ updated_on: Updated on
diff --git a/modules/gitlab_integration/config/locales/crowdin/js-ro.yml b/modules/gitlab_integration/config/locales/crowdin/js-ro.yml
new file mode 100644
index 000000000000..fc8bbb0003e6
--- /dev/null
+++ b/modules/gitlab_integration/config/locales/crowdin/js-ro.yml
@@ -0,0 +1,56 @@
+#-- copyright
+# OpenProject is an open source project management software.
+# Copyright (C) 2023 Ben Tey
+#
+# This program is free software; you can redistribute it and/or
+# modify it under the terms of the GNU General Public License version 3.
+#
+# OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows:
+# Copyright (C) 2006-2013 Jean-Philippe Lang
+# Copyright (C) 2010-2013 the ChiliProject Team
+# Copyright (C) 2012-2021 the OpenProject GmbH
+#
+# This program is free software; you can redistribute it and/or
+# modify it under the terms of the GNU General Public License
+# as published by the Free Software Foundation; either version 2
+# of the License, or (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+#
+# See docs/COPYRIGHT.rdoc for more details.
+#++
+ro:
+ js:
+ gitlab_integration:
+ work_packages:
+ tab_name: "GitLab"
+ tab_header_issue:
+ title: "Issues"
+ tab_header_mr:
+ title: "Merge requests"
+ create_mr:
+ label: Create MR
+ description: Create a Merge Request
+ copy_menu:
+ label: Git snippets
+ description: Copy git snippets to clipboard
+ git_actions:
+ branch_name: Branch name
+ commit_message: Commit message
+ cmd: Create branch with empty commit
+ title: Quick snippets for Git
+ copy_success: ✅ Copied!
+ copy_error: ❌ Copy failed!
+ tab_issue:
+ empty: There are no issues linked yet. Link an existing issue by using the code OP#%{wp_id}
(or PP#%{wp_id}
for private links) in the issue title/description or create a new issue.
+ tab_mrs:
+ empty: There are no merge requests linked yet. Link an existing MR by using the code OP#%{wp_id}
(or PP#%{wp_id}
for private links) in the MR title/description or create a new MR.
+ gitlab_pipelines: Pipelines
+ updated_on: Updated on
diff --git a/modules/gitlab_integration/config/locales/crowdin/js-ru.yml b/modules/gitlab_integration/config/locales/crowdin/js-ru.yml
new file mode 100644
index 000000000000..e1877b525340
--- /dev/null
+++ b/modules/gitlab_integration/config/locales/crowdin/js-ru.yml
@@ -0,0 +1,56 @@
+#-- copyright
+# OpenProject is an open source project management software.
+# Copyright (C) 2023 Ben Tey
+#
+# This program is free software; you can redistribute it and/or
+# modify it under the terms of the GNU General Public License version 3.
+#
+# OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows:
+# Copyright (C) 2006-2013 Jean-Philippe Lang
+# Copyright (C) 2010-2013 the ChiliProject Team
+# Copyright (C) 2012-2021 the OpenProject GmbH
+#
+# This program is free software; you can redistribute it and/or
+# modify it under the terms of the GNU General Public License
+# as published by the Free Software Foundation; either version 2
+# of the License, or (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+#
+# See docs/COPYRIGHT.rdoc for more details.
+#++
+ru:
+ js:
+ gitlab_integration:
+ work_packages:
+ tab_name: GitLab
+ tab_header_issue:
+ title: Обсуждения
+ tab_header_mr:
+ title: Запросы на слияние
+ create_mr:
+ label: Создать запрос на слияние
+ description: Создать запрос на слияние
+ copy_menu:
+ label: Git-подсказки
+ description: Скопипастить Git-подсказки
+ git_actions:
+ branch_name: Имя ветки
+ commit_message: Описание коммита
+ cmd: Создать ветку с пустым коммитом
+ title: Git-подсказки
+ copy_success: ✅ Скопировано
+ copy_error: ❌ Не получилось скопировать
+ tab_issue:
+ empty: Нет связанных обсуждений. Привязать обсуждение можно путём вставки кода OP#%{wp_id}
(или PP#%{wp_id}
для приватных ссылок) в заголовке/описании при создании/редактировании обсуждения.
+ tab_mrs:
+ empty: Нет связанных запросов на слияние. Привязать запрос на слияние можно путём вставки кода OP#%{wp_id}
(или PP#%{wp_id}
для приватных ссылок) в заголовке/описании при создании/редактировании запроса на слияние.
+ gitlab_pipelines: Сборочные линии (pipelines)
+ updated_on: Обновлено
diff --git a/modules/gitlab_integration/config/locales/crowdin/js-sk.yml b/modules/gitlab_integration/config/locales/crowdin/js-sk.yml
new file mode 100644
index 000000000000..2899069e371c
--- /dev/null
+++ b/modules/gitlab_integration/config/locales/crowdin/js-sk.yml
@@ -0,0 +1,56 @@
+#-- copyright
+# OpenProject is an open source project management software.
+# Copyright (C) 2023 Ben Tey
+#
+# This program is free software; you can redistribute it and/or
+# modify it under the terms of the GNU General Public License version 3.
+#
+# OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows:
+# Copyright (C) 2006-2013 Jean-Philippe Lang
+# Copyright (C) 2010-2013 the ChiliProject Team
+# Copyright (C) 2012-2021 the OpenProject GmbH
+#
+# This program is free software; you can redistribute it and/or
+# modify it under the terms of the GNU General Public License
+# as published by the Free Software Foundation; either version 2
+# of the License, or (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+#
+# See docs/COPYRIGHT.rdoc for more details.
+#++
+sk:
+ js:
+ gitlab_integration:
+ work_packages:
+ tab_name: "GitLab"
+ tab_header_issue:
+ title: "Issues"
+ tab_header_mr:
+ title: "Merge requests"
+ create_mr:
+ label: Create MR
+ description: Create a Merge Request
+ copy_menu:
+ label: Git snippets
+ description: Copy git snippets to clipboard
+ git_actions:
+ branch_name: Branch name
+ commit_message: Commit message
+ cmd: Create branch with empty commit
+ title: Quick snippets for Git
+ copy_success: ✅ Copied!
+ copy_error: ❌ Copy failed!
+ tab_issue:
+ empty: There are no issues linked yet. Link an existing issue by using the code OP#%{wp_id}
(or PP#%{wp_id}
for private links) in the issue title/description or create a new issue.
+ tab_mrs:
+ empty: There are no merge requests linked yet. Link an existing MR by using the code OP#%{wp_id}
(or PP#%{wp_id}
for private links) in the MR title/description or create a new MR.
+ gitlab_pipelines: Pipelines
+ updated_on: Updated on
diff --git a/modules/gitlab_integration/config/locales/crowdin/js-sl.yml b/modules/gitlab_integration/config/locales/crowdin/js-sl.yml
new file mode 100644
index 000000000000..3cbbfd9a6415
--- /dev/null
+++ b/modules/gitlab_integration/config/locales/crowdin/js-sl.yml
@@ -0,0 +1,56 @@
+#-- copyright
+# OpenProject is an open source project management software.
+# Copyright (C) 2023 Ben Tey
+#
+# This program is free software; you can redistribute it and/or
+# modify it under the terms of the GNU General Public License version 3.
+#
+# OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows:
+# Copyright (C) 2006-2013 Jean-Philippe Lang
+# Copyright (C) 2010-2013 the ChiliProject Team
+# Copyright (C) 2012-2021 the OpenProject GmbH
+#
+# This program is free software; you can redistribute it and/or
+# modify it under the terms of the GNU General Public License
+# as published by the Free Software Foundation; either version 2
+# of the License, or (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+#
+# See docs/COPYRIGHT.rdoc for more details.
+#++
+sl:
+ js:
+ gitlab_integration:
+ work_packages:
+ tab_name: "GitLab"
+ tab_header_issue:
+ title: "Issues"
+ tab_header_mr:
+ title: "Merge requests"
+ create_mr:
+ label: Create MR
+ description: Create a Merge Request
+ copy_menu:
+ label: Git snippets
+ description: Copy git snippets to clipboard
+ git_actions:
+ branch_name: Branch name
+ commit_message: Commit message
+ cmd: Create branch with empty commit
+ title: Quick snippets for Git
+ copy_success: ✅ Copied!
+ copy_error: ❌ Copy failed!
+ tab_issue:
+ empty: There are no issues linked yet. Link an existing issue by using the code OP#%{wp_id}
(or PP#%{wp_id}
for private links) in the issue title/description or create a new issue.
+ tab_mrs:
+ empty: There are no merge requests linked yet. Link an existing MR by using the code OP#%{wp_id}
(or PP#%{wp_id}
for private links) in the MR title/description or create a new MR.
+ gitlab_pipelines: Pipelines
+ updated_on: Updated on
diff --git a/modules/gitlab_integration/config/locales/crowdin/js-sv.yml b/modules/gitlab_integration/config/locales/crowdin/js-sv.yml
new file mode 100644
index 000000000000..48f132e89919
--- /dev/null
+++ b/modules/gitlab_integration/config/locales/crowdin/js-sv.yml
@@ -0,0 +1,56 @@
+#-- copyright
+# OpenProject is an open source project management software.
+# Copyright (C) 2023 Ben Tey
+#
+# This program is free software; you can redistribute it and/or
+# modify it under the terms of the GNU General Public License version 3.
+#
+# OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows:
+# Copyright (C) 2006-2013 Jean-Philippe Lang
+# Copyright (C) 2010-2013 the ChiliProject Team
+# Copyright (C) 2012-2021 the OpenProject GmbH
+#
+# This program is free software; you can redistribute it and/or
+# modify it under the terms of the GNU General Public License
+# as published by the Free Software Foundation; either version 2
+# of the License, or (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+#
+# See docs/COPYRIGHT.rdoc for more details.
+#++
+sv:
+ js:
+ gitlab_integration:
+ work_packages:
+ tab_name: "GitLab"
+ tab_header_issue:
+ title: "Issues"
+ tab_header_mr:
+ title: "Merge requests"
+ create_mr:
+ label: Create MR
+ description: Create a Merge Request
+ copy_menu:
+ label: Git snippets
+ description: Copy git snippets to clipboard
+ git_actions:
+ branch_name: Branch name
+ commit_message: Commit message
+ cmd: Create branch with empty commit
+ title: Quick snippets for Git
+ copy_success: ✅ Copied!
+ copy_error: ❌ Copy failed!
+ tab_issue:
+ empty: There are no issues linked yet. Link an existing issue by using the code OP#%{wp_id}
(or PP#%{wp_id}
for private links) in the issue title/description or create a new issue.
+ tab_mrs:
+ empty: There are no merge requests linked yet. Link an existing MR by using the code OP#%{wp_id}
(or PP#%{wp_id}
for private links) in the MR title/description or create a new MR.
+ gitlab_pipelines: Pipelines
+ updated_on: Updated on
diff --git a/modules/gitlab_integration/config/locales/crowdin/js-tr.yml b/modules/gitlab_integration/config/locales/crowdin/js-tr.yml
new file mode 100644
index 000000000000..c5e59b0d4668
--- /dev/null
+++ b/modules/gitlab_integration/config/locales/crowdin/js-tr.yml
@@ -0,0 +1,56 @@
+#-- copyright
+# OpenProject is an open source project management software.
+# Copyright (C) 2023 Ben Tey
+#
+# This program is free software; you can redistribute it and/or
+# modify it under the terms of the GNU General Public License version 3.
+#
+# OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows:
+# Copyright (C) 2006-2013 Jean-Philippe Lang
+# Copyright (C) 2010-2013 the ChiliProject Team
+# Copyright (C) 2012-2021 the OpenProject GmbH
+#
+# This program is free software; you can redistribute it and/or
+# modify it under the terms of the GNU General Public License
+# as published by the Free Software Foundation; either version 2
+# of the License, or (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+#
+# See docs/COPYRIGHT.rdoc for more details.
+#++
+tr:
+ js:
+ gitlab_integration:
+ work_packages:
+ tab_name: "GitLab"
+ tab_header_issue:
+ title: "Issues"
+ tab_header_mr:
+ title: "Merge requests"
+ create_mr:
+ label: Create MR
+ description: Create a Merge Request
+ copy_menu:
+ label: Git snippets
+ description: Copy git snippets to clipboard
+ git_actions:
+ branch_name: Branch name
+ commit_message: Commit message
+ cmd: Create branch with empty commit
+ title: Quick snippets for Git
+ copy_success: ✅ Copied!
+ copy_error: ❌ Copy failed!
+ tab_issue:
+ empty: There are no issues linked yet. Link an existing issue by using the code OP#%{wp_id}
(or PP#%{wp_id}
for private links) in the issue title/description or create a new issue.
+ tab_mrs:
+ empty: There are no merge requests linked yet. Link an existing MR by using the code OP#%{wp_id}
(or PP#%{wp_id}
for private links) in the MR title/description or create a new MR.
+ gitlab_pipelines: Pipelines
+ updated_on: Updated on
diff --git a/modules/gitlab_integration/config/locales/crowdin/js-uk.yml b/modules/gitlab_integration/config/locales/crowdin/js-uk.yml
new file mode 100644
index 000000000000..b3088532bdd7
--- /dev/null
+++ b/modules/gitlab_integration/config/locales/crowdin/js-uk.yml
@@ -0,0 +1,56 @@
+#-- copyright
+# OpenProject is an open source project management software.
+# Copyright (C) 2023 Ben Tey
+#
+# This program is free software; you can redistribute it and/or
+# modify it under the terms of the GNU General Public License version 3.
+#
+# OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows:
+# Copyright (C) 2006-2013 Jean-Philippe Lang
+# Copyright (C) 2010-2013 the ChiliProject Team
+# Copyright (C) 2012-2021 the OpenProject GmbH
+#
+# This program is free software; you can redistribute it and/or
+# modify it under the terms of the GNU General Public License
+# as published by the Free Software Foundation; either version 2
+# of the License, or (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+#
+# See docs/COPYRIGHT.rdoc for more details.
+#++
+uk:
+ js:
+ gitlab_integration:
+ work_packages:
+ tab_name: "GitLab"
+ tab_header_issue:
+ title: "Issues"
+ tab_header_mr:
+ title: "Merge requests"
+ create_mr:
+ label: Create MR
+ description: Create a Merge Request
+ copy_menu:
+ label: Git snippets
+ description: Copy git snippets to clipboard
+ git_actions:
+ branch_name: Branch name
+ commit_message: Commit message
+ cmd: Create branch with empty commit
+ title: Quick snippets for Git
+ copy_success: ✅ Copied!
+ copy_error: ❌ Copy failed!
+ tab_issue:
+ empty: There are no issues linked yet. Link an existing issue by using the code OP#%{wp_id}
(or PP#%{wp_id}
for private links) in the issue title/description or create a new issue.
+ tab_mrs:
+ empty: There are no merge requests linked yet. Link an existing MR by using the code OP#%{wp_id}
(or PP#%{wp_id}
for private links) in the MR title/description or create a new MR.
+ gitlab_pipelines: Pipelines
+ updated_on: Updated on
diff --git a/modules/gitlab_integration/config/locales/crowdin/js-vi.yml b/modules/gitlab_integration/config/locales/crowdin/js-vi.yml
new file mode 100644
index 000000000000..e1dffccfdeb5
--- /dev/null
+++ b/modules/gitlab_integration/config/locales/crowdin/js-vi.yml
@@ -0,0 +1,56 @@
+#-- copyright
+# OpenProject is an open source project management software.
+# Copyright (C) 2023 Ben Tey
+#
+# This program is free software; you can redistribute it and/or
+# modify it under the terms of the GNU General Public License version 3.
+#
+# OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows:
+# Copyright (C) 2006-2013 Jean-Philippe Lang
+# Copyright (C) 2010-2013 the ChiliProject Team
+# Copyright (C) 2012-2021 the OpenProject GmbH
+#
+# This program is free software; you can redistribute it and/or
+# modify it under the terms of the GNU General Public License
+# as published by the Free Software Foundation; either version 2
+# of the License, or (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+#
+# See docs/COPYRIGHT.rdoc for more details.
+#++
+vi:
+ js:
+ gitlab_integration:
+ work_packages:
+ tab_name: "GitLab"
+ tab_header_issue:
+ title: "Issues"
+ tab_header_mr:
+ title: "Merge requests"
+ create_mr:
+ label: Create MR
+ description: Create a Merge Request
+ copy_menu:
+ label: Git snippets
+ description: Copy git snippets to clipboard
+ git_actions:
+ branch_name: Branch name
+ commit_message: Commit message
+ cmd: Create branch with empty commit
+ title: Quick snippets for Git
+ copy_success: ✅ Copied!
+ copy_error: ❌ Copy failed!
+ tab_issue:
+ empty: There are no issues linked yet. Link an existing issue by using the code OP#%{wp_id}
(or PP#%{wp_id}
for private links) in the issue title/description or create a new issue.
+ tab_mrs:
+ empty: There are no merge requests linked yet. Link an existing MR by using the code OP#%{wp_id}
(or PP#%{wp_id}
for private links) in the MR title/description or create a new MR.
+ gitlab_pipelines: Pipelines
+ updated_on: Updated on
diff --git a/modules/gitlab_integration/config/locales/crowdin/js-zh-CN.yml b/modules/gitlab_integration/config/locales/crowdin/js-zh-CN.yml
new file mode 100644
index 000000000000..59d1d96f0233
--- /dev/null
+++ b/modules/gitlab_integration/config/locales/crowdin/js-zh-CN.yml
@@ -0,0 +1,56 @@
+#-- copyright
+# OpenProject is an open source project management software.
+# Copyright (C) 2023 Ben Tey
+#
+# This program is free software; you can redistribute it and/or
+# modify it under the terms of the GNU General Public License version 3.
+#
+# OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows:
+# Copyright (C) 2006-2013 Jean-Philippe Lang
+# Copyright (C) 2010-2013 the ChiliProject Team
+# Copyright (C) 2012-2021 the OpenProject GmbH
+#
+# This program is free software; you can redistribute it and/or
+# modify it under the terms of the GNU General Public License
+# as published by the Free Software Foundation; either version 2
+# of the License, or (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+#
+# See docs/COPYRIGHT.rdoc for more details.
+#++
+zh-CN:
+ js:
+ gitlab_integration:
+ work_packages:
+ tab_name: "GitLab"
+ tab_header_issue:
+ title: "Issues"
+ tab_header_mr:
+ title: "Merge requests"
+ create_mr:
+ label: Create MR
+ description: Create a Merge Request
+ copy_menu:
+ label: Git snippets
+ description: Copy git snippets to clipboard
+ git_actions:
+ branch_name: Branch name
+ commit_message: Commit message
+ cmd: Create branch with empty commit
+ title: Quick snippets for Git
+ copy_success: ✅ Copied!
+ copy_error: ❌ Copy failed!
+ tab_issue:
+ empty: There are no issues linked yet. Link an existing issue by using the code OP#%{wp_id}
(or PP#%{wp_id}
for private links) in the issue title/description or create a new issue.
+ tab_mrs:
+ empty: There are no merge requests linked yet. Link an existing MR by using the code OP#%{wp_id}
(or PP#%{wp_id}
for private links) in the MR title/description or create a new MR.
+ gitlab_pipelines: Pipelines
+ updated_on: Updated on
diff --git a/modules/gitlab_integration/config/locales/crowdin/js-zh-TW.yml b/modules/gitlab_integration/config/locales/crowdin/js-zh-TW.yml
new file mode 100644
index 000000000000..2b5dddb91aa6
--- /dev/null
+++ b/modules/gitlab_integration/config/locales/crowdin/js-zh-TW.yml
@@ -0,0 +1,56 @@
+#-- copyright
+# OpenProject is an open source project management software.
+# Copyright (C) 2023 Ben Tey
+#
+# This program is free software; you can redistribute it and/or
+# modify it under the terms of the GNU General Public License version 3.
+#
+# OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows:
+# Copyright (C) 2006-2013 Jean-Philippe Lang
+# Copyright (C) 2010-2013 the ChiliProject Team
+# Copyright (C) 2012-2021 the OpenProject GmbH
+#
+# This program is free software; you can redistribute it and/or
+# modify it under the terms of the GNU General Public License
+# as published by the Free Software Foundation; either version 2
+# of the License, or (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+#
+# See docs/COPYRIGHT.rdoc for more details.
+#++
+zh-TW:
+ js:
+ gitlab_integration:
+ work_packages:
+ tab_name: "GitLab"
+ tab_header_issue:
+ title: "Issues"
+ tab_header_mr:
+ title: "Merge requests"
+ create_mr:
+ label: Create MR
+ description: Create a Merge Request
+ copy_menu:
+ label: Git snippets
+ description: Copy git snippets to clipboard
+ git_actions:
+ branch_name: Branch name
+ commit_message: Commit message
+ cmd: Create branch with empty commit
+ title: Quick snippets for Git
+ copy_success: ✅ Copied!
+ copy_error: ❌ Copy failed!
+ tab_issue:
+ empty: There are no issues linked yet. Link an existing issue by using the code OP#%{wp_id}
(or PP#%{wp_id}
for private links) in the issue title/description or create a new issue.
+ tab_mrs:
+ empty: There are no merge requests linked yet. Link an existing MR by using the code OP#%{wp_id}
(or PP#%{wp_id}
for private links) in the MR title/description or create a new MR.
+ gitlab_pipelines: Pipelines
+ updated_on: Updated on
diff --git a/modules/gitlab_integration/config/locales/crowdin/ko.yml b/modules/gitlab_integration/config/locales/crowdin/ko.yml
new file mode 100644
index 000000000000..cff63d5f4b2c
--- /dev/null
+++ b/modules/gitlab_integration/config/locales/crowdin/ko.yml
@@ -0,0 +1,93 @@
+#-- copyright
+# OpenProject is an open source project management software.
+# Copyright (C) 2023 Ben Tey
+#
+# This program is free software; you can redistribute it and/or
+# modify it under the terms of the GNU General Public License version 3.
+#
+# OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows:
+# Copyright (C) 2006-2013 Jean-Philippe Lang
+# Copyright (C) 2010-2013 the ChiliProject Team
+# Copyright (C) 2012-2021 the OpenProject GmbH
+#
+# This program is free software; you can redistribute it and/or
+# modify it under the terms of the GNU General Public License
+# as published by the Free Software Foundation; either version 2
+# of the License, or (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+#
+# See docs/COPYRIGHT.rdoc for more details.
+#++
+ko:
+ project_module_gitlab: "Gitlab"
+ permission_show_gitlab_content: "Show Gitlab content"
+ gitlab_integration:
+ merge_request_opened_comment: >
+ **MR Opened:** Merge request %{mr_number} [%{mr_title}](%{mr_url}) for [%{repository}](%{repository_url})
+ has been opened by [%{gitlab_user}](%{gitlab_user_url}).
+ merge_request_closed_comment: >
+ **MR Closed:** Merge request %{mr_number} [%{mr_title}](%{mr_url}) for [%{repository}](%{repository_url})
+ has been closed by [%{gitlab_user}](%{gitlab_user_url}).
+ merge_request_merged_comment: >
+ **MR Merged:** Merge request %{mr_number} [%{mr_title}](%{mr_url}) for [%{repository}](%{repository_url})
+ has been merged by [%{gitlab_user}](%{gitlab_user_url}).
+ merge_request_reopened_comment: >
+ **MR Reopened:** Merge request %{mr_number} [%{mr_title}](%{mr_url}) for [%{repository}](%{repository_url})
+ has been reopened by [%{gitlab_user}](%{gitlab_user_url}).
+ note_commit_referenced_comment: >
+ **Referenced in Commit:** [%{gitlab_user}](%{gitlab_user_url}) referenced this WP in
+ a Commit Note [%{commit_id}](%{commit_url}) on [%{repository}](%{repository_url}):
+
+ %{commit_note}
+ note_mr_referenced_comment: >
+ **Referenced in MR:** [%{gitlab_user}](%{gitlab_user_url}) referenced this WP in
+ Merge request %{mr_number} [%{mr_title}](%{mr_url}) on [%{repository}](%{repository_url}):
+
+ %{mr_note}
+ note_mr_commented_comment: >
+ **Commented in MR:** [%{gitlab_user}](%{gitlab_user_url}) commented this WP in
+ Merge request %{mr_number} [%{mr_title}](%{mr_url}) on [%{repository}](%{repository_url}):
+
+ %{mr_note}
+ note_issue_referenced_comment: >
+ **Referenced in Issue:** [%{gitlab_user}](%{gitlab_user_url}) referenced this WP in
+ Issue %{issue_number} [%{issue_title}](%{issue_url}) on [%{repository}](%{repository_url}):
+
+ %{issue_note}
+ note_issue_commented_comment: >
+ **Commented in Issue:** [%{gitlab_user}](%{gitlab_user_url}) commented this WP in
+ Issue %{issue_number} [%{issue_title}](%{issue_url}) on [%{repository}](%{repository_url}):
+
+ %{issue_note}
+ note_snippet_referenced_comment: >
+ **Referenced in Snippet:** [%{gitlab_user}](%{gitlab_user_url}) referenced this WP in
+ Snippet %{snippet_number} [%{snippet_title}](%{snippet_url}) on [%{repository}](%{repository_url}):
+
+ %{snippet_note}
+ issue_opened_referenced_comment: >
+ **Issue Opened:** Issue %{issue_number} [%{issue_title}](%{issue_url}) for [%{repository}](%{repository_url})
+ has been opened by [%{gitlab_user}](%{gitlab_user_url}).
+ issue_closed_referenced_comment: >
+ **Issue Closed:** Issue %{issue_number} [%{issue_title}](%{issue_url}) for [%{repository}](%{repository_url})
+ has been closed by [%{gitlab_user}](%{gitlab_user_url}).
+ issue_reopened_referenced_comment: >
+ **Issue Reopened:** Issue %{issue_number} [%{issue_title}](%{issue_url}) for [%{repository}](%{repository_url})
+ has been reopened by [%{gitlab_user}](%{gitlab_user_url}).
+ push_single_commit_comment: >
+ **Pushed in MR:** [%{gitlab_user}](%{gitlab_user_url}) pushed [%{commit_number}](%{commit_url})
+ to [%{repository}](%{repository_url}) at %{commit_timestamp}:
+
+ %{commit_note}
+ push_multiple_commits_comment: >
+ **Pushed in MR:** [%{gitlab_user}](%{gitlab_user_url}) pushed multiple commits [%{commit_number}](%{commit_url})
+ to [%{repository}](%{repository_url}) at %{commit_timestamp}:
+
+ %{commit_note}
diff --git a/modules/gitlab_integration/config/locales/crowdin/lt.yml b/modules/gitlab_integration/config/locales/crowdin/lt.yml
new file mode 100644
index 000000000000..1fe1bc3535bc
--- /dev/null
+++ b/modules/gitlab_integration/config/locales/crowdin/lt.yml
@@ -0,0 +1,93 @@
+#-- copyright
+# OpenProject is an open source project management software.
+# Copyright (C) 2023 Ben Tey
+#
+# This program is free software; you can redistribute it and/or
+# modify it under the terms of the GNU General Public License version 3.
+#
+# OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows:
+# Copyright (C) 2006-2013 Jean-Philippe Lang
+# Copyright (C) 2010-2013 the ChiliProject Team
+# Copyright (C) 2012-2021 the OpenProject GmbH
+#
+# This program is free software; you can redistribute it and/or
+# modify it under the terms of the GNU General Public License
+# as published by the Free Software Foundation; either version 2
+# of the License, or (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+#
+# See docs/COPYRIGHT.rdoc for more details.
+#++
+lt:
+ project_module_gitlab: "Gitlab"
+ permission_show_gitlab_content: "Show Gitlab content"
+ gitlab_integration:
+ merge_request_opened_comment: >
+ **MR Opened:** Merge request %{mr_number} [%{mr_title}](%{mr_url}) for [%{repository}](%{repository_url})
+ has been opened by [%{gitlab_user}](%{gitlab_user_url}).
+ merge_request_closed_comment: >
+ **MR Closed:** Merge request %{mr_number} [%{mr_title}](%{mr_url}) for [%{repository}](%{repository_url})
+ has been closed by [%{gitlab_user}](%{gitlab_user_url}).
+ merge_request_merged_comment: >
+ **MR Merged:** Merge request %{mr_number} [%{mr_title}](%{mr_url}) for [%{repository}](%{repository_url})
+ has been merged by [%{gitlab_user}](%{gitlab_user_url}).
+ merge_request_reopened_comment: >
+ **MR Reopened:** Merge request %{mr_number} [%{mr_title}](%{mr_url}) for [%{repository}](%{repository_url})
+ has been reopened by [%{gitlab_user}](%{gitlab_user_url}).
+ note_commit_referenced_comment: >
+ **Referenced in Commit:** [%{gitlab_user}](%{gitlab_user_url}) referenced this WP in
+ a Commit Note [%{commit_id}](%{commit_url}) on [%{repository}](%{repository_url}):
+
+ %{commit_note}
+ note_mr_referenced_comment: >
+ **Referenced in MR:** [%{gitlab_user}](%{gitlab_user_url}) referenced this WP in
+ Merge request %{mr_number} [%{mr_title}](%{mr_url}) on [%{repository}](%{repository_url}):
+
+ %{mr_note}
+ note_mr_commented_comment: >
+ **Commented in MR:** [%{gitlab_user}](%{gitlab_user_url}) commented this WP in
+ Merge request %{mr_number} [%{mr_title}](%{mr_url}) on [%{repository}](%{repository_url}):
+
+ %{mr_note}
+ note_issue_referenced_comment: >
+ **Referenced in Issue:** [%{gitlab_user}](%{gitlab_user_url}) referenced this WP in
+ Issue %{issue_number} [%{issue_title}](%{issue_url}) on [%{repository}](%{repository_url}):
+
+ %{issue_note}
+ note_issue_commented_comment: >
+ **Commented in Issue:** [%{gitlab_user}](%{gitlab_user_url}) commented this WP in
+ Issue %{issue_number} [%{issue_title}](%{issue_url}) on [%{repository}](%{repository_url}):
+
+ %{issue_note}
+ note_snippet_referenced_comment: >
+ **Referenced in Snippet:** [%{gitlab_user}](%{gitlab_user_url}) referenced this WP in
+ Snippet %{snippet_number} [%{snippet_title}](%{snippet_url}) on [%{repository}](%{repository_url}):
+
+ %{snippet_note}
+ issue_opened_referenced_comment: >
+ **Issue Opened:** Issue %{issue_number} [%{issue_title}](%{issue_url}) for [%{repository}](%{repository_url})
+ has been opened by [%{gitlab_user}](%{gitlab_user_url}).
+ issue_closed_referenced_comment: >
+ **Issue Closed:** Issue %{issue_number} [%{issue_title}](%{issue_url}) for [%{repository}](%{repository_url})
+ has been closed by [%{gitlab_user}](%{gitlab_user_url}).
+ issue_reopened_referenced_comment: >
+ **Issue Reopened:** Issue %{issue_number} [%{issue_title}](%{issue_url}) for [%{repository}](%{repository_url})
+ has been reopened by [%{gitlab_user}](%{gitlab_user_url}).
+ push_single_commit_comment: >
+ **Pushed in MR:** [%{gitlab_user}](%{gitlab_user_url}) pushed [%{commit_number}](%{commit_url})
+ to [%{repository}](%{repository_url}) at %{commit_timestamp}:
+
+ %{commit_note}
+ push_multiple_commits_comment: >
+ **Pushed in MR:** [%{gitlab_user}](%{gitlab_user_url}) pushed multiple commits [%{commit_number}](%{commit_url})
+ to [%{repository}](%{repository_url}) at %{commit_timestamp}:
+
+ %{commit_note}
diff --git a/modules/gitlab_integration/config/locales/crowdin/nl.yml b/modules/gitlab_integration/config/locales/crowdin/nl.yml
new file mode 100644
index 000000000000..2af08592ddc6
--- /dev/null
+++ b/modules/gitlab_integration/config/locales/crowdin/nl.yml
@@ -0,0 +1,93 @@
+#-- copyright
+# OpenProject is an open source project management software.
+# Copyright (C) 2023 Ben Tey
+#
+# This program is free software; you can redistribute it and/or
+# modify it under the terms of the GNU General Public License version 3.
+#
+# OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows:
+# Copyright (C) 2006-2013 Jean-Philippe Lang
+# Copyright (C) 2010-2013 the ChiliProject Team
+# Copyright (C) 2012-2021 the OpenProject GmbH
+#
+# This program is free software; you can redistribute it and/or
+# modify it under the terms of the GNU General Public License
+# as published by the Free Software Foundation; either version 2
+# of the License, or (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+#
+# See docs/COPYRIGHT.rdoc for more details.
+#++
+nl:
+ project_module_gitlab: "Gitlab"
+ permission_show_gitlab_content: "Show Gitlab content"
+ gitlab_integration:
+ merge_request_opened_comment: >
+ **MR Opened:** Merge request %{mr_number} [%{mr_title}](%{mr_url}) for [%{repository}](%{repository_url})
+ has been opened by [%{gitlab_user}](%{gitlab_user_url}).
+ merge_request_closed_comment: >
+ **MR Closed:** Merge request %{mr_number} [%{mr_title}](%{mr_url}) for [%{repository}](%{repository_url})
+ has been closed by [%{gitlab_user}](%{gitlab_user_url}).
+ merge_request_merged_comment: >
+ **MR Merged:** Merge request %{mr_number} [%{mr_title}](%{mr_url}) for [%{repository}](%{repository_url})
+ has been merged by [%{gitlab_user}](%{gitlab_user_url}).
+ merge_request_reopened_comment: >
+ **MR Reopened:** Merge request %{mr_number} [%{mr_title}](%{mr_url}) for [%{repository}](%{repository_url})
+ has been reopened by [%{gitlab_user}](%{gitlab_user_url}).
+ note_commit_referenced_comment: >
+ **Referenced in Commit:** [%{gitlab_user}](%{gitlab_user_url}) referenced this WP in
+ a Commit Note [%{commit_id}](%{commit_url}) on [%{repository}](%{repository_url}):
+
+ %{commit_note}
+ note_mr_referenced_comment: >
+ **Referenced in MR:** [%{gitlab_user}](%{gitlab_user_url}) referenced this WP in
+ Merge request %{mr_number} [%{mr_title}](%{mr_url}) on [%{repository}](%{repository_url}):
+
+ %{mr_note}
+ note_mr_commented_comment: >
+ **Commented in MR:** [%{gitlab_user}](%{gitlab_user_url}) commented this WP in
+ Merge request %{mr_number} [%{mr_title}](%{mr_url}) on [%{repository}](%{repository_url}):
+
+ %{mr_note}
+ note_issue_referenced_comment: >
+ **Referenced in Issue:** [%{gitlab_user}](%{gitlab_user_url}) referenced this WP in
+ Issue %{issue_number} [%{issue_title}](%{issue_url}) on [%{repository}](%{repository_url}):
+
+ %{issue_note}
+ note_issue_commented_comment: >
+ **Commented in Issue:** [%{gitlab_user}](%{gitlab_user_url}) commented this WP in
+ Issue %{issue_number} [%{issue_title}](%{issue_url}) on [%{repository}](%{repository_url}):
+
+ %{issue_note}
+ note_snippet_referenced_comment: >
+ **Referenced in Snippet:** [%{gitlab_user}](%{gitlab_user_url}) referenced this WP in
+ Snippet %{snippet_number} [%{snippet_title}](%{snippet_url}) on [%{repository}](%{repository_url}):
+
+ %{snippet_note}
+ issue_opened_referenced_comment: >
+ **Issue Opened:** Issue %{issue_number} [%{issue_title}](%{issue_url}) for [%{repository}](%{repository_url})
+ has been opened by [%{gitlab_user}](%{gitlab_user_url}).
+ issue_closed_referenced_comment: >
+ **Issue Closed:** Issue %{issue_number} [%{issue_title}](%{issue_url}) for [%{repository}](%{repository_url})
+ has been closed by [%{gitlab_user}](%{gitlab_user_url}).
+ issue_reopened_referenced_comment: >
+ **Issue Reopened:** Issue %{issue_number} [%{issue_title}](%{issue_url}) for [%{repository}](%{repository_url})
+ has been reopened by [%{gitlab_user}](%{gitlab_user_url}).
+ push_single_commit_comment: >
+ **Pushed in MR:** [%{gitlab_user}](%{gitlab_user_url}) pushed [%{commit_number}](%{commit_url})
+ to [%{repository}](%{repository_url}) at %{commit_timestamp}:
+
+ %{commit_note}
+ push_multiple_commits_comment: >
+ **Pushed in MR:** [%{gitlab_user}](%{gitlab_user_url}) pushed multiple commits [%{commit_number}](%{commit_url})
+ to [%{repository}](%{repository_url}) at %{commit_timestamp}:
+
+ %{commit_note}
diff --git a/modules/gitlab_integration/config/locales/crowdin/no.yml b/modules/gitlab_integration/config/locales/crowdin/no.yml
new file mode 100644
index 000000000000..37d905e95408
--- /dev/null
+++ b/modules/gitlab_integration/config/locales/crowdin/no.yml
@@ -0,0 +1,93 @@
+#-- copyright
+# OpenProject is an open source project management software.
+# Copyright (C) 2023 Ben Tey
+#
+# This program is free software; you can redistribute it and/or
+# modify it under the terms of the GNU General Public License version 3.
+#
+# OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows:
+# Copyright (C) 2006-2013 Jean-Philippe Lang
+# Copyright (C) 2010-2013 the ChiliProject Team
+# Copyright (C) 2012-2021 the OpenProject GmbH
+#
+# This program is free software; you can redistribute it and/or
+# modify it under the terms of the GNU General Public License
+# as published by the Free Software Foundation; either version 2
+# of the License, or (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+#
+# See docs/COPYRIGHT.rdoc for more details.
+#++
+"no":
+ project_module_gitlab: "Gitlab"
+ permission_show_gitlab_content: "Show Gitlab content"
+ gitlab_integration:
+ merge_request_opened_comment: >
+ **MR Opened:** Merge request %{mr_number} [%{mr_title}](%{mr_url}) for [%{repository}](%{repository_url})
+ has been opened by [%{gitlab_user}](%{gitlab_user_url}).
+ merge_request_closed_comment: >
+ **MR Closed:** Merge request %{mr_number} [%{mr_title}](%{mr_url}) for [%{repository}](%{repository_url})
+ has been closed by [%{gitlab_user}](%{gitlab_user_url}).
+ merge_request_merged_comment: >
+ **MR Merged:** Merge request %{mr_number} [%{mr_title}](%{mr_url}) for [%{repository}](%{repository_url})
+ has been merged by [%{gitlab_user}](%{gitlab_user_url}).
+ merge_request_reopened_comment: >
+ **MR Reopened:** Merge request %{mr_number} [%{mr_title}](%{mr_url}) for [%{repository}](%{repository_url})
+ has been reopened by [%{gitlab_user}](%{gitlab_user_url}).
+ note_commit_referenced_comment: >
+ **Referenced in Commit:** [%{gitlab_user}](%{gitlab_user_url}) referenced this WP in
+ a Commit Note [%{commit_id}](%{commit_url}) on [%{repository}](%{repository_url}):
+
+ %{commit_note}
+ note_mr_referenced_comment: >
+ **Referenced in MR:** [%{gitlab_user}](%{gitlab_user_url}) referenced this WP in
+ Merge request %{mr_number} [%{mr_title}](%{mr_url}) on [%{repository}](%{repository_url}):
+
+ %{mr_note}
+ note_mr_commented_comment: >
+ **Commented in MR:** [%{gitlab_user}](%{gitlab_user_url}) commented this WP in
+ Merge request %{mr_number} [%{mr_title}](%{mr_url}) on [%{repository}](%{repository_url}):
+
+ %{mr_note}
+ note_issue_referenced_comment: >
+ **Referenced in Issue:** [%{gitlab_user}](%{gitlab_user_url}) referenced this WP in
+ Issue %{issue_number} [%{issue_title}](%{issue_url}) on [%{repository}](%{repository_url}):
+
+ %{issue_note}
+ note_issue_commented_comment: >
+ **Commented in Issue:** [%{gitlab_user}](%{gitlab_user_url}) commented this WP in
+ Issue %{issue_number} [%{issue_title}](%{issue_url}) on [%{repository}](%{repository_url}):
+
+ %{issue_note}
+ note_snippet_referenced_comment: >
+ **Referenced in Snippet:** [%{gitlab_user}](%{gitlab_user_url}) referenced this WP in
+ Snippet %{snippet_number} [%{snippet_title}](%{snippet_url}) on [%{repository}](%{repository_url}):
+
+ %{snippet_note}
+ issue_opened_referenced_comment: >
+ **Issue Opened:** Issue %{issue_number} [%{issue_title}](%{issue_url}) for [%{repository}](%{repository_url})
+ has been opened by [%{gitlab_user}](%{gitlab_user_url}).
+ issue_closed_referenced_comment: >
+ **Issue Closed:** Issue %{issue_number} [%{issue_title}](%{issue_url}) for [%{repository}](%{repository_url})
+ has been closed by [%{gitlab_user}](%{gitlab_user_url}).
+ issue_reopened_referenced_comment: >
+ **Issue Reopened:** Issue %{issue_number} [%{issue_title}](%{issue_url}) for [%{repository}](%{repository_url})
+ has been reopened by [%{gitlab_user}](%{gitlab_user_url}).
+ push_single_commit_comment: >
+ **Pushed in MR:** [%{gitlab_user}](%{gitlab_user_url}) pushed [%{commit_number}](%{commit_url})
+ to [%{repository}](%{repository_url}) at %{commit_timestamp}:
+
+ %{commit_note}
+ push_multiple_commits_comment: >
+ **Pushed in MR:** [%{gitlab_user}](%{gitlab_user_url}) pushed multiple commits [%{commit_number}](%{commit_url})
+ to [%{repository}](%{repository_url}) at %{commit_timestamp}:
+
+ %{commit_note}
diff --git a/modules/gitlab_integration/config/locales/crowdin/pl.yml b/modules/gitlab_integration/config/locales/crowdin/pl.yml
new file mode 100644
index 000000000000..1be5da1f1162
--- /dev/null
+++ b/modules/gitlab_integration/config/locales/crowdin/pl.yml
@@ -0,0 +1,93 @@
+#-- copyright
+# OpenProject is an open source project management software.
+# Copyright (C) 2023 Ben Tey
+#
+# This program is free software; you can redistribute it and/or
+# modify it under the terms of the GNU General Public License version 3.
+#
+# OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows:
+# Copyright (C) 2006-2013 Jean-Philippe Lang
+# Copyright (C) 2010-2013 the ChiliProject Team
+# Copyright (C) 2012-2021 the OpenProject GmbH
+#
+# This program is free software; you can redistribute it and/or
+# modify it under the terms of the GNU General Public License
+# as published by the Free Software Foundation; either version 2
+# of the License, or (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+#
+# See docs/COPYRIGHT.rdoc for more details.
+#++
+pl:
+ project_module_gitlab: "Gitlab"
+ permission_show_gitlab_content: "Show Gitlab content"
+ gitlab_integration:
+ merge_request_opened_comment: >
+ **MR Opened:** Merge request %{mr_number} [%{mr_title}](%{mr_url}) for [%{repository}](%{repository_url})
+ has been opened by [%{gitlab_user}](%{gitlab_user_url}).
+ merge_request_closed_comment: >
+ **MR Closed:** Merge request %{mr_number} [%{mr_title}](%{mr_url}) for [%{repository}](%{repository_url})
+ has been closed by [%{gitlab_user}](%{gitlab_user_url}).
+ merge_request_merged_comment: >
+ **MR Merged:** Merge request %{mr_number} [%{mr_title}](%{mr_url}) for [%{repository}](%{repository_url})
+ has been merged by [%{gitlab_user}](%{gitlab_user_url}).
+ merge_request_reopened_comment: >
+ **MR Reopened:** Merge request %{mr_number} [%{mr_title}](%{mr_url}) for [%{repository}](%{repository_url})
+ has been reopened by [%{gitlab_user}](%{gitlab_user_url}).
+ note_commit_referenced_comment: >
+ **Referenced in Commit:** [%{gitlab_user}](%{gitlab_user_url}) referenced this WP in
+ a Commit Note [%{commit_id}](%{commit_url}) on [%{repository}](%{repository_url}):
+
+ %{commit_note}
+ note_mr_referenced_comment: >
+ **Referenced in MR:** [%{gitlab_user}](%{gitlab_user_url}) referenced this WP in
+ Merge request %{mr_number} [%{mr_title}](%{mr_url}) on [%{repository}](%{repository_url}):
+
+ %{mr_note}
+ note_mr_commented_comment: >
+ **Commented in MR:** [%{gitlab_user}](%{gitlab_user_url}) commented this WP in
+ Merge request %{mr_number} [%{mr_title}](%{mr_url}) on [%{repository}](%{repository_url}):
+
+ %{mr_note}
+ note_issue_referenced_comment: >
+ **Referenced in Issue:** [%{gitlab_user}](%{gitlab_user_url}) referenced this WP in
+ Issue %{issue_number} [%{issue_title}](%{issue_url}) on [%{repository}](%{repository_url}):
+
+ %{issue_note}
+ note_issue_commented_comment: >
+ **Commented in Issue:** [%{gitlab_user}](%{gitlab_user_url}) commented this WP in
+ Issue %{issue_number} [%{issue_title}](%{issue_url}) on [%{repository}](%{repository_url}):
+
+ %{issue_note}
+ note_snippet_referenced_comment: >
+ **Referenced in Snippet:** [%{gitlab_user}](%{gitlab_user_url}) referenced this WP in
+ Snippet %{snippet_number} [%{snippet_title}](%{snippet_url}) on [%{repository}](%{repository_url}):
+
+ %{snippet_note}
+ issue_opened_referenced_comment: >
+ **Issue Opened:** Issue %{issue_number} [%{issue_title}](%{issue_url}) for [%{repository}](%{repository_url})
+ has been opened by [%{gitlab_user}](%{gitlab_user_url}).
+ issue_closed_referenced_comment: >
+ **Issue Closed:** Issue %{issue_number} [%{issue_title}](%{issue_url}) for [%{repository}](%{repository_url})
+ has been closed by [%{gitlab_user}](%{gitlab_user_url}).
+ issue_reopened_referenced_comment: >
+ **Issue Reopened:** Issue %{issue_number} [%{issue_title}](%{issue_url}) for [%{repository}](%{repository_url})
+ has been reopened by [%{gitlab_user}](%{gitlab_user_url}).
+ push_single_commit_comment: >
+ **Pushed in MR:** [%{gitlab_user}](%{gitlab_user_url}) pushed [%{commit_number}](%{commit_url})
+ to [%{repository}](%{repository_url}) at %{commit_timestamp}:
+
+ %{commit_note}
+ push_multiple_commits_comment: >
+ **Pushed in MR:** [%{gitlab_user}](%{gitlab_user_url}) pushed multiple commits [%{commit_number}](%{commit_url})
+ to [%{repository}](%{repository_url}) at %{commit_timestamp}:
+
+ %{commit_note}
diff --git a/modules/gitlab_integration/config/locales/crowdin/pt.yml b/modules/gitlab_integration/config/locales/crowdin/pt.yml
new file mode 100644
index 000000000000..473327d92560
--- /dev/null
+++ b/modules/gitlab_integration/config/locales/crowdin/pt.yml
@@ -0,0 +1,93 @@
+#-- copyright
+# OpenProject is an open source project management software.
+# Copyright (C) 2023 Ben Tey
+#
+# This program is free software; you can redistribute it and/or
+# modify it under the terms of the GNU General Public License version 3.
+#
+# OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows:
+# Copyright (C) 2006-2013 Jean-Philippe Lang
+# Copyright (C) 2010-2013 the ChiliProject Team
+# Copyright (C) 2012-2021 the OpenProject GmbH
+#
+# This program is free software; you can redistribute it and/or
+# modify it under the terms of the GNU General Public License
+# as published by the Free Software Foundation; either version 2
+# of the License, or (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+#
+# See docs/COPYRIGHT.rdoc for more details.
+#++
+pt:
+ project_module_gitlab: "Gitlab"
+ permission_show_gitlab_content: "Show Gitlab content"
+ gitlab_integration:
+ merge_request_opened_comment: >
+ **MR Opened:** Merge request %{mr_number} [%{mr_title}](%{mr_url}) for [%{repository}](%{repository_url})
+ has been opened by [%{gitlab_user}](%{gitlab_user_url}).
+ merge_request_closed_comment: >
+ **MR Closed:** Merge request %{mr_number} [%{mr_title}](%{mr_url}) for [%{repository}](%{repository_url})
+ has been closed by [%{gitlab_user}](%{gitlab_user_url}).
+ merge_request_merged_comment: >
+ **MR Merged:** Merge request %{mr_number} [%{mr_title}](%{mr_url}) for [%{repository}](%{repository_url})
+ has been merged by [%{gitlab_user}](%{gitlab_user_url}).
+ merge_request_reopened_comment: >
+ **MR Reopened:** Merge request %{mr_number} [%{mr_title}](%{mr_url}) for [%{repository}](%{repository_url})
+ has been reopened by [%{gitlab_user}](%{gitlab_user_url}).
+ note_commit_referenced_comment: >
+ **Referenced in Commit:** [%{gitlab_user}](%{gitlab_user_url}) referenced this WP in
+ a Commit Note [%{commit_id}](%{commit_url}) on [%{repository}](%{repository_url}):
+
+ %{commit_note}
+ note_mr_referenced_comment: >
+ **Referenced in MR:** [%{gitlab_user}](%{gitlab_user_url}) referenced this WP in
+ Merge request %{mr_number} [%{mr_title}](%{mr_url}) on [%{repository}](%{repository_url}):
+
+ %{mr_note}
+ note_mr_commented_comment: >
+ **Commented in MR:** [%{gitlab_user}](%{gitlab_user_url}) commented this WP in
+ Merge request %{mr_number} [%{mr_title}](%{mr_url}) on [%{repository}](%{repository_url}):
+
+ %{mr_note}
+ note_issue_referenced_comment: >
+ **Referenced in Issue:** [%{gitlab_user}](%{gitlab_user_url}) referenced this WP in
+ Issue %{issue_number} [%{issue_title}](%{issue_url}) on [%{repository}](%{repository_url}):
+
+ %{issue_note}
+ note_issue_commented_comment: >
+ **Commented in Issue:** [%{gitlab_user}](%{gitlab_user_url}) commented this WP in
+ Issue %{issue_number} [%{issue_title}](%{issue_url}) on [%{repository}](%{repository_url}):
+
+ %{issue_note}
+ note_snippet_referenced_comment: >
+ **Referenced in Snippet:** [%{gitlab_user}](%{gitlab_user_url}) referenced this WP in
+ Snippet %{snippet_number} [%{snippet_title}](%{snippet_url}) on [%{repository}](%{repository_url}):
+
+ %{snippet_note}
+ issue_opened_referenced_comment: >
+ **Issue Opened:** Issue %{issue_number} [%{issue_title}](%{issue_url}) for [%{repository}](%{repository_url})
+ has been opened by [%{gitlab_user}](%{gitlab_user_url}).
+ issue_closed_referenced_comment: >
+ **Issue Closed:** Issue %{issue_number} [%{issue_title}](%{issue_url}) for [%{repository}](%{repository_url})
+ has been closed by [%{gitlab_user}](%{gitlab_user_url}).
+ issue_reopened_referenced_comment: >
+ **Issue Reopened:** Issue %{issue_number} [%{issue_title}](%{issue_url}) for [%{repository}](%{repository_url})
+ has been reopened by [%{gitlab_user}](%{gitlab_user_url}).
+ push_single_commit_comment: >
+ **Pushed in MR:** [%{gitlab_user}](%{gitlab_user_url}) pushed [%{commit_number}](%{commit_url})
+ to [%{repository}](%{repository_url}) at %{commit_timestamp}:
+
+ %{commit_note}
+ push_multiple_commits_comment: >
+ **Pushed in MR:** [%{gitlab_user}](%{gitlab_user_url}) pushed multiple commits [%{commit_number}](%{commit_url})
+ to [%{repository}](%{repository_url}) at %{commit_timestamp}:
+
+ %{commit_note}
diff --git a/modules/gitlab_integration/config/locales/crowdin/ro.yml b/modules/gitlab_integration/config/locales/crowdin/ro.yml
new file mode 100644
index 000000000000..2032891af2d9
--- /dev/null
+++ b/modules/gitlab_integration/config/locales/crowdin/ro.yml
@@ -0,0 +1,93 @@
+#-- copyright
+# OpenProject is an open source project management software.
+# Copyright (C) 2023 Ben Tey
+#
+# This program is free software; you can redistribute it and/or
+# modify it under the terms of the GNU General Public License version 3.
+#
+# OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows:
+# Copyright (C) 2006-2013 Jean-Philippe Lang
+# Copyright (C) 2010-2013 the ChiliProject Team
+# Copyright (C) 2012-2021 the OpenProject GmbH
+#
+# This program is free software; you can redistribute it and/or
+# modify it under the terms of the GNU General Public License
+# as published by the Free Software Foundation; either version 2
+# of the License, or (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+#
+# See docs/COPYRIGHT.rdoc for more details.
+#++
+ro:
+ project_module_gitlab: "Gitlab"
+ permission_show_gitlab_content: "Show Gitlab content"
+ gitlab_integration:
+ merge_request_opened_comment: >
+ **MR Opened:** Merge request %{mr_number} [%{mr_title}](%{mr_url}) for [%{repository}](%{repository_url})
+ has been opened by [%{gitlab_user}](%{gitlab_user_url}).
+ merge_request_closed_comment: >
+ **MR Closed:** Merge request %{mr_number} [%{mr_title}](%{mr_url}) for [%{repository}](%{repository_url})
+ has been closed by [%{gitlab_user}](%{gitlab_user_url}).
+ merge_request_merged_comment: >
+ **MR Merged:** Merge request %{mr_number} [%{mr_title}](%{mr_url}) for [%{repository}](%{repository_url})
+ has been merged by [%{gitlab_user}](%{gitlab_user_url}).
+ merge_request_reopened_comment: >
+ **MR Reopened:** Merge request %{mr_number} [%{mr_title}](%{mr_url}) for [%{repository}](%{repository_url})
+ has been reopened by [%{gitlab_user}](%{gitlab_user_url}).
+ note_commit_referenced_comment: >
+ **Referenced in Commit:** [%{gitlab_user}](%{gitlab_user_url}) referenced this WP in
+ a Commit Note [%{commit_id}](%{commit_url}) on [%{repository}](%{repository_url}):
+
+ %{commit_note}
+ note_mr_referenced_comment: >
+ **Referenced in MR:** [%{gitlab_user}](%{gitlab_user_url}) referenced this WP in
+ Merge request %{mr_number} [%{mr_title}](%{mr_url}) on [%{repository}](%{repository_url}):
+
+ %{mr_note}
+ note_mr_commented_comment: >
+ **Commented in MR:** [%{gitlab_user}](%{gitlab_user_url}) commented this WP in
+ Merge request %{mr_number} [%{mr_title}](%{mr_url}) on [%{repository}](%{repository_url}):
+
+ %{mr_note}
+ note_issue_referenced_comment: >
+ **Referenced in Issue:** [%{gitlab_user}](%{gitlab_user_url}) referenced this WP in
+ Issue %{issue_number} [%{issue_title}](%{issue_url}) on [%{repository}](%{repository_url}):
+
+ %{issue_note}
+ note_issue_commented_comment: >
+ **Commented in Issue:** [%{gitlab_user}](%{gitlab_user_url}) commented this WP in
+ Issue %{issue_number} [%{issue_title}](%{issue_url}) on [%{repository}](%{repository_url}):
+
+ %{issue_note}
+ note_snippet_referenced_comment: >
+ **Referenced in Snippet:** [%{gitlab_user}](%{gitlab_user_url}) referenced this WP in
+ Snippet %{snippet_number} [%{snippet_title}](%{snippet_url}) on [%{repository}](%{repository_url}):
+
+ %{snippet_note}
+ issue_opened_referenced_comment: >
+ **Issue Opened:** Issue %{issue_number} [%{issue_title}](%{issue_url}) for [%{repository}](%{repository_url})
+ has been opened by [%{gitlab_user}](%{gitlab_user_url}).
+ issue_closed_referenced_comment: >
+ **Issue Closed:** Issue %{issue_number} [%{issue_title}](%{issue_url}) for [%{repository}](%{repository_url})
+ has been closed by [%{gitlab_user}](%{gitlab_user_url}).
+ issue_reopened_referenced_comment: >
+ **Issue Reopened:** Issue %{issue_number} [%{issue_title}](%{issue_url}) for [%{repository}](%{repository_url})
+ has been reopened by [%{gitlab_user}](%{gitlab_user_url}).
+ push_single_commit_comment: >
+ **Pushed in MR:** [%{gitlab_user}](%{gitlab_user_url}) pushed [%{commit_number}](%{commit_url})
+ to [%{repository}](%{repository_url}) at %{commit_timestamp}:
+
+ %{commit_note}
+ push_multiple_commits_comment: >
+ **Pushed in MR:** [%{gitlab_user}](%{gitlab_user_url}) pushed multiple commits [%{commit_number}](%{commit_url})
+ to [%{repository}](%{repository_url}) at %{commit_timestamp}:
+
+ %{commit_note}
diff --git a/modules/gitlab_integration/config/locales/crowdin/ru.yml b/modules/gitlab_integration/config/locales/crowdin/ru.yml
new file mode 100644
index 000000000000..829c50e3fcbd
--- /dev/null
+++ b/modules/gitlab_integration/config/locales/crowdin/ru.yml
@@ -0,0 +1,93 @@
+#-- copyright
+# OpenProject is an open source project management software.
+# Copyright (C) 2023 Ben Tey
+#
+# This program is free software; you can redistribute it and/or
+# modify it under the terms of the GNU General Public License version 3.
+#
+# OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows:
+# Copyright (C) 2006-2013 Jean-Philippe Lang
+# Copyright (C) 2010-2013 the ChiliProject Team
+# Copyright (C) 2012-2021 the OpenProject GmbH
+#
+# This program is free software; you can redistribute it and/or
+# modify it under the terms of the GNU General Public License
+# as published by the Free Software Foundation; either version 2
+# of the License, or (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+#
+# See docs/COPYRIGHT.rdoc for more details.
+#++
+ru:
+ project_module_gitlab: GitLab
+ permission_show_gitlab_content: Показывать GitLab-контент
+ gitlab_integration:
+ merge_request_opened_comment: >
+ **MR Открыт:** Запрос на слияние %{mr_number} [%{mr_title}](%{mr_url}) в [%{repository}](%{repository_url})
+ был открыт [%{gitlab_user}](%{gitlab_user_url}).
+ merge_request_closed_comment: >
+ **MR Закрыт:** Запрос на слияние %{mr_number} [%{mr_title}](%{mr_url}) в [%{repository}](%{repository_url})
+ был закрыт by [%{gitlab_user}](%{gitlab_user_url}).
+ merge_request_merged_comment: >
+ **MR Смержен:** Запрос на слияние %{mr_number} [%{mr_title}](%{mr_url}) в [%{repository}](%{repository_url})
+ был смержен [%{gitlab_user}](%{gitlab_user_url}).
+ merge_request_reopened_comment: >
+ **MR Переоткрыт:** Запрос на слияние %{mr_number} [%{mr_title}](%{mr_url}) в [%{repository}](%{repository_url})
+ был переоткрыт [%{gitlab_user}](%{gitlab_user_url}).
+ note_commit_referenced_comment: >
+ **Упомянут в коммите:** [%{gitlab_user}](%{gitlab_user_url}) отметил эту задачу в
+ a коммите [%{commit_id}](%{commit_url}) в [%{repository}](%{repository_url}):
+
+ %{commit_note}
+ note_mr_referenced_comment: >
+ **Упомянут в MR:** [%{gitlab_user}](%{gitlab_user_url}) отметил эту задачу в
+ запросе на слияние %{mr_number} [%{mr_title}](%{mr_url}) в [%{repository}](%{repository_url}):
+
+ %{mr_note}
+ note_mr_commented_comment: >
+ **Комментарий в MR:** [%{gitlab_user}](%{gitlab_user_url}) комментировал эту задачу в
+ запросе на слияние %{mr_number} [%{mr_title}](%{mr_url}) в [%{repository}](%{repository_url}):
+
+ %{mr_note}
+ note_issue_referenced_comment: >
+ **Упомянут в обсуждении:** [%{gitlab_user}](%{gitlab_user_url}) отметил эту задачу в
+ Обсуждение %{issue_number} [%{issue_title}](%{issue_url}) в [%{repository}](%{repository_url}):
+
+ %{issue_note}
+ note_issue_commented_comment: >
+ **Комментарий в обсуждении:** [%{gitlab_user}](%{gitlab_user_url}) комментировал эту задачу в
+ обсуждении %{issue_number} [%{issue_title}](%{issue_url}) в [%{repository}](%{repository_url}):
+
+ %{issue_note}
+ note_snippet_referenced_comment: >
+ **Упомянут в Snippet:** [%{gitlab_user}](%{gitlab_user_url}) отметил эту задачу в
+ Snippet %{snippet_number} [%{snippet_title}](%{snippet_url}) в [%{repository}](%{repository_url}):
+
+ %{snippet_note}
+ issue_opened_referenced_comment: >
+ **Обсуждение открыто:** Обсуждение %{issue_number} [%{issue_title}](%{issue_url}) в [%{repository}](%{repository_url})
+ был открыт [%{gitlab_user}](%{gitlab_user_url}).
+ issue_closed_referenced_comment: >
+ **Обсуждение закрыто:** Обсуждение %{issue_number} [%{issue_title}](%{issue_url}) в [%{repository}](%{repository_url})
+ был закрыт [%{gitlab_user}](%{gitlab_user_url}).
+ issue_reopened_referenced_comment: >
+ **Обсуждение переоткрыто:** Обсуждение %{issue_number} [%{issue_title}](%{issue_url}) в [%{repository}](%{repository_url})
+ было переоткрыто [%{gitlab_user}](%{gitlab_user_url}).
+ push_single_commit_comment: >
+ **Коммит:** [%{gitlab_user}](%{gitlab_user_url}) закоммитил [%{commit_number}](%{commit_url})
+ в [%{repository}](%{repository_url}) %{commit_timestamp}:
+
+ %{commit_note}
+ push_multiple_commits_comment: >
+ **Коммит в MR:** [%{gitlab_user}](%{gitlab_user_url}) закоммитил несколько коммитов [%{commit_number}](%{commit_url})
+ в [%{repository}](%{repository_url}) %{commit_timestamp}:
+
+ %{commit_note}
diff --git a/modules/gitlab_integration/config/locales/crowdin/sk.yml b/modules/gitlab_integration/config/locales/crowdin/sk.yml
new file mode 100644
index 000000000000..424d97842e61
--- /dev/null
+++ b/modules/gitlab_integration/config/locales/crowdin/sk.yml
@@ -0,0 +1,93 @@
+#-- copyright
+# OpenProject is an open source project management software.
+# Copyright (C) 2023 Ben Tey
+#
+# This program is free software; you can redistribute it and/or
+# modify it under the terms of the GNU General Public License version 3.
+#
+# OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows:
+# Copyright (C) 2006-2013 Jean-Philippe Lang
+# Copyright (C) 2010-2013 the ChiliProject Team
+# Copyright (C) 2012-2021 the OpenProject GmbH
+#
+# This program is free software; you can redistribute it and/or
+# modify it under the terms of the GNU General Public License
+# as published by the Free Software Foundation; either version 2
+# of the License, or (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+#
+# See docs/COPYRIGHT.rdoc for more details.
+#++
+sk:
+ project_module_gitlab: "Gitlab"
+ permission_show_gitlab_content: "Show Gitlab content"
+ gitlab_integration:
+ merge_request_opened_comment: >
+ **MR Opened:** Merge request %{mr_number} [%{mr_title}](%{mr_url}) for [%{repository}](%{repository_url})
+ has been opened by [%{gitlab_user}](%{gitlab_user_url}).
+ merge_request_closed_comment: >
+ **MR Closed:** Merge request %{mr_number} [%{mr_title}](%{mr_url}) for [%{repository}](%{repository_url})
+ has been closed by [%{gitlab_user}](%{gitlab_user_url}).
+ merge_request_merged_comment: >
+ **MR Merged:** Merge request %{mr_number} [%{mr_title}](%{mr_url}) for [%{repository}](%{repository_url})
+ has been merged by [%{gitlab_user}](%{gitlab_user_url}).
+ merge_request_reopened_comment: >
+ **MR Reopened:** Merge request %{mr_number} [%{mr_title}](%{mr_url}) for [%{repository}](%{repository_url})
+ has been reopened by [%{gitlab_user}](%{gitlab_user_url}).
+ note_commit_referenced_comment: >
+ **Referenced in Commit:** [%{gitlab_user}](%{gitlab_user_url}) referenced this WP in
+ a Commit Note [%{commit_id}](%{commit_url}) on [%{repository}](%{repository_url}):
+
+ %{commit_note}
+ note_mr_referenced_comment: >
+ **Referenced in MR:** [%{gitlab_user}](%{gitlab_user_url}) referenced this WP in
+ Merge request %{mr_number} [%{mr_title}](%{mr_url}) on [%{repository}](%{repository_url}):
+
+ %{mr_note}
+ note_mr_commented_comment: >
+ **Commented in MR:** [%{gitlab_user}](%{gitlab_user_url}) commented this WP in
+ Merge request %{mr_number} [%{mr_title}](%{mr_url}) on [%{repository}](%{repository_url}):
+
+ %{mr_note}
+ note_issue_referenced_comment: >
+ **Referenced in Issue:** [%{gitlab_user}](%{gitlab_user_url}) referenced this WP in
+ Issue %{issue_number} [%{issue_title}](%{issue_url}) on [%{repository}](%{repository_url}):
+
+ %{issue_note}
+ note_issue_commented_comment: >
+ **Commented in Issue:** [%{gitlab_user}](%{gitlab_user_url}) commented this WP in
+ Issue %{issue_number} [%{issue_title}](%{issue_url}) on [%{repository}](%{repository_url}):
+
+ %{issue_note}
+ note_snippet_referenced_comment: >
+ **Referenced in Snippet:** [%{gitlab_user}](%{gitlab_user_url}) referenced this WP in
+ Snippet %{snippet_number} [%{snippet_title}](%{snippet_url}) on [%{repository}](%{repository_url}):
+
+ %{snippet_note}
+ issue_opened_referenced_comment: >
+ **Issue Opened:** Issue %{issue_number} [%{issue_title}](%{issue_url}) for [%{repository}](%{repository_url})
+ has been opened by [%{gitlab_user}](%{gitlab_user_url}).
+ issue_closed_referenced_comment: >
+ **Issue Closed:** Issue %{issue_number} [%{issue_title}](%{issue_url}) for [%{repository}](%{repository_url})
+ has been closed by [%{gitlab_user}](%{gitlab_user_url}).
+ issue_reopened_referenced_comment: >
+ **Issue Reopened:** Issue %{issue_number} [%{issue_title}](%{issue_url}) for [%{repository}](%{repository_url})
+ has been reopened by [%{gitlab_user}](%{gitlab_user_url}).
+ push_single_commit_comment: >
+ **Pushed in MR:** [%{gitlab_user}](%{gitlab_user_url}) pushed [%{commit_number}](%{commit_url})
+ to [%{repository}](%{repository_url}) at %{commit_timestamp}:
+
+ %{commit_note}
+ push_multiple_commits_comment: >
+ **Pushed in MR:** [%{gitlab_user}](%{gitlab_user_url}) pushed multiple commits [%{commit_number}](%{commit_url})
+ to [%{repository}](%{repository_url}) at %{commit_timestamp}:
+
+ %{commit_note}
diff --git a/modules/gitlab_integration/config/locales/crowdin/sl.yml b/modules/gitlab_integration/config/locales/crowdin/sl.yml
new file mode 100644
index 000000000000..e25178e640a9
--- /dev/null
+++ b/modules/gitlab_integration/config/locales/crowdin/sl.yml
@@ -0,0 +1,93 @@
+#-- copyright
+# OpenProject is an open source project management software.
+# Copyright (C) 2023 Ben Tey
+#
+# This program is free software; you can redistribute it and/or
+# modify it under the terms of the GNU General Public License version 3.
+#
+# OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows:
+# Copyright (C) 2006-2013 Jean-Philippe Lang
+# Copyright (C) 2010-2013 the ChiliProject Team
+# Copyright (C) 2012-2021 the OpenProject GmbH
+#
+# This program is free software; you can redistribute it and/or
+# modify it under the terms of the GNU General Public License
+# as published by the Free Software Foundation; either version 2
+# of the License, or (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+#
+# See docs/COPYRIGHT.rdoc for more details.
+#++
+sl:
+ project_module_gitlab: "Gitlab"
+ permission_show_gitlab_content: "Show Gitlab content"
+ gitlab_integration:
+ merge_request_opened_comment: >
+ **MR Opened:** Merge request %{mr_number} [%{mr_title}](%{mr_url}) for [%{repository}](%{repository_url})
+ has been opened by [%{gitlab_user}](%{gitlab_user_url}).
+ merge_request_closed_comment: >
+ **MR Closed:** Merge request %{mr_number} [%{mr_title}](%{mr_url}) for [%{repository}](%{repository_url})
+ has been closed by [%{gitlab_user}](%{gitlab_user_url}).
+ merge_request_merged_comment: >
+ **MR Merged:** Merge request %{mr_number} [%{mr_title}](%{mr_url}) for [%{repository}](%{repository_url})
+ has been merged by [%{gitlab_user}](%{gitlab_user_url}).
+ merge_request_reopened_comment: >
+ **MR Reopened:** Merge request %{mr_number} [%{mr_title}](%{mr_url}) for [%{repository}](%{repository_url})
+ has been reopened by [%{gitlab_user}](%{gitlab_user_url}).
+ note_commit_referenced_comment: >
+ **Referenced in Commit:** [%{gitlab_user}](%{gitlab_user_url}) referenced this WP in
+ a Commit Note [%{commit_id}](%{commit_url}) on [%{repository}](%{repository_url}):
+
+ %{commit_note}
+ note_mr_referenced_comment: >
+ **Referenced in MR:** [%{gitlab_user}](%{gitlab_user_url}) referenced this WP in
+ Merge request %{mr_number} [%{mr_title}](%{mr_url}) on [%{repository}](%{repository_url}):
+
+ %{mr_note}
+ note_mr_commented_comment: >
+ **Commented in MR:** [%{gitlab_user}](%{gitlab_user_url}) commented this WP in
+ Merge request %{mr_number} [%{mr_title}](%{mr_url}) on [%{repository}](%{repository_url}):
+
+ %{mr_note}
+ note_issue_referenced_comment: >
+ **Referenced in Issue:** [%{gitlab_user}](%{gitlab_user_url}) referenced this WP in
+ Issue %{issue_number} [%{issue_title}](%{issue_url}) on [%{repository}](%{repository_url}):
+
+ %{issue_note}
+ note_issue_commented_comment: >
+ **Commented in Issue:** [%{gitlab_user}](%{gitlab_user_url}) commented this WP in
+ Issue %{issue_number} [%{issue_title}](%{issue_url}) on [%{repository}](%{repository_url}):
+
+ %{issue_note}
+ note_snippet_referenced_comment: >
+ **Referenced in Snippet:** [%{gitlab_user}](%{gitlab_user_url}) referenced this WP in
+ Snippet %{snippet_number} [%{snippet_title}](%{snippet_url}) on [%{repository}](%{repository_url}):
+
+ %{snippet_note}
+ issue_opened_referenced_comment: >
+ **Issue Opened:** Issue %{issue_number} [%{issue_title}](%{issue_url}) for [%{repository}](%{repository_url})
+ has been opened by [%{gitlab_user}](%{gitlab_user_url}).
+ issue_closed_referenced_comment: >
+ **Issue Closed:** Issue %{issue_number} [%{issue_title}](%{issue_url}) for [%{repository}](%{repository_url})
+ has been closed by [%{gitlab_user}](%{gitlab_user_url}).
+ issue_reopened_referenced_comment: >
+ **Issue Reopened:** Issue %{issue_number} [%{issue_title}](%{issue_url}) for [%{repository}](%{repository_url})
+ has been reopened by [%{gitlab_user}](%{gitlab_user_url}).
+ push_single_commit_comment: >
+ **Pushed in MR:** [%{gitlab_user}](%{gitlab_user_url}) pushed [%{commit_number}](%{commit_url})
+ to [%{repository}](%{repository_url}) at %{commit_timestamp}:
+
+ %{commit_note}
+ push_multiple_commits_comment: >
+ **Pushed in MR:** [%{gitlab_user}](%{gitlab_user_url}) pushed multiple commits [%{commit_number}](%{commit_url})
+ to [%{repository}](%{repository_url}) at %{commit_timestamp}:
+
+ %{commit_note}
diff --git a/modules/gitlab_integration/config/locales/crowdin/sv.yml b/modules/gitlab_integration/config/locales/crowdin/sv.yml
new file mode 100644
index 000000000000..34fed669dcd9
--- /dev/null
+++ b/modules/gitlab_integration/config/locales/crowdin/sv.yml
@@ -0,0 +1,93 @@
+#-- copyright
+# OpenProject is an open source project management software.
+# Copyright (C) 2023 Ben Tey
+#
+# This program is free software; you can redistribute it and/or
+# modify it under the terms of the GNU General Public License version 3.
+#
+# OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows:
+# Copyright (C) 2006-2013 Jean-Philippe Lang
+# Copyright (C) 2010-2013 the ChiliProject Team
+# Copyright (C) 2012-2021 the OpenProject GmbH
+#
+# This program is free software; you can redistribute it and/or
+# modify it under the terms of the GNU General Public License
+# as published by the Free Software Foundation; either version 2
+# of the License, or (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+#
+# See docs/COPYRIGHT.rdoc for more details.
+#++
+sv:
+ project_module_gitlab: "Gitlab"
+ permission_show_gitlab_content: "Show Gitlab content"
+ gitlab_integration:
+ merge_request_opened_comment: >
+ **MR Opened:** Merge request %{mr_number} [%{mr_title}](%{mr_url}) for [%{repository}](%{repository_url})
+ has been opened by [%{gitlab_user}](%{gitlab_user_url}).
+ merge_request_closed_comment: >
+ **MR Closed:** Merge request %{mr_number} [%{mr_title}](%{mr_url}) for [%{repository}](%{repository_url})
+ has been closed by [%{gitlab_user}](%{gitlab_user_url}).
+ merge_request_merged_comment: >
+ **MR Merged:** Merge request %{mr_number} [%{mr_title}](%{mr_url}) for [%{repository}](%{repository_url})
+ has been merged by [%{gitlab_user}](%{gitlab_user_url}).
+ merge_request_reopened_comment: >
+ **MR Reopened:** Merge request %{mr_number} [%{mr_title}](%{mr_url}) for [%{repository}](%{repository_url})
+ has been reopened by [%{gitlab_user}](%{gitlab_user_url}).
+ note_commit_referenced_comment: >
+ **Referenced in Commit:** [%{gitlab_user}](%{gitlab_user_url}) referenced this WP in
+ a Commit Note [%{commit_id}](%{commit_url}) on [%{repository}](%{repository_url}):
+
+ %{commit_note}
+ note_mr_referenced_comment: >
+ **Referenced in MR:** [%{gitlab_user}](%{gitlab_user_url}) referenced this WP in
+ Merge request %{mr_number} [%{mr_title}](%{mr_url}) on [%{repository}](%{repository_url}):
+
+ %{mr_note}
+ note_mr_commented_comment: >
+ **Commented in MR:** [%{gitlab_user}](%{gitlab_user_url}) commented this WP in
+ Merge request %{mr_number} [%{mr_title}](%{mr_url}) on [%{repository}](%{repository_url}):
+
+ %{mr_note}
+ note_issue_referenced_comment: >
+ **Referenced in Issue:** [%{gitlab_user}](%{gitlab_user_url}) referenced this WP in
+ Issue %{issue_number} [%{issue_title}](%{issue_url}) on [%{repository}](%{repository_url}):
+
+ %{issue_note}
+ note_issue_commented_comment: >
+ **Commented in Issue:** [%{gitlab_user}](%{gitlab_user_url}) commented this WP in
+ Issue %{issue_number} [%{issue_title}](%{issue_url}) on [%{repository}](%{repository_url}):
+
+ %{issue_note}
+ note_snippet_referenced_comment: >
+ **Referenced in Snippet:** [%{gitlab_user}](%{gitlab_user_url}) referenced this WP in
+ Snippet %{snippet_number} [%{snippet_title}](%{snippet_url}) on [%{repository}](%{repository_url}):
+
+ %{snippet_note}
+ issue_opened_referenced_comment: >
+ **Issue Opened:** Issue %{issue_number} [%{issue_title}](%{issue_url}) for [%{repository}](%{repository_url})
+ has been opened by [%{gitlab_user}](%{gitlab_user_url}).
+ issue_closed_referenced_comment: >
+ **Issue Closed:** Issue %{issue_number} [%{issue_title}](%{issue_url}) for [%{repository}](%{repository_url})
+ has been closed by [%{gitlab_user}](%{gitlab_user_url}).
+ issue_reopened_referenced_comment: >
+ **Issue Reopened:** Issue %{issue_number} [%{issue_title}](%{issue_url}) for [%{repository}](%{repository_url})
+ has been reopened by [%{gitlab_user}](%{gitlab_user_url}).
+ push_single_commit_comment: >
+ **Pushed in MR:** [%{gitlab_user}](%{gitlab_user_url}) pushed [%{commit_number}](%{commit_url})
+ to [%{repository}](%{repository_url}) at %{commit_timestamp}:
+
+ %{commit_note}
+ push_multiple_commits_comment: >
+ **Pushed in MR:** [%{gitlab_user}](%{gitlab_user_url}) pushed multiple commits [%{commit_number}](%{commit_url})
+ to [%{repository}](%{repository_url}) at %{commit_timestamp}:
+
+ %{commit_note}
diff --git a/modules/gitlab_integration/config/locales/crowdin/tr.yml b/modules/gitlab_integration/config/locales/crowdin/tr.yml
new file mode 100644
index 000000000000..0c8fd994f742
--- /dev/null
+++ b/modules/gitlab_integration/config/locales/crowdin/tr.yml
@@ -0,0 +1,93 @@
+#-- copyright
+# OpenProject is an open source project management software.
+# Copyright (C) 2023 Ben Tey
+#
+# This program is free software; you can redistribute it and/or
+# modify it under the terms of the GNU General Public License version 3.
+#
+# OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows:
+# Copyright (C) 2006-2013 Jean-Philippe Lang
+# Copyright (C) 2010-2013 the ChiliProject Team
+# Copyright (C) 2012-2021 the OpenProject GmbH
+#
+# This program is free software; you can redistribute it and/or
+# modify it under the terms of the GNU General Public License
+# as published by the Free Software Foundation; either version 2
+# of the License, or (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+#
+# See docs/COPYRIGHT.rdoc for more details.
+#++
+tr:
+ project_module_gitlab: "Gitlab"
+ permission_show_gitlab_content: "Show Gitlab content"
+ gitlab_integration:
+ merge_request_opened_comment: >
+ **MR Opened:** Merge request %{mr_number} [%{mr_title}](%{mr_url}) for [%{repository}](%{repository_url})
+ has been opened by [%{gitlab_user}](%{gitlab_user_url}).
+ merge_request_closed_comment: >
+ **MR Closed:** Merge request %{mr_number} [%{mr_title}](%{mr_url}) for [%{repository}](%{repository_url})
+ has been closed by [%{gitlab_user}](%{gitlab_user_url}).
+ merge_request_merged_comment: >
+ **MR Merged:** Merge request %{mr_number} [%{mr_title}](%{mr_url}) for [%{repository}](%{repository_url})
+ has been merged by [%{gitlab_user}](%{gitlab_user_url}).
+ merge_request_reopened_comment: >
+ **MR Reopened:** Merge request %{mr_number} [%{mr_title}](%{mr_url}) for [%{repository}](%{repository_url})
+ has been reopened by [%{gitlab_user}](%{gitlab_user_url}).
+ note_commit_referenced_comment: >
+ **Referenced in Commit:** [%{gitlab_user}](%{gitlab_user_url}) referenced this WP in
+ a Commit Note [%{commit_id}](%{commit_url}) on [%{repository}](%{repository_url}):
+
+ %{commit_note}
+ note_mr_referenced_comment: >
+ **Referenced in MR:** [%{gitlab_user}](%{gitlab_user_url}) referenced this WP in
+ Merge request %{mr_number} [%{mr_title}](%{mr_url}) on [%{repository}](%{repository_url}):
+
+ %{mr_note}
+ note_mr_commented_comment: >
+ **Commented in MR:** [%{gitlab_user}](%{gitlab_user_url}) commented this WP in
+ Merge request %{mr_number} [%{mr_title}](%{mr_url}) on [%{repository}](%{repository_url}):
+
+ %{mr_note}
+ note_issue_referenced_comment: >
+ **Referenced in Issue:** [%{gitlab_user}](%{gitlab_user_url}) referenced this WP in
+ Issue %{issue_number} [%{issue_title}](%{issue_url}) on [%{repository}](%{repository_url}):
+
+ %{issue_note}
+ note_issue_commented_comment: >
+ **Commented in Issue:** [%{gitlab_user}](%{gitlab_user_url}) commented this WP in
+ Issue %{issue_number} [%{issue_title}](%{issue_url}) on [%{repository}](%{repository_url}):
+
+ %{issue_note}
+ note_snippet_referenced_comment: >
+ **Referenced in Snippet:** [%{gitlab_user}](%{gitlab_user_url}) referenced this WP in
+ Snippet %{snippet_number} [%{snippet_title}](%{snippet_url}) on [%{repository}](%{repository_url}):
+
+ %{snippet_note}
+ issue_opened_referenced_comment: >
+ **Issue Opened:** Issue %{issue_number} [%{issue_title}](%{issue_url}) for [%{repository}](%{repository_url})
+ has been opened by [%{gitlab_user}](%{gitlab_user_url}).
+ issue_closed_referenced_comment: >
+ **Issue Closed:** Issue %{issue_number} [%{issue_title}](%{issue_url}) for [%{repository}](%{repository_url})
+ has been closed by [%{gitlab_user}](%{gitlab_user_url}).
+ issue_reopened_referenced_comment: >
+ **Issue Reopened:** Issue %{issue_number} [%{issue_title}](%{issue_url}) for [%{repository}](%{repository_url})
+ has been reopened by [%{gitlab_user}](%{gitlab_user_url}).
+ push_single_commit_comment: >
+ **Pushed in MR:** [%{gitlab_user}](%{gitlab_user_url}) pushed [%{commit_number}](%{commit_url})
+ to [%{repository}](%{repository_url}) at %{commit_timestamp}:
+
+ %{commit_note}
+ push_multiple_commits_comment: >
+ **Pushed in MR:** [%{gitlab_user}](%{gitlab_user_url}) pushed multiple commits [%{commit_number}](%{commit_url})
+ to [%{repository}](%{repository_url}) at %{commit_timestamp}:
+
+ %{commit_note}
diff --git a/modules/gitlab_integration/config/locales/crowdin/uk.yml b/modules/gitlab_integration/config/locales/crowdin/uk.yml
new file mode 100644
index 000000000000..039c8ca03e44
--- /dev/null
+++ b/modules/gitlab_integration/config/locales/crowdin/uk.yml
@@ -0,0 +1,93 @@
+#-- copyright
+# OpenProject is an open source project management software.
+# Copyright (C) 2023 Ben Tey
+#
+# This program is free software; you can redistribute it and/or
+# modify it under the terms of the GNU General Public License version 3.
+#
+# OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows:
+# Copyright (C) 2006-2013 Jean-Philippe Lang
+# Copyright (C) 2010-2013 the ChiliProject Team
+# Copyright (C) 2012-2021 the OpenProject GmbH
+#
+# This program is free software; you can redistribute it and/or
+# modify it under the terms of the GNU General Public License
+# as published by the Free Software Foundation; either version 2
+# of the License, or (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+#
+# See docs/COPYRIGHT.rdoc for more details.
+#++
+uk:
+ project_module_gitlab: "Gitlab"
+ permission_show_gitlab_content: "Show Gitlab content"
+ gitlab_integration:
+ merge_request_opened_comment: >
+ **MR Opened:** Merge request %{mr_number} [%{mr_title}](%{mr_url}) for [%{repository}](%{repository_url})
+ has been opened by [%{gitlab_user}](%{gitlab_user_url}).
+ merge_request_closed_comment: >
+ **MR Closed:** Merge request %{mr_number} [%{mr_title}](%{mr_url}) for [%{repository}](%{repository_url})
+ has been closed by [%{gitlab_user}](%{gitlab_user_url}).
+ merge_request_merged_comment: >
+ **MR Merged:** Merge request %{mr_number} [%{mr_title}](%{mr_url}) for [%{repository}](%{repository_url})
+ has been merged by [%{gitlab_user}](%{gitlab_user_url}).
+ merge_request_reopened_comment: >
+ **MR Reopened:** Merge request %{mr_number} [%{mr_title}](%{mr_url}) for [%{repository}](%{repository_url})
+ has been reopened by [%{gitlab_user}](%{gitlab_user_url}).
+ note_commit_referenced_comment: >
+ **Referenced in Commit:** [%{gitlab_user}](%{gitlab_user_url}) referenced this WP in
+ a Commit Note [%{commit_id}](%{commit_url}) on [%{repository}](%{repository_url}):
+
+ %{commit_note}
+ note_mr_referenced_comment: >
+ **Referenced in MR:** [%{gitlab_user}](%{gitlab_user_url}) referenced this WP in
+ Merge request %{mr_number} [%{mr_title}](%{mr_url}) on [%{repository}](%{repository_url}):
+
+ %{mr_note}
+ note_mr_commented_comment: >
+ **Commented in MR:** [%{gitlab_user}](%{gitlab_user_url}) commented this WP in
+ Merge request %{mr_number} [%{mr_title}](%{mr_url}) on [%{repository}](%{repository_url}):
+
+ %{mr_note}
+ note_issue_referenced_comment: >
+ **Referenced in Issue:** [%{gitlab_user}](%{gitlab_user_url}) referenced this WP in
+ Issue %{issue_number} [%{issue_title}](%{issue_url}) on [%{repository}](%{repository_url}):
+
+ %{issue_note}
+ note_issue_commented_comment: >
+ **Commented in Issue:** [%{gitlab_user}](%{gitlab_user_url}) commented this WP in
+ Issue %{issue_number} [%{issue_title}](%{issue_url}) on [%{repository}](%{repository_url}):
+
+ %{issue_note}
+ note_snippet_referenced_comment: >
+ **Referenced in Snippet:** [%{gitlab_user}](%{gitlab_user_url}) referenced this WP in
+ Snippet %{snippet_number} [%{snippet_title}](%{snippet_url}) on [%{repository}](%{repository_url}):
+
+ %{snippet_note}
+ issue_opened_referenced_comment: >
+ **Issue Opened:** Issue %{issue_number} [%{issue_title}](%{issue_url}) for [%{repository}](%{repository_url})
+ has been opened by [%{gitlab_user}](%{gitlab_user_url}).
+ issue_closed_referenced_comment: >
+ **Issue Closed:** Issue %{issue_number} [%{issue_title}](%{issue_url}) for [%{repository}](%{repository_url})
+ has been closed by [%{gitlab_user}](%{gitlab_user_url}).
+ issue_reopened_referenced_comment: >
+ **Issue Reopened:** Issue %{issue_number} [%{issue_title}](%{issue_url}) for [%{repository}](%{repository_url})
+ has been reopened by [%{gitlab_user}](%{gitlab_user_url}).
+ push_single_commit_comment: >
+ **Pushed in MR:** [%{gitlab_user}](%{gitlab_user_url}) pushed [%{commit_number}](%{commit_url})
+ to [%{repository}](%{repository_url}) at %{commit_timestamp}:
+
+ %{commit_note}
+ push_multiple_commits_comment: >
+ **Pushed in MR:** [%{gitlab_user}](%{gitlab_user_url}) pushed multiple commits [%{commit_number}](%{commit_url})
+ to [%{repository}](%{repository_url}) at %{commit_timestamp}:
+
+ %{commit_note}
diff --git a/modules/gitlab_integration/config/locales/crowdin/vi.yml b/modules/gitlab_integration/config/locales/crowdin/vi.yml
new file mode 100644
index 000000000000..0f293629c13b
--- /dev/null
+++ b/modules/gitlab_integration/config/locales/crowdin/vi.yml
@@ -0,0 +1,93 @@
+#-- copyright
+# OpenProject is an open source project management software.
+# Copyright (C) 2023 Ben Tey
+#
+# This program is free software; you can redistribute it and/or
+# modify it under the terms of the GNU General Public License version 3.
+#
+# OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows:
+# Copyright (C) 2006-2013 Jean-Philippe Lang
+# Copyright (C) 2010-2013 the ChiliProject Team
+# Copyright (C) 2012-2021 the OpenProject GmbH
+#
+# This program is free software; you can redistribute it and/or
+# modify it under the terms of the GNU General Public License
+# as published by the Free Software Foundation; either version 2
+# of the License, or (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+#
+# See docs/COPYRIGHT.rdoc for more details.
+#++
+vi:
+ project_module_gitlab: "Gitlab"
+ permission_show_gitlab_content: "Show Gitlab content"
+ gitlab_integration:
+ merge_request_opened_comment: >
+ **MR Opened:** Merge request %{mr_number} [%{mr_title}](%{mr_url}) for [%{repository}](%{repository_url})
+ has been opened by [%{gitlab_user}](%{gitlab_user_url}).
+ merge_request_closed_comment: >
+ **MR Closed:** Merge request %{mr_number} [%{mr_title}](%{mr_url}) for [%{repository}](%{repository_url})
+ has been closed by [%{gitlab_user}](%{gitlab_user_url}).
+ merge_request_merged_comment: >
+ **MR Merged:** Merge request %{mr_number} [%{mr_title}](%{mr_url}) for [%{repository}](%{repository_url})
+ has been merged by [%{gitlab_user}](%{gitlab_user_url}).
+ merge_request_reopened_comment: >
+ **MR Reopened:** Merge request %{mr_number} [%{mr_title}](%{mr_url}) for [%{repository}](%{repository_url})
+ has been reopened by [%{gitlab_user}](%{gitlab_user_url}).
+ note_commit_referenced_comment: >
+ **Referenced in Commit:** [%{gitlab_user}](%{gitlab_user_url}) referenced this WP in
+ a Commit Note [%{commit_id}](%{commit_url}) on [%{repository}](%{repository_url}):
+
+ %{commit_note}
+ note_mr_referenced_comment: >
+ **Referenced in MR:** [%{gitlab_user}](%{gitlab_user_url}) referenced this WP in
+ Merge request %{mr_number} [%{mr_title}](%{mr_url}) on [%{repository}](%{repository_url}):
+
+ %{mr_note}
+ note_mr_commented_comment: >
+ **Commented in MR:** [%{gitlab_user}](%{gitlab_user_url}) commented this WP in
+ Merge request %{mr_number} [%{mr_title}](%{mr_url}) on [%{repository}](%{repository_url}):
+
+ %{mr_note}
+ note_issue_referenced_comment: >
+ **Referenced in Issue:** [%{gitlab_user}](%{gitlab_user_url}) referenced this WP in
+ Issue %{issue_number} [%{issue_title}](%{issue_url}) on [%{repository}](%{repository_url}):
+
+ %{issue_note}
+ note_issue_commented_comment: >
+ **Commented in Issue:** [%{gitlab_user}](%{gitlab_user_url}) commented this WP in
+ Issue %{issue_number} [%{issue_title}](%{issue_url}) on [%{repository}](%{repository_url}):
+
+ %{issue_note}
+ note_snippet_referenced_comment: >
+ **Referenced in Snippet:** [%{gitlab_user}](%{gitlab_user_url}) referenced this WP in
+ Snippet %{snippet_number} [%{snippet_title}](%{snippet_url}) on [%{repository}](%{repository_url}):
+
+ %{snippet_note}
+ issue_opened_referenced_comment: >
+ **Issue Opened:** Issue %{issue_number} [%{issue_title}](%{issue_url}) for [%{repository}](%{repository_url})
+ has been opened by [%{gitlab_user}](%{gitlab_user_url}).
+ issue_closed_referenced_comment: >
+ **Issue Closed:** Issue %{issue_number} [%{issue_title}](%{issue_url}) for [%{repository}](%{repository_url})
+ has been closed by [%{gitlab_user}](%{gitlab_user_url}).
+ issue_reopened_referenced_comment: >
+ **Issue Reopened:** Issue %{issue_number} [%{issue_title}](%{issue_url}) for [%{repository}](%{repository_url})
+ has been reopened by [%{gitlab_user}](%{gitlab_user_url}).
+ push_single_commit_comment: >
+ **Pushed in MR:** [%{gitlab_user}](%{gitlab_user_url}) pushed [%{commit_number}](%{commit_url})
+ to [%{repository}](%{repository_url}) at %{commit_timestamp}:
+
+ %{commit_note}
+ push_multiple_commits_comment: >
+ **Pushed in MR:** [%{gitlab_user}](%{gitlab_user_url}) pushed multiple commits [%{commit_number}](%{commit_url})
+ to [%{repository}](%{repository_url}) at %{commit_timestamp}:
+
+ %{commit_note}
diff --git a/modules/gitlab_integration/config/locales/crowdin/zh-CN.yml b/modules/gitlab_integration/config/locales/crowdin/zh-CN.yml
new file mode 100644
index 000000000000..57a96873f18d
--- /dev/null
+++ b/modules/gitlab_integration/config/locales/crowdin/zh-CN.yml
@@ -0,0 +1,93 @@
+#-- copyright
+# OpenProject is an open source project management software.
+# Copyright (C) 2023 Ben Tey
+#
+# This program is free software; you can redistribute it and/or
+# modify it under the terms of the GNU General Public License version 3.
+#
+# OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows:
+# Copyright (C) 2006-2013 Jean-Philippe Lang
+# Copyright (C) 2010-2013 the ChiliProject Team
+# Copyright (C) 2012-2021 the OpenProject GmbH
+#
+# This program is free software; you can redistribute it and/or
+# modify it under the terms of the GNU General Public License
+# as published by the Free Software Foundation; either version 2
+# of the License, or (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+#
+# See docs/COPYRIGHT.rdoc for more details.
+#++
+zh-CN:
+ project_module_gitlab: "Gitlab"
+ permission_show_gitlab_content: "Show Gitlab content"
+ gitlab_integration:
+ merge_request_opened_comment: >
+ **MR Opened:** Merge request %{mr_number} [%{mr_title}](%{mr_url}) for [%{repository}](%{repository_url})
+ has been opened by [%{gitlab_user}](%{gitlab_user_url}).
+ merge_request_closed_comment: >
+ **MR Closed:** Merge request %{mr_number} [%{mr_title}](%{mr_url}) for [%{repository}](%{repository_url})
+ has been closed by [%{gitlab_user}](%{gitlab_user_url}).
+ merge_request_merged_comment: >
+ **MR Merged:** Merge request %{mr_number} [%{mr_title}](%{mr_url}) for [%{repository}](%{repository_url})
+ has been merged by [%{gitlab_user}](%{gitlab_user_url}).
+ merge_request_reopened_comment: >
+ **MR Reopened:** Merge request %{mr_number} [%{mr_title}](%{mr_url}) for [%{repository}](%{repository_url})
+ has been reopened by [%{gitlab_user}](%{gitlab_user_url}).
+ note_commit_referenced_comment: >
+ **Referenced in Commit:** [%{gitlab_user}](%{gitlab_user_url}) referenced this WP in
+ a Commit Note [%{commit_id}](%{commit_url}) on [%{repository}](%{repository_url}):
+
+ %{commit_note}
+ note_mr_referenced_comment: >
+ **Referenced in MR:** [%{gitlab_user}](%{gitlab_user_url}) referenced this WP in
+ Merge request %{mr_number} [%{mr_title}](%{mr_url}) on [%{repository}](%{repository_url}):
+
+ %{mr_note}
+ note_mr_commented_comment: >
+ **Commented in MR:** [%{gitlab_user}](%{gitlab_user_url}) commented this WP in
+ Merge request %{mr_number} [%{mr_title}](%{mr_url}) on [%{repository}](%{repository_url}):
+
+ %{mr_note}
+ note_issue_referenced_comment: >
+ **Referenced in Issue:** [%{gitlab_user}](%{gitlab_user_url}) referenced this WP in
+ Issue %{issue_number} [%{issue_title}](%{issue_url}) on [%{repository}](%{repository_url}):
+
+ %{issue_note}
+ note_issue_commented_comment: >
+ **Commented in Issue:** [%{gitlab_user}](%{gitlab_user_url}) commented this WP in
+ Issue %{issue_number} [%{issue_title}](%{issue_url}) on [%{repository}](%{repository_url}):
+
+ %{issue_note}
+ note_snippet_referenced_comment: >
+ **Referenced in Snippet:** [%{gitlab_user}](%{gitlab_user_url}) referenced this WP in
+ Snippet %{snippet_number} [%{snippet_title}](%{snippet_url}) on [%{repository}](%{repository_url}):
+
+ %{snippet_note}
+ issue_opened_referenced_comment: >
+ **Issue Opened:** Issue %{issue_number} [%{issue_title}](%{issue_url}) for [%{repository}](%{repository_url})
+ has been opened by [%{gitlab_user}](%{gitlab_user_url}).
+ issue_closed_referenced_comment: >
+ **Issue Closed:** Issue %{issue_number} [%{issue_title}](%{issue_url}) for [%{repository}](%{repository_url})
+ has been closed by [%{gitlab_user}](%{gitlab_user_url}).
+ issue_reopened_referenced_comment: >
+ **Issue Reopened:** Issue %{issue_number} [%{issue_title}](%{issue_url}) for [%{repository}](%{repository_url})
+ has been reopened by [%{gitlab_user}](%{gitlab_user_url}).
+ push_single_commit_comment: >
+ **Pushed in MR:** [%{gitlab_user}](%{gitlab_user_url}) pushed [%{commit_number}](%{commit_url})
+ to [%{repository}](%{repository_url}) at %{commit_timestamp}:
+
+ %{commit_note}
+ push_multiple_commits_comment: >
+ **Pushed in MR:** [%{gitlab_user}](%{gitlab_user_url}) pushed multiple commits [%{commit_number}](%{commit_url})
+ to [%{repository}](%{repository_url}) at %{commit_timestamp}:
+
+ %{commit_note}
diff --git a/modules/gitlab_integration/config/locales/crowdin/zh-TW.yml b/modules/gitlab_integration/config/locales/crowdin/zh-TW.yml
new file mode 100644
index 000000000000..2361760b3f2c
--- /dev/null
+++ b/modules/gitlab_integration/config/locales/crowdin/zh-TW.yml
@@ -0,0 +1,93 @@
+#-- copyright
+# OpenProject is an open source project management software.
+# Copyright (C) 2023 Ben Tey
+#
+# This program is free software; you can redistribute it and/or
+# modify it under the terms of the GNU General Public License version 3.
+#
+# OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows:
+# Copyright (C) 2006-2013 Jean-Philippe Lang
+# Copyright (C) 2010-2013 the ChiliProject Team
+# Copyright (C) 2012-2021 the OpenProject GmbH
+#
+# This program is free software; you can redistribute it and/or
+# modify it under the terms of the GNU General Public License
+# as published by the Free Software Foundation; either version 2
+# of the License, or (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+#
+# See docs/COPYRIGHT.rdoc for more details.
+#++
+zh-TW:
+ project_module_gitlab: "Gitlab"
+ permission_show_gitlab_content: "Show Gitlab content"
+ gitlab_integration:
+ merge_request_opened_comment: >
+ **MR Opened:** Merge request %{mr_number} [%{mr_title}](%{mr_url}) for [%{repository}](%{repository_url})
+ has been opened by [%{gitlab_user}](%{gitlab_user_url}).
+ merge_request_closed_comment: >
+ **MR Closed:** Merge request %{mr_number} [%{mr_title}](%{mr_url}) for [%{repository}](%{repository_url})
+ has been closed by [%{gitlab_user}](%{gitlab_user_url}).
+ merge_request_merged_comment: >
+ **MR Merged:** Merge request %{mr_number} [%{mr_title}](%{mr_url}) for [%{repository}](%{repository_url})
+ has been merged by [%{gitlab_user}](%{gitlab_user_url}).
+ merge_request_reopened_comment: >
+ **MR Reopened:** Merge request %{mr_number} [%{mr_title}](%{mr_url}) for [%{repository}](%{repository_url})
+ has been reopened by [%{gitlab_user}](%{gitlab_user_url}).
+ note_commit_referenced_comment: >
+ **Referenced in Commit:** [%{gitlab_user}](%{gitlab_user_url}) referenced this WP in
+ a Commit Note [%{commit_id}](%{commit_url}) on [%{repository}](%{repository_url}):
+
+ %{commit_note}
+ note_mr_referenced_comment: >
+ **Referenced in MR:** [%{gitlab_user}](%{gitlab_user_url}) referenced this WP in
+ Merge request %{mr_number} [%{mr_title}](%{mr_url}) on [%{repository}](%{repository_url}):
+
+ %{mr_note}
+ note_mr_commented_comment: >
+ **Commented in MR:** [%{gitlab_user}](%{gitlab_user_url}) commented this WP in
+ Merge request %{mr_number} [%{mr_title}](%{mr_url}) on [%{repository}](%{repository_url}):
+
+ %{mr_note}
+ note_issue_referenced_comment: >
+ **Referenced in Issue:** [%{gitlab_user}](%{gitlab_user_url}) referenced this WP in
+ Issue %{issue_number} [%{issue_title}](%{issue_url}) on [%{repository}](%{repository_url}):
+
+ %{issue_note}
+ note_issue_commented_comment: >
+ **Commented in Issue:** [%{gitlab_user}](%{gitlab_user_url}) commented this WP in
+ Issue %{issue_number} [%{issue_title}](%{issue_url}) on [%{repository}](%{repository_url}):
+
+ %{issue_note}
+ note_snippet_referenced_comment: >
+ **Referenced in Snippet:** [%{gitlab_user}](%{gitlab_user_url}) referenced this WP in
+ Snippet %{snippet_number} [%{snippet_title}](%{snippet_url}) on [%{repository}](%{repository_url}):
+
+ %{snippet_note}
+ issue_opened_referenced_comment: >
+ **Issue Opened:** Issue %{issue_number} [%{issue_title}](%{issue_url}) for [%{repository}](%{repository_url})
+ has been opened by [%{gitlab_user}](%{gitlab_user_url}).
+ issue_closed_referenced_comment: >
+ **Issue Closed:** Issue %{issue_number} [%{issue_title}](%{issue_url}) for [%{repository}](%{repository_url})
+ has been closed by [%{gitlab_user}](%{gitlab_user_url}).
+ issue_reopened_referenced_comment: >
+ **Issue Reopened:** Issue %{issue_number} [%{issue_title}](%{issue_url}) for [%{repository}](%{repository_url})
+ has been reopened by [%{gitlab_user}](%{gitlab_user_url}).
+ push_single_commit_comment: >
+ **Pushed in MR:** [%{gitlab_user}](%{gitlab_user_url}) pushed [%{commit_number}](%{commit_url})
+ to [%{repository}](%{repository_url}) at %{commit_timestamp}:
+
+ %{commit_note}
+ push_multiple_commits_comment: >
+ **Pushed in MR:** [%{gitlab_user}](%{gitlab_user_url}) pushed multiple commits [%{commit_number}](%{commit_url})
+ to [%{repository}](%{repository_url}) at %{commit_timestamp}:
+
+ %{commit_note}
diff --git a/modules/gitlab_integration/config/locales/de.yml b/modules/gitlab_integration/config/locales/de.yml
new file mode 100644
index 000000000000..af758b73f718
--- /dev/null
+++ b/modules/gitlab_integration/config/locales/de.yml
@@ -0,0 +1,95 @@
+#-- copyright
+# OpenProject is an open source project management software.
+# Copyright (C) 2023 Ben Tey
+#
+# This program is free software; you can redistribute it and/or
+# modify it under the terms of the GNU General Public License version 3.
+#
+# OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows:
+# Copyright (C) 2006-2013 Jean-Philippe Lang
+# Copyright (C) 2010-2013 the ChiliProject Team
+# Copyright (C) 2012-2021 the OpenProject GmbH
+#
+# This program is free software; you can redistribute it and/or
+# modify it under the terms of the GNU General Public License
+# as published by the Free Software Foundation; either version 2
+# of the License, or (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+#
+# See docs/COPYRIGHT.rdoc for more details.
+#++
+
+de:
+ project_module_gitlab: "Gitlab"
+ permission_show_gitlab_content: "Show Gitlab content"
+
+ gitlab_integration:
+ merge_request_opened_comment: >
+ **MR Opened:** Merge request %{mr_number} [%{mr_title}](%{mr_url}) for [%{repository}](%{repository_url})
+ has been opened by [%{gitlab_user}](%{gitlab_user_url}).
+ merge_request_closed_comment: >
+ **MR Closed:** Merge request %{mr_number} [%{mr_title}](%{mr_url}) for [%{repository}](%{repository_url})
+ has been closed by [%{gitlab_user}](%{gitlab_user_url}).
+ merge_request_merged_comment: >
+ **MR Merged:** Merge request %{mr_number} [%{mr_title}](%{mr_url}) for [%{repository}](%{repository_url})
+ has been merged by [%{gitlab_user}](%{gitlab_user_url}).
+ merge_request_reopened_comment: >
+ **MR Reopened:** Merge request %{mr_number} [%{mr_title}](%{mr_url}) for [%{repository}](%{repository_url})
+ has been reopened by [%{gitlab_user}](%{gitlab_user_url}).
+ note_commit_referenced_comment: >
+ **Referenced in Commit:** [%{gitlab_user}](%{gitlab_user_url}) referenced this WP in
+ a Commit Note [%{commit_id}](%{commit_url}) on [%{repository}](%{repository_url}):
+
+ %{commit_note}
+ note_mr_referenced_comment: >
+ **Referenced in MR:** [%{gitlab_user}](%{gitlab_user_url}) referenced this WP in
+ Merge Request %{mr_number} [%{mr_title}](%{mr_url}) on [%{repository}](%{repository_url}):
+
+ %{mr_note}
+ note_mr_commented_comment: >
+ **Commented in MR:** [%{gitlab_user}](%{gitlab_user_url}) commented this WP in
+ Merge Request %{mr_number} [%{mr_title}](%{mr_url}) on [%{repository}](%{repository_url}):
+
+ %{mr_note}
+ note_issue_referenced_comment: >
+ **Referenced in Issue:** [%{gitlab_user}](%{gitlab_user_url}) referenced this WP in
+ Issue %{issue_number} [%{issue_title}](%{issue_url}) on [%{repository}](%{repository_url}):
+
+ %{issue_note}
+ note_issue_commented_comment: >
+ **Commented in Issue:** [%{gitlab_user}](%{gitlab_user_url}) commented this WP in
+ Issue %{issue_number} [%{issue_title}](%{issue_url}) on [%{repository}](%{repository_url}):
+
+ %{issue_note}
+ note_snippet_referenced_comment: >
+ **Referenced in Snippet:** [%{gitlab_user}](%{gitlab_user_url}) referenced this WP in
+ Snippet %{snippet_number} [%{snippet_title}](%{snippet_url}) on [%{repository}](%{repository_url}):
+
+ %{snippet_note}
+ issue_opened_referenced_comment: >
+ **Issue Opened:** Issue %{issue_number} [%{issue_title}](%{issue_url}) for [%{repository}](%{repository_url})
+ has been opened by [%{gitlab_user}](%{gitlab_user_url}).
+ issue_closed_referenced_comment: >
+ **Issue Closed:** Issue %{issue_number} [%{issue_title}](%{issue_url}) for [%{repository}](%{repository_url})
+ has been closed by [%{gitlab_user}](%{gitlab_user_url}).
+ issue_reopened_referenced_comment: >
+ **Issue Reopened:** Issue %{issue_number} [%{issue_title}](%{issue_url}) for [%{repository}](%{repository_url})
+ has been reopened by [%{gitlab_user}](%{gitlab_user_url}).
+ push_single_commit_comment: >
+ **Pushed in MR:** [%{gitlab_user}](%{gitlab_user_url}) pushed [%{commit_number}](%{commit_url})
+ to [%{repository}](%{repository_url}) at %{commit_timestamp}:
+
+ %{commit_note}
+ push_multiple_commits_comment: >
+ **Pushed in MR:** [%{gitlab_user}](%{gitlab_user_url}) pushed multiple commits [%{commit_number}](%{commit_url})
+ to [%{repository}](%{repository_url}) at %{commit_timestamp}:
+
+ %{commit_note}
diff --git a/modules/gitlab_integration/config/locales/en.yml b/modules/gitlab_integration/config/locales/en.yml
new file mode 100644
index 000000000000..76dbbd1af51f
--- /dev/null
+++ b/modules/gitlab_integration/config/locales/en.yml
@@ -0,0 +1,95 @@
+#-- copyright
+# OpenProject is an open source project management software.
+# Copyright (C) 2023 Ben Tey
+#
+# This program is free software; you can redistribute it and/or
+# modify it under the terms of the GNU General Public License version 3.
+#
+# OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows:
+# Copyright (C) 2006-2013 Jean-Philippe Lang
+# Copyright (C) 2010-2013 the ChiliProject Team
+# Copyright (C) 2012-2021 the OpenProject GmbH
+#
+# This program is free software; you can redistribute it and/or
+# modify it under the terms of the GNU General Public License
+# as published by the Free Software Foundation; either version 2
+# of the License, or (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+#
+# See docs/COPYRIGHT.rdoc for more details.
+#++
+
+en:
+ project_module_gitlab: "Gitlab"
+ permission_show_gitlab_content: "Show Gitlab content"
+
+ gitlab_integration:
+ merge_request_opened_comment: >
+ **MR Opened:** Merge request %{mr_number} [%{mr_title}](%{mr_url}) for [%{repository}](%{repository_url})
+ has been opened by [%{gitlab_user}](%{gitlab_user_url}).
+ merge_request_closed_comment: >
+ **MR Closed:** Merge request %{mr_number} [%{mr_title}](%{mr_url}) for [%{repository}](%{repository_url})
+ has been closed by [%{gitlab_user}](%{gitlab_user_url}).
+ merge_request_merged_comment: >
+ **MR Merged:** Merge request %{mr_number} [%{mr_title}](%{mr_url}) for [%{repository}](%{repository_url})
+ has been merged by [%{gitlab_user}](%{gitlab_user_url}).
+ merge_request_reopened_comment: >
+ **MR Reopened:** Merge request %{mr_number} [%{mr_title}](%{mr_url}) for [%{repository}](%{repository_url})
+ has been reopened by [%{gitlab_user}](%{gitlab_user_url}).
+ note_commit_referenced_comment: >
+ **Referenced in Commit:** [%{gitlab_user}](%{gitlab_user_url}) referenced this WP in
+ a Commit Note [%{commit_id}](%{commit_url}) on [%{repository}](%{repository_url}):
+
+ %{commit_note}
+ note_mr_referenced_comment: >
+ **Referenced in MR:** [%{gitlab_user}](%{gitlab_user_url}) referenced this WP in
+ Merge Request %{mr_number} [%{mr_title}](%{mr_url}) on [%{repository}](%{repository_url}):
+
+ %{mr_note}
+ note_mr_commented_comment: >
+ **Commented in MR:** [%{gitlab_user}](%{gitlab_user_url}) commented this WP in
+ Merge Request %{mr_number} [%{mr_title}](%{mr_url}) on [%{repository}](%{repository_url}):
+
+ %{mr_note}
+ note_issue_referenced_comment: >
+ **Referenced in Issue:** [%{gitlab_user}](%{gitlab_user_url}) referenced this WP in
+ Issue %{issue_number} [%{issue_title}](%{issue_url}) on [%{repository}](%{repository_url}):
+
+ %{issue_note}
+ note_issue_commented_comment: >
+ **Commented in Issue:** [%{gitlab_user}](%{gitlab_user_url}) commented this WP in
+ Issue %{issue_number} [%{issue_title}](%{issue_url}) on [%{repository}](%{repository_url}):
+
+ %{issue_note}
+ note_snippet_referenced_comment: >
+ **Referenced in Snippet:** [%{gitlab_user}](%{gitlab_user_url}) referenced this WP in
+ Snippet %{snippet_number} [%{snippet_title}](%{snippet_url}) on [%{repository}](%{repository_url}):
+
+ %{snippet_note}
+ issue_opened_referenced_comment: >
+ **Issue Opened:** Issue %{issue_number} [%{issue_title}](%{issue_url}) for [%{repository}](%{repository_url})
+ has been opened by [%{gitlab_user}](%{gitlab_user_url}).
+ issue_closed_referenced_comment: >
+ **Issue Closed:** Issue %{issue_number} [%{issue_title}](%{issue_url}) for [%{repository}](%{repository_url})
+ has been closed by [%{gitlab_user}](%{gitlab_user_url}).
+ issue_reopened_referenced_comment: >
+ **Issue Reopened:** Issue %{issue_number} [%{issue_title}](%{issue_url}) for [%{repository}](%{repository_url})
+ has been reopened by [%{gitlab_user}](%{gitlab_user_url}).
+ push_single_commit_comment: >
+ **Pushed in MR:** [%{gitlab_user}](%{gitlab_user_url}) pushed [%{commit_number}](%{commit_url})
+ to [%{repository}](%{repository_url}) at %{commit_timestamp}:
+
+ %{commit_note}
+ push_multiple_commits_comment: >
+ **Pushed in MR:** [%{gitlab_user}](%{gitlab_user_url}) pushed multiple commits [%{commit_number}](%{commit_url})
+ to [%{repository}](%{repository_url}) at %{commit_timestamp}:
+
+ %{commit_note}
diff --git a/modules/gitlab_integration/config/locales/js-en.yml b/modules/gitlab_integration/config/locales/js-en.yml
new file mode 100644
index 000000000000..fac3b06a28ff
--- /dev/null
+++ b/modules/gitlab_integration/config/locales/js-en.yml
@@ -0,0 +1,57 @@
+#-- copyright
+# OpenProject is an open source project management software.
+# Copyright (C) 2023 Ben Tey
+#
+# This program is free software; you can redistribute it and/or
+# modify it under the terms of the GNU General Public License version 3.
+#
+# OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows:
+# Copyright (C) 2006-2013 Jean-Philippe Lang
+# Copyright (C) 2010-2013 the ChiliProject Team
+# Copyright (C) 2012-2021 the OpenProject GmbH
+#
+# This program is free software; you can redistribute it and/or
+# modify it under the terms of the GNU General Public License
+# as published by the Free Software Foundation; either version 2
+# of the License, or (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+#
+# See docs/COPYRIGHT.rdoc for more details.
+#++
+
+en:
+ js:
+ gitlab_integration:
+ work_packages:
+ tab_name: "GitLab"
+ tab_header_issue:
+ title: "Issues"
+ tab_header_mr:
+ title: "Merge requests"
+ create_mr:
+ label: Create MR
+ description: Create a Merge Request
+ copy_menu:
+ label: Git snippets
+ description: Copy git snippets to clipboard
+ git_actions:
+ branch_name: Branch name
+ commit_message: Commit message
+ cmd: Create branch with empty commit
+ title: Quick snippets for Git
+ copy_success: ✅ Copied!
+ copy_error: ❌ Copy failed!
+ tab_issue:
+ empty: There are no issues linked yet. Link an existing issue by using the code OP#%{wp_id}
(or PP#%{wp_id}
for private links) in the issue title/description or create a new issue.
+ tab_mrs:
+ empty: There are no merge requests linked yet. Link an existing MR by using the code OP#%{wp_id}
(or PP#%{wp_id}
for private links) in the MR title/description or create a new MR.
+ gitlab_pipelines: Pipelines
+ updated_on: Updated on
diff --git a/modules/gitlab_integration/db/migrate/20211015110000_gitlab_integration_models.rb b/modules/gitlab_integration/db/migrate/20211015110000_gitlab_integration_models.rb
new file mode 100644
index 000000000000..587a72e946da
--- /dev/null
+++ b/modules/gitlab_integration/db/migrate/20211015110000_gitlab_integration_models.rb
@@ -0,0 +1,88 @@
+#-- copyright
+# OpenProject is an open source project management software.
+# Copyright (C) 2023 Ben Tey
+#
+# This program is free software; you can redistribute it and/or
+# modify it under the terms of the GNU General Public License version 3.
+#
+# OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows:
+# Copyright (C) 2006-2013 Jean-Philippe Lang
+# Copyright (C) 2010-2013 the ChiliProject Team
+# Copyright (C) 2012-2021 the OpenProject GmbH
+#
+# This program is free software; you can redistribute it and/or
+# modify it under the terms of the GNU General Public License
+# as published by the Free Software Foundation; either version 2
+# of the License, or (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+#
+# See docs/COPYRIGHT.rdoc for more details.
+#++
+class GitlabIntegrationModels < ActiveRecord::Migration[6.1]
+ # rubocop:disable Metrics/AbcSize
+ def change
+ create_table :gitlab_merge_requests do |t|
+ t.references :gitlab_user
+ t.references :merged_by
+
+ t.bigint :gitlab_id, unique: true
+ t.integer :number, null: false
+ t.string :gitlab_html_url, null: false, unique: true
+ t.string :state, null: false
+ t.string :repository, null: false
+ t.datetime :gitlab_updated_at
+ t.string :title
+ t.text :body
+ t.boolean :draft
+ t.boolean :merged
+ t.datetime :merged_at
+ t.json :labels # [{name, color}]
+ t.timestamps
+ end
+
+ create_join_table :gitlab_merge_requests, :work_packages do |t|
+ t.index :gitlab_merge_request_id, name: 'gitlab_mr_wp_mr_id'
+ t.index %i[gitlab_merge_request_id work_package_id],
+ unique: true,
+ name: "unique_index_gl_mrs_wps_on_gl_mr_id_and_wp_id"
+ end
+
+
+ create_table :gitlab_users do |t|
+ t.bigint :gitlab_id, null: false, unique: true
+ t.string :gitlab_name, null: false
+ t.string :gitlab_username, null: false
+ t.string :gitlab_email, null: false
+ t.string :gitlab_avatar_url, null: false
+
+ t.timestamps
+ end
+
+
+ create_table :gitlab_pipelines do |t|
+ t.references :gitlab_merge_request, null: false
+
+ t.bigint :gitlab_id, null: false, unique: true
+ t.string :gitlab_html_url, null: false
+ t.bigint :project_id, null: false
+ t.string :gitlab_user_avatar_url, null: false
+ t.string :status, null: false
+ t.string :name, null: false
+ t.string :details_url
+ t.json :ci_details
+ t.datetime :started_at
+ t.datetime :completed_at
+
+ t.timestamps
+ end
+ end
+ # rubocop:enable Metrics/AbcSize
+end
diff --git a/modules/gitlab_integration/db/migrate/20211015110001_add_username_commit_to_pipelines.rb b/modules/gitlab_integration/db/migrate/20211015110001_add_username_commit_to_pipelines.rb
new file mode 100644
index 000000000000..2b621fa742d5
--- /dev/null
+++ b/modules/gitlab_integration/db/migrate/20211015110001_add_username_commit_to_pipelines.rb
@@ -0,0 +1,36 @@
+#-- copyright
+# OpenProject is an open source project management software.
+# Copyright (C) 2023 Ben Tey
+#
+# This program is free software; you can redistribute it and/or
+# modify it under the terms of the GNU General Public License version 3.
+#
+# OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows:
+# Copyright (C) 2006-2013 Jean-Philippe Lang
+# Copyright (C) 2010-2013 the ChiliProject Team
+# Copyright (C) 2012-2021 the OpenProject GmbH
+#
+# This program is free software; you can redistribute it and/or
+# modify it under the terms of the GNU General Public License
+# as published by the Free Software Foundation; either version 2
+# of the License, or (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+#
+# See docs/COPYRIGHT.rdoc for more details.
+#++
+
+class AddUsernameCommitToPipelines < ActiveRecord::Migration[7.0]
+ def change
+ add_column :gitlab_pipelines, :username, :text
+
+ add_column :gitlab_pipelines, :commit_id, :text
+ end
+end
diff --git a/modules/gitlab_integration/db/migrate/20211015110002_add_gitlab_issues.rb b/modules/gitlab_integration/db/migrate/20211015110002_add_gitlab_issues.rb
new file mode 100644
index 000000000000..2e046b29d5c1
--- /dev/null
+++ b/modules/gitlab_integration/db/migrate/20211015110002_add_gitlab_issues.rb
@@ -0,0 +1,56 @@
+#-- copyright
+# OpenProject is an open source project management software.
+# Copyright (C) 2023 Ben Tey
+#
+# This program is free software; you can redistribute it and/or
+# modify it under the terms of the GNU General Public License version 3.
+#
+# OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows:
+# Copyright (C) 2006-2013 Jean-Philippe Lang
+# Copyright (C) 2010-2013 the ChiliProject Team
+# Copyright (C) 2012-2021 the OpenProject GmbH
+#
+# This program is free software; you can redistribute it and/or
+# modify it under the terms of the GNU General Public License
+# as published by the Free Software Foundation; either version 2
+# of the License, or (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+#
+# See docs/COPYRIGHT.rdoc for more details.
+#++
+class AddGitlabIssues < ActiveRecord::Migration[7.0]
+ # rubocop:disable Metrics/AbcSize
+ def change
+ create_table :gitlab_issues do |t|
+ t.references :gitlab_user
+
+ t.bigint :gitlab_id, unique: true
+ t.integer :number, null: false
+ t.string :gitlab_html_url, null: false, unique: true
+ t.string :state, null: false
+ t.string :repository, null: false
+ t.datetime :gitlab_updated_at
+ t.string :title
+ t.text :body
+ t.json :labels # [{name, color}]
+ t.timestamps
+ end
+
+ create_join_table :gitlab_issues, :work_packages do |t|
+ t.index :gitlab_issue_id, name: 'gitlab_issues_wp_issue_id'
+ t.index %i[gitlab_issue_id work_package_id],
+ unique: true,
+ name: "unique_index_gl_issues_wps_on_gl_issue_id_and_wp_id"
+ end
+
+ end
+ # rubocop:enable Metrics/AbcSize
+end
diff --git a/modules/gitlab_integration/doc/op-commented-in-issue.png b/modules/gitlab_integration/doc/op-commented-in-issue.png
new file mode 100644
index 000000000000..f3d0c13d15e8
Binary files /dev/null and b/modules/gitlab_integration/doc/op-commented-in-issue.png differ
diff --git a/modules/gitlab_integration/doc/op-commented-in-mr.png b/modules/gitlab_integration/doc/op-commented-in-mr.png
new file mode 100644
index 000000000000..523918e91cfa
Binary files /dev/null and b/modules/gitlab_integration/doc/op-commented-in-mr.png differ
diff --git a/modules/gitlab_integration/doc/op-issue-opened.png b/modules/gitlab_integration/doc/op-issue-opened.png
new file mode 100644
index 000000000000..7388422ced75
Binary files /dev/null and b/modules/gitlab_integration/doc/op-issue-opened.png differ
diff --git a/modules/gitlab_integration/doc/op-mr-merged-event-1.png b/modules/gitlab_integration/doc/op-mr-merged-event-1.png
new file mode 100644
index 000000000000..a4f82308f2ff
Binary files /dev/null and b/modules/gitlab_integration/doc/op-mr-merged-event-1.png differ
diff --git a/modules/gitlab_integration/doc/op-mr-merged-event-2.png b/modules/gitlab_integration/doc/op-mr-merged-event-2.png
new file mode 100644
index 000000000000..3cd3c523c8d0
Binary files /dev/null and b/modules/gitlab_integration/doc/op-mr-merged-event-2.png differ
diff --git a/modules/gitlab_integration/doc/op-mr-merged-event-3.png b/modules/gitlab_integration/doc/op-mr-merged-event-3.png
new file mode 100644
index 000000000000..f0b9c055aacc
Binary files /dev/null and b/modules/gitlab_integration/doc/op-mr-merged-event-3.png differ
diff --git a/modules/gitlab_integration/doc/op-mr-merged-event-4.png b/modules/gitlab_integration/doc/op-mr-merged-event-4.png
new file mode 100644
index 000000000000..aa4ff622a61d
Binary files /dev/null and b/modules/gitlab_integration/doc/op-mr-merged-event-4.png differ
diff --git a/modules/gitlab_integration/doc/op-mr-opened.png b/modules/gitlab_integration/doc/op-mr-opened.png
new file mode 100644
index 000000000000..50e0a57f2ad6
Binary files /dev/null and b/modules/gitlab_integration/doc/op-mr-opened.png differ
diff --git a/modules/gitlab_integration/doc/op-pushed-in-mr.png b/modules/gitlab_integration/doc/op-pushed-in-mr.png
new file mode 100644
index 000000000000..2550e592afe8
Binary files /dev/null and b/modules/gitlab_integration/doc/op-pushed-in-mr.png differ
diff --git a/modules/gitlab_integration/doc/op-referenced-in-commit.png b/modules/gitlab_integration/doc/op-referenced-in-commit.png
new file mode 100644
index 000000000000..f223df82eff4
Binary files /dev/null and b/modules/gitlab_integration/doc/op-referenced-in-commit.png differ
diff --git a/modules/gitlab_integration/doc/op-referenced-in-issue.png b/modules/gitlab_integration/doc/op-referenced-in-issue.png
new file mode 100644
index 000000000000..0724dde7d345
Binary files /dev/null and b/modules/gitlab_integration/doc/op-referenced-in-issue.png differ
diff --git a/modules/gitlab_integration/frontend/module/git-actions-menu/git-actions-menu.component.ts b/modules/gitlab_integration/frontend/module/git-actions-menu/git-actions-menu.component.ts
new file mode 100644
index 000000000000..a4130a908783
--- /dev/null
+++ b/modules/gitlab_integration/frontend/module/git-actions-menu/git-actions-menu.component.ts
@@ -0,0 +1,106 @@
+//-- copyright
+// OpenProject is an open source project management software.
+// Copyright (C) 2023 Ben Tey
+//
+// This program is free software; you can redistribute it and/or
+// modify it under the terms of the GNU General Public License version 3.
+//
+// OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows:
+// Copyright (C) 2006-2013 Jean-Philippe Lang
+// Copyright (C) 2010-2013 the ChiliProject Team
+// Copyright (C) 2012-2021 the OpenProject GmbH
+//
+// This program is free software; you can redistribute it and/or
+// modify it under the terms of the GNU General Public License
+// as published by the Free Software Foundation; either version 2
+// of the License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with this program; if not, write to the Free Software
+// Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+//
+// See docs/COPYRIGHT.rdoc for more details.
+//++
+
+import copy from 'copy-text-to-clipboard';
+import { Component, Inject, Input } from '@angular/core';
+import { GitActionsService } from '../git-actions/git-actions.service';
+import { ISnippet } from "core-app/features/plugins/linked/openproject-gitlab_integration/typings";
+import { WorkPackageResource } from "core-app/features/hal/resources/work-package-resource";
+import { OPContextMenuComponent } from "core-app/shared/components/op-context-menu/op-context-menu.component";
+import {
+ OpContextMenuLocalsMap,
+ OpContextMenuLocalsToken
+} from "core-app/shared/components/op-context-menu/op-context-menu.types";
+import { I18nService } from "core-app/core/i18n/i18n.service";
+
+
+@Component({
+ selector: 'op-git-actions-menu',
+ templateUrl: './git-actions-menu.template.html',
+ styleUrls: [
+ './styles/git-actions-menu.sass'
+ ]
+})
+export class GitActionsMenuComponent extends OPContextMenuComponent {
+ @Input() public workPackage:WorkPackageResource;
+
+ public text = {
+ title: this.I18n.t('js.gitlab_integration.tab_header_mr.git_actions.title'),
+ copyButtonHelpText: this.I18n.t('js.gitlab_integration.tab_header_mr.git_actions.copy_button_help'),
+ copyResult: {
+ success: this.I18n.t('js.gitlab_integration.tab_header_mr.git_actions.copy_success'),
+ error: this.I18n.t('js.gitlab_integration.tab_header_mr.git_actions.copy_error')
+ }
+ };
+
+ public lastCopyResult:string = this.text.copyResult.success;
+ public showCopyResult:boolean = false;
+ public copiedSnippetId:string = '';
+
+ public snippets:ISnippet[] = [
+ {
+ id: 'branch',
+ name: this.I18n.t('js.gitlab_integration.tab_header_mr.git_actions.branch_name'),
+ textToCopy: () => this.gitActions.branchName(this.workPackage)
+ },
+ {
+ id: 'message',
+ name: this.I18n.t('js.gitlab_integration.tab_header_mr.git_actions.commit_message'),
+ textToCopy: () => this.gitActions.commitMessage(this.workPackage)
+ },
+ {
+ id: 'command',
+ name: this.I18n.t('js.gitlab_integration.tab_header_mr.git_actions.cmd'),
+ textToCopy: () => this.gitActions.gitCommand(this.workPackage)
+ },
+ ];
+
+ constructor(@Inject(OpContextMenuLocalsToken)
+ public locals:OpContextMenuLocalsMap,
+ readonly I18n:I18nService,
+ readonly gitActions:GitActionsService) {
+ super(locals);
+ this.workPackage = this.locals.workPackage;
+ }
+
+ public onCopyButtonClick(snippet:ISnippet):void {
+ const success = copy(snippet.textToCopy());
+
+ if (success) {
+ this.lastCopyResult = this.text.copyResult.success;
+ } else {
+ this.lastCopyResult = this.text.copyResult.error;
+ }
+ this.copiedSnippetId = snippet.id;
+ this.showCopyResult = true;
+ window.setTimeout(() => {
+ this.showCopyResult = false;
+ }, 2000);
+ }
+}
diff --git a/modules/gitlab_integration/frontend/module/git-actions-menu/git-actions-menu.directive.ts b/modules/gitlab_integration/frontend/module/git-actions-menu/git-actions-menu.directive.ts
new file mode 100644
index 000000000000..d20b2fc18618
--- /dev/null
+++ b/modules/gitlab_integration/frontend/module/git-actions-menu/git-actions-menu.directive.ts
@@ -0,0 +1,61 @@
+//-- copyright
+// OpenProject is an open source project management software.
+// Copyright (C) 2023 Ben Tey
+//
+// This program is free software; you can redistribute it and/or
+// modify it under the terms of the GNU General Public License version 3.
+//
+// OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows:
+// Copyright (C) 2006-2013 Jean-Philippe Lang
+// Copyright (C) 2010-2013 the ChiliProject Team
+// Copyright (C) 2012-2021 the OpenProject GmbH
+//
+// This program is free software; you can redistribute it and/or
+// modify it under the terms of the GNU General Public License
+// as published by the Free Software Foundation; either version 2
+// of the License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with this program; if not, write to the Free Software
+// Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+//
+// See docs/COPYRIGHT.rdoc for more details.
+//++
+
+import { OpContextMenuItem } from 'core-app/shared/components/op-context-menu/op-context-menu.types';
+import { OPContextMenuService } from 'core-app/shared/components/op-context-menu/op-context-menu.service';
+import { Directive, ElementRef, Input } from '@angular/core';
+import { OpContextMenuTrigger } from 'core-app/shared/components/op-context-menu/handlers/op-context-menu-trigger.directive';
+import { WorkPackageResource } from "core-app/features/hal/resources/work-package-resource";
+import { GitActionsMenuComponent } from './git-actions-menu.component';
+
+
+@Directive({
+ selector: '[gitActionsCopyDropdown]'
+})
+export class GitActionsMenuDirective extends OpContextMenuTrigger {
+ @Input('gitActionsCopyDropdown-workPackage') public workPackage:WorkPackageResource;
+
+ constructor(readonly elementRef:ElementRef,
+ readonly opContextMenu:OPContextMenuService) {
+ super(elementRef, opContextMenu);
+ }
+
+ protected open(evt:JQuery.TriggeredEvent) {
+ this.opContextMenu.show(this, evt, GitActionsMenuComponent);
+ }
+
+ public get locals():{ showAnchorRight?:boolean, contextMenuId?:string, items:OpContextMenuItem[], workPackage:WorkPackageResource } {
+ return {
+ workPackage: this.workPackage,
+ contextMenuId: 'gitlab-integration-git-actions-menu',
+ items: []
+ };
+ }
+}
+
diff --git a/modules/gitlab_integration/frontend/module/git-actions-menu/git-actions-menu.template.html b/modules/gitlab_integration/frontend/module/git-actions-menu/git-actions-menu.template.html
new file mode 100644
index 000000000000..0c2421885537
--- /dev/null
+++ b/modules/gitlab_integration/frontend/module/git-actions-menu/git-actions-menu.template.html
@@ -0,0 +1,22 @@
+
+
+
diff --git a/modules/gitlab_integration/frontend/module/git-actions-menu/styles/git-actions-menu.sass b/modules/gitlab_integration/frontend/module/git-actions-menu/styles/git-actions-menu.sass
new file mode 100644
index 000000000000..b502c7bcd3a3
--- /dev/null
+++ b/modules/gitlab_integration/frontend/module/git-actions-menu/styles/git-actions-menu.sass
@@ -0,0 +1,90 @@
+//-- copyright
+// OpenProject is an open source project management software.
+// Copyright (C) 2023 Ben Tey
+//
+// This program is free software; you can redistribute it and/or
+// modify it under the terms of the GNU General Public License version 3.
+//
+// OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows:
+// Copyright (C) 2006-2013 Jean-Philippe Lang
+// Copyright (C) 2010-2013 the ChiliProject Team
+// Copyright (C) 2012-2021 the OpenProject GmbH
+//
+// This program is free software; you can redistribute it and/or
+// modify it under the terms of the GNU General Public License
+// as published by the Free Software Foundation; either version 2
+// of the License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with this program; if not, write to the Free Software
+// Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+//
+// See docs/COPYRIGHT.rdoc for more details.
+//++
+.git-actions-menu
+ background-color: var(--body-background)
+ border: var(--content-default-border-width) solid var(--content-default-border-color)
+ padding: 1rem 1rem 2rem 1rem
+ min-width: 25rem
+ box-shadow: .1em .1em .4em rgba(0,0,0,0.1)
+
+ .copy-wrapper
+ width: 100%
+ position: relative
+ margin-bottom: 1rem
+
+ .copy-content
+ width: calc(100% - 3em)
+ // the min-height should be the size of the copy-icon, which is the sum of:
+ // 2 * button padding (0.65em)
+ // font-size of the icon (0.9em)
+ // 1px where I don't know where it comes from
+ min-height: calc(2 * 0.65em + 0.9em + 1px)
+ border-radius: 2px 0 0 2px
+ padding: 0.65em
+ color: var(--gray-dark)
+ white-space: pre
+ resize: none
+ font-size: 0.9rem
+ display: inline-block
+
+ .copy-button
+ margin: 0
+ border: 1px solid #ccc
+ border-radius: 0 2px 2px 0
+ vertical-align: top
+ left: -1px
+ position: relative
+ font-size: 0.9rem
+
+ &:hover
+ border-color: #999
+
+ .copy-result-message
+ background-color: var(--main-menu-bg-color)
+ display: inline-block
+ padding: 0.5em
+ border-radius: 5px
+ color: var(--main-menu-font-color)
+ position: absolute
+ right: 0
+ top: calc(2 * 0.65em + 0.9em + 1px + 9px)
+ box-shadow: 1px 1px 4px var(--gray-dark)
+ z-index: 1
+
+ &:before
+ content: ""
+ border-bottom: 0.6em solid var(--main-menu-bg-color)
+ height: 0
+ width: 0
+ position: absolute
+ top: -9px
+ right: 10px
+ border-left: 0.3em solid transparent
+ border-right: 0.3em solid transparent
+
diff --git a/modules/gitlab_integration/frontend/module/git-actions/git-actions.service.ts b/modules/gitlab_integration/frontend/module/git-actions/git-actions.service.ts
new file mode 100644
index 000000000000..27688d8f8fbb
--- /dev/null
+++ b/modules/gitlab_integration/frontend/module/git-actions/git-actions.service.ts
@@ -0,0 +1,89 @@
+//-- copyright
+// OpenProject is an open source project management software.
+// Copyright (C) 2023 Ben Tey
+//
+// This program is free software; you can redistribute it and/or
+// modify it under the terms of the GNU General Public License version 3.
+//
+// OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows:
+// Copyright (C) 2006-2013 Jean-Philippe Lang
+// Copyright (C) 2010-2013 the ChiliProject Team
+// Copyright (C) 2012-2021 the OpenProject GmbH
+//
+// This program is free software; you can redistribute it and/or
+// modify it under the terms of the GNU General Public License
+// as published by the Free Software Foundation; either version 2
+// of the License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with this program; if not, write to the Free Software
+// Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+//
+// See docs/COPYRIGHT.rdoc for more details.
+//++
+
+import { Injectable } from '@angular/core';
+import { WorkPackageResource } from "core-app/features/hal/resources/work-package-resource";
+
+// probably not providable in root when we want to cache the formatter and set custom templates
+@Injectable({
+ providedIn: 'root',
+})
+export class GitActionsService {
+ private sanitizeBranchString(str:string):string {
+ // See https://stackoverflow.com/a/3651867 for how these rules came in.
+ // This sanitization tries to be harsher than those rules
+ return str
+ .replace(/&/g, 'and ') // & becomes and
+ .replace(/ +/g, '-') // Spaces become dashes
+ .replace(/[\000-\039]/g, '') // ASCII control characters are out
+ .replace(/\177/g, '') // DEL is out
+ .replace(/[#\\\/\?\*\~\^\:\{\}@\.\[\]'"]/g, '') // Some other characters with special rules are out
+ .replace(/^[-]+/g, '') // Dashes at the start are removed
+ .replace(/[-]+$/g, '') // Dashes at the end are removed
+ .replace(/-+/g, '-') // Multiple dashes in a row are deduped
+ .trim();
+ }
+
+ private formattingInput(workPackage: WorkPackageResource) {
+ const type = workPackage.type.name || '';
+ const id = workPackage.id || '';
+ const title = workPackage.subject;
+ const url = window.location.origin + workPackage.pathHelper.workPackagePath(id);
+ const description = '';
+
+ return({
+ id, type, title, url, description
+ });
+ }
+
+ private sanitizeShellInput(str:string):string {
+ return `${str.replace(/'/g, '\\\'')}`;
+ }
+
+ public branchName(workPackage:WorkPackageResource):string {
+ const { type, id, title } = this.formattingInput(workPackage);
+ return `${this.sanitizeBranchString(type)}/${id}-${this.sanitizeBranchString(title)}`.toLocaleLowerCase();
+ }
+
+ public commitMessage(workPackage:WorkPackageResource):string {
+ const { title, id, description, url } = this.formattingInput(workPackage);
+ return `OP#${id} ${title}
+
+${description}
+
+${url}
+`.replace(/\n\n+/g, '\n\n');
+ }
+
+ public gitCommand(workPackage:WorkPackageResource):string {
+ const branch = this.branchName(workPackage);
+ const commit = this.commitMessage(workPackage);
+ return `git checkout -b '${this.sanitizeShellInput(branch)}' && git commit --allow-empty -m '${this.sanitizeShellInput(commit)}'`;
+ }
+}
diff --git a/modules/gitlab_integration/frontend/module/gitlab-tab/gitlab-tab.component.sass b/modules/gitlab_integration/frontend/module/gitlab-tab/gitlab-tab.component.sass
new file mode 100644
index 000000000000..06056041ad2d
--- /dev/null
+++ b/modules/gitlab_integration/frontend/module/gitlab-tab/gitlab-tab.component.sass
@@ -0,0 +1,36 @@
+//-- copyright
+// OpenProject is an open source project management software.
+// Copyright (C) 2023 Ben Tey
+//
+// This program is free software; you can redistribute it and/or
+// modify it under the terms of the GNU General Public License version 3.
+//
+// OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows:
+// Copyright (C) 2006-2013 Jean-Philippe Lang
+// Copyright (C) 2010-2013 the ChiliProject Team
+// Copyright (C) 2012-2021 the OpenProject GmbH
+//
+// This program is free software; you can redistribute it and/or
+// modify it under the terms of the GNU General Public License
+// as published by the Free Software Foundation; either version 2
+// of the License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with this program; if not, write to the Free Software
+// Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+//
+// See docs/COPYRIGHT.rdoc for more details.
+//++
+
+@import "helpers"
+
+:host,
+.gitlab-header
+ position: sticky
+ top: 0
+ z-index: 850 // Ensure the header is above other content
diff --git a/modules/gitlab_integration/frontend/module/gitlab-tab/gitlab-tab.component.ts b/modules/gitlab_integration/frontend/module/gitlab-tab/gitlab-tab.component.ts
new file mode 100644
index 000000000000..c7f28a1a2536
--- /dev/null
+++ b/modules/gitlab_integration/frontend/module/gitlab-tab/gitlab-tab.component.ts
@@ -0,0 +1,49 @@
+//-- copyright
+// OpenProject is an open source project management software.
+// Copyright (C) 2023 Ben Tey
+//
+// This program is free software; you can redistribute it and/or
+// modify it under the terms of the GNU General Public License version 3.
+//
+// OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows:
+// Copyright (C) 2006-2013 Jean-Philippe Lang
+// Copyright (C) 2010-2013 the ChiliProject Team
+// Copyright (C) 2012-2021 the OpenProject GmbH
+//
+// This program is free software; you can redistribute it and/or
+// modify it under the terms of the GNU General Public License
+// as published by the Free Software Foundation; either version 2
+// of the License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with this program; if not, write to the Free Software
+// Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+//
+// See docs/COPYRIGHT.rdoc for more details.
+//++
+
+import { Component, Input } from '@angular/core';
+import { WorkPackageResource } from "core-app/features/hal/resources/work-package-resource";
+import { TabComponent } from "core-app/features/work-packages/components/wp-tabs/components/wp-tab-wrapper/tab";
+import { I18nService } from "core-app/core/i18n/i18n.service";
+import { PathHelperService } from "core-app/core/path-helper/path-helper.service";
+
+@Component({
+ selector: 'gitlab-tab',
+ templateUrl: './gitlab-tab.template.html',
+ styleUrls: [
+ './gitlab-tab.component.sass',
+ ]
+})
+export class GitlabTabComponent implements TabComponent {
+ @Input() public workPackage:WorkPackageResource;
+
+ constructor(readonly PathHelper:PathHelperService,
+ readonly I18n:I18nService) {
+ }
+}
diff --git a/modules/gitlab_integration/frontend/module/gitlab-tab/gitlab-tab.template.html b/modules/gitlab_integration/frontend/module/gitlab-tab/gitlab-tab.template.html
new file mode 100644
index 000000000000..a7c04a6dfc13
--- /dev/null
+++ b/modules/gitlab_integration/frontend/module/gitlab-tab/gitlab-tab.template.html
@@ -0,0 +1,136 @@
+