diff --git a/Gemfile.lock b/Gemfile.lock
index 529234940abb..cd092a568bf9 100644
--- a/Gemfile.lock
+++ b/Gemfile.lock
@@ -331,7 +331,7 @@ GEM
airbrake-ruby (6.2.2)
rbtree3 (~> 0.6)
android_key_attestation (0.3.0)
- appsignal (3.7.2)
+ appsignal (3.7.4)
rack
ast (2.4.2)
attr_required (1.0.2)
@@ -622,10 +622,9 @@ GEM
i18n-js (4.2.3)
glob (>= 0.4.0)
i18n
- i18n-tasks (1.0.13)
+ i18n-tasks (1.0.14)
activesupport (>= 4.0.2)
ast (>= 2.1.0)
- better_html (>= 1.0, < 3.0)
erubi
highline (>= 2.0.0)
i18n
@@ -927,7 +926,7 @@ GEM
redis-client (0.22.1)
connection_pool
regexp_parser (2.9.0)
- reline (0.5.5)
+ reline (0.5.6)
io-console (~> 0.5)
representable (3.2.0)
declarative (< 0.1.0)
@@ -968,7 +967,7 @@ GEM
rspec-retry (0.6.2)
rspec-core (> 3.3)
rspec-support (3.13.1)
- rubocop (1.63.4)
+ rubocop (1.63.5)
json (~> 2.3)
language_server-protocol (>= 3.17.0)
parallel (~> 1.10)
diff --git a/config/locales/crowdin/lt.yml b/config/locales/crowdin/lt.yml
index 7be1f106204a..f1793b6c66fa 100644
--- a/config/locales/crowdin/lt.yml
+++ b/config/locales/crowdin/lt.yml
@@ -303,13 +303,13 @@ lt:
no_results_title_text: Šis projektas papildomos vietos diske nenaudoja.
lists:
create:
- success: "The modified list has been saved as a new list"
- failure: "The modified list cannot be saved: %{errors}"
+ success: "Pakeistas sąrašas įrašytas kaip naujas sąrašas"
+ failure: "Nepavyksta įrašyti pakeisto sąrašo: %{errors}"
update:
- success: "The modified list has been saved"
- failure: "The modified list cannot be saved: %{errors}"
- can_be_saved: "List modified:"
- can_be_saved_as: "The modifications can only be saved in a new list:"
+ success: "Pakeistas sąrašas buvo įrašytas"
+ failure: "Nepavyksta įrašyti pakeisto sąrašo: %{errors}"
+ can_be_saved: "Sąrašas pakeistas:"
+ can_be_saved_as: "Pakeitimus galima įrašyti tik į naują sąrašą:"
members:
index:
no_results_title_text: Nėra nė vieno šio projekto dalyvio.
diff --git a/config/locales/crowdin/ms.yml b/config/locales/crowdin/ms.yml
index 52cc2f8865d0..03075d395056 100644
--- a/config/locales/crowdin/ms.yml
+++ b/config/locales/crowdin/ms.yml
@@ -593,7 +593,7 @@ ms:
grids/grid:
page: "Halaman"
row_count: "Bilangan baris"
- column_count: "Bilangan lajur"
+ column_count: "Bilangan kolum"
widgets: "Widget"
oauth_client:
client: "ID pelanggan"
diff --git a/config/locales/crowdin/zh-TW.yml b/config/locales/crowdin/zh-TW.yml
index ca6bc38978a1..0c56aed88200 100644
--- a/config/locales/crowdin/zh-TW.yml
+++ b/config/locales/crowdin/zh-TW.yml
@@ -2358,7 +2358,7 @@ zh-TW:
subject: "%{user_name} 在「 #%{id} - %{subject} 」提到您"
notification:
center: "顯示通知中心"
- see_in_center: "See comment in notification center"
+ see_in_center: "詳見通知中心留言"
settings: "更改電子郵件設定"
salutation: "%{user} 您好"
salutation_full_name: "全名"
diff --git a/docker/prod/setup/postinstall-onprem.sh b/docker/prod/setup/postinstall-onprem.sh
index ec4160ce7bde..bd4139fdde1b 100755
--- a/docker/prod/setup/postinstall-onprem.sh
+++ b/docker/prod/setup/postinstall-onprem.sh
@@ -30,6 +30,25 @@ apt-get install -y \
service postgresql stop
rm -rf /var/lib/postgresql/{$CURRENT_PGVERSION,$NEXT_PGVERSION}
+# create schema_cache.yml and db/structure.sql
+
+su - postgres -c "$PGBIN/initdb -D /tmp/nulldb"
+su - postgres -c "$PGBIN/pg_ctl -D /tmp/nulldb -l /dev/null -l /tmp/nulldb/log -w start"
+
+# give some more time for DB to start
+sleep 5
+
+echo "create database structure; create user structure with encrypted password 'p4ssw0rd'; grant all privileges on database structure to structure;" | su - postgres -c psql
+
+# dump schema
+DATABASE_URL=postgres://structure:p4ssw0rd@127.0.0.1/structure RAILS_ENV=production bundle exec rake db:migrate db:schema:dump db:schema:cache:dump
+
+# this line requires superuser rights, which is not always available and doesn't matter anyway
+sed -i '/^COMMENT ON EXTENSION/d' db/structure.sql
+
+su - postgres -c "$PGBIN/pg_ctl -D /tmp/nulldb stop"
+rm -rf /tmp/nulldb
+
a2enmod proxy proxy_http
rm -f /etc/apache2/sites-enabled/000-default.conf
diff --git a/frontend/package-lock.json b/frontend/package-lock.json
index e8cbd92c9c10..fb2ae09933fa 100644
--- a/frontend/package-lock.json
+++ b/frontend/package-lock.json
@@ -260,11 +260,11 @@
}
},
"node_modules/@angular-devkit/architect": {
- "version": "0.1703.6",
- "resolved": "https://registry.npmjs.org/@angular-devkit/architect/-/architect-0.1703.6.tgz",
- "integrity": "sha512-Ck501FD/QuOjeKVFs7hU92w8+Ffetv0d5Sq09XY2/uygo5c/thMzp9nkevaIWBxUSeU5RqYZizDrhFVgYzbbOw==",
+ "version": "0.1703.7",
+ "resolved": "https://registry.npmjs.org/@angular-devkit/architect/-/architect-0.1703.7.tgz",
+ "integrity": "sha512-SwXbdsZqEE3JtvujCLChAii+FA20d1931VDjDYffrGWdQEViTBAr4NKtDr/kOv8KkgiL3fhGibPnRNUHTeAMtg==",
"dependencies": {
- "@angular-devkit/core": "17.3.6",
+ "@angular-devkit/core": "17.3.7",
"rxjs": "7.8.1"
},
"engines": {
@@ -274,14 +274,14 @@
}
},
"node_modules/@angular-devkit/build-angular": {
- "version": "17.3.6",
- "resolved": "https://registry.npmjs.org/@angular-devkit/build-angular/-/build-angular-17.3.6.tgz",
- "integrity": "sha512-K4CEZvhQZUUOpmXPVoI1YBM8BARbIlqE6FZRxakmnr+YOtVTYE5s+Dr1wgja8hZIohNz6L7j167G9Aut7oPU/w==",
+ "version": "17.3.7",
+ "resolved": "https://registry.npmjs.org/@angular-devkit/build-angular/-/build-angular-17.3.7.tgz",
+ "integrity": "sha512-AsV80kiFMIPIhm3uzJgOHDj4u6JteUkZedPTKAFFFJC7CTat1luW5qx306vfF7wj62aMvUl5g9HFWaeLghTQGA==",
"dependencies": {
"@ampproject/remapping": "2.3.0",
- "@angular-devkit/architect": "0.1703.6",
- "@angular-devkit/build-webpack": "0.1703.6",
- "@angular-devkit/core": "17.3.6",
+ "@angular-devkit/architect": "0.1703.7",
+ "@angular-devkit/build-webpack": "0.1703.7",
+ "@angular-devkit/core": "17.3.7",
"@babel/core": "7.24.0",
"@babel/generator": "7.23.6",
"@babel/helper-annotate-as-pure": "7.22.5",
@@ -292,7 +292,7 @@
"@babel/preset-env": "7.24.0",
"@babel/runtime": "7.24.0",
"@discoveryjs/json-ext": "0.5.7",
- "@ngtools/webpack": "17.3.6",
+ "@ngtools/webpack": "17.3.7",
"@vitejs/plugin-basic-ssl": "1.1.0",
"ansi-colors": "4.1.3",
"autoprefixer": "10.4.18",
@@ -581,11 +581,11 @@
"integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q=="
},
"node_modules/@angular-devkit/build-webpack": {
- "version": "0.1703.6",
- "resolved": "https://registry.npmjs.org/@angular-devkit/build-webpack/-/build-webpack-0.1703.6.tgz",
- "integrity": "sha512-pJu0et2SiF0kfXenHSTtAART0omzbWpLgBfeUo4hBh4uwX5IaT+mRpYpr8gCXMq+qsjoQp3HobSU3lPDeBn+bg==",
+ "version": "0.1703.7",
+ "resolved": "https://registry.npmjs.org/@angular-devkit/build-webpack/-/build-webpack-0.1703.7.tgz",
+ "integrity": "sha512-gpt2Ia5I1gmdp3hdbtB7tkZTba5qWmKeVhlCYswa/LvbceKmkjedoeNRAoyr1UKM9GeGqt6Xl1B2eHzCH+ykrg==",
"dependencies": {
- "@angular-devkit/architect": "0.1703.6",
+ "@angular-devkit/architect": "0.1703.7",
"rxjs": "7.8.1"
},
"engines": {
@@ -599,9 +599,9 @@
}
},
"node_modules/@angular-devkit/core": {
- "version": "17.3.6",
- "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-17.3.6.tgz",
- "integrity": "sha512-FVbkT9dEwHEvjnxr4mvMNSMg2bCFoGoP4X68xXU9dhLEUpC05opLvfbaR3Qh543eCJ5AstosBFVzB/krfIkOvA==",
+ "version": "17.3.7",
+ "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-17.3.7.tgz",
+ "integrity": "sha512-qpZ7BShyqS/Jqld36E7kL02cyb2pjn1Az1p9439SbP8nsvJgYlsyjwYK2Kmcn/Wi+TZGIKxkqxgBBw9vqGgeJw==",
"dependencies": {
"ajv": "8.12.0",
"ajv-formats": "2.1.1",
@@ -636,11 +636,11 @@
}
},
"node_modules/@angular-devkit/schematics": {
- "version": "17.3.6",
- "resolved": "https://registry.npmjs.org/@angular-devkit/schematics/-/schematics-17.3.6.tgz",
- "integrity": "sha512-2G1YuPInd8znG7uUgKOS7z72Aku50lTzB/2csWkWPJLAFkh7vKC8QZ40x8S1nC9npVYPhI5CRLX/HVpBh9CyxA==",
+ "version": "17.3.7",
+ "resolved": "https://registry.npmjs.org/@angular-devkit/schematics/-/schematics-17.3.7.tgz",
+ "integrity": "sha512-d7NKSwstdxYLYmPsbcYO3GOFNfXxXwOyHxSqDa1JNKoSzMdbLj4tvlCpfXw0ThNM7gioMx8aLBaaH1ac+yk06Q==",
"dependencies": {
- "@angular-devkit/core": "17.3.6",
+ "@angular-devkit/core": "17.3.7",
"jsonc-parser": "3.2.1",
"magic-string": "0.30.8",
"ora": "5.4.1",
@@ -989,9 +989,9 @@
}
},
"node_modules/@angular/animations": {
- "version": "17.3.7",
- "resolved": "https://registry.npmjs.org/@angular/animations/-/animations-17.3.7.tgz",
- "integrity": "sha512-ahenGALPPweeHgqtl9BMkGIAV4fUNI5kOWUrLNbKBfwIJN+aOBOYV1Jz6NKUQq6eYn/1ZYtm0f3lIkHIdtLKEw==",
+ "version": "17.3.8",
+ "resolved": "https://registry.npmjs.org/@angular/animations/-/animations-17.3.8.tgz",
+ "integrity": "sha512-ywT3dH0yZeAlo+Vu/6RpRozxzTbu4Bwqky6RgNfk/UMoyXZ5UiFStszDqO/HAyBGGCDHagm1XJkgsNZcStWq8A==",
"dependencies": {
"tslib": "^2.3.0"
},
@@ -999,13 +999,13 @@
"node": "^18.13.0 || >=20.9.0"
},
"peerDependencies": {
- "@angular/core": "17.3.7"
+ "@angular/core": "17.3.8"
}
},
"node_modules/@angular/cdk": {
- "version": "17.3.7",
- "resolved": "https://registry.npmjs.org/@angular/cdk/-/cdk-17.3.7.tgz",
- "integrity": "sha512-aFEh8tzKFOwini6aNEp57S54Ocp9T7YIJfBVMESptu2TCPdMTlJ1HJTg5XS8NcQO+vwi9cFPGVwGF1frOx4LXA==",
+ "version": "17.3.8",
+ "resolved": "https://registry.npmjs.org/@angular/cdk/-/cdk-17.3.8.tgz",
+ "integrity": "sha512-9UQovtq1R3iGppBP6c1xgnokhG3LaUObpm6htMyuQ2v034WinemoeMdHbqs/OvyUbqOUttQI/9vz37TVB0DjXA==",
"dependencies": {
"tslib": "^2.3.0"
},
@@ -1019,14 +1019,14 @@
}
},
"node_modules/@angular/cli": {
- "version": "17.3.6",
- "resolved": "https://registry.npmjs.org/@angular/cli/-/cli-17.3.6.tgz",
- "integrity": "sha512-poKaRPeI+hFqX+AxIaEriaIggFVcC3XqlT9E1/uBC2rfHirE1n5F9Z7xqEDtMHduKwLbNXhQIPoKIKya8+Hnew==",
- "dependencies": {
- "@angular-devkit/architect": "0.1703.6",
- "@angular-devkit/core": "17.3.6",
- "@angular-devkit/schematics": "17.3.6",
- "@schematics/angular": "17.3.6",
+ "version": "17.3.7",
+ "resolved": "https://registry.npmjs.org/@angular/cli/-/cli-17.3.7.tgz",
+ "integrity": "sha512-JgCav3sdRCoJHwLXxmF/EMzArYjwbqB+AGUW/xIR98oZET8QxCB985bOFUAm02SkAEUVcMJvjxec+WCaa60m/A==",
+ "dependencies": {
+ "@angular-devkit/architect": "0.1703.7",
+ "@angular-devkit/core": "17.3.7",
+ "@angular-devkit/schematics": "17.3.7",
+ "@schematics/angular": "17.3.7",
"@yarnpkg/lockfile": "1.1.0",
"ansi-colors": "4.1.3",
"ini": "4.1.2",
@@ -1052,9 +1052,9 @@
}
},
"node_modules/@angular/common": {
- "version": "17.3.7",
- "resolved": "https://registry.npmjs.org/@angular/common/-/common-17.3.7.tgz",
- "integrity": "sha512-A7LRJu1vVCGGgrfZXjU+njz50SiU4weheKCar5PIUprcdIofS1IrHAJDqYh+kwXxkjXbZMOr/ijQY0+AESLEsw==",
+ "version": "17.3.8",
+ "resolved": "https://registry.npmjs.org/@angular/common/-/common-17.3.8.tgz",
+ "integrity": "sha512-HEhTibrsWmoKilyhvAFmqg4SH1hWBP3eV9Y689lmsxBQCTRAmRI2pMAoRKQ+dBcoYLE/FZhcmdHJUSl5jR7Isg==",
"dependencies": {
"tslib": "^2.3.0"
},
@@ -1062,14 +1062,14 @@
"node": "^18.13.0 || >=20.9.0"
},
"peerDependencies": {
- "@angular/core": "17.3.7",
+ "@angular/core": "17.3.8",
"rxjs": "^6.5.3 || ^7.4.0"
}
},
"node_modules/@angular/compiler": {
- "version": "17.3.7",
- "resolved": "https://registry.npmjs.org/@angular/compiler/-/compiler-17.3.7.tgz",
- "integrity": "sha512-AlKiqPoxnrpQ0hn13fIaQPSVodaVAIjBW4vpFyuKFqs2LBKg6iolwZ21s8rEI0KR2gXl+8ugj0/UZ6YADiVM5w==",
+ "version": "17.3.8",
+ "resolved": "https://registry.npmjs.org/@angular/compiler/-/compiler-17.3.8.tgz",
+ "integrity": "sha512-7vZSh2Oa95lZdRR4MhE0icvZ7JUuYY+NSo3eTSOMZSlH5I9rtwQoSFqfoGW+35rXCzGFLOhQmZBbXkxDPDs97Q==",
"dependencies": {
"tslib": "^2.3.0"
},
@@ -1077,7 +1077,7 @@
"node": "^18.13.0 || >=20.9.0"
},
"peerDependencies": {
- "@angular/core": "17.3.7"
+ "@angular/core": "17.3.8"
},
"peerDependenciesMeta": {
"@angular/core": {
@@ -1086,9 +1086,9 @@
}
},
"node_modules/@angular/compiler-cli": {
- "version": "17.3.7",
- "resolved": "https://registry.npmjs.org/@angular/compiler-cli/-/compiler-cli-17.3.7.tgz",
- "integrity": "sha512-vSg5IQZ9jGmvYjpbfH8KbH4Sl1IVeE+Mr1ogcxkGEsURSRvKo7EWc0K7LSEI9+gg0VLamMiP9EyCJdPxiJeLJQ==",
+ "version": "17.3.8",
+ "resolved": "https://registry.npmjs.org/@angular/compiler-cli/-/compiler-cli-17.3.8.tgz",
+ "integrity": "sha512-/TsbCmk7QJUEEZnRdNzi6znsPfoDJuy6vHDqcwWVEcw7y6W7DjirSFmtT9u1QwrV67KM6kOh22+RvPdGM8sPmg==",
"dependencies": {
"@babel/core": "7.23.9",
"@jridgewell/sourcemap-codec": "^1.4.14",
@@ -1108,7 +1108,7 @@
"node": "^18.13.0 || >=20.9.0"
},
"peerDependencies": {
- "@angular/compiler": "17.3.7",
+ "@angular/compiler": "17.3.8",
"typescript": ">=5.2 <5.5"
}
},
@@ -1160,9 +1160,9 @@
"integrity": "sha512-urBwgfrvVP/eAyXx4hluJivBKzuEbSQs9rKWCrCkbSxNv8mxPcUZKeuoF3Uy4mJl3Lwprp6yy5/39VWigZ4K6Q=="
},
"node_modules/@angular/core": {
- "version": "17.3.7",
- "resolved": "https://registry.npmjs.org/@angular/core/-/core-17.3.7.tgz",
- "integrity": "sha512-HWcrbxqnvIMSxFuQdN0KPt08bc87hqr0LKm89yuRTUwx/2sNJlNQUobk6aJj4trswGBttcRDT+GOS4DQP2Nr4g==",
+ "version": "17.3.8",
+ "resolved": "https://registry.npmjs.org/@angular/core/-/core-17.3.8.tgz",
+ "integrity": "sha512-+tUQ+B1yVvNbczzaWBCgJWWIgZ2z+GVJWu+UNOHHWzdqD8qpXjuIkDfnhyLNeGvvXgsqey4u6ApFf2SoFYLjuA==",
"dependencies": {
"tslib": "^2.3.0"
},
@@ -1175,9 +1175,9 @@
}
},
"node_modules/@angular/elements": {
- "version": "17.3.7",
- "resolved": "https://registry.npmjs.org/@angular/elements/-/elements-17.3.7.tgz",
- "integrity": "sha512-GHnTeHc4Eh6oqIAUJG25xN/h8f5Cz/yFeqLc+N04e01sLpd1oAl3xTOQ5qg+wizXbjPWIP2sCHXDm61TjKM0hA==",
+ "version": "17.3.8",
+ "resolved": "https://registry.npmjs.org/@angular/elements/-/elements-17.3.8.tgz",
+ "integrity": "sha512-weDuHQgLs5tuie8uTniRtiYP7k/nFSKyfjqPc3MC/tyBuQOtvokJ9MHJ5ZEW8MrNZqmme0mHknEFRK4CsjPErQ==",
"dependencies": {
"tslib": "^2.3.0"
},
@@ -1185,14 +1185,14 @@
"node": "^18.13.0 || >=20.9.0"
},
"peerDependencies": {
- "@angular/core": "17.3.7",
+ "@angular/core": "17.3.8",
"rxjs": "^6.5.3 || ^7.4.0"
}
},
"node_modules/@angular/forms": {
- "version": "17.3.7",
- "resolved": "https://registry.npmjs.org/@angular/forms/-/forms-17.3.7.tgz",
- "integrity": "sha512-FEhXh/VmT++XCoO8i7bBtzxG7Am/cE1zrr9aF+fWW+4jpWvJvVN1IaSiJxgBB+iPsOJ9lTBRwfRW3onlcDkhrw==",
+ "version": "17.3.8",
+ "resolved": "https://registry.npmjs.org/@angular/forms/-/forms-17.3.8.tgz",
+ "integrity": "sha512-ZoPJMx3O1eKliK6oEUqtKJNqrLwwOLBC5x+zbCHrwJeBB3lbgWXrrnTrFvCXpp3QVERAboZTzZ3XBmHX1o6gmw==",
"dependencies": {
"tslib": "^2.3.0"
},
@@ -1200,9 +1200,9 @@
"node": "^18.13.0 || >=20.9.0"
},
"peerDependencies": {
- "@angular/common": "17.3.7",
- "@angular/core": "17.3.7",
- "@angular/platform-browser": "17.3.7",
+ "@angular/common": "17.3.8",
+ "@angular/core": "17.3.8",
+ "@angular/platform-browser": "17.3.8",
"rxjs": "^6.5.3 || ^7.4.0"
}
},
@@ -1216,9 +1216,9 @@
}
},
"node_modules/@angular/platform-browser": {
- "version": "17.3.7",
- "resolved": "https://registry.npmjs.org/@angular/platform-browser/-/platform-browser-17.3.7.tgz",
- "integrity": "sha512-Nn8ZMaftAvO9dEwribWdNv+QBHhYIBrRkv85G6et80AXfXoYAr/xcfnQECRFtZgPmANqHC5auv/xrmExQG+Yeg==",
+ "version": "17.3.8",
+ "resolved": "https://registry.npmjs.org/@angular/platform-browser/-/platform-browser-17.3.8.tgz",
+ "integrity": "sha512-UMGSV3TdJqMtf2xvhbW6fx8TKJLOoHQgFxohhy3y8GvxHBu+PUyrwhovb7r03bs+muY6u4ygGCMm7Mt1TFVwfQ==",
"dependencies": {
"tslib": "^2.3.0"
},
@@ -1226,9 +1226,9 @@
"node": "^18.13.0 || >=20.9.0"
},
"peerDependencies": {
- "@angular/animations": "17.3.7",
- "@angular/common": "17.3.7",
- "@angular/core": "17.3.7"
+ "@angular/animations": "17.3.8",
+ "@angular/common": "17.3.8",
+ "@angular/core": "17.3.8"
},
"peerDependenciesMeta": {
"@angular/animations": {
@@ -1237,9 +1237,9 @@
}
},
"node_modules/@angular/platform-browser-dynamic": {
- "version": "17.3.7",
- "resolved": "https://registry.npmjs.org/@angular/platform-browser-dynamic/-/platform-browser-dynamic-17.3.7.tgz",
- "integrity": "sha512-9c2I4u0L1p2v1/lW8qy+WaNHisUWbyy6wqsv2v9FfCaSM49Lxymgo9LPFPC4qEG5ei5nE+eIQ2ocRiXXsf5QkQ==",
+ "version": "17.3.8",
+ "resolved": "https://registry.npmjs.org/@angular/platform-browser-dynamic/-/platform-browser-dynamic-17.3.8.tgz",
+ "integrity": "sha512-uL6FPh+Pr9xzIjyiv3p66jteq/CytHP1+m5jOsIKa1LUwTXx0a2pmOYcZxXpNkQGR9Ir/dlbrYmKlSP3QZf7uw==",
"dependencies": {
"tslib": "^2.3.0"
},
@@ -1247,16 +1247,16 @@
"node": "^18.13.0 || >=20.9.0"
},
"peerDependencies": {
- "@angular/common": "17.3.7",
- "@angular/compiler": "17.3.7",
- "@angular/core": "17.3.7",
- "@angular/platform-browser": "17.3.7"
+ "@angular/common": "17.3.8",
+ "@angular/compiler": "17.3.8",
+ "@angular/core": "17.3.8",
+ "@angular/platform-browser": "17.3.8"
}
},
"node_modules/@angular/router": {
- "version": "17.3.7",
- "resolved": "https://registry.npmjs.org/@angular/router/-/router-17.3.7.tgz",
- "integrity": "sha512-lMkuRrc1ZjP5JPDxNHqoAhB0uAnfPQ/q6mJrw1s8IZoVV6VyM+FxR5r13ajNcXWC38xy/YhBjpXPF1vBdxuLXg==",
+ "version": "17.3.8",
+ "resolved": "https://registry.npmjs.org/@angular/router/-/router-17.3.8.tgz",
+ "integrity": "sha512-2JKTW1u1H+iNDfAmIjEiMJjQHfzb97TBk23/euIR0JuyGHjyywkrQ97HHiOEAJyy/Zpr0Vbem3HRqDqSfjTWvg==",
"dependencies": {
"tslib": "^2.3.0"
},
@@ -1264,9 +1264,9 @@
"node": "^18.13.0 || >=20.9.0"
},
"peerDependencies": {
- "@angular/common": "17.3.7",
- "@angular/core": "17.3.7",
- "@angular/platform-browser": "17.3.7",
+ "@angular/common": "17.3.8",
+ "@angular/core": "17.3.8",
+ "@angular/platform-browser": "17.3.8",
"rxjs": "^6.5.3 || ^7.4.0"
}
},
@@ -4196,9 +4196,9 @@
}
},
"node_modules/@ngtools/webpack": {
- "version": "17.3.6",
- "resolved": "https://registry.npmjs.org/@ngtools/webpack/-/webpack-17.3.6.tgz",
- "integrity": "sha512-equxbgh2DKzZtiFMoVf1KD4yJcH1q8lpqQ/GSPPQUvONcmHrr+yqdRUdaJ7oZCyCYmXF/nByBxtMKtJr6nKZVg==",
+ "version": "17.3.7",
+ "resolved": "https://registry.npmjs.org/@ngtools/webpack/-/webpack-17.3.7.tgz",
+ "integrity": "sha512-kQNS68jsPQlaWAnKcVeFKNHp6K90uQANvq+9oXb/i+JnYWzuBsHzn2r8bVdMmvjd1HdBRiGtg767XRk3u+jgRw==",
"engines": {
"node": "^18.13.0 || >=20.9.0",
"npm": "^6.11.0 || ^7.5.6 || >=8.0.0",
@@ -5255,12 +5255,12 @@
]
},
"node_modules/@schematics/angular": {
- "version": "17.3.6",
- "resolved": "https://registry.npmjs.org/@schematics/angular/-/angular-17.3.6.tgz",
- "integrity": "sha512-jCNZdjHSVrI8TrrCnCoXC8GYvQRj7zh+SDdmm91Ve8dbikYNmBOKYLuPaCTsmojWx7ytv962yLlgKzpaa2bbfw==",
+ "version": "17.3.7",
+ "resolved": "https://registry.npmjs.org/@schematics/angular/-/angular-17.3.7.tgz",
+ "integrity": "sha512-HaJroKaberriP4wFefTTSVFrtU9GMvnG3I6ELbOteOyKMH7o2V91FXGJDJ5KnIiLRlBmC30G3r+9Ybc/rtAYkw==",
"dependencies": {
- "@angular-devkit/core": "17.3.6",
- "@angular-devkit/schematics": "17.3.6",
+ "@angular-devkit/core": "17.3.7",
+ "@angular-devkit/schematics": "17.3.7",
"jsonc-parser": "3.2.1"
},
"engines": {
@@ -5680,9 +5680,9 @@
"dev": true
},
"node_modules/@types/jquery": {
- "version": "3.5.29",
- "resolved": "https://registry.npmjs.org/@types/jquery/-/jquery-3.5.29.tgz",
- "integrity": "sha512-oXQQC9X9MOPRrMhPHHOsXqeQDnWeCDT3PelUIg/Oy8FAbzSZtFHRjc7IpbfFVmpLtJ+UOoywpRsuO5Jxjybyeg==",
+ "version": "3.5.30",
+ "resolved": "https://registry.npmjs.org/@types/jquery/-/jquery-3.5.30.tgz",
+ "integrity": "sha512-nbWKkkyb919DOUxjmRVk8vwtDb0/k8FKncmUKFi+NY+QXqWltooxTrswvz4LspQwxvLdvzBN1TImr6cw3aQx2A==",
"dev": true,
"dependencies": {
"@types/sizzle": "*"
@@ -22334,9 +22334,9 @@
}
},
"node_modules/zone.js": {
- "version": "0.14.4",
- "resolved": "https://registry.npmjs.org/zone.js/-/zone.js-0.14.4.tgz",
- "integrity": "sha512-NtTUvIlNELez7Q1DzKVIFZBzNb646boQMgpATo9z3Ftuu/gWvzxCW7jdjcUDoRGxRikrhVHB/zLXh1hxeJawvw==",
+ "version": "0.14.5",
+ "resolved": "https://registry.npmjs.org/zone.js/-/zone.js-0.14.5.tgz",
+ "integrity": "sha512-9XYWZzY6PhHOSdkYryNcMm7L8EK7a4q+GbTvxbIA2a9lMdRUpGuyaYvLDcg8D6bdn+JomSsbPcilVKg6SmUx6w==",
"dependencies": {
"tslib": "^2.3.0"
}
@@ -22404,23 +22404,23 @@
}
},
"@angular-devkit/architect": {
- "version": "0.1703.6",
- "resolved": "https://registry.npmjs.org/@angular-devkit/architect/-/architect-0.1703.6.tgz",
- "integrity": "sha512-Ck501FD/QuOjeKVFs7hU92w8+Ffetv0d5Sq09XY2/uygo5c/thMzp9nkevaIWBxUSeU5RqYZizDrhFVgYzbbOw==",
+ "version": "0.1703.7",
+ "resolved": "https://registry.npmjs.org/@angular-devkit/architect/-/architect-0.1703.7.tgz",
+ "integrity": "sha512-SwXbdsZqEE3JtvujCLChAii+FA20d1931VDjDYffrGWdQEViTBAr4NKtDr/kOv8KkgiL3fhGibPnRNUHTeAMtg==",
"requires": {
- "@angular-devkit/core": "17.3.6",
+ "@angular-devkit/core": "17.3.7",
"rxjs": "7.8.1"
}
},
"@angular-devkit/build-angular": {
- "version": "17.3.6",
- "resolved": "https://registry.npmjs.org/@angular-devkit/build-angular/-/build-angular-17.3.6.tgz",
- "integrity": "sha512-K4CEZvhQZUUOpmXPVoI1YBM8BARbIlqE6FZRxakmnr+YOtVTYE5s+Dr1wgja8hZIohNz6L7j167G9Aut7oPU/w==",
+ "version": "17.3.7",
+ "resolved": "https://registry.npmjs.org/@angular-devkit/build-angular/-/build-angular-17.3.7.tgz",
+ "integrity": "sha512-AsV80kiFMIPIhm3uzJgOHDj4u6JteUkZedPTKAFFFJC7CTat1luW5qx306vfF7wj62aMvUl5g9HFWaeLghTQGA==",
"requires": {
"@ampproject/remapping": "2.3.0",
- "@angular-devkit/architect": "0.1703.6",
- "@angular-devkit/build-webpack": "0.1703.6",
- "@angular-devkit/core": "17.3.6",
+ "@angular-devkit/architect": "0.1703.7",
+ "@angular-devkit/build-webpack": "0.1703.7",
+ "@angular-devkit/core": "17.3.7",
"@babel/core": "7.24.0",
"@babel/generator": "7.23.6",
"@babel/helper-annotate-as-pure": "7.22.5",
@@ -22431,7 +22431,7 @@
"@babel/preset-env": "7.24.0",
"@babel/runtime": "7.24.0",
"@discoveryjs/json-ext": "0.5.7",
- "@ngtools/webpack": "17.3.6",
+ "@ngtools/webpack": "17.3.7",
"@vitejs/plugin-basic-ssl": "1.1.0",
"ansi-colors": "4.1.3",
"autoprefixer": "10.4.18",
@@ -22596,18 +22596,18 @@
}
},
"@angular-devkit/build-webpack": {
- "version": "0.1703.6",
- "resolved": "https://registry.npmjs.org/@angular-devkit/build-webpack/-/build-webpack-0.1703.6.tgz",
- "integrity": "sha512-pJu0et2SiF0kfXenHSTtAART0omzbWpLgBfeUo4hBh4uwX5IaT+mRpYpr8gCXMq+qsjoQp3HobSU3lPDeBn+bg==",
+ "version": "0.1703.7",
+ "resolved": "https://registry.npmjs.org/@angular-devkit/build-webpack/-/build-webpack-0.1703.7.tgz",
+ "integrity": "sha512-gpt2Ia5I1gmdp3hdbtB7tkZTba5qWmKeVhlCYswa/LvbceKmkjedoeNRAoyr1UKM9GeGqt6Xl1B2eHzCH+ykrg==",
"requires": {
- "@angular-devkit/architect": "0.1703.6",
+ "@angular-devkit/architect": "0.1703.7",
"rxjs": "7.8.1"
}
},
"@angular-devkit/core": {
- "version": "17.3.6",
- "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-17.3.6.tgz",
- "integrity": "sha512-FVbkT9dEwHEvjnxr4mvMNSMg2bCFoGoP4X68xXU9dhLEUpC05opLvfbaR3Qh543eCJ5AstosBFVzB/krfIkOvA==",
+ "version": "17.3.7",
+ "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-17.3.7.tgz",
+ "integrity": "sha512-qpZ7BShyqS/Jqld36E7kL02cyb2pjn1Az1p9439SbP8nsvJgYlsyjwYK2Kmcn/Wi+TZGIKxkqxgBBw9vqGgeJw==",
"requires": {
"ajv": "8.12.0",
"ajv-formats": "2.1.1",
@@ -22625,11 +22625,11 @@
}
},
"@angular-devkit/schematics": {
- "version": "17.3.6",
- "resolved": "https://registry.npmjs.org/@angular-devkit/schematics/-/schematics-17.3.6.tgz",
- "integrity": "sha512-2G1YuPInd8znG7uUgKOS7z72Aku50lTzB/2csWkWPJLAFkh7vKC8QZ40x8S1nC9npVYPhI5CRLX/HVpBh9CyxA==",
+ "version": "17.3.7",
+ "resolved": "https://registry.npmjs.org/@angular-devkit/schematics/-/schematics-17.3.7.tgz",
+ "integrity": "sha512-d7NKSwstdxYLYmPsbcYO3GOFNfXxXwOyHxSqDa1JNKoSzMdbLj4tvlCpfXw0ThNM7gioMx8aLBaaH1ac+yk06Q==",
"requires": {
- "@angular-devkit/core": "17.3.6",
+ "@angular-devkit/core": "17.3.7",
"jsonc-parser": "3.2.1",
"magic-string": "0.30.8",
"ora": "5.4.1",
@@ -22875,31 +22875,31 @@
}
},
"@angular/animations": {
- "version": "17.3.7",
- "resolved": "https://registry.npmjs.org/@angular/animations/-/animations-17.3.7.tgz",
- "integrity": "sha512-ahenGALPPweeHgqtl9BMkGIAV4fUNI5kOWUrLNbKBfwIJN+aOBOYV1Jz6NKUQq6eYn/1ZYtm0f3lIkHIdtLKEw==",
+ "version": "17.3.8",
+ "resolved": "https://registry.npmjs.org/@angular/animations/-/animations-17.3.8.tgz",
+ "integrity": "sha512-ywT3dH0yZeAlo+Vu/6RpRozxzTbu4Bwqky6RgNfk/UMoyXZ5UiFStszDqO/HAyBGGCDHagm1XJkgsNZcStWq8A==",
"requires": {
"tslib": "^2.3.0"
}
},
"@angular/cdk": {
- "version": "17.3.7",
- "resolved": "https://registry.npmjs.org/@angular/cdk/-/cdk-17.3.7.tgz",
- "integrity": "sha512-aFEh8tzKFOwini6aNEp57S54Ocp9T7YIJfBVMESptu2TCPdMTlJ1HJTg5XS8NcQO+vwi9cFPGVwGF1frOx4LXA==",
+ "version": "17.3.8",
+ "resolved": "https://registry.npmjs.org/@angular/cdk/-/cdk-17.3.8.tgz",
+ "integrity": "sha512-9UQovtq1R3iGppBP6c1xgnokhG3LaUObpm6htMyuQ2v034WinemoeMdHbqs/OvyUbqOUttQI/9vz37TVB0DjXA==",
"requires": {
"parse5": "^7.1.2",
"tslib": "^2.3.0"
}
},
"@angular/cli": {
- "version": "17.3.6",
- "resolved": "https://registry.npmjs.org/@angular/cli/-/cli-17.3.6.tgz",
- "integrity": "sha512-poKaRPeI+hFqX+AxIaEriaIggFVcC3XqlT9E1/uBC2rfHirE1n5F9Z7xqEDtMHduKwLbNXhQIPoKIKya8+Hnew==",
- "requires": {
- "@angular-devkit/architect": "0.1703.6",
- "@angular-devkit/core": "17.3.6",
- "@angular-devkit/schematics": "17.3.6",
- "@schematics/angular": "17.3.6",
+ "version": "17.3.7",
+ "resolved": "https://registry.npmjs.org/@angular/cli/-/cli-17.3.7.tgz",
+ "integrity": "sha512-JgCav3sdRCoJHwLXxmF/EMzArYjwbqB+AGUW/xIR98oZET8QxCB985bOFUAm02SkAEUVcMJvjxec+WCaa60m/A==",
+ "requires": {
+ "@angular-devkit/architect": "0.1703.7",
+ "@angular-devkit/core": "17.3.7",
+ "@angular-devkit/schematics": "17.3.7",
+ "@schematics/angular": "17.3.7",
"@yarnpkg/lockfile": "1.1.0",
"ansi-colors": "4.1.3",
"ini": "4.1.2",
@@ -22917,25 +22917,25 @@
}
},
"@angular/common": {
- "version": "17.3.7",
- "resolved": "https://registry.npmjs.org/@angular/common/-/common-17.3.7.tgz",
- "integrity": "sha512-A7LRJu1vVCGGgrfZXjU+njz50SiU4weheKCar5PIUprcdIofS1IrHAJDqYh+kwXxkjXbZMOr/ijQY0+AESLEsw==",
+ "version": "17.3.8",
+ "resolved": "https://registry.npmjs.org/@angular/common/-/common-17.3.8.tgz",
+ "integrity": "sha512-HEhTibrsWmoKilyhvAFmqg4SH1hWBP3eV9Y689lmsxBQCTRAmRI2pMAoRKQ+dBcoYLE/FZhcmdHJUSl5jR7Isg==",
"requires": {
"tslib": "^2.3.0"
}
},
"@angular/compiler": {
- "version": "17.3.7",
- "resolved": "https://registry.npmjs.org/@angular/compiler/-/compiler-17.3.7.tgz",
- "integrity": "sha512-AlKiqPoxnrpQ0hn13fIaQPSVodaVAIjBW4vpFyuKFqs2LBKg6iolwZ21s8rEI0KR2gXl+8ugj0/UZ6YADiVM5w==",
+ "version": "17.3.8",
+ "resolved": "https://registry.npmjs.org/@angular/compiler/-/compiler-17.3.8.tgz",
+ "integrity": "sha512-7vZSh2Oa95lZdRR4MhE0icvZ7JUuYY+NSo3eTSOMZSlH5I9rtwQoSFqfoGW+35rXCzGFLOhQmZBbXkxDPDs97Q==",
"requires": {
"tslib": "^2.3.0"
}
},
"@angular/compiler-cli": {
- "version": "17.3.7",
- "resolved": "https://registry.npmjs.org/@angular/compiler-cli/-/compiler-cli-17.3.7.tgz",
- "integrity": "sha512-vSg5IQZ9jGmvYjpbfH8KbH4Sl1IVeE+Mr1ogcxkGEsURSRvKo7EWc0K7LSEI9+gg0VLamMiP9EyCJdPxiJeLJQ==",
+ "version": "17.3.8",
+ "resolved": "https://registry.npmjs.org/@angular/compiler-cli/-/compiler-cli-17.3.8.tgz",
+ "integrity": "sha512-/TsbCmk7QJUEEZnRdNzi6znsPfoDJuy6vHDqcwWVEcw7y6W7DjirSFmtT9u1QwrV67KM6kOh22+RvPdGM8sPmg==",
"requires": {
"@babel/core": "7.23.9",
"@jridgewell/sourcemap-codec": "^1.4.14",
@@ -22989,25 +22989,25 @@
}
},
"@angular/core": {
- "version": "17.3.7",
- "resolved": "https://registry.npmjs.org/@angular/core/-/core-17.3.7.tgz",
- "integrity": "sha512-HWcrbxqnvIMSxFuQdN0KPt08bc87hqr0LKm89yuRTUwx/2sNJlNQUobk6aJj4trswGBttcRDT+GOS4DQP2Nr4g==",
+ "version": "17.3.8",
+ "resolved": "https://registry.npmjs.org/@angular/core/-/core-17.3.8.tgz",
+ "integrity": "sha512-+tUQ+B1yVvNbczzaWBCgJWWIgZ2z+GVJWu+UNOHHWzdqD8qpXjuIkDfnhyLNeGvvXgsqey4u6ApFf2SoFYLjuA==",
"requires": {
"tslib": "^2.3.0"
}
},
"@angular/elements": {
- "version": "17.3.7",
- "resolved": "https://registry.npmjs.org/@angular/elements/-/elements-17.3.7.tgz",
- "integrity": "sha512-GHnTeHc4Eh6oqIAUJG25xN/h8f5Cz/yFeqLc+N04e01sLpd1oAl3xTOQ5qg+wizXbjPWIP2sCHXDm61TjKM0hA==",
+ "version": "17.3.8",
+ "resolved": "https://registry.npmjs.org/@angular/elements/-/elements-17.3.8.tgz",
+ "integrity": "sha512-weDuHQgLs5tuie8uTniRtiYP7k/nFSKyfjqPc3MC/tyBuQOtvokJ9MHJ5ZEW8MrNZqmme0mHknEFRK4CsjPErQ==",
"requires": {
"tslib": "^2.3.0"
}
},
"@angular/forms": {
- "version": "17.3.7",
- "resolved": "https://registry.npmjs.org/@angular/forms/-/forms-17.3.7.tgz",
- "integrity": "sha512-FEhXh/VmT++XCoO8i7bBtzxG7Am/cE1zrr9aF+fWW+4jpWvJvVN1IaSiJxgBB+iPsOJ9lTBRwfRW3onlcDkhrw==",
+ "version": "17.3.8",
+ "resolved": "https://registry.npmjs.org/@angular/forms/-/forms-17.3.8.tgz",
+ "integrity": "sha512-ZoPJMx3O1eKliK6oEUqtKJNqrLwwOLBC5x+zbCHrwJeBB3lbgWXrrnTrFvCXpp3QVERAboZTzZ3XBmHX1o6gmw==",
"requires": {
"tslib": "^2.3.0"
}
@@ -23019,25 +23019,25 @@
"dev": true
},
"@angular/platform-browser": {
- "version": "17.3.7",
- "resolved": "https://registry.npmjs.org/@angular/platform-browser/-/platform-browser-17.3.7.tgz",
- "integrity": "sha512-Nn8ZMaftAvO9dEwribWdNv+QBHhYIBrRkv85G6et80AXfXoYAr/xcfnQECRFtZgPmANqHC5auv/xrmExQG+Yeg==",
+ "version": "17.3.8",
+ "resolved": "https://registry.npmjs.org/@angular/platform-browser/-/platform-browser-17.3.8.tgz",
+ "integrity": "sha512-UMGSV3TdJqMtf2xvhbW6fx8TKJLOoHQgFxohhy3y8GvxHBu+PUyrwhovb7r03bs+muY6u4ygGCMm7Mt1TFVwfQ==",
"requires": {
"tslib": "^2.3.0"
}
},
"@angular/platform-browser-dynamic": {
- "version": "17.3.7",
- "resolved": "https://registry.npmjs.org/@angular/platform-browser-dynamic/-/platform-browser-dynamic-17.3.7.tgz",
- "integrity": "sha512-9c2I4u0L1p2v1/lW8qy+WaNHisUWbyy6wqsv2v9FfCaSM49Lxymgo9LPFPC4qEG5ei5nE+eIQ2ocRiXXsf5QkQ==",
+ "version": "17.3.8",
+ "resolved": "https://registry.npmjs.org/@angular/platform-browser-dynamic/-/platform-browser-dynamic-17.3.8.tgz",
+ "integrity": "sha512-uL6FPh+Pr9xzIjyiv3p66jteq/CytHP1+m5jOsIKa1LUwTXx0a2pmOYcZxXpNkQGR9Ir/dlbrYmKlSP3QZf7uw==",
"requires": {
"tslib": "^2.3.0"
}
},
"@angular/router": {
- "version": "17.3.7",
- "resolved": "https://registry.npmjs.org/@angular/router/-/router-17.3.7.tgz",
- "integrity": "sha512-lMkuRrc1ZjP5JPDxNHqoAhB0uAnfPQ/q6mJrw1s8IZoVV6VyM+FxR5r13ajNcXWC38xy/YhBjpXPF1vBdxuLXg==",
+ "version": "17.3.8",
+ "resolved": "https://registry.npmjs.org/@angular/router/-/router-17.3.8.tgz",
+ "integrity": "sha512-2JKTW1u1H+iNDfAmIjEiMJjQHfzb97TBk23/euIR0JuyGHjyywkrQ97HHiOEAJyy/Zpr0Vbem3HRqDqSfjTWvg==",
"requires": {
"tslib": "^2.3.0"
}
@@ -25045,9 +25045,9 @@
}
},
"@ngtools/webpack": {
- "version": "17.3.6",
- "resolved": "https://registry.npmjs.org/@ngtools/webpack/-/webpack-17.3.6.tgz",
- "integrity": "sha512-equxbgh2DKzZtiFMoVf1KD4yJcH1q8lpqQ/GSPPQUvONcmHrr+yqdRUdaJ7oZCyCYmXF/nByBxtMKtJr6nKZVg=="
+ "version": "17.3.7",
+ "resolved": "https://registry.npmjs.org/@ngtools/webpack/-/webpack-17.3.7.tgz",
+ "integrity": "sha512-kQNS68jsPQlaWAnKcVeFKNHp6K90uQANvq+9oXb/i+JnYWzuBsHzn2r8bVdMmvjd1HdBRiGtg767XRk3u+jgRw=="
},
"@ngx-formly/core": {
"version": "6.3.0",
@@ -25739,12 +25739,12 @@
"optional": true
},
"@schematics/angular": {
- "version": "17.3.6",
- "resolved": "https://registry.npmjs.org/@schematics/angular/-/angular-17.3.6.tgz",
- "integrity": "sha512-jCNZdjHSVrI8TrrCnCoXC8GYvQRj7zh+SDdmm91Ve8dbikYNmBOKYLuPaCTsmojWx7ytv962yLlgKzpaa2bbfw==",
+ "version": "17.3.7",
+ "resolved": "https://registry.npmjs.org/@schematics/angular/-/angular-17.3.7.tgz",
+ "integrity": "sha512-HaJroKaberriP4wFefTTSVFrtU9GMvnG3I6ELbOteOyKMH7o2V91FXGJDJ5KnIiLRlBmC30G3r+9Ybc/rtAYkw==",
"requires": {
- "@angular-devkit/core": "17.3.6",
- "@angular-devkit/schematics": "17.3.6",
+ "@angular-devkit/core": "17.3.7",
+ "@angular-devkit/schematics": "17.3.7",
"jsonc-parser": "3.2.1"
}
},
@@ -26100,9 +26100,9 @@
"dev": true
},
"@types/jquery": {
- "version": "3.5.29",
- "resolved": "https://registry.npmjs.org/@types/jquery/-/jquery-3.5.29.tgz",
- "integrity": "sha512-oXQQC9X9MOPRrMhPHHOsXqeQDnWeCDT3PelUIg/Oy8FAbzSZtFHRjc7IpbfFVmpLtJ+UOoywpRsuO5Jxjybyeg==",
+ "version": "3.5.30",
+ "resolved": "https://registry.npmjs.org/@types/jquery/-/jquery-3.5.30.tgz",
+ "integrity": "sha512-nbWKkkyb919DOUxjmRVk8vwtDb0/k8FKncmUKFi+NY+QXqWltooxTrswvz4LspQwxvLdvzBN1TImr6cw3aQx2A==",
"dev": true,
"requires": {
"@types/sizzle": "*"
@@ -38391,9 +38391,9 @@
"dev": true
},
"zone.js": {
- "version": "0.14.4",
- "resolved": "https://registry.npmjs.org/zone.js/-/zone.js-0.14.4.tgz",
- "integrity": "sha512-NtTUvIlNELez7Q1DzKVIFZBzNb646boQMgpATo9z3Ftuu/gWvzxCW7jdjcUDoRGxRikrhVHB/zLXh1hxeJawvw==",
+ "version": "0.14.5",
+ "resolved": "https://registry.npmjs.org/zone.js/-/zone.js-0.14.5.tgz",
+ "integrity": "sha512-9XYWZzY6PhHOSdkYryNcMm7L8EK7a4q+GbTvxbIA2a9lMdRUpGuyaYvLDcg8D6bdn+JomSsbPcilVKg6SmUx6w==",
"requires": {
"tslib": "^2.3.0"
}
diff --git a/lib/open_project/version.rb b/lib/open_project/version.rb
index fbb0e231cc89..efc9bec9f5ee 100644
--- a/lib/open_project/version.rb
+++ b/lib/open_project/version.rb
@@ -32,7 +32,7 @@
module OpenProject
module VERSION # :nodoc:
MAJOR = 14
- MINOR = 1
+ MINOR = 2
PATCH = 0
class << self
diff --git a/modules/avatars/config/locales/crowdin/ms.yml b/modules/avatars/config/locales/crowdin/ms.yml
index f1d03f80319b..987849551aa7 100644
--- a/modules/avatars/config/locales/crowdin/ms.yml
+++ b/modules/avatars/config/locales/crowdin/ms.yml
@@ -16,7 +16,7 @@ ms:
avatar_deleted: "Avatar berjaya dipadam."
unable_to_delete_avatar: "Avatar tidak berjaya dipadam."
wrong_file_format: "Format yang dibenarkan adalah jpg, png, gif"
- empty_file_error: "Sila muatnaik imej yang sah (jpg, png, gif)"
+ empty_file_error: "Sila muat naik imej yang sah (jpg, png, gif)"
avatars:
label_avatar: "Avatar"
label_gravatar: 'Gravatar'
@@ -25,11 +25,11 @@ ms:
text_current_avatar: |
Imej berikut memaparkan avatar semasa.
text_upload_instructions: |
- Muatnaik avatar tersuai anda sendiri bersaiz 128 x 128 piksel. Fail lebih besar akan disaizkan semula dan dipotong untuk disesuaikan.
- Previu avatar anda akan ditunjukkan sebelum memuatnaik, sebaik sahaja anda memilih imej.
+ Muat naik avatar tersuai anda sendiri bersaiz 128 x 128 piksel. Fail lebih besar akan disaizkan semula dan dipotong untuk disesuaikan.
+ Previu avatar anda akan ditunjukkan sebelum memuat naik, sebaik sahaja anda memilih imej.
text_change_gravatar_html: 'Untuk menukar atau menambah Gravatar ke alamat e-mel anda, sila ke %{gravatar_url}.'
text_your_local_avatar: |
- OpenProject membenarkan anda memuatnaik avatar tersuai anda sendiri.
+ OpenProject membenarkan anda memuat naik avatar tersuai anda sendiri.
text_local_avatar_over_gravatar: |
Jika anda tetapkan satu, avatar tersuai ini akan digunakan dalam keutamaan daripada gravatar di atas.
text_your_current_gravatar: |
diff --git a/modules/backlogs/config/locales/crowdin/ms.yml b/modules/backlogs/config/locales/crowdin/ms.yml
index dc9ccb856795..a06f2bd812cd 100644
--- a/modules/backlogs/config/locales/crowdin/ms.yml
+++ b/modules/backlogs/config/locales/crowdin/ms.yml
@@ -27,7 +27,7 @@ ms:
attributes:
work_package:
position: "Kedudukan"
- story_points: "Titik cerita"
+ story_points: "Titik Cerita"
backlogs_work_package_type: "Jenis tunggakan kerja"
errors:
models:
@@ -45,7 +45,7 @@ ms:
any: "mana-mana"
backlog_settings: "Tetapan tunggakan"
burndown_graph: "Graf Burndown"
- card_paper_size: "Saiz kertas untuk mencetak kad"
+ card_paper_size: "Saiz kertas untuk pencetakan kad"
chart_options: "Pilihan carta"
close: "Tutup"
column_width: "Lebar kolum:"
@@ -54,7 +54,7 @@ ms:
generating_chart: "Sedang Menjana Graf..."
hours: "Jam"
impediment: "Halangan"
- label_versions_default_fold_state: "Tunjuk versi dilipat"
+ label_versions_default_fold_state: "Paparkan versi dilipat"
work_package_is_closed: "Pakej kerja selesai apabila"
label_is_done_status: "Status %{status_name} bermaksud selesai"
no_burndown_data: "Tiada data burndown tersedia. Adalah perlu untuk menentukan tarikh mula dan tarikh akhir pecutan."
@@ -87,7 +87,7 @@ ms:
backlogs_sprint_unsized: "Projek mempunyai cerita-cerita berkenaan pecutan aktif atau baru ditutup yang tidak bersaiz"
backlogs_sprints: "Pecutan"
backlogs_story: "Cerita"
- backlogs_story_type: "Jenis Cerita"
+ backlogs_story_type: "Jenis cerita"
backlogs_task: "Tugasan"
backlogs_task_type: "Jenis Tugasan"
backlogs_velocity_missing: "Tiada kelajuan yang boleh dikira untuk projek ini"
@@ -107,7 +107,7 @@ ms:
label_back_to_project: "Kembali ke laman projek"
label_backlog: "Tunggakan"
label_backlogs: "Tunggakan"
- label_backlogs_unconfigured: "Anda belum mengkonfigurasi tunggakan lagi. Sila pergi ke %{administration} > %{plugins}, kemudian klik pautan %{configure} untuk plugin ini. Setelah anda menetapkan medan, kembali ke halaman ini untuk mula menggunakan alat ini."
+ label_backlogs_unconfigured: "Anda belum mengkonfigurasi tunggakan lagi. Sila pergi ke %{administration} > %{plugins}, kemudian klik pautan %{configure} untuk plugin ini. Setelah anda menetapkan ruangan, kembali ke halaman ini untuk mula menggunakan alat ini."
label_blocks_ids: "ID pakej kerja yang disekat"
label_burndown: "Burndown"
label_column_in_backlog: "Kolum dalam tunggakan"
@@ -128,18 +128,18 @@ ms:
label_stories: "Cerita-cerita"
label_stories_tasks: "Cerita/Tugasan"
label_task_board: "Papan tugasan"
- label_version_setting: "Versi"
+ label_version_setting: "Versi-versi"
label_version: 'Versi'
label_webcal: "Webcal Feed"
label_wiki: "Wiki"
permission_view_master_backlog: "Paparkan tunggakan utama"
- permission_view_taskboards: "Paparkan papan tugasan"
+ permission_view_taskboards: "Lihat papan tugasan"
permission_select_done_statuses: "Pilih status selesai"
permission_update_sprints: "Kemas kini pecutan"
points_accepted: "mata diterima"
points_committed: "mata yang dianggarkan"
points_resolved: "mata yang diselesaikan"
- points_to_accept: "mata tidak diterima"
+ points_to_accept: "mata yang tidak diterima"
points_to_resolve: "mata tidak diselesaikan"
project_module_backlogs: "Tunggakan"
rb_label_copy_tasks: "Salin pakej kerja"
diff --git a/modules/bim/config/locales/crowdin/js-ms.yml b/modules/bim/config/locales/crowdin/js-ms.yml
index 24303eab2ae8..f87ca2993c65 100644
--- a/modules/bim/config/locales/crowdin/js-ms.yml
+++ b/modules/bim/config/locales/crowdin/js-ms.yml
@@ -9,14 +9,14 @@ ms:
export_bcf_xml_file: 'Eksport fail BCF XML (BCF versi 2.1)'
viewpoint: 'Sudut pandangan'
add_viewpoint: 'Tambah sudut pandangan'
- show_viewpoint: 'Tunjuk sudut pandangan'
+ show_viewpoint: 'Paparkan sudut pandangan'
delete_viewpoint: 'Padam sudut pandangan'
management: "Pengurusan BCF\n"
refresh: 'Muat semula '
refresh_work_package: 'Muat semula pakej kerja'
ifc_models:
empty_warning: "Projek ini belum mempunyai sebarang model IFC."
- use_this_link_to_manage: "Guna pautan ini untuk kemas kini dan urus model IFC anda"
+ use_this_link_to_manage: "Gunakan pautan ini untuk kemas kini dan urus model IFC anda"
keyboard_input_disabled: "Pemerhati tidak ada kawalan papan kekunci. Klik pada pemerhati untuk memberikan kawalan papan kekunci kepada pemerhati."
models:
ifc_models: 'Model IFC'
@@ -26,4 +26,4 @@ ms:
split_cards: 'Pemerhati dan kad'
revit:
revit_add_in: "Revit Add-In"
- revit_add_in_settings: "Seting Revit Add-In"
+ revit_add_in_settings: "Tetapan Revit Add-In"
diff --git a/modules/bim/config/locales/crowdin/ms.seeders.yml b/modules/bim/config/locales/crowdin/ms.seeders.yml
index e63e83548d44..de47e6205a34 100644
--- a/modules/bim/config/locales/crowdin/ms.seeders.yml
+++ b/modules/bim/config/locales/crowdin/ms.seeders.yml
@@ -13,7 +13,7 @@ ms:
item_2:
name: Tinggi
item_3:
- name: Penting
+ name: Kritikal
statuses:
item_0:
name: Baharu
@@ -63,7 +63,7 @@ ms:
item_3:
name: Pemodel BIM
item_4:
- name: Ketua Penyelaras BIM
+ name: Ketua Koordinator BIM
item_5:
name: Jurutera MEP
item_6:
@@ -73,7 +73,7 @@ ms:
welcome:
title: Selamat datang ke OpenProject edisi BIM!
text: |
- Lihat demo projek untuk mula dengan beberapa contoh.
+ Lihat demo projek untuk bermula dengan beberapa contoh.
* [(Demo) Projek Pembinaan]({{opSetting:base_url}}/projects/demo-construction-project): Perancangan, proses BIM, pengurusan BCF, dan pembinaan, semua sepintas lalu.
* [(Demo) Perancangan & pembinaan]({{opSetting:base_url}}/projects/demo-planning-constructing-project): Perancangan klasik dan pengurusan pembinaan.
@@ -88,14 +88,14 @@ ms:
projects:
demo-construction-project:
name: "(Demo) Projek pembinaan"
- status_explanation: Semua tugasan dan sub-projek mengikut jadual. Orang yang terlibat tahu akan tugasan mereka. Sistem ini telah disiapkan disiapkan.
+ status_explanation: Semua tugasan dan sub-projek mengikut jadual. Orang yang terlibat tahu akan tugasan mereka. Sistem ini telah disiapkan sepenuhnya.
description: Ini adalah ringkasan pendek matlamat projek pembinaan demo ini.
news:
item_0:
title: Selamat datang ke projek demo anda
summary: |
Kami gembira anda menyertai kami.
- Dalam modul ini, anda boleh menyampaikan berita projek ke ahli pasukan anda.
+ Dalam modul ini, anda boleh menyampaikan berita projek ke ahli-ahli pasukan anda.
description: Berita sebenar
categories:
item_0: Kategori 1 (untuk diubah dalam tetapan Projek)
@@ -120,28 +120,28 @@ ms:
options:
name: Permulaan
text: |
- Kami gembira anda menyertai! Kami cadangkan beberapa perkara untuk bermula di OpenProject.
+ Kami gembira anda menyertai kami! Kami cadangkan beberapa perkara sebagai permulaan di OpenProject.
- Sebelum anda teruskan, anda harus tahu projek contoh ini terbahagi kepada dua projek yang berbeza:
+ Sebelum anda bermula, anda harus tahu projek contoh ini terbahagi kepada dua projek yang berbeza:
1. [Projek Pembinaan]({{opSetting:base_url}}/projects/demo-planning-constructing-project): Disini anda akan jumpa peranan klasik, beberapa aliran kerja dan pakej kerja untuk projek pembinaan anda.
2. [Mencipta Model BIM]({{opSetting:base_url}}/projects/demo-bim-project): Projek ini juga menawarkan peranan, aliran kerja dan pakej kerja tetapi secara khususnya dalam konteks BIM.
- _Cuba ikuti langkah berikut:_
+ _Cuba ikuti langkah-langkah berikut:_
1. _Jemput ahli baru ke projek anda_: → Pergi ke [Ahli]({{opSetting:base_url}}/projects/demo-construction-project/members) dalam navigasi projek.
- 2. _Paparkan kerja di dalam projek anda_: → Pergi ke [Pakej kerja]({{opSetting:base_url}}/projects/demo-construction-project/work_packages?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22status%22%2C%22assignee%22%2C%22priority%22%5D%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%7B%22n%22%3A%22bcfIssueAssociated%22%2C%22o%22%3A%22%3D%22%2C%22v%22%3A%5B%22f%22%5D%7D%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22list%22%7D) dalam navigasi projek.
+ 2. _Lihat kerja di dalam projek anda_: → Pergi ke [Pakej kerja]({{opSetting:base_url}}/projects/demo-construction-project/work_packages?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22status%22%2C%22assignee%22%2C%22priority%22%5D%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%7B%22n%22%3A%22bcfIssueAssociated%22%2C%22o%22%3A%22%3D%22%2C%22v%22%3A%5B%22f%22%5D%7D%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22list%22%7D) dalam navigasi projek.
3. _Cipta pakej pekerjaan yang baru_: → Pergi ke [Pakej kerja → Cipta]({{opSetting:base_url}}/projects/demo-construction-project/work_packages/new?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22status%22%2C%22assignee%22%2C%22priority%22%5D%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%7B%22n%22%3A%22bcfIssueAssociated%22%2C%22o%22%3A%22%3D%22%2C%22v%22%3A%5B%22f%22%5D%7D%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22list%22%7D&type=11).
- 4. _Cipta dan kemaskini carta Gantt_: → Pergi ke [Carta Gantt]({{opSetting:base_url}}/projects/demo-construction-project/work_packages?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22assignee%22%2C%22responsible%22%5D%2C%22tv%22%3Atrue%2C%22tzl%22%3A%22weeks%22%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22list%22%7D) dalam navigasi projek.
- 5. _Mengaktifkan modul lanjutan_: → Pergi ke [Seting projek → Modul]({{opSetting:base_url}}/projects/demo-construction-project/settings/modules).
- 6. _Lihat paparan til untuk dapatkan gambar keseluruhan isu BCF anda:_ → Pergi ke [Pakej kerja]({{opSetting:base_url}}/projects/demo-construction-project/work_packages?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22status%22%2C%22assignee%22%2C%22priority%22%5D%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22id%3Aasc%22%2C%22f%22%3A%5B%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22card%22%7D)
+ 4. _Cipta dan kemas kini carta Gantt_: → Pergi ke [Carta Gantt]({{opSetting:base_url}}/projects/demo-construction-project/work_packages?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22assignee%22%2C%22responsible%22%5D%2C%22tv%22%3Atrue%2C%22tzl%22%3A%22weeks%22%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22list%22%7D) dalam navigasi projek.
+ 5. _Mengaktifkan modul selanjutnya_: → Pergi ke [Tetapan projek → Modul]({{opSetting:base_url}}/projects/demo-construction-project/settings/modules).
+ 6. _Lihat paparan tile untuk dapatkan gambaran keseluruhan isu BCF anda:_ → Pergi ke [Pakej kerja]({{opSetting:base_url}}/projects/demo-construction-project/work_packages?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22status%22%2C%22assignee%22%2C%22priority%22%5D%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22id%3Aasc%22%2C%22f%22%3A%5B%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22card%22%7D)
7. _Pemangkin kerja? Semak board kami yang baru:_ → Pergi ke [Board]({{opSetting:base_url}}/projects/demo-construction-project/boards)
- Disini anda akan jumpa [Panduan Pengguna](https://www.openproject.org/docs/user-guide/) kami.
+ Disini anda akan jumpa [Panduan Pengguna] (https://www.openproject.org/docs/user-guide/) kami.
Sila beritahu kami jika anda mempunyai sebarang soalan atau memerlukan sokongan. Hubungi kami: [support\[at\]openproject.com](mailto:support@openproject.com).
item_4:
options:
- name: Ahli
+ name: Ahli-ahli
item_5:
options:
name: Pakej kerja
@@ -150,17 +150,17 @@ ms:
name: Pencapaian
demo-planning-constructing-project:
name: "(Demo) Perancangan & pembinaan"
- status_explanation: Semua tugasan mengikut jadual. Orang yang terlibat tahu tugasan mereka. Sistem ini lengkap sepenuhnya.
+ status_explanation: Semua tugasan mengikut jadual. Orang yang terlibat tahu akan tugasan mereka. Sistem ini telah disiapkan sepenuhnya.
description: Ini adalah ringkasan pendek matlamat projek demo pembinaan dan pembangunan ini.
news:
item_0:
title: Selamat datang ke projek demo anda
summary: |
- Kami gembira anda menyertai.
- Dalam modul ini, anda boleh menyampaikan berita projek ke ahli pasukan.
+ Kami gembira anda menyertai kami.
+ Dalam modul ini, anda boleh menyampaikan berita projek ke ahli-ahli pasukan.
description: Berita sebenar
categories:
- item_0: Kategori 1 (untuk diubah dalam seting Projek)
+ item_0: Kategori 1 (untuk diubah dalam tetapan Projek)
queries:
item_0:
name: Pelan projek
@@ -177,26 +177,26 @@ ms:
name: Selamat datang
item_1:
options:
- name: Sedang bermula
+ name: Permulaan
text: |
- Kami gembira anda menyertai! Kami cadangkan beberapa perkara untuk bermula di OpenProject.
+ Kami gembira anda menyertai kami! Kami cadangkan beberapa perkara sebagai permulaan di OpenProject.
Disini anda akan menjumpai peranan klasik, beberapa aliran kerja dan pakej kerja untuk projek pembinaan anda.
- _Cuba ikuti langkah berikut:_
+ _Cuba ikuti langkah-langkah berikut:_
1. _Jemput ahli baru ke projek anda:_ → Pergi ke [Ahli]({{opSetting:base_url}}/projects/demo-planning-constructing-project/members) dalam navigasi projek.
2. _Lihat kerja dalam projek anda:_ → Pergi ke [Pakej kerja]({{opSetting:base_url}}/projects/demo-planning-constructing-project/work_packages?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22status%22%2C%22assignee%22%2C%22priority%22%5D%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%7B%22n%22%3A%22bcfIssueAssociated%22%2C%22o%22%3A%22%3D%22%2C%22v%22%3A%5B%22f%22%5D%7D%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22list%22%7D) dalam navigasi projek.
3. _Cipta satu pakej kerja baru:_ → Pergi ke [Pakej kerja → Cipta]({{opSetting:base_url}}/projects/demo-planning-constructing-project/work_packages/new?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22status%22%2C%22assignee%22%2C%22priority%22%5D%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%7B%22n%22%3A%22bcfIssueAssociated%22%2C%22o%22%3A%22%3D%22%2C%22v%22%3A%5B%22f%22%5D%7D%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22list%22%7D&type=11).
4. _Cipta dan kemaskini carta Gantt:_ → Pergi ke [Carta Gantt]({{opSetting:base_url}}/projects/demo-planning-constructing-project/work_packages?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22assignee%22%2C%22responsible%22%5D%2C%22tv%22%3Atrue%2C%22tzl%22%3A%22weeks%22%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22list%22%7D) dalam navigasi projek.
- 5. _Aktifkan modul lanjutan:_ → Pergi ke [Seting Projek → Modul]({{opSetting:base_url}}/projects/demo-planning-constructing-project/settings/modules).
+ 5. _Aktifkan modul selanjutnya:_ → Pergi ke [Tetapan Projek → Modul]({{opSetting:base_url}}/projects/demo-planning-constructing-project/settings/modules).
6. _Pemangkin kerja? Cipta satu board baharu:_ → Pergi ke [Board]({{opSetting:base_url}}/projects/demo-planning-constructing-project/boards)
Di sini anda akan menemui [Panduan Pengguna](https://www.openproject.org/docs/user-guide/) kami.
Sila beritahu kami untuk sebarang soalan atau bantuan. Hubungi kami: [support\[at\]openproject.com](mailto:support@openproject.com).
item_4:
options:
- name: Ahli
+ name: Ahli-ahli
item_5:
options:
name: Pakej kerja
@@ -209,38 +209,38 @@ ms:
description: |-
Permulaan projek menandakan permulaan projek di dalam syarikat anda. Setiap orang yang menjadi sebahagian daripada projek ini perlu dijemput untuk menyertai taklimat pertama projek.
- Langkah seterusnya adalah menyemak jadual waktu dan menyesuaikan temujanji dengan melihat [Carta Gantt]({{opSetting:base_url}}/projects/demo-construction-project/work_packages?query_props=%7B%22c%22%3A%5B%22id%22%2C%22subject%22%2C%22startDate%22%2C%22dueDate%22%5D%2C%22tv%22%3Atrue%2C%22tzl%22%3A%22weeks%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%7B%22n%22%3A%22status%22%2C%22o%22%3A%22o%22%2C%22v%22%3A%5B%5D%7D%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%7D).
+ Langkah seterusnya adalah menyemak jadual waktu dan menyesuaikan janji temu dengan melihat [Carta Gantt]({{opSetting:base_url}}/projects/demo-construction-project/work_packages?query_props=%7B%22c%22%3A%5B%22id%22%2C%22subject%22%2C%22startDate%22%2C%22dueDate%22%5D%2C%22tv%22%3Atrue%2C%22tzl%22%3A%22weeks%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%7B%22n%22%3A%22status%22%2C%22o%22%3A%22o%22%2C%22v%22%3A%5B%5D%7D%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%7D).
item_1:
subject: Penilaian asas
description: Jenis ini adalah induk secara hierarki bagi jenis "Konflik" dan "Permintaan", oleh itu mewakili catatan umum.
children:
item_0:
- subject: Pengumpulan maklumat projek pertama
+ subject: Pengumpulan informasi projek pertama
description: |-
## Matlamat
* Menetapkan tugasan mengikut keperluan pelanggan
* Penganggaran jangka waktu dan kos akan ditetapkan
- ## Huraian
+ ## Deskripsi
* Mengenalpasti keperluan pelanggan dengan mengadakan bengkel bersama mereka
* Setiap keperluan akan mewakili satu tugasan dengan pakej tugasan yang sepadan
- * Menyimpulkan anggaran kos dan jangka waktu
+ * Memperolehi anggaran kos dan jangka waktu
item_1:
- subject: Simpulkan hasil
+ subject: Ringkaskan hasil
description: |-
## Matlamat
* Cipta rumusan hasil yang bermanfaat
- * Periksa apa yang telah dilakukan dan ringkaskan hasil
+ * Semak apa yang telah dilakukan dan ringkaskan hasil
* Menyampaikan hasil berkaitan kepada pelanggan
* Mengenal pasti asas kondisi garis sempadan projek ini
- ## Huraian
+ ## Deskripsi
- * Setiap topik dapat rumusan sendiri yang akan digunakan untuk katalog result
- * Rumusan ini memberitahu semua peserta tentang keputusan yang dilakukan
+ * Setiap topik dapat rumusan tersendiri yang akan digunakan sebagai katalog hasil
+ * Rumusan ini menyampaikan kepada semua peserta tentang keputusan yang dilakukan
* ...
item_2:
subject: Penghujung penilaian asas
@@ -255,32 +255,32 @@ ms:
## Matlamat
* Cipta rumusan hasil yang bermanfaat
- * Periksa apa yang telah dilakukan dan ringkaskan hasil
+ * Semak apa yang telah dilakukan dan ringkaskan hasil
* Menyampaikan hasil berkaitan kepada pelanggan
* Mengenal pasti asas kondisi batas projek ini
- ## Huraian
+ ## Deskripsi
- * Setiap topik dapat rumusan sendiri yang akan digunakan untuk katalog result
- * Rumusan ini memberitahu semua peserta tentang keputusan yang dilakukan
+ * Setiap topik dapat rumusan tersendiri yang akan digunakan sebagai katalog hasil
+ * Rumusan ini menyampaikan kepada semua peserta tentang keputusan yang dilakukan
* ...
item_1:
- subject: Simpulkan hasil
+ subject: Ringkaskan hasil
description: |-
## Matlamat
* Cipta rumusan hasil yang bermanfaat
- * Periksa apa yang telah dilakukan dan ringkaskan hasil
+ * Semak apa yang telah dilakukan dan ringkaskan hasil
* Menyampaikan hasil berkaitan kepada pelanggan
* Mengenal pasti asas kondisi batas projek ini
- ## Huraian
+ ## Deskripsi
- * Setiap topik dapat rumusan sendiri yang akan digunakan untuk katalog result
- * Rumusan ini memberitahu semua peserta tentang keputusan yang dilakukan
+ * Setiap topik dapat rumusan tersendiri yang akan digunakan sebagai katalog hasil
+ * Rumusan ini menyampaikan kepada semua peserta tentang keputusan yang dilakukan
* ...
item_3:
- subject: Keluluskan perancangan awal
+ subject: Kelulusan perancangan awal
description: Jenis ini adalah induk secara hierarki bagi jenis "Konflik" dan "Permintaan", oleh itu mewakili catatan umum.
item_4:
subject: Perancangan reka bentuk
@@ -294,7 +294,7 @@ ms:
* Reka bentuk selesai
* Semua pihak berpuas hati dengan hasil fasa perancangan reka bentuk
- ## Huraian
+ ## Deskripsi
* Reka bentuk projek akan disiapkan
* Semua pihak bersetuju dengan reka bentuk
@@ -315,7 +315,7 @@ ms:
* Menyediakan tapak pembinaan
* ...
- ## Huraian
+ ## Deskripsi
* Menyediakan tapak untuk projek
* Kumpulkan pasukan
@@ -328,7 +328,7 @@ ms:
* Penempatan batu asas
* ...
- ## Huraian
+ ## Deskripsi
* Pemasangan pengadun konkrit
* Pengurusan rantai bekalan bagi konkrit
@@ -339,12 +339,12 @@ ms:
## Matlamat
* Upacara penamat
- * Dinding dan siling siap dilakukan
+ * Dinding dan siling siap dibina
* ...
- ## Huraian
+ ## Deskripsi
- * Mencipta struktur bangunan semua aras
+ * Mencipta semua aras struktur bangunan
* Memasang pintu dan tingkap
* Menyiapkan struktur bumbung
* ...
@@ -354,10 +354,10 @@ ms:
## Matlamat
* Muka bangunan siap
- * Seluruh bangunan adalah tahan air
+ * Seluruh bangunan kalis air
* ...
- ## Huraian
+ ## Deskripsi
* Pasang semua elemen untuk muka bangunan
* Siapkan bumbung
@@ -369,7 +369,7 @@ ms:
* Semua sistem perkhidmatan bangunan sedia untuk digunakan
- ## Huraian
+ ## Deskripsi
* Pemasangan sistem haba
* Pemasangan sistem cuaca
@@ -384,37 +384,37 @@ ms:
* Pelanggan berpuas hati dengan bangunannya
* ...
- ## Huraian
+ ## Deskripsi
* Menyiapkan pemasangan sistem perkhidmatan bangunan
* Menyiapkan pembinaan dalaman
* Menyiapkan muka bangunan
* ...
item_6:
- subject: Majlis perasmian rumah baru
+ subject: Majlis perasmian rumah baharu
description: |-
## Matlamat
* Nikmatilah!
- ## Huraian
+ ## Deskripsi
* Jemput ahli pembinaan
* Jemput rakan-rakan anda
* Bawa minuman, snek, dan senyuman anda
demo-bim-project:
name: "(Demo) Projek BIM"
- status_explanation: Semua tugasan dan sub-projek mengikut jadual. Orang yang terlibat tahu tugasan mereka. Sistem ini lengkap sepenuhnya.
+ status_explanation: Semua tugasan dan sub-projek mengikut jadual. Orang yang terlibat tahu akan tugasan mereka. Sistem ini telah disiapkan sepenuhnya.
description: Ini adalah ringkasan singkat matlamat projek demo BIM ini.
news:
item_0:
title: Selamat datang ke projek demo anda
summary: |
- Kami gembira anda menyertai.
+ Kami gembira anda menyertai kami.
Dalam modul ini, anda boleh menyampaikan berita projek ke ahli pasukan.
description: Berita sebenar
categories:
- item_0: Kategori 1 (untuk diubah dalam seting Projek)
+ item_0: Kategori 1 (untuk diubah dalam tetapan Projek)
queries:
item_0:
name: Pelan projek
@@ -433,27 +433,27 @@ ms:
options:
name: Bermula
text: |
- Kami gembira anda menyertai! Kami cadangkan beberapa perkara untuk bermula di OpenProject.
+ Kami gembira anda menyertai kami! Kami cadangkan beberapa perkara sebagai permulaan di OpenProject.
Projek demo ini menawarkan peranan, aliran kerja dan pakej pekerjaan yang mengkhususkan kepada BIM.
- _Cuba ikuti langkah berikut:_
+ _Cuba ikuti langkah-langkah berikut:_
1. _Jemput ahli baru ke projek anda:_ → Pergi ke [Ahli]({{opSetting:base_url}}/projects/demo-bim-project/members) dalam navigasi projek.
- 2. _Muat naik dan paparkan model 3d dalam format IFC:_ → Pergi ke [BCF]({{opSetting:base_url}}/projects/demo-bim-project/bcf) dalam navigasi projek.
+ 2. _Muat naik dan paparkan model 3D dalam format IFC:_ → Pergi ke [BCF]({{opSetting:base_url}}/projects/demo-bim-project/bcf) dalam navigasi projek.
3. _Cipta dan urus isu BCF yang berkaitan dalam model IFC:_ → Pergi ke [BCF]({{opSetting:base_url}}/projects/demo-bim-project/bcf) → Cipta.
4. _Lihat kerja dalam projek anda:_ → Pergi ke [Pakej kerja]({{opSetting:base_url}}/projects/demo-bim-project/work_packages?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22status%22%2C%22assignee%22%2C%22priority%22%5D%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%7B%22n%22%3A%22bcfIssueAssociated%22%2C%22o%22%3A%22%3D%22%2C%22v%22%3A%5B%22f%22%5D%7D%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22list%22%7D) dalam navigasi projek.
5. _Cipta satu pakej pekerjaan baharu:_ → Pergi ke [Pakej kerja → Cipta]({{opSetting:base_url}}/projects/demo-bim-project/work_packages/new?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22status%22%2C%22assignee%22%2C%22priority%22%5D%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%7B%22n%22%3A%22bcfIssueAssociated%22%2C%22o%22%3A%22%3D%22%2C%22v%22%3A%5B%22f%22%5D%7D%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22list%22%7D&type=11).
- 6. _Cipta dan kemaskini carta Gantt:_ → Pergi ke [Carta Gantt]({{opSetting:base_url}}/projects/demo-bim-project/work_packages?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22assignee%22%2C%22responsible%22%5D%2C%22tv%22%3Atrue%2C%22tzl%22%3A%22weeks%22%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22list%22%7D) dalam navigasi projek.
- 7. _Aktifkan modul lanjutan:_ → Pergi ke [Seting Projek → Modul]({{opSetting:base_url}}/projects/demo-bim-project/settings/modules).
- 8. _Semak paparan til untuk mendapatkan gambaran keseluruhan mengenai isu-isu BCF anda:_ → Pergi ke [Pakej kerja]({{opSetting:base_url}}/projects/demo-bim-project/work_packages?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22status%22%2C%22assignee%22%2C%22priority%22%5D%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22id%3Aasc%22%2C%22f%22%3A%5B%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22card%22%7D)
- 9. _Pemangkin kerja? Cipta satu panel baru:_ → Pergi ke [Board]({{opSetting:base_url}}/projects/demo-bim-project/boards)
+ 6. _Cipta dan kemas kini carta Gantt:_ → Pergi ke [Carta Gantt]({{opSetting:base_url}}/projects/demo-bim-project/work_packages?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22assignee%22%2C%22responsible%22%5D%2C%22tv%22%3Atrue%2C%22tzl%22%3A%22weeks%22%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22list%22%7D) dalam navigasi projek.
+ 7. _Aktifkan modul selanjutnya:_ → Pergi ke [Tetapan Projek → Modul]({{opSetting:base_url}}/projects/demo-bim-project/settings/modules).
+ 8. _Semak paparan tile untuk mendapatkan gambaran keseluruhan mengenai isu-isu BCF anda:_ → Pergi ke [Pakej kerja]({{opSetting:base_url}}/projects/demo-bim-project/work_packages?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22status%22%2C%22assignee%22%2C%22priority%22%5D%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22id%3Aasc%22%2C%22f%22%3A%5B%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22card%22%7D)
+ 9. _Pemangkin kerja? Cipta satu panel baharu:_ → Pergi ke [Board]({{opSetting:base_url}}/projects/demo-bim-project/boards)
Di sini anda akan menemui [Panduan pengguna](https://www.openproject.org/docs/user-guide/) kami.
Sila beritahu kami untuk sebarang soalan atau bantuan. Hubungi kami: [support\[at\]openproject.com](mailto:support@openproject.com).
item_4:
options:
- name: Ahli
+ name: Ahli-ahli
item_5:
options:
name: Pakej pekerjaan
@@ -480,7 +480,7 @@ ms:
* Jika disediakan, analisis keperluan dan matlamat pelanggan untuk menggunakan model BIM
* Definisikan strategi penghantaran maklumat berdasarkan keperluan pelanggan
- ## Huraian
+ ## Deskripsi
* Menganalisis keperluan dan matlamat pelanggan untuk menggunakan model BIM
* Hasil tugasan ini sepatutnya:
@@ -493,15 +493,15 @@ ms:
# Matlamat
* Satu pelan pelaksanaan BIM akan ditakrifkan mengikut Spesifikasi Keperluan Pertukaran (ERS)
- * Semua ahli pasukan dan rakan kongsi mempunyai rancangan untuk mencapai matlamat projek
+ * Semua ahli pasukan dan rakan kongsi mempunyai rancangan untuk mencapai setiap matlamat projek
- # Huraian
+ # Deskripsi
- * Berdasarkan pada kes penggunaan yang dikenal pasti, Manual Penghantaran Maklumat individu akan ditakrifkan
+ * Bergantung pada kes penggunaan yang dikenal pasti, Manual Penghantaran Maklumat individu akan ditakrifkan
* Untuk mengendalikan antara muka teknologi, topologi perisian akan ditakrifkan, dianalisis, dan disahkan
* ...
item_2:
- subject: Penyempurnaan pelan pelaksanaan BIM
+ subject: ' Penyelesaian pelan pelaksanaan BIM '
description: Jenis ini adalah induk secara hierarki bagi jenis "Konflik" dan "Permintaan", oleh itu mewakili catatan umum.
item_2:
subject: Pengakhiran fasa penyediaan
@@ -518,7 +518,7 @@ ms:
* Pemodelan model BIM awal
* Mencipta model BIM untuk seluruh pasukan projek
- # Huraian
+ # Deskripsi
* Berdasarkan data yang dikumpulkan daripada pelanggan, model awal akan dimodelkan
* Model tersebut akan dimodelkan mengikut matriks LOD dan mengandungi maklumat yang diperlukan
@@ -528,11 +528,11 @@ ms:
description: |-
# Matlamat
- * Menghantar model BIM mengikut piawaian yang ditakrifkan
+ * Menghantar model BIM mengikut standard yang ditakrifkan
- # Huraian
+ # Deskripsi
- * Model berikut akan diperiksa, mengikut piawaian yang ditakrifkan (konvensyen, LOD, ...) dan disemak
+ * Model berikut akan diperiksa, mengikut standard yang ditakrifkan (konvensyen, LOD, ...) dan disemak
* ...
item_2:
subject: Menghantar model BIM awal
@@ -549,9 +549,9 @@ ms:
* Mempunyai asas untuk membangunkan model dalaman/ menawarkan jawapan
* Menggunakan model luaran untuk menghasilkan model dalaman
- # Huraian
+ # Deskripsi
- * Model luaran akan dirujuk dalam platform BIM, kemudian digunakan untuk pemodelan
+ * Model luaran akan dirujuk dalam platform BIM, kemudian digunakan untuk pemodelan dalaman
* ...
item_1:
subject: Pemodelan model BIM
@@ -561,39 +561,39 @@ ms:
* Mencipta model BIM untuk projek
* Mencipta model BIM untuk seluruh pasukan projek
- # Huraian
+ # Deskripsi
* Model berikut akan dicipta mengikut pelan pelaksaan BIM
* ...
item_2:
- subject: Kitaran pertama, semakan model dalaman dan pembetulan
+ subject: Kitaran Pertama, semakan model dalaman dan pembetulan
description: |-
# Matlamat
- * Menghantar model BIM mengikut piawaian yang ditakrifkan
+ * Menghantar model BIM mengikut standard yang ditakrifkan
- # Huraian
+ # Deskripsi
- * Model berikut akan diperiksa, mengikut piawaian yang ditakrifkan (konvensyen, LOD, ...) dan disemak.
+ * Model berikut akan diperiksa, mengikut standard yang ditakrifkan (konvensyen, LOD, ...) dan disemak.
* ...
item_3:
subject: Menghantar model BIM
description: Jenis ini adalah induk secara hierarki bagi jenis "Konflik" dan "Permintaan", oleh itu mewakili catatan umum.
item_5:
- subject: Penyelarasan, kitaran pertama
+ subject: Koordinasi, kitaran pertama
description: Jenis ini adalah induk secara hierarki bagi jenis "Konflik" dan "Permintaan", oleh itu mewakili catatan umum.
children:
item_0:
- subject: Penyelarasan model BIM yang berbeza
+ subject: Koordinasikan model BIM yang berbeza
description: |-
# Matlamat
* Kumpulkan pelbagai model BIM dari seluruh pasukan projek
- * Penyelarasan isu yang dikenal pasti
+ * Koordinasikan isu yang dikenal pasti
- # Huraian
+ # Deskripsi
- * Model BIM yang pelbagai berikut akan dihimpun dan disemak
+ * Model BIM yang berbeza akan dihimpun dan disemak
* Isu-isu khusus model yang dikenal pasti akan disampaikan melalui fail BCF
* ...
item_1:
@@ -602,33 +602,33 @@ ms:
subject: Koordinasi penyelesaian, kitaran pertama
description: Jenis ini adalah induk secara hierarki bagi jenis "Konflik" dan "Permintaan", oleh itu mewakili catatan umum.
item_6:
- subject: Pemodelan & penyelarasan, kitaran kedua
- description: "## Matlamat\r\n\r\n* ...\r\n\r\n## Huraian\r\n\r\n* \\ ..."
+ subject: Pemodelan & koordinasi, kitaran kedua
+ description: "## Matlamat\r\n\r\n* ...\r\n\r\n## Deskripsi\r\n\r\n* \\ ..."
item_7:
- subject: Pemodelan & penyelarasan, kitaran ...
+ subject: Pemodelan & koordinasi, kitaran ...
description: Jenis ini adalah induk secara hierarki bagi jenis "Konflik" dan "Permintaan", oleh itu mewakili catatan umum.
item_8:
- subject: Pemodelan & penyelarasan, kitaran (n-th minus 1)
- description: "## Matlamat\r\n\r\n* ...\r\n\r\n## Huraian\r\n\r\n* \\ ..."
+ subject: Pemodelan & koordinasi, kitaran (n-th minus 1)
+ description: "## Matlamat\r\n\r\n* ...\r\n\r\n## Deskripsi\r\n\r\n* \\ ..."
item_9:
- subject: Pemodelan & penyelarasan kitaran n-th
+ subject: Pemodelan & koordinasikan kitaran n-th
description: Jenis ini adalah induk secara hierarki bagi jenis "Konflik" dan "Permintaan", oleh itu mewakili catatan umum.
item_10:
- subject: Penyempurnaan pemodelan & penyelarasan, kitaran n-th
+ subject: Penyelesaian pemodelan & koordinasi, kitaran n-th
description: Jenis ini adalah induk secara hierarki bagi jenis "Konflik" dan "Permintaan", oleh itu mewakili catatan umum.
item_11:
subject: Guna model untuk fasa pembinaan
children:
item_0:
- subject: Penyerahan model ke krew pembinaan
+ subject: Penyerahan model ke kru pembinaan
description: |-
## Matlamat
- * Semua tahu berkenaan model dan tugasan mereka
+ * Semua orang tahu berkenaan model dan tugasan mereka
* Semua orang mendapat maklumat yang relevan, berdasarkan model
* ...
- ## Huraian
+ ## Deskripsi
* Permulaan ditapak pembinaan termasuk pengenalan kepada model
* Semua objek perlu ada maklumat yang diperlukan untuk tugasan. JIka tidak, penambahan data model perlu dilakukan
@@ -641,7 +641,7 @@ ms:
* Isu baharu yang terwujud ditapak pembinaan akan dikendalikan mengikut model
* Isu-isu akan didokumenkan dengan menggunakan fail BCF dan model BIM
- ## Huraian
+ ## Deskripsi
* Isu baharu akan didokumenkan menggunakan fail BCF sebagai nota pelekat untuk model
* Fail BCF ini akan digunakan untuk menugaskan, mengesan dan membetulkan isu-isu
@@ -659,7 +659,7 @@ ms:
* Model tersebut menyediakan semua maklumat yang berkaitan untuk pentauliahan dan pengendalian model bangunan
* ...
- ## Huraian
+ ## Deskripsi
* Model tersebut mengandungi maklumat yang berkaitan untuk pengurus fasiliti
* Model tersebut akan digunakan untuk sistem operasi bangunan
@@ -669,7 +669,7 @@ ms:
description: Selamat menikmati bangunan anda :)
demo-bcf-management-project:
name: "(Demo) Pengurusan BCF"
- status_explanation: Semua tugasan mengikut jadual. Orang yang terlibat tahu tugasan mereka. Sistem ini lengkap sepenuhnya.
+ status_explanation: Semua tugasan mengikut jadual. Orang yang terlibat tahu tugasan mereka. Sistem ini telah disiapkan sepenuhnya.
description: Ini adalah ringkasan singkat matlamat projek demo pengurusan BCF ini.
ifc_models:
item_0:
@@ -679,10 +679,10 @@ ms:
item_2:
name: Hospital - Mekanikal (cc-by-sa-3.0 Autodesk Inc.)
categories:
- item_0: Kategori 1 (untuk diubah dalam seting Projek)
+ item_0: Kategori 1 (untuk diubah dalam tetapan Projek)
queries:
item_0:
- name: Isu
+ name: Isu-isu
item_1:
name: Konflik
item_2:
@@ -707,13 +707,13 @@ ms:
name: Selamat datang
item_1:
options:
- name: Sedang bermula
+ name: Permulaan
text: |
- Kami gembira anda menyertai! Kami cadangkan beberapa perkara untuk bermula di OpenProject.
+ Kami gembira anda menyertai! Kami cadangkan beberapa perkara sebagai permulaan di OpenProject.
Demo projek ini menunjukkan fungsi pengurusan BCF.
- _Cuba ikuti langkah berikut:_
+ _Cuba ikuti langkah-langkah berikut:_
1. _Jemput ahli baru ke projek anda:_ → Pergi ke [Ahli]({{opSetting:base_url}}/projects/demo-bcf-management-project/members?show_add_members=true) dalam navigasi projek.
2. _Muat naik dan lihat model 3d dalam format IFC:_ → Pergi ke [BCF]({{opSetting:base_url}}/projects/demo-bim-project/bcf) dalam navigasi projek.
@@ -721,14 +721,14 @@ ms:
4. _Lihat fail BCF dalam projek anda:_ → Pergi ke [BCF]({{opSetting:base_url}}/projects/demo-bcf-management-project/work_packages?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22status%22%2C%22assignee%22%2C%22priority%22%5D%2C%22hl%22%3A%22status%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22id%3Aasc%22%2C%22f%22%3A%5B%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22card%22%7D) dalam navigasi projek.
5. _Muatkan fail BCF anda:_ → Pergi ke [BCF → Import.]({{opSetting:base_url}}/projects/demo-bcf-management-project/issues/upload)
6. _Cipta dan kemas kini Carta Gantt:_ → Pergi ke [Carta Gantt]({{opSetting:base_url}}/projects/demo-bcf-management-project/work_packages?query_props=%7B%22c%22%3A%5B%22id%22%2C%22subject%22%2C%22startDate%22%2C%22dueDate%22%5D%2C%22tv%22%3Atrue%2C%22tzl%22%3A%22days%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%7B%22n%22%3A%22status%22%2C%22o%22%3A%22o%22%2C%22v%22%3A%5B%5D%7D%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%7D) dalam navigasi projek.
- 7. _Aktifkan modul lanjutan:_ → Pergi ke [Seting Projek → Modul.]({{opSetting:base_url}}/projects/demo-bcf-management-project/settings/modules)
+ 7. _Aktifkan modul selanjutnya:_ → Pergi ke [Tetapan Projek → Modul.]({{opSetting:base_url}}/projects/demo-bcf-management-project/settings/modules)
8. _Anda suka pendekatan yang pantas ini? Cipta Board:_ → Pergi ke [Board]({{opSetting:base_url}}/projects/demo-bcf-management-project/boards).
- Disini anda akan menemui [Panduan pengguna](https://www.openproject.org/docs/user-guide/) kami.
+ Di sini anda akan menemui [Panduan pengguna](https://www.openproject.org/docs/user-guide/) kami.
Sila beritahu kami untuk sebarang soalan atau bantuan. Hubungi kami: [support\[at\]openproject.com](mailto:support@openproject.com).
item_4:
options:
- name: Ahli
+ name: Ahli-ahli
item_5:
options:
name: Pakej kerja
diff --git a/modules/bim/config/locales/crowdin/ms.yml b/modules/bim/config/locales/crowdin/ms.yml
index e5236de7de1f..4b57e1c3d060 100644
--- a/modules/bim/config/locales/crowdin/ms.yml
+++ b/modules/bim/config/locales/crowdin/ms.yml
@@ -9,7 +9,7 @@ ms:
label_bcf: 'BCF'
label_imported_failed: 'Import topik BCF yang gagal'
label_imported_successfully: 'Import topik BCF yang berjaya'
- issues: "Isu"
+ issues: "Isu-isu"
recommended: 'disarankan'
not_recommended: 'tidak disarankan'
no_viewpoints: 'Tiada pandangan'
@@ -36,7 +36,7 @@ ms:
button_perform_import: 'Sahkan import'
button_proceed: 'Teruskan dengan proses import'
button_back_to_list: 'Kembali ke senarai'
- no_permission_to_add_members: 'Anda tidak mempunyai kebenaran yang mencukupi untuk menambah mereka sebagai ahli ke dalam projek ini.'
+ no_permission_to_add_members: 'Anda tidak mempunyai kebenaran yang mencukupi untuk menambah mereka sebagai ahli ke projek ini.'
contact_project_admin: 'Hubungi pentadbir projek anda untuk menambah mereka sebagai ahli dan mulakan proses import ini semula.'
continue_anyways: 'Adakah anda tetap ingin meneruskan dan selesaikan proses import?'
description: "Sediakan fail BCF-XML v2.1 untuk mengimport ke dalam projek ini. Anda boleh periksa kandungannya sebelum mengimport."
@@ -74,7 +74,7 @@ ms:
oauth:
scopes:
bcf_v2_1: "Akses penuh kepada BCF v2.1 API"
- bcf_v2_1_text: "Aplikasi akan terima akses baca & tulis penuh di OpenProject BCF API v2.1 untuk melaksanakan tindakan bagi pihak anda."
+ bcf_v2_1_text: "Aplikasi akan terima akses penuh membaca & menulis di OpenProject BCF API v2.1 untuk melaksanakan tindakan bagi pihak anda."
activerecord:
models:
bim/ifc_models/ifc_model: "Model IFC"
@@ -104,15 +104,15 @@ ms:
snapshot_data_blank: "snapshot_data perlu disediakan."
unsupported_key: "Properti json yang tidak disokong disertakan."
bim/bcf/issue:
- uuid_already_taken: "Tidak dapat mengimport isu BCF ini kerana isu yang mempunyai GUID yang sama telah ada. Mungkinkah isu BCF ini telah di import ke dalam projek lain?"
+ uuid_already_taken: "Tidak dapat mengimport isu BCF ini kerana isu yang mempunyai GUID yang sama telah ada. Mungkinkah isu BCF ini telah diimport ke dalam projek lain?"
ifc_models:
label_ifc_models: 'Model IFC'
label_new_ifc_model: 'Model IFC baharu'
- label_show_defaults: 'Tunjukkan tetapan asal'
- label_default_ifc_models: 'Model tetapan asal IFC '
- label_edit_defaults: 'Suntingkan tetapan asal'
+ label_show_defaults: 'Paparkan default'
+ label_default_ifc_models: 'Model default IFC '
+ label_edit_defaults: 'Edit default'
no_defaults_warning:
- title: 'Tiada model IFC yang ditetapkan sebagai tetapan asal untuk projek ini.'
+ title: 'Tiada model IFC yang ditetapkan sebagai default untuk projek ini.'
check_1: 'Semak bahawa anda telah memuat naik sekurang-kurangnya satu model IFC.'
check_2: 'Semak bahawa salah satu model IFC ditetapkan sebagai "Tetapan Asal".'
no_results: "Tiada model IFC yang telah dimuat naik di dalam projek ini."
@@ -123,7 +123,7 @@ ms:
completed: 'Selesai'
error: 'Ralat'
processing_notice:
- processing_default: 'Model IFC tetapan asal berikut masih dalam proses dan oleh kerana itu belum tersedia lagi:'
+ processing_default: 'Model IFC default berikut masih dalam proses dan oleh kerana itu belum tersedia lagi:'
flash_messages:
upload_successful: 'Muat naik berjaya. Ia akan diproses dan sedia untuk digunakan dalam masa beberapa minit.'
conversion:
diff --git a/modules/boards/config/locales/crowdin/js-ms.yml b/modules/boards/config/locales/crowdin/js-ms.yml
index f0b4eb9e917c..1900defbd14d 100644
--- a/modules/boards/config/locales/crowdin/js-ms.yml
+++ b/modules/boards/config/locales/crowdin/js-ms.yml
@@ -13,15 +13,15 @@ ms:
delete: 'Padam senarai'
version:
is_locked: 'Versi ini dikunci. Tiada item yang dapat ditambah kedalam versi ini.'
- is_closed: 'Versi ini ditutup. Tiada item yang dapat ditambah kedalam versi ini.'
+ is_closed: 'Versi ini ditutup. Tiada item yang boleh ditambah kedalam versi ini.'
close_version: 'Versi tertutup'
open_version: 'Versi terbuka'
lock_version: 'Versi terkunci'
unlock_version: 'Versi dibuka'
edit_version: 'Versi suntingan'
- show_version: 'Papar versi'
+ show_version: 'Tunjuk versi'
locked: 'Dikunci'
- closed: 'Ditutup'
+ closed: 'Tertutup'
new_board: 'Papan baru'
add_list: 'Tambah senarai ke papan'
add_card: 'Tambah kad'
@@ -29,14 +29,14 @@ ms:
error_loading_the_list: "Ralat memuat senarai: %{error_message}"
error_permission_missing: "Kebenaran untuk membuat pertanyaan awam tidak dijumpai"
error_cannot_move_into_self: "Anda tidak boleh mengalihkan pakej kerja ke dalam lajur sendiri."
- text_hidden_list_warning: "Hanya beberapa senarai dipaparkan kerana anda tidak mempunyai kebenaran. Hubungi pentadbir anda untut maklumat lanjut."
+ text_hidden_list_warning: "Hanya beberapa senarai dipaparkan kerana anda tidak mempunyai kebenaran. Hubungi pentadbir anda untuk maklumat lanjut."
click_to_remove_list: "Klik untuk padamkan senarai ini"
board_type:
text: "Jenis papan\n"
- free: "asas\n"
+ free: 'asas'
select_board_type: 'Sila pilih jenis papan yang anda perlukan.'
free_text: >
- Bermula dari awal dengan board yang kosong. Tambah kad dan lajur kepada board ini secara manual.
+ Bermula dari awal dengan papan yang kosong. Tambah kad dan lajur kepada papan ini secara manual.
action: 'Panel tindakan'
action_by_attribute: 'Panel tindakan (%{attribute})'
action_text: >
@@ -48,7 +48,7 @@ ms:
action_text_status: >
Papan gaya kanban asas dengan lajur untuk status seperti Untuk Dilakukan, Dalam Pelaksanaan, Selesai.
action_text_assignee: >
- Board dengan kolum automatik berdasarkan pengguna yang ditentukan. Ideal untuk penghantaran pakej kerja.
+ Papan dengan kolum automatik berdasarkan pengguna yang ditentukan. Ideal untuk penghantaran pakej kerja.
action_text_version: >
Papan dengan lajur automatik berdasarkan versi atribut. Bagus untuk merancang pembangunan produk.
action_type:
@@ -56,7 +56,7 @@ ms:
status: status
version: versi
subproject: subprojek
- subtasks: ibu bapa-anak
+ subtasks: induk-anak
board_type_title:
assignee: Penerima tugasan
status: Status
diff --git a/modules/boards/config/locales/crowdin/ms.yml b/modules/boards/config/locales/crowdin/ms.yml
index e7dda029737e..8de5dcc37644 100644
--- a/modules/boards/config/locales/crowdin/ms.yml
+++ b/modules/boards/config/locales/crowdin/ms.yml
@@ -4,36 +4,36 @@ ms:
name: "Papan OpenProject"
description: "Menyediakan paparan board"
permission_show_board_views: "Paparkan board"
- permission_manage_board_views: "Urus board"
- project_module_board_view: "Board"
+ permission_manage_board_views: "Urus papan"
+ project_module_board_view: "Papan-papan"
boards:
- label_board: "Board"
- label_boards: "Board"
- label_create_new_board: "Cipta board baru"
- label_board_type: "Jenis board"
+ label_board: "Papan"
+ label_boards: "Papan-papan"
+ label_create_new_board: "Cipta papan baru"
+ label_board_type: "Jenis papan"
board_types:
free: "Asas\n"
- action: "Board tindakan (%{attribute})"
+ action: "Papan tindakan (%{attribute})"
board_type_attributes:
- assignee: Wakil
+ assignee: Penerima tugasan
status: Status
version: Versi
subproject: Subprojek
- subtasks: Ibu bapa-anak
- basic: "Asas\n"
+ subtasks: Induk-anak
+ basic: Asas
board_type_descriptions:
basic: >
- Bermula dari awal dengan board kosong. Tambah kad dan kolum secara manual kepada board ini.
+ Bermula dari awal dengan papan yang kosong. Tambah kad dan kolum secara manual ke papan ini.
status: >
- Board gaya kanban asas dengan kolum untuk status seperti Untuk Dilakukan, Dalam Pelaksanaan, Selesai.
+ Papan gaya kanban asas dengan kolum untuk status seperti Untuk Dilakukan, Dalam Pelaksanaan, Selesai.
assignee: >
- Board dengan kolum automatik berdasarkan pengguna yang ditentukan. Ideal untuk penghantaran pakej kerja.
+ Papan dengan kolum automatik berdasarkan pengguna yang ditentukan. Ideal untuk penghantaran pakej kerja.
version: >
- Board dengan kolum automatik berdasarkan versi atribut. Ideal untuk merancang pembangunan produk.
+ Papan dengan kolum automatik berdasarkan versi atribut. Ideal untuk merancang pembangunan produk.
subproject: >
- Board dengan kolum automatik untuk subprojek. Menarik pakej kerja ke senarai lain akan mengemas kini (sub-)projek sewajarnya.
+ Papan dengan kolum automatik untuk subprojek. Menarik pakej kerja ke senarai lain akan mengemas kini (sub-)projek sewajarnya.
subtasks: >
- Board dengan kolum automatik untuk sub-elements. Menarik pakej kerja ke senarai lain akan mengemas kini (sub-)projek sewajarnya.
+ Papan dengan kolum automatik untuk sub-elemen. Menarik pakej kerja ke senarai lain akan mengemas kini (sub-)projek sewajarnya.
upsale:
- teaser_text: 'Adakah anda ingin mengautomatikkan aliran kerja dengan Board? Board lanjutan ada di dalam tambahan Enterprise. Sila naik taraf ke pelan berbayar.'
+ teaser_text: 'Adakah anda ingin mengautomatikkan aliran kerja dengan Papan? Papan lanjutan ada di dalam tambahan Enterprise. Sila naik taraf ke pelan berbayar.'
upgrade: 'Naik taraf sekarang'
diff --git a/modules/budgets/config/locales/crowdin/ms.yml b/modules/budgets/config/locales/crowdin/ms.yml
index 3733f5e776a9..9f6cda136c6a 100644
--- a/modules/budgets/config/locales/crowdin/ms.yml
+++ b/modules/budgets/config/locales/crowdin/ms.yml
@@ -29,7 +29,7 @@ ms:
available: "Tersedia"
budget: "Dirancang"
budget_ratio: "Dibelanja (ratio)"
- description: "Penerangan"
+ description: "Deskripsi"
spent: "Dibelanja"
status: "Status"
subject: "Subjek"
@@ -66,12 +66,12 @@ ms:
label_budget_id: "Anggaran #%{id}"
label_deliverable: "Anggaran"
label_example_placeholder: 'e.g., %{decimal}'
- label_view_all_budgets: "Paparkan semua anggaran"
+ label_view_all_budgets: "Lihat semua anggaran"
label_yes: "Ya"
notice_budget_conflict: "Pakej-pakej kerja mestilah daripada projek yang sama."
notice_no_budgets_available: "Tiada anggaran yang tersedia."
permission_edit_budgets: "Edit anggaran"
- permission_view_budgets: "Paparkan anggaran"
+ permission_view_budgets: "Lihat anggaran"
project_module_budgets: "Anggaran"
text_budget_reassign_to: "Pindahkan mereka ke anggaran ini:"
text_budget_delete: "Padam anggaran dari semua pakej kerja"
diff --git a/modules/calendar/config/locales/crowdin/js-ms.yml b/modules/calendar/config/locales/crowdin/js-ms.yml
index 716f3327511b..a3c336fb412f 100644
--- a/modules/calendar/config/locales/crowdin/js-ms.yml
+++ b/modules/calendar/config/locales/crowdin/js-ms.yml
@@ -2,7 +2,7 @@
ms:
js:
calendar:
- create_new: 'Cipta kalendar baru'
+ create_new: 'Cipta kalendar baharu'
title: 'Kalendar'
- too_many: 'Terdapat %{count} pakej kerja secara keseluruhan, tetapi hanya %{max} sahaja yang boleh ditunjukkan.'
- unsaved_title: 'Kalendar tanpa nama'
+ too_many: 'Terdapat %{count} pakej kerja secara keseluruhan, tetapi hanya %{max} sahaja yang boleh dipaparkan.'
+ unsaved_title: 'Kalendar tidak dinamakan'
diff --git a/modules/calendar/config/locales/crowdin/ms.yml b/modules/calendar/config/locales/crowdin/ms.yml
index f94c728a78d8..a1d57d88eceb 100644
--- a/modules/calendar/config/locales/crowdin/ms.yml
+++ b/modules/calendar/config/locales/crowdin/ms.yml
@@ -4,9 +4,9 @@ ms:
name: "Kalendar OpenProject"
description: "Menyediakan paparan kalendar."
label_calendar: "Kalendar"
- label_calendar_plural: "Kalendar"
- label_new_calendar: "Kalendar baru"
+ label_calendar_plural: "Kalendar-kalendar"
+ label_new_calendar: "Kalendar baharu"
permission_view_calendar: "Lihat kalendar"
permission_manage_calendars: "Urus kalendar"
- permission_share_calendars: "Langgan ke iCalendars"
- project_module_calendar_view: "Kalendar"
+ permission_share_calendars: "Langgan iCalendars"
+ project_module_calendar_view: "Kalendar-kalendar"
diff --git a/modules/costs/config/locales/crowdin/ms.yml b/modules/costs/config/locales/crowdin/ms.yml
index ddca734352d7..d741b8aae3cd 100644
--- a/modules/costs/config/locales/crowdin/ms.yml
+++ b/modules/costs/config/locales/crowdin/ms.yml
@@ -27,19 +27,19 @@ ms:
attributes:
cost_entry:
work_package: "Pakej kerja"
- overridden_costs: "Kos yang tertindih"
+ overridden_costs: "Kos yang dinaik taraf"
spent: "Dibelanja"
spent_on: "Tarikh"
cost_type:
unit: "Nama unit"
unit_plural: "Nama majmuk unit"
work_package:
- costs_by_type: "Unit yang dibelanjakan"
+ costs_by_type: "Unit yang telah dibelanjakan"
labor_costs: "Kos buruh"
material_costs: "Kos Unit"
overall_costs: "Kos keseluruhan"
- spent_costs: "Kos yang dibelanjakan"
- spent_units: "Unit yang dibelanjakan"
+ spent_costs: "Kos yang telah dibelanjakan"
+ spent_units: "Unit yang telah dibelanjakan"
rate:
rate: "Kadar"
user:
@@ -92,12 +92,12 @@ ms:
label_locked_cost_types: "Jenis kos yang dikunci"
label_display_cost_entries: "Papar kos unit"
label_display_time_entries: "Paparkan jam yang dilaporkan"
- label_display_types: "Jenis display"
+ label_display_types: "Jenis paparan"
label_edit: "Edit"
- label_generic_user: "Pengguna umum"
+ label_generic_user: "Pengguna generik"
label_greater_or_equal: ">="
label_group_by: "Kumpulkan mengikut"
- label_group_by_add: "Tambahkan medan kumpulan"
+ label_group_by_add: "Tambahkan ruangan kumpulan"
label_hourly_rate: "Kadar jam"
label_include_deleted: "Sertakan yang dipadam"
label_work_package_filter_add: "Tambah saringan pakej kerja"
@@ -126,12 +126,12 @@ ms:
permission_edit_rates: "Edit kadar"
permission_log_costs: "Tempah kos unit"
permission_log_own_costs: "Tempah kos unit untuk diri sendiri"
- permission_view_cost_entries: "Papar kos yang ditempah"
- permission_view_cost_rates: "Papar kadar kos"
- permission_view_hourly_rates: "Papar semua kadar jam"
- permission_view_own_cost_entries: "Papar kos yang ditempah sendiri"
- permission_view_own_hourly_rate: "Papar kadar jam sendiri"
- permission_view_own_time_entries: "Papar masa yang digunakan sendiri"
+ permission_view_cost_entries: "Lihat kos yang ditempah"
+ permission_view_cost_rates: "Lihat kadar kos"
+ permission_view_hourly_rates: "Lihat semua kadar jam"
+ permission_view_own_cost_entries: "Lihat kos yang ditempah sendiri"
+ permission_view_own_hourly_rate: "Lihat kadar jam sendiri"
+ permission_view_own_time_entries: "Lihat masa yang digunakan sendiri"
project_module_costs: "Masa dan kos"
text_assign_time_and_cost_entries_to_project: "Tetapkan jam dilaporkan dan kos kepada projek"
text_destroy_cost_entries_question: "%{cost_entries} dilaporkan pada pakej kerja yang anda akan padamkan. Apakah yang anda ingin lakukan ?"
diff --git a/modules/documents/config/locales/crowdin/ms.yml b/modules/documents/config/locales/crowdin/ms.yml
index 2d884e9f6812..17bd2c4d6d09 100644
--- a/modules/documents/config/locales/crowdin/ms.yml
+++ b/modules/documents/config/locales/crowdin/ms.yml
@@ -30,7 +30,7 @@ ms:
filter:
document: "Dokumen"
default_doc_category_tech: "Dokumen teknikal"
- default_doc_category_user: "Dokumen pengguna"
+ default_doc_category_user: "Dokumentasi pengguna"
enumeration_doc_categories: "Kategori dokumen"
documents:
label_attachment_author: "Pengarang lampiran"
@@ -39,5 +39,5 @@ ms:
label_document_plural: "Dokumen"
label_documents: "Dokumen"
permission_manage_documents: "Urus dokumen"
- permission_view_documents: "Papar dokumen"
+ permission_view_documents: "Lihat dokumen"
project_module_documents: "Dokumen"
diff --git a/modules/github_integration/config/locales/crowdin/js-ms.yml b/modules/github_integration/config/locales/crowdin/js-ms.yml
index b475b746af30..ea593f41cce5 100644
--- a/modules/github_integration/config/locales/crowdin/js-ms.yml
+++ b/modules/github_integration/config/locales/crowdin/js-ms.yml
@@ -41,8 +41,8 @@ ms:
github_actions: Tindakan
pull_requests:
message: "Tarik permintaan #%{pr_number}%{pr_link} untuk %{repository_link} dikarang oleh %{github_user_link} telah %{pr_state}."
- merged_message: "Tarik permintaan #%{pr_number}%{pr_link} untuk telah %{pr_state} oleh %{github_user_link}."
- referenced_message: "Tarik permintaan #%{pr_number}%{pr_link} untuk %{repository_link} dikarang oleh %{github_user_link} telah merujuk kepada pakej kerja ini."
+ merged_message: "Tarik permintaan #%{pr_number} %{pr_link} untuk %{repository_link} telah %{pr_state} oleh %{github_user_link}."
+ referenced_message: "Tarik permintaan #%{pr_number} %{pr_link} untuk %{repository_link} dikarang oleh %{github_user_link} merujuk kepada pakej kerja ini."
states:
opened: 'dibuka'
closed: 'ditutup'
diff --git a/modules/github_integration/config/locales/crowdin/ms.yml b/modules/github_integration/config/locales/crowdin/ms.yml
index e74183d28c76..13b01b4dcb79 100644
--- a/modules/github_integration/config/locales/crowdin/ms.yml
+++ b/modules/github_integration/config/locales/crowdin/ms.yml
@@ -24,4 +24,4 @@ ms:
name: "Integrasi OpenProject GitHub"
description: "Mengintegrasikan OpenProject dan GitHub untuk aliran kerja yang lebih baik"
project_module_github: "GitHub"
- permission_show_github_content: "Tunjuk kandungan GitHub"
+ permission_show_github_content: "Paparkan kandungan GitHub"
diff --git a/modules/gitlab_integration/config/locales/crowdin/js-ms.yml b/modules/gitlab_integration/config/locales/crowdin/js-ms.yml
index 04a7832b2181..8ed27a7726a5 100644
--- a/modules/gitlab_integration/config/locales/crowdin/js-ms.yml
+++ b/modules/gitlab_integration/config/locales/crowdin/js-ms.yml
@@ -36,15 +36,15 @@ ms:
label: Potongan Git
description: Salin potongan git ke papan klip
git_actions:
- branch_name: Nama cawangan
- commit_message: Menyerahkan mesej
- cmd: Cipta cawangan dengan komit kosong
+ branch_name: Nama cabang
+ commit_message: Mesej komit
+ cmd: Cipta cabang dengan komit kosong
title: Potongan cepat untuk Git
copy_success: '✅ Disalin!'
copy_error: '❌ Salinan gagal!'
tab_issue:
- empty: 'Tiada isu yang dipautkan lagi. Pautkan isu-isu yang sedia ada dengan menggunakan kod OP#%{wp_id}
(atau PP#%{wp_id}
untuk pautan peribadi) dalam tajuk/penerangan isu atau cipta isu yang baru.'
+ empty: 'Tiada isu yang dipautkan lagi. Pautkan isu-isu yang sedia ada dengan menggunakan kod OP#%{wp_id}
(atau PP#%{wp_id}
untuk pautan peribadi) dalam tajuk/deskripsi isu atau cipta isu yang baru.'
tab_mrs:
- empty: 'Tiada permintaan gabungan yang dipautkan lagi. Pautkan MR sedia ada dengan menggunakan kod OP#%{wp_id}
(atau PP#%{wp_id}
untuk pautan peribadi) dalam tajuk/penerangan MR atau cipta MR yang baru.'
+ empty: 'Tiada permintaan gabungan yang dipautkan lagi. Pautkan MR sedia ada dengan menggunakan kod OP#%{wp_id}
(atau PP#%{wp_id}
untuk pautan peribadi) dalam tajuk/deskripsi MR atau cipta MR yang baru.'
gitlab_pipelines: Saluran
updated_on: Dikemas kini pada
diff --git a/modules/gitlab_integration/config/locales/crowdin/ms.yml b/modules/gitlab_integration/config/locales/crowdin/ms.yml
index 66c8c387a05a..104edf607d0a 100644
--- a/modules/gitlab_integration/config/locales/crowdin/ms.yml
+++ b/modules/gitlab_integration/config/locales/crowdin/ms.yml
@@ -27,13 +27,13 @@ ms:
gitlab_issue:
attributes:
labels:
- invalid_schema: "perlu menjadi jalur hash dengan kunci-kunci: warna, tajuk"
+ invalid_schema: "mestilah jalur hash dengan kunci-kunci: warna, tajuk"
gitlab_merge_request:
attributes:
labels:
- invalid_schema: "perlu menjadi jalur hash dengan kunci-kunci: warna, tajuk"
+ invalid_schema: "mestilah jalur hash dengan kunci-kunci: warna, tajuk"
project_module_gitlab: "GitLab"
- permission_show_gitlab_content: "Tunjuk kandungan GitLab"
+ permission_show_gitlab_content: "Paparkan kandungan GitLab"
gitlab_integration:
merge_request_opened_comment: >
**MR Dibuka:** Permintaan gabungan %{mr_number} [%{mr_title}](%{mr_url}) untuk [%{repository}](%{repository_url}) telah dibuka oleh [%{gitlab_user}](%{gitlab_user_url}).
@@ -42,7 +42,7 @@ ms:
merge_request_merged_comment: >
**Gabungan MR:** Permintaan gabungan %{mr_number} [%{mr_title}](%{mr_url}) untuk [%{repository}](%{repository_url}) telah digabungkan oleh [%{gitlab_user}](%{gitlab_user_url}).
merge_request_reopened_comment: >
- **MR Dibuka semula:** Permintaan gabungan %{mr_number} [%{mr_title}](%{mr_url}) untuk [%{repository}](%{repository_url}) sudah dibuka semula oleh [%{gitlab_user}](%{gitlab_user_url}).
+ **MR Dibuka Semula:** Permintaan gabungan %{mr_number} [%{mr_title}](%{mr_url}) untuk [%{repository}](%{repository_url}) sudah dibuka semula oleh [%{gitlab_user}](%{gitlab_user_url}).
note_commit_referenced_comment: >
**Dirujuk dalam Commit:** [%{gitlab_user}](%{gitlab_user_url}) dirujuk WP ini dalam satu Commit Note [%{commit_id}](%{commit_url}) pada [%{repository}](%{repository_url}): %{commit_note}
note_mr_referenced_comment: >
diff --git a/modules/grids/config/locales/crowdin/js-ms.yml b/modules/grids/config/locales/crowdin/js-ms.yml
index 09817b2e7fa6..75daaeb7071b 100644
--- a/modules/grids/config/locales/crowdin/js-ms.yml
+++ b/modules/grids/config/locales/crowdin/js-ms.yml
@@ -25,11 +25,11 @@ ms:
at: 'pada'
no_results: 'Tiada perkara baru untuk dilaporkan.'
project_description:
- title: 'Penerangan projek'
- no_results: "Tiada penerangan yang tertulis lagi. Penerangan boleh diberikan di dalam 'Seting Projek'."
+ title: 'Deskripsi projek'
+ no_results: "Tiada deskripsi yang tertulis lagi. Deskripsi boleh diberikan di 'Tetapan Projek'."
project_details:
title: 'Butiran projek'
- no_results: 'Tiada medan langganan yang telah ditetapkan untuk projek.'
+ no_results: 'Tiada ruang tersuai telah ditakrifkan untuk projek.'
project_status:
title: 'Status projek'
not_started: 'Belum dimulakan'
diff --git a/modules/grids/config/locales/crowdin/ms.yml b/modules/grids/config/locales/crowdin/ms.yml
index 3267248f5de3..32523fd3916b 100644
--- a/modules/grids/config/locales/crowdin/ms.yml
+++ b/modules/grids/config/locales/crowdin/ms.yml
@@ -6,7 +6,7 @@ ms:
grids/grid:
page: "Halaman"
row_count: "Bilangan baris"
- column_count: "Bilangan lajur"
+ column_count: "Bilangan kolum"
widgets: "Widget"
errors:
models:
diff --git a/modules/job_status/config/locales/crowdin/js-ms.yml b/modules/job_status/config/locales/crowdin/js-ms.yml
index 7b0eb1709409..f54302c5eecf 100644
--- a/modules/job_status/config/locales/crowdin/js-ms.yml
+++ b/modules/job_status/config/locales/crowdin/js-ms.yml
@@ -4,10 +4,10 @@ ms:
download_starts: 'Proses muat turun akan mula secara automatik.'
click_to_download: 'Atau klik sini untuk muat turun.'
title: 'Latar belakang status kerja'
- redirect: 'Anda sedang dialihkan.'
+ redirect: 'Anda sedang diubah hala.'
redirect_link: 'Sila klik sini untuk teruskan.'
- redirect_errors: 'Disebabkan ralat ini, anda tidak akan dialihkan secara automatik.'
- errors: "Beberapa ralat telah berlaku\n"
+ redirect_errors: 'Disebabkan ralat ini, anda tidak akan diubah hala secara automatik.'
+ errors: 'Beberapa ralat telah berlaku'
generic_messages:
not_found: 'Kerja ini tidak dapat dijumpai.'
in_queue: 'Kerja ini sedang menunggu giliran dan akan diproses sebentar lagi.'
diff --git a/modules/ldap_groups/config/locales/crowdin/ms.yml b/modules/ldap_groups/config/locales/crowdin/ms.yml
index 59857529dc5f..e4b101e439af 100644
--- a/modules/ldap_groups/config/locales/crowdin/ms.yml
+++ b/modules/ldap_groups/config/locales/crowdin/ms.yml
@@ -7,7 +7,7 @@ ms:
ldap_groups/synchronized_group:
dn: 'DN'
ldap_auth_source: 'Sambungan LDAP'
- sync_users: 'Selaraskan pengguna'
+ sync_users: 'Selaraskan pengguna-pengguna'
ldap_groups/synchronized_filter:
filter_string: 'Saringan LDAP'
ldap_auth_source: 'Sambungan LDAP'
@@ -16,11 +16,11 @@ ms:
base_dn: "Pangkalan carian DN"
models:
ldap_groups/synchronized_group: 'Kumpulan LDAP yang diselaraskan'
- ldap_groups/synchronized_filter: 'Penyaring penyelarasan kumpulan LDAP'
+ ldap_groups/synchronized_filter: 'Penyaring penyelarasan Kumpulan LDAP'
errors:
models:
ldap_groups/synchronized_filter:
- must_contain_base_dn: "Pangkalan penyaring DN mestilah terkandung dalam DN asas sambungan LDAP"
+ must_contain_base_dn: "Pangkalan saringan DN mestilah dikandungi dalam DN asas sambungan LDAP"
ldap_groups:
label_menu_item: 'Sinkronisasi kumpulan LDAP'
label_group_key: 'Kekunci penyaring kumpulan LDAP'
@@ -29,44 +29,44 @@ ms:
name_attribute: 'Atribut nama kumpulan LDAP'
name_attribute_text: 'Atribut LDAP yang digunakan untuk menamakan kumpulan OpenProject apabila dicipta oleh penyaring'
synchronized_filters:
- add_new: 'Tambah penyaring LDAP yang diselaraskan'
+ add_new: 'Tambah saringan LDAP yang diselaraskan'
singular: 'Penyaring penyelarasan kumpulan LDAP'
plural: 'Penyaring penyelarasan kumpulan LDAP'
label_n_groups_found:
- one: "1 kumpulan dijumpai oleh penyaring"
- other: "%{count} kumpulan dijumpai oleh penyaring"
- zero: "Tiada kumpulan yang dijumpai oleh penyaring"
+ one: "1 kumpulan ditemui penyaring"
+ other: "%{count} kumpulan ditemui penyaring"
+ zero: "Tiada kumpulan yang ditemui penyaring"
destroy:
- title: 'Buang penyaring yang diselaraskan %{name}'
- confirmation: "Jika anda teruskan, penyaring yang diselaraskan %{name} dan semua kumpulan %{groups_count} yang dicipta melaluinya akan dikeluarkan."
+ title: 'Buang saringan yang diselaraskan %{name}'
+ confirmation: "Jika anda teruskan, saringan yang diselaraskan %{name} dan semua kumpulan %{groups_count} yang dicipta melaluinya akan dikeluarkan."
removed_groups: "Amaran: Ini akan mengeluarkan kumpulan berikut dari OpenProject dan mengeluarkannya dari semua projek!"
verification: "Masukkan nama penyaring %{name} untuk mengesahkan pembuangan."
form:
group_name_attribute_text: 'Masukkan atribut kumpulan LDAP yang digunakan untuk tetapkan nama kumpulan OpenProject.'
- filter_string_text: 'Masukkan penyaring LDAP RFC4515 yang kembalikan kumpulan dalam LDAP untuk selaraskan dengan OpenProject.'
+ filter_string_text: 'Masukkan penyaring LDAP RFC4515 yang kembalikan kumpulan dalam LDAP anda untuk diselaraskan dengan OpenProject.'
base_dn_text: >
- Masukkan pangkalan carian DN untuk gunakan saringan ini. Ia perlulah di bawah pangkalan DN daripada sambungan LDAP yang dipilih. Tinggalkan pilihan ini kosong untuk gunakan semula sambungan pangkalan DN
+ Masukkan pangkalan carian DN untuk gunakan penyaring ini. Ia perlulah berada di bawah pangkalan DN daripada sambungan LDAP yang dipilih. Tinggalkan kosong pilihan ini untuk gunakan semula sambungan pangkalan DN
synchronized_groups:
add_new: 'Tambah kumpulan LDAP yang diselaraskan'
destroy:
title: 'Keluarkan kumpulan yang diselaraskan %{name}'
- confirmation: "Jika anda teruskan, kumpulan yang diselaraskan %{name} dan semua pengguna %{users_count} yang diselaraskan melalui itu akan dikeluarkan."
- info: "Perhatian: Kumpulan OpenProject itu sendiri dan ahli yang ditambah di luar penjanaan LDAP tidak akan dikeluarkan."
+ confirmation: "Jika anda teruskan, kumpulan yang diselaraskan %{name} dan semua pengguna %{users_count} yang diselaraskan melaluinya akan dikeluarkan."
+ info: "Perhatian: Kumpulan OpenProject itu sendiri dan ahli-ahli yang ditambah di luar penyelarasan LDAP tidak akan dikeluarkan."
verification: "Masukkan nama kumpulan %{name} untuk mengesahkan pembuangan."
help_text_html: |
Modul ini membenarkan anda untuk menyediakan penyelarasan antara LDAP dan kumpulan-kumpulan OpenProject.
- Ia bergantung kepada keperluan kumpulan LDAP untuk menggunakan kumpulanNama / ahliKepada
+ Ia bergantung kepada keperluan kumpulan LDAP untuk menggunakan kumpulanNama / ahliKepada
set atribut untuk bekerjasama dengan OpenProject.
Kumpulan diselaraskan setiap jam melalui tugasan cron.
Sila lihat dokumentasi kami berkenaan topik ini.
no_results: 'Tiada kumpulan yang diseleraskan ditemui.'
no_members: 'Kumpulan ini tidak mempunyai ahli yang diselaraskan lagi.'
- plural: 'Kumpulan LDAP yang diselaraskan'
+ plural: 'Kumpulan-kumpulan LDAP yang diselaraskan'
singular: 'Kumpulan LDAP yang diselaraskan'
form:
auth_source_text: 'Pilih sambungan LDAP yang harus digunakan.'
sync_users_text: >
- Jika anda mengaktifkan pilihan ini, pengguna yang dijumpai akan dicipta secara automatik dalam OpenProject. Tanpanya, hanya akaun yang sedia ada dalam OpenProject akan ditambah ke dalam kumpulan.
+ Jika anda mengaktifkan pilihan ini, pengguna yang ditemui akan dicipta secara automatik dalam OpenProject. Tanpanya, hanya akaun yang sedia ada dalam OpenProject akan ditambah ke dalam kumpulan.
dn_text: 'Masukkan DN penuh kumpulan dalam LDAP'
group_text: 'Pilih kumpulan OpenProject sedia ada yang ahli-ahli kumpulan LDAP akan diselaraskan dengannya'
upsale:
- description: 'Manfaatkan kumpulan LDAP yang diselaraskan untuk mengurus pengguna, menukar kebenaran mereka dan memudahkan pengurusan pengguna di kalangan kumpulan.'
+ description: 'Manfaatkan kumpulan LDAP yang diselaraskan untuk mengurus pengguna-pengguna, menukar kebenaran mereka dan memudahkan pengurusan pengguna di kalangan kumpulan.'
diff --git a/modules/meeting/config/locales/crowdin/lt.yml b/modules/meeting/config/locales/crowdin/lt.yml
index f7cc29dd142a..de9b7154ed8f 100644
--- a/modules/meeting/config/locales/crowdin/lt.yml
+++ b/modules/meeting/config/locales/crowdin/lt.yml
@@ -51,7 +51,7 @@ lt:
description: "Pastabos"
presenter: "Pateikėjas"
meeting_section:
- title: "Title"
+ title: "Pavadinimas"
errors:
messages:
invalid_time_format: "netinkamas laikas. Reikalingas formatas: HH:MM (pvz.: 10:30)"
@@ -127,9 +127,9 @@ lt:
structured_text_copy: "Šiuo metu nukopijavus susitikimą, susiję susitikimo elmentai nebus kopijuojami, tik detalės."
copied: "Nukopijuota iš susitikimo #%{id}"
meeting_section:
- default_title: "New section"
- untitled_title: "Untitled"
- empty_text: "Drag items here or create a new one"
+ default_title: "Nauja skiltis"
+ untitled_title: "Bevardis"
+ empty_text: "Tempkite elementus čia arba sukurtkite naują"
notice_successful_notification: "Pranešimas sėkmingai išsiųstas"
notice_timezone_missing: Laiko zona nenustatyta ir %{zone} zona yra rekomenduojama. Kad pasirinktumėte laiko zoną, paspauskite čia.
permission_create_meetings: "Sukurti pasitarimus"
diff --git a/modules/meeting/config/locales/crowdin/ms.yml b/modules/meeting/config/locales/crowdin/ms.yml
index cbede84872e7..c8ba922d58b6 100644
--- a/modules/meeting/config/locales/crowdin/ms.yml
+++ b/modules/meeting/config/locales/crowdin/ms.yml
@@ -36,7 +36,7 @@ ms:
participant:
other: "1 Peserta"
participants_attended: "Penghadir"
- participants_invited: "Jemputan"
+ participants_invited: "Tetamu"
project: "Projek"
start_date: "Tarikh"
start_time: "Masa mula"
@@ -45,10 +45,10 @@ ms:
title: "Tajuk"
author: "Pengarang"
duration_in_minutes: "min"
- description: "Nota"
+ description: "Nota-nota"
presenter: "Penyampai"
meeting_section:
- title: "Title"
+ title: "Tajuk"
errors:
messages:
invalid_time_format: "bukan masa yang sah. Format yang diperlukan: JJ:MM"
@@ -69,9 +69,9 @@ ms:
meeting_agenda_opened: Agenda mesyuarat dibuka
meeting_minutes: Minit mesyuarat yang disunting
meeting_minutes_created: Minit mesyuarat dicipta
- error_notification_with_errors: "Gagal untuk hantar pemberitahuan. Penerima berikut tidak dapat diberitahu: %{recipients}"
+ error_notification_with_errors: "Gagal untuk hantar pemberitahuan. Penerima berikut tidak dapat dimaklumkan: %{recipients}"
label_meeting: "Mesyuarat"
- label_meeting_plural: "Mesyuarat"
+ label_meeting_plural: "Mesyuarat-mesyuarat"
label_meeting_new: "Mesyuarat Baharu"
label_meeting_edit: "Menyunting mesyuarat"
label_meeting_agenda: "Agenda"
@@ -98,7 +98,7 @@ ms:
label_start_date: "Tarikh mula"
meeting:
attachments:
- text: "Lampirkan fail yang tersedia kepada semua peserta mesyuarat. Anda juga boleh menarik dan melepaskannya kedalam nota item agenda."
+ text: "Lampirkan fail yang tersedia kepada semua peserta mesyuarat. Anda juga boleh menarik dan melepaskannya ke dalam nota item agenda."
copy:
title: "Salin mesyuarat: %{title}"
attachments: "Salin lampiran"
@@ -124,26 +124,26 @@ ms:
structured_text_copy: "Menyalin mesyuarat pada masa ini tidak akan menyalin item agenda mesyuarat yang berkaitan, hanya butiran sahaja"
copied: "Disalin dari mesyuarat #%{id}"
meeting_section:
- default_title: "New section"
- untitled_title: "Untitled"
- empty_text: "Drag items here or create a new one"
+ default_title: "Bahagian baharu"
+ untitled_title: "Tidak bertajuk"
+ empty_text: "Tarik item ke sini atau cipta yang baharu"
notice_successful_notification: "Pemberitahuan berjaya dihantar"
- notice_timezone_missing: Tiada zon waktu yang ditetapkan dan %{zone} adalah andaian.Untuk pilih zon waktu anda, sila klik sini.
+ notice_timezone_missing: Tiada zon waktu yang ditetapkan dan %{zone} adalah diandaikan. Untuk pilih zon waktu anda, sila klik sini.
permission_create_meetings: "Cipta mesyuarat"
permission_edit_meetings: "Menyunting mesyuarat"
- permission_delete_meetings: "Hapuskan Mesyuarat"
- permission_view_meetings: "Lihat Mesyuarat"
+ permission_delete_meetings: "Padam mesyuarat"
+ permission_view_meetings: "Lihat mesyuarat"
permission_create_meeting_agendas: "Cipta agenda mesyuarat"
- permission_create_meeting_agendas_explanation: "Benarkan kandungan agenda Mesyuarat Klasik untuk disunting"
+ permission_create_meeting_agendas_explanation: "Benarkan kandungan agenda Mesyuarat Klasik untuk diedit."
permission_manage_agendas: "Urus agenda"
permission_manage_agendas_explanation: "Benarkan pengurusan item agenda Dinamik Mesyuarat."
- permission_close_meeting_agendas: "Tutup agenda"
- permission_send_meeting_agendas_notification: "Hantar pemberitahuan semakan untuk agenda"
+ permission_close_meeting_agendas: "Tutup agenda-agenda"
+ permission_send_meeting_agendas_notification: "Hantar pemberitahuan semakan untuk agenda-agenda"
permission_create_meeting_minutes: "Urus minit mesyuarat"
permission_send_meeting_minutes_notification: "Hantar pemberitahuan semakan untuk minit mesyuarat"
permission_meetings_send_invite: "Jemput pengguna ke mesyuarat"
permission_send_meeting_agendas_icalendar: "Hantar agenda mesyuarat sebagai kemasukan kalendar"
- project_module_meetings: "Mesyuarat"
+ project_module_meetings: "Mesyuarat-mesyuarat"
text_duration_in_hours: "Jangka masa dalam jam"
text_in_hours: "dalam jam"
text_meeting_agenda_for_meeting: 'agenda untuk mesyuarat "%{meeting}"'
@@ -152,15 +152,15 @@ ms:
text_meeting_minutes_for_meeting: 'minit untuk mesyuarat "%{meeting}"'
text_notificiation_invited: "Mel ini mengandungi kemasukan ics untuk mesyuarat dibawah:"
text_meeting_empty_heading: "Mesyuarat anda kosong"
- text_meeting_empty_description_1: "Mula dengan menambah item agenda dibawah. Setiap item boleh jadi seringkas tajuk, tapi anda juga boleh tambah butiran tambahan seperti jangka masa dan nota."
+ text_meeting_empty_description_1: "Mula dengan menambah item agenda dibawah. Setiap item boleh jadi seringkas tajuk, tapi anda juga boleh tambah butiran tambahan seperti tempoh masa dan nota."
text_meeting_empty_description_2: 'Anda juga boleh menambah rujukan ke pakej kerja yang sedia ada. Apabila anda lakukan, nota berkaitan akan boleh dilihat dalam tab "Mesyuarat" pakej kerja secara automatik.'
label_meeting_empty_action: "Tambah item agenda"
label_meeting_actions: "Tindakan terhadap mesyuarat"
label_meeting_edit_title: "Sunting tajuk mesyuarat"
- label_meeting_delete: "Hapuskan mesyuarat"
+ label_meeting_delete: "Padamkan mesyuarat"
label_meeting_created_by: "Dicipta oleh"
label_meeting_last_updated: "Kemas kini terakhir"
- label_agenda_items: "Item agenda"
+ label_agenda_items: "Item-item agenda"
label_agenda_items_reordered: "disusun semula"
label_agenda_item_remove: "Keluarkan dari agenda"
label_agenda_item_undisclosed_wp: "Pakej kerja #%{id} tidak kelihatan"
@@ -173,16 +173,16 @@ ms:
label_agenda_item_add_notes: "Tambah nota"
label_agenda_item_work_package: "Pakej kerja item agenda"
text_agenda_item_title: 'Item agenda "%{title}"'
- text_agenda_work_package_deleted: 'Item agenda untuk pakej kerja yang telah dipadam.'
- text_deleted_agenda_item: 'Item agenda yang telah dipadam.'
+ text_agenda_work_package_deleted: 'Item agenda untuk pakej kerja yang telah dipadam'
+ text_deleted_agenda_item: 'Item agenda yang telah dipadam'
label_initial_meeting_details: "Mesyuarat"
label_meeting_details: "Butiran mesyuarat"
- label_meeting_details_edit: "Edit butiran mesyuarat"
+ label_meeting_details_edit: "Sunting butiran mesyuarat"
label_meeting_state: "Status mesyuarat"
label_meeting_state_open: "Buka"
label_meeting_state_open_html: "Buka"
label_meeting_state_closed: "Ditutup"
- label_meeting_state_closed_html: "Tutup"
+ label_meeting_state_closed_html: "Ditutup"
label_meeting_reopen_action: "Buka semula mesyuarat"
label_meeting_close_action: "Tutup mesyuarat"
text_meeting_open_description: "Mesyuarat ini terbuka. Anda boleh tambah/keluarkan item agenda dan menyuntingnya. Setelah mesyuarat berakhir, tutup mesyuarat untuk menguncinya."
diff --git a/modules/openid_connect/config/locales/crowdin/ms.yml b/modules/openid_connect/config/locales/crowdin/ms.yml
index eadae3ba3cfd..6c2643ffd2b3 100644
--- a/modules/openid_connect/config/locales/crowdin/ms.yml
+++ b/modules/openid_connect/config/locales/crowdin/ms.yml
@@ -19,13 +19,13 @@ ms:
label_add_new: Tambah penyedia OpenID baru
label_edit: Edit penyedia OpenID %{name}
no_results_table: Masih tiada penyedia yang ditetapkan lagi.
- plural: Penyedia OpenID
+ plural: Penyedia-penyedia OpenID
singular: Penyedia OpenID
setting_instructions:
azure_deprecation_warning: >
- Aplikasi Azure yang dikonfigurasikan menghala ke API yang ditamatkan daripada Azure. Sila buat aplikasi Azure baru untuk memastikan kefungsiannya pada masa akan datang
+ Aplikasi Azure yang dikonfigurasikan menghala ke API yang ditamatkan daripada Azure. Sila buat aplikasi Azure baru untuk memastikan kefungsiannya pada masa akan datang.
azure_graph_api: >
- Gunakan titik akhir userinfo graph.microsoft.com untuk meminta userdata. Ini sepatutnya default melainkan anda mempunyai aplikasi azure yang lama.
+ Gunakan titik akhir info pengguna graph.microsoft.com untuk meminta data pengguna. Ini sepatutnya default melainkan anda mempunyai aplikasi azure yang lama.
azure_tenant_html: >
Tetapkan penyewa titik akhir Azure anda. Ini akan mengawal sesiapa yang mendapat akses kepada contoh OpenProject. Untuk maklumat lanjut, sila kunjungi panduan pengguna kami di connect OpenID Azure.
limit_self_registration: >