Merge branch 'develop' of github.com:ONLYOFFICE/DocSpace into feature/portal-deactivation

# Conflicts:
#	packages/client/public/locales/en/Errors.json
#	packages/client/public/locales/en/Settings.json
This commit is contained in:
Viktor Fomin 2022-09-14 01:45:01 +03:00
commit ed18968601
445 changed files with 114410 additions and 89069 deletions

View File

@ -0,0 +1,42 @@
name: 4testing multiarch-build
on:
push:
branches: [ "develop" ]
jobs:
build:
runs-on: ubuntu-latest
strategy:
matrix:
platform: [linux/amd64]
steps:
-
name: Checkout
uses: actions/checkout@v2
-
name: Set up QEMU
uses: docker/setup-qemu-action@v2
-
name: Set up Docker Buildx
id: buildx
uses: docker/setup-buildx-action@v1
-
name: Login to DockerHub
uses: docker/login-action@v2
with:
username: ${{ secrets.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_TOKEN }}
-
name: Build 4testing
run: |
cd ./build/install/docker
REPO="onlyoffice" \
DOCKER_IMAGE_PREFIX="4testing-docspace" \
DOCKER_TAG="develop" \
DOCKERFILE="Dockerfile.app" \
docker buildx bake -f build.yml \
--set *.args.GIT_BRANCH="develop" \
--set *.platform=linux/amd64 \
--push
shell: bash

View File

@ -2,12 +2,13 @@
PRODUCT=onlyoffice
REPO=${PRODUCT}
STATUS=""
DOCKER_IMAGE_PREFIX=${STATUS}docspace
DOCKER_TAG=latest
CONTAINER_PREFIX=${PRODUCT}-
MYSQL_VERSION=8.0.18
ELK_VERSION=7.13.1
SERVICE_PORT=5050
CONTAINER_PREFIX=${PRODUCT}-
DOCUMENT_SERVER_IMAGE_NAME=onlyoffice/4testing-documentserver-ee:latest
DOCKER_TAG=latest
DOCKERFILE=Dockerfile.app
# zookeeper #
@ -69,6 +70,7 @@
MIGRATION_RUNNER_HOST=${CONTAINER_PREFIX}migration-runner
PROXY_HOST=${CONTAINER_PREFIX}proxy
DOCEDITOR_HOST=${CONTAINER_PREFIX}doceditor
LOGIN_HOST=${CONTAINER_PREFIX}login
# proxy upstream environment #
SERVICE_API_SYSTEM=${API_SYSTEM_HOST}:${SERVICE_PORT}
@ -91,5 +93,6 @@
SERVICE_STUDIO=${STUDIO_HOST}:${SERVICE_PORT}
SERVICE_SSOAUTH=${SSOAUTH_HOST}:${SERVICE_PORT}
SERVICE_DOCEDITOR=${DOCEDITOR_HOST}:5013
SERVICE_LOGIN=${LOGIN_HOST}:5011
NETWORK_NAME=${PRODUCT}

View File

@ -23,20 +23,19 @@ ENV LANG=en_US.UTF-8 \
LC_ALL=en_US.UTF-8
RUN apt-get -y update && \
apt-get -y upgrade && \
apt-get -y dist-upgrade && \
apt-get install -yq sudo locales && \
addgroup --system --gid 107 onlyoffice && \
adduser -uid 104 --quiet --home /var/www/onlyoffice --system --gid 107 onlyoffice && \
apt-get install -yq \
sudo \
locales \
git \
npm && \
locale-gen en_US.UTF-8 && \
apt-get -y update && \
apt-get install -yq git apt-utils npm && \
npm install --global yarn && \
curl -fsSL https://deb.nodesource.com/setup_16.x | sudo -E bash - && \
apt-get install -y nodejs
apt-get install -y nodejs && \
rm -rf /var/lib/apt/lists/*
RUN echo ${GIT_BRANCH} && \
git clone --recurse-submodules -b ${GIT_BRANCH} https://github.com/ONLYOFFICE/AppServer.git ${SRC_PATH}
git clone --depth 1 --recurse-submodules -b ${GIT_BRANCH} https://github.com/ONLYOFFICE/DocSpace.git ${SRC_PATH}
RUN cd ${SRC_PATH} && \
# mkdir -p /app/onlyoffice/config/ && cp -rf config/* /app/onlyoffice/config/ && \
@ -62,9 +61,7 @@ RUN cd ${SRC_PATH} && \
COPY config/mysql/conf.d/mysql.cnf /etc/mysql/conf.d/mysql.cnf
RUN rm -rf /var/lib/apt/lists/*
FROM $DOTNET_RUN as builder
FROM $DOTNET_RUN as dotnetrun
ARG BUILD_PATH
ARG SRC_PATH
ENV BUILD_PATH=${BUILD_PATH}
@ -79,10 +76,15 @@ RUN mkdir -p /var/log/onlyoffice && \
chown onlyoffice:onlyoffice /var/log -R && \
chown onlyoffice:onlyoffice /var/www -R && \
apt-get -y update && \
apt-get -y upgrade && \
apt-get install -yq sudo nano curl vim python3-pip && \
apt-get install -yq libgdiplus && \
pip3 install --upgrade jsonpath-ng multipledispatch
apt-get install -yq \
sudo \
nano \
curl \
vim \
python3-pip \
libgdiplus && \
pip3 install --upgrade jsonpath-ng multipledispatch && \
rm -rf /var/lib/apt/lists/*
COPY --from=base --chown=onlyoffice:onlyoffice /app/onlyoffice/config/* /app/onlyoffice/config/
@ -90,7 +92,7 @@ COPY --from=base --chown=onlyoffice:onlyoffice /app/onlyoffice/config/* /app/onl
EXPOSE 5050
ENTRYPOINT ["python3", "docker-entrypoint.py"]
FROM node:16.16-slim as nodeBuild
FROM node:16.16-slim as noderun
ARG BUILD_PATH
ARG SRC_PATH
ENV BUILD_PATH=${BUILD_PATH}
@ -104,9 +106,14 @@ RUN mkdir -p /var/log/onlyoffice && \
chown onlyoffice:onlyoffice /var/log -R && \
chown onlyoffice:onlyoffice /var/www -R && \
apt-get -y update && \
apt-get -y upgrade && \
apt-get install -yq sudo nano curl vim python3-pip && \
pip3 install --upgrade jsonpath-ng multipledispatch
apt-get install -yq \
sudo \
nano \
curl \
vim \
python3-pip && \
pip3 install --upgrade jsonpath-ng multipledispatch && \
rm -rf /var/lib/apt/lists/*
COPY --from=base --chown=onlyoffice:onlyoffice /app/onlyoffice/config/* /app/onlyoffice/config/
@ -114,7 +121,7 @@ EXPOSE 5050
ENTRYPOINT ["python3", "docker-entrypoint.py"]
## Nginx image ##
FROM nginx AS web
FROM nginx AS proxy
ARG SRC_PATH
ARG BUILD_PATH
ARG COUNT_WORKER_CONNECTIONS=1024
@ -123,16 +130,14 @@ ENV DNS_NAMESERVER=127.0.0.11 \
MAP_HASH_BUCKET_SIZE=""
RUN apt-get -y update && \
apt-get -y upgrade && \
apt-get install -yq vim && \
# Remove default nginx website
rm -rf /var/lib/apt/lists/* && \
rm -rf /usr/share/nginx/html/*
# copy static services files and config values
COPY --from=base /etc/nginx/conf.d /etc/nginx/conf.d
COPY --from=base /etc/nginx/includes /etc/nginx/includes
COPY --from=base ${SRC_PATH}/build/deploy/client ${BUILD_PATH}/client
COPY --from=base ${SRC_PATH}/build/deploy/login ${BUILD_PATH}/login
COPY --from=base ${SRC_PATH}/build/deploy/public ${BUILD_PATH}/public
COPY /config/nginx/templates/upstream.conf.template /etc/nginx/templates/upstream.conf.template
COPY /config/nginx/templates/nginx.conf.template /etc/nginx/nginx.conf.template
@ -142,33 +147,40 @@ COPY prepare-nginx-proxy.sh /docker-entrypoint.d/prepare-nginx-proxy.sh
RUN chown nginx:nginx /etc/nginx/* -R && \
chown nginx:nginx /docker-entrypoint.d/* && \
# changes for upstream configure
sed -i 's/localhost:5010/$service_api_system/' /etc/nginx/conf.d/onlyoffice.conf && \
sed -i 's/localhost:5012/$service_backup/' /etc/nginx/conf.d/onlyoffice.conf && \
sed -i 's/localhost:5021/$service_crm/' /etc/nginx/conf.d/onlyoffice.conf && \
sed -i 's/localhost:5007/$service_files/' /etc/nginx/conf.d/onlyoffice.conf && \
sed -i 's/localhost:5004/$service_people_server/' /etc/nginx/conf.d/onlyoffice.conf && \
sed -i 's/localhost:5020/$service_projects_server/' /etc/nginx/conf.d/onlyoffice.conf && \
sed -i 's/localhost:5000/$service_api/' /etc/nginx/conf.d/onlyoffice.conf && \
sed -i 's/localhost:5003/$service_studio/' /etc/nginx/conf.d/onlyoffice.conf && \
sed -i 's/localhost:5023/$service_calendar/' /etc/nginx/conf.d/onlyoffice.conf && \
sed -i 's/localhost:9899/$service_socket/' /etc/nginx/conf.d/onlyoffice.conf && \
sed -i 's/localhost:9834/$service_sso/' /etc/nginx/conf.d/onlyoffice.conf && \
sed -i 's/localhost:5022/$service_mail/' /etc/nginx/conf.d/onlyoffice.conf && \
sed -i 's/localhost:9999/$service_urlshortener/' /etc/nginx/conf.d/onlyoffice.conf && \
sed -i 's/localhost:5034/$service_migration/' /etc/nginx/conf.d/onlyoffice.conf && \
sed -i 's/localhost:5013/$service_doceditor/' /etc/nginx/conf.d/onlyoffice.conf && \
sed -i 's/127.0.0.1:5010/$service_api_system/' /etc/nginx/conf.d/onlyoffice.conf && \
sed -i 's/127.0.0.1:5012/$service_backup/' /etc/nginx/conf.d/onlyoffice.conf && \
sed -i 's/127.0.0.1:5021/$service_crm/' /etc/nginx/conf.d/onlyoffice.conf && \
sed -i 's/127.0.0.1:5007/$service_files/' /etc/nginx/conf.d/onlyoffice.conf && \
sed -i 's/127.0.0.1:5004/$service_people_server/' /etc/nginx/conf.d/onlyoffice.conf && \
sed -i 's/127.0.0.1:5020/$service_projects_server/' /etc/nginx/conf.d/onlyoffice.conf && \
sed -i 's/127.0.0.1:5000/$service_api/' /etc/nginx/conf.d/onlyoffice.conf && \
sed -i 's/127.0.0.1:5003/$service_studio/' /etc/nginx/conf.d/onlyoffice.conf && \
sed -i 's/127.0.0.1:5023/$service_calendar/' /etc/nginx/conf.d/onlyoffice.conf && \
sed -i 's/127.0.0.1:9899/$service_socket/' /etc/nginx/conf.d/onlyoffice.conf && \
sed -i 's/127.0.0.1:9834/$service_sso/' /etc/nginx/conf.d/onlyoffice.conf && \
sed -i 's/127.0.0.1:5022/$service_mail/' /etc/nginx/conf.d/onlyoffice.conf && \
sed -i 's/127.0.0.1:9999/$service_urlshortener/' /etc/nginx/conf.d/onlyoffice.conf && \
sed -i 's/127.0.0.1:5034/$service_migration/' /etc/nginx/conf.d/onlyoffice.conf && \
sed -i 's/127.0.0.1:5013/$service_doceditor/' /etc/nginx/conf.d/onlyoffice.conf && \
sed -i 's/127.0.0.1:5011/$service_login/' /etc/nginx/conf.d/onlyoffice.conf && \
sed -i 's/172.*/$document_server;/' /etc/nginx/conf.d/onlyoffice.conf
## Doceditor ##
FROM nodeBuild as doceditor
FROM noderun as doceditor
WORKDIR ${BUILD_PATH}/products/ASC.Files/editor
COPY --from=base --chown=onlyoffice:onlyoffice ${SRC_PATH}/build/deploy/editor/ .
EXPOSE 5013
ENTRYPOINT ["node", "server.js"]
## Login ##
FROM noderun as login
WORKDIR ${BUILD_PATH}/products/ASC.Login/login
COPY --from=base --chown=onlyoffice:onlyoffice ${SRC_PATH}/build/deploy/login/ .
ENTRYPOINT ["node", "server.js"]
## ASC.Data.Backup.BackgroundTasks ##
FROM builder AS backup_background
FROM dotnetrun AS backup_background
WORKDIR ${BUILD_PATH}/services/ASC.Data.Backup.BackgroundTasks/
COPY --chown=onlyoffice:onlyoffice docker-entrypoint.py ./docker-entrypoint.py
@ -177,7 +189,7 @@ COPY --from=base --chown=onlyoffice:onlyoffice ${BUILD_PATH}/services/ASC.Data.B
CMD ["ASC.Data.Backup.BackgroundTasks.dll", "ASC.Data.Backup.BackgroundTasks"]
## ASC.ClearEvents ##
FROM builder AS clear-events
FROM dotnetrun AS clear-events
WORKDIR ${BUILD_PATH}/services/ASC.ClearEvents/
COPY --chown=onlyoffice:onlyoffice docker-entrypoint.py ./docker-entrypoint.py
@ -186,7 +198,7 @@ COPY --from=base --chown=onlyoffice:onlyoffice ${BUILD_PATH}/services/ASC.ClearE
CMD ["ASC.ClearEvents.dll", "ASC.ClearEvents"]
## ASC.Migration ##
FROM builder AS migration
FROM dotnetrun AS migration
WORKDIR ${BUILD_PATH}/services/ASC.Migration/
COPY --chown=onlyoffice:onlyoffice docker-entrypoint.py ./docker-entrypoint.py
@ -195,7 +207,7 @@ COPY --from=base --chown=onlyoffice:onlyoffice ${BUILD_PATH}/services/ASC.Migrat
CMD ["ASC.Migration.dll", "ASC.Migration"]
## ASC.Data.Backup ##
FROM builder AS backup
FROM dotnetrun AS backup
WORKDIR ${BUILD_PATH}/services/ASC.Data.Backup/
COPY --chown=onlyoffice:onlyoffice docker-entrypoint.py ./docker-entrypoint.py
@ -204,7 +216,7 @@ COPY --from=base --chown=onlyoffice:onlyoffice ${BUILD_PATH}/services/ASC.Data.B
CMD ["ASC.Data.Backup.dll", "ASC.Data.Backup"]
## ASC.Files ##
FROM builder AS files
FROM dotnetrun AS files
WORKDIR ${BUILD_PATH}/products/ASC.Files/server/
COPY --chown=onlyoffice:onlyoffice docker-entrypoint.py ./docker-entrypoint.py
@ -213,7 +225,7 @@ COPY --from=base --chown=onlyoffice:onlyoffice ${BUILD_PATH}/products/ASC.Files/
CMD ["ASC.Files.dll", "ASC.Files"]
## ASC.Files.Service ##
FROM builder AS files_services
FROM dotnetrun AS files_services
WORKDIR ${BUILD_PATH}/products/ASC.Files/service/
COPY --chown=onlyoffice:onlyoffice docker-entrypoint.py ./docker-entrypoint.py
@ -222,7 +234,7 @@ COPY --from=base --chown=onlyoffice:onlyoffice ${BUILD_PATH}/services/ASC.Files.
CMD ["ASC.Files.Service.dll", "ASC.Files.Service"]
## ASC.Notify ##
FROM builder AS notify
FROM dotnetrun AS notify
WORKDIR ${BUILD_PATH}/services/ASC.Notify/service
COPY --chown=onlyoffice:onlyoffice docker-entrypoint.py ./docker-entrypoint.py
@ -231,7 +243,7 @@ COPY --from=base --chown=onlyoffice:onlyoffice ${BUILD_PATH}/services/ASC.Notify
CMD ["ASC.Notify.dll", "ASC.Notify"]
## ASC.People ##
FROM builder AS people_server
FROM dotnetrun AS people_server
WORKDIR ${BUILD_PATH}/products/ASC.People/server/
COPY --chown=onlyoffice:onlyoffice docker-entrypoint.py ./docker-entrypoint.py
@ -240,7 +252,7 @@ COPY --from=base --chown=onlyoffice:onlyoffice ${BUILD_PATH}/products/ASC.People
CMD ["ASC.People.dll", "ASC.People"]
## ASC.Socket.IO ##
FROM nodeBuild AS socket
FROM noderun AS socket
WORKDIR ${BUILD_PATH}/services/ASC.Socket.IO/
COPY --chown=onlyoffice:onlyoffice docker-entrypoint.py ./docker-entrypoint.py
@ -249,7 +261,7 @@ COPY --from=base --chown=onlyoffice:onlyoffice ${BUILD_PATH}/services/ASC.Socket
CMD ["server.js", "ASC.Socket.IO"]
## ASC.SsoAuth ##
FROM nodeBuild AS ssoauth
FROM noderun AS ssoauth
WORKDIR ${BUILD_PATH}/services/ASC.SsoAuth/
COPY --chown=onlyoffice:onlyoffice docker-entrypoint.py ./docker-entrypoint.py
@ -258,7 +270,7 @@ COPY --from=base --chown=onlyoffice:onlyoffice ${BUILD_PATH}/services/ASC.SsoAu
CMD ["app.js", "ASC.SsoAuth"]
## ASC.Studio.Notify ##
FROM builder AS studio_notify
FROM dotnetrun AS studio_notify
WORKDIR ${BUILD_PATH}/services/ASC.Studio.Notify/service/
COPY --chown=onlyoffice:onlyoffice docker-entrypoint.py ./docker-entrypoint.py
@ -267,7 +279,7 @@ COPY --from=base --chown=onlyoffice:onlyoffice ${BUILD_PATH}/services/ASC.Studio
CMD ["ASC.Studio.Notify.dll", "ASC.Studio.Notify"]
## ASC.TelegramService ##
FROM builder AS telegram_service
FROM dotnetrun AS telegram_service
WORKDIR ${BUILD_PATH}/services/ASC.TelegramService/
COPY --chown=onlyoffice:onlyoffice docker-entrypoint.py ./docker-entrypoint.py
@ -276,7 +288,7 @@ COPY --from=base --chown=onlyoffice:onlyoffice ${BUILD_PATH}/services/ASC.Telegr
CMD ["ASC.TelegramService.dll", "ASC.TelegramService"]
## ASC.UrlShortener ##
FROM nodeBuild AS urlshortener
FROM noderun AS urlshortener
WORKDIR ${BUILD_PATH}/services/ASC.UrlShortener/service/
COPY --chown=onlyoffice:onlyoffice docker-entrypoint.py ./docker-entrypoint.py
@ -285,7 +297,7 @@ COPY --from=base --chown=onlyoffice:onlyoffice ${BUILD_PATH}/services/ASC.UrlSh
CMD ["index.js", "ASC.UrlShortener"]
## ASC.Web.Api ##
FROM builder AS api
FROM dotnetrun AS api
WORKDIR ${BUILD_PATH}/studio/ASC.Web.Api/
COPY --chown=onlyoffice:onlyoffice docker-entrypoint.py ./docker-entrypoint.py
@ -294,7 +306,7 @@ COPY --from=base --chown=onlyoffice:onlyoffice ${BUILD_PATH}/services/ASC.Web.Ap
CMD ["ASC.Web.Api.dll", "ASC.Web.Api"]
## ASC.Webhooks.Service ##
FROM builder AS webhooks-service
FROM dotnetrun AS webhooks-service
WORKDIR ${BUILD_PATH}/services/ASC.Webhooks.Service/
COPY --chown=onlyoffice:onlyoffice docker-entrypoint.py ./docker-entrypoint.py
@ -303,7 +315,7 @@ COPY --from=base --chown=onlyoffice:onlyoffice ${BUILD_PATH}/services/ASC.Webhoo
CMD ["ASC.Webhooks.Service.dll", "ASC.Webhooks.Service"]
## ASC.Web.Studio ##
FROM builder AS studio
FROM dotnetrun AS studio
WORKDIR ${BUILD_PATH}/studio/ASC.Web.Studio/
COPY --chown=onlyoffice:onlyoffice docker-entrypoint.py ./docker-entrypoint.py

