diff options
Diffstat (limited to 'config')
111 files changed, 6420 insertions, 0 deletions
diff --git a/config/application.rb b/config/application.rb new file mode 100644 index 0000000..d09cf24 --- /dev/null +++ b/config/application.rb @@ -0,0 +1,65 @@ +require File.expand_path('../boot', __FILE__) + +require 'rails/all' + +if defined?(Bundler) + # If you precompile assets before deploying to production, use this line + Bundler.require *Rails.groups(:assets => %w(development test)) + # If you want your assets lazily compiled in production, use this line + # Bundler.require(:default, :assets, Rails.env) +end + +module Gemeinschaft42c + class Application < Rails::Application + # Settings in config/environments/* take precedence over those specified here. + # Application configuration should go into files in config/initializers + # -- all .rb files in that directory are automatically loaded. + + # Custom directories with classes and modules you want to be autoloadable. + # config.autoload_paths += %W(#{config.root}/extras) + + # Only load the plugins named here, in the order given (default is alphabetical). + # :all can be used as a placeholder for all plugins not explicitly named. + # config.plugins = [ :exception_notification, :ssl_requirement, :all ] + + # --- rather use Apache + Passenger for SSL -----{ + #config.plugins = [ :exception_notification, :ssl_requirement, :all ] + + #config.middleware.insert_before ActionDispatch::Static, "Rack::SSL" + #config.middleware.insert_before ActionDispatch::Static, Rack::SSL, :exclude => proc { |env| env['HTTPS'] != 'on' } + #config.force_ssl = true + + #require 'rack/ssl' + #config.middleware.use Rack::SSL + # -----------------------------------------------} + + + # Activate observers that should always be running. + # config.active_record.observers = :cacher, :garbage_collector, :forum_observer + + # Set Time.zone default to the specified zone and make Active Record auto-convert to this zone. + # Run "rake -D time" for a list of tasks for finding time zone names. Default is UTC. + # config.time_zone = 'Central Time (US & Canada)' + config.time_zone = 'Berlin' + config.active_record.default_timezone = :utc + + # The default locale is :en and all translations from config/locales/*.rb,yml are auto loaded. + config.i18n.load_path += Dir[Rails.root.join('config', 'locales', '*', '*', '*.{rb,yml}').to_s] + # config.i18n.default_locale = :de + + # Configure the default encoding used in templates for Ruby 1.9. + config.encoding = "utf-8" + + # Configure sensitive parameters which will be filtered from the log file. + config.filter_parameters += [:password, :password_confirmation, :pin, :voicemail_pin] + + # Enable the asset pipeline + config.assets.enabled = true + + # Version of your assets, change this if you want to expire all your assets + config.assets.version = '1.0' + + # Load the PhoneControllers + config.autoload_paths += %W(#{config.root}/lib/phone_controllers) + end +end diff --git a/config/boot.rb b/config/boot.rb new file mode 100644 index 0000000..4489e58 --- /dev/null +++ b/config/boot.rb @@ -0,0 +1,6 @@ +require 'rubygems' + +# Set up gems listed in the Gemfile. +ENV['BUNDLE_GEMFILE'] ||= File.expand_path('../../Gemfile', __FILE__) + +require 'bundler/setup' if File.exists?(ENV['BUNDLE_GEMFILE']) diff --git a/config/database.yml b/config/database.yml new file mode 100644 index 0000000..4ea8d4a --- /dev/null +++ b/config/database.yml @@ -0,0 +1,22 @@ +development: + adapter: sqlite3 + database: db/development.sqlite3 + pool: 5 + timeout: 5000 + +production: + adapter: sqlite3 + database: db/development.sqlite3 + pool: 5 + timeout: 5000 + +# Warning: The database defined as "test" will be erased and +# re-generated from your development database when you run "rake". +# Do not set this db to the same as development or production. + +test: + adapter: sqlite3 + database: db/test<%= ENV['TEST_ENV_NUMBER'] %>.sqlite3 + pool: 5 + timeout: 5000 + diff --git a/config/environment.rb b/config/environment.rb new file mode 100644 index 0000000..efe867e --- /dev/null +++ b/config/environment.rb @@ -0,0 +1,5 @@ +# Load the rails application +require File.expand_path('../application', __FILE__) + +# Initialize the rails application +Gemeinschaft42c::Application.initialize! diff --git a/config/environments/development.rb b/config/environments/development.rb new file mode 100644 index 0000000..bd34e4f --- /dev/null +++ b/config/environments/development.rb @@ -0,0 +1,45 @@ +Gemeinschaft42c::Application.configure do + # Settings specified here will take precedence over those in config/application.rb + + # In the development environment your application's code is reloaded on + # every request. This slows down response time but is perfect for development + # since you don't have to restart the web server when you make code changes. + config.cache_classes = false + + # Log error messages when you accidentally call methods on nil. + config.whiny_nils = true + + # Show full error reports and disable caching + config.consider_all_requests_local = true + config.action_controller.perform_caching = false + + # Don't care if the mailer can't send + config.action_mailer.raise_delivery_errors = false + + # Print deprecation notices to the Rails logger + config.active_support.deprecation = :log + + # Only use best-standards-support built into browsers + config.action_dispatch.best_standards_support = :builtin + + # Raise exception on mass assignment protection for Active Record models + config.active_record.mass_assignment_sanitizer = :strict + + # Log the query plan for queries taking more than this (works + # with SQLite, MySQL, and PostgreSQL) + config.active_record.auto_explain_threshold_in_seconds = 0.5 + + # Do not compress assets + config.assets.compress = false + + # Expands the lines which load the assets + config.assets.debug = true + + # Enable Hirb: + extend Hirb::Console + Hirb::View.enable +end + + + + diff --git a/config/environments/production.rb b/config/environments/production.rb new file mode 100644 index 0000000..4e5bdd8 --- /dev/null +++ b/config/environments/production.rb @@ -0,0 +1,65 @@ +Gemeinschaft42c::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 + + # Full error reports are disabled and caching is turned on + config.consider_all_requests_local = false + config.action_controller.perform_caching = true + + # Disable Rails's static asset server (Apache or nginx will already do this) + config.serve_static_assets = true + + # Compress JavaScripts and CSS + config.assets.compress = true + + # Don't fallback to assets pipeline if a precompiled asset is missed + config.assets.compile = false + + # Generate digests for assets URLs + config.assets.digest = true + + # Defaults to Rails.root.join("public/assets") + # config.assets.manifest = YOUR_PATH + + # 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 + + # Force all access to the app over SSL, use Strict-Transport-Security, and use secure cookies. + # config.force_ssl = true + + # See everything in the log (default is :info) + # config.log_level = :debug + + # Use a different logger for distributed setups + # config.logger = SyslogLogger.new + + # Use a different cache store in production + # config.cache_store = :mem_cache_store + + # Enable serving of images, stylesheets, and JavaScripts from an asset server + # config.action_controller.asset_host = "http://assets.example.com" + + # Precompile additional assets (application.js, application.css, and all non-JS/CSS are already added) + # config.assets.precompile += %w( search.js ) + config.assets.initialize_on_precompile = false + + # Disable delivery errors, bad email addresses will be ignored + # config.action_mailer.raise_delivery_errors = false + + # Enable threaded mode + # config.threadsafe! + + # Enable locale fallbacks for I18n (makes lookups for any locale fall back to + # the I18n.default_locale when a translation can not be found) + config.i18n.fallbacks = true + + # Send deprecation notices to registered listeners + config.active_support.deprecation = :notify + + # Enable Hirb: + extend Hirb::Console + Hirb::View.enable +end diff --git a/config/environments/test.rb b/config/environments/test.rb new file mode 100644 index 0000000..f2d3a67 --- /dev/null +++ b/config/environments/test.rb @@ -0,0 +1,37 @@ +Gemeinschaft42c::Application.configure do + # Settings specified here will take precedence over those in config/application.rb + + # The test environment is used exclusively to run your application's + # test suite. You never need to work with it otherwise. Remember that + # your test database is "scratch space" for the test suite and is wiped + # and recreated between test runs. Don't rely on the data there! + config.cache_classes = true + + # Configure static asset server for tests with Cache-Control for performance + config.serve_static_assets = true + config.static_cache_control = "public, max-age=3600" + + # Log error messages when you accidentally call methods on nil + config.whiny_nils = true + + # Show full error reports and disable caching + config.consider_all_requests_local = true + config.action_controller.perform_caching = false + + # Raise exceptions instead of rendering exception templates + config.action_dispatch.show_exceptions = false + + # Disable request forgery protection in test environment + config.action_controller.allow_forgery_protection = false + + # Tell Action Mailer not to deliver emails to the real world. + # The :test delivery method accumulates sent emails in the + # ActionMailer::Base.deliveries array. + config.action_mailer.delivery_method = :test + + # Raise exception on mass assignment protection for Active Record models + config.active_record.mass_assignment_sanitizer = :strict + + # Print deprecation notices to the stderr + config.active_support.deprecation = :stderr +end diff --git a/config/hirb.yml b/config/hirb.yml new file mode 100644 index 0000000..f011c9d --- /dev/null +++ b/config/hirb.yml @@ -0,0 +1,201 @@ +:output: + CallForwardCase: + :options: + :fields: + - id + - value + CallForward: + :options: + :fields: + - id + - phone_number + - call_forward_case + - timeout + - destination + - source + - depth + - active + PhoneNumberRange: + :options: + :fields: + - id + - name + - description + - phone_number_rangeable_type + - phone_number_rangeable + AreaCode: + :options: + :fields: + - id + - country + - name + - area_code + - central_office_code + Manufacturer: + :options: + :fields: + - id + - name + - homepage_url + - state + PhoneModel: + :options: + :fields: + - id + - name + - manufacturer + - state + Oui: + :options: + :fields: + - id + - manufacturer + - value + - state + User: + :options: + :fields: + - id + - user_name + - last_name + - email + - current_tenant_id + - current_tenant + Tenant: + :options: + :fields: + - id + - name + - state + - country + - sip_domain + SipDomain: + :options: + :fields: + - id + - host + - realm + PhoneBook: + :options: + :fields: + - id + - name + - phone_bookable_type + - phone_bookable_id + - phone_bookable + - state + PhoneBookEntry: + :options: + :fields: + - id + - phone_book_id + - phone_book + - first_name + - organization + PhoneNumber: + :options: + :fields: + - id + - name + - number + - phone_numberable_type + - phone_numberable_id + Phone: + :options: + :fields: + - id + - phone_model + - mac_address + - ip_address + - last_ip_address + - phoneable_type + - phoneable_id + - phoneable + SipAccount: + :options: + :fields: + - id + - sip_accountable_type + - sip_accountable + - auth_name + - caller_name + - voicemail_pin + TenantMembership: + :options: + :fields: + - id + - tenant + - user + - state + UserGroupMembership: + :options: + :fields: + - id + - user_group + - user + UserGroup: + :options: + :fields: + - id + - name + - tenant + - position + Country: + :options: + :fields: + - id + - name + - country_code + - international_call_prefix + - trunk_prefix + Conference: + :options: + :fields: + - id + - name + - start + - conferenceable_type + - conferenceable + ConferenceInvitee: + :options: + :fields: + - id + - conference + - phone_number + - phone_book_entry_id + - speaker + - moderator + - pin + FaxDocument: + :options: + :fields: + - id + - destination_phone_number + - document + Callthrough: + :options: + :fields: + - id + - tenant + - name + Language: + :options: + :fields: + - id + - name + - code + SoftkeyFunction: + :options: + :fields: + - id + - name + - position + Api::Row: + :options: + :fields: + - id + - last_name + - first_name + - user_name + - user + diff --git a/config/initializers/backtrace_silencers.rb b/config/initializers/backtrace_silencers.rb new file mode 100644 index 0000000..59385cd --- /dev/null +++ b/config/initializers/backtrace_silencers.rb @@ -0,0 +1,7 @@ +# Be sure to restart your server when you modify this file. + +# You can add backtrace silencers for libraries that you're using but don't wish to see in your backtraces. +# Rails.backtrace_cleaner.add_silencer { |line| line =~ /my_noisy_library/ } + +# You can also remove all the silencers if you're trying to debug a problem that might stem from framework code. +# Rails.backtrace_cleaner.remove_silencers! diff --git a/config/initializers/connectivity_check.rb b/config/initializers/connectivity_check.rb new file mode 100644 index 0000000..583f372 --- /dev/null +++ b/config/initializers/connectivity_check.rb @@ -0,0 +1,23 @@ +require 'socket' +require 'timeout' + +module Connectivity + + def self.port_open?( ip_addr, port ) + begin + Timeout::timeout(5) { + s = TCPSocket.new( ip_addr, port ) + s.close + return true + } + rescue Errno::ECONNREFUSED + rescue Errno::EHOSTUNREACH + rescue Errno::EADDRNOTAVAIL + rescue SocketError + rescue Timeout::Error + end + + return false + end + +end diff --git a/config/initializers/gemeinschaft_parameters.rb b/config/initializers/gemeinschaft_parameters.rb new file mode 100644 index 0000000..6e89abd --- /dev/null +++ b/config/initializers/gemeinschaft_parameters.rb @@ -0,0 +1,81 @@ +# Use this file to set generic parameters for Gemeinschaft + +GEMEINSCHAFT_VERSION = '5.0' +SUPER_TENANT_NAME = 'Super-Tenant' + +# System defaults +MINIMUM_PIN_LENGTH = 4 +MAXIMUM_PIN_LENGTH = 10 + +# GUI +GUI_REDIRECT_HTTPS = false + +# Phone numbers +# Only touch this if you know what you are doing! +STRICT_INTERNAL_EXTENSION_HANDLING = false +STRICT_DID_HANDLING = false + +# SIP defaults +DEFAULT_LENGTH_SIP_AUTH_NAME = 10 +DEFAULT_LENGTH_SIP_PASSWORD = 15 +CALL_WAITING = false +DEFAULT_CLIR_SETTING = false +DEFAULT_CLIP_SETTING = true + +TO_S_MAX_CALLER_NAME_LENGTH = 20 +TO_S_MAX_LENGTH_OF_AUTH_NAME = 8 + +# Pagination defaults +DEFAULT_PAGINATION_ENTRIES_PER_PAGE = 50 + +# Conference defaults +MAXIMUM_NUMBER_OF_PEOPLE_IN_A_CONFERENCE = 100 +DEFAULT_MAX_CONFERENCE_MEMBERS = 10 + +# Misc defaults +MAX_EXTENSION_LENGTH = 6 + +# Fax defaults +DEFAULT_NUMBER_OF_RETRIES = 3 +DAYS_TILL_AUTO_DELETE = 90 + +# Names of PhoneNumberRanges +INTERNAL_EXTENSIONS = 'internal_extensions' +SERVICE_NUMBERS = 'service_numbers' +DIRECT_INWARD_DIALING_NUMBERS = 'direct_inward_dialing_numbers' + +# Callthrough defaults +CALLTHROUGH_HAS_WHITELISTS = true + +# Hunt groups +HUNT_GROUP_STRATEGIES = ['ring_all', 'ring_recursively'] +VALID_SECONDS_BETWEEN_JUMPS_VALUES = (1 .. 60).to_a.map{|x| x * 2} + +# Callforward +DEFAULT_CALL_FORWARD_DEPTH = 1 +MAX_CALL_FORWARD_DEPTH = 40 +CALLFORWARD_DESTINATION_DEFAULT = '+49' +CALLFORWARD_RULES_ACT_PER_SIP_ACCOUNT_DEFAULT = true + +# Phone +PROVISIONING_AUTO_ADD_PHONE = true +PROVISIONING_AUTO_ADD_SIP_ACCOUNT = true +PROVISIONING_AUTO_TENANT_ID = 2 +PROVISIONING_AUTO_SIP_ACCOUNT_CALLER_PREFIX = 'Gemeinschaft ' +PROVISIONING_IEEE8021X_EAP_USERNAME = '' +PROVISIONING_IEEE8021X_EAP_PASSWORD = '' +NIGHTLY_REBOOT_OF_PHONES = true +SIEMENS_HISTORY_RELOAD_TIMES = {0..6 => 600, 7..20 => 40, 21..24 => 300} + +# API configuration +DEFAULT_API_TENANT_ID = 2 +REMOTE_IP_ADDRESS_WHITELIST = [] # e.g. ['10.0.0.1'] +IMPORT_CSV_FILE = '/var/tmp/ExampleVoipCsvExport.csv' +DOUBLE_CHECK_POSITIVE_USERS_CSV = '/var/tmp/ExampleDoubleCheckVoipCsvExport.csv' +IMPORT_CSV_ENCODING = 'UTF-8' +USER_NAME_PREFIX = 'dtc' +CALLTHROUGH_NAME_TO_BE_USED_FOR_DEFAULT_ACTIVATION = 'Callthrough for employees' + +# GS Cluster configuration +WRITE_GS_CLUSTER_SYNC_LOG = true +HOMEBASE_IP_ADDRESS = '0.0.0.0' diff --git a/config/initializers/inflections.rb b/config/initializers/inflections.rb new file mode 100644 index 0000000..9e8b013 --- /dev/null +++ b/config/initializers/inflections.rb @@ -0,0 +1,10 @@ +# Be sure to restart your server when you modify this file. + +# Add new inflection rules using the following format +# (all these examples are active by default): +# ActiveSupport::Inflector.inflections do |inflect| +# inflect.plural /^(ox)$/i, '\1en' +# inflect.singular /^(ox)en/i, '\1' +# inflect.irregular 'person', 'people' +# inflect.uncountable %w( fish sheep ) +# end diff --git a/config/initializers/load_extensions.rb b/config/initializers/load_extensions.rb new file mode 100644 index 0000000..d86993c --- /dev/null +++ b/config/initializers/load_extensions.rb @@ -0,0 +1 @@ +require 'activerecord_extensions' diff --git a/config/initializers/mime_types.rb b/config/initializers/mime_types.rb new file mode 100644 index 0000000..6c89b3c --- /dev/null +++ b/config/initializers/mime_types.rb @@ -0,0 +1,9 @@ +# Be sure to restart your server when you modify this file. + +# Add new mime types for use in respond_to blocks: +# Mime::Type.register "text/richtext", :rtf +# Mime::Type.register_alias "text/html", :iphone + +# ".htm" file extension for Snom provisioning: +Mime::Type.register 'text/html', :htm +Mime::Type.register 'audio/x-wav', :wav diff --git a/config/initializers/secret_token.rb b/config/initializers/secret_token.rb new file mode 100644 index 0000000..6f04f07 --- /dev/null +++ b/config/initializers/secret_token.rb @@ -0,0 +1,7 @@ +# Be sure to restart your server when you modify this file. + +# Your secret key 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. +Gemeinschaft42c::Application.config.secret_token = '9a59cac7fe4b23e0253a7beb341d9498d721923e966b45983f441f991e81f758067a6d9a949247d489773288284ab96b5015be52bf7b2834e666d43f864034e4' diff --git a/config/initializers/session_store.rb b/config/initializers/session_store.rb new file mode 100644 index 0000000..f77495c --- /dev/null +++ b/config/initializers/session_store.rb @@ -0,0 +1,8 @@ +# Be sure to restart your server when you modify this file. + +# Gemeinschaft42c::Application.config.session_store :cookie_store, key: '_Gemeinschaft42c_session' + +# Use the database for sessions instead of the cookie-based default, +# which shouldn't be used to store highly confidential information +# (create the session table with "rails generate session_migration") +Gemeinschaft42c::Application.config.session_store :active_record_store diff --git a/config/initializers/simple_form.rb b/config/initializers/simple_form.rb new file mode 100644 index 0000000..2e3d9fb --- /dev/null +++ b/config/initializers/simple_form.rb @@ -0,0 +1,19 @@ +# Use this setup block to configure all options available in SimpleForm. +SimpleForm.setup do |config| + config.wrappers :tag => :div, :class => :input, + :error_class => :field_with_errors do |b| + + # Form extensions + b.use :html5 + b.optional :pattern + b.use :maxlength + b.use :placeholder + b.use :readonly + + # Form components + b.use :label_input + b.use :error, :wrap_with => { :tag => :span, :class => :error } + b.use :hint, :wrap_with => { :tag => :span, :class => :hint } + end + +end diff --git a/config/initializers/validators.rb b/config/initializers/validators.rb new file mode 100644 index 0000000..4f6c223 --- /dev/null +++ b/config/initializers/validators.rb @@ -0,0 +1,242 @@ +ActiveRecord::Base.class_eval do + + def self.validate_mac_address( attr_names, options={} ) + validates_format_of( attr_names, { + :with => /^ [0-9A-F]{2} (?: [0-9A-F]{2} ){5} $/x, + :allow_blank => false, + :allow_nil => false, + }.merge!( options ) ) + end + + def self.validate_ip_address( attr_names, options={} ) + validates_format_of( attr_names, { + :with => /^ + (?:25[0-5]|(?:2[0-4]|1\d|[1-9])?\d) + (?:\.(?:25[0-5]|(?:2[0-4]|1\d|[1-9])?\d)){3} + $/x, # OPTIMIZE IPv6 + :allow_blank => false, + :allow_nil => false, + }.merge!( options ) ) + end + + def self.validate_ip_port( attr_names, options={} ) + validates_numericality_of( attr_names, { + :only_integer => true, + :greater_than => 0, + :less_than => 65536, + :allow_nil => false, + }.merge!( options ) ) + end + + def self.validate_netmask( attr_names, options={} ) + configuration = { + :allow_nil => false, + :allow_blank => false, + :with => + /^( + ((128|192|224|240|248|252|254)\.0\.0\.0) + |(255\.(0|128|192|224|240|248|252|254)\.0\.0) + |(255\.255\.(0|128|192|224|240|248|252|254)\.0) + |(255\.255\.255\.(0|128|192|224|240|248|252|254)) + )$/x + } + configuration.merge!( options ) + validates_format_of( attr_names, configuration ) + end + + def self.validate_hostname_or_ip( attr_names, options={} ) + # Validate the server. This is the "host" rule from RFC 3261 + # (but the patterns for IPv4 and IPv6 addresses have been fixed here). + configuration = { + :allow_nil => false, + :allow_blank => false, + :with => + /^ + (?: + (?: + (?: + (?: + [A-Za-z0-9] | + [A-Za-z0-9] [A-Za-z0-9\-]* [A-Za-z0-9] + ) + \. + )* + (?: + [A-Za-z] | + [A-Za-z] [A-Za-z0-9\-]* [A-Za-z0-9] + ) + \.? + ) + | + (?: + (?: 25[0-5] | 2[0-4]\d | 1\d\d | [1-9]?\d ) + (?: \. (?: 25[0-5] | 2[0-4]\d | 1\d\d | [1-9]?\d ) ){3} + ) + | + ( + ( + ( [0-9A-Fa-f]{1,4} [:] ){7} ( [0-9A-Fa-f]{1,4} | [:] ) + )| + ( + ( [0-9A-Fa-f]{1,4} [:] ){6} + ( + [:] [0-9A-Fa-f]{1,4} | + ( + ( 25[0-5] | 2[0-4]\d | 1\d\d | [1-9]?\d ) + ( \. ( 25[0-5] | 2[0-4]\d | 1\d\d | [1-9]?\d ) ){3} + ) | [:] + ) + )| + ( + ( [0-9A-Fa-f]{1,4} [:] ){5} + ( + ( + ( [:] [0-9A-Fa-f]{1,4} ){1,2} + )| + [:]( + ( 25[0-5] | 2[0-4]\d | 1\d\d | [1-9]?\d ) + ( \. ( 25[0-5] | 2[0-4]\d | 1\d\d | [1-9]?\d ) ){3} + )| + [:] + ) + )| + ( + ( [0-9A-Fa-f]{1,4} [:] ){4} + ( + ( ( [:] [0-9A-Fa-f]{1,4} ){1,3} ) | + ( + ( [:] [0-9A-Fa-f]{1,4} )? [:] + ( + ( 25[0-5] | 2[0-4]\d | 1\d\d | [1-9]?\d ) + ( \. ( 25[0-5] | 2[0-4]\d | 1\d\d | [1-9]?\d ) ){3} + ) + ) | [:] + ) + )| + ( + ( [0-9A-Fa-f]{1,4} [:] ){3} + ( + ( ( [:] [0-9A-Fa-f]{1,4} ){1,4} ) | + ( + ( [:] [0-9A-Fa-f]{1,4} ){0,2} [:] + ( + ( 25[0-5] | 2[0-4]\d | 1\d\d | [1-9]?\d ) + ( \. ( 25[0-5] | 2[0-4]\d | 1\d\d | [1-9]?\d ) ){3} + ) + ) | [:] + ) + )| + ( + ( [0-9A-Fa-f]{1,4} [:] ){2} + ( + ( ( [:] [0-9A-Fa-f]{1,4} ){1,5} ) | + ( + ( [:] [0-9A-Fa-f]{1,4} ){0,3} [:] + ( + ( 25[0-5] | 2[0-4]\d | 1\d\d | [1-9]?\d ) + ( \. ( 25[0-5] | 2[0-4]\d | 1\d\d | [1-9]?\d ) ){3} + ) + ) | [:] + ) + )| + ( + ( [0-9A-Fa-f]{1,4} [:] ){1} + ( + ( ( [:] [0-9A-Fa-f]{1,4} ){1,6} ) | + ( + ( [:] [0-9A-Fa-f]{1,4} ){0,4} [:] + ( + ( 25[0-5] | 2[0-4]\d | 1\d\d | [1-9]?\d ) + ( \. ( 25[0-5] | 2[0-4]\d | 1\d\d | [1-9]?\d ) ){3} + ) + ) | [:] + ) + )| + ( + [:] + ( + ( ( [:] [0-9A-Fa-f]{1,4} ){1,7} ) | + ( + ( [:] [0-9A-Fa-f]{1,4} ){0,5} [:] + ( + ( 25[0-5] | 2[0-4]\d | 1\d\d | [1-9]?\d ) + ( \. ( 25[0-5] | 2[0-4]\d | 1\d\d | [1-9]?\d ) ){3} + ) + ) | [:] + ) + ) + ) + ) + $/x + } + configuration.merge!( options ) + validates_format_of( attr_names, configuration ) + end + + # Validate SIP username. This is the "user" rule from RFC 3261. + def self.validate_username( attr_names, options={} ) + configuration = { + :allow_nil => false, + :allow_blank => false, + :with => + /^ + (?: + (?: + [A-Za-z0-9] | + [\-_.!~*'()] + ) | + %[0-9A-F]{2} | + [&=+$,;?\/] + ){1,255} + $/x + } + configuration.merge!( options ) + validates_format_of( attr_names, configuration ) + end + + # Validate SIP password. + def self.validate_sip_password( attr_names, options={} ) + configuration = { + :allow_nil => true, + :allow_blank => true, + :with => + /^ + (?: + (?: + [A-Za-z0-9] | + [\-_.!~*'()] + ) | + %[0-9A-F]{2} | + [&=+$,] + ){0,255} + $/x + } + configuration.merge!( options ) + validates_format_of( attr_names, configuration ) + end + +end + + + +module CustomValidators + + # Validates a URL. + # TODO Convert this into a proper ActiveRecord validator. + # + def self.validate_url( url_str ) + return false if url_str.blank? + require 'uri' + begin + uri = URI.parse( url_str ) + return false if ! uri.absolute? + return false if ! uri.hierarchical? + return false if !( uri.is_a?( URI::HTTP ) || uri.is_a?( URI::HTTPS ) ) + rescue URI::InvalidURIError + return false + end + return true + end + +end + diff --git a/config/initializers/wrap_parameters.rb b/config/initializers/wrap_parameters.rb new file mode 100644 index 0000000..999df20 --- /dev/null +++ b/config/initializers/wrap_parameters.rb @@ -0,0 +1,14 @@ +# Be sure to restart your server when you modify this file. +# +# This file contains settings for ActionController::ParamsWrapper which +# is enabled by default. + +# Enable parameter wrapping for JSON. You can disable this by setting :format to an empty array. +ActiveSupport.on_load(:action_controller) do + wrap_parameters format: [:json] +end + +# Disable root element in JSON by default. +ActiveSupport.on_load(:active_record) do + self.include_root_in_json = false +end diff --git a/config/locales/carrierwave/de.yml b/config/locales/carrierwave/de.yml new file mode 100644 index 0000000..08dbd26 --- /dev/null +++ b/config/locales/carrierwave/de.yml @@ -0,0 +1,5 @@ +de: + carrierwave: + errors: + integrity: 'Kein Bild.' + processing: 'Das Bild kann nicht in der Größe verändert werden.'
\ No newline at end of file diff --git a/config/locales/carrierwave/en.yml b/config/locales/carrierwave/en.yml new file mode 100644 index 0000000..2fa50f2 --- /dev/null +++ b/config/locales/carrierwave/en.yml @@ -0,0 +1,5 @@ +en: + carrierwave: + errors: + integrity: 'Not an image.' + processing: 'Cannot resize image.'
\ No newline at end of file diff --git a/config/locales/de.yml b/config/locales/de.yml new file mode 100644 index 0000000..087a2d3 --- /dev/null +++ b/config/locales/de.yml @@ -0,0 +1,196 @@ +de: + date: + abbr_day_names: + - So + - Mo + - Di + - Mi + - Do + - Fr + - Sa + abbr_month_names: + - + - Jan + - Feb + - Mär + - Apr + - Mai + - Jun + - Jul + - Aug + - Sep + - Okt + - Nov + - Dez + day_names: + - Sonntag + - Montag + - Dienstag + - Mittwoch + - Donnerstag + - Freitag + - Samstag + formats: + default: ! '%d.%m.%Y' + long: ! '%e. %B %Y' + short: ! '%e. %b' + month_names: + - + - Januar + - Februar + - März + - April + - Mai + - Juni + - Juli + - August + - September + - Oktober + - November + - Dezember + order: + - :day + - :month + - :year + datetime: + distance_in_words: + about_x_hours: + one: etwa eine Stunde + other: etwa %{count} Stunden + about_x_months: + one: etwa ein Monat + other: etwa %{count} Monate + about_x_years: + one: etwa ein Jahr + other: etwa %{count} Jahre + almost_x_years: + one: fast ein Jahr + other: fast %{count} Jahre + half_a_minute: eine halbe Minute + less_than_x_minutes: + one: weniger als eine Minute + other: weniger als %{count} Minuten + less_than_x_seconds: + one: weniger als eine Sekunde + other: weniger als %{count} Sekunden + over_x_years: + one: mehr als ein Jahr + other: mehr als %{count} Jahre + x_days: + one: ein Tag + other: ! '%{count} Tage' + x_minutes: + one: eine Minute + other: ! '%{count} Minuten' + x_months: + one: ein Monat + other: ! '%{count} Monate' + x_seconds: + one: eine Sekunde + other: ! '%{count} Sekunden' + prompts: + day: Tag + hour: Stunden + minute: Minuten + month: Monat + second: Sekunden + year: Jahr + errors: + format: ! '%{attribute} %{message}' + messages: + accepted: muss akzeptiert werden + blank: muss ausgefüllt werden + confirmation: stimmt nicht mit der Bestätigung überein + empty: muss ausgefüllt werden + equal_to: muss genau %{count} sein + even: muss gerade sein + exclusion: ist nicht verfügbar + greater_than: muss größer als %{count} sein + greater_than_or_equal_to: muss größer oder gleich %{count} sein + inclusion: ist kein gültiger Wert + invalid: ist nicht gültig + less_than: muss kleiner als %{count} sein + less_than_or_equal_to: muss kleiner oder gleich %{count} sein + not_a_number: ist keine Zahl + not_an_integer: muss ganzzahlig sein + odd: muss ungerade sein + record_invalid: ! 'Gültigkeitsprüfung ist fehlgeschlagen: %{errors}' + taken: ist bereits vergeben + too_long: ist zu lang (nicht mehr als %{count} Zeichen) + too_short: ist zu kurz (nicht weniger als %{count} Zeichen) + wrong_length: hat die falsche Länge (muss genau %{count} Zeichen haben) + template: + body: ! 'Bitte überprüfen Sie die folgenden Felder:' + header: + one: ! 'Konnte %{model} nicht speichern: ein Fehler.' + other: ! 'Konnte %{model} nicht speichern: %{count} Fehler.' + helpers: + select: + prompt: Bitte wählen + submit: + create: ! '%{model} anlegen' + submit: ! '%{model} speichern' + update: ! '%{model} aktualisieren' + number: + currency: + format: + delimiter: . + format: ! '%n %u' + precision: 2 + separator: ! ',' + significant: false + strip_insignificant_zeros: false + unit: € + format: + delimiter: . + precision: 2 + separator: ! ',' + significant: false + strip_insignificant_zeros: false + human: + decimal_units: + format: ! '%n %u' + units: + billion: + one: Milliarde + other: Milliarden + million: Millionen + quadrillion: + one: Billiarde + other: Billiarden + thousand: Tausend + trillion: Billionen + unit: '' + format: + delimiter: '' + precision: 1 + significant: true + strip_insignificant_zeros: true + storage_units: + format: ! '%n %u' + units: + byte: + one: Byte + other: Bytes + gb: GB + kb: KB + mb: MB + tb: TB + percentage: + format: + delimiter: '' + precision: + format: + delimiter: '' + support: + array: + last_word_connector: ! ' und ' + two_words_connector: ! ' und ' + words_connector: ! ', ' + time: + am: vormittags + formats: + default: ! '%A, %d. %B %Y, %H:%M Uhr' + long: ! '%A, %d. %B %Y, %H:%M Uhr' + short: ! '%d. %B, %H:%M Uhr' + pm: nachmittags
\ No newline at end of file diff --git a/config/locales/en.yml b/config/locales/en.yml new file mode 100644 index 0000000..dabe98d --- /dev/null +++ b/config/locales/en.yml @@ -0,0 +1,6 @@ +# Don't add anything here! +en: + dont_use_me: "NO ME USES!" + # Temporal, just till we create the Voice Mail stuff. + voice_mail: "Voice Mail" + fax: "Fax"
\ No newline at end of file diff --git a/config/locales/simple_form.de.yml b/config/locales/simple_form.de.yml new file mode 100644 index 0000000..1db7297 --- /dev/null +++ b/config/locales/simple_form.de.yml @@ -0,0 +1,24 @@ +de: + simple_form: + "yes": 'Ja' + "no": 'Nein' + required: + text: 'benötigt' + mark: '*' + # You can uncomment the line below if you need to overwrite the whole required html. + # When using html, text and mark won't be used. + # html: '<abbr title="required">*</abbr>' + error_notification: + default_message: "Es wurden Validierungsfehler bei Ihren Eingaben gefunden." + # Labels and hints examples + # labels: + # password: 'Password' + # user: + # new: + # email: 'E-mail para efetuar o sign in.' + # edit: + # email: 'E-mail.' + # hints: + # username: 'User name to sign in.' + # password: 'No special characters, please.' + diff --git a/config/locales/simple_form.en.yml b/config/locales/simple_form.en.yml new file mode 100644 index 0000000..007d9f9 --- /dev/null +++ b/config/locales/simple_form.en.yml @@ -0,0 +1,24 @@ +en: + simple_form: + "yes": 'Yes' + "no": 'No' + required: + text: 'required' + mark: '*' + # You can uncomment the line below if you need to overwrite the whole required html. + # When using html, text and mark won't be used. + # html: '<abbr title="required">*</abbr>' + error_notification: + default_message: "Some errors were found, please take a look." + # Labels and hints examples + # labels: + # password: 'Password' + # user: + # new: + # email: 'E-mail para efetuar o sign in.' + # edit: + # email: 'E-mail.' + # hints: + # username: 'User name to sign in.' + # password: 'No special characters, please.' + diff --git a/config/locales/views/access_authorizations/de.yml b/config/locales/views/access_authorizations/de.yml new file mode 100644 index 0000000..1d38cc1 --- /dev/null +++ b/config/locales/views/access_authorizations/de.yml @@ -0,0 +1,45 @@ +de: + access_authorizations: + name: 'Zugangsberechtigung' + controller: + successfuly_created: 'Eine neue Zugangsberechtigung wurde erstellt.' + successfuly_updated: 'Die Zugangsberechtigung wurde aktualisiert.' + successfuly_destroyed: 'Die Zugangsberechtigung wurde gelöscht.' + index: + page_title: 'Zugangsberechtigungen' + name: 'Name' + login: 'Login' + pin: 'PIN' + actions: + confirm: 'Sind Sie sicher, dass Sie diese Zugangsberechtigung löschen möchten?' + destroy: 'Löschen' + edit: 'Bearbeiten' + show: 'Anzeigen' + create: 'Neu anlegen' + create_for: 'Neue Zugangsberechtigung für %{resource} anlegen' + show: + page_title: 'Zugangsberechtigung anzeigen' + name: 'Name' + login: 'Login' + pin: 'PIN' + index_phone_numbers: 'Telefonnummern' + actions: + confirm: 'Sind Sie sicher, dass Sie diese Zugangsberechtigung löschen möchten?' + destroy: 'Löschen' + edit: 'Bearbeiten' + view_all: 'Alle Zugangsberechtigungen anzeigen.' + new: + page_title: 'Neue Zugangsberechtigung anlegen' + edit: + page_title: 'Zugangsberechtigung bearbeiten' + form: + name: + label: 'Name' + hint: '' + login: + label: 'Login' + hint: '' + pin: + label: 'PIN' + hint: '' + button: 'Absenden'
\ No newline at end of file diff --git a/config/locales/views/access_authorizations/en.yml b/config/locales/views/access_authorizations/en.yml new file mode 100644 index 0000000..9832e4a --- /dev/null +++ b/config/locales/views/access_authorizations/en.yml @@ -0,0 +1,48 @@ +en: + access_authorizations: + name: 'Access authorization' + controller: + successfuly_created: 'Successfully created access authorization.' + successfuly_updated: 'Successfully updated access authorization.' + successfuly_destroyed: 'Successfully destroyed access authorization.' + index: + page_title: 'Access authorizations' + name: 'Name' + login: 'Login' + pin: 'PIN' + actions: + confirm: 'Are you sure you want to delete this access authorization?' + destroy: 'Delete' + edit: 'Edit' + show: 'View' + create: 'New' + create_for: 'New access authorization for %{resource}' + show: + page_title: 'Show access authorization' + name: 'Name' + login: 'Login' + pin: 'PIN' + index_phone_numbers: 'Phone numbers' + actions: + confirm: 'Are you sure you want to delete this access authorization?' + destroy: 'Delete' + edit: 'Edit' + view_all: 'View All' + new: + page_title: 'New access authorization' + edit: + page_title: 'Editing access authorization' + actions: + edit: 'Edit' + view_all: 'View All' + form: + name: + label: 'Name' + hint: '' + login: + label: 'Login' + hint: '' + pin: + label: 'PIN' + hint: '' + button: 'Submit'
\ No newline at end of file diff --git a/config/locales/views/acd_agents/de.yml b/config/locales/views/acd_agents/de.yml new file mode 100644 index 0000000..8613313 --- /dev/null +++ b/config/locales/views/acd_agents/de.yml @@ -0,0 +1,76 @@ +de: + acd_agents: + name: 'Agent' + controller: + successfuly_created: 'Ein neuer Agent wurde angelegt.' + successfuly_updated: 'Der Agent wurde aktualisiert.' + successfuly_destroyed: 'Der Agent wurde gelöscht.' + index: + page_title: 'Agenten' + uuid: 'UUID' + name: 'Name' + status: 'Status' + automatic_call_distributor_id: 'Warteschleifen ID' + last_call: 'Letzter Anruf' + calls_answered: 'Anrufe' + destination_type: 'Zieltyp' + destination_id: 'Ziel ID' + destination: 'Ziel' + actions: + confirm: 'Sind Sie sicher, dass Sie diesen Agenten löschen möchten?' + destroy: 'Löschen' + edit: 'Bearbeiten' + show: 'Anzeigen' + create: 'Neu anlegen' + create_for: 'Neuen Agenten für %{resource} anlegen' + show: + page_title: 'Agent' + uuid: 'UUID' + name: 'Name' + status: 'Status' + automatic_call_distributor_id: 'Warteschleifen ID' + last_call: 'Letzter Anruf' + calls_answered: 'Anrufe' + destination_type: 'Zieltyp' + destination_id: 'Ziel ID' + actions: + confirm: 'Sind Sie sicher, dass Sie diesen Agenten löschen möchten?' + destroy: 'Löschen' + edit: 'Bearbeiten' + view_all: 'Alle anzeigen' + new: + page_title: 'Neuer Agent' + actions: + back_to_list: 'Zurück zur Übersicht' + edit: + page_title: 'Agent bearbeiten' + actions: + back_to_list: 'Zurück zur Übersicht' + edit: 'Bearbeiten' + view_all: 'Alle anzeigen' + form: + uuid: + label: 'UUID' + hint: '' + name: + label: 'Name' + hint: '' + status: + label: 'Status' + hint: '' + automatic_call_distributor_id: + label: 'Warteschleifen ID' + hint: '' + last_call: + label: 'Letzter Anruf' + hint: '' + calls_answered: + label: 'Anrufe' + hint: '' + destination_type: + label: 'Zieltyp' + hint: '' + destination_id: + label: 'Ziel ID' + hint: '' + button: 'Absenden'
\ No newline at end of file diff --git a/config/locales/views/acd_agents/en.yml b/config/locales/views/acd_agents/en.yml new file mode 100644 index 0000000..8287dd7 --- /dev/null +++ b/config/locales/views/acd_agents/en.yml @@ -0,0 +1,76 @@ +en: + acd_agents: + name: 'ACD Agent' + controller: + successfuly_created: 'Successfully created Agent.' + successfuly_updated: 'Successfully updated Agent.' + successfuly_destroyed: 'Successfully destroyed Agent.' + index: + page_title: 'Agents' + uuid: 'UUID' + name: 'Name' + status: 'Status' + automatic_call_distributor_id: 'ACD ID' + last_call: 'Last call' + calls_answered: 'Calls answered' + destination_type: 'Destination type' + destination_id: 'Destination ID' + destination: 'Destination' + actions: + confirm: 'Are you sure you want to delete this Agent?' + destroy: 'Delete' + edit: 'Edit' + show: 'View' + create: 'New' + create_for: 'New Agent for %{resource}' + show: + page_title: 'Show Agent' + uuid: 'UUID' + name: 'Name' + status: 'Status' + automatic_call_distributor_id: 'ACD ID' + last_call: 'Last call' + calls_answered: 'Calls answered' + destination_type: 'Destination type' + destination_id: 'Destination' + actions: + confirm: 'Are you sure you want to delete this element?' + destroy: 'Delete' + edit: 'Edit' + view_all: 'View All' + new: + page_title: 'New Agent' + actions: + back_to_list: 'Back to Index' + edit: + page_title: 'Editing Agent' + actions: + back_to_list: 'Back to Index' + edit: 'Edit' + view_all: 'View All' + form: + uuid: + label: 'UUID' + hint: 'Universally unique identifier' + name: + label: 'Name' + hint: 'Entry name' + status: + label: 'Status' + hint: 'Entry status' + automatic_call_distributor_id: + label: 'ACD ID' + hint: 'ID of parent ACD' + last_call: + label: 'Last call' + hint: 'Last answered call' + calls_answered: + label: 'Calls answered' + hint: 'Number of calls' + destination_type: + label: 'Destination type' + hint: '' + destination_id: + label: 'Destination' + hint: '' + button: 'Submit'
\ No newline at end of file diff --git a/config/locales/views/acd_callers/de.yml b/config/locales/views/acd_callers/de.yml new file mode 100644 index 0000000..5195217 --- /dev/null +++ b/config/locales/views/acd_callers/de.yml @@ -0,0 +1,70 @@ +de: + acd_callers: + name: 'Vermittelte Anrufer' + controller: + successfuly_created: 'Ein neuer vermittelter Anrufer wurde angelegt.' + successfuly_updated: 'Der vermittelte Anrufer wurde aktualisiert.' + successfuly_destroyed: 'Der vermittelte Anrufer wurde gelöscht.' + index: + page_title: 'Vermittelte Anrufer auflisten' + channel_uuid: 'Kanal UUID' + automatic_call_distributor_id: 'Warteschleife' + status: 'Status' + enter_time: 'Eintrittszeit' + agent_answer_time: 'Antwortzeit Agent' + callback_number: 'Vermittelte Durchwahl' + callback_attempts: 'Vermittlungsversuche' + actions: + confirm: 'Sind Sie sicher, dass Sie diesen vermittelten Anrufer löschen möchten?' + destroy: 'Löschen' + edit: 'Bearbeiten' + show: 'Anzeigen' + create: 'Neu anlegen' + create_for: 'Neuen vermittelten Anrufer für %{resource} anlegen' + show: + page_title: 'Vermittelte Anrufer anzeigen' + channel_uuid: 'Kanal UUID' + automatic_call_distributor_id: 'Warteschleife' + status: 'Status' + enter_time: 'Eintrittszeit' + agent_answer_time: 'Antwortzeit Agent' + callback_number: 'Vermittelte Durchwahl' + callback_attempts: 'Vermittlungsversuche' + actions: + confirm: 'Sind Sie sicher, dass Sie diesen vermittelten Anrufer löschen möchten?' + destroy: 'Löschen' + edit: 'Bearbeiten' + view_all: 'Alle anzeigen' + new: + page_title: 'Neuer vermittelter Anrufer' + actions: + back_to_list: 'Zurück zur Übersicht' + edit: + page_title: 'Vermittelten Anrufer bearbeiten' + actions: + back_to_list: 'Zurück zur Übersicht' + edit: 'Bearbeiten' + view_all: 'Alle anzeigen' + form: + channel_uuid: + label: 'Kanal UUID' + hint: '' + automatic_call_distributor_id: + label: 'Warteschleife' + hint: '' + status: + label: 'Status' + hint: '' + enter_time: + label: 'Eintrittszeit' + hint: '' + agent_answer_time: + label: 'Antwortzeit Agent' + hint: '' + callback_number: + label: 'Vermittelte Durchwahl' + hint: '' + callback_attempts: + label: 'Vermittllungsversuche' + hint: '' + button: 'Absenden'
\ No newline at end of file diff --git a/config/locales/views/acd_callers/en.yml b/config/locales/views/acd_callers/en.yml new file mode 100644 index 0000000..c435f3f --- /dev/null +++ b/config/locales/views/acd_callers/en.yml @@ -0,0 +1,70 @@ +en: + acd_callers: + name: 'Negotiated callers' + controller: + successfuly_created: 'Successfully created negotiated caller.' + successfuly_updated: 'Successfully updated negotiated caller.' + successfuly_destroyed: 'Successfully destroyed negotiated caller.' + index: + page_title: 'Listing negotiated callers' + channel_uuid: 'Channel UUID' + automatic_call_distributor_id: 'Automatic call distributor' + status: 'Status' + enter_time: 'Enter time' + agent_answer_time: 'Agent answer time' + callback_number: 'Callback number' + callback_attempts: 'Callback attempts' + actions: + confirm: 'Are you sure you want to delete this negotiated caller?' + destroy: 'Delete' + edit: 'Edit' + show: 'View' + create: 'New' + create_for: 'New negotiated callers for %{resource}' + show: + page_title: 'Show negotiated callers' + channel_uuid: 'Channel UUID' + automatic_call_distributor_id: 'Automatic call distributor' + status: 'Status' + enter_time: 'Enter time' + agent_answer_time: 'Agent answer time' + callback_number: 'Callback number' + callback_attempts: 'Callback attempts' + actions: + confirm: 'Are you sure you want to delete this negotiated caller?' + destroy: 'Delete' + edit: 'Edit' + view_all: 'View All' + new: + page_title: 'New negotiated caller' + actions: + back_to_list: 'Back to Index' + edit: + page_title: 'Editing negotiated callers' + actions: + back_to_list: 'Back to Index' + edit: 'Edit' + view_all: 'View All' + form: + channel_uuid: + label: 'Channel UUID' + hint: '' + automatic_call_distributor_id: + label: 'Automatic call distributor' + hint: '' + status: + label: 'Status' + hint: '' + enter_time: + label: 'Enter time' + hint: '' + agent_answer_time: + label: 'Agent answer time' + hint: '' + callback_number: + label: 'Callback number' + hint: '' + callback_attempts: + label: 'Callback attempts' + hint: '' + button: 'Submit'
\ No newline at end of file diff --git a/config/locales/views/addresses/de.yml b/config/locales/views/addresses/de.yml new file mode 100644 index 0000000..96d280b --- /dev/null +++ b/config/locales/views/addresses/de.yml @@ -0,0 +1,72 @@ +de: + addresses: + name: 'Adresse' + controller: + successfuly_created: 'Eine neue Adresse wurde angelegt.' + successfuly_updated: 'Die Adresse wurde aktualisiert.' + successfuly_destroyed: 'Die Adresse wurde gelöscht.' + index: + page_title: 'Adressen' + phone_book_entry_id: 'Telefonbuch Eintrag' + line1: 'Zeile1' + line2: 'Zeile2' + street: 'Straße' + zip_code: 'PLZ' + city: 'Stadt' + country_id: 'Land' + position: 'Position' + actions: + confirm: 'Sind Sie sicher, dass Sie diese Adresse löschen möchten?' + destroy: 'Löschen' + edit: 'Bearbeiten' + show: 'Anzeigen' + create: 'Neu anlegen' + show: + page_title: 'Adresse bearbeiten' + phone_book_entry_id: 'Telefonbuch Eintrag' + line1: 'Zeile1' + line2: 'Zeile2' + street: 'Straße' + zip_code: 'PLZ' + city: 'Stadt' + country_id: 'Land' + position: 'Position' + actions: + confirm: 'Sind Sie sicher, dass Sie diese Adresse löschen möchten?' + destroy: 'Löschen' + edit: 'Bearbeiten' + view_all: 'Alle Adressen anzeigen' + new: + page_title: 'Neue Adresse' + actions: + edit: + page_title: 'Adresse edtieren' + actions: + edit: 'Bearbeiten' + view_all: 'Alle Adressen anzeigen' + form: + phone_book_entry_id: + label: 'Telefonbuch Eintrag' + hint: '' + line1: + label: 'Zeile1' + hint: '' + line2: + label: 'Zeile2' + hint: '' + street: + label: 'Straße' + hint: '' + zip_code: + label: 'PLZ' + hint: '' + city: + label: 'Stadt' + hint: '' + country_id: + label: 'Land' + hint: '' + position: + label: 'Position' + hint: '' + button: 'Absenden'
\ No newline at end of file diff --git a/config/locales/views/addresses/en.yml b/config/locales/views/addresses/en.yml new file mode 100644 index 0000000..56550f1 --- /dev/null +++ b/config/locales/views/addresses/en.yml @@ -0,0 +1,72 @@ +en: + addresses: + name: 'Address' + controller: + successfuly_created: 'Successfully created address.' + successfuly_updated: 'Successfully updated address.' + successfuly_destroyed: 'Successfully destroyed address.' + index: + page_title: 'Addresses' + phone_book_entry_id: 'Phone book entry' + line1: 'Line1' + line2: 'Line2' + street: 'Street' + zip_code: 'Zip code' + city: 'City' + country_id: 'Country' + position: 'Position' + actions: + confirm: 'Are you sure you want to delete this address?' + destroy: 'Delete' + edit: 'Edit' + show: 'View' + create: 'New' + show: + page_title: 'Editing Address' + phone_book_entry_id: 'Phone book entry' + line1: 'Line1' + line2: 'Line2' + street: 'Street' + zip_code: 'Zip code' + city: 'City' + country_id: 'Country' + position: 'Position' + actions: + confirm: 'Are you sure you want to delete this address?' + destroy: 'Delete address' + edit: 'Edit address' + view_all: 'View all addresses' + new: + page_title: 'New Address' + actions: + edit: + page_title: 'Editing Address' + actions: + edit: 'Edit address' + view_all: 'View all addresses' + form: + phone_book_entry_id: + label: 'Phone book entry' + hint: '' + line1: + label: 'Line1' + hint: '' + line2: + label: 'Line2' + hint: '' + street: + label: 'Street' + hint: '' + zip_code: + label: 'Zip code' + hint: '' + city: + label: 'City' + hint: '' + country_id: + label: 'Country' + hint: '' + position: + label: 'Position' + hint: '' + button: 'Submit'
\ No newline at end of file diff --git a/config/locales/views/automatic_call_distributors/de.yml b/config/locales/views/automatic_call_distributors/de.yml new file mode 100644 index 0000000..8618325 --- /dev/null +++ b/config/locales/views/automatic_call_distributors/de.yml @@ -0,0 +1,131 @@ +de: + automatic_call_distributors: + name: 'Warteschleife' + controller: + successfuly_created: 'Eine neue Warteschleife wurde angelegt.' + successfuly_updated: 'Die Warteschleife wurde aktualisiert.' + successfuly_destroyed: 'Die Warteschleife wurde gelöscht.' + index: + page_title: 'Warteschleifen' + uuid: 'UUID' + name: 'Name' + strategy: 'Strategie' + max_callers: 'Max. Anrufer' + agent_timeout: 'Agenten-Timeout' + retry_timeout: 'Wiederh.-Timeout' + join: 'Betreten' + leave: 'Verlassen' + phone_numbers: 'Telefonnummern' + acd_agents: 'Agenten' + gs_node_id: 'Knoten' + announce_position: 'Position ansagen' + announce_call_agents: 'Anruf ansagen' + greeting: 'Begrüßung' + goodbye: 'Abschied' + music: 'Musik' + actions: + confirm: 'Sind Sie sicher, dass Sie diese Warteschleife löschen möchten?' + destroy: 'Löschen' + edit: 'Bearbeiten' + show: 'Anzeigen' + create: 'Neu anlegen' + create_for: 'Neue Warteschleife für %{resource} anlegen' + show: + page_title: 'Warteschleife' + uuid: 'UUID' + name: 'Name' + strategy: 'Strategie' + max_callers: 'Max. Anrufer' + agent_timeout: 'Agenten-Timeout' + retry_timeout: 'Wiederholungs-Timeout' + join: 'Betreten' + leave: 'Verlassen' + gs_node_id: 'GS Knoten' + announce_position: 'Position ansagen' + announce_call_agents: 'Anruf ansagen' + greeting: 'Begrüßung' + goodbye: 'Abschied' + music: 'Musik' + actions: + confirm: 'Sind Sie sicher, dass Sie diese Warteschleife löschen möchten?' + destroy: 'Löschen' + edit: 'Bearbeiten' + view_all: 'Alle anzeigen' + new: + page_title: 'Neue Warteschleife' + actions: + back_to_list: 'Zurück zur Übersicht' + edit: + page_title: 'Warteschleife bearbeiten' + actions: + back_to_list: 'Zurück zur Übersicht' + edit: 'Bearbeiten' + view_all: 'Alle anzeigen' + form: + uuid: + label: 'UUID' + hint: '' + name: + label: 'Name' + hint: '' + strategy: + label: 'Strategie' + hint: '' + automatic_call_distributorable_type: + label: 'Warteschleifen-Typ' + hint: '' + automatic_call_distributorable_id: + label: 'Warteschleifen ID' + hint: '' + max_callers: + label: 'Maximale Anzahl von Anrufern' + hint: '' + agent_timeout: + label: 'Agenten-Timeout' + hint: '' + retry_timeout: + label: 'Wiederholungs-Timeout' + hint: '' + join: + label: 'Betreten' + hint: '' + leave: + label: 'Verlassen' + hint: '' + gs_node_id: + label: 'GS Knoten' + hint: '' + announce_position: + label: 'Position ansagen' + hint: '' + announce_call_agents: + label: 'Anruf ansagen' + hint: '' + greeting: + label: 'Begrüßung' + hint: '' + goodbye: + label: 'Abschied' + hint: '' + music: + label: 'Musik' + hint: '' + button: 'Absenden' + strategies: + round_robin: 'Ringverteilung' + ring_all: 'Alle' + join_on: + agents_available: 'Agenten verfügbar' + agents_active: 'Agenten aktiv' + always: 'Immer' + leave_on: + no_agents_available_timeout: 'Keine Agenten verfügbar oder Zeitüberschreitung' + no_agents_active_timeout: 'Keine Agenten aktiv oder Zeitüberschreitung' + no_agents_available: 'Keine Agenten verfügbar' + no_agents_active: 'Keine Agenten aktiv' + timeout: 'Zeitüberschreitung' + never: 'Nie' + announce_position: + never: 'Nie' + on_change_only: 'Ansage bei jeder Änderung der Position' + every_x_seconds: "Ansage alle %{x_seconds} Sekunden und nach jeder Änderung der Position" diff --git a/config/locales/views/automatic_call_distributors/en.yml b/config/locales/views/automatic_call_distributors/en.yml new file mode 100644 index 0000000..d481406 --- /dev/null +++ b/config/locales/views/automatic_call_distributors/en.yml @@ -0,0 +1,136 @@ +en: + automatic_call_distributors: + name: 'ACD' + controller: + successfuly_created: 'Successfully created ACD.' + successfuly_updated: 'Successfully updated ACD.' + successfuly_destroyed: 'Successfully destroyed ACD.' + index: + page_title: 'ACDs' + uuid: 'UUID' + name: 'Name' + strategy: 'Strategy' + automatic_call_distributorable_type: 'Automatic call distributorable type' + automatic_call_distributorable_id: 'Automatic call distributorable' + max_callers: 'Max callers' + agent_timeout: 'Agent timeout' + retry_timeout: 'Retry timeout' + join: 'Join' + leave: 'Leave' + phone_numbers: 'Phone numbers' + acd_agents: 'Agents' + gs_node_id: 'Gs node' + announce_position: 'Announce position' + announce_call_agents: 'Accounce calling' + greeting: 'Greeting' + goodbye: 'Goodbye' + music: 'Music' + actions: + confirm: 'Are you sure you want to delete this ACD?' + destroy: 'Delete' + edit: 'Edit' + show: 'View' + create: 'New' + create_for: 'New ACD for %{resource}' + show: + page_title: 'Show ACD' + uuid: 'UUID' + name: 'Name' + strategy: 'Strategy' + automatic_call_distributorable_type: 'Automatic call distributorable type' + automatic_call_distributorable_id: 'Automatic call distributorable' + max_callers: 'Max callers' + agent_timeout: 'Agent timeout' + retry_timeout: 'Retry timeout' + join: 'Join' + leave: 'Leave' + gs_node_id: 'Gs node' + announce_position: 'Announce position' + announce_call_agents: 'Accounce call' + greeting: 'Greeting' + goodbye: 'Goodbye' + music: 'Music' + actions: + confirm: 'Are you sure you want to delete this element?' + destroy: 'Delete' + edit: 'Edit' + view_all: 'View All' + new: + page_title: 'New ACD' + actions: + back_to_list: 'Back to Index' + edit: + page_title: 'Editing ACD' + actions: + back_to_list: 'Back to Index' + edit: 'Edit' + view_all: 'View All' + form: + uuid: + label: 'UUID' + hint: '' + name: + label: 'Name' + hint: '' + strategy: + label: 'Strategy' + hint: '' + automatic_call_distributorable_type: + label: 'Automatic call distributorable type' + hint: '' + automatic_call_distributorable_id: + label: 'Automatic call distributorable' + hint: '' + max_callers: + label: 'Max callers' + hint: '' + agent_timeout: + label: 'Agent timeout' + hint: '' + retry_timeout: + label: 'Retry timeout' + hint: '' + join: + label: 'Join' + hint: '' + leave: + label: 'Leave' + hint: '' + gs_node_id: + label: 'Gs node' + hint: '' + announce_position: + label: 'Announce position' + hint: '' + announce_call_agents: + label: 'Accounce calling' + hint: '' + greeting: + label: 'Greeting' + hint: '' + goodbye: + label: 'Goodbye' + hint: '' + music: + label: 'Music' + hint: '' + button: 'Submit' + strategies: + round_robin: 'Round robin' + ring_all: 'Ring all' + join_on: + agents_available: 'Agents available' + agents_active: 'Agents active' + always: 'Always' + leave_on: + no_agents_available_timeout: 'No agents available or timeout' + no_agents_active_timeout: 'No agents active or timeout' + no_agents_available: 'No agents available' + no_agents_active: 'No agents active' + timeout: 'Timeout' + never: 'Never' + announce_position: + never: 'Never' + on_change_only: 'After a position update' + every_x_seconds: "Every %{x_seconds} seconds and after each position update" + diff --git a/config/locales/views/call_forward_cases/de.yml b/config/locales/views/call_forward_cases/de.yml new file mode 100644 index 0000000..b9d6598 --- /dev/null +++ b/config/locales/views/call_forward_cases/de.yml @@ -0,0 +1,7 @@ +de: + call_forward_cases: + always: 'immer' + busy: 'besetzt' + noanswer: 'keine Antwort' + offline: 'offline' + assistant: 'Chef-Sekretärin-Schaltung'
\ No newline at end of file diff --git a/config/locales/views/call_forward_cases/en.yml b/config/locales/views/call_forward_cases/en.yml new file mode 100644 index 0000000..3a3734c --- /dev/null +++ b/config/locales/views/call_forward_cases/en.yml @@ -0,0 +1,7 @@ +en: + call_forward_cases: + always: 'always' + busy: 'busy' + noanswer: 'no answer' + offline: 'offline' + assistant: 'assistant'
\ No newline at end of file diff --git a/config/locales/views/call_forwards/de.yml b/config/locales/views/call_forwards/de.yml new file mode 100644 index 0000000..1ec7af7 --- /dev/null +++ b/config/locales/views/call_forwards/de.yml @@ -0,0 +1,77 @@ +de: + call_forwards: + name: 'Rufumleitung' + controller: + successfuly_created: 'Eine neue Rufumleitung wurde erstellt.' + successfuly_updated: 'Die Rufumleitung wurde aktualisiert.' + successfuly_destroyed: 'Die Rufumleitung wurde gelöscht.' + index: + page_title: 'Rufumleitungen' + phone_number_id: 'Telefonnummer' + call_forward_case_id: 'Art der Rufumleitung' + timeout: 'Zeitüberschreitung' + destination: 'Ziel' + hunt_group: 'Rufgruppen-Verknüpfung' + to_voicemail: 'Anrufbeantworter' + source: 'Quelle' + depth: 'Weiterleitungs-Sprünge' + active: 'Aktiv' + actions: + confirm: 'Sind Sie sicher, dass Sie diese Rufumleitung löschen möchten?' + destroy: 'Löschen' + edit: 'Bearbeiten' + show: 'Anzeigen' + create: 'Neu anlegen' + create_for: 'Neue Rufumleitung für die %{resource} anlegen' + show: + page_title: 'Rufumleitung anzeigen' + phone_number_id: 'Telefonnummer' + call_forward_case_id: 'Art der Rufumleitung' + timeout: 'Zeitüberschreitung' + destination: 'Ziel' + hunt_group: 'Rufgruppen-Verknüpfung' + to_voicemail: 'Anrufbeantworter' + source: 'Quelle' + depth: 'Weiterleitungs-Sprünge' + active: 'Aktiv' + actions: + confirm: 'Sind Sie sicher, dass Sie diese Rufumleitung löschen möchten?' + destroy: 'Löschen' + edit: 'Bearbeiten' + view_all: 'Alle Rufumleitung anzeigen' + new: + page_title: 'Neue Rufumleitung anlegen' + edit: + page_title: 'Rufumleitung bearbeiten' + form: + phone_number_id: + label: 'Telefonnummer' + hint: '' + call_forward_case_id: + label: 'Art der Rufumleitung' + hint: '' + timeout: + label: 'Zeitüberschreitung in Sekunden' + hint: 'Nur für "nicht antworten" benötigt.' + destination: + label: 'Ziel Telefonnummer' + hint: 'Format: +49-30-2270 für eine normale Telefonnummer. 42 für eine interne Durchwahl.' + call_forwarding_destination: + label: 'Zielauswahl' + hint: 'Ziel auswählen oder Rufnummer unten eingeben.' + hunt_group: + label: 'Rufgruppen-Verknüpfung' + hint: 'Die hier ausgewählt Rufgruppe schaltet automatisch diese Weiterleitung an und aus.' + to_voicemail: + label: 'Weiterleitung zum Anrufbeantworter' + hint: 'Kann nicht zusammen mit einer Ziel Telefonnummer aktiert werden.' + source: + label: 'Quelle' + hint: "Für welche Anrufer Telefonnummern soll diese Rufumleitung aktiv sein? Wenn kein Eintrag, dann für alle." + depth: + label: 'Weiterleitungs-Sprünge' + hint: "Die maximale Anzahl von Rufumleitungssprüngen. 1 bedeutet, das der Anruf nur bis zum nächsten Ziel weitergeleitet wird." + active: + label: 'Aktiv' + hint: '' + button: 'Absenden'
\ No newline at end of file diff --git a/config/locales/views/call_forwards/en.yml b/config/locales/views/call_forwards/en.yml new file mode 100644 index 0000000..4b9af7d --- /dev/null +++ b/config/locales/views/call_forwards/en.yml @@ -0,0 +1,77 @@ +en: + call_forwards: + name: 'Call forward' + controller: + successfuly_created: 'Successfully created call forward.' + successfuly_updated: 'Successfully updated call forward.' + successfuly_destroyed: 'Successfully destroyed call forward.' + index: + page_title: 'Call forwards' + phone_number_id: 'Phone number' + call_forward_case_id: 'Call forward case' + timeout: 'Timeout' + destination: 'Destination' + to_voicemail: 'Voicemail' + source: 'Source' + depth: 'Hops' + active: 'Active' + hunt_group: 'Hunt group connection' + actions: + confirm: 'Are you sure you want to delete this call forward?' + destroy: 'Delete' + edit: 'Edit' + show: 'View' + create: 'New' + create_for: 'New call forward for phone number %{resource}' + show: + page_title: 'Show call forward' + phone_number_id: 'Phone number' + call_forward_case_id: 'Call forward case' + timeout: 'Timeout' + destination: 'Destination' + hunt_group: 'Hunt group connection' + to_voicemail: 'Voicemail' + source: 'Source' + depth: 'Hops' + active: 'Active' + actions: + confirm: 'Are you sure you want to delete this call forward?' + destroy: 'Delete' + edit: 'Edit' + view_all: 'View all call forwards' + new: + page_title: 'New call forward' + edit: + page_title: 'Editing call forward' + form: + phone_number_id: + label: 'Phone number' + hint: '' + call_forward_case_id: + label: 'Call forward case' + hint: '' + timeout: + label: 'Timeout in seconds' + hint: 'Just needed for the "noanswer" case.' + destination: + label: 'Destination phone number' + hint: 'Format: +49-30-2270 for a normal phone number or 42 for an internal extension.' + call_forwarding_destination: + label: 'Destination Type' + hint: 'Select destination or enter phone number below' + hunt_group: + label: 'Hunt group connection' + hint: 'This hunt group auto activates this call forward.' + to_voicemail: + label: 'Forward to voicemail' + hint: 'Can not be activated together with a destination number.' + source: + label: 'Source' + hint: "The caller's ID for which this call forward should be valid. Leave empty for calls from any number." + depth: + label: 'Hops' + hint: "The maximum number of hops you want to permit. 1 means calls won't be forwarded beyond the next destination." + active: + label: 'Active' + hint: '' + button: 'Submit'
\ No newline at end of file diff --git a/config/locales/views/call_histories/de.yml b/config/locales/views/call_histories/de.yml new file mode 100644 index 0000000..3f0459d --- /dev/null +++ b/config/locales/views/call_histories/de.yml @@ -0,0 +1,66 @@ +de: + call_histories: + name: 'Anrufliste' + controller: + successfuly_created: 'Ein neuer Eintrag wurde erstellt.' + successfuly_updated: 'Der Eintrag wurde aktualisiert.' + successfuly_destroyed: 'Der Eintrag wurde gelöscht.' + index: + page_title: 'Anrufliste' + page_title_missed: 'Verpasste Anrufe' + page_title_dialed: 'Gewählte Anrufe' + page_title_received: 'Empfangene Anrufe' + page_title_forwarded: 'Weitergeleitete Anrufe' + count: 'Anzahl der Anruflisteeinträge' + missed: 'Verpasst' + dialed: 'Gewählt' + received: 'Empfangen' + forwarded: 'Weitergeleitet' + all: 'Alle' + date_format: '%d.%m.%Y %H:%M' + date_today_format: '%H:%M' + forwarded_by: 'via' + navigation: + missed: 'Verpasst: %{calls}' + dialed: 'Gewählt: %{calls}' + received: 'Empfangen: %{calls}' + forwarded: 'Weitergeleitet: %{calls}' + all: 'Alle: %{calls}' + actions: + confirm: 'Sind Sie sicher, dass Sie diesen Eintrag löschen möchten?' + confirm_selected: 'Sind Sie sicher, dass Sie die markierten Einträge löschen möchten?' + destroy: 'Löschen' + destroy_multiple: 'Markierte Einträge löschen' + edit: 'Bearbeiten' + show: 'Anzeigen' + create: 'Neu anlegen' + create_for: 'Neuen Eintrag für %{resource} anlegen' + call: 'Anrufen' + show: + page_title: 'Eintrag anzeigen' + name: 'Name' + description: 'Beschreibung' + actions: + confirm: 'Sind Sie sicher, dass Sie diesen Eintrag löschen möchten?' + destroy: 'Löschen' + edit: 'Bearbeiten' + view_all: 'Anrufliste anzeigen' + new: + page_title: 'Neuer Eintrag' + edit: + page_title: 'Anrufliste "%{resource}" bearbeiten' + form: + name: + label: 'Name' + hint: '' + description: + label: 'Beschreibung' + hint: '' + button: 'Absenden' + call_results: + UNSPECIFIED: '' + ORIGINATOR_CANCEL: 'Abgebrochen' + UNALLOCATED_NUMBER: 'Rufnummer nicht bekannt' + NO_USER_RESPONSE: 'Keine Antwort' + NOANSWER: 'Keine Antwort' + USER_NOT_REGISTERED: 'Offline' diff --git a/config/locales/views/call_histories/en.yml b/config/locales/views/call_histories/en.yml new file mode 100644 index 0000000..5adf453 --- /dev/null +++ b/config/locales/views/call_histories/en.yml @@ -0,0 +1,67 @@ +en: + call_histories: + name: 'Call History' + controller: + successfuly_created: 'Successfully created call log entry.' + successfuly_updated: 'Successfully updated call log entry.' + successfuly_destroyed: 'Successfully destroyed call log entry.' + index: + page_title: 'Call History' + page_title_missed: 'Missed calls' + page_title_dialed: 'Placed calls' + page_title_received: 'Received calls' + page_title_forwarded: 'Forwarded calls' + count: 'Number of entries' + missed: 'Missed' + dialed: 'Placed' + received: 'Received' + forwarded: 'Forwarded' + all: 'All' + date_format: '%m/%d/%Y %H:%M' + date_today_format: '%H:%M' + forwarded_by: 'via' + navigation: + missed: 'Missed:%{calls}' + dialed: 'Placed:%{calls}' + received: 'Received:%{calls}' + forwarded: 'Forwarded:%{calls}' + all: 'All:%{calls}' + actions: + confirm: 'Are you sure you want to delete this call log entry?' + confirm_selected: 'Are you sure you want to delete all selected entries?' + destroy: 'Delete' + destroy_multiple: 'Delete selected entries' + edit: 'Edit' + show: 'View' + create: 'New' + create_for: 'New call log entry for %{resource}' + call: 'Call' + show: + page_title: 'Call History' + name: 'Name' + description: 'Description' + actions: + confirm: 'Are you sure you want to delete this call log entry?' + destroy: 'Delete call log entry' + edit: 'Edit call log entry' + view_all: 'View all call log entries' + new: + page_title: 'New call log entry' + edit: + page_title: 'Editing call log "%{resource}"' + form: + name: + label: 'Name' + hint: '' + description: + label: 'Description' + hint: '' + button: 'Submit' + call_results: + UNSPECIFIED: '' + ORIGINATOR_CANCEL: 'Cancelled' + UNALLOCATED_NUMBER: 'Unallocated number' + NO_USER_RESPONSE: 'No user response' + NOANSWER: 'No answer' + USER_NOT_REGISTERED: 'Offline' +
\ No newline at end of file diff --git a/config/locales/views/callthroughs/de.yml b/config/locales/views/callthroughs/de.yml new file mode 100644 index 0000000..c884ffa --- /dev/null +++ b/config/locales/views/callthroughs/de.yml @@ -0,0 +1,58 @@ +de: + callthroughs: + none: 'keiner' + name: 'Callthrough' + controller: + successfuly_created: 'Ein neuer Callthrough wurde erstellt.' + successfuly_updated: 'Der Callthrough wurde aktualisiert.' + successfuly_destroyed: 'Der Callthrough wurde gelöscht.' + index: + page_title: 'Callthrough' + name: 'Name' + sip_account_id: 'SIP-Konto' + phone_numbers: 'Telefonnummern' + access_authorized_phone_numbers: 'Zugelassene Telefonnummern' + whitelist_phone_numbers: 'Positivliste für Zielrufnummern' + actions: + confirm: 'Sind Sie sicher, dass Sie diesen Callthrough löschen möchten?' + destroy: 'Löschen' + edit: 'Bearbeiten' + show: 'Anzeigen' + create: 'Neu anlegen' + create_for: 'Neuen Callthrough für %{resource} anlegen' + show: + page_title: 'Callthrough anzeigen' + name: 'Name' + sip_account_id: 'SIP-Konto' + actions: + confirm: 'Sind Sie sicher, dass Sie diesen Callthrough löschen möchten?' + destroy: 'Löschen' + edit: 'Bearbeiten' + view_all: 'Alle Callthrough anzeigen' + new: + page_title: 'Neuen Callthrough anlegen' + edit: + page_title: 'Callthrough bearbeiten' + actions: + edit: 'Bearbeiten' + view_all: 'Alle Callthrough anzeigen' + form: + phone_numbers: + label: 'Telefonnummern' + hint: 'Unter diesen Telefonnummern ist dieser Callthrough erreichbar.' + access_authorizations: + label: 'Zugangsberechtigungen' + hint: 'Definiert, welche Telefonnummern bzw. Login/PIN Kombinationen diesen Callthrough benuzten dürfen.' + whitelists: + label: 'Positivliste für Zielrufnummern' + hint: "Wenn hier Zielrufnummern gesetzt sind, können nur diese Ziele angerufen werden." + name: + label: 'Name' + hint: '' + sip_account: + label: 'SIP-Konto' + hint: 'Wenn angegeben, werden alle Anrufe dieses Callthrough mit diesem SIP-Konto durchgeführt.' + sip_account_id: + label: 'SIP-Konto ID' + hint: 'Die SIP-Konto ID finden Sie in der URL des entsprechenden SIP-Kontos.' + button: 'Absenden'
\ No newline at end of file diff --git a/config/locales/views/callthroughs/en.yml b/config/locales/views/callthroughs/en.yml new file mode 100644 index 0000000..648fb93 --- /dev/null +++ b/config/locales/views/callthroughs/en.yml @@ -0,0 +1,58 @@ +en: + callthroughs: + none: 'none' + name: 'Callthrough' + controller: + successfuly_created: 'Successfully created callthrough.' + successfuly_updated: 'Successfully updated callthrough.' + successfuly_destroyed: 'Successfully destroyed callthrough.' + index: + page_title: 'Callthroughs' + name: 'Name' + sip_account_id: 'SIP account' + phone_numbers: 'Phone numbers' + access_authorized_phone_numbers: 'Authorized phone numbers' + whitelist_phone_numbers: 'Whitelisted destinations' + actions: + confirm: 'Are you sure you want to delete this callthrough?' + destroy: 'Delete' + edit: 'Edit' + show: 'View' + create: 'New' + create_for: 'New callthrough for %{resource}' + show: + page_title: 'Show callthrough' + name: 'Name' + sip_account_id: 'SIP account' + actions: + confirm: 'Are you sure you want to delete this callthrough?' + destroy: 'Delete' + edit: 'Edit' + view_all: 'View All' + new: + page_title: 'New callthrough' + edit: + page_title: 'Editing callthrough' + actions: + edit: 'Edit' + view_all: 'View All' + form: + phone_numbers: + label: 'Phone numbers' + hint: 'Use these phone numbers to access the callthrough.' + access_authorizations: + label: 'Access authorizations' + hint: 'Define what phone numbers and/or login/pin combinations can use this callthrough.' + whitelists: + label: 'Whitelists for possible destinations' + hint: "When set only these phone numbers can be called with this callthrough. It is optional. If you don't create a whitelist a user of this callthrough can call any phone number with it." + name: + label: 'Name' + hint: '' + sip_account: + label: 'SIP account' + hint: 'When chosen all callthroughs will be routed through this SIP account.' + sip_account_id: + label: 'SIP account ID' + hint: 'Please look up the SIP account ID in the URL of the SIP account.' + button: 'Submit'
\ No newline at end of file diff --git a/config/locales/views/conference_invitees/de.yml b/config/locales/views/conference_invitees/de.yml new file mode 100644 index 0000000..915bc5c --- /dev/null +++ b/config/locales/views/conference_invitees/de.yml @@ -0,0 +1,55 @@ +de: + conference_invitees: + name: 'Telefonkonferenz Teilnehmer' + controller: + successfuly_created: 'Ein Teilnehmer wurde der Telefonkonferenz hinzugefügt.' + successfuly_updated: 'Der Teilnehmer wurde aktualisiert.' + successfuly_destroyed: 'Der Teilnehmer wurde aus der Telefonkonferenz entfernt.' + index: + page_title: 'Telefonkonferenz Teilnehmer' + conference_id: 'Telefonkonferenz' + phone_book_entry_id: 'Telefonbucheintrag' + pin: 'PIN' + speaker: 'Sprecher-Freischaltung' + moderator: 'Moderator' + actions: + confirm: 'Sind Sie sicher, dass Sie diesen Teilnehmer aus der Telefonkonferenz entfernen möchten?' + destroy: 'Löschen' + edit: 'Bearbeiten' + show: 'Anzeigen' + create: 'Neu anlegen' + create_for: 'Neuen Teilnehmer für die Telefonkonferenz %{resource} hinzufügen' + show: + page_title: 'Teilnehmer anzeigen' + conference_id: 'Telefonkonferenz' + phone_book_entry_id: 'Telefonbucheintrag' + pin: 'PIN' + speaker: 'Sprecher-Freischaltung' + moderator: 'Moderator' + actions: + confirm: 'Sind Sie sicher, dass Sie diesen Teilnehmer aus der Telefonkonferenz entfernen möchten?' + destroy: 'Löschen' + edit: 'Bearbeiten' + view_all: 'Alle Telefonkonferenz Teilnehmer anzeigen' + new: + page_title: 'Neuen Teilnehmer hinzufügen' + actions: + edit: + page_title: 'Teilnehmer bearbeiten' + form: + conference_id: + label: 'Telefonkonferenz' + hint: '' + phone_book_entry_id: + label: 'Telefonbucheintrag' + hint: '' + pin: + label: 'PIN' + hint: '' + speaker: + label: 'Sprecher-Freischaltung' + hint: '' + moderator: + label: 'Moderator' + hint: '' + button: 'Absenden'
\ No newline at end of file diff --git a/config/locales/views/conference_invitees/en.yml b/config/locales/views/conference_invitees/en.yml new file mode 100644 index 0000000..7e1a1ca --- /dev/null +++ b/config/locales/views/conference_invitees/en.yml @@ -0,0 +1,54 @@ +en: + conference_invitees: + name: 'Conference invitee' + controller: + successfuly_created: 'Successfully created conference invitee.' + successfuly_updated: 'Successfully updated conference invitee.' + successfuly_destroyed: 'Successfully destroyed conference invitee.' + index: + page_title: 'Conference invitees' + conference_id: 'Conference' + phone_book_entry_id: 'Phone book entry' + pin: 'PIN' + speaker: 'Speaker' + moderator: 'Moderator' + actions: + confirm: 'Are you sure you want to delete this invitee?' + destroy: 'Delete' + edit: 'Edit' + show: 'View' + create: 'New' + create_for: 'New conference invitee for %{resource}' + show: + page_title: 'Show conference invitee' + conference_id: 'Conference' + phone_book_entry_id: 'Phone book entry' + pin: 'PIN' + speaker: 'Speaker' + moderator: 'Moderator' + actions: + confirm: 'Are you sure you want to delete this invitee?' + destroy: 'Delete' + edit: 'Edit' + view_all: 'View all conference invitees' + new: + page_title: 'New conference invitee' + edit: + page_title: 'Editing Conference invitee' + form: + conference_id: + label: 'Conference' + hint: '' + phone_book_entry_id: + label: 'Phone book entry' + hint: '' + pin: + label: 'PIN' + hint: '' + speaker: + label: 'Speaker' + hint: '' + moderator: + label: 'Moderator' + hint: '' + button: 'Submit'
\ No newline at end of file diff --git a/config/locales/views/conferences/de.yml b/config/locales/views/conferences/de.yml new file mode 100644 index 0000000..cf3c080 --- /dev/null +++ b/config/locales/views/conferences/de.yml @@ -0,0 +1,81 @@ +de: + conferences: + name: 'Telefonkonferenz' + new_name_scaffold: 'Telefonkonferenz Nr. %{counter}' + controller: + successfuly_created: 'Eine neue Telefonkonferenz wurde erstellt.' + successfuly_updated: 'Die Telefonkonferenz wurde aktualisiert.' + successfuly_destroyed: 'Die Telefonkonferenz wurde gelöscht.' + index: + page_title: 'Telefonkonferenzen' + name: 'Name' + start: 'Start' + end: 'Ende' + description: 'Beschreibung' + phone_numbers: 'Telefonnummern' + pin: 'PIN' + max_members: 'Maximale Teilnehmeranzahl' + number_of_invitees: 'Teilnehmeranzahl' + flags: 'Flags' + open_for_anybody: 'Offen für alle' + announce_new_member_by_name: 'Betreten ankündigen' + announce_left_member_by_name: 'Verlassen ankündigen' + actions: + confirm: 'Sind Sie sicher, dass Sie diese Telefonkonferenz löschen möchten?' + destroy: 'Löschen' + edit: 'Bearbeiten' + show: 'Anzeigen' + create: 'Neu anlegen' + create_for: 'Neue Telefonkonferenz für %{resource} anlegen' + show: + page_title: 'Telefonkonferenz anzeigen' + name: 'Name' + start: 'Start' + end: 'Ende' + description: 'Beschreibung' + pin: 'PIN' + max_members: 'Maximale Teilnehmeranzahl' + open_for_anybody: 'Für jeden offen?' + announce_new_member_by_name: 'Neue Teilnehmer werden angekündigt' + announce_left_member_by_name: 'Die Konferenz verlassende Teilnehmer werden angekündigt' + actions: + confirm: 'Sind Sie sicher, dass Sie diese Telefonkonferenz löschen möchten?' + destroy: 'Löschen' + edit: 'Bearbeiten' + view_all: 'Alle Telefonkonferenzen anzeigen' + view_all_of: 'Alle Telefonkonferenzen von %{resource} anzeigen' + new: + page_title: 'Neue Telefonkonferenz' + name: "Telefonkonferenz von %{resource}" + actions: + edit: + page_title: 'Telefonkonferenz bearbeiten' + form: + name: + label: 'Name' + hint: '' + start: + label: 'Start' + hint: 'Bitte eine Start-Zeit eintragen, falls diese Telefonkonferenz zeitlich begrenzt ist.' + end: + label: 'Ende' + hint: 'Bitte eine Ende-Zeit eintragen, falls diese Telefonkonferenz zeitlich begrenzt ist.' + description: + label: 'Beschreibung' + hint: '' + max_members: + label: 'Maximale Teilnehmeranzahl' + hint: 'Die maximale Anzahl von Teilnehmern in dieser Telefonkonferenz. Der Inhaber der Konferenz kann immer eintreten (auch wenn die Konferenz bereits voll ist).' + pin: + label: 'PIN' + hint: '' + open_for_anybody: + label: 'Für jeden offen?' + hint: 'Jeder kann an dieser Konferenz teilnehmen.' + announce_new_member_by_name: + label: 'Neue Teilnehmer werden angekündigt' + hint: 'Ein neuer Teilnehmer wird bei Eintritt in die Konferenz vorgestellt.' + announce_left_member_by_name: + label: 'Die Konferenz verlassende Teilnehmer werden angekündigt' + hint: '' + button: 'Absenden'
\ No newline at end of file diff --git a/config/locales/views/conferences/en.yml b/config/locales/views/conferences/en.yml new file mode 100644 index 0000000..7967123 --- /dev/null +++ b/config/locales/views/conferences/en.yml @@ -0,0 +1,81 @@ +en: + conferences: + name: 'Conference' + new_name_scaffold: 'Conference #%{counter}' + controller: + successfuly_created: 'Successfully created the conference.' + successfuly_updated: 'Successfully updated the conference.' + successfuly_destroyed: 'Successfully destroyed the conference.' + index: + page_title: 'Conferences' + name: 'Name' + start: 'Start' + end: 'End' + description: 'Description' + phone_numbers: 'Phone numbers' + pin: 'PIN' + max_members: 'Max members' + number_of_invitees: 'Number of invitees' + flags: 'Flags' + open_for_anybody: 'Open for anybody' + announce_new_member_by_name: 'Announce entering' + announce_left_member_by_name: 'Announce leaving' + actions: + confirm: 'Are you sure you want to delete this conference?' + destroy: 'Delete' + edit: 'Edit' + show: 'View' + create: 'New' + create_for: 'New conference for %{resource}' + show: + page_title: 'Show conference' + name: 'Name' + start: 'Start' + end: 'End' + description: 'Description' + pin: 'PIN' + max_members: 'Max members' + open_for_anybody: 'Open for anybody' + announce_new_member_by_name: 'Announce new member' + announce_left_member_by_name: 'Announce left member' + actions: + confirm: 'Are you sure you want to delete this conference?' + destroy: 'Delete' + edit: 'Edit' + view_all: 'View all conferences' + view_all_of: 'View all conferences of %{resource}' + new: + page_title: 'New conference' + name: "%{resource}'s conference" + actions: + edit: + page_title: 'Editing conference' + form: + name: + label: 'Name' + hint: '' + start: + label: 'Start' + hint: 'Please enter a start time if this conference is only valid in a special time window.' + end: + label: 'End' + hint: 'Please enter an end time if this conference is only valid in a special time window.' + description: + label: 'Description' + hint: '' + max_members: + label: 'Max members' + hint: 'The maximum number of people in this conference. The owner of a conference can always enter the conference (even a full one).' + pin: + label: 'PIN' + hint: '' + open_for_anybody: + label: 'Open for anybody' + hint: '' + announce_new_member_by_name: + label: 'Announce a new conference member' + hint: 'A new member has to record his name which played before joining the conference.' + announce_left_member_by_name: + label: 'Announce the leaving of a member' + hint: '' + button: 'Submit'
\ No newline at end of file diff --git a/config/locales/views/fax_accounts/de.yml b/config/locales/views/fax_accounts/de.yml new file mode 100644 index 0000000..5977bb3 --- /dev/null +++ b/config/locales/views/fax_accounts/de.yml @@ -0,0 +1,60 @@ +de: + fax_accounts: + name: 'Software-Fax-Konto' + controller: + successfuly_created: 'Eine neues Software-Fax-Konto wurde erstellt.' + successfuly_updated: 'Das Software-Fax-Konto wurde aktualisiert.' + successfuly_destroyed: 'Das Software-Fax-Konto wurde gelöscht.' + index: + page_title: 'Software-Fax-Konten' + name: 'Name' + station_id: 'Stations-ID' + email: 'E-Mail' + phone_numbers: 'Telefonnummern' + days_till_auto_delete: 'Anzahl der Tage bis Faxe gelöscht werden' + thumbnails: 'Vorschaubilder' + received: 'Empfangen' + sent: 'Gesendet' + retries: 'Max. Anzahl von Sendeversuchen' + last_update: 'Letzter Eintrag' + send_a_fax: 'Fax versenden' + actions: + confirm: 'Sind Sie sicher, dass Sie dieses Software-Fax-Konto löschen möchten?' + destroy: 'Löschen' + edit: 'Bearbeiten' + show: 'Anzeigen' + create: 'Neu anlegen' + create_for: 'Neues Fax-Konto für %{resource} anlegen' + show: + page_title: 'Software-Fax-Konto anzeigen' + name: 'Name' + station_id: 'Stations-ID' + email: 'E-Mail' + days_till_auto_delete: 'Anzahl der Tage bis Faxe gelöscht werden' + retries: 'Max. Anzahl von Sendeversuchen' + actions: + confirm: 'Sind Sie sicher, dass Sie dieses Software-Fax-Konto löschen möchten?' + destroy: 'Löschen' + edit: 'Bearbeiten' + view_all: 'Alle anzeigen' + new: + page_title: 'Neues Software-Fax-Konto' + edit: + page_title: 'Software-Fax-Konto bearbeiten' + form: + name: + label: 'Name' + hint: '' + station_id: + label: 'Stations-ID' + hint: 'Die "Stations-ID" wird in der Kopfzeile eines Faxes als Absender angezeigt.' + email: + label: 'E-Mail' + hint: 'Ein PDF eines empfangenen Faxes wird an diese E-Mail Adresse verschickt.' + days_till_auto_delete: + label: 'Anzahl der Tage bis Faxe gelöscht werden' + hint: '' + retries: + label: 'Max. Anzahl von Sendeversuchen' + hint: '' + button: 'Absenden'
\ No newline at end of file diff --git a/config/locales/views/fax_accounts/en.yml b/config/locales/views/fax_accounts/en.yml new file mode 100644 index 0000000..55e935a --- /dev/null +++ b/config/locales/views/fax_accounts/en.yml @@ -0,0 +1,60 @@ +en: + fax_accounts: + name: 'Fax account' + controller: + successfuly_created: 'Successfully created fax account.' + successfuly_updated: 'Successfully updated fax account.' + successfuly_destroyed: 'Successfully destroyed fax account.' + index: + page_title: 'Fax accounts' + name: 'Name' + station_id: 'Station ID' + email: 'E-Mail' + phone_numbers: 'Phone numbers' + days_till_auto_delete: 'Day till auto delete' + thumbnails: 'Thumbnails' + received: 'Received' + sent: 'Sent' + retries: 'Retries' + last_update: 'last update' + send_a_fax: 'send a fax' + actions: + confirm: 'Are you sure you want to delete this fax account?' + destroy: 'Delete' + edit: 'Edit' + show: 'View' + create: 'New' + create_for: 'New fax account for %{resource}' + show: + page_title: 'Show fax account' + name: 'Name' + station_id: 'Station ID' + email: 'E-Mail' + days_till_auto_delete: 'Day till auto delete' + retries: 'Retries' + actions: + confirm: 'Are you sure you want to delete this fax account?' + destroy: 'Delete' + edit: 'Edit' + view_all: 'View All' + new: + page_title: 'New fax account' + edit: + page_title: 'Editing fax account' + form: + name: + label: 'Name' + hint: '' + station_id: + label: 'Station ID' + hint: 'This string will be displayed in the top row of a fax before the fax number.' + email: + label: 'E-Mail' + hint: 'A PDF of each received fax will be send by e-mail to this address.' + days_till_auto_delete: + label: 'Days till auto delete' + hint: 'Number of days after faxes can be automaticaly deleted in the system to save storage space.' + retries: + label: 'Retries' + hint: 'Number of times the system retries to send the fax in case the destination is busy.' + button: 'Submit'
\ No newline at end of file diff --git a/config/locales/views/fax_documents/de.yml b/config/locales/views/fax_documents/de.yml new file mode 100644 index 0000000..066746d --- /dev/null +++ b/config/locales/views/fax_documents/de.yml @@ -0,0 +1,148 @@ +de: + fax_documents: + name: 'Fax-Dokument' + controller: + successfuly_created: 'Eine neues Fax-Dokument wurde erstellt.' + successfuly_updated: 'Das Fax-Dokument wurde aktualisiert.' + successfuly_destroyed: 'Das Fax-Dokument wurde gelöscht.' + states: + queued_for_sending: 'In der Warteschleife zum Versand' + sending: 'Wird aktuell versendet' + unsuccessful: 'Nicht erfolgreich' + successful: 'Erfolgreich' + inbound: 'Eingehendes Fax' + result_codes: + code_0: 'OK' + code_2: 'Timeout beim Warten auf den Beginn der Kommunikation' + code_3: 'Timeout beim Warten auf die erste Nachricht' + code_5: 'Der HDLC Träger wurde nicht rechtzeitig beendet' + code_6: 'Training mit allen kompatiblen Modems fehlgeschlagen' + code_13: 'Unerwartete Nachricht erhalten' + code_14: 'Fehlerhafte Antwort auf DCS oder Training' + code_15: 'DCN von der Gegenstelle empfangen nachdem eine Seite gesendet wurde' + code_17: 'DCN empfangen während DIS erwartet wurde' + code_20: 'Keine Antwort auf DCS oder TCF empfangen' + code_23: 'Fehlerhafte ECM Antwort vom Sender empfangen' + code_31: 'Timer T2 abgelaufen während auf die Seite gewartet wurde' + code_32: 'Timer T2 abgelaufen während auf die nächse Seite gewartet wurde' + code_48: 'Nach zu vielen Fehlversuchen beendet' + code_49: 'Anruf vorzeitig beendet' + index: + page_title: 'Fax-Dokumente' + inbound: 'Eingehend' + state: 'Status' + transmission_time: 'Übertragungszeit' + sent_at: 'Sendezeit' + document_total_pages: 'Seitenanzahl' + document_transferred_pages: 'Übertragene Seiten' + ecm_requested: 'Fehlerkorrektur (ECM) angefragt' + ecm_used: 'Fehlerkorrektur (ECM) verwendet' + image_resolution: 'Bildauflösung' + image_size: 'Bildgröße' + local_station_id: 'Lokale Gegenstelle' + result_code: 'Ergebnis-Code' + result_text: 'Ergebnis-Text' + remote_station_id: 'Stations-ID der Gegenstelle' + success: 'Erfolgreich' + transfer_rate: 'Transferrate' + fax_resolution: 'Fax Auflösung' + document: 'Dokument' + destination_phone_number: 'Ziel Fax-Nummer' + actions: + confirm: 'Sind Sie sicher, dass Sie dieses Fax-Dokument löschen möchten?' + destroy: 'Löschen' + edit: 'Bearbeiten' + show: 'Anzeigen' + create: 'Neues Fax-Dokument' + download_pdf: 'PDF herunterladen' + show: + page_title: 'Fax-Dokument anzeigen' + inbound: 'Eingehend' + state: 'Status' + transmission_time: 'Übertragungszeit' + sent_at: 'Sendezeit' + document_total_pages: 'Seitenanzahl' + document_transferred_pages: 'Übertragende Seiten' + ecm_requested: 'Fehlerkorrektur (ECM) angefragt' + ecm_used: 'Fehlerkorrektur (ECM) verwendet' + image_resolution: 'Bildauflösung' + image_size: 'Bildgröße' + local_station_id: 'Lokale Gegenstelle' + result_code: 'Ergebnis-Code' + result_text: 'Ergebnis-Text' + remote_station_id: 'Stations-ID der Gegenstelle' + success: 'Erfolgreich' + transfer_rate: 'Transferrate' + document: 'Dokument' + fax_resolution: 'Fax Auflösung' + destination_phone_number: 'Ziel Fax-Nummer' + actions: + confirm: 'Sind Sie sicher, dass Sie dieses Fax-Dokument löschen möchten?' + destroy: 'Löschen' + edit: 'Bearbeiten' + view_all: 'Alle anzeigen' + view_all_for: 'Alle Fax-Dokumente von %{resource} anzeigen' + new: + page_title: 'Neues Fax-Dokument' + edit: + page_title: 'Fax-Dokument bearbeiten' + form: + inbound: + label: 'Eingehend' + hint: '' + state: + label: 'Status' + hint: '' + transmission_time: + label: 'Übertragungszeit' + hint: '' + sent_at: + label: 'Sendezeit' + hint: '' + document_total_pages: + label: 'Seitenanzahl' + hint: '' + document_transferred_pages: + label: 'Übertragene Seiten' + hint: '' + ecm_requested: + label: 'Fehlerkorrektur (ECM) angefragt' + hint: '' + ecm_used: + label: 'Fehlerkorrektur (ECM) verwendet' + hint: '' + image_resolution: + label: 'Bildauflösung' + hint: '' + image_size: + label: 'Bildgröße' + hint: '' + local_station_id: + label: 'Lokale Gegenstelle' + hint: '' + result_code: + label: 'Ergebnis-Code' + hint: '' + result_text: + label: 'Ergebnis-Text' + hint: '' + remote_station_id: + label: 'Stations-ID der Gegenstelle' + hint: '' + success: + label: 'Erfolgreich' + hint: '' + transfer_rate: + label: 'Transferrate' + hint: '' + document: + label: 'Dokument' + hint: '' + fax_resolution: + label: 'Fax Auflösung' + hint: '' + destination_phone_number: + label: 'Ziel Fax-Nummer' + hint: '' + button: 'Absenden' + diff --git a/config/locales/views/fax_documents/en.yml b/config/locales/views/fax_documents/en.yml new file mode 100644 index 0000000..bedb2e6 --- /dev/null +++ b/config/locales/views/fax_documents/en.yml @@ -0,0 +1,148 @@ +en: + fax_documents: + name: 'Fax' + controller: + successfuly_created: 'Successfully created fax.' + successfuly_updated: 'Successfully updated fax.' + successfuly_destroyed: 'Successfully destroyed fax.' + states: + queued_for_sending: 'Queued for sending' + sending: 'Currently sending' + unsuccessful: 'Unsuccessful' + successful: 'Successful' + inbound: 'Inbound' + result_codes: + code_0: 'OK' + code_2: 'Timed out waiting for initial communication' + code_3: 'Timed out waiting for the first message' + code_5: 'The HDLC carrier did not stop in a timely manner' + code_6: 'Failed to train with any of the compatible modems' + code_13: 'Unexpected message received' + code_14: 'Received bad response to DCS or training' + code_15: 'Received a DCN from remote after sending a page' + code_17: 'Received a DCN while waiting for a DIS' + code_20: 'Received no response to DCS or TCF' + code_23: 'Invalid ECM response received from transmitter' + code_31: 'Timer T2 expired while waiting for fax page' + code_32: 'Timer T2 expired while waiting for next fax page' + code_48: 'Disconnected after permitted retries' + code_49: 'The call dropped prematurely' + index: + page_title: 'Faxes' + inbound: 'Inbound' + state: 'State' + transmission_time: 'Transmission time' + sent_at: 'Sent at' + document_total_pages: 'Document total pages' + document_transferred_pages: 'Document transferred pages' + ecm_requested: 'ECM requested' + ecm_used: 'ECM used' + image_resolution: 'Image resolution' + image_size: 'Image size' + local_station_id: 'Local station' + result_code: 'Result code' + result_text: 'Result text' + remote_station_id: 'Remote station ID' + success: 'Success' + transfer_rate: 'Transfer rate' + fax_resolution: 'Resolution' + document: 'Document' + destination_phone_number: 'Destination phone number' + actions: + confirm: 'Are you sure you want to delete this fax?' + destroy: 'Delete' + edit: 'Edit' + show: 'View' + create: 'New fax document' + download_pdf: 'Download PDF' + show: + page_title: 'Show Fax' + inbound: 'Inbound' + state: 'State' + transmission_time: 'Transmission time' + sent_at: 'Sent at' + document_total_pages: 'Document total pages' + document_transferred_pages: 'Document transferred pages' + ecm_requested: 'ECM requested' + ecm_used: 'ECM used' + image_resolution: 'Image resolution' + image_size: 'Image size' + local_station_id: 'Local station' + result_code: 'Result code' + result_text: 'Result text' + remote_station_id: 'Remote station ID' + success: 'Success' + transfer_rate: 'Transfer rate' + document: 'Document' + fax_resolution: 'Resolution' + destination_phone_number: 'Destination phone number' + actions: + confirm: 'Are you sure you want to delete this fax?' + destroy: 'Delete' + edit: 'Edit' + view_all: 'View all' + view_all_for: 'View all faxes of %{resource}' + new: + page_title: 'New Fax' + edit: + page_title: 'Editing Fax' + form: + inbound: + label: 'Inbound' + hint: '' + state: + label: 'State' + hint: '' + transmission_time: + label: 'Transmission time' + hint: '' + sent_at: + label: 'Sent at' + hint: '' + document_total_pages: + label: 'Document total pages' + hint: '' + document_transferred_pages: + label: 'Document transferred pages' + hint: '' + ecm_requested: + label: 'ECM requested' + hint: '' + ecm_used: + label: 'ECM used' + hint: '' + image_resolution: + label: 'Image resolution' + hint: '' + image_size: + label: 'Image size' + hint: '' + local_station_id: + label: 'Local station' + hint: '' + result_code: + label: 'Result code' + hint: '' + result_text: + label: 'Result text' + hint: '' + remote_station_id: + label: 'Remote station ID' + hint: '' + success: + label: 'Success' + hint: '' + transfer_rate: + label: 'Transfer rate' + hint: '' + document: + label: 'Document' + hint: '' + fax_resolution: + label: 'Resolution' + hint: '' + destination_phone_number: + label: 'Destination phone number' + hint: '' + button: 'Submit' + diff --git a/config/locales/views/gemeinschaft_setups/de.yml b/config/locales/views/gemeinschaft_setups/de.yml new file mode 100644 index 0000000..a1dd989 --- /dev/null +++ b/config/locales/views/gemeinschaft_setups/de.yml @@ -0,0 +1,28 @@ +de: + gemeinschaft_setups: + name: 'Gemeinschaft Installations-Assistent' + initial_setup: + tenant_name_default: 'Beispiel-Firma GmbH' + access_denied_only_available_on_a_new_system: 'Zugriff verweigert! Der Installations-Assistent ist nur auf einem frisch installierten System verfügbar.' + successful_setup: 'Ihr Admin-Konto wurde erstellt. Als nächsten Schritt müssen Sie einen Mandant anlegen.' + admin_name: 'admin' + super_tenant_description: 'Die Benutzer dieses Mandanten haben besondere Rechte. Sie können andere Mandanten anlegen und löschen.' + admin_group_name: 'Admins' + user_group_name: 'Benutzer' + super_admin_group_name: 'Super-Admins' + new: + page_title: 'Gemeinschaft Setup' + form: + user_id: + label: 'Benutzer' + hint: '' + sip_domain_id: + label: 'SIP-Domain' + hint: '' + country_id: + label: 'Land' + hint: '' + language_id: + label: 'Sprache' + hint: '' + button: 'Absenden'
\ No newline at end of file diff --git a/config/locales/views/gemeinschaft_setups/en.yml b/config/locales/views/gemeinschaft_setups/en.yml new file mode 100644 index 0000000..aef2686 --- /dev/null +++ b/config/locales/views/gemeinschaft_setups/en.yml @@ -0,0 +1,28 @@ +en: + gemeinschaft_setups: + name: 'Gemeinschaft Setup Wizard' + initial_setup: + tenant_name_default: 'Snake Oil, Ltd.' + access_denied_only_available_on_a_new_system: 'Access denied! The setup wizard is only available on a new system.' + successful_setup: 'Your admin account has been created. The next step is to create a tenant.' + admin_name: 'admin' + super_tenant_description: 'The members of this tenant have the power to create and delete other tenants.' + admin_group_name: 'Admins' + user_group_name: 'Users' + super_admin_group_name: 'Super-Admins' + new: + page_title: 'New Gemeinschaft setup' + form: + user_id: + label: 'User' + hint: '' + sip_domain_id: + label: 'SIP domain' + hint: '' + country_id: + label: 'Country' + hint: '' + language_id: + label: 'Language' + hint: '' + button: 'Submit'
\ No newline at end of file diff --git a/config/locales/views/gs_cluster_sync_log_entries/de.yml b/config/locales/views/gs_cluster_sync_log_entries/de.yml new file mode 100644 index 0000000..454c317 --- /dev/null +++ b/config/locales/views/gs_cluster_sync_log_entries/de.yml @@ -0,0 +1,60 @@ +de: + gs_cluster_sync_log_entries: + name: 'GS Cluster Synclog Einträge' + controller: + successfuly_created: 'Ein Eintrag im GS Cluster Synclog wurde erstellt.' + successfuly_updated: 'Der Eintrag im GS Cluster Synclog wurde aktualisiert.' + successfuly_destroyed: 'Der Eintrag im GS Cluster Synclog wurde gelöscht.' + index: + page_title: 'GS Cluster Synclog Einträge auflisten' + gs_node_id: 'GS Knoten' + class_name: 'Klasse' + action: 'Aktion' + content: 'Inhalt' + status: 'Status' + actions: + confirm: 'Sind Sie sicher, dass Sie diesen Eintrag aus dem GS Cluster Synclog löschen möchten?' + destroy: 'Löschen' + edit: 'Bearbeiten' + show: 'Anzeigen' + create: 'Neu anlegen' + create_for: 'Neuen GS Cluster Synclog Eintrag für %{resource}' + show: + page_title: 'Eintrag anzeigen' + gs_node_id: 'GS Knoten' + class_name: 'Klasse' + action: 'Aktion' + content: 'Inhalt' + status: 'Status' + actions: + confirm: 'Sind Sie sicher, dass Sie diesen Eintrag aus dem GS Cluster Synclog löschen möchten?' + destroy: 'Löschen' + edit: 'Bearbeiten' + view_all: 'Alle anzeigen' + new: + page_title: 'Neuer Eintrag' + actions: + back_to_list: 'Zurück zur Übersicht' + edit: + page_title: 'Eintrag bearbeiten' + actions: + back_to_list: 'Zurück zur Übersicht' + edit: 'Bearbeiten' + view_all: 'Alle anzeigen' + form: + gs_node_id: + label: 'GS Knoten' + hint: '' + class_name: + label: 'Klasse' + hint: '' + action: + label: 'Aktion' + hint: '' + content: + label: 'Inhalt' + hint: '' + status: + label: 'Status' + hint: '' + button: 'Absenden'
\ No newline at end of file diff --git a/config/locales/views/gs_cluster_sync_log_entries/en.yml b/config/locales/views/gs_cluster_sync_log_entries/en.yml new file mode 100644 index 0000000..63c0cbb --- /dev/null +++ b/config/locales/views/gs_cluster_sync_log_entries/en.yml @@ -0,0 +1,60 @@ +en: + gs_cluster_sync_log_entries: + name: 'Gs cluster sync log entry' + controller: + successfuly_created: 'Successfully created Gs cluster sync log entry.' + successfuly_updated: 'Successfully updated Gs cluster sync log entry.' + successfuly_destroyed: 'Successfully destroyed Gs cluster sync log entry.' + index: + page_title: 'Listing Gs cluster sync log entry' + gs_node_id: 'Gs node' + class_name: 'Class name' + action: 'Action' + content: 'Content' + status: 'Status' + actions: + confirm: 'Are you sure you want to delete this Gs cluster sync log entry?' + destroy: 'Delete' + edit: 'Edit' + show: 'View' + create: 'New' + create_for: 'New Gs cluster sync log entry for %{resource}' + show: + page_title: 'Show Gs cluster sync log entry' + gs_node_id: 'Gs node' + class_name: 'Class name' + action: 'Action' + content: 'Content' + status: 'Status' + actions: + confirm: 'Are you sure you want to delete this element?' + destroy: 'Delete' + edit: 'Edit' + view_all: 'View All' + new: + page_title: 'New Gs cluster sync log entry' + actions: + back_to_list: 'Back to Index' + edit: + page_title: 'Editing Gs cluster sync log entry' + actions: + back_to_list: 'Back to Index' + edit: 'Edit' + view_all: 'View All' + form: + gs_node_id: + label: 'Gs node' + hint: '' + class_name: + label: 'Class name' + hint: '' + action: + label: 'Action' + hint: '' + content: + label: 'Content' + hint: '' + status: + label: 'Status' + hint: '' + button: 'Submit'
\ No newline at end of file diff --git a/config/locales/views/gs_nodes/de.yml b/config/locales/views/gs_nodes/de.yml new file mode 100644 index 0000000..62b935e --- /dev/null +++ b/config/locales/views/gs_nodes/de.yml @@ -0,0 +1,65 @@ +de: + gs_nodes: + name: 'GS Knoten' + controller: + successfuly_created: 'Ein GS Knoten wurde erstellt.' + successfuly_updated: 'Der GS Knoten wurde aktualisiert.' + successfuly_destroyed: 'Der GS Knoten wurde gelöscht.' + index: + page_title: 'GS Knoten auflisten' + name: 'Name' + ip_address: 'IP-Adresse' + push_updates_to: 'Änderungen an diesen Konten senden?' + accepts_updates_from: 'Änderungen von diesem Konten akzeptieren?' + site: 'Standort' + element_name: 'Elementenname' + actions: + confirm: 'Sind Sie sicher, dass Sie diesen GS Knoten löschen möchten?' + destroy: 'Löschen' + edit: 'Bearbeiten' + show: 'Anzeigen' + create: 'Neu anlegen' + create_for: 'Neuer GS Knoten für %{resource}' + show: + page_title: 'GS Knoten anzeigen' + name: 'Name' + ip_address: 'IP-Adresse' + push_updates_to: 'Änderungen an diesen Konten senden?' + accepts_updates_from: 'Änderungen von diesem Konten akzeptieren?' + site: 'Standort' + element_name: 'Elementenname' + actions: + confirm: 'Sind Sie sicher, dass Sie diesen GS Knoten löschen möchten?' + destroy: 'Löschen' + edit: 'Bearbeiten' + view_all: 'Alle anzeigen' + new: + page_title: 'Neuer GS Knoten' + actions: + back_to_list: 'Zurück zur Übersicht' + edit: + page_title: 'GS Knoten bearbeiten' + actions: + back_to_list: 'Zurück zur Übersicht' + edit: 'Bearbeiten' + view_all: 'Alle anzeigen' + form: + name: + label: 'Name' + hint: '' + ip_address: + label: 'IP-Adresse' + hint: '' + site: + label: 'Standort' + hint: 'z.B. http://0.0.0.0:3000/' + element_name: + label: 'Elementenname' + hint: '' + push_updates_to: + label: 'Änderungen senden' + hint: '' + accepts_updates_from: + label: 'Änderungen empfangen' + hint: '' + button: 'Absenden'
\ No newline at end of file diff --git a/config/locales/views/gs_nodes/en.yml b/config/locales/views/gs_nodes/en.yml new file mode 100644 index 0000000..8fd7c03 --- /dev/null +++ b/config/locales/views/gs_nodes/en.yml @@ -0,0 +1,65 @@ +en: + gs_nodes: + name: 'GS Node' + controller: + successfuly_created: 'Successfully created GS Node.' + successfuly_updated: 'Successfully updated GS Node.' + successfuly_destroyed: 'Successfully destroyed GS Node.' + index: + page_title: 'Listing GS Nodes' + name: 'Name' + ip_address: 'IP address' + push_updates_to: 'Push updates to this node?' + accepts_updates_from: 'Accepts updates from this node?' + site: 'Site' + element_name: 'Element name' + actions: + confirm: 'Are you sure you want to delete this GS Node?' + destroy: 'Delete' + edit: 'Edit' + show: 'View' + create: 'New' + create_for: 'New GS Node for %{resource}' + show: + page_title: 'Show GS Node' + name: 'Name' + ip_address: 'IP address' + push_updates_to: 'Push updates' + site: 'Site' + element_name: 'Element name' + accepts_updates_from: 'Accepts updates from this node?' + actions: + confirm: 'Are you sure you want to delete this element?' + destroy: 'Delete' + edit: 'Edit' + view_all: 'View All' + new: + page_title: 'New GS Node' + actions: + back_to_list: 'Back to Index' + edit: + page_title: 'Editing GS Node' + actions: + back_to_list: 'Back to Index' + edit: 'Edit' + view_all: 'View All' + form: + name: + label: 'Name' + hint: '' + ip_address: + label: 'IP address' + hint: '' + site: + label: 'Site' + hint: 'e.g. http://0.0.0.0:3000/' + element_name: + label: 'Element name' + hint: '' + push_updates_to: + label: 'Push updates to' + hint: '' + accepts_updates_from: + label: 'Accepts updates from this node?' + hint: '' + button: 'Submit'
\ No newline at end of file diff --git a/config/locales/views/gui_functions/de.yml b/config/locales/views/gui_functions/de.yml new file mode 100644 index 0000000..9f95f7d --- /dev/null +++ b/config/locales/views/gui_functions/de.yml @@ -0,0 +1,50 @@ +de: + gui_functions: + name: 'Oberflächen-Funktionen' + controller: + successfuly_created: 'Eine Oberflächen-Funktion wurde erstellt.' + successfuly_updated: 'Die Oberflächen-Funktion wurde aktualisiert.' + successfuly_destroyed: 'Die Oberflächen-Funktion wurde gelöscht.' + index: + page_title: 'Oberflächen-Funktionen' + category: 'Kategorie' + name: 'Name' + description: 'Beschreibung' + actions: + confirm: 'Sind Sie sicher, dass Sie diese Oberflächen-Funktion löschen möchten?' + destroy: 'Löschen' + edit: 'Bearbeiten' + show: 'Anzeigen' + create: 'Neu anlegen' + create_for: 'Neue Oberflächen-Funktion für %{resource}' + show: + page_title: 'Oberflächen-Funktion anzeigen' + category: 'Kategorie' + name: 'Name' + description: 'Beschreibung' + actions: + confirm: 'Sind Sie sicher, dass Sie diese Oberflächen-Funktion löschen möchten?' + destroy: 'Löschen' + edit: 'Bearbeiten' + view_all: 'Alle anzeigen' + new: + page_title: 'Neue Oberflächen-Funktion' + actions: + back_to_list: 'Zurück zur Übersicht' + edit: + page_title: 'Oberflächen-Funktion bearbeiten' + actions: + back_to_list: 'Zurück zur Übersicht' + edit: 'Bearbeiten' + view_all: 'Alle anzeigen' + form: + category: + label: 'Kategorie' + hint: '' + name: + label: 'Name' + hint: '' + description: + label: 'Beschreibung' + hint: '' + button: 'Absenden'
\ No newline at end of file diff --git a/config/locales/views/gui_functions/en.yml b/config/locales/views/gui_functions/en.yml new file mode 100644 index 0000000..346f27a --- /dev/null +++ b/config/locales/views/gui_functions/en.yml @@ -0,0 +1,50 @@ +de: + gui_functions: + name: 'Gui Function' + controller: + successfuly_created: 'Successfully created a gui function.' + successfuly_updated: 'Successfully updated a gui function.' + successfuly_destroyed: 'Successfully destroyed a gui function.' + index: + page_title: 'Listing of all gui functions' + category: 'Category' + name: 'Name' + description: 'Description' + actions: + confirm: 'Are you sure you want to delete this gui function?' + destroy: 'Delete' + edit: 'Edit' + show: 'View' + create: 'New' + create_for: 'New gui function for %{resource}' + show: + page_title: 'Show gui function' + category: 'Category' + name: 'Name' + description: 'Description' + actions: + confirm: 'Are you sure you want to delete this element?' + destroy: 'Delete' + edit: 'Edit' + view_all: 'View All' + new: + page_title: 'New gui function' + actions: + back_to_list: 'Back to Index' + edit: + page_title: 'Editing gui function' + actions: + back_to_list: 'Back to Index' + edit: 'Edit' + view_all: 'View All' + form: + category: + label: 'Category' + hint: '' + name: + label: 'Name' + hint: '' + description: + label: 'Description' + hint: '' + button: 'Submit'
\ No newline at end of file diff --git a/config/locales/views/hunt_group_members/de.yml b/config/locales/views/hunt_group_members/de.yml new file mode 100644 index 0000000..f98ecfc --- /dev/null +++ b/config/locales/views/hunt_group_members/de.yml @@ -0,0 +1,48 @@ +de: + hunt_group_members: + name: 'Rufgruppen-Teilnehmer' + controller: + successfuly_created: 'Ein neuer Rufgruppen-Teilnehmer wurde eingetragen.' + successfuly_updated: 'Der Rufgruppen-Teilnehmer wurde aktualisiert.' + successfuly_destroyed: 'Der Rufgruppen-Teilnehmer wurde entfernt.' + index: + page_title: 'Rufgruppen-Teilnehmer' + name: 'Name' + active: 'Aktiv' + phone_numbers: 'Telefonnummern' + can_switch_status_itself: 'Darf seinen Status selbst ändern' + actions: + confirm: 'Sind Sie sicher, dass Sie diesen Rufgruppen-Teilnehmer entfernen möchten?' + destroy: 'Löschen' + edit: 'Bearbeiten' + show: 'Anzeigen' + create: 'Neu anlegen' + create_for: 'Neuen Teilnehmer für %{resource} anlegen' + show: + page_title: 'Teilnehmer anzeigen' + name: 'Name' + active: 'Aktiv' + can_switch_status_itself: 'Darf seinen Status selber ändern' + actions: + confirm: 'Sind Sie sicher, dass Sie diesen Rufgruppen-Teilnehmer entfernen möchten?' + destroy: 'Löschen' + edit: 'Bearbeiten' + view_all: 'Alle Rufgruppen-Teilnehmer anzeigen' + new: + page_title: 'Neuen Teilnehmer anlegen' + edit: + page_title: 'Teilnehmer bearbeiten' + form: + name: + label: 'Name' + hint: '' + active: + label: 'Aktiv' + hint: '' + can_switch_status_itself: + label: 'Darf seinen Status selber ändern' + hint: 'Diese Funktion geht nur von Nummern innerhalb der Anlage.' + phone_numbers: + label: 'Telefonnummern' + hint: '' + button: 'Absenden'
\ No newline at end of file diff --git a/config/locales/views/hunt_group_members/en.yml b/config/locales/views/hunt_group_members/en.yml new file mode 100644 index 0000000..0daa146 --- /dev/null +++ b/config/locales/views/hunt_group_members/en.yml @@ -0,0 +1,48 @@ +en: + hunt_group_members: + name: 'Hunt group member' + controller: + successfuly_created: 'Successfully created hunt group member.' + successfuly_updated: 'Successfully updated hunt group member.' + successfuly_destroyed: 'Successfully destroyed hunt group member.' + index: + page_title: 'Hunt group members' + name: 'Name' + active: 'Active' + phone_numbers: 'Phone numbers' + can_switch_status_itself: 'Can switch status itself' + actions: + confirm: 'Are you sure you want to delete this hunt group member?' + destroy: 'Delete' + edit: 'Edit' + show: 'View' + create: 'New' + create_for: 'New hunt group member for %{resource}' + show: + page_title: 'Show hunt group member' + name: 'Name' + active: 'Active' + can_switch_status_itself: 'Can switch status itself' + actions: + confirm: 'Are you sure you want to delete this element?' + destroy: 'Delete' + edit: 'Edit' + view_all: 'View All' + new: + page_title: 'New hunt group member' + edit: + page_title: 'Editing hunt group member' + form: + name: + label: 'Name' + hint: '' + active: + label: 'Active' + hint: '' + can_switch_status_itself: + label: 'Can switch status itself' + hint: 'This feature is only accessible from internal extensions.' + phone_numbers: + label: 'Phone numbers' + hint: '' + button: 'Submit'
\ No newline at end of file diff --git a/config/locales/views/hunt_groups/de.yml b/config/locales/views/hunt_groups/de.yml new file mode 100644 index 0000000..6865d18 --- /dev/null +++ b/config/locales/views/hunt_groups/de.yml @@ -0,0 +1,57 @@ +de: + hunt_groups: + name: 'Rufgruppe' + strategies: + ring_all: 'Alle Rufgruppen-Teilnehmer klingeln parallel' + ring_recursively: 'Die Rufgruppen-Teilnehmer klingeln rekursiv' + controller: + successfuly_created: 'Eine neue Rufgruppe wurde angelegt.' + successfuly_updated: 'Die Rufgruppe wurde aktualisiert.' + successfuly_destroyed: 'Die Rufgruppe wurde gelöscht.' + index: + page_title: 'Rufgruppen' + name: 'Name' + strategy: 'Verteilungs-Strategie' + seconds_between_jumps: 'Sekunden zwischen Sprüngen' + phone_numbers: 'Telefonnummern' + hunt_group_members: 'Rufgruppen-Teilnehmer' + actions: + confirm: 'Sind Sie sicher, dass Sie diese Rufgruppe löschen möchten?' + destroy: 'Löschen' + edit: 'Bearbeiten' + show: 'Anzeigen' + create: 'Neu anlegen' + create_for: 'Neue Rufgruppe für %{resource} anlegen' + show: + page_title: 'Rufgruppe anzeigen' + name: 'Name' + strategy: 'Verteilungs-Strategie' + seconds_between_jumps: 'Sekunden zwischen Sprüngen' + phone_numbers: 'Telefonnummern' + hunt_group_members: 'Rufgruppen-Teilnehmer' + actions: + confirm: 'Sind Sie sicher, dass Sie diese Rufgruppe löschen möchten?' + destroy: 'Löschen' + edit: 'Bearbeiten' + view_all: 'Alle Rufgruppen anzeigen' + new: + page_title: 'Neue Rufgruppe' + edit: + page_title: 'Rufgruppe bearbeiten' + form: + name: + label: 'Name' + hint: '' + strategy: + label: 'Verteilungs-Strategie' + hint: '' + seconds_between_jumps: + label: 'Sekunden zwischen Sprüngen' + hint: '' + phone_numbers: + label: 'Telefonnummern' + hint: '' + hunt_group_members: + label: 'Rufgruppen-Teilnehmer' + hint: '' + button: 'Absenden'
\ No newline at end of file diff --git a/config/locales/views/hunt_groups/en.yml b/config/locales/views/hunt_groups/en.yml new file mode 100644 index 0000000..7039c97 --- /dev/null +++ b/config/locales/views/hunt_groups/en.yml @@ -0,0 +1,57 @@ +en: + hunt_groups: + name: 'Hunt group' + strategies: + ring_all: 'Ring all' + ring_recursively: 'Ring recursively' + controller: + successfuly_created: 'Successfully created hunt group.' + successfuly_updated: 'Successfully updated hunt group.' + successfuly_destroyed: 'Successfully destroyed hunt group.' + index: + page_title: 'Hunt groups' + name: 'Name' + strategy: 'Strategy' + seconds_between_jumps: 'S.b.jumps' + phone_numbers: 'Phone numbers' + hunt_group_members: 'Members' + actions: + confirm: 'Are you sure you want to delete this hunt group?' + destroy: 'Delete' + edit: 'Edit' + show: 'View' + create: 'New' + create_for: 'New hunt group for %{resource}' + show: + page_title: 'Show hunt group' + name: 'Name' + strategy: 'Strategy' + seconds_between_jumps: 'Seconds between jumps' + phone_numbers: 'Phone numbers' + hunt_group_members: 'Members' + actions: + confirm: 'Are you sure you want to delete this hunt group?' + destroy: 'Delete' + edit: 'Edit' + view_all: 'View All' + new: + page_title: 'New hunt group' + edit: + page_title: 'Editing hunt group' + form: + name: + label: 'Name' + hint: '' + strategy: + label: 'Strategy' + hint: '' + seconds_between_jumps: + label: 'Seconds between jumps' + hint: 'Set when the strategy is not "Ring all".' + phone_numbers: + label: 'Phone numbers' + hint: '' + hunt_group_members: + label: 'Members of this hunt group' + hint: '' + button: 'Submit'
\ No newline at end of file diff --git a/config/locales/views/manufacturers/de.yml b/config/locales/views/manufacturers/de.yml new file mode 100644 index 0000000..6620e22 --- /dev/null +++ b/config/locales/views/manufacturers/de.yml @@ -0,0 +1,49 @@ +de: + manufacturers: + name: 'Hersteller' + controller: + successfuly_created: 'Ein neuer Hersteller wurde eingetragen.' + successfuly_updated: 'Der Hersteller wurde aktualisiert.' + successfuly_destroyed: 'Der Hersteller wurde gelöscht.' + index: + page_title: 'Hersteller' + name: 'Name' + ieee_name: 'IEEE name' + homepage_url: 'Homepage URL' + phone_models: 'Telefonmodelle' + state: 'Status' + actions: + confirm: 'Sind Sie sicher, dass Sie diesen Hersteller löschen möchten?' + destroy: 'Löschen' + edit: 'Bearbeiten' + show: 'Anzeigen' + create: 'Neu anlegen' + show: + page_title: 'Hersteller anzeigen' + name: 'Name' + ieee_name: 'IEEE name' + homepage_url: 'Homepage URL' + state: 'Status' + actions: + confirm: 'Sind Sie sicher, dass Sie diesen Hersteller löschen möchten?' + destroy: 'Löschen' + edit: 'Bearbeiten' + view_all: 'Alle anzeigen' + new: + page_title: 'Neuer Hersteller' + edit: + page_title: 'Hersteller bearbeiten' + form: + name: + label: 'Name' + hint: '' + ieee_name: + label: 'IEEE name' + hint: '' + homepage_url: + label: 'Homepage URL' + hint: '' + state: + label: 'Status' + hint: '' + button: 'Absenden'
\ No newline at end of file diff --git a/config/locales/views/manufacturers/en.yml b/config/locales/views/manufacturers/en.yml new file mode 100644 index 0000000..f4804cf --- /dev/null +++ b/config/locales/views/manufacturers/en.yml @@ -0,0 +1,49 @@ +en: + manufacturers: + name: 'Manufacturer' + controller: + successfuly_created: 'Successfully created manufacturer.' + successfuly_updated: 'Successfully updated manufacturer.' + successfuly_destroyed: 'Successfully destroyed manufacturer.' + index: + page_title: 'Manufacturers' + name: 'Name' + ieee_name: 'IEEE name' + homepage_url: 'Homepage URL' + phone_models: 'Phone models' + state: 'State' + actions: + confirm: 'Are you sure you want to delete this manufacturer?' + destroy: 'Delete' + edit: 'Edit' + show: 'View' + create: 'New' + show: + page_title: 'Show manufacturer' + name: 'Name' + ieee_name: 'IEEE name' + homepage_url: 'Homepage URL' + state: 'State' + actions: + confirm: 'Are you sure you want to delete this manufacturer?' + destroy: 'Delete' + edit: 'Edit' + view_all: 'View All' + new: + page_title: 'New manufacturer' + edit: + page_title: 'Editing manufacturer' + form: + name: + label: 'Name' + hint: '' + ieee_name: + label: 'IEEE name' + hint: '' + homepage_url: + label: 'Homepage URL' + hint: '' + state: + label: 'State' + hint: '' + button: 'Submit'
\ No newline at end of file diff --git a/config/locales/views/notifications/de.yml b/config/locales/views/notifications/de.yml new file mode 100644 index 0000000..a66cf76 --- /dev/null +++ b/config/locales/views/notifications/de.yml @@ -0,0 +1,4 @@ +de: + notifications: + new_pin: + subject: 'Neue PIN'
\ No newline at end of file diff --git a/config/locales/views/notifications/en.yml b/config/locales/views/notifications/en.yml new file mode 100644 index 0000000..c256a37 --- /dev/null +++ b/config/locales/views/notifications/en.yml @@ -0,0 +1,4 @@ +en: + notifications: + new_pin: + subject: 'New PIN'
\ No newline at end of file diff --git a/config/locales/views/pages/de.yml b/config/locales/views/pages/de.yml new file mode 100644 index 0000000..bcdd28e --- /dev/null +++ b/config/locales/views/pages/de.yml @@ -0,0 +1,9 @@ +de: + pages: + name: "Webseiten" + welcome_please_log_in: "Willkommen bei Gemeinschaft! Bitte melden Sie sich beim System mit Ihrem Benutzer-Namen und Ihrem Passwort an." + not_enough_rights: "Kontaktieren Sie bitte Ihre System-Administration" # Not Enough rights to access anything in the Navigation. + controller: + access_denied_login_first: 'Zugriff verweigert! Bitte melden Sie sich erst an.' + index: + name: "Startseite"
\ No newline at end of file diff --git a/config/locales/views/pages/en.yml b/config/locales/views/pages/en.yml new file mode 100644 index 0000000..589d4ea --- /dev/null +++ b/config/locales/views/pages/en.yml @@ -0,0 +1,9 @@ +en: + pages: + name: "Pages" + welcome_please_log_in: "Welcome to Gemeinschaft! Please Log In to access the System!" + not_enough_rights: "Contact Administration" # Not Enough rights to access anything in the Navigation. + controller: + access_denied_login_first: 'Access denied! You need to login first.' + index: + name: "Home"
\ No newline at end of file diff --git a/config/locales/views/phone_book_entries/de.yml b/config/locales/views/phone_book_entries/de.yml new file mode 100644 index 0000000..ba9983e --- /dev/null +++ b/config/locales/views/phone_book_entries/de.yml @@ -0,0 +1,161 @@ +de: + phone_book_entries: + name: "Telefonbucheintrag" + controller: + successfuly_created: 'Der Telefonbucheintrag "%{resource}" wurde erstellt.' + successfuly_updated: 'Der Telefonbucheintrag "%{resource}" wurde aktualisiert.' + successfuly_destroyed: 'Der Telefonbucheintrag wurde gelöscht.' + index: + page_title: 'Telefonbucheinträge' + phone_book_id: 'Telefonbuch' + first_name: 'Vorname' + middle_name: 'Zweiter Vorname' + last_name: 'Nachname' + title: 'Akademischer Titel' + nickname: 'Spitzname' + organization: 'Organisation' + is_organization: 'Ist eine Organisation' + department: 'Abteilung' + job_title: 'Position (Berufsbezeichnung)' + is_male: 'männlich' + birthday: 'Geburtstag' + birth_name: 'Mädchenname' + state: 'Status' + description: 'Beschreibung' + position: 'Position' + homepage_personal: 'Persönliche Homepage' + homepage_organization: 'Homepage der Organisation' + twitter_account: 'Twitter Konto' + facebook_account: 'Facebook Konto' + google_plus_account: 'Google+ Konto' + xing_account: 'Xing Konto' + linkedin_account: 'LinkedIn Konto' + mobileme_account: 'iCloud Konto' + more_numbers: 'und %{numbers} weitere' + available_phone_books: 'Verfügbare Telefonbücher:' + create_new_phone_book_entry: 'Einen neuen Eintrag anlegen' + actions: + confirm: 'Sind Sie sicher, dass Sie diesen Telefonbucheintrag löschen möchten?' + destroy: 'Löschen' + edit: 'Bearbeiten' + show: 'Anzeigen' + create: 'Neu anlegen' + create_for: 'Neuen Telefonbucheintrag für %{resource} anlegen' + show: + page_title: 'Telefonbucheinträge für "%{resource}"' + phone_book_id: 'Telefonbuch' + first_name: 'Vorname' + middle_name: 'Zweiter Vorname' + last_name: 'Nachname' + title: 'Akademischer Titel' + nickname: 'Spitzname' + organization: 'Organisation' + is_organization: 'Ist eine Organisation' + department: 'Abteilung' + job_title: 'Position (Berufsbezeichnung)' + is_male: 'männlich' + birthday: 'Geburtstag' + birth_name: 'Mädchenname' + state: 'Status' + description: 'Beschreibung' + position: 'Position' + homepage_personal: 'Persönliche Homepage' + homepage_organization: 'Homepage der Organisation' + twitter_account: 'Twitter Konto' + facebook_account: 'Facebook Konto' + google_plus_account: 'Google+ Konto' + xing_account: 'Xing Konto' + linkedin_account: 'LinkedIn Konto' + mobileme_account: 'iCloud Konto' + manage_phone_number: 'Telefonnummern verwalten.' + actions: + confirm: 'Sind Sie sicher, dass Sie diesen Telefonbucheintrag löschen möchten?' + destroy: 'Löschen' + edit: 'Bearbeiten' + view_all: 'Alle Telefonbucheinträge anzeigen' + new: + page_title: 'Neuer Telefonbucheintrag' + edit: + page_title: 'Telefonbucheintrag bearbeiten' + form: + phone_book_id: + label: 'Tefonbuch' + hint: '' + first_name: + label: 'Vorname' + hint: '' + middle_name: + label: 'Zweiter Vorname' + hint: '' + gender: + label: 'Geschlecht' + hint: '' + male: "männlich" + female: "weiblich" + last_name: + label: 'Nachname' + hint: '' + title: + label: 'Akademischer Titel' + hint: 'z.B. Dr.' + nickname: + label: 'Spitzname' + hint: '' + organization: + label: 'Firmenname' + hint: 'Organisation' + is_organization: + label: 'Ist eine Organisation' + hint: '' + department: + label: 'Abteilung' + hint: '' + job_title: + label: 'Position' + hint: 'z.B. Geschäftsführer' + is_male: + label: 'Ist männlich' + hint: '' + birthday: + label: 'Geburtstag' + hint: '' + birth_name: + label: 'Mädchenname' + hint: '' + state: + label: 'Status' + hint: '' + description: + label: 'Beschreibung' + hint: '' + position: + label: 'Position' + hint: '' + homepage_personal: + label: 'Persönliche Homepage' + hint: '' + homepage_organization: + label: 'Firmen Homepage' + hint: 'http://www.example.com' + twitter_account: + label: 'Twitter Konto' + hint: '@example' + facebook_account: + label: 'Facebook Konto' + hint: '' + google_plus_account: + label: 'Google+ Konto' + hint: '' + xing_account: + label: 'Xing Konto' + hint: '' + linkedin_account: + label: 'LinkedIn Konto' + hint: '' + mobileme_account: + label: 'iCloud Konto' + hint: '' + image: + label: 'Avatar Foto' + hint: '' + button: 'Absenden'
\ No newline at end of file diff --git a/config/locales/views/phone_book_entries/en.yml b/config/locales/views/phone_book_entries/en.yml new file mode 100644 index 0000000..3c861a0 --- /dev/null +++ b/config/locales/views/phone_book_entries/en.yml @@ -0,0 +1,161 @@ +en: + phone_book_entries: + name: "Phone Book Entries" + controller: + successfuly_created: 'Successfully created phone book entry "%{resource}".' + successfuly_updated: 'Successfully updated phone book entry "%{resource}".' + successfuly_destroyed: 'Successfully destroyed phone book entry.' + index: + page_title: 'Phone book entries' + phone_book_id: 'Phone book' + first_name: 'First name' + middle_name: 'Middle name' + last_name: 'Last name' + title: 'Title' + nickname: 'Nickname' + organization: 'Organization' + is_organization: 'Is organization' + department: 'Department' + job_title: 'Job title' + is_male: 'Is male' + birthday: 'Birthday' + birth_name: 'Birth name' + state: 'State' + description: 'Description' + position: 'Position' + homepage_personal: 'Homepage personal' + homepage_organization: 'Homepage organization' + twitter_account: 'Twitter account' + facebook_account: 'Facebook account' + google_plus_account: 'Google+ account' + xing_account: 'Xing account' + linkedin_account: 'LinkedIn account' + mobileme_account: 'iCloud account' + more_numbers: 'plus %{numbers} more' + available_phone_books: 'Available phone books:' + create_new_phone_book_entry: 'create a new entry' + actions: + confirm: 'Are you sure you want to delete this phone book entry?' + destroy: 'Delete' + edit: 'Edit' + show: 'View' + create: 'New' + create_for: 'New phone book entry for %{resource}' + show: + page_title: 'Phone book entry for "%{resource}"' + phone_book_id: 'Phone book' + first_name: 'First name' + middle_name: 'Middle name' + last_name: 'Last name' + title: 'Title' + nickname: 'Nickname' + organization: 'Organization' + is_organization: 'Is organization' + department: 'Department' + job_title: 'Job title' + is_male: 'Is male' + birthday: 'Birthday' + birth_name: 'Birth name' + state: 'State' + description: 'Description' + position: 'Position' + homepage_personal: 'Homepage personal' + homepage_organization: 'Homepage organization' + twitter_account: 'Twitter account' + facebook_account: 'Facebook account' + google_plus_account: 'Google+ account' + xing_account: 'Xing account' + linkedin_account: 'LinkedIn account' + mobileme_account: 'iCloud account' + manage_phone_number: 'Manage phone number.' + actions: + confirm: 'Are you sure you want to delete this phone book entry?' + destroy: 'Delete phone book entry' + edit: 'Edit phone book entry' + view_all: 'View all phone book entries' + new: + page_title: 'New entry' + edit: + page_title: 'Editing phone book entry' + form: + phone_book_id: + label: 'Phone book' + hint: '' + first_name: + label: 'First name' + hint: '' + middle_name: + label: 'Middle name' + hint: '' + gender: + label: 'Gender' + hint: '' + male: "Male" + female: "Female" + last_name: + label: 'Last name' + hint: '' + title: + label: 'Academic title' + hint: 'Dr.' + nickname: + label: 'Nickname' + hint: '' + organization: + label: 'Company name' + hint: 'Organization' + is_organization: + label: 'Is organization' + hint: '' + department: + label: 'Department' + hint: '' + job_title: + label: 'Job title' + hint: 'CEO' + is_male: + label: 'Is male' + hint: '' + birthday: + label: 'Birthday' + hint: '' + birth_name: + label: 'Name at birth' + hint: '' + state: + label: 'State' + hint: '' + description: + label: 'Description' + hint: '' + position: + label: 'Position' + hint: '' + homepage_personal: + label: 'Personal Home Page' + hint: '' + homepage_organization: + label: 'Organization Home Page' + hint: 'http://www.example.com' + twitter_account: + label: 'Twitter account' + hint: '@example' + facebook_account: + label: 'Facebook account' + hint: '' + google_plus_account: + label: 'Google+ account' + hint: '' + xing_account: + label: 'Xing account' + hint: '' + linkedin_account: + label: 'LinkedIn account' + hint: '' + mobileme_account: + label: 'iCloud account' + hint: '' + image: + label: 'Photo' + hint: 'Avatar photo' + button: 'Submit'
\ No newline at end of file diff --git a/config/locales/views/phone_books/de.yml b/config/locales/views/phone_books/de.yml new file mode 100644 index 0000000..8aa6acf --- /dev/null +++ b/config/locales/views/phone_books/de.yml @@ -0,0 +1,46 @@ +de: + phone_books: + name: 'Telefonbuch' + general_phone_book: + name: 'Firmentelefonbuch' + description: 'Ein für alle Benutzer von %{resource} lesbares Telefonbuch.' + private_phone_book: + name: 'Privates Telefonbuch von %{resource}' + description: 'Ein privates Telefonbuch.' + controller: + successfuly_created: 'Ein neues Telefonbuch wurde erstellt.' + successfuly_updated: 'Ein Telefonbuch wurde aktualisiert.' + successfuly_destroyed: 'Ein Telefonbuch wurde gelöscht.' + index: + page_title: 'Telefonbücher' + name: 'Name des Telefonbuches' + description: 'Beschreibung' + count: 'Anzahl der Telefonbucheinträge' + actions: + confirm: 'Sind Sie sicher, dass Sie dieses Telefonbuch löschen möchten?' + destroy: 'Löschen' + edit: 'Bearbeiten' + show: 'Anzeigen' + create: 'Neu anlegen' + create_for: 'Neues Telefonbuch für %{resource} anlegen' + show: + page_title: 'Telefonbuch anzeigen' + name: 'Name' + description: 'Beschreibung' + actions: + confirm: 'Sind Sie sicher, dass Sie dieses Telefonbuch löschen möchten?' + destroy: 'Löschen' + edit: 'Bearbeiten' + view_all: 'Alle Telefonbücher anzeigen' + new: + page_title: 'Neues Telefonbuch' + edit: + page_title: 'Telefonbuch "%{resource}" bearbeiten' + form: + name: + label: 'Name' + hint: '' + description: + label: 'Beschreibung' + hint: '' + button: 'Absenden'
\ No newline at end of file diff --git a/config/locales/views/phone_books/en.yml b/config/locales/views/phone_books/en.yml new file mode 100644 index 0000000..fcab06d --- /dev/null +++ b/config/locales/views/phone_books/en.yml @@ -0,0 +1,46 @@ +en: + phone_books: + name: 'Phone book' + general_phone_book: + name: 'Public phone book' + description: 'Readable for all users of %{resource}.' + private_phone_book: + name: "%{resource}'s phone book" + description: 'A private phone book.' + controller: + successfuly_created: 'Successfully created phone book.' + successfuly_updated: 'Successfully updated phone book.' + successfuly_destroyed: 'Successfully destroyed phone book.' + index: + page_title: 'Phone books' + name: 'Name of the phone book' + description: 'Description' + count: 'Number of entries' + actions: + confirm: 'Are you sure you want to delete this phone book?' + destroy: 'Delete' + edit: 'Edit' + show: 'View' + create: 'New' + create_for: 'New phone book for %{resource}' + show: + page_title: 'Phone Book' + name: 'Name' + description: 'Description' + actions: + confirm: 'Are you sure you want to delete this phone book?' + destroy: 'Delete phone book' + edit: 'Edit phone book' + view_all: 'View all phone books' + new: + page_title: 'New phone book' + edit: + page_title: 'Editing phone book "%{resource}"' + form: + name: + label: 'Name' + hint: '' + description: + label: 'Description' + hint: '' + button: 'Submit'
\ No newline at end of file diff --git a/config/locales/views/phone_models/de.yml b/config/locales/views/phone_models/de.yml new file mode 100644 index 0000000..36d1663 --- /dev/null +++ b/config/locales/views/phone_models/de.yml @@ -0,0 +1,50 @@ +de: + phone_models: + name: 'Telefonmodell' + controller: + successfuly_created: 'Ein Telefonmodell wurde erstellt.' + successfuly_updated: 'Das Telefonmodell wurde aktualisiert.' + successfuly_destroyed: 'Das Telefonmodell wurde gelöscht.' + index: + page_title: 'Telefonmodelle' + name: 'Name' + manufacturer_id: 'Hersteller' + product_manual_homepage_url: 'Betriebsanleitung URL' + product_homepage_url: 'Produkt-Homepage URL' + number_of_phones: 'Anzahl von Telefonen' + actions: + confirm: 'Sind Sie sicher, dass Sie dieses Telefonmodell löschen möchten?' + destroy: 'Löschen' + edit: 'Bearbeiten' + show: 'Anzeigen' + create: 'Neu anlegen' + show: + page_title: 'Telefonmodell anzeigen' + name: 'Name' + manufacturer_id: '' + manufacturer_id: 'Hersteller' + product_manual_homepage_url: 'Betriebsanleitung URL' + product_homepage_url: 'Produkt-Homepage URL' + actions: + confirm: 'Sind Sie sicher, dass Sie dieses Telefonmodell löschen möchten?' + destroy: 'Löschen' + edit: 'Bearbeiten' + view_all: 'Alle Telefonmodelle anzeigen' + new: + page_title: 'Neues Telefonmodell' + edit: + page_title: 'Telefonmodell bearbeiten' + form: + name: + label: 'Name' + hint: '' + manufacturer_id: + label: 'Hersteller' + hint: '' + product_manual_homepage_url: + label: 'Betriebsanleitung URL' + hint: '' + product_homepage_url: + label: 'Produkt-Homepage URL' + hint: '' + button: 'Absenden'
\ No newline at end of file diff --git a/config/locales/views/phone_models/en.yml b/config/locales/views/phone_models/en.yml new file mode 100644 index 0000000..c500920 --- /dev/null +++ b/config/locales/views/phone_models/en.yml @@ -0,0 +1,49 @@ +en: + phone_models: + name: 'Phone model' + controller: + successfuly_created: 'Successfully created phone model.' + successfuly_updated: 'Successfully updated phone model.' + successfuly_destroyed: 'Successfully destroyed phone model.' + index: + page_title: 'Phone models' + name: 'Name' + manufacturer_id: 'Manufacturer' + product_manual_homepage_url: 'Product manual homepage URL' + product_homepage_url: 'Product homepage URL' + number_of_phones: 'System count' + actions: + confirm: 'Are you sure you want to delete this phone model?' + destroy: 'Delete' + edit: 'Edit' + show: 'View' + create: 'New' + show: + page_title: 'Show phone model' + name: 'Name' + manufacturer_id: 'Manufacturer' + product_manual_homepage_url: 'Product manual homepage URL' + product_homepage_url: 'Product homepage URL' + actions: + confirm: 'Are you sure you want to delete this phone model?' + destroy: 'Delete phone model' + edit: 'Edit phone model' + view_all: 'View all phone models' + new: + page_title: 'New phone model' + edit: + page_title: 'Editing phone model' + form: + name: + label: 'Name' + hint: '' + manufacturer_id: + label: 'Manufacturer' + hint: '' + product_manual_homepage_url: + label: 'Product manual homepage URL' + hint: '' + product_homepage_url: + label: 'Product homepage URL' + hint: '' + button: 'Submit'
\ No newline at end of file diff --git a/config/locales/views/phone_number_ranges/de.yml b/config/locales/views/phone_number_ranges/de.yml new file mode 100644 index 0000000..af97171 --- /dev/null +++ b/config/locales/views/phone_number_ranges/de.yml @@ -0,0 +1,51 @@ +de: + phone_number_ranges: + ranges: + internal_extensions: + label: 'Durchwahlen (intern)' + description: 'Interne Durchwahlen, auch Extensions genannt.' + direct_inward_dialing_numbers: + label: 'Anschlussnummern des öffentlichen Telefonnetzes (DIDs und MSNs)' + description: 'Mit diesen Telefonnummern sind Sie aus dem öffentlichen Telefonnetz erreichbar.' + service_numbers: + label: 'Service Telefonnummern' + description: 'Spezielle Telefonnummern, die nich für interne Durchwahlen benutzt werden sollten (z.B. die Feuerwehr oder Polizei).' + name: 'Rufnummernbereich' + controller: + successfuly_created: 'Ein neuer Rufnummernbereich wurde angelegt.' + successfuly_updated: 'Der Rufnummernbereich wurde aktualisiert.' + successfuly_destroyed: 'Der Rufnummernbereich wurde gelöscht.' + index: + page_title: 'Rufnummernbereiche' + name: 'Name' + description: 'Beschreibung' + amount: 'Anzahl von Rufnummern' + phone_numbers: 'Telefonnummern' + actions: + confirm: 'Sind Sie sicher, dass Sie diesen Rufnummernbereich löschen möchten?' + destroy: 'Löschen' + edit: 'Bearbeiten' + show: 'Anzeigen' + create: 'Neu anlegen' + create_for: 'Rufnummernbereich für %{resource} anlegen' + show: + page_title: 'Rufnummernbereich anzeigen' + name: 'Name' + description: 'Beschreibung' + actions: + confirm: 'Sind Sie sicher, dass Sie diesen Rufnummernbereich löschen möchten?' + destroy: 'Löschen' + edit: 'Bearbeiten' + view_all: 'Alle Rufnummernbereiche anzeigen' + new: + page_title: 'Neuer Rufnummernbereich' + edit: + page_title: 'Rufnummernbereich "%{resource}" bearbeiten' + form: + name: + label: 'Name' + hint: '' + description: + label: 'Beschreibung' + hint: '' + button: 'Absenden'
\ No newline at end of file diff --git a/config/locales/views/phone_number_ranges/en.yml b/config/locales/views/phone_number_ranges/en.yml new file mode 100644 index 0000000..a22a2c0 --- /dev/null +++ b/config/locales/views/phone_number_ranges/en.yml @@ -0,0 +1,51 @@ +en: + phone_number_ranges: + ranges: + internal_extensions: + label: 'Internal extensions' + description: 'These are your internal extensions.' + direct_inward_dialing_numbers: + label: 'Direct inward dialing numbers (DIDs and MSNs)' + description: 'These are the phone numbers which have to be dialed from the PSTN to access your PBX.' + service_numbers: + label: 'Service numbers' + description: 'Numbers for special services (e.g. emergency numbers). It is not possible to use one of these numbers as an internal extension.' + name: 'Phone number range' + controller: + successfuly_created: 'Successfully created phone number range.' + successfuly_updated: 'Successfully updated phone number range.' + successfuly_destroyed: 'Successfully destroyed phone number range.' + index: + page_title: 'Phone number ranges' + name: 'Name' + description: 'Description' + amount: 'Amount of numbers' + phone_numbers: 'Phone numbers' + actions: + confirm: 'Are you sure you want to delete this phone number range?' + destroy: 'Delete' + edit: 'Edit' + show: 'View' + create: 'New' + create_for: 'New phone number range for %{resource}' + show: + page_title: 'Show phone number range' + name: 'Name' + description: 'Description' + actions: + confirm: 'Are you sure you want to delete this phone number range?' + destroy: 'Delete' + edit: 'Edit' + view_all: 'View' + new: + page_title: 'New phone number range' + edit: + page_title: 'Editing phone number range "%{resource}"' + form: + name: + label: 'Name' + hint: '' + description: + label: 'Description' + hint: '' + button: 'Submit'
\ No newline at end of file diff --git a/config/locales/views/phone_numbers/de.yml b/config/locales/views/phone_numbers/de.yml new file mode 100644 index 0000000..40fc7f8 --- /dev/null +++ b/config/locales/views/phone_numbers/de.yml @@ -0,0 +1,64 @@ +de: + phone_numbers: + name: "Telefonnummer" + controller: + successfuly_created: 'Eine neue Telefonnummer wurde eingetragen.' + successfuly_updated: 'Die Telefonnummer wurde aktualisiert.' + successfuly_destroyed: 'Die Telefonnummer wurde gelöscht.' + index: + page_title: 'Telefonnummern' + phone_book_id: 'Telefonbuch' + name: 'Name' + number: 'Telefonnummer' + country_code: 'Ländervorwahl' + area_code: 'Ortsvorwahl' + subscriber_number: 'Telefonnummer' + extension: 'Durchwahl' + actions: + confirm: 'Sind Sie sicher, dass Sie diese Telefonnummer löschen möchten?' + destroy: 'Löschen' + edit: 'Bearbeiten' + show: 'Anzeigen' + create: 'Neu anlegen' + create_for: 'Neue Telefonnummer für %{resource} anlegen' + show: + page_title: 'Telefonnummer anzeigen' + phone_book_id: 'Telefonbuch' + name: 'Name' + number: 'Telefonnummer' + country_code: 'Ländervorwahl' + area_code: 'Ortsvorwahl' + subscriber_number: 'Telefonnummer' + extension: 'Durchwahl' + actions: + confirm: 'Sind Sie sicher, dass Sie diese Telefonnummer löschen möchten?' + destroy: 'Löschen' + edit: 'Bearbeiten' + view_all: 'View all phone numbers' + new: + page_title: 'Neue Telefonnummer' + edit: + page_title: 'Telefonnummer bearbeiten' + form: + phone_book_id: + label: 'Telefonbuch' + hint: '' + name: + label: 'Name' + hint: '' + number: + label: 'Telefonnummer' + hint: 'Format: +49-30-2270 für eine normale Telefonnummer. 42 für eine interne Durchwahl.' + country_code: + label: 'Ländervorwahl' + hint: '' + area_code: + label: 'Ortsvorwahl' + hint: '' + subscriber_number: + label: 'Telefonnummer' + hint: '' + extension: + label: 'Durchwahl' + hint: '' + button: 'Absenden'
\ No newline at end of file diff --git a/config/locales/views/phone_numbers/en.yml b/config/locales/views/phone_numbers/en.yml new file mode 100644 index 0000000..31af5c8 --- /dev/null +++ b/config/locales/views/phone_numbers/en.yml @@ -0,0 +1,64 @@ +en: + phone_numbers: + name: "Phone numbers" + controller: + successfuly_created: 'Successfully created phone number.' + successfuly_updated: 'Successfully updated phone number.' + successfuly_destroyed: 'Successfully destroyed phone number.' + index: + page_title: 'Phone numbers' + phone_book_id: 'Phone book' + name: 'Name' + number: 'Number' + country_code: 'Country code' + area_code: 'Area code' + subscriber_number: 'Subscriber number' + extension: 'Extension' + actions: + confirm: 'Are you sure you want to delete this phone number?' + destroy: 'Delete' + edit: 'Edit' + show: 'View' + create: 'New' + create_for: 'New phone number for %{resource}' + show: + page_title: 'Show Phone number' + phone_book_id: 'Phone book' + name: 'Name' + number: 'Number' + country_code: 'Country code' + area_code: 'Area code' + subscriber_number: 'Subscriber number' + extension: 'Extension' + actions: + confirm: 'Are you sure you want to delete this phone number?' + destroy: 'Delete' + edit: 'Edit' + view_all: 'View all phone numbers' + new: + page_title: 'New Phone number' + edit: + page_title: 'Editing Phone number' + form: + phone_book_id: + label: 'Phone book' + hint: '' + name: + label: 'Name' + hint: '' + number: + label: 'Phone number' + hint: 'Format: +49-30-2270 for a normal phone number or 42 for an internal extension.' + country_code: + label: 'Country code' + hint: '' + area_code: + label: 'Area code' + hint: '' + subscriber_number: + label: 'Subscriber number' + hint: '' + extension: + label: 'Extension' + hint: '' + button: 'Submit'
\ No newline at end of file diff --git a/config/locales/views/phone_sip_accounts/de.yml b/config/locales/views/phone_sip_accounts/de.yml new file mode 100644 index 0000000..98c7bc5 --- /dev/null +++ b/config/locales/views/phone_sip_accounts/de.yml @@ -0,0 +1,37 @@ +de: + phone_sip_accounts: + name: "SIP-Konten auf einem Telefon" + controller: + successfuly_created: 'Das SIP-Konto wurde auf dem Telefon eingetragen.' + successfuly_destroyed: 'Das SIP-Konto wurde von dem Telefon entfernt.' + no_existing_sip_accounts_warning: 'Aktuell gibt es keine SIP-Konten, die einem Telefon eingetragen werden können. Bitte legen Sie ein neues SIP-Konto an.' + index: + page_title: "SIP-Konten auf einem Telefon" + phone_id: 'Telefon' + sip_account_id: 'SIP-Konto' + position: 'Position' + actions: + confirm: 'Sind Sie sicher, dass Sie dieses SIP-Konto von dem Telefon entfernen möchten?' + destroy: 'Entfernen' + edit: 'Bearbeiten' + show: 'Anzeigen' + create: 'Neu anlegen' + create_for: 'Auf dem Telefon %{resource} ein neues SIP-Konto eintragen' + show: + page_title: 'SIP-Konten eines Telefons anzeigen' + phone_id: 'Telefon' + sip_account_id: 'SIP-Konto' + position: 'Position' + actions: + confirm: 'Sind Sie sicher, dass Sie dieses SIP-Konto von dem Telefon entfernen möchten?' + destroy: 'Löschen' + edit: 'Bearbeiten' + view_all: 'Alle anzeigen' + new: + page_title: 'SIP-Konto eintragen' + actions: + form: + sip_account_id: + label: 'SIP-Konto' + hint: '' + button: 'Absenden'
\ No newline at end of file diff --git a/config/locales/views/phone_sip_accounts/en.yml b/config/locales/views/phone_sip_accounts/en.yml new file mode 100644 index 0000000..9577241 --- /dev/null +++ b/config/locales/views/phone_sip_accounts/en.yml @@ -0,0 +1,37 @@ +en: + phone_sip_accounts: + name: "SIP accounts of a phone" + controller: + successfuly_created: 'Successfully connected a new SIP account to a phone.' + successfuly_destroyed: 'Successfully deleted a SIP account on a phone.' + no_existing_sip_accounts_warning: 'There are no SIP accounts to connect to. Please create a new SIP account first.' + index: + page_title: "SIP accounts of a phone" + phone_id: 'Phone' + sip_account_id: 'SIP account' + position: 'Position' + actions: + confirm: 'Are you sure you want to delete this SIP account on this phone?' + destroy: 'Delete' + edit: 'Edit' + show: 'View' + create: 'New' + create_for: 'New SIP account connection for %{resource}' + show: + page_title: 'Show SIP account of a phone' + phone_id: 'Phone' + sip_account_id: 'SIP account' + position: 'Position' + actions: + confirm: 'Are you sure you want to delete this SIP account on this phone?' + destroy: 'Delete' + edit: 'Edit' + view_all: 'View All' + new: + page_title: 'New SIP account on a phone' + actions: + form: + sip_account_id: + label: 'SIP account' + hint: '' + button: 'Submit'
\ No newline at end of file diff --git a/config/locales/views/phones/de.yml b/config/locales/views/phones/de.yml new file mode 100644 index 0000000..3a0adea --- /dev/null +++ b/config/locales/views/phones/de.yml @@ -0,0 +1,77 @@ +de: + phones: + name: 'Telefon' + controller: + successfuly_created: 'Eine neues Telefon wurde in der Datenbank eingetragen.' + successfuly_updated: 'Die Daten zum Telefon wurden aktualisiert.' + successfuly_destroyed: 'Das Telefon wurde aus dem System entfernt.' + index: + page_title: 'Telefone' + mac_address: 'MAC-Adresse' + phone_model_id: 'Telefonmodell' + hot_deskable: 'Hot-Desk fähig' + ip_address: 'IP-Adresse' + last_ip_address: 'Letzte IP-Adresse' + http_user: 'http user' + http_password: 'http password' + nightly_reboot: 'Nachts automatischer Reboot' + provisioning_key_active: 'Provisioning Schlüssel aktiv' + actions: + confirm: 'Sind Sie sicher, dass Sie diese Telefon aus Gemeinschaft entfernen möchten?' + destroy: 'Löschen' + edit: 'Bearbeiten' + show: 'Anzeigen' + create: 'Neu anlegen' + create_for: 'Neues Telefon für %{resource} anlegen' + show: + page_title: 'Telefon anzeigen' + mac_address: 'MAC-Adresse' + phone_model_id: 'Telefonmodell' + hot_deskable: 'Hot-Desk fähig' + ip_address: 'IP-Adresse' + last_ip_address: 'Letzte IP-Adresse' + http_user: 'http user' + http_password: 'http password' + nightly_reboot: 'Nachts automatischer Reboot' + actions: + confirm: 'Sind Sie sicher, dass Sie diese Telefon aus Gemeinschaft entfernen möchten?' + destroy: 'Löschen' + edit: 'Bearbeiten' + view_all: 'Alle Telefone anzeigen' + new: + page_title: 'Neues Telefon' + actions: + edit: + page_title: 'Telefondaten bearbeiten' + form: + mac_address: + label: 'MAC-Adresse' + hint: '' + phone_model_id: + label: 'Telefonmodell' + hint: '' + hot_deskable: + label: 'Hot-Desk fähig' + hint: '' + nightly_reboot: + label: 'Nachts automatischer Reboot' + hint: '' + ip_address: + label: 'IP-Adresse' + hint: '' + last_ip_address: + label: 'Letzte IP-Adresse' + hint: '' + http_user: + label: 'http user' + hint: '' + http_password: + label: 'http password' + hint: '' + provisioning_key_active: + label: 'Provisioning Schlüssel aktiv' + hint: '' + button: 'Absenden' + sip_accounts: + title: 'Auf dem Telefon eingetragene SIP-Konten' + connect_to_sip_account: 'Neues SIP-Konto auf das Telefon eintragen'
\ No newline at end of file diff --git a/config/locales/views/phones/en.yml b/config/locales/views/phones/en.yml new file mode 100644 index 0000000..afcf9b5 --- /dev/null +++ b/config/locales/views/phones/en.yml @@ -0,0 +1,77 @@ +en: + phones: + name: 'Phone' + controller: + successfuly_created: 'Successfully created phone.' + successfuly_updated: 'Successfully updated phone.' + successfuly_destroyed: 'Successfully destroyed phone.' + index: + page_title: 'Phones' + mac_address: 'Mac address' + phone_model_id: 'Phone model' + hot_deskable: 'Hot-deskable' + ip_address: 'IP address' + last_ip_address: 'Last IP address' + http_user: 'http user' + http_password: 'http password' + nightly_reboot: 'Nightly reboot' + actions: + confirm: 'Are you sure you want to delete this phone?' + destroy: 'Delete' + edit: 'Edit' + show: 'View' + create: 'New' + create_for: 'New phone for %{resource}' + show: + page_title: 'Show phone' + mac_address: 'Mac address' + phone_model_id: 'Phone model' + hot_deskable: 'Hot-deskable' + ip_address: 'IP address' + last_ip_address: 'Last IP address' + http_user: 'http user' + http_password: 'http password' + nightly_reboot: 'Nightly reboot' + provisioning_key_active: 'Provisioning key active' + actions: + confirm: 'Are you sure you want to delete this phone?' + destroy: 'Delete phone' + edit: 'Edit phone' + view_all: 'View all phones' + new: + page_title: 'New phone' + actions: + edit: + page_title: 'Editing Phone' + form: + mac_address: + label: 'Mac address' + hint: '' + phone_model_id: + label: 'Phone model' + hint: '' + hot_deskable: + label: 'Hot-deskable' + hint: '' + nightly_reboot: + label: 'Nightly reboot' + hint: '' + ip_address: + label: 'IP address' + hint: '' + last_ip_address: + label: 'Last IP address' + hint: '' + http_user: + label: 'GUI user' + hint: 'Phone GUI user name' + http_password: + label: 'GUI password' + hint: 'Phone GUI password' + provisioning_key_active: + label: 'Provisioning key active' + hint: '' + button: 'Submit' + sip_accounts: + title: 'Listing of connected SIP accounts' + connect_to_sip_account: 'Connect to an existing SIP account'
\ No newline at end of file diff --git a/config/locales/views/ringtones/de.yml b/config/locales/views/ringtones/de.yml new file mode 100644 index 0000000..6bb3683 --- /dev/null +++ b/config/locales/views/ringtones/de.yml @@ -0,0 +1,39 @@ +de: + ringtones: + name: 'Klingelton' + controller: + successfuly_created: 'Ein neuer Klingelton wurde eingetragen.' + successfuly_updated: 'Der Klingelton wurde aktualisiert.' + successfuly_destroyed: 'Der Klingelton wurde gelöscht.' + index: + page_title: 'Klingeltöne' + audio: 'Audio' + bellcore_id: 'Bellcore-ID' + actions: + confirm: 'Sind Sie sicher, dass Sie diesen Klingelton löschen möchten?' + destroy: 'Löschen' + edit: 'Bearbeiten' + show: 'Anzeigen' + create: 'Neu anlegen' + show: + page_title: 'Klingelton' + audio: 'Audio' + bellcore_id: 'Bellcore-ID' + actions: + confirm: 'Sind Sie sicher, dass Sie diesen Klingelton löschen möchten?' + destroy: 'Löschen' + edit: 'Bearbeiten' + view_all: 'Alle anzeigen' + new: + page_title: 'Neuer Klingelton' + edit: + page_title: 'Klingelton bearbeiten' + form: + audio: + label: 'Audio' + hint: '' + bellcore_id: + label: 'Bellcore-ID' + hint: 'Im Telefon eingebaute Klingeltöne. "0" bedeutet lautlos.' + button: 'Absenden' + set_a_ringtone: 'Klingelton einstellen'
\ No newline at end of file diff --git a/config/locales/views/ringtones/en.yml b/config/locales/views/ringtones/en.yml new file mode 100644 index 0000000..e681d96 --- /dev/null +++ b/config/locales/views/ringtones/en.yml @@ -0,0 +1,39 @@ +en: + ringtones: + name: 'Ringtone' + controller: + successfuly_created: 'Successfully created ringtone.' + successfuly_updated: 'Successfully updated ringtone.' + successfuly_destroyed: 'Successfully destroyed ringtone.' + index: + page_title: 'Ringtones' + audio: 'Audio' + bellcore_id: 'Bellcore ID' + actions: + confirm: 'Are you sure you want to delete this ringtone?' + destroy: 'Delete' + edit: 'Edit' + show: 'View' + create: 'New' + show: + page_title: 'Show ringtone' + audio: 'Audio' + bellcore_id: 'Bellcore ID' + actions: + confirm: 'Are you sure you want to delete this ringtone?' + destroy: 'Delete' + edit: 'Edit' + view_all: 'View All' + new: + page_title: 'New ringtone' + edit: + page_title: 'Editing ringtone' + form: + audio: + label: 'Audio' + hint: '' + bellcore_id: + label: 'Bellcore ID' + hint: 'Build in ringtone ID. A "0" means silence.' + button: 'Submit' + set_a_ringtone: 'Set a ringtone'
\ No newline at end of file diff --git a/config/locales/views/sessions/de.yml b/config/locales/views/sessions/de.yml new file mode 100644 index 0000000..4bc80e8 --- /dev/null +++ b/config/locales/views/sessions/de.yml @@ -0,0 +1,15 @@ +de: + sessions: + controller: + successfully_created: 'Sie sind jetzt als Benutzer "%{resource}" angemeldet.' + successfully_destroyed: 'Abgemeldet.' + new: + page_title: 'Anmeldung' + form: + email: 'E-Mail oder Benutzer-Name' + password: 'Passwort' + reset_password: 'Ich habe mein Passwort vergessen' + flash_messages: + invalid_email_or_password: 'Ungültige Anmeldedaten. Bitte versuchen Sie es noch einmal und achten Sie beim Passwort auf Groß- und Kleinschreibung.' + password_recovery_successful: 'Ein neues Passwort wurde an Ihre registrierte E-Mail-Addresse gesendet.' + password_recovery_failed: 'Fehler beim setzten des Passwortes.' diff --git a/config/locales/views/sessions/en.yml b/config/locales/views/sessions/en.yml new file mode 100644 index 0000000..51dcde7 --- /dev/null +++ b/config/locales/views/sessions/en.yml @@ -0,0 +1,15 @@ +en: + sessions: + controller: + successfully_created: 'Logged in as %{resource}.' + successfully_destroyed: 'Logged out.' + new: + page_title: 'Log In' + form: + email: 'E-Mail or Username' + password: 'Password' + reset_password: 'I forgot my password' + flash_messages: + invalid_email_or_password: 'Invalid e-mail or password. Please try again.' + password_recovery_successful: 'A new password has been sent to your registered email address' + password_recovery_failed: 'There was an error updating your password.' diff --git a/config/locales/views/sip_accounts/de.yml b/config/locales/views/sip_accounts/de.yml new file mode 100644 index 0000000..ad78a93 --- /dev/null +++ b/config/locales/views/sip_accounts/de.yml @@ -0,0 +1,83 @@ +de: + sip_accounts: + name: 'SIP-Konto' + controller: + successfuly_created: 'Ein SIP-Konto für %{resource} wurde erstellt.' + successfuly_updated: 'Das SIP-Konto wurde aktualisiert.' + successfuly_destroyed: 'Das SIP-Konto wurde gelöscht.' + index: + page_title: 'SIP-Konten' + auth_name: 'Auth Name' + caller_name: 'Caller Name' + password: 'Passwort' + voicemail_pin: 'Anrufbeantworter PIN' + phone_numbers: 'Telefonnummern' + call_waiting: 'Anklopfen' + clir: 'Rufnummernunterdrückung (CLIR)' + clip: 'Rufnummernanzeige (CLIP)' + hotdeskable: 'Hot-Desk fähig' + clip_no_screening: 'Spezifische Rufnummernanzeige (CLIP -no screening-)' + callforward_rules_act_per_sip_account: 'Rufweiterleitungen gelten für das gesamte SIP-Konto' + online: 'Online' + actions: + confirm: 'Sind Sie sicher, dass Sie diesen SIP-Konto löschen möchten?' + destroy: 'Löschen' + edit: 'Bearbeiten' + show: 'Anzeigen' + create: 'Neu anlegen' + create_for: 'Neues SIP-Konto für %{resource} anlegen' + show: + page_title: 'SIP-Konto anzeigen' + auth_name: 'Auth Name' + caller_name: 'Caller Name' + password: 'Passwort' + voicemail_pin: 'Anrufbeantworter PIN' + call_waiting: 'Anklopfen' + clir: 'Rufnummernunterdrückung (CLIR)' + clip: 'Rufnummernanzeige (CLIP)' + hotdeskable: 'Hot-Desk fähig' + clip_no_screening: 'Spezifische Rufnummernanzeige (CLIP -no screening-)' + callforward_rules_act_per_sip_account: 'Rufweiterleitungen gelten für das gesamte SIP-Konto' + registration: 'Registrierung' + expires: 'Läuft ab' + actions: + confirm: 'Sind Sie sicher, dass Sie diesen SIP-Konto löschen möchten?' + destroy: 'Löschen' + edit: 'Bearbeiten' + view_all: 'Alle SIP-Konten anzeigen' + new: + page_title: 'Neues SIP-Konto' + edit: + page_title: 'SIP-Konto bearbeiten' + form: + auth_name: + label: 'Auth Name' + hint: '' + caller_name: + label: 'Caller Name' + hint: '' + password: + label: 'Passwort' + hint: '' + voicemail_pin: + label: 'Anrufbeantworter PIN' + hint: '' + call_waiting: + label: 'Anklopfen' + hint: '' + clir: + label: 'Rufnummernunterdrückung (CLIR)' + hint: '' + clip: + label: 'Rufnummernanzeige (CLIP)' + hint: '' + clip_no_screening: + label: 'Spezifische Rufnummernanzeige (CLIP -no screening-)' + hint: '' + hotdeskable: + label: 'Hot-Desk fähig' + hint: '' + callforward_rules_act_per_sip_account: + label: 'Rufweiterleitungen gelten für das gesamte SIP-Konto' + hint: '' + button: 'Absenden'
\ No newline at end of file diff --git a/config/locales/views/sip_accounts/en.yml b/config/locales/views/sip_accounts/en.yml new file mode 100644 index 0000000..c1d8613 --- /dev/null +++ b/config/locales/views/sip_accounts/en.yml @@ -0,0 +1,83 @@ +en: + sip_accounts: + name: 'SIP account' + controller: + successfuly_created: 'Successfully created a new SIP account for %{resource}.' + successfuly_updated: 'Successfully updated a SIP account.' + successfuly_destroyed: 'Successfully destroyed a SIP account.' + index: + page_title: 'SIP accounts' + auth_name: 'Auth name' + caller_name: 'Caller name' + password: 'Password' + voicemail_pin: 'Voicemail PIN' + phone_numbers: 'Phone numbers' + call_waiting: 'Call waiting' + clir: 'CLIR' + clip: 'CLIP' + hotdeskable: 'Hotdeskable' + clip_no_screening: 'CLIP -no screening-' + callforward_rules_act_per_sip_account: 'Callforwards work for the whole sip account' + online: 'Online' + actions: + confirm: 'Are you sure you want to delete this SIP account?' + destroy: 'Delete' + edit: 'Edit' + show: 'View' + create: 'New' + create_for: 'New SIP account for %{resource}' + show: + page_title: 'Show SIP account' + auth_name: 'Auth name' + caller_name: 'Caller name' + password: 'Password' + voicemail_pin: 'Voicemail PIN' + call_waiting: 'Call waiting' + clir: 'CLIR' + clip: 'CLIP' + hotdeskable: 'Hotdeskable' + clip_no_screening: 'CLIP -no screening-' + callforward_rules_act_per_sip_account: 'Callforwards work for the whole sip account' + registration: 'Registration' + expires: 'Expires' + actions: + confirm: 'Are you sure you want to delete this SIP account?' + destroy: 'Delete' + edit: 'Edit' + view_all: 'View all SIP accounts' + new: + page_title: 'New SIP account' + edit: + page_title: 'Editing SIP account' + form: + auth_name: + label: 'Auth name' + hint: '' + caller_name: + label: 'Caller name' + hint: '' + password: + label: 'Password' + hint: '' + voicemail_pin: + label: 'Voicemail PIN' + hint: '' + call_waiting: + label: 'Call waiting' + hint: '' + clir: + label: 'CLIR' + hint: 'Calling Line Identification Restriction. If set true no number will be transmitted.' + clip: + label: 'CLIP' + hint: 'Calling Line Identification Presentation.' + clip_no_screening: + label: 'CLIP -no screening-' + hint: 'Calling Line Identification Presentation. Leave blank if you are not sure.' + callforward_rules_act_per_sip_account: + label: 'Callforwards work for the whole sip account' + hint: '' + hotdeskable: + label: 'Hotdeskable' + hint: '' + button: 'Submit'
\ No newline at end of file diff --git a/config/locales/views/sip_domains/de.yml b/config/locales/views/sip_domains/de.yml new file mode 100644 index 0000000..447caa9 --- /dev/null +++ b/config/locales/views/sip_domains/de.yml @@ -0,0 +1,38 @@ +de: + sip_domains: + name: 'SIP-Domain' + controller: + successfuly_created: 'Eine SIP-Domain wurde im System gespeichert.' + successfuly_updated: 'Die SIP-Domain wurde aktualisiert.' + successfuly_destroyed: 'Die SIP-Domain wurde gelöscht.' + index: + page_title: 'SIP-Domains' + host: 'Host' + realm: 'Realm' + actions: + confirm: 'Sind Sie sicher, dass Sie diese SIP-Domain löschen möchten?' + destroy: 'Löschen' + edit: 'Bearbeiten' + show: 'Anzeigen' + create: 'Neu anlegen' + show: + page_title: 'SIP-Domain bearbeiten' + host: 'Host' + realm: 'Realm' + actions: + confirm: 'Sind Sie sicher, dass Sie diese SIP-Domain löschen möchten?' + destroy: 'Löschen' + edit: 'Bearbeiten' + view_all: 'Alle SIP-Domains anzeigen' + new: + page_title: 'Neue SIP-Domain' + edit: + page_title: 'SIP-Domain von %{resource} bearbeiten' + form: + host: + label: 'Host' + hint: '' + realm: + label: 'Realm' + hint: '' + button: 'Absenden'
\ No newline at end of file diff --git a/config/locales/views/sip_domains/en.yml b/config/locales/views/sip_domains/en.yml new file mode 100644 index 0000000..bf62a60 --- /dev/null +++ b/config/locales/views/sip_domains/en.yml @@ -0,0 +1,38 @@ +en: + sip_domains: + name: 'SIP domain' + controller: + successfuly_created: 'Successfully created SIP domain.' + successfuly_updated: 'Successfully updated SIP domain.' + successfuly_destroyed: 'Successfully destroyed SIP domain.' + index: + page_title: 'SIP domains' + host: 'Host' + realm: 'Realm' + actions: + confirm: 'Are you sure you want to delete this SIP domain?' + destroy: 'Delete' + edit: 'Edit' + show: 'View' + create: 'New' + show: + page_title: 'Editing SIP domain' + host: 'Host' + realm: 'Realm' + actions: + confirm: 'Are you sure you want to delete this SIP domain?' + destroy: 'Delete SIP domain' + edit: 'Edit SIP domain' + view_all: 'View all SIP domains' + new: + page_title: 'New SIP domain' + edit: + page_title: 'Editing SIP domain %{resource}' + form: + host: + label: 'Host' + hint: '' + realm: + label: 'Realm' + hint: '' + button: 'Submit'
\ No newline at end of file diff --git a/config/locales/views/softkeys/de.yml b/config/locales/views/softkeys/de.yml new file mode 100644 index 0000000..f5f8f26 --- /dev/null +++ b/config/locales/views/softkeys/de.yml @@ -0,0 +1,68 @@ +de: + softkeys: + functions: + speed_dial: 'Kurzwahl' + blf: 'Besetzt-Lampe' + dtmf: 'DTMF' + log_in: 'Anmelden' + log_out: 'Abmelden' + conference: 'Konferenz' + call_forwarding: 'Rufumleitung ein/aus' + hold: 'Halten' + hunt_group_membership: 'Rufgruppen-Mitgliedschaft' + deactivated: 'Deaktiviert' + acd_membership: 'Warteschleife' + name: 'Softkey' + controller: + successfuly_created: 'Ein neuer Softkey wurde erstellt.' + successfuly_updated: 'Der Softkey wurde aktualisiert.' + successfuly_destroyed: 'Der Softkey wurde gelöscht.' + index: + page_title: 'Tastenbelegungen' + phone_id: 'Telefon' + function: 'Funktion' + number: 'Nummer' + label: 'Beschriftung' + position: 'Position' + actions: + confirm: 'Sind Sie sicher, dass Sie diesen Softkey löschen möchten?' + destroy: 'Löschen' + edit: 'Bearbeiten' + show: 'Anzeigen' + create: 'Neuer Softkey' + create_for: 'Neuer Softkey für %{resource}' + show: + page_title: 'Softkey anzeigen' + phone_id: 'Telefon' + function: 'Funktion' + number: 'Nummer' + label: 'Beschriftung' + position: 'Position' + call_forward: 'Rufumleitung' + actions: + confirm: 'Sind Sie sicher, dass Sie diesen Softkey löschen möchten?' + destroy: 'Löschen' + edit: 'Bearbeiten' + view_all: 'Alle anzeigen' + new: + page_title: 'Neuer Softkey' + actions: + edit: + page_title: 'Softkey bearbeiten' + actions: + edit: 'Bearbeiten' + view_all: 'Alle anzeigen' + form: + function: + label: 'Funktion' + hint: '' + call_forward: + label: 'Rufumleitung' + hint: '' + number: + label: 'Nummer' + hint: '' + label: + label: 'Beschriftung' + hint: 'Je nach Telefonmodell gibt es die Möglichkeit eine Beschriftung bzw. eine Beschreibung auf dem Telefon anzuzeigen.' + button: 'Absenden'
\ No newline at end of file diff --git a/config/locales/views/softkeys/en.yml b/config/locales/views/softkeys/en.yml new file mode 100644 index 0000000..e29e4c6 --- /dev/null +++ b/config/locales/views/softkeys/en.yml @@ -0,0 +1,64 @@ +en: + softkeys: + functions: + speed_dial: 'Speed Dial' + blf: 'BLF' + dtmf: 'DTMF' + log_in: 'Log in' + log_out: 'Log out' + conference: 'Conference' + call_forwarding: 'Toggle Call Forwarding' + hold: 'Hold' + hunt_group_membership: 'Hunt Group' + deactivated: 'Deactivated' + acd_membership: 'ACD' + name: 'Softkey' + controller: + successfuly_created: 'Successfully created softkeys.' + successfuly_updated: 'Successfully updated softkeys.' + successfuly_destroyed: 'Successfully destroyed softkeys.' + index: + page_title: 'Softkeys' + phone_id: 'Phone' + function: 'Function' + number: 'Number' + label: 'Label' + position: 'Position' + actions: + confirm: 'Are you sure you want to delete this softkey?' + destroy: 'Delete' + edit: 'Edit' + show: 'View' + create: 'New softkey' + create_for: 'New softkey for %{resource}' + show: + page_title: 'Show softkey' + phone_id: 'Phone' + function: 'Function' + number: 'Number' + label: 'Label' + position: 'Position' + call_forward: 'Call forward' + actions: + confirm: 'Are you sure you want to delete this softkey?' + destroy: 'Delete' + edit: 'Edit' + view_all: 'View All' + new: + page_title: 'New softkey' + edit: + page_title: 'Editing softkey' + form: + function: + label: 'Function' + hint: '' + call_forward: + label: 'Call forward' + hint: '' + number: + label: 'Number' + hint: '' + label: + label: 'Label' + hint: '' + button: 'Submit'
\ No newline at end of file diff --git a/config/locales/views/system_messages/de.yml b/config/locales/views/system_messages/de.yml new file mode 100644 index 0000000..9bdce48 --- /dev/null +++ b/config/locales/views/system_messages/de.yml @@ -0,0 +1,38 @@ +de: + system_messages: + name: 'Systemnachricht' + controller: + successfuly_created: 'Eine Systemnachricht wurde erstellt.' + successfuly_updated: 'Eine Systemnachricht wurde aktualisiert.' + successfuly_destroyed: 'Eine Systemnachricht wurde gelöscht.' + index: + page_title: 'Systemnachrichten' + user_id: 'Benutzer' + content: 'Nachricht' + actions: + confirm: 'Sind Sie sicher, dass Sie diese Systemnachricht löschen möchten?' + destroy: 'Löschen' + edit: 'Bearbeiten' + show: 'Anzeigen' + create: 'Neu anlegen' + show: + page_title: 'Systemnachricht anzeigen' + user_id: 'Benutzer' + content: 'Nachricht' + actions: + confirm: 'Sind Sie sicher, dass Sie diese Systemnachricht löschen möchten?' + destroy: 'Löschen' + edit: 'Bearbeiten' + view_all: 'Alle anzeigen' + new: + page_title: 'Neue Systemnachricht' + edit: + page_title: 'Systemnachricht bezüglich %{resource} bearbeiten' + form: + user_id: + label: 'Benutzer' + hint: '' + content: + label: 'Nachricht' + hint: '' + button: 'Absenden'
\ No newline at end of file diff --git a/config/locales/views/system_messages/en.yml b/config/locales/views/system_messages/en.yml new file mode 100644 index 0000000..05e0836 --- /dev/null +++ b/config/locales/views/system_messages/en.yml @@ -0,0 +1,38 @@ +en: + system_messages: + name: 'System message' + controller: + successfuly_created: 'Successfully created System message.' + successfuly_updated: 'Successfully updated System message.' + successfuly_destroyed: 'Successfully destroyed System message.' + index: + page_title: 'System messages' + user_id: 'User' + content: 'Content' + actions: + confirm: 'Are you sure you want to delete this element?' + destroy: 'Delete' + edit: 'Edit' + show: 'View' + create: 'New' + show: + page_title: 'Editing System message' + user_id: 'User' + content: 'Content' + actions: + confirm: 'Are you sure you want to delete this element?' + destroy: 'Delete' + edit: 'Edit' + view_all: 'View All' + new: + page_title: 'New System message' + edit: + page_title: 'Editing System message %{resource}' + form: + user_id: + label: 'User' + hint: '' + content: + label: 'Content' + hint: '' + button: 'Submit'
\ No newline at end of file diff --git a/config/locales/views/tenants/de.yml b/config/locales/views/tenants/de.yml new file mode 100644 index 0000000..66d9d0a --- /dev/null +++ b/config/locales/views/tenants/de.yml @@ -0,0 +1,73 @@ +de: + tenants: + name: "Mandant" + new_name_scaffold: 'Beispiel Firma Nr. %{counter} GmbH' + controller: + successfuly_created: 'Der Mandant "%{resource}" wurde angelegt.' + successfuly_created_plus_delayed_jobs: 'Der Mandant "%{resource}" wurde angelegt. %{amount_of_numbers} Durchwahlen und Telefonnummern werden jetzt im Hintergrund ins System gespielt. Dies kann je nach benutzter Hardware ein paar Minuten dauern. ' + successfuly_updated: 'Der Mandant wurde aktualisiert.' + successfuly_destroyed: 'Der Mandant wurde gelöscht.' + index: + page_title: 'Mandanten' + name: 'Name' + description: 'Beschreibung' + state: 'Status' + position: 'Position' + from_field_voicemail_email: 'Anrufbeantworter Absender' + from_field_pin_change_email: 'Neue PIN Absender' + actions: + confirm: 'Sind Sie sicher, dass Sie diesen Mandant löschen möchten?' + destroy: 'Löschen' + edit: 'Bearbeiten' + show: 'Anzeigen' + create: 'Neuen Mandanten anlegen' + show: + page_title: 'Mandant anzeigen' + name: 'Name' + description: 'Beschreibung' + state: 'Status' + position: 'Position' + from_field_voicemail_email: 'Anrufbeantworter Absender' + from_field_pin_change_email: 'Neue PIN Absender' + actions: + confirm: 'Sind Sie sicher, dass Sie diesen Mandant löschen möchten?' + destroy: 'Löschen' + edit: 'Bearbeiten' + view_all: 'Alle Mandanten anzeigen' + new: + page_title: 'Neuen Mandant anlegen' + edit: + page_title: 'Mandant %{resource} bearbeiten' + form: + phone_numbers: 'Telefonnummern' + intro: 'Gemeinschaft verwaltet alle Durchwahlen und kann so sicher stellen, dass Nummern nicht doppelt vergeben werden. Dazu müssen Sie an dieser Stelle die möglichen Rufnummern definieren.' + name: + label: 'Name' + hint: '' + description: + label: 'Beschreibung' + hint: '' + country_id: + label: 'Land' + hint: '' + language_id: + label: 'Sprache' + hint: '' + sip_domain: + label: 'SIP-Domain' + hint: '' + from_field_voicemail_email: + label: 'Absender Sprachnachrichten' + hint: 'Absender für E-Mails mit Sprachnachrichten.' + from_field_pin_change_email: + label: 'Absender PIN Änderung' + hint: 'Absender für E-Mails bezüglich PIN Änderungen.' + internal_extension_ranges: + label: 'Interne Durchwahlen' + hint: 'Hier können Sie Rufnummernbereiche für die von Ihnen gewünschten internen Durchwahlen definieren (z.B. "10-99" für 2-stellige Durchwahlen, "10-20,50-85" oder "150-299").' + did_list: + label: 'Externe Rufnummern' + hint: 'Hier können Sie die Rufnummern eintragen, mit denen Sie vom Festnetz aus erreichbar sind. Sollten Sie nur eine Nummer haben, dann bitte diese eintragen. Sie können das x als Wildcard für die oben angegebenen Durchwahlen benutzen. Beispiele: "0228-12345x, 0228-123450" (ein typisches Beispiel für einen Anlagenanschluss mit 2-stelligen Durchwahlen), "0228-123456", "0228-123456,0228-123999"' + button: 'Absenden' + + switch_to_tenant: "Mandant wechseln" diff --git a/config/locales/views/tenants/en.yml b/config/locales/views/tenants/en.yml new file mode 100644 index 0000000..adbf45f --- /dev/null +++ b/config/locales/views/tenants/en.yml @@ -0,0 +1,73 @@ +en: + tenants: + name: "Tenant" + new_name_scaffold: 'Snake Oil #%{counter}, Ltd.' + controller: + successfuly_created: 'Successfully created the tenant "%{resource}".' + successfuly_created_plus_delayed_jobs: 'Successfully created the tenant "%{resource}". A total of %{amount_of_numbers} extensions and external numbers is being proccessed in the background. Depending on your hardware that can take a couple of minutes.' + successfuly_updated: 'Successfully updated tenant.' + successfuly_destroyed: 'Successfully destroyed tenant.' + index: + page_title: 'Tenants' + name: 'Name' + description: 'Description' + state: 'State' + position: 'Position' + from_field_voicemail_email: 'Voicemail sender' + from_field_pin_change_email: 'PIN change sender' + actions: + confirm: 'Are you sure you want to delete this tenant?' + destroy: 'Delete' + edit: 'Edit' + show: 'View' + create: 'New' + show: + page_title: 'Show Tenant' + name: 'Name' + description: 'Description' + state: 'State' + position: 'Position' + from_field_voicemail_email: 'Voicemail sender' + from_field_pin_change_email: 'PIN change sender' + actions: + confirm: 'Are you sure you want to delete this tenant?' + destroy: 'Delete' + edit: 'Edit' + view_all: 'View all tenants' + new: + page_title: 'New Tenant' + edit: + page_title: 'Editing Tenant %{resource}' + form: + phone_numbers: 'Phone numbers' + intro: 'Gemeinschaft is strict with phone numbers. You need to define the range of available numbers.' + name: + label: 'Name' + hint: '' + description: + label: 'Description' + hint: '' + country_id: + label: 'Country' + hint: '' + language_id: + label: 'Language' + hint: '' + sip_domain: + label: 'SIP domain' + hint: '' + from_field_voicemail_email: + label: 'Voicemail sender' + hint: 'From field for e-mails with voicemails.' + from_field_pin_change_email: + label: 'PIN change sender' + hint: 'From field for e-mails about PIN changes.' + internal_extension_ranges: + label: 'Internal extensions' + hint: 'Define ranges (e.g. "10-99", "10-20,50-85" or "150-299").' + did_list: + label: 'External numbers' + hint: 'These are the phone numbers which can be called from the outside (seperated by commas). The x represents all internal extensions (can be added to a trunk number). You can mix MSNs and DIDs. Examples: "0228-12345x, 0228-123450" (this would be the solution for most companies), "0228-123456", "0228-123456,0228-123999"' + button: 'Submit' + + switch_to_tenant: "Switch to tenant" diff --git a/config/locales/views/user_group_memberships/de.yml b/config/locales/views/user_group_memberships/de.yml new file mode 100644 index 0000000..35dbac8 --- /dev/null +++ b/config/locales/views/user_group_memberships/de.yml @@ -0,0 +1,35 @@ +de: + user_group_memberships: + name: "Gruppenzugehörigkeit" + controller: + successfuly_created: 'Ein Benutzer wurde einer Gruppe zugeordnet.' + successfuly_updated: 'Die Gruppenzugehörigkeit wurde aktualisiert.' + successfuly_destroyed: 'Die Gruppenzugehörigkeit wurde gelöscht.' + no_more_user_to_add: 'Es gibt keine weiteren Benutzer, die dieser Gruppe zugeordnet werden können.' + index: + page_title: 'Gruppenzugehörigkeiten' + user: 'Benutzer' + actions: + confirm: 'Sind Sie sicher, dass Sie diese Gruppenzugehörigkeit löschen möchten?' + destroy: 'Löschen' + edit: 'Bearbeiten' + show: 'Anzeigen' + create: 'Neu anlegen' + create_for: 'Neue Gruppenzugehörigkeiten für %{resource}' + show: + page_title: 'Gruppenzugehörigkeiten anzeigen' + user: 'Benutzer' + actions: + confirm: 'Sind Sie sicher, dass Sie diese Gruppenzugehörigkeit löschen möchten?' + destroy: 'Löschen' + edit: 'Bearbeiten' + view_all: 'Alle Gruppenzugehörigkeitenen anzeigen' + new: + page_title: 'Neue Gruppenzugehörigkeit' + edit: + page_title: 'Gruppenzugehörigkeiten von "%{resource}" bearbeiten' + form: + name: + user: 'Benutzer' + hint: '' + button: 'Absenden'
\ No newline at end of file diff --git a/config/locales/views/user_group_memberships/en.yml b/config/locales/views/user_group_memberships/en.yml new file mode 100644 index 0000000..d31a87a --- /dev/null +++ b/config/locales/views/user_group_memberships/en.yml @@ -0,0 +1,35 @@ +en: + user_group_memberships: + name: "User group membership" + controller: + successfuly_created: 'Successfully created user group membership.' + successfuly_updated: 'Successfully updated user group membership.' + successfuly_destroyed: 'Successfully destroyed user group membership.' + no_more_user_to_add: 'There are no more users to add to this user group.' + index: + page_title: 'User group memberships' + user: 'User' + actions: + confirm: 'Are you sure you want to delete this user group membership?' + destroy: 'Delete' + edit: 'Edit' + show: 'View' + create: 'New' + create_for: 'New user group membership for %{resource}' + show: + page_title: 'Show user group membership' + user: 'User' + actions: + confirm: 'Are you sure you want to delete this user group membership?' + destroy: 'Delete' + edit: 'Edit' + view_all: 'View all user group memberships' + new: + page_title: 'New user group membership' + edit: + page_title: 'Editing user group membership "%{resource}"' + form: + name: + user: 'User' + hint: '' + button: 'Submit'
\ No newline at end of file diff --git a/config/locales/views/user_groups/de.yml b/config/locales/views/user_groups/de.yml new file mode 100644 index 0000000..40b3da8 --- /dev/null +++ b/config/locales/views/user_groups/de.yml @@ -0,0 +1,42 @@ +de: + user_groups: + name: "Gruppe" + controller: + successfuly_created: 'Eine Gruppe wurde angelegt.' + successfuly_updated: 'Die Gruppe wurde aktualisiert.' + successfuly_destroyed: 'Die Gruppe wurde gelöscht.' + index: + page_title: 'Gruppen' + name: 'Name' + description: 'Beschreibung' + tenant_id: 'Mandant' + number_of_members: 'Benutzerzahl' + actions: + confirm: 'Sind Sie sicher, dass Sie diese Gruppe löschen möchten?' + destroy: 'Löschen' + edit: 'Bearbeiten' + show: 'Anzeigen' + create: 'Neu anlegen' + create_for: 'Neue Gruppe für %{resource} anlegen' + show: + page_title: 'Gruppe anzeigen' + name: 'Name' + description: 'Beschreibung' + tenant_id: 'Mandant' + actions: + confirm: 'Sind Sie sicher, dass Sie diese Gruppe löschen möchten?' + destroy: 'Löschen' + edit: 'Bearbeiten' + view_all: 'Alle Gruppen anzeigen' + new: + page_title: 'Neue Gruppe' + edit: + page_title: 'Gruppe "%{resource}" bearbeiten' + form: + name: + label: 'Name' + hint: '' + description: + label: 'Beschreibung' + hint: '' + button: 'Absenden'
\ No newline at end of file diff --git a/config/locales/views/user_groups/en.yml b/config/locales/views/user_groups/en.yml new file mode 100644 index 0000000..a2db293 --- /dev/null +++ b/config/locales/views/user_groups/en.yml @@ -0,0 +1,42 @@ +en: + user_groups: + name: "User groups" + controller: + successfuly_created: 'Successfully created user group.' + successfuly_updated: 'Successfully updated user group.' + successfuly_destroyed: 'Successfully destroyed user group.' + index: + page_title: 'User groups' + name: 'Name' + description: 'Description' + tenant_id: 'Tenant' + number_of_members: 'Number of members' + actions: + confirm: 'Are you sure you want to delete this user group?' + destroy: 'Delete' + edit: 'Edit' + show: 'View' + create: 'New' + create_for: 'New user group for %{resource}' + show: + page_title: 'Show user group' + name: 'Name' + description: 'Description' + tenant_id: 'Tenant' + actions: + confirm: 'Are you sure you want to delete this user group?' + destroy: 'Delete' + edit: 'Edit' + view_all: 'View all user groups' + new: + page_title: 'New user group' + edit: + page_title: 'Editing user group "%{resource}"' + form: + name: + label: 'Name' + hint: '' + description: + label: 'Description' + hint: '' + button: 'Submit'
\ No newline at end of file diff --git a/config/locales/views/users/de.yml b/config/locales/views/users/de.yml new file mode 100644 index 0000000..951600d --- /dev/null +++ b/config/locales/views/users/de.yml @@ -0,0 +1,95 @@ +de: + users: + name: "Benutzer" + controller: + successfuly_created: 'Der Benutzer %{resource} wurde erstellt.' + successfuly_created_and_login: 'Der Benutzer %{resource} wurde erstellt. Sie sind jetzt als dieser Benutzer angemeldet.' + successfuly_updated: 'Benutzer-Daten aktualisiert.' + successfuly_destroyed: 'Der Benutzer wurde gelöscht.' + avatar_destroyed: 'Der Avatar wurde gelöscht.' + index: + page_title: 'Benutzer' + user_name: 'Benutzer-Name' + email: 'E-Mail Adresse' + first_name: 'Vorname' + middle_name: 'Zweiter Vorname' + last_name: 'Nachname' + male: 'männlich' + gemeinschaft_unique_id: 'Eindeutige Bezeichnung' + state: 'Status' + language_id: 'Sprache' + send_voicemail_as_email_attachment: 'Sprachnachrichten per E-Mail' + actions: + confirm: 'Sind Sie sicher, dass Sie diesen Benutzer löschen möchten?' + destroy: 'Löschen' + edit: 'Bearbeiten' + show: 'Anzeigen' + create: 'Neuen Benutzer anlegen' + create_for: 'Neuen Benutzer für %{resource} anlegen' + show: + page_title: 'Benutzer anzeigen' + user_name: 'Benutzer-Name' + email: 'E-Mail Adresse' + first_name: 'Vorname' + middle_name: 'Zweiter Vorname' + last_name: 'Nachname' + male: 'männlich' + gemeinschaft_unique_id: 'Eindeutige Bezeichnung' + state: 'Status' + language_id: 'Sprache' + send_voicemail_as_email_attachment: 'Sprachnachrichten per E-Mail' + actions: + confirm: 'Sind Sie sicher, dass Sie diesen Benutzer löschen möchten?' + destroy: 'Löschen' + edit: 'Bearbeiten' + view_all: 'Alle Benutzer anzeigen' + new: + page_title: 'Neuen Benutzer anlegen' + edit: + page_title: 'Benutzer %{resource} bearbeiten' + form: + user_name: + label: 'Benutzer-Name' + hint: '' + email: + label: 'E-Mail Adresse' + hint: '' + password: + label: 'Passwort' + hint: 'Mit diesem Passwort können Sie sich später in dieser Web-Oberfläche anmelden.' + password_confirmation: + label: 'Wiederholung des Passwortes' + hint: '' + new_pin: + label: 'PIN' + hint: 'Mit dieser PIN können Sie sich in Hot-Desk Umgebungen am Telefon anmelden.' + new_pin_confirmation: + label: 'Wiederholung der PIN' + hint: '' + first_name: + label: 'Vorname' + hint: '' + middle_name: + label: 'Zweiter Vorname' + hint: '' + last_name: + label: 'Nachname' + hint: '' + gender: + label: 'Geschlecht' + hint: '' + male: "Männlich" + female: "Weiblich" + gemeinschaft_unique_id: + label: 'Eindeutige Bezeichnung' + hint: '' + image: + label: 'Avatar Foto' + hint: '' + language_id: + label: 'Sprache' + hint: '' + send_voicemail_as_email_attachment: + label: 'Sprachnachrichten per E-Mail verschicken' + hint: '' + button: 'Absenden'
\ No newline at end of file diff --git a/config/locales/views/users/en.yml b/config/locales/views/users/en.yml new file mode 100644 index 0000000..317e616 --- /dev/null +++ b/config/locales/views/users/en.yml @@ -0,0 +1,95 @@ +en: + users: + name: "Users" + controller: + successfuly_created: 'Successfully created user %{resource}.' + successfuly_created_and_login: 'Successfully created user %{resource}. You are now logged in.' + successfuly_updated: 'Successfully updated user.' + successfuly_destroyed: 'Successfully destroyed user.' + avatar_destroyed: 'The avatar was deleted.' + index: + page_title: 'Users' + user_name: 'Username' + email: 'E-mail address' + first_name: 'First name' + middle_name: 'Middle name' + last_name: 'Last name' + male: 'Male' + gemeinschaft_unique_id: 'Unique identifier' + state: 'State' + language_id: 'Language' + send_voicemail_as_email_attachment: 'Send voicemails by e-mail' + actions: + confirm: 'Are you sure you want to delete this user?' + destroy: 'Delete' + edit: 'Edit' + show: 'View' + create: 'Create a new user' + create_for: 'Create a new user for %{resource}' + show: + page_title: 'Show User' + user_name: 'Username' + email: 'E-mail address' + first_name: 'First name' + middle_name: 'Middle name' + last_name: 'Last name' + male: 'Male' + gemeinschaft_unique_id: 'Unique identifier' + state: 'State' + language_id: 'Language' + send_voicemail_as_email_attachment: 'Send voicemails by e-mail' + actions: + confirm: 'Are you sure you want to delete this user?' + destroy: 'Delete' + edit: 'Edit' + view_all: 'View all users' + new: + page_title: 'New User' + edit: + page_title: 'Editing user %{resource}' + form: + user_name: + label: 'Username' + hint: '' + email: + label: 'E-mail address' + hint: '' + password: + label: 'Password' + hint: 'This password needs to be entered in the WebGUI.' + password_confirmation: + label: 'Password (confirmation)' + hint: '' + new_pin: + label: 'PIN' + hint: 'This PIN is needed in hotdesking environments to log into a phone.' + new_pin_confirmation: + label: 'PIN (confirmation)' + hint: '' + first_name: + label: 'First name' + hint: '' + middle_name: + label: 'Middle name' + hint: '' + last_name: + label: 'Last name' + hint: '' + gender: + label: 'Gender' + hint: '' + male: "Male" + female: "Female" + gemeinschaft_unique_id: + label: 'Unique identifier' + hint: '' + image: + label: 'Avatar photo' + hint: '' + language_id: + label: 'Language' + hint: '' + send_voicemail_as_email_attachment: + label: 'Send voicemails as e-mail attachments' + hint: '' + button: 'Submit'
\ No newline at end of file diff --git a/config/locales/views/voicemail_messages/de.yml b/config/locales/views/voicemail_messages/de.yml new file mode 100644 index 0000000..61ee837 --- /dev/null +++ b/config/locales/views/voicemail_messages/de.yml @@ -0,0 +1,34 @@ +de: + voicemail_messages: + name: 'Sprachnachrichten' + controller: + successfuly_destroyed: 'Die Nachricht wurde gelöscht.' + index: + page_title: 'Nachrichten' + page_title_read: 'Gelesene Nachrichten' + page_title_unread: 'Ungelesene Nachrichten' + date_format: '%d.%m.%Y %H:%M' + date_today_format: '%H:%M' + navigation: + read: 'Gelesen: %{count}' + unread: 'Ungelesen: %{count}' + all: 'Alle: %{count}' + actions: + confirm: 'Sind Sie sicher, dass Sie diese Nachricht löschen möchten?' + confirm_selected: 'Sind Sie sicher, dass Sie die markierten Nachrichten löschen möchten?' + destroy: 'Löschen' + destroy_multiple: 'Markierte Nachrichten löschen' + call: 'Anrufen' + mark_read: 'gelesen' + mark_unread: 'ungelesen' + mailbox: + inbox: 'Eingang' + flags: + save: 'Gespeichert' + call_results: + UNSPECIFIED: '' + ORIGINATOR_CANCEL: 'Abgebrochen' + UNALLOCATED_NUMBER: 'Rufnummer nicht bekannt' + NO_USER_RESPONSE: 'Keine Antwort' + NOANSWER: 'Keine Antwort' + USER_NOT_REGISTERED: 'Offline' diff --git a/config/locales/views/voicemail_messages/en.yml b/config/locales/views/voicemail_messages/en.yml new file mode 100644 index 0000000..3c02b6d --- /dev/null +++ b/config/locales/views/voicemail_messages/en.yml @@ -0,0 +1,35 @@ +en: + voicemail_messages: + name: 'Voicemail Messages' + controller: + successfuly_destroyed: 'Successfully destroyed voicemail message.' + index: + page_title: 'Messages' + page_title_read: 'Read Messages' + page_title_unread: 'Unread Messages' + date_format: '%m/%d/%Y %H:%M' + date_today_format: '%H:%M' + navigation: + read: 'Read: %{count}' + unread: 'Unread: %{count}' + all: 'All: %{count}' + actions: + confirm: 'Are you sure you want to delete this message?' + confirm_selected: 'Are you sure you want to delete all selected messages?' + destroy: 'Delete' + destroy_multiple: 'Delete selected messages' + call: 'Call' + mark_read: 'Mark read' + mark_unread: 'Mark unread' + mailbox: + inbox: 'Inbox' + flags: + save: 'Saved' + call_results: + UNSPECIFIED: '' + ORIGINATOR_CANCEL: 'Cancelled' + UNALLOCATED_NUMBER: 'Unallocated number' + NO_USER_RESPONSE: 'No user response' + NOANSWER: 'No answer' + USER_NOT_REGISTERED: 'Offline' +
\ No newline at end of file diff --git a/config/locales/views/voicemail_settings/de.yml b/config/locales/views/voicemail_settings/de.yml new file mode 100644 index 0000000..184fcac --- /dev/null +++ b/config/locales/views/voicemail_settings/de.yml @@ -0,0 +1,52 @@ +de: + voicemail_settings: + name: 'Anrufbeantworter Einstellungen' + controller: + successfuly_destroyed: 'Einstellungen wurden gelöscht.' + successfuly_created: 'Einstellungen wurden erstellt.' + successfuly_updated: 'Einstellungen wurden aktuallisiert.' + index: + page_title: 'Anrufbeantworter Einstellungen' + actions: + confirm: 'Sind Sie sicher, dass Sie die Einstellungen löschen möchten?' + destroy: 'Löschen' + show: + page_title: 'Anrufbeantworter Einstellungen' + greeting_path: 'Begrüßung' + name_path: 'Name' + flags: 'Flags' + notify: 'Benachrichtigung' + attachment: 'Datei anfügen' + mark_read: 'Als gelesen markieren' + purge: 'Löschen' + actions: + confirm: 'Sind Sie sicher, dass Sie die Einstellungen löschen möchten?' + destroy: 'Löschen' + edit: 'Bearbeiten' + new: + page_title: 'Anrufbeantworter Einstellungen' + edit: + page_title: 'Anrufbeantworter Einstellungen' + form: + greeting: + label: 'Begrüßung' + hint: '' + name: + label: 'Name' + hint: '' + pin: + label: 'Anrufbeantworter PIN' + hint: '' + notify: + label: 'Benachrichtigung' + hint: 'Benachrichtigung per E-Mail' + attachment: + label: 'Datei anfügen' + hint: 'Datei an E-Mail anfügen' + mark_read: + label: 'Als gelesen markieren' + hint: 'Markieren als gelesen' + purge: + label: 'Löschen' + hint: 'Nachricht löschen' + button: 'Absenden'
\ No newline at end of file diff --git a/config/locales/views/voicemail_settings/en.yml b/config/locales/views/voicemail_settings/en.yml new file mode 100644 index 0000000..ddade59 --- /dev/null +++ b/config/locales/views/voicemail_settings/en.yml @@ -0,0 +1,52 @@ +en: + voicemail_settings: + name: 'Voicemail Settings' + controller: + successfuly_destroyed: 'Successfully destroyed voicemail settings.' + successfuly_created: 'Successfully created voicemail settings.' + successfuly_updated: 'Successfully updated voicemail settings.' + index: + page_title: 'Voicemail Settings' + actions: + confirm: 'Are you sure you want to delete voicemail settings?' + destroy: 'Delete' + show: + page_title: 'Voicemail Settings' + greeting_path: 'Greeting' + name_path: 'Name' + flags: 'Flags' + notify: 'Notify by email' + attachment: 'Attach file' + mark_read: 'Mark read' + purge: 'Delete' + actions: + confirm: 'Are you sure you want to delete voicemail settings?' + destroy: 'Delete' + edit: 'Edit' + new: + page_title: 'Voicemail Settings' + edit: + page_title: 'Voicemail Settings' + form: + greeting: + label: 'Greeting' + hint: 'Voicemail greeting' + name: + label: 'Name' + hint: 'Voicemail name' + pin: + label: 'Voicemail PIN' + hint: 'Voicemail PIN' + notify: + label: 'Notify by email' + hint: 'Notify user by email' + attachment: + label: 'Attach file' + hint: 'Attach file to notification email' + mark_read: + label: 'Mark read' + hint: 'Mark message read after notification is sent' + purge: + label: 'Delete' + hint: 'Delete message after notification is sent' + button: 'Submit' diff --git a/config/locales/views/whitelists/de.yml b/config/locales/views/whitelists/de.yml new file mode 100644 index 0000000..7710de6 --- /dev/null +++ b/config/locales/views/whitelists/de.yml @@ -0,0 +1,38 @@ +de: + whitelists: + name: 'Positivliste' + controller: + successfuly_created: 'Eine Positivliste wurde erstellt.' + successfuly_updated: 'Die Positivliste wurde aktualisiert.' + successfuly_destroyed: 'Die Positivliste wurde gelöscht.' + index: + page_title: 'Positivlisten' + name: 'Name' + phone_numbers: 'Telefonnummern' + actions: + confirm: 'Sind Sie sicher, dass Sie diese Positivliste löschen möchten?' + destroy: 'Löschen' + edit: 'Bearbeiten' + show: 'Anzeigen' + create: 'Neu anlegen' + create_for: 'Neue Positivliste für %{resource} anlegen' + show: + page_title: 'Positivliste anzeigen' + name: 'Name' + actions: + confirm: 'Sind Sie sicher, dass Sie diese Positivliste löschen möchten?' + destroy: 'Löschen' + edit: 'Bearbeiten' + view_all: 'Alle anzeigen' + new: + page_title: 'Neue Positivliste' + edit: + page_title: 'Positivliste bearbeiten' + form: + name: + label: 'Name' + hint: '' + phone_numbers: + label: 'Telefonnummern' + hint: '' + button: 'Absenden'
\ No newline at end of file diff --git a/config/locales/views/whitelists/en.yml b/config/locales/views/whitelists/en.yml new file mode 100644 index 0000000..d681153 --- /dev/null +++ b/config/locales/views/whitelists/en.yml @@ -0,0 +1,38 @@ +en: + whitelists: + name: 'Whitelist' + controller: + successfuly_created: 'Successfully created whitelist.' + successfuly_updated: 'Successfully updated whitelist.' + successfuly_destroyed: 'Successfully destroyed whitelist.' + index: + page_title: 'Whitelists' + name: 'Name' + phone_numbers: 'Phone numbers' + actions: + confirm: 'Are you sure you want to delete this whitelist?' + destroy: 'Delete' + edit: 'Edit' + show: 'View' + create: 'New' + create_for: 'New whitelist for %{resource}' + show: + page_title: 'Show whitelist' + name: 'Name' + actions: + confirm: 'Are you sure you want to delete this whitelist?' + destroy: 'Delete' + edit: 'Edit' + view_all: 'View All' + new: + page_title: 'New whitelist' + edit: + page_title: 'Editing whitelist' + form: + name: + label: 'Name' + hint: '' + phone_numbers: + label: 'Phone numbers' + hint: '' + button: 'Submit'
\ No newline at end of file diff --git a/config/private_pub.yml b/config/private_pub.yml new file mode 100644 index 0000000..19a7e9e --- /dev/null +++ b/config/private_pub.yml @@ -0,0 +1,10 @@ +development: + server: "http://localhost:9292/faye" + secret_token: "secret" +test: + server: "http://localhost:9292/faye" + secret_token: "secret" +production: + server: "http://example.com/faye" + secret_token: "ade2c51226bf26e7fbbce1e0d8848082b750d23516b46dc5bc12e910e0e64558" + signature_expiration: 3600 # one hour diff --git a/config/routes.rb b/config/routes.rb new file mode 100644 index 0000000..64d64cf --- /dev/null +++ b/config/routes.rb @@ -0,0 +1,375 @@ +Gemeinschaft42c::Application.routes.draw do + resources :automatic_call_distributors + + resources :gs_cluster_sync_log_entries + + resources :gs_nodes do + member do + get 'sync' + end + end + + resources :gui_functions + + namespace :api do + resources :rows + end + + resources :acd_agents, :only => [] do + resources :phone_numbers do + member do + put 'move_higher' + put 'move_lower' + end + end + end + + resources :automatic_call_distributors, :only => [] do + resources :acd_agents + resources :phone_numbers do + member do + put 'move_higher' + put 'move_lower' + end + end + end + + resources :hunt_group_members, :only => [] do + resources :phone_numbers do + member do + put 'move_higher' + put 'move_lower' + end + end + end + + resources :hunt_groups, :only => [] do + resources :hunt_group_members + resources :phone_numbers do + member do + put 'move_higher' + put 'move_lower' + end + end + end + + if CALLTHROUGH_HAS_WHITELISTS == true + resources :whitelists, :only => [] do + resources :phone_numbers do + member do + put 'move_higher' + put 'move_lower' + end + end + end + end + + resources :access_authorizations, :only => [] do + resources :phone_numbers do + member do + put 'move_higher' + put 'move_lower' + end + end + end + + resources :fax_documents + + resources :fax_accounts, :only => [] do + resources :fax_documents + resources :phone_numbers do + member do + put 'move_higher' + put 'move_lower' + end + end + end + + resources :gemeinschaft_setups, :only => [:new, :create] + + resources :phone_number_ranges, :only => [] do + resources :phone_numbers do + member do + put 'move_higher' + put 'move_lower' + end + end + end + + resources :conferences, :only => [] do + resources :conference_invitees + resources :phone_numbers do + member do + put 'move_higher' + put 'move_lower' + end + end + end + + resources :phone_numbers, :only => [] do + resources :call_forwards + resources :ringtones + end + + resources :addresses + + resources :sip_domains + + resources :manufacturers do + resources :phone_models + end + + # Log-in / log-out / sign-up: + get "log_in" => "sessions#new" , :as => "log_in" + get "log_out" => "sessions#destroy" , :as => "log_out" + get "sign_up" => "users#new" , :as => "sign_up" + get "login" => "sessions#new" , :as => "log_in" + get "logout" => "sessions#destroy" , :as => "log_out" + get "signup" => "users#new" , :as => "sign_up" + + # Provisioning: + # Snom + get "config_snom/:phone/:sip_account/idle_screen" => "config_snom#idle_screen" + get "config_snom/:phone/:sip_account/log_in" => "config_snom#log_in" + get "config_snom/:phone/:sip_account/phone_book" => "config_snom#phone_book" + get "config_snom/:phone/:sip_account/call_history" => "config_snom#call_history" + get "config_snom/:phone/:sip_account/call_history_:type" => "config_snom#call_history" + get "config_snom/:phone/:sip_account/call_forwarding" => "config_snom#call_forwarding" + get "config_snom/exit" => "config_snom#exit" + get "config_snom/:phone/exit" => "config_snom#exit" + get "config_snom/:phone/:sip_account/exit" => "config_snom#exit" + get "config_snom/:phone/:sip_account/hunt_group" => "config_snom#hunt_group" + get "config_snom/:phone/state_settings" => "config_snom#state_settings" + get "config_snom/:phone/log_out" => "config_snom#log_out" + get "config_snom/:phone/:sip_account/log_out" => "config_snom#log_out" + get "config_snom/:phone/log_in" => "config_snom#log_in" + get "config_snom/:phone/:sip_account/log_in" => "config_snom#log_in" + get "config_snom/:phone/:sip_account/acd" => "config_snom#acd" + + # Siemens + get "config_siemens/:phone/call_history" => "config_siemens#call_history" + get "config_siemens/:phone/:sip_account/call_history" => "config_siemens#call_history" + get "config_siemens/:phone/:sip_account/call_forwarding" => "config_siemens#call_forwarding" + get "config_siemens/:phone/hunt_group" => "config_siemens#hunt_group" + get "config_siemens/:phone/:sip_account/hunt_group" => "config_siemens#hunt_group" + get "config_siemens/:phone/menu" => "config_siemens#menu" + get "config_siemens/:phone/:sip_account/menu" => "config_siemens#menu" + + #Polycom + get "config_polycom/:phone/:sip_account/phone_book" => "config_polycom#phone_book" + get "config_polycom/:phone/:sip_account/call_history" => "config_polycom#call_history" + get "config_polycom/:phone/:sip_account/idle_screen" => "config_polycom#idle_screen" + + # Unified path for Snom phones. + # Enter e.g. "http://192.168.1.105:3000/settings" + # as the Setting URL (Advanced -> Update). + match 'snom-:provisioning_key' => 'config_snom#show', + :via => [:get], + :format => 'xml' + match 'settings-:mac_address' => 'config_snom#show', + :constraints => { :mac_address => /000413[0-9A-F]{6}/i }, + :via => [:get], + :format => 'xml' + match "/DeploymentService/LoginService" => 'config_siemens#index', + :via => [:post], + :format => 'xml' + match ':mac_address.cfg' => 'config_polycom#config_files', + :constraints => { :mac_address => /0004f2[0-9A-F]{6}/i }, + :via => [:get], + :format => 'xml' + match 'settings-:mac_address.cfg' => 'config_polycom#settings', + :constraints => { :mac_address => /0004f2[0-9A-F]{6}/i }, + :via => [:get], + :format => 'xml' + match ':mac_address-directory' => 'config_polycom#settings_directory', + :constraints => { :mac_address => /0004f2[0-9A-F]{6}/i }, + :via => [:get], + :format => 'xml' + + # Snom default path. + # e.g. "/snom360-000413000000.htm" + # Enter e.g. "http://192.168.1.105:3000" + # as the Setting URL (Advanced -> Update). + match 'snom:model-:mac_address' => 'config_snom#show', + :constraints => { :mac_address => /000413[0-9A-F]{6}/i, :model => /[0-9]{3}/ }, + :via => [:get], + :format => 'xml' + + resources :sessions + + get "page/index" + get "page/conference" + + root :to => "page#index" + + get "wizards/new_initial_setup" + post "wizards/create_initial_setup" + + resources :users do + # Display all phone books that the current user owns: + resources :phone_books + resources :user_groups, :only => [ :index, :show ] + resources :sip_accounts + resources :phones + resources :conferences + resources :fax_accounts + resources :system_messages, :except => [ :edit, :update, :destroy ] + end + + resources :user_groups do + # Display all phone books that the group of the current user owns: + resources :phone_books + resources :sip_accounts + resources :fax_accounts + resources :user_group_memberships + end + + resources :tenants do + # Display all phone books that the tenant of the current user owns: + resources :phone_books + resources :users do + get "destroy_avatar" + end + resources :user_groups + resources :sip_accounts + resources :phones + resources :conferences + resources :phone_number_ranges + resources :callthroughs + if CALLTHROUGH_HAS_WHITELISTS == true + resources :whitelists + end + resources :hunt_groups + resources :automatic_call_distributors + end + + resources :callthroughs, :only => [] do + resources :access_authorizations + resources :phone_numbers do + member do + put 'move_higher' + put 'move_lower' + end + end + if CALLTHROUGH_HAS_WHITELISTS == true + resources :whitelists + end + end + + resources :sip_accounts, :only => [] do + resources :phones_sip_accounts + resources :phone_numbers do + member do + put 'move_higher' + put 'move_lower' + end + end + resources :softkeys do + member do + put 'move_higher' + put 'move_lower' + end + end + resources :call_histories do + collection do + delete 'destroy_multiple' + end + member do + put 'call' + end + end + resources :voicemail_messages do + collection do + delete 'destroy_multiple' + end + member do + put 'call' + put 'mark_read' + put 'mark_unread' + end + end + resources :voicemail_settings + end + + resources :phones, :only => [] do + resources :phone_sip_accounts + end + + # Display all phone book entries that the current user can access: + resources :phone_book_entries, :only => [ :index, :show ] do + resources :phone_numbers do + member do + put 'move_higher' + put 'move_lower' + end + end + end + + # Display all phone books that the current user can access: + resources :phone_books, :only => [ :index, :show ] do + resources :phone_book_entries + end + + # Search + post "search" => "phone_book_entries#index", :as => 'search' + + # http://0.0.0.0:3000/phone_books/3?name=Wintermeyer + + + # The priority is based upon order of creation: + # first created -> highest priority. + + # Sample of regular route: + # match 'products/:id' => 'catalog#view' + # Keep in mind you can assign values other than :controller and :action + + # Sample of named route: + # match 'products/:id/purchase' => 'catalog#purchase', :as => :purchase + # This route can be invoked with purchase_url(:id => product.id) + + # Sample resource route (maps HTTP verbs to controller actions automatically): + # resources :products + + # Sample resource route with options: + # resources :products do + # member do + # get 'short' + # post 'toggle' + # end + # + # collection do + # get 'sold' + # end + # end + + # Sample resource route with sub-resources: + # resources :products do + # resources :comments, :sales + # resource :seller + # end + + # Sample resource route with more complex sub-resources + # resources :products do + # resources :comments + # resources :sales do + # get 'recent', :on => :collection + # end + # end + + # Sample resource route within a namespace: + # namespace :admin do + # # Directs /admin/products/* to Admin::ProductsController + # # (app/controllers/admin/products_controller.rb) + # resources :products + # end + + # You can have the root of your site routed with "root" + # just remember to delete public/index.html. + # root :to => 'welcome#index' + + # See how all your routes lay out with "rake routes" + + # This is a legacy wild controller route that's not recommended for RESTful applications. + # Note: This route will make all actions in every controller accessible via GET requests. + # match ':controller(/:action(/:id(.:format)))' +end |