Add Decidim compose
This commit is contained in:
parent
102a556f0a
commit
c3c7efd946
22
.env
Normal file
22
.env
Normal file
@ -0,0 +1,22 @@
|
||||
RAILS_ENV=production
|
||||
RAILS_LOG_TO_STDOUT=1
|
||||
|
||||
POSTGRES_USER=decidim
|
||||
POSTGRES_PASSWORD=decidim
|
||||
POSTGRES_DB=decidim
|
||||
POSTGRES_HOST=decidim-postgres
|
||||
DATABASE_URL=postgres://${POSTGRES_USER}:${POSTGRES_PASSWORD}@${POSTGRES_HOST}/${POSTGRES_DB}
|
||||
|
||||
DECIDIM_ADMIN_USER=admin@example.com
|
||||
DECIDIM_ADMIN_PASSWORD=decidim123456
|
||||
SECRET_KEY_BASE=2ddf4d8ed8a6371d5e8b7917c8b13054934bde8f36de07b82cab6c5ee2bd67b68f186f44ffda5c2044658085ec271090784019b2394f21446d551fd70d72e711
|
||||
|
||||
SMTP_USERNAME=admin@example.com
|
||||
SMTP_PASSWORD=
|
||||
SMTP_ADDRESS=decidim-smtp
|
||||
SMTP_DOMAIN=example.com
|
||||
|
||||
MAPS_API_KEY=
|
||||
TWILIO_ACCOUNT_SID=
|
||||
TWILIO_AUTH_TOKEN=
|
||||
TWILIO_SENDER_NUMBER=
|
94
decidim/Dockerfile
Normal file
94
decidim/Dockerfile
Normal file
@ -0,0 +1,94 @@
|
||||
FROM ruby:2.7-alpine3.13
|
||||
|
||||
RUN \
|
||||
# Install runtime dependencies
|
||||
apk --no-cache add curl libbz2 libgcc libstdc++ libxml2 libxslt ncurses-libs openssl pcre readline s6 xz-libs && \
|
||||
# Update system Ruby gems
|
||||
echo -e 'install: --no-document\nupdate: --no-document' >/usr/local/etc/gemrc && \
|
||||
gem update --system
|
||||
|
||||
# Nginx + passenger
|
||||
RUN \
|
||||
# Install build dependencies
|
||||
apk --no-cache add --virtual .deps build-base curl-dev openssl-dev linux-headers pcre-dev && \
|
||||
# Install passenger
|
||||
gem install passenger && \
|
||||
ln -s /usr/local/bundle/gems/passenger-* /usr/local/lib/passenger && \
|
||||
# Create OS user
|
||||
addgroup -S -g 8080 decidim && \
|
||||
adduser -S -u 8080 -h /srv/decidim-app -s /sbin/nologin -G decidim -g decidim decidim && \
|
||||
# Compile nginx
|
||||
# Minimized version of /usr/local/bin/passenger-install-nginx-module
|
||||
NGINX_VERSION=$(grep ' PREFERRED_NGINX_VERSION' /usr/local/lib/passenger/src/ruby_supportlib/phusion_passenger.rb | grep -Eo '([0-9\.]+)') && \
|
||||
cd /tmp && \
|
||||
wget https://nginx.org/download/nginx-${NGINX_VERSION}.tar.gz && \
|
||||
tar xf nginx-*.tar.gz && \
|
||||
cd nginx-* && \
|
||||
./configure \
|
||||
--prefix=/var/lib/nginx \
|
||||
--sbin-path=/usr/sbin/nginx \
|
||||
--conf-path=/etc/nginx/nginx.conf \
|
||||
--pid-path=/run/nginx.pid \
|
||||
--lock-path=/run/nginx.lock \
|
||||
--user=decidim \
|
||||
--group=decidim \
|
||||
--with-threads \
|
||||
--with-file-aio \
|
||||
--with-http_ssl_module \
|
||||
--with-http_v2_module \
|
||||
--with-http_realip_module \
|
||||
--with-http_gzip_static_module \
|
||||
--with-http_stub_status_module \
|
||||
--with-http_addition_module \
|
||||
--without-http_fastcgi_module \
|
||||
--without-http_memcached_module \
|
||||
--without-http_scgi_module \
|
||||
--without-http_uwsgi_module \
|
||||
--with-cc-opt=-Wno-error \
|
||||
--add-module=/usr/local/lib/passenger/src/nginx_module && \
|
||||
make -j $(getconf _NPROCESSORS_ONLN) && \
|
||||
make install && \
|
||||
rm -f /etc/nginx/*.default && \
|
||||
# Cleanup
|
||||
apk --no-cache del .deps && \
|
||||
rm -rf /tmp/*
|
||||
|
||||
# Decidim
|
||||
ENV RAILS_ENV production
|
||||
|
||||
RUN \
|
||||
# Install runtime dependencies
|
||||
apk --no-cache add imagemagick libpq nodejs procps tzdata && \
|
||||
# Install build dependencies
|
||||
apk --no-cache add --virtual .deps build-base git libxml2-dev libxslt-dev postgresql-dev zlib-dev && \
|
||||
# Install Decidim
|
||||
bundle config build.nokogiri --use-system-libraries && \
|
||||
gem install decidim -v 0.23.6 && \
|
||||
cd /srv && \
|
||||
decidim decidim-app
|
||||
|
||||
COPY image.d /
|
||||
|
||||
RUN \
|
||||
# Install runtime gems and plugins
|
||||
cd /srv/decidim-app && \
|
||||
bundle install && \
|
||||
# Setup delayed job for mail sending
|
||||
bin/rails generate delayed_job:active_record && \
|
||||
# Precompile static assets
|
||||
bin/rails assets:precompile && \
|
||||
# Remove database migrations (will be recreated in entrypoint.sh) and temp cache
|
||||
rm /srv/decidim-app/db/migrate/* && \
|
||||
rm -rf /srv/decidim-app/tmp/cache/* && \
|
||||
# Create uploads dir
|
||||
mkdir /srv/decidim-app/public/uploads && \
|
||||
chmod g+s /srv/decidim-app/public/uploads && \
|
||||
# Change ownership
|
||||
chown -R decidim:decidim /srv/decidim-app && \
|
||||
# Cleanup
|
||||
apk --no-cache del .deps && \
|
||||
rm -rf /root/.bundle /root/.gem
|
||||
|
||||
ENTRYPOINT ["/entrypoint.sh"]
|
||||
EXPOSE 8080
|
||||
VOLUME ["/srv/decidim-app/db/migrate", "/srv/decidim-app/storage", "/srv/decidim-app/public/uploads"]
|
50
decidim/image.d/entrypoint.sh
Executable file
50
decidim/image.d/entrypoint.sh
Executable file
@ -0,0 +1,50 @@
|
||||
#!/bin/sh
|
||||
set -e
|
||||
|
||||
if [ "$*" != "" ]; then
|
||||
exec $@
|
||||
fi
|
||||
|
||||
echo "Starting Decidim..."
|
||||
|
||||
# Set passenger environment
|
||||
export RAILS_ENV=${RAILS_ENV:-production}
|
||||
echo "passenger_app_env ${RAILS_ENV};" >/etc/nginx/rails_env.conf
|
||||
|
||||
# Upgrade database
|
||||
cd /srv/decidim-app
|
||||
s6-setuidgid decidim sh -c '
|
||||
bin/rails decidim:upgrade
|
||||
bin/rails generate delayed_job:active_record >/dev/null 2>&1
|
||||
bin/rails decidim_conferences:install:migrations
|
||||
bin/rails decidim_consultations:install:migrations
|
||||
bin/rails decidim_initiatives:install:migrations
|
||||
# bin/rails decidim_templates:install:migrations
|
||||
bin/rails decidim_calendar:install:migrations
|
||||
bin/rails decidim_comparative_stats:install:migrations
|
||||
bin/rails decidim_decidim_awesome:install:migrations
|
||||
# bin/rails decidim_favorites:install:migrations
|
||||
# bin/rails decidim_feedback:install:migrations
|
||||
# bin/rails decidim_ideas:install:migrations
|
||||
# bin/rails decidim_ldap:install:migrations
|
||||
bin/rails decidim_navbar_links:install:migrations
|
||||
bin/rails decidim_navigation_maps:install:migrations
|
||||
bin/rails decidim_time_tracker:install:migrations
|
||||
bin/rails redirector_engine:install:migrations
|
||||
bin/rails decidim_url_aliases:install:migrations
|
||||
bin/rails db:migrate
|
||||
'
|
||||
|
||||
# Create or update superadmin account
|
||||
cat <<EOF | bin/rails console
|
||||
Decidim::System::Admin.find_or_initialize_by(id: 1).update!(
|
||||
email: ENV["DECIDIM_ADMIN_USER"],
|
||||
password: ENV["DECIDIM_ADMIN_PASSWORD"],
|
||||
password_confirmation: ENV["DECIDIM_ADMIN_PASSWORD"]
|
||||
)
|
||||
EOF
|
||||
unset DECIDIM_ADMIN_USER
|
||||
unset DECIDIM_ADMIN_PASSWORD
|
||||
|
||||
# Exec into s6 supervisor
|
||||
exec /bin/s6-svscan /etc/services.d
|
1
decidim/image.d/etc/crontabs/decidim
Executable file
1
decidim/image.d/etc/crontabs/decidim
Executable file
@ -0,0 +1 @@
|
||||
*/5 * * * * [ -s /srv/decidim-app/tmp/pids/delayed_job.pid ] || /srv/decidim-app/bin/delayed_job start
|
39
decidim/image.d/etc/nginx/nginx.conf
Normal file
39
decidim/image.d/etc/nginx/nginx.conf
Normal file
@ -0,0 +1,39 @@
|
||||
user decidim;
|
||||
pid /run/nginx.pid;
|
||||
worker_processes 1;
|
||||
error_log /dev/stderr warn;
|
||||
|
||||
events {
|
||||
worker_connections 1024;
|
||||
}
|
||||
|
||||
http {
|
||||
include mime.types;
|
||||
default_type application/octet-stream;
|
||||
|
||||
access_log off;
|
||||
server_tokens off;
|
||||
client_max_body_size 100m;
|
||||
sendfile on;
|
||||
tcp_nodelay on;
|
||||
send_timeout 300;
|
||||
|
||||
passenger_root /usr/local/lib/passenger;
|
||||
passenger_ruby /usr/local/bin/ruby;
|
||||
|
||||
server {
|
||||
listen 8080;
|
||||
server_name localhost;
|
||||
|
||||
set $passenger_host $http_host;
|
||||
if ($http_x_forwarded_host) {
|
||||
set $passenger_host $http_x_forwarded_host;
|
||||
}
|
||||
|
||||
passenger_enabled on;
|
||||
passenger_set_header Host $passenger_host;
|
||||
include /etc/nginx/rails_env.conf;
|
||||
|
||||
root /srv/decidim-app/public;
|
||||
}
|
||||
}
|
4
decidim/image.d/etc/services.d/.s6-svscan/finish
Executable file
4
decidim/image.d/etc/services.d/.s6-svscan/finish
Executable file
@ -0,0 +1,4 @@
|
||||
#!/bin/execlineb -P
|
||||
|
||||
foreground { s6-svwait -d -t 3000 cron }
|
||||
foreground { s6-svwait -d -t 3000 nginx }
|
4
decidim/image.d/etc/services.d/cron/run
Executable file
4
decidim/image.d/etc/services.d/cron/run
Executable file
@ -0,0 +1,4 @@
|
||||
#!/bin/execlineb -P
|
||||
|
||||
fdmove -c 2 1
|
||||
crond -f -d 8
|
3
decidim/image.d/etc/services.d/nginx/run
Executable file
3
decidim/image.d/etc/services.d/nginx/run
Executable file
@ -0,0 +1,3 @@
|
||||
#!/bin/execlineb -P
|
||||
|
||||
nginx -g "daemon off;"
|
66
decidim/image.d/srv/decidim-app/Gemfile
Normal file
66
decidim/image.d/srv/decidim-app/Gemfile
Normal file
@ -0,0 +1,66 @@
|
||||
# frozen_string_literal: true
|
||||
|
||||
source "https://rubygems.org"
|
||||
|
||||
ruby RUBY_VERSION
|
||||
|
||||
gem "decidim", "0.23.6"
|
||||
gem "decidim-conferences", "0.23.6"
|
||||
gem "decidim-consultations", "0.23.6"
|
||||
gem "decidim-initiatives", "0.23.6"
|
||||
# gem "decidim-templates", "0.23.6"
|
||||
|
||||
gem "bootsnap", "~> 1.3"
|
||||
|
||||
gem "puma", ">= 4.3.5"
|
||||
gem "uglifier", "~> 4.1"
|
||||
|
||||
gem "faker", "~> 1.9"
|
||||
|
||||
gem "wicked_pdf", "~> 1.4"
|
||||
|
||||
group :development, :test do
|
||||
gem "byebug", "~> 11.0", platform: :mri
|
||||
|
||||
gem "decidim-dev", "0.23.6"
|
||||
end
|
||||
|
||||
group :development do
|
||||
gem "letter_opener_web", "~> 1.3"
|
||||
gem "listen", "~> 3.1"
|
||||
gem "spring", "~> 2.0"
|
||||
gem "spring-watcher-listen", "~> 2.0"
|
||||
gem "web-console", "~> 3.5"
|
||||
end
|
||||
|
||||
group :production do
|
||||
gem "passenger"
|
||||
gem "delayed_job_active_record"
|
||||
gem "daemons"
|
||||
gem "twilio-ruby"
|
||||
end
|
||||
|
||||
# Modules
|
||||
gem "omniauth-decidim", github: "decidim/omniauth-decidim"
|
||||
# gem "decidim-access_requests", github: "mainio/decidim-module-access_requests" # Supported until 0.22.0
|
||||
# gem "decidim-action_delegator", github: "coopdevs/decidim-module-action_delegator" # Supported until 0.23.2
|
||||
# gem "decidim-antivirus", github: "mainio/decidim-module-antivirus" # Supported until 0.22.0
|
||||
# gem "decidim-budgets_enhanced", github: "OpenSourcePolitics/decidim-module-budgets_enhanced", branch: "0.22-dev" # Supported until 0.19.0, development branch exists up to 0.22.0
|
||||
gem "decidim-calendar", github: "alabs/decidim-module-calendar"
|
||||
gem "decidim-comparative_stats", github: "Platoniq/decidim-module-comparative_stats"
|
||||
# gem "decidim-cookies", github: "OpenSourcePolitics/decidim-module_cookies" # Supported until 0.21.0
|
||||
gem "decidim-decidim_awesome", github: "Platoniq/decidim-module-decidim_awesome"
|
||||
# gem "decidim-department_admin", github: "gencat/decidim-department-admin" # Supported until 0.22.0
|
||||
gem "decidim-direct_verifications", github: "Platoniq/decidim-verifications-direct_verifications"
|
||||
# gem "decidim-favorites", github: "mainio/decidim-module-favorites" # Required by ideas, plans
|
||||
# gem "decidim-feedback", github: "mainio/decidim-module-feedback" # Required by ideas
|
||||
# gem "decidim-ideas", github: "mainio/decidim-module-ideas" # Supported until 0.23.0, has graphql dependency problems
|
||||
# gem "decidim-ldap", github: "diputacioBCN/decidim-diba", glob: "decidim-ldap/decidim-ldap.gemspec", Supported until 0.18.0, installable until 0.23.1
|
||||
gem "decidim-navbar_links", github: "OpenSourcePolitics/decidim-module-navbar_links", branch: "0.23-stable"
|
||||
gem "decidim-navigation_maps", github: "Platoniq/decidim-module-navigation_maps", ref: "5199551350d05a24c439b4c6dc5946f12eafaa30"
|
||||
# gem "decidim-plans", github: "mainio/decidim-module-plans" # Supported until 0.22.0
|
||||
# gem "decidim-process_groups_content_block", github: "mainio/decidim-module-process_groups_content_block" # Supported until 0.22.0
|
||||
# gem "decidim-term_customizer", github: "mainio/decidim-module-term_customizer" # Supported until 0.22.0
|
||||
gem "decidim-time_tracker", github: "Platoniq/decidim-module-time_tracker", branch: "main"
|
||||
# gem "decidim-unique_identity", github: "OpenSourcePolitics/decidim-module-unique-identity" # Supported until 0.18.0
|
||||
gem "decidim-url_aliases", github: "OpenSourcePolitics/decidim-urlaliases"
|
@ -0,0 +1,104 @@
|
||||
Rails.application.configure do
|
||||
# Settings specified here will take precedence over those in config/application.rb.
|
||||
|
||||
# Code is not reloaded between requests.
|
||||
config.cache_classes = true
|
||||
|
||||
# Eager load code on boot. This eager loads most of Rails and
|
||||
# your application in memory, allowing both threaded web servers
|
||||
# and those relying on copy on write to perform better.
|
||||
# Rake tasks automatically ignore this option for performance.
|
||||
config.eager_load = true
|
||||
|
||||
# Full error reports are disabled and caching is turned on.
|
||||
config.consider_all_requests_local = false
|
||||
config.action_controller.perform_caching = true
|
||||
|
||||
# Ensures that a master key has been made available in either ENV["RAILS_MASTER_KEY"]
|
||||
# or in config/master.key. This key is used to decrypt credentials (and other encrypted files).
|
||||
# config.require_master_key = true
|
||||
|
||||
# Disable serving static files from the `/public` folder by default since
|
||||
# Apache or NGINX already handles this.
|
||||
config.public_file_server.enabled = ENV['RAILS_SERVE_STATIC_FILES'].present?
|
||||
|
||||
# Compress JavaScripts and CSS.
|
||||
config.assets.js_compressor = Uglifier.new(:harmony => true)
|
||||
# config.assets.css_compressor = :sass
|
||||
|
||||
# Do not fallback to assets pipeline if a precompiled asset is missed.
|
||||
config.assets.compile = false
|
||||
|
||||
# `config.assets.precompile` and `config.assets.version` have moved to config/initializers/assets.rb
|
||||
|
||||
# Enable serving of images, stylesheets, and JavaScripts from an asset server.
|
||||
# config.action_controller.asset_host = 'http://assets.example.com'
|
||||
|
||||
# Specifies the header that your server uses for sending files.
|
||||
# config.action_dispatch.x_sendfile_header = 'X-Sendfile' # for Apache
|
||||
# config.action_dispatch.x_sendfile_header = 'X-Accel-Redirect' # for NGINX
|
||||
|
||||
# Store uploaded files on the local file system (see config/storage.yml for options)
|
||||
config.active_storage.service = :local
|
||||
|
||||
# Mount Action Cable outside main process or domain
|
||||
# config.action_cable.mount_path = nil
|
||||
# config.action_cable.url = 'wss://example.com/cable'
|
||||
# config.action_cable.allowed_request_origins = [ 'http://example.com', /http:\/\/example.*/ ]
|
||||
|
||||
# Force all access to the app over SSL, use Strict-Transport-Security, and use secure cookies.
|
||||
config.force_ssl = true
|
||||
|
||||
# Use the lowest log level to ensure availability of diagnostic information
|
||||
# when problems arise.
|
||||
config.log_level = :info
|
||||
|
||||
# Prepend all log lines with the following tags.
|
||||
config.log_tags = [ :request_id ]
|
||||
|
||||
# Use a different cache store in production.
|
||||
# config.cache_store = :mem_cache_store
|
||||
|
||||
# Use a real queuing backend for Active Job (and separate queues per environment)
|
||||
# config.active_job.queue_adapter = :resque
|
||||
# config.active_job.queue_name_prefix = "decidim_#{Rails.env}"
|
||||
|
||||
config.action_mailer.perform_caching = false
|
||||
|
||||
# Ignore bad email addresses and do not raise email delivery errors.
|
||||
# Set this to true and configure the email server for immediate delivery to raise delivery errors.
|
||||
# config.action_mailer.raise_delivery_errors = false
|
||||
|
||||
# Enable locale fallbacks for I18n (makes lookups for any locale fall back to
|
||||
# the I18n.default_locale when a translation cannot be found).
|
||||
config.i18n.fallbacks = true
|
||||
|
||||
# Send deprecation notices to registered listeners.
|
||||
config.active_support.deprecation = :notify
|
||||
|
||||
# Use default logging formatter so that PID and timestamp are not suppressed.
|
||||
config.log_formatter = ::Logger::Formatter.new
|
||||
config.action_mailer.smtp_settings = {
|
||||
:address => Rails.application.secrets.smtp_address,
|
||||
:port => Rails.application.secrets.smtp_port,
|
||||
:authentication => Rails.application.secrets.smtp_authentication,
|
||||
:user_name => Rails.application.secrets.smtp_username,
|
||||
:password => Rails.application.secrets.smtp_password,
|
||||
:domain => Rails.application.secrets.smtp_domain,
|
||||
:enable_starttls_auto => Rails.application.secrets.smtp_starttls_auto,
|
||||
:openssl_verify_mode => 'none'
|
||||
}
|
||||
|
||||
# Use a different logger for distributed setups.
|
||||
# require 'syslog/logger'
|
||||
# config.logger = ActiveSupport::TaggedLogging.new(Syslog::Logger.new 'app-name')
|
||||
|
||||
if ENV["RAILS_LOG_TO_STDOUT"].present?
|
||||
logger = ActiveSupport::Logger.new(STDOUT)
|
||||
logger.formatter = config.log_formatter
|
||||
config.logger = ActiveSupport::TaggedLogging.new(logger)
|
||||
end
|
||||
|
||||
# Do not dump schema after migrations.
|
||||
config.active_record.dump_schema_after_migration = false
|
||||
end
|
314
decidim/image.d/srv/decidim-app/config/initializers/decidim.rb
Normal file
314
decidim/image.d/srv/decidim-app/config/initializers/decidim.rb
Normal file
@ -0,0 +1,314 @@
|
||||
# frozen_string_literal: true
|
||||
|
||||
require "twilio-ruby"
|
||||
|
||||
Decidim.configure do |config|
|
||||
# The name of the application
|
||||
config.application_name = "Decidim"
|
||||
|
||||
# The email that will be used as sender in all emails from Decidim
|
||||
config.mailer_sender = "admin@example.com"
|
||||
|
||||
# Sets the list of available locales for the whole application.
|
||||
#
|
||||
# When an organization is created through the System area, system admins will
|
||||
# be able to choose the available languages for that organization. That list
|
||||
# of languages will be equal or a subset of the list in this file.
|
||||
config.available_locales = [:cs, :sk, :en, :de, :fr, :es]
|
||||
|
||||
# Sets the default locale for new organizations. When creating a new
|
||||
# organization from the System area, system admins will be able to overwrite
|
||||
# this value for that specific organization.
|
||||
config.default_locale = :cs
|
||||
|
||||
# Restrict access to the system part with an authorized ip list.
|
||||
# You can use a single ip like ("1.2.3.4"), or an ip subnet like ("1.2.3.4/24")
|
||||
# You may specify multiple ip in an array ["1.2.3.4", "1.2.3.4/24"]
|
||||
# config.system_accesslist_ips = ["127.0.0.1"]
|
||||
|
||||
# Defines a list of custom content processors. They are used to parse and
|
||||
# render specific tags inside some user-provided content. Check the docs for
|
||||
# more info.
|
||||
# config.content_processors = []
|
||||
|
||||
# Whether SSL should be enabled or not.
|
||||
# config.force_ssl = true
|
||||
|
||||
# Map and Geocoder configuration
|
||||
#
|
||||
# == HERE Maps ==
|
||||
if !Rails.application.secrets.maps[:api_key].to_s.empty?
|
||||
config.maps = {
|
||||
provider: :here,
|
||||
api_key: Rails.application.secrets.maps[:api_key],
|
||||
static: { url: "https://image.maps.ls.hereapi.com/mia/1.6/mapview" }
|
||||
}
|
||||
end
|
||||
#
|
||||
# == OpenStreetMap (OSM) services ==
|
||||
# To use the OSM map service providers, you will need a service provider for
|
||||
# the following map servers or host all of them yourself:
|
||||
# - A tile server for the dynamic maps
|
||||
# (https://wiki.openstreetmap.org/wiki/Tile_servers)
|
||||
# - A Nominatim geocoding server for the geocoding functionality
|
||||
# (https://wiki.openstreetmap.org/wiki/Nominatim)
|
||||
# - A static map server for static map images
|
||||
# (https://github.com/jperelli/osm-static-maps)
|
||||
#
|
||||
# When used, please read carefully the terms of service for your service
|
||||
# provider.
|
||||
#
|
||||
# config.maps = {
|
||||
# provider: :osm,
|
||||
# api_key: Rails.application.secrets.maps[:api_key],
|
||||
# dynamic: {
|
||||
# tile_layer: {
|
||||
# url: "https://tiles.example.org/{z}/{x}/{y}.png?key={apiKey}&{foo}",
|
||||
# api_key: true,
|
||||
# foo: "bar=baz",
|
||||
# attribution: %(
|
||||
# <a href="https://www.openstreetmap.org/copyright" target="_blank">© OpenStreetMap</a> contributors
|
||||
# ).strip
|
||||
# # Translatable attribution:
|
||||
# # attribution: -> { I18n.t("tile_layer_attribution") }
|
||||
# }
|
||||
# },
|
||||
# static: { url: "https://staticmap.example.org/" },
|
||||
# geocoding: { host: "nominatim.example.org", use_https: true }
|
||||
# }
|
||||
#
|
||||
# == Combination (OpenStreetMap default + HERE Maps dynamic map tiles) ==
|
||||
# config.maps = {
|
||||
# provider: :osm,
|
||||
# api_key: Rails.application.secrets.maps[:api_key],
|
||||
# dynamic: {
|
||||
# provider: :here,
|
||||
# api_key: Rails.application.secrets.maps[:here_api_key]
|
||||
# },
|
||||
# static: { url: "https://staticmap.example.org/" },
|
||||
# geocoding: { host: "nominatim.example.org", use_https: true }
|
||||
# }
|
||||
|
||||
# Geocoder configurations if you want to customize the default geocoding
|
||||
# settings. The maps configuration will manage which geocoding service to use,
|
||||
# so that does not need any additional configuration here. Use this only for
|
||||
# the global geocoder preferences.
|
||||
# config.geocoder = {
|
||||
# # geocoding service request timeout, in seconds (default 3):
|
||||
# timeout: 5,
|
||||
# # set default units to kilometers:
|
||||
# units: :km,
|
||||
# # caching (see https://github.com/alexreisner/geocoder#caching for details):
|
||||
# cache: Redis.new,
|
||||
# cache_prefix: "..."
|
||||
# }
|
||||
|
||||
# Custom resource reference generator method. Check the docs for more info.
|
||||
# config.reference_generator = lambda do |resource, component|
|
||||
# # Implement your custom method to generate resources references
|
||||
# "1234-#{resource.id}"
|
||||
# end
|
||||
|
||||
# Currency unit
|
||||
config.currency_unit = "Kč"
|
||||
|
||||
# Defines the quality of image uploads after processing. Image uploads are
|
||||
# processed by Decidim, this value helps reduce the size of the files.
|
||||
# config.image_uploader_quality = 80
|
||||
|
||||
# The number of reports which a resource can receive before hiding it
|
||||
# config.max_reports_before_hiding = 3
|
||||
|
||||
# Custom HTML Header snippets
|
||||
#
|
||||
# The most common use is to integrate third-party services that require some
|
||||
# extra JavaScript or CSS. Also, you can use it to add extra meta tags to the
|
||||
# HTML. Note that this will only be rendered in public pages, not in the admin
|
||||
# section.
|
||||
#
|
||||
# Before enabling this you should ensure that any tracking that might be done
|
||||
# is in accordance with the rules and regulations that apply to your
|
||||
# environment and usage scenarios. This component also comes with the risk
|
||||
# that an organization's administrator injects malicious scripts to spy on or
|
||||
# take over user accounts.
|
||||
#
|
||||
config.enable_html_header_snippets = false
|
||||
|
||||
# Allow organizations admins to track newsletter links.
|
||||
# config.track_newsletter_links = true
|
||||
|
||||
# Amount of time that the data portability files will be available in the server.
|
||||
# config.data_portability_expiry_time = 7.days
|
||||
|
||||
# Max requests in a time period to prevent DoS attacks. Only applied on production.
|
||||
# config.throttling_max_requests = 100
|
||||
|
||||
# Time window in which the throttling is applied.
|
||||
# config.throttling_period = 1.minute
|
||||
|
||||
# Time window were users can access the website even if their email is not confirmed.
|
||||
# config.unconfirmed_access_for = 2.days
|
||||
|
||||
# A base path for the uploads. If set, make sure it ends in a slash.
|
||||
# Uploads will be set to `<base_path>/uploads/`. This can be useful if you
|
||||
# want to use the same uploads place for both staging and production
|
||||
# environments, but in different folders.
|
||||
#
|
||||
# If not set, it will be ignored.
|
||||
# config.base_uploads_path = nil
|
||||
|
||||
# SMS gateway configuration
|
||||
#
|
||||
# If you want to verify your users by sending a verification code via
|
||||
# SMS you need to provide a SMS gateway service class.
|
||||
#
|
||||
# An example class would be something like:
|
||||
#
|
||||
# class MySMSGatewayService
|
||||
# attr_reader :mobile_phone_number, :code
|
||||
#
|
||||
# def initialize(mobile_phone_number, code)
|
||||
# @mobile_phone_number = mobile_phone_number
|
||||
# @code = code
|
||||
# end
|
||||
#
|
||||
# def deliver_code
|
||||
# # Actual code to deliver the code
|
||||
# true
|
||||
# end
|
||||
# end
|
||||
#
|
||||
# config.sms_gateway_service = "MySMSGatewayService"
|
||||
|
||||
class TwilioSMSGatewayService
|
||||
attr_reader :mobile_phone_number, :code
|
||||
|
||||
def initialize(mobile_phone_number, code)
|
||||
@mobile_phone_number = mobile_phone_number
|
||||
@code = code
|
||||
end
|
||||
|
||||
def deliver_code
|
||||
Rails.logger.debug("Twilio SMS gateway service, verification code is: #{code}, should have been delivered to #{mobile_phone_number}")
|
||||
client.messages.create(
|
||||
from: Rails.application.secrets.twilio[:sender_number],
|
||||
to: mobile_phone_number,
|
||||
body: code
|
||||
)
|
||||
end
|
||||
|
||||
def client
|
||||
::Twilio::REST::Client.new Rails.application.secrets.twilio[:account_sid], Rails.application.secrets.twilio[:auth_token]
|
||||
end
|
||||
end
|
||||
|
||||
if !Rails.application.secrets.maps[:account_sid].to_s.empty?
|
||||
config.sms_gateway_service = "TwilioSMSGatewayService"
|
||||
end
|
||||
|
||||
# Timestamp service configuration
|
||||
#
|
||||
# Provide a class to generate a timestamp for a document. The instances of
|
||||
# this class are initialized with a hash containing the :document key with
|
||||
# the document to be timestamped as value. The istances respond to a
|
||||
# timestamp public method with the timestamp
|
||||
#
|
||||
# An example class would be something like:
|
||||
#
|
||||
# class MyTimestampService
|
||||
# attr_accessor :document
|
||||
#
|
||||
# def initialize(args = {})
|
||||
# @document = args.fetch(:document)
|
||||
# end
|
||||
#
|
||||
# def timestamp
|
||||
# # Code to generate timestamp
|
||||
# "My timestamp"
|
||||
# end
|
||||
# end
|
||||
#
|
||||
# config.timestamp_service = "MyTimestampService"
|
||||
|
||||
# PDF signature service configuration
|
||||
#
|
||||
# Provide a class to process a pdf and return the document including a
|
||||
# digital signature. The instances of this class are initialized with a hash
|
||||
# containing the :pdf key with the pdf file content as value. The instances
|
||||
# respond to a signed_pdf method containing the pdf with the signature
|
||||
#
|
||||
# An example class would be something like:
|
||||
#
|
||||
# class MyPDFSignatureService
|
||||
# attr_accessor :pdf
|
||||
#
|
||||
# def initialize(args = {})
|
||||
# @pdf = args.fetch(:pdf)
|
||||
# end
|
||||
#
|
||||
# def signed_pdf
|
||||
# # Code to return the pdf signed
|
||||
# end
|
||||
# end
|
||||
#
|
||||
# config.pdf_signature_service = "MyPDFSignatureService"
|
||||
|
||||
# Etherpad configuration
|
||||
#
|
||||
# Only needed if you want to have Etherpad integration with Decidim. See
|
||||
# Decidim docs at docs/services/etherpad.md in order to set it up.
|
||||
#
|
||||
# config.etherpad = {
|
||||
# server: Rails.application.secrets.etherpad[:server],
|
||||
# api_key: Rails.application.secrets.etherpad[:api_key],
|
||||
# api_version: Rails.application.secrets.etherpad[:api_version]
|
||||
# }
|
||||
|
||||
# Sets Decidim::Exporters::CSV's default column separator
|
||||
# config.default_csv_col_sep = ";"
|
||||
|
||||
# The list of roles a user can have, not considering the space-specific roles.
|
||||
# config.user_roles = %w(admin user_manager)
|
||||
|
||||
# The list of visibility options for amendments. An Array of Strings that
|
||||
# serve both as locale keys and values to construct the input collection in
|
||||
# Decidim::Amendment::VisibilityStepSetting::options.
|
||||
#
|
||||
# This collection is used in Decidim::Admin::SettingsHelper to generate a
|
||||
# radio buttons collection input field form for a Decidim::Component
|
||||
# step setting :amendments_visibility.
|
||||
# config.amendments_visibility_options = %w(all participants)
|
||||
|
||||
# Machine Translation Configuration
|
||||
#
|
||||
# Enable machine translations
|
||||
config.enable_machine_translations = false
|
||||
#
|
||||
# If you want to enable machine translation you can create your own service
|
||||
# to interact with third party service to translate the user content.
|
||||
#
|
||||
# An example class would be something like:
|
||||
#
|
||||
# class MyTranslationService
|
||||
# attr_reader :text, :original_locale, :target_locale
|
||||
#
|
||||
# def initialize(text, original_locale, target_locale)
|
||||
# @text = text
|
||||
# @original_locale = original_locale
|
||||
# @target_locale = target_locale
|
||||
# end
|
||||
#
|
||||
# def translate
|
||||
# # Actual code to translate the text
|
||||
# end
|
||||
# end
|
||||
#
|
||||
# config.machine_translation_service = "MyTranslationService"
|
||||
|
||||
# Defines the name of the cookie used to check if the user allows Decidim to
|
||||
# set cookies.
|
||||
# config.consent_cookie_name = "decidim-cc"
|
||||
end
|
||||
|
||||
Rails.application.config.i18n.available_locales = Decidim.available_locales
|
||||
Rails.application.config.i18n.default_locale = Decidim.default_locale
|
993
decidim/image.d/srv/decidim-app/config/locales/cs.yml
Normal file
993
decidim/image.d/srv/decidim-app/config/locales/cs.yml
Normal file
@ -0,0 +1,993 @@
|
||||
cs:
|
||||
activemodel:
|
||||
attributes:
|
||||
activity:
|
||||
active: Active
|
||||
description: Popis
|
||||
end_date: Datum ukončení
|
||||
max_minutes_per_day: Maximum minut na den
|
||||
requests_start_at: Požadavky začínají v
|
||||
start_date: Datum zahájení
|
||||
constraint:
|
||||
component_id: Komponenta
|
||||
subject_id: Participativní prostor
|
||||
subject_manifest: Typ participativního prostoru
|
||||
milestone:
|
||||
title: Co jste udělal?
|
||||
task:
|
||||
name: Jméno
|
||||
translation:
|
||||
key: Překladový klíč
|
||||
value: Přizpůsobený termín
|
||||
translation_set:
|
||||
name: Název
|
||||
translations_import:
|
||||
file: Import souboru
|
||||
errors:
|
||||
models:
|
||||
milestone:
|
||||
attributes:
|
||||
attachment:
|
||||
needs_to_be_reattached: Vyžaduje být znovu připojen
|
||||
redirect_rule:
|
||||
attributes:
|
||||
destination:
|
||||
not_recognized: musí být aplikací uznány.
|
||||
source:
|
||||
reserved: nemělo by být vyhrazené slovo.
|
||||
time_event:
|
||||
attributes:
|
||||
activity:
|
||||
finished: Aktivita již byla ukončena
|
||||
inactive: Aktivita není aktivní
|
||||
no_time_available: Uživatel dosáhl maximálního množství času dostupného
|
||||
pro den
|
||||
not_started: Aktivita zatím nezačala
|
||||
assignation:
|
||||
unassigned: Uživatel není přiřazen k úkolu
|
||||
start:
|
||||
date_format: Čas začátku není datum
|
||||
stop:
|
||||
date_format: Čas ukončení není datum
|
||||
stop_before_start: Ukončení je před začátkem
|
||||
translations_import:
|
||||
attributes:
|
||||
file:
|
||||
invalid_mime_type: 'Neplatný typ souboru. Přijímané formáty jsou: %{valid_mime_types}'
|
||||
activerecord:
|
||||
attributes:
|
||||
decidim/ldap_configuration:
|
||||
authentication_query: Authentifikační query
|
||||
dn: Základní doménové jméno
|
||||
email_field: E-mail
|
||||
host: Host
|
||||
name_field: Jméno
|
||||
organization: Organizace
|
||||
password_field: Heslo
|
||||
port: Port
|
||||
username_field: Uživatelské jméno
|
||||
models:
|
||||
decidim:
|
||||
ldap_configuration: LDAP konfigurace
|
||||
decidim/calendar:
|
||||
one: Kalendář
|
||||
other: Kalendáře
|
||||
decidim:
|
||||
admin:
|
||||
actions:
|
||||
add: Přidat
|
||||
confirm_destroy: Potvrdit smazání
|
||||
destroy: Smazat
|
||||
edit: Upravit
|
||||
filters:
|
||||
activity_id_eq:
|
||||
label: Aktivita
|
||||
activity_task_id_eq:
|
||||
label: Úloha
|
||||
search_placeholder:
|
||||
user_name_or_user_nickname_or_user_email_cont: Vyhledejte uživatelské jméno,
|
||||
přezdívku nebo e-mail
|
||||
menu:
|
||||
appearance: Vzhled
|
||||
area_types: Typy oblastí
|
||||
areas: Oblasti
|
||||
configuration: Konfigurace
|
||||
help_sections: Sekce nápovědy
|
||||
homepage: Domovská stránka
|
||||
navbar_links: Odkazy navigační lišty
|
||||
scope_types: Typy oblastí
|
||||
scopes: Oblasti
|
||||
models:
|
||||
assembly:
|
||||
fields:
|
||||
assembly_role: Role ve shromáždění
|
||||
department: Oddělení / oblast
|
||||
department_role: Role oddělení
|
||||
navbar_link:
|
||||
fields:
|
||||
link: Odkaz
|
||||
title: Nadpis
|
||||
weight: Důležitos
|
||||
participatory_process:
|
||||
fields:
|
||||
department: Oddělení / oblast
|
||||
department_role: Role oddělení
|
||||
process_role: Role procesu
|
||||
user:
|
||||
fields:
|
||||
administrated_spaces: Spravované prostory
|
||||
assembly_type: Shromáždění
|
||||
created_at: Vytvořeno v
|
||||
department: Oddělení / oblast
|
||||
private: Soukromí
|
||||
process_type: Proces
|
||||
published: Publikováno
|
||||
roles:
|
||||
assembly_admin: Správce shromáždění
|
||||
department_admin: Správce oddělení
|
||||
participant: Účastník
|
||||
process_admin: Správce procesu
|
||||
space_admin: Správce prostoru
|
||||
search_field_admins: Správci
|
||||
search_field_processes: Procesy
|
||||
search_question: Co hledáte?
|
||||
spaces: Proces / Pravidlo / Shromáždění
|
||||
title: Název
|
||||
type: Typ
|
||||
navbar_links:
|
||||
create:
|
||||
error: Chyba
|
||||
success: Úspěch
|
||||
destroy:
|
||||
success: Úspěch
|
||||
no_links: Žádné odkazy
|
||||
update:
|
||||
error: Chyba
|
||||
success: Úspěch
|
||||
titles:
|
||||
navbar_links: Odkazy navigační lišty
|
||||
users:
|
||||
form:
|
||||
area: Oblast
|
||||
index:
|
||||
filter:
|
||||
all: Vše
|
||||
filter_by: filtrovat podle
|
||||
search: Hledat
|
||||
authorization_handlers:
|
||||
admin:
|
||||
direct_verifications:
|
||||
help:
|
||||
- 'Umožňuje masivní zavedení uživatelů:'
|
||||
- Přímá registrace v organizaci a odeslání pozvánek
|
||||
- Ověřit je pomocí jakékoliv metody aktivního ověření
|
||||
- Zrušit jejich ověření pomocí jakékoli metody aktivního ověření
|
||||
direct_verifications:
|
||||
explanation: Ruční ověření správcem organizace
|
||||
name: Přímé ověření
|
||||
calendar:
|
||||
admin:
|
||||
actions:
|
||||
new_external_event: Nová externí událost
|
||||
external_events:
|
||||
create:
|
||||
invalid: Neplatná externí událost
|
||||
success: Externí událost byla úspěšně vytvořena
|
||||
destroy:
|
||||
success: Externí událost byla úspěšně odstraněna
|
||||
edit:
|
||||
save: Uložit externí událost
|
||||
form:
|
||||
title: Externí událost
|
||||
index:
|
||||
no_records_html: <p>Nebyly vytvořeny žádné externí události.</p> <p>Začněte
|
||||
přidáním externí události tlačítkem "<a href="%{new_set_link}">%{button_name}</a>.</p>
|
||||
title: Externí události
|
||||
new:
|
||||
create: Vytvořit externí událost
|
||||
title: Nová externí událost
|
||||
update:
|
||||
invalid: Chyba při aktualizaci externí události
|
||||
success: Externí událost byla úspěšně aktualizována
|
||||
models:
|
||||
external_events:
|
||||
fields:
|
||||
end_at: Konec v
|
||||
start_at: Začátek v
|
||||
title: Název
|
||||
url: URL
|
||||
index:
|
||||
filters:
|
||||
consultation: Konzultace
|
||||
debate: Debaty
|
||||
external_event: Externí události
|
||||
meeting: Schůzky
|
||||
participatory_step: Účastnický proces
|
||||
title: Globální kalendář
|
||||
menu:
|
||||
calendar: Kalendář
|
||||
gantt: Ganttův graf
|
||||
ical: Stáhnout iCAL
|
||||
components:
|
||||
cookies:
|
||||
accept: Přijmout vše
|
||||
analytics:
|
||||
description: Umožňuje sledování za účelem zlepšení uživatelské zkušenosti
|
||||
consent_modal:
|
||||
description: Tento způsob umožňuje filtrovat soubory cookie, které chcete.
|
||||
decidim:
|
||||
description: Umožňuje zkontrolovat, zda uživatel soubory cookie přijal
|
||||
decidim_session:
|
||||
description: Umožňuje udržovat relaci uživatele aktivní po omezenou dobu.
|
||||
Je nutný ke zlepšení uživatelského komfortu v Decidim
|
||||
matomo:
|
||||
description: Umožňuje sledování za účelem zlepšení uživatelské zkušenosti
|
||||
name: Cookies
|
||||
purposes:
|
||||
ads: Reklamy
|
||||
analytics: Analytika
|
||||
checking: Zkontrolujte souhlas uživatele
|
||||
security: Zabezpečení
|
||||
session: Seance
|
||||
tracking: Trasování
|
||||
department_admin:
|
||||
name: Správce oddělení
|
||||
navbar_links:
|
||||
name: Odkazy navigační lišty
|
||||
navigation_maps:
|
||||
name: Navigační Mapy
|
||||
time_tracker:
|
||||
name: Časový záznam
|
||||
settings:
|
||||
global:
|
||||
activities_label: Název pro "Aktivity"
|
||||
announcement: Oznámení
|
||||
assignations_label: Jméno pro "Přiřazení"
|
||||
milestones_label: Název pro "Milníky"
|
||||
tasks_label: Název pro "Úkoly"
|
||||
time_events_label: Název pro "Čas události"
|
||||
step:
|
||||
announcement: Oznámení
|
||||
views:
|
||||
activity:
|
||||
info: Klikněte na tlačítko pro zaznamenání času.
|
||||
time_elapsed: 'Uplynulý čas:'
|
||||
index:
|
||||
account_message: <a href="%{sign_in_url}">Přihlaste se pomocí svého účtu</a>
|
||||
nebo se <a href="%{sign_up_url}">zaregistrujte</a> pro účast na této
|
||||
aktivitě.
|
||||
data:
|
||||
fill: Vyplňte údaje
|
||||
submit: Odeslat
|
||||
request: Žádost o připojení k aktivitě
|
||||
direct_verifications:
|
||||
verification:
|
||||
admin:
|
||||
direct_verifications:
|
||||
create:
|
||||
authorized: '%{authorized} uživatelů bylo úspěšně ověřeno pomocí [%{handler}]
|
||||
(%{count} detekováno, %{errors} chyb)'
|
||||
info: Zjištěno %{count} uživatelů, z nichž %{registered} jsou registrováni,
|
||||
%{authorized} autorizováni pomocí [%{handler}] (%{unconfirmed} nepotvrzeno)
|
||||
registered: '%{registered} uživatelů bylo úspěšně zaregistrováno (%{count}
|
||||
detekováno, %{errors} chyb) '
|
||||
revoked: Ověření od %{revoked} uživatelů bylo zrušeno pomocí [%{handler}]
|
||||
(%{count} detekováno, %{errors} chyb)
|
||||
gdpr_disclaimer: Udělejte to v rámci vaší odpovědnosti. Nezapomeňte, že
|
||||
potřebujete mít výslovný souhlas svých uživatelů, abyste je mohli zaregistrovat.
|
||||
V opačném případě můžete porušovat nařízení o GDPR v zemích EU.
|
||||
index:
|
||||
stats: Statistiky uživatelů
|
||||
title: Registrovat a autorizovat uživatele
|
||||
new:
|
||||
authorization_handler: Ověřovací metoda
|
||||
authorize: Autorizovat uživatele
|
||||
check: Zkontrolovat stav uživatelů
|
||||
info: Zadejte e-maily zde, jeden na řádek. Pokud e-mailům předchází text,
|
||||
bude interpretován jako jméno uživatele
|
||||
register: Registrovat uživatele na platformě (pokud existují, budou ignorováni)
|
||||
revoke: Zrušit autorizaci od uživatelů
|
||||
submit: Odeslat a zpracovat seznam
|
||||
textarea: Seznam e-mailů
|
||||
stats:
|
||||
index:
|
||||
authorized: Autorizováno
|
||||
authorized_unconfirmed: Autorizováno, ale nepotvrzeno
|
||||
global: '- Jakákoli metoda ověřování -'
|
||||
registered: Registrován
|
||||
unconfirmed: Nepotvrzeno
|
||||
authorizations:
|
||||
new:
|
||||
no_action: Tato metoda vyžaduje administrátora, který vás ověřuje
|
||||
favorites:
|
||||
favorite_button:
|
||||
add_to_favorites: Přidat k oblíbeným
|
||||
remove_from_favorites: Odstranit z oblíbených
|
||||
sign_in_before_favorite: Přihlaste se a přidejte jako oblíbené
|
||||
favorites:
|
||||
index:
|
||||
description_html: <p> Osobní oblíbené položky můžete přidat pomocí tlačítka
|
||||
Přidat do oblíbených. Objeví se na této stránce. </p>
|
||||
icon_description: 'Pomocí této ikony můžete přidat oblíbené položky:'
|
||||
title: Oblíbené
|
||||
show:
|
||||
description_html: <p> Zde vidíte všechny oblíbené položky, které jste přidali
|
||||
v různých fázích procesu. V postranní navigaci můžete vybrat, které oblíbené
|
||||
položky chcete zobrazit. </p>
|
||||
title: Oblíbené
|
||||
side_panel:
|
||||
show_navigation: Zobrazit navigaci
|
||||
favoriting_count:
|
||||
times_added_to_favorites:
|
||||
one: Jedna osoba přidala toto do svých oblíbených
|
||||
other: '%{count} lidí si toto přidalo ke svým oblíbeným'
|
||||
zero: Toto zatím nikdo nepřidal mezi své oblíbené
|
||||
ldap:
|
||||
ldap_configurations:
|
||||
create:
|
||||
error: Při vytváření nové konfigurace LDAP došlo k chybě.
|
||||
success: Konfigurace LDAP byla úspěšně vytvořena.
|
||||
destroy:
|
||||
success: Konfigurace LDAP byla úspěšně zničena.
|
||||
edit:
|
||||
title: Upravit LDAP
|
||||
update: Aktualizovat
|
||||
form:
|
||||
authentication_query: Authentifikační query
|
||||
dn: Základní doménové jméno
|
||||
email_field: E-mail
|
||||
host: Hostitel
|
||||
name_field: Jméno
|
||||
organization: Organizace
|
||||
password_field: Heslo
|
||||
port: Port
|
||||
username_field: Uživatelské jméno
|
||||
index:
|
||||
title: LDAP
|
||||
new:
|
||||
create: Vytvořit
|
||||
title: Nový LDAP
|
||||
update:
|
||||
error: Při aktualizaci této konfigurace LDAP došlo k chybě.
|
||||
success: Konfigurace LDAP byla úspěšně aktualizována.
|
||||
menu:
|
||||
ldap: LDAP
|
||||
models:
|
||||
ldap_configuration:
|
||||
fields:
|
||||
created_at: Vytvořeno v
|
||||
name: Organizace / název domény
|
||||
name: LDAP konfigurace
|
||||
log:
|
||||
value_types:
|
||||
activity_presenter:
|
||||
not_found: 'Aktivita nebyla v databázi nalezena (ID: %{id})'
|
||||
time_tracker_presenter:
|
||||
not_found: 'Komponenta Time Tracker nebyla v databázi nalezena (ID: %{id})'
|
||||
navbar_links:
|
||||
admin:
|
||||
navbar_links:
|
||||
edit:
|
||||
title: Název
|
||||
update: Aktualizace
|
||||
form:
|
||||
link: Odkaz
|
||||
new_tab: Nová záložka
|
||||
same_tab: Stejná záložka
|
||||
title: Nadpis
|
||||
weight: Důležitost
|
||||
new:
|
||||
create: Vytvořit
|
||||
title: Nadpis
|
||||
navigation_maps:
|
||||
admin:
|
||||
areas:
|
||||
create:
|
||||
error: Došlo k chybě při vytváření oblasti
|
||||
success: Oblast byla úspěšně vytvořena
|
||||
form:
|
||||
no_popup: Nepoužívejte vyskakovací okno, odkazujte přímo na oblast.
|
||||
new:
|
||||
area: Detaily nové oblasti
|
||||
cancel: Zrušit
|
||||
save: Uložit
|
||||
show:
|
||||
area: Detaily oblasti
|
||||
cancel: Zrušit
|
||||
link_suggestions: 'Tip: použijte %{map} pro propojení dalších karet'
|
||||
save: Uložit
|
||||
update:
|
||||
error: Došlo k chybě při ukládání oblasti
|
||||
success: Oblast úspěšně uložena
|
||||
content_blocks:
|
||||
name: Navigační Mapy
|
||||
navigation_map:
|
||||
view: Zapojte se
|
||||
navigation_map_settings_form:
|
||||
add: Přidat
|
||||
blueprint_image: Obrázek plánu
|
||||
description: Popis
|
||||
editor: Editor mapy
|
||||
height: Height (px)
|
||||
id: Id
|
||||
image_missing: Pro začátek přidejte obrázek plánu
|
||||
info: Obecné informace
|
||||
link: Odkaz
|
||||
remove_blueprint: Smazat tento plán
|
||||
title: Název
|
||||
type: Typ
|
||||
upload_image: Nahrát obrázek
|
||||
create:
|
||||
error: Chyba při vytváření plánu
|
||||
success: Plán byl úspěšně vytvořen
|
||||
pages:
|
||||
home:
|
||||
statistics:
|
||||
activities_count: Aktivit
|
||||
assignees_count: Dobrovolníků
|
||||
tasks_count: Úloh
|
||||
participatory_processes:
|
||||
statistics:
|
||||
activities_count: Aktivit
|
||||
assignees_count: Dobrovolníků
|
||||
tasks_count: Úloh
|
||||
process_groups_content_block:
|
||||
content_blocks:
|
||||
highlighted_process_groups:
|
||||
name: Zvýrazněné skupiny procesů
|
||||
pages:
|
||||
home:
|
||||
highlighted_process_groups:
|
||||
active_processes: Aktivní procesy
|
||||
see_all_processes: Zobrazit všechny procesy
|
||||
term_customizer:
|
||||
admin:
|
||||
actions:
|
||||
add_multiple_translations: Přidat více
|
||||
back: Zpět
|
||||
cancel: Zrušit
|
||||
clear_cache: Vymazat mezipaměť
|
||||
confirm_duplicate: Opravdu chcete duplikovat tuto sadu?
|
||||
duplicate: Duplikovat
|
||||
help: Nápověda
|
||||
import: Import
|
||||
new_translation: Nový překlad
|
||||
new_translation_set: Nová sada překladu
|
||||
view: Zobrazit
|
||||
add_translations:
|
||||
index:
|
||||
add: Přidat
|
||||
help_html: <p> Začněte zadáním několika písmen, která se objeví na výrazu,
|
||||
který chcete změnit, na vyhledávacím panelu. Počkejte několik sekund
|
||||
a pod vyhledávacím polem se zobrazí seznam všech překladů odpovídajících
|
||||
vašemu vyhledávání. Klikněte na překlady v seznamu, který chcete změnit.
|
||||
Zobrazí se pod vyhledávacím polem v seznamu překladů, které mají být
|
||||
přidány. </p> <p> Jakmile přidáte všechny překlady, které chcete změnit,
|
||||
klikněte na tlačítko „%{button_name}“ ve spodní části obrazovky.</p>
|
||||
help_title: Jak hledat překlady?
|
||||
search: Hledat
|
||||
caches:
|
||||
clear:
|
||||
success: Cache cleared successfully
|
||||
models:
|
||||
translation_sets:
|
||||
fields:
|
||||
name: Název
|
||||
translations:
|
||||
fields:
|
||||
key: Překladový klíč
|
||||
original_term: Původní termín
|
||||
term: Upravený termín
|
||||
titles:
|
||||
add_multiple_translations: Přidat více
|
||||
translation_sets: Překladové sady
|
||||
translations: Překlady
|
||||
translation_sets:
|
||||
constraint_fields:
|
||||
constraint: Omezení
|
||||
remove: Odstranit
|
||||
create:
|
||||
error: Při vytváření sady překladu došlo k chybě.
|
||||
success: Sada překladu byla úspěšně vytvořena.
|
||||
destroy:
|
||||
success: Sada překladu byla úspěšně smazána.
|
||||
duplicate:
|
||||
copied_set_name: Kopie %{name}
|
||||
error: Chyba při duplikování sady překladu.
|
||||
success: Sada překladu byla úspěšně duplikována.
|
||||
edit:
|
||||
save: Uložit
|
||||
title: Sada překladu
|
||||
form:
|
||||
add_constraint: Přidat omezení
|
||||
constraint_help_html: <p> Omezení jsou konkrétní pravidla, která vám umožňují
|
||||
aplikovat přizpůsobení v sadě na konkrétní kontext. </p> <p> Pokud nedefinujete
|
||||
žádná omezení, použijí se přizpůsobení v této sadě na celou aplikaci
|
||||
. Na druhou stranu, pokud chcete, aby se přizpůsobení v této sadě vztahovalo
|
||||
pouze na konkrétní proces, vyberte jako typ participativního prostoru
|
||||
možnost „Participativní procesy“ a jako participativní prostor cílový
|
||||
proces. Kromě toho můžete také použít přizpůsobení na konkrétní komponentu
|
||||
definováním komponenty pro omezení. </p> <p> Pokud definujete více omezení,
|
||||
přizpůsobení se použijí ve všech z nich. </p>
|
||||
constraint_help_title: Co jsou omezení?
|
||||
help_html: <p> Sada překladu je „kontejner“, který obsahuje překlady pro
|
||||
konkrétní kontext, který chcete upravit. </p> <p> Sada překladu vám
|
||||
pomůže uspořádat přizpůsobení a použít je v různých kontextech. To vám
|
||||
umožní přizpůsobit stejný překlad odlišně v různých kontextech. </p>
|
||||
<p> Pokud například chcete přizpůsobit tlačítko s výrazem „Přidat“ odlišně
|
||||
pro různé participativní procesy, můžete vytvořit samostatné překladové
|
||||
sady pro oba procesy a použít sadu na tyto procesy pomocí omezení.</p>
|
||||
help_title: Co je překladová sada?
|
||||
title: Překladová sada
|
||||
index:
|
||||
no_records_html: <p> Nejsou k dispozici žádné překladové sady. </p> <p>
|
||||
Začněte přidáním překladové sady pomocí tlačítka „<a href="%{new_set_link}">%{button_name}</a>“.</p>
|
||||
new:
|
||||
create: Vytvořit
|
||||
title: Překladové sady
|
||||
update:
|
||||
error: Při aktualizaci překladové sady došlo k chybě.
|
||||
success: Překladová sada byla úspěšně aktualizována.
|
||||
translations:
|
||||
create:
|
||||
error: Chyba při vytváření překladu.
|
||||
success: Překlad byl úspěšně vytvořen.
|
||||
destroy:
|
||||
success: Překlad byl úspěšně smazán.
|
||||
edit:
|
||||
save: Uložit
|
||||
title: Překlad
|
||||
form:
|
||||
help_html: <p> Překladový klíč je technický odkaz na překlad, který má
|
||||
být přeložen. Toto není termín, který chcete změnit, ale technický klíč,
|
||||
který odkazuje na tento překlad. </p> <p> Například pokud chcete změnit
|
||||
výraz <em> „Procesy“ </em> v horní nabídce, použili byste klíč <em>
|
||||
"decidim.menu.processes" </em>. </p> <p> <a href="https://guides.rubyonrails.org/i18n.html"
|
||||
target = "_blank"> Další informace o internacionalizaci Rails </a>.
|
||||
</p>
|
||||
help_title: Co je překladový klíč?
|
||||
term_help_html: <p> Přizpůsobený výraz je konečné slovo, které se má v
|
||||
uživatelském rozhraní zobrazit místo původního výrazu. Je zřejmé, že
|
||||
přizpůsobený výraz se může u každého povoleného jazyka lišit. </p>
|
||||
term_help_title: Co je přizpůsobený termín?
|
||||
title: Překlad
|
||||
import:
|
||||
error: Chyba při importu překladů
|
||||
success: Překlady byly úspěšně importovány.
|
||||
index:
|
||||
actions: Akce
|
||||
no_records_html: <p> V této sadě nejsou k dispozici žádné překlady. </p>
|
||||
<p> Začněte přidáním překladů do této sady. Nejjednodušší je použít
|
||||
tlačítko „<a href="%{add_multiple_link}">%{button_name}</a>“, kde můžete
|
||||
vyhledávat překlady se stejnými výrazy, jaké vidíte v uživatelském rozhraní.
|
||||
</p>
|
||||
selected: vybrané
|
||||
new:
|
||||
create: Vytvořit
|
||||
title: Překlady
|
||||
new_import:
|
||||
accepted_mime_types:
|
||||
csv: CSV
|
||||
json: JSON
|
||||
xls: XLS
|
||||
file_legend: 'Přidejte soubor pro import, který bude analyzován pro překlady.
|
||||
Podporované formáty jsou: %{valid_mime_types}'
|
||||
start_import: Start importu
|
||||
title: Import překladů
|
||||
zip_hint: Soubor ZIP můžete také nahrát z exportu překladů.
|
||||
update:
|
||||
error: Chyba při aktualizaci překladu.
|
||||
success: Překlad byl úspěšně aktualizován.
|
||||
translations_destroys:
|
||||
destroy:
|
||||
error: Chyba při mazání překladů.
|
||||
success: Překlady byly úspěšně smazány.
|
||||
new:
|
||||
destroy: Smazat
|
||||
title: Překlady smazat
|
||||
menu:
|
||||
term_customizer: Přizpůsobovač termínů
|
||||
time_tracker:
|
||||
admin:
|
||||
actions:
|
||||
title: Akce
|
||||
activities:
|
||||
actions:
|
||||
assignations: Správa přiřazení
|
||||
confirm_destroy: Opravdu chcete odstranit tuto aktivitu?
|
||||
destroy: Odstranit aktivitu
|
||||
edit: Upravit aktivitu
|
||||
new: Nová aktivita
|
||||
create:
|
||||
error: Chyba vytváření aktivity
|
||||
success: Aktivita byla úspěšně vytvořena
|
||||
destroy:
|
||||
success: Aktivita úspěšně smazána
|
||||
edit:
|
||||
submit: Změnit aktivitu
|
||||
title: Upravit aktivitu
|
||||
index:
|
||||
title: Úkolové aktivity
|
||||
new:
|
||||
submit: Vytvořit aktivitu
|
||||
title: Nová aktivita
|
||||
update:
|
||||
error: Chyba při aktualizaci aktivity
|
||||
success: Akce byla úspěšně aktualizována
|
||||
assignations:
|
||||
actions:
|
||||
accept: Přijmout
|
||||
accept_all: Přijmout všechny čekající přiřazení
|
||||
assignations: Správa přiřazení
|
||||
confirm_destroy: Opravdu chcete odstranit toto přiřazení?
|
||||
destroy: Odstranit přiřazení
|
||||
new: Nové přiřazení
|
||||
reject: Odmítnout
|
||||
create:
|
||||
error: Chyba při vytváření přiřazení
|
||||
success: Přiřazení bylo úspěšně vytvořeno
|
||||
destroy:
|
||||
error: Chyba při odstraňování přiřazení
|
||||
succcess: Přiřazení bylo úspěšně odstraněno
|
||||
form:
|
||||
existing_user: Existující účastník
|
||||
non_user: Není účastníkem
|
||||
select_user: Vybrat účastníka
|
||||
user_type: Typ účastníka
|
||||
index:
|
||||
title: Přiřazení
|
||||
new:
|
||||
create: Vytvořit přiřazení
|
||||
title: Nové přiřazení k této aktivitě
|
||||
update:
|
||||
error: Chyba při aktualizaci přiřazení
|
||||
success: Přiřazená osoba úspěšně aktualizována
|
||||
breadcrumbs:
|
||||
assignations: Přiřazení
|
||||
global: Všechny úkoly
|
||||
stats: Statistiky
|
||||
exports:
|
||||
time_tracker_activity_questionnaire_answers: Odpovědi na dotazník o činnosti
|
||||
time_tracker_assignee_questionnaire_answers: Odpovědi na dotazník přiřazeného
|
||||
models:
|
||||
activity:
|
||||
name: Aktivita
|
||||
assignation:
|
||||
name: Přiřazení
|
||||
task:
|
||||
name: Úloha
|
||||
questionnaires:
|
||||
index:
|
||||
title: Dotazník
|
||||
questionnaire:
|
||||
edit: Upravit dotazník
|
||||
stats:
|
||||
index:
|
||||
title: Statistiky
|
||||
tasks:
|
||||
actions:
|
||||
confirm_destroy: Jste si jisti, že chcete odstranit tento úkol?
|
||||
destroy: Smazat úkol
|
||||
edit: Upravit úkol
|
||||
new: Nová úloha
|
||||
activity_questionnaire:
|
||||
title: Dotazník o činnosti
|
||||
assignations:
|
||||
bulk_invalid: Chyba, %{count} účastníků nelze přiřadit
|
||||
bulk_ok: Úspěšně přiřazeno %{count} účastníků
|
||||
pending: Čekající přiřazení
|
||||
assignee_questionnaire:
|
||||
title: Podmínky a zásady Dotazníku
|
||||
create:
|
||||
error: Chyba při vytváření úlohy
|
||||
success: Úloha úspěšně vytvořena
|
||||
destroy:
|
||||
success: Úloha úspěšně smazána
|
||||
edit:
|
||||
submit: Aktualizovat
|
||||
title: Aktualizovat úkol
|
||||
index:
|
||||
title: Úlohy
|
||||
new:
|
||||
submit: Vytvořit
|
||||
title: Vytvořit úkol
|
||||
update:
|
||||
error: Chyba při aktualizaci úlohy
|
||||
success: Úloha úspěšně aktualizována
|
||||
time_tracker_exports:
|
||||
create:
|
||||
error: Chyba při importu dat o sledování času do odpovědnosti
|
||||
success: Data sledování času byla úspěšně exportována do odpovědnosti
|
||||
admin_log:
|
||||
activity:
|
||||
create: '%{user_name} vytvořil aktivitu %{resource_name}'
|
||||
delete: '%{user_name} odstranil aktivitu %{resource_name}'
|
||||
update: '%{user_name} aktualizoval aktivitu %{resource_name}'
|
||||
assignation:
|
||||
create: '%{user_name} vytvořil přiřazení'
|
||||
delete: '%{user_name} odstranil přiřazení'
|
||||
update: '%{user_name} aktualizoval přiřazení'
|
||||
task:
|
||||
create: '%{user_name} vytvořil úkol %{resource_name}'
|
||||
delete: '%{user_name} odstranil úkol %{resource_name}'
|
||||
update: '%{user_name} aktualizoval úkol %{resource_name}'
|
||||
assignations:
|
||||
request:
|
||||
error: Při přiřazování k této aktivitě došlo k chybě.
|
||||
success: Úspěšně jste požádali o připojení k této aktivitě!
|
||||
show:
|
||||
assignations_activity: Aktivita %{user_name}
|
||||
milestones_list: Seznam milníků
|
||||
clock:
|
||||
hours: '%{n}h'
|
||||
minutes: '%{n}m'
|
||||
seconds: '%{n}s'
|
||||
default_activity_questionnaire:
|
||||
description: Děkujeme, že jste vyplnili tento dotazník! Ptáme se na vás tento
|
||||
soubor otázek, který vám pomůže pochopit, zda je váš projekt (a jeho akce
|
||||
prováděné na dobrovolném základě) vyvážený, pokud jde o rozdělení úkolů
|
||||
kvůli pohlaví. Zohlednění těchto otázek může být také užitečnou příležitostí
|
||||
k analýze toho, co je považováno za důležité a kdo tyto úkoly obvykle plní.
|
||||
question_1:
|
||||
body: Jak je podle vás tento úkol důležitý?
|
||||
description: Od 1 do 5 považujete tento úkol za nejdůležitější (5), vůbec
|
||||
není důležitý (1) nebo něco mezi tím?
|
||||
option_1: 1 (vůbec není důležitý)
|
||||
option_2: 2 (nepříliš důležité)
|
||||
option_3: 3 (Spíše důležité)
|
||||
option_4: 4 (Velmi důležité)
|
||||
option_5: 5 (Nejdůležitější)
|
||||
question_2:
|
||||
body: Kdo si myslíte, že tento úkol obvykle plní?
|
||||
description: Myslíte si, že tento úkol plní většinou lidé, kteří se ztotožňují
|
||||
s určitým pohlavím?
|
||||
option_1: Většinou ženy
|
||||
option_2: Většinou muži
|
||||
option_3: Nevidím rozdíly podle pohlaví
|
||||
option_4: Ostatní
|
||||
title: Jak vnímáte tento úkol?
|
||||
tos: Údaje, které zde byly zodpovězeny, se považují za důvěrné a používají
|
||||
se pouze pro statistické účely. Také platí všeobecné <a href="/pages/terms-and-conditions">Podmínky</a>.
|
||||
Odesláním tohoto dotazníku s nimi souhlasíte.
|
||||
default_assignee_questionnaire:
|
||||
description: Děkujeme za vyplnění tohoto dotazníku! Ptáme se vás na tento
|
||||
soubor otázek, abychom vám pomohli pochopit, zda je váš projekt (a jeho
|
||||
akce prováděné na základě dobrovolnosti) vyvážený z hlediska rozdělení úkolů
|
||||
z důvodu pohlaví.
|
||||
question_1:
|
||||
body: S jakým pohlavím se ztotožňujete?
|
||||
description: Vyberte možnost, která nejlépe odpovídá vaší genderové identitě.
|
||||
option_1: Žena
|
||||
option_2: muž
|
||||
option_3: Ne-binární
|
||||
option_4: Ostatní
|
||||
question_2:
|
||||
body: Jaký je váš věk?
|
||||
description: Vyberte si svůj věkový rozsah
|
||||
option_1: Pod 15
|
||||
option_10: 55 až 60
|
||||
option_11: 65 až 70
|
||||
option_12: 70 až 75
|
||||
option_13: 75 až 80
|
||||
option_14: 80 až 85
|
||||
option_15: 85 až 90
|
||||
option_16: Přes 90
|
||||
option_2: 15 až 20
|
||||
option_3: 20 až 25
|
||||
option_4: 25 až 30
|
||||
option_5: 30 až 35
|
||||
option_6: 35 až 40
|
||||
option_7: 40 až 45
|
||||
option_8: 45 až 50
|
||||
option_9: 50 až 55
|
||||
title: Podmínky použití a demografické údaje
|
||||
tos: Údaje, které zde byly zodpovězeny, se považují za důvěrné a používají
|
||||
se pouze pro statistické účely. Také platí všeobecné <a href="/pages/terms-and-conditions">Podmínky</a>.
|
||||
Odesláním tohoto dotazníku s nimi souhlasíte.
|
||||
milestone:
|
||||
dedicated_time: '%{hours}h %{minutes}m %{seconds}s'
|
||||
time_dedicated: Vyhrazený čas
|
||||
title: Aktivita %{user_name}
|
||||
milestone_form:
|
||||
button_no: Ne, děkuji
|
||||
button_submit: Uložit
|
||||
description: Podělte se o důkaz své práce nahráním obrázku a krátkého popisu
|
||||
toho, čeho jste dosáhli.
|
||||
input_file: Soubor
|
||||
input_title: Název
|
||||
title: Zanechte svou značku!
|
||||
milestones:
|
||||
create:
|
||||
error: Chyba při vytváření milníku
|
||||
success: Milník byl úspěšně vytvořen
|
||||
index:
|
||||
assignations_activity: Aktivita %{user_name}
|
||||
back_to_list: Zpět k aktivitám
|
||||
joined_on: Přidal/a se dne
|
||||
last_worked_on: Naposledy pracoval
|
||||
total_time: Celkový vyhrazený čas
|
||||
milestone:
|
||||
time_dedicated: Vyhrazený čas
|
||||
models:
|
||||
activity:
|
||||
fields:
|
||||
assignations_accepted: Přijaté přiřazení
|
||||
assignations_pending: Čekající přiřazení
|
||||
description: Popis
|
||||
end_date: Datum ukončení
|
||||
max_minutes_per_day: Max. minut denně
|
||||
requests_start_at: Požadavky začínají v
|
||||
start_date: Datum zahájení
|
||||
status: Stav
|
||||
statuses:
|
||||
finished: Dokončeno
|
||||
inactive: Neaktivní
|
||||
not_started: Nezahájeno
|
||||
open: Otevřeno
|
||||
name: Aktivita
|
||||
assignation:
|
||||
fields:
|
||||
activity: Aktivita
|
||||
email: E-mail
|
||||
invited_at: Pozván na
|
||||
invited_by: Pozván od
|
||||
name: Jméno
|
||||
requested_at: Požadováno v %{time}
|
||||
status: Stav
|
||||
statuses:
|
||||
accepted: Přijato
|
||||
pending: Čekající
|
||||
rejected: Odmítnuto
|
||||
task: Úloha
|
||||
time_dedicated: Vyhrazený čas
|
||||
tos_accepted_at: Členem od
|
||||
name: Přiřazení
|
||||
questionnaire:
|
||||
fields:
|
||||
name: Jméno
|
||||
title: Název
|
||||
task:
|
||||
fields:
|
||||
activities_count: Počet aktivit
|
||||
activities_end_at: Poslední aktivita končí v
|
||||
activities_start_at: První aktivita začíná v
|
||||
assignations_accepted: Přijaté přiřazení
|
||||
assignations_pending: Čekající přiřazení
|
||||
name: Jméno
|
||||
name: Úloha
|
||||
reports:
|
||||
user:
|
||||
index:
|
||||
accepted: Přijato
|
||||
dedicated_time: 'Dosud vyhrazený čas: %{time}'
|
||||
empty: Nemáte žádné přiřazení aktivit
|
||||
pending: Čekající
|
||||
time_events:
|
||||
start:
|
||||
already_started: Počítadlo je již spuštěno
|
||||
error: Chyba při spuštění počítadla
|
||||
success: Počítadlo bylo úspěšně spuštěno
|
||||
stop:
|
||||
already_stopped: Počítadlo již zastaveno
|
||||
error: Chyba při zastavování počítadla
|
||||
success: Počítadlo se úspěšně zastavilo
|
||||
time_tracker:
|
||||
activity:
|
||||
counter_stopped: Počítadlo bylo automaticky zastaveno
|
||||
questionnaire:
|
||||
answered: Děkujeme za zodpovězení dotazníku!
|
||||
respond: Co si myslíte o tomto úkolu?
|
||||
assignee_data:
|
||||
answer: Začněme!
|
||||
description: Abychom lépe porozuměli našim účastníkům a jejich vztahu k
|
||||
těmto úkolům, žádáme vás, abyste vyplnili několik otázek týkajících se
|
||||
vašeho demografického profilu. Před registrací k jakémukoli úkolu se také
|
||||
chceme ujistit, že souhlasíte s podmínkami použití. Děkujeme!
|
||||
title: Podmínky použití a demografické údaje
|
||||
callout_status:
|
||||
finished: Ukončeno %{end_date}
|
||||
inactive: Neaktivní
|
||||
not_started: Začíná %{start_date}
|
||||
open: Otevřít, začalo %{start_date}
|
||||
idle_activity:
|
||||
assignation_pending: Již aplikováno! Brzy správce zkontroluje vaši žádost.
|
||||
assignation_rejected: Omlouváme se, Vaše žádost byla zamítnuta.
|
||||
index:
|
||||
empty: Zatím nejsou žádné aktivity.
|
||||
milestones_list: Lidé pracující v této aktivitě
|
||||
questionnaire_in_preview_mode: Na tento dotazník nelze v režimu náhledu odpovědět!
|
||||
request_activity:
|
||||
assignation_pending: Již aplikováno! Brzy správce zkontroluje vaši žádost.
|
||||
assignation_rejected: Omlouváme se, Vaše žádost byla zamítnuta.
|
||||
assignee_questionnaire: Přijměte prosím <a href="%{path}" target="_blank">Podmínky
|
||||
užití</a> abyste se mohli připojit se k aktivitě.
|
||||
time_tracker_activity_questionnaire_answers_serializer:
|
||||
activity_description: Aktivita
|
||||
activity_id: ID aktivity
|
||||
created_at: Zodpovězeno
|
||||
id: ID odpovědi
|
||||
ip_hash: Ip Hash
|
||||
registered: Registrován
|
||||
task_id: ID úkolu
|
||||
task_name: Úloha
|
||||
unregistered: Neregistrovaný
|
||||
user_status: Stav uživatele
|
||||
url_aliases:
|
||||
admin:
|
||||
decidim:
|
||||
url_aliases:
|
||||
admin:
|
||||
redirect_rules:
|
||||
index:
|
||||
'no': ne
|
||||
'yes': ano
|
||||
menu:
|
||||
url_aliases: Přesměrování
|
||||
models:
|
||||
redirect_rule:
|
||||
fields:
|
||||
active: Aktivní
|
||||
destination: Cíl
|
||||
id: Id
|
||||
source: Zdroj
|
||||
source_is_case_sensitive: Rozlišuje velká a malá písmena
|
||||
redirect_rules:
|
||||
create:
|
||||
error: Při vytváření přesměrování došlo k chybě.
|
||||
success: Přesměrování bylo úspěšně vytvořeno.
|
||||
destroy:
|
||||
error: Při odstraňování přesměrování došlo k chybě.
|
||||
success: Přesměrování bylo úspěšně odstraněno.
|
||||
edit:
|
||||
title: Upravit přesměrování
|
||||
update: Aktualizace
|
||||
form:
|
||||
active: Aktivní
|
||||
destination_example: /processes/process-slug
|
||||
destination_help: Cesta, na kterou budou vaši návštěvníci přesměrováni.
|
||||
Přijaty jsou pouze cíle rozpoznané aplikací.
|
||||
source_example: /my-custom-url
|
||||
source_help: Cesta, ze které budou vaši návštěvníci přesměrováni. Musí
|
||||
začínat znakem „/“ a může obsahovat pouze písmena, číslice, pomlčky
|
||||
a podtržítka.
|
||||
source_is_case_sensitive: Zdroj rozlišuje velká a malá písmena
|
||||
new:
|
||||
create: Vytvořit
|
||||
title: Nové přesměrování
|
||||
no_redirect_rules: Nejsou k dispozici žádná přesměrování
|
||||
update:
|
||||
error: Při aktualizaci přesměrování došlo k chybě.
|
||||
success: Přesměrování bylo aktualizováno
|
||||
titles:
|
||||
redirect_rules: Přesměrování
|
||||
admin_log:
|
||||
create: '%{user_name} vytvořil %{resource_name} s ID %{resource_id}'
|
||||
delete: '%{user_name} smazal %{resource_name} s ID %{resource_id}'
|
||||
update: '%{user_name} aktualizoval %{resource_name} s ID %{resource_id}'
|
||||
format_error: musí začínat „/“ a obsahovat pouze písmena, číslice, pomlčky a
|
||||
podtržítka.
|
||||
verifications:
|
||||
authorizations:
|
||||
first_login:
|
||||
actions:
|
||||
direct_verifications: Přímé ověření
|
||||
decidim_navbar_links:
|
||||
admin:
|
||||
menu:
|
||||
navbar_links: Odkazy navigační lišty
|
||||
devise:
|
||||
failure:
|
||||
user:
|
||||
ldap_invalid: Neplatné jméno nebo heslo
|
||||
mailer:
|
||||
direct_invite:
|
||||
subject: Pokyny pro pozvání
|
||||
layouts:
|
||||
decidim:
|
||||
admin:
|
||||
settings:
|
||||
title: Nadpis
|
||||
footer:
|
||||
revoke_cookies: Odmítnutí přijetí cookies
|
||||
user_profile:
|
||||
time_tracker: Moje dobrovolnická práce
|
81
decidim/image.d/srv/decidim-app/config/secrets.yml
Normal file
81
decidim/image.d/srv/decidim-app/config/secrets.yml
Normal file
@ -0,0 +1,81 @@
|
||||
# Be sure to restart your server when you modify this file.
|
||||
|
||||
# Your secret key is used for verifying the integrity of signed cookies.
|
||||
# If you change this key, all old signed cookies will become invalid!
|
||||
|
||||
# Make sure the secret is at least 30 characters and all random,
|
||||
# no regular words or you'll be exposed to dictionary attacks.
|
||||
# You can use `rails secret` to generate a secure secret key.
|
||||
|
||||
# Make sure the secrets in this file are kept private
|
||||
# if you're sharing your code publicly.
|
||||
|
||||
default: &default
|
||||
omniauth:
|
||||
facebook:
|
||||
# It must be a boolean. Remember ENV variables doesn't support booleans.
|
||||
enabled: false
|
||||
app_id: <%= ENV["OMNIAUTH_FACEBOOK_APP_ID"] %>
|
||||
app_secret: <%= ENV["OMNIAUTH_FACEBOOK_APP_SECRET"] %>
|
||||
twitter:
|
||||
enabled: false
|
||||
api_key: <%= ENV["OMNIAUTH_TWITTER_API_KEY"] %>
|
||||
api_secret: <%= ENV["OMNIAUTH_TWITTER_API_SECRET"] %>
|
||||
google_oauth2:
|
||||
enabled: false
|
||||
icon_path: decidim/brands/google.svg
|
||||
client_id: <%= ENV["OMNIAUTH_GOOGLE_CLIENT_ID"] %>
|
||||
client_secret: <%= ENV["OMNIAUTH_GOOGLE_CLIENT_SECRET"] %>
|
||||
maps:
|
||||
api_key: <%= ENV["MAPS_API_KEY"] %>
|
||||
etherpad:
|
||||
server: <%= ENV["ETHERPAD_SERVER"] %>
|
||||
api_key: <%= ENV["ETHERPAD_API_KEY"] %>
|
||||
api_version: "1.2.1"
|
||||
bulletin_board:
|
||||
identification_private_key: |
|
||||
|
||||
server:
|
||||
api_key:
|
||||
twilio:
|
||||
account_sid: <%= ENV["TWILIO_ACCOUNT_SID"] %>
|
||||
auth_token: <%= ENV["TWILIO_AUTH_TOKEN"] %>
|
||||
sender_number: <%= ENV["TWILIO_SENDER_NUMBER"] %>
|
||||
|
||||
development:
|
||||
<<: *default
|
||||
secret_key_base: 8c1ae960e908eeb50b0a0d95ad2318277a5a8ffb3202c242ab5e8642946c8c4cffba1a8afa54e9fbe4386ab2af880ad4fd2a467d3e2e37c9b279e2badb9bfbb9
|
||||
omniauth:
|
||||
developer:
|
||||
enabled: true
|
||||
icon: phone
|
||||
|
||||
test:
|
||||
<<: *default
|
||||
secret_key_base: e6f5a697254308dcb178c4945e55e6846d4770ef2ec2d07b9926313aebc7928bcc2d7331c273a2f02b730943adb304d8dc9cd54ea55be90e31a07f2690f20636
|
||||
omniauth:
|
||||
facebook:
|
||||
enabled: true
|
||||
app_id: fake-facebook-app-id
|
||||
app_secret: fake-facebook-app-secret
|
||||
twitter:
|
||||
enabled: true
|
||||
api_key: fake-twitter-api-key
|
||||
api_secret: fake-twitter-api-secret
|
||||
google_oauth2:
|
||||
enabled: true
|
||||
client_id:
|
||||
client_secret:
|
||||
|
||||
# Do not keep production secrets in the repository,
|
||||
# instead read values from the environment.
|
||||
production:
|
||||
<<: *default
|
||||
secret_key_base: <%= ENV["SECRET_KEY_BASE"] %>
|
||||
smtp_username: <%= ENV["SMTP_USERNAME"] %>
|
||||
smtp_password: <%= ENV["SMTP_PASSWORD"] %>
|
||||
smtp_address: <%= ENV["SMTP_ADDRESS"] %>
|
||||
smtp_domain: <%= ENV["SMTP_DOMAIN"] %>
|
||||
smtp_port: "587"
|
||||
smtp_starttls_auto: true
|
||||
smtp_authentication: "plain"
|
Binary file not shown.
File diff suppressed because it is too large
Load Diff
After Width: | Height: | Size: 1.2 MiB |
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
File diff suppressed because it is too large
Load Diff
After Width: | Height: | Size: 1.1 MiB |
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
File diff suppressed because it is too large
Load Diff
After Width: | Height: | Size: 1.1 MiB |
Binary file not shown.
Binary file not shown.
Binary file not shown.
36
docker-compose.yml
Normal file
36
docker-compose.yml
Normal file
@ -0,0 +1,36 @@
|
||||
---
|
||||
version: '3'
|
||||
services:
|
||||
|
||||
decidim:
|
||||
build: decidim
|
||||
image: decidim:0.23.6-210515
|
||||
restart: unless-stopped
|
||||
depends_on:
|
||||
- decidim-postgres
|
||||
env_file:
|
||||
- .env
|
||||
expose:
|
||||
- 8080
|
||||
ports:
|
||||
- 8080:8080
|
||||
volumes:
|
||||
- decidim_migrate:/srv/decidim-app/db/migrate
|
||||
- decidim_storage:/srv/decidim-app/storage
|
||||
- decidim_uploads:/srv/decidim-app/public/uploads
|
||||
|
||||
decidim-postgres:
|
||||
image: postgres:12-alpine
|
||||
restart: unless-stopped
|
||||
environment:
|
||||
- POSTGRES_USER
|
||||
- POSTGRES_PASSWORD
|
||||
- POSTGRES_DB
|
||||
volumes:
|
||||
- postgres_data:/var/lib/postgresql/data
|
||||
|
||||
volumes:
|
||||
decidim_migrate:
|
||||
decidim_storage:
|
||||
decidim_uploads:
|
||||
postgres_data:
|
Loading…
Reference in New Issue
Block a user