View File

@ -51,59 +51,59 @@ services:
- "9300"
onlyoffice-backup-background-tasks:
<<: *x-service-base
image: "${REPO}/${STATUS}appserver-backup-background:${DOCKER_TAG}"
image: "${REPO}/${DOCKER_IMAGE_PREFIX}-backup-background:${DOCKER_TAG}"
container_name: ${BACKUP_BACKGRUOND_TASKS_HOST}
onlyoffice-backup:
<<: *x-service-base
image: "${REPO}/${STATUS}appserver-backup:${DOCKER_TAG}"
image: "${REPO}/${DOCKER_IMAGE_PREFIX}-backup:${DOCKER_TAG}"
container_name: ${BACKUP_HOST}
onlyoffice-clear-events:
<<: *x-service-base
image: "${REPO}/${STATUS}appserver-clear-events:${DOCKER_TAG}"
image: "${REPO}/${DOCKER_IMAGE_PREFIX}-clear-events:${DOCKER_TAG}"
container_name: ${CLEAR_EVENTS_HOST}
onlyoffice-migration:
<<: *x-service-base
image: "${REPO}/${STATUS}appserver-migration:${DOCKER_TAG}"
image: "${REPO}/${DOCKER_IMAGE_PREFIX}-migration:${DOCKER_TAG}"
container_name: ${MIGRATION_HOST}
onlyoffice-files:
<<: *x-service-base
image: "${REPO}/${STATUS}appserver-files:${DOCKER_TAG}"
image: "${REPO}/${DOCKER_IMAGE_PREFIX}-files:${DOCKER_TAG}"
container_name: ${FILES_HOST}
onlyoffice-files-services:
<<: *x-service-base
image: "${REPO}/${STATUS}appserver-files-services:${DOCKER_TAG}"
image: "${REPO}/${DOCKER_IMAGE_PREFIX}-files-services:${DOCKER_TAG}"
container_name: ${FILES_SERVICES_HOST}
onlyoffice-people-server:
<<: *x-service-base
image: "${REPO}/${STATUS}appserver-people-server:${DOCKER_TAG}"
image: "${REPO}/${DOCKER_IMAGE_PREFIX}-people-server:${DOCKER_TAG}"
container_name: ${PEOPLE_SERVER_HOST}
onlyoffice-socket:
<<: *x-service-base
image: "${REPO}/${STATUS}appserver-socket:${DOCKER_TAG}"
image: "${REPO}/${DOCKER_IMAGE_PREFIX}-socket:${DOCKER_TAG}"
container_name: ${SOCKET_HOST}
expose:
- ${SERVICE_PORT}
onlyoffice-studio-notify:
<<: *x-service-base
image: "${REPO}/${STATUS}appserver-studio-notify:${DOCKER_TAG}"
image: "${REPO}/${DOCKER_IMAGE_PREFIX}-studio-notify:${DOCKER_TAG}"
container_name: ${STUDIO_NOTIFY_HOST}
onlyoffice-telegram-service:
<<: *x-service-base
image: "${REPO}/${STATUS}appserver-telegram-service:${DOCKER_TAG}"
image: "${REPO}/${DOCKER_IMAGE_PREFIX}-telegram-service:${DOCKER_TAG}"
container_name: ${TELEGRAM_SERVICE_HOST}
onlyoffice-urlshortener:
<<: *x-service-base
image: "${REPO}/${STATUS}appserver-urlshortener:${DOCKER_TAG}"
image: "${REPO}/${DOCKER_IMAGE_PREFIX}-urlshortener:${DOCKER_TAG}"
container_name: ${URLSHORTENER_HOST}
expose:
- ${SERVICE_PORT}
@ -111,17 +111,17 @@ services:
onlyoffice-api:
<<: *x-service-base
image: "${REPO}/${STATUS}appserver-api:${DOCKER_TAG}"
image: "${REPO}/${DOCKER_IMAGE_PREFIX}-api:${DOCKER_TAG}"
container_name: ${API_HOST}
onlyoffice-studio:
<<: *x-service-base
image: "${REPO}/${STATUS}appserver-studio:${DOCKER_TAG}"
image: "${REPO}/${DOCKER_IMAGE_PREFIX}-studio:${DOCKER_TAG}"
container_name: ${STUDIO_HOST}
onlyoffice-ssoauth:
<<: *x-service-base
image: "${REPO}/${STATUS}appserver-ssoauth:${DOCKER_TAG}"
image: "${REPO}/${DOCKER_IMAGE_PREFIX}-ssoauth:${DOCKER_TAG}"
container_name: ${SSOAUTH_HOST}
expose:
- ${SERVICE_PORT}
@ -129,18 +129,25 @@ services:
onlyoffice-webhooks-service:
<<: *x-service-base
image: "${REPO}/${STATUS}appserver-webhooks-service:${DOCKER_TAG}"
image: "${REPO}/${DOCKER_IMAGE_PREFIX}-webhooks-service:${DOCKER_TAG}"
container_name: ${WEBHOOKS_SERVICE_HOST}
onlyoffice-doceditor:
image: "${REPO}/${STATUS}appserver-doceditor:${DOCKER_TAG}"
image: "${REPO}/${DOCKER_IMAGE_PREFIX}-doceditor:${DOCKER_TAG}"
container_name: ${DOCEDITOR_HOST}
restart: always
expose:
- "5013"
onlyoffice-login:
image: "${REPO}/${DOCKER_IMAGE_PREFIX}-login:${DOCKER_TAG}"
container_name: ${LOGIN_HOST}
restart: always
expose:
- "5011"
onlyoffice-proxy:
image: "${REPO}/${STATUS}appserver-proxy:${DOCKER_TAG}"
image: "${REPO}/${DOCKER_IMAGE_PREFIX}-proxy:${DOCKER_TAG}"
container_name: ${PROXY_HOST}
restart: always
expose:
@ -165,6 +172,8 @@ services:
- onlyoffice-api
- onlyoffice-studio
- onlyoffice-ssoauth
- onlyoffice-doceditor
- onlyoffice-login
environment:
- SERVICE_BACKUP=${SERVICE_BACKUP}
- SERVICE_FILES=${SERVICE_FILES}
@ -182,6 +191,7 @@ services:
- SERVICE_STUDIO=${SERVICE_STUDIO}
- SERVICE_SSOAUTH=${SERVICE_SSOAUTH}
- SERVICE_DOCEDITOR=${SERVICE_DOCEDITOR}
- SERVICE_LOGIN=${SERVICE_LOGIN}
- DOCUMENT_SERVER=${DOCUMENT_SERVER_HOST}
- SERVICE_PORT=${SERVICE_PORT}
volumes:

View File

@ -6,144 +6,151 @@ services:
context: ./
dockerfile: "${DOCKERFILE}"
target: backup_background
image: "${REPO}/${STATUS}appserver-backup-background:${DOCKER_TAG}"
image: "${REPO}/${DOCKER_IMAGE_PREFIX}-backup-background:${DOCKER_TAG}"
onlyoffice-clear-events:
build:
context: ./
dockerfile: "${DOCKERFILE}"
target: clear-events
image: "${REPO}/${STATUS}appserver-clear-events:${DOCKER_TAG}"
image: "${REPO}/${DOCKER_IMAGE_PREFIX}-clear-events:${DOCKER_TAG}"
onlyoffice-migration:
build:
context: ./
dockerfile: "${DOCKERFILE}"
target: migration
image: "${REPO}/${STATUS}appserver-migration:${DOCKER_TAG}"
image: "${REPO}/${DOCKER_IMAGE_PREFIX}-migration:${DOCKER_TAG}"
onlyoffice-backup:
build:
context: ./
dockerfile: "${DOCKERFILE}"
target: backup
image: "${REPO}/${STATUS}appserver-backup:${DOCKER_TAG}"
image: "${REPO}/${DOCKER_IMAGE_PREFIX}-backup:${DOCKER_TAG}"
onlyoffice-files:
build:
context: ./
dockerfile: "${DOCKERFILE}"
target: files
image: "${REPO}/${STATUS}appserver-files:${DOCKER_TAG}"
image: "${REPO}/${DOCKER_IMAGE_PREFIX}-files:${DOCKER_TAG}"
onlyoffice-files-services:
build:
context: ./
dockerfile: "${DOCKERFILE}"
target: files_services
image: "${REPO}/${STATUS}appserver-files-services:${DOCKER_TAG}"
image: "${REPO}/${DOCKER_IMAGE_PREFIX}-files-services:${DOCKER_TAG}"
onlyoffice-notify:
build:
context: ./
dockerfile: "${DOCKERFILE}"
target: notify
image: "${REPO}/${STATUS}appserver-notify:${DOCKER_TAG}"
image: "${REPO}/${DOCKER_IMAGE_PREFIX}-notify:${DOCKER_TAG}"
onlyoffice-people-server:
build:
context: ./
dockerfile: "${DOCKERFILE}"
target: people_server
image: "${REPO}/${STATUS}appserver-people-server:${DOCKER_TAG}"
image: "${REPO}/${DOCKER_IMAGE_PREFIX}-people-server:${DOCKER_TAG}"
onlyoffice-socket:
build:
context: ./
dockerfile: "${DOCKERFILE}"
target: socket
image: "${REPO}/${STATUS}appserver-socket:${DOCKER_TAG}"
image: "${REPO}/${DOCKER_IMAGE_PREFIX}-socket:${DOCKER_TAG}"
onlyoffice-studio-notify:
build:
context: ./
dockerfile: "${DOCKERFILE}"
target: studio_notify
image: "${REPO}/${STATUS}appserver-studio-notify:${DOCKER_TAG}"
image: "${REPO}/${DOCKER_IMAGE_PREFIX}-studio-notify:${DOCKER_TAG}"
onlyoffice-telegram-service:
build:
context: ./
dockerfile: "${DOCKERFILE}"
target: telegram_service
image: "${REPO}/${STATUS}appserver-telegram-service:${DOCKER_TAG}"
image: "${REPO}/${DOCKER_IMAGE_PREFIX}-telegram-service:${DOCKER_TAG}"
onlyoffice-urlshortener:
build:
context: ./
dockerfile: "${DOCKERFILE}"
target: urlshortener
image: "${REPO}/${STATUS}appserver-urlshortener:${DOCKER_TAG}"
image: "${REPO}/${DOCKER_IMAGE_PREFIX}-urlshortener:${DOCKER_TAG}"
onlyoffice-api:
build:
context: ./
dockerfile: "${DOCKERFILE}"
target: api
image: "${REPO}/${STATUS}appserver-api:${DOCKER_TAG}"
image: "${REPO}/${DOCKER_IMAGE_PREFIX}-api:${DOCKER_TAG}"
onlyoffice-studio:
build:
context: ./
dockerfile: "${DOCKERFILE}"
target: studio
image: "${REPO}/${STATUS}appserver-studio:${DOCKER_TAG}"
image: "${REPO}/${DOCKER_IMAGE_PREFIX}-studio:${DOCKER_TAG}"
onlyoffice-ssoauth:
build:
context: ./
dockerfile: "${DOCKERFILE}"
target: ssoauth
image: "${REPO}/${STATUS}appserver-ssoauth:${DOCKER_TAG}"
image: "${REPO}/${DOCKER_IMAGE_PREFIX}-ssoauth:${DOCKER_TAG}"
onlyoffice-webhooks-service:
build:
context: ./
dockerfile: "${DOCKERFILE}"
target: webhooks-service
image: "${REPO}/${STATUS}appserver-webhooks-service:${DOCKER_TAG}"
image: "${REPO}/${DOCKER_IMAGE_PREFIX}-webhooks-service:${DOCKER_TAG}"
onlyoffice-bin-share:
build:
context: ./
dockerfile: "${DOCKERFILE}"
target: bin_share
image: "${REPO}/${STATUS}appserver-bin-share:${DOCKER_TAG}"
image: "${REPO}/${DOCKER_IMAGE_PREFIX}-bin-share:${DOCKER_TAG}"
onlyoffice-wait-bin-share:
build:
context: ./
dockerfile: "${DOCKERFILE}"
target: wait_bin_share
image: "${REPO}/${STATUS}appserver-wait-bin-share:${DOCKER_TAG}"
image: "${REPO}/${DOCKER_IMAGE_PREFIX}-wait-bin-share:${DOCKER_TAG}"
onlyoffice-doceditor:
build:
context: ./
dockerfile: "${DOCKERFILE}"
target: doceditor
image: "${REPO}/${STATUS}appserver-doceditor:${DOCKER_TAG}"
image: "${REPO}/${DOCKER_IMAGE_PREFIX}-doceditor:${DOCKER_TAG}"
onlyoffice-login:
build:
context: ./
dockerfile: "${DOCKERFILE}"
target: login
image: "${REPO}/${DOCKER_IMAGE_PREFIX}-login:${DOCKER_TAG}"
onlyoffice-proxy:
build:
context: ./
dockerfile: "${DOCKERFILE}"
target: web
image: "${REPO}/${STATUS}appserver-proxy:${DOCKER_TAG}"
target: proxy
image: "${REPO}/${DOCKER_IMAGE_PREFIX}-proxy:${DOCKER_TAG}"
onlyoffice-migration-runner:
build:
context: ./
dockerfile: "${DOCKERFILE}"
target: onlyoffice-migration-runner
image: "${REPO}/${STATUS}appserver-migration-runner:${DOCKER_TAG}"
image: "${REPO}/${DOCKER_IMAGE_PREFIX}-migration-runner:${DOCKER_TAG}"

View File

@ -1,5 +1,10 @@
resolver $DNS_NAMESERVER valid=30s;
map $SERVICE_LOGIN $service_login {
volatile;
$SERVICE_LOGIN $SERVICE_LOGIN;
}
map $SERVICE_DOCEDITOR $service_doceditor {
volatile;
$SERVICE_DOCEDITOR $SERVICE_DOCEDITOR;

View File

@ -1,6 +1,7 @@
#!/bin/bash
export DOCKER_TAG=$DOCKER_TAG
BUILD_NUMBER="$(date "+%Y%m%d%H")"
docker-compose -f build.yml build \
--build-arg GIT_BRANCH=$SOURCE_BRANCH \
--build-arg PRODUCT_VERSION=$PRODUCT_VERSION \

View File

@ -1,11 +1,10 @@
#!/bin/bash
export DOCKER_TAG=$DOCKER_TAG
BASE_NAME="appserver"
BUILD_NUMBER="$(date "+%Y%m%d%H")"
docker-compose -f build.yml push
# Get docker images name to array
arrayImagesName=($(docker image ls | grep "$DOCKER_TAG" | grep "$STATUS" | grep "$BASE_NAME" | awk '{print $1}' ))
arrayImagesName=($(docker image ls | grep "$DOCKER_TAG" | grep "$DOCKER_IMAGE_PREFIX" | awk '{print $1}' ))
# Modify docker image tag
for i in ${!arrayImagesName[@]}; do

View File

@ -2,7 +2,7 @@ version: "3.8"
services:
onlyoffice-migration-runner:
image: "${REPO}/${STATUS}appserver-migration-runner:${DOCKER_TAG}"
image: "${REPO}/${STATUS}${DOCKER_IMAGE_PREFIX}-migration-runner:${DOCKER_TAG}"
container_name: ${MIGRATION_RUNNER_HOST}
restart: "no"
environment:

View File

@ -31,7 +31,7 @@ x-service:
services:
onlyoffice-notify:
<<: *x-service-base
image: "${REPO}/${STATUS}appserver-notify:${DOCKER_TAG}"
image: "${REPO}/${DOCKER_IMAGE_PREFIX}-notify:${DOCKER_TAG}"
container_name: ${NOTIFY_HOST}
networks:

View File

@ -89,9 +89,9 @@ public static class ServiceCollectionExtension
DispatchConsumersAsync = true
};
if (!string.IsNullOrEmpty(rabbitMQConfiguration.EndpointUri))
if (!string.IsNullOrEmpty(rabbitMQConfiguration.Uri))
{
factory.Endpoint = new AmqpTcpEndpoint(new Uri(rabbitMQConfiguration.EndpointUri));
factory.Uri = new Uri(rabbitMQConfiguration.Uri);
}
else
{

View File

@ -57,9 +57,9 @@ public class RabbitMQCache<T> : IDisposable, ICacheNotify<T> where T : IMessage<
_factory = new ConnectionFactory();
if (!string.IsNullOrEmpty(rabbitMQConfiguration.EndpointUri))
if (!string.IsNullOrEmpty(rabbitMQConfiguration.Uri))
{
_factory.Endpoint = new AmqpTcpEndpoint(new Uri(rabbitMQConfiguration.EndpointUri));
_factory.Uri = new Uri(rabbitMQConfiguration.Uri);
}
else
{
@ -241,7 +241,7 @@ public class RabbitMQSettings
public string Password { get; set; }
public int Port { get; set; }
public string VirtualHost { get; set; }
public string EndpointUri { get; set; }
public string Uri { get; set; }
public bool EnableSsl { get; set; }
public string SslServerName { get; set; }
public string SslCertPath { get; set; }

View File

@ -31,6 +31,7 @@ public class TenantIpRestrictions
public int Id { get; set; }
public int Tenant { get; set; }
public string Ip { get; set; }
public bool ForAdmin { get; set; }
}
public static class TenantIpRestrictionsExtension
@ -63,6 +64,11 @@ public static class TenantIpRestrictionsExtension
.HasCharSet("utf8")
.UseCollation("utf8_general_ci");
entity.Property(e => e.ForAdmin)
.IsRequired()
.HasColumnName("for_admin")
.HasColumnType("TINYINT(1)");
entity.Property(e => e.Tenant).HasColumnName("tenant");
});
}
@ -83,6 +89,11 @@ public static class TenantIpRestrictionsExtension
.HasColumnName("ip")
.HasMaxLength(50);
entity.Property(e => e.ForAdmin)
.IsRequired()
.HasColumnName("for_admin")
.HasColumnType("TINYINT(1)");
entity.Property(e => e.Tenant).HasColumnName("tenant");
});

View File

@ -47,7 +47,7 @@ public class IPRestrictionsRepository
.ToList();
}
public List<string> Save(IEnumerable<string> ips, int tenant)
public List<IpRestrictionBase> Save(IEnumerable<IpRestrictionBase> ips, int tenant)
{
using var tenantDbContext = _dbContextManager.CreateDbContext();
var strategy = tenantDbContext.Database.CreateExecutionStrategy();
@ -64,7 +64,9 @@ public class IPRestrictionsRepository
var ipsList = ips.Select(r => new TenantIpRestrictions
{
Tenant = tenant,
Ip = r
Ip = r.Ip,
ForAdmin = r.ForAdmin
});
tenantDbContext.TenantIpRestrictions.AddRange(ipsList);

View File

@ -27,9 +27,16 @@
namespace ASC.IPSecurity;
[Serializable]
public class IPRestriction : IMapFrom<TenantIpRestrictions>
public class IPRestriction : IpRestrictionBase, IMapFrom<TenantIpRestrictions>
{
public int Id { get; set; }
public int Tenant { get; set; }
public string Ip { get; set; }
}
public class IpRestrictionBase
{
public string Ip { get; set; }
public bool ForAdmin { get; set; }
}

View File

@ -78,7 +78,7 @@ public class IPRestrictionsService
return restrictions;
}
public IEnumerable<string> Save(IEnumerable<string> ips, int tenant)
public IEnumerable<IpRestrictionBase> Save(IEnumerable<IpRestrictionBase> ips, int tenant)
{
var restrictions = _ipRestrictionsRepository.Save(ips, tenant);
_notify.Publish(new IPRestrictionItem { TenantId = tenant }, CacheNotifyAction.InsertOrUpdate);

View File

@ -68,4 +68,15 @@ internal class IPAddressRange
return true;
}
public static bool IsInRange(string ipAddress, string CIDRmask)
{
var parts = CIDRmask.Split('/');
var IP_addr = BitConverter.ToInt32(IPAddress.Parse(ipAddress).GetAddressBytes(), 0);
var CIDR_addr = BitConverter.ToInt32(IPAddress.Parse(parts[0]).GetAddressBytes(), 0);
var CIDR_mask = IPAddress.HostToNetworkOrder(-1 << (32 - int.Parse(parts[1])));
return (IP_addr & CIDR_mask) == (CIDR_addr & CIDR_mask);
}
}

