Merge branch 'hotfix/v1.0.1' of github.com:ONLYOFFICE/DocSpace into hotfix/v1.0.1

This commit is contained in:
Elyor Djalilov 2023-04-28 19:19:22 +05:00
commit ee8188b737
297 changed files with 7552 additions and 4054 deletions

View File

@ -2,7 +2,14 @@ name: 4testing multiarch-build
on:
push:
branches: ["hotfix/v1.0.1"]
branches:
- 'hotfix/v**'
- 'release/v**'
env:
DOCKER_PATH: "/build/install/docker"
REPO: "onlyoffice"
DOCKER_IMAGE_PREFIX: "4testing-docspace"
DOCKERFILE: "Dockerfile.app"
jobs:
build:
@ -25,21 +32,11 @@ jobs:
password: ${{ secrets.DOCKERHUB_TOKEN }}
- name: Build 4testing
run: |
export BUILD_NUMBER="$(date "+%Y%m%d%H")"
cd ./build/install/docker
REPO="onlyoffice" \
DOCKER_IMAGE_PREFIX="4testing-docspace" \
DOCKER_TAG=v1.0.1 \
DOCKERFILE="Dockerfile.app" \
cd .${DOCKER_PATH}
export DOCKER_TAG=$(echo "${GITHUB_REF_NAME}" | sed '/^release\b\|^hotfix\b/s/release.*\/\|hotfix.*\///')
docker buildx bake -f build.yml \
--set *.args.GIT_BRANCH=$GITHUB_REF_NAME \
--set *.platform=linux/amd64 \
--push
REPO="onlyoffice" \
DOCKER_IMAGE_PREFIX="4testing-docspace" \
DOCKER_TAG=v1.0.1-$BUILD_NUMBER \
DOCKERFILE="Dockerfile.app" \
docker buildx bake -f build.yml \
--set *.args.GIT_BRANCH=$GITHUB_REF_NAME \
--push
shell: bash

View File

@ -34,9 +34,9 @@
PARAMETERS="";
DOCKER="";
LOCAL_SCRIPTS="false"
HELP="false";
product="docspace"
GIT_BRANCH="develop"
FILE_NAME="$(basename "$0")"
while [ "$1" != "" ]; do
case $1 in
@ -56,10 +56,23 @@ while [ "$1" != "" ]; do
fi
;;
"-?" | -h | --help )
HELP="true";
docker )
DOCKER="true";
PARAMETERS="$PARAMETERS -ht install-Docker.sh";
shift && continue
;;
package )
DOCKER="false";
shift && continue
;;
"-?" | -h | --help )
if [ -z "$DOCKER" ]; then
echo "Run 'bash $FILE_NAME docker' to install docker version of application or 'bash $FILE_NAME package' to install deb/rpm version."
echo "Run 'bash $FILE_NAME docker -h' or 'bash $FILE_NAME package -h' to get more details."
exit 0;
fi
PARAMETERS="$PARAMETERS -ht $FILE_NAME";
;;
esac
PARAMETERS="$PARAMETERS ${1}";
@ -123,7 +136,7 @@ if ! command_exists curl ; then
install_curl;
fi
if [ "$HELP" == "false" ]; then
if [ -z "$DOCKER" ]; then
read_installation_method;
fi

View File

@ -21,6 +21,27 @@ while [ "$1" != "" ]; do
shift
fi
;;
-je | --jwtenabled )
if [ "$2" != "" ]; then
DS_JWT_ENABLED=$2
shift
fi
;;
-jh | --jwtheader )
if [ "$2" != "" ]; then
DS_JWT_HEADER=$2
shift
fi
;;
-js | --jwtsecret )
if [ "$2" != "" ]; then
DS_JWT_SECRET=$2
shift
fi
;;
-gb | --gitbranch )
if [ "$2" != "" ]; then
@ -47,9 +68,12 @@ while [ "$1" != "" ]; do
-? | -h | --help )
echo " Usage $0 [PARAMETER] [[PARAMETER], ...]"
echo " Parameters:"
echo " -it, --installation_type installation type (COMMUNITY|ENTERPRISE|DEVELOPER)"
echo " -u, --update use to update existing components (true|false)"
echo " -ls, --local_scripts use 'true' to run local scripts (true|false)"
echo " -je, --jwtenabled specifies the enabling the JWT validation (true|false)"
echo " -jh, --jwtheader defines the http header that will be used to send the JWT"
echo " -js, --jwtsecret defines the secret key to validate the JWT in the request"
echo " -ls, --local_scripts use 'true' to run local scripts (true|false)"
echo " -skiphc, --skiphardwarecheck use to skip hardware check (true|false)"
echo " -?, -h, --help this help"
echo
exit 0

View File

@ -20,8 +20,8 @@ if [ "$DOCUMENT_SERVER_INSTALLED" = "false" ]; then
DS_DB_PWD=$DS_COMMON_NAME;
DS_JWT_ENABLED=${DS_JWT_ENABLED:-true};
DS_JWT_SECRET="$(cat /dev/urandom | tr -dc A-Za-z0-9 | head -c 32)";
DS_JWT_HEADER="AuthorizationJwt";
DS_JWT_SECRET=${DS_JWT_SECRET:-$(cat /dev/urandom | tr -dc A-Za-z0-9 | head -c 32)};
DS_JWT_HEADER=${DS_JWT_HEADER:-AuthorizationJwt};
if ! su - postgres -s /bin/bash -c "psql -lqt" | cut -d \| -f 1 | grep -q ${DS_DB_NAME}; then
su - postgres -s /bin/bash -c "psql -c \"CREATE USER ${DS_DB_USER} WITH password '${DS_DB_PWD}';\""

View File

@ -285,6 +285,20 @@ while [ "$1" != "" ]; do
fi
;;
-jh | --jwtheader )
if [ "$2" != "" ]; then
DOCUMENT_SERVER_JWT_HEADER=$2
shift
fi
;;
-js | --jwtsecret )
if [ "$2" != "" ]; then
DOCUMENT_SERVER_JWT_SECRET=$2
shift
fi
;;
-? | -h | --help )
echo " Usage: bash $HELP_TARGET [PARAMETER] [[PARAMETER], ...]"
echo
@ -292,10 +306,13 @@ while [ "$1" != "" ]; do
echo " -hub, --hub dockerhub name"
echo " -un, --username dockerhub username"
echo " -p, --password dockerhub password"
echo " -u, --update use to update existing components (true|false)"
echo " -ids, --installdocspace install or update $PRODUCT (true|false)"
echo " -tag, --dockertag select the version to install $PRODUCT (latest|develop|version number)"
echo " -tag, --dockertag select the $PRODUCT version (latest|version number)"
echo " -idocs, --installdocumentserver install or update document server (true|false)"
echo " -di, --documentserverimage document server image name"
echo " -jh, --jwtheader defines the http header that will be used to send the JWT"
echo " -js, --jwtsecret defines the secret key to validate the JWT in the request"
echo " -imysql, --installmysql install or update mysql (true|false)"
echo " -irb, --installrabbitmq install or update rabbitmq (true|false)"
echo " -ird, --installredis install or update redis (true|false)"
@ -304,14 +321,13 @@ while [ "$1" != "" ]; do
echo " -mysqlu, --mysqluser $PRODUCT database user"
echo " -mysqlp, --mysqlpassword $PRODUCT database password"
echo " -mysqlh, --mysqlhost mysql server host"
echo " -dsh, --docspdcehost $PRODUCT host"
echo " -dsh, --docspacehost $PRODUCT host"
echo " -esh, --elasticsearchhost elasticsearch host"
echo " -env, --environment $PRODUCT environment"
echo " -skiphc, --skiphardwarecheck skip hardware check (true|false)"
echo " -ip, --internalport internal $PRODUCT port (default value 5050)"
echo " -ep, --externalport external $PRODUCT port (default value 80)"
echo " -mk, --machinekey setting for core.machinekey"
echo " -ls, --local_scripts run the installation from local scripts"
echo " -dbm, --databasemigration database migration (true|false)"
echo " -?, -h, --help this help"
echo
@ -543,7 +559,7 @@ install_docker_compose () {
}
check_ports () {
RESERVED_PORTS=(443 2181 2888 3306 3888 8081 8099 9092 9200 9300 9800 9899 9999 33060);
RESERVED_PORTS=(3306 8092);
ARRAY_PORTS=();
USED_PORTS="";
@ -746,11 +762,35 @@ set_jwt_secret () {
fi
fi
if [[ -z ${JWT_SECRET} ]] && [[ "$UPDATE" != "true" ]]; then
if [[ -z ${JWT_SECRET} ]]; then
DOCUMENT_SERVER_JWT_SECRET=$(get_random_str 32);
fi
}
set_jwt_header () {
CURRENT_JWT_HEADER="";
if [[ -z ${JWT_HEADER} ]]; then
CURRENT_JWT_HEADER=$(get_container_env_parameter "${PACKAGE_SYSNAME}-document-server" "JWT_HEADER");
if [[ -n ${CURRENT_JWT_HEADER} ]]; then
DOCUMENT_SERVER_JWT_HEADER="$CURRENT_JWT_HEADER";
fi
fi
if [[ -z ${JWT_HEADER} ]]; then
CURRENT_JWT_HEADER=$(get_container_env_parameter "${PACKAGE_SYSNAME}-api" "DOCUMENT_SERVER_JWT_HEADER");
if [[ -n ${CURRENT_JWT_HEADER} ]]; then
DOCUMENT_SERVER_JWT_HEADER="$CURRENT_JWT_HEADER";
fi
fi
if [[ -z ${JWT_HEADER} ]]; then
DOCUMENT_SERVER_JWT_HEADER="AuthorizationJwt"
fi
}
set_core_machinekey () {
CURRENT_CORE_MACHINEKEY="";
@ -957,9 +997,9 @@ start_installation () {
root_checking
get_os_info
check_os_info
check_kernel
if [ "$UPDATE" != "true" ]; then
check_ports
fi
@ -984,6 +1024,7 @@ start_installation () {
download_files
set_jwt_secret
set_jwt_header
set_core_machinekey

View File

@ -31,6 +31,27 @@ while [ "$1" != "" ]; do
shift
fi
;;
-je | --jwtenabled )
if [ "$2" != "" ]; then
JWT_ENABLED=$2
shift
fi
;;
-jh | --jwtheader )
if [ "$2" != "" ]; then
JWT_HEADER=$2
shift
fi
;;
-js | --jwtsecret )
if [ "$2" != "" ]; then
JWT_SECRET=$2
shift
fi
;;
-gb | --gitbranch )
if [ "$2" != "" ]; then
@ -58,7 +79,11 @@ while [ "$1" != "" ]; do
echo " Usage $0 [PARAMETER] [[PARAMETER], ...]"
echo " Parameters:"
echo " -u, --update use to update existing components (true|false)"
echo " -je, --jwtenabled specifies the enabling the JWT validation (true|false)"
echo " -jh, --jwtheader defines the http header that will be used to send the JWT"
echo " -js, --jwtsecret defines the secret key to validate the JWT in the request"
echo " -ls, --local_scripts use 'true' to run local scripts (true|false)"
echo " -skiphc, --skiphardwarecheck use to skip hardware check (true|false)"
echo " -?, -h, --help this help"
echo
exit 0

View File

@ -65,9 +65,9 @@ if [ "$DOCUMENT_SERVER_INSTALLED" = "false" ]; then
DS_DB_USER=$DS_COMMON_NAME;
DS_DB_PWD=$DS_COMMON_NAME;
declare -x JWT_ENABLED=true;
declare -x JWT_SECRET="$(cat /dev/urandom | tr -dc A-Za-z0-9 | head -c 32)";
declare -x JWT_HEADER="AuthorizationJwt";
declare -x JWT_ENABLED=${JWT_ENABLED:-true};
declare -x JWT_SECRET=${JWT_SECRET:-$(cat /dev/urandom | tr -dc A-Za-z0-9 | head -c 32)};
declare -x JWT_HEADER=${JWT_HEADER:-AuthorizationJwt};
if ! su - postgres -s /bin/bash -c "psql -lqt" | cut -d \| -f 1 | grep -q ${DS_DB_NAME}; then
su - postgres -s /bin/bash -c "psql -c \"CREATE USER ${DS_DB_USER} WITH password '${DS_DB_PWD}';\""

View File

@ -8,6 +8,7 @@ PACKAGE_SYSNAME="onlyoffice"
APP_DIR="/etc/${PACKAGE_SYSNAME}/${PRODUCT}"
PRODUCT_DIR="/var/www/${PRODUCT}"
LOG_DIR="/var/log/${PACKAGE_SYSNAME}/${PRODUCT}"
USER_CONF="$APP_DIR/appsettings.$ENVIRONMENT.json"
NGINX_DIR="/etc/nginx"
@ -170,6 +171,13 @@ while [ "$1" != "" ]; do
shift
fi
;;
-mk | --machinekey )
if [ "$2" != "" ]; then
CORE_MACHINEKEY=$2
shift
fi
;;
-? | -h | --help )
echo " Usage: bash ${PRODUCT}-configuration [PARAMETER] [[PARAMETER], ...]"
@ -191,6 +199,7 @@ while [ "$1" != "" ]; do
echo " -mysqld, --mysqldatabase ${PRODUCT} database name"
echo " -mysqlu, --mysqluser ${PRODUCT} database user"
echo " -mysqlp, --mysqlpassword ${PRODUCT} database password"
echo " -mk, --machinekey setting for core.machinekey"
echo " -e, --environment environment (default 'production')"
echo " -?, -h, --help this help"
echo
@ -206,11 +215,17 @@ while [ "$1" != "" ]; do
done
set_core_machinekey () {
if [ -f $APP_DIR/.private/machinekey ]; then
CORE_MACHINEKEY=$(cat $APP_DIR/.private/machinekey)
if [[ -f $APP_DIR/.private/machinekey ]] || [[ -n $CORE_MACHINEKEY ]]; then
CORE_MACHINEKEY=${CORE_MACHINEKEY:-$(cat $APP_DIR/.private/machinekey)};
else
CORE_MACHINEKEY=$(cat /dev/urandom | tr -dc A-Za-z0-9 | head -c 12);
echo $CORE_MACHINEKEY >> $APP_DIR/.private/machinekey
if [ "$DIST" = "RedHat" ]; then
echo $CORE_MACHINEKEY >> $APP_DIR/.private/machinekey
chmod o-rwx $APP_DIR/.private/machinekey
elif [ "$DIST" = "Debian" ]; then
db_set ${PRODUCT}/machinekey $CORE_MACHINEKEY || true
echo ${PRODUCT} ${PRODUCT}/machinekey select $CORE_MACHINEKEY | debconf-set-selections || true
fi
fi
$JSON_USERCONF "this.core={'base-domain': \"$APP_HOST\", 'machinekey': \"$CORE_MACHINEKEY\" }" >/dev/null 2>&1
@ -227,7 +242,9 @@ install_json() {
}
restart_services() {
sed -e "s/ENVIRONMENT=.*/ENVIRONMENT=$ENVIRONMENT/" -e "s/environment=.*/environment=$ENVIRONMENT/" -i /lib/systemd/system/${PRODUCT}*.service >/dev/null 2>&1
chown -R ${PACKAGE_SYSNAME}:${PACKAGE_SYSNAME} $APP_DIR $PRODUCT_DIR $LOG_DIR
sed "s_\(ENVIRONMENT=\).*_\1${ENVIRONMENT}_i" -i /lib/systemd/system/${PRODUCT}*.service >/dev/null 2>&1
systemctl daemon-reload
echo -n "Updating database... "
@ -420,18 +437,13 @@ setup_nginx(){
rm -f $NGINX_CONF/default.conf >/dev/null 2>&1 || rm -f $NGINX_DIR/sites-enabled/default >/dev/null 2>&1
sed -i "s/listen.*;/listen $APP_PORT;/" $NGINX_CONF/${PACKAGE_SYSNAME}.conf
NGINX_WORKER_PROCESSES=${NGINX_WORKER_PROCESSES:-$(grep processor /proc/cpuinfo | wc -l)};
NGINX_WORKER_CONNECTIONS=${NGINX_WORKER_CONNECTIONS:-$(ulimit -n)};
sed "s!\(^worker_processes\).*;!\1 ${NGINX_WORKER_PROCESSES};!" -i ${NGINX_ROOT_DIR}/nginx.conf
sed "s!\(worker_connections\).*;!\1 ${NGINX_WORKER_CONNECTIONS};!" -i ${NGINX_ROOT_DIR}/nginx.conf
sed "s!\(^worker_processes\).*;!\1 ${NGINX_WORKER_PROCESSES:-$(grep processor /proc/cpuinfo | wc -l)};!" -i ${NGINX_DIR}/nginx.conf
sed "s!\(worker_connections\).*;!\1 ${NGINX_WORKER_CONNECTIONS:-$(ulimit -n)};!" -i ${NGINX_DIR}/nginx.conf
if [ "$DIST" = "RedHat" ]; then
# Remove default nginx settings
DELETION_LINE=$(sed -n '/server {/=' /etc/nginx/nginx.conf | head -n 1)
if [ -n "$DELETION_LINE" ]; then
sed "$DELETION_LINE,\$d" -i /etc/nginx/nginx.conf
echo "}" >> /etc/nginx/nginx.conf
if ! grep -q "server {" ${NGINX_DIR}/nginx.conf ; then
sed -e '$a}' -e '/server {/,$d' -i ${NGINX_DIR}/nginx.conf
fi
shopt -s nocasematch
@ -627,11 +639,10 @@ product_configuration(){
#Creating environment configuration files
enviromentFiles=("appsettings.$ENVIRONMENT.json" "apisystem.$ENVIRONMENT.json" "elastic.$ENVIRONMENT.json" "rabbitmq.$ENVIRONMENT.json")
for i in "${!enviromentFiles[@]}";
do
for i in "${!enviromentFiles[@]}"; do
if [ ! -e "$APP_DIR/${enviromentFiles[$i]}" ]; then
echo "{}" >> "$APP_DIR/${enviromentFiles[$i]}"
chown ${PACKAGE_SYSNAME}:${PACKAGE_SYSNAME} "$APP_DIR/${enviromentFiles[$i]}"
echo "{}" > "$APP_DIR/${enviromentFiles[$i]}"
chmod o-rwx "$APP_DIR/${enviromentFiles[$i]}"
fi
done

View File

@ -38,174 +38,125 @@ Description: {{product}}
Package: {{product}}-common
Architecture: any
Depends: adduser, logrotate, ${misc:Depends}, ${shlibs:Depends}
Recommends: default-mysql-client
Description: {{product}}-common
{{product}}-common
Package: {{product}}-backup
Architecture: any
Depends: {{product}}-common (= {{package_header_tag_version}}),
dotnet-sdk-7.0,
${misc:Depends},
${shlibs:Depends}
Depends: {{product}}-common (= {{package_header_tag_version}}), dotnet-sdk-7.0, ${misc:Depends}, ${shlibs:Depends}
Description: {{product}}-backup
{{product}}-backup
Package: {{product}}-files
Architecture: any
Depends: {{product}}-common (= {{package_header_tag_version}}),
dotnet-sdk-7.0,
${misc:Depends},
${shlibs:Depends}
Depends: {{product}}-common (= {{package_header_tag_version}}), dotnet-sdk-7.0, ${misc:Depends}, ${shlibs:Depends}
Recommends: elasticsearch (= 7.10.0)
Description: {{product}}-files
{{product}}-files
Package: {{product}}-files-services
Architecture: any
Depends: {{product}}-common (= {{package_header_tag_version}}),
dotnet-sdk-7.0,
ffmpeg,
${misc:Depends},
${shlibs:Depends}
Depends: {{product}}-common (= {{package_header_tag_version}}), dotnet-sdk-7.0, ${misc:Depends}, ${shlibs:Depends}
Recommends: ffmpeg, elasticsearch (= 7.10.0)
Description: {{product}}-files-services
{{product}}-files-services
Package: {{product}}-notify
Architecture: any
Depends: {{product}}-common (= {{package_header_tag_version}}),
dotnet-sdk-7.0,
${misc:Depends},
${shlibs:Depends}
Depends: {{product}}-common (= {{package_header_tag_version}}), dotnet-sdk-7.0, ${misc:Depends}, ${shlibs:Depends}
Recommends: ffmpeg, elasticsearch (= 7.10.0)
Description: {{product}}-notify
{{product}}-notify
Package: {{product}}-people-server
Architecture: any
Depends: {{product}}-common (= {{package_header_tag_version}}),
dotnet-sdk-7.0,
${misc:Depends},
${shlibs:Depends}
Depends: {{product}}-common (= {{package_header_tag_version}}), dotnet-sdk-7.0, ${misc:Depends}, ${shlibs:Depends}
Description: {{product}}-people-server
{{product}}-people-server
Package: {{product}}-socket
Architecture: any
Depends: {{product}}-common (= {{package_header_tag_version}}),
nodejs (>=16),
${misc:Depends},
${shlibs:Depends}
Depends: {{product}}-common (= {{package_header_tag_version}}), nodejs (>= 16), ${misc:Depends}, ${shlibs:Depends}
Recommends: redis-server
Description: {{product}}-socket
{{product}}-socket
Package: {{product}}-studio-notify
Architecture: any
Depends: {{product}}-common (= {{package_header_tag_version}}),
dotnet-sdk-7.0,
${misc:Depends},
${shlibs:Depends}
Depends: {{product}}-common (= {{package_header_tag_version}}), dotnet-sdk-7.0, ${misc:Depends}, ${shlibs:Depends}
Description: {{product}}-studio-notify
{{product}}-studio-notify
Package: {{product}}-api
Architecture: any
Depends: {{product}}-common (= {{package_header_tag_version}}),
dotnet-sdk-7.0,
${misc:Depends},
${shlibs:Depends}
Depends: {{product}}-common (= {{package_header_tag_version}}), dotnet-sdk-7.0, ${misc:Depends}, ${shlibs:Depends}
Recommends: rabbitmq-server, apache-activemq, redis-server
Description: {{product}}-api
{{product}}-api
Package: {{product}}-api-system
Architecture: any
Depends: {{product}}-common (= {{package_header_tag_version}}),
dotnet-sdk-7.0,
${misc:Depends},
${shlibs:Depends}
Depends: {{product}}-common (= {{package_header_tag_version}}), dotnet-sdk-7.0, ${misc:Depends}, ${shlibs:Depends}
Description: {{product}}-api-system
{{product}}-api-system
Package: {{product}}-studio
Architecture: any
Depends: {{product}}-common (= {{package_header_tag_version}}),
dotnet-sdk-7.0,
${misc:Depends},
${shlibs:Depends}
Depends: {{product}}-common (= {{package_header_tag_version}}), dotnet-sdk-7.0, ${misc:Depends}, ${shlibs:Depends}
Description: {{product}}-studio
{{product}}-studio
Package: {{product}}-proxy
Architecture: any
Depends: nginx, ${misc:Depends}, ${shlibs:Depends}
Depends: {{product}}-common (= {{package_header_tag_version}}), nginx-extras (>= 1.9.5), ${misc:Depends}, ${shlibs:Depends}
Description: {{product}}-proxy
{{product}}-proxy
Package: {{product}}-ssoauth
Architecture: any
Depends: {{product}}-common (= {{package_header_tag_version}}),
nodejs (>=16),
${misc:Depends},
${shlibs:Depends}
Depends: {{product}}-common (= {{package_header_tag_version}}), nodejs (>= 16), ${misc:Depends}, ${shlibs:Depends}
Description: {{product}}-ssoauth
{{product}}-ssoauth
Package: {{product}}-backup-background
Architecture: any
Depends: {{product}}-common (= {{package_header_tag_version}}),
dotnet-sdk-7.0,
${misc:Depends},
${shlibs:Depends}
Depends: {{product}}-common (= {{package_header_tag_version}}), dotnet-sdk-7.0, ${misc:Depends}, ${shlibs:Depends}
Description: {{product}}-backup-background
{{product}}-backup-background
Package: {{product}}-clear-events
Architecture: any
Depends: {{product}}-common (= {{package_header_tag_version}}),
dotnet-sdk-7.0,
${misc:Depends},
${shlibs:Depends}
Depends: {{product}}-common (= {{package_header_tag_version}}), dotnet-sdk-7.0, ${misc:Depends}, ${shlibs:Depends}
Description: {{product}}-clear-events
{{product}}-clear-events
Package: {{product}}-migration-runner
Architecture: any
Depends: {{product}}-common (= {{package_header_tag_version}}),
dotnet-sdk-7.0,
${misc:Depends},
${shlibs:Depends}
Depends: {{product}}-common (= {{package_header_tag_version}}), dotnet-sdk-7.0, ${misc:Depends}, ${shlibs:Depends}
Description: {{product}}-migration-runner
{{product}}-migration-runner
Package: {{product}}-radicale
Architecture: any
Depends: {{product}}-common (= {{package_header_tag_version}}),
python3-pip,
${misc:Depends},
${shlibs:Depends}
Depends: {{product}}-common (= {{package_header_tag_version}}), python3-pip, ${misc:Depends}, ${shlibs:Depends}
Description: {{product}}-radicale
{{product}}-radicale
Package: {{product}}-doceditor
Architecture: any
Depends: {{product}}-common (= {{package_header_tag_version}}),
nodejs (>=16),
${misc:Depends},
${shlibs:Depends}
Depends: {{product}}-common (= {{package_header_tag_version}}), nodejs (>= 16), ${misc:Depends}, ${shlibs:Depends}
Description: {{product}}-doceditor
{{product}}-doceditor
Package: {{product}}-login
Architecture: any
Depends: {{product}}-common (= {{package_header_tag_version}}),
nodejs (>=16),
${misc:Depends},
${shlibs:Depends}
Depends: {{product}}-common (= {{package_header_tag_version}}), nodejs (>= 16), ${misc:Depends}, ${shlibs:Depends}
Description: {{product}}-login
{{product}}-login
Package: {{product}}-healthchecks
Architecture: any
Depends: {{product}}-common (= {{package_header_tag_version}}),
dotnet-sdk-7.0,
${misc:Depends},
${shlibs:Depends}
Depends: {{product}}-common (= {{package_header_tag_version}}), dotnet-sdk-7.0, ${misc:Depends}, ${shlibs:Depends}
Description: {{product}}-healthchecks
{{product}}-healthchecks

View File

@ -1,4 +1,4 @@
#!/bin/sh -e
#!/bin/bash
set -e
@ -6,50 +6,66 @@ set -e
case "$1" in
configure)
db_get {{product}}/environment || true
ENVIRONMENT="$RET"
db_get {{product}}/host || true
APP_HOST="$RET"
db_get {{product}}/port || true
APP_PORT="$RET"
db_get {{product}}/db-host || true
DB_HOST="$RET"
db_get {{product}}/db-name || true
DB_NAME="$RET"
db_get {{product}}/db-user || true
DB_USER="$RET"
db_get {{product}}/db-pwd || true
DB_PWD="$RET"
db_get {{product}}/environment || true
ENVIRONMENT="$RET"
db_get {{product}}/host || true
APP_HOST="$RET"
db_get {{product}}/port || true
APP_PORT="$RET"
db_get {{product}}/machinekey || true
CORE_MACHINEKEY="$RET"
db_get {{product}}/redis-host || true
REDIS_HOST="$RET"
db_get {{product}}/redis-port || true
REDIS_PORT="$RET"
args+=(-e "$ENVIRONMENT" -ash "$APP_HOST" -asp "$APP_PORT" -mk "$CORE_MACHINEKEY" );
db_get {{product}}/rabbitmq-host || true
RABBITMQ_HOST="$RET"
db_get {{product}}/rabbitmq-user || true
RABBITMQ_USER="$RET"
db_get {{product}}/rabbitmq-port || true
RABBITMQ_PORT="$RET"
db_get {{product}}/rabbitmq-password || true
RABBITMQ_PASSWORD="$RET"
db_get {{product}}/db-host || true
DB_HOST="$RET"
db_get {{product}}/db-name || true
DB_NAME="$RET"
db_get {{product}}/db-user || true
DB_USER="$RET"
db_get {{product}}/db-pwd || true
DB_PWD="$RET"
db_get {{product}}/elasticsearch-sheme || true
ELK_SHEME="$RET"
db_get {{product}}/elasticsearch-host || true
ELK_HOST="$RET"
db_get {{product}}/elasticsearch-port || true
ELK_PORT="$RET"
args+=(-mysqlh "$DB_HOST" -mysqld "$DB_NAME" -mysqlu "$DB_USER" );
[ -n "$DB_PWD" ] && args+=(-mysqlp "$DB_PWD" );
db_get onlyoffice/db-host || true
DOCUMENT_SERVER_HOST="$RET"
db_get onlyoffice/ds-port || true
DOCUMENT_SERVER_PORT="$RET"
db_get {{product}}/redis-host || true
REDIS_HOST="$RET"
db_get {{product}}/redis-port || true
REDIS_PORT="$RET"
bash /usr/bin/{{product}}-configuration -e $ENVIRONMENT -mysqlh $DB_HOST -mysqld $DB_NAME -mysqlu $DB_USER -mysqlp $DB_PWD -ash $APP_HOST -asp $APP_PORT -dsh $DOCUMENT_SERVER_HOST \
-dsp $DOCUMENT_SERVER_PORT -rdh $REDIS_HOST -rdp $REDIS_PORT -rbh $RABBITMQ_HOST -rbp $RABBITMQ_PORT -rbu $RABBITMQ_USER -rbpw $RABBITMQ_PASSWORD -ess $ELK_SHEME -esh $ELK_HOST -esp $ELK_PORT
args+=(-rdh "$REDIS_HOST" -rdp "$REDIS_PORT" );
db_get {{product}}/rabbitmq-host || true
RABBITMQ_HOST="$RET"
db_get {{product}}/rabbitmq-user || true
RABBITMQ_USER="$RET"
db_get {{product}}/rabbitmq-port || true
RABBITMQ_PORT="$RET"
db_get {{product}}/rabbitmq-password || true
RABBITMQ_PASSWORD="$RET"
args+=(-rbh "$RABBITMQ_HOST" -rbp "$RABBITMQ_PORT" -rbu "$RABBITMQ_USER" -rbpw "$RABBITMQ_PASSWORD" );
db_get {{product}}/elasticsearch-sheme || true
ELK_SHEME="$RET"
db_get {{product}}/elasticsearch-host || true
ELK_HOST="$RET"
db_get {{product}}/elasticsearch-port || true
ELK_PORT="$RET"
args+=(-ess "$ELK_SHEME" -esh "$ELK_HOST" -esp "$ELK_PORT" );
db_get onlyoffice/db-host || true
DOCUMENT_SERVER_HOST="$RET"
db_get onlyoffice/ds-port || true
DOCUMENT_SERVER_PORT="$RET"
args+=(-dsh "$DOCUMENT_SERVER_HOST" -dsp "$DOCUMENT_SERVER_PORT" );
bash /usr/bin/{{product}}-configuration "${args[@]}"
exit 0
;;
abort-upgrade|abort-remove|abort-deconfigure)

View File

@ -0,0 +1,45 @@
#!/bin/sh
# postrm script for {{package_sysname}}
#
# see: dh_installdeb(1)
set -e
# summary of how this script can be called:
# * <postrm> `remove'
# * <postrm> `purge'
# * <old-postrm> `upgrade' <new-version>
# * <new-postrm> `failed-upgrade' <old-version>
# * <new-postrm> `abort-install'
# * <new-postrm> `abort-install' <old-version>
# * <new-postrm> `abort-upgrade' <old-version>
# * <disappearer's-postrm> `disappear' <overwriter>
# <overwriter-version>
# for details, see http://www.debian.org/doc/debian-policy/ or
# the debian-policy package
if [ "$1" = purge ] && [ -e /usr/share/debconf/confmodule ]; then
. /usr/share/debconf/confmodule
fi
case "$1" in
purge)
rm -rf /var/www/{{product}}
rm -rf /etc/onlyoffice/{{product}}
;;
remove|upgrade|failed-upgrade|abort-install|abort-upgrade|disappear)
;;
*)
echo "postrm called with unknown argument \`$1'" >&2
exit 1
;;
esac
# dh_installdeb will replace this with shell code automatically
# generated by other debhelper scripts.
#DEBHELPER#
exit 0

