diff --git a/common/Tests/colors-test/.gitignore b/common/Tests/colors-test/.gitignore new file mode 100644 index 0000000000..0b84df0f02 --- /dev/null +++ b/common/Tests/colors-test/.gitignore @@ -0,0 +1 @@ +*.html \ No newline at end of file diff --git a/common/Tests/colors-test/package.json b/common/Tests/colors-test/package.json new file mode 100644 index 0000000000..a3d09b2c4c --- /dev/null +++ b/common/Tests/colors-test/package.json @@ -0,0 +1,10 @@ +{ + "name": "colors-test", + "version": "1.0.0", + "main": "index.js", + "license": "MIT", + "type": "module", + "scripts": { + "start": "node src/index.js" + } +} diff --git a/common/Tests/colors-test/src/exclude.js b/common/Tests/colors-test/src/exclude.js new file mode 100644 index 0000000000..3013d850e1 --- /dev/null +++ b/common/Tests/colors-test/src/exclude.js @@ -0,0 +1,39 @@ +// (c) Copyright Ascensio System SIA 2010-2024 +// +// This program is a free software product. +// You can redistribute it and/or modify it under the terms +// of the GNU Affero General Public License (AGPL) version 3 as published by the Free Software +// Foundation. In accordance with Section 7(a) of the GNU AGPL its Section 15 shall be amended +// to the effect that Ascensio System SIA expressly excludes the warranty of non-infringement of +// any third-party rights. +// +// This program is distributed WITHOUT ANY WARRANTY, without even the implied warranty +// of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. For details, see +// the GNU AGPL at: http://www.gnu.org/licenses/agpl-3.0.html +// +// You can contact Ascensio System SIA at Lubanas st. 125a-25, Riga, Latvia, EU, LV-1021. +// +// The interactive user interfaces in modified source and object code versions of the Program must +// display Appropriate Legal Notices, as required under Section 5 of the GNU AGPL version 3. +// +// Pursuant to Section 7(b) of the License you must retain the original Product logo when +// distributing the program. Pursuant to Section 7(e) we decline to grant you any rights under +// trademark law for use of our trademarks. +// +// All the Product's GUI elements, including illustrations and icon sets, as well as technical writing +// content are licensed under the terms of the Creative Commons Attribution-ShareAlike 4.0 +// International. See the License terms at http://creativecommons.org/licenses/by-sa/4.0/legalcode + +export const excludeFiles = ["../../../packages/shared/utils/encoder.ts"]; + +export const excludeDirs = [ + "../../../packages/client/node_modules", + "../../../packages/shared/node_modules", + "../../../packages/login/node_modules", + "../../../packages/doceditor/node_modules", + "../../../packages/management/node_modules", + "../../../packages/doceditor/.next", + "../../../packages/login/.next", + "../../../packages/login/dist", + "../../../packages/shared/themes", +]; diff --git a/common/Tests/colors-test/src/index.js b/common/Tests/colors-test/src/index.js new file mode 100644 index 0000000000..7f3891ef24 --- /dev/null +++ b/common/Tests/colors-test/src/index.js @@ -0,0 +1,42 @@ +// (c) Copyright Ascensio System SIA 2010-2024 +// +// This program is a free software product. +// You can redistribute it and/or modify it under the terms +// of the GNU Affero General Public License (AGPL) version 3 as published by the Free Software +// Foundation. In accordance with Section 7(a) of the GNU AGPL its Section 15 shall be amended +// to the effect that Ascensio System SIA expressly excludes the warranty of non-infringement of +// any third-party rights. +// +// This program is distributed WITHOUT ANY WARRANTY, without even the implied warranty +// of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. For details, see +// the GNU AGPL at: http://www.gnu.org/licenses/agpl-3.0.html +// +// You can contact Ascensio System SIA at Lubanas st. 125a-25, Riga, Latvia, EU, LV-1021. +// +// The interactive user interfaces in modified source and object code versions of the Program must +// display Appropriate Legal Notices, as required under Section 5 of the GNU AGPL version 3. +// +// Pursuant to Section 7(b) of the License you must retain the original Product logo when +// distributing the program. Pursuant to Section 7(e) we decline to grant you any rights under +// trademark law for use of our trademarks. +// +// All the Product's GUI elements, including illustrations and icon sets, as well as technical writing +// content are licensed under the terms of the Creative Commons Attribution-ShareAlike 4.0 +// International. See the License terms at http://creativecommons.org/licenses/by-sa/4.0/legalcode + +import fs from "fs"; +import { searchDirectoryForHexColors } from "./utils.js"; +import { excludeDirs, excludeFiles } from "./exclude.js"; +import { generateReport } from "./report.js"; + +const directoryPath = "../../../packages"; +const reportName = `colors_report_${new Date().toJSON()}.html`; + +const hexColorsFound = searchDirectoryForHexColors( + directoryPath, + excludeFiles, + excludeDirs +); + +const htmlReport = generateReport(hexColorsFound); +fs.writeFileSync(reportName, htmlReport, "utf-8"); diff --git a/common/Tests/colors-test/src/report.js b/common/Tests/colors-test/src/report.js new file mode 100644 index 0000000000..fcaf2328c6 --- /dev/null +++ b/common/Tests/colors-test/src/report.js @@ -0,0 +1,67 @@ +// (c) Copyright Ascensio System SIA 2010-2024 +// +// This program is a free software product. +// You can redistribute it and/or modify it under the terms +// of the GNU Affero General Public License (AGPL) version 3 as published by the Free Software +// Foundation. In accordance with Section 7(a) of the GNU AGPL its Section 15 shall be amended +// to the effect that Ascensio System SIA expressly excludes the warranty of non-infringement of +// any third-party rights. +// +// This program is distributed WITHOUT ANY WARRANTY, without even the implied warranty +// of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. For details, see +// the GNU AGPL at: http://www.gnu.org/licenses/agpl-3.0.html +// +// You can contact Ascensio System SIA at Lubanas st. 125a-25, Riga, Latvia, EU, LV-1021. +// +// The interactive user interfaces in modified source and object code versions of the Program must +// display Appropriate Legal Notices, as required under Section 5 of the GNU AGPL version 3. +// +// Pursuant to Section 7(b) of the License you must retain the original Product logo when +// distributing the program. Pursuant to Section 7(e) we decline to grant you any rights under +// trademark law for use of our trademarks. +// +// All the Product's GUI elements, including illustrations and icon sets, as well as technical writing +// content are licensed under the terms of the Creative Commons Attribution-ShareAlike 4.0 +// International. See the License terms at http://creativecommons.org/licenses/by-sa/4.0/legalcode + +export function generateReport(hexColorsFound) { + let htmlReport = ` + + + + + + Colors report + + + +

Colors Report

+

Found colors in the following files:

+`; + + Object.keys(hexColorsFound).forEach((file) => { + htmlReport += `

File: ${file}

"; + }); + + htmlReport += ` +

Total files with colors: ${Object.keys(hexColorsFound).length}