View File

@ -38,20 +38,26 @@ public class IPSecurity
private readonly IPRestrictionsService _ipRestrictionsService;
private readonly string _currentIpForTest;
private readonly string _myNetworks;
private readonly SecurityContext _securityContext;
private readonly UserManager _userManager;
public IPSecurity(
IConfiguration configuration,
IHttpContextAccessor httpContextAccessor,
AuthContext authContext,
TenantManager tenantManager,
IPRestrictionsService iPRestrictionsService,
IPRestrictionsService iPRestrictionsService,
SecurityContext securityContext,
UserManager userManager,
ILogger<IPSecurity> logger)
{
_logger = logger;
_httpContextAccessor = httpContextAccessor;
_authContext = authContext;
_tenantManager = tenantManager;
_ipRestrictionsService = iPRestrictionsService;
_ipRestrictionsService = iPRestrictionsService;
_securityContext = securityContext;
_userManager = userManager;
_currentIpForTest = configuration["ipsecurity:test"];
_myNetworks = configuration["ipsecurity:mynetworks"];
var hideSettings = (configuration["web:hide-settings"] ?? "").Split(new[] { ',', ';', ' ' });
@ -97,9 +103,11 @@ public class IPSecurity
var ips = string.IsNullOrWhiteSpace(requestIps)
? Array.Empty<string>()
: requestIps.Split(new[] { ",", " " }, StringSplitOptions.RemoveEmptyEntries);
: requestIps.Split(new[] { ",", " " }, StringSplitOptions.RemoveEmptyEntries);
var isAdmin = _userManager.IsUserInGroup(_securityContext.CurrentAccount.ID, Core.Users.Constants.GroupAdmin.ID);
if (ips.Any(requestIp => restrictions.Any(restriction => MatchIPs(GetIpWithoutPort(requestIp), restriction.Ip))))
if (ips.Any(requestIp => restrictions.Any(restriction => (restriction.ForAdmin ? isAdmin : true) && MatchIPs(GetIpWithoutPort(requestIp), restriction.Ip))))
{
return true;
}
@ -131,6 +139,11 @@ public class IPSecurity
var range = new IPAddressRange(lower, upper);
return range.IsInRange(IPAddress.Parse(requestIp));
}
if (restrictionIp.IndexOf('/') > -1)
{
return IPAddressRange.IsInRange(requestIp, restrictionIp);
}
return requestIp == restrictionIp;

View File