View File

@ -13,11 +13,10 @@ if ! cat /etc/group | grep -q "nginx:"; then
fi
if ! cat /etc/passwd | grep -q "nginx:"; then
adduser --quiet -g nginx --no-create-home --home /nonexistent --system nginx
adduser --quiet --group --no-create-home --home /nonexistent --system nginx
usermod -aG nginx nginx
fi
usermod -aG onlyoffice,nginx onlyoffice
chown -R onlyoffice:onlyoffice /var/log/onlyoffice/{{product}} /var/www/{{product}} /etc/onlyoffice/{{product}}
#DEBHELPER#

View File

@ -6,6 +6,9 @@ set -e
DIR="/var/www/{{product}}"
[ -f /usr/lib/python3.$(python3 -c 'import sys; print(sys.version_info.minor)')/EXTERNALLY-MANAGED ] && \
rm /usr/lib/python3.$(python3 -c 'import sys; print(sys.version_info.minor)')/EXTERNALLY-MANAGED
python3 -m pip install --upgrade pip
python3 -m pip install --upgrade requests
python3 -m pip install --upgrade setuptools

View File

@ -77,3 +77,7 @@ Template: {{product}}/rabbitmq-password
Type: string
Default: guest
Description: RabbitMQ password:
Template: {{product}}/machinekey
Type: string
Description: Enter your own machinekey:

View File

@ -49,8 +49,8 @@ override_dh_auto_build:
cp ${CURRENT_PATH}/debian/source/lintian-overrides ${CURRENT_PATH}/debian/$$i.lintian-overrides; \
done
override_dh_fixperms:
dh_fixperms
execute_after_dh_fixperms:
chmod o-rwx debian/${PRODUCT}-common/etc/onlyoffice/${PRODUCT}/*
override_dh_auto_install:
dh_systemd_enable --no-enable

View File

@ -41,3 +41,6 @@ invalid-standards-version
# Temporary ignoring of translation errors
untranslatable-debconf-templates
# We use this to protect sensitive information (ie passwords) in the config file
non-standard-file-perm

View File

@ -42,3 +42,6 @@ addFilter(r'E: non-executable-script')
# docspace-configuration.sh has a permission of 744, so that users do not have the opportunity to run the script
addFilter(r'non-standard-executable-perm')
# We use this to protect sensitive information (ie passwords) in the config file
addFilter(r'non-readable')

View File

@ -30,12 +30,14 @@
%files common
%defattr(-, onlyoffice, onlyoffice, -)
%config %{_sysconfdir}/onlyoffice/%{product}/
%config %attr(640, onlyoffice, onlyoffice) %{_sysconfdir}/onlyoffice/%{product}/*
%exclude %{_sysconfdir}/onlyoffice/%{product}/nginx
%{_docdir}/%{name}-%{version}-%{release}/
%config %{_sysconfdir}/logrotate.d/%{product}-common
%{_var}/log/onlyoffice/%{product}/
%dir %{_sysconfdir}/onlyoffice/
%dir %{_sysconfdir}/onlyoffice/%{product}/
%dir %{_sysconfdir}/onlyoffice/%{product}/.private/
%dir %{_var}/log/onlyoffice/
%files files-services

View File

@ -6,7 +6,6 @@ mkdir -p "%{buildroot}%{_sysconfdir}/logrotate.d"
mkdir -p "%{buildroot}%{_sysconfdir}/nginx/conf.d/"
mkdir -p "%{buildroot}%{_sysconfdir}/nginx/includes/"
mkdir -p "%{buildroot}%{_sysconfdir}/onlyoffice/%{product}/.private/"
mkdir -p "%{buildroot}%{_sysconfdir}/onlyoffice/%{product}/data/"
mkdir -p "%{buildroot}%{_var}/log/onlyoffice/%{product}/"
mkdir -p "%{buildroot}%{buildpath}/Tools/radicale/plugins/"
mkdir -p "%{buildroot}%{buildpath}/products/ASC.Files/client/"

View File

@ -18,7 +18,8 @@ Common
Summary: Files-services
Group: Applications/Internet
Requires: %name-common = %version-%release
Requires: dotnet-sdk-7.0, ffmpeg
Requires: dotnet-sdk-7.0
Requires: ffmpeg
AutoReqProv: no
%description files-services
Files-services

View File

@ -9,7 +9,7 @@ set SRC_PATH=%~s2
pushd %~1
call dotnet build ASC.Web.slnf
call dotnet build ASC.Migrations.sln -o %SRC_PATH%\services\ASC.Migration.Runner\service
call dotnet build ASC.Migrations.sln --property:OutputPath=%SRC_PATH%\services\ASC.Migration.Runner\service
echo "== Build ASC.Socket.IO =="
pushd common\ASC.Socket.IO

View File

@ -24,8 +24,6 @@
// content are licensed under the terms of the Creative Commons Attribution-ShareAlike 4.0
// International. See the License terms at http://creativecommons.org/licenses/by-sa/4.0/legalcode
using Microsoft.AspNetCore.Http.Extensions;
namespace ASC.Api.Core.Middleware;
public abstract class CommonApiResponse
@ -123,7 +121,7 @@ public class SuccessApiResponse : CommonApiResponse
{
new Link()
{
Href = httpContext.Request.GetDisplayUrl(),
Href = httpContext.Request.GetUrlRewriter().ToString(),
Action = httpContext.Request.Method
}
};

View File

@ -29,15 +29,72 @@ using HttpContext = Microsoft.AspNetCore.Http.HttpContext;
namespace System.Web;
public static class HttpRequestExtensions
{
{
public static readonly string UrlRewriterHeader = "X-REWRITER-URL";
public static Uri GetUrlRewriter(this HttpRequest request)
{
return request != null ? GetUrlRewriter(request.Headers, request) : null;
}
public static Uri Url(this HttpRequest request)
{
return request != null ? new Uri(request.GetDisplayUrl()) : null;
}
/*public static Uri GetUrlRewriter(this HttpRequestBase request)
{
return request != null ? GetUrlRewriter(request.Headers, request.Url) : null;
}*/
public static Uri GetUrlRewriter(IHeaderDictionary headers, HttpRequest request)
{
if (headers != null)
{
var h = headers[UrlRewriterHeader];
var rewriterUri = !string.IsNullOrEmpty(h) ? ParseRewriterUrl(h) : null;
if (request != null && rewriterUri != null)
{
var result = new UriBuilder()
{
Scheme = rewriterUri.Scheme,
Host = rewriterUri.Host,
Port = rewriterUri.Port
};
result.Query = request.QueryString.Value;
result.Path = request.Path.Value;
return result.Uri;
}
}
if (request != null && request.Query != null)
{
var h = request.Query[UrlRewriterHeader];
var rewriterUri = !string.IsNullOrEmpty(h) ? ParseRewriterUrl(h) : null;
if (rewriterUri != null)
{
var result = new UriBuilder()
{
Scheme = rewriterUri.Scheme,
Host = rewriterUri.Host,
Port = rewriterUri.Port
};
result.Query = request.QueryString.Value;
result.Path = request.Path.Value;
return result.Uri;
}
}
return request.Url();
}
public static Uri PushRewritenUri(this HttpContext context)
{
return context != null ? PushRewritenUri(context, context.Request.Url()) : null;
return context != null ? PushRewritenUri(context, GetUrlRewriter(context.Request)) : null;
}
public static Uri PushRewritenUri(this HttpContext context, Uri rewrittenUri)

View File

