From 6eaaa13e70a19f255e191d555dccd8082ec7f333 Mon Sep 17 00:00:00 2001 From: Tatiana Lopaeva Date: Thu, 23 May 2024 18:57:11 +0300 Subject: [PATCH 01/51] Web: Deleted useless code. --- packages/client/src/components/ArticleWrapper/index.tsx | 3 +-- .../src/pages/PortalSettings/Layout/Article/Body/index.js | 5 ++--- packages/shared/api/settings/index.ts | 7 ------- packages/shared/components/article/Article.types.ts | 1 - packages/shared/components/article/index.tsx | 1 - 5 files changed, 3 insertions(+), 14 deletions(-) diff --git a/packages/client/src/components/ArticleWrapper/index.tsx b/packages/client/src/components/ArticleWrapper/index.tsx index 8417358d42..85c523c558 100644 --- a/packages/client/src/components/ArticleWrapper/index.tsx +++ b/packages/client/src/components/ArticleWrapper/index.tsx @@ -48,7 +48,6 @@ export default inject( isLiveChatAvailable, isPaymentPageAvailable, - isEnterprise, } = authStore; const { getActions, getUserRole, onProfileClick, isShowLiveChat } = @@ -115,7 +114,7 @@ export default inject( showProgress, isBurgerLoading, - isEnterprise, + isTrial, isLicenseDateExpired, trialDaysLeft, diff --git a/packages/client/src/pages/PortalSettings/Layout/Article/Body/index.js b/packages/client/src/pages/PortalSettings/Layout/Article/Body/index.js index f990b040d0..00ef5f088f 100644 --- a/packages/client/src/pages/PortalSettings/Layout/Article/Body/index.js +++ b/packages/client/src/pages/PortalSettings/Layout/Article/Body/index.js @@ -59,7 +59,6 @@ const ArticleBodyContent = (props) => { isOwner, isLoadedArticleBody, standalone, - isEnterprise, isCommunity, currentDeviceType, isProfileLoading, @@ -340,7 +339,7 @@ export default inject( currentTariffStatusStore, }) => { const { isLoadedArticleBody, setIsLoadedArticleBody } = common; - const { isEnterprise, isCommunity } = authStore; + const { isCommunity } = authStore; const { isNotPaidPeriod } = currentTariffStatusStore; const { user } = userStore; const { isOwner } = user; @@ -360,7 +359,7 @@ export default inject( return { standalone, - isEnterprise, + showText, toggleArticleOpen, isLoadedArticleBody, diff --git a/packages/shared/api/settings/index.ts b/packages/shared/api/settings/index.ts index efc69c4224..5adddb74d8 100644 --- a/packages/shared/api/settings/index.ts +++ b/packages/shared/api/settings/index.ts @@ -882,13 +882,6 @@ export function getStorageRegions() { return request(options); } -export function getPortalQuota() { - return request({ - method: "get", - url: `/settings/quota`, - }); -} - export function getAllActiveSessions() { return request({ method: "get", diff --git a/packages/shared/components/article/Article.types.ts b/packages/shared/components/article/Article.types.ts index e62bee9dd7..f0d9c26b37 100644 --- a/packages/shared/components/article/Article.types.ts +++ b/packages/shared/components/article/Article.types.ts @@ -139,7 +139,6 @@ export interface ArticleProps { isPaymentPageAvailable?: boolean; isLicenseExpiring?: boolean; isLicenseDateExpired?: boolean; - isEnterprise?: boolean; isTrial?: boolean; standalone?: boolean; currentTariffPlanTitle?: string; diff --git a/packages/shared/components/article/index.tsx b/packages/shared/components/article/index.tsx index 8f00348c30..5512eb724e 100644 --- a/packages/shared/components/article/index.tsx +++ b/packages/shared/components/article/index.tsx @@ -92,7 +92,6 @@ const Article = ({ isBurgerLoading, isNonProfit, - isEnterprise, isFreeTariff, isGracePeriod, isLicenseDateExpired, From 803c44e47ab3812a80f2f29291df6fa10e9d0c56 Mon Sep 17 00:00:00 2001 From: Tatiana Lopaeva Date: Fri, 24 May 2024 15:11:33 +0300 Subject: [PATCH 02/51] Client/Shared: Added method separation. --- packages/client/src/store/PaymentStore.ts | 4 +-- .../client/src/store/StorageManagement.js | 4 +-- packages/shared/store/AuthStore.ts | 30 +++++++++++++------ packages/shared/store/CurrentQuotaStore.ts | 12 ++------ .../shared/store/CurrentTariffStatusStore.ts | 15 ++-------- 5 files changed, 31 insertions(+), 34 deletions(-) diff --git a/packages/client/src/store/PaymentStore.ts b/packages/client/src/store/PaymentStore.ts index 8ff02209b1..cef7ca0a64 100644 --- a/packages/client/src/store/PaymentStore.ts +++ b/packages/client/src/store/PaymentStore.ts @@ -127,12 +127,12 @@ class PaymentStore { basicSettings = async () => { if (!this.currentTariffStatusStore || !this.currentQuotaStore) return; - const { setPortalTariff, setPayerInfo } = this.currentTariffStatusStore; + const { fetchPortalTariff, setPayerInfo } = this.currentTariffStatusStore; const { addedManagersCount } = this.currentQuotaStore; this.setIsUpdatingBasicSettings(true); - const requests = [setPortalTariff()]; + const requests = [fetchPortalTariff()]; if (this.isAlreadyPaid) requests.push(this.setPaymentAccount()); else requests.push(this.getBasicPaymentLink(addedManagersCount)); diff --git a/packages/client/src/store/StorageManagement.js b/packages/client/src/store/StorageManagement.js index 2754b05403..e1eeaf75ac 100644 --- a/packages/client/src/store/StorageManagement.js +++ b/packages/client/src/store/StorageManagement.js @@ -145,7 +145,7 @@ class StorageManagement { }; updateQuotaInfo = async (type) => { - const { getTenantExtra } = this.authStore; + const { fetchPortalQuota } = this.currentQuotaStore; const { getFilesListItems } = this.filesStore; const { usersStore } = this.peopleStore; const { getPeopleListItem } = usersStore; @@ -156,7 +156,7 @@ class StorageManagement { const roomFilterData = RoomsFilter.getDefault(); roomFilterData.pageCount = FILTER_COUNT; - const requests = [getTenantExtra()]; + const requests = [fetchPortalQuota()]; type === "user" ? requests.push(getUserList(userFilterData)) diff --git a/packages/shared/store/AuthStore.ts b/packages/shared/store/AuthStore.ts index f5fda214ed..d1fe28516f 100644 --- a/packages/shared/store/AuthStore.ts +++ b/packages/shared/store/AuthStore.ts @@ -226,25 +226,37 @@ class AuthStore { return this.tenantExtra?.opensource; } + fetchTenantExtra = (refresh: boolean) => { + return getPortalTenantExtra(refresh).then((result) => { + if (!result) return; + + const { tariff, quota, ...tenantExtra } = result; + + this.tenantExtra = tenantExtra; + }); + }; + getTenantExtra = async () => { let refresh = false; + if (window.location.search === "?complete=true") { window.history.replaceState({}, document.title, window.location.pathname); refresh = true; } + const user = this.userStore?.user?.isVisitor; - const result = await getPortalTenantExtra(refresh); + const request = []; - if (!result) return; + request.push(this.currentTariffStatusStore?.fetchPortalTariff(refresh)); - const { tariff, quota, ...tenantExtra } = result; + if (!user) { + request.push( + this.currentQuotaStore?.fetchPortalQuota(refresh), + this.fetchTenantExtra(refresh), + ); + } - runInAction(() => { - this.tenantExtra = { ...tenantExtra }; - }); - - this.currentQuotaStore?.setPortalQuotaValue(quota); - this.currentTariffStatusStore?.setPortalTariffValue(tariff); + await Promise.all(request); }; setLanguage() { diff --git a/packages/shared/store/CurrentQuotaStore.ts b/packages/shared/store/CurrentQuotaStore.ts index 9d242a51df..2e3597efd1 100644 --- a/packages/shared/store/CurrentQuotaStore.ts +++ b/packages/shared/store/CurrentQuotaStore.ts @@ -338,18 +338,12 @@ class CurrentQuotasStore { }); }; - setPortalQuota = async () => { - try { - const res = await api.portal.getPortalQuota(); - - if (!res) return; - + fetchPortalQuota = async (refresh: boolean) => { + return api.portal.getPortalQuota(refresh).then((res) => { this.setPortalQuotaValue(res); this.setIsLoaded(true); - } catch (e) { - toastr.error(e as TData); - } + }); }; setUserQuota = async (quota: string | number, t: (key: string) => string) => { diff --git a/packages/shared/store/CurrentTariffStatusStore.ts b/packages/shared/store/CurrentTariffStatusStore.ts index 424d065ad4..cc85b0ad87 100644 --- a/packages/shared/store/CurrentTariffStatusStore.ts +++ b/packages/shared/store/CurrentTariffStatusStore.ts @@ -163,19 +163,10 @@ class CurrentTariffStatusStore { return getDaysLeft(this.dueDate); } - setPortalTariffValue = async (res: TPortalTariff) => { - this.portalTariffStatus = res; - - this.setIsLoaded(true); - }; - - setPortalTariff = async () => { - const res = await api.portal.getPortalTariff(); - - if (!res) return; - - runInAction(() => { + fetchPortalTariff = async (refresh?: boolean) => { + return api.portal.getPortalTariff(refresh).then((res) => { this.portalTariffStatus = res; + this.setIsLoaded(true); }); }; } From 4e1c1ad976e3646602ff456acc91cf439843afe9 Mon Sep 17 00:00:00 2001 From: Tatiana Lopaeva Date: Fri, 24 May 2024 17:29:31 +0300 Subject: [PATCH 03/51] Client: Profile: The condition for displaying social networks in the profile has been changed. --- .../sub-components/social-networks/index.js | 31 ++++++++----------- 1 file changed, 13 insertions(+), 18 deletions(-) diff --git a/packages/client/src/pages/Profile/Section/Body/sub-components/social-networks/index.js b/packages/client/src/pages/Profile/Section/Body/sub-components/social-networks/index.js index 0ca6942f42..7e2eb25aae 100644 --- a/packages/client/src/pages/Profile/Section/Body/sub-components/social-networks/index.js +++ b/packages/client/src/pages/Profile/Section/Body/sub-components/social-networks/index.js @@ -45,18 +45,16 @@ import { StyledWrapper } from "./styled-social-networks"; const SocialNetworks = (props) => { const { t } = useTranslation(["Profile", "Common"]); - const { - providers, - setProviders, - isOAuthAvailable, - //setPortalQuota - } = props; + const { providers, setProviders, getCapabilities, capabilities } = props; const fetchData = async () => { try { - const data = await getAuthProviders(); - //if (typeof isOAuthAvailable === "undefined") await setPortalQuota(); - setProviders(data); + const [providers] = await Promise.all([ + getAuthProviders(), + getCapabilities(), + ]); + + setProviders(providers); } catch (e) { console.error(e); } @@ -155,7 +153,8 @@ const SocialNetworks = (props) => { ); }); - if (!isOAuthAvailable) return <>; + if (!capabilities?.oauthEnabled) return <>; + if (providers.length === 0) return <>; return ( @@ -168,19 +167,15 @@ const SocialNetworks = (props) => { ); }; -export default inject(({ currentQuotaStore, peopleStore }) => { +export default inject(({ authStore, peopleStore }) => { const { usersStore } = peopleStore; const { providers, setProviders } = usersStore; - - const { - isOAuthAvailable, - //setPortalQuota - } = currentQuotaStore; + const { getCapabilities, capabilities } = authStore; return { providers, setProviders, - isOAuthAvailable, - // setPortalQuota, + getCapabilities, + capabilities, }; })(observer(SocialNetworks)); From 89f31b87015235bf6d2fa54c5edde535ef60eac2 Mon Sep 17 00:00:00 2001 From: Tatiana Lopaeva Date: Tue, 28 May 2024 17:43:46 +0300 Subject: [PATCH 04/51] Shared/Client: Store: Added separation of methods for standalone payment page. --- packages/client/src/store/PaymentStore.ts | 27 ++++++++++++++----- packages/shared/store/CurrentQuotaStore.ts | 2 +- .../shared/store/CurrentTariffStatusStore.ts | 2 ++ 3 files changed, 23 insertions(+), 8 deletions(-) diff --git a/packages/client/src/store/PaymentStore.ts b/packages/client/src/store/PaymentStore.ts index cef7ca0a64..c336731b97 100644 --- a/packages/client/src/store/PaymentStore.ts +++ b/packages/client/src/store/PaymentStore.ts @@ -231,12 +231,15 @@ class PaymentStore { }; standaloneBasicSettings = async (t: TTranslation) => { - const { getTenantExtra } = authStore; + if (!this.currentTariffStatusStore || !this.currentQuotaStore) return; + + const { fetchPortalQuota } = this.currentQuotaStore; + const { fetchPortalTariff } = this.currentTariffStatusStore; this.setIsUpdatingBasicSettings(true); try { - await getTenantExtra(); + await Promise.all([fetchPortalTariff(), fetchPortalQuota()]); } catch (e) { toastr.error(t("Common:UnexpectedError")); @@ -247,7 +250,10 @@ class PaymentStore { }; standaloneInit = async (t: TTranslation) => { - const { getTenantExtra } = authStore; + if (!this.currentTariffStatusStore || !this.currentQuotaStore) return; + + const { fetchPortalTariff } = this.currentTariffStatusStore; + const { fetchPortalQuota } = this.currentQuotaStore; if (this.isInitPaymentPage) { this.standaloneBasicSettings(t); @@ -256,7 +262,11 @@ class PaymentStore { } try { - await Promise.all([this.getSettingsPayment(), getTenantExtra()]); + await Promise.all([ + this.getSettingsPayment(), + fetchPortalTariff(), + fetchPortalQuota(), + ]); } catch (error) { toastr.error(t("Common:UnexpectedError")); console.error(error); @@ -317,14 +327,17 @@ class PaymentStore { acceptPaymentsLicense = async (t: TTranslation) => { try { - const { getTenantExtra } = authStore; - await acceptLicense(); toastr.success(t("ActivateLicenseActivated")); localStorage.removeItem("enterpriseAlertClose"); - await getTenantExtra(); + if (!this.currentTariffStatusStore || !this.currentQuotaStore) return; + + const { fetchPortalTariff } = this.currentTariffStatusStore; + const { fetchPortalQuota } = this.currentQuotaStore; + + await Promise.all([fetchPortalTariff(), fetchPortalQuota()]); } catch (e) { toastr.error(e as TData); } diff --git a/packages/shared/store/CurrentQuotaStore.ts b/packages/shared/store/CurrentQuotaStore.ts index 2e3597efd1..8fb7dd5e56 100644 --- a/packages/shared/store/CurrentQuotaStore.ts +++ b/packages/shared/store/CurrentQuotaStore.ts @@ -338,7 +338,7 @@ class CurrentQuotasStore { }); }; - fetchPortalQuota = async (refresh: boolean) => { + fetchPortalQuota = async (refresh?: boolean) => { return api.portal.getPortalQuota(refresh).then((res) => { this.setPortalQuotaValue(res); diff --git a/packages/shared/store/CurrentTariffStatusStore.ts b/packages/shared/store/CurrentTariffStatusStore.ts index cc85b0ad87..287f5abc96 100644 --- a/packages/shared/store/CurrentTariffStatusStore.ts +++ b/packages/shared/store/CurrentTariffStatusStore.ts @@ -165,6 +165,8 @@ class CurrentTariffStatusStore { fetchPortalTariff = async (refresh?: boolean) => { return api.portal.getPortalTariff(refresh).then((res) => { + if (!res) return; + this.portalTariffStatus = res; this.setIsLoaded(true); }); From 7c85b7038c6e0ae0abe1f445b1ac7d72af233440 Mon Sep 17 00:00:00 2001 From: Maria-Sukhova Date: Fri, 2 Aug 2024 18:50:28 +0300 Subject: [PATCH 05/51] added translations --- .../public/locales/de/FillPDFDialog.json | 5 +- .../client/public/locales/de/InfoPanel.json | 5 +- packages/client/public/locales/de/Ldap.json | 2 +- .../public/locales/es/FillPDFDialog.json | 5 +- .../client/public/locales/es/InfoPanel.json | 3 + .../client/public/locales/es/Settings.json | 1 + .../public/locales/fr/FillPDFDialog.json | 5 +- .../client/public/locales/fr/InfoPanel.json | 5 +- .../public/locales/fr/JavascriptSdk.json | 2 + .../client/public/locales/fr/Settings.json | 9 +++ .../client/public/locales/hy-AM/Confirm.json | 3 + .../public/locales/hy-AM/JavascriptSdk.json | 5 ++ .../locales/hy-AM/PreparationPortal.json | 3 +- .../client/public/locales/hy-AM/Settings.json | 2 + .../public/locales/it/ChangePortalOwner.json | 1 + .../locales/it/DeleteProfileEverDialog.json | 2 +- .../public/locales/it/FillPDFDialog.json | 5 +- .../client/public/locales/it/InfoPanel.json | 5 +- packages/client/public/locales/it/Ldap.json | 2 +- .../client/public/locales/it/Settings.json | 2 + .../public/locales/pt-BR/FillPDFDialog.json | 5 +- .../public/locales/pt-BR/InfoPanel.json | 4 + .../client/public/locales/ro/EmptyView.json | 2 +- packages/client/public/locales/ro/Files.json | 1 + .../public/locales/ro/FillPDFDialog.json | 5 +- .../client/public/locales/ro/InfoPanel.json | 7 +- packages/client/public/locales/ro/Ldap.json | 8 +- .../public/locales/ro/PeopleTranslations.json | 4 +- .../client/public/locales/ro/Settings.json | 3 + .../public/locales/ru/FillPDFDialog.json | 5 +- .../client/public/locales/ru/InfoPanel.json | 3 + .../public/locales/sr-Cyrl-RS/Confirm.json | 1 + .../sr-Cyrl-RS/CreateEditRoomDialog.json | 2 +- .../sr-Cyrl-RS/DeleteProfileEverDialog.json | 2 + .../locales/sr-Cyrl-RS/EmbeddingPanel.json | 7 ++ .../public/locales/sr-Cyrl-RS/EmptyView.json | 25 ++++++- .../public/locales/sr-Cyrl-RS/Files.json | 8 ++ .../locales/sr-Cyrl-RS/FilesSettings.json | 1 + .../public/locales/sr-Cyrl-RS/InfoPanel.json | 28 +++++++ .../locales/sr-Cyrl-RS/InviteDialog.json | 1 + .../locales/sr-Cyrl-RS/JavascriptSdk.json | 5 ++ .../public/locales/sr-Cyrl-RS/Ldap.json | 73 ++++++++++++++++++- .../public/locales/sr-Cyrl-RS/MainBar.json | 1 + .../locales/sr-Cyrl-RS/PDFFormDialog.json | 8 +- .../sr-Cyrl-RS/PaymentsEnterprise.json | 1 + .../sr-Cyrl-RS/PeopleTranslations.json | 4 + .../public/locales/sr-Cyrl-RS/Profile.json | 2 + .../public/locales/sr-Cyrl-RS/Settings.json | 5 ++ .../public/locales/sr-Latn-RS/InfoPanel.json | 2 +- .../public/locales/sr-Latn-RS/Ldap.json | 2 +- .../locales/zh-CN/ChangePortalOwner.json | 2 +- .../public/locales/de/CompletedForm.json | 5 ++ .../public/locales/es/CompletedForm.json | 5 ++ .../public/locales/fr/CompletedForm.json | 5 ++ .../public/locales/it/CompletedForm.json | 5 ++ .../public/locales/pt-BR/CompletedForm.json | 5 ++ .../public/locales/ro/CompletedForm.json | 5 ++ .../public/locales/ru/CompletedForm.json | 2 + .../locales/sr-Cyrl-RS/CompletedForm.json | 6 +- packages/login/public/locales/ro/Login.json | 2 +- .../public/locales/hy-AM/Management.json | 5 ++ public/locales/hy-AM/Common.json | 1 + public/locales/sr-Cyrl-RS/Common.json | 23 ++++-- public/locales/sr-Latn-RS/Common.json | 7 +- 64 files changed, 334 insertions(+), 41 deletions(-) diff --git a/packages/client/public/locales/de/FillPDFDialog.json b/packages/client/public/locales/de/FillPDFDialog.json index 3ac1f36b07..8c8e210b87 100644 --- a/packages/client/public/locales/de/FillPDFDialog.json +++ b/packages/client/public/locales/de/FillPDFDialog.json @@ -1,6 +1,9 @@ { "FillOutButtonLabel": "Ausfüllen", + "FillOutDescription": "Füllen Sie die Felder des Originalformulars im Editorfenster aus.", "FillOutTitle": "Formular selbst ausfüllen", "FillPDFDialogTitle": "Ausfüllen als", - "ShareCollectDescription": "Geben Sie Ihr Formular frei und sammeln Sie Antworten über einen Raum zum Ausfüllen von Formularen." + "ShareCollectButtonLabel": "In Raum kopieren", + "ShareCollectDescription": "Geben Sie Ihr Formular frei und sammeln Sie Antworten über einen Raum zum Ausfüllen von Formularen.", + "ShareCollectTitle": "Teilen" } diff --git a/packages/client/public/locales/de/InfoPanel.json b/packages/client/public/locales/de/InfoPanel.json index 54977008e8..5f8187eae1 100644 --- a/packages/client/public/locales/de/InfoPanel.json +++ b/packages/client/public/locales/de/InfoPanel.json @@ -10,13 +10,16 @@ "ExpectUsers": "Eingeladene Benutzer", "FeedLinkWasDeleted": "Link wurde gelöscht", "FeedLocationLabel": "Ordner «{{folderTitle}}»", + "FeedLocationLabelFrom": "aus «{{folderTitle}}»", "FeedLocationRoomLabel": "Raum «{{folderTitle}}»", "FileConverted": "Datei konvertiert.", "FileCopied": "Dateien kopiert.", + "FileCopiedTo": "Dateien kopiert in «{{folderTitle}}»", "FileCreated": "Datei erstellt.", "FileDeleted": "Dateien entfernt.", "FileExtension": "Dateierweiterung", "FileMoved": "Dateien verschoben.", + "FileMovedTo": "Datei verschoben in «{{folderTitle}}»", "FileRenamed": "Datei umbenannt.", "FilesEmptyScreenText": "Finden Sie Details zur Datei und zum Ordner hier", "FileUploaded": "Dateien hinzugefügt.", @@ -29,7 +32,7 @@ "GroupsEmptyScreenText": "Gruppendetails finden Sie hier", "HistoryEmptyScreenText": "Aktivitätsverlauf wird hier angezeigt", "HistoryRoomCopied": "<1>«{{roomTitle}}» Raum kopiert", - "HistoryRoomCreated": " <1>«{{roomTitle}}» Raum erstellt", + "HistoryRoomCreated": " <1>«{{roomTitle}}» Raum erstellt", "HistoryThirdParty": "Die Verlaufsanzeige ist für öffentliche Räume mit angeschlossenen Drittanbieterspeichern nicht verfügbar", "InfoBanner": "Die Liste der eingeladenen Benutzer enthält den Besitzer und/oder den Administrator dieses {{productName}} mit vollem Zugang zu allen Räumen. Besitzer und/oder Administrator können keine weiteren Zugriffsrechte zugewiesen werden. Sobald sie dem Raum hinzugefügt wurden, werden sie über alle Änderungen informiert.", "ItemsSelected": "Ausgewählte Elemente", diff --git a/packages/client/public/locales/de/Ldap.json b/packages/client/public/locales/de/Ldap.json index 9104f088aa..6390b59261 100644 --- a/packages/client/public/locales/de/Ldap.json +++ b/packages/client/public/locales/de/Ldap.json @@ -3,7 +3,7 @@ "LdapAdvancedSettings": "Erweiterte Einstellungen", "LdapAdvancedSettingsTooltip": "Wählen Sie die Benutzerattribute aus, die mit Ihrem LDAP-Server synchronisiert werden sollen.", "LdapAttributeMapping": "Attribut-Zuordnung", - "LdapAuthenticationTooltip": " Aktivieren Sie diese Option, wenn der aktuelle Windows-Benutzer nicht die Rechte hat, vom LDAP-Server/Active Directory zu lesen, und geben Sie die Anmeldedaten eines anderen Benutzers mit den Leserechten ein.", + "LdapAuthenticationTooltip": " Aktivieren Sie diese Option, wenn der aktuelle Windows-Benutzer nicht die Rechte hat, vom LDAP-Server/Active Directory zu lesen, und geben Sie die Anmeldedaten eines anderen Benutzers mit den Leserechten ein.", "LdapAutoSyncToggle": "Auto-Synchronisierung", "LdapAutoSyncToggleDescription": "Die Synchronisierung ermöglicht das Hochladen aller Daten aus dem Portal und die Aktualisierung der neuen Daten nach Änderung der Einstellungen. Synchronisieren Sie jedes Mal, wenn Sie neue Daten über Benutzer im Portal haben.", "LdapAvatar": "Profilfoto", diff --git a/packages/client/public/locales/es/FillPDFDialog.json b/packages/client/public/locales/es/FillPDFDialog.json index 52c9575806..13ac048e3a 100644 --- a/packages/client/public/locales/es/FillPDFDialog.json +++ b/packages/client/public/locales/es/FillPDFDialog.json @@ -1,6 +1,9 @@ { "FillOutButtonLabel": "Rellenar", + "FillOutDescription": "Rellene los campos del formulario original en la ventana del editor. ", "FillOutTitle": "Rellene el formulario usted mismo", "FillPDFDialogTitle": "Rellenar como", - "ShareCollectDescription": "Comparta su formulario y recopile respuestas a través de una sala para rellenar formularios." + "ShareCollectButtonLabel": "Copiar a sala", + "ShareCollectDescription": "Comparta su formulario y recopile respuestas a través de una sala para rellenar formularios.", + "ShareCollectTitle": "Compartir" } diff --git a/packages/client/public/locales/es/InfoPanel.json b/packages/client/public/locales/es/InfoPanel.json index 9b925eb16a..8a27f83a35 100644 --- a/packages/client/public/locales/es/InfoPanel.json +++ b/packages/client/public/locales/es/InfoPanel.json @@ -10,13 +10,16 @@ "ExpectUsers": "Esperar usuarios", "FeedLinkWasDeleted": "El enlace se ha eliminado.", "FeedLocationLabel": "Carpeta «{{folderTitle}}»", + "FeedLocationLabelFrom": "desde «{{folderTitle}}»", "FeedLocationRoomLabel": "Sala «{{folderTitle}}»", "FileConverted": "Archivo convertido.", "FileCopied": "Archivos copiados.", + "FileCopiedTo": "Archivos copiados a «{{folderTitle}}»", "FileCreated": "Archivo creado.", "FileDeleted": "Archivos eliminados.", "FileExtension": "Extensión de archivo", "FileMoved": "Archivos movidos.", + "FileMovedTo": "Archivo movido a «{{folderTitle}}»", "FileRenamed": "Archivo renombrado.", "FilesEmptyScreenText": "Vea los detalles de archivos y carpetas aquí", "FileUploaded": "Archivos añadidos.", diff --git a/packages/client/public/locales/es/Settings.json b/packages/client/public/locales/es/Settings.json index ae69571406..fcf31cb571 100644 --- a/packages/client/public/locales/es/Settings.json +++ b/packages/client/public/locales/es/Settings.json @@ -1,4 +1,5 @@ { + "AboutDataImport": "La importación de datos incluye varios pasos: carga de datos, procesamiento, configuración de la importación e importación. Su archivo de copia de seguridad se almacenará en los servidores de {{productName}} de {{organizationName}} durante 24 horas y, a continuación, se eliminará automáticamente.", "AccentColor": "Acento", "AccessRightsAccessToProduct": "El acceso al módulo {{product}} se otorga a", "AccessRightsAllUsers": "Todos {{users}}", diff --git a/packages/client/public/locales/fr/FillPDFDialog.json b/packages/client/public/locales/fr/FillPDFDialog.json index 1300edda81..f83beac7de 100644 --- a/packages/client/public/locales/fr/FillPDFDialog.json +++ b/packages/client/public/locales/fr/FillPDFDialog.json @@ -1,6 +1,9 @@ { "FillOutButtonLabel": "Remplir", + "FillOutDescription": "Remplissez les champs du formulaire original dans la fenêtre de l'éditeur.", "FillOutTitle": "Remplir le formulaire soi-même", "FillPDFDialogTitle": "Remplir en tant que", - "ShareCollectDescription": "Partagez votre formulaire et collectez les réponses via une salle de remplissage de formulaires." + "ShareCollectButtonLabel": "Copier dans la salle", + "ShareCollectDescription": "Partagez votre formulaire et collectez les réponses via une salle de remplissage de formulaires.", + "ShareCollectTitle": "Partager" } diff --git a/packages/client/public/locales/fr/InfoPanel.json b/packages/client/public/locales/fr/InfoPanel.json index 1ea14bd271..54c5df6fc8 100644 --- a/packages/client/public/locales/fr/InfoPanel.json +++ b/packages/client/public/locales/fr/InfoPanel.json @@ -10,13 +10,16 @@ "ExpectUsers": "Attendez les utilisateurs", "FeedLinkWasDeleted": "Le lien a été supprimé", "FeedLocationLabel": "Dossier «{{folderTitle}}»", + "FeedLocationLabelFrom": "de «{{folderTitle}}»", "FeedLocationRoomLabel": "Salle « {{folderTitle}} »", "FileConverted": "Fichier converti.", "FileCopied": "Fichiers copiés.", + "FileCopiedTo": "Fichiers copiés dans «{{folderTitle}}»", "FileCreated": "Fichier créé.", "FileDeleted": "Fichiers supprimés.", "FileExtension": "Extension de fichier", "FileMoved": "Fichiers déplacés.", + "FileMovedTo": "Fichier déplacé vers «{{folderTitle}}»", "FileRenamed": "Fichier renommé.", "FilesEmptyScreenText": "Voir ici les détails des fichiers et des dossiers", "FileUploaded": "Fichiers ajoutés.", @@ -29,7 +32,7 @@ "GroupsEmptyScreenText": "Voir les détails du groupe ici", "HistoryEmptyScreenText": "L'historique des activités sera affiché ici", "HistoryRoomCopied": "<1>« {{roomTitle}} » salle copiée", - "HistoryRoomCreated": "Salle  <1>«{{roomTitle}}» créée", + "HistoryRoomCreated": "Salle <1>«{{roomTitle}}» créée", "HistoryThirdParty": "L'affichage de l'historique n'est pas disponible pour les salles publiques avec des espaces de stockage tiers connectés.", "InfoBanner": "La liste des utilisateurs invités comprend le propriétaire et/ou les administrateurs de ce {{productName}} avec un accès complet à toutes les salles. Le propriétaire et/ou l'administrateur ne peuvent se voir attribuer d'autres droits d'accès. Une fois ajoutés à la salle, ils seront informés de tous les changements.", "ItemsSelected": "Éléments sélectionnés", diff --git a/packages/client/public/locales/fr/JavascriptSdk.json b/packages/client/public/locales/fr/JavascriptSdk.json index f227d7bea3..ed94618ecb 100644 --- a/packages/client/public/locales/fr/JavascriptSdk.json +++ b/packages/client/public/locales/fr/JavascriptSdk.json @@ -58,11 +58,13 @@ "GoToRoom": "passer à la salle", "Header": "En-tête", "HeaderDescription": "Vous pouvez désactiver l'en-tête dans la version mobile pour limiter l'accès aux sections de {{productName}} (identique à la désactivation du menu de gauche dans la version de bureau).", + "HtmlCodeDescription": "Intégrez {{productName}} ou sa partie à l'aide de la balise