@ -46,8 +46,7 @@ public class MigrationRunner
foreach (var contextType in ctxTypesFinder.GetIndependentContextsTypes())
{
var context = _dbContextActivator.CreateInstance(contextType, dbProvider);
context.Database.EnsureCreated();
context.Database.Migrate();
counter++;

View File

@ -5,7 +5,7 @@
"Password": "guest",
"Port": 5672,
"VirtualHost": "/",
"EndpointUri": "",
"Uri": "",
"EnableSsl": false,
"SslServerName": "",
"SslCertPath": ""

108842
i18next/client.babel Normal file

File diff suppressed because it is too large Load Diff

View File

@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
<babeledit_project be_version="3.0.0" version="1.2">
<babeledit_project be_version="3.0.1" version="1.2">
<!--
BabelEdit project file
@ -12,7 +12,7 @@
<preset_collections/>
<framework>i18next</framework>
<filename>editor.babel</filename>
<source_root_dir>../web/ASC.Web.Editor</source_root_dir>
<source_root_dir>../packages/editor</source_root_dir>
<folder_node>
<name/>
<children>
@ -27,11 +27,11 @@
<default_text/>
<translations>
<translation>
<language>bg-BG</language>
<language>az-Latn-AZ</language>
<approved>false</approved>
</translation>
<translation>
<language>br-FR</language>
<language>bg-BG</language>
<approved>false</approved>
</translation>
<translation>
@ -62,6 +62,10 @@
<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>
@ -90,6 +94,10 @@
<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>
@ -106,10 +114,26 @@
<language>sk-SK</language>
<approved>false</approved>
</translation>
<translation>
<language>sl-SL</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>
@ -120,11 +144,11 @@
<default_text/>
<translations>
<translation>
<language>bg-BG</language>
<language>az-Latn-AZ</language>
<approved>false</approved>
</translation>
<translation>
<language>br-FR</language>
<language>bg-BG</language>
<approved>false</approved>
</translation>
<translation>
@ -155,6 +179,10 @@
<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>
@ -183,6 +211,10 @@
<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>
@ -199,10 +231,26 @@
<language>sk-SK</language>
<approved>false</approved>
</translation>
<translation>
<language>sl-SL</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>
@ -213,11 +261,11 @@
<default_text/>
<translations>
<translation>
<language>bg-BG</language>
<language>az-Latn-AZ</language>
<approved>false</approved>
</translation>
<translation>
<language>br-FR</language>
<language>bg-BG</language>
<approved>false</approved>
</translation>
<translation>
@ -248,6 +296,10 @@
<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>
@ -276,6 +328,10 @@
<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>
@ -292,10 +348,26 @@
<language>sk-SK</language>
<approved>false</approved>
</translation>
<translation>
<language>sl-SL</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>
@ -306,11 +378,11 @@
<default_text/>
<translations>
<translation>
<language>bg-BG</language>
<language>az-Latn-AZ</language>
<approved>false</approved>
</translation>
<translation>
<language>br-FR</language>
<language>bg-BG</language>
<approved>false</approved>
</translation>
<translation>
@ -341,6 +413,10 @@
<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>
@ -369,6 +445,10 @@
<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>
@ -385,10 +465,26 @@
<language>sk-SK</language>
<approved>false</approved>
</translation>
<translation>
<language>sl-SL</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>
@ -399,11 +495,11 @@
<default_text/>
<translations>
<translation>
<language>bg-BG</language>
<language>az-Latn-AZ</language>
<approved>false</approved>
</translation>
<translation>
<language>br-FR</language>
<language>bg-BG</language>
<approved>false</approved>
</translation>
<translation>
@ -434,6 +530,10 @@
<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>
@ -462,6 +562,10 @@
<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>
@ -478,10 +582,26 @@
<language>sk-SK</language>
<approved>false</approved>
</translation>
<translation>
<language>sl-SL</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>
@ -492,11 +612,11 @@
<default_text/>
<translations>
<translation>
<language>bg-BG</language>
<language>az-Latn-AZ</language>
<approved>false</approved>
</translation>
<translation>
<language>br-FR</language>
<language>bg-BG</language>
<approved>false</approved>
</translation>
<translation>
@ -527,6 +647,10 @@
<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>
@ -555,6 +679,10 @@
<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>
@ -571,10 +699,26 @@
<language>sk-SK</language>
<approved>false</approved>
</translation>
<translation>
<language>sl-SL</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>
@ -585,11 +729,11 @@
<default_text/>
<translations>
<translation>
<language>bg-BG</language>
<language>az-Latn-AZ</language>
<approved>false</approved>
</translation>
<translation>
<language>br-FR</language>
<language>bg-BG</language>
<approved>false</approved>
</translation>
<translation>
@ -620,6 +764,10 @@
<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>
@ -648,6 +796,10 @@
<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>
@ -664,10 +816,26 @@
<language>sk-SK</language>
<approved>false</approved>
</translation>
<translation>
<language>sl-SL</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>
</children>
@ -678,174 +846,222 @@
<isTemplateProject>false</isTemplateProject>
<languages>
<language>
<code>bg-BG</code>
<code>az-Latn-AZ</code>
<source_id/>
<source_file>../web/ASC.Web.Editor/public/locales/bg</source_file>
<source_file>../packages/editor/public/locales/az</source_file>
</language>
<language>
<code>br-FR</code>
<code>bg-BG</code>
<source_id/>
<source_file>../web/ASC.Web.Editor/public/locales/pt-BR</source_file>
<source_file>../packages/editor/public/locales/bg</source_file>
</language>
<language>
<code>cs-CZ</code>
<source_id/>
<source_file>../web/ASC.Web.Editor/public/locales/cs</source_file>
<source_file>../packages/editor/public/locales/cs</source_file>
</language>
<language>
<code>de-DE</code>
<source_id/>
<source_file>../web/ASC.Web.Editor/public/locales/de</source_file>
<source_file>../packages/editor/public/locales/de</source_file>
</language>
<language>
<code>el-GR</code>
<source_id/>
<source_file>../web/ASC.Web.Editor/public/locales/el</source_file>
<source_file>../packages/editor/public/locales/el-GR</source_file>
</language>
<language>
<code>en-US</code>
<source_id/>
<source_file>../web/ASC.Web.Editor/public/locales/en</source_file>
<source_file>../packages/editor/public/locales/en</source_file>
</language>
<language>
<code>es-ES</code>
<source_id/>
<source_file>../web/ASC.Web.Editor/public/locales/es</source_file>
<source_file>../packages/editor/public/locales/es</source_file>
</language>
<language>
<code>fi-FI</code>
<source_id/>
<source_file>../web/ASC.Web.Editor/public/locales/fi</source_file>
<source_file>../packages/editor/public/locales/fi</source_file>
</language>
<language>
<code>fr-FR</code>
<source_id/>
<source_file>../web/ASC.Web.Editor/public/locales/fr</source_file>
<source_file>../packages/editor/public/locales/fr</source_file>
</language>
<language>
<code>hy-AM</code>
<source_id/>
<source_file>../packages/editor/public/locales/hy-AM</source_file>
</language>
<language>
<code>it-IT</code>
<source_id/>
<source_file>../web/ASC.Web.Editor/public/locales/it</source_file>
<source_file>../packages/editor/public/locales/it</source_file>
</language>
<language>
<code>ja-JP</code>
<source_id/>
<source_file>../web/ASC.Web.Editor/public/locales/ja</source_file>
<source_file>../packages/editor/public/locales/ja-JP</source_file>
</language>
<language>
<code>ko-KR</code>
<source_id/>
<source_file>../web/ASC.Web.Editor/public/locales/ko</source_file>
<source_file>../packages/editor/public/locales/ko-KR</source_file>
</language>
<language>
<code>lo-LA</code>
<source_id/>
<source_file>../web/ASC.Web.Editor/public/locales/lo</source_file>
<source_file>../packages/editor/public/locales/lo-LA</source_file>
</language>
<language>
<code>lv-LV</code>
<source_id/>
<source_file>../web/ASC.Web.Editor/public/locales/lv</source_file>
<source_file>../packages/editor/public/locales/lv</source_file>
</language>
<language>
<code>nl-NL</code>
<source_id/>
<source_file>../web/ASC.Web.Editor/public/locales/nl</source_file>
<source_file>../packages/editor/public/locales/nl</source_file>
</language>
<language>
<code>pl-PL</code>
<source_id/>
<source_file>../web/ASC.Web.Editor/public/locales/pl</source_file>
<source_file>../packages/editor/public/locales/pl</source_file>
</language>
<language>
<code>pt-BR</code>
<source_id/>
<source_file>../packages/editor/public/locales/pt-BR</source_file>
</language>
<language>
<code>pt-PT</code>
<source_id/>
<source_file>../web/ASC.Web.Editor/public/locales/pt</source_file>
<source_file>../packages/editor/public/locales/pt</source_file>
</language>
<language>
<code>ro-RO</code>
<source_id/>
<source_file>../web/ASC.Web.Editor/public/locales/ro</source_file>
<source_file>../packages/editor/public/locales/ro</source_file>
</language>
<language>
<code>ru-RU</code>
<source_id/>
<source_file>../web/ASC.Web.Editor/public/locales/ru</source_file>
<source_file>../packages/editor/public/locales/ru</source_file>
</language>
<language>
<code>sk-SK</code>
<source_id/>
<source_file>../web/ASC.Web.Editor/public/locales/sk</source_file>
<source_file>../packages/editor/public/locales/sk</source_file>
</language>
<language>
<code>sl-SL</code>
<source_id/>
<source_file>../packages/editor/public/locales/sl</source_file>
</language>
<language>
<code>tr-TR</code>
<source_id/>
<source_file>../packages/editor/public/locales/tr</source_file>
</language>
<language>
<code>uk-UA</code>
<source_id/>
<source_file>../packages/editor/public/locales/uk-UA</source_file>
</language>
<language>
<code>vi-VN</code>
<source_id/>
<source_file>../web/ASC.Web.Editor/public/locales/vi</source_file>
<source_file>../packages/editor/public/locales/vi</source_file>
</language>
<language>
<code>zh-CN</code>
<source_id/>
<source_file>../packages/editor/public/locales/zh-CN</source_file>
</language>
</languages>
<translation_files>
<translation_file>
<file>../web/ASC.Web.Editor/public/locales/bg</file>
<file>../packages/editor/public/locales/az</file>
</translation_file>
<translation_file>
<file>../web/ASC.Web.Editor/public/locales/cs</file>
<file>../packages/editor/public/locales/bg</file>
</translation_file>
<translation_file>
<file>../web/ASC.Web.Editor/public/locales/de</file>
<file>../packages/editor/public/locales/cs</file>
</translation_file>
<translation_file>
<file>../web/ASC.Web.Editor/public/locales/el</file>
<file>../packages/editor/public/locales/de</file>
</translation_file>
<translation_file>
<file>../web/ASC.Web.Editor/public/locales/en</file>
<file>../packages/editor/public/locales/el-GR</file>
</translation_file>
<translation_file>
<file>../web/ASC.Web.Editor/public/locales/es</file>
<file>../packages/editor/public/locales/en</file>
</translation_file>
<translation_file>
<file>../web/ASC.Web.Editor/public/locales/fi</file>
<file>../packages/editor/public/locales/es</file>
</translation_file>
<translation_file>
<file>../web/ASC.Web.Editor/public/locales/fr</file>
<file>../packages/editor/public/locales/fi</file>
</translation_file>
<translation_file>
<file>../web/ASC.Web.Editor/public/locales/it</file>
<file>../packages/editor/public/locales/fr</file>
</translation_file>
<translation_file>
<file>../web/ASC.Web.Editor/public/locales/ja</file>
<file>../packages/editor/public/locales/hy-AM</file>
</translation_file>
<translation_file>
<file>../web/ASC.Web.Editor/public/locales/ko</file>
<file>../packages/editor/public/locales/it</file>
</translation_file>
<translation_file>
<file>../web/ASC.Web.Editor/public/locales/lo</file>
<file>../packages/editor/public/locales/ja-JP</file>
</translation_file>
<translation_file>
<file>../web/ASC.Web.Editor/public/locales/lv</file>
<file>../packages/editor/public/locales/ko-KR</file>
</translation_file>
<translation_file>
<file>../web/ASC.Web.Editor/public/locales/nl</file>
<file>../packages/editor/public/locales/lo-LA</file>
</translation_file>
<translation_file>
<file>../web/ASC.Web.Editor/public/locales/pl</file>
<file>../packages/editor/public/locales/lv</file>
</translation_file>
<translation_file>
<file>../web/ASC.Web.Editor/public/locales/pt-BR</file>
<file>../packages/editor/public/locales/nl</file>
</translation_file>
<translation_file>
<file>../web/ASC.Web.Editor/public/locales/pt</file>
<file>../packages/editor/public/locales/pl</file>
</translation_file>
<translation_file>
<file>../web/ASC.Web.Editor/public/locales/ro</file>
<file>../packages/editor/public/locales/pt-BR</file>
</translation_file>
<translation_file>
<file>../web/ASC.Web.Editor/public/locales/ru</file>
<file>../packages/editor/public/locales/pt</file>
</translation_file>
<translation_file>
<file>../web/ASC.Web.Editor/public/locales/sk</file>
<file>../packages/editor/public/locales/ro</file>
</translation_file>
<translation_file>
<file>../web/ASC.Web.Editor/public/locales/vi</file>
<file>../packages/editor/public/locales/ru</file>
</translation_file>
<translation_file>
<file>../packages/editor/public/locales/sk</file>
</translation_file>
<translation_file>
<file>../packages/editor/public/locales/sl</file>
</translation_file>
<translation_file>
<file>../packages/editor/public/locales/tr</file>
</translation_file>
<translation_file>
<file>../packages/editor/public/locales/uk-UA</file>
</translation_file>
<translation_file>
<file>../packages/editor/public/locales/vi</file>
</translation_file>
<translation_file>
<file>../packages/editor/public/locales/zh-CN</file>
</translation_file>
</translation_files>
<editor_configuration>

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,356 @@
// <auto-generated />
using System;
using ASC.Core.Common.EF.Context;
using Microsoft.EntityFrameworkCore;
using Microsoft.EntityFrameworkCore.Infrastructure;
using Microsoft.EntityFrameworkCore.Migrations;
using Microsoft.EntityFrameworkCore.Storage.ValueConversion;
#nullable disable
namespace ASC.Migrations.MySql.Migrations.TenantDb
{
[DbContext(typeof(TenantDbContext))]
[Migration("20220905184554_TenantDbContext_Upgrade1")]
partial class TenantDbContext_Upgrade1
{
protected override void BuildTargetModel(ModelBuilder modelBuilder)
{
#pragma warning disable 612, 618
modelBuilder
.HasAnnotation("ProductVersion", "6.0.7")
.HasAnnotation("Relational:MaxIdentifierLength", 64);
modelBuilder.Entity("ASC.Core.Common.EF.Model.DbCoreSettings", b =>
{
b.Property<int>("Tenant")
.HasColumnType("int")
.HasColumnName("tenant");
b.Property<string>("Id")
.HasColumnType("varchar(128)")
.HasColumnName("id")
.UseCollation("utf8_general_ci")
.HasAnnotation("MySql:CharSet", "utf8");
b.Property<DateTime>("LastModified")
.HasColumnType("timestamp")
.HasColumnName("last_modified");
b.Property<byte[]>("Value")
.IsRequired()
.HasColumnType("mediumblob")
.HasColumnName("value");
b.HasKey("Tenant", "Id")
.HasName("PRIMARY");
b.ToTable("core_settings", (string)null);
b.HasAnnotation("MySql:CharSet", "utf8");
b.HasData(
new
{
Tenant = -1,
Id = "CompanyWhiteLabelSettings",
LastModified = new DateTime(2022, 7, 8, 0, 0, 0, 0, DateTimeKind.Unspecified),
Value = new byte[] { 245, 71, 4, 138, 72, 101, 23, 21, 135, 217, 206, 188, 138, 73, 108, 96, 29, 150, 3, 31, 44, 28, 62, 145, 96, 53, 57, 66, 238, 118, 93, 172, 211, 22, 244, 181, 244, 40, 146, 67, 111, 196, 162, 27, 154, 109, 248, 255, 181, 17, 253, 127, 42, 65, 19, 90, 26, 206, 203, 145, 159, 159, 243, 105, 24, 71, 188, 165, 53, 85, 57, 37, 186, 251, 57, 96, 18, 162, 218, 80, 0, 101, 250, 100, 66, 97, 24, 51, 240, 215, 216, 169, 105, 100, 15, 253, 29, 83, 182, 236, 203, 53, 68, 251, 2, 150, 149, 148, 58, 136, 84, 37, 151, 82, 92, 227, 30, 52, 111, 40, 154, 155, 7, 126, 149, 100, 169, 87, 10, 129, 228, 138, 177, 101, 77, 67, 177, 216, 189, 201, 1, 213, 136, 216, 107, 198, 253, 221, 106, 255, 198, 17, 68, 14, 110, 90, 174, 182, 68, 222, 188, 77, 157, 19, 26, 68, 86, 97, 15, 81, 24, 171, 214, 114, 191, 175, 56, 56, 48, 52, 125, 82, 253, 113, 71, 41, 201, 5, 8, 118, 162, 191, 99, 196, 48, 198, 223, 79, 204, 174, 31, 97, 236, 20, 213, 218, 85, 34, 16, 74, 196, 209, 235, 14, 71, 209, 32, 131, 195, 84, 11, 66, 74, 19, 115, 255, 99, 69, 235, 210, 204, 15, 13, 4, 143, 127, 152, 125, 212, 91 }
},
new
{
Tenant = -1,
Id = "FullTextSearchSettings",
LastModified = new DateTime(2022, 7, 8, 0, 0, 0, 0, DateTimeKind.Unspecified),
Value = new byte[] { 8, 120, 207, 5, 153, 181, 23, 202, 162, 211, 218, 237, 157, 6, 76, 62, 220, 238, 175, 67, 31, 53, 166, 246, 66, 220, 173, 160, 72, 23, 227, 81, 50, 39, 187, 177, 222, 110, 43, 171, 235, 158, 16, 119, 178, 207, 49, 140, 72, 152, 20, 84, 94, 135, 117, 1, 246, 51, 251, 190, 148, 2, 44, 252, 221, 2, 91, 83, 149, 151, 58, 245, 16, 148, 52, 8, 187, 86, 150, 46, 227, 93, 163, 95, 47, 131, 116, 207, 95, 209, 38, 149, 53, 148, 73, 215, 206, 251, 194, 199, 189, 17, 42, 229, 135, 82, 23, 154, 162, 165, 158, 94, 23, 128, 30, 88, 12, 204, 96, 250, 236, 142, 189, 211, 214, 18, 196, 136, 102, 102, 217, 109, 108, 240, 96, 96, 94, 100, 201, 10, 31, 170, 128, 192 }
},
new
{
Tenant = -1,
Id = "SmtpSettings",
LastModified = new DateTime(2022, 7, 8, 0, 0, 0, 0, DateTimeKind.Unspecified),
Value = new byte[] { 240, 82, 224, 144, 161, 163, 117, 13, 173, 205, 78, 153, 97, 218, 4, 170, 81, 239, 1, 151, 226, 192, 98, 60, 241, 44, 88, 56, 191, 164, 10, 155, 72, 186, 239, 203, 227, 113, 88, 119, 49, 215, 227, 220, 158, 124, 96, 9, 116, 47, 158, 65, 93, 86, 219, 15, 10, 224, 142, 50, 248, 144, 75, 44, 68, 28, 198, 87, 198, 69, 67, 234, 238, 38, 32, 68, 162, 139, 67, 53, 220, 176, 240, 196, 233, 64, 29, 137, 31, 160, 99, 105, 249, 132, 202, 45, 71, 92, 134, 194, 55, 145, 121, 97, 197, 130, 119, 105, 131, 21, 133, 35, 10, 102, 172, 119, 135, 230, 251, 86, 253, 62, 55, 56, 146, 103, 164, 106 }
});
});
modelBuilder.Entity("ASC.Core.Common.EF.Model.DbTenant", b =>
{
b.Property<int>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("int")
.HasColumnName("id");
b.Property<string>("Alias")
.IsRequired()
.HasColumnType("varchar(100)")
.HasColumnName("alias")
.UseCollation("utf8_general_ci")
.HasAnnotation("MySql:CharSet", "utf8");
b.Property<bool>("Calls")
.ValueGeneratedOnAdd()
.HasColumnType("tinyint(1)")
.HasColumnName("calls")
.HasDefaultValueSql("'1'");
b.Property<DateTime>("CreationDateTime")
.HasColumnType("datetime")
.HasColumnName("creationdatetime");
b.Property<int>("Industry")
.ValueGeneratedOnAdd()
.HasColumnType("int")
.HasColumnName("industry")
.HasDefaultValueSql("'0'");
b.Property<string>("Language")
.IsRequired()
.ValueGeneratedOnAdd()
.HasColumnType("char(10)")
.HasColumnName("language")
.HasDefaultValueSql("'en-US'")
.UseCollation("utf8_general_ci")
.HasAnnotation("MySql:CharSet", "utf8");
b.Property<DateTime>("LastModified")
.HasColumnType("timestamp")
.HasColumnName("last_modified");
b.Property<string>("MappedDomain")
.HasColumnType("varchar(100)")
.HasColumnName("mappeddomain")
.UseCollation("utf8_general_ci")
.HasAnnotation("MySql:CharSet", "utf8");
b.Property<string>("Name")
.IsRequired()
.HasColumnType("varchar(255)")
.HasColumnName("name")
.UseCollation("utf8_general_ci")
.HasAnnotation("MySql:CharSet", "utf8");
b.Property<string>("OwnerId")
.HasColumnType("varchar(38)")
.HasColumnName("owner_id")
.UseCollation("utf8_general_ci")
.HasAnnotation("MySql:CharSet", "utf8");
b.Property<string>("PaymentId")
.HasColumnType("varchar(38)")
.HasColumnName("payment_id")
.UseCollation("utf8_general_ci")
.HasAnnotation("MySql:CharSet", "utf8");
b.Property<bool>("Spam")
.ValueGeneratedOnAdd()
.HasColumnType("tinyint(1)")
.HasColumnName("spam")
.HasDefaultValueSql("'1'");
b.Property<int>("Status")
.ValueGeneratedOnAdd()
.HasColumnType("int")
.HasColumnName("status")
.HasDefaultValueSql("'0'");
b.Property<DateTime?>("StatusChanged")
.HasColumnType("datetime")
.HasColumnName("statuschanged");
b.Property<string>("TimeZone")
.HasColumnType("varchar(50)")
.HasColumnName("timezone")
.UseCollation("utf8_general_ci")
.HasAnnotation("MySql:CharSet", "utf8");
b.Property<int>("TrustedDomainsEnabled")
.ValueGeneratedOnAdd()
.HasColumnType("int")
.HasColumnName("trusteddomainsenabled")
.HasDefaultValueSql("'1'");
b.Property<string>("TrustedDomainsRaw")
.HasColumnType("varchar(1024)")
.HasColumnName("trusteddomains")
.UseCollation("utf8_general_ci")
.HasAnnotation("MySql:CharSet", "utf8");
b.Property<int>("Version")
.ValueGeneratedOnAdd()
.HasColumnType("int")
.HasColumnName("version")
.HasDefaultValueSql("'2'");
b.Property<DateTime?>("Version_Changed")
.HasColumnType("datetime")
.HasColumnName("version_changed");
b.HasKey("Id");
b.HasIndex("Alias")
.IsUnique()
.HasDatabaseName("alias");
b.HasIndex("LastModified")
.HasDatabaseName("last_modified");
b.HasIndex("MappedDomain")
.HasDatabaseName("mappeddomain");
b.HasIndex("Version")
.HasDatabaseName("version");
b.ToTable("tenants_tenants", (string)null);
b.HasAnnotation("MySql:CharSet", "utf8");
b.HasData(
new
{
Id = 1,
Alias = "localhost",
Calls = false,
CreationDateTime = new DateTime(2021, 3, 9, 17, 46, 59, 97, DateTimeKind.Utc).AddTicks(4317),
Industry = 0,
LastModified = new DateTime(2022, 7, 8, 0, 0, 0, 0, DateTimeKind.Unspecified),
Name = "Web Office",
OwnerId = "66faa6e4-f133-11ea-b126-00ffeec8b4ef",
Spam = false,
Status = 0,
TrustedDomainsEnabled = 0,
Version = 0
});
});
modelBuilder.Entity("ASC.Core.Common.EF.Model.DbTenantForbiden", b =>
{
b.Property<string>("Address")
.HasColumnType("varchar(50)")
.HasColumnName("address")
.UseCollation("utf8_general_ci")
.HasAnnotation("MySql:CharSet", "utf8");
b.HasKey("Address")
.HasName("PRIMARY");
b.ToTable("tenants_forbiden", (string)null);
b.HasAnnotation("MySql:CharSet", "utf8");
b.HasData(
new
{
Address = "controlpanel"
},
new
{
Address = "localhost"
});
});
modelBuilder.Entity("ASC.Core.Common.EF.Model.DbTenantPartner", b =>
{
b.Property<int>("TenantId")
.HasColumnType("int")
.HasColumnName("tenant_id");
b.Property<string>("AffiliateId")
.HasColumnType("varchar(50)")
.HasColumnName("affiliate_id")
.UseCollation("utf8_general_ci")
.HasAnnotation("MySql:CharSet", "utf8");
b.Property<string>("Campaign")
.HasColumnType("varchar(50)")
.HasColumnName("campaign")
.UseCollation("utf8_general_ci")
.HasAnnotation("MySql:CharSet", "utf8");
b.Property<string>("PartnerId")
.HasColumnType("varchar(36)")
.HasColumnName("partner_id")
.UseCollation("utf8_general_ci")
.HasAnnotation("MySql:CharSet", "utf8");
b.HasKey("TenantId")
.HasName("PRIMARY");
b.ToTable("tenants_partners", (string)null);
b.HasAnnotation("MySql:CharSet", "utf8");
});
modelBuilder.Entity("ASC.Core.Common.EF.Model.DbTenantVersion", b =>
{
b.Property<int>("Id")
.HasColumnType("int")
.HasColumnName("id");
b.Property<int>("DefaultVersion")
.ValueGeneratedOnAdd()
.HasColumnType("int")
.HasColumnName("default_version")
.HasDefaultValueSql("'0'");
b.Property<string>("Url")
.IsRequired()
.HasColumnType("varchar(64)")
.HasColumnName("url")
.UseCollation("utf8_general_ci")
.HasAnnotation("MySql:CharSet", "utf8");
b.Property<string>("Version")
.IsRequired()
.HasColumnType("varchar(64)")
.HasColumnName("version")
.UseCollation("utf8_general_ci")
.HasAnnotation("MySql:CharSet", "utf8");
b.Property<bool>("Visible")
.ValueGeneratedOnAdd()
.HasColumnType("tinyint(1)")
.HasColumnName("visible")
.HasDefaultValueSql("'0'");
b.HasKey("Id");
b.ToTable("tenants_version", (string)null);
b.HasAnnotation("MySql:CharSet", "utf8");
});
modelBuilder.Entity("ASC.Core.Common.EF.Model.TenantIpRestrictions", b =>
{
b.Property<int>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("int")
.HasColumnName("id");
b.Property<bool>("ForAdmin")
.HasColumnType("TINYINT(1)")
.HasColumnName("for_admin");
b.Property<string>("Ip")
.IsRequired()
.HasColumnType("varchar(50)")
.HasColumnName("ip")
.UseCollation("utf8_general_ci")
.HasAnnotation("MySql:CharSet", "utf8");
b.Property<int>("Tenant")
.HasColumnType("int")
.HasColumnName("tenant");
b.HasKey("Id");
b.HasIndex("Tenant")
.HasDatabaseName("tenant");
b.ToTable("tenants_iprestrictions", (string)null);
b.HasAnnotation("MySql:CharSet", "utf8");
});
#pragma warning restore 612, 618
}
}
}

View File

@ -0,0 +1,26 @@
using Microsoft.EntityFrameworkCore.Migrations;
#nullable disable
namespace ASC.Migrations.MySql.Migrations.TenantDb
{
public partial class TenantDbContext_Upgrade1 : Migration
{
protected override void Up(MigrationBuilder migrationBuilder)
{
migrationBuilder.AddColumn<bool>(
name: "for_admin",
table: "tenants_iprestrictions",
type: "TINYINT(1)",
nullable: false,
defaultValue: false);
}
protected override void Down(MigrationBuilder migrationBuilder)
{
migrationBuilder.DropColumn(
name: "for_admin",
table: "tenants_iprestrictions");
}
}
}

View File

@ -16,7 +16,7 @@ namespace ASC.Migrations.MySql.Migrations
{
#pragma warning disable 612, 618
modelBuilder
.HasAnnotation("ProductVersion", "6.0.4")
.HasAnnotation("ProductVersion", "6.0.7")
.HasAnnotation("Relational:MaxIdentifierLength", 64);
modelBuilder.Entity("ASC.Core.Common.EF.Model.DbCoreSettings", b =>
@ -324,6 +324,10 @@ namespace ASC.Migrations.MySql.Migrations
.HasColumnType("int")
.HasColumnName("id");
b.Property<bool>("ForAdmin")
.HasColumnType("TINYINT(1)")
.HasColumnName("for_admin");
b.Property<string>("Ip")
.IsRequired()
.HasColumnType("varchar(50)")

View File

@ -0,0 +1,345 @@
// <auto-generated />
using System;
using ASC.Core.Common.EF.Context;
using Microsoft.EntityFrameworkCore;
using Microsoft.EntityFrameworkCore.Infrastructure;
using Microsoft.EntityFrameworkCore.Migrations;
using Microsoft.EntityFrameworkCore.Storage.ValueConversion;
using Npgsql.EntityFrameworkCore.PostgreSQL.Metadata;
#nullable disable
namespace ASC.Migrations.PostgreSql.Migrations.TenantDb
{
[DbContext(typeof(TenantDbContext))]
[Migration("20220905184554_TenantDbContext_Upgrade1")]
partial class TenantDbContext_Upgrade1
{
protected override void BuildTargetModel(ModelBuilder modelBuilder)
{
#pragma warning disable 612, 618
modelBuilder
.HasAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn)
.HasAnnotation("ProductVersion", "6.0.7")
.HasAnnotation("Relational:MaxIdentifierLength", 63);
modelBuilder.Entity("ASC.Core.Common.EF.Model.DbCoreSettings", b =>
{
b.Property<int>("Tenant")
.HasColumnType("integer")
.HasColumnName("tenant");
b.Property<string>("Id")
.HasMaxLength(128)
.HasColumnType("character varying(128)")
.HasColumnName("id");
b.Property<DateTime>("LastModified")
.ValueGeneratedOnAdd()
.HasColumnType("timestamp with time zone")
.HasColumnName("last_modified")
.HasDefaultValueSql("CURRENT_TIMESTAMP");
b.Property<byte[]>("Value")
.IsRequired()
.HasColumnType("bytea")
.HasColumnName("value");
b.HasKey("Tenant", "Id")
.HasName("core_settings_pkey");
b.ToTable("core_settings", "onlyoffice");
b.HasData(
new
{
Tenant = -1,
Id = "CompanyWhiteLabelSettings",
LastModified = new DateTime(2022, 7, 8, 0, 0, 0, 0, DateTimeKind.Unspecified),
Value = new byte[] { 245, 71, 4, 138, 72, 101, 23, 21, 135, 217, 206, 188, 138, 73, 108, 96, 29, 150, 3, 31, 44, 28, 62, 145, 96, 53, 57, 66, 238, 118, 93, 172, 211, 22, 244, 181, 244, 40, 146, 67, 111, 196, 162, 27, 154, 109, 248, 255, 181, 17, 253, 127, 42, 65, 19, 90, 26, 206, 203, 145, 159, 159, 243, 105, 24, 71, 188, 165, 53, 85, 57, 37, 186, 251, 57, 96, 18, 162, 218, 80, 0, 101, 250, 100, 66, 97, 24, 51, 240, 215, 216, 169, 105, 100, 15, 253, 29, 83, 182, 236, 203, 53, 68, 251, 2, 150, 149, 148, 58, 136, 84, 37, 151, 82, 92, 227, 30, 52, 111, 40, 154, 155, 7, 126, 149, 100, 169, 87, 10, 129, 228, 138, 177, 101, 77, 67, 177, 216, 189, 201, 1, 213, 136, 216, 107, 198, 253, 221, 106, 255, 198, 17, 68, 14, 110, 90, 174, 182, 68, 222, 188, 77, 157, 19, 26, 68, 86, 97, 15, 81, 24, 171, 214, 114, 191, 175, 56, 56, 48, 52, 125, 82, 253, 113, 71, 41, 201, 5, 8, 118, 162, 191, 99, 196, 48, 198, 223, 79, 204, 174, 31, 97, 236, 20, 213, 218, 85, 34, 16, 74, 196, 209, 235, 14, 71, 209, 32, 131, 195, 84, 11, 66, 74, 19, 115, 255, 99, 69, 235, 210, 204, 15, 13, 4, 143, 127, 152, 125, 212, 91 }
},
new
{
Tenant = -1,
Id = "FullTextSearchSettings",
LastModified = new DateTime(2022, 7, 8, 0, 0, 0, 0, DateTimeKind.Unspecified),
Value = new byte[] { 8, 120, 207, 5, 153, 181, 23, 202, 162, 211, 218, 237, 157, 6, 76, 62, 220, 238, 175, 67, 31, 53, 166, 246, 66, 220, 173, 160, 72, 23, 227, 81, 50, 39, 187, 177, 222, 110, 43, 171, 235, 158, 16, 119, 178, 207, 49, 140, 72, 152, 20, 84, 94, 135, 117, 1, 246, 51, 251, 190, 148, 2, 44, 252, 221, 2, 91, 83, 149, 151, 58, 245, 16, 148, 52, 8, 187, 86, 150, 46, 227, 93, 163, 95, 47, 131, 116, 207, 95, 209, 38, 149, 53, 148, 73, 215, 206, 251, 194, 199, 189, 17, 42, 229, 135, 82, 23, 154, 162, 165, 158, 94, 23, 128, 30, 88, 12, 204, 96, 250, 236, 142, 189, 211, 214, 18, 196, 136, 102, 102, 217, 109, 108, 240, 96, 96, 94, 100, 201, 10, 31, 170, 128, 192 }
},
new
{
Tenant = -1,
Id = "SmtpSettings",
LastModified = new DateTime(2022, 7, 8, 0, 0, 0, 0, DateTimeKind.Unspecified),
Value = new byte[] { 240, 82, 224, 144, 161, 163, 117, 13, 173, 205, 78, 153, 97, 218, 4, 170, 81, 239, 1, 151, 226, 192, 98, 60, 241, 44, 88, 56, 191, 164, 10, 155, 72, 186, 239, 203, 227, 113, 88, 119, 49, 215, 227, 220, 158, 124, 96, 9, 116, 47, 158, 65, 93, 86, 219, 15, 10, 224, 142, 50, 248, 144, 75, 44, 68, 28, 198, 87, 198, 69, 67, 234, 238, 38, 32, 68, 162, 139, 67, 53, 220, 176, 240, 196, 233, 64, 29, 137, 31, 160, 99, 105, 249, 132, 202, 45, 71, 92, 134, 194, 55, 145, 121, 97, 197, 130, 119, 105, 131, 21, 133, 35, 10, 102, 172, 119, 135, 230, 251, 86, 253, 62, 55, 56, 146, 103, 164, 106 }
});
});
modelBuilder.Entity("ASC.Core.Common.EF.Model.DbTenant", b =>
{
b.Property<int>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("integer")
.HasColumnName("id")
.HasAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn);
b.Property<string>("Alias")
.IsRequired()
.HasMaxLength(100)
.HasColumnType("character varying(100)")
.HasColumnName("alias");
b.Property<bool>("Calls")
.ValueGeneratedOnAdd()
.HasColumnType("boolean")
.HasColumnName("calls")
.HasDefaultValueSql("true");
b.Property<DateTime>("CreationDateTime")
.HasColumnType("timestamp with time zone")
.HasColumnName("creationdatetime");
b.Property<int>("Industry")
.HasColumnType("integer")
.HasColumnName("industry");
b.Property<string>("Language")
.IsRequired()
.ValueGeneratedOnAdd()
.HasMaxLength(10)
.HasColumnType("character(10)")
.HasColumnName("language")
.HasDefaultValueSql("'en-US'")
.IsFixedLength();
b.Property<DateTime>("LastModified")
.ValueGeneratedOnAdd()
.HasColumnType("timestamp with time zone")
.HasColumnName("last_modified")
.HasDefaultValueSql("CURRENT_TIMESTAMP");
b.Property<string>("MappedDomain")
.ValueGeneratedOnAdd()
.HasMaxLength(100)
.HasColumnType("character varying(100)")
.HasColumnName("mappeddomain")
.HasDefaultValueSql("NULL");
b.Property<string>("Name")
.IsRequired()
.HasMaxLength(255)
.HasColumnType("character varying(255)")
.HasColumnName("name");
b.Property<Guid?>("OwnerId")
.ValueGeneratedOnAdd()
.HasMaxLength(38)
.HasColumnType("uuid")
.HasColumnName("owner_id")
.HasDefaultValueSql("NULL");
b.Property<string>("PaymentId")
.ValueGeneratedOnAdd()
.HasMaxLength(38)
.HasColumnType("character varying(38)")
.HasColumnName("payment_id")
.HasDefaultValueSql("NULL");
b.Property<bool>("Spam")
.ValueGeneratedOnAdd()
.HasColumnType("boolean")
.HasColumnName("spam")
.HasDefaultValueSql("true");
b.Property<int>("Status")
.HasColumnType("integer")
.HasColumnName("status");
b.Property<DateTime?>("StatusChanged")
.HasColumnType("timestamp with time zone")
.HasColumnName("statuschanged");
b.Property<string>("TimeZone")
.ValueGeneratedOnAdd()
.HasMaxLength(50)
.HasColumnType("character varying(50)")
.HasColumnName("timezone")
.HasDefaultValueSql("NULL");
b.Property<int>("TrustedDomainsEnabled")
.ValueGeneratedOnAdd()
.HasColumnType("integer")
.HasColumnName("trusteddomainsenabled")
.HasDefaultValueSql("1");
b.Property<string>("TrustedDomainsRaw")
.ValueGeneratedOnAdd()
.HasMaxLength(1024)
.HasColumnType("character varying(1024)")
.HasColumnName("trusteddomains")
.HasDefaultValueSql("NULL");
b.Property<int>("Version")
.ValueGeneratedOnAdd()
.HasColumnType("integer")
.HasColumnName("version")
.HasDefaultValueSql("2");
b.Property<DateTime?>("Version_Changed")
.HasColumnType("timestamp with time zone")
.HasColumnName("version_changed");
b.HasKey("Id");
b.HasIndex("Alias")
.IsUnique()
.HasDatabaseName("alias");
b.HasIndex("LastModified")
.HasDatabaseName("last_modified_tenants_tenants");
b.HasIndex("MappedDomain")
.HasDatabaseName("mappeddomain");
b.HasIndex("Version")
.HasDatabaseName("version");
b.ToTable("tenants_tenants", "onlyoffice");
b.HasData(
new
{
Id = 1,
Alias = "localhost",
Calls = false,
CreationDateTime = new DateTime(2021, 3, 9, 17, 46, 59, 97, DateTimeKind.Utc).AddTicks(4317),
Industry = 0,
LastModified = new DateTime(2022, 7, 8, 0, 0, 0, 0, DateTimeKind.Unspecified),
Name = "Web Office",
OwnerId = new Guid("66faa6e4-f133-11ea-b126-00ffeec8b4ef"),
Spam = false,
Status = 0,
TrustedDomainsEnabled = 0,
Version = 0
});
});
modelBuilder.Entity("ASC.Core.Common.EF.Model.DbTenantForbiden", b =>
{
b.Property<string>("Address")
.HasMaxLength(50)
.HasColumnType("character varying(50)")
.HasColumnName("address");
b.HasKey("Address")
.HasName("tenants_forbiden_pkey");
b.ToTable("tenants_forbiden", "onlyoffice");
b.HasData(
new
{
Address = "controlpanel"
},
new
{
Address = "localhost"
});
});
modelBuilder.Entity("ASC.Core.Common.EF.Model.DbTenantPartner", b =>
{
b.Property<int>("TenantId")
.HasColumnType("integer")
.HasColumnName("tenant_id");
b.Property<string>("AffiliateId")
.ValueGeneratedOnAdd()
.HasMaxLength(50)
.HasColumnType("character varying(50)")
.HasColumnName("affiliate_id")
.HasDefaultValueSql("NULL");
b.Property<string>("Campaign")
.ValueGeneratedOnAdd()
.HasMaxLength(50)
.HasColumnType("character varying(50)")
.HasColumnName("campaign")
.HasDefaultValueSql("NULL");
b.Property<string>("PartnerId")
.ValueGeneratedOnAdd()
.HasMaxLength(36)
.HasColumnType("character varying(36)")
.HasColumnName("partner_id")
.HasDefaultValueSql("NULL");
b.HasKey("TenantId")
.HasName("tenants_partners_pkey");
b.ToTable("tenants_partners", "onlyoffice");
});
modelBuilder.Entity("ASC.Core.Common.EF.Model.DbTenantVersion", b =>
{
b.Property<int>("Id")
.HasColumnType("integer")
.HasColumnName("id");
b.Property<int>("DefaultVersion")
.HasColumnType("integer")
.HasColumnName("default_version");
b.Property<string>("Url")
.IsRequired()
.HasMaxLength(64)
.HasColumnType("character varying(64)")
.HasColumnName("url");
b.Property<string>("Version")
.IsRequired()
.HasMaxLength(64)
.HasColumnType("character varying(64)")
.HasColumnName("version");
b.Property<bool>("Visible")
.HasColumnType("boolean")
.HasColumnName("visible");
b.HasKey("Id");
b.ToTable("tenants_version", "onlyoffice");
});
modelBuilder.Entity("ASC.Core.Common.EF.Model.TenantIpRestrictions", b =>
{
b.Property<int>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("integer")
.HasColumnName("id")
.HasAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn);
b.Property<bool>("ForAdmin")
.HasColumnType("TINYINT(1)")
.HasColumnName("for_admin");
b.Property<string>("Ip")
.IsRequired()
.HasMaxLength(50)
.HasColumnType("character varying(50)")
.HasColumnName("ip");
b.Property<int>("Tenant")
.HasColumnType("integer")
.HasColumnName("tenant");
b.HasKey("Id");
b.HasIndex("Tenant")
.HasDatabaseName("tenant_tenants_iprestrictions");
b.ToTable("tenants_iprestrictions", "onlyoffice");
});
#pragma warning restore 612, 618
}
}
}