+ +`; + + return htmlReport; +} diff --git a/common/Tests/colors-test/src/utils.js b/common/Tests/colors-test/src/utils.js new file mode 100644 index 0000000000..115adf2eb2 --- /dev/null +++ b/common/Tests/colors-test/src/utils.js @@ -0,0 +1,72 @@ +// (c) Copyright Ascensio System SIA 2010-2024 +// +// This program is a free software product. +// You can redistribute it and/or modify it under the terms +// of the GNU Affero General Public License (AGPL) version 3 as published by the Free Software +// Foundation. In accordance with Section 7(a) of the GNU AGPL its Section 15 shall be amended +// to the effect that Ascensio System SIA expressly excludes the warranty of non-infringement of +// any third-party rights. +// +// This program is distributed WITHOUT ANY WARRANTY, without even the implied warranty +// of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. For details, see +// the GNU AGPL at: http://www.gnu.org/licenses/agpl-3.0.html +// +// You can contact Ascensio System SIA at Lubanas st. 125a-25, Riga, Latvia, EU, LV-1021. +// +// The interactive user interfaces in modified source and object code versions of the Program must +// display Appropriate Legal Notices, as required under Section 5 of the GNU AGPL version 3. +// +// Pursuant to Section 7(b) of the License you must retain the original Product logo when +// distributing the program. Pursuant to Section 7(e) we decline to grant you any rights under +// trademark law for use of our trademarks. +// +// All the Product's GUI elements, including illustrations and icon sets, as well as technical writing +// content are licensed under the terms of the Creative Commons Attribution-ShareAlike 4.0 +// International. See the License terms at http://creativecommons.org/licenses/by-sa/4.0/legalcode + +import path from "path"; +import fs from "fs"; + +const hexColorPattern = /#(?:[0-9A-Fa-f]{6}|[0-9A-Fa-f]{3})\b/g; + +export function findHexColorsInFile(filePath) { + const content = fs.readFileSync(filePath, "utf-8"); + const matches = content.match(hexColorPattern); + return matches || []; +} + +export function searchDirectoryForHexColors( + directory, + excludeFiles = [], + excludeDirs = [] +) { + let hexColors = {}; + + function walkDirectory(currentPath) { + const items = fs.readdirSync(currentPath); + + items.forEach((item) => { + const fullPath = path.join(currentPath, item); + const isDirectory = fs.statSync(fullPath).isDirectory(); + + if (isDirectory) { + if (!excludeDirs.includes(fullPath)) { + walkDirectory(fullPath); + } + } else { + if ( + !excludeFiles.includes(fullPath) && + /\.(js|ts|jsx|tsx)$/.test(item) + ) { + const matches = findHexColorsInFile(fullPath); + if (matches.length > 0) { + hexColors[fullPath] = matches; + } + } + } + }); + } + + walkDirectory(directory); + return hexColors; +} diff --git a/common/Tests/colors-test/yarn.lock b/common/Tests/colors-test/yarn.lock new file mode 100644 index 0000000000..fe2c2bb9f2 --- /dev/null +++ b/common/Tests/colors-test/yarn.lock @@ -0,0 +1,12 @@ +# This file is generated by running "yarn install" inside your project. +# Manual changes might be lost - proceed with caution! + +__metadata: + version: 8 + cacheKey: 10 + +"colors-test@workspace:.": + version: 0.0.0-use.local + resolution: "colors-test@workspace:." + languageName: unknown + linkType: soft diff --git a/i18next/client.babel b/i18next/client.babel index 965782e07d..d9db8a8af7 100644 --- a/i18next/client.babel +++ b/i18next/client.babel @@ -47550,6 +47550,138 @@ + + PasswordProtectedFiles + + + + + + ar-SA + false + + + az-Latn-AZ + false + + + bg-BG + false + + + cs-CZ + false + + + de-DE + false + + + el-GR + false + + + en-US + false + + + es-ES + false + + + fi-FI + false + + + fr-FR + false + + + hy-AM + false + + + it-IT + false + + + ja-JP + false + + + ko-KR + false + + + lo-LA + false + + + lv-LV + false + + + nl-NL + false + + + pl-PL + false + + + pt-BR + false + + + pt-PT + false + + + ro-RO + false + + + ru-RU + false + + + si-SI + false + + + sk-SK + false + + + sl-SI + false + + + sr-Cyrl-RS + false + + + sr-Latn-RS + false + + + tr-TR + false + + + uk-UA + false + + + vi-VN + false + + + zh-CN + false + + + PasswordSuccessfullyCopied @@ -95506,6 +95638,138 @@ + + LdapQuotaInfo + + + + + + ar-SA + false + + + az-Latn-AZ + false + + + bg-BG + false + + + cs-CZ + false + + + de-DE + false + + + el-GR + false + + + en-US + false + + + es-ES + false + + + fi-FI + false + + + fr-FR + false + + + hy-AM + false + + + it-IT + false + + + ja-JP + false + + + ko-KR + false + + + lo-LA + false + + + lv-LV + false + + + nl-NL + false + + + pl-PL + false + + + pt-BR + false + + + pt-PT + false + + + ro-RO + false + + + ru-RU + false + + + si-SI + false + + + sk-SK + false + + + sl-SI + false + + + sr-Cyrl-RS + false + + + sr-Latn-RS + false + + + tr-TR + false + + + uk-UA + false + + + vi-VN + false + + + zh-CN + false + + + LdapSecondName @@ -100000,7 +100264,139 @@ MainBar - ClickHere + ArchivedRoomsOrContact + + + + + + ar-SA + false + + + az-Latn-AZ + false + + + bg-BG + false + + + cs-CZ + false + + + de-DE + false + + + el-GR + false + + + en-US + false + + + es-ES + false + + + fi-FI + false + + + fr-FR + false + + + hy-AM + false + + + it-IT + false + + + ja-JP + false + + + ko-KR + false + + + lo-LA + false + + + lv-LV + false + + + nl-NL + false + + + pl-PL + false + + + pt-BR + false + + + pt-PT + false + + + ro-RO + false + + + ru-RU + false + + + si-SI + false + + + sk-SK + false + + + sl-SI + false + + + sr-Cyrl-RS + false + + + sr-Latn-RS + false + + + tr-TR + false + + + uk-UA + false + + + vi-VN + false + + + zh-CN + false + + + + + ClickToUpgradeTariff @@ -100395,6 +100791,402 @@ + + ContactToUpgradeTariff + + + + + + ar-SA + false + + + az-Latn-AZ + false + + + bg-BG + false + + + cs-CZ + false + + + de-DE + false + + + el-GR + false + + + en-US + false + + + es-ES + false + + + fi-FI + false + + + fr-FR + false + + + hy-AM + false + + + it-IT + false + + + ja-JP + false + + + ko-KR + false + + + lo-LA + false + + + lv-LV + false + + + nl-NL + false + + + pl-PL + false + + + pt-BR + false + + + pt-PT + false + + + ro-RO + false + + + ru-RU + false + + + si-SI + false + + + sk-SK + false + + + sl-SI + false + + + sr-Cyrl-RS + false + + + sr-Latn-RS + false + + + tr-TR + false + + + uk-UA + false + + + vi-VN + false + + + zh-CN + false + + + + + PersonalQuotaHeader + + + + + + ar-SA + false + + + az-Latn-AZ + false + + + bg-BG + false + + + cs-CZ + false + + + de-DE + false + + + el-GR + false + + + en-US + false + + + es-ES + false + + + fi-FI + false + + + fr-FR + false + + + hy-AM + false + + + it-IT + false + + + ja-JP + false + + + ko-KR + false + + + lo-LA + false + + + lv-LV + false + + + nl-NL + false + + + pl-PL + false + + + pt-BR + false + + + pt-PT + false + + + ro-RO + false + + + ru-RU + false + + + si-SI + false + + + sk-SK + false + + + sl-SI + false + + + sr-Cyrl-RS + false + + + sr-Latn-RS + false + + + tr-TR + false + + + uk-UA + false + + + vi-VN + false + + + zh-CN + false + + + + + PersonalQuotaHeaderForAdmins + + + + + + ar-SA + false + + + az-Latn-AZ + false + + + bg-BG + false + + + cs-CZ + false + + + de-DE + false + + + el-GR + false + + + en-US + false + + + es-ES + false + + + fi-FI + false + + + fr-FR + false + + + hy-AM + false + + + it-IT + false + + + ja-JP + false + + + ko-KR + false + + + lo-LA + false + + + lv-LV + false + + + nl-NL + false + + + pl-PL + false + + + pt-BR + false + + + pt-PT + false + + + ro-RO + false + + + ru-RU + false + + + si-SI + false + + + sk-SK + false + + + sl-SI + false + + + sr-Cyrl-RS + false + + + sr-Latn-RS + false + + + tr-TR + false + + + uk-UA + false + + + vi-VN + false + + + zh-CN + false + + + PersonalUserQuotaAdminsDescription @@ -100659,6 +101451,402 @@ + + RemoveFilesOrClickToUpgrade + + + + + + ar-SA + false + + + az-Latn-AZ + false + + + bg-BG + false + + + cs-CZ + false + + + de-DE + false + + + el-GR + false + + + en-US + false + + + es-ES + false + + + fi-FI + false + + + fr-FR + false + + + hy-AM + false + + + it-IT + false + + + ja-JP + false + + + ko-KR + false + + + lo-LA + false + + + lv-LV + false + + + nl-NL + false + + + pl-PL + false + + + pt-BR + false + + + pt-PT + false + + + ro-RO + false + + + ru-RU + false + + + si-SI + false + + + sk-SK + false + + + sl-SI + false + + + sr-Cyrl-RS + false + + + sr-Latn-RS + false + + + tr-TR + false + + + uk-UA + false + + + vi-VN + false + + + zh-CN + false + + + + + RemoveFilesOrContactToUpgrade + + + + + + ar-SA + false + + + az-Latn-AZ + false + + + bg-BG + false + + + cs-CZ + false + + + de-DE + false + + + el-GR + false + + + en-US + false + + + es-ES + false + + + fi-FI + false + + + fr-FR + false + + + hy-AM + false + + + it-IT + false + + + ja-JP + false + + + ko-KR + false + + + lo-LA + false + + + lv-LV + false + + + nl-NL + false + + + pl-PL + false + + + pt-BR + false + + + pt-PT + false + + + ro-RO + false + + + ru-RU + false + + + si-SI + false + + + sk-SK + false + + + sl-SI + false + + + sr-Cyrl-RS + false + + + sr-Latn-RS + false + + + tr-TR + false + + + uk-UA + false + + + vi-VN + false + + + zh-CN + false + + + + + RemoveFilesOrContactToUpgradeQuota + + + + + + ar-SA + false + + + az-Latn-AZ + false + + + bg-BG + false + + + cs-CZ + false + + + de-DE + false + + + el-GR + false + + + en-US + false + + + es-ES + false + + + fi-FI + false + + + fr-FR + false + + + hy-AM + false + + + it-IT + false + + + ja-JP + false + + + ko-KR + false + + + lo-LA + false + + + lv-LV + false + + + nl-NL + false + + + pl-PL + false + + + pt-BR + false + + + pt-PT + false + + + ro-RO + false + + + ru-RU + false + + + si-SI + false + + + sk-SK + false + + + sl-SI + false + + + sr-Cyrl-RS + false + + + sr-Latn-RS + false + + + tr-TR + false + + + uk-UA + false + + + vi-VN + false + + + zh-CN + false + + + RequestActivation @@ -101055,6 +102243,138 @@ + + RoomQuotaHeaderLimit + + + + + + ar-SA + false + + + az-Latn-AZ + false + + + bg-BG + false + + + cs-CZ + false + + + de-DE + false + + + el-GR + false + + + en-US + false + + + es-ES + false + + + fi-FI + false + + + fr-FR + false + + + hy-AM + false + + + it-IT + false + + + ja-JP + false + + + ko-KR + false + + + lo-LA + false + + + lv-LV + false + + + nl-NL + false + + + pl-PL + false + + + pt-BR + false + + + pt-PT + false + + + ro-RO + false + + + ru-RU + false + + + si-SI + false + + + sk-SK + false + + + sl-SI + false + + + sr-Cyrl-RS + false + + + sr-Latn-RS + false + + + tr-TR + false + + + uk-UA + false + + + vi-VN + false + + + zh-CN + false + + + StorageAndRoomHeader @@ -101187,6 +102507,138 @@ + + StorageAndRoomLimitHeader + + + + + + ar-SA + false + + + az-Latn-AZ + false + + + bg-BG + false + + + cs-CZ + false + + + de-DE + false + + + el-GR + false + + + en-US + false + + + es-ES + false + + + fi-FI + false + + + fr-FR + false + + + hy-AM + false + + + it-IT + false + + + ja-JP + false + + + ko-KR + false + + + lo-LA + false + + + lv-LV + false + + + nl-NL + false + + + pl-PL + false + + + pt-BR + false + + + pt-PT + false + + + ro-RO + false + + + ru-RU + false + + + si-SI + false + + + sk-SK + false + + + sl-SI + false + + + sr-Cyrl-RS + false + + + sr-Latn-RS + false + + + tr-TR + false + + + uk-UA + false + + + vi-VN + false + + + zh-CN + false + + + StorageAndUserHeader @@ -101320,7 +102772,7 @@ - StorageQuotaDescription + StorageAndUserTariffLimitHeader @@ -101452,7 +102904,7 @@ - StorageQuotaExceeded + StorageLimitHeader @@ -101715,138 +103167,6 @@ - - StorageQuotaUserDescription - - - - - - ar-SA - false - - - az-Latn-AZ - false - - - bg-BG - false - - - cs-CZ - false - - - de-DE - false - - - el-GR - false - - - en-US - false - - - es-ES - false - - - fi-FI - false - - - fr-FR - false - - - hy-AM - false - - - it-IT - false - - - ja-JP - false - - - ko-KR - false - - - lo-LA - false - - - lv-LV - false - - - nl-NL - false - - - pl-PL - false - - - pt-BR - false - - - pt-PT - false - - - ro-RO - false - - - ru-RU - false - - - si-SI - false - - - sk-SK - false - - - sl-SI - false - - - sr-Cyrl-RS - false - - - sr-Latn-RS - false - - - tr-TR - false - - - uk-UA - false - - - vi-VN - false - - - zh-CN - false - - - TenantCustomQuotaDescription @@ -101980,7 +103300,7 @@ - UserQuotaDescription + UserQuotaHeader @@ -102112,7 +103432,535 @@ - UserQuotaHeader + UserTariffAlmostReached + + + + + + ar-SA + false + + + az-Latn-AZ + false + + + bg-BG + false + + + cs-CZ + false + + + de-DE + false + + + el-GR + false + + + en-US + false + + + es-ES + false + + + fi-FI + false + + + fr-FR + false + + + hy-AM + false + + + it-IT + false + + + ja-JP + false + + + ko-KR + false + + + lo-LA + false + + + lv-LV + false + + + nl-NL + false + + + pl-PL + false + + + pt-BR + false + + + pt-PT + false + + + ro-RO + false + + + ru-RU + false + + + si-SI + false + + + sk-SK + false + + + sl-SI + false + + + sr-Cyrl-RS + false + + + sr-Latn-RS + false + + + tr-TR + false + + + uk-UA + false + + + vi-VN + false + + + zh-CN + false + + + + + UserTariffAlmostReachedForAdmins + + + + + + ar-SA + false + + + az-Latn-AZ + false + + + bg-BG + false + + + cs-CZ + false + + + de-DE + false + + + el-GR + false + + + en-US + false + + + es-ES + false + + + fi-FI + false + + + fr-FR + false + + + hy-AM + false + + + it-IT + false + + + ja-JP + false + + + ko-KR + false + + + lo-LA + false + + + lv-LV + false + + + nl-NL + false + + + pl-PL + false + + + pt-BR + false + + + pt-PT + false + + + ro-RO + false + + + ru-RU + false + + + si-SI + false + + + sk-SK + false + + + sl-SI + false + + + sr-Cyrl-RS + false + + + sr-Latn-RS + false + + + tr-TR + false + + + uk-UA + false + + + vi-VN + false + + + zh-CN + false + + + + + UserTariffLimitHeader + + + + + + ar-SA + false + + + az-Latn-AZ + false + + + bg-BG + false + + + cs-CZ + false + + + de-DE + false + + + el-GR + false + + + en-US + false + + + es-ES + false + + + fi-FI + false + + + fr-FR + false + + + hy-AM + false + + + it-IT + false + + + ja-JP + false + + + ko-KR + false + + + lo-LA + false + + + lv-LV + false + + + nl-NL + false + + + pl-PL + false + + + pt-BR + false + + + pt-PT + false + + + ro-RO + false + + + ru-RU + false + + + si-SI + false + + + sk-SK + false + + + sl-SI + false + + + sr-Cyrl-RS + false + + + sr-Latn-RS + false + + + tr-TR + false + + + uk-UA + false + + + vi-VN + false + + + zh-CN + false + + + + + UserTariffReached + + + + + + ar-SA + false + + + az-Latn-AZ + false + + + bg-BG + false + + + cs-CZ + false + + + de-DE + false + + + el-GR + false + + + en-US + false + + + es-ES + false + + + fi-FI + false + + + fr-FR + false + + + hy-AM + false + + + it-IT + false + + + ja-JP + false + + + ko-KR + false + + + lo-LA + false + + + lv-LV + false + + + nl-NL + false + + + pl-PL + false + + + pt-BR + false + + + pt-PT + false + + + ro-RO + false + + + ru-RU + false + + + si-SI + false + + + sk-SK + false + + + sl-SI + false + + + sr-Cyrl-RS + false + + + sr-Latn-RS + false + + + tr-TR + false + + + uk-UA + false + + + vi-VN + false + + + zh-CN + false + + + + + UserTariffReachedForAdmins @@ -105294,6 +107142,402 @@ + + CannotCreateNewRoom + + + + + + ar-SA + false + + + az-Latn-AZ + false + + + bg-BG + false + + + cs-CZ + false + + + de-DE + false + + + el-GR + false + + + en-US + false + + + es-ES + false + + + fi-FI + false + + + fr-FR + false + + + hy-AM + false + + + it-IT + false + + + ja-JP + false + + + ko-KR + false + + + lo-LA + false + + + lv-LV + false + + + nl-NL + false + + + pl-PL + false + + + pt-BR + false + + + pt-PT + false + + + ro-RO + false + + + ru-RU + false + + + si-SI + false + + + sk-SK + false + + + sl-SI + false + + + sr-Cyrl-RS + false + + + sr-Latn-RS + false + + + tr-TR + false + + + uk-UA + false + + + vi-VN + false + + + zh-CN + false + + + + + CannotCreatePaidUsers + + + + + + ar-SA + false + + + az-Latn-AZ + false + + + bg-BG + false + + + cs-CZ + false + + + de-DE + false + + + el-GR + false + + + en-US + false + + + es-ES + false + + + fi-FI + false + + + fr-FR + false + + + hy-AM + false + + + it-IT + false + + + ja-JP + false + + + ko-KR + false + + + lo-LA + false + + + lv-LV + false + + + nl-NL + false + + + pl-PL + false + + + pt-BR + false + + + pt-PT + false + + + ro-RO + false + + + ru-RU + false + + + si-SI + false + + + sk-SK + false + + + sl-SI + false + + + sr-Cyrl-RS + false + + + sr-Latn-RS + false + + + tr-TR + false + + + uk-UA + false + + + vi-VN + false + + + zh-CN + false + + + + + CannotRestoreRoom + + + + + + ar-SA + false + + + az-Latn-AZ + false + + + bg-BG + false + + + cs-CZ + false + + + de-DE + false + + + el-GR + false + + + en-US + false + + + es-ES + false + + + fi-FI + false + + + fr-FR + false + + + hy-AM + false + + + it-IT + false + + + ja-JP + false + + + ko-KR + false + + + lo-LA + false + + + lv-LV + false + + + nl-NL + false + + + pl-PL + false + + + pt-BR + false + + + pt-PT + false + + + ro-RO + false + + + ru-RU + false + + + si-SI + false + + + sk-SK + false + + + sl-SI + false + + + sr-Cyrl-RS + false + + + sr-Latn-RS + false + + + tr-TR + false + + + uk-UA + false + + + vi-VN + false + + + zh-CN + false + + + ChooseNewPayer @@ -107010,6 +109254,666 @@ + + NewRoomWillExceedLimit + + + + + + ar-SA + false + + + az-Latn-AZ + false + + + bg-BG + false + + + cs-CZ + false + + + de-DE + false + + + el-GR + false + + + en-US + false + + + es-ES + false + + + fi-FI + false + + + fr-FR + false + + + hy-AM + false + + + it-IT + false + + + ja-JP + false + + + ko-KR + false + + + lo-LA + false + + + lv-LV + false + + + nl-NL + false + + + pl-PL + false + + + pt-BR + false + + + pt-PT + false + + + ro-RO + false + + + ru-RU + false + + + si-SI + false + + + sk-SK + false + + + sl-SI + false + + + sr-Cyrl-RS + false + + + sr-Latn-RS + false + + + tr-TR + false + + + uk-UA + false + + + vi-VN + false + + + zh-CN + false + + + + + NewUsersWillExceedMembersLimit + + + + + + ar-SA + false + + + az-Latn-AZ + false + + + bg-BG + false + + + cs-CZ + false + + + de-DE + false + + + el-GR + false + + + en-US + false + + + es-ES + false + + + fi-FI + false + + + fr-FR + false + + + hy-AM + false + + + it-IT + false + + + ja-JP + false + + + ko-KR + false + + + lo-LA + false + + + lv-LV + false + + + nl-NL + false + + + pl-PL + false + + + pt-BR + false + + + pt-PT + false + + + ro-RO + false + + + ru-RU + false + + + si-SI + false + + + sk-SK + false + + + sl-SI + false + + + sr-Cyrl-RS + false + + + sr-Latn-RS + false + + + tr-TR + false + + + uk-UA + false + + + vi-VN + false + + + zh-CN + false + + + + + NotPossibleRoomRestoring + + + + + + ar-SA + false + + + az-Latn-AZ + false + + + bg-BG + false + + + cs-CZ + false + + + de-DE + false + + + el-GR + false + + + en-US + false + + + es-ES + false + + + fi-FI + false + + + fr-FR + false + + + hy-AM + false + + + it-IT + false + + + ja-JP + false + + + ko-KR + false + + + lo-LA + false + + + lv-LV + false + + + nl-NL + false + + + pl-PL + false + + + pt-BR + false + + + pt-PT + false + + + ro-RO + false + + + ru-RU + false + + + si-SI + false + + + sk-SK + false + + + sl-SI + false + + + sr-Cyrl-RS + false + + + sr-Latn-RS + false + + + tr-TR + false + + + uk-UA + false + + + vi-VN + false + + + zh-CN + false + + + + + NumberOfRoomsAccordingToTariff + + + + + + ar-SA + false + + + az-Latn-AZ + false + + + bg-BG + false + + + cs-CZ + false + + + de-DE + false + + + el-GR + false + + + en-US + false + + + es-ES + false + + + fi-FI + false + + + fr-FR + false + + + hy-AM + false + + + it-IT + false + + + ja-JP + false + + + ko-KR + false + + + lo-LA + false + + + lv-LV + false + + + nl-NL + false + + + pl-PL + false + + + pt-BR + false + + + pt-PT + false + + + ro-RO + false + + + ru-RU + false + + + si-SI + false + + + sk-SK + false + + + sl-SI + false + + + sr-Cyrl-RS + false + + + sr-Latn-RS + false + + + tr-TR + false + + + uk-UA + false + + + vi-VN + false + + + zh-CN + false + + + + + NumberOfUsersAccordingToTariff + + + + + + ar-SA + false + + + az-Latn-AZ + false + + + bg-BG + false + + + cs-CZ + false + + + de-DE + false + + + el-GR + false + + + en-US + false + + + es-ES + false + + + fi-FI + false + + + fr-FR + false + + + hy-AM + false + + + it-IT + false + + + ja-JP + false + + + ko-KR + false + + + lo-LA + false + + + lv-LV + false + + + nl-NL + false + + + pl-PL + false + + + pt-BR + false + + + pt-PT + false + + + ro-RO + false + + + ru-RU + false + + + si-SI + false + + + sk-SK + false + + + sl-SI + false + + + sr-Cyrl-RS + false + + + sr-Latn-RS + false + + + tr-TR + false + + + uk-UA + false + + + vi-VN + false + + + zh-CN + false + + + Pay @@ -107406,138 +110310,6 @@ - - PaymentOverdue - - - - - - ar-SA - false - - - az-Latn-AZ - false - - - bg-BG - false - - - cs-CZ - false - - - de-DE - false - - - el-GR - false - - - en-US - false - - - es-ES - false - - - fi-FI - false - - - fr-FR - false - - - hy-AM - false - - - it-IT - false - - - ja-JP - false - - - ko-KR - false - - - lo-LA - false - - - lv-LV - false - - - nl-NL - false - - - pl-PL - false - - - pt-BR - false - - - pt-PT - false - - - ro-RO - false - - - ru-RU - false - - - si-SI - false - - - sk-SK - false - - - sl-SI - false - - - sr-Cyrl-RS - false - - - sr-Latn-RS - false - - - tr-TR - false - - - uk-UA - false - - - vi-VN - false - - - zh-CN - false - - - PriceCalculation @@ -107934,6 +110706,138 @@ + + RoomsQuotaAlmostExhausted + + + + + + ar-SA + false + + + az-Latn-AZ + false + + + bg-BG + false + + + cs-CZ + false + + + de-DE + false + + + el-GR + false + + + en-US + false + + + es-ES + false + + + fi-FI + false + + + fr-FR + false + + + hy-AM + false + + + it-IT + false + + + ja-JP + false + + + ko-KR + false + + + lo-LA + false + + + lv-LV + false + + + nl-NL + false + + + pl-PL + false + + + pt-BR + false + + + pt-PT + false + + + ro-RO + false + + + ru-RU + false + + + si-SI + false + + + sk-SK + false + + + sl-SI + false + + + sr-Cyrl-RS + false + + + sr-Latn-RS + false + + + tr-TR + false + + + uk-UA + false + + + vi-VN + false + + + zh-CN + false + + + StartupSuggestion @@ -108726,138 +111630,6 @@ - - UpgradePlanInfo - - - - - - ar-SA - false - - - az-Latn-AZ - false - - - bg-BG - false - - - cs-CZ - false - - - de-DE - false - - - el-GR - false - - - en-US - false - - - es-ES - false - - - fi-FI - false - - - fr-FR - false - - - hy-AM - false - - - it-IT - false - - - ja-JP - false - - - ko-KR - false - - - lo-LA - false - - - lv-LV - false - - - nl-NL - false - - - pl-PL - false - - - pt-BR - false - - - pt-PT - false - - - ro-RO - false - - - ru-RU - false - - - si-SI - false - - - sk-SK - false - - - sl-SI - false - - - sr-Cyrl-RS - false - - - sr-Latn-RS - false - - - tr-TR - false - - - uk-UA - false - - - vi-VN - false - - - zh-CN - false - - - UserNotFound @@ -109122,6 +111894,138 @@ + + UsersQuotaAlmostExhausted + + + + + + ar-SA + false + + + az-Latn-AZ + false + + + bg-BG + false + + + cs-CZ + false + + + de-DE + false + + + el-GR + false + + + en-US + false + + + es-ES + false + + + fi-FI + false + + + fr-FR + false + + + hy-AM + false + + + it-IT + false + + + ja-JP + false + + + ko-KR + false + + + lo-LA + false + + + lv-LV + false + + + nl-NL + false + + + pl-PL + false + + + pt-BR + false + + + pt-PT + false + + + ro-RO + false + + + ru-RU + false + + + si-SI + false + + + sk-SK + false + + + sl-SI + false + + + sr-Cyrl-RS + false + + + sr-Latn-RS + false + + + tr-TR + false + + + uk-UA + false + + + vi-VN + false + + + zh-CN + false + + + YourPrice @@ -113885,7 +116789,7 @@ PDFFormDialog - PDFFormDialogTitle + PDFform diff --git a/packages/client/public/index.html b/packages/client/public/index.html index 0b3d4c57c9..5cbeef002a 100644 --- a/packages/client/public/index.html +++ b/packages/client/public/index.html @@ -19,6 +19,7 @@ href="/logo.ashx?logotype=3" /> + diff --git a/packages/client/public/locales/ar-SA/MainBar.json b/packages/client/public/locales/ar-SA/MainBar.json index 930faa48bf..ce753f8398 100644 --- a/packages/client/public/locales/ar-SA/MainBar.json +++ b/packages/client/public/locales/ar-SA/MainBar.json @@ -1,19 +1,12 @@ { - "ClickHere": "انقر هنا", "ConfirmEmailDescription": "استخدم الرابط الموجود في البريد الإلكتروني للتفعيل. لم تستلم بريدًا إلكترونيًا يحتوي على رابط التفعيل؟", "ConfirmEmailHeader": "يرجى تنشيط بريدك الإلكتروني ({{email}}) للوصول إلى ميزات {{productName}}", "PersonalUserQuotaAdminsDescription": "لتحميل وإنشاء ملفات ومجلدات جديدة ، يرجى تحرير مساحة على القرص، أو إدارة الحصة النسبية لكل مستخدم في <1>إعدادات إدارة التخزين.", "PersonalUserQuotaDescription": "لتحميل وإنشاء ملفات ومجلدات جديدة، يرجى تحرير مساحة على القرص أو الاتصال بالمسؤول لزيادة حصة التخزين.", "RequestActivation": "اطلب التفعيل مرة أخرى", - "RoomQuotaDescription": "يمكنك أرشفة الغرف غير الضرورية أو <1> {{clickHere}} للعثور على خطة أسعار أكثر ملاءمة لـ {{productName}}", "RoomQuotaHeader": "عدد الغرف على وشك أن يتجاوز: {{currentValue}} / {{maxValue}}", - "StorageAndRoomHeader": "حدود مساحة التخزين والغرف على وشك أن يتم تجاوزها.", "StorageAndUserHeader": "حدود مساحة التخزين والمشرفين / المستخدمين المتميزين على وشك أن يتم تجاوزها.", - "StorageQuotaDescription": "يمكنك إزالة الملفات غير الضرورية أو <1> {{clickHere}} للعثور على خطة تسعير أكثر ملاءمة لـ {{productName}} الخاص بك.", - "StorageQuotaExceeded": "تم تجاوز حصة التخزين", "StorageQuotaHeader": "حجم مساحة التخزين على وشك أن يتم تجاوزها: {{currentValue}} / {{maxValue}}", - "StorageQuotaUserDescription": "يمكنك إزالة الملفات غير الضرورية لتحرير مساحة القرص.", "TenantCustomQuotaDescription": "يمكنك إزالة الملفات غير الضرورية أو تغيير الحصة النسبية في <1> إعدادات إدارة التخزين.", - "UserQuotaDescription": "<1>{{clickHere}} للعثور على خطة تسعير أفضل لـ {{productName}} الخاص بك.", "UserQuotaHeader": "عدد المشرفين المستخدمين المتميزين على وشك أن يتم تجاوزه: {{currentValue}} / {{maxValue}}" } diff --git a/packages/client/public/locales/ar-SA/PDFFormDialog.json b/packages/client/public/locales/ar-SA/PDFFormDialog.json index 55ab8f3599..935b077a73 100644 --- a/packages/client/public/locales/ar-SA/PDFFormDialog.json +++ b/packages/client/public/locales/ar-SA/PDFFormDialog.json @@ -1,5 +1,4 @@ { - "PDFFormDialogTitle": "نموذج PDF جاهز للتعبئة", "PDFFormEditDialogDescription": "هل تريد التبديل إلى وضع تحرير النموذج؟ يرجى ملاحظة أن النموذج لن يكون متاحًا لتعبئته بعد الآن وستحتاج إلى النقر على بدء التعبئة مرة أخرى بعد التحرير لتعبئته.", "PDFFormEditDialogTitle": "تحرير النموذج", "PDFFormIsReadyToast": "نموذج PDF <1>{{filename}} جاهز للتعبئة.", diff --git a/packages/client/public/locales/ar-SA/Payments.json b/packages/client/public/locales/ar-SA/Payments.json index ff6650c022..05652b317b 100644 --- a/packages/client/public/locales/ar-SA/Payments.json +++ b/packages/client/public/locales/ar-SA/Payments.json @@ -25,7 +25,6 @@ "Pay": "ادفع", "Payer": "طريقة الدفع", "PayerDescription": "هذا المستخدم لديه حق الوصول إلى تفاصيل الدفع وهو المستخدم الوحيد الذي يمكنه تعديل الحصة وإجراء المدفوعات. يمكن لمالك {{productName}} ، بالإضافة إلى مدير الدفع نفسه ، إعادة تعيين دور مدير الدفع باستخدام بوابة عملاء سترب.", - "PaymentOverdue": "لا يمكن إضافة مستخدمين جدد.", "PriceCalculation": "احسب سعرك", "RenewSubscription": "تجديد الاشتراك في خطة {{planName}}", "RoomManagerDescription": "إدارة الغرف والأرشفة ودعوة المستخدم وإدارتها. يمكن تعيين عدة مدراء للغرفة.", @@ -35,7 +34,6 @@ "TotalPricePerMonth": "<1> {{currencySymbol}} <2> {{price}} <3> / شهر ", "UpgradeNow": "قم بالترقية الآن", "UpgradePlan": "قم بالترقية إلى خطة جديدة", - "UpgradePlanInfo": "عند إضافة مستخدمين جدد ستتجاوز الحد الأقصى لعدد أعضاء الغرف المسموح به في خطة التسعير الحالية الخاصة بك.", "UserNotFound": "المستخدم <1> {{email}} غير موجود.", "UserNotFoundMatchingEmail": "لم نتمكن من العثور على المستخدم الذي يحمل نفس بريد سترب المطابق.", "YourPrice": "سعرك" diff --git a/packages/client/public/locales/az/MainBar.json b/packages/client/public/locales/az/MainBar.json index bb8c0523de..9169a638d9 100644 --- a/packages/client/public/locales/az/MainBar.json +++ b/packages/client/public/locales/az/MainBar.json @@ -1,19 +1,12 @@ { - "ClickHere": "Buraya klikləyin", "ConfirmEmailDescription": "Aktivləşdirmə e-məktubunda göndərilən keçiddən istifadə edin. Aktivləşdirmə linki olan e-məktub almamısınız?", "ConfirmEmailHeader": "Lütfən, {{productName}} xüsusiyyətlərinə daxil olmaq üçün e-poçtunuzu ({{ email }}) aktiv edin.", "PersonalUserQuotaAdminsDescription": "Yeni fayl və qovluqları yükləmək və yaratmaq üçün zəhmət olmasa, diskdə yer boşaldın və ya <1>Yaddaş idarəetmə parametrlərində hər istifadəçi kvotasını idarə edin.", "PersonalUserQuotaDescription": "Yeni fayl və qovluqları yükləmək və yaratmaq üçün diskdə yer boşaldın və ya yaddaş kvotasını artırmaq üçün administratorla əlaqə saxlayın.", "RequestActivation": "Yenidən aktivləşdirmə tələb edin", - "RoomQuotaDescription": "{{productName}} üçün daha uyğun qiymət planı tapmaq üçün lazımsız otaqları arxivləşdirə və ya <1>{{clickHere}} edə bilərsiniz.", "RoomQuotaHeader": "Otaqlar keçmək üzrədir: {{currentValue}} / {{maxValue}}", - "StorageAndRoomHeader": "Yaddaş və otaq limitləri aşmaq üzrədir.", "StorageAndUserHeader": "Yaddaş və administratorlar/ekspert istifadəçilər limitləri aşmaq üzrədir.", - "StorageQuotaDescription": "Siz lazımsız faylları silə və ya {{productName}} üçün daha uyğun qiymət planı tapmaq üçün <1>{{clickHere}} edə bilərsiniz.", - "StorageQuotaExceeded": "Yaddaş kvotası limiti keçib", "StorageQuotaHeader": "Yaddaş sahəsinin həcmi keçmək üzrədir : {{currentValue}} / {{maxValue}}", - "StorageQuotaUserDescription": "Diskdə yer boşaltmaq üçün lazımsız faylları silə bilərsiniz.", "TenantCustomQuotaDescription": "<1>Yaddaş idarəetmə parametrlərində lazımsız faylları silə və ya kvotanı dəyişə bilərsiniz.", - "UserQuotaDescription": "<1>{{clickHere}} məhsulunuz üçün daha yaxşı qiymət planı tapmaq üçün {{productName}}.", "UserQuotaHeader": "Admin/ekspert istifadəçilərin sayı keçmək üzrədir: {{currentValue}} / {{maxValue}}." } diff --git a/packages/client/public/locales/az/PDFFormDialog.json b/packages/client/public/locales/az/PDFFormDialog.json index 15fe1ed5d9..1608bf4540 100644 --- a/packages/client/public/locales/az/PDFFormDialog.json +++ b/packages/client/public/locales/az/PDFFormDialog.json @@ -1,5 +1,4 @@ { - "PDFFormDialogTitle": "Doldurmağa hazır PDF forması", "PDFFormEditDialogDescription": "Forma redaktə rejiminə keçmək istəyirsiniz? F Nəzərə alın ki, formanı artıq doldurmaq mümkün deyil və formanı doldurmaq üçün redaktə etdikdən sonra yenidən Doldurmağa başla düyməsini sıxmalısınız.", "PDFFormEditDialogTitle": "Forma redaktə etmə", "PDFFormIsReadyToast": "<1>{{filename}} PDF forması doldurulmağa hazırdır.", diff --git a/packages/client/public/locales/az/Payments.json b/packages/client/public/locales/az/Payments.json index 269fb3dd95..c2e37b7ec4 100644 --- a/packages/client/public/locales/az/Payments.json +++ b/packages/client/public/locales/az/Payments.json @@ -25,7 +25,6 @@ "Pay": "Ödəyin", "Payer": "Ödəyici", "PayerDescription": "Bu istifadəçi ödəniş təfərrüatlarına daxil ola bilər və kvota təyin edib ödəniş edə bilən yeganə istifadəçidir. {{productName}} sahibi və ödəniş meneceri özləri Stripe müştəri portalından istifadə edərək ödəniş meneceri rolunu yenidən təyin edə bilərlər.", - "PaymentOverdue": "Yeni istifadəçilər əlavə etmək mümkün deyil.", "PriceCalculation": "Qiymətinizi hesablayın", "RenewSubscription": "{{planName}} Plan abunəliyini yeniləyin", "RoomManagerDescription": "Otağın idarə edilməsi və arxivləşdirilməsi, istifadəçi dəvəti və idarə edilməsi. Otağa bir neçə admin təyin edilə bilər.", @@ -35,7 +34,6 @@ "TotalPricePerMonth": "<1>{{currencySymbol}}<2>{{price}}<3>/ay", "UpgradeNow": "İndi yeniləyin", "UpgradePlan": "Planı yeniləyin", - "UpgradePlanInfo": "Yeni istifadəçilərin əlavə edilməsi cari qiymət planınızın icazə verdiyi otaq üzvlərinin maksimum sayını keçəcək.", "UserNotFound": "İstifadəçi <1>{{email}} tapılmadı.", "UserNotFoundMatchingEmail": "Uyğun Stripe e-poçtu olan istifadəçini tapa bilmədik.", "YourPrice": "Qiymətiniz" diff --git a/packages/client/public/locales/bg/MainBar.json b/packages/client/public/locales/bg/MainBar.json index f2bee2f8a6..aef5fe57f0 100644 --- a/packages/client/public/locales/bg/MainBar.json +++ b/packages/client/public/locales/bg/MainBar.json @@ -1,19 +1,12 @@ { - "ClickHere": "Кликнете тук", "ConfirmEmailDescription": "Използвайте линка, предоставен в имейла за активиране. Не сте получили имейл с линк за активиране?", "ConfirmEmailHeader": "Моля, активирайте своя имейл ({{ email }}), за да получите достъп до функциите на {{productName}}.", "PersonalUserQuotaAdminsDescription": "За да качите и създадете нови файлове и папки, моля, освободете място на диска или управлявайте квотата за потребител в <1>Настройки за управление на хранилището.", "PersonalUserQuotaDescription": "За да качите и създадете нови файлове и папки, моля, освободете място на диска или се свържете с администратора, който да увеличи квотата за съхранение.", "RequestActivation": "Отново заявете активиране", - "RoomQuotaDescription": "Можете да архивирате ненужните стаи или <1>{{clickHere}}, за да намерите по-подходящ ценови план за вашия {{productName}}.", "RoomQuotaHeader": "Стаите са на път да бъдат надвишени: {{currentValue}} / {{maxValue}}", - "StorageAndRoomHeader": "На път сте да превишите ограниченията за съхранение и помещения.", "StorageAndUserHeader": "На път сте да превишите ограниченията за съхранение и администратори/опитни потребители.", - "StorageQuotaDescription": "Можете да премахнете ненужните файлове или <1>{{clickHere}}, за да намерите по-подходящ ценови план за вашия {{productName}}.", - "StorageQuotaExceeded": "Квотата за съхранение е надвишена", "StorageQuotaHeader": "Размерът на пространството за съхранение е на път да бъде надвишен: {{currentValue}} / {{maxValue}}", - "StorageQuotaUserDescription": "Можете да премахнете ненужните файлове, за да освободите дисково пространство.", "TenantCustomQuotaDescription": "Можете да премахнете ненужните файлове или да промените квотата от <1>Настройки за управление на хранилището.", - "UserQuotaDescription": "<1>{{clickHere}}, за да намерите по-добър абонаментен план за вашия {{productName}}.", "UserQuotaHeader": "На път сте да превишите броят на администраторите/опитните потребители: {{currentValue}} / {{maxValue}}." } diff --git a/packages/client/public/locales/bg/PDFFormDialog.json b/packages/client/public/locales/bg/PDFFormDialog.json index 750bc17d50..114a588432 100644 --- a/packages/client/public/locales/bg/PDFFormDialog.json +++ b/packages/client/public/locales/bg/PDFFormDialog.json @@ -1,5 +1,4 @@ { - "PDFFormDialogTitle": "Готов за попълване PDF формуляр", "PDFFormEditDialogDescription": "Искате ли да превключите на режим редактиране на формуляр? Молим да имате предвид, че формулярът вече няма да бъде достъпен за попълване и ще трябва да щракнете върху бутона Започни попълване отново след редактиране, за да го попълните.", "PDFFormEditDialogTitle": "Редактиране на формуляр", "PDFFormIsReadyToast": "PDF формуляр <1>{{filename}} е готов за попълване.", diff --git a/packages/client/public/locales/bg/Payments.json b/packages/client/public/locales/bg/Payments.json index 42828054bb..832f66ef71 100644 --- a/packages/client/public/locales/bg/Payments.json +++ b/packages/client/public/locales/bg/Payments.json @@ -25,7 +25,6 @@ "Pay": "Плащане", "Payer": "Платец", "PayerDescription": "Този потребител има достъп до подробности за плащането и е единственият потребител, който може да коригира квотата и да извършва плащания. Собственикът на {{productName}}, както и самият управител на плащанията, могат да преназначат ролята на управител на плащанията с помощта на портала за клиенти на Stripe.", - "PaymentOverdue": "Не могат да се добавят нови потребители.", "PriceCalculation": "Изчислете цената си", "RenewSubscription": "Подновете абонамента за плана {{planName}}", "RoomManagerDescription": "Администриране и архивиране на стаи, покана и управление на потребители. За стаята могат да бъдат назначени няколко администратора.", @@ -35,7 +34,6 @@ "TotalPricePerMonth": "<1>{{currencySymbol}}<2>{{price}}<3>/месец", "UpgradeNow": "Надстройте сега", "UpgradePlan": "Надграждане на абонамента", - "UpgradePlanInfo": "Добавянето на нови потребители ще надвиши максималния брой членове на стаята, достъпен за текущия Ви абонаментен план.", "UserNotFound": "Потребителят <1>{{email}} не е намерен.", "UserNotFoundMatchingEmail": "Не можахме да намерим потребителя със съответстващия Stripe имейл.", "YourPrice": "Вашата цена" diff --git a/packages/client/public/locales/cs/MainBar.json b/packages/client/public/locales/cs/MainBar.json index d9a758fdd3..488175fc54 100644 --- a/packages/client/public/locales/cs/MainBar.json +++ b/packages/client/public/locales/cs/MainBar.json @@ -1,19 +1,12 @@ { - "ClickHere": "Klikněte zde", "ConfirmEmailDescription": "Použijte odkaz uvedený v aktivačním e-mailu. Neobdrželi jste e-mail s aktivačním odkazem?", "ConfirmEmailHeader": "Pro získání přístupu k funkcím {{productName}} aktivujte svůj e-mail ({{ email }}).", "PersonalUserQuotaAdminsDescription": "Chcete-li nahrávat a vytvářet nové soubory a složky, uvolněte místo na disku nebo spravujte kvótu pro uživatele v nastavení <1>Správa úložiště.", "PersonalUserQuotaDescription": "Chcete-li nahrávat a vytvářet nové soubory a složky, uvolněte místo na disku nebo se obraťte na správce, aby zvýšil kvótu úložiště.", "RequestActivation": "Znovu požádat o o aktivaci", - "RoomQuotaDescription": "Nepotřebné místnosti můžete archivovat nebo <1>{{clickHere}}} pro nalezení vhodnějšího cenového tarifu pro váš {{productName}}.", "RoomQuotaHeader": "Počet místností bude brzy překročen: {{currentValue}} / {{maxValue}}", - "StorageAndRoomHeader": "Limity úložiště a místností budou brzy překročeny.", "StorageAndUserHeader": "Limity pro úložiště a správce/oprávněné uživatele budou brzy překročeny.", - "StorageQuotaDescription": "Nepotřebné soubory můžete odstranit nebo <1>{{clickHere}}} pro nalezení vhodnějšího cenového tarifu pro váš {{productName}}.", - "StorageQuotaExceeded": "Překročení kvóty úložiště", "StorageQuotaHeader": "Množství úložného prostoru bude brzy překročeno: {{currentValue}} / {{maxValue}}.", - "StorageQuotaUserDescription": "Nepotřebné soubory můžete odstranit a uvolnit tak místo na disku.", "TenantCustomQuotaDescription": "Nepotřebné soubory můžete odstranit nebo změnit kvótu v <1>Nastavení správy úložiště.", - "UserQuotaDescription": "<1>{{clickHere}} a najděte lepší cenový tarif pro svůj {{productName}}.", "UserQuotaHeader": "Počet administrátorů/přístupných uživatelů bude brzy překročen: {{currentValue}} / {{maxValue}}." } diff --git a/packages/client/public/locales/cs/PDFFormDialog.json b/packages/client/public/locales/cs/PDFFormDialog.json index 0572895712..956ca29a88 100644 --- a/packages/client/public/locales/cs/PDFFormDialog.json +++ b/packages/client/public/locales/cs/PDFFormDialog.json @@ -1,5 +1,4 @@ { - "PDFFormDialogTitle": "PDF formulář připravený k vyplnění", "PDFFormEditDialogDescription": "Chcete přepnout do režimu úprav formuláře? Vezměte prosím na vědomí, že formulář již nebude k dispozici pro vyplnění a po úpravě bude nutné znovu kliknout na tlačítko Začít vyplňovat, abyste jej mohli vyplnit.", "PDFFormEditDialogTitle": "Úprava formuláře", "PDFFormIsReadyToast": "PDF formulář <1>{{filename}} je připraven k vyplnění.", diff --git a/packages/client/public/locales/cs/Payments.json b/packages/client/public/locales/cs/Payments.json index a2fbde6be4..853fcabaf7 100644 --- a/packages/client/public/locales/cs/Payments.json +++ b/packages/client/public/locales/cs/Payments.json @@ -25,7 +25,6 @@ "Pay": "Platit", "Payer": "Plátce", "PayerDescription": "Tento uživatel má přístup k platebním údajům a je jediným uživatelem, který může upravovat kvóty a provádět platby. Vlastník {{productName}}, stejně jako samotný správce platby, může roli správce platby přeřadit pomocí zákaznického prostoru Stripe.", - "PaymentOverdue": "Nelze přidávat nové uživatele.", "PriceCalculation": "Vypočítejte si cenu", "RenewSubscription": "Obnovit předplatné tarifu {{planName}}", "RoomManagerDescription": "Správa a archivace místností, pozvání a správa uživatelů. K místnosti lze přiřadit několik správců.", @@ -35,7 +34,6 @@ "TotalPricePerMonth": "<1>{{currencySymbol}}<2>{{price}}<3>/měsíc", "UpgradeNow": "Aktualizovat nyní", "UpgradePlan": "Plán aktualizace", - "UpgradePlanInfo": "Přidáním nových uživatelů překročíte maximální počet členů místnosti povolený vaším aktuálním cenovým tarifem.", "UserNotFound": "Uživatel <1>{{email}} nebyl nalezen.", "UserNotFoundMatchingEmail": "Nepodařilo se nám najít uživatele s odpovídajícím e-mailem Stripe.", "YourPrice": "Vaše cena" diff --git a/packages/client/public/locales/de/MainBar.json b/packages/client/public/locales/de/MainBar.json index c7815382a0..d876c7c8c1 100644 --- a/packages/client/public/locales/de/MainBar.json +++ b/packages/client/public/locales/de/MainBar.json @@ -1,19 +1,12 @@ { - "ClickHere": "Hier klicken", "ConfirmEmailDescription": "Verwenden Sie den in der Aktivierungs-E-Mail angegebenen Link. Haben Sie keine E-Mail mit dem Aktivierungslink erhalten?", "ConfirmEmailHeader": "Bitte aktivieren Sie Ihre E-Mail ({{ email }}), um Zugang zu den {{productName}}-Funktionen zu erhalten.", "PersonalUserQuotaAdminsDescription": "Um neue Dateien und Ordner hochzuladen und zu erstellen, geben Sie bitte Speicherplatz frei oder verwalten Sie die Quote pro Benutzer in den <1>Speicherverwaltungseinstellungen", "PersonalUserQuotaDescription": "Um neue Dateien und Ordner hochzuladen und zu erstellen, geben Sie bitte Speicherplatz frei oder wenden Sie sich an den Administrator, um die Speicherquote zu erhöhen.", "RequestActivation": "Erneute Aktivierung anfordern", - "RoomQuotaDescription": "Sie können die überflüssigen Räume archivieren oder <1>{{clickHere}} einen passenderen Preisplan für Ihren {{productName}} finden.", "RoomQuotaHeader": "Die Anzahl von Räumen wird bald überschritten sein: {{currentValue}} / {{maxValue}}", - "StorageAndRoomHeader": "Die Speicher- und Raumlimits werden bald überschritten sein.", "StorageAndUserHeader": "Limits für Speicherplatz und Admins/Power-User werden bald überschritten sein.", - "StorageQuotaDescription": "Sie können die unerwünschten Dateien entfernen oder <1>{{{clickHere}} einen geeigneteren Preisplan für Ihren {{productName}} finden.", - "StorageQuotaExceeded": "Speicherquote überschritten", "StorageQuotaHeader": "Das Speicherplatzlimit wird bald überschritten: {{currentValue}} / {{maxValue}}", - "StorageQuotaUserDescription": "Sie können die nicht benötigten Dateien entfernen, um Speicherplatz freizugeben.", "TenantCustomQuotaDescription": "Sie können unnötige Dateien entfernen oder die Quote in den <1>Speicherverwaltungseinstellungen ändern", - "UserQuotaDescription": "<1>{{clickHere}}, um einen besseren Preisplan für Ihr {{productName}} zu finden.", "UserQuotaHeader": "Die Anzahl der Admins/Power-User wird bald überschritten sein: {{currentValue}} / {{maxValue}}." } diff --git a/packages/client/public/locales/de/PDFFormDialog.json b/packages/client/public/locales/de/PDFFormDialog.json index 50e9350f9f..e7de52429c 100644 --- a/packages/client/public/locales/de/PDFFormDialog.json +++ b/packages/client/public/locales/de/PDFFormDialog.json @@ -1,5 +1,4 @@ { - "PDFFormDialogTitle": "Ausfüllbares PDF-Formular", "PDFFormEditDialogDescription": "Möchten Sie in den Modus der Formularbearbeitung wechseln? Bitte beachten Sie, dass das Formular dann nicht mehr zum Ausfüllen zur Verfügung steht und Sie nach der Bearbeitung erneut auf die Schaltfläche Ausfüllen beginnen klicken müssen, um es auszufüllen.", "PDFFormEditDialogTitle": "Formularbearbeitung", "PDFFormIsReadyToast": "Das PDF-Formular <1>{{filename}} ist bereit zum Ausfüllen.", diff --git a/packages/client/public/locales/de/Payments.json b/packages/client/public/locales/de/Payments.json index 66c8fd7c32..66f8db0b31 100644 --- a/packages/client/public/locales/de/Payments.json +++ b/packages/client/public/locales/de/Payments.json @@ -25,7 +25,6 @@ "Pay": "Bezahlen", "Payer": "Zahler", "PayerDescription": "Dieser Benutzer hat Zugriff auf die Zahlungsdetails und ist der einzige Benutzer, der die Quote anpassen und Zahlungen vornehmen kann. Der {{productName}}-Besitzer sowie der zahlende Manager selbst können die Rolle des zahlenden Managers über das Stripe-Kundenportal neu zuweisen.", - "PaymentOverdue": "Es können keine neuen Benutzer hinzugefügt werden.", "PriceCalculation": "Berechnen Sie Ihren Preis", "RenewSubscription": "Abonnement des {{planName}}-Plans erneuern", "RoomManagerDescription": "Raumverwaltung und Archivierung, Benutzereinladung und -verwaltung. Dem Raum können mehrere Administratoren zugewiesen werden.", @@ -35,7 +34,6 @@ "TotalPricePerMonth": "<1>{{currencySymbol}}<2>{{price}}<3>/Monat", "UpgradeNow": "Jetzt upgraden", "UpgradePlan": "Plan upgraden", - "UpgradePlanInfo": "Das Hinzufügen neuer Benutzer überschreitet die maximale Anzahl von Raummitgliedern, die Ihr aktueller Preisplan zulässt.", "UserNotFound": "Benutzer <1>{{email}} ist nicht gefunden.", "UserNotFoundMatchingEmail": "Wir konnten den Benutzer mit der passenden Stripe-E-Mail nicht finden.", "YourPrice": "Ihr Preis" diff --git a/packages/client/public/locales/el-GR/MainBar.json b/packages/client/public/locales/el-GR/MainBar.json index dfc0852561..5002732c64 100644 --- a/packages/client/public/locales/el-GR/MainBar.json +++ b/packages/client/public/locales/el-GR/MainBar.json @@ -1,19 +1,12 @@ { - "ClickHere": "κάντε κλικ εδώ", "ConfirmEmailDescription": "Χρησιμοποιήστε τον σύνδεσμο που παρέχεται στο email ενεργοποίησης. Δεν έχετε λάβει email με τον σύνδεσμο ενεργοποίησης;", "ConfirmEmailHeader": "Ενεργοποιήστε το email ({{ email }}) σας για να αποκτήσετε πρόσβαση στις λειτουργίες του {{productName}}.", "PersonalUserQuotaAdminsDescription": "Για να μεταφορτώσετε και να δημιουργήσετε νέα αρχεία και φακέλους, ελευθερώστε χώρο στον δίσκο ή διαχειριστείτε την ποσόστωση ανά χρήστη στις <1>Ρυθμίσεις διαχείρισης αποθ. χώρου.", "PersonalUserQuotaDescription": "Για να ανεβάσετε και να δημιουργήσετε νέα αρχεία και φακέλους, ελευθερώστε χώρο στον δίσκο ή επικοινωνήστε με τον διαχειριστή για να αυξήσετε την ποσόστωση αποθ. χώρου.", "RequestActivation": "Ζητήστε εκ νέου ενεργοποίηση", - "RoomQuotaDescription": "Μπορείτε να αρχειοθετήσετε τα περιττά δωμάτια ή <1>{{clickHere}} για να βρείτε ένα πιο κατάλληλο πρόγραμμα τιμολόγησης για το {{productName}} σας.", "RoomQuotaHeader": "Πρόκειται να γίνει υπέρβαση ορίου για τα δωμάτια: {{currentValue}} / {{maxValue}}", - "StorageAndRoomHeader": "Τα όρια αποθηκευτικού χώρου και δωματίων πρόκειται να ξεπεραστούν.", "StorageAndUserHeader": "Τα όρια αποθηκευτικού χώρου και διαχειριστών/χρηστών ισχύος πρόκειται να ξεπεραστούν.", - "StorageQuotaDescription": "Μπορείτε να αφαιρέσετε τα περιττά αρχεία ή <1>{{clickHere}} για να βρείτε ένα πιο κατάλληλο πρόγραμμα τιμολόγησης για το {{productName}} σας.", - "StorageQuotaExceeded": "Υπέρβαση ποσόστωσης αποθ. χώρου", "StorageQuotaHeader": "Το ποσό του χώρου αποθήκευσης πρόκειται να ξεπεραστεί: {{currentValue}} / {{maxValue}}", - "StorageQuotaUserDescription": "Μπορείτε να αφαιρέσετε τα περιττά αρχεία για να ελευθερώσετε χώρο στον δίσκο.", "TenantCustomQuotaDescription": "Μπορείτε να αφαιρέσετε τα περιττά αρχεία ή να αλλάξετε την ποσόστωση στις <1>Ρυθμίσεις διαχείρισης αποθ. χώρου.", - "UserQuotaDescription": "Κάντε κλικ εδώ <1>{{clickHere}} για να βρείτε ένα καλύτερο πρόγραμμα τιμολόγησης για την {{productName}} σας.", "UserQuotaHeader": "Ο αριθμός των διαχειριστών/χρηστών ισχύος πρόκειται να ξεπεραστεί: {{currentValue}} / {{maxValue}}." } diff --git a/packages/client/public/locales/el-GR/PDFFormDialog.json b/packages/client/public/locales/el-GR/PDFFormDialog.json index 2a9968bb51..1fb7601a1d 100644 --- a/packages/client/public/locales/el-GR/PDFFormDialog.json +++ b/packages/client/public/locales/el-GR/PDFFormDialog.json @@ -1,5 +1,4 @@ { - "PDFFormDialogTitle": "Έτοιμη προς συμπλήρωση φόρμα PDF", "PDFFormEditDialogDescription": "Θέλετε να μεταβείτε στη λειτουργία επεξεργασίας φόρμας; Λάβετε υπόψη ότι η φόρμα δεν θα είναι πλέον διαθέσιμη για συμπλήρωση και θα πρέπει να κάνετε ξανά κλικ στο κουμπί Έναρξη συμπλήρωσης μετά την επεξεργασία για να τη συμπληρώσετε.", "PDFFormEditDialogTitle": "Επεξεργασία φόρμας", "PDFFormIsReadyToast": "Η φόρμα PDF <1>{{filename}} είναι έτοιμη να συμπληρωθεί.", diff --git a/packages/client/public/locales/el-GR/Payments.json b/packages/client/public/locales/el-GR/Payments.json index cfc61d9fd7..3c41103267 100644 --- a/packages/client/public/locales/el-GR/Payments.json +++ b/packages/client/public/locales/el-GR/Payments.json @@ -25,7 +25,6 @@ "Pay": "Πληρωμή", "Payer": "Πληρωτής", "PayerDescription": "Αυτός ο χρήστης έχει πρόσβαση στα στοιχεία πληρωμής και είναι ο μόνος χρήστης που μπορεί να προσαρμόσει την ποσόστωση και να πραγματοποιήσει πληρωμές. Ο ιδιοκτήτης του {{productName}}, καθώς και ο ίδιος ο διαχειριστής πληρωμών, μπορούν να αναθέσουν εκ νέου το ρόλο του διαχειριστή πληρωμών χρησιμοποιώντας την πύλη πελατών της Stripe.", - "PaymentOverdue": "Δεν είναι δυνατή η προσθήκη νέων χρηστών.", "PriceCalculation": "Υπολογίστε την τιμή σας", "RenewSubscription": "Ανανεώστε τη συνδρομή στο πρόγραμμα {{planName}}", "RoomManagerDescription": "Διαχείριση και αρχειοθέτηση δωματίων, πρόσκληση και διαχείριση χρηστών. Στο δωμάτιο μπορούν να οριστούν διάφοροι διαχειριστές.", @@ -35,7 +34,6 @@ "TotalPricePerMonth": "<1>{{currencySymbol}}<2>{{price}}<3>/μήνα", "UpgradeNow": "Αναβάθμιση τώρα", "UpgradePlan": "Αναβάθμιση προγράμματος", - "UpgradePlanInfo": "Η προσθήκη νέων χρηστών θα υπερβεί τον μέγιστο αριθμό μελών δωματίου που επιτρέπεται από το τρέχον τιμολογιακό σας πρόγραμμα.", "UserNotFound": "Ο χρήστης <1>{{email}} δεν βρέθηκε.", "UserNotFoundMatchingEmail": "Δεν μπορέσαμε να βρούμε τον χρήστη με το αντίστοιχο e-mail της Stripe.", "YourPrice": "Η τιμή σας" diff --git a/packages/client/public/locales/en/Files.json b/packages/client/public/locales/en/Files.json index 1597d2ab33..3d8601db58 100644 --- a/packages/client/public/locales/en/Files.json +++ b/packages/client/public/locales/en/Files.json @@ -117,6 +117,7 @@ "OpenLocation": "Open location", "PasswordAccess": "Password access", "PasswordLink": "Add a password to protect your link.", + "PasswordProtectedFiles": "Please <0>enter a password for the protected files to continue", "PasswordSuccessfullyCopied": "Password successfully copied", "Pin": "Pin", "PinToTop": "Pin to top", diff --git a/packages/client/public/locales/en/Ldap.json b/packages/client/public/locales/en/Ldap.json index 3b768ae259..f8eb100cce 100644 --- a/packages/client/public/locales/en/Ldap.json +++ b/packages/client/public/locales/en/Ldap.json @@ -36,6 +36,7 @@ "LdapPortNumber": "Port Number", "LdapPortNumberTooltip": "Enter the port number for your LDAP server/Active Directory.", "LdapQuota": "User quota", + "LdapQuotaInfo": "To be able to use this attribute, enable user quota in the <0>Storage management settings", "LdapSecondName": "Second name", "LdapSendWelcomeLetter": "Send welcome letter", "LdapSendWelcomeLetterTooltip": "If checked all new users will receive welcome letter. Available only when Mail Attribute is mapped to LDAP.", @@ -66,7 +67,7 @@ "LdapUserDNTooltip": "Enter the distinguished name to the directory containing users you want to add.", "LdapUserFilter": "User Filter", "LdapUserFilterTooltip": "Use the search LDAP filter to select the users who must be imported.", - "LdapUserQuotaTooltip": "To set a storage quota for user, add an attribute in the LDAP directory (for example, DocSpaceQuota) and enter an integer value for this attribute. It will display the quota value in bytes. Here, specify the attribute name only. This attribute will be applied only during the first setup and can be later changed manually in the Accounts section.", + "LdapUserQuotaTooltip": "To set a storage quota for user, add an attribute in the LDAP directory (for example, UsersQuotaLimit) and enter an integer value for this attribute. It will display the quota value in bytes. Here, specify the attribute name only. This attribute will be applied only during the first setup and can be later changed manually in the Accounts section.", "LdapUsersType": "Users type", "LdapUsersTypeInfo": "Users can only access the rooms they are invited to by admins, and can't create own rooms, folders or files. Select another type below to provide more permissions. Otherwise, you can change the type manually in the Accounts section.", "LdapUserTypeTooltip": "All users will be added to {{productName}} with the selected type." diff --git a/packages/client/public/locales/en/MainBar.json b/packages/client/public/locales/en/MainBar.json index 8b4e267a9e..8c76a500aa 100644 --- a/packages/client/public/locales/en/MainBar.json +++ b/packages/client/public/locales/en/MainBar.json @@ -1,19 +1,31 @@ { - "ClickHere": "Click here", + "ArchivedRoomsOrContact": "You can archived the unnecessary rooms or contact the {{productName}} administrator to upgrade the tariff plan.", + "ClickToUpgradeTariff": "<1>Click here to upgrade your tariff plan.", "ConfirmEmailDescription": "Use the link provided in the activation email. Haven't received an email with the activation link?", "ConfirmEmailHeader": "Please activate your email ({{ email }}) to get access to the {{productName}} features.", + "ContactToUpgradeTariff": "Contact the {{productName}} administrator to upgrade the tariff plan.", + "PersonalQuotaHeader": "Your personal storage quota exceeded", + "PersonalQuotaHeaderForAdmins": "Storage quota per user exceeded", "PersonalUserQuotaAdminsDescription": "To upload and create new files and folders, please free up disk space, or manage quota per user in the <1>Storage management settings.", - "PersonalUserQuotaDescription": "To upload and create new files and folders, please free up disk space, or contact the administrator to increase the storage quota.", + "PersonalUserQuotaDescription": "To upload and create new files and folders, please free up disk space, or contact the {{productName}} administrator to increase the storage quota.", + "RemoveFilesOrClickToUpgrade": "Remove the unnecessary files or <1>click here to upgrade your tariff plan.", + "RemoveFilesOrContactToUpgrade": "Remove the unnecessary files or contact the {{productName}} administrator to upgrade the tariff plan.", + "RemoveFilesOrContactToUpgradeQuota": "Remove the unnecessary files or contact the {{productName}} administrator to increase the storage quota.", "RequestActivation": "Request activation once again", - "RoomQuotaDescription": "You can archive the unnecessary rooms or <1>{{clickHere}} to find a more suitable pricing plan for your {{productName}}.", + "RoomQuotaDescription": "You can archive the unnecessary rooms or <1>click here to find a more suitable pricing plan for your {{productName}}.", "RoomQuotaHeader": "The number of rooms is about to be exceeded: {{currentValue}} / {{maxValue}}", - "StorageAndRoomHeader": "Storage and rooms limits are about to be exceeded.", - "StorageAndUserHeader": "Storage and admins/power users limits are about to be exceeded.", - "StorageQuotaDescription": "You can remove the unnecessary files or <1>{{clickHere}} to find a more suitable pricing plan for your {{productName}}.", - "StorageQuotaExceeded": "Storage quota exceeded", + "RoomQuotaHeaderLimit": "The limit is reached for the number of rooms: {{currentValue}} / {{maxValue}}", + "StorageAndRoomHeader": "The limit for storage space and the number of rooms is about to be exceeded", + "StorageAndRoomLimitHeader": "The limit is reached for storage space and the number of rooms", + "StorageAndUserHeader": "The limit for storage space and the number of admins/power users is about to be exceeded", + "StorageAndUserTariffLimitHeader": "The limit is reached for storage space and the number of admins/power users", + "StorageLimitHeader": "The limit is reached for storage space: {{currentValue}} / {{maxValue}}", "StorageQuotaHeader": "Storage space amount is about to be exceeded: {{currentValue}} / {{maxValue}}", - "StorageQuotaUserDescription": "You can remove the unnecessary files to free up disk space.", "TenantCustomQuotaDescription": "You can remove the unnecessary files or change quota in the <1>Storage management settings.", - "UserQuotaDescription": "<1>{{clickHere}} to find a better pricing plan for your {{productName}}.", - "UserQuotaHeader": "The number of admins/power users is about to be exceeded: {{currentValue}} / {{maxValue}}." + "UserQuotaHeader": "The number of admins/power users is about to be exceeded: {{currentValue}} / {{maxValue}}", + "UserTariffAlmostReached": "Once the limit is reached, all users will be added with User permissions only. To be able to add further admins/power users, contact the {{productName}} administrator to upgrade the tariff plan.", + "UserTariffAlmostReachedForAdmins": "Once the limit is reached, all users will be added with User permissions only. To be able to add further admins/power users, <1>click here to upgrade your tariff plan.", + "UserTariffLimitHeader": "The limit is reached for the number of admins/power users: {{currentValue}} / {{maxValue}}", + "UserTariffReached": "All users will be added with User permissions only. To be able to add further admins/power users, contact the {{productName}} administrator to upgrade the tariff plan.", + "UserTariffReachedForAdmins": "All users will be added with User permissions only. To be able to add further admins/power users, <1>click here to upgrade your tariff plan." } diff --git a/packages/client/public/locales/en/PDFFormDialog.json b/packages/client/public/locales/en/PDFFormDialog.json index 93408f6085..784ade7520 100644 --- a/packages/client/public/locales/en/PDFFormDialog.json +++ b/packages/client/public/locales/en/PDFFormDialog.json @@ -1,5 +1,5 @@ { - "PDFFormDialogTitle": "Ready-to-fill-out PDF form", + "PDFform": "PDF form", "PDFFormEditDialogDescription": "Do you want to switch to the form editing mode? Please note that the form will no longer be available for filling out and you will need to click the Start filling button again after editing to fill it out.", "PDFFormEditDialogTitle": "Form editing", "PDFFormIsReadyToast": "PDF form <1>{{filename}} is ready to be filled out.", diff --git a/packages/client/public/locales/en/Payments.json b/packages/client/public/locales/en/Payments.json index 1f32a18430..52ba68f8e7 100644 --- a/packages/client/public/locales/en/Payments.json +++ b/packages/client/public/locales/en/Payments.json @@ -9,6 +9,9 @@ "BusinessSuggestion": "Customize your {{planName}} plan", "BusinessTitle": "You are using {{planName}} plan", "BusinessUpdated": "{{planName}} plan updated", + "CannotCreateNewRoom": "Room cannot be created", + "CannotCreatePaidUsers": "Paid users cannot be added", + "CannotRestoreRoom": "Room cannot be restored", "ChooseNewPayer": "Choose a new Payer", "ChooseNewPlan": "Would you like to choose a new pricing plan?", "ContactUs": "For sales questions, contact us at", @@ -22,21 +25,26 @@ "InvalidEmailWithoutActiveSubscription": "We recommend choosing a new Payer who gets access to subscription settings in {{productName}}.", "InvalidEmailWithoutActiveSubscriptionByAdmin": "We recommend contacting the {{productName}} owner to choose a new Payer.", "ManagerTypesDescription": "Admin account types and their privileges", + "NewRoomWillExceedLimit": "Creating this room is not possible since the limit is reached for the number of rooms included in your current plan.", + "NewUsersWillExceedMembersLimit": "Adding new paid users is not possible since the limit is reached for the number of admins included in your current plan.", + "NotPossibleRoomRestoring": "Restoring this room is not possible since the limit is reached for the number of rooms included in your current plan.", + "NumberOfRoomsAccordingToTariff": "Number of rooms according to your tariff plan: {{currentValue}}/{{maxValue}}", + "NumberOfUsersAccordingToTariff": "Number of admins/power users according to your tariff plan: {{currentValue}}/{{maxValue}}", "Pay": "Pay", "Payer": "Payer", "PayerDescription": "This user has access to payment details and is the only user who can adjust the quota and make payments. The {{productName}} owner, as well as the paying manager themselves, can reassign the paying manager role using the Stripe customer portal.", - "PaymentOverdue": "Cannot add new users.", "PriceCalculation": "Calculate your price", "RenewSubscription": "Renew subscription to {{planName}} plan", "RoomManagerDescription": "Room administration and archiving, user invitation and management. Several admins can be assigned to the room.", + "RoomsQuotaAlmostExhausted": "The quota of rooms is almost exhausted.", "StartupSuggestion": "Do more with {{planName}} plan", "StartupTitle": "You are using free {{planName}} plan", "StripeCustomerPortal": "go to the Stripe customer portal", "TotalPricePerMonth": "<1>{{currencySymbol}}<2>{{price}}<3>/month", "UpgradeNow": "Upgrade now", "UpgradePlan": "Upgrade plan", - "UpgradePlanInfo": "By adding new users you will exceed the maximum number of room members allowed by your current pricing plan.", "UserNotFound": "User <1>{{email}} is not found.", "UserNotFoundMatchingEmail": "We couldn’t find the user with the matching Stripe e-mail.", + "UsersQuotaAlmostExhausted": "The quota of paid users is almost exhausted.", "YourPrice": "Your price" } diff --git a/packages/client/public/locales/es/MainBar.json b/packages/client/public/locales/es/MainBar.json index 76df9a5987..58b9e6b755 100644 --- a/packages/client/public/locales/es/MainBar.json +++ b/packages/client/public/locales/es/MainBar.json @@ -1,19 +1,12 @@ { - "ClickHere": "Haga clic aquí", "ConfirmEmailDescription": "Utilice el enlace proporcionado en el correo electrónico de activación. ¿No ha recibido el correo electrónico con el enlace de activación?", "ConfirmEmailHeader": "Por favor, active su correo electrónico ({{ email }}) para obtener acceso a las características de {{productName}}.", "PersonalUserQuotaAdminsDescription": "Para cargar y crear nuevos archivos y carpetas, libere espacio en el disco o administre la cuota por usuario en la <1>Configuración de administración de almacenamiento.", "PersonalUserQuotaDescription": "Para cargar y crear nuevos archivos y carpetas, libere espacio en el disco o contacte con el administrador para aumentar la cuota de almacenamiento.", "RequestActivation": "Volver a solicitar la activación", - "RoomQuotaDescription": "Puede archivar las salas innecesarias o <1>{{clickHere}} para encontrar un plan de precios más adecuado para su {{productName}}.", "RoomQuotaHeader": "Las salas están a punto de excederse: {{currentValue}} / {{maxValue}}", - "StorageAndRoomHeader": "Los límites de almacenamiento y de salas están a punto de excederse.", "StorageAndUserHeader": "Los límites de almacenamiento y de administradores/usuarios avanzados están a punto de excederse.", - "StorageQuotaDescription": "Puede eliminar los archivos innecesarios o <1>{{clickHere}} para encontrar un plan de precios más adecuado para su {{productName}}.", - "StorageQuotaExceeded": "Se ha superado la cuota de almacenamiento", "StorageQuotaHeader": "La cantidad de espacio de almacenamiento está a punto de excederse: {{currentValue}} / {{maxValue}}", - "StorageQuotaUserDescription": "Puede eliminar los archivos innecesarios para liberar espacio en disco.", "TenantCustomQuotaDescription": "Puede eliminar los archivos innecesarios o cambiar la cuota en la <1>Configuración de administración de almacenamiento.", - "UserQuotaDescription": "<1>{{clickHere}} para encontrar un mejor plan de precios para su {{productName}}.", "UserQuotaHeader": "El número de administradores/usuarios avanzados está a punto de excederse: {{currentValue}} / {{maxValue}}." } diff --git a/packages/client/public/locales/es/PDFFormDialog.json b/packages/client/public/locales/es/PDFFormDialog.json index 2a8edf1d43..c4e3653bf5 100644 --- a/packages/client/public/locales/es/PDFFormDialog.json +++ b/packages/client/public/locales/es/PDFFormDialog.json @@ -1,5 +1,4 @@ { - "PDFFormDialogTitle": "Formulario PDF listo para rellenar", "PDFFormEditDialogDescription": "¿Desea cambiar al modo de edición de formularios? Por favor, tenga en cuenta que el formulario ya no estará disponible para rellenarlo y tendrá que volver a hacer clic en el botón Empezar a rellenar después de editarlo para rellenarlo.", "PDFFormEditDialogTitle": "Edición del formulario", "PDFFormIsReadyToast": "El formulario PDF <1>{{filename}} está listo para ser rellenado.", diff --git a/packages/client/public/locales/es/Payments.json b/packages/client/public/locales/es/Payments.json index 0ac4d2c5f7..d134259af5 100644 --- a/packages/client/public/locales/es/Payments.json +++ b/packages/client/public/locales/es/Payments.json @@ -25,7 +25,6 @@ "Pay": "Pagar", "Payer": "Pagador", "PayerDescription": "Este usuario tiene acceso a los detalles de pago y es el único que puede ajustar la cuota y realizar pagos. El propietario de {{productName}}, así como el propio gestor de pagos, pueden reasignar el rol de gestor de pagos mediante el portal de cliente de Stripe.", - "PaymentOverdue": "No se puede añadir nuevos usuarios.", "PriceCalculation": "Calcule su precio", "RenewSubscription": "Renovar suscripción al plan {{planName}}", "RoomManagerDescription": "Administración y archivado de salas, invitación y gestión de usuarios. Se pueden asignar varios administradores a la sala.", @@ -35,7 +34,6 @@ "TotalPricePerMonth": "<1>{{currencySymbol}}<2>{{price}}<3>/mes", "UpgradeNow": "Actualizar ahora", "UpgradePlan": "Actualizar plan", - "UpgradePlanInfo": "La adición de nuevos usuarios excederá el número máximo de miembros de la sala permitidos por su plan de precios actual.", "UserNotFound": "No se ha encontrado el usuario <1>{{email}}.", "UserNotFoundMatchingEmail": "No hemos podido encontrar al usuario con el correo electrónico de Stripe correspondiente.", "YourPrice": "Su precio" diff --git a/packages/client/public/locales/fi/MainBar.json b/packages/client/public/locales/fi/MainBar.json index e078ac33e2..c27eba1263 100644 --- a/packages/client/public/locales/fi/MainBar.json +++ b/packages/client/public/locales/fi/MainBar.json @@ -1,19 +1,12 @@ { - "ClickHere": "Klikkaa tästä", "ConfirmEmailDescription": "Käytä aktivointisähköpostissa annettua linkkiä. Etkö ole saanut aktivointilinkkiä sähköpostilla?", "ConfirmEmailHeader": "Ole hyvä ja aktivoi sähköpostisi ({{ email }}) saadaksesi {{productName}}:n ominaisuudet käyttöön.", "PersonalUserQuotaAdminsDescription": "Ole hyvä ja vapauta levytilaa ladataksesi ja luodaksesi uusia tiedostoja ja kansioita, tai hallitaksesi kiintiötä per käyttäjä <1>Muistinhallinta-asetuksissa. ", "PersonalUserQuotaDescription": "Ole hyvä ja vapauta levytilaa ladataksesi ja luodaksesi tiedostoja ja kansioita tai ota yhteyttä järjestelmänvalvojaan lisätäksesi muistin kiintiötä.", "RequestActivation": "Pyydä aktivointia vielä kerran", - "RoomQuotaDescription": "Voit arkistoida huoneita, joita et käytä tai <1>{{clickHere}} löytääksesi sopivamman hinnoitteluohjelman {{productName}}-llesi.", "RoomQuotaHeader": "Huoneet täyttyvät pian {{currentValue}} / {{maxValue}}", - "StorageAndRoomHeader": "Muisti ja huoneiden määrän raja on ylittymässä. ", "StorageAndUserHeader": "Muisti ja ylläpitäjien/tehokäyttäjien määrän raja on ylittymässä.", - "StorageQuotaDescription": "Voit poistaa tarpeettomat tiedostot tai <1>{{clickHere}} löytääksesi sopivamman hintaohjelman {{productName}}-llesi.", - "StorageQuotaExceeded": "Muistin kiintiö ylitetty", "StorageQuotaHeader": "Tallennustilan määrä on ylittymässä: {{currentValue}} / {{maxValue}}", - "StorageQuotaUserDescription": "Voit poistaa tarpeettomat tiedostot vapauttaaksesi levytilaa.", "TenantCustomQuotaDescription": "Voit poistaa tarpeettomat tiedostot tai muuttaa kiintiötä <1>Muistinhallinta-asetuksissa.", - "UserQuotaDescription": "<1>{{clickHere}} löytääksesi {{productName}}-llesi sopivamman hinnoitteluohjelman.", "UserQuotaHeader": "Ylläpitäjien/tehokäyttäjien määrän raja on ylittymässä: {{currentValue}} / {{maxValue}}" } diff --git a/packages/client/public/locales/fi/PDFFormDialog.json b/packages/client/public/locales/fi/PDFFormDialog.json index ff1a5cb431..77a3880373 100644 --- a/packages/client/public/locales/fi/PDFFormDialog.json +++ b/packages/client/public/locales/fi/PDFFormDialog.json @@ -1,5 +1,4 @@ { - "PDFFormDialogTitle": "Lomakepohja", "PDFFormEditDialogDescription": "Haluatko vaihtaa lomakkeen muokkaustilaan? Huomioithan, että lomake ei ole enää täytettävissä ja sinun tulee klikata Aloita täyttäminen-painiketta jälleen muokkauksen jälkeen alkaessasi täyttää sitä.", "PDFFormEditDialogTitle": "Lomakkeen muokkaus", "PDFFormIsReadyToast": "PDF-lomake <1>{{filename}} on valmiina täytettäväksi.", diff --git a/packages/client/public/locales/fi/Payments.json b/packages/client/public/locales/fi/Payments.json index ea16547d45..dc870d12f7 100644 --- a/packages/client/public/locales/fi/Payments.json +++ b/packages/client/public/locales/fi/Payments.json @@ -25,7 +25,6 @@ "Pay": "Maksa", "Payer": "Maksaja", "PayerDescription": "Tällä käyttäjällä on pääsy maksutietoihin ja on ainoa käyttäjä, joka voi muokata kiintiötä ja suorittaa maksuja. {{productName}}-n omistaja ja maksava johtaja voivat määrätä uudelleen maksavan johtajan rooliin käyttäen Stripe-asiakasportaalia.", - "PaymentOverdue": "Et voi lisätä uusia käyttäjiä.", "PriceCalculation": "Laske hintasi", "RenewSubscription": "Uusi tilaus {{planName}} ohjelmaan", "RoomManagerDescription": "Huoneen hallinto ja arkistointi, käyttäjien kutsuminen ja hallinta. Useita järjestelmänvalvojia voi olla määrättynä huoneeseen.", @@ -35,7 +34,6 @@ "TotalPricePerMonth": "<1>{{currencySymbol}}<2>{{price}}<3>/kuukausi", "UpgradeNow": "Päivitä nyt", "UpgradePlan": "Päivitä ohjelma", - "UpgradePlanInfo": "Uusien käyttäjien lisääminen ylittää huoneen jäsenien maksimimäärän, jonka tämänhetkinen hinnoitteluohjelma sallii.", "UserNotFound": "Käyttäjän <1>{{email}} ei löydy.", "UserNotFoundMatchingEmail": "Käyttäjää vastaavalla Stripe-sähköpostilla ei löytynyt.", "YourPrice": "Hintasi" diff --git a/packages/client/public/locales/fr/MainBar.json b/packages/client/public/locales/fr/MainBar.json index 77a980d913..7aec9a4979 100644 --- a/packages/client/public/locales/fr/MainBar.json +++ b/packages/client/public/locales/fr/MainBar.json @@ -1,19 +1,12 @@ { - "ClickHere": "Cliquer ici", "ConfirmEmailDescription": "Utilisez le lien fourni dans l’e-mail d’activation. Vous n’avez pas reçu d’e-mail contenant le lien d’activation ?", "ConfirmEmailHeader": "Veuillez activer votre adresse e-mail ({{ email }}) pour accéder aux fonctionnalités de {{productName}}.", "PersonalUserQuotaAdminsDescription": "Pour télécharger et créer de nouveaux fichiers et dossiers, veuillez libérer l'espace de stockage ou gérez des quotas d'utilisateurs à partir de la section <1>Paramètres de gestion du stockage.", "PersonalUserQuotaDescription": "Pour télécharger et créer de nouveaux fichiers et dossiers, veuillez libérer l'espace de stockage ou contactez l'administrateur pour augmenter le quota de stockage.", "RequestActivation": "Demander à nouveau l’activation", - "RoomQuotaDescription": "Vous pouvez archiver les salles inutiles ou <1>{{clickHere}} pour trouver un plan tarifaire plus adapté à votre {{productName}}.", "RoomQuotaHeader": "Salles est sur le point d’être dépassée : {{currentValue}} / {{maxValue}}", - "StorageAndRoomHeader": "Les limites de stockage et de salles sont sur le point d’être dépassées.", "StorageAndUserHeader": "Les limites de stockage et d'administrateurs/utilisateurs avancés sont sur le point d'être dépassées.", - "StorageQuotaDescription": "Vous pouvez supprimer les fichiers inutiles ou <1>{{clickHere}} pour trouver un plan tarifaire plus adapté à votre {{productName}}.", - "StorageQuotaExceeded": "Quota de stockage est dépassé", "StorageQuotaHeader": "L’espace de stockage est sur le point d’être dépassé : {{currentValue}} / {{maxValue}}", - "StorageQuotaUserDescription": "Vous pouvez supprimer les fichiers inutiles pour libérer de l'espace disque.", "TenantCustomQuotaDescription": "Vous pouvez supprimer les fichiers inutiles ou modifier le quota dans la section <1>Paramètres de gestion du stockage.", - "UserQuotaDescription": "<1>{{clickHere}} pour trouver un meilleur plan tarifaire pour votre {{productName}}.", "UserQuotaHeader": "Le nombre d'administrateurs/utilisateurs avancés est sur le point d'être dépassé : {{currentValue}} / {{maxValue}}." } diff --git a/packages/client/public/locales/fr/PDFFormDialog.json b/packages/client/public/locales/fr/PDFFormDialog.json index ed80b0a90f..343cd5bd31 100644 --- a/packages/client/public/locales/fr/PDFFormDialog.json +++ b/packages/client/public/locales/fr/PDFFormDialog.json @@ -1,5 +1,4 @@ { - "PDFFormDialogTitle": "Formulaire PDF prêt à remplir", "PDFFormEditDialogDescription": "Souhaitez-vous passer au mode d'édition du formulaire ? Veuillez noter que le formulaire ne sera plus disponible pour être rempli et que vous devrez cliquer à nouveau sur le bouton Commencer à remplir après l'édition pour le remplir.", "PDFFormEditDialogTitle": "Édition de formulaires", "PDFFormIsReadyToast": "Le formulaire PDF <1>{{filename}} est prêt à être rempli.", diff --git a/packages/client/public/locales/fr/Payments.json b/packages/client/public/locales/fr/Payments.json index c477f7d41c..83df6c471a 100644 --- a/packages/client/public/locales/fr/Payments.json +++ b/packages/client/public/locales/fr/Payments.json @@ -25,7 +25,6 @@ "Pay": "Payer", "Payer": "Payeur", "PayerDescription": "Cet utilisateur a accès aux détails des paiements et est le seul à pouvoir ajuster le quota et effectuer des paiements. Le propriétaire de {{productName}}, ainsi que le gestionnaire de paiement lui-même, peuvent réattribuer le rôle de gestionnaire de paiement en utilisant le portail client Stripe.", - "PaymentOverdue": "Impossible d’ajouter de nouveaux utilisateurs.", "PriceCalculation": "Calculez votre prix", "RenewSubscription": "Renouveler l’abonnement au plan tarifaire {{planName}}", "RoomManagerDescription": "Administration et archivage des salles, invitation et gestion des utilisateurs. Plusieurs administrateurs peuvent être affectés à la salle.", @@ -35,7 +34,6 @@ "TotalPricePerMonth": "<1>{{currencySymbol}}<2>{{price}}<3>/mois", "UpgradeNow": "Mettre à jour maintenant", "UpgradePlan": "Mettre à jour le plan tarifaire", - "UpgradePlanInfo": "L’ajout de nouveaux utilisateurs dépassera le nombre maximum de membres de la salle autorisé par votre plan tarifaire actuel.", "UserNotFound": "L’utilisateur <1>{{email}} est introuvable.", "UserNotFoundMatchingEmail": "Nous n’avons pas trouvé l’utilisateur avec l’e-mail Stripe correspondant.", "YourPrice": "Votre prix" diff --git a/packages/client/public/locales/hy-AM/MainBar.json b/packages/client/public/locales/hy-AM/MainBar.json index 15841056b3..06a2b162d7 100644 --- a/packages/client/public/locales/hy-AM/MainBar.json +++ b/packages/client/public/locales/hy-AM/MainBar.json @@ -1,19 +1,12 @@ { - "ClickHere": "Կտտացրեք այստեղ", "ConfirmEmailDescription": "Օգտագործեք ակտիվացման նամակում նշված հղումը: Ակտիվացման հղումով նամակ չե՞ք ստացել:", "ConfirmEmailHeader": "Խնդրում ենք ակտիվացնել ձեր էլ ({{ email }})․ հասցեն՝ {{productName}}-ի գործառույթներին հասանելիություն ստանալու համար։", "PersonalUserQuotaAdminsDescription": "Նոր ֆայլեր և պանակներ վերբեռնելու և ստեղծելու համար խնդրում ենք ազատեք սկավառակի տարածքը կամ կառավարեք յուրաքանչյուր օգտատիրոջ չափաբաժինը <1>Storage management settings.", "PersonalUserQuotaDescription": "Նոր ֆայլեր և թղթապանակներ վերբեռնելու և ստեղծելու համար խնդրում ենք ազատեք սկավառակի տարածքը կամ կապվեք ադմինիստրատորի հետ՝ պահեստավորման քվոտան մեծացնելու համար:", "RequestActivation": "Խնդրեք ակտիվացում ևս մեկ անգամ", - "RoomQuotaDescription": "Դուք կարող եք արխիվացնել ավելորդ սենյակները կամ <1>{{clickHere}}՝ ձեր {{productName}}-ի համար ավելի հարմար գնային պլան գտնելու համար:", "RoomQuotaHeader": "Սենյակները շուտով գերազանցելու են՝ {{currentValue}} / {{maxValue}}", - "StorageAndRoomHeader": "Պահեստի և սենյակների սահմանաչափերը շուտով կգերազանցվեն:", "StorageAndUserHeader": "Պահպանման և ադմինիստրատորների/հզոր օգտագործողների սահմանաչափերը շուտով կգերազանցվեն:", - "StorageQuotaDescription": "Դուք կարող եք հեռացնել ավելորդ ֆայլերը կամ <1>{{clickHere}}՝ ձեր {{productName}}-ի համար ավելի հարմար գնային պլան գտնելու համար:", - "StorageQuotaExceeded": "Պահպանման սահմանաչափը գերազանցվել է", "StorageQuotaHeader": "Պահեստային տարածքի քանակը քիչ է մնում գերազանցվի՝ {{currentValue}} / {{maxValue}}", - "StorageQuotaUserDescription": "Դուք կարող եք հեռացնել ավելորդ ֆայլերը՝ սկավառակի տարածքը ազատելու համար:", "TenantCustomQuotaDescription": "Դուք կարող եք հեռացնել ավելորդ ֆայլերը կամ փոխել սահմանաչափը <1>Պահպանման կառավարման կարգավորումներ:", - "UserQuotaDescription": "<1>{{clickHere}} ձեր {{productName}}-ի համար ավելի լավ գնային փաթեթ գտնելու համար:", "UserQuotaHeader": "Ադմինիստրատորների/հզոր օգտատերերի թիվը պատրաստվում է գերազանցել՝ {{currentValue}} / {{maxValue}}:" } diff --git a/packages/client/public/locales/hy-AM/PDFFormDialog.json b/packages/client/public/locales/hy-AM/PDFFormDialog.json index 21a7076df0..f22950ae71 100644 --- a/packages/client/public/locales/hy-AM/PDFFormDialog.json +++ b/packages/client/public/locales/hy-AM/PDFFormDialog.json @@ -1,5 +1,4 @@ { - "PDFFormDialogTitle": "Լրացման պատրաստի PDF ձև", "PDFFormEditDialogDescription": "Ցանկանու՞մ եք անցնել ձևի խմբագրման ռեժիմին: Խնդրում ենք նկատի ունենալ, որ ձևն այլևս հասանելի չի լինի լրացնելու համար, և այն լրացնելու համար անհրաժեշտ է խմբագրելուց հետո նորից սեղմել Սկսել լրացնել կոճակը:", "PDFFormEditDialogTitle": "Ձևի խմբագրում", "PDFFormIsReadyToast": "PDF ձև <1>{{filename}} պատրաստ է լրացման։", diff --git a/packages/client/public/locales/hy-AM/Payments.json b/packages/client/public/locales/hy-AM/Payments.json index 3d64485ff7..5c06cc36e1 100644 --- a/packages/client/public/locales/hy-AM/Payments.json +++ b/packages/client/public/locales/hy-AM/Payments.json @@ -25,7 +25,6 @@ "Pay": "Վճարել", "Payer": "Վճարող", "PayerDescription": "Այս օգտվողին հասանելի են վճարման մանրամասները և միակ օգտվողն է, ով կարող է կարգավորել քվոտան և կատարել վճարումներ: {{productName}}-ի սեփականատերը, ինչպես նաև իրենք՝ վճարող կառավարիչը, կարող են վերահանձնել վճարող մենեջերի դերը՝ օգտագործելով Stripe հաճախորդների պորտալը:", - "PaymentOverdue": "Հնարավոր չէ ավելացնել նոր օգտվողներ:", "PriceCalculation": "Հաշվարկեք ձեր արժեքը", "RenewSubscription": "Թարմացրեք {{planName}} պլանի բաժանորդագրությունը", "RoomManagerDescription": "Սենյակի կառավարում և արխիվացում, օգտատերերի հրավեր և կառավարում: Սենյակում կարող են նշանակվել մի քանի ադմիններ:", @@ -35,7 +34,6 @@ "TotalPricePerMonth": "<1>{{currencySymbol}}<2>{{price}}<3>/ամիս", "UpgradeNow": "Թարմացնել հիմա", "UpgradePlan": "Թարմացման պլան", - "UpgradePlanInfo": "Նոր օգտվողների ավելացումը կգերազանցի սենյակի անդամների առավելագույն թիվը, որը թույլատրվում է ձեր ընթացիկ գնային պլանով:", "UserNotFound": "<1>{{email}} օգտվողը չի գտնվել:", "UserNotFoundMatchingEmail": "Մենք չկարողացանք գտնել համապատասխան Stripe էլ․ հասցեով օգտվողին:", "YourPrice": "Ձեր գինը" diff --git a/packages/client/public/locales/it/MainBar.json b/packages/client/public/locales/it/MainBar.json index d762e8f603..deb6118bff 100644 --- a/packages/client/public/locales/it/MainBar.json +++ b/packages/client/public/locales/it/MainBar.json @@ -1,19 +1,12 @@ { - "ClickHere": "Clicca qui", "ConfirmEmailDescription": "Utilizza il collegamento fornito nell’e-mail di attivazione. Non hai ricevuto un’e-mail con il link di attivazione?", "ConfirmEmailHeader": "Ti preghiamo di attivare la tua e-mail ({{ email }}) per accedere alle funzionalità di {{productName}}.", "PersonalUserQuotaAdminsDescription": "Per caricare e creare nuovi file e cartelle, libera spazio su disco o gestisci la quota per utente nelle <1>Impostazioni di gestione dello spazio di archiviazione.", "PersonalUserQuotaDescription": "Per caricare e creare nuovi file e cartelle, libera spazio su disco o contatta l'amministratore per aumentare la quota di archiviazione.", "RequestActivation": "Richiedi l’attivazione ancora una volta", - "RoomQuotaDescription": "Puoi archiviare le stanze non necessarie o <1>{{clickHere}} per trovare un piano tariffario più adatto per il tuo {{productName}}.", "RoomQuotaHeader": "Sta per essere superato il limite di stanze: {{currentValue}} / {{maxValue}}", - "StorageAndRoomHeader": "I limiti di spazio di archiviazione e stanze stanno per essere superati.", "StorageAndUserHeader": "I limiti di spazio di archiviazione e amministratori/utenti esperti stanno per essere superati.", - "StorageQuotaDescription": "Puoi rimuovere i file non necessari o <1>{{clickHere}} per trovare un piano tariffario più adatto per il tuo {{productName}}.", - "StorageQuotaExceeded": "Quota di archiviazione superata", "StorageQuotaHeader": "Lo spazio di archiviazione sta per essere esaurito: {{currentValue}} / {{maxValue}}", - "StorageQuotaUserDescription": "Puoi rimuovere i file non necessari per liberare spazio sul disco.", "TenantCustomQuotaDescription": "Puoi rimuovere i file non necessari o modificare la quota nelle <1>mpostazioni di gestione dello spazio di archiviazione.", - "UserQuotaDescription": "<1>{{clickHere}} per trovare un piano tariffario migliore per il tuo {{productName}}.", "UserQuotaHeader": "Il numero di amministratori/utenti esperti sta per essere superato: {{currentValue}} / {{maxValue}}." } diff --git a/packages/client/public/locales/it/PDFFormDialog.json b/packages/client/public/locales/it/PDFFormDialog.json index 4d5cc29a84..86923ea167 100644 --- a/packages/client/public/locales/it/PDFFormDialog.json +++ b/packages/client/public/locales/it/PDFFormDialog.json @@ -1,5 +1,4 @@ { - "PDFFormDialogTitle": "Modulo PDF pronto da compilare", "PDFFormEditDialogDescription": "Vuoi passare alla modalità di modifica del modulo? Tieni presente che il modulo non sarà più disponibile per la compilazione e dovrai fare nuovamente clic sul pulsante Inizia compilazione dopo la modifica per compilarlo.", "PDFFormEditDialogTitle": "Modifica del modulo", "PDFFormIsReadyToast": "Il modulo PDF <1>{{filename}} è pronto per essere compilato.", diff --git a/packages/client/public/locales/it/Payments.json b/packages/client/public/locales/it/Payments.json index 3f33861d78..662f01d08b 100644 --- a/packages/client/public/locales/it/Payments.json +++ b/packages/client/public/locales/it/Payments.json @@ -25,7 +25,6 @@ "Pay": "Paga", "Payer": "Pagatore", "PayerDescription": "Questo utente ha accesso ai dettagli di pagamento ed è l’unico utente che può modificare la quota ed effettuare pagamenti. Il proprietario di {{productName}}, così come lo stesso gestore dei pagamenti, può riassegnare il ruolo di responsabile dei pagamenti utilizzando il portale clienti Stripe.", - "PaymentOverdue": "Impossibile aggiungere nuovi utenti.", "PriceCalculation": "Calcola il tuo prezzo", "RenewSubscription": "Rinnova la sottoscrizione al piano {{planName}}", "RoomManagerDescription": "Amministrazione e archiviazione delle stanze, invito e gestione degli utenti. È possibile assegnare più amministratori alla stanza.", @@ -35,7 +34,6 @@ "TotalPricePerMonth": "<1>{{currencySymbol}}<2>{{price}}<3>/mese", "UpgradeNow": "Aggiorna ora", "UpgradePlan": "Aggiorna il piano", - "UpgradePlanInfo": "Aggiungendo nuovi utenti supererai il numero massimo di membri della stanza consentito dal tuo attuale piano tariffario.", "UserNotFound": "L’utente <1>{{email}} non è stato trovato.", "UserNotFoundMatchingEmail": "Non siamo riusciti a trovare l'utente con l'e-mail Stripe corrispondente.", "YourPrice": "Il tuo prezzo" diff --git a/packages/client/public/locales/ja-JP/MainBar.json b/packages/client/public/locales/ja-JP/MainBar.json index 31c39c3f5e..76d84473d2 100644 --- a/packages/client/public/locales/ja-JP/MainBar.json +++ b/packages/client/public/locales/ja-JP/MainBar.json @@ -1,19 +1,12 @@ { - "ClickHere": "ここをクリック", "ConfirmEmailDescription": "アクティベーションメールに記載されているリンクを使用してください。アクティベーション用リンクが記載されたメールが届いていませんか?", "ConfirmEmailHeader": "{{productName}}の機能を利用するために、メール({{ email }})を有効にしてください。", "PersonalUserQuotaAdminsDescription": "新しいファイルやフォルダをアップロードしたり作成したりするには、<1>ストレージ管理設定でディスク領域を解放するか、ユーザーごとに容量制限を管理してください。", "PersonalUserQuotaDescription": "新しいファイルやフォルダをアップロードしたり作成したりするには、ディスクの空き容量を確保するか、管理者に連絡してストレージの容量制限を増やしてください。", "RequestActivation": "もう一度アクティベーションを要求する", - "RoomQuotaDescription": "不要なルームをアーカイブしたり、<1>{{clickHere}}して、{{productName}}にもっと適した料金プランを見つけることができます。", "RoomQuotaHeader": "このルームは、もうすぐ制限を超えます:{{currentValue}} / {{maxValue}}", - "StorageAndRoomHeader": "ストレージやルームの制限を超えそうです。", "StorageAndUserHeader": "ストレージと管理者/パワーユーザーの制限を超えそうです。", - "StorageQuotaDescription": "不要なファイルを削除するか、<1>{{clickHere}}して、{{productName}}に適した料金プランを見つけることができます。", - "StorageQuotaExceeded": "ストレージ容量制限を超えています", "StorageQuotaHeader": "ストレージのスペースは、もうすぐサイズ上限を超えます:{{currentValue}} / {{maxValue}}", - "StorageQuotaUserDescription": "不要なファイルを削除して、ディスク領域を確保できます。", "TenantCustomQuotaDescription": "不要ファイルを削除するか、<1>ストレージ管理設定で容量制限の変更ができます。", - "UserQuotaDescription": "お使いの{{productName}}に適した料金プランを選択するには、<1>{{clickHere}}。", "UserQuotaHeader": "管理者/パワーユーザー数を超えそうです:{{currentValue}} / {{maxValue}}" } diff --git a/packages/client/public/locales/ja-JP/PDFFormDialog.json b/packages/client/public/locales/ja-JP/PDFFormDialog.json index 783bc769f3..51f6231422 100644 --- a/packages/client/public/locales/ja-JP/PDFFormDialog.json +++ b/packages/client/public/locales/ja-JP/PDFFormDialog.json @@ -1,5 +1,4 @@ { - "PDFFormDialogTitle": "すぐに使えるPDFフォーム", "PDFFormEditDialogDescription": "フォーム編集モードに切り替えますか?この場合、フォームの入力はできなくなり、編集後に再度「記入開始」ボタンをクリックして入力する必要がありますのでご注意ください。", "PDFFormEditDialogTitle": "フォーム編集", "PDFFormIsReadyToast": "PDFフォーム<1>{{filename}}の記入準備が整いました。", diff --git a/packages/client/public/locales/ja-JP/Payments.json b/packages/client/public/locales/ja-JP/Payments.json index 113c0de4ee..a8cad0d2f3 100644 --- a/packages/client/public/locales/ja-JP/Payments.json +++ b/packages/client/public/locales/ja-JP/Payments.json @@ -25,7 +25,6 @@ "Pay": "支払", "Payer": "支払人", "PayerDescription": "このユーザーは、支払いの詳細へのアクセス権を持ち、クォータの調整と支払いを行うことができる唯一のユーザーです。{{productName}}の所有者だけでなく、支払いマネージャー自身も、Stripeカスタマーポータルを使用してペイイングマネージャーの役割を再割り当てすることができます。", - "PaymentOverdue": "新しいユーザーを追加することができません。", "PriceCalculation": "価格を計算する", "RenewSubscription": "{{planName}}プランの契約を更新する", "RoomManagerDescription": "ルームの管理・アーカイブ、ユーザーの招待・管理。ルームに複数の管理者を割り当てることができます。", @@ -35,7 +34,6 @@ "TotalPricePerMonth": "<1>{{currencySymbol}}<2>{{price}}<3>/月", "UpgradeNow": "今すぐアップグレードする", "UpgradePlan": "プランのアップグレード", - "UpgradePlanInfo": "新しいユーザーを追加すると、現在の料金プランで許可されているルームメンバーの最大数を超えます。", "UserNotFound": "<1>{{email}}ユーザーが見つかりません。", "UserNotFoundMatchingEmail": "我们无法找到与Stripe电子邮件匹配的用户。", "YourPrice": "価格" diff --git a/packages/client/public/locales/ko-KR/MainBar.json b/packages/client/public/locales/ko-KR/MainBar.json index dfb25b21b9..94d84e2c16 100644 --- a/packages/client/public/locales/ko-KR/MainBar.json +++ b/packages/client/public/locales/ko-KR/MainBar.json @@ -1,19 +1,12 @@ { - "ClickHere": "여기를 클릭", "ConfirmEmailDescription": "활성화 이메일에 첨부된 링크를 사용하세요. 활성화 링크가 첨부된 이메일을 받지 못하셨나요?", "ConfirmEmailHeader": "{{productName}} 기능에 액세스하려면 ({{ email }})이메일을 활성화하세요.", "PersonalUserQuotaAdminsDescription": "새 파일 및 폴더를 업로드하거나 생성하려면 디스크 공간을 확보하거나 <1>스토리지 관리 설정에서 사용자당 할당량을 관리하세요.", "PersonalUserQuotaDescription": "새 파일 및 폴더를 업로드하거나 생성하려면 디스크 공간을 확보하거나 스토리지 할당량을 늘리세요.", "RequestActivation": "다시 한 번 활성화 요청", - "RoomQuotaDescription": "불필요한 방을 아카이브하거나 <1>{{clickHere}}하여 더 적합한 {{productName}} 요금제를 찾으세요.", "RoomQuotaHeader": "방이 곧 초과될 예정입니다: {{currentValue}} / {{maxValue}}", - "StorageAndRoomHeader": "곧 저장 용량 및 방 한도를 초과하게 됩니다.", "StorageAndUserHeader": "곧 저장 용량 및 관리자/고급 사용자 수 한도를 초과하게 됩니다.", - "StorageQuotaDescription": "불필요한 파일을 삭제하거나 <1>{{clickHere}}하여 더 적합한 {{productName}} 요금제를 찾으세요.", - "StorageQuotaExceeded": "스토리지 할당량을 초과했습니다", "StorageQuotaHeader": "저장 공간 용량이 곧 초과될 예정입니다: {{currentValue}} / {{maxValue}}", - "StorageQuotaUserDescription": "불필요한 파일을 제거하여 디스크 공간을 확보할 수 있습니다.", "TenantCustomQuotaDescription": "<1>스토리지 관리 설정에서 할당량을 변경하거나 불필요한 파일을 삭제하세요.", - "UserQuotaDescription": "<1>{{clickHere}}하여{{productName}}에 대한 더 나은 요금제를 찾으세요.", "UserQuotaHeader": "곧 관리자/고급 사용자 수 한도를 초과하게 됩니다: {{currentValue}} / {{maxValue}}." } diff --git a/packages/client/public/locales/ko-KR/PDFFormDialog.json b/packages/client/public/locales/ko-KR/PDFFormDialog.json index 32a012ac8d..49c1b8e2cc 100644 --- a/packages/client/public/locales/ko-KR/PDFFormDialog.json +++ b/packages/client/public/locales/ko-KR/PDFFormDialog.json @@ -1,5 +1,4 @@ { - "PDFFormDialogTitle": "즉시 작성 가능한 PDF 양식", "PDFFormEditDialogDescription": "양식 편집 모드로 전환하시겠습니까? 해당 양식은 더 이상 작성할 수 없으며 양식을 작성하려면 편집 후 작성 시작 버튼을 다시 클릭해야 한다는 점을 참고하세요.", "PDFFormEditDialogTitle": "양식 편집", "PDFFormIsReadyToast": "<1>{{filename}} PDF 양식을 작성할 준비가 되었습니다.", diff --git a/packages/client/public/locales/ko-KR/Payments.json b/packages/client/public/locales/ko-KR/Payments.json index cbe1063cc7..e7ce3db788 100644 --- a/packages/client/public/locales/ko-KR/Payments.json +++ b/packages/client/public/locales/ko-KR/Payments.json @@ -25,7 +25,6 @@ "Pay": "지불", "Payer": "지불자", "PayerDescription": "이 사용자는 결제 세부 정보에 액세스할 수 있으며 할당량을 조정하고 결제할 수 있는 유일한 사용자입니다. {{productName}} 소유자와 결제 관리자는 Stripe 고객 포털을 사용하여 결제 관리자 역할을 재할당할 수 있습니다.", - "PaymentOverdue": "새 사용자를 추가할 수 없습니다.", "PriceCalculation": "요금 계산", "RenewSubscription": "{{planName}} 요금제 구독 갱신", "RoomManagerDescription": "방 관리 및 아카이브, 사용자 초대 및 관리. 여러 관리자를 방에 할당할 수 있습니다.", @@ -35,7 +34,6 @@ "TotalPricePerMonth": "<1>{{currencySymbol}}<2>{{price}}<3>/월", "UpgradeNow": "지금 업그레이드", "UpgradePlan": "요금제 업그레이드", - "UpgradePlanInfo": "새 사용자를 추가하면 현재 요금제에서 허용하는 최대 방 회원 수를 초과하게 됩니다.", "UserNotFound": "<1>{{email}} 사용자를 찾지 못했습니다.", "UserNotFoundMatchingEmail": "Stripe 이메일이 일치하는 사용자를 찾을 수 없습니다.", "YourPrice": "내 요금" diff --git a/packages/client/public/locales/lo-LA/MainBar.json b/packages/client/public/locales/lo-LA/MainBar.json index 1fbacf1160..b86af07e3c 100644 --- a/packages/client/public/locales/lo-LA/MainBar.json +++ b/packages/client/public/locales/lo-LA/MainBar.json @@ -1,16 +1,11 @@ { - "ClickHere": "ກົດ​ບ່ອນ​ນີ້", "ConfirmEmailDescription": "ໃຊ້ລິ້ງທີ່ລະບຸໄວ້ໃນອີເມວການເປີດໃຊ້ງານ. ຍັງບໍ່ໄດ້ຮັບອີເມວທີ່ມີລິ້ງເປີດໃຊ້ງານບໍ?", "ConfirmEmailHeader": "ກະລຸນາເປີດໃຊ້ອີເມວ ({{ email }}) ຂອງທ່ານເພື່ອເຂົ້າເຖິງ ຄຸນສົມບັດ {{productName}}.", "PersonalUserQuotaAdminsDescription": "ເພື່ອອັບໂຫລດ ແລະສ້າງໄຟລ໌ ແລະໂຟນເດີໃໝ່, ກະລຸນາສ້າງພື້ນທີ່ຫວ່າງໃນດິສກ໌ ຫຼືຈັດການໂຄຕ້າຕໍ່ຜູ້ໃຊ້ໃນ <1>ການຕັ້ງຄ່າການຈັດການບ່ອນເກັບຂໍ້ມູນ.", "PersonalUserQuotaDescription": "ເພື່ອອັບໂຫຼດ ແລະສ້າງໄຟລ໌ ແລະໂຟນເດີ້ໃໝ່, ກະລຸນາສ້າງພື້ນທີ່ຫວ່າງໃນດິສກ໌ ຫຼືຕິດຕໍ່ຜູ້ເບິ່ງແຍງລະບົບເພື່ອເພີ່ມໂຄຕ້າບ່ອນຈັດເກັບຂໍ້ມູນ.", "RequestActivation": "ຮ້ອງຂໍການເປີດໃຊ້ອີກເທື່ອຫນຶ່ງ", - "RoomQuotaDescription": "ທ່ານສາມາດຈັດເກັບຫ້ອງທີ່ບໍ່ຈໍາເປັນໄວ້ ຫຼື <1 >{{clickHere}} ເພື່ອຊອກຫາແຜນລາຄາທີ່ເໝາະສົມກວ່າສໍາລັບ {{productName}} ຂອງທ່ານ.", "RoomQuotaHeader": "ຫ້ອງກຳລັງຈະເກີນ: {{ currentValue }} / {{ maxValue }}", - "StorageAndRoomHeader": "ກໍາລັງຈະເກີນຂີດຈຳກັດບ່ອນຈັດເກັບຂໍ້ມູນ ແລະຫ້ອງ.", "StorageAndUserHeader": "ບ່ອນຈັດເກັບຂໍ້ມູນ ແລະ ຜູ້ເບິ່ງແຍງລະບົບ/ຜູ້ໃຊ້ກຳລັງຈະເກີນຂີດຈຳກັດ.", - "StorageQuotaDescription": "ທ່ານສາມາດລຶບໄຟລ໌ທີ່ບໍ່ຈໍາເປັນອອກ ຫຼື <1 >{{clickHere}} ເພື່ອຊອກຫາແຜນລາຄາທີ່ເໝາະສົມກວ່າສໍາລັບ {{productName}} ຂອງທ່ານ.", - "StorageQuotaExceeded": "ເກີນໂຄຕ້າບ່ອນຈັດເກັບຂໍ້ມູນ", "StorageQuotaHeader": "ຈຳນວນພື້ນທີ່ຈັດເກັບກຳລັງຈະເກີນ: {{ currentValue }} / {{ maxValue }}", "TenantCustomQuotaDescription": "ທ່ານສາມາດລຶບໄຟລ໌ທີ່ບໍ່ຈໍາເປັນອອກ ຫຼືປ່ຽນໂຄຕ້າໄດ້ໃນ <1>ການຕັ້ງຄ່າການຈັດການບ່ອນເກັບຂໍ້ມູນ.", "UserQuotaHeader": "ຈຳນວນຜູ້ເບິ່ງແຍງລະບົບ/ຜູ້ໃຊ້ກຳລັງຈະເກີນ: {{ currentValue }} / {{ maxValue }}." diff --git a/packages/client/public/locales/lo-LA/Payments.json b/packages/client/public/locales/lo-LA/Payments.json index 465438c6bc..be0cbea345 100644 --- a/packages/client/public/locales/lo-LA/Payments.json +++ b/packages/client/public/locales/lo-LA/Payments.json @@ -25,7 +25,6 @@ "Pay": "ຈ່າຍ", "Payer": "ຜູ້ຈ່າຍເງິນ", "PayerDescription": "ຜູ້ໃຊ້ນີ້ມີການເຂົ້າເຖິງລາຍລະອຽດການຈ່າຍເງິນ ແລະເປັນຜູ້ໃຊ້ດຽວທີ່ສາມາດປັບໂຄຕ້າ ແລະຊໍາລະໄດ້. ເຈົ້າ ຂອງ {{productName}} , ເຊັ່ນດຽວກັນກັບຜູ້ຈັດການການຊໍາລະດ້ວຍຕົນເອງ, ສາມາດມອບຫມາຍຫນ້າທີ່ການຊໍາລະເງິນຄືນໃຫມ່ໂດຍໃຊ້ປະຕູລູກຄ້າ Stripe.", - "PaymentOverdue": "ບໍ່ສາມາດເພີ່ມຜູ້ໃຊ້ໃໝ່ໄດ້.", "PriceCalculation": "Calcule o seu preço", "RenewSubscription": "ຕໍ່ອາຍຸການສະໝັກໃຊ້ແຜນການ {{ planName }}", "RoomManagerDescription": "ການບໍລິຫານຫ້ອງແລະການເກັບຮັກສາ, ການເຊື້ອເຊີນຜູ້ໃຊ້ແລະການຄຸ້ມຄອງ. ຜູ້ເບິ່ງແຍງຫຼາຍຄົນສາມາດຖືກມອບຫມາຍໃຫ້ຫ້ອງ.", @@ -35,7 +34,6 @@ "TotalPricePerMonth": "<1>{{currencySymbol}}<2>{{price}}<3>/ເດືອນ", "UpgradeNow": "ອັບເກຣດດຽວນີ້", "UpgradePlan": "ແຜນການຍົກລະດັບ", - "UpgradePlanInfo": "ການເພີ່ມຜູ້ໃຊ້ໃໝ່ຈະເກີນຈຳນວນສູງສຸດຂອງສະມາຊິກຫ້ອງທີ່ອະນຸຍາດໂດຍແຜນລາຄາປັດຈຸບັນຂອງທ່ານ.", "UserNotFound": "ບໍ່ພົບຜູ້ໃຊ້ <1>{{email}}.", "UserNotFoundMatchingEmail": "ພວກເຮົາບໍ່ສາມາດຊອກຫາຜູ້ໃຊ້ທີ່ມີອີເມວ Stripe ທີ່ກົງກັນໄດ້.", "YourPrice": "ລາຄາຂອງເຈົ້າ" diff --git a/packages/client/public/locales/lv/MainBar.json b/packages/client/public/locales/lv/MainBar.json index 88d36f761f..fcfbd557db 100644 --- a/packages/client/public/locales/lv/MainBar.json +++ b/packages/client/public/locales/lv/MainBar.json @@ -1,19 +1,12 @@ { - "ClickHere": "Noklikšķiniet šeit", "ConfirmEmailDescription": "Izmantojiet aktivizēšanas e-pasta ziņojumā norādīto saiti. Vai neesat saņēmis e-pasta ziņojumu ar aktivizēšanas saiti?", "ConfirmEmailHeader": "Lūdzu, aktivizējiet savu e-pastu ({{ email }}), lai piekļūtu {{productName}} funkcijām.", "PersonalUserQuotaAdminsDescription": "Lai augšupielādētu un izveidotu jaunus failus un mapes, atbrīvojiet vietu diskā vai pārvaldiet kvotu katram lietotājam <1>Krātuves pārvaldības iestatījumos.", "PersonalUserQuotaDescription": "Lai augšupielādētu un izveidotu jaunus failus un mapes, atbrīvojiet vietu diskā vai sazinieties ar administratoru, lai palielinātu krātuves kvotu.", "RequestActivation": "Vēreiz pieprasīt aktivizāciju", - "RoomQuotaDescription": "Varat arhivēt nevajadzīgās telpas vai <1>{{clickHere}}, lai atrastu savam {{productName}} piemērotāku cenu plānu.", "RoomQuotaHeader": "Tūlīt tiks pārsniegtas telpas: {{currentValue}} / {{maxValue}}", - "StorageAndRoomHeader": "Drīz tiks pārsniegti krātuves un telpu ierobežojumi.", "StorageAndUserHeader": "Tūlīt tiks pārsniegti krātuves un administratoru/prasmīgo lietotāju ierobežojumi.", - "StorageQuotaDescription": "Varat noņemt nevajadzīgos failus vai <1>{{clickHere}}, lai atrastu savam {{productName}} piemērotāku cenu plānu.", - "StorageQuotaExceeded": "Pārsniegta krātuves kvota", "StorageQuotaHeader": "Tūlīt tiks pārsniegts krātuves vietas apjoms: {{currentValue}} / {{maxValue}}", - "StorageQuotaUserDescription": "Jūs varat noņemt nevajadzīgos failus, lai atbrīvotu vietu diskā.", "TenantCustomQuotaDescription": "Jūs varat noņemt nevajadzīgos failus vai mainīt kvotu <1>Krātuves pārvaldības iestatījumos.", - "UserQuotaDescription": "<1>{{clickHere}}, lai atrastu labāku cenu plānu savam {{productName}}.", "UserQuotaHeader": "Tūlīt tiks pārsniegts administratoru/prasmīgo lietotāju skaits:{{currentValue}}/{{maxValue}}." } diff --git a/packages/client/public/locales/lv/PDFFormDialog.json b/packages/client/public/locales/lv/PDFFormDialog.json index f9fc7553e5..2aa21ecae7 100644 --- a/packages/client/public/locales/lv/PDFFormDialog.json +++ b/packages/client/public/locales/lv/PDFFormDialog.json @@ -1,5 +1,4 @@ { - "PDFFormDialogTitle": "Aizpildīšanai gatava PDF veidlapa", "PDFFormEditDialogDescription": "Vai vēlaties pārslēgties uz veidlapas rediģēšanas režīmu? Ņemiet vērā, ka veidlapa vairs nebūs pieejama aizpildīšanai, un pēc rediģēšanas jums būs vēlreiz jānoklikšķina uz pogas Sākt aizpildīšanu, lai to aizpildītu.", "PDFFormEditDialogTitle": "Veidlapas rediģēšana", "PDFFormIsReadyToast": "PDF veidlapa <1>{{filename}} ir gatava aizpildīšanai.", diff --git a/packages/client/public/locales/lv/Payments.json b/packages/client/public/locales/lv/Payments.json index c6351de3ce..5bc40a8189 100644 --- a/packages/client/public/locales/lv/Payments.json +++ b/packages/client/public/locales/lv/Payments.json @@ -25,7 +25,6 @@ "Pay": "Maksāt", "Payer": "Maksātājs", "PayerDescription": "Šim lietotājam ir piekļuve maksājuma informācijai, un tas ir vienīgais lietotājs, kas var pielāgot kvotu un veikt maksājumus. {{productName}} īpašnieks, kā arī pats maksājumu pārvaldnieks var atkārtoti piešķirt maksājumu pārvaldnieka lomu, izmantojot Stripe klientu portālu.", - "PaymentOverdue": "Nevar pievienot jaunus lietotājus.", "PriceCalculation": "Aprēķināt cenu", "RenewSubscription": "Atjaunot {{planName}} plāna abonementu", "RoomManagerDescription": "Telpu administrēšana un arhivēšana, lietotāju uzaicināšana un pārvaldība. Telpai var piešķirt vairākus administratorus.", @@ -35,7 +34,6 @@ "TotalPricePerMonth": "<1>{{currencySymbol}}<2>{{price}}<3>/mēnesī", "UpgradeNow": "Atjaunot tagad", "UpgradePlan": "Jaunināt plānu", - "UpgradePlanInfo": "Pievienojot jaunus lietotājus, jūs pārsniegsiet jūsu pašreizējo cenu noteikšanas plānā atļauto maksimālo telpas dalībnieku skaitu.", "UserNotFound": "Lietotājs <1>{{email}} nav atrasts.", "UserNotFoundMatchingEmail": "Nevarēja atrast lietotāju ar atbilstošo Stripe e-pastu.", "YourPrice": "Jūsu cena" diff --git a/packages/client/public/locales/nl/MainBar.json b/packages/client/public/locales/nl/MainBar.json index 242c8ec468..cee3806d68 100644 --- a/packages/client/public/locales/nl/MainBar.json +++ b/packages/client/public/locales/nl/MainBar.json @@ -1,19 +1,12 @@ { - "ClickHere": "Klik hier", "ConfirmEmailDescription": "Gebruik de link in de activeringsmail. Hebt u geen e-mail ontvangen met de activeringslink?", "ConfirmEmailHeader": "Activeer uw e-mail ({{ email }}) om toegang te krijgen tot de {{productName}} functies.", "PersonalUserQuotaAdminsDescription": "Om nieuwe bestanden en mappen te uploaden en aan te maken, moet u schijfruimte vrijmaken of quota per gebruiker beheren in de <1>Instellingen voor opslagbeheer.", "PersonalUserQuotaDescription": "Om nieuwe bestanden en mappen te uploaden en aan te maken, moet u schijfruimte vrijmaken of contact opnemen met de beheerder om de opslagquota te verhogen.", "RequestActivation": "Activatie opnieuw aanvragen", - "RoomQuotaDescription": "U kunt de overbodige kamers archiveren of <1>{{clickHere}} om een meer geschikt prijsplan voor uw {{productName}} te vinden.", "RoomQuotaHeader": "Kamers staat op het punt overschreden te worden: {{currentValue}} / {{maxValue}}", - "StorageAndRoomHeader": "Opslag- en kamerlimieten staan op het punt overschreden te worden.", "StorageAndUserHeader": "De beperkingen voor opslag en beheerders/power users worden binnenkort overschreden.", - "StorageQuotaDescription": "U kunt de overbodige bestanden verwijderen of <1>{{clickHere}} om een meer geschikt prijsplan voor uw {{productName}} te vinden.", - "StorageQuotaExceeded": "Opslagquota overschreden", "StorageQuotaHeader": "De hoeveelheid opslagruimte staat op het punt overschreden te worden: {{currentValue}} / {{maxValue}}", - "StorageQuotaUserDescription": "U kunt de onnodige bestanden verwijderen om schijfruimte vrij te maken.", "TenantCustomQuotaDescription": "U kunt de onnodige bestanden verwijderen of de quota wijzigen in de <1>Instellingen voor opslagbeheer.", - "UserQuotaDescription": "<1>{{clickHere}} om een beter prijsplan voor uw {{productName}} te vinden.", "UserQuotaHeader": "Het aantal beheerders/power users staan op het punt overschreden te worden: {{currentValue}} / {{maxValue}}." } diff --git a/packages/client/public/locales/nl/PDFFormDialog.json b/packages/client/public/locales/nl/PDFFormDialog.json index fc1d686628..c9ca56f4b7 100644 --- a/packages/client/public/locales/nl/PDFFormDialog.json +++ b/packages/client/public/locales/nl/PDFFormDialog.json @@ -1,5 +1,4 @@ { - "PDFFormDialogTitle": "Klaar om in te vullen PDF formulier", "PDFFormEditDialogDescription": "Wilt u overschakelen naar de bewerkingsmodus voor formulieren? Houd er rekening mee dat het formulier niet langer beschikbaar is om in te vullen en dat u na het bewerken opnieuw op de knop Start vullen moet klikken om het in te vullen.", "PDFFormEditDialogTitle": "Formulier bewerken", "PDFFormIsReadyToast": "PDF formulier <1>{{filename}} is klaar om ingevuld te worden.", diff --git a/packages/client/public/locales/nl/Payments.json b/packages/client/public/locales/nl/Payments.json index 312ee073f9..b773622774 100644 --- a/packages/client/public/locales/nl/Payments.json +++ b/packages/client/public/locales/nl/Payments.json @@ -25,7 +25,6 @@ "Pay": "Betaal", "Payer": "Betaler", "PayerDescription": "Deze gebruiker heeft toegang tot de betalingsgegevens en is de enige gebruiker die de quota kan aanpassen en betalingen kan verrichten. De {{productName}}-eigenaar, evenals de betalende beheerder zelf, kan de rol van betalende beheerder opnieuw toewijzen via het Stripe klantenportaal.", - "PaymentOverdue": "Kan geen nieuwe gebruikers toevoegen.", "PriceCalculation": "Bereken uw prijs", "RenewSubscription": "Verleng abonnement op {{planName}} plan", "RoomManagerDescription": "Ruimtebeheer en archivering, uitnodiging en beheer van gebruikers. Er kunnen meerdere beheerders aan de kamer worden toegewezen.", @@ -35,7 +34,6 @@ "TotalPricePerMonth": "<1>{{currencySymbol}}<2>{{price}}<3>/maand", "UpgradeNow": "Upgrade nu", "UpgradePlan": "Upgrade plan", - "UpgradePlanInfo": "Nieuwe gebruikers toevoegen betekent dat het maximum aantal leden van de kamer dat in uw huidige tariefplan is toegestaan, wordt overschreden.", "UserNotFound": "Gebruiker <1>{{email}} is niet gevonden.", "UserNotFoundMatchingEmail": "We konden de gebruiker met de overeenkomende Stripe e-mail niet vinden.", "YourPrice": "Uw prijs" diff --git a/packages/client/public/locales/pl/MainBar.json b/packages/client/public/locales/pl/MainBar.json index fce55c18ac..618f55de2d 100644 --- a/packages/client/public/locales/pl/MainBar.json +++ b/packages/client/public/locales/pl/MainBar.json @@ -1,19 +1,12 @@ { - "ClickHere": "Kliknij tutaj", "ConfirmEmailDescription": "Użyj linku otrzymanego w e-mailu aktywacyjnym. E-mail z linkiem aktywacyjnym nie dotarł?", "ConfirmEmailHeader": "Aktywuj swój adres e-mail ({{ email }}), aby uzyskać dostęp do funkcji {{productName}}.", "PersonalUserQuotaAdminsDescription": "Aby móc przesyłać i tworzyć nowe pliki oraz katalogi, zwolnij miejsce na dysku lub zmień limit pamięci na użytkownika w <1>ustawieniach zarządzania pamięcią.", "PersonalUserQuotaDescription": "Aby móc przesyłać i tworzyć nowe pliki oraz katalogi, zwolnij miejsce na dysku lub skontaktuj się z administratorem, aby zwiększyć limit pamięci.", "RequestActivation": "Poproś o aktywację jeszcze raz", - "RoomQuotaDescription": "Możesz zarchiwizować niepotrzebne pokoje lub <1>{{clickHere}}, aby znaleźć bardziej odpowiedni plan cenowy dla swojego konta {{productName}}.", "RoomQuotaHeader": "Liczba pokoi zostanie niedługo przekroczona: {{currentValue}} / {{maxValue}}", - "StorageAndRoomHeader": "Limity pamięci i pokoi zostaną wkrótce przekroczone.", "StorageAndUserHeader": "Limity pamięci/użytkowników z większą liczbą uprawnień zostaną wkrótce przekroczone.", - "StorageQuotaDescription": "Możesz usunąć niepotrzebne pliki lub <1>{{clickHere}}, aby znaleźć bardziej odpowiedni plan cenowy dla swojego konta {{productName}}.", - "StorageQuotaExceeded": "Przekroczono limit pamięci", "StorageQuotaHeader": "Ilość miejsca w pamięci zostanie wkrótce przekroczona: {{currentValue}} / {{maxValue}}", - "StorageQuotaUserDescription": "Możesz usunąć niepotrzebne pliki, aby zwolnić miejsce na dysku.", "TenantCustomQuotaDescription": "Możesz usunąć niepotrzebne pliki lub zmienić limit w <1>ustawieniach zarządzania pamięcią.", - "UserQuotaDescription": "<1>{{clickHere}}, aby znaleźć lepszy plan cenowy dla swojego {{productName}}.", "UserQuotaHeader": "Liczba administratorów/użytkowników z większą liczbą uprawnień zostanie wkrótce przekroczona: {{currentValue}} / {{maxValue}}." } diff --git a/packages/client/public/locales/pl/PDFFormDialog.json b/packages/client/public/locales/pl/PDFFormDialog.json index 95394fba21..360afda09c 100644 --- a/packages/client/public/locales/pl/PDFFormDialog.json +++ b/packages/client/public/locales/pl/PDFFormDialog.json @@ -1,5 +1,4 @@ { - "PDFFormDialogTitle": "Gotowy do wypełnienia formularz PDF", "PDFFormEditDialogDescription": "Czy chcesz przejść do trybu edycji formularza? Należy pamiętać, że formularz przestanie być dostępny do wypełnienia i po jego edycji trzeba będzie ponownie kliknąć przycisk Rozpocznij wypełnianie, aby go uzupełnić.", "PDFFormEditDialogTitle": "Edycja formularza", "PDFFormIsReadyToast": "Formularz PDF <1>{{filename}} jest gotowy do wypełnienia.", diff --git a/packages/client/public/locales/pl/Payments.json b/packages/client/public/locales/pl/Payments.json index 1ec01993e7..622636afd3 100644 --- a/packages/client/public/locales/pl/Payments.json +++ b/packages/client/public/locales/pl/Payments.json @@ -25,7 +25,6 @@ "Pay": "Zapłać", "Payer": "Płatnik", "PayerDescription": "Dany użytkownik ma dostęp do szczegółów płatności i jest jedynym użytkownikiem, który może dostosować limit oraz dokonać płatności. Właściciel {{productName}} i sam płacący menedżer mogą przypisać lub przekazać rolę płacącego menedżera za pomocą portalu klienta Stripe.", - "PaymentOverdue": "Nie można dodać nowych użytkowników.", "PriceCalculation": "Oblicz swoją cenę", "RenewSubscription": "Odnów subskrypcję planu {{planName}}", "RoomManagerDescription": "Administracja i archiwizowanie pokoi, zapraszanie i zarządzanie użytkownikami. Do pokoju można przypisać kilku administratorów.", @@ -35,7 +34,6 @@ "TotalPricePerMonth": "<1>{{currencySymbol}}<2>{{price}}<3>/miesięcznie", "UpgradeNow": "Uaktualnij teraz", "UpgradePlan": "Uaktualnij plan", - "UpgradePlanInfo": "Dodanie nowych użytkowników spowoduje przekroczenie maksymalnej liczby członków pokoju dozwoloną przez Twój bieżący plan cenowy.", "UserNotFound": "Nie znaleziono użytkownika <1>{{email}}.", "UserNotFoundMatchingEmail": "Nie udało się znaleźć użytkownika z pasującym adresem e-mail Stripe.", "YourPrice": "Twoja cena" diff --git a/packages/client/public/locales/pt-BR/MainBar.json b/packages/client/public/locales/pt-BR/MainBar.json index d06110117c..558a9e854d 100644 --- a/packages/client/public/locales/pt-BR/MainBar.json +++ b/packages/client/public/locales/pt-BR/MainBar.json @@ -1,19 +1,12 @@ { - "ClickHere": "Clique aqui", "ConfirmEmailDescription": "Use o link fornecido no e-mail de ativação. Não recebeu um e-mail com o link de ativação?", "ConfirmEmailHeader": "Favor ativar seu e-mail ({{ email }}) para ter acesso às características do {{productName}}.", "PersonalUserQuotaAdminsDescription": "Para fazer upload e criar novos arquivos e pastas, libere espaço em disco ou gerencie a cota por usuário nas <1>Configurações de gerenciamento de armazenamento.", "PersonalUserQuotaDescription": "Para fazer upload e criar novos arquivos e pastas, libere espaço em disco ou entre em contato com o administrador para aumentar a cota de armazenamento.", "RequestActivation": "Solicitar ativação mais uma vez", - "RoomQuotaDescription": "Você pode arquivar as salas desnecessárias ou <1>{{clickHere}} para encontrar um plano de preços mais adequado para o seu {{productName}}.", "RoomQuotaHeader": "As salas estão prestes a ser excedidos: {{currentValue}} / {{maxValue}}", - "StorageAndRoomHeader": "Os limites de armazenamento e salas estão prestes a ser excedidos.", "StorageAndUserHeader": "Os limites de armazenamento e administradores/usuários avançados estão prestes a ser excedidos.", - "StorageQuotaDescription": "Você pode remover os arquivos desnecessários ou <1>{{clickHere}} para encontrar um plano de preços mais adequado para o seu {{productName}}.", - "StorageQuotaExceeded": "Cota de armazenamento excedida", "StorageQuotaHeader": "A quantidade de espaço de armazenamento está prestes a ser excedida: {{currentValue}} / {{maxValue}}", - "StorageQuotaUserDescription": "Você pode remover os arquivos desnecessários para liberar espaço em disco.", "TenantCustomQuotaDescription": "Você pode remover os arquivos desnecessários ou alterar a cota nas <1>Configurações de gerenciamento de armazenamento.", - "UserQuotaDescription": "<1>{{clickHere}} para encontrar um plano de preços melhor para o seu {{productName}}.", "UserQuotaHeader": "O número de administradores/usuários avançados está prestes a ser excedido: {{currentValue}} / {{maxValue}}." } diff --git a/packages/client/public/locales/pt-BR/PDFFormDialog.json b/packages/client/public/locales/pt-BR/PDFFormDialog.json index a7a47e1b70..aea4355758 100644 --- a/packages/client/public/locales/pt-BR/PDFFormDialog.json +++ b/packages/client/public/locales/pt-BR/PDFFormDialog.json @@ -1,5 +1,4 @@ { - "PDFFormDialogTitle": "Formulário PDF pronto para preencher", "PDFFormEditDialogDescription": "Deseja mudar para o modo de edição de formulário? Observe que o formulário não estará mais disponível para preenchimento e você precisará clicar novamente no botão Iniciar preenchimento após a edição para preenchê-lo.", "PDFFormEditDialogTitle": "Edição de formulário", "PDFFormIsReadyToast": "O formulário PDF <1>{{filename}} está pronto para ser preenchido.", diff --git a/packages/client/public/locales/pt-BR/Payments.json b/packages/client/public/locales/pt-BR/Payments.json index cf05414e6f..5764b2afe3 100644 --- a/packages/client/public/locales/pt-BR/Payments.json +++ b/packages/client/public/locales/pt-BR/Payments.json @@ -25,7 +25,6 @@ "Pay": "Pagar", "Payer": "Pagador", "PayerDescription": "Este usuário tem acesso aos detalhes de pagamento e é o único usuário que pode ajustar a cota e efetuar pagamentos. O proprietário do {{productName}}, bem como o próprio gerente pagador, pode reatribuir a função de gerente pagador usando o portal do cliente Stripe.", - "PaymentOverdue": "Não é possível adicionar novos usuários.", "PriceCalculation": "Calcule seu preço", "RenewSubscription": "Renove a assinatura do plano {{planName}}", "RoomManagerDescription": "Administração e arquivo de salas, convite e gestão de utilizadores. Vários administradores podem ser atribuídos à sala.", @@ -35,7 +34,6 @@ "TotalPricePerMonth": "<1>{{currencySymbol}}<2>{{price}}<3>/mês", "UpgradeNow": "Atualize agora", "UpgradePlan": "Plano de atualização", - "UpgradePlanInfo": "A adição de novos usuários excederá o número máximo de membros da sala permitido pelo seu plano de preços atual.", "UserNotFound": "O usuário <1>{{email}} não foi encontrado.", "UserNotFoundMatchingEmail": "Não foi possível encontrar o usuário com o e-mail Stripe correspondente.", "YourPrice": "Seu preço" diff --git a/packages/client/public/locales/pt/MainBar.json b/packages/client/public/locales/pt/MainBar.json index 44c4273333..a7337a647c 100644 --- a/packages/client/public/locales/pt/MainBar.json +++ b/packages/client/public/locales/pt/MainBar.json @@ -1,19 +1,12 @@ { - "ClickHere": "Clique aqui", "ConfirmEmailDescription": "Utilizar a ligação fornecida no e-mail de ativação. Ainda não recebeu um e-mail com o link de ativação?", "ConfirmEmailHeader": "Por favor, confirme o seu email ({{ email }}) para ter acesso às funcionalidades do {{productName}}.", "PersonalUserQuotaAdminsDescription": "Para fazer upload e criar novos arquivos e pastas, libere espaço em disco ou gerencie a cota por usuário nas <1>Configurações de gerenciamento de armazenamento.", "PersonalUserQuotaDescription": "Para fazer upload e criar novos arquivos e pastas, libere espaço em disco ou entre em contato com o administrador para aumentar a cota de armazenamento.", "RequestActivation": "Solicitar a ativação novamente", - "RoomQuotaDescription": "Pode arquivar as salas desnecessárias ou <1>{{clickHere}} para encontrar um plano de preços mais adequado para o seu {{productName}}.", "RoomQuotaHeader": "Salas que estão prestes a ser excedidas: {{currentValue}} / {{maxValue}}", - "StorageAndRoomHeader": "Os limites de armazenamento e de salas estão prestes a ser excedidos.", "StorageAndUserHeader": "Os limites para o armazenamento e para o número de administradores/utilizadores com poder estão prestes a ser excedidos.", - "StorageQuotaDescription": "Pode remover os ficheiros desnecessários ou <1>{{clickHere}} para encontrar um plano de preços mais adequado para o seu {{productName}}.", - "StorageQuotaExceeded": "Cota de armazenamento excedida", "StorageQuotaHeader": "A capacidade de armazenamento do espaço está prestes a ser excedida: {{currentValue}} / {{maxValue}}", - "StorageQuotaUserDescription": "Você pode remover os arquivos desnecessários para liberar espaço em disco.", "TenantCustomQuotaDescription": "Você pode remover os arquivos desnecessários ou alterar a cota nas <1>Configurações de gerenciamento de armazenamento.", - "UserQuotaDescription": "<1>{{clickHere}} para encontrar um plano de preços melhor para o seu {{productName}}.", "UserQuotaHeader": "O número de administradores/utilizadores com poder está prestes a ser excedido: {{currentValue}} / {{maxValue}}." } diff --git a/packages/client/public/locales/pt/PDFFormDialog.json b/packages/client/public/locales/pt/PDFFormDialog.json index a7a47e1b70..aea4355758 100644 --- a/packages/client/public/locales/pt/PDFFormDialog.json +++ b/packages/client/public/locales/pt/PDFFormDialog.json @@ -1,5 +1,4 @@ { - "PDFFormDialogTitle": "Formulário PDF pronto para preencher", "PDFFormEditDialogDescription": "Deseja mudar para o modo de edição de formulário? Observe que o formulário não estará mais disponível para preenchimento e você precisará clicar novamente no botão Iniciar preenchimento após a edição para preenchê-lo.", "PDFFormEditDialogTitle": "Edição de formulário", "PDFFormIsReadyToast": "O formulário PDF <1>{{filename}} está pronto para ser preenchido.", diff --git a/packages/client/public/locales/pt/Payments.json b/packages/client/public/locales/pt/Payments.json index ca46f38a4b..d5f0616463 100644 --- a/packages/client/public/locales/pt/Payments.json +++ b/packages/client/public/locales/pt/Payments.json @@ -25,7 +25,6 @@ "Pay": "Pagar", "Payer": "Pagador", "PayerDescription": "Este utilizador tem acesso aos detalhes de pagamento e é o único utilizador que pode ajustar a quota e fazer pagamentos. O proprietário do {{productName}}, bem como o próprio gestor de pagamentos, pode reatribuir o papel de gestor de pagamentos utilizando o portal de clientes Stripe.", - "PaymentOverdue": "Não é possível adicionar novos utilizadores.", "PriceCalculation": "Calcule o seu preço", "RenewSubscription": "Renovar subscrição para o plano {{planName}}", "RoomManagerDescription": "Administração e arquivação de salas, convite e gestão de utilizadores. Vários administradores podem ser designados para a sala.", @@ -35,7 +34,6 @@ "TotalPricePerMonth": "<1>{{currencySymbol}}<2>{{price}}<3>/mês ", "UpgradeNow": "Aumentar agora", "UpgradePlan": "Aumentar o plano", - "UpgradePlanInfo": "Adicionar novos utilizadores vai exceder o número máximo de membros presentes na sala permitido pelo seu plano de preços.", "UserNotFound": "O <1>{{email}} do utilizador não foi encontrado.", "UserNotFoundMatchingEmail": "Não foi possível encontrar o utilizador com o email de Stripe correspondente.", "YourPrice": "O seu preço" diff --git a/packages/client/public/locales/ro/MainBar.json b/packages/client/public/locales/ro/MainBar.json index 6498868bac..864bcfd44f 100644 --- a/packages/client/public/locales/ro/MainBar.json +++ b/packages/client/public/locales/ro/MainBar.json @@ -1,19 +1,12 @@ { - "ClickHere": "Apăsaţi aici", "ConfirmEmailDescription": "Utilizaţi linkul de activare din email. Nu aţi primit un email cu link-ul de activare?", "ConfirmEmailHeader": "Activați adresa de email ({{ email }}) pentru a avea acces la funcţiile {{productName}}.", "PersonalUserQuotaAdminsDescription": "Pentru a încărca și a crea fișiere și dosare noi, eliberați spațiu de stocare sau gestionați cota de stocare pentru fiecare utilizator din secțiunea <1>Setările de gestionare a spațiului de stocare..", "PersonalUserQuotaDescription": "Pentru a încărca și a crea fișiere și dosare noi, eliberați spațiu de stocare sau contactați administratorul pentru a majora capacităţile de stocare.", "RequestActivation": "Solicitaţi activarea din nou", - "RoomQuotaDescription": "Puteţi arhiva sălile inutile sau <1>{{clickHere}} pentru a găsi un abonament mai potrivit pentru spaţiul dvs {{productName}}.", "RoomQuotaHeader": "Cota sălilor este pe punctul de a fi depăşită: {{currentValue}} / {{maxValue}}", - "StorageAndRoomHeader": "Limite de stocare și cota sălilor sunt pe punctul de a fi depăşiti.", "StorageAndUserHeader": "Limite de stocare pentru administratori/utilizatori avansați sunt pe punctul de a fi depăşiti.", - "StorageQuotaDescription": "Puteţi elimina fişierele inutile sau <1>{{{clickHere}} pentru a găsi un abonament mai potrivit pentru spaţiul dvs {{productName}}.", - "StorageQuotaExceeded": "Cotă de stocare a fost depășită", "StorageQuotaHeader": "Cota spaţiului de stocare este pe punctul de a fi depăşită: {{currentValue}} / {{maxValue}}", - "StorageQuotaUserDescription": "Puteți elimina fișiere inutile pentru a elibera spațiu de stocare.", "TenantCustomQuotaDescription": "Puteţi elimina fişierele inutile sau modifica cotă de stocare din secțiunea <1>Setările de gestionare a spațiului de stocare..", - "UserQuotaDescription": "<1>{{clickHere}} pentru a găsi cea mai bună ofertă pentru spațiul dvs {{productName}}.", "UserQuotaHeader": "Numărul maxim de administratori/utilizatori avansați este pe punctul de a fi depăşit. {{currentValue}} / {{maxValue}}." } diff --git a/packages/client/public/locales/ro/PDFFormDialog.json b/packages/client/public/locales/ro/PDFFormDialog.json index bf2e82b870..c03610bb29 100644 --- a/packages/client/public/locales/ro/PDFFormDialog.json +++ b/packages/client/public/locales/ro/PDFFormDialog.json @@ -1,5 +1,4 @@ { - "PDFFormDialogTitle": "Formular PDF gata de completare", "PDFFormEditDialogDescription": "Doriți să comutați la modul de editare a formularului? Vă rugăm să rețineți că formularul nu va mai fi disponibil pentru completare și odată ce formularul este editat, trebuie să faceți din nou un clic pe Începe completarea pentru a-l completa.", "PDFFormEditDialogTitle": "Editare formular", "PDFFormIsReadyToast": "Formularul PDF <1>{{filename}} este gata să fie completat.", diff --git a/packages/client/public/locales/ro/Payments.json b/packages/client/public/locales/ro/Payments.json index 558d477c62..b7c64ba1ee 100644 --- a/packages/client/public/locales/ro/Payments.json +++ b/packages/client/public/locales/ro/Payments.json @@ -25,7 +25,6 @@ "Pay": "Plată", "Payer": "Plătitor", "PayerDescription": "Acest utilizator are acces la detalii de plată şi este singurul utilizator care poate seta cota şi efectua plăţi. Proprietarul {{productName}}, precum şi mesagerul plătitor, pot reatribui rolul de manager plătitor folosind portalul de client Stripe.", - "PaymentOverdue": "Imposibil de adăugat utilizatori noi.", "PriceCalculation": "Calculaţi preţul", "RenewSubscription": "Reînnoiți abonamentul {{planName}}", "RoomManagerDescription": "Administrarea şi arhivarea sălii, invitaţia şi gestionarea utilizatorilor. Mai mulţi administratori pot fi desemnaţi pentru o sală.", @@ -35,7 +34,6 @@ "TotalPricePerMonth": "<1>{{currencySymbol}}<2>{{price}}<3>/lună", "UpgradeNow": "Upgrade acum", "UpgradePlan": "Actualizare abonament", - "UpgradePlanInfo": "Dacă adăugaţi noi utilizatori, va depăşi numărul maxim permis de vizitatori într-o sală conform planului tarifar al abonamentului dvs.", "UserNotFound": "Utilizatorul <1>{{email}} nu a fost găsit.", "UserNotFoundMatchingEmail": "Nu s-a găsit utilizatorul cu un e-mail Stripe potrivit.", "YourPrice": "Preţul dvs." diff --git a/packages/client/public/locales/ru/MainBar.json b/packages/client/public/locales/ru/MainBar.json index 6b24b1c949..1b1e52899b 100644 --- a/packages/client/public/locales/ru/MainBar.json +++ b/packages/client/public/locales/ru/MainBar.json @@ -1,19 +1,12 @@ { - "ClickHere": "Кликните сюда", "ConfirmEmailDescription": "Используйте ссылку, указанную в письме активации. Не получили письмо со ссылкой для активации?", "ConfirmEmailHeader": "Пожалуйста, активируйте свою электронную почту ({{ email }}), чтобы получить доступ ко всем функциям {{productName}}.", "PersonalUserQuotaAdminsDescription": "Чтобы загружать и создавать новые файлы и папки, освободите место на диске или измените квоту для каждого пользователя в <1>Настройках управления хранилищем.", "PersonalUserQuotaDescription": "Чтобы загружать и создавать новые файлы и папки, освободите место на диске или обратитесь к администратору для увеличения квоты хранилища.", "RequestActivation": "Запросить активацию еще раз", - "RoomQuotaDescription": "Вы можете заархивировать ненужные комнаты или <1>{{clickHere}} , чтобы найти лучший тарифный план для {{productName}}.", "RoomQuotaHeader": "Количество комнат скоро будет превышено: {{currentValue}} / {{maxValue}}", - "StorageAndRoomHeader": "Объем дискового пространства и количество комнат скоро будут превышены.", "StorageAndUserHeader": "Объем дискового пространства и количество администраторов/опытных пользователей скоро будут превышены. ", - "StorageQuotaDescription": "Вы можете удалить ненужные файлы или <1>{{clickHere}}, чтобы найти лучший тарифный план для {{productName}}.", - "StorageQuotaExceeded": "Превышена квота хранилища", "StorageQuotaHeader": "Объем дискового пространства скоро будет превышен: {{currentValue}} / {{maxValue}}", - "StorageQuotaUserDescription": "Вы можете удалить ненужные файлы, чтобы освободить место на диске.", "TenantCustomQuotaDescription": "Удалить ненужные файлы или изменить квоту можно в <1>Настройках управления хранилищем.", - "UserQuotaDescription": "<1>{{clickHere}}, чтобы найти лучший тарифный план для {{productName}}.", "UserQuotaHeader": "Количество администраторов/опытных пользователей скоро будет превышено: {{currentValue}} / {{maxValue}}." } diff --git a/packages/client/public/locales/ru/PDFFormDialog.json b/packages/client/public/locales/ru/PDFFormDialog.json index 5c6dca00cc..07d6e172b1 100644 --- a/packages/client/public/locales/ru/PDFFormDialog.json +++ b/packages/client/public/locales/ru/PDFFormDialog.json @@ -1,5 +1,4 @@ { - "PDFFormDialogTitle": "Готовая к заполнению форма PDF", "PDFFormEditDialogDescription": "Хотите переключиться в режим редактирования формы? Обратите внимание, что форма больше не будет доступна для заполнения и вам нужно будет снова нажать кнопку Начать заполнение после редактирования, чтобы заполнить ее.", "PDFFormEditDialogTitle": "Редактирование формы", "PDFFormIsReadyToast": "PDF-форма <1>{{filename}} готова к заполнению.", diff --git a/packages/client/public/locales/ru/Payments.json b/packages/client/public/locales/ru/Payments.json index e69da54bb4..bd1f24d757 100644 --- a/packages/client/public/locales/ru/Payments.json +++ b/packages/client/public/locales/ru/Payments.json @@ -25,7 +25,6 @@ "Pay": "Оплатить", "Payer": "Плательщик", "PayerDescription": "Данный пользователь осуществляет оплату за тарифный план. Никто, кроме него, не может настраивать и оплачивать квоту. Сменить плательщика может владелец {{productName}}, а также сам плательщик через клиентский портал Stripe.", - "PaymentOverdue": "Невозможно добавить новых пользователей.", "PriceCalculation": "Рассчитайте свою цену", "RenewSubscription": "Продлить подписку на {{planName}} тариф", "RoomManagerDescription": "Администрирование и архивирование комнат, приглашение пользователей и управление ими. В комнату могут быть назначены несколько администраторов.", @@ -35,7 +34,6 @@ "TotalPricePerMonth": "<1>{{currencySymbol}}<2>{{price}}<3>/месяц", "UpgradeNow": "Обновить прямо сейчас", "UpgradePlan": "Обновить план", - "UpgradePlanInfo": "Добавление новых пользователей приведет к превышению максимального количества участников комнаты, разрешенного вашим текущим тарифным планом.", "UserNotFound": "Пользователь <1>{{email}} не найден.", "UserNotFoundMatchingEmail": "Мы не смогли найти пользователя с соответствующим адресом электронной почты Stripe.", "YourPrice": "Ваша стоимость" diff --git a/packages/client/public/locales/si/MainBar.json b/packages/client/public/locales/si/MainBar.json index ca07b2a6b1..76d04de6e0 100644 --- a/packages/client/public/locales/si/MainBar.json +++ b/packages/client/public/locales/si/MainBar.json @@ -1,18 +1,12 @@ { - "ClickHere": "මෙතන ඔබන්න", "ConfirmEmailDescription": "සක්‍රියන වි-තැපෑලෙහි දී ඇති සබැඳිය භාවිතා කරන්න. සක්‍රියන සබැඳියක් සහිත වි-තැපෑලක් ලැබුණේ නැද්ද?", "ConfirmEmailHeader": "{{productName}} විශේෂාංග වෙත ප්‍රවේශය ලැබීමට ඔබගේ ({{ email }}) වි-තැපෑල සක්‍රිය කරගන්න.", "PersonalUserQuotaAdminsDescription": "නව ගොනු සහ බහාලුම් උඩුගත කිරීමට සහ සෑදීමට කරුණාකර තැටියේ ඉඩක් ලබා ගන්න හෝ <1>ආචයන කළමනාකරණ සැකසුම් මගින් එක් අයෙකුට වෙන්වන සලාකය කළමනාකරණය කරන්න.", "PersonalUserQuotaDescription": "නව ගොනු සහ බහාලුම් උඩුගත කිරීමට සහ සෑදීමට කරුණාකර තැටියේ ඉඩක් ලබා ගන්න හෝ ආචයක සලාකය වැඩි කර ගැනීමට පරිපාලක අමතන්න.", "RequestActivation": "නැවත වරක් සක්‍රියනය ඉල්ලන්න", - "RoomQuotaDescription": "ඔබට අනවශ්‍ය කාමර සංරක්‍ෂණය කිරීමට හැකිය හෝ ඔබගේ {{productName}} සඳහා වඩාත් සුදුසු මිලකරණ සැලසුමක් සොයා ගැනීමට <1>{{clickHere}}.", "RoomQuotaHeader": "කාමර ගණන ඉක්මවීමට ආසන්නයි: {{currentValue}} / {{maxValue}}", - "StorageAndRoomHeader": "ආචයනය සහ කාමර සීමා ඉක්මවා යාමට ආසන්නයි.", "StorageAndUserHeader": "ආචයනය සහ පරිපාලකයින්/බලවත් පරිශ්‍රීලකයින්ගේ සීමා ඉක්මවා යාමට ආසන්නයි.", - "StorageQuotaDescription": "ඔබට අනවශ්‍ය ගොනු ඉවත් කිරීමට හැකිය හෝ ඔබගේ {{productName}} සඳහා වඩාත් සුදුසු මිලකරණ සැලසුමක් සොයා ගැනීමට <1>{{clickHere}}.", - "StorageQuotaExceeded": "ආචයන සලාකය ඉක්මවා ඇත", "StorageQuotaHeader": "ආචයනයේ ඉඩ ඉක්මවීමට ආසන්නයි: {{currentValue}} / {{maxValue}}", "TenantCustomQuotaDescription": "ඔබට <1>ආචයන කළමනාකරණ සැකසුම් මගින් අනවශ්‍ය ගොනු ඉවත් කිරීමට හෝ සලාකය වෙනස් කිරීමට හැකිය.", - "UserQuotaDescription": "ඔබගේ {{productName}} සඳහා වඩාත් සුදුසු මිලකරණ සැලසුමක් සොයා ගැනීමට <1>{{clickHere}}", "UserQuotaHeader": "පරිපාලකයින්/බලවත් පරිශ්‍රීලකයින් ගණන ඉක්මවීමට ආසන්නයි: {{currentValue}} / {{maxValue}}." } diff --git a/packages/client/public/locales/si/Payments.json b/packages/client/public/locales/si/Payments.json index 52c05e3e33..ba34347657 100644 --- a/packages/client/public/locales/si/Payments.json +++ b/packages/client/public/locales/si/Payments.json @@ -25,7 +25,6 @@ "Pay": "ගෙවන්න", "Payer": "ගෙවන්නා", "PayerDescription": "මෙම පරිශ්‍රීලකයාට ගෙවීමේ විස්තර වෙත ප්‍රවේශය තිබෙන අතර සලාකය සකස් කර ගෙවීමට හැකි එකම පුද්ගලයා වේ. {{productName}} හිමිකරුට සහ ගෙවන කළමණාකරුට ස්ට්‍රයිප් පාරිභෝගික ද්වාරය හරහා ගෙවන කළමනාකරුගේ භූමිකාව අන් අයට පැවරීමට හැකිය.", - "PaymentOverdue": "නව පරිශ්‍රීලකයින් යෙදීමට නොහැකිය.", "PriceCalculation": "මිල ගණනය කරන්න", "RenewSubscription": "{{planName}} සැලසුමට දායකත්‍වය අළුත් කරන්න", "RoomManagerDescription": "කාමර පරිපාලනය හා සංරක්‍ෂණය, පරිශ්‍රීලකයින්ට ආරාධනය හා කළමනාකරණය මෙන්ම කාමරයට පරිපාලකයින් කිහිප දෙනෙකු පත් කිරීමට හැකිය.", @@ -35,7 +34,6 @@ "TotalPricePerMonth": "<1>{{currencySymbol}}<2>{{price}}<3>/මාසයකට", "UpgradeNow": "උත්ශ්‍රේණි කරන්න", "UpgradePlan": "සැලසුම උත්ශ්‍රේණි කරන්න", - "UpgradePlanInfo": "නව පරිශ්‍රීලකයින් එක් කිරීමෙන් ඔබගේ වත්මන් මිලකරණ සැලසුමට යටත් වන කාමරයක උපරිම සාමාජිකයින් ගණන ඉක්මවා යයි.", "UserNotFound": "<1>{{email}} පරිශ්‍රීලකයා හමු නොවිණි.", "UserNotFoundMatchingEmail": "අපට ස්ට්‍රයිප් වි-තැපෑලට ගැළපෙන පරිශ්‍රීලකයෙකු හමු නොවිණි.", "YourPrice": "ඔබගේ මිල" diff --git a/packages/client/public/locales/sk/MainBar.json b/packages/client/public/locales/sk/MainBar.json index f8faa75d13..8ba46e5a08 100644 --- a/packages/client/public/locales/sk/MainBar.json +++ b/packages/client/public/locales/sk/MainBar.json @@ -1,19 +1,12 @@ { - "ClickHere": "Kliknite tu", "ConfirmEmailDescription": "Použite odkaz uvedený v aktivačnom liste. Nedostali ste e-mail s aktivačným odkazom?", "ConfirmEmailHeader": "Ak chcete získať prístup k funkciám {{productName}}, aktivujte svoj e-mail ({{ email }}).", "PersonalUserQuotaAdminsDescription": "Ak chcete nahrávať a vytvárať nové súbory a priečinky, uvoľnite miesto na disku alebo spravujte používateľské kvóty v <1> Nastaveniach spravovania úložiska.", "PersonalUserQuotaDescription": "Ak chcete nahrávať a vytvárať nové súbory a priečinky, uvoľnite miesto na disku alebo kontaktujte administrátora, aby zvýšil kvótu úložiska.", "RequestActivation": "Požiadať o aktiváciu ešte raz", - "RoomQuotaDescription": "Miestnosti, ktore nepotrebujete môžete archivovať alebo <1>{{clickHere}} nájsť lepší plán pre svoj {{productName}}.", "RoomQuotaHeader": "Počet miestností bude čoskoro prekročený: {{currentValue}} / {{maxValue}}", - "StorageAndRoomHeader": "Limity úložísk a miestností budú čoskoro prekročené.", "StorageAndUserHeader": "Objem úložísk a maximálny počet administrátorov/pokročilých používateľov budú čoskoro prekročené.", - "StorageQuotaDescription": "Môžete odstrániť súbory, ktore nepotrebujete alebo <1>{{clickHere}} nájsť lepší plán pre svoj {{productName}}.", - "StorageQuotaExceeded": "Kvóta úložiska prekročená", "StorageQuotaHeader": "Veľkosť úložného priestoru bude čoskoro prekročená: {{currentValue}} / {{maxValue}}", - "StorageQuotaUserDescription": "Nepotrebné súbory môžete odstrániť, aby ste uvoľnili miesto na disku.", "TenantCustomQuotaDescription": "Nepotrebné súbory môžete odstrániť alebo zmeniť kvótu v <1> Nastaveniach spravovania úložísk.", - "UserQuotaDescription": "<1>{{clickHere}} a nájdite najlepší cenový plán pre váš {{productName}}.", "UserQuotaHeader": "Maximálny počet administrátorov/pokročilých používateľov bude čoskoro prekročený: {{currentValue}} / {{maxValue}}." } diff --git a/packages/client/public/locales/sk/PDFFormDialog.json b/packages/client/public/locales/sk/PDFFormDialog.json index 97aa14ad5f..413ca676df 100644 --- a/packages/client/public/locales/sk/PDFFormDialog.json +++ b/packages/client/public/locales/sk/PDFFormDialog.json @@ -1,5 +1,4 @@ { - "PDFFormDialogTitle": "Formulár PDF pripravený na vyplnenie", "PDFFormEditDialogDescription": "Chcete sa prepnúť do režimu úpravy formulára? Upozorňujeme, že formulár už nebude k dispozícii na vyplnenie a po úprave budete musieť znova kliknúť na tlačidlo Spustiť vyplnenie, aby ste ho mohli vyplniť.", "PDFFormEditDialogTitle": "Úprava formulára", "PDFFormIsReadyToast": "PDF formulár <1>{{filename}} je pripravený na vyplnenie.", diff --git a/packages/client/public/locales/sk/Payments.json b/packages/client/public/locales/sk/Payments.json index dbe16956c8..d9187cff4c 100644 --- a/packages/client/public/locales/sk/Payments.json +++ b/packages/client/public/locales/sk/Payments.json @@ -25,7 +25,6 @@ "Pay": "Zaplatiť", "Payer": "Platiteľ", "PayerDescription": "Tento používateľ má prístup k detailom platby a je jediným používateľom, ktorý môže nastaviť kvótu a vykonávať platby. Vlastník {{productName}}, ako aj samotný správca platieb, môže rolu správcu platieb zmeniť pomocou zákazníckeho portálu Stripe.", - "PaymentOverdue": "Nie je možné pridávať nových používateľov.", "PriceCalculation": "Vypočítajte svoju cenu", "RenewSubscription": "Obnovte predplatné plánu {{planName}}", "RoomManagerDescription": "Administrácia a archivácia miestností, pozývanie a správa užívateľov. K miestnosti je možné priradiť niekoľko administrátorov.", @@ -35,7 +34,6 @@ "TotalPricePerMonth": "<1>{{currencySymbol}}<2>{{price}}<3>/mesiac", "UpgradeNow": "Aktualizovať teraz", "UpgradePlan": "Aktualizovať plán", - "UpgradePlanInfo": "Pridaním nových používateľov prekročíte maximálny počet členov v miestnosti povolený vaším aktuálnym cenovým plánom.", "UserNotFound": "Používateľ <1>{{email}} sa nenašiel.", "UserNotFoundMatchingEmail": "Nepodarilo sa nám nájsť používateľa so zodpovedajúcou e-mailovou adresou Stripe.", "YourPrice": "Vaša cena" diff --git a/packages/client/public/locales/sl/MainBar.json b/packages/client/public/locales/sl/MainBar.json index 001bda017f..6e971e5252 100644 --- a/packages/client/public/locales/sl/MainBar.json +++ b/packages/client/public/locales/sl/MainBar.json @@ -1,19 +1,12 @@ { - "ClickHere": "Klikni tukaj", "ConfirmEmailDescription": "Uporabite povezavo v aktivacijskem e-mail sporočilu. Niste prejeli e-maila z aktivacijsko povezavo?", "ConfirmEmailHeader": "Aktiviraj svoj e-mail ({{ email }}) naslov za dostop do funkcij {{productName}}.", "PersonalUserQuotaAdminsDescription": "Če želite naložiti in ustvariti nove datoteke in mape, sprostite prostor na disku ali upravljajte s kvoto na uporabnika v <1>nastavitvah upravljanja shrambe.", "PersonalUserQuotaDescription": "Če želite naložiti in ustvariti nove datoteke in mape, sprostite prostor na disku ali se obrnite na skrbnika, da poveča kvoto za shranjevanje.", "RequestActivation": "Ponovno zahtevaj aktivacijo", - "RoomQuotaDescription": "Nepotrebne sobe lahko arhivirate ali <1>{{clickHere}} poiščete primerjenši finančni paket za vaš {{productName}}.", "RoomQuotaHeader": "Sobe bodo kmalu presežene: {{currentValue}} / {{maxValue}}", - "StorageAndRoomHeader": "Omejitve prostora za shranjevanje in število sob bodo kmalu presežene.", "StorageAndUserHeader": "Omejitve prostora za shranjevanje in število skrbnikov/naprednih uporabnikov bodo kmalu presežene.", - "StorageQuotaDescription": "Nepotrebne datoteke lahko odstranite ali <1>{{clickHere}} poiščete primernejši finančni paket za vaš {{productName}}.", - "StorageQuotaExceeded": "Kvota prostora za shranjevanje je presežena", "StorageQuotaHeader": "Dovoljen prostor za shranjevanje bo kmalu presežen: {{currentValue}} / {{maxValue}}", - "StorageQuotaUserDescription": "Nepotrebne datoteke lahko odstraniš, da sprostiš prostor na disku.", "TenantCustomQuotaDescription": "Nepotrebne datoteke lahko odstranite ali spremenite kvoto v <1>Nastavitvah upravljanja shrambe.", - "UserQuotaDescription": "<1>{{clickHere}} Poiščite primernejši finančni načrt za svoj {{productName}}.", "UserQuotaHeader": "Število skrbnikov/naprednih uporabnikov bo kmalu preseženo: {{currentValue}} / {{maxValue}}." } diff --git a/packages/client/public/locales/sl/PDFFormDialog.json b/packages/client/public/locales/sl/PDFFormDialog.json index 91ed18439b..6e977377a0 100644 --- a/packages/client/public/locales/sl/PDFFormDialog.json +++ b/packages/client/public/locales/sl/PDFFormDialog.json @@ -1,5 +1,4 @@ { - "PDFFormDialogTitle": "Obrazec PDF, pripravljen za izpolnjevanje", "PDFFormEditDialogDescription": "Ali želiš preklopiti v način za urejanje obrazcev? Obrazec ne bo več na voljo za izpolnjevanje in bo potrebno po urejanju znova klikniti gumb Začni izpolnjevati.", "PDFFormEditDialogTitle": "Urejanje obrazca", "PDFFormIsReadyToast": "PDF obrazec <1>{{filename}} je pripravljen za izpolnjevanje.", diff --git a/packages/client/public/locales/sl/Payments.json b/packages/client/public/locales/sl/Payments.json index 91f80d947c..c6eda80c80 100644 --- a/packages/client/public/locales/sl/Payments.json +++ b/packages/client/public/locales/sl/Payments.json @@ -25,7 +25,6 @@ "Pay": "Plačaj", "Payer": "Plačnik", "PayerDescription": "Ta uporabnik ima dostop do podrobnosti plačila in je edini uporabnik, ki lahko prilagaja račun in izvaja plačila. Lastnik {{productName}} in sam upravitelj plačevanja lahko prerazporedita vlogo upravitelja plačevanja prek portala za stranke Stripe.", - "PaymentOverdue": "Novih uporabnikov ni mogoče dodati.", "PriceCalculation": "Izračunajte vašo ceno", "RenewSubscription": "Obnovi naročnino na {{planName}} paket", "RoomManagerDescription": "Administracija in arhiviranje sobe, vabljenje in vodenje uporabnikov. Sobi je mogoče dodeliti več skrbnikov.", @@ -35,7 +34,6 @@ "TotalPricePerMonth": "<1>{{currencySymbol}}<2>{{price}}<3>/mesec", "UpgradeNow": "Nadgradi zdaj", "UpgradePlan": "Načrt nadgradnje", - "UpgradePlanInfo": "Dodajanje novih uporabnikov bo preseglo največje število članov sobe, ki jih omogoča vaš trenutni naročniški paket.", "UserNotFound": "Uporabnik <1>{{email}} ni najden.", "UserNotFoundMatchingEmail": "Nismo našli uporabnika z ujemajočim se Stripe e-mail naslovom.", "YourPrice": "Vaša cena" diff --git a/packages/client/public/locales/sr-Cyrl-RS/MainBar.json b/packages/client/public/locales/sr-Cyrl-RS/MainBar.json index 91545b62ff..ba469d6b69 100644 --- a/packages/client/public/locales/sr-Cyrl-RS/MainBar.json +++ b/packages/client/public/locales/sr-Cyrl-RS/MainBar.json @@ -1,19 +1,12 @@ { - "ClickHere": "Кликните овде", "ConfirmEmailDescription": "Користите везу дату у емаил-у за активацију. Нисте добили емаил са линком за активацију?", "ConfirmEmailHeader": "Активирајте своју емаил ({{ email }}) да бисте добили приступ функцијама {{productName}}-а.", "PersonalUserQuotaAdminsDescription": "Да бисте отпремили и креирали нове датотеке и фолдере, ослободите простор на диску или управљајте квотом по кориснику у <1>Storage management settings.", "PersonalUserQuotaDescription": "Да бисте отпремили и креирали нове датотеке и фасцикле, ослободите простор на диску или контактирајте администратора да повец́а квоту за складиштење.", "RequestActivation": "Затражи активацију још једном", - "RoomQuotaDescription": "Можете да архивирате непотребне собе или <1>{{clickHere}} да бисте пронашли прикладнији план цена за ваш {{productName}}.", "RoomQuotaHeader": "Број соба ц́е ускоро бити прекорачен: {{currentValue}} / {{maxValue}}", - "StorageAndRoomHeader": "Ограничења складишта и соба ће ускоро бити прекорачена.", "StorageAndUserHeader": "Ограничења складишта и администратора/напредних корисника ће ускоро бити прекорачена.", - "StorageQuotaDescription": "Можете да уклоните непотребне датотеке или <1>{{clickHere}} да бисте пронашли прикладнији план цена за ваш {{productName}}.", - "StorageQuotaExceeded": "Квота складишта прекорачена", "StorageQuotaHeader": "Количина меморијског простора ц́е ускоро бити прекорачена: {{currentValue}} / {{maxValue}}", - "StorageQuotaUserDescription": "Можете уклонити непотребне датотеке да бисте ослободили простор на диску.", "TenantCustomQuotaDescription": "Можете уклонити непотребне датотеке или променити квоту у <1>Storage management settings.", - "UserQuotaDescription": "<1>{{clickHere }} да бисте пронашли бољи план цена за свој {{productName}}.", "UserQuotaHeader": "Број администратора/напредних корисника ће ускоро бити прекорачен: {{currentValue}} / {{maxValue}}." } diff --git a/packages/client/public/locales/sr-Cyrl-RS/PDFFormDialog.json b/packages/client/public/locales/sr-Cyrl-RS/PDFFormDialog.json index ea4a2dcc08..f8ac65277e 100644 --- a/packages/client/public/locales/sr-Cyrl-RS/PDFFormDialog.json +++ b/packages/client/public/locales/sr-Cyrl-RS/PDFFormDialog.json @@ -1,5 +1,4 @@ { - "PDFFormDialogTitle": "Спреман-за-попуњавање PDF формулар", "PDFFormEditDialogDescription": "Да ли желите да пређете на режим за уређивање обрасца? Имајте на уму да образац више нец́е бити доступан за попуњавање и да ц́ете морати поново да кликнете на дугме Започни попуњавање након уређивања да бисте га попунили.", "PDFFormEditDialogTitle": "Уређивање формулара", "PDFFormIsReadyToast": "PDF формулар <1>{{filename}} је спреман да буде попуњен.", diff --git a/packages/client/public/locales/sr-Cyrl-RS/Payments.json b/packages/client/public/locales/sr-Cyrl-RS/Payments.json index fd4ee93138..c0cddfaa1a 100644 --- a/packages/client/public/locales/sr-Cyrl-RS/Payments.json +++ b/packages/client/public/locales/sr-Cyrl-RS/Payments.json @@ -25,7 +25,6 @@ "Pay": "Плати", "Payer": "Платилац", "PayerDescription": "Овај корисник има приступ детаљима плац́ања и једини је корисник који може да прилагоди квоту и изврши плац́ања. Власник {{productName}}-а, као и сам менаџер плац́ања, могу да поново доделе улогу менаџера плац́ања користец́и портал за кориснике Stripe.", - "PaymentOverdue": "Немогуће додати нове кориснике.", "PriceCalculation": "Израчунај своју цену", "RenewSubscription": "Обновите претплату на план {{planName}}", "RoomManagerDescription": "Администрација и архивирање просторија, позивање корисника и управљање. Неколико администратора може бити додељено соби.", @@ -35,7 +34,6 @@ "TotalPricePerMonth": "<1>{{currencySymbol}}<2>{{price}}<3>/месец", "UpgradeNow": "Надогради сада", "UpgradePlan": "План надоградње", - "UpgradePlanInfo": "Додајући нове кориснике прекорачићете максимални број дозвољених чланова собе по вашем тренутном ценовном плану.", "UserNotFound": "Корисник <1>{{email}} није пронађен.", "UserNotFoundMatchingEmail": "Нисмо могли да пронађемо корисника са поклапајућим Stripe емаил-ом.", "YourPrice": "Ваша цена" diff --git a/packages/client/public/locales/sr-Latn-RS/MainBar.json b/packages/client/public/locales/sr-Latn-RS/MainBar.json index 1b64cf352e..496d9d8101 100644 --- a/packages/client/public/locales/sr-Latn-RS/MainBar.json +++ b/packages/client/public/locales/sr-Latn-RS/MainBar.json @@ -1,19 +1,12 @@ { - "ClickHere": "Kliknite ovde", "ConfirmEmailDescription": "Koristite vezu datu u email-u za aktivaciju. Niste dobili email sa linkom za aktivaciju?", "ConfirmEmailHeader": "Aktivirajte svoju email ({{ email }}) da biste dobili pristup funkcijama {{productName}}-a.", "PersonalUserQuotaAdminsDescription": "Da biste otpremili i kreirali nove datoteke i foldere, oslobodite prostor na disku ili upravljajte kvotom po korisniku u <1>Storage management settings", "PersonalUserQuotaDescription": "Da biste otpremili i kreirali nove datoteke i fascikle, oslobodite prostor na disku ili kontaktirajte administratora da poveća kvotu za skladištenje.", "RequestActivation": "Zatraži aktivaciju još jednom", - "RoomQuotaDescription": "Možete da arhivirate nepotrebne sobe ili <1>{{clickHere}} da biste pronašli prikladniji plan cena za vaš {{productName}}.", "RoomQuotaHeader": "Broj soba će uskoro biti prekoračen: {{currentValue}} / {{maxValue}}", - "StorageAndRoomHeader": "Ograničenja skladišta i soba će uskoro biti prekoračena.", "StorageAndUserHeader": "Ograničenja skladišta i administratora/naprednih korisnika će uskoro biti prekoračena.", - "StorageQuotaDescription": "Možete da uklonite nepotrebne datoteke ili <1>{{clickHere}} da biste pronašli prikladniji plan cena za vaš {{productName}}.", - "StorageQuotaExceeded": "Kvota skladišta prekoračena", "StorageQuotaHeader": "Količina memorijskog prostora će uskoro biti prekoračena: {{currentValue}} / {{maxValue}}", - "StorageQuotaUserDescription": "Možete ukloniti nepotrebne datoteke da biste oslobodili prostor na disku.", "TenantCustomQuotaDescription": "Možete ukloniti nepotrebne datoteke ili promeniti kvotu u <1>Storage management settings.", - "UserQuotaDescription": "<1>{{clickHere}} da biste pronašli bolji plan cena za svoj {{productName}}.", "UserQuotaHeader": "Broj administratora/naprednih korisnika će uskoro biti prekoračen: {{currentValue}} / {{maxValue}}." } diff --git a/packages/client/public/locales/sr-Latn-RS/PDFFormDialog.json b/packages/client/public/locales/sr-Latn-RS/PDFFormDialog.json index c5e4933142..9221c5ca6c 100644 --- a/packages/client/public/locales/sr-Latn-RS/PDFFormDialog.json +++ b/packages/client/public/locales/sr-Latn-RS/PDFFormDialog.json @@ -1,5 +1,4 @@ { - "PDFFormDialogTitle": "Spreman-za-popunjavanje PDF formular", "PDFFormEditDialogDescription": "Da li želite da pređete na režim za uređivanje obrasca? Imajte na umu da obrazac više neće biti dostupan za popunjavanje i da ćete morati ponovo da kliknete na dugme Započni popunjavanje nakon uređivanja da biste ga popunili.", "PDFFormEditDialogTitle": "Uređivanje Formulara", "PDFFormIsReadyToast": "PDF formular <1>{{filename}} je spreman da bude popunjen.", diff --git a/packages/client/public/locales/sr-Latn-RS/Payments.json b/packages/client/public/locales/sr-Latn-RS/Payments.json index 4335e1c4d3..d5dd3f0faf 100644 --- a/packages/client/public/locales/sr-Latn-RS/Payments.json +++ b/packages/client/public/locales/sr-Latn-RS/Payments.json @@ -25,7 +25,6 @@ "Pay": "Plati", "Payer": "Platilac", "PayerDescription": "Ovaj korisnik ima pristup detaljima plaćanja i jedini je korisnik koji može da prilagodi kvotu i izvrši plaćanja. Vlasnik {{productName}}-a, kao i sam menadžer plaćanja, mogu da ponovo dodele ulogu menadžera plaćanja koristeći portal za korisnike Stripe.", - "PaymentOverdue": "Nemoguće dodati nove korisnike.", "PriceCalculation": "Izračunaj svoju cenu", "RenewSubscription": "Obnovite pretplatu na plan {{planName}}", "RoomManagerDescription": "Administracija i arhiviranje prostorija, pozivanje korisnika i upravljanje. Nekoliko administratora može biti dodeljeno sobi.", @@ -35,7 +34,6 @@ "TotalPricePerMonth": "<1>{{currencySymbol}}<2>{{price}}<3>/mesec", "UpgradeNow": "Nadogradi sada", "UpgradePlan": "Plan nadogradnje", - "UpgradePlanInfo": "Dodajući nove korisnike prekoračićete maksimalni broj dozvoljenih članova sobe po vašem trenutnom cenovnom planu.", "UserNotFound": "Korisnik <1>{{email}} nije pronađen.", "UserNotFoundMatchingEmail": "Nismo mogli da pronađemo korisnika sa poklapajućim Stripe email-om.", "YourPrice": "Vaša cena" diff --git a/packages/client/public/locales/tr/MainBar.json b/packages/client/public/locales/tr/MainBar.json index 89345a1cfe..2d5ab3f9cf 100644 --- a/packages/client/public/locales/tr/MainBar.json +++ b/packages/client/public/locales/tr/MainBar.json @@ -1,19 +1,12 @@ { - "ClickHere": "Buraya tıklayın", "ConfirmEmailDescription": "Aktivasyon e-postasında verilen bağlantıyı kullanın. Etkinleştirme bağlantısını içeren bir e-posta almadınız mı?", "ConfirmEmailHeader": "{{productName}} özelliklerine erişmek için lütfen e-postanızı ({{ email }}) etkinleştirin.", "PersonalUserQuotaAdminsDescription": "Yeni dosya ve klasörler yüklemek ve oluşturmak için lütfen disk alanını boşaltın veya <1>Depolama yönetimi ayarlarında kullanıcı başına kotayı yönetin.", "PersonalUserQuotaDescription": "Yeni dosya ve klasörler yüklemek ve oluşturmak için lütfen disk alanını boşaltın veya depolama kotasını artırmak için yöneticiyle iletişime geçin.", "RequestActivation": "Tekrar aktivasyon iste", - "RoomQuotaDescription": "Gereksiz odaları arşivleyebilirsiniz veya <1>{{clickHere}} ile {{productName}}'iniz için daha uygun bir fiyatlandırma planı bulabilirsiniz.", "RoomQuotaHeader": "Odalar aşılmak üzere: {{currentValue}} / {{maxValue}}", - "StorageAndRoomHeader": "Depolama ve oda limitleri aşılmak üzere.", "StorageAndUserHeader": "Depolama ve yöneticiler/uzman kullanıcılar limitleri aşılmak üzere.", - "StorageQuotaDescription": "Gereksiz dosyaları arşivleyebilirsiniz veya <1>{{clickHere}} ile {{productName}}'iniz için daha uygun bir fiyatlandırma planı bulabilirsiniz.", - "StorageQuotaExceeded": "Depolama kotası aşıldı", "StorageQuotaHeader": "Depolama alanı miktarı aşılmak üzere: {{currentValue}} / {{maxValue}}", - "StorageQuotaUserDescription": "Disk alanını boşaltmak için gereksiz dosyaları kaldırabilirsiniz.", "TenantCustomQuotaDescription": "Gereksiz dosyaları kaldırabilir veya <1>Depolama yönetimi ayarlarından kotayı değiştirebilirsiniz.", - "UserQuotaDescription": "{{productName}} alanınız için daha iyi bir fiyatlandırma planı bulmak için <1>{{clickHere}}.", "UserQuotaHeader": "Yönetici/uzman kullanıcı sayısı aşılmak üzere: {{currentValue}} / {{maxValue}}." } diff --git a/packages/client/public/locales/tr/PDFFormDialog.json b/packages/client/public/locales/tr/PDFFormDialog.json index 737ae5b363..c86c8c8f72 100644 --- a/packages/client/public/locales/tr/PDFFormDialog.json +++ b/packages/client/public/locales/tr/PDFFormDialog.json @@ -1,5 +1,4 @@ { - "PDFFormDialogTitle": "Doldurulmaya hazır PDF formu", "PDFFormEditDialogDescription": "Form düzenleme moduna geçmek istiyor musunuz? Lütfen formun artık doldurulamayacağını ve doldurmak için düzenledikten sonra Doldurmaya başla düğmesine tekrar tıklamanız gerekeceğini unutmayın.", "PDFFormEditDialogTitle": "Form düzenleme", "PDFFormIsReadyToast": "PDF formu <1>{{filename}} doldurulmaya hazır.", diff --git a/packages/client/public/locales/tr/Payments.json b/packages/client/public/locales/tr/Payments.json index 6c424201ab..b91e8010ce 100644 --- a/packages/client/public/locales/tr/Payments.json +++ b/packages/client/public/locales/tr/Payments.json @@ -25,7 +25,6 @@ "Pay": "Öde", "Payer": "Ödeyen", "PayerDescription": "Bu kullanıcının ödeme detaylarına erişimi vardır ve kotayı ayarlayıp ödeme yapabilen tek kullanıcıdır. {{productName}} sahibi ve ödeme yöneticisinin kendisi, Stripe müşteri portalını kullanarak ödeme yöneticisi rolünü yeniden atayabilir.", - "PaymentOverdue": "Yeni kullanıcılar eklenemiyor.", "PriceCalculation": "Fiyatını hesapla", "RenewSubscription": "{{planName}} planı aboneliğini yenile", "RoomManagerDescription": "Oda yönetimi ve arşivleme, kullanıcı daveti ve yönetimi. Odaya birkaç yönetici atanabilir.", @@ -35,7 +34,6 @@ "TotalPricePerMonth": "<1>{{currencySymbol}}<2>{{price}}<3>/ay", "UpgradeNow": "Şimdi Yükselt", "UpgradePlan": "Yükseltme planı", - "UpgradePlanInfo": "Yeni kullanıcılar eklemek, mevcut fiyatlandırma planınızın izin verdiği maksimum oda üyesi sayısını aşacaktır.", "UserNotFound": "<1>{{email}} kullanıcısı bulunamad.", "UserNotFoundMatchingEmail": "Eşleşen Stripe e-postasına sahip kullanıcıyı bulamadık.", "YourPrice": "Ücret" diff --git a/packages/client/public/locales/uk-UA/MainBar.json b/packages/client/public/locales/uk-UA/MainBar.json index ffc4e77bbe..648835a380 100644 --- a/packages/client/public/locales/uk-UA/MainBar.json +++ b/packages/client/public/locales/uk-UA/MainBar.json @@ -1,19 +1,12 @@ { - "ClickHere": "Натисніть тут", "ConfirmEmailDescription": "Скористайтеся посиланням, наданим в активувальному листі. Не отримали листа з посиланням для активації?", "ConfirmEmailHeader": "Активуйте свою адресу електронної пошти ({{ email }}), щоб отримати доступ до функцій {{productName}}.", "PersonalUserQuotaAdminsDescription": "Щоб вивантажити та створити нові файли й папки, звільніть місце на диску або керуйте квотою користувача в <1>Параметрах керування сховищем.", "PersonalUserQuotaDescription": "Щоб вивантажити та створити нові файли й папки, звільніть місце на диску або зверніться до адміністратора, аби збільшити квоту сховища.", "RequestActivation": "Запитати активацію ще раз", - "RoomQuotaDescription": "Ви можете архівувати непотрібні кімнати або <1>{{clickHere}}, щоб знайти більш підходящий тарифний план для вашого {{productName}}.", "RoomQuotaHeader": "Кількість кімнат скоро буде перевищено: {{currentValue}}/{{maxValue}}", - "StorageAndRoomHeader": "Обмеження сховища та кількості кімнат скоро буде перевищено.", "StorageAndUserHeader": "Обмеження сховища та обмеження для адміністраторів / досвідчених користувачів скоро буде перевищено.", - "StorageQuotaDescription": "Ви можете видалити непотрібні файли, або <1>{{clickHere}}, щоб знайти більш підходящий тарифний план для вашого {{productName}}.", - "StorageQuotaExceeded": "Квоту сховища перевищено", "StorageQuotaHeader": "Обсяг сховища скоро буде перевищено: {{currentValue}}/{{maxValue}}", - "StorageQuotaUserDescription": "Ви можете видалити непотрібні файли, щоб звільнити місце на диску.", "TenantCustomQuotaDescription": "Ви можете видалити непотрібні файли або змінити квоту в <1>Параметрах керування сховищем.", - "UserQuotaDescription": "<1>{{clickHere}}, щоб знайти кращий тарифний план для вашого {{productName}}.", "UserQuotaHeader": "Кількість адміністраторів / досвідчених користувачів скоро буде перевищено: {{currentValue}}/{{maxValue}}." } diff --git a/packages/client/public/locales/uk-UA/PDFFormDialog.json b/packages/client/public/locales/uk-UA/PDFFormDialog.json index 5fa3302fc5..b70f859b48 100644 --- a/packages/client/public/locales/uk-UA/PDFFormDialog.json +++ b/packages/client/public/locales/uk-UA/PDFFormDialog.json @@ -1,5 +1,4 @@ { - "PDFFormDialogTitle": "Готова до заповнення PDF-форма", "PDFFormEditDialogDescription": "Хочете перемкнутися на режим редагування форми? Зверніть увагу, що форма більше не буде доступна для заповнення. Щоб її заповнити, після редагування вам потрібно буде знову натиснути кнопку «Почати заповнення».", "PDFFormEditDialogTitle": "Редагування форми", "PDFFormIsReadyToast": "PDF-форма <1>{{filename}} готова до заповнення.", diff --git a/packages/client/public/locales/uk-UA/Payments.json b/packages/client/public/locales/uk-UA/Payments.json index 23c8ec76aa..333acbfcbd 100644 --- a/packages/client/public/locales/uk-UA/Payments.json +++ b/packages/client/public/locales/uk-UA/Payments.json @@ -25,7 +25,6 @@ "Pay": "Оплатити", "Payer": "Платник", "PayerDescription": "Цей користувач має доступ до платіжних даних і є єдиним користувачем, який може регулювати квоту та здійснювати платежі. Власник {{productName}}, а також сам менеджер з оплати можуть змінити менеджера з оплати за допомогою порталу клієнтів Stripe.", - "PaymentOverdue": "Неможливо додати нових користувачів.", "PriceCalculation": "Розрахуйте вашу ціну", "RenewSubscription": "Поновити підписку на план {{planName}}", "RoomManagerDescription": "Адміністрування та архівування кімнати, запрошення користувачів та керування ними. Для кімнати можна призначити кількох адміністраторів.", @@ -35,7 +34,6 @@ "TotalPricePerMonth": "<2>{{price}}<1>{{currencySymbol}}<3> на місяць", "UpgradeNow": "Підвищити зараз", "UpgradePlan": "Підвищити план", - "UpgradePlanInfo": "У разі додавання нових користувачів буде перевищено максимальну кількість учасників кімнати, дозволену вашим поточним тарифним планом.", "UserNotFound": "Користувача <1>{{email}} не знайдено.", "UserNotFoundMatchingEmail": "Нам не вдалося знайти користувача з відповідною електронною адресою Stripe.", "YourPrice": "Ваша ціна" diff --git a/packages/client/public/locales/vi/MainBar.json b/packages/client/public/locales/vi/MainBar.json index 9865075e68..cc19199baf 100644 --- a/packages/client/public/locales/vi/MainBar.json +++ b/packages/client/public/locales/vi/MainBar.json @@ -1,19 +1,12 @@ { - "ClickHere": "Nhấp vào đây", "ConfirmEmailDescription": "Sử dụng liên kết được cung cấp trong email kích hoạt. Bạn chưa nhận được email chứa liên kết kích hoạt?", "ConfirmEmailHeader": "Xin vui lòng kích hoạt email ({{ email }}) của bạn để có quyền truy cập vào các tính năng {{productName}}.", "PersonalUserQuotaAdminsDescription": "Để tải lên và tạo các tập tin và thư mục mới, vui lòng giải phóng dung lượng đĩa hoặc quản lý hạn mức cho mỗi người dùng trong <1> cài đặt Quản lý lưu trữ.", "PersonalUserQuotaDescription": "Để tải lên và tạo các tập tin và thư mục mới, vui lòng giải phóng dung lượng đĩa hoặc liên hệ với quản trị viên để tăng hạn mức lưu trữ.", "RequestActivation": "Yêu cầu kích hoạt lại", - "RoomQuotaDescription": "Bạn có thể sao lưu các phòng không cần thiết hoặc <1>{{clickHere}} để tìm gói dịch vụ có giá phù hợp hơn cho {{productName}} của mình.", "RoomQuotaHeader": "Phòng sắp vượt quá:{{currentValue}} / {{maxValue}}", - "StorageAndRoomHeader": "Sắp vượt quá giới hạn lưu trữ và phòng.", "StorageAndUserHeader": "Sắp vượt quá giới hạn lưu trữ và quản trị viên/người dùng cấp cao.", - "StorageQuotaDescription": "Bạn có thể xóa các tập tin không cần thiết hoặc <1>{{clickHere}} để tìm gói dịch vụ có giá phù hợp hơn cho {{productName}} của mình.", - "StorageQuotaExceeded": "Đã vượt quá hạn mức lưu trữ", "StorageQuotaHeader": "Dung lượng lưu trữ sắp vượt quá:{{currentValue}} / {{maxValue}}", - "StorageQuotaUserDescription": "Bạn có thể xóa các tập tin không cần thiết để giải phóng dung lượng ổ đĩa.", "TenantCustomQuotaDescription": "Bạn có thể xóa các tập tin không cần thiết hoặc thay đổi hạn mức trong cài đặt Quản lý lưu trữ <1>.", - "UserQuotaDescription": "<1>{{clickHere}} để tìm gói dịch vụ có giá tốt hơn cho {{productName}} của bạn.", "UserQuotaHeader": "Sắp vượt quá số lượng quản trị viên/người dùng cấp cao:{{currentValue}}/{{maxValue}}." } diff --git a/packages/client/public/locales/vi/PDFFormDialog.json b/packages/client/public/locales/vi/PDFFormDialog.json index 5b59cd5ba4..9c5b70304f 100644 --- a/packages/client/public/locales/vi/PDFFormDialog.json +++ b/packages/client/public/locales/vi/PDFFormDialog.json @@ -1,5 +1,4 @@ { - "PDFFormDialogTitle": "Mẫu PDF sẵn sàng để điền", "PDFFormEditDialogDescription": "Bạn có muốn chuyển sang chế độ chỉnh sửa biểu mẫu không? Xin lưu ý rằng biểu mẫu sẽ không còn khả dụng để điền và bạn sẽ cần nhấp lại vào nút Bắt đầu điền sau khi chỉnh sửa để điền vào.", "PDFFormEditDialogTitle": "Chỉnh sửa biểu mẫu", "PDFFormIsReadyToast": "Biểu mẫu PDF <1>{{filename}} đã sẵn sàng để được điền.", diff --git a/packages/client/public/locales/vi/Payments.json b/packages/client/public/locales/vi/Payments.json index 57cbceea45..e0ca8ca22b 100644 --- a/packages/client/public/locales/vi/Payments.json +++ b/packages/client/public/locales/vi/Payments.json @@ -25,7 +25,6 @@ "Pay": "Thanh toán", "Payer": "Người thanh toán", "PayerDescription": "Người dùng này có quyền truy cập vào thông tin thanh toán và là người dùng duy nhất có thể điều chỉnh định mức và thực hiện thanh toán. Chủ sở hữu {{productName}}, cũng như chính người quản lý thanh toán, có thể chỉ định lại vai trò người quản lý thanh toán bằng cổng thông tin khách hàng Stripe.", - "PaymentOverdue": "Không thể thêm người dùng mới.", "PriceCalculation": "Tính phí của bạn", "RenewSubscription": "Gia hạn gói dịch vụ {{planName}}", "RoomManagerDescription": "Quản trị và lưu trữ phòng, mời và quản lý người dùng. Một số quản trị viên có thể được chỉ định vào phòng.", @@ -35,7 +34,6 @@ "TotalPricePerMonth": "<1>{{currencySymbol}} <2>{{price}} <3>/tháng", "UpgradeNow": "Nâng cấp ngay", "UpgradePlan": "Nâng cấp gói dịch vụ", - "UpgradePlanInfo": "Việc thêm người dùng mới sẽ vượt quá số lượng thành viên tối đa được phép trong phòng theo gói dịch vụ hiện tại của bạn.", "UserNotFound": "Không tìm thấy người dùng<1>{{email}}.", "UserNotFoundMatchingEmail": "Chúng tôi không thể tìm thấy người dùng có e-mail Stripe phù hợp.", "YourPrice": "Phí thanh toán của bạn" diff --git a/packages/client/public/locales/zh-CN/Files.json b/packages/client/public/locales/zh-CN/Files.json index 961faaec34..9414afc428 100644 --- a/packages/client/public/locales/zh-CN/Files.json +++ b/packages/client/public/locales/zh-CN/Files.json @@ -7,7 +7,7 @@ "AppointNewOwner": "您已指定一个新的所有者。", "ArchiveAction": "清空归档", "ArchivedRoomsAction": "房间已归档", - "ArchiveEmptyScreen": " 您可以随时存档不使用的房间并在{{productName}}中恢复它们,也可以永久删除它们。这些房间将显示在此处。", + "ArchiveEmptyScreen": " 您可以随时存档不使用的房间并在{{productName}}中恢复它们,也可以永久删除它们。这些房间将显示在此处。", "ArchiveEmptyScreenHeader": "此处暂无已归档房间", "ArchiveEmptyScreenUser": "已归档房间将出现在此处。", "Archives": "归档", diff --git a/packages/client/public/locales/zh-CN/MainBar.json b/packages/client/public/locales/zh-CN/MainBar.json index 31f5698f0d..207f3e04b4 100644 --- a/packages/client/public/locales/zh-CN/MainBar.json +++ b/packages/client/public/locales/zh-CN/MainBar.json @@ -1,19 +1,12 @@ { - "ClickHere": "点击此处", "ConfirmEmailDescription": "使用激活邮件中提供的链接。没有收到包含激活链接的邮件?", "ConfirmEmailHeader": "请激活您的电子邮件 ({{ email }}) 以访问{{productName}}功能。", "PersonalUserQuotaAdminsDescription": "如要上传和创建新文件和文件夹,请释放磁盘空间,或在<1>存储空间管理设置中管理每位用户的配额。", "PersonalUserQuotaDescription": "如要上传和创建新文件和文件夹,请释放磁盘空间,或联系管理员增加存储空间配额。", "RequestActivation": "请求再次激活", - "RoomQuotaDescription": "您可以存档不必要的房间或<1>{{clickHere}}为您的{{productName}}找到更合适的定价计划。", "RoomQuotaHeader": "房间数量即将超出限制:{{currentValue}}/{{maxValue}}", - "StorageAndRoomHeader": "存储和房间的限制即将被超过。", "StorageAndUserHeader": "存储和管理员/高级用户的数量限制即将被超过。", - "StorageQuotaDescription": "您可以删除不必要的文件或 <1>{{clickHere}}为您的{{productName}}找到更合适的定价计划。", - "StorageQuotaExceeded": "超出存储空间配额", "StorageQuotaHeader": "存储空间数量即将超出限制:{{currentValue}}/{{maxValue}}", - "StorageQuotaUserDescription": "您可以删除不必要的文件以释放磁盘空间。", "TenantCustomQuotaDescription": "您可以在<1>存储空间管理设置中删除不必要的文件,或更改配额。", - "UserQuotaDescription": "<1>{{clickHere}}为您的{{productName}}找到更好的定价计划。", "UserQuotaHeader": "管理员/高级用户的数量即将超过限制: {{currentValue}} / {{maxValue}}" } diff --git a/packages/client/public/locales/zh-CN/PDFFormDialog.json b/packages/client/public/locales/zh-CN/PDFFormDialog.json index 630f37d226..57e170926c 100644 --- a/packages/client/public/locales/zh-CN/PDFFormDialog.json +++ b/packages/client/public/locales/zh-CN/PDFFormDialog.json @@ -1,5 +1,4 @@ { - "PDFFormDialogTitle": "随时可填写的 PDF 表单", "PDFFormEditDialogDescription": "您想切换到表单编辑模式吗?请注意,表单将不再可供填写,编辑后您需要再次单击“开始填写”按钮才能填写。", "PDFFormEditDialogTitle": "表单编辑", "PDFFormIsReadyToast": "PDF 表单 <1>{{filename}}} 已准备好填写。", diff --git a/packages/client/public/locales/zh-CN/Payments.json b/packages/client/public/locales/zh-CN/Payments.json index aff5eadd87..0263a5c87d 100644 --- a/packages/client/public/locales/zh-CN/Payments.json +++ b/packages/client/public/locales/zh-CN/Payments.json @@ -25,7 +25,6 @@ "Pay": "付款", "Payer": "付款者", "PayerDescription": "此用户可以访问付款详情,并且是唯一可以调整配额和付款的用户。{{productName}}所有者以及付款经理本人可以使用 Stripe 客户门户重新分配付款经理角色。", - "PaymentOverdue": "无法添加新用户。", "PriceCalculation": "计算价格", "RenewSubscription": "将订阅更新至{{planName}}版本", "RoomManagerDescription": "房间管理和归档,用户邀请和管理可为房间指派多名管理员。", @@ -35,7 +34,6 @@ "TotalPricePerMonth": "<1>{{currencySymbol}}<2>{{price}}<3>/月", "UpgradeNow": "立即升级", "UpgradePlan": "升级版本", - "UpgradePlanInfo": "新用户添加后将超出您当前版本允许的最大房间数或成员数限制。", "UserNotFound": "未找到用户 <1>{{email}}。", "UserNotFoundMatchingEmail": "我们无法找到与Stripe电子邮件匹配的用户。", "YourPrice": "您的价格" diff --git a/packages/client/src/App.js b/packages/client/src/App.js index dc628cc5d1..9c67ffd4bb 100644 --- a/packages/client/src/App.js +++ b/packages/client/src/App.js @@ -33,7 +33,7 @@ import { Provider as MobxProvider } from "mobx-react"; import ThemeProvider from "./components/ThemeProviderWrapper"; import ErrorBoundary from "./components/ErrorBoundaryWrapper"; -import store from "client/store"; +import store from "SRC_DIR/store"; import i18n from "./i18n"; import "@docspace/shared/polyfills/broadcastchannel"; diff --git a/packages/client/src/HOCs/withFileActions.js b/packages/client/src/HOCs/withFileActions.js index a6aea017c0..cc0d12e076 100644 --- a/packages/client/src/HOCs/withFileActions.js +++ b/packages/client/src/HOCs/withFileActions.js @@ -62,21 +62,14 @@ export default function withFileActions(WrappedFileItem) { }; onDropZoneUpload = (files, uploadToFolder) => { - const { t, dragging, setDragging, startUpload, uploadEmptyFolders } = + const { t, dragging, setDragging, startUpload, createFoldersTree } = this.props; dragging && setDragging(false); - const emptyFolders = files.filter((f) => f.isEmptyDirectory); - - if (emptyFolders.length > 0) { - uploadEmptyFolders(emptyFolders, uploadToFolder).then(() => { - const onlyFiles = files.filter((f) => !f.isEmptyDirectory); - if (onlyFiles.length > 0) startUpload(onlyFiles, uploadToFolder, t); - }); - } else { - startUpload(files, uploadToFolder, t); - } + createFoldersTree(files, uploadToFolder).then((f) => { + if (f.length > 0) startUpload(f, null, t); + }); }; onDrop = (items) => { @@ -167,7 +160,7 @@ export default function withFileActions(WrappedFileItem) { if ( e.target?.tagName === "INPUT" || - e.target?.tagName === "SPAN" || + // e.target?.tagName === "SPAN" || e.target?.tagName === "A" || e.target.closest(".checkbox") || e.target.closest(".table-container_row-checkbox") || @@ -277,12 +270,12 @@ export default function withFileActions(WrappedFileItem) { isRecentTab, canDrag, } = this.props; - const { access, id } = item; + const { id, security } = item; const isDragging = !isDisabledDropItem && isFolder && - access < 2 && + security?.MoveTo && !isTrashFolder && !isPrivacy; @@ -371,7 +364,7 @@ export default function withFileActions(WrappedFileItem) { onSelectItem, //setNewBadgeCount, openFileAction, - uploadEmptyFolders, + createFoldersTree, } = filesActionsStore; const { setSharingPanelVisible } = dialogsStore; const { @@ -475,7 +468,7 @@ export default function withFileActions(WrappedFileItem) { dragging, setDragging, startUpload, - uploadEmptyFolders, + createFoldersTree, draggable, setTooltipPosition, setStartDrag, diff --git a/packages/client/src/HOCs/withHotkeys.js b/packages/client/src/HOCs/withHotkeys.js index 76c7b0c3aa..042d03ff2b 100644 --- a/packages/client/src/HOCs/withHotkeys.js +++ b/packages/client/src/HOCs/withHotkeys.js @@ -83,8 +83,8 @@ const withHotkeys = (Component) => { isVisitor, deleteRooms, archiveRooms, - isGracePeriod, - setInviteUsersWarningDialogVisible, + isWarningRoomsDialog, + setQuotaWarningDialogVisible, security, copyToClipboard, @@ -158,8 +158,8 @@ const withHotkeys = (Component) => { const onCreateRoom = () => { if (!isVisitor && isRoomsFolder && security?.Create) { - if (isGracePeriod) { - setInviteUsersWarningDialogVisible(true); + if (isWarningRoomsDialog) { + setQuotaWarningDialogVisible(true); return; } @@ -169,6 +169,10 @@ const withHotkeys = (Component) => { }; const onPaste = async (e) => { + const someDialogIsOpen = checkDialogsOpen(); + + if (someDialogIsOpen) return; + uploadClipboardFiles(t, e); }; @@ -436,7 +440,7 @@ const withHotkeys = (Component) => { treeFoldersStore, selectedFolderStore, userStore, - currentTariffStatusStore, + currentQuotaStore, }) => { const { setSelected, @@ -473,7 +477,7 @@ const withHotkeys = (Component) => { const { setDeleteDialogVisible, setSelectFileDialogVisible, - setInviteUsersWarningDialogVisible, + setQuotaWarningDialogVisible, } = dialogsStore; const { isAvailableOption, @@ -487,7 +491,6 @@ const withHotkeys = (Component) => { const { visible: mediaViewerIsVisible } = mediaViewerDataStore; const { setHotkeyPanelVisible } = settingsStore; - const { isGracePeriod } = currentTariffStatusStore; const isVisitor = userStore.user?.isVisitor; @@ -499,6 +502,8 @@ const withHotkeys = (Component) => { isRoomsFolder, } = treeFoldersStore; + const { isWarningRoomsDialog } = currentQuotaStore; + const security = selectedFolderStore.security; const isFormRoom = selectedFolderStore.roomType === RoomsType.FormRoom; const isParentFolderFormRoom = @@ -553,8 +558,8 @@ const withHotkeys = (Component) => { deleteRooms, archiveRooms, - isGracePeriod, - setInviteUsersWarningDialogVisible, + isWarningRoomsDialog, + setQuotaWarningDialogVisible, security, copyToClipboard, diff --git a/packages/client/src/components/AccessSelector/index.tsx b/packages/client/src/components/AccessSelector/index.tsx index 127938ec6b..3a72a8c990 100644 --- a/packages/client/src/components/AccessSelector/index.tsx +++ b/packages/client/src/components/AccessSelector/index.tsx @@ -52,6 +52,9 @@ interface AccessSelectorProps { isDisabled?: boolean; directionX?: string; directionY?: string; + isSelectionDisabled?: boolean; + selectionErrorText: React.ReactNode; + availableAccess?: number[]; } const AccessSelector: React.FC = ({ @@ -72,6 +75,9 @@ const AccessSelector: React.FC = ({ isDisabled, directionX = "right", directionY = "bottom", + isSelectionDisabled, + selectionErrorText, + availableAccess, }) => { const [horizontalOrientation, setHorizontalOrientation] = useState(false); const [width, setWidth] = useState(manualWidth || 0); @@ -133,6 +139,9 @@ const AccessSelector: React.FC = ({ setIsOpenItemAccess={setIsOpenItemAccess} hideMobileView={isMobileHorizontalOrientation} isDisabled={isDisabled} + isSelectionDisabled={isSelectionDisabled} + selectionErrorText={selectionErrorText} + availableAccess={availableAccess} /> )} @@ -155,6 +164,9 @@ const AccessSelector: React.FC = ({ withBackground={!isMobileView} withBlur={isMobileView} isDisabled={isDisabled} + isSelectionDisabled={isSelectionDisabled} + selectionErrorText={selectionErrorText} + availableAccess={availableAccess} /> )} diff --git a/packages/client/src/components/Article/Body/Items.js b/packages/client/src/components/Article/Body/Items.js index f4b212e4fa..e06439b783 100644 --- a/packages/client/src/components/Article/Body/Items.js +++ b/packages/client/src/components/Article/Body/Items.js @@ -68,7 +68,7 @@ const Item = ({ onBadgeClick, showDragItems, startUpload, - uploadEmptyFolders, + createFoldersTree, setDragging, showBadge, labelBadge, @@ -86,18 +86,12 @@ const Item = ({ const onDropZoneUpload = React.useCallback( (files, uploadToFolder) => { dragging && setDragging(false); - const emptyFolders = files.filter((f) => f.isEmptyDirectory); - if (emptyFolders.length > 0) { - uploadEmptyFolders(emptyFolders, uploadToFolder).then(() => { - const onlyFiles = files.filter((f) => !f.isEmptyDirectory); - if (onlyFiles.length > 0) startUpload(onlyFiles, uploadToFolder, t); - }); - } else { - startUpload(files, uploadToFolder, t); - } + createFoldersTree(files, uploadToFolder).then((f) => { + if (f.length > 0) startUpload(f, null, t); + }); }, - [t, dragging, setDragging, startUpload, uploadEmptyFolders], + [t, dragging, setDragging, startUpload, createFoldersTree], ); const onDrop = React.useCallback( @@ -193,7 +187,7 @@ const Items = ({ dragging, setDragging, startUpload, - uploadEmptyFolders, + createFoldersTree, isVisitor, isCollaborator, isAdmin, @@ -326,7 +320,7 @@ const Items = ({ t={t} setDragging={setDragging} startUpload={startUpload} - uploadEmptyFolders={uploadEmptyFolders} + createFoldersTree={createFoldersTree} item={item} setBufferSelection={setBufferSelection} dragging={dragging} @@ -388,7 +382,7 @@ const Items = ({ showText, setDragging, startUpload, - uploadEmptyFolders, + createFoldersTree, trashIsEmpty, isAdmin, isVisitor, @@ -449,7 +443,7 @@ export default inject( const { id, access: folderAccess } = selectedFolderStore; const { moveDragItems, - uploadEmptyFolders, + createFoldersTree, deleteAction, emptyTrashInProgress, } = filesActionsStore; @@ -478,7 +472,7 @@ export default inject( setBufferSelection, deleteAction, startUpload, - uploadEmptyFolders, + createFoldersTree, setEmptyTrashDialogVisible, trashIsEmpty, diff --git a/packages/client/src/components/Article/MainButton/index.js b/packages/client/src/components/Article/MainButton/index.js index b41c36fa83..afdc951222 100644 --- a/packages/client/src/components/Article/MainButton/index.js +++ b/packages/client/src/components/Article/MainButton/index.js @@ -70,6 +70,7 @@ import { resendInvitesAgain } from "@docspace/shared/api/people"; import { ArticleButtonLoader } from "@docspace/shared/skeletons/article"; import { isMobile, isTablet } from "react-device-detect"; import { globalColors } from "@docspace/shared/themes"; +import getFilesFromEvent from "@docspace/shared/components/drag-and-drop/get-files-from-event"; const StyledButton = styled(Button)` font-weight: 700; @@ -171,8 +172,7 @@ const ArticleMainButtonContent = (props) => { copyPanelVisible, security, - isGracePeriod, - setInviteUsersWarningDialogVisible, + setQuotaWarningDialogVisible, currentDeviceType, isFrame, @@ -180,6 +180,9 @@ const ArticleMainButtonContent = (props) => { parentRoomType, isFolder, + createFoldersTree, + showWarningDialog, + isWarningRoomsDialog, } = props; const navigate = useNavigate(); @@ -218,14 +221,14 @@ const ArticleMainButtonContent = (props) => { ); const onCreateRoom = React.useCallback(() => { - if (isGracePeriod) { - setInviteUsersWarningDialogVisible(true); + if (isWarningRoomsDialog) { + setQuotaWarningDialogVisible(true); return; } const event = new Event(Events.ROOM_CREATE); window.dispatchEvent(event); - }, []); + }, [isWarningRoomsDialog]); const onShowSelectFileDialog = React.useCallback(() => { setSelectFileDialogVisible(true); @@ -239,8 +242,12 @@ const ArticleMainButtonContent = (props) => { ); const onFileChange = React.useCallback( - (e) => { - startUpload(e.target.files, null, t); + async (e) => { + const files = await getFilesFromEvent(e); + + createFoldersTree(files).then((f) => { + if (f.length > 0) startUpload(f, null, t); + }); }, [startUpload, t], ); @@ -249,7 +256,7 @@ const ArticleMainButtonContent = (props) => { if (isPrivacy) { encryptionUploadDialog((encryptedFile, encrypted) => { encryptedFile.encrypted = encrypted; - startUpload([encryptedFile], null, t); + startUpload([encryptedFile], null, t); // TODO: createFoldersTree }); } else { inputFilesElement.current.click(); @@ -283,8 +290,8 @@ const ArticleMainButtonContent = (props) => { const onInvite = React.useCallback((e) => { const type = e.action; - if (isGracePeriod) { - setInviteUsersWarningDialogVisible(true); + if (showWarningDialog(type)) { + setQuotaWarningDialogVisible(true); return; } @@ -901,6 +908,8 @@ export default inject( versionHistoryStore, userStore, currentTariffStatusStore, + filesActionsStore, + currentQuotaStore, }) => { const { showArticleLoader } = clientLoadingStore; const { mainButtonMobileVisible } = filesStore; @@ -917,7 +926,7 @@ export default inject( const { setSelectFileDialogVisible, setInvitePanelOptions, - setInviteUsersWarningDialogVisible, + setQuotaWarningDialogVisible, copyPanelVisible, moveToPanelVisible, restorePanelVisible, @@ -938,16 +947,18 @@ export default inject( const isFolder = selectedFolderStore.isFolder; const { isAdmin, isOwner, isRoomAdmin } = userStore.user; - const { isGracePeriod } = currentTariffStatusStore; + + const { showWarningDialog, isWarningRoomsDialog } = currentQuotaStore; const { setOformFromFolderId, oformsFilter } = oformsStore; const { mainButtonItemsList } = pluginStore; const { frameConfig, isFrame } = settingsStore; + const { createFoldersTree } = filesActionsStore; + return { - isGracePeriod, - setInviteUsersWarningDialogVisible, + setQuotaWarningDialogVisible, showText: settingsStore.showText, isMobileArticle: settingsStore.isMobileArticle, @@ -997,6 +1008,10 @@ export default inject( isFolder, selectFileFormRoomDialogVisible, setSelectFileFormRoomDialogVisible, + createFoldersTree, + + showWarningDialog, + isWarningRoomsDialog, }; }, )( diff --git a/packages/client/src/components/EmptyContainer/index.js b/packages/client/src/components/EmptyContainer/index.js index 956a768482..3abb285a6b 100644 --- a/packages/client/src/components/EmptyContainer/index.js +++ b/packages/client/src/components/EmptyContainer/index.js @@ -52,10 +52,11 @@ const EmptyContainer = ({ sectionWidth, isRoomNotFoundOrMoved, isGracePeriod, - setInviteUsersWarningDialogVisible, + setQuotaWarningDialogVisible, isRoot, isPublicRoom, isEmptyPage, + isWarningRoomsDialog, }) => { //const location = useLocation(); @@ -79,8 +80,8 @@ const EmptyContainer = ({ }; const onCreateRoom = (e) => { - if (isGracePeriod) { - setInviteUsersWarningDialogVisible(true); + if (isWarningRoomsDialog) { + setQuotaWarningDialogVisible(true); return; } @@ -126,7 +127,7 @@ export default inject( settingsStore, filesStore, dialogsStore, - + currentQuotaStore, selectedFolderStore, clientLoadingStore, currentTariffStatusStore, @@ -137,13 +138,14 @@ export default inject( const { isGracePeriod } = currentTariffStatusStore; - const { setInviteUsersWarningDialogVisible } = dialogsStore; + const { setQuotaWarningDialogVisible } = dialogsStore; const { isPublicRoom } = publicRoomStore; const isRoomNotFoundOrMoved = isFiltered === null && isErrorRoomNotAvailable; const isRoot = selectedFolderStore.pathParts?.length === 1; + const { isWarningRoomsDialog } = currentQuotaStore; return { theme: settingsStore.theme, @@ -153,10 +155,11 @@ export default inject( parentId: selectedFolderStore.parentId, isRoomNotFoundOrMoved, isGracePeriod, - setInviteUsersWarningDialogVisible, + setQuotaWarningDialogVisible, type: selectedFolderStore.type, isRoot, isPublicRoom, + isWarningRoomsDialog, }; }, )(observer(EmptyContainer)); diff --git a/packages/client/src/components/FilesPanels/index.js b/packages/client/src/components/FilesPanels/index.js index 776209ee9e..edce96ce7a 100644 --- a/packages/client/src/components/FilesPanels/index.js +++ b/packages/client/src/components/FilesPanels/index.js @@ -54,7 +54,7 @@ import { ConflictResolveDialog, ConvertDialog, CreateRoomDialog, - InviteUsersWarningDialog, + InviteQuotaWarningDialog, CreateRoomConfirmDialog, ChangeUserTypeDialog, SubmitToFormGallery, @@ -81,6 +81,7 @@ import { PDFFormEditingDialog } from "../dialogs/PDFFormEditingDialog"; import { SharePDFFormDialog } from "../dialogs/SharePDFFormDialog"; import { FillPDFDialog } from "../dialogs/FillPDFDialog"; import { ShareCollectSelector } from "../ShareCollectSelector"; +import { saveToLocalStorage } from "SRC_DIR/pages/PortalSettings/utils"; const Panels = (props) => { const { @@ -114,7 +115,7 @@ const Panels = (props) => { confirmDialogIsLoading, restoreAllPanelVisible, archiveDialogVisible, - inviteUsersWarningDialogVisible, + inviteQuotaWarningDialogVisible, preparationPortalDialogVisible, changeUserTypeDialogVisible, restoreRoomDialogVisible, @@ -137,6 +138,10 @@ const Panels = (props) => { selectFileFormRoomOpenRoot, fillPDFDialogData, shareCollectSelector, + + setQuotaWarningDialogVisible, + resetQuotaItem, + isShowWarningDialog, } = props; const [sharePDFForm, setSharePDFForm] = useState({ @@ -192,6 +197,17 @@ const Panels = (props) => { }; }, [handleSharePDFForm]); + useEffect(() => { + if (isShowWarningDialog) { + setQuotaWarningDialogVisible(true); + + resetQuotaItem(); + } + return () => { + resetQuotaItem(); + }; + }, [isShowWarningDialog]); + return [ settingsPluginDialogVisible && ( { ), archiveDialogVisible && , restoreRoomDialogVisible && , - inviteUsersWarningDialogVisible && ( - + inviteQuotaWarningDialogVisible && ( + ), preparationPortalDialogVisible && ( @@ -330,7 +346,7 @@ export default inject( backup, createEditRoomStore, pluginStore, - filesStore, + currentQuotaStore, filesActionsStore, }) => { const { @@ -363,7 +379,7 @@ export default inject( selectFileFormRoomFilterParam, setSelectFileFormRoomDialogVisible, invitePanelOptions, - inviteUsersWarningDialogVisible, + inviteQuotaWarningDialogVisible, changeUserTypeDialogVisible, changeQuotaDialogVisible, submitToGalleryDialogVisible, @@ -380,6 +396,12 @@ export default inject( selectFileFormRoomOpenRoot, fillPDFDialogData, shareCollectSelector, + + setQuotaWarningDialogVisible, + setIsNewRoomByCurrentUser, + setIsNewUserByCurrentUser, + isNewUserByCurrentUser, + isNewRoomByCurrentUser, } = dialogsStore; const { preparationPortalDialogVisible } = backup; @@ -389,6 +411,8 @@ export default inject( const { isVisible: versionHistoryPanelVisible } = versionHistoryStore; const { hotkeyPanelVisible } = settingsStore; const { confirmDialogIsLoading } = createEditRoomStore; + const { isRoomsTariffAlmostLimit, isUserTariffAlmostLimit } = + currentQuotaStore; const { settingsPluginDialogVisible, @@ -396,6 +420,22 @@ export default inject( pluginDialogVisible, } = pluginStore; + const isAccounts = window.location.href.indexOf("accounts/people") !== -1; + const resetQuotaItem = () => { + if (isNewUserByCurrentUser) setIsNewUserByCurrentUser(false); + if (isNewRoomByCurrentUser) setIsNewRoomByCurrentUser(false); + }; + + const closeItems = JSON.parse(localStorage.getItem("warning-dialog")) || []; + + const isShowWarningDialog = isAccounts + ? isUserTariffAlmostLimit && + !closeItems.includes("user-quota") && + isNewUserByCurrentUser + : isRoomsTariffAlmostLimit && + !closeItems.includes("room-quota") && + isNewRoomByCurrentUser; + return { preparationPortalDialogVisible, uploadPanelVisible, @@ -427,7 +467,7 @@ export default inject( restoreAllPanelVisible, invitePanelVisible: invitePanelOptions.visible, archiveDialogVisible, - inviteUsersWarningDialogVisible, + inviteQuotaWarningDialogVisible, confirmDialogIsLoading, changeUserTypeDialogVisible, restoreRoomDialogVisible, @@ -450,6 +490,10 @@ export default inject( selectFileFormRoomOpenRoot, fillPDFDialogData, shareCollectSelector, + + setQuotaWarningDialogVisible, + resetQuotaItem, + isShowWarningDialog, }; }, )(observer(Panels)); diff --git a/packages/client/src/components/GlobalEvents/ChangeUserTypeEvent.js b/packages/client/src/components/GlobalEvents/ChangeUserTypeEvent.js index 8c3182abfc..ab3530ae60 100644 --- a/packages/client/src/components/GlobalEvents/ChangeUserTypeEvent.js +++ b/packages/client/src/components/GlobalEvents/ChangeUserTypeEvent.js @@ -24,17 +24,13 @@ // content are licensed under the terms of the Creative Commons Attribution-ShareAlike 4.0 // International. See the License terms at http://creativecommons.org/licenses/by-sa/4.0/legalcode -import React, { useState, useEffect } from "react"; +import { useEffect } from "react"; import { inject, observer } from "mobx-react"; import { useTranslation } from "react-i18next"; import { useNavigate } from "react-router-dom"; import { ChangeUserTypeDialog } from "../dialogs"; import { toastr } from "@docspace/shared/components/toast"; -import { Link } from "@docspace/shared/components/link"; -import { Text } from "@docspace/shared/components/text"; -import { combineUrl } from "@docspace/shared/utils/combineUrl"; -import { globalColors } from "@docspace/shared/themes"; const ChangeUserTypeEvent = ({ setVisible, @@ -47,7 +43,6 @@ const ChangeUserTypeEvent = ({ getPeopleListItem, setInfoPanelSelection, needResetUserSelection, - isRoomAdmin, }) => { const { toType, fromType, userIDs, successCallback, abortCallback } = peopleDialogData; @@ -77,16 +72,6 @@ const ChangeUserTypeEvent = ({ }; }, [peopleDialogData]); - const onClickPayments = () => { - const paymentPageUrl = combineUrl( - "/portal-settings", - "/payments/portal-payments", - ); - - toastr.clear(); - navigate(paymentPageUrl); - }; - const onChangeUserType = () => { onClosePanel(); updateUserType(toType, userIDs, peopleFilter, fromType) @@ -102,24 +87,7 @@ const ChangeUserTypeEvent = ({ successCallback && successCallback(users); }) .catch((err) => { - toastr.error( - <> - {t("Common:QuotaPaidUserLimitError")} - {!isRoomAdmin && ( - - {t("Common:PaymentsTitle")} - - )} - , - false, - 0, - true, - true, - ); + toastr.error(, false, 0, true, true); abortCallback && abortCallback(); }) @@ -175,7 +143,7 @@ export default inject( changeUserTypeDialogVisible: visible, setChangeUserTypeDialogVisible: setVisible, } = dialogsStore; - const { isRoomAdmin } = authStore; + const { setInfoPanelSelection } = infoPanelStore; const { dialogStore, filterStore, usersStore } = peopleStore; @@ -185,7 +153,6 @@ export default inject( usersStore; const { setSelected } = peopleStore.selectionStore; return { - isRoomAdmin, needResetUserSelection, getPeopleListItem, setInfoPanelSelection, diff --git a/packages/client/src/components/MainBar/Bar.js b/packages/client/src/components/MainBar/Bar.js index 018b5a8cd3..da93e3852b 100644 --- a/packages/client/src/components/MainBar/Bar.js +++ b/packages/client/src/components/MainBar/Bar.js @@ -67,28 +67,38 @@ const Bar = (props) => { maxCountManagersByQuota, addedManagersCount, - showRoomQuotaBar, - showStorageQuotaBar, - showUserQuotaBar, + isStorageTariffAlmostLimit, + isUserTariffAlmostLimit, currentColorScheme, setMainBarVisible, - showUserPersonalQuotaBar, + isPersonalQuotaLimit, tenantCustomQuota, - showTenantCustomQuotaBar, + isStorageTariffLimit, + isUserTariffLimit, + isStorageQuotaAlmostLimit, + isStorageQuotaLimit, + isRoomsTariffAlmostLimit, + isRoomsTariffLimit, } = props; const navigate = useNavigate(); const [barVisible, setBarVisible] = useState({ - roomQuota: false, + roomsTariff: false, + roomsTariffLimit: false, + storageTariff: false, + storageTariffLimit: false, storageQuota: false, - tenantCustomQuota: false, - userQuota: false, - storageAndUserQuota: false, - storageAndRoomQuota: false, + storageQuotaLimit: false, + usersTariff: false, + usersTariffLimit: false, + storageAndUserTariff: false, + storageAndUserTariffLimit: false, + roomsAndStorageTariff: false, + roomsAndStorageTariffLimit: false, confirmEmail: false, personalUserQuota: false, }); @@ -116,24 +126,38 @@ const Bar = (props) => { } if (closed) { - if (isAdmin) { + if (isAdmin || isRoomAdmin) { setBarVisible((value) => ({ ...value, - roomQuota: !closed.includes(QuotaBarTypes.RoomQuota), - userQuota: !closed.includes(QuotaBarTypes.UserQuota), - storageAndRoomQuota: !closed.includes( - QuotaBarTypes.UserAndStorageQuota, + roomsTariff: !closed.includes(QuotaBarTypes.RoomsTariff), + roomsTariffLimit: !closed.includes(QuotaBarTypes.RoomsTariffLimit), + usersTariffLimit: !closed.includes(QuotaBarTypes.UsersTariffLimit), + usersTariff: !closed.includes(QuotaBarTypes.UsersTariff), + storageAndUserTariff: !closed.includes( + QuotaBarTypes.UserAndStorageTariff, ), - storageAndUserQuota: !closed.includes( - QuotaBarTypes.RoomAndStorageQuota, + roomsAndStorageTariff: closed.includes( + QuotaBarTypes.RoomsAndStorageTariff, + ), + roomsAndStorageTariffLimit: closed.includes( + QuotaBarTypes.RoomsAndStorageTariffLimit, + ), + storageAndUserTariffLimit: !closed.includes( + QuotaBarTypes.UserAndStorageTariffLimit, ), })); } + if (isAdmin || isPowerUser || isRoomAdmin) { setBarVisible((value) => ({ ...value, + storageTariff: !closed.includes(QuotaBarTypes.StorageTariff), + storageTariffLimit: !closed.includes( + QuotaBarTypes.StorageTariffLimit, + ), storageQuota: !closed.includes(QuotaBarTypes.StorageQuota), - tenantCustomQuota: !closed.includes(QuotaBarTypes.TenantCustomQuota), + storageQuotaLimit: !closed.includes(QuotaBarTypes.StorageQuotaLimit), + personalUserQuota: !closed.includes(QuotaBarTypes.PersonalUserQuota), })); } @@ -145,14 +169,20 @@ const Bar = (props) => { } } else { setBarVisible({ - roomQuota: isAdmin, + roomsTariff: isAdmin || isRoomAdmin, + roomsTariffLimit: isAdmin || isRoomAdmin, + storageTariff: isAdmin || isPowerUser || isRoomAdmin, + storageTariffLimit: isAdmin || isPowerUser || isRoomAdmin, storageQuota: isAdmin || isPowerUser || isRoomAdmin, - tenantCustomQuota: isAdmin || isPowerUser || isRoomAdmin, - userQuota: isAdmin, - storageAndUserQuota: isAdmin, - storageAndRoomQuota: isAdmin, + storageQuotaLimit: isAdmin || isPowerUser || isRoomAdmin, + usersTariff: isAdmin || isRoomAdmin, + usersTariffLimit: isAdmin || isRoomAdmin, + storageAndUserTariff: isAdmin || isRoomAdmin, + roomsAndStorageTariff: isAdmin || isRoomAdmin, + roomsAndStorageTariffLimit: isAdmin || isRoomAdmin, + storageAndUserTariffLimit: isAdmin || isRoomAdmin, confirmEmail: true, - personalUserQuota: true, + personalUserQuota: isAdmin || isPowerUser || isRoomAdmin, }); } @@ -197,7 +227,7 @@ const Bar = (props) => { }; const onClickQuota = (type, e) => { - type === QuotaBarTypes.TenantCustomQuota || + type === QuotaBarTypes.StorageQuota || type === QuotaBarTypes.PersonalUserQuota ? onClickTenantCustomQuota() : onPaymentsClick(e); @@ -225,23 +255,53 @@ const Bar = (props) => { localStorage.setItem("barClose", JSON.stringify(closed)); switch (currentBar) { - case QuotaBarTypes.RoomQuota: - setBarVisible((value) => ({ ...value, roomQuota: false })); + case QuotaBarTypes.RoomsTariff: + setBarVisible((value) => ({ ...value, roomsTariff: false })); + break; + case QuotaBarTypes.RoomsTariffLimit: + setBarVisible((value) => ({ ...value, roomsTariffLimit: false })); + break; + case QuotaBarTypes.StorageTariff: + setBarVisible((value) => ({ ...value, storageTariff: false })); + break; + case QuotaBarTypes.StorageTariffLimit: + setBarVisible((value) => ({ ...value, storageTariffLimit: false })); break; case QuotaBarTypes.StorageQuota: setBarVisible((value) => ({ ...value, storageQuota: false })); break; - case QuotaBarTypes.TenantCustomQuota: - setBarVisible((value) => ({ ...value, tenantCustomQuota: false })); + case QuotaBarTypes.StorageQuotaLimit: + setBarVisible((value) => ({ ...value, storageQuotaLimit: false })); break; - case QuotaBarTypes.UserQuota: - setBarVisible((value) => ({ ...value, userQuota: false })); + case QuotaBarTypes.UsersTariff: + setBarVisible((value) => ({ + ...value, + usersTariff: false, + })); break; - case QuotaBarTypes.UserAndStorageQuota: - setBarVisible((value) => ({ ...value, storageAndUserQuota: false })); + case QuotaBarTypes.UsersTariffLimit: + setBarVisible((value) => ({ + ...value, + usersTariffLimit: false, + })); break; - case QuotaBarTypes.RoomAndStorageQuota: - setBarVisible((value) => ({ ...value, storageAndRoomQuota: false })); + case QuotaBarTypes.UserAndStorageTariff: + setBarVisible((value) => ({ ...value, storageAndUserTariff: false })); + break; + case QuotaBarTypes.UserAndStorageTariffLimit: + setBarVisible((value) => ({ + ...value, + storageAndUserTariffLimit: false, + })); + break; + case QuotaBarTypes.RoomsAndStorageTariff: + setBarVisible((value) => ({ ...value, roomsAndStorageTariff: false })); + break; + case QuotaBarTypes.RoomsAndStorageTariffLimit: + setBarVisible((value) => ({ + ...value, + roomsAndStorageTariffLimit: false, + })); break; case QuotaBarTypes.PersonalUserQuota: setBarVisible((value) => ({ ...value, personalUserQuota: false })); @@ -266,63 +326,120 @@ const Bar = (props) => { const getCurrentBar = () => { if ( - showRoomQuotaBar && - showStorageQuotaBar && - barVisible.storageAndRoomQuota + isRoomsTariffAlmostLimit && + isStorageTariffAlmostLimit && + barVisible.roomsAndStorageTariff ) { return { - type: QuotaBarTypes.RoomAndStorageQuota, - maxValue: null, - currentValue: null, - }; - } - if ( - showUserQuotaBar && - showStorageQuotaBar && - barVisible.storageAndUserQuota - ) { - return { - type: QuotaBarTypes.UserAndStorageQuota, + type: QuotaBarTypes.RoomsAndStorageTariff, maxValue: null, currentValue: null, }; } - if (showRoomQuotaBar && barVisible.roomQuota) { + if ( + isRoomsTariffLimit && + isStorageTariffLimit && + barVisible.roomsAndStorageTariffLimit + ) { return { - type: QuotaBarTypes.RoomQuota, + type: QuotaBarTypes.RoomsAndStorageTariffLimit, + maxValue: null, + currentValue: null, + }; + } + + if ( + isUserTariffAlmostLimit && + isStorageTariffAlmostLimit && + barVisible.storageAndUserTariff + ) { + return { + type: QuotaBarTypes.UserAndStorageTariff, + maxValue: null, + currentValue: null, + }; + } + + if ( + isUserTariffLimit && + isStorageTariffLimit && + barVisible.storageAndUserTariffLimit + ) { + return { + type: QuotaBarTypes.UserAndStorageTariffLimit, + maxValue: null, + currentValue: null, + }; + } + if (isRoomsTariffAlmostLimit && barVisible.roomsTariff) { + return { + type: QuotaBarTypes.RoomsTariff, maxValue: maxCountRoomsByQuota, currentValue: usedRoomsCount, }; } - if (showStorageQuotaBar && barVisible.storageQuota) { + if (isRoomsTariffLimit && barVisible.roomsTariffLimit) { return { - type: QuotaBarTypes.StorageQuota, - maxValue: getConvertedSize(t, maxTotalSizeByQuota), - currentValue: getConvertedSize(t, usedTotalStorageSizeCount), + type: QuotaBarTypes.RoomsTariffLimit, + maxValue: maxCountRoomsByQuota, + currentValue: usedRoomsCount, }; } - if (showTenantCustomQuotaBar && barVisible.tenantCustomQuota) { + if (isStorageQuotaAlmostLimit && barVisible.storageQuota) { return { - type: QuotaBarTypes.TenantCustomQuota, + type: QuotaBarTypes.StorageQuota, maxValue: getConvertedSize(t, tenantCustomQuota), currentValue: getConvertedSize(t, usedTotalStorageSizeCount), }; } - if (showUserQuotaBar && barVisible.userQuota) { + if (isStorageQuotaLimit && barVisible.storageQuotaLimit) { return { - type: QuotaBarTypes.UserQuota, + type: QuotaBarTypes.StorageQuotaLimit, + maxValue: getConvertedSize(t, tenantCustomQuota), + currentValue: getConvertedSize(t, usedTotalStorageSizeCount), + }; + } + + if (isStorageTariffAlmostLimit && barVisible.storageTariff) { + return { + type: QuotaBarTypes.StorageTariff, + maxValue: getConvertedSize(t, maxTotalSizeByQuota), + currentValue: getConvertedSize(t, usedTotalStorageSizeCount), + }; + } + + if (isStorageTariffLimit && barVisible.storageTariffLimit) { + return { + type: QuotaBarTypes.StorageTariffLimit, + maxValue: getConvertedSize(t, maxTotalSizeByQuota), + currentValue: getConvertedSize(t, usedTotalStorageSizeCount), + }; + } + + if (isUserTariffLimit && barVisible.usersTariffLimit) { + return { + type: QuotaBarTypes.UsersTariffLimit, maxValue: maxCountManagersByQuota, currentValue: addedManagersCount, }; } - if (showUserPersonalQuotaBar && barVisible.personalUserQuota) { + if (isUserTariffAlmostLimit && barVisible.usersTariff) { + return { + type: QuotaBarTypes.UsersTariff, + maxValue: maxCountManagersByQuota, + currentValue: addedManagersCount, + }; + } + + if (isPersonalQuotaLimit && barVisible.personalUserQuota) { return { type: QuotaBarTypes.PersonalUserQuota, }; } + return null; }; @@ -394,12 +511,16 @@ export default inject( maxCountManagersByQuota, addedManagersCount, - showRoomQuotaBar, - showStorageQuotaBar, - showUserQuotaBar, - showUserPersonalQuotaBar, + isStorageTariffAlmostLimit, + isUserTariffAlmostLimit, + isPersonalQuotaLimit, tenantCustomQuota, - showTenantCustomQuotaBar, + isStorageTariffLimit, + isUserTariffLimit, + isStorageQuotaAlmostLimit, + isStorageQuotaLimit, + isRoomsTariffAlmostLimit, + isRoomsTariffLimit, } = currentQuotaStore; const { currentColorScheme, setMainBarVisible } = settingsStore; @@ -423,16 +544,20 @@ export default inject( maxCountManagersByQuota, addedManagersCount, - showRoomQuotaBar, - showStorageQuotaBar, - showUserQuotaBar, + isStorageTariffAlmostLimit, + isUserTariffAlmostLimit, currentColorScheme, setMainBarVisible, - showUserPersonalQuotaBar, + isPersonalQuotaLimit, tenantCustomQuota, - showTenantCustomQuotaBar, + isStorageTariffLimit, + isUserTariffLimit, + isStorageQuotaAlmostLimit, + isStorageQuotaLimit, + isRoomsTariffAlmostLimit, + isRoomsTariffLimit, }; }, )(withTranslation(["Profile", "Common"])(observer(Bar))); diff --git a/packages/client/src/components/MainBar/QuotasBar.js b/packages/client/src/components/MainBar/QuotasBar.js index 7414faca8f..7586344647 100644 --- a/packages/client/src/components/MainBar/QuotasBar.js +++ b/packages/client/src/components/MainBar/QuotasBar.js @@ -26,7 +26,6 @@ import React from "react"; import { withTranslation, Trans } from "react-i18next"; -import styled, { css } from "styled-components"; import { SnackBar } from "@docspace/shared/components/snackbar"; @@ -53,30 +52,8 @@ const QuotasBar = ({ onClose && onClose(type); }; - const getStorageQuotaDescription = () => { - if (!isAdmin) return t("StorageQuotaUserDescription"); - - return ( - - You can remove the unnecessary files or - - {{ clickHere: t("ClickHere").toLowerCase() }} - {" "} - to find a better pricing plan for your portal. - - ); - }; const getTenantCustomQuota = () => { - if (!isAdmin) return t("StorageQuotaUserDescription"); + if (!isAdmin) return t("RemoveFilesOrContactToUpgradeQuota"); return ( @@ -92,14 +69,19 @@ const QuotasBar = ({ ); }; - const getUserQuotaDescription = () => { + + const getUserTariffAlmostLimit = () => { + if (!isAdmin) + return t("UserTariffAlmostReached", { + productName: t("Common:ProductName"), + }); + return ( ); }; + + const getUserTariffLimit = () => { + if (!isAdmin) return t("UserTariffReached"); + + return ( + + ), + }} + /> + ); + }; + + const getStorageTariffDescription = () => { + if (!isAdmin) + return t("RemoveFilesOrContactToUpgrade", { + productName: t("Common:ProductName"), + }); + + return ( + + ), + }} + /> + ); + }; + + const getPersonalQuotaDescription = () => { + if (!isAdmin) + return t("PersonalUserQuotaDescription", { + productName: t("Common:ProductName"), + }); + + return ( + + ), + }} + /> + ); + }; + + const getPersonalQuotaHeader = () => { + if (!isAdmin) return t("PersonalQuotaHeader"); + return t("PersonalQuotaHeaderForAdmins"); + }; + + const getUpgradeTariffDescription = () => { + if (!isAdmin) + return t("ContactToUpgradeTariff", { + productName: t("Common:ProductName"), + }); + + return ( + + ), + }} + /> + ); + }; + + const getRoomsTariffDescription = () => { + if (!isAdmin) + return t("ArchivedRoomsOrContact", { + productName: t("Common:ProductName"), + }); + + return ( + + ), + }} + /> + ); + }; const getQuotaInfo = () => { switch (type) { - case QuotaBarTypes.RoomQuota: + case QuotaBarTypes.RoomsTariff: return { header: t("RoomQuotaHeader", { currentValue, maxValue }), - description: ( - - You can archived the unnecessary rooms or - - {{ clickHere: t("ClickHere").toLowerCase() }} - {" "} - to find a better pricing plan for your portal. - - ), + description: getRoomsTariffDescription(), + }; + case QuotaBarTypes.RoomsTariffLimit: + return { + header: t("RoomQuotaHeaderLimit", { currentValue, maxValue }), + description: getRoomsTariffDescription(), + }; + case QuotaBarTypes.StorageTariff: + return { + header: t("StorageQuotaHeader", { currentValue, maxValue }), + description: getStorageTariffDescription(), + }; + case QuotaBarTypes.StorageTariffLimit: + return { + header: t("StorageLimitHeader", { currentValue, maxValue }), + description: getStorageTariffDescription(), }; case QuotaBarTypes.StorageQuota: - return { - header: t("StorageQuotaHeader", { currentValue, maxValue }), - description: getStorageQuotaDescription(), - }; - case QuotaBarTypes.TenantCustomQuota: return { header: t("StorageQuotaHeader", { currentValue, maxValue }), description: getTenantCustomQuota(), }; - case QuotaBarTypes.UserQuota: + case QuotaBarTypes.StorageQuotaLimit: + return { + header: t("StorageLimitHeader", { currentValue, maxValue }), + description: getTenantCustomQuota(), + }; + case QuotaBarTypes.UsersTariff: return { header: t("UserQuotaHeader", { currentValue, maxValue }), - description: getUserQuotaDescription(), + description: getUserTariffAlmostLimit(), }; - - case QuotaBarTypes.UserAndStorageQuota: + case QuotaBarTypes.UsersTariffLimit: return { - header: t("StorageAndUserHeader", { currentValue, maxValue }), - description: getUserQuotaDescription(), + header: t("UserTariffLimitHeader", { currentValue, maxValue }), + description: getUserTariffLimit(), }; - case QuotaBarTypes.RoomAndStorageQuota: + case QuotaBarTypes.UserAndStorageTariff: return { - header: t("StorageAndRoomHeader", { currentValue, maxValue }), - description: getUserQuotaDescription(), + header: t("StorageAndUserHeader"), + description: getUpgradeTariffDescription(), + }; + case QuotaBarTypes.UserAndStorageTariffLimit: + return { + header: t("StorageAndUserTariffLimitHeader"), + description: getUpgradeTariffDescription(), + }; + case QuotaBarTypes.RoomsAndStorageTariff: + return { + header: t("StorageAndRoomHeader"), + description: getUpgradeTariffDescription(), + }; + case QuotaBarTypes.RoomsAndStorageTariffLimit: + return { + header: t("StorageAndRoomLimitHeader"), + description: getUpgradeTariffDescription(), }; case QuotaBarTypes.PersonalUserQuota: - const description = !isAdmin ? ( - t("PersonalUserQuotaDescription") - ) : ( - - To upload and create new files and folders, please free up disk - space, or manage quota per user in the - - Storage management settings. - - - ); return { - header: t("StorageQuotaExceeded"), - description, + header: getPersonalQuotaHeader(), + description: getPersonalQuotaDescription(), }; default: diff --git a/packages/client/src/components/PaidQuotaLimitError/index.js b/packages/client/src/components/PaidQuotaLimitError/index.js new file mode 100644 index 0000000000..0cb8791277 --- /dev/null +++ b/packages/client/src/components/PaidQuotaLimitError/index.js @@ -0,0 +1,78 @@ +// (c) Copyright Ascensio System SIA 2009-2024 +// +// This program is a free software product. +// You can redistribute it and/or modify it under the terms +// of the GNU Affero General Public License (AGPL) version 3 as published by the Free Software +// Foundation. In accordance with Section 7(a) of the GNU AGPL its Section 15 shall be amended +// to the effect that Ascensio System SIA expressly excludes the warranty of non-infringement of +// any third-party rights. +// +// This program is distributed WITHOUT ANY WARRANTY, without even the implied warranty +// of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. For details, see +// the GNU AGPL at: http://www.gnu.org/licenses/agpl-3.0.html +// +// You can contact Ascensio System SIA at Lubanas st. 125a-25, Riga, Latvia, EU, LV-1021. +// +// The interactive user interfaces in modified source and object code versions of the Program must +// display Appropriate Legal Notices, as required under Section 5 of the GNU AGPL version 3. +// +// Pursuant to Section 7(b) of the License you must retain the original Product logo when +// distributing the program. Pursuant to Section 7(e) we decline to grant you any rights under +// trademark law for use of our trademarks. +// +// All the Product's GUI elements, including illustrations and icon sets, as well as technical writing +// content are licensed under the terms of the Creative Commons Attribution-ShareAlike 4.0 +// International. See the License terms at http://creativecommons.org/licenses/by-sa/4.0/legalcode +import { useTranslation } from "react-i18next"; +import { inject, observer } from "mobx-react"; + +import { Text } from "@docspace/shared/components/text"; +import { Link } from "@docspace/shared/components/link"; +import { toastr } from "@docspace/shared/components/toast"; +import { combineUrl } from "@docspace/shared/utils/combineUrl"; + +const PaidQuotaLimitError = ({ + isRoomAdmin, + setInvitePanelOptions, + invitePanelVisible, +}) => { + const { t } = useTranslation(); + + const onClickPayments = () => { + const paymentPageUrl = combineUrl( + "/portal-settings", + "/payments/portal-payments", + ); + + toastr.clear(); + window.DocSpace.navigate(paymentPageUrl); + + invitePanelVisible && + setInvitePanelOptions({ + visible: false, + hideSelector: false, + defaultAccess: 1, + }); + }; + + return ( + <> + {t("Common:QuotaPaidUserLimitError")} + {!isRoomAdmin && ( + + {t("Common:PaymentsTitle")} + + )} + + ); +}; + +export default inject(({ authStore, dialogsStore }) => { + const { isRoomAdmin } = authStore; + const { setInvitePanelOptions, invitePanelOptions } = dialogsStore; + return { + isRoomAdmin, + setInvitePanelOptions, + invitePanelVisible: invitePanelOptions.visible, + }; +})(observer(PaidQuotaLimitError)); diff --git a/packages/client/src/components/dialogs/ChangeUserStatusDialog/index.js b/packages/client/src/components/dialogs/ChangeUserStatusDialog/index.js index 678370f0a8..93fa28c558 100644 --- a/packages/client/src/components/dialogs/ChangeUserStatusDialog/index.js +++ b/packages/client/src/components/dialogs/ChangeUserStatusDialog/index.js @@ -24,23 +24,21 @@ // content are licensed under the terms of the Creative Commons Attribution-ShareAlike 4.0 // International. See the License terms at http://creativecommons.org/licenses/by-sa/4.0/legalcode -import React, { memo } from "react"; +import React from "react"; import PropTypes from "prop-types"; import { ModalDialog } from "@docspace/shared/components/modal-dialog"; import { Button } from "@docspace/shared/components/button"; import { Text } from "@docspace/shared/components/text"; -import { Link } from "@docspace/shared/components/link"; import { toastr } from "@docspace/shared/components/toast"; -import { combineUrl } from "@docspace/shared/utils/combineUrl"; - import { withTranslation } from "react-i18next"; import { EmployeeStatus } from "@docspace/shared/enums"; import ModalDialogContainer from "../ModalDialogContainer"; import { inject, observer } from "mobx-react"; -import { globalColors } from "@docspace/shared/themes"; + +import PaidQuotaLimitError from "SRC_DIR/components/PaidQuotaLimitError"; class ChangeUserStatusDialogComponent extends React.Component { constructor(props) { @@ -49,15 +47,6 @@ class ChangeUserStatusDialogComponent extends React.Component { this.state = { isRequestRunning: false }; } - onClickPayments = () => { - const paymentPageUrl = combineUrl( - "/portal-settings", - "/payments/portal-payments", - ); - - toastr.clear(); - window.DocSpace.navigate(paymentPageUrl); - }; onChangeUserStatus = () => { const { updateUserStatus, @@ -84,22 +73,7 @@ class ChangeUserStatusDialogComponent extends React.Component { toastr.success(t("PeopleTranslations:SuccessChangeUserStatus")); }) .catch((err) => { - toastr.error( - <> - {t("Common:QuotaPaidUserLimitError")} - - {t("Common:PaymentsTitle")} - - , - false, - 0, - true, - true, - ); + toastr.error(, false, 0, true, true); }) .finally(() => { this.setState({ isRequestRunning: false }, () => { diff --git a/packages/client/src/components/dialogs/ConnectDialog/index.js b/packages/client/src/components/dialogs/ConnectDialog/index.js index e6f1814fc8..f82f1516b0 100644 --- a/packages/client/src/components/dialogs/ConnectDialog/index.js +++ b/packages/client/src/components/dialogs/ConnectDialog/index.js @@ -170,7 +170,7 @@ const PureConnectDialogContainer = (props) => { provider_id, ) .then(async () => { - await setThirdPartyAccountsInfo(); + await setThirdPartyAccountsInfo(t); }) .catch((err) => { toastr.error(err); diff --git a/packages/client/src/components/dialogs/CreateEditRoomDialog/sub-components/ThirdPartyStorage/ThirdPartyComboBox.js b/packages/client/src/components/dialogs/CreateEditRoomDialog/sub-components/ThirdPartyStorage/ThirdPartyComboBox.js index 2bedf80e36..02c6b0fbf5 100644 --- a/packages/client/src/components/dialogs/CreateEditRoomDialog/sub-components/ThirdPartyStorage/ThirdPartyComboBox.js +++ b/packages/client/src/components/dialogs/CreateEditRoomDialog/sub-components/ThirdPartyStorage/ThirdPartyComboBox.js @@ -24,18 +24,23 @@ // content are licensed under the terms of the Creative Commons Attribution-ShareAlike 4.0 // International. See the License terms at http://creativecommons.org/licenses/by-sa/4.0/legalcode -import React, { useEffect, useState, useRef } from "react"; +import { useEffect, useState } from "react"; import styled from "styled-components"; - +import { ReactSVG } from "react-svg"; import { isMobileOnly, isMobile } from "react-device-detect"; import { Button } from "@docspace/shared/components/button"; +import { DropDownItem } from "@docspace/shared/components/drop-down-item"; +import { Text } from "@docspace/shared/components/text"; +import { Tooltip } from "@docspace/shared/components/tooltip"; import { connectedCloudsTypeTitleTranslation as ProviderKeyTranslation } from "@docspace/client/src/helpers/filesUtils"; import { Base } from "@docspace/shared/themes"; import { toastr } from "@docspace/shared/components/toast"; import { ComboBox } from "@docspace/shared/components/combobox"; import ExternalLinkReactSvgUrl from "PUBLIC_DIR/images/external.link.react.svg?url"; +import { ThirdPartyServicesUrlName } from "../../../../../helpers/constants"; +import { isDesktop } from "@docspace/shared/utils"; const StyledStorageLocation = styled.div` display: flex; @@ -91,16 +96,29 @@ const StyledStorageLocation = styled.div` StyledStorageLocation.defaultProps = { theme: Base }; -const services = { - GoogleDrive: "google", - Box: "box", - Dropbox: "dropbox", - OneDrive: "skydrive", - Nextcloud: "nextcloud", - kDrive: "kdrive", - ownCloud: "owncloud", - WebDav: "webdav", -}; +const StyledComboBoxItem = styled.div` + display: flex; + + .drop-down-item_text { + color: ${({ theme, isDisabled }) => + isDisabled ? theme.dropDownItem.disableColor : theme.dropDownItem.color}; + } + .drop-down-item_icon { + display: flex; + align-items: center; + + div { + display: flex; + } + + margin-inline-start: auto; + + svg { + min-height: 16px; + min-width: 16px; + } + } +`; const ThirdPartyComboBox = ({ t, @@ -124,15 +142,16 @@ const ThirdPartyComboBox = ({ isDisabled, setIsScrollLocked, + isAdmin, }) => { - const deafultSelectedItem = { + const defaultSelectedItem = { key: "length", label: storageLocation?.provider?.title || t("ThirdPartyStorageComboBoxPlaceholder"), }; - const [selectedItem, setSelectedItem] = useState(deafultSelectedItem); + const [selectedItem, setSelectedItem] = useState(defaultSelectedItem); const thirdparties = connectItems.map((item) => ({ ...item, @@ -142,7 +161,7 @@ const ThirdPartyComboBox = ({ const setStorageLocaiton = (thirparty, isConnected) => { if (!isConnected) { window.open( - `/portal-settings/integration/third-party-services?service=${services[thirparty.id]}`, + `/portal-settings/integration/third-party-services?service=${ThirdPartyServicesUrlName[thirparty.id]}`, "_blank", ); return; @@ -207,35 +226,79 @@ const ThirdPartyComboBox = ({ setSaveThirdpartyResponse(null); }, [saveThirdpartyResponse]); - const options = thirdparties - .sort((storage) => (storage.isConnected ? -1 : 1)) - .map((item) => ({ - label: - item.title + (item.isConnected ? "" : ` (${t("ActivationRequired")})`), - title: item.title, - key: item.id, - icon: item.isConnected ? undefined : ExternalLinkReactSvgUrl, - className: item.isConnected ? "" : "storage-unavailable", - })); + const onSelect = (event) => { + const data = event.currentTarget.dataset; - const onSelect = (elem) => { const thirdparty = thirdparties.find((t) => { - return elem.key === t.id; + return t.id === data.thirdPartyId; }); thirdparty && setStorageLocaiton(thirdparty, thirdparty.isConnected); thirdparty.isConnected - ? setSelectedItem(elem) - : setSelectedItem({ ...deafultSelectedItem }); + ? setSelectedItem({ key: thirdparty.id, label: thirdparty.title }) + : setSelectedItem({ ...defaultSelectedItem }); }; + const getTextTooltip = () => { + return ( + + {t("Common:EnableThirdPartyIntegration")} + + ); + }; + + const advancedOptions = thirdparties + .sort((storage) => (storage.isConnected ? -1 : 1)) + ?.map((item) => { + const isDisabled = !item.isConnected && !isAdmin; + const itemLabel = + item.title + (item.isConnected ? "" : ` (${t("ActivationRequired")})`); + + const disabledData = isDisabled + ? { "data-tooltip-id": "file-links-tooltip", "data-tip": "tooltip" } + : {}; + + return ( + + + + {itemLabel} + + + {!isDisabled && !item.isConnected ? ( + + ) : ( + <> + )} + + {isDisabled && ( + + )} + + ); + }); + return (