From 6cb0440d4a19696ba8a01121d696b96f17c8cc8d Mon Sep 17 00:00:00 2001 From: Disassembler Date: Tue, 24 Mar 2020 15:15:26 +0100 Subject: [PATCH] Make Ushahidi SPOC-compatible --- lxc-apps/ushahidi/app | 36 + lxc-apps/ushahidi/image | 22 + .../ushahidi/image.d/etc/crontabs/ushahidi | 5 + .../{lxc => image.d}/etc/nginx/nginx.conf | 6 +- .../{lxc => image.d}/etc/php7/php-fpm.conf | 0 .../etc/services.d/.s6-svscan/finish | 0 .../{lxc => image.d}/etc/services.d/cron/run | 0 .../{lxc => image.d}/etc/services.d/nginx/run | 0 .../etc/services.d/php-fpm/run | 0 .../{lxc => image.d}/srv/ushahidi/config.js | 0 lxc-apps/ushahidi/install.sh | 45 +- .../ushahidi/install/redis_conf/redis.conf | 1293 ++++++++++ .../install/ushahidi_conf/config.json | 6 - lxc-apps/ushahidi/install/ushahidi_conf/env | 14 +- lxc-apps/ushahidi/lxc/etc/crontabs/ushahidi | 5 - lxc-apps/ushahidi/lxc/srv/ushahidi/aura.patch | 11 - .../ushahidi/lxc/srv/ushahidi/locales/cs.json | 2250 ----------------- .../lxc/srv/ushahidi/locales/languages.json | 1 - .../platform/application/config/init.php | 34 - lxc-apps/ushahidi/lxcfile | 34 - lxc-apps/ushahidi/meta | 29 - lxc-apps/ushahidi/uninstall.sh | 2 +- lxc-shared/alpine3.11-tomcat7/image | 2 +- lxc-shared/alpine3.11-tomcat8.5/image | 2 +- 24 files changed, 1402 insertions(+), 2395 deletions(-) create mode 100644 lxc-apps/ushahidi/app create mode 100644 lxc-apps/ushahidi/image create mode 100644 lxc-apps/ushahidi/image.d/etc/crontabs/ushahidi rename lxc-apps/ushahidi/{lxc => image.d}/etc/nginx/nginx.conf (91%) rename lxc-apps/ushahidi/{lxc => image.d}/etc/php7/php-fpm.conf (100%) rename lxc-apps/ushahidi/{lxc => image.d}/etc/services.d/.s6-svscan/finish (100%) rename lxc-apps/ushahidi/{lxc => image.d}/etc/services.d/cron/run (100%) rename lxc-apps/ushahidi/{lxc => image.d}/etc/services.d/nginx/run (100%) rename lxc-apps/ushahidi/{lxc => image.d}/etc/services.d/php-fpm/run (100%) rename lxc-apps/ushahidi/{lxc => image.d}/srv/ushahidi/config.js (100%) create mode 100644 lxc-apps/ushahidi/install/redis_conf/redis.conf delete mode 100644 lxc-apps/ushahidi/install/ushahidi_conf/config.json delete mode 100644 lxc-apps/ushahidi/lxc/etc/crontabs/ushahidi delete mode 100644 lxc-apps/ushahidi/lxc/srv/ushahidi/aura.patch delete mode 100644 lxc-apps/ushahidi/lxc/srv/ushahidi/locales/cs.json delete mode 100644 lxc-apps/ushahidi/lxc/srv/ushahidi/locales/languages.json delete mode 100644 lxc-apps/ushahidi/lxc/srv/ushahidi/platform/application/config/init.php delete mode 100644 lxc-apps/ushahidi/lxcfile delete mode 100644 lxc-apps/ushahidi/meta diff --git a/lxc-apps/ushahidi/app b/lxc-apps/ushahidi/app new file mode 100644 index 0000000..05a87ba --- /dev/null +++ b/lxc-apps/ushahidi/app @@ -0,0 +1,36 @@ +{ + "version": "4.4.1-200313", + "meta": { + "title": "Ushahidi", + "desc-cs": "Skupinová reakce na události", + "desc-en": "Group reaction to events", + "license": "GPL" + }, + "containers": { + "ushahidi": { + "image": "ushahidi_4.4.1-200313", + "depends": [ + "ushahidi-redis", + "ushahidi-mariadb" + ], + "mounts": { + "ushahidi/ushahidi_conf/env": "srv/ushahidi/platform/.env:file", + "ushahidi/ushahidi_data": "srv/ushahidi/platform/application/media/uploads" + } + }, + "ushahidi-redis": { + "image": "redis_5.0.7-200313", + "mounts": { + "ushahidi/redis_conf/redis.conf": "etc/redis.conf:file", + "ushahidi/redis_data": "var/lib/redis" + } + }, + "ushahidi-mariadb": { + "image": "mariadb_10.4.12-200313", + "mounts": { + "ushahidi/mariadb_conf/my.cnf": "etc/my.cnf:file", + "ushahidi/mariadb_data": "var/lib/mysql" + } + } + } +} diff --git a/lxc-apps/ushahidi/image b/lxc-apps/ushahidi/image new file mode 100644 index 0000000..09df5fd --- /dev/null +++ b/lxc-apps/ushahidi/image @@ -0,0 +1,22 @@ +IMAGE ushahidi_4.4.1-200313 +FROM alpine3.11-php7.3_7.3.15-200313 + +RUN EOF + # Install runtime dependencies + apk --no-cache add php7-curl php7-imap php7-mysqli php7-pdo_mysql + + # Download Ushahidi + wget https://github.com/ushahidi/platform-client/releases/download/v4.4.1/ushahidi-platform-client-bundle-v4.4.1.tar.gz -O - | tar xzf - -C /srv + mv /srv/ushahidi-platform-client-bundle-* /srv/ushahidi + wget https://github.com/ushahidi/platform/releases/download/v4.4.1/ushahidi-platform-bundle-v4.4.1.tar.gz -O - | tar xzf - -C /srv/ushahidi + mv /srv/ushahidi/ushahidi-platform-bundle-* /srv/ushahidi/platform + + # Create OS user + addgroup -S -g 8080 ushahidi + adduser -S -u 8080 -h /srv/ushahidi -s /bin/false -g ushahidi -G ushahidi ushahidi + chown -R ushahidi:ushahidi /srv/ushahidi/platform/application/logs /srv/ushahidi/platform/application/cache /srv/ushahidi/platform/application/media/uploads +EOF + +COPY image.d + +CMD /bin/s6-svscan /etc/services.d diff --git a/lxc-apps/ushahidi/image.d/etc/crontabs/ushahidi b/lxc-apps/ushahidi/image.d/etc/crontabs/ushahidi new file mode 100644 index 0000000..fccc4ba --- /dev/null +++ b/lxc-apps/ushahidi/image.d/etc/crontabs/ushahidi @@ -0,0 +1,5 @@ +*/10 * * * * cd /srv/ushahidi/platform; php artisan datasource:outgoing >/dev/null +*/10 * * * * cd /srv/ushahidi/platform; php artisan datasource:incoming >/dev/null +*/10 * * * * cd /srv/ushahidi/platform; php artisan savedsearch:sync >/dev/null +*/10 * * * * cd /srv/ushahidi/platform; php artisan notification:queue >/dev/null +*/10 * * * * cd /srv/ushahidi/platform; php artisan webhook:send >/dev/null diff --git a/lxc-apps/ushahidi/lxc/etc/nginx/nginx.conf b/lxc-apps/ushahidi/image.d/etc/nginx/nginx.conf similarity index 91% rename from lxc-apps/ushahidi/lxc/etc/nginx/nginx.conf rename to lxc-apps/ushahidi/image.d/etc/nginx/nginx.conf index 2c4d5df..6994616 100644 --- a/lxc-apps/ushahidi/lxc/etc/nginx/nginx.conf +++ b/lxc-apps/ushahidi/image.d/etc/nginx/nginx.conf @@ -26,7 +26,7 @@ http { index index.php; location / { - try_files $uri /index.html; + try_files $uri $uri/ /index.html; } location /platform { @@ -47,7 +47,7 @@ http { location /config.json { if ($request_method = 'OPTIONS') { add_header 'Access-Control-Allow-Origin' '*'; - add_header 'Access-Control-Allow-Methods' 'GET, OPTIONS'; + add_header 'Access-Control-Allow-Methods' 'GET, POST, OPTIONS'; add_header 'Access-Control-Allow-Headers' 'DNT,X-CustomHeader,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,Content-Range,Range'; add_header 'Access-Control-Max-Age' 1728000; add_header 'Content-Type' 'text/plain charset=UTF-8'; @@ -56,7 +56,7 @@ http { } if ($request_method = 'GET') { add_header 'Access-Control-Allow-Origin' '*'; - add_header 'Access-Control-Allow-Methods' 'GET, OPTIONS'; + add_header 'Access-Control-Allow-Methods' 'GET, POST, OPTIONS'; add_header 'Access-Control-Allow-Headers' 'DNT,X-CustomHeader,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,Content-Range,Range'; add_header 'Access-Control-Expose-Headers' 'DNT,X-CustomHeader,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,Content-Range,Range'; } diff --git a/lxc-apps/ushahidi/lxc/etc/php7/php-fpm.conf b/lxc-apps/ushahidi/image.d/etc/php7/php-fpm.conf similarity index 100% rename from lxc-apps/ushahidi/lxc/etc/php7/php-fpm.conf rename to lxc-apps/ushahidi/image.d/etc/php7/php-fpm.conf diff --git a/lxc-apps/ushahidi/lxc/etc/services.d/.s6-svscan/finish b/lxc-apps/ushahidi/image.d/etc/services.d/.s6-svscan/finish similarity index 100% rename from lxc-apps/ushahidi/lxc/etc/services.d/.s6-svscan/finish rename to lxc-apps/ushahidi/image.d/etc/services.d/.s6-svscan/finish diff --git a/lxc-apps/ushahidi/lxc/etc/services.d/cron/run b/lxc-apps/ushahidi/image.d/etc/services.d/cron/run similarity index 100% rename from lxc-apps/ushahidi/lxc/etc/services.d/cron/run rename to lxc-apps/ushahidi/image.d/etc/services.d/cron/run diff --git a/lxc-apps/ushahidi/lxc/etc/services.d/nginx/run b/lxc-apps/ushahidi/image.d/etc/services.d/nginx/run similarity index 100% rename from lxc-apps/ushahidi/lxc/etc/services.d/nginx/run rename to lxc-apps/ushahidi/image.d/etc/services.d/nginx/run diff --git a/lxc-apps/ushahidi/lxc/etc/services.d/php-fpm/run b/lxc-apps/ushahidi/image.d/etc/services.d/php-fpm/run similarity index 100% rename from lxc-apps/ushahidi/lxc/etc/services.d/php-fpm/run rename to lxc-apps/ushahidi/image.d/etc/services.d/php-fpm/run diff --git a/lxc-apps/ushahidi/lxc/srv/ushahidi/config.js b/lxc-apps/ushahidi/image.d/srv/ushahidi/config.js similarity index 100% rename from lxc-apps/ushahidi/lxc/srv/ushahidi/config.js rename to lxc-apps/ushahidi/image.d/srv/ushahidi/config.js diff --git a/lxc-apps/ushahidi/install.sh b/lxc-apps/ushahidi/install.sh index 5834960..cf09e7c 100755 --- a/lxc-apps/ushahidi/install.sh +++ b/lxc-apps/ushahidi/install.sh @@ -1,39 +1,48 @@ #!/bin/sh set -ev +# Volumes +MARIADB_CONF="${VOLUMES_DIR}/ushahidi/mariadb_conf" +MARIADB_DATA="${VOLUMES_DIR}/ushahidi/mariadb_data" +USHAHIDI_CONF="${VOLUMES_DIR}/ushahidi/ushahidi_conf" +USHAHIDI_DATA="${VOLUMES_DIR}/ushahidi/ushahidi_data" + # Create MariaDB instance -mkdir -p /srv/ushahidi/mariadb_conf /srv/ushahidi/mariadb_data -chown 103306:103306 /srv/ushahidi/mariadb_data -cp mariadb_conf/my.cnf /srv/ushahidi/mariadb_conf/my.cnf -chown -R 100000:100000 /srv/ushahidi/mariadb_conf -lxc-execute ushahidi-mariadb -- mysql_install_db --user=mysql --datadir=/var/lib/mysql --auth-root-authentication-method=socket --auth-root-socket-user=mysql --skip-test-db +install -o 100000 -g 100000 -m 755 -d ${MARIADB_CONF} +install -o 103306 -g 103306 -m 750 -d ${MARIADB_DATA} +install -o 100000 -g 100000 -m 644 mariadb_conf/my.cnf ${MARIADB_CONF}/my.cnf +spoc-container exec mifosx-mariadb -- mysql_install_db --user=mysql --datadir=/var/lib/mysql --auth-root-authentication-method=socket --skip-test-db # Create database export USHAHIDI_PWD=$(head -c 18 /dev/urandom | base64 | tr -d '+/=') -service lxc-ushahidi-mariadb start -envsubst /srv/ushahidi/ushahidi_conf/env -cp ushahidi_conf/config.json /srv/ushahidi/ushahidi_conf/config.json -chown -R 100000:100000 /srv/ushahidi/ushahidi_conf +USHAHIDI_APPKEY=$(spoc-container exec ushahidi -- sh -c 'cd /srv/ushahidi/platform; php artisan key:generate') +install -o 108080 -g 100000 -m 750 -d ${USHAHIDI_CONF} +install -o 108080 -g 108080 -m 755 -d ${USHAHIDI_DATA} +envsubst 1000 bytes +# 1kb => 1024 bytes +# 1m => 1000000 bytes +# 1mb => 1024*1024 bytes +# 1g => 1000000000 bytes +# 1gb => 1024*1024*1024 bytes +# +# units are case insensitive so 1GB 1Gb 1gB are all the same. + +################################## INCLUDES ################################### + +# Include one or more other config files here. This is useful if you +# have a standard template that goes to all Redis servers but also need +# to customize a few per-server settings. Include files can include +# other files, so use this wisely. +# +# Notice option "include" won't be rewritten by command "CONFIG REWRITE" +# from admin or Redis Sentinel. Since Redis always uses the last processed +# line as value of a configuration directive, you'd better put includes +# at the beginning of this file to avoid overwriting config change at runtime. +# +# If instead you are interested in using includes to override configuration +# options, it is better to use include as the last line. +# +# include /path/to/local.conf +# include /path/to/other.conf + +################################## MODULES ##################################### + +# Load modules at startup. If the server is not able to load modules +# it will abort. It is possible to use multiple loadmodule directives. +# +# loadmodule /path/to/my_module.so +# loadmodule /path/to/other_module.so + +################################## NETWORK ##################################### + +# By default, if no "bind" configuration directive is specified, Redis listens +# for connections from all the network interfaces available on the server. +# It is possible to listen to just one or multiple selected interfaces using +# the "bind" configuration directive, followed by one or more IP addresses. +# +# Examples: +# +# bind 192.168.1.100 10.0.0.1 +# bind 127.0.0.1 ::1 +# +# ~~~ WARNING ~~~ If the computer running Redis is directly exposed to the +# internet, binding to all the interfaces is dangerous and will expose the +# instance to everybody on the internet. So by default we uncomment the +# following bind directive, that will force Redis to listen only into +# the IPv4 lookback interface address (this means Redis will be able to +# accept connections only from clients running into the same computer it +# is running). +# +# IF YOU ARE SURE YOU WANT YOUR INSTANCE TO LISTEN TO ALL THE INTERFACES +# JUST COMMENT THE FOLLOWING LINE. +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +# bind 127.0.0.1 + +# Protected mode is a layer of security protection, in order to avoid that +# Redis instances left open on the internet are accessed and exploited. +# +# When protected mode is on and if: +# +# 1) The server is not binding explicitly to a set of addresses using the +# "bind" directive. +# 2) No password is configured. +# +# The server only accepts connections from clients connecting from the +# IPv4 and IPv6 loopback addresses 127.0.0.1 and ::1, and from Unix domain +# sockets. +# +# By default protected mode is enabled. You should disable it only if +# you are sure you want clients from other hosts to connect to Redis +# even if no authentication is configured, nor a specific set of interfaces +# are explicitly listed using the "bind" directive. +protected-mode no + +# Accept connections on the specified port, default is 6379 (IANA #815344). +# If port 0 is specified Redis will not listen on a TCP socket. +port 6379 + +# TCP listen() backlog. +# +# In high requests-per-second environments you need an high backlog in order +# to avoid slow clients connections issues. Note that the Linux kernel +# will silently truncate it to the value of /proc/sys/net/core/somaxconn so +# make sure to raise both the value of somaxconn and tcp_max_syn_backlog +# in order to get the desired effect. +tcp-backlog 511 + +# Unix socket. +# +# Specify the path for the Unix socket that will be used to listen for +# incoming connections. There is no default, so Redis will not listen +# on a unix socket when not specified. +# +# unixsocket /tmp/redis.sock +# unixsocketperm 700 + +# Close the connection after a client is idle for N seconds (0 to disable) +timeout 0 + +# TCP keepalive. +# +# If non-zero, use SO_KEEPALIVE to send TCP ACKs to clients in absence +# of communication. This is useful for two reasons: +# +# 1) Detect dead peers. +# 2) Take the connection alive from the point of view of network +# equipment in the middle. +# +# On Linux, the specified value (in seconds) is the period used to send ACKs. +# Note that to close the connection the double of the time is needed. +# On other kernels the period depends on the kernel configuration. +# +# A reasonable value for this option is 300 seconds, which is the new +# Redis default starting with Redis 3.2.1. +tcp-keepalive 300 + +################################# GENERAL ##################################### + +# By default Redis does not run as a daemon. Use 'yes' if you need it. +# Note that Redis will write a pid file in /var/run/redis.pid when daemonized. +daemonize no + +# If you run Redis from upstart or systemd, Redis can interact with your +# supervision tree. Options: +# supervised no - no supervision interaction +# supervised upstart - signal upstart by putting Redis into SIGSTOP mode +# supervised systemd - signal systemd by writing READY=1 to $NOTIFY_SOCKET +# supervised auto - detect upstart or systemd method based on +# UPSTART_JOB or NOTIFY_SOCKET environment variables +# Note: these supervision methods only signal "process is ready." +# They do not enable continuous liveness pings back to your supervisor. +supervised no + +# If a pid file is specified, Redis writes it where specified at startup +# and removes it at exit. +# +# When the server runs non daemonized, no pid file is created if none is +# specified in the configuration. When the server is daemonized, the pid file +# is used even if not specified, defaulting to "/var/run/redis.pid". +# +# Creating a pid file is best effort: if Redis is not able to create it +# nothing bad happens, the server will start and run normally. +pidfile /var/run/redis/redis.pid + +# Specify the server verbosity level. +# This can be one of: +# debug (a lot of information, useful for development/testing) +# verbose (many rarely useful info, but not a mess like the debug level) +# notice (moderately verbose, what you want in production probably) +# warning (only very important / critical messages are logged) +loglevel notice + +# Specify the log file name. Also the empty string can be used to force +# Redis to log on the standard output. Note that if you use standard +# output for logging but daemonize, logs will be sent to /dev/null +# logfile /var/log/redis/redis.log + +# To enable logging to the system logger, just set 'syslog-enabled' to yes, +# and optionally update the other syslog parameters to suit your needs. +# syslog-enabled no + +# Specify the syslog identity. +# syslog-ident redis + +# Specify the syslog facility. Must be USER or between LOCAL0-LOCAL7. +# syslog-facility local0 + +# Set the number of databases. The default database is DB 0, you can select +# a different one on a per-connection basis using SELECT where +# dbid is a number between 0 and 'databases'-1 +databases 16 + +# By default Redis shows an ASCII art logo only when started to log to the +# standard output and if the standard output is a TTY. Basically this means +# that normally a logo is displayed only in interactive sessions. +# +# However it is possible to force the pre-4.0 behavior and always show a +# ASCII art logo in startup logs by setting the following option to yes. +always-show-logo no + +################################ SNAPSHOTTING ################################ +# +# Save the DB on disk: +# +# save +# +# Will save the DB if both the given number of seconds and the given +# number of write operations against the DB occurred. +# +# In the example below the behaviour will be to save: +# after 900 sec (15 min) if at least 1 key changed +# after 300 sec (5 min) if at least 10 keys changed +# after 60 sec if at least 10000 keys changed +# +# Note: you can disable saving completely by commenting out all "save" lines. +# +# It is also possible to remove all the previously configured save +# points by adding a save directive with a single empty string argument +# like in the following example: +# +# save "" + +save 900 1 +save 300 10 +save 60 10000 + +# By default Redis will stop accepting writes if RDB snapshots are enabled +# (at least one save point) and the latest background save failed. +# This will make the user aware (in a hard way) that data is not persisting +# on disk properly, otherwise chances are that no one will notice and some +# disaster will happen. +# +# If the background saving process will start working again Redis will +# automatically allow writes again. +# +# However if you have setup your proper monitoring of the Redis server +# and persistence, you may want to disable this feature so that Redis will +# continue to work as usual even if there are problems with disk, +# permissions, and so forth. +stop-writes-on-bgsave-error yes + +# Compress string objects using LZF when dump .rdb databases? +# For default that's set to 'yes' as it's almost always a win. +# If you want to save some CPU in the saving child set it to 'no' but +# the dataset will likely be bigger if you have compressible values or keys. +rdbcompression yes + +# Since version 5 of RDB a CRC64 checksum is placed at the end of the file. +# This makes the format more resistant to corruption but there is a performance +# hit to pay (around 10%) when saving and loading RDB files, so you can disable it +# for maximum performances. +# +# RDB files created with checksum disabled have a checksum of zero that will +# tell the loading code to skip the check. +rdbchecksum yes + +# The filename where to dump the DB +dbfilename dump.rdb + +# The working directory. +# +# The DB will be written inside this directory, with the filename specified +# above using the 'dbfilename' configuration directive. +# +# The Append Only File will also be created inside this directory. +# +# Note that you must specify a directory here, not a file name. +dir /var/lib/redis/ + +################################# REPLICATION ################################# + +# Master-Slave replication. Use slaveof to make a Redis instance a copy of +# another Redis server. A few things to understand ASAP about Redis replication. +# +# 1) Redis replication is asynchronous, but you can configure a master to +# stop accepting writes if it appears to be not connected with at least +# a given number of slaves. +# 2) Redis slaves are able to perform a partial resynchronization with the +# master if the replication link is lost for a relatively small amount of +# time. You may want to configure the replication backlog size (see the next +# sections of this file) with a sensible value depending on your needs. +# 3) Replication is automatic and does not need user intervention. After a +# network partition slaves automatically try to reconnect to masters +# and resynchronize with them. +# +# slaveof + +# If the master is password protected (using the "requirepass" configuration +# directive below) it is possible to tell the slave to authenticate before +# starting the replication synchronization process, otherwise the master will +# refuse the slave request. +# +# masterauth + +# When a slave loses its connection with the master, or when the replication +# is still in progress, the slave can act in two different ways: +# +# 1) if slave-serve-stale-data is set to 'yes' (the default) the slave will +# still reply to client requests, possibly with out of date data, or the +# data set may just be empty if this is the first synchronization. +# +# 2) if slave-serve-stale-data is set to 'no' the slave will reply with +# an error "SYNC with master in progress" to all the kind of commands +# but to INFO and SLAVEOF. +# +slave-serve-stale-data yes + +# You can configure a slave instance to accept writes or not. Writing against +# a slave instance may be useful to store some ephemeral data (because data +# written on a slave will be easily deleted after resync with the master) but +# may also cause problems if clients are writing to it because of a +# misconfiguration. +# +# Since Redis 2.6 by default slaves are read-only. +# +# Note: read only slaves are not designed to be exposed to untrusted clients +# on the internet. It's just a protection layer against misuse of the instance. +# Still a read only slave exports by default all the administrative commands +# such as CONFIG, DEBUG, and so forth. To a limited extent you can improve +# security of read only slaves using 'rename-command' to shadow all the +# administrative / dangerous commands. +slave-read-only yes + +# Replication SYNC strategy: disk or socket. +# +# ------------------------------------------------------- +# WARNING: DISKLESS REPLICATION IS EXPERIMENTAL CURRENTLY +# ------------------------------------------------------- +# +# New slaves and reconnecting slaves that are not able to continue the replication +# process just receiving differences, need to do what is called a "full +# synchronization". An RDB file is transmitted from the master to the slaves. +# The transmission can happen in two different ways: +# +# 1) Disk-backed: The Redis master creates a new process that writes the RDB +# file on disk. Later the file is transferred by the parent +# process to the slaves incrementally. +# 2) Diskless: The Redis master creates a new process that directly writes the +# RDB file to slave sockets, without touching the disk at all. +# +# With disk-backed replication, while the RDB file is generated, more slaves +# can be queued and served with the RDB file as soon as the current child producing +# the RDB file finishes its work. With diskless replication instead once +# the transfer starts, new slaves arriving will be queued and a new transfer +# will start when the current one terminates. +# +# When diskless replication is used, the master waits a configurable amount of +# time (in seconds) before starting the transfer in the hope that multiple slaves +# will arrive and the transfer can be parallelized. +# +# With slow disks and fast (large bandwidth) networks, diskless replication +# works better. +repl-diskless-sync no + +# When diskless replication is enabled, it is possible to configure the delay +# the server waits in order to spawn the child that transfers the RDB via socket +# to the slaves. +# +# This is important since once the transfer starts, it is not possible to serve +# new slaves arriving, that will be queued for the next RDB transfer, so the server +# waits a delay in order to let more slaves arrive. +# +# The delay is specified in seconds, and by default is 5 seconds. To disable +# it entirely just set it to 0 seconds and the transfer will start ASAP. +repl-diskless-sync-delay 5 + +# Slaves send PINGs to server in a predefined interval. It's possible to change +# this interval with the repl_ping_slave_period option. The default value is 10 +# seconds. +# +# repl-ping-slave-period 10 + +# The following option sets the replication timeout for: +# +# 1) Bulk transfer I/O during SYNC, from the point of view of slave. +# 2) Master timeout from the point of view of slaves (data, pings). +# 3) Slave timeout from the point of view of masters (REPLCONF ACK pings). +# +# It is important to make sure that this value is greater than the value +# specified for repl-ping-slave-period otherwise a timeout will be detected +# every time there is low traffic between the master and the slave. +# +# repl-timeout 60 + +# Disable TCP_NODELAY on the slave socket after SYNC? +# +# If you select "yes" Redis will use a smaller number of TCP packets and +# less bandwidth to send data to slaves. But this can add a delay for +# the data to appear on the slave side, up to 40 milliseconds with +# Linux kernels using a default configuration. +# +# If you select "no" the delay for data to appear on the slave side will +# be reduced but more bandwidth will be used for replication. +# +# By default we optimize for low latency, but in very high traffic conditions +# or when the master and slaves are many hops away, turning this to "yes" may +# be a good idea. +repl-disable-tcp-nodelay no + +# Set the replication backlog size. The backlog is a buffer that accumulates +# slave data when slaves are disconnected for some time, so that when a slave +# wants to reconnect again, often a full resync is not needed, but a partial +# resync is enough, just passing the portion of data the slave missed while +# disconnected. +# +# The bigger the replication backlog, the longer the time the slave can be +# disconnected and later be able to perform a partial resynchronization. +# +# The backlog is only allocated once there is at least a slave connected. +# +# repl-backlog-size 1mb + +# After a master has no longer connected slaves for some time, the backlog +# will be freed. The following option configures the amount of seconds that +# need to elapse, starting from the time the last slave disconnected, for +# the backlog buffer to be freed. +# +# Note that slaves never free the backlog for timeout, since they may be +# promoted to masters later, and should be able to correctly "partially +# resynchronize" with the slaves: hence they should always accumulate backlog. +# +# A value of 0 means to never release the backlog. +# +# repl-backlog-ttl 3600 + +# The slave priority is an integer number published by Redis in the INFO output. +# It is used by Redis Sentinel in order to select a slave to promote into a +# master if the master is no longer working correctly. +# +# A slave with a low priority number is considered better for promotion, so +# for instance if there are three slaves with priority 10, 100, 25 Sentinel will +# pick the one with priority 10, that is the lowest. +# +# However a special priority of 0 marks the slave as not able to perform the +# role of master, so a slave with priority of 0 will never be selected by +# Redis Sentinel for promotion. +# +# By default the priority is 100. +slave-priority 100 + +# It is possible for a master to stop accepting writes if there are less than +# N slaves connected, having a lag less or equal than M seconds. +# +# The N slaves need to be in "online" state. +# +# The lag in seconds, that must be <= the specified value, is calculated from +# the last ping received from the slave, that is usually sent every second. +# +# This option does not GUARANTEE that N replicas will accept the write, but +# will limit the window of exposure for lost writes in case not enough slaves +# are available, to the specified number of seconds. +# +# For example to require at least 3 slaves with a lag <= 10 seconds use: +# +# min-slaves-to-write 3 +# min-slaves-max-lag 10 +# +# Setting one or the other to 0 disables the feature. +# +# By default min-slaves-to-write is set to 0 (feature disabled) and +# min-slaves-max-lag is set to 10. + +# A Redis master is able to list the address and port of the attached +# slaves in different ways. For example the "INFO replication" section +# offers this information, which is used, among other tools, by +# Redis Sentinel in order to discover slave instances. +# Another place where this info is available is in the output of the +# "ROLE" command of a master. +# +# The listed IP and address normally reported by a slave is obtained +# in the following way: +# +# IP: The address is auto detected by checking the peer address +# of the socket used by the slave to connect with the master. +# +# Port: The port is communicated by the slave during the replication +# handshake, and is normally the port that the slave is using to +# list for connections. +# +# However when port forwarding or Network Address Translation (NAT) is +# used, the slave may be actually reachable via different IP and port +# pairs. The following two options can be used by a slave in order to +# report to its master a specific set of IP and port, so that both INFO +# and ROLE will report those values. +# +# There is no need to use both the options if you need to override just +# the port or the IP address. +# +# slave-announce-ip 5.5.5.5 +# slave-announce-port 1234 + +################################## SECURITY ################################### + +# Require clients to issue AUTH before processing any other +# commands. This might be useful in environments in which you do not trust +# others with access to the host running redis-server. +# +# This should stay commented out for backward compatibility and because most +# people do not need auth (e.g. they run their own servers). +# +# Warning: since Redis is pretty fast an outside user can try up to +# 150k passwords per second against a good box. This means that you should +# use a very strong password otherwise it will be very easy to break. +# +# requirepass foobared + +# Command renaming. +# +# It is possible to change the name of dangerous commands in a shared +# environment. For instance the CONFIG command may be renamed into something +# hard to guess so that it will still be available for internal-use tools +# but not available for general clients. +# +# Example: +# +# rename-command CONFIG b840fc02d524045429941cc15f59e41cb7be6c52 +# +# It is also possible to completely kill a command by renaming it into +# an empty string: +# +# rename-command CONFIG "" +# +# Please note that changing the name of commands that are logged into the +# AOF file or transmitted to slaves may cause problems. + +################################### CLIENTS #################################### + +# Set the max number of connected clients at the same time. By default +# this limit is set to 10000 clients, however if the Redis server is not +# able to configure the process file limit to allow for the specified limit +# the max number of allowed clients is set to the current file limit +# minus 32 (as Redis reserves a few file descriptors for internal uses). +# +# Once the limit is reached Redis will close all the new connections sending +# an error 'max number of clients reached'. +# +# maxclients 10000 + +############################## MEMORY MANAGEMENT ################################ + +# Set a memory usage limit to the specified amount of bytes. +# When the memory limit is reached Redis will try to remove keys +# according to the eviction policy selected (see maxmemory-policy). +# +# If Redis can't remove keys according to the policy, or if the policy is +# set to 'noeviction', Redis will start to reply with errors to commands +# that would use more memory, like SET, LPUSH, and so on, and will continue +# to reply to read-only commands like GET. +# +# This option is usually useful when using Redis as an LRU or LFU cache, or to +# set a hard memory limit for an instance (using the 'noeviction' policy). +# +# WARNING: If you have slaves attached to an instance with maxmemory on, +# the size of the output buffers needed to feed the slaves are subtracted +# from the used memory count, so that network problems / resyncs will +# not trigger a loop where keys are evicted, and in turn the output +# buffer of slaves is full with DELs of keys evicted triggering the deletion +# of more keys, and so forth until the database is completely emptied. +# +# In short... if you have slaves attached it is suggested that you set a lower +# limit for maxmemory so that there is some free RAM on the system for slave +# output buffers (but this is not needed if the policy is 'noeviction'). +# +# maxmemory + +# MAXMEMORY POLICY: how Redis will select what to remove when maxmemory +# is reached. You can select among five behaviors: +# +# volatile-lru -> Evict using approximated LRU among the keys with an expire set. +# allkeys-lru -> Evict any key using approximated LRU. +# volatile-lfu -> Evict using approximated LFU among the keys with an expire set. +# allkeys-lfu -> Evict any key using approximated LFU. +# volatile-random -> Remove a random key among the ones with an expire set. +# allkeys-random -> Remove a random key, any key. +# volatile-ttl -> Remove the key with the nearest expire time (minor TTL) +# noeviction -> Don't evict anything, just return an error on write operations. +# +# LRU means Least Recently Used +# LFU means Least Frequently Used +# +# Both LRU, LFU and volatile-ttl are implemented using approximated +# randomized algorithms. +# +# Note: with any of the above policies, Redis will return an error on write +# operations, when there are no suitable keys for eviction. +# +# At the date of writing these commands are: set setnx setex append +# incr decr rpush lpush rpushx lpushx linsert lset rpoplpush sadd +# sinter sinterstore sunion sunionstore sdiff sdiffstore zadd zincrby +# zunionstore zinterstore hset hsetnx hmset hincrby incrby decrby +# getset mset msetnx exec sort +# +# The default is: +# +# maxmemory-policy noeviction + +# LRU, LFU and minimal TTL algorithms are not precise algorithms but approximated +# algorithms (in order to save memory), so you can tune it for speed or +# accuracy. For default Redis will check five keys and pick the one that was +# used less recently, you can change the sample size using the following +# configuration directive. +# +# The default of 5 produces good enough results. 10 Approximates very closely +# true LRU but costs more CPU. 3 is faster but not very accurate. +# +# maxmemory-samples 5 + +############################# LAZY FREEING #################################### + +# Redis has two primitives to delete keys. One is called DEL and is a blocking +# deletion of the object. It means that the server stops processing new commands +# in order to reclaim all the memory associated with an object in a synchronous +# way. If the key deleted is associated with a small object, the time needed +# in order to execute the DEL command is very small and comparable to most other +# O(1) or O(log_N) commands in Redis. However if the key is associated with an +# aggregated value containing millions of elements, the server can block for +# a long time (even seconds) in order to complete the operation. +# +# For the above reasons Redis also offers non blocking deletion primitives +# such as UNLINK (non blocking DEL) and the ASYNC option of FLUSHALL and +# FLUSHDB commands, in order to reclaim memory in background. Those commands +# are executed in constant time. Another thread will incrementally free the +# object in the background as fast as possible. +# +# DEL, UNLINK and ASYNC option of FLUSHALL and FLUSHDB are user-controlled. +# It's up to the design of the application to understand when it is a good +# idea to use one or the other. However the Redis server sometimes has to +# delete keys or flush the whole database as a side effect of other operations. +# Specifically Redis deletes objects independently of a user call in the +# following scenarios: +# +# 1) On eviction, because of the maxmemory and maxmemory policy configurations, +# in order to make room for new data, without going over the specified +# memory limit. +# 2) Because of expire: when a key with an associated time to live (see the +# EXPIRE command) must be deleted from memory. +# 3) Because of a side effect of a command that stores data on a key that may +# already exist. For example the RENAME command may delete the old key +# content when it is replaced with another one. Similarly SUNIONSTORE +# or SORT with STORE option may delete existing keys. The SET command +# itself removes any old content of the specified key in order to replace +# it with the specified string. +# 4) During replication, when a slave performs a full resynchronization with +# its master, the content of the whole database is removed in order to +# load the RDB file just transfered. +# +# In all the above cases the default is to delete objects in a blocking way, +# like if DEL was called. However you can configure each case specifically +# in order to instead release memory in a non-blocking way like if UNLINK +# was called, using the following configuration directives: + +lazyfree-lazy-eviction no +lazyfree-lazy-expire no +lazyfree-lazy-server-del no +slave-lazy-flush no + +############################## APPEND ONLY MODE ############################### + +# By default Redis asynchronously dumps the dataset on disk. This mode is +# good enough in many applications, but an issue with the Redis process or +# a power outage may result into a few minutes of writes lost (depending on +# the configured save points). +# +# The Append Only File is an alternative persistence mode that provides +# much better durability. For instance using the default data fsync policy +# (see later in the config file) Redis can lose just one second of writes in a +# dramatic event like a server power outage, or a single write if something +# wrong with the Redis process itself happens, but the operating system is +# still running correctly. +# +# AOF and RDB persistence can be enabled at the same time without problems. +# If the AOF is enabled on startup Redis will load the AOF, that is the file +# with the better durability guarantees. +# +# Please check http://redis.io/topics/persistence for more information. + +appendonly no + +# The name of the append only file (default: "appendonly.aof") + +appendfilename "appendonly.aof" + +# The fsync() call tells the Operating System to actually write data on disk +# instead of waiting for more data in the output buffer. Some OS will really flush +# data on disk, some other OS will just try to do it ASAP. +# +# Redis supports three different modes: +# +# no: don't fsync, just let the OS flush the data when it wants. Faster. +# always: fsync after every write to the append only log. Slow, Safest. +# everysec: fsync only one time every second. Compromise. +# +# The default is "everysec", as that's usually the right compromise between +# speed and data safety. It's up to you to understand if you can relax this to +# "no" that will let the operating system flush the output buffer when +# it wants, for better performances (but if you can live with the idea of +# some data loss consider the default persistence mode that's snapshotting), +# or on the contrary, use "always" that's very slow but a bit safer than +# everysec. +# +# More details please check the following article: +# http://antirez.com/post/redis-persistence-demystified.html +# +# If unsure, use "everysec". + +# appendfsync always +appendfsync everysec +# appendfsync no + +# When the AOF fsync policy is set to always or everysec, and a background +# saving process (a background save or AOF log background rewriting) is +# performing a lot of I/O against the disk, in some Linux configurations +# Redis may block too long on the fsync() call. Note that there is no fix for +# this currently, as even performing fsync in a different thread will block +# our synchronous write(2) call. +# +# In order to mitigate this problem it's possible to use the following option +# that will prevent fsync() from being called in the main process while a +# BGSAVE or BGREWRITEAOF is in progress. +# +# This means that while another child is saving, the durability of Redis is +# the same as "appendfsync none". In practical terms, this means that it is +# possible to lose up to 30 seconds of log in the worst scenario (with the +# default Linux settings). +# +# If you have latency problems turn this to "yes". Otherwise leave it as +# "no" that is the safest pick from the point of view of durability. + +no-appendfsync-on-rewrite no + +# Automatic rewrite of the append only file. +# Redis is able to automatically rewrite the log file implicitly calling +# BGREWRITEAOF when the AOF log size grows by the specified percentage. +# +# This is how it works: Redis remembers the size of the AOF file after the +# latest rewrite (if no rewrite has happened since the restart, the size of +# the AOF at startup is used). +# +# This base size is compared to the current size. If the current size is +# bigger than the specified percentage, the rewrite is triggered. Also +# you need to specify a minimal size for the AOF file to be rewritten, this +# is useful to avoid rewriting the AOF file even if the percentage increase +# is reached but it is still pretty small. +# +# Specify a percentage of zero in order to disable the automatic AOF +# rewrite feature. + +auto-aof-rewrite-percentage 100 +auto-aof-rewrite-min-size 64mb + +# An AOF file may be found to be truncated at the end during the Redis +# startup process, when the AOF data gets loaded back into memory. +# This may happen when the system where Redis is running +# crashes, especially when an ext4 filesystem is mounted without the +# data=ordered option (however this can't happen when Redis itself +# crashes or aborts but the operating system still works correctly). +# +# Redis can either exit with an error when this happens, or load as much +# data as possible (the default now) and start if the AOF file is found +# to be truncated at the end. The following option controls this behavior. +# +# If aof-load-truncated is set to yes, a truncated AOF file is loaded and +# the Redis server starts emitting a log to inform the user of the event. +# Otherwise if the option is set to no, the server aborts with an error +# and refuses to start. When the option is set to no, the user requires +# to fix the AOF file using the "redis-check-aof" utility before to restart +# the server. +# +# Note that if the AOF file will be found to be corrupted in the middle +# the server will still exit with an error. This option only applies when +# Redis will try to read more data from the AOF file but not enough bytes +# will be found. +aof-load-truncated yes + +# When rewriting the AOF file, Redis is able to use an RDB preamble in the +# AOF file for faster rewrites and recoveries. When this option is turned +# on the rewritten AOF file is composed of two different stanzas: +# +# [RDB file][AOF tail] +# +# When loading Redis recognizes that the AOF file starts with the "REDIS" +# string and loads the prefixed RDB file, and continues loading the AOF +# tail. +# +# This is currently turned off by default in order to avoid the surprise +# of a format change, but will at some point be used as the default. +aof-use-rdb-preamble no + +################################ LUA SCRIPTING ############################### + +# Max execution time of a Lua script in milliseconds. +# +# If the maximum execution time is reached Redis will log that a script is +# still in execution after the maximum allowed time and will start to +# reply to queries with an error. +# +# When a long running script exceeds the maximum execution time only the +# SCRIPT KILL and SHUTDOWN NOSAVE commands are available. The first can be +# used to stop a script that did not yet called write commands. The second +# is the only way to shut down the server in the case a write command was +# already issued by the script but the user doesn't want to wait for the natural +# termination of the script. +# +# Set it to 0 or a negative value for unlimited execution without warnings. +lua-time-limit 5000 + +################################ REDIS CLUSTER ############################### +# +# ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +# WARNING EXPERIMENTAL: Redis Cluster is considered to be stable code, however +# in order to mark it as "mature" we need to wait for a non trivial percentage +# of users to deploy it in production. +# ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +# +# Normal Redis instances can't be part of a Redis Cluster; only nodes that are +# started as cluster nodes can. In order to start a Redis instance as a +# cluster node enable the cluster support uncommenting the following: +# +# cluster-enabled yes + +# Every cluster node has a cluster configuration file. This file is not +# intended to be edited by hand. It is created and updated by Redis nodes. +# Every Redis Cluster node requires a different cluster configuration file. +# Make sure that instances running in the same system do not have +# overlapping cluster configuration file names. +# +# cluster-config-file nodes-6379.conf + +# Cluster node timeout is the amount of milliseconds a node must be unreachable +# for it to be considered in failure state. +# Most other internal time limits are multiple of the node timeout. +# +# cluster-node-timeout 15000 + +# A slave of a failing master will avoid to start a failover if its data +# looks too old. +# +# There is no simple way for a slave to actually have an exact measure of +# its "data age", so the following two checks are performed: +# +# 1) If there are multiple slaves able to failover, they exchange messages +# in order to try to give an advantage to the slave with the best +# replication offset (more data from the master processed). +# Slaves will try to get their rank by offset, and apply to the start +# of the failover a delay proportional to their rank. +# +# 2) Every single slave computes the time of the last interaction with +# its master. This can be the last ping or command received (if the master +# is still in the "connected" state), or the time that elapsed since the +# disconnection with the master (if the replication link is currently down). +# If the last interaction is too old, the slave will not try to failover +# at all. +# +# The point "2" can be tuned by user. Specifically a slave will not perform +# the failover if, since the last interaction with the master, the time +# elapsed is greater than: +# +# (node-timeout * slave-validity-factor) + repl-ping-slave-period +# +# So for example if node-timeout is 30 seconds, and the slave-validity-factor +# is 10, and assuming a default repl-ping-slave-period of 10 seconds, the +# slave will not try to failover if it was not able to talk with the master +# for longer than 310 seconds. +# +# A large slave-validity-factor may allow slaves with too old data to failover +# a master, while a too small value may prevent the cluster from being able to +# elect a slave at all. +# +# For maximum availability, it is possible to set the slave-validity-factor +# to a value of 0, which means, that slaves will always try to failover the +# master regardless of the last time they interacted with the master. +# (However they'll always try to apply a delay proportional to their +# offset rank). +# +# Zero is the only value able to guarantee that when all the partitions heal +# the cluster will always be able to continue. +# +# cluster-slave-validity-factor 10 + +# Cluster slaves are able to migrate to orphaned masters, that are masters +# that are left without working slaves. This improves the cluster ability +# to resist to failures as otherwise an orphaned master can't be failed over +# in case of failure if it has no working slaves. +# +# Slaves migrate to orphaned masters only if there are still at least a +# given number of other working slaves for their old master. This number +# is the "migration barrier". A migration barrier of 1 means that a slave +# will migrate only if there is at least 1 other working slave for its master +# and so forth. It usually reflects the number of slaves you want for every +# master in your cluster. +# +# Default is 1 (slaves migrate only if their masters remain with at least +# one slave). To disable migration just set it to a very large value. +# A value of 0 can be set but is useful only for debugging and dangerous +# in production. +# +# cluster-migration-barrier 1 + +# By default Redis Cluster nodes stop accepting queries if they detect there +# is at least an hash slot uncovered (no available node is serving it). +# This way if the cluster is partially down (for example a range of hash slots +# are no longer covered) all the cluster becomes, eventually, unavailable. +# It automatically returns available as soon as all the slots are covered again. +# +# However sometimes you want the subset of the cluster which is working, +# to continue to accept queries for the part of the key space that is still +# covered. In order to do so, just set the cluster-require-full-coverage +# option to no. +# +# cluster-require-full-coverage yes + +# In order to setup your cluster make sure to read the documentation +# available at http://redis.io web site. + +########################## CLUSTER DOCKER/NAT support ######################## + +# In certain deployments, Redis Cluster nodes address discovery fails, because +# addresses are NAT-ted or because ports are forwarded (the typical case is +# Docker and other containers). +# +# In order to make Redis Cluster working in such environments, a static +# configuration where each node knows its public address is needed. The +# following two options are used for this scope, and are: +# +# * cluster-announce-ip +# * cluster-announce-port +# * cluster-announce-bus-port +# +# Each instruct the node about its address, client port, and cluster message +# bus port. The information is then published in the header of the bus packets +# so that other nodes will be able to correctly map the address of the node +# publishing the information. +# +# If the above options are not used, the normal Redis Cluster auto-detection +# will be used instead. +# +# Note that when remapped, the bus port may not be at the fixed offset of +# clients port + 10000, so you can specify any port and bus-port depending +# on how they get remapped. If the bus-port is not set, a fixed offset of +# 10000 will be used as usually. +# +# Example: +# +# cluster-announce-ip 10.1.1.5 +# cluster-announce-port 6379 +# cluster-announce-bus-port 6380 + +################################## SLOW LOG ################################### + +# The Redis Slow Log is a system to log queries that exceeded a specified +# execution time. The execution time does not include the I/O operations +# like talking with the client, sending the reply and so forth, +# but just the time needed to actually execute the command (this is the only +# stage of command execution where the thread is blocked and can not serve +# other requests in the meantime). +# +# You can configure the slow log with two parameters: one tells Redis +# what is the execution time, in microseconds, to exceed in order for the +# command to get logged, and the other parameter is the length of the +# slow log. When a new command is logged the oldest one is removed from the +# queue of logged commands. + +# The following time is expressed in microseconds, so 1000000 is equivalent +# to one second. Note that a negative number disables the slow log, while +# a value of zero forces the logging of every command. +slowlog-log-slower-than 10000 + +# There is no limit to this length. Just be aware that it will consume memory. +# You can reclaim memory used by the slow log with SLOWLOG RESET. +slowlog-max-len 128 + +################################ LATENCY MONITOR ############################## + +# The Redis latency monitoring subsystem samples different operations +# at runtime in order to collect data related to possible sources of +# latency of a Redis instance. +# +# Via the LATENCY command this information is available to the user that can +# print graphs and obtain reports. +# +# The system only logs operations that were performed in a time equal or +# greater than the amount of milliseconds specified via the +# latency-monitor-threshold configuration directive. When its value is set +# to zero, the latency monitor is turned off. +# +# By default latency monitoring is disabled since it is mostly not needed +# if you don't have latency issues, and collecting data has a performance +# impact, that while very small, can be measured under big load. Latency +# monitoring can easily be enabled at runtime using the command +# "CONFIG SET latency-monitor-threshold " if needed. +latency-monitor-threshold 0 + +############################# EVENT NOTIFICATION ############################## + +# Redis can notify Pub/Sub clients about events happening in the key space. +# This feature is documented at http://redis.io/topics/notifications +# +# For instance if keyspace events notification is enabled, and a client +# performs a DEL operation on key "foo" stored in the Database 0, two +# messages will be published via Pub/Sub: +# +# PUBLISH __keyspace@0__:foo del +# PUBLISH __keyevent@0__:del foo +# +# It is possible to select the events that Redis will notify among a set +# of classes. Every class is identified by a single character: +# +# K Keyspace events, published with __keyspace@__ prefix. +# E Keyevent events, published with __keyevent@__ prefix. +# g Generic commands (non-type specific) like DEL, EXPIRE, RENAME, ... +# $ String commands +# l List commands +# s Set commands +# h Hash commands +# z Sorted set commands +# x Expired events (events generated every time a key expires) +# e Evicted events (events generated when a key is evicted for maxmemory) +# A Alias for g$lshzxe, so that the "AKE" string means all the events. +# +# The "notify-keyspace-events" takes as argument a string that is composed +# of zero or multiple characters. The empty string means that notifications +# are disabled. +# +# Example: to enable list and generic events, from the point of view of the +# event name, use: +# +# notify-keyspace-events Elg +# +# Example 2: to get the stream of the expired keys subscribing to channel +# name __keyevent@0__:expired use: +# +# notify-keyspace-events Ex +# +# By default all notifications are disabled because most users don't need +# this feature and the feature has some overhead. Note that if you don't +# specify at least one of K or E, no events will be delivered. +notify-keyspace-events "" + +############################### ADVANCED CONFIG ############################### + +# Hashes are encoded using a memory efficient data structure when they have a +# small number of entries, and the biggest entry does not exceed a given +# threshold. These thresholds can be configured using the following directives. +hash-max-ziplist-entries 512 +hash-max-ziplist-value 64 + +# Lists are also encoded in a special way to save a lot of space. +# The number of entries allowed per internal list node can be specified +# as a fixed maximum size or a maximum number of elements. +# For a fixed maximum size, use -5 through -1, meaning: +# -5: max size: 64 Kb <-- not recommended for normal workloads +# -4: max size: 32 Kb <-- not recommended +# -3: max size: 16 Kb <-- probably not recommended +# -2: max size: 8 Kb <-- good +# -1: max size: 4 Kb <-- good +# Positive numbers mean store up to _exactly_ that number of elements +# per list node. +# The highest performing option is usually -2 (8 Kb size) or -1 (4 Kb size), +# but if your use case is unique, adjust the settings as necessary. +list-max-ziplist-size -2 + +# Lists may also be compressed. +# Compress depth is the number of quicklist ziplist nodes from *each* side of +# the list to *exclude* from compression. The head and tail of the list +# are always uncompressed for fast push/pop operations. Settings are: +# 0: disable all list compression +# 1: depth 1 means "don't start compressing until after 1 node into the list, +# going from either the head or tail" +# So: [head]->node->node->...->node->[tail] +# [head], [tail] will always be uncompressed; inner nodes will compress. +# 2: [head]->[next]->node->node->...->node->[prev]->[tail] +# 2 here means: don't compress head or head->next or tail->prev or tail, +# but compress all nodes between them. +# 3: [head]->[next]->[next]->node->node->...->node->[prev]->[prev]->[tail] +# etc. +list-compress-depth 0 + +# Sets have a special encoding in just one case: when a set is composed +# of just strings that happen to be integers in radix 10 in the range +# of 64 bit signed integers. +# The following configuration setting sets the limit in the size of the +# set in order to use this special memory saving encoding. +set-max-intset-entries 512 + +# Similarly to hashes and lists, sorted sets are also specially encoded in +# order to save a lot of space. This encoding is only used when the length and +# elements of a sorted set are below the following limits: +zset-max-ziplist-entries 128 +zset-max-ziplist-value 64 + +# HyperLogLog sparse representation bytes limit. The limit includes the +# 16 bytes header. When an HyperLogLog using the sparse representation crosses +# this limit, it is converted into the dense representation. +# +# A value greater than 16000 is totally useless, since at that point the +# dense representation is more memory efficient. +# +# The suggested value is ~ 3000 in order to have the benefits of +# the space efficient encoding without slowing down too much PFADD, +# which is O(N) with the sparse encoding. The value can be raised to +# ~ 10000 when CPU is not a concern, but space is, and the data set is +# composed of many HyperLogLogs with cardinality in the 0 - 15000 range. +hll-sparse-max-bytes 3000 + +# Active rehashing uses 1 millisecond every 100 milliseconds of CPU time in +# order to help rehashing the main Redis hash table (the one mapping top-level +# keys to values). The hash table implementation Redis uses (see dict.c) +# performs a lazy rehashing: the more operation you run into a hash table +# that is rehashing, the more rehashing "steps" are performed, so if the +# server is idle the rehashing is never complete and some more memory is used +# by the hash table. +# +# The default is to use this millisecond 10 times every second in order to +# actively rehash the main dictionaries, freeing memory when possible. +# +# If unsure: +# use "activerehashing no" if you have hard latency requirements and it is +# not a good thing in your environment that Redis can reply from time to time +# to queries with 2 milliseconds delay. +# +# use "activerehashing yes" if you don't have such hard requirements but +# want to free memory asap when possible. +activerehashing yes + +# The client output buffer limits can be used to force disconnection of clients +# that are not reading data from the server fast enough for some reason (a +# common reason is that a Pub/Sub client can't consume messages as fast as the +# publisher can produce them). +# +# The limit can be set differently for the three different classes of clients: +# +# normal -> normal clients including MONITOR clients +# slave -> slave clients +# pubsub -> clients subscribed to at least one pubsub channel or pattern +# +# The syntax of every client-output-buffer-limit directive is the following: +# +# client-output-buffer-limit +# +# A client is immediately disconnected once the hard limit is reached, or if +# the soft limit is reached and remains reached for the specified number of +# seconds (continuously). +# So for instance if the hard limit is 32 megabytes and the soft limit is +# 16 megabytes / 10 seconds, the client will get disconnected immediately +# if the size of the output buffers reach 32 megabytes, but will also get +# disconnected if the client reaches 16 megabytes and continuously overcomes +# the limit for 10 seconds. +# +# By default normal clients are not limited because they don't receive data +# without asking (in a push way), but just after a request, so only +# asynchronous clients may create a scenario where data is requested faster +# than it can read. +# +# Instead there is a default limit for pubsub and slave clients, since +# subscribers and slaves receive data in a push fashion. +# +# Both the hard or the soft limit can be disabled by setting them to zero. +client-output-buffer-limit normal 0 0 0 +client-output-buffer-limit slave 256mb 64mb 60 +client-output-buffer-limit pubsub 32mb 8mb 60 + +# Redis calls an internal function to perform many background tasks, like +# closing connections of clients in timeout, purging expired keys that are +# never requested, and so forth. +# +# Not all tasks are performed with the same frequency, but Redis checks for +# tasks to perform according to the specified "hz" value. +# +# By default "hz" is set to 10. Raising the value will use more CPU when +# Redis is idle, but at the same time will make Redis more responsive when +# there are many keys expiring at the same time, and timeouts may be +# handled with more precision. +# +# The range is between 1 and 500, however a value over 100 is usually not +# a good idea. Most users should use the default of 10 and raise this up to +# 100 only in environments where very low latency is required. +hz 10 + +# When a child rewrites the AOF file, if the following option is enabled +# the file will be fsync-ed every 32 MB of data generated. This is useful +# in order to commit the file to the disk more incrementally and avoid +# big latency spikes. +aof-rewrite-incremental-fsync yes + +# Redis LFU eviction (see maxmemory setting) can be tuned. However it is a good +# idea to start with the default settings and only change them after investigating +# how to improve the performances and how the keys LFU change over time, which +# is possible to inspect via the OBJECT FREQ command. +# +# There are two tunable parameters in the Redis LFU implementation: the +# counter logarithm factor and the counter decay time. It is important to +# understand what the two parameters mean before changing them. +# +# The LFU counter is just 8 bits per key, it's maximum value is 255, so Redis +# uses a probabilistic increment with logarithmic behavior. Given the value +# of the old counter, when a key is accessed, the counter is incremented in +# this way: +# +# 1. A random number R between 0 and 1 is extracted. +# 2. A probability P is calculated as 1/(old_value*lfu_log_factor+1). +# 3. The counter is incremented only if R < P. +# +# The default lfu-log-factor is 10. This is a table of how the frequency +# counter changes with a different number of accesses with different +# logarithmic factors: +# +# +--------+------------+------------+------------+------------+------------+ +# | factor | 100 hits | 1000 hits | 100K hits | 1M hits | 10M hits | +# +--------+------------+------------+------------+------------+------------+ +# | 0 | 104 | 255 | 255 | 255 | 255 | +# +--------+------------+------------+------------+------------+------------+ +# | 1 | 18 | 49 | 255 | 255 | 255 | +# +--------+------------+------------+------------+------------+------------+ +# | 10 | 10 | 18 | 142 | 255 | 255 | +# +--------+------------+------------+------------+------------+------------+ +# | 100 | 8 | 11 | 49 | 143 | 255 | +# +--------+------------+------------+------------+------------+------------+ +# +# NOTE: The above table was obtained by running the following commands: +# +# redis-benchmark -n 1000000 incr foo +# redis-cli object freq foo +# +# NOTE 2: The counter initial value is 5 in order to give new objects a chance +# to accumulate hits. +# +# The counter decay time is the time, in minutes, that must elapse in order +# for the key counter to be divided by two (or decremented if it has a value +# less <= 10). +# +# The default value for the lfu-decay-time is 1. A Special value of 0 means to +# decay the counter every time it happens to be scanned. +# +# lfu-log-factor 10 +# lfu-decay-time 1 + +########################### ACTIVE DEFRAGMENTATION ####################### +# +# WARNING THIS FEATURE IS EXPERIMENTAL. However it was stress tested +# even in production and manually tested by multiple engineers for some +# time. +# +# What is active defragmentation? +# ------------------------------- +# +# Active (online) defragmentation allows a Redis server to compact the +# spaces left between small allocations and deallocations of data in memory, +# thus allowing to reclaim back memory. +# +# Fragmentation is a natural process that happens with every allocator (but +# less so with Jemalloc, fortunately) and certain workloads. Normally a server +# restart is needed in order to lower the fragmentation, or at least to flush +# away all the data and create it again. However thanks to this feature +# implemented by Oran Agra for Redis 4.0 this process can happen at runtime +# in an "hot" way, while the server is running. +# +# Basically when the fragmentation is over a certain level (see the +# configuration options below) Redis will start to create new copies of the +# values in contiguous memory regions by exploiting certain specific Jemalloc +# features (in order to understand if an allocation is causing fragmentation +# and to allocate it in a better place), and at the same time, will release the +# old copies of the data. This process, repeated incrementally for all the keys +# will cause the fragmentation to drop back to normal values. +# +# Important things to understand: +# +# 1. This feature is disabled by default, and only works if you compiled Redis +# to use the copy of Jemalloc we ship with the source code of Redis. +# This is the default with Linux builds. +# +# 2. You never need to enable this feature if you don't have fragmentation +# issues. +# +# 3. Once you experience fragmentation, you can enable this feature when +# needed with the command "CONFIG SET activedefrag yes". +# +# The configuration parameters are able to fine tune the behavior of the +# defragmentation process. If you are not sure about what they mean it is +# a good idea to leave the defaults untouched. + +# Enabled active defragmentation +# activedefrag yes + +# Minimum amount of fragmentation waste to start active defrag +# active-defrag-ignore-bytes 100mb + +# Minimum percentage of fragmentation to start active defrag +# active-defrag-threshold-lower 10 + +# Maximum percentage of fragmentation at which we use maximum effort +# active-defrag-threshold-upper 100 + +# Minimal effort for defrag in CPU percentage +# active-defrag-cycle-min 25 + +# Maximal effort for defrag in CPU percentage +# active-defrag-cycle-max 75 + diff --git a/lxc-apps/ushahidi/install/ushahidi_conf/config.json b/lxc-apps/ushahidi/install/ushahidi_conf/config.json deleted file mode 100644 index 64142f8..0000000 --- a/lxc-apps/ushahidi/install/ushahidi_conf/config.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "backend_url": "https://ush.spotter.vm/platform", - "client_id": "ushahidiui", - "client_secret": "35e7f0bca957836d05ca0492211b0ac707671261", - "google_analytics_id": "" -} diff --git a/lxc-apps/ushahidi/install/ushahidi_conf/env b/lxc-apps/ushahidi/install/ushahidi_conf/env index 8b09956..7fadc29 100644 --- a/lxc-apps/ushahidi/install/ushahidi_conf/env +++ b/lxc-apps/ushahidi/install/ushahidi_conf/env @@ -1,5 +1,17 @@ +APP_ENV=production +APP_DEBUG=false +APP_KEY=${USHAHIDI_APPKEY} +APP_TIMEZONE=Europe/Prague +APP_LANGUAGES=cs,en + +DB_TYPE=mysql DB_HOST=ushahidi-mariadb DB_NAME=ushahidi DB_USER=ushahidi DB_PASS=${USHAHIDI_PWD} -DB_TYPE=MySQLi + +CACHE_DRIVER=redis +QUEUE_DRIVER=redis +REDIS_HOST=ushahidi-redis + +MAINTENANCE_MODE=0 diff --git a/lxc-apps/ushahidi/lxc/etc/crontabs/ushahidi b/lxc-apps/ushahidi/lxc/etc/crontabs/ushahidi deleted file mode 100644 index 7ef59c4..0000000 --- a/lxc-apps/ushahidi/lxc/etc/crontabs/ushahidi +++ /dev/null @@ -1,5 +0,0 @@ -*/10 * * * * cd /srv/ushahidi/platform; bin/ushahidi dataprovider outgoing >/dev/null -*/10 * * * * cd /srv/ushahidi/platform; bin/ushahidi dataprovider incoming >/dev/null -*/10 * * * * cd /srv/ushahidi/platform; bin/ushahidi savedsearch >/dev/null -*/10 * * * * cd /srv/ushahidi/platform; bin/ushahidi notification queue >/dev/null -*/10 * * * * cd /srv/ushahidi/platform; bin/ushahidi webhook send >/dev/null diff --git a/lxc-apps/ushahidi/lxc/srv/ushahidi/aura.patch b/lxc-apps/ushahidi/lxc/srv/ushahidi/aura.patch deleted file mode 100644 index 68e2e3e..0000000 --- a/lxc-apps/ushahidi/lxc/srv/ushahidi/aura.patch +++ /dev/null @@ -1,11 +0,0 @@ ---- original/vendor/aura/di/src/Factory.php -+++ platform/vendor/aura/di/src/Factory.php -@@ -619,7 +619,7 @@ - } while ($entity = get_parent_class($entity)); - - // get traits from ancestor traits -- while (list($trait) = each($traits)) { -+ foreach ($traits as $trait => $_) { - foreach (class_uses($trait) as $key => $name) { - $traits[$key] = $name; - } diff --git a/lxc-apps/ushahidi/lxc/srv/ushahidi/locales/cs.json b/lxc-apps/ushahidi/lxc/srv/ushahidi/locales/cs.json deleted file mode 100644 index b69f2b9..0000000 --- a/lxc-apps/ushahidi/lxc/srv/ushahidi/locales/cs.json +++ /dev/null @@ -1,2250 +0,0 @@ -{ - "app": { - "powered_by_ushahidi": "Běží na Ushahidi.", - "support": "Podpora Ushahidi", - "by": "od", - "submit": "Odeslat", - "anonymous": "Anonym", - "submitting": "Odesílání", - "submit_another": "Odeslat a přidat další", - "submit_response": "Odeslat odpověď na průzkum", - "can_see_this": "může to vidět", - "collection": "Kolekce", - "collections": "Kolekce", - "create_collection": "Vytvořit kolekci", - "export_to_csv": "Exportovat filtrované údaje", - "create_new": "Vytvořit nový", - "create_new_survey": "Vytvořit nový průzkum", - "created_by": "Vytvořeno od {{author}}", - "date_created": "Datum vytvoření", - "date_updated": "Datum aktualizace", - "documentation": { - "title": "Dokumentace", - "description": "Naučte se, jak nastavit, konfigurovat a spravovat nasazení systému Ushahidi." - }, - "intercom": { - "intercom": "Intercom", - "description": "Kontaktovat pracovníky Ushahidi pro podporu chatu" - }, - "report_a_bug": { - "title": "Nahlásit chybu", - "description": "Řekněte nám, když něco nefunguje tak, jak jste očekávali." - }, - "edit_collection": "Upravit kolekci", - "features": { - "title": "Funkce", - "description": "Podívejte se, co Ushahidi dokáže a jak to funguje." - }, - "forbidden": "Nemáte povoleno to udělat.", - "404": "Tato adresa URL neexistuje", - "get_notifications": "Získat oznamování", - "turn_off_notifications": "Vypnout oznamování", - "load_more": "Načíst více", - "loading": "Načítání", - "loading_saved_searches": "Načítání uložených hledání", - "more": "Více", - "cancel": "Zrušit", - "save": "Uložit", - "save_and_close": "Uložit a zavřít", - "add_and_close": "Přidat a zavřít", - "update_and_close": "Aktualizovat a zavřít", - "updating": "Aktualizace", - "saving": "Ukládání", - "settings": "Nastavení", - "share": "Sdílet", - "specific_roles": "Specifické role ...", - "general": "Obecné", - "surveys": "Průzkum", - "add_survey": "Přidat průzkum", - "edit_survey": "Upravit průzkum", - "data_sources": "Zdroje dat", - "import": "Import", - "users": "Uživatelé", - "edit_user": "Upravit Uživatele", - "add_user": "Přidat uživatele", - "edit": "Upravit", - "roles": "Role", - "edit_role": "Upravit roli", - "add_role": "Přidat roli", - "webhooks": "Webhooks", - "edit_webhook": "Upravit Webhook", - "add_webhook": "Přidat Webhook", - "categories": "Kategorie", - "edit_category": "Upravit kategorii", - "add_category": "Přidat kategorii", - "categories_count": "{{count}} kategorií", - "plans": "Plány", - "delete": "Smazat", - "description": "Popis", - "color": "Barva", - "search_users": "Hledat uživatele", - "searching": "Vyhledávání", - "show_hide": "Zobrazit / Skrýt", - "fields": "Pole", - "no_results": "Nenalezeny žádné výsledky.", - "filter_by": "Filtrovat podle...", - "sort_filter": "Seřadit a filtrovat", - "apply_filters": "Použít", - "show_more_less": "Zobrazit více / méně", - "filters": "Filtry", - "filter_by_survey": "Filtrovat podle průzkumu", - "configure": "Konfigurovat", - "post": "Příspěvek", - "name": "Název", - "key": "Klíč", - "survey_web_address": "Webová adresa vašeho průzkumu", - "default_value": "Výchozí hodnota", - "select_one": "Vybrat jeden", - "sort_and_filter": "Seřadit a filtrovat", - "saved_search": "Uložené hledání", - "tasks": "Úlohy", - "return_to_all_posts": "Vrátit se ke všem příspěvkům", - "this_deplyment_is_private": "Toto nasazení je soukromé", - "private_deployment": "Soukromé nasazení", - "mark_as": "Označit jako", - "who_can_see_this_category": "Kdo vidí tuto kategorii?", - "this_category_is_child_to": "Tato kategorie je podřízena {{parent}}", - "nothing": "Nic", - "who_can_see_this": "Kdo to vidí?", - "add": "Přidat", - "add_new_category": "+ Přidat novou kategorii", - "sort_by": "Seřadit podle ...", - "newest_first": "Nejnovější první", - "oldest_first": "Nejstarší první", - "language": "Jazyk", - "select_language": "Zvolit jazyk" - }, - "toolbar": { - "searchbar": { - "search_entity": "Hledat {{entity}}", - "search_all_entities_for": "Hledat všechny {{entity}} pro" - } - }, - "color_picker": { - "hex_value": "Hexadecimální hodnota", - "red": "Červená", - "gold": "Zlatá", - "blue": "Modrá", - "green": "Zelená" - }, - "feature_limits": { - "view_unavailable": "Zobrazení {{value}} není v aktuálním plánu k dispozici. Upgradujte svůj plán a získejte ho!" - }, - "limit": { - "plan_limit": "Limit plánu Ushahidi", - "post_limit_reached": "Dosáhl jste limitu publikovaných příspěvků pro svůj plán.", - "admin_limit_reached": "Dosáhl jste limitu adminů pro svůj plán.", - "post_type_limit_reached": "Dosáhl jste limitu průzkumů pro svůj plán.", - "upgrade": "Upgradovat" - }, - "activity": { - "activity_over_time": "Činnost v průběhu času", - "activity_by_volume": "Aktivita podle objemu", - "recent_activity_timeline": "Časová osa poslední aktivity", - "new_post": "Nový příspěvek", - "by": "Od", - "context_body": "Souhrn toho, jak lidé interagují s {{site}}." - }, - "form": { - "add_field": "Přidat pole", - "add_field_instructions": "Přidat pokyny k tomuto poli", - "add_field_instructions_info": "Tyto instrukce budou při vyplňování tohoto pole zobrazeny jako nápověda pro uživatele.", - "add_field_instructions_placeholder": "Vysvětlit toto pole...", - "add_post_type": "Přidat průzkum", - "add_step": "Přidat úlohu", - "added_form_stage_attribute": "Uložené pole", - "field_allowed_relation_post_type": "Povolené průzkumy", - "choose_order_message": "Vyberte a seřaďte pole, která byste chtěl zahrnout do tohoto průzkumu", - "created_form_stage": "Uložená úloha", - "currently_disabled": "Tento průzkum je momentálně vypnutý.", - "custom_structure": "Vlastní struktura", - "default_date_placeholder": "Výchozí datum", - "default_default_placeholder": "Výchozí hodnota", - "default_location_placeholder": "Nairobi, Keňa", - "delete_post_type": "Smazat tento průzkum", - "deleted_form": "Smazaný průzkum", - "deleted_form_stage": "Smazaná úloha", - "deleted_form_stage_attribute": "Smazané pole", - "editable_by": "Upravitelný od", - "edit_post_step": "Upravit úlohu: {{step}}", - "edit_post_type": "Upravit Průzkum: {{form}}", - "edit_post_types": "Upravit průzkumy", - "field_add_option": "Přidat", - "field_default": "Výchozí pole", - "field_key": "Klíč pole", - "field_type": "Typ pole", - "field_name": "Název pole", - "field_options": "Možnosti pole", - "field_key_placeholder": "field-key", - "field_name_placeholder": "Pojmenujte toto pole", - "field_option_placeholder": "Možnost 1", - "field_required": "Toto pole je povinné", - "form_name": "Název", - "form_description": "Popis", - "forms": "Formuláře", - "form_stage_settings_saved": "Uložená nastavení", - "permission_public": "Veřejný", - "permission_admin": "Správce", - "permission_self": "Jen já", - "post_type_settings": "Nastavení průzkumu", - "post_step_settings": "Nastavení úloh", - "priority_changed": "Změněná priorita", - "save_and_close": "Uložit a zavřít", - "save_post_type": "Uložit průzkum", - "save_post_step": "Uložit úlohu", - "saved_form": "Průzkum uložen", - "step_delete": "Smazat", - "step_name": "Název úlohy", - "step_rename": "Přejmenovat", - "step_required": "Tato úloha je vyžadována", - "post_step": "Příspěvek", - "type": "typ", - "visible_to": "Viditelné do" - }, - "survey": { - "delete_task": "Smazat úlohu", - "duplicate_survey": "Duplikovat", - "internal_use_task": "Úloha je určena pouze pro interní použití", - "internal_use_task_desc": "Tato úloha bude viditelná pouze pro uživatele, kteří mají oprávnění ke správě příspěvků.", - "duplicate_task": "Zdvojit úlohu", - "show_this_task_to": "Zobrazit tuto úlohu všem při publikování", - "show_this_task_to_desc": "Při zveřejnění odpovědi na průzkum se zobrazí data z této úlohy.", - "survey_name": "Název průzkumu", - "describe_your_survey": "Popište svůj průzkum ...", - "describe_this_task": "Popsat tuto úlohu ...", - "untitled_task": "Nepojmenovaná úloha", - "add_task": "Přidat úlohu", - "title": "Název", - "field_allowed_relation_survey": "Povolené průzkumy", - "collect_image_caption": "Zahrnout pole s popisem obrázku", - "disable_caption_field_explanation": "Tím se zakáží a skryjí všechny existující popisky pro toto pole, ale můžete je kdykoli znovu povolit.", - "description": "Popis", - "task_description": "Popis ulohy", - "post_fields": "Pole příspěvku", - "task_fields": "Pole úloh", - "show_task": "Zobrazit tuto úlohu všem při publikování příspěvku", - "task_info": "K jednotlivým příspěvkům můžete přidat další informace, například překlady nebo ověření, a přiřadit je k lidem přidáním úkolů. Můžete si vybrat z předem připravených úloh nebo vytvořit vlastní od začátku.", - "text_desc": "Věta nebo méně", - "short_text": "Krátký text", - "long_text": "Dlouhý text", - "number_decimal": "Číslo (desetinné)", - "number_integer": "Číslo (celé číslo)", - "location": "Umístění", - "date": "Datum", - "datetime": "Datum a čas", - "select": "Vybrat", - "radio_button": "Přepínací tlačítko(a)", - "checkbox": "Zaškrtávací políčko(a)", - "related_post": "Související příspěvek", - "upload_image": "Obrázek", - "embed_video": "Vložené video", - "markdown": "Markdown", - "categories": "Kategorie", - "textarea_desc": "Více vět nebo odstavců", - "decimal_desc": "Číslo s desetinnými místy", - "integer_desc": "Celé číslo", - "location_desc": "Geografická oblast vybraná přes mapu", - "date_desc": "Datum s rokem, měsícem, dnem", - "datetime_desc": "Datum s časem v hodinách a minutách", - "select_desc": "Rozbalovací seznam položek", - "radio_desc": "Umožňuje uživateli vybrat pouze jednu předdefinovanou sadu možností.", - "checkbox_desc": "Umožňuje uživateli vybrat jednu nebo více předdefinovaných sad možností.", - "relation_desc": "Vytvořte vztah mezi různými průzkumy", - "upload_desc": "Umožňuje odesílání obrázk(ů) do příspěvku", - "video_desc": "Umožnit vkládání videa Youtube nebo Vimeo do příspěvku", - "markdown_desc": "Umožňuje použití syntaxe markdown pro stylování obsahu pole.", - "tasks": "Úlohy", - "task_visible_when_published": "Tato úloha bude viditelná při zveřejnění příspěvku.", - "show_field_description": "Zobrazit popis pole", - "add_field": "Přidat pole", - "edit_field": "Upravit pole", - "build": "Vytvořit", - "configure": "Konfigurovat", - "require_section": "Vyžaduje, aby byla tato úloha dokončena dříve, než může být příspěvek viditelný veřejnosti", - "hide_author_information": "Skrýt informace o autorovi", - "hide_author_information_desc": "Pouze lidé s povolením k úpravám odpovědí budou moci vidět, kdo je odeslal. a pouze při jejich úpravách.", - "share": "Sdílet", - "task_name": "Název úlohy", - "required_field": "Vyžadováno", - "required": "Vyžadováno", - "required_desc": "Požadovat, aby byla tato úloha dokončena dříve, než může být příspěvek viditelný pro veřejnost.", - "require_field_desc": "Vyžaduje to dokončit toto pole", - "name_this_task": "Název této úlohy ...", - "require_review": "Požadovat příspěvky, které mají být přezkoumány před zveřejněním", - "require_review_desc": "Nové reakce na tento průzkum budou \"revidovány\", a proto nebudou okamžitě viditelné pro veřejnost. Uživatelé, kteří mají oprávnění k přezkoumání odpovědi, je mohou zkontrolovat a \"publikovat\", což je pak učiní pro všechny viditelné.", - "require_task": "Vyžadovaný", - "make_response_private": "Udělat reakce soukromé", - "response_private_desc": "Pouze lidé s povolením k úpravám odpovědí mohou vidět odpovědi na toto pole", - "require_task_desc": "Vyžaduje, aby byla tato úloha dokončena dříve, než může být příspěvek viditelný veřejnosti", - "survey_permissions": "Práva k průzkumu", - "who_can_add": "Kdo může do tohoto průzkumu přidat", - "survey_field": "Pole průzkumu", - "choose_survey_field": "Vyberte, co by mělo být přiřazeno ke každému poli průzkumu", - "choose_survey_field_desc": "Každá z polí průzkumu je uvedeno níže. Vyberte data z vašich tweetů, která chcete použít k vyplnění každého z těchto polí.", - "who_can_contribute_to_task": "Kdo může přispět do polí v této úloze", - "delete": { - "desc": "Pokud tento průzkum odstraníte, všechny jeho příspěvky budou také smazány. Postupujte opatrně.", - "delete": "Vymazat průzkum", - "delete_this": "Smazat tento průzkum", - "delete_this_field": "Smazat toto pole", - "delete_field": "Odstranit pole", - "desc_field": "Pokud toto pole odstraníte, všechna data, která byla v něm shromážděna, budou také smazána. Postupujte opatrně." - }, - "name": "Název průzkumu", - "color": { - "color": "Barva", - "hex": "Hexadecimální hodnota", - "red": "Červená", - "gold": "Zlatá", - "blue": "Modrý", - "green": "Zelená" - }, - "who": "Kdo to vidí?", - "task": { - "delete": { - "desc": "Pokud tuto úlohu vymažete, odstraní se i všechna data obsažená v ní. Postupujte opatrně.", - "delete": "Smazat úlohu", - "delete_this": "Smazat tuto úlohu" - } - }, - "targeted_survey": { - "title": "Vytvořte nový cílený průzkum", - "description": "Odeslání dotazů přes SMS na seznam těchto telefonních čísel.", - "name_title": "Název vašeho průzkumu", - "name": "Název průzkumu", - "description_title": "Popis průzkumu", - "audience_title": "Vyberte své publikum", - "add_questions_title": "Přidat své dotazy", - "add_questions_description": "Každou otázku zašleme jako samostatnou SMS. Poté, co někdo reaguje, zašleme další dotaz v průzkumu.", - "add_another": "Přidat další otázku ...", - "add_a_question": "Přidat otázku ...", - "edit_title": "Upravit otázku", - "new_question_title": "Nová otázka", - "question_text": "Text otázky", - "question_description": "To je to, co uvidí uživatelé, když do vašeho průzkumu přejdou.", - "sample_question": "Vzorová otázka: Ahoj! Jak se dnes máš? Tvá reakce je zdarma.", - "char_remains": "{{remaining}} / 160 znaků zbývá", - "publish": "Publikovat průzkum", - "delete": "Smazat", - "send_to_old_number_warning": "Pokud odesíláte zprávy, které jste v minulosti posílali, odpovědi této osoby se budou vždy vztahovat na poslední průzkum. Už nebudou schopni odpovědět na předchozí nezodpovězené průzkumné otázky.", - "publish_description_many": "Pošleme {{questions}} dotazy na {{numbers}} lidem prostřednictvím SMS na celkem {{total_sms_messages}} zpráv. Váš poskytovatel telekomunikačních služeb vám za každou zprávu zaúčtuje. Buďte opatrní ohledně nákladů, které vzniknou zasláním tohoto průzkumu. Tuto akci nelze vrátit zpět.", - "publish_description_one_question": "Odeslání otázky {{questions}} do {{numbers}} lidí prostřednictvím SMS za celkem {{total_sms_messages}} zprávy. Váš poskytovatel telekomunikačních služeb vám za každou zprávu zaúčtuje. Buďte opatrní ohledně nákladů, které vzniknou zasláním tohoto průzkumu. Tuto akci nelze vrátit zpět.", - "publish_description_one_number": "Pošleme {{questions}} dotazy na {{numbers}} osob prostřednictvím SMS na celkem {{total_sms_messages}} zpráv. Váš poskytovatel telekomunikačních služeb vám za každou zprávu zaúčtuje. Buďte opatrní ohledně nákladů, které vzniknou zasláním tohoto průzkumu. Tuto akci nelze vrátit zpět.", - "publish_description_one_number_one_question": "Na zprávu {{total_sms_messages}} zašleme {{questions}} dotaz na {{numbers}} osob prostřednictvím SMS. Váš poskytovatel telekomunikačních služeb vám za každou zprávu zaúčtuje. Buďte opatrní ohledně nákladů, které vzniknou zasláním tohoto průzkumu. Tuto akci nelze vrátit zpět.", - "question_warning": "Musíte zadat alespoň jednu otázku.", - "publish_warning": "Opravdu chcete odeslat tento SMS průzkum?", - "publish_notification_many": "Zprávy {{messages}} budou odeslány v rámci tohoto průzkumu. Za tyto zprávy vám bude účtovat telekomunikační poskytovatel", - "publish_notification_one": "Zpráva {{messages}} bude odeslána jako součást tohoto průzkumu. Bude vám za tuto zprávu účtovat váš telekomunikační poskytovatel.", - "hide_responders": "Skrýt informace o respondentech", - "hide_responders_desc": "Telefonní čísla lidí, kteří reagují na vaše dotazy, zůstávají na veřejném webu ukryty. Pouze členové týmu s oprávněním k úpravám budou moci je vidět.", - "notification_button": "Zobrazit průzkum v datamode", - "name_warning": "Musíte dát název průzkumu.", - "description_warning": "Musíte dát k svému průzkumu popis.", - "send_to_person": "Cíleno: Odeslat tento průzkum {{recipientCount}} osobě přes SMS", - "send_to_people": "Cíleno: Odeslat tento průzkum {{recipientCount}} lidem přes SMS", - "country_code": "Kód země", - "country_code_error": "Musíte vybrat zemi.", - "select_country": "Vybrat zemi", - "phone_numbers": "Telefonní čísla", - "phone_number_warning": "Musíte zadat alespoň 1 telefonní číslo.", - "one_repeat_alert": "Ze seznamu jsme odstranili celkem {{repeatCount}} duplicitních čísel.", - "multi_repeat_alert": "Ze seznamu jsme z celkového počtu {{repeatCount}} odstranili duplicitní čísla.", - "multi_number_error": "Z {{total}} telefonních čísel, které jste zadali, jsme zaznamenali problémy s {{bad}} z nich. Opravte prosím níže uvedená telefonní čísla a pokračujte. Čísla musí odpovídat pravidlům formátování vybrané země.", - "one_number_error": "Z {{total}} telefonních čísel, které jste zadali, jsme zaznamenali problémy s {{bad}} z nich. Opravte prosím níže uvedené telefonní číslo a pokračujte. Čísla musí odpovídat pravidlům formátování vybrané země.", - "multi_numbers_good": "Tato čísla {{good_numbers}} vypadají dobře.", - "one_number_good": "Toto číslo {{good_numbers}} vypadá dobře.", - "question_error": "Musíte přidat alespoň jednu otázku.", - "phone_number_instructions": "Zadejte prosím telefonní čísla, která chcete kontaktovat. Mezi každé telefonní číslo musíte umístit čárku.", - "targeted_survey": "Cílený průzkum", - "targeted_survey_desc": "Tento průzkum jsme odeslali přes SMS", - "sent_messages": "Poslali jsme {{totalSent}} zpráv a", - "sent_message": "Poslali jsme {{totalSent}} zprávu a", - "received_responses": "obdrželi jste {{answers}} reakce", - "received_response": "obdrželi jste {{responses}} reakci", - "recipients_count": "od {{recipients}} příjemců.", - "recipient_count": "dosud od {{recipients}} příjemce.", - "error_message": "Při pokusu o uložení cíleného průzkumu došlo k chybě", - "error_contacts": "Některá z poskytnutých čísel selhala, zkontrolujte prosím vaše čísla a zkuste to znovu", - "pending_messages": "Zpracováváme {{totalPending}} zprávy.", - "pending_message": "Zpracováváme {{totalPending}} zprávu.", - "cancel": "Zrušit" - } - }, - "global_filter": { - "filter": "Filtr", - "categories": { - "categories": "Kategorie", - "all_categories": "Všechny kategorie" - }, - "post_types": { - "post_types": "Průzkumy", - "all_types": "Všechny typy", - "unstructured": "Nestrukturovaný" - }, - "post_statuses": { - "post_statuses": "Stav", - "all_statuses": "Jakýkoli stav", - "draft": "Návrh", - "published": "Vydáno" - }, - "post_stages": { - "post_stages": "Stávající úloha", - "all_stages": "Všechny úlohy" - }, - "collections": { - "collections": "Kolekce", - "all_collections": "Všechny kolekce", - "search_collections": "Hledat kolekce" - }, - "sort": { - "order": { - "filter_type_tag": "Řazení", - "desc": "Nejnovější první", - "asc": "Nejstarší první" - }, - "orderby": { - "post_date": "Datum vložení", - "created": "Datum vytvoření", - "updated": "Datum aktualizace" - }, - "unlockedOnTop": { - "filter_type_tag": "Odemčené příspěvky nahoře" - } - }, - "filter_tabs": { - "order": "Řazení", - "order_group": { - "orderby": { - "post_date": "Datum příspěvku", - "created": "Datum vytvoření", - "updated": "Datum aktualizace" - }, - "order": { - "desc": "Nejnovější první", - "asc": "Nejstarší první" - }, - "unlocked_on_top_yes": "Ano", - "unlocked_on_top_no": "Ne" - }, - "orderby": "Řadit podle", - "order_unlocked_on_top": "Odemčené příspěvky nahoře", - "savedsearch": "Uložené hledání", - "saved_search": "Uložené hledání", - "q": "Klíčové slovo", - "created_after": "Datum začátku", - "created_before": "Datum ukončení", - "date_after": "Počáteční datum", - "date_before": "Datum konce", - "center_point": "Umístění", - "tags": "Kategorie", - "form": "Průzkum", - "current_stage": "Aktuální úloha", - "set": "Kolekce", - "status": "Stav", - "location_value": "V rámci {{km}} km {{value}}", - "visible_to": "Viditelné pro", - "user": "Uživatel", - "has_location": "Post-locations", - "all_posts": "Zobrazit všechny příspěvky", - "unmapped": "Zobrazit nezmapované příspěvky", - "mapped": "Zobrazit příspěvky s umístěním", - "source": "Zdroj" - }, - "unmapped_start_one": "Zde je", - "unmapped_start_many": "Zde jsou", - "unmapped_one": "{{post_nb}} příspěvek", - "unmapped_many": "{{post_nb}} příspěvky", - "unmapped_end": "zde nejsou zobrazeny, protože neobsahují informace o poloze.", - "more": "Více", - "keyword": "Klíčové slovo", - "start_date": "Datum začátku", - "start_date_placeholder": "25. ledna 2014", - "end_date": "Konečné datum", - "end_date_placeholder": "25. duben 2014", - "location": "Umístění", - "location_placeholder": "Zadat město nebo adresu", - "within_km": "V rámci", - "km": "Km", - "within_km_placeholder": "Vzdálenost", - "option_1": "do 1 km", - "option_2": "do 10 km", - "option_3": "do 50 km", - "option_4": "do 100 km", - "option_5": "do 500 km", - "clear_filters": "Vymazat filtry", - "apply_filters": "Použít", - "save_to_set": "Uložit do nastavení", - "search": "Hledat", - "date_range": "Časové období", - "who_its_visible_to": "Kdo je viditelný", - "status": "Stav", - "source": "Zdroj" - }, - "graph": { - "all_posts": "Nic; Zobrazit všechny příspěvky", - "all": "Pořád", - "compare": "Porovnat...", - "compare_all": "Porovnat...", - "compare_status": "Porovnat stav", - "compare_tags": "Porovnat kategorie", - "compare_form": "Porovnat průzkumy", - "compare_": "Porovnat", - "created": "Čas vytvoření", - "cumulative": "Zobrazit kumulativní součty", - "cumulative_post_count": "Celkový počet příspěvků", - "custom": "Vlastní rozsah období", - "custom_display": "{{start || 'Beginning'}} do {{end || 'Now'}}", - "group_by_placeholder": "Graf", - "new_post_count": "Nové příspěvky", - "none": "Nic", - "no_data": "Žádná aktivita k zobrazení", - "post_count": "Počet příspěvků", - "post_date": "Datum vytvoření příspěvku", - "select_one": "Vybrat jeden", - "week": "Tento týden", - "month": "Tento měsíc", - "updated": "Aktualizovaný čas" - }, - "message": { - "button": { - "dismiss": "Zamítnout", - "default": "Ok", - "cancel": "Zrušit" - } - }, - "modal": { - "button": { - "close": "Zavřít" - } - }, - "nav": { - "404": "Jejda", - "about": "Více o...", - "activity": "Aktivita", - "add_post": "Přidat příspěvek", - "account_settings": "Nastavení účtu", - "alerts": "Výstrahy", - "all": "Vše", - "author_tagline": "Od {{author}}", - "appearance": "Viditelnost", - "back": "Zpět", - "category": "Kategorie", - "categories": "Kategorie", - "clear": "Vymazat", - "collections": "Kolekce", - "comments": "Komentáře", - "data_sources": "Zdroje dat", - "data_import": "Import dat", - "deselect": "Odznačit", - "edit_profile": "Upravit profil", - "edit_post_type": "Upravit průzkum", - "everyone": "Kdokoliv", - "export": "Exportovat", - "forbidden": "Přístup odepřen", - "dashboard": "Nástěnka", - "delete": "Smazat", - "edit": "Upravit", - "filters": "Filtry", - "forgotyourpassword": "Zapomněli jste heslo?", - "resetpassword": "Obnovit heslo", - "resetmypassword": "Obnovit moje heslo", - "forms": "Formuláře", - "help": "Nápověda", - "home": "Úvodní strana", - "login": "Přihlásit se", - "logout": "Odhlásit se", - "registration": "Registrace", - "register": "Registrovat se", - "map_settings": "Nastavení mapy", - "more": "Více", - "notifications": "Oznamování", - "only_author": "Pouze autor", - "only_you": "Jen ty", - "people": "Lidé", - "permissions": "Oprávnění", - "plan_settings": "Plán", - "please_wait_loading": "Prosím čekejte. Načítá se...", - "plugins": "Pluginy", - "posts": "Příspěvky", - "posts_and_entities": "Průzkumy", - "profile": "Můj profil", - "role": "Role", - "roles": "Role", - "webhook": "Webhook", - "webhooks": "Webhooks", - "saved_searches": "Uložená hledání", - "search": "Hledat", - "select_all": "Vybrat vše", - "selected_items": "Vybrány {{selectedItems}}", - "settings": "Nastavení", - "survey_settings": "Nastavení průzkumu", - "tags": "Kategorie", - "today": "Dnes", - "general": "Obecné nastavení", - "type": "Typ", - "unknown": "Neznámý", - "unselect_all": "Zrušit výběr", - "user": "Uživatel", - "users": "Uživatelé", - "views": "Zobrazení", - "yesterday": "Včera" - }, - "views": { - "map": "Mapa", - "list": "Časová osa", - "activity": "Aktivita", - "data": "Data" - }, - "post": { - "see_more_plural": "Viz {{newPostsCount}} nové příspěvky", - "see_more_singular": "Viz {{newPostsCount}} nových příspěvků", - "add_to_form": "Přidat do {{form}}", - "posts": "Příspěvky", - "there_are_no_posts": "Nejsou žádné příspěvky", - "in_this_deployment": "v tomto nasazení.", - "posts_total": "{{posts}} z {{total_nb}} příspěvků", - "by": "od", - "task_completed": "Úloha dokončena", - "everyone": "Kdokoliv", - "just_you": "Jen vy", - "specific_roles": "Specifické role...", - "can_see_this": "může vidět", - "add_post_type": "Přidat {{form_name}}", - "edit_post_type": "Upravit {{form_name}}", - "messages": { - "by_sms": "Přes SMS", - "by_email": "Emailem", - "by_twitter": "Z Twitteru", - "reply": "Odpovědět na vlákno zprávy", - "send": "Odeslat novou zprávu", - "save": "Uložit", - "simple_send": "Odeslat", - "title": "Konverzace s autorem", - "associated_messages": "Zobrazit zprávy spojené s tímto příspěvkem", - "show_only_incoming": "Zobrazit pouze {{provider}}, které nebylo přiřazeno k průzkumu", - "imported_by": "{{messages}} importované tímto nasazením", - "Twitter": "Twitter", - "Email": "Email", - "SMS": "SMS" - }, - "post": "Příspěvek", - "message": "Zpráva", - "message_thread": "Vlákno zprávy", - "all_posts": "Všechny příspěvky", - "no_search_results": "Vaše hledání neodpovídá žádnému příspěvku", - "no_posts_yet": "Zatím žádné příspěvky!", - "add_first_post": "Přidat první příspěvek", - "create_post": "Vytvořit příspěvek", - "create": "Vytvořit", - "change": "Změnit", - "posted_by": "Odesláno od", - "draft": "Přezkoumáno", - "archived": "Archivováno", - "edited_by": "Editoval", - "export": "Exportovat", - "select_all": "Vybrat vše", - "unselect_all": "Odznačit vše", - "per_page": "{{count}} příspěvků", - "post_details": "Detaily příspěvků", - "steps": "Úlohy tohoto příspěvku", - "mark_complete": "Označit jako úplný", - "complete": "Hotovo", - "type_details": "{{type}} Podrobnosti", - "edit_post": "Upravit příspěvek", - "history": "Historie", - "hide_form": "Skrýt {{form}}", - "hide_unknown_form": "Skrýt neznámý", - "publish": "Publikovat do ...", - "publish_for_you": "Vy", - "publish_for_everyone": "Každý", - "published": "Zveřejněno", - "unpublished": "Nepublikovaný", - "published_by": "Zveřejněno od", - "can_see_this_post": "vidí tento příspěvek", - "location": "Umístění", - "categories": "Kategorie", - "status": "Stav", - "type": "Typ", - "view": "Zobrazit", - "step": "Úloha", - "update": "aktualizovat", - "options": "Možnosti", - "complete_draft": "Dokončeno (návrh)", - "complete_published": "Hotovo (publikováno)", - "structure": "Struktura", - "source": "od {{source}}", - "visible_to_public": "Tento příspěvek je veřejně přístupný", - "visible_to_you": "Tento příspěvek je viditelný pouze pro vás a administrátory", - "visible_to_roles": "Tento příspěvek je viditelný pro {{roles}}", - "show_only_form": "Zobrazit pouze {{form}}", - "show_only_unknown_form": "Zobrazit pouze neznámý", - "delete_post": "Smazat příspěvek", - "delete_this_post": "Odstranit tento příspěvek", - "delete_post_desc": "Pokud tento příspěvek odstraníte, všechny jeho komentáře budou také smazány. Postupujte opatrně.", - "post_actions": { - "edit": "Upravit", - "delete": "Smazat", - "export": "Exportovat", - "put_under_review": "Dát ke kontrole", - "archive": "Archív", - "publish": "Publikovat" - }, - "created_at": "Vytvořeno v", - "updated_at": "Poslední aktualizace v", - "author": "Autor", - "post_date": "Datum příspěvku", - "change_author": "Změnit autora", - "status_published": "Publikováno", - "status_review": "Ke kontrole", - "status_archived": "Archivováno", - "unknown_posts": "Neznámé příspěvky", - "my_posts": "Moje příspěvky", - "unstructured_posts": "Nestrukturované příspěvky", - "published_posts": "Publikované příspěvky", - "all_posts_desc": "Všechny příspěvky", - "published_posts_desc": "Všechny publikované příspěvky", - "unstructured_posts_desc": "Nestrukturované příspěvky", - "my_posts_desc": "Vaše příspěvky", - "unknown_posts_desc": "Příspěvky bez přiřazeného průzkumu", - "locking": { - "unlocked": "Příspěvky úspěšně odemčeny", - "unlock": "Odemknout", - "lock_broken_by_other": "Váš příspěvek byl odemčen. Vaše aktuální neuložené změny budou ztraceny.", - "locked_message": "Příspěvek je uzamčen, protože právě na něm pracuje {{user}}. Zkuste upravovat jiný příspěvek." - }, - "modify": { - "intro": "Vybrat průzkum", - "no_task_values": "V současné době nejsou k této úloze uloženy žádné hodnoty.", - "create_type": "Vytvořit {{type}}", - "edit_type": "Upravit {{type}}: {{title}}", - "add_a_post": "Přidat příspěvek", - "add_to_survey": "Přidat k tomuto průzkumu", - "edit_post": "Upravit {{title}}", - "change_type": "Změnit typ", - "incomplete_step": "Chcete-li zveřejnit příspěvek, musí být všechny požadované úlohy označeny jako dokončené. Požadovaná úloha {{stage}} dosud nebyla označena za dokončenou", - "save_post": "Uložit příspěvek", - "publish": "Publikovat do ...", - "publish_to": "Publikujte do {{role}}", - "published_to": "Publikováno k {{role}}", - "unpublish": "Vrátit do Konceptu", - "everyone": "Každý", - "back": "Zpět", - "contact_info": "Zadejte kontaktní údaje (volitelné)", - "author_realname": "Název", - "author_email": "Email", - "bulk_actions": "Hromadné akce", - "form": { - "categories": "Kategorie", - "description": "Popis", - "location": "Umístění", - "title": "Název", - "link": { - "name": "Název odkazu", - "url": "url odkaz", - "add_link": "Přidat odkaz" - } - } - }, - "preview": { - "private": "soukromý", - "public": "veřejný", - "read_more": " ... Číst více", - "tags": "Kategorie", - "post_actions": { - "post_actions": "Akce Příspěvku", - "select": "vybrat", - "edit": "upravit", - "set": "nastavit", - "publish": "publikovat", - "unpublish": "zrušit publikování", - "delete": "smazat" - } - }, - "valid": { - "no_changes": "Neprovedl jste žádné změny", - "invalid_state": "Tento příspěvek je v neplatném stavu. Budete muset dokončit všechny požadované úlohy, než budete moci tento příspěvek znovu publikovat. Můžete buď dokončit potřebné úlohy, nebo dát vašemu příspěvku jiný stav, například \"ke kontrole\".", - "validation_fail": "Požadovaná pole chybí, tato pole jsou označena * níže.", - "title": { - "required": "Je vyžadován název", - "minlength": "Název je příliš krátký", - "maxlength": "Nadpis je příliš dlouhý" - }, - "label": { - "required": "Je vyžadován název" - }, - "content": { - "required": "Popis nemůže být prázdný" - }, - "tags": { - "required": "Kategorie jsou povinné" - }, - "values": { - "required": "\"{{label}} je povinný", - "parse": "\"{{label}}\" nelze analyzovat", - "date": "\"{{label}}\" musí být datum", - "number": "\"{{label}}\" musí být číslo" - }, - "author_name": { - "maxlength": "Název je příliš dlouhý" - }, - "author_email": { - "email": "Neplatný e-mail" - } - }, - "media": { - "enter_a": "Zadat", - "youtube": "Youtube", - "current_url": "Aktuální obrázek", - "add_caption": "Přidat titulek", - "upload": "Nahrát", - "add_photo": "Přidat fotku", - "delete_photo": "Smazat fotku", - "replace_image": "Nahradit obrázek" - }, - "video": { - "enter_a": "Zadat", - "or": "nebo", - "vimeo": "Vimeo", - "video_url": "video URL" - }, - "unstructured": { - "add_survey": { - "info": "Tento příspěvek dosud nebyl přiřazen průzkumu v rámci nasazení. Je to proto, že byl odeslán přes {{source}}, což neposkytuje autorovi možnost přidat svůj příspěvek do konkrétního průzkumu.", - "choose": "Do kterého průzkumu byste tento příspěvek přidali?", - "title": "Přidat tento příspěvek do průzkumu", - "save_and_edit": "Přidat k průzkumu a Upravit" - }, - "survey_title": "Neznámý průzkum" - } - }, - "role": { - "add_role": "Přidat roli", - "edit_role": "Upravit roli", - "name": "Název", - "description": "Popis", - "save": "Uložit Roli", - "save_add_another": "Uložit a přidat další", - "permissions": "Oprávnění", - "delete": "Smazat", - "delete_role": "Smazat tuto roli", - "delete_role_desc": "Pokud tuto roli odstraníte, budou všem uživatelům k ní přiřazeným, přiřazena výchozí oprávnění. Postupovat opatrně.", - "everyone": "Kdokoliv", - "just_you": "Jen vy" - }, - "webhook": { - "add_webhook": "Přidat roli", - "edit_webhook": "Upravit Roli", - "uuid": "Webhook UUID", - "name": "Název", - "shared_secret": "Sdílené tajemství", - "url": "API URL", - "entity_type": "Typ entity", - "event_type": "Typ události", - "save": "Uložit Roli", - "save_add_another": "Uložit a přidat další", - "delete": "Smazat", - "delete_webhook": "Vymazat tento webhook", - "delete_webhook_desc": "Pokud odstraníte tento webhook, ztratí se všechny přidružené události. Postupovat opatrně." - }, - "saved_search": { - "visible_to_public": "Toto uložené hledání je veřejně přístupné", - "visible_to_you": "Toto uložené vyhledávání je viditelné jen pro vás a administrátory", - "visible_to_roles": "Toto uložené hledání je viditelné pro {{roles}}", - "featured": "Doporučené", - "featured_tooltip": "Vybrané vyhledávací dotazy se zobrazí všem uživatelům v nabídce \"Uložená hledání\"" - }, - "collection": { - "visible_to_public": "Tato kolekce je veřejně přístupná", - "visible_to_you": "Tato kolekce je viditelná jen vám a administrátorům", - "visible_to_roles": "Tato kolekce je viditelná pro {{roles}}" - }, - "set": { - "by": "od", - "clear_search": "Vymazat hledání", - "create_collection": "Vytvořit kolekci", - "create_new": "Vytvořit nový", - "create_savedsearch": "Vytvořit uložené hledání", - "description": "Popis", - "delete_collection": "Smazat tuto kolekci", - "delete_savedsearch": "Smazat uložené hledání", - "default_viewing_mode": "Výchozí režim prohlížení", - "edit_collection_settings": "Upravit kolekci", - "edit_search_settings": "Upravit uložené hledání", - "featured": "Doporučený", - "featured_collection": "Tato kolekce je představována", - "featured_collection_tooltip": "Vybrané kolekce se zobrazují všem uživatelům v
nabídce \"Kolekce\"", - "find_a_collection": "Hledat kolekci...", - "find_a_saved_search": "Najít uložené hledání...", - "delete_saved_searches": "Odstranit uložená vyhledávání", - "add_to_collection": "Přidat do kolekce", - "empty_list_collections": "Žádné kolekce", - "empty_list_savedsearches": "Žádné uložené hledání", - "collection_name": "Název kolekce", - "name_your_collection": "Název vaší sbírky ...", - "name_savedsearch": "Název uloženého vyhledávání", - "visible_to_collection": "Kdo vidí tuto kolekci", - "visible_to_savedsearch": "Kdo vidí toto uložené vyhledávání", - "reset_savedsearch": "Resetovat hledání", - "save_set": "Uložit kolekci", - "save_savedsearch": "Uložit hledání", - "update_savedsearch": "Aktualizovat hledání", - "edit_savedsearch": "Upravit hledání", - "set_settings": "Nastavení kolekce", - "add_notification": "Přidat oznámení", - "remove": "odstranit" - }, - "category": { - "add_tag": "Přidat kategorii", - "save_add_another": "Uložit a přidat další", - "delete_category": "Smazat kategorii", - "delete_this_category": "Smazat tuto kategorii", - "delete_category_desc": "Pokud tuto kategorii odstraníte, nebude již spojena s žádnými příspěvky. Postupovat opatrně.", - "show_categories": "Zobrazit dostupné kategorie", - "child_permissions": "Oprávnění pro tuto kategorii jsou spravována nadřazenou kategorií.", - "select_all": "Vybrat vše", - "choose_roles": "Vybrat role", - "create_tag": "Vytvořit kategorii", - "saved_tag": "Kategorie uložena.", - "deleted_tags": "Kategorie smazány.", - "manage_tags": "Spravovat kategorie", - "edit_tag": "Upravit kategorii", - "editor": { - "name": "Název kategorie", - "slug": "Odkaz na kategorii", - "slug_help": "Pokud bude ponecháno prázdné, bude automaticky generováno z názvu kategorie.", - "description": "Popis", - "type": "Typ", - "color": "Barva ikony", - "icon": "Název ikony", - "roles_help": "Tuto kategorii budou moci zobrazit pouze vybrané role." - }, - "types": { - "category": "Kategorie", - "status": "Stav" - }, - "delete": "Smazat" - }, - "tool": { - "manage_forms": "Správa formulářů", - "manage_tags": "Správa kategorií", - "manage_users": "Správa uživatelů", - "manage_roles": "Spravovat role", - "manage_webhooks": "Spravovat Webhooky", - "manage_views": "Spravovat pohledy", - "manage_map_settings": "Správa nastavení mapy", - "manage_appearance_settings": "Správa nastavení vzhledu", - "manage_plugins": "Spravovat pluginy", - "appearance_settings": "Nastavení viditelnosti", - "map_settings": "Nastavení mapy", - "site_settings": "Nastavení webu", - "settings": "Nastavení", - "tools": "Nástroje " - }, - "map_settings": { - "admin_map_settings": "Nastavení mapy", - "saved_map_settings": "Nastavení mapy uloženo." - }, - "settings": { - "api_key": "Klíč API", - "api_key_desc": "Klíč rozhraní API je jedinečný pro nasazení, lze jej použít k tomu, aby umožnil systémům třetích stran komunikovat s nasazením služby Ushahidi.", - "appearance": "Nastavení vzhledu", - "continue": "Pokračovat", - "create": "Vytvořit nový průzkum", - "create_open_or_targeted": "Vytvořte otevřený nebo cílený průzkum, abyste získali informace o Ushahidi.", - "current_header": "Současný obrázek na pozadí", - "customize_your_new_deployment": "Přizpůsobit nové nasazení", - "embed": "Vložit", - "embed_info": "Chcete-li svou mapu vložit na jiný web, použijte níže uvedený kód.", - "settings_list": { - "general": "Obecný", - "general_desc": "Změnit název, popis, logo a další informace nasazení.", - "surveys": "Průzkumy", - "surveys_desc": "Vytvořit a nakonfigurovat průzkumy, které Vaše Nasazení shromáždí.", - "data_sources": "Zdroje dat", - "data_sources_desc": "Konfigurovat e-maily, SMS a sociální média, které pomáhají vašemu nasazení shromáždit data průzkumu.", - "import": "Import", - "import_desc": "Nahrajte data průzkumu do nasazení ze souboru CSV.", - "export": "Exportovat data", - "export_desc": "Exportujte všechna data jako soubor CSV nebo zvolte vlastní pole k exportu", - "users": "Uživatelé", - "users_desc": "Vytvořte a spravujte lidi, kteří přispívají k nasazení.", - "roles": "Role", - "roles_desc": "Vytvořte a spravujte typ oprávnění, která mají uživatelé ve vašem Nasazení", - "categories": "Kategorie", - "categories_desc": "Vytvořte a spravujte kategorie, do kterých mohou lidé přidávat příspěvky pro lepší organizaci.", - "webhooks": "Webhooks", - "webhooks_desc": "Vytvořit webhooks které odesílají data platformy Ushahidi externím aplikacím při spuštění určitých událostí.", - "plans": "Plány", - "plan_desc": "Současný plán nasazení je {{current_plan}}." - }, - "webhooks": { - "use_webhook_for": "Použít webhook pro", - "enable_source_destination": "Povolit zdrojová a cílová pole", - "enable_source_destination_desc": "Tento webhook se použije pouze pro průzkumy vybraného typu.", - "destination": "Destinace" - }, - "data_sources": { - "associate_with_form": "Import do průzkumu", - "associate_with_form_desc": "Všechna příchozí data od {{provider}} budou použita k vytvoření odpovědí na vybraný průzkum", - "data_sources": "Zdroje dat", - "enable_provider_message": "Přijmout příspěvky průzkumu z tohoto zdroje", - "hint_turn_on_off": "Můžete konfigurovat možnosti datových zdrojů a zapnout a vypnout zdroje.", - "hint_plugin_needs_configuring": "Zdroj dat je třeba nakonfigurovat dříve, než jej můžete povolit.", - "provider_options": "Možnosti", - "configure": "Nastavení", - "options": "Možnosti", - "saving_changes": "Ukládání", - "unavailable": "Zdroj dat {{value}} není k dispozici. Upgradujte svůj plán a získejte ho!", - "email": { - "email_desc": "Toto bude použito k odeslání odchozích e-mailů", - "incoming_server_type": "Typ příchozího serveru ", - "incoming_server_type_pop": "POP", - "incoming_server_type_imap": "IMAP", - "incoming_server": "Příchozí server", - "incoming_server_desc": "Příklady: mail.yourwebsite.com, imap.gmail.com, pop.gmail.com", - "incoming_server_port": "Příchozí serverový port", - "incoming_server_port_desc": "Společné porty: 110 (POP3), 143 (IMAP), 995 (POP3 s protokolem SSL), 993 (protokol IMAP s protokolem SSL)", - "incoming_server_security": "Zabezpečení příchozího serveru", - "server_security_none": "Žádný", - "server_security_SSL": "SSL", - "server_security_TLS": "TLS", - "incoming_username": "Příchozí uživatelské jméno", - "username_desc": "Uživatelské jméno e-mailového účtu", - "incoming_password": "Příchozí heslo", - "password_desc": "Heslo e-mailového účtu", - "outgoing_server_type": "Typ odchozího serveru", - "outgoing_server_type_SMTP": "SMTP", - "outgoing_server_type_sendmail": "sendmail", - "outgoing_server_type_native": "Domorodec", - "outgoing_server": "Odchozí server", - "outgoing_server_desc": "Příklady: smtp.yourhost.com, smtp.gmail.com", - "outgoing_server_port": "Port odchozího serveru", - "outgoing_server_port_desc": "Společné porty: 25 (výchozí SMTP), 465 (SMTP s protokolem SSL)", - "outgoing_server_security": "zabezpečení Odchozího serveru", - "outgoing_username": "Odchozí uživatelské jméno", - "outgoing_password": "Odchozí heslo", - "email_address": "E-mailová adresa", - "email_sender_name": "Jméno odesílatele e-mailu", - "email_sender_name_desc": "Zobrazí se pole \"od:\" u odchozích e-mailů" - }, - "sms": { - "secret": "Tajemství", - "api_key_desc": "API klíč", - "frontline_sms": { - "api_key": "Klíč", - "secret_desc": "Nastavte tajemství tak, aby pouze autorizované účty FrontlineCloud mohly odesílat / přijímat zprávy. Stejné tajemství musíte konfigurovat v aktivitě FrontlineCloud." - }, - "nexmo": { - "from": "Od", - "from_desc": "Od čísla", - "secret_desc": "Hodnota tajemství", - "api_key": "Klíč API", - "api_secret": "API secret", - "api_secret_desc": "API tajemství" - }, - "smssync": { - "intro_step_1": "Krok 1: Stáhněte si aplikaci \"SMSSync\" z Android Marketu.", - "intro_step_1_desc": "Proveďte tento kód QR pomocí telefonu a stáhněte aplikaci z Android Marketu", - "intro_step_2": "Krok 2: Nastavení aplikace Android", - "intro_step_2_desc": "Zapněte SMSSync a použijte následující odkaz jako URL synchronizace:", - "secret_desc": "Nastavit tajemství, aby mohly odesílat / přijímat zprávy pouze autorizovaná zařízení SMSSync. Je třeba nakonfigurovat stejné tajemství v aplikaci SMSSync." - }, - "twilio": { - "phone_nb": "Telefonní číslo", - "phone_nb_desc": "Z telefonního čísla. Telefonní číslo Twilio je povoleno pro typ zprávy, kterou chcete odeslat.", - "account_sid": "SID účtu", - "account_sid_desc": "Jedinečné id účtu, který odeslal tuto zprávu.", - "auth_token": "Auth Token", - "sms_auto_response": "automatická odpověď SMS" - } - }, - "twitter": { - "intro_step_1": "Krok 1: Vytvořte novou aplikaci Twitter", - "intro_step_1_desc": "Vytvořit novou aplikaci twitter", - "intro_step_2": "Krok 2: Vytvořte spotřebitelský klíč a tajemství", - "intro_step_2_desc": "Jakmile vytvoříte aplikaci, klikněte na \"Klíče a přístupové tokeny\". Poté klikněte na \"Generovat spotřebitelský klíč a tajemství\". Zkopírujte klíče, tokeny a tajemství do polí níže.", - "consumer_key": "Spotřebitelský klíč", - "consumer_key_desc": "Přidejte uživatelský klíč ze své aplikace Twitter.", - "consumer_secret": "Uživatelské tajemství", - "consumer_secret_desc": "Přidat uživatelské tajemství ze své aplikace Twitter.", - "access_token": "Přístupový token", - "access_token_desc": "Přidat přístupový token, který jste generovali pro svou aplikaci Twitter.", - "access_token_secret": "Access Token Secret", - "access_token_secret_desc": "Přidat přístupové tajemství, které jste vygenerovali pro aplikaci Twitter.", - "search_terms": "Vyhledávací termíny Twitteru", - "search_terms_desc": "Přidat hledané výrazy oddělené čárkami" - } - }, - "roles": { - "member": "Člen", - "admin": "Správce", - "manage_users": "Spravovat uživatele", - "manage_posts": "Správa příspěvků", - "manage_settings": "Správa nastavení", - "bulk_data_import": "Import a export hromadných dat", - "edit_own_posts": "Upravit si vlastní příspěvky", - "registred_member": "Registrovaný člen", - "administrator": "Správce", - "roles_description": "Tyto možnosti nastavují, jaké může tento typ role provádět změny. Navštivte naše příručky podpory, kde najdete další informace." - }, - "deployment_delete_this": "Smazat toto Nasazení", - "deployment_delete": "Smazat nasazení", - "deployment_delete_info": "Pokud toto nasazení smažete, všechny jeho data budou také smazány. Postupujte opatrně.", - "deployment_name": "Název nasazení", - "deployment_logo": "Logo nasazení", - "delete_logo": "Odstranit logo", - "map_default_baselayer": "Výchozí základní vrstva", - "map_clustering": "Kombinovat příspěvky z okolí", - "map_default_latitude": "Výchozí zeměpisná šířka", - "map_default_longitude": "Výchozí zeměpisná délka", - "map_default_zoom_level": "Výchozí úroveň zvětšení", - "map_default_location": "Výchozí umístění", - "new_survey": "Nový průzkum", - "send_targeted": "Pošlete cílený průzkum pomocí SMS", - "send_crowdsourced": "Jít zpět ke skupinovému průzkumu", - "site": "Nastavení webu", - "site_email": "Kontaktní e-mailová adresa", - "site_email_note": "Buďte opatrní, protože to bude vidět pro každého uživatele na vašem webu.", - "site_description": "Popište svůj web", - "site_description_placeholder": "Volitelný popis v jedné větě", - "site_timezone": "Časové pásmo stránek", - "site_language": "Jazyk stránek", - "site_private": "Udělat toto nasazení soukromé", - "select_image": "Vybrat obrázek", - "saved_settings": "Nastavení Nasazení byly uloženy!", - "saved_map_settings": "Nastavení map uloženo!", - "features": { - "features": "Funkce", - "please_select_features": "Vyberte prosím funkce, které chcete povolit." - }, - "generic_field_error": "Neplatný záznam, zkuste to znovu.", - "skip": "Přeskočit tuto úlohu", - "add_first_post": "Přidat svůj první příspěvek", - "add_first_post_subtitle": "Nasazení není nic, dokud nebude mít nějaký obsah.", - "invite_people": "Nebo pozvat lidi, aby vám pomohli vytvářet příspěvky.", - "add_new_users": "Přidat nové uživatele", - "valid": { - "name": { - "required": "Název webu je povinný" - } - } - }, - "data_import": { - "survey_field": "Pole průzkumu", - "csv_column": "sloupec CSV", - "choose_which_column": "Zvolte, který sloupec CSV by měl být přiřazen každému poli průzkumu", - "each_survey_field": "Každé z polí průzkumu je uvedeno níže. Vyberte sloupec ze souboru CSV, který chcete použít k vyplnění každého z těchto polí.", - "status_explanation": "Ushahidi rozpozná jeden ze tří stavů: publikováno, přezkoumáno a archivováno. Ujistěte se, že každá položka ve vybraném sloupci má jednu z těchto tří hodnot.", - "defined_column": "Definováno sloupcem ve vašem souboru CSV ...", - "imported_posts_status": "Importované příspěvky by měly mít svůj status ...", - "marked_as": "Označen jako ...", - "see_imported_posts": "Zobrazit importované příspěvky", - "import_another_csv": "Import jiného souboru CSV", - "import_complete": "Váš import je dokončen", - "complete_info": "Údaje z vašeho tabulkového formátu CSV, {{filename}}, byly úspěšně importovány do vašeho průzkumu {{form_name}}.", - "import_another": "Import jiného souboru CSV", - "nearly_complete": "Váš import je téměř kompletní", - "finish_info": "Data z vaší tabulky CSV jsou stále zpracovávána. Můžete opustit tuto stránku nebo počkat, až bude proces dokončen. V každém případě vás budeme informovat, až budou vaše data připravena.", - "next": "Další", - "configure_imported_posts": "Nakonfigurujte importované příspěvky", - "configure_explanation": "Prostřednictvím tohoto rozhraní můžete nastavit hodnoty pro pole zjišťování, které nebyly mapovány na položky v CSV. Tyto hodnoty budou stejné pro všechny importované příspěvky.", - "import": "Import", - "import_explanation_csv": "Importujte data z tabulky CSV do nasazení jako příspěvky patřící do konkrétního průzkumu", - "import_explanation_file_size": "Velikost jednoho souboru je omezena na 10 MB", - "import_explanation_format_location_1": "Geografické polohy by měly být zahrnuty jako samostatné sloupce zeměpisné šířky a délky ve vašem souboru CSV", - "import_explanation_required_fields": "Všechna požadovaná pole průzkumu musí mít přidruženou hodnotu nastavenou v CSV. Pokud je například požadován název pole, musí být pole mapováno do sloupce CSV, kde mají všechny řádky daného sloupce nastavenou hodnotu", - "configure_posts": "Konfigurovat příspěvky", - "configure_all_imported_posts": "Konfigurujte všechny importované příspěvky", - "csv": "CSV", - "file_csv": "CSV soubor", - "import_csv": "Importovat CSV", - "import_to": "Importovat do", - "choose_csv_file": "Vybrat soubor CSV", - "organize_data": "Uspořádat data", - "organize_your_imported_data": "Přiřazení CSV sloupců k polím příspěvků", - "assign_csv_message": "Přiřazení CSV sloupců k polím příspěvků", - "csv_instructions": "Každá jména sloupců z vašeho souboru CSV jsou uvedena níže. Zvolte pole {{form_name}}, do kterého chcete importovat každý sloupec.", - "csv_instructions_required_fields": "Pole označená [*] jsou povinná a musí mít přiřazenou hodnotu.", - "csv_column_name": "Název sloupce CSV", - "post_type_title": "{{form_name}} název pole", - "leave_empty": "Nechat prázdné", - "cancel_import": "Zrušit import", - "finish_import": "Dokončit import", - "which_survey": "který průzkum?" - }, - "data_export": { - "title": "Exportovat data", - "description": "Exportujte všechna data jako CSV nebo vyberte konkrétní políčka průzkumu, která chcete exportovat.", - "all": "Exportovat všechna data", - "select_fields": "Vybrat pole", - "select_fields_title": "Vybrat pole pro export ...", - "select_fields_desc": "Pokud nechcete exportovat všechna data najednou, můžete vybrat jednotlivé pole z každého průzkumu pro export.", - "export_selected": "Export vybraných polí", - "cancel": "Zrušit", - "export_progress": "Export probíhá ...", - "no_fields": "Jejda ... musíte vybrat nejprve pole pro export.", - "expires": "Platnost vyprší: {{expires}}", - "job": "Export CSV {{jobId}}", - "created": "Vytvořeno: {{created}}", - "success": "Stav: Dokončeno", - "pending": "Stav: Čekající", - "failed": "Stav: Selhalo", - "queued": "Stav: Probíhající", - "export": "Export", - "export_history": "Exportovat historii" - }, - "user": { - "role_display": "Role: {{role}}", - "contact": "{{type}}: {{contact}}", - "add_user": "Přidat uživatele", - "edit_user": "Upravit uživatele", - "update_password": "Aktualizovat heslo", - "change_role": "Změnit Roli", - "save": "Uložit uživatele", - "save_add_another": "Uložit a přidat další", - "show_all_roles": "Zobrazit všechny role", - "cannot_delete_yourself": "Nemůžete smazat vlastní uživatele", - "cannot_change_your_own_role": "Nemůžete změnit svou vlastní roli", - "confirm_password": "Potvrdit heslo", - "delete_user": "Smazat uživatele", - "delete_this_user": "Smazat tohoto uživatele", - "delete_user_desc": "Pokud tohoto uživatele odstraníte, příspěvky vytvořené tímto uživatelem již nebudou mít informace o autorovi. To nelze vrátit zpět. Postupujte opatrně.", - "edit_profile": "Upravit profil", - "save_profile": "Uložit profil", - "cancel": "Zrušit", - "email": "Emailová adresa", - "failed_attempts": "Neúspěšné pokusy:", - "full_name": "Zobrazit název", - "never": "Nikdy", - "no_full_name": "Žádný zobrazovaný název", - "number_of_users_shown": "Počet uživatelů zobrazen", - "per_page": "{{count}} uživatelů", - "password": "Heslo", - "new_password": "Nové heslo", - "register": "Registrace", - "role": "Role:", - "roles": "Role", - "saved_user": "Uživatel uložen", - "deleted_user": "Uživatel smazán", - "search_and_filter": "Hledání a filtrování uživatelů", - "passwordreset_instructions": "Pro obnovení hesla zadejte svůj e-mail", - "passwordreset_confirm_instructions": "Pokud váš e-mail existuje v naší databázi, obdržíte brzy e-mail s obnovením hesla.", - "token": "Token pro resetování hesla", - "valid": { - "full_name": { - "required": "Zobrazovaný název je povinný", - "maxlength": "Zobrazovaný název je příliš dlouhý" - }, - "email": { - "required": "Je vyžadována e-mailová adresa", - "email": "Tato e-mailová adresa je neplatná", - "maxlength": "Tato e-mailová adresa je příliš dlouhá" - }, - "password": { - "required": "Heslo je vyžadováno", - "minlength": "Toto heslo je příliš krátké", - "maxlength": "Toto heslo je příliš dlouhé" - } - } - }, - "user_profile": { - "title": "nastavení účtu", - "update_password": "Aktualizovat heslo", - "update_success": "Váš profil byl úspěšně aktualizován. Možná budete muset odhlásit a vrátit se dříve, než se projeví všechny vaše změny.", - "button": { - "save": "Uložit a zavřít", - "cancel": "Zrušit" - }, - "nav": { - "general": "Obecný", - "notifications": "Oznamování" - } - }, - "user_create": { - "full_name": "Zobrazit název", - "email": "Emailová adresa", - "role": "Role" - }, - "notify": { - "api_key": { - "change_question": "Opravdu chcete změnit klíč API?" - }, - "contact": { - "save_success": "Kontakt uložen", - "delete_confirm": "Chcete svůj účet odstranit?", - "error_message": "Při pokusu o odstranění vašeho účtu došlo k chybě", - "destroy_success": "Účet byl úspěšně odstraněn" - }, - "default": { - "proceed_warning": "Tuto akci nelze vrátit zpět. Postupujte prosím opatrně.", - "save_success": "Uložený zdroj", - "save_error": "Nelze uložit zdroj, zkuste to znovu", - "destroy_confirm": "Opravdu chcete tento zdroj smazat?", - "destroy_success": "Odstraněný zdroj", - "destroy_error": "Nelze smazat zdroj, zkuste to znovu", - "destroy_cancelled": "Smazání zrušeno", - "bulk_destroy_confirm": "Opravdu chcete smazat {{count}} zdroje?", - "bulk_destroy_success": "Odstraněný zdroj", - "bulk_destroy_error": "Nelze smazat zdroj, zkuste to znovu", - "bulk_destroy_cancelled": "Mazání zrušeno" - }, - "data_import": { - "see_imported_posts": "Zobrazit importované příspěvky", - "file_missing": "Zvolte soubor CSV, který chcete nahrát.", - "form_missing": "Vyberte prosím průzkum.", - "csv_upload": "Soubor {{name}} úspěšně nahrán", - "csv_import_processed_errors": "Import CSV je dokončen. {{processed}} importovaných záznamů, záznamy {{errors}} se nezdařily.", - "csv_import_success_info": "Údaje z vašeho tabulkového formátu CSV, {{filename}}, byly úspěšně importovány do vašeho průzkumu {{form_name}}.", - "duplicate_fields": "Sloupce musí být mapovány do jedinečných polí průzkumu. Následující sloupce mají více než 1 mapování: {{duplicates}}", - "required_fields": "Požadovaná pole musí být nastavena na hodnotu. Následující pole nebyla nastavena: {{required}}", - "no_mappings": "Nebylo přiděleno žádné pole k mapování - pro pokračování musí být mapováno alespoň jedno pole", - "csv_import_cancel": "Import CSV byl zrušen", - "csv_import_cancel_confirm": "Opravdu chcete import zrušit?" - }, - "general_settings": { - "save_success": "Obecná nastavení uložena" - }, - "map_settings": { - "save_success": "Nastavení mapy uloženo" - }, - "generic": { - "okay": "OK", - "alerts": "Výstrahy", - "confirm": "Potvrzení", - "save": "Uložit" - }, - "login": { - "failed": "Přihlášení se nezdařilo, zkontrolujte e-mail a heslo." - }, - "register": { - "failed": "Během registrace došlo k chybám. Zkontrolujte váš zápis a zkuste to znovu.", - "success": "Registrace dokončena! Nyní se můžete přihlásit .." - }, - "post": { - "delete_image_confirm": "Opravdu chcete tento obrázek odstranit?", - "save_success": "Příspěvek {{name}} uložen", - "save_success_review": "Příspěvek {{name}} byl uložen. Váš příspěvek bude před publikováním přezkoumán moderátorem.", - "save_error": "Nepodařilo se uložit příspěvek, zkuste to znovu", - "publish_success": "Příspěvek byl zveřejněn pro {{role}}", - "set_draft": "Příspěvek je nyní viditelný jen pro vás", - "publish_error": "Nelze publikovat příspěvek, zkuste to znovu", - "unpublish_success": "Příspěvek nebyl publikován", - "unpublish_error": "Nejde zrušit publikování příspěvku, zkuste to znovu", - "yes_confirm_delete": "Ano, tento příspěvek smazat", - "confirm_delete": "Potvrdit smazání", - "destroy_title": "Smazat příspěvek", - "delete_question": "Opravdu chcete smazat příspěvek {{post}}?", - "destroy_success": "Příspěvek smazán", - "destroy_success_bulk": "Příspěvky smazány", - "destroy_confirm": "Opravdu chcete tento příspěvek smazat?", - "destroy_error": "Nelze smazat příspěvek, zkuste to znovu", - "bulk_destroy_confirm": "Opravdu chcete smazat {{count}} příspěvky?", - "stage_save_success": "Aktualizováno {{stage}}", - "export": "Tím se exportují filtrované příspěvky. Jste si jistý, že chcete pokračovat?", - "update_status_success_bulk": "Stav byl aktualizován pro {{count}} příspěvků", - "leave_without_save": "Chcete tento příspěvek opustit bez uložení?", - "leave_confirm_message": "Pokud budete pokračovat, budou všechny vaše změny ztraceny", - "leave_confirm": "Pokračovat bez uložení" - }, - "category": { - "save_success": "Uložená kategorie {{name}}", - "destroy_confirm": "Opravdu chcete tuto kategorii smazat?", - "destroy_confirm_desc": "Smazáním této kategorie ji odstraníte ze všech stávajících příspěvků. Tuto akci nelze vrátit zpět.", - "destroy_success": "Kategorie smazána", - "destroy_error": "Kategorii nelze smazat, zkuste to znovu", - "bulk_destroy_confirm": "Opravdu chcete smazat {{count}} kategorií?", - "bulk_destroy_confirm_desc": "Smazáním těchto kategorií je odstraníte ze všech existujících příspěvků. Tuto akci nelze vrátit zpět.", - "bulk_destroy_success": "{{count}} kategorií smazáno" - }, - "role": { - "delete_question": "Opravdu chcete smazat roli {{role}}?", - "destroy_success": "Role {{role}} byla smazána.", - "save_success": "Role {{role}} uložena.", - "last_admin": "Nemůžete smazat pouze roli administrátora" - }, - "webhook": { - "delete_question": "Opravdu chcete smazat webhook {{webhook}}?", - "destroy_success": "Webhook {{webhook}} smazán.", - "save_success": "Webhook {{webhook}} uložen." - }, - "datasource": { - "save_success": "Uložený zdroj dat {{name}}" - }, - "user": { - "save_success": "Uživatel {{name}} byl uložen", - "edit_success": "Uživatel {{name}} byl aktualizován", - "destroy_confirm": "Opravdu chcete smazat tohoto uživatele?", - "destroy_success": "Uživatel smazán", - "destroy_error": "Uživatel nelze smazat, zkuste to znovu", - "bulk_destroy_confirm": "Opravdu chcete smazat uživatele {{count}}?", - "bulk_destroy_success": "Uživatelé smazáni", - "bulk_role_change_confirm": "Opravdu chcete změnit roli {{count}} uživatelů na {{role}}?", - "bulk_role_change_success": "Uživatelské role byly změněny na {{role_name}}" - }, - "video": { - "incorrect_url": "Zadaná adresa URL {{url}} neodpovídá formátu URL ve formátu Youtube nebo Vimeo." - }, - "form": { - "add_to_survey": "Přidat k průzkumu", - "save_success": "Průzkum {{name}} uložen", - "save_stage_success": "Úloha průzkumu {{name}} uložena", - "save_attribute_success": "Pole {{name}} přidáno", - "edit_form_success": "Průzkum {{name}} byl aktualizován", - "edit_stage_success": "Průzkum {{name}} byl aktualizován", - "delete_form_confirm": "Opravdu chcete tento průzkum smazat?", - "delete_form_confirm_desc": "Tuto akci nelze vrátit zpět. Smazáním tohoto průzkumu odstraníte všechna jeho data včetně příspěvků.", - "destroy_form_success": "Průzkum {{name}} byl smazán", - "delete_stage_confirm": "Opravdu chcete tuto úlohu smazat?", - "delete_stage_confirm_desc": "Tuto akci nelze vrátit zpět. Smazáním této úlohy se odstraní všechna pole a všechna data v nich.", - "destroy_stage_success": "Úloha průzkumu {{name}} byla smazána", - "delete_attribute_confirm": "Opravdu chcete toto pole smazat?", - "delete_attribute_confirm_desc": "Tuto akci nelze vrátit zpět. Vymazání tohoto pole odstraní jeho data ze všech existujících příspěvků.", - "destroy_attribute_success": "Pole {{name}} smazáno", - "validation": { - "name": { - "required": "Název průzkumu je vyžadován", - "minlength": "Název je příliš krátký", - "maxlength": "Název je příliš dlouhý" - }, - "description": { - "required": "Popis nemůže být prázdný" - } - } - }, - "collection": { - "delete_collection_confirm": "Opravdu chcete tuto kolekci smazat?", - "created_collection": "Kolekce {{collection}} byla úspěšně vytvořena", - "updated_collection": "Kolekce {{collection}} uložena", - "add_to_collection": "Příspěvek byl přidán do {{collection}}", - "removed_from_collection": "Příspěvek byl odstraněn z {{collection}}", - "bulk_add_to_collection": "{{count}} příspěvky byly přidány do {{collection}}" - }, - "savedsearch": { - "delete_savedsearch_success": "Uložené vyhledávání bylo úspěšně smazáno.", - "delete_savedsearch_plural_success": "Uložená hledání úspěšně smazána.", - "delete_savedsearch_confirm": "Opravdu chcete toto uložené vyhledávání smazat?", - "savedsearch_updated": "{{savesearch}} byl aktualizován", - "savedsearch_saved": "{{savesearch}} byl uložen" - }, - "passwordreset": { - "failed": "Reset hesla se nezdařil", - "success": "Vaše heslo bylo resetováno" - }, - "notification": { - "add": "Nyní budete upozorňováni na přidání nových příspěvků do {{set}}", - "delete_confirm": "Opravdu chcete odstranit toto oznámení?", - "destroy_success": "Už nebudete přijímat oznámení o {{name}}." - }, - "message": { - "sent_to": "Zpráva byla odeslána {{contact}}" - }, - "export": { - "in_progress": "Připravujeme váš soubor CSV. To může chvíli trvat. Tuto stránku můžete opustit, pokud chcete. Budeme vás informovat, až skončíme.", - "complete": "Export proveden. Váš soubor CSV by se měl zobrazit ve stahování.", - "complete_data_found_message": "Data z vašeho exportu lze nalézt ve stahování vašeho prohlížeče", - "confirmation": "Mám to", - "cancel_export": "Zrušit export", - "canceled_job": "Exportní úloha je zrušena" - } - }, - "empty": { - "default": "Nenalezeny žádné záznamy.", - "post": "Nenalezeny žádné příspěvky.", - "user": "Nenalezeni žádní uživatelé.", - "category": "Nebyly nalezeny žádné kategorie.", - "role": "Nenalezeny žádné role.", - "webhook": "Nenalezeny žádné webhooks.", - "permission": "Nenalezeny oprávnění", - "form": "Nenalezen žádný formulář." - }, - "location": { - "search": "Hledat", - "use_current_location": "Použít své aktuální umístění", - "click_map": "Můžete vyhledat nebo kliknout na oblast mapy, kam chcete značku umístit.", - "placeholder": "Vyhledat adresy, názvy míst nebo souřadnice ...", - "search_results": "Výsledky hledání", - "error": "Nenašli jsme místo, které odpovídá vašemu hledání", - "my_location_error": "Litujeme, ale nemůžeme najít vaši polohu", - "update_map": "Aktualizovat mapu", - "no_matching_locations": "Žádné odpovídající umístění" - }, - "notification": { - "title": "Oznamování", - "contacts_heading": "Jak dostávat oznámení", - "notifications_heading": "O čem se dozvíte", - "error_message": "Oznámení nelze v tuto chvíli smazat", - "send_to_address": "Odeslání upozornění na tuto adresu", - "button": { - "delete": "Smazat oznámení" - } - }, - "contact": { - "edit": "Upravit", - "save_changes": "Uložit změny", - "saving_changes": "Uložení změn", - "cancel_edit": "Zrušit", - "add_phone_number": "Přidat telefon", - "add_email_address": "Přidat e-mailovou adresu", - "edit_phone_number": "Upravit své telefonní číslo", - "edit_email_address": "Upravit svou e-mailovou adresu", - "error_message": "Kontakt nelze v tuto chvíli uložit", - "type": { - "phone": "Telefon", - "email": "Email" - }, - "button": { - "add": "Přidat účet", - "delete": "Odstranit účet" - }, - "valid": { - "email": { - "required": "Pro příjem oznámení je třeba zadat e-mailovou adresu", - "email": "Tato e-mailová adresa je neplatná", - "maxlength": "Tato e-mailová adresa je příliš dlouhá" - }, - "phone": { - "required": "Telefonní číslo je vyžadováno k přijímání oznámení", - "pattern": "Platné telefonní číslo je vyžadováno", - "minlength": "Toto číslo je příliš krátké", - "maxlength": "Toto číslo je příliš dlouhé" - } - } - }, - "terms_of_service": { - "title": "Smluvní podmínky služby Ushahidi", - "terms_of_service": "Aktualizovali jsme naše Smluvní podmínky a Zásady ochrany osobních údajů. Přečtěte si tyto dokumenty pečlivě a přijměte podmínky, abyste mohli nadále využívat služby společnosti Ushahidi.", - "agree": "Souhlasím se Smluvními podmínkami společnosti Ushahidi.", - "accept_and_continue": "Přijmout a pokračovat" - }, - "languages": { - "ach": "Acoli", - "ady": "Adyghe", - "af": "Afrikánština", - "af-ZA": "Afrikánština (Jižní Afrika)", - "ak": "Akan", - "sq": "Albánština", - "sq-AL": "Albánština (Albánie)", - "aln": "Albánský Gheg", - "am": "Amharský jazyk", - "am-ET": "Amharský jazyk (Etiopie)", - "ar": "Arabský", - "ar-EG": "Arabština (Egypt)", - "ar-SA": "Arabština (Saúdská arábie)", - "ar-SD": "Arabština (Súdán)", - "ar-SY": "Arabština (Sýrie)", - "ar-AA": "Arabština (bez upřesnění)", - "an": "Aragonština", - "hy": "Arménština", - "hy-AM": "Arménština (Arménie)", - "as": "Assámština", - "as-IN": "Assámština (Indie)", - "ast": "Asturian", - "ast-ES": "Asturian (Španělsko)", - "az": "Ázerbájdžán", - "az@Arab": "Azerbajdžánština (arabština)", - "az-AZ": "Ázerbájdžánština (Ázerbájdžán)", - "az-IR": "Ázerbájdžánština (Irán)", - "az@latin": "Ázerbájdžánština (Latinka)", - "bal": "Balúčština", - "ba": "Baškirština", - "eu": "Baskičština", - "eu-ES": "Baskičtina (Španělsko)", - "bar": "Bavorština", - "be": "Běloruština", - "be-BY": "Běloruština (Bělorusko)", - "be@tarask": "Běloruština (Tarask)", - "bn": "Bengálština", - "bn-BD": "Bengálština (Bangladéš)", - "bn-IN": "Bengálština (Indie)", - "brx": "Bodo", - "bs": "Bosenština", - "bs-BA": "Bosenština (Bosna a Hercegovina)", - "br": "Bretoňština", - "bg": "Bulharština", - "bg-BG": "Bulharština (Bulharsko)", - "my": "Barmština", - "my-MM": "Barmština (Myanmar)", - "ca": "Katalánština", - "ca-ES": "Katalánština (Španělsko)", - "ca@valencia": "Katalánština (Valencie)", - "ceb": "Cebuano", - "tzm": "Tamazight Centrální Atlas", - "hne": "Chhattisgarhi", - "cgg": "Nkore-Kiga", - "zh": "Čínština", - "zh-CN": "Čínština (Čína)", - "zh-CN.GB2312": "Čínština (Čína) (GB2312)", - "gan": "Čínština (Gan)", - "hak": "Čínština (Hakka)", - "zh-HK": "Čínština (Hong Kong)", - "czh": "Čínština (Huizhou)", - "cjy": "Čínština (Jinyu)", - "lzh": "Čínština (Literary)", - "cmn": "Čínština (Mandarin)", - "mnp": "Čínština (Min Bei)", - "cdo": "Čínština (Min Dong)", - "nan": "Čínština (Min Nan)", - "czo": "Čínština (Min Zhong)", - "cpx": "Čínština (Pu-Xian)", - "zh-Hans": "Čínština zjednodušená", - "zh-TW": "Čínština (Taiwan)", - "zh-TW.Big5": "Čínština (Taiwan) (Big5)", - "zh-Hant": "Čínština tradiční", - "wuu": "Čínština (Wu)", - "hsn": "Čínština (Xiang)", - "yue": "Čínština (Yue)", - "cv": "Čuvaština", - "ksh": "Colognianština", - "kw": "Kornština", - "co": "Korsičan", - "crh": "Krymští Turkové", - "hr": "Chorvatština", - "hr-HR": "Chorvatsko", - "cs": "Česko", - "cs-CZ": "Čeština (Česká republika)", - "da": "Dánština", - "da-DK": "Dánština (Dánsko)", - "dv": "Maledivština", - "doi": "dogarština ", - "nl": "Holandština", - "nl-BE": "Holandština (Belgie)", - "nl-NL": "Holandština (Nizozemsko)", - "dz": "Bhútánština", - "dz-BT": "Bhútánština (Bhútán)", - "en": "Angličtina", - "en-AU": "Angličtina (Austrálie)", - "en-AT": "Angličtina (Rakousko)", - "en-BD": "Angličtina (Bangladéš)", - "en-BE": "Angličtina (Belgie)", - "en-CA": "Angličtina (Kanada)", - "en-CL": "Angličtina (Chile)", - "en-CZ": "Angličtina (Česká republika)", - "en-ee": "Angličtina (Estonsko)", - "en-FI": "Angličtina (Finsko)", - "en-DE": "Angličtina (Německo)", - "en-GH": "Angličtina (Ghana)", - "en-HK": "Angličtina (Hong Kong)", - "en-HU": "Angličtina (Maďarsko)", - "en-IN": "Angličtina (Indie)", - "en-IE": "Angličtina (Irsko)", - "en-lv": "Angličtina (Lotyšsko)", - "en-lt": "Angličtina (Litva)", - "en-NL": "Angličtina (Holandsko)", - "en-NZ": "Angličtina (Nový Zéland)", - "en-NG": "Angličtina (Nigérie)", - "en-PK": "Angličtina (Pákistán)", - "en-PL": "Angličtina (Polsko)", - "en-RO": "Angličtina (Rumunsko)", - "en-SK": "Angličtina (Slovensko)", - "en-ZA": "Angličtina (Jihoafrická republika)", - "en-LK": "Angličtina (Sri Lanka)", - "en-SE": "Angličtina (Švédsko)", - "en-CH": "Angličtina (Switzerland)", - "en-GB": "Angličtina (Spojené Království)", - "en-US": "Angličtina (Spojené státy)", - "myv": "Erzja", - "eo": "Esperanto", - "et": "Estonština", - "et-EE": "Estonština (Estonsko)", - "fo": "faerština", - "fo-FO": "Faerština (Faerské ostrovy)", - "fil": "Filipínština", - "fi": "Finština", - "fi-FI": "Finština (Finsko)", - "frp": "Franko-Provensálština (Arpitan)", - "fr": "Francouzština", - "fr-BE": "Francouzština (Belgie)", - "fr-CA": "Francouzština (Kanada)", - "fr-FR": "Francouzština (Francie)", - "fr-CH": "Francouzština (Švýcarsko)", - "fur": "Furlanština", - "ff": "Fulbština", - "ff-SN": "Fulbština (Senegal)", - "gd": "Galština, Skotština", - "gl": "Galijština", - "gl-ES": "Galština (Španělsko)", - "lg": "Gandština", - "ka": "Gruzínština", - "ka-GE": "Gruzínština (Gruzie)", - "de": "Němčina", - "de-AT": "Němčina (Rakousko)", - "de-DE": "Němčina (Německo)", - "de-CH": "Němčina (Švýcarsko)", - "el": "Řecko", - "el-GR": "Řečtina (Řecko)", - "kl": "Gronština", - "gu": "Gudžarátština", - "gu-IN": "Gudžarátština (Indie)", - "gun": "Zbraň", - "ht": "Haitština (Haitská kreolština)", - "ht-HT": "Haitština (Haitská kreolština) (Haiti)", - "ha": "Hauština", - "haw": "Havajština", - "he": "Hebrejština", - "he-IL": "Hebrejština (Izrael)", - "hi": "Hindština", - "hi-IN": "Hindština (Indie)", - "hu": "Maďarština", - "hu-HU": "Maďarština (Maďarsko)", - "is": "Islandština", - "is-IS": "Islandština (Island)", - "io": "Ido", - "ig": "Igboština", - "ilo": "Ilocano", - "id": "Indonéština", - "id-ID": "Indonéština (Indonésie)", - "ia": "Interlingua", - "iu": "Inuktitutština", - "ga": "Irština", - "ga-IE": "Irština (Irsko)", - "it": "Italština", - "it-IT": "Italština (Itálie)", - "it-CH": "Italština (Švýcarsko)", - "ja": "Japonština", - "ja-JP": "Japonština (Japan)", - "jv": "Javánština", - "kab": "Kabyle", - "kn": "Kannadština", - "kn-IN": "Kannadština (Indie)", - "pam": "Kapampangan", - "ks": "Kašmírština", - "ks-IN": "Kašmírština (Indie)", - "csb": "Kašubština", - "kk": "Kazaština", - "kk@Arab": "Kazaština (Arabská)", - "kk@Cyrl": "Kazaština (Cyrilice)", - "kk-KZ": "Kazaština (Kazachstán)", - "kk@latin": "Kazaština (Latinka)", - "km": "Khmerština", - "km-KH": "Khmerština (Kambodža)", - "rw": "Rwandština", - "ky": "Kyrgyzština", - "tlh": "Klingon", - "kok": "Konkánština", - "ko": "Korejština", - "ko-KR": "Korejština (Korea)", - "ku": "Kurdština", - "ku-IQ": "Kurdština (Irák)", - "lad": "Ladino", - "lo": "Laos", - "lo-LA": "Laoština (Laos)", - "ltg": "Latgalština", - "la": "Latin", - "lv": "Lotyština", - "lv-LV": "Lotyština (Lotyšsko)", - "lez": "Lezghian", - "lij": "Ligurština", - "li": "Limburština", - "ln": "Ngalština", - "lt": "Litevština", - "lt-LT": "Litevština (Litva)", - "jbo": "Lojban", - "en@lolcat": "LOLCAT English", - "lmo": "Lombardština", - "dsb": "Dolnosrbština", - "nds": "Dolnoněmčina", - "lb": "Lucemburština", - "mk": "Makedonština", - "mk-MK": "Makedonština (Makedonie)", - "mai": "Maithili", - "mg": "Malgaština", - "ms": "Malay", - "ml": "Malajálamština", - "ml-IN": "Malajálamština (Indie)", - "ms-MY": "Malay (Malajsie)", - "mt": "Maltézština", - "mt-MT": "Maltézština (Malta)", - "mni": "Meitei", - "mi": "Maorština", - "arn": "Mapudungun", - "mr": "Maráthština", - "mr-IN": "Maráthština (Indie)", - "mh": "Maršálština", - "mw1": "Mirandese ", - "mn": "Mongolština", - "mn-MN": "Mongolština (Mongolsko)", - "nah": "Nahuatl", - "nv": "Navajština", - "nr": "Jazyk jižního Ndebele", - "nap": "Neapolština", - "ne": "Nepálština", - "ne-NP": "Nepálština (Nepál)", - "nia": "Nias", - "nqo": "N'ko", - "se": "Severní sámština", - "nso": "Severní sotština", - "no": "Norština", - "nb": "Norský Bokmål", - "nb-NO": "Norský Bokmål (Norsko)", - "no-NO": "Norština (Norsko)", - "nn": "Nynorsk", - "nn-NO": "Nynorsk (Norsko)", - "ny": "Čičevština", - "oc": "Okcitánština (po 1500)", - "or": "Urijština", - "or-IN": "Urijština (Indie)", - "om": "Oromština", - "os": "Osetština", - "pfl": "Falčtina", - "pa": "Pandžábština (Pandžáb)", - "pa-IN": "Paňdžábština (Pandžáb) (Indie)", - "pap": "Papiamento", - "fa": "Perština", - "fa-AF": "Perština (Afghanistán)", - "fa-IR": "Perština (Irán)", - "pms": "Piemontese", - "en@pirate": "Pirátská angličtina", - "pl": "Polština", - "pl-PL": "Polština (Polsko)", - "pt": "Portugalština", - "pt-BR": "Portugalština (Brazílie)", - "pt-PT": "Portugalština (Portugalsko)", - "ps": "Paštština", - "ro": "Rumunština", - "ro-RO": "Rumunština (Rumunsko)", - "rm": "Rétorománština", - "ru": "Ruština", - "ru-ee": "Ruština (Estonsko)", - "ru-lv": "Ruština (Lotyšsko)", - "ru-lt": "Ruština (Litva)", - "ru@petr1708": "Ruský Petrine pravopis", - "ru-RU": "Ruština (Ruština)", - "sah": "Jakutština (Sachalin)", - "sm": "Samoan", - "sa": "Sanskrt", - "sat": "Santali", - "sc": "Sardinština", - "sco": "Skotština", - "sr": "Srbština", - "sr@Ijekavian": "Srbština (Ijekavská)", - "sr@ijekavianlatin": "Srbština (Ijekavská latinka)", - "sr@latin": "Srbština (latinka)", - "sr-RS@latin": "Srbština (latinka) (Srbsko)", - "sr-RS": "Srbština (Srbsko)", - "sn": "Shona", - "scn": "Sicilština", - "szl": "Slezština", - "sd": "Sindhština", - "si": "Sinhálština", - "si-LK": "Sinhálština (Sri Lanka)", - "sk": "Slovenština", - "sk-SK": "Slovenština (Slovensko)", - "sl": "Slovinština", - "sl-SI": "Slovinština (Slovinsko)", - "so": "Somálština", - "son": "Songhay", - "st": "Jižní sotština", - "st-ZA": "Jižní sotština (Jihoafrická republika)", - "sma": "Jižní sámština", - "es": "Španělština", - "es-AR": "Španělština (Argentina)", - "es-BO": "Španělština (Bolívie)", - "es-CL": "Španělština (Chile)", - "es-CO": "Španělština (Kolumbie)", - "es-CR": "Španělština (Kostarika)", - "es-DO": "Španělština (Dominikánská republika)", - "es-EC": "Španělština (Ekvádor)", - "es-SV": "Španělština (Salvador)", - "es-GT": "Španělština (Guatemala)", - "es-419": "Španělština (Latinská Amerika)", - "es-MX": "Španělština (Mexiko)", - "es-NI": "Španělština (Nikaragua)", - "es-PA": "Španělština (Panama)", - "es-PY": "Španělština (Paraguay)", - "es-PE": "Španělština (Peru)", - "es-PR": "Španělština (Portoriko)", - "es-ES": "Španělština (Španělsko)", - "es-US": "Španělština (Spojené Státy)", - "es-UY": "Španělština (Uruguay)", - "es-VE": "Španělština (Venezuela)", - "su": "Sundština", - "sw": "Swahilština", - "sw-KE": "Svahilština (Keňa)", - "ss": "Swati", - "sv": "Švédština", - "sv-FI": "Švédština (Finsko)", - "sv-SE": "Švédština (Švédsko)", - "tl": "tagalština", - "tl-PH": "tagalština (Filipíny)", - "tg": "Tadžidština", - "tg-TJ": "Tadžidština (Tadžikistan)", - "tzl": "Talossština", - "ta": "Tamilština", - "ta-IN": "Tamilština (Indie)", - "ta-LK": "Tamilština (Sri Lanka)", - "tt": "Tatarština", - "te": "Telugština", - "te-IN": "Telugština (Indie)", - "tet": "Tetum (Tetum)", - "th": "Thajština", - "th-TH": "Thajština (Thajsko)", - "bo": "Tibetština", - "bo-CN": "Tibetština (Čína)", - "ti": "Tigrinya", - "to": "Tongánština", - "ts": "Tsongština", - "tn": "Setswanština", - "tr": "Turečtina", - "tr-TR": "Turečtina (Turecko)", - "tk": "Turkmenština", - "tk-TM": "Turkmenština (Turkmenistán)", - "udm": "Udmurtština", - "ug": "Ujgurština", - "ug@Arab": "Ujgurština (Arabská)", - "ug@Cyrl": "Ujgurština (Cyrilice)", - "ug@Latin": "Ujgurština (Latinka)", - "uk": "Ukrajinština", - "uk-UA": "Ukrajinština (Ukrajina)", - "vmf": "Hornofrancština", - "hsb": "Hornosrbština", - "ur": "Urdština", - "ur-PK": "Urdština (Pákistán)", - "uz": "Uzbečtina", - "uz@Arab": "Uzbečtina (Arabská)", - "uz@Cyrl": "Uzbečtina (Cyrilice)", - "uz@Latn": "Uzbečtina (Latinka)", - "uz-UZ": "Uzbek (Uzbekistán)", - "ve": "Venda", - "vec": "Benátština", - "vi": "Vietnamština", - "vi-VN": "Vietnamština (Vietnam)", - "vls": "Vlámština", - "wa": "Valonština", - "war": "Wáray-Wáray", - "cy": "Welshština", - "cy-GB": "Welshština (Spojené království)", - "fy": "Západofríština", - "fy-NL": "Západofríština (Holandsko)", - "wo": "Wolofština", - "wo-SN": "Wolofština (Senegal)", - "xh": "Xhosaština", - "yi": "jidiš", - "yo": "Jorubština", - "zu": "Zuluština", - "zu-ZA": "Zuluština (Jihoafrická republika)" - }, - "countries": { - "Afghanistan": "Afghánistán", - "Åland Islands": "Ålandské ostrovy", - "Albania": "Albánie", - "Algeria": "Alžír", - "American Samoa": "Americká Samoa", - "Andorra": "Andorra", - "Angola": "Angola", - "Anguilla": "Anguilla", - "Antarctica": "Antarktida", - "Antigua and Barbuda": "Antigua a Barbuda", - "Argentina": "Argentina", - "Armenia": "Arménie", - "Aruba": "Aruba", - "Australia": "Austrálie", - "Austria": "Rakousko", - "Azerbaijan": "Ázerbajdžán", - "Bahamas": "Bahamy", - "Bahrain": "Bahrajn", - "Bangladesh": "Bangladéš", - "Barbados": "Barbados", - "Belarus": "Bělorusko", - "Belgium": "Belgie", - "Belize": "Belize", - "Benin": "Benin", - "Bermuda": "Bermudy", - "Bhutan": "Bhútán", - "Bolivia, Plurinational State of bolivia": "Bolívie, plurinační stát Bolívie", - "Bosnia and Herzegovina": "Bosna a Hercegovina", - "Botswana": "Botswana", - "Bouvet Island": "Ostrov Bouvet", - "Brazil": "Brazílie", - "British Indian Ocean Territory": "Britské území Indického oceánu", - "Brunei Darussalam": "Sultanát Brunej", - "Bulgaria": "Bulharsko", - "Burkina Faso": "Burkina Faso", - "Burundi": "Burundi", - "Cambodia": "Kambodža", - "Cameroon": "Kamerun", - "Canada": "Kanada", - "Cape Verde": "Kapverdy", - "Cayman Islands": "Kajmanské ostrovy", - "Central African Republic": "Středoafrická republika", - "Chad": "Čad", - "Chile": "Chile", - "China": "Čína", - "Christmas Island": "Vánoční ostrov", - "Cocos (Keeling) Islands": "Kokosové (Keelingské) ostrovy", - "Colombia": "Kolumbie", - "Comoros": "Komory", - "Congo": "Kongo", - "Congo, The Democratic Republic of the Congo": "Kongo, Demokratická republika Kongo", - "Cook Islands": "Cookovy ostrovy", - "Costa Rica": "Kostarika", - "Cote d'Ivoire": "Pobřeží slonoviny", - "Croatia": "Chorvatsko", - "Cuba": "Kuba", - "Cyprus": "Kypr", - "Czech Republic": "Česká republika", - "Denmark": "Dánsko", - "Djibouti": "Džibuti", - "Dominica": "ostrov Dominica", - "Dominican Republic": "Dominikánská republika", - "Ecuador": "Ekvádor", - "Egypt": "Egypt", - "El Salvador": "Salvador", - "Equatorial Guinea": "Rovníková Guinea", - "Eritrea": "Eritrea", - "Estonia": "Estonsko", - "Ethiopia": "Etiopie", - "Falkland Islands (Malvinas)": "Falklandské ostrovy (Malvíny)", - "Faroe Islands": "Faerské ostrovy", - "Fiji": "Fidži", - "Finland": "Finsko", - "France": "Francie", - "French Guiana": "Francouzská Guyana", - "French Polynesia": "Francouzská Polynésie", - "French Southern Territories": "Francouzská jižní teritoria", - "Gabon": "Gabon", - "Gambia": "Gambie", - "Georgia": "Gruzie", - "Germany": "Německo", - "Ghana": "Ghana", - "Gibraltar": "Gibraltar", - "Greece": "Ŕecko", - "Greenland": "Grónsko", - "Grenada": "Grenada", - "Guadeloupe": "Guadeloupe", - "Guam": "Guam", - "Guatemala": "Guatemala", - "Guernsey": "ostrov Guernsey", - "Guinea": "Guinea", - "Guinea-Bissau": "Guinea-Bissau", - "Guyana": "Guyana", - "Haiti": "Haiti", - "Heard Island and Mcdonald Islands": "Heard Island a McDonaldovy ostrovy", - "Holy See (Vatican City State)": "Svatá stolice (Vatikánský městský stát)", - "Honduras": "Honduras", - "Hong Kong": "Hong Kong", - "Hungary": "Maďarsko", - "Iceland": "Island", - "India": "Indie", - "Indonesia": "Indonesie", - "Iran, Islamic Republic of Persian Gulf": "Írán, islámská republika Perského zálivu", - "Iraq": "Irák", - "Ireland": "Irsko", - "Isle of Man": "Ostrov Man", - "Israel": "Israel", - "Italy": "Itálie", - "Jamaica": "Jamaica", - "Japan": "Japonsko", - "Jersey": "Jersey", - "Jordan": "Jordánsko", - "Kazakhstan": "Kazachstán", - "Kenya": "Keňa", - "Kiribati": "Kiribati", - "Korea, Democratic People's Republic of Korea": "Korea, Korejská lidově demokratická republika", - "Korea, Republic of South Korea": "Korejská republika, Jižní Korea", - "Kosovo": "Kosovo", - "Kuwait": "Kuvajt", - "Kyrgyzstan": "Kyrgyzstán", - "Laos": "Laos", - "Latvia": "Lotyšsko", - "Lebanon": "Libanon", - "Lesotho": "Lesotho", - "Liberia": "Libérie", - "Libyan Arab Jamahiriya": "Libyjská arabská Jamahirija", - "Liechtenstein": "Lichtenštejnsko", - "Lithuania": "Litva", - "Luxembourg": "Lucembursko", - "Macao": "Macau", - "Macedonia": "Makedonie", - "Madagascar": "Madagaskar", - "Malawi": "Malawi", - "Malaysia": "Malajsie", - "Maldives": "Maledivy", - "Mali": "Mali", - "Malta": "Malta", - "Marshall Islands": "Marshallovy ostrovy", - "Martinique": "Martinik", - "Mauritania": "Mauretánie", - "Mauritius": "Mauritius", - "Mayotte": "Mayotte", - "Mexico": "Mexiko", - "Micronesia, Federated States of Micronesia": "Mikronésie, Federální státy Mikronésie", - "Moldova": "Moldavsko", - "Monaco": "Monako", - "Mongolia": "Mongolsko", - "Montenegro": "Černá Hora", - "Montserrat": "Montserrat", - "Morocco": "Maroko", - "Mozambique": "Mozambik", - "Myanmar": "Myanmar", - "Namibia": "Namibie", - "Nauru": "Naurština", - "Nepal": "Nepál", - "Netherlands": "Holandsko", - "Netherlands Antilles": "Nizozemské Antily", - "New Caledonia": "Nová Kaledonie", - "New Zealand": "Nový Zéland", - "Nicaragua": "Nikaragua", - "Niger": "Niger", - "Nigeria": "Nigérie", - "Niue": "Niue ostrov", - "Norfolk Island": "Ostrov Norfolk", - "Northern Mariana Islands": "ostrovy Severní Mariany", - "Norway": "Norsko", - "Oman": "Omán", - "Pakistan": "Pákistán", - "Palau": "Palau", - "Palestinian Territory, Occupied": "Palestinské území, okupované", - "Panama": "Panama", - "Papua New Guinea": "Papua-Nová Guinea", - "Paraguay": "Paraguay", - "Peru": "Peru", - "Philippines": "Filipíny", - "Pitcairn": "Pitcairnština", - "Poland": "Polsko", - "Portugal": "Portugalsko", - "Puerto Rico": "Portoriko", - "Qatar": "Katar", - "Romania": "Rumunsko", - "Russia": "Rusko", - "Rwanda": "Rwanda", - "Reunion": "Reunion", - "Saint Barthelemy": "Svatý Bartoloměj", - "Saint Helena, Ascension and Tristan Da Cunha": "Svatá Helena, Vzestoupení a Tristan Da Cunha", - "Saint Kitts and Nevis": "Svatý Kryštof a Nevis", - "Saint Lucia": "Svatá Lucie", - "Saint Martin": "Svatý Martin", - "Saint Pierre and Miquelon": "Saint Pierre a Miquelon", - "Saint Vincent and the Grenadines": "Svatý Vincent a Grenadiny", - "Samoa": "Samoa", - "San Marino": "San Marino", - "Sao Tome and Principe": "Svatý Tomáš a Princův ostrov", - "Saudi Arabia": "Saudská arábie", - "Senegal": "Senegal", - "Serbia": "Srbsko", - "Seychelles": "Seychely", - "Sierra Leone": "Sierra Leone", - "Singapore": "Singapur", - "Slovakia": "Slovensko", - "Slovenia": "Slovinsko", - "Solomon Islands": "Solomonovy ostrovy", - "Somalia": "Somálsko", - "South Africa": "Jižní Afrika", - "South Sudan": "Jižní Súdán", - "South Georgia and the South Sandwich Islands": "Jižní Georgie a Jižní Sandwichovy ostrovy", - "Spain": "Španělsko", - "Sri Lanka": "Sri Lanka", - "Sudan": "Súdán", - "Suriname": "Surinam", - "Svalbard and Jan Mayen": "Svalbard a Jan Mayen", - "Swaziland": "Svazijsko", - "Sweden": "Švédsko", - "Switzerland": "Švýcarsko", - "Syrian Arab Republic": "Syrská Arabská republika", - "Taiwan": "Taiwan", - "Tajikistan": "Tádžikistán", - "Tanzania, United Republic of Tanzania": "Tanzánie", - "Thailand": "Thajsko", - "Timor-Leste": "Východní Timor", - "Togo": "Togo", - "Tokelau": "Tokelau", - "Tonga": "Tonga", - "Trinidad and Tobago": "Trinidad a Tobago", - "Tunisia": "Tunisko", - "Turkey": "Turecko", - "Turkmenistan": "Turkmenistán", - "Turks and Caicos Islands": "ostrovy Turks a Cacois", - "Tuvalu": "Tuvalu", - "Uganda": "Uganda", - "Ukraine": "Ukrajina", - "United Arab Emirates": "Spojené arabské emiráty", - "United Kingdom": "Spojené království", - "United States": "Spojené státy", - "Uruguay": "Uruguay", - "Uzbekistan": "Uzbekistán", - "Vanuatu": "Vanuatu", - "Venezuela, Bolivarian Republic of Venezuela": "Venezuela, Bolívarovská republika Venezuela", - "Vietnam": "Vietnam", - "Virgin Islands, British": "Britské Panenské ostrovy", - "Virgin Islands, U.S.": "Panenské ostrovy, U.S.", - "Wallis and Futuna": "Wallis a Futuna", - "Yemen": "Jemen", - "Zambia": "Zambie", - "Zimbabwe": "Zimbabwe" - }, - "api": { - "providerNotAvailable": "Jeden nebo více povolených poskytovatelů není k dispozici: param1", - "range": "Velikost souboru by měla být menší než {{param3}} KB", - "mime_type": "Typ souboru není podporován. Nahrajte soubor CSV.", - "not_empty": ": pole nesmí být prázdné", - "isKeyAvailable": "Klíč {{value}} není k dispozici", - "contactIsValid": "Neplatné telefonní číslo", - "roleDoesNotExist": "role_id {{value}} neexistuje", - "invalidFormStageId": "form_stage_id: hodnota neexistuje", - "postTypeLimitReached": "limit: {{posttypes}}", - "dataUrlOrMediaRequired": "Jedna z dat_url nebo media_id je vyžadována", - "dataUrlMediaConflict": "Může být definován pouze jeden údaj z dat_url nebo media_id", - "size_error": "Velikost souboru by měla být menší než: param1 MB", - "mime_type_not_allowed": "Typ souboru není podporován. Nahrajte soubor obrázku.", - "mime_not_empty": "Typ MIME nebyl nalezen. Pro soubor musí být nastaven typ MIME.", - "contact": { - "invalid_phone": "Neplatné telefonní číslo {{param1}}", - "invalid_email": "Neplatný e-mail {{param1}}" - }, - "email": { - "title": "{{sitename}} Nový příspěvek: {{title}}", - "message": "Nový příspěvek na {{sitename}} {{title}} {{content}} Zobrazit příspěvek: {{url}}" - }, - "sms": { - "message": "{{sitename}} Nový příspěvek: {{title}}" - }, - "publishedPostsLimitReached": "limit: {{příspěvky}}", - "tagDoesNotExist": "kategorie: hodnota neexistuje", - "attributeDoesNotExist": "atribut {{param1}} neexistuje", - "tooManyValues": "Příliš mnoho hodnot {{param1}} (max: {{param2}})", - "valueDoesNotExist": "Hodnota id {{param2}} pro pole {{param1}} neexistuje", - "canNotUseExistingValueOnNewPost": "Nelze použít stávající hodnotu {{param2}} pro pole {{param1}} v novém příspěvku", - "postAttributeRequired": "je požadován atribut {{param1}}", - "taskAttributeRequired": "atribut {{param1}} je nutný před dokončením fáze {{param2}}", - "emptyIdAndLocale": "Musí mít alespoň id nebo locale", - "emptyParentWithLocale": "Při místním provozu musí mít parent id", - "notAnArray": "Hodnoty příspěvku pro {{param1}} musí být pole", - "scalar": "Hodnoty příspěvku pro {{param1}} musí být číselné", - "doesTranslationExist": "Překlad {{value}} pro příspěvek {{param2}} již existuje", - "isSlugAvailable": "pole: {{value}} je již používáno", - "published_to": { - "exists": "Role, kterou publikujete na hodnotu {{value}}, neexistuje" - }, - "stageDoesNotExist": "Stage {{param1}} neexistuje", - "stageRequired": "Fáze {{param1}} je vyžadována před zveřejněním", - "postNeedsApprovalBeforePublishing": "Příspěvek vyžaduje schválení správcem, než bude zveřejněn", - "postCanOnlyBeUnpublishedByAdmin": "Příspěvek může být nepublikován pouze správcem", - "alreadyLockedByDifferentUser": "Příspěvek je právě uzamčen jiným uživatelem a nemůže být aktualizován.", - "values": { - "date": "Pole {{param1}} musí být datum, Dané: {{param2}}", - "decimal": "Pole {{param1}} musí být s dvěma desetinnými místy, Dané: {{param2}}", - "digit": "Pole {{param1}} musí být číslice, Dané: {{param2}}", - "email": "Pole {{param1}} musí být e-mailová adresa, Dané: {{param2}}", - "exists": "Pole {{param1}} musí být platné ID příspěvku, ID příspěvku: {{param2}}", - "tagExists": "Pole {{param1}} musí být platná ID kategorie nebo název, Kategorie: {{param2}}", - "max_length": "Pole {{param1}} nesmí překročit délkou znaků :param2, Dané: {{param2}}", - "invalidForm": "Pole {{param1}} má špatný typ příspěvku, Post id: {{param2}}", - "numeric": "Pole {{param1}} musí být číselné, vzhledem k: {{param2}}", - "scalar": "Pole {{param1}} musí být číselné, Dané: {{param2}}", - "point": "Pole {{param1}} musí být pole zeměpisné šířky a délky", - "lat": "pole {{param1}} musí obsahovat platnou zeměpisnou šířku", - "lon": "pole {{param1}} musí obsahovat platnou zeměpisnou délku", - "url": "Pole {{param1}} musí být url, Dané: {{param2}}", - "video_type": "Pole {{param1}} musí být buď adresa youtube nebo vimeo, Dané: {{param2}}" - }, - "role": { - "isRoleValid": "Role musí odpovídat nadřazené kategorii", - "exists": "Role {{value}} neexistuje" - }, - "description_regex": "Popis musí obsahovat pouze písmena, čísla, mezery a interpunkci", - "regex": "Název kategorie musí obsahovat pouze písmena, čísla, mezery a interpunkci", - "isUniqueEmail": "{{field}} se již používá", - "isUniqueUsername": "{{field}} se již používá", - "isUserSelf": "Nemůžete změnit svou vlastní roli", - "adminUserLimitReached": "limit:{{:admin}}" - } -} \ No newline at end of file diff --git a/lxc-apps/ushahidi/lxc/srv/ushahidi/locales/languages.json b/lxc-apps/ushahidi/lxc/srv/ushahidi/locales/languages.json deleted file mode 100644 index fd8ebd9..0000000 --- a/lxc-apps/ushahidi/lxc/srv/ushahidi/locales/languages.json +++ /dev/null @@ -1 +0,0 @@ -{"languages":[{"rtl":false,"pluralequation":"language.pluralequation","code":"sq-AL","name":"Albanian (Albania)","nplurals":2},{"rtl":true,"pluralequation":"language.pluralequation","code":"ar","name":"Arabic","nplurals":6},{"rtl":false,"pluralequation":"language.pluralequation","code":"zh","name":"Chinese","nplurals":1},{"rtl":false,"pluralequation":"language.pluralequation","code":"en","name":"English","nplurals":2},{"rtl":false,"pluralequation":"language.pluralequation","code":"fr","name":"French","nplurals":2},{"rtl":false,"pluralequation":"language.pluralequation","code":"de","name":"German","nplurals":2},{"rtl":false,"pluralequation":"language.pluralequation","code":"ht","name":"Haitian (Haitian Creole)","nplurals":2},{"rtl":false,"pluralequation":"language.pluralequation","code":"id","name":"Indonesian","nplurals":1},{"rtl":false,"pluralequation":"language.pluralequation","code":"it","name":"Italian","nplurals":2},{"rtl":true,"pluralequation":"language.pluralequation","code":"fa-IR","name":"Persian (Iran)","nplurals":2},{"rtl":false,"pluralequation":"language.pluralequation","code":"pt-BR","name":"Portuguese (Brazil)","nplurals":2},{"rtl":false,"pluralequation":"language.pluralequation","code":"ru","name":"Russian","nplurals":4},{"rtl":false,"pluralequation":"language.pluralequation","code":"es","name":"Spanish","nplurals":2},{"rtl":false,"pluralequation":"language.pluralequation","code":"sw","name":"Swahili","nplurals":2},{"rtl":false,"pluralequation":"language.pluralequation","code":"vi","name":"Vietnamese","nplurals":1},{"rtl":false,"pluralequation":"language.pluralequation","code":"vi-VN","name":"Vietnamese (Viet Nam)","nplurals":1},{"rtl":false,"pluralequation":"language.pluralequation","code":"cs","name":"Czech","nplurals":2}]} \ No newline at end of file diff --git a/lxc-apps/ushahidi/lxc/srv/ushahidi/platform/application/config/init.php b/lxc-apps/ushahidi/lxc/srv/ushahidi/platform/application/config/init.php deleted file mode 100644 index 65d312a..0000000 --- a/lxc-apps/ushahidi/lxc/srv/ushahidi/platform/application/config/init.php +++ /dev/null @@ -1,34 +0,0 @@ - - * @package Ushahidi\Application\Config - * @copyright 2013 Ushahidi - * @license https://www.gnu.org/licenses/agpl-3.0.html GNU Affero General Public License Version 3 (AGPL3) - */ - -/** - * Initialize Kohana, setting the default options. - * - * The following options are available: - * - * - string base_url path, and optionally domain, of your application NULL - * - string index_file name of your index file, usually "index.php" index.php - * - string charset internal character set used for input and output utf-8 - * - string cache_dir set the internal cache directory APPPATH/cache - * - integer cache_life lifetime, in seconds, of items cached 60 - * - boolean errors enable or disable error handling TRUE - * - boolean profile enable or disable internal profiling TRUE - * - boolean caching enable or disable internal caching FALSE - * - boolean expose set the X-Powered-By header FALSE - */ -return array( - 'base_url' => '/platform', - 'index_file' => FALSE, - 'charset' => 'utf-8', - 'errors' => TRUE, - 'profile' => FALSE, - 'caching' => FALSE, -); diff --git a/lxc-apps/ushahidi/lxcfile b/lxc-apps/ushahidi/lxcfile deleted file mode 100644 index 1557cae..0000000 --- a/lxc-apps/ushahidi/lxcfile +++ /dev/null @@ -1,34 +0,0 @@ -IMAGE ushahidi_3.12.3-190620 -FROM alpine3.9-php7.2_7.2.19-190620 - -RUN EOF - # Install runtime dependencies - apk --no-cache add php7-curl php7-imap php7-mysqli php7-pdo_mysql - - # Download Ushahidi - wget https://github.com/ushahidi/platform-client/releases/download/v3.12.3/ushahidi-platform-client-bundle-v3.12.3.tar.gz -O /tmp/ushahidi-platform-client-bundle.tar.gz - wget https://github.com/ushahidi/platform/releases/download/v3.12.3/ushahidi-platform-bundle-v3.12.3.tar.gz -O /tmp/ushahidi-platform-bundle.tar.gz - tar xzf /tmp/ushahidi-platform-client-bundle.tar.gz -C /srv - mv /srv/ushahidi-platform-client-bundle-v3.12.3 /srv/ushahidi - tar xzf /tmp/ushahidi-platform-bundle.tar.gz -C /srv/ushahidi - mv /srv/ushahidi/ushahidi-platform-bundle-v3.12.3 /srv/ushahidi/platform - - # Create OS user - addgroup -S -g 8080 ushahidi - adduser -S -u 8080 -h /srv/ushahidi -s /bin/false -g ushahidi -G ushahidi ushahidi - chown -R ushahidi:ushahidi /srv/ushahidi/platform/application/logs /srv/ushahidi/platform/application/cache /srv/ushahidi/platform/application/media/uploads - - # Cleanup - rm -rf /tmp/ushahidi-platform-client-bundle.tar.gz /tmp/ushahidi-platform-bundle.tar.gz -EOF - -COPY lxc - -RUN EOF - # Patch Previewers - cd /srv/ushahidi - patch -p0