View File

@ -0,0 +1,28 @@
using Microsoft.EntityFrameworkCore.Migrations;
#nullable disable
namespace ASC.Migrations.PostgreSql.Migrations.TenantDb
{
public partial class TenantDbContext_Upgrade1 : Migration
{
protected override void Up(MigrationBuilder migrationBuilder)
{
migrationBuilder.AddColumn<bool>(
name: "for_admin",
schema: "onlyoffice",
table: "tenants_iprestrictions",
type: "TINYINT(1)",
nullable: false,
defaultValue: false);
}
protected override void Down(MigrationBuilder migrationBuilder)
{
migrationBuilder.DropColumn(
name: "for_admin",
schema: "onlyoffice",
table: "tenants_iprestrictions");
}
}
}

View File

@ -18,7 +18,7 @@ namespace ASC.Migrations.PostgreSql.Migrations
#pragma warning disable 612, 618
modelBuilder
.HasAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn)
.HasAnnotation("ProductVersion", "6.0.4")
.HasAnnotation("ProductVersion", "6.0.7")
.HasAnnotation("Relational:MaxIdentifierLength", 63);
modelBuilder.Entity("ASC.Core.Common.EF.Model.DbCoreSettings", b =>
@ -316,6 +316,10 @@ namespace ASC.Migrations.PostgreSql.Migrations
.HasColumnName("id")
.HasAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn);
b.Property<bool>("ForAdmin")
.HasColumnType("TINYINT(1)")
.HasColumnName("for_admin");
b.Property<string>("Ip")
.IsRequired()
.HasMaxLength(50)

View File

@ -0,0 +1,7 @@
{
"BackupPortal": "Portal məlumatlarını yedəkləyin",
"ChangeOwner": "Modul administratorlarını təyin edin",
"DeactivateOrDeletePortal": " Modullara giriş hüquqlarını təyin edin",
"ManagePortal": " Portal konfiqurasiyasını idarə edin",
"ManageUser": "İstifadəçi hesablarını idarə edin"
}

View File

@ -3,6 +3,5 @@
"ConvertMessage": "Əgər faylın konvertasiyasını seçsəz, bəzi məlumatlar itə bilər.",
"ConvertToZip": "Fayllar .zip formatına sıxlaşdırılacaq",
"CustomFormat": "Fərdi format",
"OriginalFormat": "Orijinal format",
"Other": "Digər"
"OriginalFormat": "Orijinal format"
}

View File

@ -4,4 +4,4 @@
"Error404Text": "Təəssüf ki, resurs tapıla bilmir.",
"ErrorEmptyResponse": "Boş cavab",
"ErrorOfflineText": "İnternet bağlantısı tapılmadı."
}
}

View File

@ -1,4 +1,4 @@
{
"PortalRestoring": "Portalın bərpası",
"PreparationPortalDescription": "Bərpa prosesi başa çatdıqdan sonra siz avtomatik olaraq portalınıza yönləndiriləcəksiniz."
}
}

View File

@ -1,4 +1,4 @@
{
{
"AccessRightsAccessToProduct": "{{product}} moduluna giriş hüququ verilmişdir",
"AccessRightsAllUsers": "Bütün {{users}}",
"AccessRightsChangeOwnerConfirmText": "Dəyişikliklər e-poçt vasitəsilə təsdiqlənmə məktubundan sonra tətbiq olunacaq.",
@ -15,8 +15,8 @@
"AdministratorsRemovedSuccessfully": "Administratorlar uğurla silinmişdir",
"Admins": "Adminlər",
"AllDomains": "Hər hansı bir domen adı",
"AuditTrailNav": "Audit izi",
"AuditDownloadText": "Ətraflı statistikaya baxmaq üçün seçilmiş saxlama müddəti ərzində mövcud olan məlumat üçün hesabatı yükləyə bilərsiniz. Nəzərə alın ki, qeydiyyat hazırda Sənədlər, Layihələr, CRM və İnsanlar modulları, həmçinin portal parametrləri üçün aktivdir.",
"AuditTrailNav": "Audit izi",
"AutoBackup": "Avtomatik ehtiyat nüsxəsi",
"AutoBackupDescription": "Portal məlumatlarının avtomatik yedəklənməsi üçün bu seçimdən istifadə edin.",
"AutoBackupHelp": "<strong>Avtomatik ehtiyat nüsxə</strong> seçimi daha sonra yerli serverə bərpa edə bilmək üçün portal məlumatlarının ehtiyat nüsxəsini çıxarmaq prosesini avtomatlaşdırmaq məqsədilə istifadə olunur.",
@ -50,9 +50,9 @@
"CustomizationDescription": "Bu bölmə sizə portalın görüntüsünü və ümumi təəssüratını dəyişməyə imkan verir. Brendinizə uyğun olaraq, öz şirkət loqonuz, adınız və mətninizdən istifadə edə bilərsiniz.",
"DeactivateOrDeletePortal": "Portalı deaktivləşdirin və ya silin.",
"Disabled": "Deaktiv edildi",
"DownloadReportBtn": "Hesabatı endirin və açın",
"DocumentsAdministratorsCan": "Sənəd administratorları Dropbox, Box və digər hesablarını Ümumi Sənədlərlə əlaqələndirə və bu bölmədə giriş hüququ təyin edə bilərlər",
"DownloadCopy": "Nüsxəni endirin",
"DownloadReportBtn": "Hesabatı endirin və açın",
"Employees": "istifadəçilər",
"EmptyBackupList": "Hələ heç bir ehtiyat nüsxəsi yaradılmayıb. Onların bu siyahıda görünməsi üçün bir və ya bir neçə ehtiyat nüsxəsi yaradın.",
"EnableAutomaticBackup": "Avtomatik yedəkləməni aktivləşdirin.",
@ -73,13 +73,13 @@
"LanguageTimeSettingsTooltip": "<0>{{text}}</0> bütün istifadəçilər üçün bütün portalın dilini dəyişməyə və saat qurşağını ayarlamağa imkan verir ki, ONLYOFFICE portalındakı olaylar düzgün tarix və vaxtla əks olunsunlar.",
"LanguageTimeSettingsTooltipDescription": "Təyin etdiyiniz parametrlərin qüvvəyə minməsi üçün Bölmənin altındakı <1>{{save}}</1> düyməsinin üzərinə klikləyin.<3>{{learnMore}}</3>",
"LocalFile": "Yerli fayl",
"LoginDownloadText": "Ətraflı statistikaya baxmaq üçün seçilmiş saxlama müddəti ərzində mövcud olan məlumat üçün hesabatı yükləyə bilərsiniz.",
"LoginHistoryTitle": "Giriş Tarixçəsi",
"LoginLatestText": "Bu səhifədə yalnız ən son fəaliyyət göstərilir. Məlumatın özü aşağıdakı sahədə göstərilən müddət ərzində saxlanılır (maksimum 180 gün).",
"LogoDark": "Haqqında/Giriş səhifəsi üçün loqo",
"LogoDocsEditor": "Redaktorlar başlığı üçün loqo",
"LogoFavicon": "Favicon",
"LogoLightSmall": "Portal başlığı üçün loqo",
"LoginHistoryTitle": "Giriş Tarixçəsi",
"LoginLatestText": "Bu səhifədə yalnız ən son fəaliyyət göstərilir. Məlumatın özü aşağıdakı sahədə göstərilən müddət ərzində saxlanılır (maksimum 180 gün).",
"LoginDownloadText": "Ətraflı statistikaya baxmaq üçün seçilmiş saxlama müddəti ərzində mövcud olan məlumat üçün hesabatı yükləyə bilərsiniz.",
"LogoSettings": "Portal loqosu üçün Ayarlar",
"LogoUploadRecommendation": "Sizə şəffaf arxa fonlu <1>PNG</1> formatlı şəkillərdən istifadə etməyi tövsiyə edirik",
"ManagementCategoryDataManagement": "Məlumatların idarə olunması",
@ -129,11 +129,11 @@
"SettingPasswordStrength": "Şifrə gücünün tənzimləməsi",
"SettingPasswordStrengthDescription": "Şifrə Gücünün Tənzimləməsi təxmin etmə və kobud hücumların qarşısını almaq üçün şifrənin effektivliyinin müəyyənləşdirilməsi yoludur.",
"SettingPasswordStrengthHelper": "Minimal Şifrə Uzunluğu şkalasından istifadə edərək şifrənizin hansı uzunluqda olmalı olduğunu müəyyənləşdirin. Şifrədə istifadə edilməli olan işarələrin sayını dəqiqləşdirmək üçün aşağıdakı müvafiq bölmələrə nəzər salın.",
"StoragePeriod": "Saxlama müddəti",
"StudioTimeLanguageSettings": "Dil və Saat Qurşağı Ayarları",
"SuccessfullySaveGreetingSettingsMessage": "Salamlama Səhifəsi ayarları uğurla yenilənmişdir",
"SuccessfullySavePortalNameMessage": "Portalın adı uğurla dəyişdirildi",
"SuccessfullySaveSettingsMessage": "Ayarlar uğurla yenilənmişdir",
"StoragePeriod": "Saxlama müddəti",
"TeamTemplate": "Komanda şablonu",
"TeamTemplateSettingsDescription": "Komanda şablonu şirkət (və ya qrup), onun üzvləri və fəaliyyətlərini adlandırmaq üçün fərdiləşdirilmiş bir üsuldur. Şablon siyahısını aşağı salmaqla mövcud presetlərdən birini seçin və ya siyahıdan fərdi seçimi seçməklə öz adınızı əlavə edin.",
"Template": "Şablon",

View File

@ -1,4 +0,0 @@
{
"Alert": "Xəbərdarlıq",
"Done": "İcra edildi"
}

View File

@ -55,5 +55,6 @@
"TypeTitleSkyDrive": "OneDrive",
"TypeTitleWebDav": "WebDAV",
"TypeTitleYandex": "Yandex.Disk",
"TypeTitlekDrive": "kDrive"
"TypeTitlekDrive": "kDrive",
"Other": "Digər"
}

View File

@ -0,0 +1,7 @@
{
"BackupPortal": "Резервни данни за портал",
"ChangeOwner": "Назначаване на модулни администратори",
"DeactivateOrDeletePortal": "Задаване на права за достъп до модулите",
"ManagePortal": "Управление на конфигурацията на портала",
"ManageUser": "Управление на потребителските профили"
}

View File

@ -3,6 +3,5 @@
"ConvertMessage": "Ако изберете да конвертирате файла в различен от оригиналния формат, някои данни може да бъдат загубени.",
"ConvertToZip": "Файловете ще бъдат компресирани в .zip файл",
"CustomFormat": "Персонализиран формат",
"OriginalFormat": "Оригинален формат",
"Other": "Друг"
"OriginalFormat": "Оригинален формат"
}

View File

@ -4,4 +4,4 @@
"Error404Text": "Съжаляваме, ресурсът не може да бъде открит.",
"ErrorEmptyResponse": "Празен отговор",
"ErrorOfflineText": "Не е открита връзка с интернет."
}
}

View File

@ -1,4 +1,4 @@
{
"PortalRestoring": "Възстановяване на портала",
"PreparationPortalDescription": "След като процесът на възстановяване приключи, ще бъдете автоматично пренасочени към портала си."
}
}

View File

@ -1,4 +1,4 @@
{
{
"AccessRightsAccessToProduct": "Достъпът до {{product}} модула е даден на",
"AccessRightsAllUsers": "Всички {{users}}",
"AccessRightsChangeOwnerConfirmText": "Промените ще бъдат приложени след потвърждението по имейла.",
@ -48,10 +48,9 @@
"CustomizationDescription": "Този подраздел Ви позволява да промените облика и усещането на Вашия портал. Можете да използвате собственото си фирмено лого, име и текст, за да съответстват на марката на Вашата организация.",
"DeactivateOrDeletePortal": "Деактивирай или изтрий портал.",
"Disabled": "Деактивиран",
"StoragePeriod": "Период на съхранение",
"DownloadReportBtn": "Изтегляне и отворен отчет",
"DocumentsAdministratorsCan": "Администраторите на документи могат да свързват Dropbox, Box и други профили към Общите Документи и да задават права за достъп в този раздел",
"DownloadCopy": "Изтеглете копието",
"DownloadReportBtn": "Изтегляне и отворен отчет",
"Employees": "потребители",
"EmptyBackupList": "Все още не са създадени резервни копия. Създайте едно или повече резервни копия, които да се показват в този списък.",
"EnableAutomaticBackup": "Активиране на автоматично архивиране.",
@ -72,13 +71,13 @@
"LanguageTimeSettingsTooltip": "<0>{{text}}</0> е начин да промените езика на целия портал за всички потребители на портала и да конфигурирате часовата зона, така че всички събития на портала ONLYOFFICE да се показват с правилната дата и час.",
"LanguageTimeSettingsTooltipDescription": "За да направите въведените параметри в сила, кликнете върху бутона <1>{{save}}</1> в долната част на секцията.<3>{{learnMore}}</3>\"",
"LocalFile": "Локален файл",
"LoginDownloadText": "Можете да изтеглите отчета за наличните данни през избрания период на съхранение, за да видите подробната статистика.",
"LoginHistoryTitle": "История на вход",
"LoginLatestText": "На тази страница се показва само последната дейност. Самите данни се съхраняват през периода, който може да се въведе в полето по-долу (измерено в дни, максимум 180):",
"LogoDark": "Лого за страницата Относно/Вписване",
"LogoDocsEditor": "Лого за редакторското заглавие",
"LogoFavicon": "Фавикона",
"LogoLightSmall": "Лого за заглавието на портала",
"LoginHistoryTitle": "История на вход",
"LoginDownloadText": "Можете да изтеглите отчета за наличните данни през избрания период на съхранение, за да видите подробната статистика.",
"LoginLatestText": "На тази страница се показва само последната дейност. Самите данни се съхраняват през периода, който може да се въведе в полето по-долу (измерено в дни, максимум 180):",
"LogoSettings": "Настройки за Логото на Портала",
"LogoUploadRecommendation": "Препоръчваме да използвате изображение във формат <1>PNG</1> с прозрачен фон",
"ManagementCategoryDataManagement": "Управление на данни",
@ -128,6 +127,7 @@
"SettingPasswordStrength": "Задаване на сила на паролата",
"SettingPasswordStrengthDescription": "Настройките за сила на паролата са начин за определяне на ефективността на паролата при противопоставяне на отгатване и атаки с груба сила.",
"SettingPasswordStrengthHelper": "Използвайте лентата за минимална дължина на паролата, за да определите колко дълга трябва да бъде паролата. Поставете отметка в съответните квадратчета по-долу, за да определите набора от знаци, който трябва да се използва в паролата.",
"StoragePeriod": "Период на съхранение",
"StudioTimeLanguageSettings": "Настройки за Език и Часова Зона",
"SuccessfullySaveGreetingSettingsMessage": "Настройките за Приветстващата Страница бяха запазени успешно",
"SuccessfullySavePortalNameMessage": "Порталът е преименуван успешно",

View File

@ -1,4 +0,0 @@
{
"Alert": "Тревога",
"Done": "Готово"
}

View File

@ -55,5 +55,6 @@
"TypeTitleSkyDrive": "OneDrive",
"TypeTitleWebDav": "WebDAV",
"TypeTitleYandex": "Yandex.Disk",
"TypeTitlekDrive": "kDrive"
"TypeTitlekDrive": "kDrive",
"Other": "Друг"
}

View File

@ -0,0 +1,7 @@
{
"BackupPortal": "Zálohovat data portálu",
"ChangeOwner": "Jmenovat správce modulů",
"DeactivateOrDeletePortal": "Nastavit přístupová práva modulů",
"ManagePortal": "Spravovat konfiguraci portálu",
"ManageUser": "Spravovat uživatelské účty"
}

View File

@ -3,6 +3,5 @@
"ConvertMessage": "Pokud zvolíte převod souboru do jiného formátu než původního, může dojít ke ztrátě některých dat.",
"ConvertToZip": "Soubory budou zkomprimovány do souboru .zip",
"CustomFormat": "Vlastní formát",
"OriginalFormat": "Původní formát",
"Other": "Jiný"
"OriginalFormat": "Původní formát"
}

