Rebranding: move organizationName to Common.json

This commit is contained in:
Alexey Safronov 2024-07-18 18:20:37 +04:00
parent b52c3bbf80
commit 205df2f68b
92 changed files with 473 additions and 395 deletions

View File

@ -39490,6 +39490,138 @@
</translation>
</translations>
</concept_node>
<concept_node>
<name>OrganizationName</name>
<description/>
<comment/>
<default_text/>
<translations>
<translation>
<language>ar-SA</language>
<approved>false</approved>
</translation>
<translation>
<language>az-Latn-AZ</language>
<approved>false</approved>
</translation>
<translation>
<language>bg-BG</language>
<approved>false</approved>
</translation>
<translation>
<language>cs-CZ</language>
<approved>false</approved>
</translation>
<translation>
<language>de-DE</language>
<approved>false</approved>
</translation>
<translation>
<language>el-GR</language>
<approved>false</approved>
</translation>
<translation>
<language>en-US</language>
<approved>false</approved>
</translation>
<translation>
<language>es-ES</language>
<approved>false</approved>
</translation>
<translation>
<language>fi-FI</language>
<approved>false</approved>
</translation>
<translation>
<language>fr-FR</language>
<approved>false</approved>
</translation>
<translation>
<language>hy-AM</language>
<approved>false</approved>
</translation>
<translation>
<language>it-IT</language>
<approved>false</approved>
</translation>
<translation>
<language>ja-JP</language>
<approved>false</approved>
</translation>
<translation>
<language>ko-KR</language>
<approved>false</approved>
</translation>
<translation>
<language>lo-LA</language>
<approved>false</approved>
</translation>
<translation>
<language>lv-LV</language>
<approved>false</approved>
</translation>
<translation>
<language>nl-NL</language>
<approved>false</approved>
</translation>
<translation>
<language>pl-PL</language>
<approved>false</approved>
</translation>
<translation>
<language>pt-BR</language>
<approved>false</approved>
</translation>
<translation>
<language>pt-PT</language>
<approved>false</approved>
</translation>
<translation>
<language>ro-RO</language>
<approved>false</approved>
</translation>
<translation>
<language>ru-RU</language>
<approved>false</approved>
</translation>
<translation>
<language>si-SI</language>
<approved>false</approved>
</translation>
<translation>
<language>sk-SK</language>
<approved>false</approved>
</translation>
<translation>
<language>sl-SI</language>
<approved>false</approved>
</translation>
<translation>
<language>sr-Cyrl-RS</language>
<approved>false</approved>
</translation>
<translation>
<language>sr-Latn-RS</language>
<approved>false</approved>
</translation>
<translation>
<language>tr-TR</language>
<approved>false</approved>
</translation>
<translation>
<language>uk-UA</language>
<approved>false</approved>
</translation>
<translation>
<language>vi-VN</language>
<approved>false</approved>
</translation>
<translation>
<language>zh-CN</language>
<approved>false</approved>
</translation>
</translations>
</concept_node>
<concept_node>
<name>OtherLabel</name>
<description/>

View File

@ -87,8 +87,6 @@ const Shell = ({ items = [], page = "home", ...rest }) => {
version,
pagesWithoutNavMenu,
isFrame,
organizationName,
} = rest;
const theme = useTheme();
@ -258,7 +256,7 @@ const Shell = ({ items = [], page = "home", ...rest }) => {
headerText: t("Attention"),
text: `${t("BarMaintenanceDescription", {
targetDate: targetDate,
productName: `${organizationName} ${PRODUCT_NAME}`,
productName: `${t("Common:OrganizationName")} ${PRODUCT_NAME}`,
})} ${t("BarMaintenanceDisclaimer")}`,
isMaintenance: true,
onAction: () => {
@ -482,7 +480,6 @@ const ShellWrapper = inject(
frameConfig,
isPortalDeactivate,
isPortalRestoring,
organizationName,
} = settingsStore;
const isBase = settingsStore.theme.isBase;
@ -545,7 +542,6 @@ const ShellWrapper = inject(
version,
pagesWithoutNavMenu,
isFrame,
organizationName,
};
},
)(observer(Shell));

View File