@ -69,7 +69,7 @@ public class BaseCommonLinkUtility
if (_httpContextAccessor?.HttpContext?.Request != null)
{
var u = _httpContextAccessor?.HttpContext.Request.Url();
var u = _httpContextAccessor?.HttpContext.Request.GetUrlRewriter();
ArgumentNullException.ThrowIfNull(u);
@ -104,7 +104,7 @@ public class BaseCommonLinkUtility
// first, take from current request
if (_httpContextAccessor?.HttpContext?.Request != null)
{
var u = _httpContextAccessor?.HttpContext?.Request.Url();
var u = _httpContextAccessor?.HttpContext?.Request.GetUrlRewriter();
ArgumentNullException.ThrowIfNull(u);

View File

@ -169,8 +169,6 @@ public class TariffService : ITariffService
if (_billingClient.Configured && withRequestToPaymentSystem)
{
var paymentFound = false;
try
{
var currentPayments = _billingClient.GetCurrentPayments(GetPortalId(tenantId));
@ -225,8 +223,6 @@ public class TariffService : ITariffService
}
UpdateCache(tariff.Id);
paymentFound = true;
}
catch (Exception error)
{
@ -236,7 +232,7 @@ public class TariffService : ITariffService
}
}
if (!paymentFound)
if (tariff.Id == 0)
{
var freeTariff = tariff.Quotas.FirstOrDefault(tariffRow =>
{

View File

@ -193,7 +193,7 @@ public class TenantManager
tenant = context.Items[CurrentTenant] as Tenant;
if (tenant == null && context.Request != null)
{
tenant = GetTenant(context.Request.Url().Host);
tenant = GetTenant(context.Request.GetUrlRewriter().Host);
context.Items[CurrentTenant] = tenant;
}

View File

@ -24,8 +24,6 @@
// content are licensed under the terms of the Creative Commons Attribution-ShareAlike 4.0
// International. See the License terms at http://creativecommons.org/licenses/by-sa/4.0/legalcode
using Microsoft.AspNetCore.Http.Extensions;
using Constants = ASC.Core.Users.Constants;
namespace ASC.Core;
@ -429,7 +427,7 @@ public class UserManager
private async Task SyncCardDavAsync(UserInfo u, UserInfo oldUserData, UserInfo newUser)
{
var tenant = _tenantManager.GetCurrentTenant();
var myUri = (_accessor?.HttpContext != null) ? _accessor.HttpContext.Request.GetDisplayUrl() :
var myUri = (_accessor?.HttpContext != null) ? _accessor.HttpContext.Request.GetUrlRewriter().ToString() :
(_cache.Get<string>("REWRITE_URL" + tenant.Id) != null) ?
new Uri(_cache.Get<string>("REWRITE_URL" + tenant.Id)).ToString() : tenant.GetTenantDomain(_coreSettings);
@ -518,7 +516,7 @@ public class UserManager
var currentAccountPaswd = _instanceCrypto.Encrypt(curreMail);
var userAuthorization = curreMail + ":" + currentAccountPaswd;
var rootAuthorization = _cardDavAddressbook.GetSystemAuthorization();
var myUri = (_accessor?.HttpContext != null) ? _accessor.HttpContext.Request.GetDisplayUrl() :
var myUri = (_accessor?.HttpContext != null) ? _accessor.HttpContext.Request.GetUrlRewriter().ToString() :
(_cache.Get<string>("REWRITE_URL" + tenant.Id) != null) ?
new Uri(_cache.Get<string>("REWRITE_URL" + tenant.Id)).ToString() : tenant.GetTenantDomain(_coreSettings);
var davUsersEmails = GetDavUserEmails();
@ -689,7 +687,7 @@ public class UserManager
if (groupId == Constants.GroupUser.ID)
{
var tenant = _tenantManager.GetCurrentTenant();
var myUri = (_accessor?.HttpContext != null) ? _accessor.HttpContext.Request.GetDisplayUrl() :
var myUri = (_accessor?.HttpContext != null) ? _accessor.HttpContext.Request.GetUrlRewriter().ToString() :
(_cache.Get<string>("REWRITE_URL" + tenant.Id) != null) ?
new Uri(_cache.Get<string>("REWRITE_URL" + tenant.Id)).ToString() : tenant.GetTenantDomain(_coreSettings);

View File

@ -112,7 +112,7 @@ public class SecurityContext
ArgumentNullException.ThrowIfNull(request);
ipFrom = "from " + _httpContextAccessor?.HttpContext.Connection.RemoteIpAddress;
address = "for " + request.Url();
address = "for " + request.GetUrlRewriter();
}
_logger.InformationEmptyBearer(ipFrom, address);
}
@ -126,7 +126,7 @@ public class SecurityContext
ArgumentNullException.ThrowIfNull(request);
address = "for " + request.Url();
address = "for " + request.GetUrlRewriter();
ipFrom = "from " + _httpContextAccessor?.HttpContext.Connection.RemoteIpAddress;
}

View File

@ -22,7 +22,7 @@ namespace ASC.Data.Backup.Core {
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "17.0.0.0")]
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
public class BackupResource {
internal class BackupResource {
private static global::System.Resources.ResourceManager resourceMan;
@ -36,7 +36,7 @@ namespace ASC.Data.Backup.Core {
/// Returns the cached ResourceManager instance used by this class.
/// </summary>
[global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
public static global::System.Resources.ResourceManager ResourceManager {
internal static global::System.Resources.ResourceManager ResourceManager {
get {
if (object.ReferenceEquals(resourceMan, null)) {
global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("ASC.Data.Backup.Core.BackupResource", typeof(BackupResource).Assembly);
@ -51,7 +51,7 @@ namespace ASC.Data.Backup.Core {
/// resource lookups using this strongly typed resource class.
/// </summary>
[global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
public static global::System.Globalization.CultureInfo Culture {
internal static global::System.Globalization.CultureInfo Culture {
get {
return resourceCulture;
}
@ -63,7 +63,7 @@ namespace ASC.Data.Backup.Core {
/// <summary>
/// Looks up a localized string similar to The backup file is invalid. Please, use a file created in ONLYOFFICE v11.5 or later..
/// </summary>
public static string BackupNotFound {
internal static string BackupNotFound {
get {
return ResourceManager.GetString("BackupNotFound", resourceCulture);
}
@ -72,7 +72,7 @@ namespace ASC.Data.Backup.Core {
/// <summary>
/// Looks up a localized string similar to Set Password.
/// </summary>
public static string ButtonSetPassword {
internal static string ButtonSetPassword {
get {
return ResourceManager.GetString("ButtonSetPassword", resourceCulture);
}

View File

@ -61,4 +61,7 @@
<data name="BackupNotFound" xml:space="preserve">
<value>Yedək faylı etibarsızdır. ONLYOFFICE v11.5 və ya daha yeni versiyada yaradılmış fayldan istifadə edin.</value>
</data>
<data name="ButtonSetPassword" xml:space="preserve">
<value>Parol təyin edin</value>
</data>
</root>

View File

@ -61,4 +61,7 @@
<data name="BackupNotFound" xml:space="preserve">
<value>Το αρχείο αντιγράφων ασφαλείας είναι μη έγκυρο. Παρακαλώ, χρησιμοποιείστε ένα αρχείο που έχει δημιουργηθεί σε ONLYOFFICE v11.5 ή επόμενο.</value>
</data>
<data name="ButtonSetPassword" xml:space="preserve">
<value>Ορισμός Συνθηματικού</value>
</data>
</root>

View File

@ -61,4 +61,7 @@
<data name="BackupNotFound" xml:space="preserve">
<value>Le fichier de sauvegarde n'est pas valide. Veuillez utiliser un fichier créé dans ONLYOFFICE v11.5 ou plus récent.</value>
</data>
<data name="ButtonSetPassword" xml:space="preserve">
<value>Définir un mot de passe</value>
</data>
</root>

View File

@ -61,4 +61,7 @@
<data name="BackupNotFound" xml:space="preserve">
<value>Yedekleme dosyası geçersiz. Lütfen ONLYOFFICE v11.5 veya sonraki sürümlerde oluşturulmuş bir dosya kullanın.</value>
</data>
<data name="ButtonSetPassword" xml:space="preserve">
<value>Parola Belirle</value>
</data>
</root>

View File

@ -32,7 +32,7 @@ public static class SecureHelper
{
try
{
return httpContext != null && Uri.UriSchemeHttps.Equals(httpContext.Request.Url().Scheme, StringComparison.OrdinalIgnoreCase);
return httpContext != null && Uri.UriSchemeHttps.Equals(httpContext.Request.GetUrlRewriter().Scheme, StringComparison.OrdinalIgnoreCase);
}
catch (Exception err)
{

View File

@ -73,7 +73,7 @@ public class OAuth20TokenHelper
query += $"&scope={HttpUtility.UrlEncode(scope)}";
}
var u = _httpContextAccessor.HttpContext.Request.Url();
var u = _httpContextAccessor.HttpContext.Request.GetUrlRewriter();
var stateUriBuilder = new UriBuilder(u.Scheme, u.Host, u.Port, $"thirdparty/{loginProvider.Name.ToLower()}/code");

View File

@ -50,7 +50,7 @@ public static class XrdsHelper
//{
// Common.HttpContext.Current.Response.Headers.Append(
// "X-XRDS-Location",
// new Uri(Common.HttpContext.Current.Request.Url().ToString(),
// new Uri(Common.HttpContext.Current.Request.GetUrlRewriter().ToString(),
// Common.HttpContext.Current.Response.ApplyAppPathModifier(handlerVirtualPath)).AbsoluteUri);
//}
}

View File

@ -94,7 +94,7 @@ public class Login
}
//Pack and redirect
var uriBuilder = new UriBuilder(context.Request.Url());
var uriBuilder = new UriBuilder(context.Request.GetUrlRewriter());
var token = WebEncoders.Base64UrlEncode(Encoding.UTF8.GetBytes(JsonSerializer.Serialize(_params)));
uriBuilder.Query = "p=" + token;
context.Response.Redirect(uriBuilder.Uri.ToString(), true);
@ -148,8 +148,8 @@ public class Login
private async Task RenderXrdsAsync(HttpContext context)
{
var xrdsloginuri = new Uri(context.Request.Url(), new Uri(context.Request.Url().AbsolutePath, UriKind.Relative)) + "?auth=openid&returnurl=" + ReturnUrl;
var xrdsimageuri = new Uri(context.Request.Url(), new Uri(_webHostEnvironment.WebRootPath, UriKind.Relative)) + "openid.gif";
var xrdsloginuri = new Uri(context.Request.GetUrlRewriter(), new Uri(context.Request.GetUrlRewriter().AbsolutePath, UriKind.Relative)) + "?auth=openid&returnurl=" + ReturnUrl;
var xrdsimageuri = new Uri(context.Request.GetUrlRewriter(), new Uri(_webHostEnvironment.WebRootPath, UriKind.Relative)) + "openid.gif";
await XrdsHelper.RenderXrdsAsync(context.Response, xrdsloginuri, xrdsimageuri);
}

View File

@ -184,7 +184,7 @@ public class GosUslugiLoginProvider : BaseLoginProvider<GosUslugiLoginProvider>
private void RequestCode(HttpContext context, string scope = null)
{
var timestamp = DateTime.UtcNow.ToString("yyyy.MM.dd HH:mm:ss +0000");
var state = Guid.NewGuid().ToString();//HttpContext.Current.Request.Url().AbsoluteUri;
var state = Guid.NewGuid().ToString();//HttpContext.Current.Request.GetUrlRewriter().AbsoluteUri;
var msg = scope + timestamp + ClientID + state;
var encodedSignature = SignMsg(msg);

View File

@ -80,7 +80,7 @@
// {
// var callbackAddress = new UriBuilder(RedirectUri)
// {
// Query = "state=" + HttpUtility.UrlEncode(context.Request.Url().AbsoluteUri)
// Query = "state=" + HttpUtility.UrlEncode(context.Request.GetUrlRewriter().AbsoluteUri)
// };
// var authenticationRequestId = Guid.NewGuid().ToString();

View File

@ -1,6 +1,7 @@
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by a tool.
// Runtime Version:4.0.30319.42000
//
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
@ -1275,7 +1276,7 @@ namespace ASC.AuditTrail {
}
/// <summary>
/// Looks up a localized string similar to Overwriting Settings Updated.
/// Looks up a localized string similar to Overwriting Settings Updated.
/// </summary>
public static string DocumentsOverwritingSettingsUpdated {
get {
@ -1563,7 +1564,7 @@ namespace ASC.AuditTrail {
}
/// <summary>
/// Looks up a localized string similar to Files [{0}]. Revision {1}. Comment Updated .
/// Looks up a localized string similar to Files [{0}]. Revision {1}. Comment Updated.
/// </summary>
public static string FileUpdatedRevisionComment {
get {

View File

@ -713,7 +713,7 @@
<value>Giriş uğursuz oldu</value>
</data>
<data name="LoginFailBruteForce" xml:space="preserve">
<value>Giriş Uğursuz oldu. Həddindən artıq cəhd </value>
<value>Giriş Uğursuz oldu. Həddindən artıq cəhd</value>
</data>
<data name="LoginFailDisabledProfile" xml:space="preserve">
<value>Giriş Uğursuz oldu. Profil Qeyri-aktivdir</value>
@ -1396,4 +1396,10 @@
<data name="WebsiteContactFormUpdatedKey" xml:space="preserve">
<value>Veb-sayt Əlaqə Forması Açarı Yeniləndi</value>
</data>
<data name="RoomCreated" xml:space="preserve">
<value>Otaq yaradıldı</value>
</data>
<data name="RoomsModule" xml:space="preserve">
<value>Otaqlar</value>
</data>
</root>

View File

@ -1369,4 +1369,10 @@
<data name="WebsiteContactFormUpdatedKey" xml:space="preserve">
<value>Форма за контакт с уебсайта Обновен</value>
</data>
<data name="RoomCreated" xml:space="preserve">
<value>Стаята е създадена</value>
</data>
<data name="RoomsModule" xml:space="preserve">
<value>Стаи</value>
</data>
</root>

View File

@ -617,16 +617,16 @@
<value>Návštěvník importován: {0}</value>
</data>
<data name="HistoryEventCategoriesUpdatedOrder" xml:space="preserve">
<value>Kategorie z historie událostí. Pořadí aktualizováno: {0} </value>
<value>Kategorie z historie událostí. Pořadí aktualizováno: {0}</value>
</data>
<data name="HistoryEventCategoryCreated" xml:space="preserve">
<value>Kategorie událostí historie byla vytvořena[{0}]. </value>
<value>Kategorie událostí historie byla vytvořena[{0}]</value>
</data>
<data name="HistoryEventCategoryDeleted" xml:space="preserve">
<value>Kategorie událostí historie byla smazána[{0}]. </value>
<value>Kategorie událostí historie byla smazána[{0}]</value>
</data>
<data name="HistoryEventCategoryUpdated" xml:space="preserve">
<value>Kategorie událostí historie aktualizována[{0}]. </value>
<value>Kategorie událostí historie aktualizována[{0}]</value>
</data>
<data name="HistoryEventCategoryUpdatedIcon" xml:space="preserve">
<value>Kategorie událostí historie[{0}]. Ikona aktualizována</value>
@ -707,10 +707,10 @@
<value>Přihlášení se nezdařilo. Neplatná kombinace uživatelského jména a heslo</value>
</data>
<data name="LoginFailIpSecurity" xml:space="preserve">
<value>Zabezpečení protokolu TCP/IP: Přihlášení se nezdařilo.</value>
<value>Zabezpečení protokolu TCP/IP: Přihlášení se nezdařilo</value>
</data>
<data name="LoginFailSocialAccountNotFound" xml:space="preserve">
<value>Přihlášení se nezdařilo. Přiřazený účet sociální sítě nebyl nalezen.</value>
<value>Přihlášení se nezdařilo. Přiřazený účet sociální sítě nebyl nalezen</value>
</data>
<data name="LoginFailViaApi" xml:space="preserve">
<value>Nepodařilo se přihlásit pomocí API</value>
@ -806,7 +806,7 @@
<value>Příležitost vytvořena: {0}</value>
</data>
<data name="OpportunityCreatedHistoryEvent" xml:space="preserve">
<value>Možnosti[{0}]. Vytvořena historie údálosti</value>
<value>Možnosti[{0}]. Vytvořena historie údálosti: {1}</value>
</data>
<data name="OpportunityCreatedTag" xml:space="preserve">
<value>Možnosti[{0}]. Tag vytvořen: {1}</value>
@ -833,7 +833,7 @@
<value>Možnosti[{0}]. Přístup otevřen</value>
</data>
<data name="OpportunityRestrictedAccess" xml:space="preserve">
<value>Možnosti[{0}]. Přístup omezen: {1}.</value>
<value>Možnosti[{0}]. Přístup omezen: {1}</value>
</data>
<data name="OpportunityStageCreated" xml:space="preserve">
<value>Fáze příležitosti vytvořena: {0}</value>
@ -1217,7 +1217,7 @@
<value>Třetí Strana otevřena: {0}. Poskytovatel: {1}</value>
</data>
<data name="ThirdPartyUpdated" xml:space="preserve">
<value>Třetí Strana Aktualizována: {0}. Poskytovatel: {1}.</value>
<value>Třetí Strana Aktualizována: {0}. Poskytovatel: {1}</value>
</data>
<data name="TimeTrackingModule" xml:space="preserve">
<value>Sledování času</value>
@ -1307,7 +1307,7 @@
<value>Uživatelé [{0}]. Stav byl aktualizován</value>
</data>
<data name="UsersUpdatedType" xml:space="preserve">
<value>Uživatelé [{0}]. Typ byl aktualizován </value>
<value>Uživatelé [{0}]. Typ byl aktualizován</value>
</data>
<data name="UserUnlinkedSocialAccount" xml:space="preserve">
<value>Sociální účet odpojen. Poskytovatel: {0}</value>
@ -1330,4 +1330,10 @@
<data name="WebsiteContactFormUpdatedKey" xml:space="preserve">
<value>Aktualizace klíče kontaktního formuláře webových stránek</value>
</data>
<data name="RoomCreated" xml:space="preserve">
<value>Místnost vytvořena</value>
</data>
<data name="RoomsModule" xml:space="preserve">
<value>Místnosti</value>
</data>
</root>

View File

@ -647,7 +647,7 @@
<value>Import</value>
</data>
<data name="InvoiceCreated" xml:space="preserve">
<value>Rechnung erstellt: {0} </value>
<value>Rechnung erstellt: {0}</value>
</data>
<data name="InvoiceDefaultTermsUpdated" xml:space="preserve">
<value>Standardmäßige Rechnungsbedingungen aktualisiert</value>
@ -728,7 +728,7 @@
<value>Anmeldung fehlgeschlagen. Ungültiges Recaptcha</value>
</data>
<data name="LoginFailSocialAccountNotFound" xml:space="preserve">
<value>Anmeldung fehlgeschlagen. Verbundenes Konto des sozialen Netzwerks ist nicht gefunden.</value>
<value>Anmeldung fehlgeschlagen. Verbundenes Konto des sozialen Netzwerks ist nicht gefunden</value>
</data>
<data name="LoginFailViaApi" xml:space="preserve">
<value>Fehlgeschlagene Anmeldung via API</value>
@ -737,7 +737,7 @@
<value>Fehlgeschlagene Anmeldung via API und SMS-Code</value>
</data>
<data name="LoginFailViaApiSocialAccount" xml:space="preserve">
<value>Die Anmeldung über API &amp; soziale Netzwerke ist ausgefallen </value>
<value>Die Anmeldung über API &amp; soziale Netzwerke ist ausgefallen</value>
</data>
<data name="LoginFailViaApiTfa" xml:space="preserve">
<value>Anmeldung über API und Authentifizierungsanwendung ist fehlgeschlagen</value>
@ -758,7 +758,7 @@
<value>Bericht über Anmeldehistorie ({0}-{1})</value>
</data>
<data name="LoginSuccess" xml:space="preserve">
<value>Erfolgreiche Anmeldung </value>
<value>Erfolgreiche Anmeldung</value>
</data>
<data name="LoginSuccessSocialAccount" xml:space="preserve">
<value>Login über Konto im sozialen Netzwerk ist erfolgreich</value>
@ -908,7 +908,7 @@
<value>Benutzerfeld für Verkaufschance aktualisiert: {0}</value>
</data>
<data name="OrganizationProfileUpdatedAddress" xml:space="preserve">
<value>Profil des Unternehmens. Adresse aktualisiert.</value>
<value>Profil des Unternehmens. Adresse aktualisiert</value>
</data>
<data name="OrganizationProfileUpdatedCompanyName" xml:space="preserve">
<value>Profil des Unternehmens. Unternehmensname aktualisiert: {0}</value>
@ -1163,7 +1163,7 @@
<value>SSO aktiviert</value>
</data>
<data name="StartBackupSetting" xml:space="preserve">
<value>Backup starten </value>
<value>Backup starten</value>
</data>
<data name="StartStorageDecryption" xml:space="preserve">
<value>Entschlüsselung des Speichers anfangen</value>
@ -1396,4 +1396,10 @@
<data name="WebsiteContactFormUpdatedKey" xml:space="preserve">
<value>Schlüssel des Formulars Kontakte der Webseite wurde aktualisiert</value>
</data>
<data name="RoomCreated" xml:space="preserve">
<value>Raum erstellt</value>
</data>
<data name="RoomsModule" xml:space="preserve">
<value>Raum</value>
</data>
</root>

View File

@ -134,7 +134,7 @@
<value>Επαφές Που Εξήχθησαν Σε Αρχείο CSV: {0}</value>
</data>
<data name="ContactsImportedFromCSV" xml:space="preserve">
<value>Επαφής Που Εισήχθησαν Από Αρχείο CSV </value>
<value>Επαφής Που Εισήχθησαν Από Αρχείο CSV</value>
</data>
<data name="ContactsModule" xml:space="preserve">
<value>Επαφές</value>
@ -356,7 +356,7 @@
<value>Αποτυχία Σύνδεσης. Πάρα πολλές προσπάθειες</value>
</data>
<data name="LoginFailDisabledProfile" xml:space="preserve">
<value>Αποτυχία Σύνδεσης. Το Προφίλ Απενεργοποιήθηκε.</value>
<value>Αποτυχία Σύνδεσης. Το Προφίλ Απενεργοποιήθηκε</value>
</data>
<data name="LoginFailInvalidCombination" xml:space="preserve">
<value>Η Σύνδεση Απέτυχε. Μη έγκυρος συνδυασμός ονόματος χρήστη-συνθηματικού</value>
@ -637,4 +637,10 @@
<data name="UserUpdatedPassword" xml:space="preserve">
<value>Το Συνθηματικό Ενημερώθηκε</value>
</data>
<data name="RoomCreated" xml:space="preserve">
<value>Το δωμάτιο δημιουργήθηκε</value>
</data>
<data name="RoomsModule" xml:space="preserve">
<value>Δωμάτια</value>
</data>
</root>

View File

@ -77,13 +77,13 @@
<value>Ajustes de mensaje de administrador actualizados</value>
</data>
<data name="AdministratorOpenedFullAccess" xml:space="preserve">
<value>Administradores [{0}]. Se proporciona acceso completo </value>
<value>Administradores [{0}]. Se proporciona acceso completo</value>
</data>
<data name="AttachActionType" xml:space="preserve">
<value>Adjuntar</value>
</data>
<data name="AuditSettingsUpdated" xml:space="preserve">
<value>Ajustes de tiempo de almacenamiento de rastro de auditoría se actualizaron. </value>
<value>Ajustes de tiempo de almacenamiento de rastro de auditoría se actualizaron</value>
</data>
<data name="AuditTrailReportDownloaded" xml:space="preserve">
<value>Rastro de auditoría descargado</value>
@ -266,13 +266,13 @@
<value>Contactos [{0}]. Tarea creada: {1}</value>
</data>
<data name="ContactsCreatedTag" xml:space="preserve">
<value>Contactos. Etiqueta creada: {1}</value>
<value>Contactos. Etiqueta creada: {0}</value>
</data>
<data name="ContactsDeleted" xml:space="preserve">
<value>Contactos borrados: {0}</value>
</data>
<data name="ContactsDeletedTag" xml:space="preserve">
<value>Contactos. Etiqueta borrada: {1}</value>
<value>Contactos. Etiqueta borrada: {0}</value>
</data>
<data name="ContactsExportedToCsv" xml:space="preserve">
<value>Contactos exportados al archivo CSV: {0}</value>
@ -290,10 +290,10 @@
<value>Ajustes de etiqueta de contactos actualizados</value>
</data>
<data name="ContactTemperatureLevelCreated" xml:space="preserve">
<value>Nivel de temperatura de contacto creado:[{0}].</value>
<value>Nivel de temperatura de contacto creado:[{0}]</value>
</data>
<data name="ContactTemperatureLevelDeleted" xml:space="preserve">
<value>Nivel de temperatura de contacto borrado:[{0}].</value>
<value>Nivel de temperatura de contacto borrado:[{0}]</value>
</data>
<data name="ContactTemperatureLevelSettingsUpdated" xml:space="preserve">
<value>Ajustes de nivel de temperatura actualizados</value>
@ -338,7 +338,7 @@
<value>Ajustes de archivos cookie han sido actualizados</value>
</data>
<data name="CopyActionType" xml:space="preserve">
<value>Copiar </value>
<value>Copiar</value>
</data>
<data name="CreateActionType" xml:space="preserve">
<value>Crear</value>
@ -713,7 +713,7 @@
<value>Conexión fallida</value>
</data>
<data name="LoginFailBruteForce" xml:space="preserve">
<value>Fallo de acceso. Demasiados intentos.</value>
<value>Fallo de acceso. Demasiados intentos</value>
</data>
<data name="LoginFailDisabledProfile" xml:space="preserve">
<value>Conexión fallida. Perfil desactivado</value>
@ -722,13 +722,13 @@
<value>Conexión fallida. Combinación de login y contraseña inválida</value>
</data>
<data name="LoginFailIpSecurity" xml:space="preserve">
<value>Seguridad IP: Conexión fallida </value>
<value>Seguridad IP: Conexión fallida</value>
</data>
<data name="LoginFailRecaptcha" xml:space="preserve">
<value>Inicio de sesión falló. Recaptcha es inválida</value>
</data>
<data name="LoginFailSocialAccountNotFound" xml:space="preserve">
<value>Conexión fallida. No se encuentra cuenta asociada </value>
<value>Conexión fallida. No se encuentra cuenta asociada</value>
</data>
<data name="LoginFailViaApi" xml:space="preserve">
<value>Conexión vía API fallida</value>
@ -749,7 +749,7 @@
<value>Acceso vía SSO falló</value>
</data>
<data name="LoginFailViaTfaApp" xml:space="preserve">
<value>Acceso fallido vía aplicación de autenticador.</value>
<value>Acceso fallido vía aplicación de autenticador</value>
</data>
<data name="LoginHistoryReportDownloaded" xml:space="preserve">
<value>Informe sobre historial de conexiones descargado</value>
@ -914,7 +914,7 @@
<value>Perfil de empresa. Nombre de empresa actualizada: {0}</value>
</data>
<data name="OrganizationProfileUpdatedInvoiceLogo" xml:space="preserve">
<value>Perfil de empresa. Logo de factura actualizado: {0}</value>
<value>Perfil de empresa. Logo de factura actualizado</value>
</data>
<data name="OtherCrmSettingsModule" xml:space="preserve">
<value>Otros ajustes</value>
@ -1394,6 +1394,12 @@
<value>Contraseña actualizada</value>
</data>
<data name="WebsiteContactFormUpdatedKey" xml:space="preserve">
<value>Clave de formulario de contacto de sitio web actualizado.</value>
<value>Clave de formulario de contacto de sitio web actualizado</value>
</data>
<data name="RoomCreated" xml:space="preserve">
<value>La sala se ha creado</value>
</data>
<data name="RoomsModule" xml:space="preserve">
<value>Salas</value>
</data>
</root>

View File

@ -290,7 +290,7 @@
<value>Kontaktin lämpötilan taso poistettu: {0}</value>
</data>
<data name="ContactTemperatureLevelSettingsUpdated" xml:space="preserve">
<value>Kontaktin lämpötilan tason asetukset päivitetty: {0}</value>
<value>Kontaktin lämpötilan tason asetukset päivitetty</value>
</data>
<data name="ContactTemperatureLevelsUpdatedOrder" xml:space="preserve">
<value>Kontaktin lämpötilan tasojen järjestys päivitetty: {0}</value>
@ -347,7 +347,7 @@
<value>Asiakkuudenhallinta</value>
</data>
<data name="CrmSmtpMailSent" xml:space="preserve">
<value>SMTP sähköposti lähetetty kontakteille: {0} </value>
<value>SMTP sähköposti lähetetty kontakteille: {0}</value>
</data>
<data name="CrmSmtpSettingsUpdated" xml:space="preserve">
<value>SMTP asetukset päivitetty</value>
@ -710,7 +710,7 @@
<value>Sisäänkirjautuminen epäonnistui API:n kautta</value>
</data>
<data name="LoginFailViaApiSms" xml:space="preserve">
<value>Sisäänkirjautuminen epäonnistui API:n &amp; SMS tekstiviestin koodin kautta.</value>
<value>Sisäänkirjautuminen epäonnistui API:n &amp; SMS tekstiviestin koodin kautta</value>
</data>
<data name="LoginFailViaApiSocialAccount" xml:space="preserve">
<value>Sisäänkirjautuminen API:n &amp; Somen kautta epäonnistui</value>
@ -884,7 +884,7 @@
<value>Muut</value>
</data>
<data name="OwnerChanged" xml:space="preserve">
<value>Omistaja vaihdettu: {0} </value>
<value>Omistaja vaihdettu: {0}</value>
</data>
<data name="OwnerSentChangeOwnerInstructions" xml:space="preserve">
<value>Omistaja [{0}]. Lähetetty omistajan muutoksen ohjeistus</value>
@ -941,7 +941,7 @@
<value>Henkilöt. Lisätty: {0}</value>
</data>
<data name="PersonsMerged" xml:space="preserve">
<value>Henkilöt. Yhdistetty: {0} - {1} </value>
<value>Henkilöt. Yhdistetty: {0} - {1}</value>
</data>
<data name="PersonsModule" xml:space="preserve">
<value>Henkilöt</value>
@ -1079,7 +1079,7 @@
<value>Projektit [{0}]. Tila päivitetty: {1}</value>
</data>
<data name="ProjectUpdatedTeam" xml:space="preserve">
<value>Projektit [{0}]. Projektiryhmää päivitetty: {1}.</value>
<value>Projektit [{0}]. Projektiryhmää päivitetty: {1}</value>
</data>
<data name="ReportsModule" xml:space="preserve">
<value>Raportit</value>
@ -1184,7 +1184,7 @@
<value>Projektit [{0}]. Tehtävät [{1}]. Aikaa päivitetty: {2}</value>
</data>
<data name="TaskUnlinkedMilestone" xml:space="preserve">
<value>Projektit [{0}]. Tehtävät [{1}]. Poistettu välitavoitteista</value>
<value>Projektit [{0}]. Tehtävät [{1}]. Poistettu välitavoitteista.</value>
</data>
<data name="TaskUpdated" xml:space="preserve">
<value>Projektit [{0}]. Tehtävä päivitetty: {1}</value>
@ -1199,7 +1199,7 @@
<value>Tiimin mallipohja muutettu</value>
</data>
<data name="ThirdPartyCreated" xml:space="preserve">
<value>Kolmas osapuoli luotu: {0}. Toimittaja: {1} </value>
<value>Kolmas osapuoli luotu: {0}. Toimittaja: {1}</value>
</data>
<data name="ThirdPartyDeleted" xml:space="preserve">
<value>Kolmas osapuoli poistettu: {0}. Toimittaja: {1}</value>
@ -1247,7 +1247,7 @@
<value>Käyttäjä luotu: {0}</value>
</data>
<data name="UserCreatedViaInvite" xml:space="preserve">
<value>Käyttäjä luotu kutsun kautta: {0} </value>
<value>Käyttäjä luotu kutsun kautta: {0}</value>
</data>
<data name="UserDeleted" xml:space="preserve">
<value>Käyttäjä poistettu: {0}</value>
@ -1262,7 +1262,7 @@
<value>Käyttäjä tuotu: {0}</value>
</data>
<data name="UserLinkedSocialAccount" xml:space="preserve">
<value>Some tili linkitetty. Toimittaja: {0} </value>
<value>Some tili linkitetty. Toimittaja: {0}</value>
</data>
<data name="UsersDeleted" xml:space="preserve">
<value>Käyttäjät. Poistettu: {0}</value>
@ -1312,4 +1312,10 @@
<data name="WebsiteContactFormUpdatedKey" xml:space="preserve">
<value>Sivuston yhteydenottolomakkeen avain päivitetty</value>
</data>
<data name="RoomCreated" xml:space="preserve">
<value>Huone luotu</value>
</data>
<data name="RoomsModule" xml:space="preserve">
<value>Huoneet</value>
</data>
</root>

View File

@ -164,7 +164,7 @@
<value>Actions [{0}]. Personne dissociée : {1}</value>
</data>
<data name="CaseUpdated" xml:space="preserve">
<value>Action mise à jour : {0} </value>
<value>Action mise à jour : {0}</value>
</data>
<data name="CaseUserFieldCreated" xml:space="preserve">
<value>Champ d'utilisateur de l'action créé : {0}</value>
@ -260,7 +260,7 @@
<value>Champ d'utilisateur de l'entreprise mis à jour : {0}</value>
</data>
<data name="ContactAdminMailSent" xml:space="preserve">
<value>Message à l'administrateur envoyé </value>
<value>Message à l'administrateur envoyé</value>
</data>
<data name="ContactsCreatedCrmTasks" xml:space="preserve">
<value>Contacts [{0}]. Tâche créée : {1}</value>
@ -290,7 +290,7 @@
<value>Paramètres de tag de contacts mis à jour</value>
</data>
<data name="ContactTemperatureLevelCreated" xml:space="preserve">
<value>Niveau de la température du contact créé {0}.</value>
<value>Niveau de la température du contact créé {0}</value>
</data>
<data name="ContactTemperatureLevelDeleted" xml:space="preserve">
<value>Niveau de la température du contact supprimé : {0}</value>
@ -452,8 +452,7 @@
<value>Paramètres DNS mis à jour</value>
</data>
<data name="DocumentServiceLocationSetting" xml:space="preserve">
<value>L'emplacement du service de document mis à jour
</value>
<value>L'emplacement du service de document mis à jour</value>
</data>
<data name="DocumentsForcesave" xml:space="preserve">
<value>Paramètres Forcesave sont mis à jour</value>
@ -537,7 +536,7 @@
<value>Document {1} a été signé via {0}</value>
</data>
<data name="FileSendAccessLink" xml:space="preserve">
<value>Lien partagé au fichier [{0}] est envoyé. Destinataires: [{1}] </value>
<value>Lien partagé au fichier [{0}] est envoyé. Destinataires: [{1}]</value>
</data>
<data name="FilesModule" xml:space="preserve">
<value>Fichiers</value>
@ -555,7 +554,7 @@
<value>Fichiers [{0}]. Accès mis à jour</value>
</data>
<data name="FileUpdatedRevisionComment" xml:space="preserve">
<value>Fichiers [{0}]. Révision {1}. Commentaire mis à jour </value>
<value>Fichiers [{0}]. Révision {1}. Commentaire mis à jour</value>
</data>
<data name="FileUploaded" xml:space="preserve">
<value>Fichier chargé : {0}</value>
@ -711,7 +710,7 @@
<value>Lien</value>
</data>
<data name="LoginFail" xml:space="preserve">
<value>Connexion échouée </value>
<value>Connexion échouée</value>
</data>
<data name="LoginFailBruteForce" xml:space="preserve">
<value>Échec de connexion. Trop d'essais</value>
@ -726,7 +725,7 @@
<value>Sécurité IP: connexion échouée</value>
</data>
<data name="LoginFailRecaptcha" xml:space="preserve">
<value>La tentative de connexion a échoué.Recaptcha est invalide </value>
<value>La tentative de connexion a échoué.Recaptcha est invalide</value>
</data>
<data name="LoginFailSocialAccountNotFound" xml:space="preserve">
<value>Connexion échouée. Pas de compte social associé trouvé</value>
@ -1397,4 +1396,10 @@
<data name="WebsiteContactFormUpdatedKey" xml:space="preserve">
<value>Clé du formulaire de contact du site mis à jour</value>
</data>
<data name="RoomCreated" xml:space="preserve">
<value>Salle créée</value>
</data>
<data name="RoomsModule" xml:space="preserve">
<value>Salles</value>
</data>
</root>

View File

@ -206,7 +206,7 @@
<value>Aziende [{0}]. Etichetta creata: {1}</value>
</data>
<data name="CompanyCreatedWithWebForm" xml:space="preserve">
<value>Azienda creata per mezzo del modulo web: {0} </value>
<value>Azienda creata per mezzo del modulo web: {0}</value>
</data>
<data name="CompanyDeleted" xml:space="preserve">
<value>Azienda eliminata: {0}</value>
@ -230,7 +230,7 @@
<value>Aziende [{0}]. Persona scollegata: {1}</value>
</data>
<data name="CompanyUnlinkedProject" xml:space="preserve">
<value>Aziende [{0}]. Progetto scollegato: {1} </value>
<value>Aziende [{0}]. Progetto scollegato: {1}</value>
</data>
<data name="CompanyUpdated" xml:space="preserve">
<value>Azienda aggiornata: {0}</value>
@ -437,7 +437,7 @@
<value>Progetti [{0}]. Discussione eliminata: {1}</value>
</data>
<data name="DiscussionDetachedFile" xml:space="preserve">
<value>Progetti [{0}]. Discussioni [{1}]. File scollegato: {2} </value>
<value>Progetti [{0}]. Discussioni [{1}]. File scollegato: {2}</value>
</data>
<data name="DiscussionsModule" xml:space="preserve">
<value>Discussioni</value>
@ -530,7 +530,7 @@
<value>File rinominato: {0}</value>
</data>
<data name="FileRestoreVersion" xml:space="preserve">
<value>Files [{0}]. Revisione: {1}. Version Ripristinata.</value>
<value>Files [{0}]. Revisione: {1}. Version Ripristinata</value>
</data>
<data name="FilesDocumentSigned" xml:space="preserve">
<value>Documento {1} firmato tramite {0}</value>
@ -827,7 +827,7 @@
<value>Opportunità esportate al file CSV: {0}</value>
</data>
<data name="OpportunitiesImportedFromCSV" xml:space="preserve">
<value>Opportunità importate dal file CSV: {0}</value>
<value>Opportunità importate dal file CSV</value>
</data>
<data name="OpportunitiesModule" xml:space="preserve">
<value>Opportunità</value>
@ -902,7 +902,7 @@
<value>Campo utente di opportunità eliminato: {0}</value>
</data>
<data name="OpportunityUserFieldsUpdatedOrder" xml:space="preserve">
<value>Ordine campi utente di opportunità aggiornato: {0} </value>
<value>Ordine campi utente di opportunità aggiornato: {0}</value>
</data>
<data name="OpportunityUserFieldUpdated" xml:space="preserve">
<value>Campo utente di opportunità aggiornato: {0}</value>
@ -1019,7 +1019,7 @@
<value>Piattaforma</value>
</data>
<data name="PortalAccessSettingsUpdated" xml:space="preserve">
<value>Impostazioni d'accesso portale aggiornati.</value>
<value>Impostazioni d'accesso portale aggiornati</value>
</data>
<data name="PortalDeactivated" xml:space="preserve">
<value>Portale disattivato</value>
@ -1076,7 +1076,7 @@
<value>Progetto seguito: {0}</value>
</data>
<data name="ProjectLinkedCompany" xml:space="preserve">
<value>Progetti [{0}]. Azienda collegata: {1} </value>
<value>Progetti [{0}]. Azienda collegata: {1}</value>
</data>
<data name="ProjectLinkedContacts" xml:space="preserve">
<value>Progetti [{0}]. Contatti collegati: {1}</value>
@ -1109,7 +1109,7 @@
<value>Progetto non più seguito: {0}</value>
</data>
<data name="ProjectUnlinkedCompany" xml:space="preserve">
<value>Progetti [{0}]. Azienda scollegata: {1} </value>
<value>Progetti [{0}]. Azienda scollegata: {1}</value>
</data>
<data name="ProjectUnlinkedPerson" xml:space="preserve">
<value>Progetti [{0}]. Persona scollegata: {1}</value>
@ -1199,7 +1199,7 @@
<value>Progetti [{0}]. Attività [{1}]. Commento creato</value>
</data>
<data name="TaskCommentDeleted" xml:space="preserve">
<value>Progetti [{0}]. Attività [{1}]. Commento eliminato </value>
<value>Progetti [{0}]. Attività [{1}]. Commento eliminato</value>
</data>
<data name="TaskCommentUpdated" xml:space="preserve">
<value>Progetti [{0}]. Attività [{1}]. Commento aggiornato</value>
@ -1241,7 +1241,7 @@
<value>Progetti [{0}]. Attività: [{1}]. Ora aggiornata: {2}</value>
</data>
<data name="TaskUnlinkedMilestone" xml:space="preserve">
<value>Progetti [{0}]. Attività: [{1}]. Scollegata dalla milestone</value>
<value>Progetti [{0}]. Attività: [{1}]. Scollegata dalla milestone.</value>
</data>
<data name="TaskUpdated" xml:space="preserve">
<value>Progetti [{0}]. Attività aggiornata: {1}</value>
@ -1316,7 +1316,7 @@
<value>Utente creato: {0}</value>
</data>
<data name="UserCreatedViaInvite" xml:space="preserve">
<value>Utente creato per mezzo dell'invito: {0} </value>
<value>Utente creato per mezzo dell'invito: {0}</value>
</data>
<data name="UserDataReassigns" xml:space="preserve">
<value>Dati Riassegnati: da utente {0} a utente {1}</value>
@ -1328,7 +1328,7 @@
<value>Utente eliminato: {0}</value>
</data>
<data name="UserDeletedAvatar" xml:space="preserve">
<value>Utenti [{0}]. Avatar eliminato </value>
<value>Utenti [{0}]. Avatar eliminato</value>
</data>
<data name="UserFileUpdated" xml:space="preserve">
<value>Utenti [{0}]. File aggiornato: {1}</value>
@ -1379,10 +1379,7 @@
<value>Utente aggiornato: {0}</value>
</data>
<data name="UserUpdatedAvatarThumbnails" xml:space="preserve">
<value>Utenti [{0}]. Miniature avatar aggiornate
</value>
<value>Utenti [{0}]. Miniature avatar aggiornate</value>
</data>
<data name="UserUpdatedEmail" xml:space="preserve">
<value>Email aggiornata</value>
@ -1399,4 +1396,10 @@
<data name="WebsiteContactFormUpdatedKey" xml:space="preserve">
<value>Chiave del modulo Contatti dal sito aggiornata</value>
</data>
<data name="RoomCreated" xml:space="preserve">
<value>La stanza è stata creata</value>
</data>
<data name="RoomsModule" xml:space="preserve">
<value>Stanze</value>
</data>
</root>

File diff suppressed because it is too large Load Diff

View File

@ -386,7 +386,7 @@
<value>CSV failā eksportētie CRM uzdevumi: {0}</value>
</data>
<data name="CrmTasksImportedFromCSV" xml:space="preserve">
<value>No CSV faila importētie CRM uzdevumi: {0}</value>
<value>No CSV faila importētie CRM uzdevumi</value>
</data>
<data name="CrmTasksModule" xml:space="preserve">
<value>CRM uzdevumi</value>
@ -881,10 +881,10 @@
<value>Organizācijas profils. Adrese atjaunināta</value>
</data>
<data name="OrganizationProfileUpdatedCompanyName" xml:space="preserve">
<value>Organizācijas profils. Uzņēmuma nosaukums atjaunināts:{0} </value>
<value>Organizācijas profils. Uzņēmuma nosaukums atjaunināts:{0}</value>
</data>
<data name="OrganizationProfileUpdatedInvoiceLogo" xml:space="preserve">
<value>Organizācijas profils. Rēķina logo atjaunināts.</value>
<value>Organizācijas profils. Rēķina logo atjaunināts</value>
</data>
<data name="OtherCrmSettingsModule" xml:space="preserve">
<value>Citi uzstādījumi</value>
@ -1336,4 +1336,10 @@
<data name="WebsiteContactFormUpdatedKey" xml:space="preserve">
<value>Vietnes kontaktveidlapas atslēga atjaunināta</value>
</data>
<data name="RoomCreated" xml:space="preserve">
<value>Telpa ir izveidota</value>
</data>
<data name="RoomsModule" xml:space="preserve">
<value>Telpas</value>
</data>
</root>

View File

@ -86,7 +86,7 @@
<value>Audit Trail Rapport ({0}-{1})</value>
</data>
<data name="AuthorizationKeysSetting" xml:space="preserve">
<value>Derde Partij Autorisatiesleutel geüpdatet </value>
<value>Derde Partij Autorisatiesleutel geüpdatet</value>
</data>
<data name="BrowserCol" xml:space="preserve">
<value>Browser</value>
@ -218,13 +218,13 @@
<value>Bedrijven [{0}]. Persoon Gekoppeld: {1}</value>
</data>
<data name="CompanyLinkedProject" xml:space="preserve">
<value>Bedrijven [{0}]. Project Gekoppeld: {1} </value>
<value>Bedrijven [{0}]. Project Gekoppeld: {1}</value>
</data>
<data name="CompanyUnlinkedPerson" xml:space="preserve">
<value>Bedrijven [{0}]. Persoon Ontkoppeld: {1}</value>
</data>
<data name="CompanyUnlinkedProject" xml:space="preserve">
<value>Bedrijven [{0}]. Project Ontkoppeld: {1} </value>
<value>Bedrijven [{0}]. Project Ontkoppeld: {1}</value>
</data>
<data name="CompanyUpdated" xml:space="preserve">
<value>Bedrijf Geüpdatet: {0}</value>
@ -239,10 +239,10 @@
<value>Bedrijven [{0}]. Belangrijke Info Geüpdatet</value>
</data>
<data name="CompanyUpdatedTemperatureLevel" xml:space="preserve">
<value>Bedrijven [{0}]. Temperatuurniveau Geüpdatet </value>
<value>Bedrijven [{0}]. Temperatuurniveau Geüpdatet</value>
</data>
<data name="CompanyUserFieldCreated" xml:space="preserve">
<value>Bedrijfsgebruiker Veld Aangemaakt: {0} </value>
<value>Bedrijfsgebruiker Veld Aangemaakt: {0}</value>
</data>
<data name="CompanyUserFieldDeleted" xml:space="preserve">
<value>Bedrijf Gebruiker Veld Verwijderd: {0}</value>
@ -272,7 +272,7 @@
<value>Contacten Geëxporteerd naar CSV-bestand: {0}</value>
</data>
<data name="ContactsImportedFromCSV" xml:space="preserve">
<value>Contacten Geïmporteerd van CSV-bestand </value>
<value>Contacten Geïmporteerd van CSV-bestand</value>
</data>
<data name="ContactsModule" xml:space="preserve">
<value>Contacten</value>
@ -281,25 +281,25 @@
<value>Instellingen</value>
</data>
<data name="ContactsTagSettingsUpdated" xml:space="preserve">
<value>Contacten Tag Instelingen Geüpdatet </value>
<value>Contacten Tag Instelingen Geüpdatet</value>
</data>
<data name="ContactTemperatureLevelCreated" xml:space="preserve">
<value>Contact Temperatuurniveau Aangemaakt: {0} </value>
<value>Contact Temperatuurniveau Aangemaakt: {0}</value>
</data>
<data name="ContactTemperatureLevelDeleted" xml:space="preserve">
<value>Contact Temperatuurniveau Verwijderd {0} </value>
<value>Contact Temperatuurniveau Verwijderd {0}</value>
</data>
<data name="ContactTemperatureLevelSettingsUpdated" xml:space="preserve">
<value>Contact Temperatuurniveau Instellingen Geüpdatet </value>
<value>Contact Temperatuurniveau Instellingen Geüpdatet</value>
</data>
<data name="ContactTemperatureLevelsUpdatedOrder" xml:space="preserve">
<value>Contact Temperatuurniveaus Volgorde Geüpdatet: {0}</value>
</data>
<data name="ContactTemperatureLevelUpdated" xml:space="preserve">
<value>Contact Temperatuurniveau Geüpdatet: {0} </value>
<value>Contact Temperatuurniveau Geüpdatet: {0}</value>
</data>
<data name="ContactTemperatureLevelUpdatedColor" xml:space="preserve">
<value>Contact Temperatuurniveau [{0}]. Kleur Geüpdatet </value>
<value>Contact Temperatuurniveau [{0}]. Kleur Geüpdatet</value>
</data>
<data name="ContactTypeCreated" xml:space="preserve">
<value>Contacttype Aangemaakt: {0}</value>
@ -329,7 +329,7 @@
<value>Contactgebruiker Veld Geüpdatet: {0}</value>
</data>
<data name="CookieSettingsUpdated" xml:space="preserve">
<value>Cookie Instellingen Geüpdatet </value>
<value>Cookie Instellingen Geüpdatet</value>
</data>
<data name="CopyActionType" xml:space="preserve">
<value>Kopiëren</value>
@ -341,7 +341,7 @@
<value>Alle gegevens geëxporteerd</value>
</data>
<data name="CrmDefaultCurrencyUpdated" xml:space="preserve">
<value>Standaardvaluta geüpdatet </value>
<value>Standaardvaluta geüpdatet</value>
</data>
<data name="CrmProduct" xml:space="preserve">
<value>CRM</value>
@ -350,8 +350,7 @@
<value>SMTP Mail Verzonden naar Contacten: {0}</value>
</data>
<data name="CrmSmtpSettingsUpdated" xml:space="preserve">
<value>SMTP Instellingen Geüpdatet
</value>
<value>SMTP Instellingen Geüpdatet</value>
</data>
<data name="CrmTaskCategoriesUpdatedOrder" xml:space="preserve">
<value>CRM Taakcategorie Volgorde Geüpdatet: {0}</value>
@ -384,7 +383,7 @@
<value>CRM Taken Geëxporteerd naar CSV-bestand: {0}</value>
</data>
<data name="CrmTasksImportedFromCSV" xml:space="preserve">
<value>CRM Taken Geïmporteerd Van CSV-bestand: {0}</value>
<value>CRM Taken Geïmporteerd Van CSV-bestand</value>
</data>
<data name="CrmTasksModule" xml:space="preserve">
<value>CRM Taken</value>
@ -402,7 +401,7 @@
<value>Datum</value>
</data>
<data name="DefaultStartPageSettingsUpdated" xml:space="preserve">
<value>Standaard Startpagina Instellingen Geüpdatet </value>
<value>Standaard Startpagina Instellingen Geüpdatet</value>
</data>
<data name="DeleteActionType" xml:space="preserve">
<value>Verwijderen</value>
@ -420,7 +419,7 @@
<value>Projecten [{0}]. Discussies [{1}]. Opmerking Verwijderd</value>
</data>
<data name="DiscussionCommentUpdated" xml:space="preserve">
<value>Projecten [{0}]. Discussies [{1}]. Opmerking Geüpdatet </value>
<value>Projecten [{0}]. Discussies [{1}]. Opmerking Geüpdatet</value>
</data>
<data name="DiscussionCreated" xml:space="preserve">
<value>Projecten [{0}]. Discussie Aangemaakt: {1}</value>
@ -441,10 +440,10 @@
<value>Projecten [{0}]. Discussie Volgen Geüpdatet: {1}</value>
</data>
<data name="DnsSettingsUpdated" xml:space="preserve">
<value>DNS Instellingen Geüpdatet </value>
<value>DNS Instellingen Geüpdatet</value>
</data>
<data name="DocumentServiceLocationSetting" xml:space="preserve">
<value>Documentservice Locatie Geüpdatet </value>
<value>Documentservice Locatie Geüpdatet</value>
</data>
<data name="DocumentsOverwritingSettingsUpdated" xml:space="preserve">
<value>Overschrijf instellingen geactualiseerd</value>
@ -456,10 +455,10 @@
<value>Instellingen</value>
</data>
<data name="DocumentsThirdPartySettingsUpdated" xml:space="preserve">
<value>Derde Partij Instellingen Geüpdatet </value>
<value>Derde Partij Instellingen Geüpdatet</value>
</data>
<data name="DocumentsUploadingFormatsSettingsUpdated" xml:space="preserve">
<value>Uploadformaten Instellingen Geüpdatet </value>
<value>Uploadformaten Instellingen Geüpdatet</value>
</data>
<data name="DownloadActionType" xml:space="preserve">
<value>Downloaden</value>
@ -522,7 +521,7 @@
<value>Document {1} ondertekenend via {0}</value>
</data>
<data name="FileSendAccessLink" xml:space="preserve">
<value>Verstuurde gedeelde link voor het [{0}] bestand. Ontvangers: [{1}] </value>
<value>Verstuurde gedeelde link voor het [{0}] bestand. Ontvangers: [{1}]</value>
</data>
<data name="FilesModule" xml:space="preserve">
<value>Bestanden</value>
@ -537,10 +536,10 @@
<value>Bestand Geüpdatet: {0}</value>
</data>
<data name="FileUpdatedAccess" xml:space="preserve">
<value>Bestanden [{0}]. Toegang Geüpdatet </value>
<value>Bestanden [{0}]. Toegang Geüpdatet</value>
</data>
<data name="FileUpdatedRevisionComment" xml:space="preserve">
<value>Bestanden [{0}]. Revisie {1}. Opmerking Geüpdatet </value>
<value>Bestanden [{0}]. Revisie {1}. Opmerking Geüpdatet</value>
</data>
<data name="FileUploaded" xml:space="preserve">
<value>Bestand Geüpload: {0}</value>
@ -573,7 +572,7 @@
<value>Mappen</value>
</data>
<data name="FolderUpdatedAccess" xml:space="preserve">
<value>Mappen [{0}]. Toegang Geüpdatet </value>
<value>Mappen [{0}]. Toegang Geüpdatet</value>
</data>
<data name="FollowActionType" xml:space="preserve">
<value>Volgen</value>
@ -585,7 +584,7 @@
<value>Algemeen</value>
</data>
<data name="GreetingSettingsUpdated" xml:space="preserve">
<value>Welkomstpagina Instellingen Geüpdatet </value>
<value>Welkomstpagina Instellingen Geüpdatet</value>
</data>
<data name="GroupCreated" xml:space="preserve">
<value>Groep Aangemaakt: {0}</value>
@ -618,7 +617,7 @@
<value>Voorbije Gebeurtenissen Categorieën. Volgorde Geüpdatet: {0}</value>
</data>
<data name="HistoryEventCategoryCreated" xml:space="preserve">
<value>Voorbije Gebeurtenis Categorie Aangemaakt: {0} </value>
<value>Voorbije Gebeurtenis Categorie Aangemaakt: {0}</value>
</data>
<data name="HistoryEventCategoryDeleted" xml:space="preserve">
<value>Voorbije Gebeurtenis Categorie Verwijderd: {0}</value>
@ -627,7 +626,7 @@
<value>Voorbije Gebeurtenis Categorie Geüpdatet {0}</value>
</data>
<data name="HistoryEventCategoryUpdatedIcon" xml:space="preserve">
<value>Voorbije Gebeurtenis Categorieën [{0}]. Icoon Geüpdatet </value>
<value>Voorbije Gebeurtenis Categorieën [{0}]. Icoon Geüpdatet</value>
</data>
<data name="ImportActionType" xml:space="preserve">
<value>Importeren</value>
@ -636,7 +635,7 @@
<value>Factuur gemaakt: {0}</value>
</data>
<data name="InvoiceDefaultTermsUpdated" xml:space="preserve">
<value>Factuur Standaardvoorwaarden Geüpdatet </value>
<value>Factuur Standaardvoorwaarden Geüpdatet</value>
</data>
<data name="InvoiceDeleted" xml:space="preserve">
<value>Factuur Verwijderd: {0}</value>
@ -657,7 +656,7 @@
<value>Factuur Item Geüpdatet: {0}</value>
</data>
<data name="InvoiceNumberFormatUpdated" xml:space="preserve">
<value>Factuur Nummerformaat Geüpdatet </value>
<value>Factuur Nummerformaat Geüpdatet</value>
</data>
<data name="InvoicesDeleted" xml:space="preserve">
<value>Facturen Verwijderd: {0}</value>
@ -690,7 +689,7 @@
<value>Taalinstellingen</value>
</data>
<data name="LicenseKeyUploaded" xml:space="preserve">
<value>Licentiesleutel geüpload </value>
<value>Licentiesleutel geüpload</value>
</data>
<data name="LinkActionType" xml:space="preserve">
<value>Link</value>
@ -756,7 +755,7 @@
<value>Uitloggen</value>
</data>
<data name="MailServiceSettingsUpdated" xml:space="preserve">
<value>Mailservice Instellingen Geüpdatet </value>
<value>Mailservice Instellingen Geüpdatet</value>
</data>
<data name="MilestoneCreated" xml:space="preserve">
<value>Projecten [{0}]. Mijlpalen Aangemaakt: {1}</value>
@ -792,7 +791,7 @@
<value>Kansen Geëxporteerd Naar CSV-bestand: {0}</value>
</data>
<data name="OpportunitiesImportedFromCSV" xml:space="preserve">
<value>Kansen Geïmporteerd van CSV-bestand </value>
<value>Kansen Geïmporteerd van CSV-bestand</value>
</data>
<data name="OpportunitiesModule" xml:space="preserve">
<value>Kansen</value>
@ -846,7 +845,7 @@
<value>Kansfase Geüpdatet: {0}</value>
</data>
<data name="OpportunityStageUpdatedColor" xml:space="preserve">
<value>Kansfase Kleur Geüpdatet: {0} </value>
<value>Kansfase Kleur Geüpdatet: {0}</value>
</data>
<data name="OpportunityUnlinkedCompany" xml:space="preserve">
<value>Kansen [{0}]. Bedrijf Ontkoppeld: {1}</value>
@ -873,13 +872,13 @@
<value>Kans Gebruikersveld Geüpdatet: {0}</value>
</data>
<data name="OrganizationProfileUpdatedAddress" xml:space="preserve">
<value>Organisatieprofiel. Adres Geüpdatet </value>
<value>Organisatieprofiel. Adres Geüpdatet</value>
</data>
<data name="OrganizationProfileUpdatedCompanyName" xml:space="preserve">
<value>Organisatieprofiel. Bedrijfsnaam Geüpdatet: {0} </value>
<value>Organisatieprofiel. Bedrijfsnaam Geüpdatet: {0}</value>
</data>
<data name="OrganizationProfileUpdatedInvoiceLogo" xml:space="preserve">
<value>Organisatieprofiel. Factuurlogo Geüpdatet </value>
<value>Organisatieprofiel. Factuurlogo Geüpdatet</value>
</data>
<data name="OtherCrmSettingsModule" xml:space="preserve">
<value>Andere Instellingen</value>
@ -903,7 +902,7 @@
<value>Pagina</value>
</data>
<data name="PasswordStrengthSettingsUpdated" xml:space="preserve">
<value>Wachtwoordsterkte Instellingen Geüpdatet </value>
<value>Wachtwoordsterkte Instellingen Geüpdatet</value>
</data>
<data name="PeopleProduct" xml:space="preserve">
<value>Personen</value>
@ -960,7 +959,7 @@
<value>Personen [{0}]. Bedrijf Temperatuurniveau Geüpdatet</value>
</data>
<data name="PersonUpdatedPhoto" xml:space="preserve">
<value>Personen [{0}]. Foto Geüpdatet </value>
<value>Personen [{0}]. Foto Geüpdatet</value>
</data>
<data name="PersonUpdatedPrincipalInfo" xml:space="preserve">
<value>Personen [{0}]. Belangrijke Info Geüpdatet</value>
@ -975,7 +974,7 @@
<value>Persoon Gebruikersveld Verwijderd: {0}</value>
</data>
<data name="PersonUserFieldsUpdatedOrder" xml:space="preserve">
<value>Persoon Gebruikersvelden Volgorde Geüpdatet: {0} </value>
<value>Persoon Gebruikersvelden Volgorde Geüpdatet: {0}</value>
</data>
<data name="PersonUserFieldUpdated" xml:space="preserve">
<value>Persoon Gebruikersveld Geüpdatet: {0}</value>
@ -984,7 +983,7 @@
<value>Platform</value>
</data>
<data name="PortalAccessSettingsUpdated" xml:space="preserve">
<value>Portaaltoegang Instellingen Geüpdatet </value>
<value>Portaaltoegang Instellingen Geüpdatet</value>
</data>
<data name="PortalDeactivated" xml:space="preserve">
<value>Portaal Gedeactiveerd</value>
@ -1014,7 +1013,7 @@
<value>Producten [{0}]. Beheerder Verwijderd: {1}</value>
</data>
<data name="ProductsListUpdated" xml:space="preserve">
<value>Productenlijst Geüpdatet </value>
<value>Productenlijst Geüpdatet</value>
</data>
<data name="ProductsModule" xml:space="preserve">
<value>Producten</value>
@ -1074,10 +1073,10 @@
<value>Projecten [{0}]. Persoon Ontkoppeld: {1}</value>
</data>
<data name="ProjectUpdated" xml:space="preserve">
<value>Project Geüpdatet: {0} </value>
<value>Project Geüpdatet: {0}</value>
</data>
<data name="ProjectUpdatedMemberRights" xml:space="preserve">
<value>Projecten [{0}]. Leden [{1}]. Toegangsrechten Geüpdatet </value>
<value>Projecten [{0}]. Leden [{1}]. Toegangsrechten Geüpdatet</value>
</data>
<data name="ProjectUpdatedStatus" xml:space="preserve">
<value>Projecten [{0}]. Status Geüpdatet: {1}</value>
@ -1149,7 +1148,7 @@
<value>Projecten [{0}]. Taken: [{1}]. Opmerking Verwijderd</value>
</data>
<data name="TaskCommentUpdated" xml:space="preserve">
<value>Projecten [{0}]. Taken: [{1}]. Opmerking Geüpdatet </value>
<value>Projecten [{0}]. Taken: [{1}]. Opmerking Geüpdatet</value>
</data>
<data name="TaskCreated" xml:space="preserve">
<value>Projecten [{0}]. Taak Aangemaakt: {1}</value>
@ -1215,13 +1214,13 @@
<value>Tijd Bijhouden</value>
</data>
<data name="TimeZoneSettingsUpdated" xml:space="preserve">
<value>Tijdszone Instellingen Geüpdatet </value>
<value>Tijdszone Instellingen Geüpdatet</value>
</data>
<data name="TrustedMailDomainSettingsUpdated" xml:space="preserve">
<value>Vertrouwde Maildomein Instellingen Geüpdatet </value>
<value>Vertrouwde Maildomein Instellingen Geüpdatet</value>
</data>
<data name="TwoFactorAuthenticationSettingsUpdated" xml:space="preserve">
<value>Twee-factor Authenticatie Instellingen Geüpdatet </value>
<value>Twee-factor Authenticatie Instellingen Geüpdatet</value>
</data>
<data name="UnfollowActionType" xml:space="preserve">
<value>Niet meer volgen</value>
@ -1233,7 +1232,7 @@
<value>Ontkoppelen</value>
</data>
<data name="UpdateAccessActionType" xml:space="preserve">
<value>Toegang Geüpdatet </value>
<value>Toegang Geüpdatet</value>
</data>
<data name="UpdateActionType" xml:space="preserve">
<value>Update</value>
@ -1275,7 +1274,7 @@
<value>Gebruikers Verwijderd: {0}</value>
</data>
<data name="UserSentActivationInstructions" xml:space="preserve">
<value>Gebruikers [{0}]. Verzonden Activeringsinstructies </value>
<value>Gebruikers [{0}]. Verzonden Activeringsinstructies</value>
</data>
<data name="UserSentDeleteInstructions" xml:space="preserve">
<value>Verstuurde Instructies Profiel Verwijderen</value>
@ -1293,7 +1292,7 @@
<value>Gebruikers [{0}]. Activeringsinstructies Verzonden</value>
</data>
<data name="UsersUpdatedStatus" xml:space="preserve">
<value>Gebruikers [{0}]. Geüpdate Status </value>
<value>Gebruikers [{0}]. Geüpdate Status</value>
</data>
<data name="UsersUpdatedType" xml:space="preserve">
<value>Gebruikers [{0}]. Geüpdate Type</value>
@ -1305,18 +1304,24 @@
<value>Gebruiker Geüpdatet: {0}</value>
</data>
<data name="UserUpdatedAvatarThumbnails" xml:space="preserve">
<value>Gebruikers [{0}]. Avatar Thumbnails Geüpdatet </value>
<value>Gebruikers [{0}]. Avatar Thumbnails Geüpdatet</value>
</data>
<data name="UserUpdatedLanguage" xml:space="preserve">
<value>Taal Geüpdatet </value>
<value>Taal Geüpdatet</value>
</data>
<data name="UserUpdatedMobileNumber" xml:space="preserve">
<value>Gebruikers [{0}]. Mobiele Nummer Geüpdatet: {1}</value>
</data>
<data name="UserUpdatedPassword" xml:space="preserve">
<value>Wachtwoord Geüpdatet </value>
<value>Wachtwoord Geüpdatet</value>
</data>
<data name="WebsiteContactFormUpdatedKey" xml:space="preserve">
<value>Website Contactformulier Sleutel Geüpdatet </value>
<value>Website Contactformulier Sleutel Geüpdatet</value>
</data>
<data name="RoomCreated" xml:space="preserve">
<value>Kamer aangemaakt</value>
</data>
<data name="RoomsModule" xml:space="preserve">
<value>Kamers</value>
</data>
</root>

View File

@ -59,8 +59,7 @@
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=6.0.2.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<data name="ActionCol" xml:space="preserve">
<value>Akcja
</value>
<value>Akcja</value>
</data>
<data name="ActionTypeCol" xml:space="preserve">
<value>Typ akcji</value>
@ -702,8 +701,7 @@
<value>Błąd logowania. Profil wyłączony</value>
</data>
<data name="LoginFailInvalidCombination" xml:space="preserve">
<value>Błąd logowania. Niewłaściwa kombinacja hasła i nazwy użytkownika
</value>
<value>Błąd logowania. Niewłaściwa kombinacja hasła i nazwy użytkownika</value>
</data>
<data name="LoginFailIpSecurity" xml:space="preserve">
<value>Zabezpieczenie IP: logowanie nie powiodło się</value>
@ -1165,7 +1163,7 @@
<value>Projekty [{0}]. Zadanie usunięte: {1}</value>
</data>
<data name="TaskDetachedFile" xml:space="preserve">
<value>Projekty [{0}]. Zadanie 1}. Plik odłączony: {2}</value>
<value>Projekty [{0}]. Zadanie {1}. Plik odłączony: {2}</value>
</data>
<data name="TaskMovedToMilestone" xml:space="preserve">
<value>Projekty [{0}]. Etapy [{1}]. Zadanie przeniesione: {2}</value>
@ -1326,4 +1324,10 @@
<data name="WebsiteContactFormUpdatedKey" xml:space="preserve">
<value>Został zaktualizowany klucz kontaktowy strony internetowej</value>
</data>
<data name="RoomCreated" xml:space="preserve">
<value>Pokój został utworzony</value>
</data>
<data name="RoomsModule" xml:space="preserve">
<value>Pokoje</value>
</data>
</root>

View File

@ -290,10 +290,10 @@
<value>Configurações de etiqueta de contatos atualizadas</value>
</data>
<data name="ContactTemperatureLevelCreated" xml:space="preserve">
<value>Nível de temperatura do contato criado [{0}].</value>
<value>Nível de temperatura do contato criado [{0}]</value>
</data>
<data name="ContactTemperatureLevelDeleted" xml:space="preserve">
<value>Nível de temperatura do contato excluído [{0}].</value>
<value>Nível de temperatura do contato excluído [{0}]</value>
</data>
<data name="ContactTemperatureLevelSettingsUpdated" xml:space="preserve">
<value>Configurações do nível de temperatura do contato atualizadas</value>
@ -488,7 +488,7 @@
<value>Arquivo convertido para formato interno: {0}</value>
</data>
<data name="FileCopied" xml:space="preserve">
<value>Arquivos. Copiados da pasta "{1}" para a pasta: "{2}"</value>
<value>Arquivos [{0}]. Copiados da pasta "{1}" para a pasta: "{2}"</value>
</data>
<data name="FileCopiedWithOverwriting" xml:space="preserve">
<value>Arquivos[{0}]. Copiado com substituição da pasta "{1}" para a pasta: "{2}"</value>
@ -497,7 +497,7 @@
<value>Arquivo criado: {0}</value>
</data>
<data name="FileCreatedVersion" xml:space="preserve">
<value>Arquivos [{0}]. Revisão {1}. Versão criada </value>
<value>Arquivos [{0}]. Revisão {1}. Versão criada</value>
</data>
<data name="FileDeleted" xml:space="preserve">
<value>Arquivo excluído: {0}</value>
@ -950,7 +950,7 @@
<value>Pessoa criada: {0}</value>
</data>
<data name="PersonCreatedCompanyTag" xml:space="preserve">
<value>Pessoas [{0}]. Etiqueta da empresa criada: {0}</value>
<value>Pessoas [{0}]. Etiqueta da empresa criada: {1}</value>
</data>
<data name="PersonCreatedHistoryEvent" xml:space="preserve">
<value>Pessoas [{0}]. Evento histórico criado: {1}</value>
@ -1046,13 +1046,13 @@
<value>Produtos [{0}]. Acesso restrito</value>
</data>
<data name="ProductAddedAdministrator" xml:space="preserve">
<value>Produtos [{0}]. Administrador adicionado: {0}</value>
<value>Produtos [{0}]. Administrador adicionado: {1}</value>
</data>
<data name="ProductCol" xml:space="preserve">
<value>Produto</value>
</data>
<data name="ProductDeletedAdministrator" xml:space="preserve">
<value>Produtos [{0}]. Administrador excluído: {0}</value>
<value>Produtos [{0}]. Administrador excluído: {1}</value>
</data>
<data name="ProductsListUpdated" xml:space="preserve">
<value>Lista de produtos atualizada</value>
@ -1396,4 +1396,10 @@
<data name="WebsiteContactFormUpdatedKey" xml:space="preserve">
<value>Chave de formulário de contato do site atualizada</value>
</data>
<data name="RoomCreated" xml:space="preserve">
<value>Sala criada</value>
</data>
<data name="RoomsModule" xml:space="preserve">
<value>Salas</value>
</data>
</root>

View File

@ -458,7 +458,7 @@
<value>Forcesave settings Updated</value>
</data>
<data name="DocumentsOverwritingSettingsUpdated" xml:space="preserve">
<value> Overwriting Settings Updated</value>
<value>Overwriting Settings Updated</value>
</data>
<data name="DocumentsProduct" xml:space="preserve">
<value>Documents</value>
@ -554,7 +554,7 @@
<value>Files [{0}]. Access Updated</value>
</data>
<data name="FileUpdatedRevisionComment" xml:space="preserve">
<value>Files [{0}]. Revision {1}. Comment Updated </value>
<value>Files [{0}]. Revision {1}. Comment Updated</value>
</data>
<data name="FileUploaded" xml:space="preserve">
<value>File Uploaded: {0}</value>

View File

@ -389,7 +389,7 @@
<value>В файл CSV экспортированы задачи CRM: {0}</value>
</data>
<data name="CrmTasksImportedFromCSV" xml:space="preserve">
<value>Из файла CSV импортированы задачи CRM: {0}</value>
<value>Из файла CSV импортированы задачи CRM</value>
</data>
<data name="CrmTasksModule" xml:space="preserve">
<value>Задачи CRM</value>
@ -719,7 +719,7 @@
<value>Неудачная попытка входа. Профиль заблокирован</value>
</data>
<data name="LoginFailInvalidCombination" xml:space="preserve">
<value>Неудачная попытка входа. Неправильная комбинация имени пользователя и пароля </value>
<value>Неудачная попытка входа. Неправильная комбинация имени пользователя и пароля</value>
</data>
<data name="LoginFailIpSecurity" xml:space="preserve">
<value>IP-безопасность: неудачная попытка входа</value>
@ -1396,4 +1396,10 @@
<data name="WebsiteContactFormUpdatedKey" xml:space="preserve">
<value>Обновлен ключ формы Контакты с сайта</value>
</data>
<data name="RoomCreated" xml:space="preserve">
<value>Комната создана</value>
</data>
<data name="RoomsModule" xml:space="preserve">
<value>Комнаты</value>
</data>
</root>

View File

@ -74,7 +74,7 @@
<value>Vymazaný správca:{0}</value>
</data>
<data name="AdministratorMessageSettingsUpdated" xml:space="preserve">
<value>Aktualizované nastavenia správcovských správ </value>
<value>Aktualizované nastavenia správcovských správ</value>
</data>
<data name="AdministratorOpenedFullAccess" xml:space="preserve">
<value>Správcovia{0}]. Úplný prístup bol otvorený</value>
@ -461,7 +461,7 @@
<value>Aktualizované nastavenia tretej strany</value>
</data>
<data name="DocumentsUploadingFormatsSettingsUpdated" xml:space="preserve">
<value>Nahrávanie aktualizovaného nastavenia formátov </value>
<value>Nahrávanie aktualizovaného nastavenia formátov</value>
</data>
<data name="DownloadActionType" xml:space="preserve">
<value>Stiahnuť</value>
@ -539,7 +539,7 @@
<value>Súbor aktualizovaný: {0}</value>
</data>
<data name="FileUpdatedAccess" xml:space="preserve">
<value>Súbory [{0}]. Prístup aktualizovaný </value>
<value>Súbory [{0}]. Prístup aktualizovaný</value>
</data>
<data name="FileUpdatedRevisionComment" xml:space="preserve">
<value>Súbory [{0}]. Revízia {1}. Komentár bol aktualizovaný</value>
@ -569,7 +569,7 @@
<value>Priečinky[{0}]. Presunuté s prepísaním do priečinka: {1}</value>
</data>
<data name="FolderRenamed" xml:space="preserve">
<value>Priečinok premenovaný: {0} </value>
<value>Priečinok premenovaný: {0}</value>
</data>
<data name="FoldersModule" xml:space="preserve">
<value>Priečinky</value>
@ -737,7 +737,7 @@
<value>Prihlásenie úspešné</value>
</data>
<data name="LoginSuccessSocialAccount" xml:space="preserve">
<value>Prihlásenie prostredníctvom účtu sociálnej siete bolo úspešné </value>
<value>Prihlásenie prostredníctvom účtu sociálnej siete bolo úspešné</value>
</data>
<data name="LoginSuccessViaApi" xml:space="preserve">
<value>Úspešné prihlásenie cez API</value>
@ -881,7 +881,7 @@
<value>Profil Organizácie. Aktualizovaný názov spoločnosti: {0}</value>
</data>
<data name="OrganizationProfileUpdatedInvoiceLogo" xml:space="preserve">
<value>Profil organizácie. Aktualizované logo faktúry </value>
<value>Profil organizácie. Aktualizované logo faktúry</value>
</data>
<data name="OtherCrmSettingsModule" xml:space="preserve">
<value>Ďalšie nastavenia</value>
@ -899,7 +899,7 @@
<value>Vlastník [{0}]. Pokyny na deaktiváciu portálu boli odoslané</value>
</data>
<data name="OwnerSentPortalDeleteInstructions" xml:space="preserve">
<value>Vlastník [{0}]. Pokyny na odstránenie portálu boli odoslané.</value>
<value>Vlastník [{0}]. Pokyny na odstránenie portálu boli odoslané</value>
</data>
<data name="PageCol" xml:space="preserve">
<value>Stránka</value>
@ -986,7 +986,7 @@
<value>Platforma</value>
</data>
<data name="PortalAccessSettingsUpdated" xml:space="preserve">
<value>Nastavenie prístupu na portál bolo aktualizované.</value>
<value>Nastavenie prístupu na portál bolo aktualizované</value>
</data>
<data name="PortalDeactivated" xml:space="preserve">
<value>Portál deaktivovaný</value>
@ -1088,8 +1088,7 @@
<value>Projekty [{0}]. Tím aktualizovaný: {1}</value>
</data>
<data name="ReassignsActionType" xml:space="preserve">
<value>Prevádza späť/priraďuje
</value>
<value>Prevádza späť/priraďuje</value>
</data>
<data name="ReportsModule" xml:space="preserve">
<value>Reporty</value>
@ -1221,8 +1220,7 @@
<value>Aktualizácia tretej strany: {0}. Poskytovateľ: {1}</value>
</data>
<data name="TimeTrackingModule" xml:space="preserve">
<value>Sledovanie času
</value>
<value>Sledovanie času</value>
</data>
<data name="TimeZoneSettingsUpdated" xml:space="preserve">
<value>Nastavenie Časovej zóny bolo aktualizované</value>
@ -1267,9 +1265,7 @@
<value>Používateľ bol vytvorený prostredníctvom pozvania: {0}</value>
</data>
<data name="UserDataReassigns" xml:space="preserve">
<value>Znovu priradené údaje: od používateľa {0} užívateľovi {1}
</value>
<value>Znovu priradené údaje: od používateľa {0} užívateľovi {1}</value>
</data>
<data name="UserDeleted" xml:space="preserve">
<value>Používateľ vymazaný: {0}</value>
@ -1334,4 +1330,10 @@
<data name="WebsiteContactFormUpdatedKey" xml:space="preserve">
<value>Aktualizovaný kľúč kontaktného web-formulára</value>
</data>
<data name="RoomCreated" xml:space="preserve">
<value>Miestnosť vytvorená</value>
</data>
<data name="RoomsModule" xml:space="preserve">
<value>Miestností</value>
</data>
</root>

View File

@ -1258,4 +1258,10 @@
<data name="WebsiteContactFormUpdatedKey" xml:space="preserve">
<value>Kontaktni obrazec ključa spletne strani posodobljen</value>
</data>
<data name="RoomCreated" xml:space="preserve">
<value>Soba ustvarjena</value>
</data>
<data name="RoomsModule" xml:space="preserve">
<value>Săli</value>
</data>
</root>

View File

@ -134,19 +134,19 @@
<value>Olaylar [{0}]. Erişim Engellendi: {1}</value>
</data>
<data name="CasesCreatedTag" xml:space="preserve">
<value>Olaylar. Etiket Oluşturuldu:{0} </value>
<value>Olaylar. Etiket Oluşturuldu:{0}</value>
</data>
<data name="CasesDeleted" xml:space="preserve">
<value>Silinen Olaylar: {0}</value>
</data>
<data name="CasesDeletedTag" xml:space="preserve">
<value>Olaylar. Etiket Silindi:{0} </value>
<value>Olaylar. Etiket Silindi:{0}</value>
</data>
<data name="CasesExportedToCsv" xml:space="preserve">
<value>CSV dosyasına Aktarılan Olaylar:{0} </value>
<value>CSV dosyasına Aktarılan Olaylar:{0}</value>
</data>
<data name="CasesImportedFromCSV" xml:space="preserve">
<value>CSV dosyasından Aktarılan Olaylar:{0} </value>
<value>CSV dosyasından Aktarılan Olaylar:{0}</value>
</data>
<data name="CasesModule" xml:space="preserve">
<value>Olaylar</value>
@ -263,13 +263,13 @@
<value>Kişiler. Etiket Oluşturuldu: {0}</value>
</data>
<data name="ContactsDeleted" xml:space="preserve">
<value>Kişiler Silindi: {1}</value>
<value>Kişiler Silindi: {0}</value>
</data>
<data name="ContactsDeletedTag" xml:space="preserve">
<value>Kişiler. Etiket Silindi: {0}</value>
</data>
<data name="ContactsExportedToCsv" xml:space="preserve">
<value>Kişiler CSV Dosyasına Aktarıldı: {1}</value>
<value>Kişiler CSV Dosyasına Aktarıldı: {0}</value>
</data>
<data name="ContactsImportedFromCSV" xml:space="preserve">
<value>Kişiler CSV Dosyasından Aktarıldı</value>
@ -383,7 +383,7 @@
<value>CRM Görevler CSV Dosyasına Aktarıldı: {0}</value>
</data>
<data name="CrmTasksImportedFromCSV" xml:space="preserve">
<value>CRM Görevler CSV Dosyasından Aktarıldı: {0}</value>
<value>CRM Görevler CSV Dosyasından Aktarıldı</value>
</data>
<data name="CrmTasksModule" xml:space="preserve">
<value>CRM Görevler</value>
@ -533,7 +533,7 @@
<value>Dosya Kilidi Kaldırıldı: {0}</value>
</data>
<data name="FileUpdated" xml:space="preserve">
<value>Dosya Güncellendi:{0} </value>
<value>Dosya Güncellendi: {0}</value>
</data>
<data name="FileUpdatedAccess" xml:space="preserve">
<value>Dosyalar[{0}].Erişim Güncellendi</value>
@ -659,7 +659,7 @@
<value>Fatura Numara Formatı Güncellendi</value>
</data>
<data name="InvoicesDeleted" xml:space="preserve">
<value>Faturalar Silindi: {1}</value>
<value>Faturalar Silindi: {0}</value>
</data>
<data name="InvoiceSettingsModule" xml:space="preserve">
<value>Fatura Ayarları</value>
@ -740,7 +740,7 @@
<value>API ile başarılı giriş</value>
</data>
<data name="LoginSuccessViaApiSms" xml:space="preserve">
<value>API &amp; SMS Kodu ile başarılı giriş </value>
<value>API &amp; SMS Kodu ile başarılı giriş</value>
</data>
<data name="LoginSuccessViaSms" xml:space="preserve">
<value>SMS'le giriş başarılı</value>
@ -1190,7 +1190,7 @@
<value>Projeler[{0}]. Görevler[{1}].Görev Süresi Güncellendi: {2}</value>
</data>
<data name="TaskUnlinkedMilestone" xml:space="preserve">
<value>Projeler[{0}]. Görevler[{1}].Kilometre Taşlarıyla Bağlantısı Kaldırıldı</value>
<value>Projeler[{0}]. Görevler[{1}].Kilometre Taşlarıyla Bağlantısı Kaldırıldı.</value>
</data>
<data name="TaskUpdated" xml:space="preserve">
<value>Projeler[{0}]. Görev Güncellendi: {1}</value>
@ -1205,13 +1205,13 @@
<value>Ekip Şablonu Değiştirildi</value>
</data>
<data name="ThirdPartyCreated" xml:space="preserve">
<value>Üçüncü Kişi Oluşturuldu:{0}. Sağlayıcı: {1} </value>
<value>Üçüncü Kişi Oluşturuldu:{0}. Sağlayıcı: {1}</value>
</data>
<data name="ThirdPartyDeleted" xml:space="preserve">
<value>Üçüncü Kişi Silindi:{0}. Sağlayıcı: {1} </value>
<value>Üçüncü Kişi Silindi:{0}. Sağlayıcı: {1}</value>
</data>
<data name="ThirdPartyUpdated" xml:space="preserve">
<value>Üçüncü Kişi Güncellendi:{0}. Sağlayıcı: {1} </value>
<value>Üçüncü Kişi Güncellendi:{0}. Sağlayıcı: {1}</value>
</data>
<data name="TimeTrackingModule" xml:space="preserve">
<value>Süre Takibi</value>
@ -1295,7 +1295,7 @@
<value>Kullanıcılar</value>
</data>
<data name="UsersSentActivationInstructions" xml:space="preserve">
<value>Kullanıcılar [{0}]. Aktivasyon Kılavuzu Gönderildi </value>
<value>Kullanıcılar [{0}]. Aktivasyon Kılavuzu Gönderildi</value>
</data>
<data name="UsersUpdatedStatus" xml:space="preserve">
<value>Kullanıcılar [{0}]. Güncellenmiş Durum</value>
@ -1324,4 +1324,10 @@
<data name="WebsiteContactFormUpdatedKey" xml:space="preserve">
<value>İnternet Sitesi İletişim Formu Anahtar Güncellendi</value>
</data>
<data name="RoomCreated" xml:space="preserve">
<value>Oda oluşturuldu</value>
</data>
<data name="RoomsModule" xml:space="preserve">
<value>Odalar</value>
</data>
</root>

View File

@ -68,7 +68,7 @@
<value>Додано адміністратора: {0}</value>
</data>
<data name="AdministratorDeleted" xml:space="preserve">
<value>Адміністратора видалено</value>
<value>Адміністратора видалено: {0}</value>
</data>
<data name="AdministratorMessageSettingsUpdated" xml:space="preserve">
<value>Налаштування повідомлень адміністратора оновлено</value>
@ -107,7 +107,7 @@
<value>Заходи.[{0}]. Створено тег: {1}</value>
</data>
<data name="CaseDeleted" xml:space="preserve">
<value>Справу видалено: {0} </value>
<value>Справу видалено: {0}</value>
</data>
<data name="CaseDeletedHistoryEvent" xml:space="preserve">
<value>Заходи[{0}]. Історію подій видалено: {1}</value>
@ -116,7 +116,7 @@
<value>Випадки[{0}].Тег видалено {1}</value>
</data>
<data name="CaseDetachedFile" xml:space="preserve">
<value>Заходи[{0}].Індивідуальний файл.</value>
<value>Заходи[{0}]. Індивідуальний файл</value>
</data>
<data name="CaseLinkedCompany" xml:space="preserve">
<value>Заходи [{0}]. Компанія зв'язана: {1}</value>
@ -146,7 +146,7 @@
<value>Заходи переміщено до файлу CSV: {0}</value>
</data>
<data name="CasesImportedFromCSV" xml:space="preserve">
<value>Заходи імпортовано з файлу CSV </value>
<value>Заходи імпортовано з файлу CSV</value>
</data>
<data name="CasesModule" xml:space="preserve">
<value>Заходи</value>
@ -254,7 +254,7 @@
<value>Користувальницькі поля компанії оновлено: {0}</value>
</data>
<data name="ContactAdminMailSent" xml:space="preserve">
<value>Зв'язатися з адміністратором відправленої пошти </value>
<value>Зв'язатися з адміністратором відправленої пошти</value>
</data>
<data name="ContactsCreatedCrmTasks" xml:space="preserve">
<value>Контакти[{0}]. Завдання створенно: {1}</value>
@ -308,8 +308,7 @@
<value>Тип зв'язку видалено: {0}</value>
</data>
<data name="ContactTypesModule" xml:space="preserve">
<value>Типи контактів
</value>
<value>Типи контактів</value>
</data>
<data name="ContactTypesUpdatedOrder" xml:space="preserve">
<value>Оновлено типи контактів: {0}</value>
@ -387,7 +386,7 @@
<value>Завдання CRM імпортовано з файлу CSV</value>
</data>
<data name="CrmTasksModule" xml:space="preserve">
<value>Завдання CRM </value>
<value>Завдання CRM</value>
</data>
<data name="CrmTaskUpdated" xml:space="preserve">
<value>Завдання CRM оновлено: {0}</value>
@ -417,10 +416,10 @@
<value>Проекти[{0}]. Обговорення [{1}]. Створено коментар</value>
</data>
<data name="DiscussionCommentDeleted" xml:space="preserve">
<value> Проекти[{0}]. Обговорення [{1}]. Коментар видалено</value>
<value>Проекти[{0}]. Обговорення [{1}]. Коментар видалено</value>
</data>
<data name="DiscussionCommentUpdated" xml:space="preserve">
<value> Проекти[{0}]. Обговорення [{1}]. Коментар оновлено</value>
<value>Проекти[{0}]. Обговорення [{1}]. Коментар оновлено</value>
</data>
<data name="DiscussionCreated" xml:space="preserve">
<value>Проекти[{0}]. Створено обговорення: {1}</value>
@ -429,7 +428,7 @@
<value>Проекти[{0}]. Обговорення видалено: {1}</value>
</data>
<data name="DiscussionDetachedFile" xml:space="preserve">
<value> Проекти[{0}]. Обговорення [{1}]. Прикріплено файл: {2}</value>
<value>Проекти[{0}]. Обговорення [{1}]. Прикріплено файл: {2}</value>
</data>
<data name="DiscussionsModule" xml:space="preserve">
<value>Обговорення</value>
@ -465,8 +464,7 @@
<value>Завантажити</value>
</data>
<data name="ExportActionType" xml:space="preserve">
<value>Експорт
</value>
<value>Експорт</value>
</data>
<data name="FileChangeOwner" xml:space="preserve">
<value>Встановити власника від [{0}] до {{1}]</value>
@ -556,7 +554,7 @@
<value>Створена папка: {0}</value>
</data>
<data name="FolderDeleted" xml:space="preserve">
<value>Папка виделена</value>
<value>Папка виделена: {0}</value>
</data>
<data name="FolderMoved" xml:space="preserve">
<value>Папки [{0}]. Переміщено до папки: {1}</value>
@ -568,7 +566,7 @@
<value>Папки [{0}]. Переміщено до папки з перезаписом: {1}</value>
</data>
<data name="FolderRenamed" xml:space="preserve">
<value>Папка перейменована</value>
<value>Папка перейменована: {0}</value>
</data>
<data name="FoldersModule" xml:space="preserve">
<value>Папки</value>
@ -718,13 +716,13 @@
<value>Не вдалося ввійти через API та SMS-код</value>
</data>
<data name="LoginFailViaApiSocialAccount" xml:space="preserve">
<value>Не вдалося увійти через API та соціальні медіа </value>
<value>Не вдалося увійти через API та соціальні медіа</value>
</data>
<data name="LoginFailViaSms" xml:space="preserve">
<value>Не вдалося увійти за допомогою смс</value>
</data>
<data name="LoginFailViaSSO" xml:space="preserve">
<value>Не вдалося увійти за допомогою SSO </value>
<value>Не вдалося увійти за допомогою SSO</value>
</data>
<data name="LoginHistoryReportDownloaded" xml:space="preserve">
<value>Звіт історії входу завантажено</value>
@ -907,14 +905,13 @@
<value>Налаштування надійності паролів оновлено</value>
</data>
<data name="PeopleProduct" xml:space="preserve">
<value>Користувачі
</value>
<value>Користувачі</value>
</data>
<data name="PersonAttachedFiles" xml:space="preserve">
<value>Користувачі[{0}]. Прикріплені файли: {1}</value>
</data>
<data name="PersonCreated" xml:space="preserve">
<value>Користувач створений: {0} </value>
<value>Користувач створений: {0}</value>
</data>
<data name="PersonCreatedCompanyTag" xml:space="preserve">
<value>Користувачі[{0}]. Створений тег компанії: {1}</value>
@ -962,7 +959,7 @@
<value>Користувачі [{0}].Температурний рівень компанії оновлено</value>
</data>
<data name="PersonUpdatedPhoto" xml:space="preserve">
<value>Користувачі [{0}]. Фото оновлено: {1}</value>
<value>Користувачі [{0}]. Фото оновлено</value>
</data>
<data name="PersonUpdatedPrincipalInfo" xml:space="preserve">
<value>Користувачі[{0}]. Основна інформація оновлена</value>
@ -1007,7 +1004,7 @@
<value>Продукти [{0}]. Доступ обмежений</value>
</data>
<data name="ProductAddedAdministrator" xml:space="preserve">
<value>Продукти [{0}]. Доступ обмежений</value>
<value>Продукти [{0}]. Доступ обмежений: {1}</value>
</data>
<data name="ProductCol" xml:space="preserve">
<value>Продукт</value>
@ -1040,7 +1037,7 @@
<value>Проекти [{0}]. Компанія зв'язана: {1}</value>
</data>
<data name="ProjectLinkedContacts" xml:space="preserve">
<value>Проекти. Контакти зв'язано: {1}</value>
<value>Проекти[{0}]. Контакти зв'язано: {1}</value>
</data>
<data name="ProjectLinkedPerson" xml:space="preserve">
<value>Проекти [{0}]. Користувача зв'язано: {1}</value>
@ -1085,7 +1082,7 @@
<value>Projects [{0}]. Status Updated: {1}</value>
</data>
<data name="ProjectUpdatedTeam" xml:space="preserve">
<value>Проекти [{0}]. Команду оновлено: {1} - {2}</value>
<value>Проекти [{0}]. Команду оновлено: {1}</value>
</data>
<data name="ReportsModule" xml:space="preserve">
<value>Звіти</value>
@ -1145,13 +1142,13 @@
<value>Проекти [{0}]. Завдання: {1}. Файл прикріплено: {2}</value>
</data>
<data name="TaskCommentCreated" xml:space="preserve">
<value>Проекти [{0}]. Завдання: {1}. Коментар створено: {2}</value>
<value>Проекти [{0}]. Завдання: {1}. Коментар створено</value>
</data>
<data name="TaskCommentDeleted" xml:space="preserve">
<value>Проекти [{0}]. Завдання: {1}. Коментар видалено: {2}</value>
<value>Проекти [{0}]. Завдання: {1}. Коментар видалено</value>
</data>
<data name="TaskCommentUpdated" xml:space="preserve">
<value>Проекти [{0}]. Завдання: {1}. Коментар оновлено: {2}</value>
<value>Проекти [{0}]. Завдання: {1}. Коментар оновлено</value>
</data>
<data name="TaskCreated" xml:space="preserve">
<value>Проекти [{0}]. Завданя створено: {1}</value>
@ -1190,7 +1187,7 @@
<value>Проекти [{0}]. Завдання [{1}]. Час роботи оновлено: {2}</value>
</data>
<data name="TaskUnlinkedMilestone" xml:space="preserve">
<value>Проекти [{0}]. Завдання [{1}]. Від'єднано від основних етапів</value>
<value>Проекти [{0}]. Завдання [{1}]. Від'єднано від основних етапів.</value>
</data>
<data name="TaskUpdated" xml:space="preserve">
<value>Проекти [{0}]. Завдання оновлено: {1}</value>
@ -1232,8 +1229,7 @@
<value>Невідомий акаунт</value>
</data>
<data name="UnlinkActionType" xml:space="preserve">
<value>Розірвати зв'язок
</value>
<value>Розірвати зв'язок</value>
</data>
<data name="UpdateAccessActionType" xml:space="preserve">
<value>Оновлений доступ</value>
@ -1284,7 +1280,7 @@
<value>Надіслати Видалення інструкції профілю</value>
</data>
<data name="UserSentEmailInstructions" xml:space="preserve">
<value>Користувачі [{0}]. Надіслані інструкції щодо зміни електронної пошти </value>
<value>Користувачі [{0}]. Надіслані інструкції щодо зміни електронної пошти</value>
</data>
<data name="UserSentPasswordInstructions" xml:space="preserve">
<value>Користувачі [{0}]. Надіслані інструкції щодо зміни пароля</value>
@ -1322,4 +1318,10 @@
<data name="WebsiteContactFormUpdatedKey" xml:space="preserve">
<value>Ключ контактної форми веб-сайту оновлено</value>
</data>
<data name="RoomCreated" xml:space="preserve">
<value>Кімнату створено</value>
</data>
<data name="RoomsModule" xml:space="preserve">
<value>Кімнати</value>
</data>
</root>

View File

@ -1229,7 +1229,7 @@
<value>Đã cập nhật Cài đặt Tên miền Mail được tin cậy</value>
</data>
<data name="TwoFactorAuthenticationSettingsUpdated" xml:space="preserve">
<value>Đã cập nhật Cài đặt Xác thực Hai yếu tố </value>
<value>Đã cập nhật Cài đặt Xác thực Hai yếu tố</value>
</data>
<data name="UnfollowActionType" xml:space="preserve">
<value>Bỏ theo dõi</value>
@ -1330,4 +1330,10 @@
<data name="WebsiteContactFormUpdatedKey" xml:space="preserve">
<value>Đã cập nhật Mẫu liên hệ Website</value>
</data>
<data name="RoomCreated" xml:space="preserve">
<value>Đã tạo phòng</value>
</data>
<data name="RoomsModule" xml:space="preserve">
<value>Phòng</value>
</data>
</root>

View File

@ -134,7 +134,7 @@
<value>案例[{0}]。 访问已打开</value>
</data>
<data name="CaseRestrictedAccess" xml:space="preserve">
<value>案例[{0}]。 访问已限制</value>
<value>案例[{0}]。 访问已限制: {1}</value>
</data>
<data name="CasesCreatedTag" xml:space="preserve">
<value>案例。 标签已创建:{0}</value>
@ -809,7 +809,7 @@
<value>导出到CSV文件的机会{0}</value>
</data>
<data name="OpportunitiesImportedFromCSV" xml:space="preserve">
<value>从CSV文件导入的机会{0}</value>
<value>从CSV文件导入的机会</value>
</data>
<data name="OpportunitiesModule" xml:space="preserve">
<value>机会</value>
@ -1354,4 +1354,10 @@
<data name="WebsiteContactFormUpdatedKey" xml:space="preserve">
<value>网站联系表格已更新</value>
</data>
<data name="RoomCreated" xml:space="preserve">
<value>房间已创建</value>
</data>
<data name="RoomsModule" xml:space="preserve">
<value>房间</value>
</data>
</root>

View File

@ -45,5 +45,6 @@
},
"quota": {
"id": -3
}
},
"max-attempts-count" : 10
}

View File

@ -1,250 +1,411 @@
{
"Logging": {
"LogLevel": {
"Default": "Debug",
"Microsoft": "Warning",
"Microsoft.Hosting.Lifetime": "Information"
},
"EventLog": {
"LogLevel": {
"Default": "None"
}
}
"Logging": {
"LogLevel": {
"Default": "Debug",
"Microsoft": "Warning",
"Microsoft.Hosting.Lifetime": "Information"
},
"AllowedHosts": "*",
"core": {
"base-domain": "",
"cors": "",
"machinekey": "1123askdasjklasbnd",
"notify": {
"postman": "log"
},
"payment": {
"delay": 10,
"region": "test",
"test": true,
"url": "",
"key": "",
"secret": ""
},
"personal": false,
"disableDocspace": false,
"products": {
"folder": "../../products",
"subfolder": "Server"
},
"search-by-content": false,
"hosting": {
"intervalCheckRegisterInstanceInSeconds": "1",
"timeUntilUnregisterInSeconds": "15",
"singletonMode": true,
"forwardedHeadersOptions": {
"knownNetworks": [],
"knownProxies": [ "127.0.0.1" ]
}
},
"themelimit": "9",
"oidc": {
"authority" : ""
}
"EventLog": {
"LogLevel": {
"Default": "None"
}
}
},
"AllowedHosts": "*",
"core": {
"base-domain": "",
"cors": "",
"machinekey": "1123askdasjklasbnd",
"notify": {
"postman": "log"
},
"license": {
"file": {
"path": ""
}
"payment": {
"delay": 10,
"region": "test",
"test": true,
"url": "",
"key": "",
"secret": ""
},
"mail": {
"certificate-permit": false,
"daemon-email": "mail-daemon@onlyoffice.com",
"server-mailbox-limit-per-user": 2
"personal": false,
"disableDocspace": false,
"products": {
"folder": "../../products",
"subfolder": "Server"
},
"messaging": {
"enabled": "true"
"search-by-content": false,
"hosting": {
"intervalCheckRegisterInstanceInSeconds": "1",
"timeUntilUnregisterInSeconds": "15",
"singletonMode": true,
"forwardedHeadersOptions": {
"knownNetworks": [],
"knownProxies": ["127.0.0.1"]
}
},
"version": {
"number": "1.0.0",
"release": {
"date": "",
"sign": ""
}
"themelimit": "9",
"oidc": {
"authority": ""
}
},
"license": {
"file": {
"path": ""
}
},
"mail": {
"certificate-permit": false,
"daemon-email": "mail-daemon@onlyoffice.com",
"server-mailbox-limit-per-user": 2
},
"messaging": {
"enabled": "true"
},
"version": {
"number": "1.0.0",
"release": {
"date": "",
"sign": ""
}
},
"files": {
"thirdparty": {
"enable": [
"box",
"dropboxv2",
"docusign",
"google",
"onedrive",
"sharepoint",
"nextcloud",
"owncloud",
"webdav",
"kdrive"
]
},
"files": {
"thirdparty": {
"enable": [ "box", "dropboxv2", "docusign", "google", "onedrive", "sharepoint", "nextcloud", "owncloud", "webdav", "kdrive" ]
},
"docservice": {
"coauthor-docs": [ ".pptx", ".ppsx", ".xlsx", ".csv", ".docx", ".docxf", ".oform", ".txt" ],
"commented-docs": [ ".docx", ".docxf", ".xlsx", ".pptx" ],
"convert-docs": [ ".pptm", ".ppt", ".ppsm", ".pps", ".potx", ".potm", ".pot", ".odp", ".fodp", ".otp", ".xlsm", ".xls", ".xltx", ".xltm", ".xlt", ".ods", ".fods", ".ots", ".docm", ".doc", ".dotx", ".dotm", ".dot", ".odt", ".fodt", ".ott", ".rtf", ".xml" ],
"edited-docs": [ ".pptx", ".pptm", ".ppt", ".ppsx", ".ppsm", ".pps", ".potx", ".potm", ".pot", ".odp", ".fodp", ".otp", ".xlsx", ".xlsm", ".xls", ".xltx", ".xltm", ".xlt", ".ods", ".fods", ".ots", ".csv", ".docx", ".docxf", ".oform", ".docm", ".doc", ".dotx", ".dotm", ".dot", ".odt", ".fodt", ".ott", ".txt", ".rtf", ".mht", ".html", ".htm" ],
"encrypted-docs": [ ".docx", ".docxf", ".xlsx", ".pptx", ".oform" ],
"formfilling-docs": [ ".oform" ],
"customfilter-docs": [ ".xlsx" ],
"reviewed-docs": [ ".docx", ".docxf" ],
"viewed-docs": [ ".pptx", ".pptm", ".ppt", ".ppsx", ".ppsm", ".pps", ".potx", ".potm", ".pot", ".odp", ".fodp", ".otp", ".gslides", ".xlsx", ".xlsm", ".xls", ".xltx", ".xltm", ".xlt", ".ods", ".fods", ".ots", ".gsheet", ".csv", ".docx", ".docxf", ".oform", ".docm", ".doc", ".dotx", ".dotm", ".dot", ".odt", ".fodt", ".ott", ".gdoc", ".txt", ".rtf", ".mht", ".html", ".htm", ".xml", ".fb2", ".epub", ".pdf", ".djvu", ".xps", ".oxps" ],
"secret": {
"value": "secret",
"header": "AuthorizationJwt"
},
"url": {
"public": "http://localhost:8085/",
"internal": "",
"portal": ""
}
},
"ffmpeg": {
"value": "",
"exts": [ "avi", "mpeg", "mpg", "wmv" ]
},
"uploader": {
"chunk-size": 10485760,
"url": "/"
},
"viewed-images": [ ".svg", ".bmp", ".gif", ".jpeg", ".jpg", ".png", ".ico", ".tif", ".tiff", ".webp" ],
"viewed-media": [ ".aac", ".flac", ".m4a", ".mp3", ".oga", ".ogg", ".wav", ".f4v", ".m4v", ".mov", ".mp4", ".ogv", ".webm" ],
"index": [ ".pptx", ".xlsx", ".docx" ],
"oform": {
"url": "https://cmsoforms.onlyoffice.com/api/oforms/",
"ext": ".oform"
}
"docservice": {
"coauthor-docs": [
".pptx",
".ppsx",
".xlsx",
".csv",
".docx",
".docxf",
".oform",
".txt"
],
"commented-docs": [".docx", ".docxf", ".xlsx", ".pptx"],
"convert-docs": [
".pptm",
".ppt",
".ppsm",
".pps",
".potx",
".potm",
".pot",
".odp",
".fodp",
".otp",
".xlsm",
".xls",
".xltx",
".xltm",
".xlt",
".ods",
".fods",
".ots",
".docm",
".doc",
".dotx",
".dotm",
".dot",
".odt",
".fodt",
".ott",
".rtf",
".xml"
],
"edited-docs": [
".pptx",
".pptm",
".ppt",
".ppsx",
".ppsm",
".pps",
".potx",
".potm",
".pot",
".odp",
".fodp",
".otp",
".xlsx",
".xlsm",
".xls",
".xltx",
".xltm",
".xlt",
".ods",
".fods",
".ots",
".csv",
".docx",
".docxf",
".oform",
".docm",
".doc",
".dotx",
".dotm",
".dot",
".odt",
".fodt",
".ott",
".txt",
".rtf",
".mht",
".html",
".htm"
],
"encrypted-docs": [".docx", ".docxf", ".xlsx", ".pptx", ".oform"],
"formfilling-docs": [".oform"],
"customfilter-docs": [".xlsx"],
"reviewed-docs": [".docx", ".docxf"],
"viewed-docs": [
".pptx",
".pptm",
".ppt",
".ppsx",
".ppsm",
".pps",
".potx",
".potm",
".pot",
".odp",
".fodp",
".otp",
".gslides",
".xlsx",
".xlsm",
".xls",
".xltx",
".xltm",
".xlt",
".ods",
".fods",
".ots",
".gsheet",
".csv",
".docx",
".docxf",
".oform",
".docm",
".doc",
".dotx",
".dotm",
".dot",
".odt",
".fodt",
".ott",
".gdoc",
".txt",
".rtf",
".mht",
".html",
".htm",
".xml",
".fb2",
".epub",
".pdf",
".djvu",
".xps",
".oxps"
],
"secret": {
"value": "secret",
"header": "AuthorizationJwt"
},
"url": {
"public": "http://localhost:8085/",
"internal": "",
"portal": ""
}
},
"web": {
"api": "api/2.0",
"alias": {
"min": 3,
"max": 50
},
"api-system":"",
"api-cache":"",
"images": "static/images",
"hide-settings": "Monitoring,LdapSettings,DocService,MailService,PublicPortal,ProxyHttpContent,SpamSubscription,FullTextSearch",
"hub": {
"url": "/socket.io",
"internal": "http://localhost:9899/"
},
"cultures": "az,cs,el-GR,es,fr,ja-JP,lo-LA,nl,pt,ro,sk,tr,vi,bg,de,en-US,en-GB,fi,it,ko-KR,lv,pl,pt-BR,ru,sl,uk-UA,zh-CN",
"controlpanel": {
"url": ""
},
"legalterms": "https://www.onlyoffice.com/legalterms.aspx",
"support-feedback": "https://helpdesk.onlyoffice.com",
"teamlab-site": "http://www.onlyoffice.com",
"help-center": "https://helpcenter.onlyoffice.com/{ru|de|fr|es|it}",
"book-training-email": "training@onlyoffice.com",
"documentation-email": "documentation@onlyoffice.com",
"max-upload-size" : 5242880,
"zendesk-key" : ""
"ffmpeg": {
"value": "",
"exts": ["avi", "mpeg", "mpg", "wmv"]
},
"ConnectionStrings": {
"default": {
"name": "default",
"connectionString": "Server=localhost;Database=docspace;User ID=dev;Password=dev;Pooling=true;Character Set=utf8;AutoEnlist=false;SSL Mode=none;AllowPublicKeyRetrieval=True;Connection Timeout=30;Maximum Pool Size=300;ConnectionReset=false",
"providerName": "MySql.Data.MySqlClient"
},
"teamlabsite": {
"name": "teamlabsite",
"connectionString": "Server=localhost;Database=teamlabsite;User ID=dev;Password=dev;Pooling=true;Character Set=utf8;AutoEnlist=false;SSL Mode=none;AllowPublicKeyRetrieval=True;Connection Timeout=30;Maximum Pool Size=300;ConnectionReset=false",
"providerName": "MySql.Data.MySqlClient"
}
"uploader": {
"chunk-size": 10485760,
"url": "/"
},
"migration": {
"enabled": "false"
"viewed-images": [
".svg",
".bmp",
".gif",
".jpeg",
".jpg",
".png",
".ico",
".tif",
".tiff",
".webp"
],
"viewed-media": [
".aac",
".flac",
".m4a",
".mp3",
".oga",
".ogg",
".wav",
".f4v",
".m4v",
".mov",
".mp4",
".ogv",
".webm"
],
"index": [".pptx", ".xlsx", ".docx"],
"oform": {
"url": "https://cmsoforms.onlyoffice.com/api/oforms/",
"ext": ".oform"
}
},
"web": {
"api": "api/2.0",
"alias": {
"min": 3,
"max": 50
},
"DbProviderFactories": {
"mysql": {
"name": "MySQL Data Provider",
"invariant": "MySql.Data.MySqlClient",
"description": ".Net Framework Data Provider for MySQL",
"type": "MySql.Data.MySqlClient.MySqlClientFactory, MySql.Data"
}
"api-system": "",
"api-cache": "",
"images": "static/images",
"hide-settings": "Monitoring,LdapSettings,DocService,MailService,PublicPortal,ProxyHttpContent,SpamSubscription,FullTextSearch",
"hub": {
"url": "/socket.io",
"internal": "http://localhost:9899/"
},
"bookmarking": {
"thumbnail-url": "http://localhost:9800/?url={0}"
"cultures": "az,cs,el-GR,es,fr,ja-JP,lo-LA,nl,pt,ro,sk,tr,vi,bg,de,en-US,en-GB,fi,it,ko-KR,lv,pl,pt-BR,ru,sl,uk-UA,zh-CN",
"controlpanel": {
"url": ""
},
"storage": {
"encryption": {
"progressfile": "false",
"tempdir": ""
}
"legalterms": "https://help.onlyoffice.co/products/files/doceditor.aspx?fileid=5048502&doc=SXhWMEVzSEYxNlVVaXJJeUVtS0kyYk14YWdXTEFUQmRWL250NllHNUFGbz0_IjUwNDg1MDIi0",
"support-feedback": "https://helpdesk.onlyoffice.com",
"teamlab-site": "http://www.onlyoffice.com",
"help-center": "https://helpcenter.onlyoffice.com/{ru|de|fr|es|it}",
"book-training-email": "training@onlyoffice.com",
"documentation-email": "documentation@onlyoffice.com",
"max-upload-size": 5242880,
"zendesk-key": ""
},
"ConnectionStrings": {
"default": {
"name": "default",
"connectionString": "Server=localhost;Database=docspace;User ID=dev;Password=dev;Pooling=true;Character Set=utf8;AutoEnlist=false;SSL Mode=none;AllowPublicKeyRetrieval=True;Connection Timeout=30;Maximum Pool Size=300;ConnectionReset=false",
"providerName": "MySql.Data.MySqlClient"
},
"firebase": {
"projectId": "",
"privateKeyId": "",
"privateKey": "",
"clientEmail": "",
"clientId": "",
"x509CertUrl": "",
"apiKey": "",
"authDomain": "",
"storageBucket": "",
"messagingSenderId": "",
"appId": "",
"measurementId": ""
},
"debug-info": {
"enabled": "true"
},
"thumbnail": {
"sizes" :
[
{
"height": 156,
"width": 216
},
{
"height": 156,
"width": 240
},
{
"height": 156,
"width": 264
},
{
"height": 156,
"width": 288
},
{
"height": 156,
"width": 312
},
{
"height": 156,
"width": 336
},
{
"height": 156,
"width": 360
},
{
"height": 156,
"width": 400
},
{
"height": 156,
"width": 440
},
{
"height": 720,
"width": 1280,
"resizeMode": "Max"
}
]
},
"radicale": {
"admin": "admin@radicale",
"path": "http://127.0.0.1:5232"
},
"plugins": {
"enabled": "false",
"allow": ["upload", "delete"]
},
"aws": {
"cloudWatch": {
"accessKeyId": "",
"secretAccessKey": "",
"region": "us-east-1",
"logGroupName": "/asc/docspace/cluster/cluster_name/general",
"logStreamName": "${hostname} - ${applicationContext} - ${date} - ${guid}"
}
}
"teamlabsite": {
"name": "teamlabsite",
"connectionString": "Server=localhost;Database=teamlabsite;User ID=dev;Password=dev;Pooling=true;Character Set=utf8;AutoEnlist=false;SSL Mode=none;AllowPublicKeyRetrieval=True;Connection Timeout=30;Maximum Pool Size=300;ConnectionReset=false",
"providerName": "MySql.Data.MySqlClient"
}
},
"migration": {
"enabled": "false"
},
"DbProviderFactories": {
"mysql": {
"name": "MySQL Data Provider",
"invariant": "MySql.Data.MySqlClient",
"description": ".Net Framework Data Provider for MySQL",
"type": "MySql.Data.MySqlClient.MySqlClientFactory, MySql.Data"
}
},
"bookmarking": {
"thumbnail-url": "http://localhost:9800/?url={0}"
},
"storage": {
"encryption": {
"progressfile": "false",
"tempdir": ""
}
},
"firebase": {
"projectId": "",
"privateKeyId": "",
"privateKey": "",
"clientEmail": "",
"clientId": "",
"x509CertUrl": "",
"apiKey": "",
"authDomain": "",
"storageBucket": "",
"messagingSenderId": "",
"appId": "",
"measurementId": ""
},
"debug-info": {
"enabled": "true"
},
"thumbnail": {
"sizes": [
{
"height": 156,
"width": 216
},
{
"height": 156,
"width": 240
},
{
"height": 156,
"width": 264
},
{
"height": 156,
"width": 288
},
{
"height": 156,
"width": 312
},
{
"height": 156,
"width": 336
},
{
"height": 156,
"width": 360
},
{
"height": 156,
"width": 400
},
{
"height": 156,
"width": 440
},
{
"height": 720,
"width": 1280,
"resizeMode": "Max"
}
]
},
"radicale": {
"admin": "admin@radicale",
"path": "http://127.0.0.1:5232"
},
"plugins": {
"enabled": "false",
"allow": ["upload", "delete"]
},
"aws": {
"cloudWatch": {
"accessKeyId": "",
"secretAccessKey": "",
"region": "us-east-1",
"logGroupName": "/asc/docspace/cluster/cluster_name/general",
"logStreamName": "${hostname} - ${applicationContext} - ${date} - ${guid}"
}
}
}

View File

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

View File

@ -1,6 +1,6 @@
{
"name": "docspace",
"version": "1.0.0",
"version": "1.0.1",
"private": true,
"workspaces": {
"packages": [

View File

@ -1,6 +1,6 @@
{
"name": "@docspace/client",
"version": "1.0.0",
"version": "1.0.1",
"private": true,
"homepage": "",
"scripts": {

View File

@ -47,7 +47,7 @@
"FolderRenamed": "Папката '{{folderTitle}}' е преименувана на '{{newFoldedTitle}}'",
"Forms": "Формуляри",
"FormsTemplates": "Шаблони за формуляри",
"GoToMyRooms": "Отидете в Моите стаи",
"GoToMyRooms": "Отидете в стаи",
"GoToPersonal": "Отидете в Моите документи",
"Images": "Изображения",
"InviteUsersInRoom": "Поканете потребители в стаята",

View File

@ -47,7 +47,7 @@
"FolderRenamed": "Složka '{{folderTitle}}' je přejmenována na '{{newFoldedTitle}}'",
"Forms": "Formuláře",
"FormsTemplates": "Šablony formulářů",
"GoToMyRooms": "Přejít do sekce Moje místnosti",
"GoToMyRooms": "Přejít do sekce místnosti",
"GoToPersonal": "Přejít na Moje dokumenty",
"Images": "Obrázky",
"InviteUsersInRoom": "Pozvat uživatele do místnosti",

View File

@ -32,6 +32,7 @@
"EmptyFolderDescriptionUser": "Von Administratoren hochgeladene Dateien und Ordner werden hier angezeigt.",
"EmptyFolderHeader": "Keine Dateien in diesem Ordner",
"EmptyRecycleBin": "Papierkorb leeren",
"EmptyRootRoomHeader": "Willkommen in DocSpace",
"EmptyScreenFolder": "Keine Dokumente hier",
"EnableNotifications": "Benachrichtigungen einschalten",
"ExcludeSubfolders": "Unterordner ausschließen",
@ -47,7 +48,7 @@
"FolderRenamed": "Der Ordner wurde von '{{folderTitle}}' in '{{newFoldedTitle}}' umbenannt",
"Forms": "Formulare",
"FormsTemplates": "Vorlagen für Formulare",
"GoToMyRooms": "Zu Meine Räume",
"GoToMyRooms": "Zu Räume",
"GoToPersonal": "Zu Meine Dokumente",
"Images": "Bilder",
"InviteUsersInRoom": "Benutzer in den Raum einladen",

View File

@ -47,7 +47,7 @@
"FolderRenamed": "Ο φάκελος '{{folderTitle}}' μετονομάστηκε σε '{{newFoldedTitle}}'",
"Forms": "Φόρμες",
"FormsTemplates": "Πρότυπα φορμών",
"GoToMyRooms": "Μετάβαση στο «Τα δωμάτιά μου»",
"GoToMyRooms": "Μετάβαση στο «Τα δωμάτιά»",
"GoToPersonal": "Μετάβαση στο «Τα έγγραφά μου»",
"Images": "Εικόνες",
"InviteUsersInRoom": "Πρόσκληση χρηστών στο δωμάτιο",

View File

@ -32,6 +32,7 @@
"EmptyFolderDescriptionUser": "Files and folders uploaded by admins will appeared here.",
"EmptyFolderHeader": "No files in this folder",
"EmptyRecycleBin": "Empty Trash",
"EmptyRootRoomHeader": "Welcome to DocSpace",
"EmptyScreenFolder": "No docs here yet",
"EnableNotifications": "Enable notifications",
"ExcludeSubfolders": "Exclude subfolders",
@ -47,7 +48,7 @@
"FolderRenamed": "The folder '{{folderTitle}}' is renamed to '{{newFoldedTitle}}'",
"Forms": "Forms",
"FormsTemplates": "Forms templates",
"GoToMyRooms": "Go to My rooms",
"GoToMyRooms": "Go to rooms",
"GoToPersonal": "Go to My Documents",
"Images": "Images",
"InviteUsersInRoom": "Invite users in room",

View File

@ -32,6 +32,7 @@
"EmptyFolderDescriptionUser": "Los archivos y carpetas subidos por los administradores aparecerán aquí.",
"EmptyFolderHeader": "No hay archivos en esta carpeta",
"EmptyRecycleBin": "Vaciar Papelera",
"EmptyRootRoomHeader": "Bienvenido/a a DocSpace",
"EmptyScreenFolder": "Todavía no hay documentos aquí",
"EnableNotifications": "Habilitar notificaciones",
"ExcludeSubfolders": "Excluir subcarpetas",
@ -47,7 +48,7 @@
"FolderRenamed": "El nombre de la carpeta '{{folderTitle}}' se ha cambiado a '{{newFoldedTitle}}'",
"Forms": "Formularios",
"FormsTemplates": "Plantillas de formularios",
"GoToMyRooms": "Ir a Mis salas",
"GoToMyRooms": "Ir a salas",
"GoToPersonal": "Ir a Mis documentos",
"Images": "Imágenes",
"InviteUsersInRoom": "Invitar usuarios a la sala",

View File

@ -47,7 +47,7 @@
"FolderRenamed": "Kansio {{folderTitle}} nimettiin uudelleen nimeksi {{newFoldedTitle}}",
"Forms": "Lomakkeet",
"FormsTemplates": "Mallilomakkeet",
"GoToMyRooms": "Mene Minun huoneisiin",
"GoToMyRooms": "Mene huoneisiin",
"GoToPersonal": "Mene Minun Dokumentteihin",
"Images": "Kuvat",
"InviteUsersInRoom": "Kutsu huoneeseen käyttäjiä ",

View File

@ -32,6 +32,7 @@
"EmptyFolderDescriptionUser": "Les fichiers et dossiers téléchargés par les administrateurs apparaissent ici.",
"EmptyFolderHeader": "Aucun fichier dans ce dossier",
"EmptyRecycleBin": "Vider la corbeille",
"EmptyRootRoomHeader": "Bienvenue dans DocSpace !",
"EmptyScreenFolder": "Aucun document ici pour le moment",
"EnableNotifications": "Activer les notifications",
"ExcludeSubfolders": "Exclure des sous-dossiers",
@ -47,7 +48,7 @@
"FolderRenamed": "Le dossier '{{folderTitle}}' est renommé en '{{newFoldedTitle}}'",
"Forms": "Formulaires",
"FormsTemplates": "Modèles de formulaires",
"GoToMyRooms": "Aller dans Mes salles",
"GoToMyRooms": "Aller dans les salles",
"GoToPersonal": "Aller dans Mes documents",
"Images": "Images",
"InviteUsersInRoom": "Inviter des utilisateurs dans la salle",

View File

@ -32,6 +32,7 @@
"EmptyFolderDescriptionUser": "I file e le cartelle caricati dagli amministratori appariranno qui.",
"EmptyFolderHeader": "Non ci sono file in questa cartella",
"EmptyRecycleBin": "Svuota cestino",
"EmptyRootRoomHeader": "Benvenuti in DocSpace",
"EmptyScreenFolder": "Nessun documento ancora qui",
"EnableNotifications": "Abilita le notifiche",
"ExcludeSubfolders": "Escludi sottocartelle",
@ -47,7 +48,7 @@
"FolderRenamed": "La cartella '{{folderTitle}}' è stata rinominata in '{{newFoldedTitle}}'",
"Forms": "Moduli",
"FormsTemplates": "Modelli di moduli",
"GoToMyRooms": "Vai a Le mie stanze",
"GoToMyRooms": "Vai alle stanze",
"GoToPersonal": "Vai a I miei documenti",
"Images": "Immagini",
"InviteUsersInRoom": "Invita gli utenti nella stanza",

View File

@ -32,6 +32,7 @@
"EmptyFolderDescriptionUser": "管理者がアップロードしたファイルやフォルダはここに表示されます。",
"EmptyFolderHeader": "このフォルダにはファイルがありません",
"EmptyRecycleBin": "空きゴミ箱",
"EmptyRootRoomHeader": "DocSpaceへようこそ",
"EmptyScreenFolder": "ここにはドキュメントがまだありません",
"EnableNotifications": "通知をオンにする",
"ExcludeSubfolders": "サブフォルダを除外する",
@ -47,7 +48,7 @@
"FolderRenamed": "フォルダ'{{folderTitle}}'の名前が'{{newFoldedTitle}}'に変更されます。'",
"Forms": "フォーム",
"FormsTemplates": "フォームのテンプレート",
"GoToMyRooms": "「私のルーム」へ",
"GoToMyRooms": "「ルーム」へ",
"GoToPersonal": "私の文書」へ",
"Images": "画像",
"InviteUsersInRoom": "新しいユーザーを招待する",

View File

@ -1,12 +1,12 @@
{
"AppointAdmin": "Iecelt administratorus",
"BackupPortal": "Dublēt portāla datus",
"BackupPortal": "Dublēt DocSpace datus",
"ChangeInstruction": "Lai mainītu DocSpace īpašnieku, lūdzu, zemāk izvēlieties jaunā īpašnieka vārdu.",
"ChangeOwner": "Mainīt DocSpace īpašnieku",
"ChangeUser": "Mainīt lietotāju",
"DeactivateOrDeletePortal": "Deaktivizēt vai izdzēst DocSpace",
"DoTheSame": "Dariet to pašu, ko administratori",
"ManagePortal": "Pārvaldīt portāla konfigurāciju",
"ManagePortal": "Pārvaldīt DocSpace konfigurāciju",
"ManageUser": "Pārvaldīt lietotāju kontus",
"NewPortalOwner": "Jauns DocSpace īpašnieks",
"PortalOwnerCan": "DocSpace īpašnieks var:",

View File

@ -47,11 +47,11 @@
"FolderRenamed": "Mape '{{folderTitle}}' ir pārvietota uz '{{newFoldedTitle}}'",
"Forms": "Veidlapas",
"FormsTemplates": "Veidlapu veidnes",
"GoToMyRooms": "Doties uz Manas telpas",
"GoToMyRooms": "Doties uz telpas",
"GoToPersonal": "Pāriet uz Mani dokumenti",
"Images": "Attēli",
"InviteUsersInRoom": "Uzaicināt lietotājus telpā",
"LinkForPortalUsers": "Saite portāla lietotājiem",
"LinkForPortalUsers": "Saite DocSpace lietotājiem",
"LinkForRoomMembers": "Saite telpas dalībniekiem",
"MarkAsFavorite": "Atzīmēt kā iecienītāko",
"MarkRead": "Atzīmēt kā lasītu",

View File

@ -1,22 +1,22 @@
{
"Ascending": "Augošā",
"Ascending": "Augoši",
"CopyWindowCode": "Kopējiet loga iegulšanas kodu",
"DataDisplay": "Datu displeja iestatījumi",
"Descending": "Dilstošā",
"Descending": "Dilstoši",
"Destroy": "Iznīcināt",
"EnterCount": "Ievadiet skaitu",
"EnterHeight": "Ievadiet augstumu",
"EnterId": "Ievadiet id",
"EnterPage": "Ievadiet numuru lapu",
"EnterPage": "Ievadiet lapas numuru",
"EnterWidth": "Ievadiet platumu",
"FolderId": "Mapes ID",
"FrameId": "Rāmja ID",
"Header": "Galvene",
"ItemsCount": "Preču skaits",
"ItemsCount": "Vienumu skaits",
"JavascriptSdk": "Javascript sdk",
"Menu": "Izvēlne",
"Page": "Lappuse",
"SearchTerm": "Meklēšanas vienums",
"SortOrder": "Šķirošanas secība",
"WindowParameters": "Logu parametri"
"WindowParameters": "Loga parametri"
}

View File

@ -26,7 +26,7 @@
"AuditSubheader": "Apakšsadaļa ļauj pārlūkot jaunāko izmaiņu sarakstu (izveide, modificēšana, dzēšana utt.), ko lietotāji veikuši jūsu DocSpace esošajās entītijās (telpas, iespējas, faili utt.).",
"AuditTrailNav": "Audita žurnāls",
"AutoBackup": "Automātiskā rezerves kopēšana",
"AutoBackupDescription": "Izmantojiet šo iespēju automātiskai portāla datu rezerves kopēšanai.",
"AutoBackupDescription": "Izmantojiet šo iespēju automātiskai DocSpace datu rezerves kopēšanai.",
"AutoBackupHelp": "<strong>Automātiskās datu rezerves kopēšanas</strong> iespēja tiek izmantota, lai automatizētu DocSpace datu rezerves kopēšanas procesu un varētu tos vēlāk noglabāt lokālajā serverī.",
"AutoBackupHelpNote": "Izvēlieties datu uzglabāšanu, automātiskās dublēšanas periodu un maksimālo saglabāto kopiju skaitu.<br/><strong>Piezīme:</strong> Pirms jūs varēsit noglabāt rezerves datus trešās puses kontā (Dropbox, Box.com, OneDrive vai Google Drive), jums būs jāpieslēdzas šim kontam {{organizationName}} Kopīgie dokumenti mapē.",
"AutoSavePeriod": "Automātiskās saglabāšanas periods",
@ -121,14 +121,14 @@
"PasswordMinLenght": "Minimālais paroles garums",
"Path": "Ceļš",
"PleaseNote": "Lūdzu, ņemiet vērā",
"PleaseNoteDescription": "<0>{{pleaseNote}}</0>: jūsu vecā portāla adrese kļūs nepieejama jaunajiem lietotājiem, ja nospiedīsit <2>{{save}}</2>.",
"PleaseNoteDescription": "<0>{{pleaseNote}}</0>: jūsu vecā vietas adrese kļūs nepieejama jaunajiem lietotājiem, tiklīdz noklikšķināsit uz pogas <2>{{save}}</2>.",
"Plugins": "Spraudņi",
"PortalAccess": "Piekļuve portālam",
"PortalAccess": "Piekļuve DocSpace",
"PortalAccessSubTitle": "Šī sadaļa ļauj lietotājiem nodrošināt drošus un ērtus veidus, kā piekļūt portālam.",
"PortalDeactivation": "Deaktivizēt DocSpace",
"PortalDeactivationDescription": "Izmantojiet šo opciju, lai īslaicīgi deaktivizētu savu telpu.",
"PortalDeactivationHelper": "Ja vēlaties deaktivizēt šo DocSpace, jūsu telpa un visa ar to saistītā informācija tiks bloķēta, lai nevienam nebūtu piekļuves tai noteiktu laika periodu. Lai to izdarītu, noklikšķiniet uz pogas Deaktivizēt. Saite darbības apstiprināšanai tiks nosūtīta uz telpas īpašnieka e-pasta adresi.\nJa vēlaties atgriezties telpā un turpināt to izmantot, jums būs jāizmanto otrā saite, kas norādīta apstiprinājuma e-pasta ziņojumā. Tāpēc, lūdzu, glabājiet šo e-pasta ziņojumu drošā vietā.",
"PortalDeletion": "Portāla dzēšana",
"PortalDeletion": "DocSpace dzēšana",
"PortalDeletionDescription": "Izmantojiet šo opciju, lai neatgriezeniski izdzēstu savu telpu.",
"PortalDeletionEmailSended": "Saite darbības apstiprināšanai ir nosūtīta uz {{ownerEmail}} (telpas īpašnieka e-pasta adresi).",
"PortalDeletionHelper": "Ja nevēlaties izmantot telpu un vēlaties to neatgriezeniski izdzēst, iesniedziet pieprasījumu, izmantojot pogu Dzēst. Lūdzu, ņemiet vērā, ka nevarēsiet atkārtoti aktivizēt savu telpu vai atgūt ar to saistīto informāciju.",
@ -136,11 +136,11 @@
"PortalNameEmpty": "Konta nosaukums ir tukšs",
"PortalNameIncorrect": "Nepareizs konta nosaukums",
"PortalNameLength": "Konta nosaukumam ir jābūt no {{minLength}} līdz {{maxLength}} rakstzīmēm garam",
"PortalRenaming": "Portāla pārdēvēšana",
"PortalRenaming": "DocSpace pārdēvēšana",
"PortalRenamingDescription": "Šeit jūs varat mainīt savu portāla adresi.",
"PortalRenamingLabelText": "Jauns portāla nosaukums",
"PortalRenamingMobile": "Ievadiet daļu, kas parādīsies blakus {{domain}} portāla adresei. Lūdzu, ņemiet vērā: jūsu vecā portāla adrese kļūs nepieejama jaunajiem lietotājiem, ja nospiedīsit Saglabāt.",
"PortalRenamingSettingsTooltip": "<0>{{text}}</0> Ievadiet daļu, kas parādīsies blakus {{domain}} portāla adresei.",
"PortalRenamingMobile": "Ievadiet daļu, kas tiks parādīta blakus {{domain}} telpas adresei. Lūdzu, ņemiet vērā: jūsu vecā telpas adrese nebūs pieejama jaunajiem lietotājiem, tiklīdz noklikšķināsiet uz pogas Saglabāt.",
"PortalRenamingSettingsTooltip": "<0>{{text}}</0> Ievadiet daļu, kas tiks parādīta blakus {{domain}} telpas adresei.",
"ProductUserOpportunities": "Skatiet profilus un grupas",
"RecoveryFileNotSelected": "Atkopšanas kļūda. Atkopšanas fails nav atlasīts.",
"RestoreBackup": "Datu atjaunošana",

View File

@ -1,5 +1,5 @@
{
"Desc": "Lūdzu, iestatiet portāla reģistrācijas datus.",
"Desc": "Lūdzu, iestatiet DocSpace reģistrācijas datus.",
"Domain": "Domēns:",
"ErrorEmail": "Nederīga e-pasta adrese",
"ErrorInitWizard": "Pakalpojums pašlaik nav pieejams. Lūdzu, vēlāk mēģiniet vēlreiz.",
@ -12,5 +12,5 @@
"LicenseLink": "Licences līgumi",
"PlaceholderLicense": "Jūsu licences fails",
"Timezone": "Laika zona:",
"WelcomeTitle": "Laipni lūdzam jūsu portālā!"
"WelcomeTitle": "Laipni lūdzam jūsu DocSpace!"
}

View File

@ -47,7 +47,7 @@
"FolderRenamed": "De map '{{folderTitle}}' is hernoemd naar '{{newFoldedTitle}}'",
"Forms": "Formulieren",
"FormsTemplates": "Formulieren sjablonen",
"GoToMyRooms": "Ga naar mijn kamers",
"GoToMyRooms": "Ga naar kamers",
"GoToPersonal": "Ga naar Mijn documenten",
"Images": "Afbeeldingen",
"InviteUsersInRoom": "Nodig gebruikers uit in de kamer",

View File

@ -12,5 +12,5 @@
"LicenseLink": "licentieovereenkomsten",
"PlaceholderLicense": "Uw licentiebestand",
"Timezone": "Tijdzone:",
"WelcomeTitle": "Welkom bij uw ruimte!"
"WelcomeTitle": "Welkom bij uw DocSpace!"
}

View File

@ -47,7 +47,7 @@
"FolderRenamed": "Nazwa folderu '{{folderTitle}}' została zmieniona na '{{newFoldedTitle}}'",
"Forms": "Formularze",
"FormsTemplates": "Szablony formularzy",
"GoToMyRooms": "Przejdź do Moich pokoi",
"GoToMyRooms": "Przejdź do pokoi",
"GoToPersonal": "Przejdź do Moich dokumentów",
"Images": "Obrazy",
"InviteUsersInRoom": "Zaproś użytkowników do pokoju",

View File

@ -12,5 +12,5 @@
"LicenseLink": "Umowy licencyjne",
"PlaceholderLicense": "Twój plik licencyjny",
"Timezone": "Strefa czasowa:",
"WelcomeTitle": "Witaj w Twoim portalu!"
"WelcomeTitle": "Witaj w Twoim DocSpace!"
}

View File

@ -32,6 +32,7 @@
"EmptyFolderDescriptionUser": "Arquivos e pastas enviados por administradores aparecerão aqui.",
"EmptyFolderHeader": "Não há arquivos nesta pasta",
"EmptyRecycleBin": "Esvaziar lixeira",
"EmptyRootRoomHeader": "Bem-vindo ao DocSpace!",
"EmptyScreenFolder": "Ainda não há documentos aqui",
"EnableNotifications": "Ativar notificações",
"ExcludeSubfolders": "Excluir subpastas",

View File

@ -47,7 +47,7 @@
"FolderRenamed": "Dosarul '{{folderTitle}}' este redenumit în '{{newFoldedTitle}}'",
"Forms": "Forms",
"FormsTemplates": "Șabloane formulare",
"GoToMyRooms": "Salt la Sălile mele",
"GoToMyRooms": "Salt la Sălile",
"GoToPersonal": "Salt la Documentele mele",
"Images": "Imagini",
"InviteUsersInRoom": "Invită utilizatori în sala",

View File

@ -32,6 +32,7 @@
"EmptyFolderDescriptionUser": "Здесь будут отображаться файлы и папки, загруженные администраторами.",
"EmptyFolderHeader": "В этой папке нет файлов",
"EmptyRecycleBin": "Очистить корзину",
"EmptyRootRoomHeader": "Добро пожаловать в DocSpace!",
"EmptyScreenFolder": "Здесь пока нет документов",
"EnableNotifications": "Включить уведомления",
"ExcludeSubfolders": "Исключить вложенные папки",
@ -47,7 +48,7 @@
"FolderRenamed": "Папка '{{folderTitle}}' переименована в '{{newFoldedTitle}}'",
"Forms": "Формы",
"FormsTemplates": "Шаблоны форм",
"GoToMyRooms": "Перейти в Мои комнаты",
"GoToMyRooms": "Перейти в комнаты",
"GoToPersonal": "Перейти к Моим документам",
"Images": "Изображения",
"InviteUsersInRoom": "Пригласить пользователей в комнату",

View File

@ -47,7 +47,7 @@
"FolderRenamed": "Priečinok '{{folderTitle}}' bol premenovaný na '{{newFoldedTitle}}'",
"Forms": "Formuláre",
"FormsTemplates": "Šablóny formulárov",
"GoToMyRooms": "Prejdite do Moje miestnosti",
"GoToMyRooms": "Prejdite do miestnosti",
"GoToPersonal": "Prejdite do Moje dokumenty",
"Images": "Obrázky",
"InviteUsersInRoom": "Pozvite používateľov do miestnosti",

View File

@ -47,7 +47,7 @@
"FolderRenamed": "Mapa '{{folderTitle}}' je preimenovana v '{{newFoldedTitle}}'",
"Forms": "Obrazci",
"FormsTemplates": "Predloge obrazcev",
"GoToMyRooms": "Pojdi na Moje sobe",
"GoToMyRooms": "Pojdi na sobe",
"GoToPersonal": "Pojdi na Moji dokumenti",
"Images": "Slike",
"InviteUsersInRoom": "Povabi uporabnike v sobo",

View File

@ -12,5 +12,5 @@
"LicenseLink": "Licenčne pogodbe",
"PlaceholderLicense": "Vaša licenčna datoteka",
"Timezone": "Časovni pas:",
"WelcomeTitle": "Dobrodošli v vašem prostoru!"
"WelcomeTitle": "Dobrodošli v vašem DocSpace!"
}

View File

@ -32,6 +32,7 @@
"EmptyFolderDescriptionUser": "Тут з’являться файли та папки, передані адміністраторами.",
"EmptyFolderHeader": "У цій папці немає файлів",
"EmptyRecycleBin": "Очистити кошик",
"EmptyRootRoomHeader": "Вітаємо в DocSpace!",
"EmptyScreenFolder": "Тут ще немає документів",
"EnableNotifications": "Увімкнути сповіщення",
"ExcludeSubfolders": "Виключити вкладені папки",
@ -47,7 +48,7 @@
"FolderRenamed": "Папку \"{{folderTitle}}\" перейменовано на \"{{newFoldedTitle}}\"",
"Forms": "Форми",
"FormsTemplates": "Шаблони форм",
"GoToMyRooms": "Перейти до розділу «Мої кімнати»",
"GoToMyRooms": "Перейти до розділу «Кімнати»",
"GoToPersonal": "Перейти до розділу «Мої документи»",
"Images": "Зображення",
"InviteUsersInRoom": "Запросити користувачів у кімнаті",

View File

@ -12,5 +12,5 @@
"LicenseLink": "Ліцензійні угоди",
"PlaceholderLicense": "Ваш файл ліцензії",
"Timezone": "Часовий пояс:",
"WelcomeTitle": "Вітаємо на вашому порталі!"
"WelcomeTitle": "Вітаємо на вашому DocSpace!"
}

View File

@ -32,6 +32,7 @@
"EmptyFolderDescriptionUser": "由管理员上传的文件和文件夹将在此出现。",
"EmptyFolderHeader": "此文件夹中没有文件",
"EmptyRecycleBin": "清空垃圾箱",
"EmptyRootRoomHeader": "欢迎来到协作空间!",
"EmptyScreenFolder": "未找到任何文档",
"EnableNotifications": "启用消息通知",
"ExcludeSubfolders": "排除子文件夹",
@ -47,7 +48,7 @@
"FolderRenamed": "文件夹'{{folderTitle}}'已重命名为'{{newFoldedTitle}}'",
"Forms": "表单",
"FormsTemplates": "表单模板",
"GoToMyRooms": "转到我的房间",
"GoToMyRooms": "转到房间",
"GoToPersonal": "转到我的文档",
"Images": "图像",
"InviteUsersInRoom": "邀请用户进入房间",

View File

@ -99,7 +99,7 @@ const RootFolderContainer = (props) => {
t("PrivateRoomDescriptionUnbreakable"),
];
const roomHeader = "Welcome to DocSpace";
const roomHeader = t("EmptyRootRoomHeader");
useEffect(() => {
if (rootFolderType !== FolderType.COMMON) {
@ -378,12 +378,8 @@ const RootFolderContainer = (props) => {
export default inject(
({ auth, filesStore, treeFoldersStore, selectedFolderStore }) => {
const {
isDesktopClient,
isEncryptionSupport,
organizationName,
theme,
} = auth.settingsStore;
const { isDesktopClient, isEncryptionSupport, organizationName, theme } =
auth.settingsStore;
const {
filter,

View File

@ -27,6 +27,7 @@ import {
} from "../dialogs";
import ConvertPasswordDialog from "../dialogs/ConvertPasswordDialog";
import ArchiveDialog from "../dialogs/ArchiveDialog";
import RestoreRoomDialog from "../dialogs/RestoreRoomDialog";
import PreparationPortalDialog from "../dialogs/PreparationPortalDialog";
const Panels = (props) => {
@ -60,6 +61,7 @@ const Panels = (props) => {
inviteUsersWarningDialogVisible,
preparationPortalDialogVisible,
changeUserTypeDialogVisible,
restoreRoomDialogVisible,
} = props;
const { t } = useTranslation(["Translations", "Common"]);
@ -129,6 +131,7 @@ const Panels = (props) => {
<ConvertPasswordDialog key="convert-password-dialog" />
),
archiveDialogVisible && <ArchiveDialog key="archive-dialog" />,
restoreRoomDialogVisible && <RestoreRoomDialog key="archive-dialog" />,
inviteUsersWarningDialogVisible && (
<InviteUsersWarningDialog key="invite-users-warning-dialog" />
),
@ -167,6 +170,7 @@ export default inject(
connectItem, //TODO:
restoreAllPanelVisible,
archiveDialogVisible,
restoreRoomDialogVisible,
createMasterForm,
selectFileDialogVisible,
@ -213,6 +217,7 @@ export default inject(
inviteUsersWarningDialogVisible,
confirmDialogIsLoading,
changeUserTypeDialogVisible,
restoreRoomDialogVisible,
};
}
)(observer(Panels));

View File

@ -21,21 +21,13 @@ const ArchiveDialogComponent = (props) => {
const {
t,
tReady,
visible,
restoreAll,
action,
setArchiveDialogVisible,
setRestoreAllArchive,
setArchiveActionType,
setArchiveAction,
items,
} = props;
// const [requestRunning, setRequestRunning] = React.useState(false);
useEffect(() => {
window.addEventListener("keydown", onKeyPress);
@ -43,17 +35,12 @@ const ArchiveDialogComponent = (props) => {
}, []);
const onClose = () => {
setRestoreAllArchive(false);
setArchiveActionType(null);
setArchiveDialogVisible(false);
};
const onAction = () => {
setArchiveDialogVisible(false);
setArchiveAction(action, items, t).then(() => {
setRestoreAllArchive(false);
setArchiveActionType(null);
});
setArchiveAction("archive", items, t);
};
const onKeyPress = (e) => {
@ -65,34 +52,12 @@ const ArchiveDialogComponent = (props) => {
const getDescription = () => {
if (restoreAll) return t("ArchiveDialog:RestoreAllRooms");
if (action === "archive") {
return items.length > 1
? `${t("ArchiveDialog:ArchiveRooms")} ${t("Common:WantToContinue")}`
: `${t("ArchiveDialog:ArchiveRoom")} ${t("Common:WantToContinue")}`;
}
if (action === "unarchive") {
return items.length > 1
? t("ArchiveDialog:RestoreRooms")
: t("ArchiveDialog:RestoreRoom");
}
return items.length > 1
? `${t("ArchiveDialog:ArchiveRooms")} ${t("Common:WantToContinue")}`
: `${t("ArchiveDialog:ArchiveRoom")} ${t("Common:WantToContinue")}`;
};
const header =
action === "archive"
? t("ArchiveDialog:ArchiveHeader")
: t("Common:Restore");
const description = getDescription();
const acceptButton =
action === "archive" ? t("Common:OKButton") : t("Common:Restore");
const isArchive = action === "archive";
const idButtonSubmit = isArchive
? "shared_move-to-archived-modal_submit"
: "restore-all_submit";
const idButtonCancel = isArchive
? "shared_move-to-archived-modal_cancel"
: "restore-all_cancel";
return (
<StyledModal
@ -101,22 +66,24 @@ const ArchiveDialogComponent = (props) => {
onClose={onClose}
displayType="modal"
>
<ModalDialog.Header>{header}</ModalDialog.Header>
<ModalDialog.Header>
{t("ArchiveDialog:ArchiveHeader")}
</ModalDialog.Header>
<ModalDialog.Body>
<Text noSelect={true}>{description}</Text>
</ModalDialog.Body>
<ModalDialog.Footer>
<Button
id={idButtonSubmit}
id="shared_move-to-archived-modal_submit"
key="OkButton"
label={acceptButton}
label={t("Common:OKButton")}
size="normal"
primary
onClick={onAction}
scale
/>
<Button
id={idButtonCancel}
id="shared_move-to-archived-modal_cancel"
key="CancelButton"
label={t("Common:CancelButton")}
size="normal"
@ -140,11 +107,7 @@ export default inject(
const {
archiveDialogVisible: visible,
restoreAllArchive: restoreAll,
archiveAction: action,
setArchiveDialogVisible,
setRestoreAllArchive,
setArchiveAction: setArchiveActionType,
} = dialogsStore;
const items = restoreAll
@ -158,12 +121,7 @@ export default inject(
return {
visible,
restoreAll,
action,
setArchiveDialogVisible,
setRestoreAllArchive,
setArchiveActionType,
setArchiveAction,
items,
};

View File

@ -0,0 +1,133 @@
import React, { useEffect } from "react";
import styled from "styled-components";
import { withRouter } from "react-router";
import ModalDialogContainer from "../ModalDialogContainer";
import Text from "@docspace/components/text";
import Button from "@docspace/components/button";
import ModalDialog from "@docspace/components/modal-dialog";
import { withTranslation } from "react-i18next";
import { inject, observer } from "mobx-react";
const StyledModal = styled(ModalDialogContainer)`
max-width: 400px;
.cancel-btn {
display: inline-block;
margin-left: 8px;
}
`;
const RestoreRoomDialogComponent = (props) => {
const {
t,
tReady,
visible,
restoreAll,
setRestoreRoomDialogVisible,
setRestoreAllArchive,
setArchiveAction,
items,
} = props;
useEffect(() => {
window.addEventListener("keydown", onKeyPress);
return () => window.removeEventListener("keydown", onKeyPress);
}, []);
const onClose = () => {
setRestoreAllArchive(false);
setRestoreRoomDialogVisible(false);
};
const onAction = () => {
setRestoreRoomDialogVisible(false);
setArchiveAction("unarchive", items, t).then(() => {
setRestoreAllArchive(false);
});
};
const onKeyPress = (e) => {
if (e.keyCode === 13) {
onAction();
}
};
const getDescription = () => {
if (restoreAll) return t("ArchiveDialog:RestoreAllRooms");
return items.length > 1
? t("ArchiveDialog:RestoreRooms")
: t("ArchiveDialog:RestoreRoom");
};
const description = getDescription();
return (
<StyledModal
isLoading={!tReady}
visible={visible}
onClose={onClose}
displayType="modal"
>
<ModalDialog.Header>{t("Common:Restore")}</ModalDialog.Header>
<ModalDialog.Body>
<Text noSelect={true}>{description}</Text>
</ModalDialog.Body>
<ModalDialog.Footer>
<Button
id="restore-all_submit"
key="OkButton"
label={t("Common:Restore")}
size="normal"
primary
onClick={onAction}
scale
/>
<Button
id="restore-all_cancel"
key="CancelButton"
label={t("Common:CancelButton")}
size="normal"
onClick={onClose}
scale
/>
</ModalDialog.Footer>
</StyledModal>
);
};
const RestoreRoomDialog = withTranslation(["Files", "ArchiveDialog", "Common"])(
RestoreRoomDialogComponent
);
export default inject(
({ filesStore, filesActionsStore, dialogsStore, selectedFolderStore }) => {
const { roomsForRestore, selection, bufferSelection } = filesStore;
const { setArchiveAction } = filesActionsStore;
const {
restoreRoomDialogVisible: visible,
restoreAllArchive: restoreAll,
setRestoreRoomDialogVisible,
setRestoreAllArchive,
} = dialogsStore;
const items = restoreAll
? roomsForRestore
: selection.length > 0
? selection
: bufferSelection
? [bufferSelection]
: [{ id: selectedFolderStore.id }];
return {
visible,
restoreAll,
setRestoreRoomDialogVisible,
setRestoreAllArchive,
setArchiveAction,
items,
};
}
)(withRouter(observer(RestoreRoomDialog)));

View File

@ -43,6 +43,7 @@ const Badges = ({
isPaid = false,
filter,
getUsersList,
isSSO = false,
}) => {
const onClickPaid = () => {
if (filter.payments === PaymentsType.Paid) return;
@ -56,6 +57,17 @@ const Badges = ({
return (
<StyledBadgesContainer className="badges additional-badges">
{isSSO && (
<Badge
label="SSO"
color={"#FFFFFF"}
backgroundColor="#22C386"
fontSize={"9px"}
fontWeight={800}
noHover
lineHeight={"13px"}
/>
)}
{!withoutPaid && isPaid && (
<StyledPaidBadge
className="paid-badge"

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