View File

@ -4,4 +4,4 @@
"Error404Text": "Omlouváme se, zdroj nelze najít.",
"ErrorEmptyResponse": "Prázdná reakce",
"ErrorOfflineText": "Nebylo nalezeno připojení k internetu."
}
}

View File

@ -1,4 +1,4 @@
{
"PortalRestoring": "Obnovení portálu",
"PreparationPortalDescription": "Po ukončení procesu obnovy, budete automaticky přesměrováni na Váš portál."
}
}

View File

@ -1,4 +1,4 @@
{
{
"AccessRightsAccessToProduct": "Přístup k modulu {{product}} je udělen",
"AccessRightsAllUsers": "Všichni {{users}}",
"AccessRightsChangeOwnerConfirmText": "Změny budou uplatněny po potvrzení e-mailem.",
@ -10,12 +10,12 @@
"AddAdmins": "Přidávat administrátory",
"AddName": "Přidat jméno",
"AddTrustedDomain": "Přidat důvěryhodné domény",
"AuditTrailNav": "Audit Trail",
"AdminInModules": "Administrátoři v modulech",
"AdministratorsAddedSuccessfully": "Administrátoři úspěšně přidáni",
"AdministratorsRemovedSuccessfully": "Administrátoři úspěšně odebráni",
"Admins": "Administrátoři",
"AllDomains": "Libovolné domény",
"AuditTrailNav": "Audit Trail",
"AutoBackup": "Automatická záloha",
"AutoBackupDescription": "Použijte tuto možnost pro automatické zálohování portálových dat.",
"AutoBackupHelp": "Možnost <strong>Automatického zálohování</strong> se používá pro automatizaci procesu zálohování portálových dat, aby je bylo možné později obnovit z místního serveru.",
@ -40,20 +40,18 @@
"CustomDomains": "Vlastní domény",
"CustomTitles": "Vlastní názvy",
"CustomTitlesFrom": "Od",
"CustomTitlesSettingsDescription": "Nastavení úvodní stránky je možnost, kterou změníte výchozí název portálu, který je zobrazen na Uvítací stránka Vašeho portálu. Stejný název se také používá pro pole Od ve vašich emailových upozornění Vašeho portálu.",
"CustomTitlesSettingsDescription": "Zobrazí se na vaší uvítací stránce a použijí se pro e-mailová oznámení (pole Od). Vlastní název domény je způsob, jak nastavit alternativní adresu URL pro váš portál. Vlastní název portálu se zobrazí vedle adresy onlyoffice.com/onlyoffice.eu.",
"CustomTitlesSettingsTooltip": "<0>{{ welcomeText }}</0> je možnost, kterou změníte výchozí název portálu, který je zobrazen na <2>{{ text }}</2> Vašeho portálu. Stejný název se také používá pro pole<4>{{ from }}</4> ve vašich emailových upozornění Vašeho portálu.",
"CustomTitlesSettingsTooltipDescription": "Zadejte název, který chcete, do pole <1>{{ header }}</1>",
"CustomTitlesText": "Uvítací stránka",
"CustomTitlesWelcome": "Nastavení úvodní stránky",
"Customization": "Přizpůsobení",
"CustomizationDescription": "Tato podsekce umožňuje změnit vzhled portálu. Můžete použít vlastní logo společnosti, název a text, aby odpovídaly značce vaší organizace.",
"DownloadReportBtn": "Stáhnout a otevřít zprávu",
"CustomTitles": "Vlastní názvy",
"CustomTitlesSettingsDescription": "Zobrazí se na vaší uvítací stránce a použijí se pro e-mailová oznámení (pole Od). Vlastní název domény je způsob, jak nastavit alternativní adresu URL pro váš portál. Vlastní název portálu se zobrazí vedle adresy onlyoffice.com/onlyoffice.eu.",
"DeactivateOrDeletePortal": "Deaktivovat nebo odstranit portál.",
"Disabled": "Deaktivováno",
"DocumentsAdministratorsCan": "Správci dokumentů mohou propojit účty Dropbox, Box a další účty se společnými dokumenty a nastavit přístupová práva v této sekci",
"DownloadCopy": "Stáhnout kopii",
"DownloadReportBtn": "Stáhnout a otevřít zprávu",
"Employees": "uživatelé",
"EmptyBackupList": "Zatím nebyly vytvořeny žádné zálohy. Vytvořte jednu nebo více záloh, aby byly zobrazeny v seznamu.",
"EnableAutomaticBackup": "Povolit automatické zálohování.",
@ -74,10 +72,10 @@
"LanguageTimeSettingsTooltip": "<0>{{text}}</0> je možnost pro změnu jazyka na celém portálu pro všechny jeho uživatele a nastavení časového pásma tak, aby všechny události ONLYOFFICE portálu byly zobrazeny ve správném datu a času.",
"LanguageTimeSettingsTooltipDescription": "Chcete-li změněné parametry aktivovat, klikněte na tlačítko <1>{{save}}</1> v dolní části.<3>{{learnMore}}</3>",
"LocalFile": "Místní soubor",
"LoginHistoryTitle": "Historie přihlášení",
"LogoDark": "Logo pro stránku O portálu/Přihlášení",
"LogoDocsEditor": "Logo pro záhlaví editorů",
"LogoFavicon": "Favicon",
"LoginHistoryTitle": "Historie přihlášení",
"LogoLightSmall": "Logo pro záhlaví portálu",
"LogoSettings": "Nastavení loga portálu",
"LogoUploadRecommendation": "Doporučujeme používat obrázky ve formátu <1>PNG</1> s průhledným pozadím",

View File

@ -1,4 +0,0 @@
{
"Alert": "Pozor",
"Done": "Hotovo"
}

View File

@ -55,5 +55,6 @@
"TypeTitleSkyDrive": "OneDrive",
"TypeTitleWebDav": "WebDAV",
"TypeTitleYandex": "Yandex.Disk",
"TypeTitlekDrive": "kDrive"
"TypeTitlekDrive": "kDrive",
"Other": "Jiný"
}

View File

@ -0,0 +1,7 @@
{
"BackupPortal": "Backup von Portaldaten erstellen",
"ChangeOwner": "Moduladministratoren bestimmen",
"DeactivateOrDeletePortal": "Modulzugriffsrechte bestimmen",
"ManagePortal": "Portal einrichten",
"ManageUser": "Benutzerprofile verwalten"
}

View File

@ -3,6 +3,5 @@
"ConvertMessage": "Wenn Sie das Dateiformat ändern, können Sie möglicherweise einige Daten verloren.",
"ConvertToZip": "Dateien werden in eine ZIP-Datei archiviert",
"CustomFormat": "Benutzerdefiniertes Format",
"OriginalFormat": "Originalformat",
"Other": "Sonstiges"
"OriginalFormat": "Originalformat"
}

View File

@ -4,4 +4,4 @@
"Error404Text": "Die Ressource kann nicht gefunden werden.",
"ErrorEmptyResponse": "Leere Antwort",
"ErrorOfflineText": "Keine Internetverbindung gefunden"
}
}

View File

@ -1,4 +1,4 @@
{
"PortalRestoring": "Wiederherstellung des Portals",
"PreparationPortalDescription": "Nach Abschluss des Wiederherstellungsprozesses werden Sie automatisch an Ihr Portal umgeleitet."
}
}

View File

@ -1,4 +1,4 @@
{
{
"AccessRightsAccessToProduct": "Das Modul {{product}} ist zugreifbar für",
"AccessRightsAllUsers": "Alle Mitglieder mit dem Status {{users}}",
"AccessRightsChangeOwnerConfirmText": "Die Änderungen werden nach der Bestätigung per E-Mail übernommen.",
@ -7,12 +7,6 @@
"AccessRightsSubTitle": "In diesem Abschnitt können Sie die Rechte des Portalbesitzers übertragen und die Zugriffsrechte des Administrators verwalten.",
"AccessRightsUsersFromList": "{{users}} aus der Liste",
"AccessSettings": "Zugriffseinstellungen",
"AuditDownloadText": "Sie können den Bericht für die verfügbaren Daten während des ausgewählten Speicherzeitraums herunterladen, um die detaillierten Statistiken anzuzeigen. Beachten Sie, dass die Protokollierung derzeit für die Module Dokumente, Projekte, CRM und Personen sowie für Portaleinstellungen aktiviert ist.",
"AutoBackup": "Automatische Sicherung",
"AuditTrailNav": "Audit-Trail",
"AutoBackupDescription": "Nutzen Sie diese Option für die automatische Sicherung der Portaldaten.",
"AutoBackupHelp": "Mit der Option <strong>Automatische Sicherung</strong> wird der Prozess der Portaldatensicherung automatisiert, um sie später auf einem lokalen Server wiederherstellen zu können. ",
"AutoBackupHelpNote": "Wählen Sie den Datenspeicher, den automatischen Sicherungszeitraum und die maximale Anzahl der gespeicherten Kopien aus. <br/><strong>Hinweis:</strong> Bevor Sie die Sicherungsdaten auf einem Drittanbieter-Konto (DropBox, Box.com, OneDrive oder Google Drive) speichern können, müssen Sie zuerst dieses Konto mit dem Ordner {{organizationName}} 'Gemeinsame Dokumente' verbinden.",
"AddAdmins": "Administratoren hinzufügen",
"AddName": "Namen hinzufügen",
"AddTrustedDomain": "Sichere Domain hinzufügen",
@ -21,6 +15,8 @@
"AdministratorsRemovedSuccessfully": "Administratoren erfolgreich entfernt",
"Admins": "Administratoren",
"AllDomains": "Alle Domains",
"AuditDownloadText": "Sie können den Bericht für die verfügbaren Daten während des ausgewählten Speicherzeitraums herunterladen, um die detaillierten Statistiken anzuzeigen. Beachten Sie, dass die Protokollierung derzeit für die Module Dokumente, Projekte, CRM und Personen sowie für Portaleinstellungen aktiviert ist.",
"AuditTrailNav": "Audit-Trail",
"AutoBackup": "Automatische Sicherung",
"AutoBackupDescription": "Nutzen Sie diese Option für die automatische Sicherung der Portaldaten.",
"AutoBackupHelp": "Mit der Option <strong>Automatische Sicherung</strong> wird der Prozess der Portaldatensicherung automatisiert, um sie später auf einem lokalen Server wiederherstellen zu können. ",
@ -54,9 +50,9 @@
"CustomizationDescription": "Dieser Unterabschnitt ermöglicht es Ihnen, das Aussehen Ihres Portals zu ändern. Sie können Ihr eigenes Unternehmenslogo, den Namen und Text verwenden, sodass Ihr Portal zum Design Ihres Produkts passt.",
"DeactivateOrDeletePortal": "Deaktivieren oder entfernen Sie das Portal.",
"Disabled": "Deaktiviert",
"DownloadReportBtn": "Bericht herunterladen und öffnen",
"DocumentsAdministratorsCan": "Administratoren von Dokumenten können Dropbox, Box und andere Konten mit gemeinsamen Dokumenten verbinden und Zugriffsrechte in dieser Sektion einstellen",
"DownloadCopy": "Die Sicherungskopie herunterladen",
"DownloadReportBtn": "Bericht herunterladen und öffnen",
"Employees": "Benutzer",
"EmptyBackupList": "Keine Sicherungskopien wurden noch erstellt. Erstellen Sie eine oder mehrere Sicherungskopien, damit sie in dieser Liste erscheint.",
"EnableAutomaticBackup": "Automatische Datensicherung aktivieren.",
@ -77,12 +73,12 @@
"LanguageTimeSettingsTooltip": "Die <0>{{text}}</0> lassen Sie die Sprache des kompletten Portals für alle Benutzer ändern und die Zeitzone konfigurieren, so dass alle Ereignisse des ONLYOFFICE-Portals mit einem richtigen Datum und der Uhrzeit angezeigt werden.",
"LanguageTimeSettingsTooltipDescription": "Um die Änderungen zu übernehmen, klicken Sie auf den Button <1>{{save}}</1> im unteren Bereich der Sektion.<3>{{learnMore}}</3>",
"LocalFile": "Lokale Datei",
"LoginDownloadText": "Sie können den Bericht für die verfügbaren Daten während des ausgewählten Speicherzeitraums herunterladen, um die detaillierten Statistiken anzuzeigen.",
"LoginHistoryTitle": "Anmeldehistorie",
"LoginLatestText": "Nur die letzte Aktivität wird auf dieser Seite angezeigt. Die Daten selbst werden während des Zeitraums gespeichert, das im folgenden Feld eingegeben werden kann (gemessen in Tagen, maximal 180):",
"LogoDark": "Logo für die Login- und Informationsseite",
"LogoDocsEditor": "Logo für Kopfzeile der Editoren",
"LogoFavicon": "Favicon",
"LoginHistoryTitle": "Anmeldehistorie",
"LoginLatestText": "Nur die letzte Aktivität wird auf dieser Seite angezeigt. Die Daten selbst werden während des Zeitraums gespeichert, das im folgenden Feld eingegeben werden kann (gemessen in Tagen, maximal 180):",
"LoginDownloadText": "Sie können den Bericht für die verfügbaren Daten während des ausgewählten Speicherzeitraums herunterladen, um die detaillierten Statistiken anzuzeigen.",
"LogoLightSmall": "Logo für Kopfzeile des Portals",
"LogoSettings": "Einstellungen des Portallogos",
"LogoUploadRecommendation": "Für Bilder ist <1>PNG</1>-Format mit durchsichtigen Hintergründen empfohlen",
@ -133,9 +129,9 @@
"SettingPasswordStrength": "Passwortlänge einstellen",
"SettingPasswordStrengthDescription": "Die Einstellungen der Passwortstärke sind eine Möglichkeit, die Effektivität eines Passworts gegen Erraten und Brute-Force-Angriffe zu bestimmen.",
"SettingPasswordStrengthHelper": "Verwenden Sie die Leiste Mindestlänge des Kennworts, um zu bestimmen, wie lang das Kennwort sein soll. Kreuzen Sie die entsprechenden Felder unten an, um den Zeichensatz festzulegen, der im Kennwort verwendet werden muss.",
"StoragePeriod": "Lagerdauer",
"StudioTimeLanguageSettings": "Sprach- und Zeitzoneneinstellungen",
"SuccessfullySaveGreetingSettingsMessage": "Die Begrüßungseinstellungen wurden gespeichert",
"StoragePeriod": "Lagerdauer",
"SuccessfullySavePortalNameMessage": "Portal wurde erfolgreich umbenannt",
"SuccessfullySaveSettingsMessage": "Die Einstellungen wurden erfolgreich aktualisiert",
"TeamTemplate": "Team-Vorlage",

View File

@ -1,4 +0,0 @@
{
"Alert": "Warnung",
"Done": "Fertig"
}

View File

@ -55,5 +55,6 @@
"TypeTitleSkyDrive": "OneDrive",
"TypeTitleWebDav": "WebDAV",
"TypeTitleYandex": "Yandex.Disk",
"TypeTitlekDrive": "kDrive"
"TypeTitlekDrive": "kDrive",
"Other": "Sonstiges"
}

View File

@ -0,0 +1,7 @@
{
"BackupPortal": "Διαφυλάξτε τα δεδομένα πύλης",
"ChangeOwner": "Ορίστε διαχειριστές ενοτήτων",
"DeactivateOrDeletePortal": "Ορίστε δικαιωμάτων πρόσβασης ενοτήτων",
"ManagePortal": "Διαχειριστείτε ρυθμίσεις πύλης",
"ManageUser": "Διαχειριστείτε λογαριασμούς χρηστών"
}

View File

@ -3,6 +3,5 @@
"ConvertMessage": "Εάν επιλέξετε να μετατρέψετε το αρχείο σε μορφή διαφορετική από την αρχική, ενδέχεται να χαθούν ορισμένα δεδομένα.",
"ConvertToZip": "Τα αρχεία θα συμπιεστούν στο αρχείο .zip",
"CustomFormat": "Προσαρμοσμένη μορφή",
"OriginalFormat": "Αρχική μορφή",
"Other": "Άλλο"
"OriginalFormat": "Αρχική μορφή"
}

View File

@ -4,4 +4,4 @@
"Error404Text": "Δυστυχώς, ο πόρος δεν μπορεί να βρεθεί.",
"ErrorEmptyResponse": "Κενή απάντηση",
"ErrorOfflineText": "Δεν βρέθηκε σύνδεση στο διαδίκτυο."
}
}

View File

@ -1,4 +1,4 @@
{
"PortalRestoring": "Επαναφορά πύλης",
"PreparationPortalDescription": "Μόλις ολοκληρωθεί η διαδικασία επαναφοράς, θα μεταφερθείτε αυτόματα στην πύλη σας."
}
}

View File

@ -70,7 +70,6 @@
"LanguageTimeSettingsTooltip": "<0>{{text}}</0>: είναι ένας τρόπος για να αλλάξετε τη γλώσσα ολόκληρης της πύλης για όλους τους χρήστες της πύλης και να ρυθμίσετε τη ζώνη ώρας, ώστε όλα τα γεγονότα της πύλης ONLYOFFICE να εμφανίζονται με τη σωστή ημερομηνία και ώρα",
"LanguageTimeSettingsTooltipDescription": "Για να τεθούν σε ισχύ οι παράμετροι που ορίσατε κάντε κλικ στο κουμπί <1>{{save}}</1> στο κάτω μέρος της ενότητας.<3>{{{learnMore}}</3>",
"LocalFile": "Τοπικό αρχείο",
"LogoDark": "Λογότυπο για τη σελίδα Σχετικά/Σύνδεση",
"LogoDocsEditor": "Λογότυπο για την επικεφαλίδα των προγραμμάτων επεξεργασίας",
"LogoFavicon": "Favicon",
"LogoLightSmall": "Λογότυπο για την επικεφαλίδα της πύλης",

View File

@ -1,4 +0,0 @@
{
"Alert": "Ειδοποίηση",
"Done": "Τέλος"
}

View File

@ -55,5 +55,6 @@
"TypeTitleSkyDrive": "OneDrive",
"TypeTitleWebDav": "WebDAV",
"TypeTitleYandex": "Yandex.Disk",
"TypeTitlekDrive": "kDrive"
"TypeTitlekDrive": "kDrive",
"Other": "Άλλο"
}

View File