@ -88,7 +88,6 @@ export default inject<TStore>(
currentDeviceType,
standalone,
isBurgerLoading,
organizationName,
} = settingsStore;
const { isFreeTariff, isNonProfit, isTrial, currentTariffPlanTitle } =
@ -101,7 +100,6 @@ export default inject<TStore>(
} = currentTariffStatusStore;
return {
organizationName,
onProfileClick,
user,
getUserRole,

View File

@ -70,7 +70,6 @@ const RootFolderContainer = (props) => {
isPrivacyFolder,
isDesktop,
isEncryptionSupport,
organizationName,
privacyInstructions,
title,
onCreate,
@ -121,7 +120,9 @@ const RootFolderContainer = (props) => {
? t("ArchiveEmptyScreenUser")
: t("ArchiveEmptyScreen", { productName: PRODUCT_NAME });
const privateRoomHeader = t("PrivateRoomHeader", { organizationName });
const privateRoomHeader = t("PrivateRoomHeader", {
organizationName: t("Common:OrganizationName"),
});
const privacyIcon = <img alt="" src={PrivacySvgUrl} />;
const privateRoomDescTranslations = [
t("PrivateRoomDescriptionSafest"),
@ -259,8 +260,8 @@ const RootFolderContainer = (props) => {
{!isDesktop && (
<Text fontSize="12px">
<Trans t={t} i18nKey="PrivateRoomSupport" ns="Files">
Work in Private Room is available via {{ organizationName }} desktop
app.
Work in Private Room is available via{" "}
{{ organizationName: t("Common:OrganizationName") }} desktop app.
<Link
isBold
isHovered
@ -376,8 +377,7 @@ export default inject(
userStore,
publicRoomStore,
}) => {
const { isDesktopClient, isEncryptionSupport, organizationName, theme } =
settingsStore;
const { isDesktopClient, isEncryptionSupport, theme } = settingsStore;
const { setIsSectionFilterLoading } = clientLoadingStore;
@ -400,7 +400,6 @@ export default inject(
userId: userStore?.user?.id,
isCollaborator: userStore?.user?.isCollaborator,
isEncryptionSupport,
organizationName,
privacyInstructions,
title,
myFolderId,

View File

@ -38,8 +38,7 @@ const Wrapper = styled.div`
`;
const ReactSmartBanner = (props) => {
const { t, ready, isBannerVisible, setIsBannerVisible, organizationName } =
props;
const { t, ready, isBannerVisible, setIsBannerVisible } = props;
const force = isIOS ? "ios" : "android";
const location = useLocation();
@ -94,7 +93,9 @@ const ReactSmartBanner = (props) => {
return isMobile && isBannerVisible && ready && isTouchDevice ? (
<Wrapper>
<SmartBanner
title={t("SmartBanner:AppName", { organizationName })}
title={t("SmartBanner:AppName", {
organizationName: t("Common:OrganizationName"),
})}
author="Ascensio System SIA"
button={t("Common:View")}
force={force}
@ -110,11 +111,9 @@ const ReactSmartBanner = (props) => {
);
};
export default inject(({ settingsStore, bannerStore }) => {
const { organizationName } = settingsStore;
export default inject(({ bannerStore }) => {
return {
isBannerVisible: bannerStore.isBannerVisible,
setIsBannerVisible: bannerStore.setIsBannerVisible,
organizationName,
};
})(observer(ReactSmartBanner));

View File

@ -91,26 +91,6 @@ export const getRoomTypeName = (room, t) => {
}
};
export const setDocumentTitle = (subTitle = null) => {
const { isAuthenticated, product: currentModule } = authStore;
const { organizationName } = settingsStore;
let title;
if (subTitle) {
if (isAuthenticated && currentModule) {
title = subTitle + " - " + currentModule.title;
} else {
title = subTitle + " - " + organizationName;
}
} else if (currentModule && organizationName) {
title = currentModule.title + " - " + organizationName;
} else {
title = organizationName;
}
document.title = title;
};
export const getDefaultFileName = (format) => {
switch (format) {
case "docx":

View File

@ -24,7 +24,7 @@
// 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 { authStore, settingsStore } from "@docspace/shared/store";
import { authStore } from "@docspace/shared/store";
import { getLanguage } from "@docspace/shared/utils";
import { toCommunityHostname } from "@docspace/shared/utils/common";
@ -32,10 +32,11 @@ import { CategoryType } from "./constants";
import { FolderType, ShareAccessRights } from "@docspace/shared/enums";
import { translations } from "./autoGeneratedTranslations";
// import router from "SRC_DIR/router";
import i18n from "../i18n";
export const setDocumentTitle = (subTitle = "") => {
const { isAuthenticated, product: currentModule } = authStore;
const { organizationName } = settingsStore;
const organizationName = i18n.t("Common:OrganizationName");
let title;
if (subTitle) {

View File

@ -101,13 +101,8 @@ const StyledAboutBody = styled.div`
`;
const AboutContent = (props) => {
const {
buildVersionInfo,
theme,
companyInfoSettingsData,
previewData,
organizationName,
} = props;
const { buildVersionInfo, theme, companyInfoSettingsData, previewData } =
props;
const { t } = useTranslation("About");
const license = "AGPL-3.0";
const linkRepo = "https://github.com/ONLYOFFICE/DocSpace";
@ -158,7 +153,7 @@ const AboutContent = (props) => {
target="_blank"
enableUserSelect
>
&nbsp;{organizationName} {PRODUCT_NAME}&nbsp;
&nbsp;{t("Common:OrganizationName")} {PRODUCT_NAME}&nbsp;
</ColorTheme>
<Text
@ -274,11 +269,10 @@ const AboutContent = (props) => {
};
export default inject(({ settingsStore }) => {
const { theme, companyInfoSettingsData, organizationName } = settingsStore;
const { theme, companyInfoSettingsData } = settingsStore;
return {
theme,
companyInfoSettingsData,
organizationName,
};
})(observer(AboutContent));

View File

@ -36,7 +36,7 @@ import StyledComponent from "./StyledComponent";
import OfficialDocumentation from "./sub-components/OfficialDocumentation";
import ContactContainer from "SRC_DIR/components/StandaloneComponents/ContactContainer";
const Bonus = ({ standaloneInit, isInitPaymentPage, organizationName }) => {
const Bonus = ({ standaloneInit, isInitPaymentPage }) => {
const { t, ready } = useTranslation("PaymentsEnterprise");
useEffect(() => {
@ -50,7 +50,7 @@ const Bonus = ({ standaloneInit, isInitPaymentPage, organizationName }) => {
<BenefitsContainer />
<Text fontWeight={600}>
{t("UpgradeToProBannerInstructionHeader", {
organizationName,
organizationName: t("Common:OrganizationName"),
})}
</Text>
<Text>{t("UpgradeToProBannerInstructionDescr")}</Text>
@ -62,12 +62,10 @@ const Bonus = ({ standaloneInit, isInitPaymentPage, organizationName }) => {
);
};
export default inject(({ settingsStore, paymentStore }) => {
export default inject(({ paymentStore }) => {
const { standaloneInit, isInitPaymentPage } = paymentStore;
const { organizationName } = settingsStore;
return {
standaloneInit,
isInitPaymentPage,
organizationName,
};
})(observer(Bonus));

View File

@ -106,7 +106,6 @@ const SubmitToGalleryTile = ({
hideSubmitToGalleryTile,
setSubmitToGalleryDialogVisible,
currentColorScheme,
organizationName,
}) => {
if (!submitToGalleryTileIsVisible) return null;
@ -122,10 +121,14 @@ const SubmitToGalleryTile = ({
<div className="info">
<div className="title">
{t("Common:SubmitToGalleryBlockHeader", { organizationName })}
{t("Common:SubmitToGalleryBlockHeader", {
organizationName: t("Common:OrganizationName"),
})}
</div>
<div className="body">
{t("Common:SubmitToGalleryBlockBody", { organizationName })}
{t("Common:SubmitToGalleryBlockBody", {
organizationName: t("Common:OrganizationName"),
})}
</div>
</div>
@ -140,7 +143,7 @@ const SubmitToGalleryTile = ({
};
export default inject(({ settingsStore, oformsStore, dialogsStore }) => {
const { organizationName, currentColorScheme } = settingsStore;
const { currentColorScheme } = settingsStore;
return {
submitToGalleryTileIsVisible: oformsStore.submitToGalleryTileIsVisible,
@ -148,6 +151,5 @@ export default inject(({ settingsStore, oformsStore, dialogsStore }) => {
setSubmitToGalleryDialogVisible:
dialogsStore.setSubmitToGalleryDialogVisible,
currentColorScheme,
organizationName,
};
})(withTranslation("Common", "FormGallery")(observer(SubmitToGalleryTile)));

View File

@ -76,7 +76,7 @@ const HistoryGroupList = ({
];
const onGroupClick = (groupId: string) => {
setSelectedFolder?.(null);
setSelectedFolder?.(t, null);
setPeopleSelection?.([]);
setPeopleBufferSelection?.(null);
setFilesSelection?.([]);

View File

@ -184,7 +184,6 @@ const SectionHeaderContent = (props) => {
tReady,
setIsLoadedSectionHeader,
isSSOAvailable,
organizationName,
} = props;
const navigate = useNavigate();
@ -387,7 +386,7 @@ const SectionHeaderContent = (props) => {
className="arrow-button"
/>
)}
{t(header, { organizationName })}
{t(header, { organizationName: t("Common:OrganizationName") })}
</div>
{isNeedPaidIcon ? (
<Badge
@ -423,7 +422,7 @@ const SectionHeaderContent = (props) => {
);
};
export default inject(({ settingsStore, currentQuotaStore, setup, common }) => {
export default inject(({ currentQuotaStore, setup, common }) => {
const {
isBrandingAndCustomizationAvailable,
isRestoreAndAutoBackupAvailable,
@ -444,8 +443,6 @@ export default inject(({ settingsStore, currentQuotaStore, setup, common }) => {
const { admins, selectorIsOpen } = setup.security.accessRight;
const { isLoadedSectionHeader, setIsLoadedSectionHeader } = common;
const { organizationName } = settingsStore;
return {
addUsers,
removeAdmins,
@ -465,7 +462,6 @@ export default inject(({ settingsStore, currentQuotaStore, setup, common }) => {
isBrandingAndCustomizationAvailable,
isRestoreAndAutoBackupAvailable,
isSSOAvailable,
organizationName,
};
})(
withLoading(

View File

@ -379,7 +379,6 @@ const WelcomePageSettings = (props) => {
export default inject(({ settingsStore, setup, common }) => {
const {
greetingSettings,
organizationName,
theme,
currentColorScheme,
welcomePageSettingsUrl,
@ -397,7 +396,6 @@ export default inject(({ settingsStore, setup, common }) => {
return {
theme,
greetingSettings,
organizationName,
setGreetingTitle,
restoreGreetingTitle,
isLoaded,

View File

@ -108,7 +108,6 @@ const GoogleWorkspace = ({
getMigrationStatus,
setUsers,
filteredUsers,
organizationName,
}) => {
const [showReminder, setShowReminder] = useState(false);
const [currentStep, setCurrentStep] = useState(1);
@ -236,7 +235,7 @@ const GoogleWorkspace = ({
<Text className="workspace-subtitle">
{t("Settings:AboutDataImport", {
productName: PRODUCT_NAME,
organizationName,
organizationName: t("Common:OrganizationName"),
})}
</Text>
<div className="step-container">
@ -253,7 +252,7 @@ const GoogleWorkspace = ({
renderTooltip,
Trans,
filteredUsers.length === 0,
organizationName,
t("Common:OrganizationName"),
)}
</Box>
<StepContent
@ -273,7 +272,7 @@ export default inject(({ setup, settingsStore, importAccountsStore }) => {
const { clearCheckedAccounts, getMigrationStatus, setUsers, filteredUsers } =
importAccountsStore;
const { viewAs, setViewAs } = setup;
const { currentDeviceType, organizationName } = settingsStore;
const { currentDeviceType } = settingsStore;
return {
clearCheckedAccounts,
@ -283,6 +282,5 @@ export default inject(({ setup, settingsStore, importAccountsStore }) => {
getMigrationStatus,
setUsers,
filteredUsers,
organizationName,
};
})(withTranslation(["Common, Settings"])(observer(GoogleWorkspace)));

View File

@ -43,7 +43,6 @@ export const getStepsData = (
currentStep,
setCurrentStep,
isTypeSelectEmpty,
organizationName,
) => {
const isSixthStep = currentStep === 6;
@ -76,7 +75,7 @@ export const getStepsData = (
title: t("Settings:SelectUsersWithEmail"),
description: t("Settings:SelectUsersDescriptionNextcloud", {
productName: PRODUCT_NAME,
organizationName,
organizationName: t("Common:OrganizationName"),
}),
component: (
<SelectUsersStep
@ -90,7 +89,7 @@ export const getStepsData = (
title: t("Settings:AddEmails"),
description: t("Settings:AddEmailsDescription", {
productName: PRODUCT_NAME,
organizationName,
organizationName: t("Common:OrganizationName"),
}),
component: (
<AddEmailsStep
@ -186,7 +185,7 @@ export const getStepsData = (
title: t("Settings:DataImportComplete"),
description: t("Settings:ImportCompleteDescriptionNextcloud", {
productName: PRODUCT_NAME,
organizationName,
organizationName: t("Common:OrganizationName"),
}),
component: (
<ImportCompleteStep

View File

@ -66,7 +66,6 @@ const NextcloudWorkspace = (props) => {
getMigrationStatus,
setUsers,
filteredUsers,
organizationName,
} = props;
const [currentStep, setCurrentStep] = useState(1);
const [shouldRender, setShouldRender] = useState(false);
@ -75,7 +74,7 @@ const NextcloudWorkspace = (props) => {
currentStep,
setCurrentStep,
filteredUsers.length === 0,
organizationName,
t("Common:OrganizationName"),
);
const navigate = useNavigate();
@ -155,7 +154,7 @@ const NextcloudWorkspace = (props) => {
>
{t("Settings:AboutDataImport", {
productName: PRODUCT_NAME,
organizationName,
organizationName: t("Common:OrganizationName"),
})}
</Text>
<Text
@ -179,7 +178,7 @@ export default inject(({ setup, settingsStore, importAccountsStore }) => {
const { clearCheckedAccounts, getMigrationStatus, setUsers, filteredUsers } =
importAccountsStore;
const { initSettings, viewAs, setViewAs } = setup;
const { currentDeviceType, organizationName } = settingsStore;
const { currentDeviceType } = settingsStore;
return {
initSettings,
@ -191,7 +190,6 @@ export default inject(({ setup, settingsStore, importAccountsStore }) => {
getMigrationStatus,
setUsers,
filteredUsers,
organizationName,
};
})(
withTranslation(["Common, SMTPSettings, Settings"])(

View File

@ -106,7 +106,6 @@ const OnlyofficeWorkspace = ({
getMigrationStatus,
setUsers,
filteredUsers,
organizationName,
}) => {
const [showReminder, setShowReminder] = useState(false);
const [currentStep, setCurrentStep] = useState(1);
@ -234,7 +233,7 @@ const OnlyofficeWorkspace = ({
<Text className="workspace-subtitle">
{t("Settings:AboutDataImport", {
productName: PRODUCT_NAME,
organizationName,
organizationName: t("Common:OrganizationName"),
})}
</Text>
<div className="step-container">
@ -251,7 +250,7 @@ const OnlyofficeWorkspace = ({
renderTooltip,
Trans,
filteredUsers.length === 0,
organizationName,
t("Common:OrganizationName"),
)}
</Box>
<StepContent
@ -271,7 +270,7 @@ export default inject(({ setup, settingsStore, importAccountsStore }) => {
const { clearCheckedAccounts, getMigrationStatus, setUsers, filteredUsers } =
importAccountsStore;
const { viewAs, setViewAs } = setup;
const { currentDeviceType, organizationName } = settingsStore;
const { currentDeviceType } = settingsStore;
return {
clearCheckedAccounts,
@ -281,6 +280,5 @@ export default inject(({ setup, settingsStore, importAccountsStore }) => {
getMigrationStatus,
setUsers,
filteredUsers,
organizationName,
};
})(withTranslation(["Common, Settings"])(observer(OnlyofficeWorkspace)));

View File

@ -43,6 +43,7 @@ import NextcloudWorkspaceDarkSvgUrl from "PUBLIC_DIR/images/dark.workspace.nextc
import OnlyofficeWorkspaceDarkSvgUrl from "PUBLIC_DIR/images/dark.workspace.onlyoffice.react.svg?url";
import DataImportLoader from "./sub-components/DataImportLoader";
import { PRODUCT_NAME } from "@docspace/shared/constants";
import { setDocumentTitle } from "SRC_DIR/helpers/utils";
const DataImport = ({
t,
@ -51,10 +52,8 @@ const DataImport = ({
setServices,
getMigrationList,
getMigrationStatus,
setDocumentTitle,
isMigrationInit,
setIsMigrationInit,
organizationName,
}) => {
const navigate = useNavigate();
@ -136,7 +135,7 @@ const DataImport = ({
<Text className="data-import-description">
{t("DataImportDescription", {
productName: PRODUCT_NAME,
organizationName,
organizationName: t("Common:OrganizationName"),
})}
</Text>
<Text className="data-import-subtitle">{t("UploadBackupData")}</Text>
@ -174,9 +173,7 @@ export default inject(({ authStore, settingsStore, importAccountsStore }) => {
setIsMigrationInit,
} = importAccountsStore;
const { setDocumentTitle } = authStore;
const { organizationName, theme } = settingsStore;
const { theme } = settingsStore;
return {
services,
@ -184,9 +181,7 @@ export default inject(({ authStore, settingsStore, importAccountsStore }) => {
getMigrationList,
getMigrationStatus,
theme,
setDocumentTitle,
isMigrationInit,
setIsMigrationInit,
organizationName,
};
})(withTranslation(["Settings"])(observer(DataImport)));

View File

@ -70,7 +70,9 @@ class ManualBackup extends React.Component {
this.timerId = null;
setDocumentTitle(props.t("DataBackup"));
const { t } = props;
setDocumentTitle(t("DataBackup"));
this.state = {
selectedFolder: "",

View File

@ -32,7 +32,7 @@ import { Button } from "@docspace/shared/components/button";
import { toastr } from "@docspace/shared/components/toast";
import { Link } from "@docspace/shared/components/link";
import { MainContainer, ButtonWrapper } from "./StyledDeleteData";
import { setDocumentTitle } from "../../../../helpers/utils";
import { setDocumentTitle } from "SRC_DIR/helpers/utils";
import { sendSuspendPortalEmail } from "@docspace/shared/api/portal";
import { isDesktop } from "@docspace/shared/utils";
import { EmployeeActivationStatus } from "@docspace/shared/enums";

View File

@ -31,7 +31,7 @@ import { Text } from "@docspace/shared/components/text";
import { Button } from "@docspace/shared/components/button";
import { Link } from "@docspace/shared/components/link";
import { MainContainer, ButtonWrapper } from "./StyledDeleteData";
import { setDocumentTitle } from "../../../../helpers/utils";
import { setDocumentTitle } from "SRC_DIR/helpers/utils";
import { DeletePortalDialog } from "SRC_DIR/components/dialogs";
import { toastr } from "@docspace/shared/components/toast";
import {

View File

@ -38,6 +38,7 @@ import ApiSvgUrl from "PUBLIC_DIR/images/settings.api.svg?url";
import ApiDarkSvgUrl from "PUBLIC_DIR/images/settings.api.dark.svg?url";
import { DeviceType } from "@docspace/shared/enums";
import { PRODUCT_NAME } from "@docspace/shared/constants";
import { setDocumentTitle } from "SRC_DIR/helpers/utils";
const EmptyContainer = styled(EmptyScreenContainer)`
.ec-header {
@ -61,14 +62,7 @@ const EmptyContainer = styled(EmptyScreenContainer)`
`;
const Api = (props) => {
const {
t,
setDocumentTitle,
theme,
apiBasicLink,
currentDeviceType,
organizationName,
} = props;
const { t, theme, apiBasicLink, currentDeviceType } = props;
const imgSrc = theme.isBase ? ApiSvgUrl : ApiDarkSvgUrl;
@ -89,7 +83,7 @@ const Api = (props) => {
}
descriptionText={t("ApiPageDescription", {
productName: PRODUCT_NAME,
organizationName,
organizationName: t("Common:OrganizationName"),
})}
headerText={t("ApiPageHeader")}
imageAlt={t("ApiPageHeader")}
@ -99,16 +93,12 @@ const Api = (props) => {
);
};
export default inject(({ authStore, settingsStore }) => {
const { setDocumentTitle } = authStore;
const { theme, apiBasicLink, currentDeviceType, organizationName } =
settingsStore;
export default inject(({ settingsStore }) => {
const { theme, apiBasicLink, currentDeviceType } = settingsStore;
return {
theme,
setDocumentTitle,
apiBasicLink,
currentDeviceType,
organizationName,
};
})(withTranslation(["Settings", "Common"])(observer(Api)));

View File

@ -56,6 +56,7 @@ import FileSelectorImgDark from "PUBLIC_DIR/images/sdk-presets_file-selector_dar
import EditorImgDark from "PUBLIC_DIR/images/sdk-presets_editor_dark.react.svg?url";
import ViewerImgDark from "PUBLIC_DIR/images/sdk-presets_viewer_dark.react.svg?url";
import CustomImgDark from "PUBLIC_DIR/images/sdk-presets_custom_dark.react.svg?url";
import { setDocumentTitle } from "SRC_DIR/helpers/utils";
const SDKContainer = styled(Box)`
@media ${tablet} {
@ -117,7 +118,7 @@ const PresetsContainer = styled.div`
`;
const PortalIntegration = (props) => {
const { t, setDocumentTitle, currentColorScheme, sdkLink, theme } = props;
const { t, currentColorScheme, sdkLink, theme } = props;
const isSmall = useRef(
(() => {
@ -242,13 +243,11 @@ const PortalIntegration = (props) => {
);
};
export default inject(({ settingsStore, authStore, publicRoomStore }) => {
const { setDocumentTitle } = authStore;
export default inject(({ settingsStore }) => {
const { theme, currentColorScheme, sdkLink } = settingsStore;
return {
theme,
setDocumentTitle,
currentColorScheme,
sdkLink,
};

View File

@ -53,9 +53,10 @@ import {
ControlsSection,
} from "./StyledPresets";
import { PRODUCT_NAME, SDK_SCRIPT_URL } from "@docspace/shared/constants";
import { setDocumentTitle } from "SRC_DIR/helpers/utils";
const DocSpace = (props) => {
const { t, setDocumentTitle, theme } = props;
const { t, theme } = props;
setDocumentTitle(t("JavascriptSdk"));
@ -155,13 +156,11 @@ const DocSpace = (props) => {
);
};
export default inject(({ authStore, settingsStore }) => {
const { setDocumentTitle } = authStore;
export default inject(({ settingsStore }) => {
const { theme } = settingsStore;
return {
theme,
setDocumentTitle,
};
})(
withTranslation([

View File

@ -63,9 +63,10 @@ import {
FilesSelectorInputWrapper,
} from "./StyledPresets";
import { SDK_SCRIPT_URL } from "@docspace/shared/constants";
import { setDocumentTitle } from "SRC_DIR/helpers/utils";
const Editor = (props) => {
const { t, setDocumentTitle, getFilePrimaryLink, theme } = props;
const { t, getFilePrimaryLink, theme } = props;
setDocumentTitle(t("JavascriptSdk"));
@ -228,14 +229,12 @@ const Editor = (props) => {
);
};
export default inject(({ authStore, settingsStore, filesStore }) => {
const { setDocumentTitle } = authStore;
export default inject(({ settingsStore, filesStore }) => {
const { theme } = settingsStore;
const { getFilePrimaryLink } = filesStore;
return {
theme,
setDocumentTitle,
getFilePrimaryLink,
};
})(

View File

@ -78,10 +78,10 @@ import {
FilesSelectorInputWrapper,
} from "./StyledPresets";
import { SDK_SCRIPT_URL } from "@docspace/shared/constants";
import { setDocumentTitle } from "SRC_DIR/helpers/utils";
const FileSelector = (props) => {
const { t, setDocumentTitle, fetchExternalLinks, theme, organizationName } =
props;
const { t, fetchExternalLinks, theme } = props;
setDocumentTitle(t("JavascriptSdk"));
@ -89,7 +89,9 @@ const FileSelector = (props) => {
{ value: FilesSelectorFilterTypes.ALL, label: t("AllTypes") },
{
value: "EditorSupportedTypes",
label: t("AllTypesSupportedByEditor", { organizationName }),
label: t("AllTypesSupportedByEditor", {
organizationName: t("Common:OrganizationName"),
}),
},
{ value: "SelectorTypes", label: t("SelectTypes") },
];
@ -436,16 +438,13 @@ const FileSelector = (props) => {
);
};
export default inject(({ authStore, settingsStore, publicRoomStore }) => {
const { setDocumentTitle } = authStore;
const { theme, organizationName } = settingsStore;
export default inject(({ settingsStore, publicRoomStore }) => {
const { theme } = settingsStore;
const { fetchExternalLinks } = publicRoomStore;
return {
theme,
setDocumentTitle,
fetchExternalLinks,
organizationName,
};
})(
withTranslation([

View File

@ -90,10 +90,10 @@ import {
CheckboxGroup,
} from "./StyledPresets";
import { PRODUCT_NAME, SDK_SCRIPT_URL } from "@docspace/shared/constants";
import { setDocumentTitle } from "SRC_DIR/helpers/utils";
const Manager = (props) => {
const { t, setDocumentTitle, fetchExternalLinks, theme, currentColorScheme } =
props;
const { t, fetchExternalLinks, theme, currentColorScheme } = props;
const navigate = useNavigate();
setDocumentTitle(t("JavascriptSdk"));
@ -654,14 +654,12 @@ const Manager = (props) => {
);
};
export default inject(({ authStore, settingsStore, publicRoomStore }) => {
const { setDocumentTitle } = authStore;
export default inject(({ settingsStore, publicRoomStore }) => {
const { theme, currentColorScheme } = settingsStore;
const { fetchExternalLinks } = publicRoomStore;
return {
theme,
setDocumentTitle,
fetchExternalLinks,
currentColorScheme,
};

View File

@ -64,9 +64,10 @@ import {
Container,
} from "./StyledPresets";
import { SDK_SCRIPT_URL } from "@docspace/shared/constants";
import { setDocumentTitle } from "SRC_DIR/helpers/utils";
const RoomSelector = (props) => {
const { t, setDocumentTitle, theme } = props;
const { t, theme } = props;
setDocumentTitle(t("JavascriptSdk"));
@ -254,12 +255,10 @@ const RoomSelector = (props) => {
};
export default inject(({ authStore, settingsStore }) => {
const { setDocumentTitle } = authStore;
const { theme } = settingsStore;
return {
theme,
setDocumentTitle,
};
})(
withTranslation([

View File

@ -79,10 +79,10 @@ import {
CheckboxGroup,
} from "./StyledPresets";
import { SDK_SCRIPT_URL } from "@docspace/shared/constants";
import { setDocumentTitle } from "SRC_DIR/helpers/utils";
const SimpleRoom = (props) => {
const { t, setDocumentTitle, fetchExternalLinks, currentColorScheme, theme } =
props;
const { t, fetchExternalLinks, currentColorScheme, theme } = props;
const navigate = useNavigate();
setDocumentTitle(t("JavascriptSdk"));
@ -385,14 +385,12 @@ const SimpleRoom = (props) => {
);
};
export default inject(({ authStore, settingsStore, publicRoomStore }) => {
const { setDocumentTitle } = authStore;
export default inject(({ settingsStore, publicRoomStore }) => {
const { theme, currentColorScheme } = settingsStore;
const { fetchExternalLinks } = publicRoomStore;
return {
theme,
setDocumentTitle,
fetchExternalLinks,
currentColorScheme,
};

View File

@ -65,9 +65,10 @@ import {
FilesSelectorInputWrapper,
} from "./StyledPresets";
import { SDK_SCRIPT_URL } from "@docspace/shared/constants";
import { setDocumentTitle } from "SRC_DIR/helpers/utils";
const Viewer = (props) => {
const { t, setDocumentTitle, getFilePrimaryLink, theme } = props;
const { t, getFilePrimaryLink, theme } = props;
setDocumentTitle(t("JavascriptSdk"));
@ -270,14 +271,12 @@ const Viewer = (props) => {
);
};
export default inject(({ authStore, settingsStore, filesStore }) => {
const { setDocumentTitle } = authStore;
export default inject(({ settingsStore, filesStore }) => {
const { theme } = settingsStore;
const { getFilePrimaryLink } = filesStore;
return {
theme,
setDocumentTitle,
getFilePrimaryLink,
};
})(

View File

@ -42,6 +42,7 @@ import { useTranslation } from "react-i18next";
import { DeleteWebhookDialog } from "./sub-components/DeleteWebhookDialog";
import { toastr } from "@docspace/shared/components/toast";
import { setDocumentTitle } from "SRC_DIR/helpers/utils";
const MainWrapper = styled.div`
width: 100%;
@ -78,7 +79,6 @@ const Webhooks = (props) => {
loadWebhooks,
addWebhook,
isWebhooksEmpty,
setDocumentTitle,
currentWebhook,
editWebhook,
deleteWebhook,
@ -185,14 +185,12 @@ export default inject(({ webhooksStore, authStore }) => {
editWebhook,
deleteWebhook,
} = webhooksStore;
const { setDocumentTitle } = authStore;
return {
state,
loadWebhooks,
addWebhook,
isWebhooksEmpty,
setDocumentTitle,
currentWebhook,
editWebhook,
deleteWebhook,

View File

@ -61,12 +61,15 @@ StyledGuideLink.defaultProps = { theme: Base };
const WebhookInfo = (props) => {
const { t } = useTranslation(["Webhooks"]);
const { webhooksGuideUrl, organizationName } = props;
const { webhooksGuideUrl } = props;
return (
<InfoWrapper>
<InfoText as="p">
{t("WebhooksInfo", { productName: PRODUCT_NAME, organizationName })}
{t("WebhooksInfo", {
productName: PRODUCT_NAME,
organizationName: t("Common:OrganizationName"),
})}
</InfoText>
<StyledGuideLink
id="webhooks-info-link"
@ -83,10 +86,9 @@ const WebhookInfo = (props) => {
};
export default inject(({ settingsStore }) => {
const { webhooksGuideUrl, organizationName } = settingsStore;
const { webhooksGuideUrl } = settingsStore;
return {
webhooksGuideUrl,
organizationName,
};
})(observer(WebhookInfo));

View File

@ -38,12 +38,8 @@ import { setDocumentTitle } from "SRC_DIR/helpers/utils";
let timerId = null;
const SMTPSettings = (props) => {
const {
setInitSMTPSettings,
organizationName,
currentColorScheme,
integrationSettingsUrl,
} = props;
const { setInitSMTPSettings, currentColorScheme, integrationSettingsUrl } =
props;
const { t, ready } = useTranslation([
"SMTPSettings",
@ -85,7 +81,9 @@ const SMTPSettings = (props) => {
<StyledComponent>
<div className="smtp-settings_main-title">
<Text className="smtp-settings_description">
{t("Settings:SMTPSettingsDescription", { organizationName })}
{t("Settings:SMTPSettingsDescription", {
organizationName: t("Common:OrganizationName"),
})}
</Text>
<Link
className="link-learn-more"
@ -104,13 +102,11 @@ const SMTPSettings = (props) => {
};
export default inject(({ settingsStore, setup }) => {
const { organizationName, currentColorScheme, integrationSettingsUrl } =
settingsStore;
const { currentColorScheme, integrationSettingsUrl } = settingsStore;
const { setInitSMTPSettings } = setup;
return {
setInitSMTPSettings,
organizationName,
currentColorScheme,
integrationSettingsUrl,
};

View File

@ -39,7 +39,7 @@ const StyledWrapper = styled.div`
gap: 20px;
`;
const MobileView = ({ isSSOAvailable, organizationName }) => {
const MobileView = ({ isSSOAvailable }) => {
const { t } = useTranslation(["SingleSignOn", "Settings"]);
const navigate = useNavigate();
@ -51,7 +51,9 @@ const MobileView = ({ isSSOAvailable, organizationName }) => {
return (
<StyledWrapper>
<MobileCategoryWrapper
title={t("ServiceProviderSettings", { organizationName })}
title={t("ServiceProviderSettings", {
organizationName: t("Common:OrganizationName"),
})}
subtitle={t("ServiceProviderSettingsDescription")}
url="/portal-settings/integration/sso/settings"
withPaidBadge={!isSSOAvailable}
@ -59,10 +61,12 @@ const MobileView = ({ isSSOAvailable, organizationName }) => {
onClickLink={onClickLink}
/>
<MobileCategoryWrapper
title={t("SpMetadata", { organizationName })}
title={t("SpMetadata", {
organizationName: t("Common:OrganizationName"),
})}
subtitle={t("SpMetadataDescription", {
productName: PRODUCT_NAME,
organizationName,
organizationName: t("Common:OrganizationName"),
})}
url="/portal-settings/integration/sso/metadata"
withPaidBadge={!isSSOAvailable}

View File

@ -41,6 +41,7 @@ import SSOLoader from "./sub-components/ssoLoader";
import MobileView from "./MobileView";
import { DeviceType } from "@docspace/shared/enums";
import { setDocumentTitle } from "SRC_DIR/helpers/utils";
const SERVICE_PROVIDER_SETTINGS = "serviceProviderSettings";
const SP_METADATA = "spMetadata";
@ -51,10 +52,8 @@ const SingleSignOn = (props) => {
serviceProviderSettings,
spMetadata,
isSSOAvailable,
setDocumentTitle,
isInit,
currentDeviceType,
organizationName,
} = props;
const { t } = useTranslation(["SingleSignOn", "Settings"]);
const isMobileView = currentDeviceType === DeviceType.mobile;
@ -77,17 +76,16 @@ const SingleSignOn = (props) => {
</Text>
{isMobileView ? (
<MobileView
isSSOAvailable={isSSOAvailable}
organizationName={organizationName}
/>
<MobileView isSSOAvailable={isSSOAvailable} />
) : (
<>
<ToggleSSO />
<HideButton
id="sp-settings-hide-button"
text={t("ServiceProviderSettings", { organizationName })}
text={t("ServiceProviderSettings", {
organizationName: t("Common:OrganizationName"),
})}
label={SERVICE_PROVIDER_SETTINGS}
value={serviceProviderSettings}
isDisabled={!isSSOAvailable}
@ -98,7 +96,9 @@ const SingleSignOn = (props) => {
<HideButton
id="sp-metadata-hide-button"
text={t("SpMetadata", { organizationName })}
text={t("SpMetadata", {
organizationName: t("Common:OrganizationName"),
})}
label={SP_METADATA}
value={spMetadata}
isDisabled={!isSSOAvailable}
@ -115,9 +115,8 @@ const SingleSignOn = (props) => {
export default inject(
({ authStore, settingsStore, ssoStore, currentQuotaStore }) => {
const { setDocumentTitle } = authStore;
const { isSSOAvailable } = currentQuotaStore;
const { currentDeviceType, organizationName } = settingsStore;
const { currentDeviceType } = settingsStore;
const { init, serviceProviderSettings, spMetadata, isInit } = ssoStore;
@ -126,10 +125,8 @@ export default inject(
serviceProviderSettings,
spMetadata,
isSSOAvailable,
setDocumentTitle,
isInit,
currentDeviceType,
organizationName,
};
},
)(observer(SingleSignOn));

View File

@ -48,6 +48,7 @@ import ConsumerModalDialog from "./sub-components/consumerModalDialog";
import ThirdPartyLoader from "./sub-components/thirdPartyLoader";
import { PRODUCT_NAME } from "@docspace/shared/constants";
import { setDocumentTitle } from "SRC_DIR/helpers/utils";
const RootContainer = styled(Box)`
max-width: 700px;
@ -110,7 +111,7 @@ const RootContainer = styled(Box)`
class ThirdPartyServices extends React.Component {
constructor(props) {
super(props);
const { t, setDocumentTitle } = props;
const { t } = props;
setDocumentTitle(`${t("ThirdPartyAuthorization")}`);
@ -202,7 +203,6 @@ class ThirdPartyServices extends React.Component {
theme,
currentColorScheme,
isThirdPartyAvailable,
organizationName,
} = this.props;
const { dialogVisible, isLoading } = this.state;
const { onModalClose, onModalOpen, setConsumer, onChangeLoading } = this;
@ -255,7 +255,7 @@ class ThirdPartyServices extends React.Component {
<Text>
{t("IntegrationRequest", {
productName: PRODUCT_NAME,
organizationName,
organizationName: t("Common:OrganizationName"),
})}
</Text>
<Button
@ -346,39 +346,33 @@ ThirdPartyServices.propTypes = {
setSelectedConsumer: PropTypes.func.isRequired,
};
export default inject(
({ setup, authStore, settingsStore, currentQuotaStore }) => {
const { setDocumentTitle } = authStore;
const {
integrationSettingsUrl,
theme,
currentColorScheme,
companyInfoSettingsData,
organizationName,
} = settingsStore;
const {
getConsumers,
integration,
updateConsumerProps,
setSelectedConsumer,
fetchAndSetConsumers,
} = setup;
const { consumers } = integration;
const { isThirdPartyAvailable } = currentQuotaStore;
export default inject(({ setup, settingsStore, currentQuotaStore }) => {
const {
integrationSettingsUrl,
theme,
currentColorScheme,
companyInfoSettingsData,
} = settingsStore;
const {
getConsumers,
integration,
updateConsumerProps,
setSelectedConsumer,
fetchAndSetConsumers,
} = setup;
const { consumers } = integration;
const { isThirdPartyAvailable } = currentQuotaStore;
return {
theme,
consumers,
integrationSettingsUrl,
getConsumers,
updateConsumerProps,
setSelectedConsumer,
fetchAndSetConsumers,
setDocumentTitle,
currentColorScheme,
isThirdPartyAvailable,
supportEmail: companyInfoSettingsData?.email,
organizationName,
};
},
)(withTranslation(["Settings", "Common"])(observer(ThirdPartyServices)));
return {
theme,
consumers,
integrationSettingsUrl,
getConsumers,
updateConsumerProps,
setSelectedConsumer,
fetchAndSetConsumers,
currentColorScheme,
isThirdPartyAvailable,
supportEmail: companyInfoSettingsData?.email,
};
})(withTranslation(["Settings", "Common"])(observer(ThirdPartyServices)));

View File

@ -32,7 +32,7 @@ import { useTranslation } from "react-i18next";
import { regDesktop } from "@docspace/shared/utils/desktop";
import PaymentsLoader from "@docspace/shared/skeletons/payments";
import { setDocumentTitle } from "@docspace/client/src/helpers/filesUtils";
import { setDocumentTitle } from "@docspace/client/src/helpers/utils";
import PaymentContainer from "./PaymentContainer";

View File

@ -29,7 +29,7 @@ import React, { useEffect } from "react";
import { inject, observer } from "mobx-react";
import { useTranslation } from "react-i18next";
import { setDocumentTitle } from "@docspace/client/src/helpers/filesUtils";
import { setDocumentTitle } from "@docspace/client/src/helpers/utils";
import { PaymentsStandaloneLoader } from "@docspace/shared/skeletons/payments";
import LicenseContainer from "./LicenseContainer";

View File

@ -38,7 +38,6 @@ const TariffTitleContainer = ({
isTrial,
trialDaysLeft,
paymentDate,
organizationName,
}) => {
const { t } = useTranslation(["PaymentsEnterprise", "Common"]);
const alertComponent = () => {
@ -97,7 +96,7 @@ const TariffTitleContainer = ({
<Text fontWeight={600} fontSize="14px" as="span">
{t("ActivateTariffDescr", {
productName: PRODUCT_NAME,
organizationName,
organizationName: t("Common:OrganizationName"),
})}
</Text>{" "}
{!isLicenseDateExpired && (
@ -112,20 +111,15 @@ const TariffTitleContainer = ({
);
};
export default inject(
({ settingsStore, currentQuotaStore, currentTariffStatusStore }) => {
const { trialDaysLeft, paymentDate, isLicenseDateExpired } =
currentTariffStatusStore;
const { isTrial } = currentQuotaStore;
export default inject(({ currentQuotaStore, currentTariffStatusStore }) => {
const { trialDaysLeft, paymentDate, isLicenseDateExpired } =
currentTariffStatusStore;
const { isTrial } = currentQuotaStore;
const { organizationName } = settingsStore;
return {
isTrial,
trialDaysLeft,
paymentDate,
isLicenseDateExpired,
organizationName,
};
},
)(observer(TariffTitleContainer));
return {
isTrial,
trialDaysLeft,
paymentDate,
isLicenseDateExpired,
};
})(observer(TariffTitleContainer));

View File

@ -30,7 +30,7 @@ import { useTranslation } from "react-i18next";
import moment from "moment";
import { SettingsStorageManagementSkeleton } from "@docspace/shared/skeletons/settings";
import { setDocumentTitle } from "@docspace/client/src/helpers/filesUtils";
import { setDocumentTitle } from "@docspace/client/src/helpers/utils";
import QuotasComponent from "./Quotas";
import StatisticsComponent from "./Statistics";

View File

@ -32,7 +32,6 @@ export const getGoogleStepDescription = (
renderTooltip,
Trans,
isTypeSelectEmpty,
organizationName,
) => {
switch (stepIndex) {
case 1:
@ -40,7 +39,7 @@ export const getGoogleStepDescription = (
case 2:
return t("Settings:SelectUsersDescriptionGoogle", {
productName: PRODUCT_NAME,
organizationName,
organizationName: t("Common:OrganizationName"),
});
case 3:
return isTypeSelectEmpty ? (
@ -73,7 +72,7 @@ export const getGoogleStepDescription = (
case 6:
return t("Settings:ImportCompleteDescriptionGoogle", {
productName: PRODUCT_NAME,
organizationName,
organizationName: t("Common:OrganizationName"),
});
default:
return;
@ -86,15 +85,16 @@ export const getWorkspaceStepDescription = (
renderTooltip,
Trans,
isTypeSelectEmpty,
organizationName,
) => {
switch (stepIndex) {
case 1:
return t("Settings:SelectFileDescriptionWorkspace", organizationName);
return t("Settings:SelectFileDescriptionWorkspace", {
organizationName: t("Common:OrganizationName"),
});
case 2:
return t("Settings:SelectUsersDescriptionWorkspace", {
productName: PRODUCT_NAME,
organizationName,
organizationName: t("Common:OrganizationName"),
});
case 3:
return isTypeSelectEmpty ? (
@ -127,7 +127,7 @@ export const getWorkspaceStepDescription = (
case 6:
return t("Settings:ImportCompleteDescriptionWorkspace", {
productName: PRODUCT_NAME,
organizationName,
organizationName: t("Common:OrganizationName"),
});
default:
return;

View File

@ -38,7 +38,6 @@ import { mobile, tablet } from "@docspace/shared/utils";
import { Trans, withTranslation } from "react-i18next";
import { useLocation } from "react-router-dom";
import { isMobile } from "react-device-detect";
//import { setDocumentTitle } from "@docspace/client/src/helpers/filesUtils";
import { toastr } from "@docspace/shared/components/toast";
import { checkProtocol } from "../../helpers/files-helpers";
import Base from "@docspace/shared/themes/base";
@ -142,11 +141,7 @@ const StyledPrivacyPage = styled.div`
StyledPrivacyPage.defaultProps = { theme: Base };
const PrivacyPageComponent = ({ t, tReady, organizationName }) => {
// useEffect(() => {
// setDocumentTitle(t("Common:About"));
// }, [t]);
const PrivacyPageComponent = ({ t, tReady }) => {
const [isDisabled, setIsDisabled] = useState(false);
const location = useLocation();
@ -192,7 +187,7 @@ const PrivacyPageComponent = ({ t, tReady, organizationName }) => {
i18nKey="PrivacyClick"
ns="PrivacyPage"
values={{
organizationName,
organizationName: t("Common:OrganizationName"),
}}
components={{
1: <strong></strong>,
@ -213,7 +208,9 @@ const PrivacyPageComponent = ({ t, tReady, organizationName }) => {
size="medium"
primary
isDisabled={isDisabled}
label={t("PrivacyButton", { organizationName })}
label={t("PrivacyButton", {
organizationName: t("Common:OrganizationName"),
})}
/>
<label className="privacy-rooms-text-separator" />
@ -224,7 +221,10 @@ const PrivacyPageComponent = ({ t, tReady, organizationName }) => {
fontSize="16px"
fontWeight={300}
>
{t("PrivacyEditors", { organizationName })}?
{t("PrivacyEditors", {
organizationName: t("Common:OrganizationName"),
})}
?
</Text>
<Link
className="privacy-rooms-link privacy-rooms-install-text"
@ -242,7 +242,12 @@ const PrivacyPageComponent = ({ t, tReady, organizationName }) => {
textAlign="center"
className="privacy-rooms-text-description"
>
<p>{t("PrivacyDescriptionEditors", { organizationName })}.</p>
<p>
{t("PrivacyDescriptionEditors", {
organizationName: t("Common:OrganizationName"),
})}
.
</p>
<p>{t("PrivacyDescriptionConnect")}.</p>
</Text>
</div>
@ -264,9 +269,4 @@ const PrivacyPage = (props) => {
);
};
export default inject(({ settingsStore }) => {
const { organizationName } = settingsStore;
return {
organizationName,
};
})(observer(PrivacyPage));
export default observer(PrivacyPage);

View File

@ -64,7 +64,6 @@ const FileManagement = ({
openEditorInSameTab,
setOpenEditorInSameTab,
organizationName,
}) => {
const { t, ready } = useTranslation(["FilesSettings", "Common"]);
@ -168,7 +167,11 @@ const FileManagement = ({
onChange={onChangeOpenEditorInSameTab}
isChecked={openEditorInSameTab}
/>
<Text>{t("OpenSameTab", { organizationName })}</Text>
<Text>
{t("OpenSameTab", {
organizationName: t("Common:OrganizationName"),
})}
</Text>
</div>
)}
</Box>
@ -228,68 +231,64 @@ const FileManagement = ({
);
};
export default inject(
({ settingsStore, userStore, filesSettingsStore, treeFoldersStore }) => {
const { organizationName } = settingsStore;
const {
storeOriginalFiles,
confirmDelete,
forcesave,
export default inject(({ userStore, filesSettingsStore, treeFoldersStore }) => {
const {
storeOriginalFiles,
confirmDelete,
forcesave,
setStoreOriginal,
setStoreOriginal,
setConfirmDelete,
setConfirmDelete,
setForceSave,
setForceSave,
favoritesSection,
recentSection,
setFavoritesSetting,
setRecentSetting,
favoritesSection,
recentSection,
setFavoritesSetting,
setRecentSetting,
keepNewFileName,
setKeepNewFileName,
keepNewFileName,
setKeepNewFileName,
setThumbnails1280x720,
thumbnails1280x720,
setThumbnails1280x720,
thumbnails1280x720,
openEditorInSameTab,
setOpenEditorInSameTab,
} = filesSettingsStore;
openEditorInSameTab,
setOpenEditorInSameTab,
} = filesSettingsStore;
const { myFolderId, commonFolderId } = treeFoldersStore;
const { myFolderId, commonFolderId } = treeFoldersStore;
return {
storeOriginalFiles,
confirmDelete,
forceSave: forcesave,
return {
storeOriginalFiles,
confirmDelete,
forceSave: forcesave,
myFolderId,
commonFolderId,
isVisitor: userStore.user.isVisitor,
favoritesSection,
recentSection,
myFolderId,
commonFolderId,
isVisitor: userStore.user.isVisitor,
favoritesSection,
recentSection,
setStoreOriginal,
setStoreOriginal,
setConfirmDelete,
setConfirmDelete,
setForceSave,
setForceSave,
setFavoritesSetting,
setRecentSetting,
myFolderId,
commonFolderId,
setFavoritesSetting,
setRecentSetting,
myFolderId,
commonFolderId,
keepNewFileName,
setKeepNewFileName,
keepNewFileName,
setKeepNewFileName,
setThumbnails1280x720,
thumbnails1280x720,
setThumbnails1280x720,
thumbnails1280x720,
openEditorInSameTab,
setOpenEditorInSameTab,
organizationName,
};
},
)(observer(FileManagement));
openEditorInSameTab,
setOpenEditorInSameTab,
};
})(observer(FileManagement));

View File

@ -35,6 +35,7 @@ import Dialogs from "../Home/Section/AccountsBody/Dialogs";
import withCultureNames from "SRC_DIR/HOCs/withCultureNames";
import { inject, observer } from "mobx-react";
import { withTranslation } from "react-i18next";
import { setDocumentTitle } from "SRC_DIR/helpers/utils";
class Profile extends React.Component {
componentDidMount() {
@ -42,7 +43,6 @@ class Profile extends React.Component {
fetchProfile,
profile,
t,
setDocumentTitle,
setIsEditTargetUser,
@ -147,7 +147,7 @@ export default inject(
tfaStore,
treeFoldersStore,
}) => {
const { setDocumentTitle, language } = authStore;
const { language } = authStore;
const {
setIsProfileLoaded,
@ -175,7 +175,6 @@ export default inject(
const { getTfaType } = tfaStore;
return {
setDocumentTitle,
language,
fetchProfile,
profile,

View File

@ -56,7 +56,6 @@ const Sdk = ({
fetchExternalLinks,
getFilePrimaryLink,
getFilesSettings,
organizationName,
}) => {
const [isDataReady, setIsDataReady] = useState(false);
@ -86,7 +85,9 @@ const Sdk = ({
type: t("Files:Forms").toLowerCase(),
}),
EditorSupportedTypes: t("Common:SelectTypeFiles", {
type: t("AllTypesAvailableForEditing", { organizationName }),
type: t("AllTypesAvailableForEditing", {
organizationName: t("Common:OrganizationName"),
}),
}),
};
@ -315,14 +316,8 @@ export default inject(
filesStore,
}) => {
const { login, logout } = authStore;
const {
theme,
setFrameConfig,
frameConfig,
getSettings,
isLoaded,
organizationName,
} = settingsStore;
const { theme, setFrameConfig, frameConfig, getSettings, isLoaded } =
settingsStore;
const { loadCurrentUser, user } = userStore;
const { updateProfileCulture } = peopleStore.targetUserStore;
const { getIcon, getRoomsIcon, getFilesSettings } = filesSettingsStore;
@ -345,7 +340,6 @@ export default inject(
fetchExternalLinks,
getFilePrimaryLink,
getFilesSettings,
organizationName,
};
},
)(

View File

@ -31,7 +31,6 @@ import { SectionHeaderSkeleton } from "@docspace/shared/skeletons/sections";
import { withTranslation } from "react-i18next";
import { SectionHeaderContent, SectionBodyContent } from "./Section";
//import { setDocumentTitle } from "@docspace/client/src/helpers/filesUtils";
import { inject, observer } from "mobx-react";
import SectionWrapper from "SRC_DIR/components/Section";
class PureVersionHistory extends React.Component {

View File

@ -38,6 +38,7 @@ import type {
Nullable,
TCreatedBy,
TPathParts,
TTranslation,
} from "@docspace/shared/types";
import { TFolder, TFolderSecurity } from "@docspace/shared/api/files/types";
import { TLogo, TRoomSecurity } from "@docspace/shared/api/rooms/types";
@ -304,9 +305,10 @@ class SelectedFolderStore {
if (!("providerKey" in selectedFolder)) this.providerKey = null;
};
setSelectedFolder: (selectedFolder: TSetSelectedFolder | null) => void = (
selectedFolder,
) => {
setSelectedFolder: (
t: TTranslation,
selectedFolder: TSetSelectedFolder | null,
) => void = (selectedFolder) => {
const socketHelper = this.settingsStore?.socketHelper;
this.toDefault();

View File

@ -558,6 +558,7 @@ const useEditorEvents = ({
setTimeout(() => {
docSaved
? setDocumentTitle(
t,
docTitle,
config?.document.fileType ?? "",
documentReady,
@ -565,6 +566,7 @@ const useEditorEvents = ({
setDocTitle,
)
: setDocumentTitle(
t,
`*${docTitle}`,
config?.document.fileType ?? "",
documentReady,
@ -573,7 +575,14 @@ const useEditorEvents = ({
);
}, 500);
},
[config?.document.fileType, docSaved, docTitle, documentReady, successAuth],
[
t,
config?.document.fileType,
docSaved,
docTitle,
documentReady,
successAuth,
],
);
const onMetaChange = React.useCallback(
@ -583,6 +592,7 @@ const useEditorEvents = ({
if (newTitle && newTitle !== docTitle) {
setDocumentTitle(
t,
newTitle,
config?.document.fileType ?? "",
documentReady,
@ -592,7 +602,7 @@ const useEditorEvents = ({
setDocTitle(newTitle);
}
},
[config?.document.fileType, docTitle, documentReady, successAuth],
[t, config?.document.fileType, docTitle, documentReady, successAuth],
);
const onMakeActionLink = React.useCallback((event: object) => {

View File

@ -54,13 +54,14 @@ const useInit = ({
if (!config) return;
setDocumentTitle(
t,
config.document.title,
config.document.fileType,
documentReady,
successAuth ?? false,
setDocTitle,
);
}, [config, documentReady, fileInfo, setDocTitle, successAuth]);
}, [t, config, documentReady, fileInfo, setDocTitle, successAuth]);
React.useEffect(() => {
if (config && IS_DESKTOP_EDITOR && user && fileInfo?.id) {

View File

@ -30,11 +30,7 @@ import { request } from "@docspace/shared/api/client";
import { convertFile } from "@docspace/shared/api/files";
import { TEditHistory } from "@docspace/shared/api/files/types";
import { FolderType } from "@docspace/shared/enums";
import type { IInitialConfig } from "@/types";
import { IS_VIEW } from "./constants";
import { BRAND_NAME } from "@docspace/shared/constants";
import { TTranslation } from "@docspace/shared/types";
export const getBackUrl = (
rootFolderType: FolderType,
@ -155,13 +151,14 @@ export const checkIfFirstSymbolInStringIsRtl = (str: string | null) => {
};
export const setDocumentTitle = (
t: TTranslation,
subTitle: string | null = null,
fileType: string,
documentReady: boolean,
successAuth: boolean,
callback?: (value: string) => void,
) => {
const organizationName = BRAND_NAME; //TODO: Replace to API variant
const organizationName = t("Common:OrganizationName");
const moduleTitle = "Documents"; //TODO: Replace to API variant
let newSubTitle = subTitle;

View File

@ -27,15 +27,12 @@
import React, { useEffect } from "react";
import { useTranslation } from "react-i18next";
import { useStore } from "SRC_DIR/store";
import BackupPage from "client/BackupPage";
import { setDocumentTitle } from "SRC_DIR/utils";
const Backup = () => {
const { t } = useTranslation(["Settings"]);
const { authStore } = useStore();
const { setDocumentTitle } = authStore;
useEffect(() => {
setDocumentTitle(t("Backup"));
}, []);

View File

@ -29,13 +29,11 @@ import { useTranslation } from "react-i18next";
import { useStore } from "SRC_DIR/store";
import BrandingPage from "client/BrandingPage";
import { setDocumentTitle } from "SRC_DIR/utils";
const Branding = () => {
const { t } = useTranslation(["Settings"]);
const { authStore } = useStore();
const { setDocumentTitle } = authStore;
useEffect(() => {
setDocumentTitle(t("Branding"));
}, []);

View File

@ -27,15 +27,12 @@
import React, { useEffect } from "react";
import { useTranslation } from "react-i18next";
import { useStore } from "SRC_DIR/store";
import { setDocumentTitle } from "SRC_DIR/utils";
import RestorePage from "client/RestorePage";
const Restore = () => {
const { t } = useTranslation(["Settings"]);
const { authStore } = useStore();
const { setDocumentTitle } = authStore;
useEffect(() => {
setDocumentTitle(t("RestoreBackup"));
}, []);

View File

@ -37,6 +37,7 @@ import CreatePortalDialog from "./sub-components/dialogs/CreatePortalDialog";
import DeletePortalDialog from "./sub-components/dialogs/DeletePortalDialog";
import SpaceCreatedDialog from "./sub-components/dialogs/SpaceCreatedDialog";
import { SpacesLoader } from "./sub-components/SpacesLoader";
import { setDocumentTitle } from "SRC_DIR/utils";
const Spaces = () => {
const { t } = useTranslation(["Management", "Common", "Settings"]);
@ -50,7 +51,7 @@ const Spaces = () => {
deletePortalDialogVisible,
spaceCreatedDialogVisible,
} = spacesStore;
const { setDocumentTitle } = authStore;
const { portals } = settingsStore;
React.useEffect(() => {

View File

@ -26,6 +26,7 @@
import { settingsTree } from "./settingsTree";
import { translations } from "../autoGeneratedTranslations";
import i18n from "../i18n";
export const getItemByLink = (path: string) => {
const arrayPath = path.split("/");
@ -87,3 +88,25 @@ export function loadLanguagePath(homepage: string, fixedNS = null) {
return path;
};
}
export const setDocumentTitle = (subTitle = null) => {
let title;
// const currentModule = this.settingsStore?.product;
const organizationName = i18n.t("Common:OrganizationName");
if (subTitle) {
title = `${subTitle} - ${organizationName}`;
// if (this.isAuthenticated && currentModule) {
// title = `${subTitle} - ${currentModule.title}`;
// } else {
// title = `${subTitle} - ${organizationName}`;
// }
// } else if ( organizationName) {
// title = `${currentModule.title} - ${organizationName}`;
} else {
title = organizationName;
}
document.title = title ?? "";
};

View File

@ -71,7 +71,6 @@ export interface ArticleZendeskProps {
export interface ArticleAppsProps {
showText: boolean;
withDevTools: boolean;
organizationName: string;
}
export interface ArticleDevToolsBarProps {

View File

@ -109,7 +109,6 @@ const Article = ({
chatDisplayName,
zendeskKey,
showProgress,
organizationName,
user,
getActions,
onProfileClick,
@ -293,11 +292,7 @@ const Article = ({
/>
)}
{!hideAppsBlock && (
<ArticleApps
withDevTools={withDevTools}
showText={showText}
organizationName={organizationName}
/>
<ArticleApps withDevTools={withDevTools} showText={showText} />
)}
{!isMobile && isLiveChatAvailable && (
<ArticleLiveChat

View File

@ -56,8 +56,8 @@ const getLink = () => {
};
const ArticleApps = React.memo(
({ showText, withDevTools, organizationName }: ArticleAppsProps) => {
const { t } = useTranslation(["Translations"]);
({ showText, withDevTools }: ArticleAppsProps) => {
const { t } = useTranslation(["Translations", "Common"]);
const theme = useTheme();
const baseUrl = getLink();
@ -79,7 +79,9 @@ const ArticleApps = React.memo(
size={32}
isFill
hoverColor={theme.filesArticleBody.downloadAppList.winHoverColor}
title={t("Common:MobileWin", { organizationName })}
title={t("Common:MobileWin", {
organizationName: t("Common:OrganizationName"),
})}
/>
<IconButton
onClick={() => window.open(desktopLink)}
@ -87,7 +89,9 @@ const ArticleApps = React.memo(
size={32}
isFill
hoverColor={theme.filesArticleBody.downloadAppList.macHoverColor}
title={t("Common:MobileMac", { organizationName })}
title={t("Common:MobileMac", {
organizationName: t("Common:OrganizationName"),
})}
/>
<IconButton
onClick={() => window.open(desktopLink)}
@ -95,7 +99,9 @@ const ArticleApps = React.memo(
size={32}
isFill
hoverColor={theme.filesArticleBody.downloadAppList.linuxHoverColor}
title={t("Common:MobileLinux", { organizationName })}
title={t("Common:MobileLinux", {
organizationName: t("Common:OrganizationName"),
})}
/>
<IconButton
onClick={() => window.open(androidLink)}
@ -105,7 +111,9 @@ const ArticleApps = React.memo(
hoverColor={
theme.filesArticleBody.downloadAppList.androidHoverColor
}
title={t("Common:MobileAndroid", { organizationName })}
title={t("Common:MobileAndroid", {
organizationName: t("Common:OrganizationName"),
})}
/>
<IconButton
onClick={() => window.open(iosLink)}
@ -113,7 +121,9 @@ const ArticleApps = React.memo(
size={32}
isFill
hoverColor={theme.filesArticleBody.downloadAppList.iosHoverColor}
title={t("Common:MobileIos", { organizationName })}
title={t("Common:MobileIos", {
organizationName: t("Common:OrganizationName"),
})}
/>
</div>
</StyledArticleApps>

View File

@ -206,6 +206,8 @@ function error(
message = data;
}
console.error(message);
return notify(
ToastType.error,
message,

View File

@ -471,28 +471,6 @@ class AuthStore {
);
}
setDocumentTitle = (subTitle = null) => {
let title;
// const currentModule = this.settingsStore?.product;
const organizationName = this.settingsStore?.organizationName;
if (subTitle) {
title = `${subTitle} - ${organizationName}`;
// if (this.isAuthenticated && currentModule) {
// title = `${subTitle} - ${currentModule.title}`;
// } else {
// title = `${subTitle} - ${organizationName}`;
// }
// } else if ( organizationName) {
// title = `${currentModule.title} - ${organizationName}`;
} else {
title = organizationName;
}
document.title = title ?? "";
};
setProductVersion = (version: string) => {
this.version = version;
};

View File

@ -157,8 +157,6 @@ class SettingsStore {
timePattern: "h:mm tt",
};
organizationName = BRAND_NAME;
greetingSettings = "Web Office Applications";
enableAdmMess = false;

View File

@ -283,6 +283,7 @@
"OKButton": "موافق",
"Or": "أو",
"orContinueWith": "أو الاستمرار مع",
"OrganizationName": "ONLYOFFICE",
"OtherLabel": "أخرى",
"OtherOperations": "عمليات أخرى",
"OverwriteDescription": "سيحل الملف الجديد محل الملف الحالي كإصدار جديد.",

View File

@ -284,6 +284,7 @@
"OKButton": "OK",
"Or": "və ya",
"orContinueWith": "və ya ilə davam edin",
"OrganizationName": "ONLYOFFICE",
"OtherLabel": "Digər",
"OtherOperations": "Digər əməliyyatlar",
"OverwriteDescription": "Fayl, versiyası ilə eyni adı olan fayla əlavə olunacaq. ",

View File

@ -284,6 +284,7 @@
"OKButton": "OK",
"Or": "или",
"orContinueWith": "или продължете с",
"OrganizationName": "ONLYOFFICE",
"OtherLabel": "Други",
"OtherOperations": "Други операции",
"OverwriteDescription": "Файлът ще бъде добавен към файла със същото име като версия.",

View File

@ -284,6 +284,7 @@
"OKButton": "OK",
"Or": "nebo",
"orContinueWith": "nebo pokračovat pomocí",
"OrganizationName": "ONLYOFFICE",
"OtherLabel": "Ostatní",
"OtherOperations": "Další operace",
"OverwriteDescription": "Soubor bude přidán do souboru se stejným názvem jako verze.",

View File

@ -283,6 +283,7 @@
"OKButton": "OK",
"Or": "oder",
"orContinueWith": "oder weiter mit",
"OrganizationName": "ONLYOFFICE",
"OtherLabel": "Sonstiges",
"OtherOperations": "Andere Vorgänge",
"OverwriteDescription": "Die Datei wird mit einer neuen Version ersetzt.",

View File

@ -284,6 +284,7 @@
"OKButton": "Εντάξει",
"Or": "ή",
"orContinueWith": "ή συνεχίστε με",
"OrganizationName": "ONLYOFFICE",
"OtherLabel": "Άλλο",
"OtherOperations": "Άλλες λειτουργίες",
"OverwriteDescription": "Το νέο αρχείο θα αντικαταστήσει το υπάρχον ως νέα έκδοση.",

View File

@ -298,6 +298,7 @@
"OKButton": "OK",
"Or": "or",
"orContinueWith": "or continue with",
"OrganizationName": "ONLYOFFICE",
"OtherLabel": "Other",
"OtherOperations": "Other operations",
"OverwriteDescription": "The new file will replace the existing one as a new version.",

View File

@ -284,6 +284,7 @@
"OKButton": "OK",
"Or": "o",
"orContinueWith": "o continuar con",
"OrganizationName": "ONLYOFFICE",
"OtherLabel": "Otro",
"OtherOperations": "Otras operaciones",
"OverwriteDescription": "El nuevo archivo sustituirá al existente como una nueva versión.",

View File

@ -284,6 +284,7 @@
"OKButton": "OK",
"Or": "tai",
"orContinueWith": "tai jatka",
"OrganizationName": "ONLYOFFICE",
"OtherLabel": "Muu",
"OtherOperations": "Muut toiminnot",
"OverwriteDescription": "Tiedosto lisätään tiedostoon samalla nimellä versiona.",

View File

@ -284,6 +284,7 @@
"OKButton": "OK",
"Or": "ou",
"orContinueWith": "ou continuez avec",
"OrganizationName": "ONLYOFFICE",
"OtherLabel": "Autre",
"OtherOperations": "Autres opérations",
"OverwriteDescription": "Le nouveau fichier remplacera le fichier existant en tant que nouvelle version.",

View File

@ -283,6 +283,7 @@
"OKButton": "Լավ",
"Or": "կամ",
"orContinueWith": "կամ շարունակել",
"OrganizationName": "ONLYOFFICE",
"OtherLabel": "Այլ",
"OtherOperations": "Այլ տարբերակներ",
"OverwriteDescription": "Նոր ֆայլը որպես նոր տարբերակ կփոխարինի գոյություն ունեցողին։",

View File

@ -284,6 +284,7 @@
"OKButton": "OK",
"Or": "o",
"orContinueWith": "o continua con",
"OrganizationName": "ONLYOFFICE",
"OtherLabel": "Altro",
"OtherOperations": "Altre operazioni",
"OverwriteDescription": "Il nuovo file sostituisce quello già esistente come una versione nuova.",

View File

@ -284,6 +284,7 @@
"OKButton": "大丈夫",
"Or": "または",
"orContinueWith": "あるいは",
"OrganizationName": "ONLYOFFICE",
"OtherLabel": "その他",
"OtherOperations": "他の操作",
"OverwriteDescription": "このファイルは、同名のファイルにバージョンが追加されます。",

View File

@ -284,6 +284,7 @@
"OKButton": "확인",
"Or": "또는",
"orContinueWith": "또는 다음을 이용:",
"OrganizationName": "ONLYOFFICE",
"OtherLabel": "기타",
"OtherOperations": "다른 작업",
"OverwriteDescription": "파일이 같은 이름의 파일에 추가됩니다.",

View File

@ -218,6 +218,7 @@
"OkButton": "ຕົກລົງ",
"OKButton": "ຕົກລົງ",
"Or": "ຫຼື",
"OrganizationName": "ONLYOFFICE",
"OtherLabel": "ອື່ນໆ",
"OtherOperations": "ອື່ນໆ ການດໍາເນີນງານ",
"OverwriteDescription": "ໄຟລ໌໌ທີ່ມີຢູ່ແລ້ວຈະຖືກແທນດ້ວຍໄຟລ໌ໃໝ່.",

View File

@ -284,6 +284,7 @@
"OKButton": "Labi",
"Or": "vai",
"orContinueWith": "vai turpināt ar",
"OrganizationName": "ONLYOFFICE",
"OtherLabel": "Citi",
"OtherOperations": "Citas darbības",
"OverwriteDescription": "Fails tiks pievienots failam ar tādu pašu nosaukumu kā versijai.",

View File

@ -284,6 +284,7 @@
"OKButton": "OK",
"Or": "of",
"orContinueWith": "of ga verder met",
"OrganizationName": "ONLYOFFICE",
"OtherLabel": "Overig",
"OtherOperations": "Andere bewerkingen",
"OverwriteDescription": "Het bestand zal worden toegevoegd aan het bestand met dezelfde naam als een versie.",

View File

@ -284,6 +284,7 @@
"OKButton": "OK",
"Or": "lub",
"orContinueWith": "lub kontynuuj z",
"OrganizationName": "ONLYOFFICE",
"OtherLabel": "Inny",
"OtherOperations": "Inne działania",
"OverwriteDescription": "Nowy plik zastąpi istniejący jako jego nowa wersja.",

View File

@ -284,6 +284,7 @@
"OKButton": "OK",
"Or": "ou",
"orContinueWith": "ou continuar com",
"OrganizationName": "ONLYOFFICE",
"OtherLabel": "Outro",
"OtherOperations": "Outras operações",
"OverwriteDescription": "O arquivo será adicionado ao arquivo com o mesmo nome como uma versão.",

View File

@ -284,6 +284,7 @@
"OKButton": "OK",
"Or": "ou",
"orContinueWith": "ou continuar com",
"OrganizationName": "ONLYOFFICE",
"OtherLabel": "Outros",
"OtherOperations": "Outras operações",
"OverwriteDescription": "O novo ficheiro irá substituir o existente como uma nova versão.",

View File

@ -284,6 +284,7 @@
"OKButton": "OK",
"Or": "sau",
"orContinueWith": "sau continuați cu",
"OrganizationName": "ONLYOFFICE",
"OtherLabel": "Altă",
"OtherOperations": "Alte operațiuni",
"OverwriteDescription": "Fișierul va fi ajutat ca o versiune a fișierului cu același nume.",

View File

@ -285,6 +285,7 @@
"OKButton": "ОК",
"Or": "или",
"orContinueWith": "или продолжить с",
"OrganizationName": "ONLYOFFICE",
"OtherLabel": "Другое",
"OtherOperations": "Другие операции",
"OverwriteDescription": "Новый файл заменит существующий файл как новая версия.",

View File

@ -279,6 +279,7 @@
"OKButton": "හරි",
"Or": "හෝ",
"orContinueWith": "හෝ මෙය සමඟ ඉදිරියට",
"OrganizationName": "ONLYOFFICE",
"OtherLabel": "වෙනත්",
"OtherOperations": "වෙනත් මෙහෙයුම්",
"OverwriteDescription": "නව ගොනුව පවතින ගොනුවෙහි නව අනුවාදයක් ලෙස ප්‍රතිස්ථාපනය කෙරෙනු ඇත.",

View File

@ -284,6 +284,7 @@
"OKButton": "OK",
"Or": "alebo",
"orContinueWith": "alebo pokračujte s",
"OrganizationName": "ONLYOFFICE",
"OtherLabel": "Ostatné",
"OtherOperations": "Ďalšie operácie",
"OverwriteDescription": "Súbor bude pridaný do súboru s rovnakým názvom ako verzia.",

View File

@ -284,6 +284,7 @@
"OKButton": "V redu",
"Or": "ali",
"orContinueWith": "ali nadaljujte z",
"OrganizationName": "ONLYOFFICE",
"OtherLabel": "Drugo",
"OtherOperations": "Druge operacije",
"OverwriteDescription": "Datoteka bo dodana datoteki z istim imenom kot različica.",

View File

@ -288,6 +288,7 @@
"OKButton": "OK",
"Or": "или",
"orContinueWith": "или настави са",
"OrganizationName": "ONLYOFFICE",
"OtherLabel": "Друго",
"OtherOperations": "Друге операције",
"OverwriteDescription": "Нова датотека ће заменити постојећу као нова верзија.",

View File

@ -288,6 +288,7 @@
"OKButton": "OK",
"Or": "ili",
"orContinueWith": "ili nastavi sa",
"OrganizationName": "ONLYOFFICE",
"OtherLabel": "Drugo",
"OtherOperations": "Druge operacije",
"OverwriteDescription": "Nova datoteka će zameniti postojeću kao nova verzija.",

View File

@ -284,6 +284,7 @@
"OKButton": "Tamam",
"Or": "veya",
"orContinueWith": "veya şununla devam edin",
"OrganizationName": "ONLYOFFICE",
"OtherLabel": "Diğer",
"OtherOperations": "Diğer İşlemler",
"OverwriteDescription": "Dosya, aynı ada sahip dosyaya bir versiyon olarak eklenecektir.",

View File

@ -284,6 +284,7 @@
"OKButton": "OK",
"Or": "або",
"orContinueWith": "або продовжте з",
"OrganizationName": "ONLYOFFICE",
"OtherLabel": "Інше",
"OtherOperations": "Інші операції",
"OverwriteDescription": "Файл буде додано до файлу з таким же іменем, як версія.",

View File

@ -284,6 +284,7 @@
"OKButton": "OK",
"Or": "hoặc",
"orContinueWith": "hoặc tiếp tục với",
"OrganizationName": "ONLYOFFICE",
"OtherLabel": "Khác",
"OtherOperations": "Hoạt động khác",
"OverwriteDescription": " Tệp sẽ được thêm vào tệp có cùng tên như một phiên bản.",

View File

@ -280,6 +280,7 @@
"OKButton": "确定",
"Or": "或",
"orContinueWith": "或选择",
"OrganizationName": "ONLYOFFICE",
"OtherLabel": "其他",
"OtherOperations": "其他操作",
"OverwriteDescription": "文件与同名文件将作为不同版本存在。",