@ -0,0 +1,14 @@
{
"AppointAdmin": "Appoint administrators",
"BackupPortal": "Backup portal data",
"ChangeInstruction": "To change the Portal owner please choose the Name of the new Portal owner below.",
"ChangeOwner": "Change portal owner",
"ChangeUser": "Change user",
"DeactivateOrDeletePortal": "Deactivate or delete portal",
"DoTheSame": "Do the same as administrators",
"ManagePortal": "Manage portal configuration",
"ManageUser": "Manage user accounts",
"NewPortalOwner": "New portal owner",
"PortalOwnerCan": "Portal owner can:",
"SetAccessRights": "Set access rights"
}

View File

@ -1,41 +1,33 @@
{
"CreateRoom": "Create room",
"ChooseRoomType": "Choose room type",
"RoomEditing": "Room editing",
"FillingFormsRoomTitle": "Filling forms room",
"CollaborationRoomTitle": "Collaboration room",
"ReviewRoomTitle": "Review room",
"ViewOnlyRoomTitle": "View-only room",
"CustomRoomTitle": "Custom room",
"FillingFormsRoomDescription": "Build, share and fill document templates or work with the ready presets to quickly create documents of any type",
"CollaborationRoomDescription": "Collaborate on one or multiple documents with your team",
"ReviewRoomDescription": "Request a review or comments on the documents",
"ViewOnlyRoomDescription": "Share any ready documents, reports, documentation, and other files for viewing",
"CustomRoomDescription": "Apply your own settings to use this room for any custom purpose",
"NamePlaceholder": "Enter name",
"TagsPlaceholder": "Add a tag",
"CollaborationRoomTitle": "Collaboration room",
"CreateRoom": "Create room",
"CreateTagOption": "Create tag",
"MakeRoomPrivateTitle": "Make the Room Private",
"MakeRoomPrivateDescription": "All files in this room will be encrypted",
"MakeRoomPrivateLimitationsWarningDescription": "With this feature, you can invite only existing users on the portal. After creating a room, you will not be able to change the list of users.",
"ThirdPartyStorageTitle": "Third party storage",
"ThirdPartyStorageDescription": "Use third-party services as data storage for this room. A new folder for storing this rooms data will be created in the connected storage",
"ThirdPartyStorageComboBoxPlaceholder": "Select storage",
"ThirdPartyStorageNoStorageAlert": "No storage is connected in the portal Settings. Go to the Integrations section to enable data storage on a third-party",
"ThirdPartyStorageNoStorageAlertLink": "Third-party services",
"ThirdPartyStorageRememberChoice": "Remember this choice for new rooms",
"ThirdPartyStoragePermanentSettingDescription": "Files are stored in a third-party {{thirdpartyTitle}} storage in the \"{{thirdpartyFolderName}}\" folder.\n<strong>{{thirdpartyPath}}</strong>",
"FolderNameTitle": "Folder Name",
"FolderNameDescription": "A new folder for storing this rooms data will be created in the connected storage",
"CustomRoomDescription": "Apply your own settings to use this room for any custom purpose",
"CustomRoomTitle": "Custom room",
"DropzoneTitleExsts": "(JPG or PNG, max 1 MB)",
"DropzoneTitleLink": "Select new image",
"DropzoneTitleSecondary": "or drop file here",
"DropzoneTitleExsts": "(JPG or PNG, max 1 MB)"
"FillingFormsRoomDescription": "Build, share and fill document templates or work with the ready presets to quickly create documents of any type",
"FillingFormsRoomTitle": "Filling forms room",
"FolderNameDescription": "A new folder for storing this rooms data will be created in the connected storage",
"FolderNameTitle": "Folder Name",
"MakeRoomPrivateDescription": "All files in this room will be encrypted",
"MakeRoomPrivateLimitationsWarningDescription": "With this feature, you can invite only existing users on the portal. After creating a room, you will not be able to change the list of users.",
"MakeRoomPrivateTitle": "Make the Room Private",
"NamePlaceholder": "Enter name",
"ReviewRoomDescription": "Request a review or comments on the documents",
"ReviewRoomTitle": "Review room",
"RoomEditing": "Room editing",
"TagsPlaceholder": "Add a tag",
"ThirdPartyStorageComboBoxPlaceholder": "Select storage",
"ThirdPartyStorageDescription": "Use third-party services as data storage for this room. A new folder for storing this rooms data will be created in the connected storage",
"ThirdPartyStorageNoStorageAlert": "No storage is connected in the portal Settings. Go to the Integrations section to enable data storage on a third-party",
"ThirdPartyStorageNoStorageAlertLink": "Third-party services",
"ThirdPartyStoragePermanentSettingDescription": "Files are stored in a third-party {{thirdpartyTitle}} storage in the \"{{thirdpartyFolderName}}\" folder.\n<strong>{{thirdpartyPath}}</strong>",
"ThirdPartyStorageRememberChoice": "Remember this choice for new rooms",
"ThirdPartyStorageTitle": "Third party storage",
"ViewOnlyRoomDescription": "Share any ready documents, reports, documentation, and other files for viewing",
"ViewOnlyRoomTitle": "View-only room"
}

View File

@ -1,5 +1,6 @@
{
"DeleteUser": "Delete user",
"DeleteUserDataConfirmation": "",
"DeleteUserMessage": "{{userCaption}} <strong>{{user}}</strong> will be deleted. User personal documents which are available to others will be deleted. To avoid this, you must start the data reassign process before deleting.",
"SuccessfullyDeleteUserInfoMessage": "The user has been successfully deleted"
}

View File

@ -1,5 +1,6 @@
{
"DeleteGroupUsersSuccessMessage": "Users have been successfully deleted.",
"DeleteUserDataConfirmation": "",
"DeleteUsers": "Delete users",
"DeleteUsersMessage": "The selected disabled users will be deleted from the portal. Personal documents of these users which are available to others will be deleted. To avoid this, you must start the data transfer process before deleting."
}

View File

@ -1,8 +1,8 @@
{
"ChooseFormatText": "Choose the format for each file to be downloaded",
"ConvertInto": "",
"ConvertMessage": "If you choose to convert the file to a format different from the original, some data might be lost.",
"ConvertToZip": "Files will be compressed into the .zip file",
"CustomFormat": "Custom format",
"OriginalFormat": "Original format",
"Other": "Other"
"OriginalFormat": "Original format"
}

View File

@ -5,9 +5,9 @@
"Archives": "Archives",
"BackToParentFolderButton": "Back to parent folder",
"ByAuthor": "Author",
"ByOwner": "Owner",
"ByCreationDate": "Created",
"ByLastModifiedDate": "Modified",
"ByOwner": "Owner",
"ByTitle": "Title",
"CollaborationRooms": "Collaboration",
"CommonEmptyContainerDescription": "'Common' section contains files shared to all users by the portal admin. Only portal admins can create files there. Users can be granted Full access to a certain folder within the section. This way they will be able to create/upload files in this very folder. ",
@ -57,6 +57,7 @@
"NoSubfolders": "No subfolders",
"Open": "Open",
"OpenLocation": "Open location",
"Pin": "Pin to top",
"Presentation": "Presentation",
"Preview": "Preview",
"PrivateRoomDescriptionEncrypted": "Encrypted editing and real-time collaboration.",
@ -65,13 +66,14 @@
"PrivateRoomDescriptionUnbreakable": "Unbreakable AES-256 algorithm.",
"PrivateRoomHeader": "Welcome to ONLYOFFICE private room where every symbol you type is encrypted",
"PrivateRoomSupport": "Work in Private Room is available via {{organizationName}} desktop app. <3>Instructions</3>",
"Pin": "Pin to top",
"RecentEmptyContainerDescription": "'Recent' section shows you last viewed or edited files.",
"RemoveFromFavorites": "Remove from favorites",
"RemoveFromList": "Remove from list",
"RemovedFromFavorites": "Removed from favorites",
"Rename": "Rename",
"ReviewRooms": "Review",
"RoomRemoved": "Room removed",
"RoomsRemoved": "Rooms removed",
"SendByEmail": "Send by email",
"Share": "Share",
"SharedEmptyContainerDescription": "The 'Shared with Me' section shows files shared to you by teammates. If you haven't seen the latest changes, they are marked as new. You can remove the files from the list using the context menu. ",

View File

@ -1,5 +1,6 @@
{
"EmptyScreenDescription": "Please check your Internet connection and refresh the page or try later",
"FormTemplateInfo": "",
"GalleryEmptyScreenDescription": "Select any form template to see the details",
"GalleryEmptyScreenHeader": "Failed to load form templates",
"TemplateInfo": "Template info"

View File

@ -1,4 +1,5 @@
{
"Hotkeys": "",
"HotkeysActions": "Taking action on selected items",
"HotkeysActionsInPreview": "Other actions",
"HotkeysApplicationActions": "Application actions",

View File

@ -6,6 +6,7 @@
"ItemsSelected": "Items selected",
"LastModifiedBy": "Last modified by",
"Members": "members",
"OFORMsDescription": "",
"OpenSharingSettings": "Open sharing settings",
"SelectedUsers": "Selected users",
"SystemProperties": "System properties",

View File

@ -10,13 +10,13 @@
"LblSendMessage": "Send message",
"LblSetActive": "Set active",
"LblSetDisabled": "Set disabled",
"Manager": "Manager",
"MakeInvitationLink": "Create invitation link",
"Manager": "Manager",
"MessageEmailActivationInstuctionsSentOnEmail": "The email activation instructions have been sent to the <1>{{email}}</1> email address",
"NotFoundDescription": "Try a different filter or clear it to view all people in the section.",
"NotFoundUsersDescription": "No people matching you filter can be displayed. Please select other filter options or clear filter to view all the people in this section",
"NotFoundTitle": "No teammates found",
"NotFoundUsers": "No users found",
"NotFoundUsersDescription": "No people matching you filter can be displayed. Please select other filter options or clear filter to view all the people in this section",
"ReassignmentData": "Data reassignment",
"SuccessfullyRemovedGroup": "Group has been removed successfully",
"UserStatus": "Status"

View File

@ -1,13 +1,13 @@
{
"AllAccounts": "All accounts",
"AllUsers": "All users",
"CustomAllGroups": "All {{ groupsCaption, lowercase }}",
"EmptyDescription": "The list of users previously invited to DocSpace or separate rooms will appear here. You will be able to invite these users for collaboration at any time.",
"EmptyHeader": "No other accounts here yet",
"EmptySearchUsersResult": "There are no users with such name",
"EmptyUsers": "There are no users",
"SearchUsersPlaceholder": "Search users",
"ListAccounts": "List accounts",
"AllAccounts": "All accounts",
"EmptyHeader": "No other accounts here yet",
"EmptyDescription": "The list of users previously invited to DocSpace or separate rooms will appear here. You will be able to invite these users for collaboration at any time.",
"SearchEmptyDescription": "No people matching your filter can be displayed in this section. Please select other filter options or clear filter to view all the people in this section.",
"SearchEmptyHeader": "No users found",
"SearchEmptyDescription": "No people matching your filter can be displayed in this section. Please select other filter options or clear filter to view all the people in this section."
"SearchUsersPlaceholder": "Search users"
}

View File

@ -1,4 +1,4 @@
{
"PortalRestoring": "Portal restoring",
"PreparationPortalDescription": "Once the restore process is over, you'll be automatically redirected to your portal."
}
}

View File

@ -1,7 +1,7 @@
{
"RoomList": "Room list",
"EmptyRoomsHeader": "No rooms here yet",
"EmptyRoomsDescription": "Please create the first room in Shared.",
"SearchEmptyRoomsHeader": "Nothing found",
"SearchEmptyRoomsDescription": "No rooms match this filter. Try a different one or clear filter to view all rooms."
"EmptyRoomsHeader": "No rooms here yet",
"RoomList": "Room list",
"SearchEmptyRoomsDescription": "No rooms match this filter. Try a different one or clear filter to view all rooms.",
"SearchEmptyRoomsHeader": "Nothing found"
}

View File

@ -1,3 +1,4 @@
{
"SelectDOCXFormat": "Select the file in .DOCX format"
"SelectDOCXFormat": "Select the file in .DOCX format",
"SelectFile": ""
}

View File

@ -7,23 +7,13 @@
"AccessRightsSubTitle": "This section allows you to transfer portal owner rights and manage administrator access rights.",
"AccessRightsUsersFromList": "{{users}} from the list",
"AccessSettings": "Access settings",
"AmazonServiceTip": "This is an optional property; change it only if you want to try a different service endpoint",
"AmazonBucketTip": "Enter the unique name of the Amazon S3 bucket where you want to store your backups",
"AmazonRegionTip": "Enter the AWS region where your Amazon bucket resides",
"AmazonHTTPTip": "If this property is set to true, the client attempts to use HTTP protocol, if the target endpoint supports it. By default, this property is set to false",
"AmazonForcePathStyleTip": "When true, requests will always use path style addressing",
"AmazonSSETip": "The Server-side encryption algorithm used when storing this object in S3",
"AmazonSSE": "Server-Side Encryption",
"AmazonCSE": "Client-Side Encryption",
"AddAdmins": "Add admins",
"AddAllowedIP": "Add allowed IP address",
"AdditionalResources": "Additional resources",
"AdditionalResourcesDescription": "Choose whether you want to display links to additional resources in DocSpace menu.",
"AddName": "Add Name",
"AddTrustedDomain": "Add trusted domain",
"AdminInModules": "Admin in modules",
"AuditTrailNav": "Audit Trail",
"AuditSubheader": "The subsection allows you to browse through the list of the latest changes (creation, modification, deletion etc.) made by users to the entities (rooms, opportunities, files etc.) on your portal.",
"AuditDownloadText": "You can download the report for the data available during the selected storage period to view the detailed statistics. Please note, that the logging is currently enabled for the Documents, Projects, CRM and People modules, as well as for portal settings.",
"AdministratorsAddedSuccessfully": "Administrators added successfully",
"AdministratorsRemovedSuccessfully": "Administrators removed successfully",
"Admins": "Admins",
@ -31,7 +21,18 @@
"AdminsMessageDescription": "Administrator Message Settings is a way to contact the portal administrator.",
"AdminsMessageHelper": "Enable this option to display the contact form on the Sign In page so that people could send the message to the portal administrator in case they have troubles accessing the portal.",
"AllDomains": "Any domains",
"AmazonBucketTip": "Enter the unique name of the Amazon S3 bucket where you want to store your backups",
"AmazonCSE": "Client-Side Encryption",
"AmazonForcePathStyleTip": "When true, requests will always use path style addressing",
"AmazonHTTPTip": "If this property is set to true, the client attempts to use HTTP protocol, if the target endpoint supports it. By default, this property is set to false",
"AmazonRegionTip": "Enter the AWS region where your Amazon bucket resides",
"AmazonSSE": "Server-Side Encryption",
"AmazonSSETip": "The Server-side encryption algorithm used when storing this object in S3",
"AmazonServiceTip": "This is an optional property; change it only if you want to try a different service endpoint",
"Appearance": "Appearance",
"AuditDownloadText": "You can download the report for the data available during the selected storage period to view the detailed statistics. Please note, that the logging is currently enabled for the Documents, Projects, CRM and People modules, as well as for portal settings.",
"AuditSubheader": "The subsection allows you to browse through the list of the latest changes (creation, modification, deletion etc.) made by users to the entities (rooms, opportunities, files etc.) on your portal.",
"AuditTrailNav": "Audit Trail",
"AutoBackup": "Automatic backup",
"AutoBackupDescription": "Use this option for automatic backup of the portal data.",
"AutoBackupHelp": "The <strong>Automatic backup</strong> option is used to automate the portal data backup process to be able to restore it later to a local server.",
@ -44,6 +45,7 @@
"BackupList": "Backup List",
"BackupListWarningText": "If you delete any items from the list, their corresponding files will also be deleted. This action cannot be undone. To delete all the files use the link:",
"Branding": "Branding",
"BrandingSubtitle": "Use this option to provide on-brand experience to your users. These settings will be effective for all of your portals.",
"BrowserNoCanvasSupport": "Your browser does not support the HTML5 canvas tag.",
"BreakpointWarningText": "This section is only available in desktop version",
"BreakpointWarningTextPrompt": "Please use the desktop site to access",
@ -54,8 +56,8 @@
"Characters": "{{length}} characters",
"ChooseOwner": "Choose owner",
"ClearBackupList": "Delete all backups",
"CompanyNameForCanvasLogo": "Company name",
"CompanyInfoSettings": "Company info settings",
"CompanyNameForCanvasLogo": "Company name",
"ConfirmEmailSended": "Confirmation e-mail has been sent to {{ownerName}}",
"PortalDeletionEmailSended": "A link to confirm the operation has been sent to {{ownerEmail}} (the email address of the portal owner).",
"CustomDomains": "Custom domains",
@ -77,6 +79,10 @@
"DNSSettingsDescription": "DNS Settings is a way to set an alternative URL for your portal.",
"DNSSettingsMobile": "Send your request to our support team, and our specialists will help you with the settings.",
"DNSSettingsTooltip": "DNS Settings allow you to set an alternative URL address for your ONLYOFFICE portal. Send your request to our support team, and our specialists will help you with the settings.<2>{{learnMore}}</2>",
"DataBackup": "Data backup",
"DeactivateOrDeletePortal": "Deactivate or delete portal.",
"Disabled": "Disabled",
"DocSpaceMenu": "DocSpace menu",
"DocumentsAdministratorsCan": "Documents administrators can link Dropbox, Box, and other accounts to Common Documents and set up access rights in this section",
"DownloadCopy": "Download the copy",
"DownloadReportBtn": "Download and open report",
@ -89,12 +95,15 @@
"EveryDay": "Every day",
"EveryMonth": "Every month",
"EveryWeek": "Every week",
"ForbiddenPageDescription": "To make changes to this section, go to the desktop version.",
"ForbiddenPageHeader": "Section unavailable.",
"ForcePathStyle": "Force Path Style",
"FullAccessTooltip": "Have the same access rights as the portal owner, except the right to:",
"Group": "Group",
"GroupLead": "Group Lead",
"Groups": "Groups",
"Guests": "Guests",
"ImageSizeError": "Image size exceed the allowed parameters",
"IPSecurity": "IP Security",
"IPSecurityDescription": "IP Security is used to restrict login to the portal from all IP addresses except certain addresses.",
"IPSecurityHelper": "You can set the allowed IP addresses using either exact IP addresses in the IPv4 format (#.#.#.#, where # is a numeric value from 0 to 255) or IP range (in the #.#.#.#-#.#.#.# format).",
@ -103,17 +112,19 @@
"LanguageAndTimeZoneSettingsDescription": "Language and Time Zone Settings is a way to change the language of the whole portal for all portal users and to configure the time zone so that all the events of the portal will be shown with the correct date and time.",
"LanguageTimeSettingsTooltip": "<0>{{text}}</0> is a way to change the language of the whole portal for all portal users and to configure the time zone so that all the events of the ONLYOFFICE portal will be shown with the correct date and time.",
"LanguageTimeSettingsTooltipDescription": "To make the parameters you set take effect click the <1>{{save}}</1> button at the bottom of the section.<3>{{learnMore}}</3>",
"LocalFile": "Local file",
"Lifetime": "Lifetime (min)",
"LogoDark": "Logo for the About/Login page",
"LogoDocsEditor": "Logo for the editors header",
"LogoFavicon": "Favicon",
"LocalFile": "Local file",
"LoginDownloadText": "You can download the report for the data available during the selected storage period to view the detailed statistics.",
"LoginHistoryTitle": "Login History",
"StoragePeriod": "Storage period",
"LoginLatestText": "Only the latest activity is shown on this page. The data itself is stored during the period specified in the field below (max 180 days).",
"LoginSubheaderTitle": "This subsection is used to monitor the latest user login activity including successful logins and failed attempts with an indication of reasons.",
"LoginDownloadText": "You can download the report for the data available during the selected storage period to view the detailed statistics.",
"LogoAbout": "Logo for the About page",
"LogoCompact": "Logo for the compact left menu",
"LogoDocsEditor": "Logo for the editors header",
"LogoDocsEditorEmbedded": "Logo for the editors header - embedded mode",
"LogoFavicon": "Favicon",
"LogoLightSmall": "Logo for the portal header",
"LogoLogin": "Logo for the Login page",
"LogoSettings": "Portal Logo Settings",
"LogoUploadRecommendation": "We recommended that you use images in <1>PNG</1> format with transparent background",
"ManagementCategoryDataManagement": "Data Management",
@ -176,6 +187,12 @@
"SettingPasswordStrength": "Setting password strength",
"SettingPasswordStrengthDescription": "Password Strength Settings is a way to determine the effectiveness of a password in resisting guessing and brute-force attacks.",
"SettingPasswordStrengthHelper": "Use the Minimum Password Length bar to determine how long the password should be. Check the appropriate boxes below to determine the character set that must be used in the password.",
"ShowFeedbackAndSupport": "Show Feedback & Support link",
"ShowSampleDocuments": "Show sample documents in new rooms",
"ShowVideoGuides": "Show link to Video Guides",
"ShowHelpCenter": "Show link to Help Center",
"SingleSignOn": "Single Sign-On",
"StoragePeriod": "Storage period",
"StudioTimeLanguageSettings": "Language and Time Zone Settings",
"SuccessfullySaveGreetingSettingsMessage": "Welcome Page settings have been successfully saved",
"SuccessfullySavePortalNameMessage": "Portal has been renamed successfully",
@ -192,12 +209,12 @@
"ThirdPartyHowItWorks": "How It Works?",
"ThirdPartyPropsActivated": "Updated successfully",
"ThirdPartyPropsDeactivated": "Deactivated successfully",
"ThirdPartyTitle": "Third-party services",
"ThirdPartyTitleDescription": "With Authorization keys, you can connect third-party services to your portal. Sign in easily with Facebook, Twitter, or LinkedIn; add Dropbox, OneDrive, etc. to work with files stored there from the Documents module.",
"ThirdPartyResource": "Third-party resource",
"ThirdPartyResourceDescription": "Backup can be saved to your third-party account (Dropbox, Box.com, OneDrive or Google Drive). You need to connect your third-party account (Dropbox, Box.com, OneDrive or Google Drive) before you will be able to save your backup there.",
"ThirdPartyStorage": "Third-party storage",
"ThirdPartyStorageDescription": "Backup can be saved to a third-party storage. Before, you need to connect the corresponding service in the 'Integration' section. Otherwise, the following settings will be inactive.",
"ThirdPartyTitle": "Third-party services",
"ThirdPartyTitleDescription": "With Authorization keys, you can connect third-party services to your portal. Sign in easily with Facebook, Twitter, or LinkedIn; add Dropbox, OneDrive, etc. to work with files stored there from the Documents module.",
"TimeZone": "Time zone",
"TrustedMail": "Trusted mail domain settings",
"TrustedMailDescription": "Trusted Mail Domain Settings is a way to specify the mail servers used for user self-registration.",
@ -213,6 +230,9 @@
"UserAgreement": "I confirm and want to proceed",
"Users": "Users",
"WhiteLabel": "White label",
"WhiteLabelSubtitle": "Enter your company name, upload the logo, and customize the styling to match your branding.",
"WhiteLabelHelper": "Use PNG images with a transparent background",
"WhiteLabelTooltip": "The sizes are shown for the Retina displays. For the displays with standard resolutions the logo width and height will be resized accordingly upon upload.",
"YouHaveUnsavedChanges": "You have unsaved changes",
"YourCurrentDomain": "Your current domain"
}

View File

@ -13,8 +13,6 @@
"EmptyFieldErrorMessage": "The field is empty",
"Encryption": "Encryption",
"FirstName": "First Name",
"ForbiddenPageDescription": "To make changes to this section, go to the desktop version.",
"ForbiddenPageHeader": "Section unavailable.",
"GenerateCertificate": "Generate New Self-Signed Certificate",
"Hide": "Hide",
"HideAdditionalParameters": "Hide advanced settings",
@ -35,7 +33,6 @@
"SPAssertionConsumerURLTooltip": "The Service provider URL address where it receives and processes assertions from the Identity provider",
"SPEntityId": "SP Entity Id (link to metadata XML)",
"SPEntityIdTooltip": "The Service provider XML URL address which can be downloaded and used by the Identity provider to unequivocally identify the SP",
"SpMetadata": "ONLYOFFICE SP Metadata",
"SPSingleLogoutURL": "SP Single Logout URL (support POST and Redirect binding):",
"SPSingleLogoutURLTooltip": "The URL used for the single logout on the Identity provider side",
"ServiceProviderSettings": "ONLYOFFICE SP Settings",
@ -45,6 +42,7 @@
"SignOnEndpointUrlTooltip": "The URL used for the single sign-on on the Identity provider side",
"Signing": "Signing",
"SigningAndEncryption": "Signing and encryption",
"SpMetadata": "ONLYOFFICE SP Metadata",
"SsoIntro": "The Single Sign-on section allows you to enable/disable third-party authentication using SAML, thereby providing a more quick, easy and secure way to access the portal for users.",
"StandardDecryptionAlgorithm": "Default Decrypt Algorithm",
"Title": "Title",

View File

@ -1,4 +0,0 @@
{
"Alert": "Alert",
"Done": "Done"
}

View File

@ -4,6 +4,7 @@
"AddOwner": "Add owner",
"ArchivingData": "Archiving data",
"ButtonShareAccess": "Sharing Settings",
"ChooseFromList": "Choose from list",
"ConnectingAccount": "Connecting account",
"Copy": "Copy",
"CopyHere": "Copy here",
@ -56,5 +57,6 @@
"TypeTitleSkyDrive": "OneDrive",
"TypeTitleWebDav": "WebDAV",
"TypeTitleYandex": "Yandex.Disk",
"TypeTitlekDrive": "kDrive"
"TypeTitlekDrive": "kDrive",
"Other": "Other"
}

View File

@ -0,0 +1,7 @@
{
"BackupPortal": "Desactivar o eliminar el portal",
"ChangeOwner": "Asignar los administradores del módulo",
"DeactivateOrDeletePortal": "Fijar derechos del acceso al modulo",
"ManagePortal": "Gestionar la configuración del portal",
"ManageUser": "Gestionar las cuentas de usuarios"
}

View File

@ -3,6 +3,5 @@
"ConvertMessage": "Si usted decide convertir el archivo en un formato diferente al original, es posible que se pierdan algunos datos.",
"ConvertToZip": "Los archivos se comprimirán en el archivo .zip",
"CustomFormat": "Formato personalizado",
"OriginalFormat": "Formato original",
"Other": "Otro"
"OriginalFormat": "Formato original"
}

View File

@ -4,4 +4,4 @@
"Error404Text": "Perdón, no se puede encontrar el recurso.",
"ErrorEmptyResponse": "Respuesta vacía",
"ErrorOfflineText": "No se ha encontrado ninguna conexión a Internet."
}
}

View File

@ -1,4 +1,4 @@
{
"PortalRestoring": "Restauración de portal",
"PreparationPortalDescription": "Una vez terminado el proceso de restauración, usted será redirigido a su portal."
}
}

View File

@ -1,4 +1,4 @@
{
{
"AccessRightsAccessToProduct": "El acceso al módulo {{product}} se otorga a",
"AccessRightsAllUsers": "Todos {{users}}",
"AccessRightsChangeOwnerConfirmText": "Los cambios se aplicarán después de la confirmación por e-mail.",
@ -7,12 +7,6 @@
"AccessRightsSubTitle": "Esta sección le permite transferir los derechos del propietario del portal y administrar los derechos de acceso del administrador.",
"AccessRightsUsersFromList": "{{users}} de la lista",
"AccessSettings": "Ajustes de acceso",
"AuditDownloadText": "Usted puede descargar el informe para los datos disponibles durante el período de almacenamiento seleccionado para ver estadísticas detalladas. Note, por favor, que el registro es actualmente activado para los módulos Documentos, Proyectos, CRM y Personas así como para los ajustes de portal.",
"AuditTrailNav": "Rastro de auditoría",
"AutoBackup": "Copia de seguridad automática",
"AutoBackupDescription": "Use esta opción para la copia de seguridad automática de los datos del portal.",
"AutoBackupHelp": "La opción <strong>Copia de seguridad automática</strong> se usa para automatizar el proceso de creación de copia de seguridad del portal para poder restaurarla más tarde en un servidor local. ",
"AutoBackupHelpNote": "Elija el almacenamiento para los datos, periodo de creación de copia y el número máximo de copias guardadas.<br/><strong>Nota:</strong> antes de guardar la copia de seguridad en una cuenta de terceros (Dropbox, Box.com, OneDrive o Google Drive), usted necesitará conectar esta cuenta a la carpeta Documentos Comunes de {{organizationName}}.",
"AddAdmins": "Añadir administradores",
"AddName": "Añadir nombre",
"AddTrustedDomain": "Añadir dominio seguro",
@ -21,6 +15,8 @@
"AdministratorsRemovedSuccessfully": "Administradores eliminados correctamente",
"Admins": "Administradores",
"AllDomains": "Cualquier dominios",
"AuditDownloadText": "Usted puede descargar el informe para los datos disponibles durante el período de almacenamiento seleccionado para ver estadísticas detalladas. Note, por favor, que el registro es actualmente activado para los módulos Documentos, Proyectos, CRM y Personas así como para los ajustes de portal.",
"AuditTrailNav": "Rastro de auditoría",
"AutoBackup": "Copia de seguridad automática",
"AutoBackupDescription": "Use esta opción para la copia de seguridad automática de los datos del portal.",
"AutoBackupHelp": "La opción <strong>Copia de seguridad automática</strong> se usa para automatizar el proceso de creación de copia de seguridad del portal para poder restaurarla más tarde en un servidor local. ",
@ -54,9 +50,9 @@
"CustomizationDescription": "Esta subsección le permite cambiar el aspecto de su portal. Puede utilizar el logotipo de su empresa, el nombre y el texto para que coincida con la marca de su organización.",
"DeactivateOrDeletePortal": "Desactivar o eliminar el portal.",
"Disabled": "Deshabilitado",
"DownloadReportBtn": "Descargar y abrir informe",
"DocumentsAdministratorsCan": "Los administradores de Documentos pueden conectar Dropbox, Box y otras cuentas a los Documentos Comunes y configurar los derechos de acceso en esta sección",
"DownloadCopy": "Descargar la copia",
"DownloadReportBtn": "Descargar y abrir informe",
"Employees": "usuarios",
"EmptyBackupList": "No hay ningunas copias de seguridad creadas todavía. Cree por lo menos una copia para que se muestre en esta lista.",
"EnableAutomaticBackup": "Active copia de seguridad automática.",
@ -77,12 +73,12 @@
"LanguageTimeSettingsTooltip": "<0>{{text}}</0> es un modo para cambiar el idioma del portal para todos los usuarios del portal y para configurar la zona horaria para que todos los eventos del portal ONLYOFFICE se muestren con la fecha y hora correctas.",
"LanguageTimeSettingsTooltipDescription": "Para activar los parámetros ingresados pulse <1>{{save}}</1> en la parte inferior de la sección.<3>{{learnMore}}</3>",
"LocalFile": "Archivo local",
"LoginDownloadText": "Usted puede descargar el informe para los datos disponibles durante el período de almacenamiento seleccionado para ver estadísticas detalladas.",
"LoginHistoryTitle": "Historial de conexiones",
"LoginLatestText": "En está página se demuestra solo la actividad más reciente. Los propios datos se almacenan durante el periodo indicarado en el campo de abajo (180 días como máximo).",
"LogoDark": "Logo para la página de entrada/acerca de",
"LogoDocsEditor": "Logo para los encabezados de los editores",
"LogoFavicon": "Favicono",
"LoginHistoryTitle": "Historial de conexiones",
"LoginLatestText": "En está página se demuestra solo la actividad más reciente. Los propios datos se almacenan durante el periodo indicarado en el campo de abajo (180 días como máximo).",
"LoginDownloadText": "Usted puede descargar el informe para los datos disponibles durante el período de almacenamiento seleccionado para ver estadísticas detalladas.",
"LogoLightSmall": "Logo para el encabezado del portal",
"LogoSettings": "Ajustes de logo del portal",
"LogoUploadRecommendation": "Le recomendamos que utilice imágenes en formato <1>PNG</1> con fondo transparente",
@ -133,11 +129,11 @@
"SettingPasswordStrength": "Estableciendo la seguridad de la contraseña",
"SettingPasswordStrengthDescription": "Los ajustes de la seguridad de la contraseña son una forma de determinar la eficacia de una contraseña para resistir los ataques de adivinación y de fuerza bruta.",
"SettingPasswordStrengthHelper": "Utilice la barra de longitud mínima de la contraseña para determinar la longitud que debe tener la contraseña. Marque las casillas correspondientes a continuación para determinar el conjunto de caracteres que debe utilizarse en la contraseña.",
"StoragePeriod": "Período de almacenamiento ",
"StudioTimeLanguageSettings": "Ajustes de idioma y zona horaria",
"SuccessfullySaveGreetingSettingsMessage": "Los ajustes de la página de bienvenida han sido guardados con éxito",
"SuccessfullySavePortalNameMessage": "El portal ha sido renombrado con éxito",
"SuccessfullySaveSettingsMessage": "Ajustes se han actualizado correctamente",
"StoragePeriod": "Período de almacenamiento ",
"TeamTemplate": "Plantilla de equipo",
"TeamTemplateSettingsDescription": "La plantilla de equipo es una forma personalizable de nombrar la organización (o grupo), sus miembros y sus actividades. Despliegue la lista de plantillas para elegir uno de los preajustes disponibles o introduzca los nombres usted mismo seleccionando la opción personalizada de la lista.",
"Template": "Plantilla",

View File

@ -1,4 +0,0 @@
{
"Alert": "Alerta",
"Done": "Listo"
}

View File

@ -55,5 +55,6 @@
"TypeTitleSkyDrive": "OneDrive",
"TypeTitleWebDav": "WebDAV",
"TypeTitleYandex": "Yandex.Disk",
"TypeTitlekDrive": "kDrive"
"TypeTitlekDrive": "kDrive",
"Other": "Otro"
}

View File

@ -0,0 +1,7 @@
{
"BackupPortal": "Varmuuskopioi portaalin tiedot",
"ChangeOwner": "Nimeä moduulin järjestelmänvalvojat",
"DeactivateOrDeletePortal": "Määritä moduulien käyttöoikeudet",
"ManagePortal": " Hallitse portaalin asetuksia",
"ManageUser": " Hallitse käyttäjätilejä"
}

View File

@ -3,6 +3,5 @@
"ConvertMessage": "Jos päätät muuntaa tiedoston muuhun muotoon kuin alkuperäinen, jotkut tiedot saattavat kadota.",
"ConvertToZip": "Tiedostot pakataan .zip -tiedostoon",
"CustomFormat": "Muokattu muoto",
"OriginalFormat": "Alkuperäinen muoto",
"Other": "Muu"
"OriginalFormat": "Alkuperäinen muoto"
}

View File

@ -4,4 +4,4 @@
"Error404Text": "Valitettavasti resurssia ei löydy.",
"ErrorEmptyResponse": "Tyhjä vastaus",
"ErrorOfflineText": "Internet-yhteyttä ei löydy."
}
}

View File

@ -1,4 +1,4 @@
{
"PortalRestoring": "Portaalin palauttaminen",
"PreparationPortalDescription": "Siinä vaiheessa kun palautuksen prosessi on ohi, sinut siirretään automaattisesti portaaliisi."
}
}

View File

@ -1,4 +1,4 @@
{
{
"AccessRightsAccessToProduct": "Pääsy moduuliin {{product}} on myönnetty",
"AccessRightsAllUsers": "Kaikki {{users}}",
"AccessRightsChangeOwnerConfirmText": "Muutokset otetaan käyttöön sähköpostivahvistuksen jälkeen.",
@ -10,12 +10,12 @@
"AddAdmins": "Lisätä järjestelmänvalvojia",
"AddName": "Lisätä nimiä",
"AddTrustedDomain": "Lisää luotettu verkkotunnus",
"AuditTrailNav": "Tapahtumien seuranta",
"AdminInModules": "Ylläpitää moduuleja",
"AdministratorsAddedSuccessfully": "Järjestelmänvalvojat lisätty onnistuneesti",
"AdministratorsRemovedSuccessfully": "Järjestelmänvalvojat poistettiin onnistuneesti",
"Admins": "Järjestelmänvalvojat",
"AllDomains": "Kaikki verkkotunnukset",
"AuditTrailNav": "Tapahtumien seuranta",
"AutoBackup": "Automaattinen varmuuskopiointi",
"AutoBackupDescription": "Käytä tätä vaihtoehtoa portaalin tietojen automaattiseen varmuuskopiointiin",
"AutoBackupHelp": "<strong>Automaattisen varmuuskopioinnin</strong> vaihtoehtoa käytetään tallentamaan portaalin tietoja automaattisesti, jotta ne voidaan palauttaa myöhemmin paikalliseen palvelimeen.",
@ -49,10 +49,9 @@
"CustomizationDescription": "Tämän osion avulla voit muuttaa portaalisi ulkoasua. Voit käyttää oman yrityksesi logoa, nimeä ja tekstiä organisaatiobrändin mukaan.",
"DeactivateOrDeletePortal": "Ota portaali pois käytöstä tai poista se.",
"Disabled": "Poistettu käytöstä",
"DownloadReportBtn": "Lataa ja avaa raportti",
"DocumentsAdministratorsCan": "tässä osiossa asiakirjojen järjestelmänvalvojat voivat linkittää Dropbox-, Box- ja muut tilit ”yhteisiin asiakirjoihin” ja määrittää käyttöoikeudet",
"DocumentsAdministratorsCan": "Tässä osiossa asiakirjojen järjestelmänvalvojat voivat linkittää Dropbox-, Box- ja muut tilit yhteisiin asiakirjoihin ja määrittää käyttöoikeudet",
"DownloadCopy": "Lataa kopio",
"DownloadReportBtn": "Lataa ja avaa raportti",
"Employees": "Käyttäjät",
"EmptyBackupList": "Ei varmuuskopioita. Luo yksi tai useampi varmuuskopio ja ne näkyvät tässä listassa.",
"EnableAutomaticBackup": "Ota automaattinen varmuuskopiointi käyttöön.",
@ -73,10 +72,10 @@
"LanguageTimeSettingsTooltip": "<0>{{text}}</0> voidaan vaihtaa koko sivuston kieli kaikille käyttäjille ja määrittää aikavyöhyke siten, että kaikki ONLYOFFICE tapahtumat näytetään oikealla päivämäärällä ja ajalla.",
"LanguageTimeSettingsTooltipDescription": "Avaa alasvetovalikko määrittääksesi tarpeelliset parametrit. Ota tekemäsi asetukset käyttöön klikkaamalla <1>{{save}}</1> painiketta.<3>{{learnMore}}</3>",
"LocalFile": "Paikallinen tiedosto",
"LoginHistoryTitle": "Kirjautumishistoria",
"LogoDark": "Tietoja/kirjautumissivun logo",
"LogoDocsEditor": "Toimittajan otsikon logo",
"LogoFavicon": "Favicon",
"LoginHistoryTitle": "Kirjautumishistoria",
"LogoLightSmall": "Portaalin otsikon logo",
"LogoSettings": "Portaalin logon asetukset",
"LogoUploadRecommendation": "Suosittelemme, että käytät kuvia <1>PNG</1>-muodossa läpinäkyvällä taustalla",

View File

@ -1,4 +0,0 @@
{
"Alert": "Varoitus",
"Done": "Tehty"
}

View File

@ -55,5 +55,6 @@
"TypeTitleSkyDrive": "OneDrive",
"TypeTitleWebDav": "WebDAV",
"TypeTitleYandex": "Yandex.Disk",
"TypeTitlekDrive": "kDrive"
"TypeTitlekDrive": "kDrive",
"Other": "Muu"
}

View File

@ -0,0 +1,7 @@
{
"BackupPortal": "Créer une sauvegarde du portail",
"ChangeOwner": "Nommer les administrateurs du module",
"DeactivateOrDeletePortal": "Définir les droits d'accès aux modules",
"ManagePortal": "Gérer la configuration du portail",
"ManageUser": "Gérer les comptes d'utilisateurs"
}

Some files were not shown because too many files have changed in this diff Show More