Merge branch 'v2' of https://github.com/bigbluebutton/greenlight into v2
This commit is contained in:
commit
d6eead5e68
|
@ -25,6 +25,5 @@ vendor/bundle
|
|||
Dockerfile
|
||||
.gitlab-ci.yml
|
||||
.rubocop.yml
|
||||
.travis.yml
|
||||
spec
|
||||
test
|
|
@ -0,0 +1,16 @@
|
|||
<!---
|
||||
IMPORTANT
|
||||
This template is mandatory for all Pull Requests.
|
||||
Please follow the template to ensure your Pull Request is reviewed.
|
||||
-->
|
||||
|
||||
<!--- Provide a general summary of your changes in the Title above -->
|
||||
|
||||
## Description
|
||||
<!--- Describe your changes in detail -->
|
||||
|
||||
## Testing Steps
|
||||
<!--- Please describe in detail how to test your changes. -->
|
||||
|
||||
## Screenshots (if appropriate):
|
||||
<!--- Please include screenshots of ALL visual changes. -->
|
|
@ -22,13 +22,13 @@ jobs:
|
|||
password: ${{ secrets.DOCKER_PASSWORD }}
|
||||
|
||||
- name: Compute Short SHA
|
||||
uses: benjlevesque/short-sha@v1.2
|
||||
uses: farhatahmad/short-sha@v1.2
|
||||
id: short-sha
|
||||
with:
|
||||
length: 7
|
||||
|
||||
- name: Get Branch Name
|
||||
uses: tj-actions/branch-names@v2
|
||||
uses: farhatahmad/branch-names@v2
|
||||
id: branch-name
|
||||
|
||||
- name: Build and Push latest
|
||||
|
|
|
@ -5,6 +5,7 @@ env:
|
|||
name: Build Release
|
||||
on:
|
||||
release:
|
||||
types: [released]
|
||||
|
||||
jobs:
|
||||
main:
|
||||
|
|
|
@ -9,8 +9,6 @@ env:
|
|||
|
||||
name: CI
|
||||
on:
|
||||
push:
|
||||
branches: "master"
|
||||
pull_request:
|
||||
branches: "*"
|
||||
|
||||
|
@ -21,7 +19,7 @@ jobs:
|
|||
|
||||
services:
|
||||
postgres:
|
||||
image: postgres
|
||||
image: postgres:13.2-alpine
|
||||
env:
|
||||
POSTGRES_DB: postgres
|
||||
POSTGRES_PASSWORD: postgres
|
||||
|
@ -38,8 +36,8 @@ jobs:
|
|||
- name: Checkout
|
||||
uses: actions/checkout@v2
|
||||
|
||||
- name: Install Ruby ${{ env.RUBY_VERSION }}
|
||||
uses: actions/setup-ruby@v1
|
||||
- name: Ruby Setup
|
||||
uses: ruby/setup-ruby@v1
|
||||
with:
|
||||
ruby-version: ${{ env.RUBY_VERSION }}
|
||||
|
||||
|
@ -50,10 +48,12 @@ jobs:
|
|||
key: ${{ runner.os }}-gems-${{ hashFiles('**/Gemfile.lock') }}
|
||||
restore-keys: |
|
||||
${{ runner.os }}-gems-
|
||||
|
||||
- name: Bundle install
|
||||
run: |
|
||||
bundle config path vendor/bundle
|
||||
bundle install --jobs 4 --retry 3
|
||||
|
||||
- name: Setup database
|
||||
run: |
|
||||
bundler exec rails db:create RAILS_ENV=test
|
||||
|
|
22
.rubocop.yml
22
.rubocop.yml
|
@ -3,11 +3,9 @@ AllCops:
|
|||
- 'db/schema.rb'
|
||||
- 'vendor/**/*'
|
||||
DisabledByDefault: false
|
||||
TargetRubyVersion: 2.5
|
||||
TargetRubyVersion: 2.7
|
||||
|
||||
# Gems within groups in the Gemfile should be alphabetically sorted.
|
||||
Bundler/OrderedGems:
|
||||
Enabled: false
|
||||
NewCops: enable
|
||||
|
||||
Style/BlockDelimiters:
|
||||
Enabled: false
|
||||
|
@ -138,7 +136,7 @@ Metrics/AbcSize:
|
|||
# A complexity metric that is strongly correlated to the number
|
||||
# of test cases needed to validate a method.
|
||||
Metrics/CyclomaticComplexity:
|
||||
Max: 17
|
||||
Max: 20
|
||||
|
||||
# Checks for method parameter names that contain capital letters, end in numbers, or do not meet a minimal length.
|
||||
Naming/MethodParameterName:
|
||||
|
@ -177,3 +175,17 @@ Style/HashTransformValues:
|
|||
Style/SlicingWithRange:
|
||||
Enabled: true
|
||||
|
||||
Style/OptionalBooleanParameter:
|
||||
Enabled: false
|
||||
|
||||
Lint/DuplicateBranch:
|
||||
Enabled: false
|
||||
|
||||
Lint/ConstantDefinitionInBlock:
|
||||
Enabled: false
|
||||
|
||||
Lint/EmptyBlock:
|
||||
Enabled: false
|
||||
|
||||
Style/HashLikeCase:
|
||||
Enabled: false
|
||||
|
|
|
@ -1 +1 @@
|
|||
2.5.1
|
||||
2.7.2
|
||||
|
|
10
Dockerfile
10
Dockerfile
|
@ -1,4 +1,4 @@
|
|||
FROM ruby:2.5.1-alpine AS base
|
||||
FROM ruby:2.7.2-alpine AS base
|
||||
|
||||
# Set a variable for the install location.
|
||||
ARG RAILS_ROOT=/usr/src/app
|
||||
|
@ -24,9 +24,9 @@ COPY Gemfile Gemfile.lock $RAILS_ROOT/
|
|||
|
||||
RUN bundle config --global frozen 1 \
|
||||
&& bundle install --deployment --without development:test:assets -j4 --path=vendor/bundle \
|
||||
&& rm -rf vendor/bundle/ruby/2.5.0/cache/*.gem \
|
||||
&& find vendor/bundle/ruby/2.5.0/gems/ -name "*.c" -delete \
|
||||
&& find vendor/bundle/ruby/2.5.0/gems/ -name "*.o" -delete
|
||||
&& rm -rf vendor/bundle/ruby/2.7.0/cache/*.gem \
|
||||
&& find vendor/bundle/ruby/2.7.0/gems/ -name "*.c" -delete \
|
||||
&& find vendor/bundle/ruby/2.7.0/gems/ -name "*.o" -delete
|
||||
|
||||
# Adding project files.
|
||||
COPY . .
|
||||
|
@ -36,7 +36,7 @@ RUN rm -rf tmp/cache spec
|
|||
|
||||
############### Build step done ###############
|
||||
|
||||
FROM ruby:2.5.1-alpine
|
||||
FROM ruby:2.7.2-alpine
|
||||
|
||||
# Set a variable for the install location.
|
||||
ARG RAILS_ROOT=/usr/src/app
|
||||
|
|
164
Gemfile
164
Gemfile
|
@ -8,138 +8,72 @@ git_source(:github) do |repo_name|
|
|||
end
|
||||
|
||||
# Bundle edge Rails instead: gem 'rails', github: 'rails/rails'
|
||||
gem 'rails', '~> 5.2.4.4'
|
||||
|
||||
# Use Puma as the app server
|
||||
gem 'puma', '~> 3.12'
|
||||
|
||||
# Use SCSS for stylesheets
|
||||
gem 'sassc-rails'
|
||||
|
||||
# Use Uglifier as compressor for JavaScript assets
|
||||
gem 'uglifier', '>= 1.3.0'
|
||||
|
||||
# Use CoffeeScript for .coffee assets and views
|
||||
gem 'coffee-rails', '~> 4.2'
|
||||
|
||||
# See https://github.com/rails/execjs#readme for more supported runtimes
|
||||
# gem 'mini_racer', platforms: :ruby
|
||||
|
||||
# Use jquery as the JavaScript library
|
||||
gem 'jquery-rails', '~> 4.4'
|
||||
gem 'jquery-ui-rails'
|
||||
|
||||
# Turbolinks makes navigating your web application faster. Read more: https://github.com/turbolinks/turbolinks
|
||||
gem 'turbolinks', '~> 5'
|
||||
|
||||
# Build JSON APIs with ease. Read more: https://github.com/rails/jbuilder
|
||||
gem 'jbuilder', '~> 2.5'
|
||||
|
||||
# Use Redis adapter to run Action Cable in production
|
||||
# gem 'redis', '~> 3.0'
|
||||
|
||||
# Use ActiveModel has_secure_password
|
||||
gem 'aws-sdk-s3', '~> 1.88.1'
|
||||
gem 'bcrypt', '~> 3.1.7'
|
||||
|
||||
# Reduces boot times through caching; required in config/boot.rb
|
||||
gem 'bootsnap', '>= 1.1.0', require: false
|
||||
|
||||
gem 'sprockets', '< 4.0.0'
|
||||
|
||||
# Authentication.
|
||||
gem 'omniauth'
|
||||
gem 'omniauth-twitter'
|
||||
gem 'omniauth-google-oauth2'
|
||||
gem 'omniauth_openid_connect'
|
||||
gem 'omniauth-bn-launcher', '~> 0.1.3'
|
||||
gem 'net-ldap'
|
||||
gem 'bn-ldap-authentication', '~> 0.1.4'
|
||||
gem 'omniauth-bn-office365', '~> 0.1.1'
|
||||
|
||||
# BigBlueButton API wrapper.
|
||||
gem 'bigbluebutton-api-ruby', git: 'https://github.com/mconf/bigbluebutton-api-ruby.git', branch: 'master'
|
||||
|
||||
# Front-end.
|
||||
gem 'bn-ldap-authentication', '~> 0.1.4'
|
||||
gem 'bootsnap', '~> 1.7.2', require: false
|
||||
gem 'bootstrap', '~> 4.3.1'
|
||||
gem 'tabler-rubygem', git: 'https://github.com/blindsidenetworks/tabler-rubygem.git', tag: '0.1.4.1'
|
||||
gem 'pagy'
|
||||
gem 'cancancan', '~> 2.3.0'
|
||||
gem 'coveralls', '~> 0.8.23', require: false
|
||||
gem 'font-awesome-sass', '~> 5.9.0'
|
||||
|
||||
# For detecting the users preferred language.
|
||||
gem 'http_accept_language'
|
||||
|
||||
# Use Capistrano for deployment
|
||||
# gem 'capistrano-rails', group: :development
|
||||
|
||||
# Markdown parsing.
|
||||
gem 'redcarpet'
|
||||
|
||||
# For limiting access based on user roles
|
||||
gem 'cancancan', '~> 2.0'
|
||||
|
||||
# Active Storage gems
|
||||
gem 'aws-sdk-s3', '~> 1.75'
|
||||
gem 'google-cloud-storage', '~> 1.26'
|
||||
|
||||
gem 'pluck_to_hash', '~> 1.0.2'
|
||||
|
||||
gem 'google-cloud-storage', '~> 1.30.0'
|
||||
gem 'http_accept_language', '~> 2.1.1'
|
||||
gem 'i18n-language-mapping', '~> 0.1.1'
|
||||
gem 'jbuilder', '~> 2.11.2'
|
||||
gem 'jquery-rails', '~> 4.4.0'
|
||||
gem 'jquery-ui-rails', '~> 6.0.1'
|
||||
gem 'local_time', '~> 2.1.0'
|
||||
gem 'net-ldap', '~> 0.17.0'
|
||||
gem 'omniauth', '~> 1.9.1'
|
||||
gem 'omniauth-bn-launcher', '~> 0.1.3'
|
||||
gem 'omniauth-bn-office365', '~> 0.1.1'
|
||||
gem 'omniauth-google-oauth2', '~> 0.7.0'
|
||||
gem 'omniauth_openid_connect', '~> 0.3.5'
|
||||
gem 'omniauth-twitter', '~> 1.4.0'
|
||||
gem 'pagy', '~> 3.11.0'
|
||||
gem 'pluck_to_hash', '~> 1.0.2'
|
||||
gem 'puma', '~> 3.12.6'
|
||||
gem 'rails', '~> 5.2.6'
|
||||
gem 'random_password', '~> 0.1.1'
|
||||
gem "recaptcha", '~> 5.7.0'
|
||||
gem 'redcarpet', '~> 3.5.1'
|
||||
gem 'remote_syslog_logger', '~> 1.0.4'
|
||||
gem 'rubocop', '~> 1.10.0'
|
||||
gem 'sassc-rails', '~> 2.1.2'
|
||||
gem 'sprockets', '~> 3.7.2'
|
||||
gem 'sqlite3', '~> 1.3.6'
|
||||
gem 'tabler-rubygem', git: 'https://github.com/blindsidenetworks/tabler-rubygem.git', tag: '0.1.4.1'
|
||||
gem 'turbolinks', '~> 5.2.1'
|
||||
gem 'tzinfo-data', '~> 1.2021.1'
|
||||
gem 'uglifier', '~> 4.2.0'
|
||||
|
||||
group :production do
|
||||
# Use a postgres database in production.
|
||||
gem 'hiredis', '~> 0.6.3'
|
||||
gem "lograge", '~> 0.11.2'
|
||||
gem 'pg', '~> 0.18'
|
||||
gem 'sequel'
|
||||
|
||||
# For a better logging library in production
|
||||
gem "lograge"
|
||||
|
||||
# Use for the cache store in production
|
||||
gem 'redis'
|
||||
gem 'hiredis'
|
||||
gem 'redis', '~> 4.2.5'
|
||||
gem 'sequel', '~> 5.41.0'
|
||||
end
|
||||
|
||||
# Ruby linting.
|
||||
gem 'rubocop'
|
||||
|
||||
group :development, :test do
|
||||
# Call 'byebug' anywhere in the code to stop execution and get a debugger console
|
||||
gem 'byebug', platform: :mri
|
||||
# Environment configuration.
|
||||
gem 'dotenv-rails'
|
||||
# Use a sqlite database in test and development.
|
||||
gem 'sqlite3', '~> 1.3.6'
|
||||
gem 'byebug', '~> 11.1', platform: :mri
|
||||
gem 'dotenv-rails', '~> 2.7'
|
||||
end
|
||||
|
||||
group :test do
|
||||
# Include Rspec and other testing utilities.
|
||||
gem 'action-cable-testing', '~> 0.6'
|
||||
gem "factory_bot_rails", '~> 6.1'
|
||||
gem 'faker', '~> 2.16'
|
||||
gem 'rails-controller-testing', '~> 1.0'
|
||||
gem 'rspec-rails', '~> 3.7'
|
||||
gem 'action-cable-testing'
|
||||
gem 'rails-controller-testing'
|
||||
gem 'shoulda-matchers', '~> 3.1'
|
||||
gem 'faker'
|
||||
gem "factory_bot_rails"
|
||||
gem 'webmock'
|
||||
gem 'webmock', '~> 3.11'
|
||||
end
|
||||
|
||||
group :development do
|
||||
# Access an IRB console on exception pages or by using <%= console %> anywhere in the code.
|
||||
gem 'web-console', '>= 3.3.0'
|
||||
gem 'listen', '~> 3.0.5'
|
||||
# Spring speeds up development by keeping your application running in the background. Read more: https://github.com/rails/spring
|
||||
gem 'spring'
|
||||
gem 'spring-watcher-listen', '~> 2.0.0'
|
||||
gem 'listen', '~> 3.0'
|
||||
gem 'spring', '~> 2.1'
|
||||
gem 'spring-watcher-listen', '~> 2.0'
|
||||
gem 'web-console', '~> 3.7'
|
||||
end
|
||||
|
||||
gem 'remote_syslog_logger'
|
||||
|
||||
# Windows does not include zoneinfo files, so bundle the tzinfo-data gem
|
||||
gem 'tzinfo-data'
|
||||
|
||||
gem 'coveralls', require: false
|
||||
|
||||
gem 'random_password'
|
||||
|
||||
# Adds helpers for the Google reCAPTCHA API
|
||||
gem "recaptcha"
|
||||
|
||||
gem 'i18n-language-mapping', '~> 0.1.1'
|
||||
|
|
377
Gemfile.lock
377
Gemfile.lock
|
@ -25,43 +25,43 @@ GEM
|
|||
specs:
|
||||
action-cable-testing (0.6.1)
|
||||
actioncable (>= 5.0)
|
||||
actioncable (5.2.4.4)
|
||||
actionpack (= 5.2.4.4)
|
||||
actioncable (5.2.6)
|
||||
actionpack (= 5.2.6)
|
||||
nio4r (~> 2.0)
|
||||
websocket-driver (>= 0.6.1)
|
||||
actionmailer (5.2.4.4)
|
||||
actionpack (= 5.2.4.4)
|
||||
actionview (= 5.2.4.4)
|
||||
activejob (= 5.2.4.4)
|
||||
actionmailer (5.2.6)
|
||||
actionpack (= 5.2.6)
|
||||
actionview (= 5.2.6)
|
||||
activejob (= 5.2.6)
|
||||
mail (~> 2.5, >= 2.5.4)
|
||||
rails-dom-testing (~> 2.0)
|
||||
actionpack (5.2.4.4)
|
||||
actionview (= 5.2.4.4)
|
||||
activesupport (= 5.2.4.4)
|
||||
actionpack (5.2.6)
|
||||
actionview (= 5.2.6)
|
||||
activesupport (= 5.2.6)
|
||||
rack (~> 2.0, >= 2.0.8)
|
||||
rack-test (>= 0.6.3)
|
||||
rails-dom-testing (~> 2.0)
|
||||
rails-html-sanitizer (~> 1.0, >= 1.0.2)
|
||||
actionview (5.2.4.4)
|
||||
activesupport (= 5.2.4.4)
|
||||
actionview (5.2.6)
|
||||
activesupport (= 5.2.6)
|
||||
builder (~> 3.1)
|
||||
erubi (~> 1.4)
|
||||
rails-dom-testing (~> 2.0)
|
||||
rails-html-sanitizer (~> 1.0, >= 1.0.3)
|
||||
activejob (5.2.4.4)
|
||||
activesupport (= 5.2.4.4)
|
||||
activejob (5.2.6)
|
||||
activesupport (= 5.2.6)
|
||||
globalid (>= 0.3.6)
|
||||
activemodel (5.2.4.4)
|
||||
activesupport (= 5.2.4.4)
|
||||
activerecord (5.2.4.4)
|
||||
activemodel (= 5.2.4.4)
|
||||
activesupport (= 5.2.4.4)
|
||||
activemodel (5.2.6)
|
||||
activesupport (= 5.2.6)
|
||||
activerecord (5.2.6)
|
||||
activemodel (= 5.2.6)
|
||||
activesupport (= 5.2.6)
|
||||
arel (>= 9.0)
|
||||
activestorage (5.2.4.4)
|
||||
actionpack (= 5.2.4.4)
|
||||
activerecord (= 5.2.4.4)
|
||||
marcel (~> 0.3.1)
|
||||
activesupport (5.2.4.4)
|
||||
activestorage (5.2.6)
|
||||
actionpack (= 5.2.6)
|
||||
activerecord (= 5.2.6)
|
||||
marcel (~> 1.0.0)
|
||||
activesupport (5.2.6)
|
||||
concurrent-ruby (~> 1.0, >= 1.0.2)
|
||||
i18n (>= 0.7, < 2)
|
||||
minitest (~> 5.1)
|
||||
|
@ -70,32 +70,32 @@ GEM
|
|||
public_suffix (>= 2.0.2, < 5.0)
|
||||
aes_key_wrap (1.1.0)
|
||||
arel (9.0.0)
|
||||
ast (2.4.0)
|
||||
ast (2.4.2)
|
||||
attr_required (1.0.1)
|
||||
autoprefixer-rails (9.7.6)
|
||||
autoprefixer-rails (10.2.4.0)
|
||||
execjs
|
||||
aws-eventstream (1.1.0)
|
||||
aws-partitions (1.343.0)
|
||||
aws-sdk-core (3.104.1)
|
||||
aws-eventstream (1.1.1)
|
||||
aws-partitions (1.435.0)
|
||||
aws-sdk-core (3.113.0)
|
||||
aws-eventstream (~> 1, >= 1.0.2)
|
||||
aws-partitions (~> 1, >= 1.239.0)
|
||||
aws-sigv4 (~> 1.1)
|
||||
jmespath (~> 1.0)
|
||||
aws-sdk-kms (1.36.0)
|
||||
aws-sdk-core (~> 3, >= 3.99.0)
|
||||
aws-sdk-kms (1.43.0)
|
||||
aws-sdk-core (~> 3, >= 3.112.0)
|
||||
aws-sigv4 (~> 1.1)
|
||||
aws-sdk-s3 (1.75.0)
|
||||
aws-sdk-core (~> 3, >= 3.104.1)
|
||||
aws-sdk-s3 (1.88.2)
|
||||
aws-sdk-core (~> 3, >= 3.112.0)
|
||||
aws-sdk-kms (~> 1)
|
||||
aws-sigv4 (~> 1.1)
|
||||
aws-sigv4 (1.2.1)
|
||||
aws-sigv4 (1.2.3)
|
||||
aws-eventstream (~> 1, >= 1.0.2)
|
||||
bcrypt (3.1.13)
|
||||
bcrypt (3.1.16)
|
||||
bindata (2.4.8)
|
||||
bindex (0.8.1)
|
||||
bn-ldap-authentication (0.1.4)
|
||||
net-ldap (~> 0)
|
||||
bootsnap (1.4.6)
|
||||
bootsnap (1.7.3)
|
||||
msgpack (~> 1.0)
|
||||
bootstrap (4.3.1)
|
||||
autoprefixer-rails (>= 9.1.0)
|
||||
|
@ -105,71 +105,74 @@ GEM
|
|||
byebug (11.1.3)
|
||||
cancancan (2.3.0)
|
||||
childprocess (4.0.0)
|
||||
coffee-rails (4.2.2)
|
||||
coffee-script (>= 2.2.0)
|
||||
railties (>= 4.0.0)
|
||||
coffee-script (2.4.1)
|
||||
coffee-script-source
|
||||
execjs
|
||||
coffee-script-source (1.12.2)
|
||||
concurrent-ruby (1.1.7)
|
||||
concurrent-ruby (1.1.8)
|
||||
coveralls (0.8.23)
|
||||
json (>= 1.8, < 3)
|
||||
simplecov (~> 0.16.1)
|
||||
term-ansicolor (~> 1.3)
|
||||
thor (>= 0.19.4, < 2.0)
|
||||
tins (~> 1.6)
|
||||
crack (0.4.3)
|
||||
safe_yaml (~> 1.0.0)
|
||||
crack (0.4.5)
|
||||
rexml
|
||||
crass (1.0.6)
|
||||
declarative (0.0.20)
|
||||
declarative-option (0.1.0)
|
||||
diff-lcs (1.3)
|
||||
digest-crc (0.6.1)
|
||||
rake (~> 13.0)
|
||||
docile (1.3.2)
|
||||
dotenv (2.7.5)
|
||||
dotenv-rails (2.7.5)
|
||||
dotenv (= 2.7.5)
|
||||
railties (>= 3.2, < 6.1)
|
||||
erubi (1.9.0)
|
||||
diff-lcs (1.4.4)
|
||||
digest-crc (0.6.3)
|
||||
rake (>= 12.0.0, < 14.0.0)
|
||||
docile (1.3.5)
|
||||
dotenv (2.7.6)
|
||||
dotenv-rails (2.7.6)
|
||||
dotenv (= 2.7.6)
|
||||
railties (>= 3.2)
|
||||
erubi (1.10.0)
|
||||
execjs (2.7.0)
|
||||
factory_bot (5.2.0)
|
||||
activesupport (>= 4.2.0)
|
||||
factory_bot_rails (5.2.0)
|
||||
factory_bot (~> 5.2.0)
|
||||
railties (>= 4.2.0)
|
||||
faker (2.11.0)
|
||||
factory_bot (6.1.0)
|
||||
activesupport (>= 5.0.0)
|
||||
factory_bot_rails (6.1.0)
|
||||
factory_bot (~> 6.1.0)
|
||||
railties (>= 5.0.0)
|
||||
faker (2.17.0)
|
||||
i18n (>= 1.6, < 2)
|
||||
faraday (1.0.1)
|
||||
faraday (1.3.0)
|
||||
faraday-net_http (~> 1.0)
|
||||
multipart-post (>= 1.2, < 3)
|
||||
ffi (1.12.2)
|
||||
ruby2_keywords
|
||||
faraday-net_http (1.0.1)
|
||||
ffi (1.15.0)
|
||||
font-awesome-sass (5.9.0)
|
||||
sassc (>= 1.11)
|
||||
globalid (0.4.2)
|
||||
activesupport (>= 4.2.0)
|
||||
google-api-client (0.42.1)
|
||||
google-apis-core (0.3.0)
|
||||
addressable (~> 2.5, >= 2.5.1)
|
||||
googleauth (~> 0.9)
|
||||
googleauth (~> 0.14)
|
||||
httpclient (>= 2.8.1, < 3.0)
|
||||
mini_mime (~> 1.0)
|
||||
representable (~> 3.0)
|
||||
retriable (>= 2.0, < 4.0)
|
||||
signet (~> 0.12)
|
||||
google-cloud-core (1.5.0)
|
||||
rexml
|
||||
signet (~> 0.14)
|
||||
webrick
|
||||
google-apis-iamcredentials_v1 (0.2.0)
|
||||
google-apis-core (~> 0.1)
|
||||
google-apis-storage_v1 (0.3.0)
|
||||
google-apis-core (~> 0.1)
|
||||
google-cloud-core (1.6.0)
|
||||
google-cloud-env (~> 1.0)
|
||||
google-cloud-errors (~> 1.0)
|
||||
google-cloud-env (1.3.3)
|
||||
google-cloud-env (1.5.0)
|
||||
faraday (>= 0.17.3, < 2.0)
|
||||
google-cloud-errors (1.0.1)
|
||||
google-cloud-storage (1.26.2)
|
||||
google-cloud-errors (1.1.0)
|
||||
google-cloud-storage (1.30.0)
|
||||
addressable (~> 2.5)
|
||||
digest-crc (~> 0.4)
|
||||
google-api-client (~> 0.33)
|
||||
google-apis-iamcredentials_v1 (~> 0.1)
|
||||
google-apis-storage_v1 (~> 0.1)
|
||||
google-cloud-core (~> 1.2)
|
||||
googleauth (~> 0.9)
|
||||
mini_mime (~> 1.0)
|
||||
googleauth (0.13.0)
|
||||
googleauth (0.16.0)
|
||||
faraday (>= 0.17.3, < 2.0)
|
||||
jwt (>= 1.4, < 3.0)
|
||||
memoist (~> 0.16)
|
||||
|
@ -181,10 +184,10 @@ GEM
|
|||
hiredis (0.6.3)
|
||||
http_accept_language (2.1.1)
|
||||
httpclient (2.8.3)
|
||||
i18n (1.8.5)
|
||||
i18n (1.8.10)
|
||||
concurrent-ruby (~> 1.0)
|
||||
i18n-language-mapping (0.1.2)
|
||||
jbuilder (2.10.0)
|
||||
jbuilder (2.11.2)
|
||||
activesupport (>= 5.0.0)
|
||||
jmespath (1.4.0)
|
||||
jquery-rails (4.4.0)
|
||||
|
@ -193,45 +196,43 @@ GEM
|
|||
thor (>= 0.14, < 2.0)
|
||||
jquery-ui-rails (6.0.1)
|
||||
railties (>= 3.2.16)
|
||||
json (2.3.0)
|
||||
json (2.5.1)
|
||||
json-jwt (1.13.0)
|
||||
activesupport (>= 4.2)
|
||||
aes_key_wrap
|
||||
bindata
|
||||
jwt (2.2.1)
|
||||
listen (3.0.8)
|
||||
rb-fsevent (~> 0.9, >= 0.9.4)
|
||||
rb-inotify (~> 0.9, >= 0.9.7)
|
||||
jwt (2.2.2)
|
||||
listen (3.5.0)
|
||||
rb-fsevent (~> 0.10, >= 0.10.3)
|
||||
rb-inotify (~> 0.9, >= 0.9.10)
|
||||
local_time (2.1.0)
|
||||
lograge (0.11.2)
|
||||
actionpack (>= 4)
|
||||
activesupport (>= 4)
|
||||
railties (>= 4)
|
||||
request_store (~> 1.0)
|
||||
loofah (2.7.0)
|
||||
loofah (2.9.1)
|
||||
crass (~> 1.0.2)
|
||||
nokogiri (>= 1.5.9)
|
||||
mail (2.7.1)
|
||||
mini_mime (>= 0.1.1)
|
||||
marcel (0.3.3)
|
||||
mimemagic (~> 0.3.2)
|
||||
marcel (1.0.1)
|
||||
memoist (0.16.2)
|
||||
method_source (1.0.0)
|
||||
mimemagic (0.3.5)
|
||||
mini_mime (1.0.2)
|
||||
mini_portile2 (2.5.0)
|
||||
minitest (5.14.2)
|
||||
msgpack (1.3.3)
|
||||
multi_json (1.14.1)
|
||||
mini_mime (1.1.0)
|
||||
mini_portile2 (2.5.1)
|
||||
minitest (5.14.4)
|
||||
msgpack (1.4.2)
|
||||
multi_json (1.15.0)
|
||||
multi_xml (0.6.0)
|
||||
multipart-post (2.1.1)
|
||||
net-ldap (0.16.2)
|
||||
nio4r (2.5.4)
|
||||
nokogiri (1.11.1)
|
||||
net-ldap (0.17.0)
|
||||
nio4r (2.5.7)
|
||||
nokogiri (1.11.3)
|
||||
mini_portile2 (~> 2.5.0)
|
||||
racc (~> 1.4)
|
||||
oauth (0.5.4)
|
||||
oauth2 (1.4.4)
|
||||
oauth (0.5.5)
|
||||
oauth2 (1.4.7)
|
||||
faraday (>= 0.8, < 2.0)
|
||||
jwt (>= 1.0, < 3.0)
|
||||
multi_json (~> 1.3)
|
||||
|
@ -250,9 +251,9 @@ GEM
|
|||
jwt (>= 2.0)
|
||||
omniauth (>= 1.1.1)
|
||||
omniauth-oauth2 (>= 1.5)
|
||||
omniauth-oauth (1.1.0)
|
||||
omniauth-oauth (1.2.0)
|
||||
oauth
|
||||
omniauth (~> 1.0)
|
||||
omniauth (>= 1.0, < 3)
|
||||
omniauth-oauth2 (1.5.0)
|
||||
oauth2 (~> 1.1)
|
||||
omniauth (~> 1.2)
|
||||
|
@ -273,17 +274,17 @@ GEM
|
|||
validate_email
|
||||
validate_url
|
||||
webfinger (>= 1.0.1)
|
||||
os (1.1.0)
|
||||
pagy (3.8.1)
|
||||
parallel (1.19.1)
|
||||
parser (2.7.1.3)
|
||||
ast (~> 2.4.0)
|
||||
os (1.1.1)
|
||||
pagy (3.11.0)
|
||||
parallel (1.20.1)
|
||||
parser (3.0.0.0)
|
||||
ast (~> 2.4.1)
|
||||
pg (0.21.0)
|
||||
pluck_to_hash (1.0.2)
|
||||
activerecord (>= 4.0.2)
|
||||
activesupport (>= 4.0.2)
|
||||
popper_js (1.16.0)
|
||||
public_suffix (4.0.5)
|
||||
public_suffix (4.0.6)
|
||||
puma (3.12.6)
|
||||
racc (1.5.2)
|
||||
rack (2.2.3)
|
||||
|
@ -295,44 +296,45 @@ GEM
|
|||
rack (>= 2.1.0)
|
||||
rack-test (1.1.0)
|
||||
rack (>= 1.0, < 3)
|
||||
rails (5.2.4.4)
|
||||
actioncable (= 5.2.4.4)
|
||||
actionmailer (= 5.2.4.4)
|
||||
actionpack (= 5.2.4.4)
|
||||
actionview (= 5.2.4.4)
|
||||
activejob (= 5.2.4.4)
|
||||
activemodel (= 5.2.4.4)
|
||||
activerecord (= 5.2.4.4)
|
||||
activestorage (= 5.2.4.4)
|
||||
activesupport (= 5.2.4.4)
|
||||
rails (5.2.6)
|
||||
actioncable (= 5.2.6)
|
||||
actionmailer (= 5.2.6)
|
||||
actionpack (= 5.2.6)
|
||||
actionview (= 5.2.6)
|
||||
activejob (= 5.2.6)
|
||||
activemodel (= 5.2.6)
|
||||
activerecord (= 5.2.6)
|
||||
activestorage (= 5.2.6)
|
||||
activesupport (= 5.2.6)
|
||||
bundler (>= 1.3.0)
|
||||
railties (= 5.2.4.4)
|
||||
railties (= 5.2.6)
|
||||
sprockets-rails (>= 2.0.0)
|
||||
rails-controller-testing (1.0.4)
|
||||
actionpack (>= 5.0.1.x)
|
||||
actionview (>= 5.0.1.x)
|
||||
activesupport (>= 5.0.1.x)
|
||||
rails-controller-testing (1.0.5)
|
||||
actionpack (>= 5.0.1.rc1)
|
||||
actionview (>= 5.0.1.rc1)
|
||||
activesupport (>= 5.0.1.rc1)
|
||||
rails-dom-testing (2.0.3)
|
||||
activesupport (>= 4.2.0)
|
||||
nokogiri (>= 1.6)
|
||||
rails-html-sanitizer (1.3.0)
|
||||
loofah (~> 2.3)
|
||||
railties (5.2.4.4)
|
||||
actionpack (= 5.2.4.4)
|
||||
activesupport (= 5.2.4.4)
|
||||
railties (5.2.6)
|
||||
actionpack (= 5.2.6)
|
||||
activesupport (= 5.2.6)
|
||||
method_source
|
||||
rake (>= 0.8.7)
|
||||
thor (>= 0.19.0, < 2.0)
|
||||
rainbow (3.0.0)
|
||||
rake (13.0.1)
|
||||
rake (13.0.3)
|
||||
random_password (0.1.1)
|
||||
rb-fsevent (0.10.4)
|
||||
rb-inotify (0.10.1)
|
||||
ffi (~> 1.0)
|
||||
recaptcha (5.5.0)
|
||||
recaptcha (5.7.0)
|
||||
json
|
||||
redcarpet (3.5.1)
|
||||
redis (4.1.4)
|
||||
redis (4.2.5)
|
||||
regexp_parser (2.1.1)
|
||||
remote_syslog_logger (1.0.4)
|
||||
syslog_protocol
|
||||
representable (3.0.4)
|
||||
|
@ -342,10 +344,10 @@ GEM
|
|||
request_store (1.5.0)
|
||||
rack (>= 1.4)
|
||||
retriable (3.1.2)
|
||||
rexml (3.2.4)
|
||||
rspec-core (3.9.2)
|
||||
rexml (3.2.5)
|
||||
rspec-core (3.9.3)
|
||||
rspec-support (~> 3.9.3)
|
||||
rspec-expectations (3.9.2)
|
||||
rspec-expectations (3.9.4)
|
||||
diff-lcs (>= 1.2.0, < 2.0)
|
||||
rspec-support (~> 3.9.0)
|
||||
rspec-mocks (3.9.1)
|
||||
|
@ -359,21 +361,22 @@ GEM
|
|||
rspec-expectations (~> 3.9.0)
|
||||
rspec-mocks (~> 3.9.0)
|
||||
rspec-support (~> 3.9.0)
|
||||
rspec-support (3.9.3)
|
||||
rubocop (0.84.0)
|
||||
rspec-support (3.9.4)
|
||||
rubocop (1.10.0)
|
||||
parallel (~> 1.10)
|
||||
parser (>= 2.7.0.1)
|
||||
parser (>= 3.0.0.0)
|
||||
rainbow (>= 2.2.2, < 4.0)
|
||||
regexp_parser (>= 1.8, < 3.0)
|
||||
rexml
|
||||
rubocop-ast (>= 0.0.3)
|
||||
rubocop-ast (>= 1.2.0, < 2.0)
|
||||
ruby-progressbar (~> 1.7)
|
||||
unicode-display_width (>= 1.4.0, < 2.0)
|
||||
rubocop-ast (0.0.3)
|
||||
parser (>= 2.7.0.1)
|
||||
ruby-progressbar (1.10.1)
|
||||
unicode-display_width (>= 1.4.0, < 3.0)
|
||||
rubocop-ast (1.4.1)
|
||||
parser (>= 2.7.1.5)
|
||||
ruby-progressbar (1.11.0)
|
||||
ruby2_keywords (0.0.4)
|
||||
rubyzip (2.3.0)
|
||||
safe_yaml (1.0.5)
|
||||
sassc (2.3.0)
|
||||
sassc (2.4.0)
|
||||
ffi (~> 1.9)
|
||||
sassc-rails (2.1.2)
|
||||
railties (>= 4.0.0)
|
||||
|
@ -381,10 +384,10 @@ GEM
|
|||
sprockets (> 3.0)
|
||||
sprockets-rails
|
||||
tilt
|
||||
sequel (5.32.0)
|
||||
sequel (5.41.0)
|
||||
shoulda-matchers (3.1.3)
|
||||
activesupport (>= 4.0.0)
|
||||
signet (0.14.0)
|
||||
signet (0.15.0)
|
||||
addressable (~> 2.3)
|
||||
faraday (>= 0.17.3, < 2.0)
|
||||
jwt (>= 1.5, < 3.0)
|
||||
|
@ -394,7 +397,7 @@ GEM
|
|||
json (>= 1.8, < 3)
|
||||
simplecov-html (~> 0.10.0)
|
||||
simplecov-html (0.10.2)
|
||||
spring (2.1.0)
|
||||
spring (2.1.1)
|
||||
spring-watcher-listen (2.0.1)
|
||||
listen (>= 2.7, < 4.0)
|
||||
spring (>= 1.2, < 3.0)
|
||||
|
@ -414,22 +417,22 @@ GEM
|
|||
syslog_protocol (0.9.2)
|
||||
term-ansicolor (1.7.1)
|
||||
tins (~> 1.0)
|
||||
thor (1.0.1)
|
||||
thor (1.1.0)
|
||||
thread_safe (0.3.6)
|
||||
tilt (2.0.10)
|
||||
tins (1.25.0)
|
||||
tins (1.28.0)
|
||||
sync
|
||||
turbolinks (5.2.1)
|
||||
turbolinks-source (~> 5.2)
|
||||
turbolinks-source (5.2.0)
|
||||
tzinfo (1.2.7)
|
||||
tzinfo (1.2.9)
|
||||
thread_safe (~> 0.1)
|
||||
tzinfo-data (1.2020.1)
|
||||
tzinfo-data (1.2021.1)
|
||||
tzinfo (>= 1.0.0)
|
||||
uber (0.1.0)
|
||||
uglifier (4.2.0)
|
||||
execjs (>= 0.3.0, < 3)
|
||||
unicode-display_width (1.7.0)
|
||||
unicode-display_width (2.0.0)
|
||||
validate_email (0.1.6)
|
||||
activemodel (>= 3.0)
|
||||
mail (>= 2.2.5)
|
||||
|
@ -444,74 +447,74 @@ GEM
|
|||
webfinger (1.1.0)
|
||||
activesupport
|
||||
httpclient (>= 2.4)
|
||||
webmock (3.8.3)
|
||||
webmock (3.12.1)
|
||||
addressable (>= 2.3.6)
|
||||
crack (>= 0.3.2)
|
||||
hashdiff (>= 0.4.0, < 2.0.0)
|
||||
webrick (1.7.0)
|
||||
websocket-driver (0.7.3)
|
||||
websocket-extensions (>= 0.1.0)
|
||||
websocket-extensions (0.1.5)
|
||||
xml-simple (1.1.5)
|
||||
xml-simple (1.1.8)
|
||||
|
||||
PLATFORMS
|
||||
ruby
|
||||
|
||||
DEPENDENCIES
|
||||
action-cable-testing
|
||||
aws-sdk-s3 (~> 1.75)
|
||||
action-cable-testing (~> 0.6)
|
||||
aws-sdk-s3 (~> 1.88.1)
|
||||
bcrypt (~> 3.1.7)
|
||||
bigbluebutton-api-ruby!
|
||||
bn-ldap-authentication (~> 0.1.4)
|
||||
bootsnap (>= 1.1.0)
|
||||
bootsnap (~> 1.7.2)
|
||||
bootstrap (~> 4.3.1)
|
||||
byebug
|
||||
cancancan (~> 2.0)
|
||||
coffee-rails (~> 4.2)
|
||||
coveralls
|
||||
dotenv-rails
|
||||
factory_bot_rails
|
||||
faker
|
||||
byebug (~> 11.1)
|
||||
cancancan (~> 2.3.0)
|
||||
coveralls (~> 0.8.23)
|
||||
dotenv-rails (~> 2.7)
|
||||
factory_bot_rails (~> 6.1)
|
||||
faker (~> 2.16)
|
||||
font-awesome-sass (~> 5.9.0)
|
||||
google-cloud-storage (~> 1.26)
|
||||
hiredis
|
||||
http_accept_language
|
||||
google-cloud-storage (~> 1.30.0)
|
||||
hiredis (~> 0.6.3)
|
||||
http_accept_language (~> 2.1.1)
|
||||
i18n-language-mapping (~> 0.1.1)
|
||||
jbuilder (~> 2.5)
|
||||
jquery-rails (~> 4.4)
|
||||
jquery-ui-rails
|
||||
listen (~> 3.0.5)
|
||||
jbuilder (~> 2.11.2)
|
||||
jquery-rails (~> 4.4.0)
|
||||
jquery-ui-rails (~> 6.0.1)
|
||||
listen (~> 3.0)
|
||||
local_time (~> 2.1.0)
|
||||
lograge
|
||||
net-ldap
|
||||
omniauth
|
||||
lograge (~> 0.11.2)
|
||||
net-ldap (~> 0.17.0)
|
||||
omniauth (~> 1.9.1)
|
||||
omniauth-bn-launcher (~> 0.1.3)
|
||||
omniauth-bn-office365 (~> 0.1.1)
|
||||
omniauth-google-oauth2
|
||||
omniauth-twitter
|
||||
omniauth_openid_connect
|
||||
pagy
|
||||
omniauth-google-oauth2 (~> 0.7.0)
|
||||
omniauth-twitter (~> 1.4.0)
|
||||
omniauth_openid_connect (~> 0.3.5)
|
||||
pagy (~> 3.11.0)
|
||||
pg (~> 0.18)
|
||||
pluck_to_hash (~> 1.0.2)
|
||||
puma (~> 3.12)
|
||||
rails (~> 5.2.4.4)
|
||||
rails-controller-testing
|
||||
random_password
|
||||
recaptcha
|
||||
redcarpet
|
||||
redis
|
||||
remote_syslog_logger
|
||||
puma (~> 3.12.6)
|
||||
rails (~> 5.2.6)
|
||||
rails-controller-testing (~> 1.0)
|
||||
random_password (~> 0.1.1)
|
||||
recaptcha (~> 5.7.0)
|
||||
redcarpet (~> 3.5.1)
|
||||
redis (~> 4.2.5)
|
||||
remote_syslog_logger (~> 1.0.4)
|
||||
rspec-rails (~> 3.7)
|
||||
rubocop
|
||||
sassc-rails
|
||||
sequel
|
||||
rubocop (~> 1.10.0)
|
||||
sassc-rails (~> 2.1.2)
|
||||
sequel (~> 5.41.0)
|
||||
shoulda-matchers (~> 3.1)
|
||||
spring
|
||||
spring-watcher-listen (~> 2.0.0)
|
||||
sprockets (< 4.0.0)
|
||||
spring (~> 2.1)
|
||||
spring-watcher-listen (~> 2.0)
|
||||
sprockets (~> 3.7.2)
|
||||
sqlite3 (~> 1.3.6)
|
||||
tabler-rubygem!
|
||||
turbolinks (~> 5)
|
||||
tzinfo-data
|
||||
uglifier (>= 1.3.0)
|
||||
web-console (>= 3.3.0)
|
||||
webmock
|
||||
turbolinks (~> 5.2.1)
|
||||
tzinfo-data (~> 1.2021.1)
|
||||
uglifier (~> 4.2.0)
|
||||
web-console (~> 3.7)
|
||||
webmock (~> 3.11)
|
||||
|
|
|
@ -1,6 +1,5 @@
|
|||
# Greenlight
|
||||
|
||||
![Travis CI](https://travis-ci.org/bigbluebutton/greenlight.svg?branch=master)
|
||||
![Coverage
|
||||
!Status](https://coveralls.io/repos/github/bigbluebutton/greenlight/badge.svg?branch=master)
|
||||
![Docker Pulls](https://img.shields.io/docker/pulls/bigbluebutton/greenlight.svg)
|
||||
|
@ -33,4 +32,6 @@ Greenlight is built using Ruby on Rails. Many developers already know Rails well
|
|||
|
||||
We invite you to build upon Greenlight and help make it better. See [Contributing to BigBlueButton](http://docs.bigbluebutton.org/support/faq.html#contributing-to-bigbluebutton).
|
||||
|
||||
We invite your feedback, questions, and suggests about Greenlight too. Please post them to the [developer mailing list](https://groups.google.com/forum/#!forum/bigbluebutton-dev).
|
||||
We invite your feedback, questions, and suggests about Greenlight too. Please post them to the [Greenlight mailing list](https://groups.google.com/forum/#!forum/bigbluebutton-greenlight).
|
||||
|
||||
To help with organization and consistency, we have implemented a Pull Request template that must be used for all Pull Requests. This template helps ensure that the project maintainers can review all PRs in a timely manner. When creating a Pull Request, please provide as much information as possible.
|
|
@ -184,17 +184,19 @@ function copyInvite() {
|
|||
}
|
||||
}
|
||||
|
||||
function copyAccess() {
|
||||
$('#copy-code').attr("type", "text")
|
||||
$('#copy-code').select()
|
||||
function copyAccess(target) {
|
||||
input = target ? $("#copy-" + target + "-code") : $("#copy-code")
|
||||
input.attr("type", "text")
|
||||
input.select()
|
||||
if (document.execCommand("copy")) {
|
||||
$('#copy-code').attr("type", "hidden")
|
||||
copy = $("#copy-access")
|
||||
input.attr("type", "hidden")
|
||||
copy = target ? $("#copy-" + target + "-access") : $("#copy-access")
|
||||
copy.addClass('btn-success');
|
||||
copy.html("<i class='fas fa-check mr-1'></i>" + getLocalizedString("copied"))
|
||||
setTimeout(function(){
|
||||
copy.removeClass('btn-success');
|
||||
copy.html("<i class='fas fa-copy mr-1'></i>" + getLocalizedString("room.copy_access"))
|
||||
originalString = target ? getLocalizedString("room.copy_" + target + "_access") : getLocalizedString("room.copy_access")
|
||||
copy.html("<i class='fas fa-copy mr-1'></i>" + originalString)
|
||||
}, 1000)
|
||||
}
|
||||
}
|
||||
|
@ -202,7 +204,9 @@ function copyAccess() {
|
|||
function showCreateRoom(target) {
|
||||
$("#create-room-name").val("")
|
||||
$("#create-room-access-code").text(getLocalizedString("modal.create_room.access_code_placeholder"))
|
||||
$("#create-room-moderator-access-code").text(getLocalizedString("modal.create_room.moderator_access_code_placeholder"))
|
||||
$("#room_access_code").val(null)
|
||||
$("#room_moderator_access_code").val(null)
|
||||
|
||||
$("#createRoomModal form").attr("action", $("body").data('relative-root'))
|
||||
$("#room_mute_on_join").prop("checked", $("#room_mute_on_join").data("default"))
|
||||
|
@ -254,6 +258,16 @@ function showUpdateRoom(target) {
|
|||
$("#create-room-access-code").text(getLocalizedString("modal.create_room.access_code_placeholder"))
|
||||
$("#room_access_code").val(null)
|
||||
}
|
||||
|
||||
var moderatorAccessCode = modal.closest(".room-block").data("room-moderator-access-code")
|
||||
|
||||
if(moderatorAccessCode){
|
||||
$("#create-room-moderator-access-code").text(getLocalizedString("modal.create_room.moderator_access_code") + ": " + moderatorAccessCode)
|
||||
$("#room_moderator_access_code").val(moderatorAccessCode)
|
||||
} else {
|
||||
$("#create-room-moderator-access-code").text(getLocalizedString("modal.create_room.moderator_access_code_placeholder"))
|
||||
$("#room_moderator_access_code").val(null)
|
||||
}
|
||||
}
|
||||
|
||||
function showDeleteRoom(target) {
|
||||
|
@ -291,6 +305,24 @@ function ResetAccessCode(){
|
|||
$("#room_access_code").val(null)
|
||||
}
|
||||
|
||||
function generateModeratorAccessCode(){
|
||||
const accessCodeLength = 6
|
||||
var validCharacters = "abcdefghijklmopqrstuvwxyz"
|
||||
var accessCode = ""
|
||||
|
||||
for( var i = 0; i < accessCodeLength; i++){
|
||||
accessCode += validCharacters.charAt(Math.floor(Math.random() * validCharacters.length));
|
||||
}
|
||||
|
||||
$("#create-room-moderator-access-code").text(getLocalizedString("modal.create_room.moderator_access_code") + ": " + accessCode)
|
||||
$("#room_moderator_access_code").val(accessCode)
|
||||
}
|
||||
|
||||
function ResetModeratorAccessCode(){
|
||||
$("#create-room-moderator-access-code").text(getLocalizedString("modal.create_room.moderator_access_code_placeholder"))
|
||||
$("#room_moderator_access_code").val(null)
|
||||
}
|
||||
|
||||
function saveAccessChanges() {
|
||||
let listItemsToAdd = $("#user-list li:not(.remove-shared)").toArray().map(user => $(user).data("uid"))
|
||||
|
||||
|
|
|
@ -187,3 +187,7 @@ table {
|
|||
.btn i {
|
||||
transition: all .15s;
|
||||
}
|
||||
|
||||
.nav-icon i {
|
||||
width: 35px;
|
||||
}
|
||||
|
|
|
@ -32,8 +32,8 @@
|
|||
font-size: 20px !important;
|
||||
}
|
||||
|
||||
.join-input {
|
||||
height: 48px;
|
||||
.moderator-code-label {
|
||||
margin-top: 150px !important;
|
||||
}
|
||||
|
||||
.home-indicator {
|
||||
|
|
|
@ -41,7 +41,7 @@ class AccountActivationsController < ApplicationController
|
|||
flash: { success: I18n.t("registration.approval.signup") } if @user.has_role?(:pending)
|
||||
|
||||
# Redirect user to sign in path with success flash
|
||||
redirect_to signin_path, flash: { success: I18n.t("verify.activated") + " " + I18n.t("verify.signin") }
|
||||
redirect_to signin_path, flash: { success: "#{I18n.t('verify.activated')} #{I18n.t('verify.signin')}" }
|
||||
else
|
||||
redirect_to root_path, flash: { alert: I18n.t("verify.invalid") }
|
||||
end
|
||||
|
|
|
@ -145,10 +145,11 @@ class AdminsController < ApplicationController
|
|||
emails.each do |email|
|
||||
invitation = create_or_update_invite(email)
|
||||
|
||||
send_invitation_email(current_user.name, email, invitation.invite_token)
|
||||
send_invitation_email(current_user.name, email, invitation)
|
||||
end
|
||||
|
||||
redirect_back fallback_location: admins_path
|
||||
redirect_back fallback_location: admins_path,
|
||||
flash: { success: I18n.t("administrator.flash.invite", email: emails.join(", ")) }
|
||||
end
|
||||
|
||||
# GET /admins/reset
|
||||
|
@ -228,7 +229,7 @@ class AdminsController < ApplicationController
|
|||
flash_message = I18n.t("administrator.flash.settings")
|
||||
|
||||
if params[:value] == "Default Recording Visibility"
|
||||
flash_message += ". " + I18n.t("administrator.site_settings.recording_visibility.warning")
|
||||
flash_message += ". #{I18n.t('administrator.site_settings.recording_visibility.warning')}"
|
||||
end
|
||||
|
||||
redirect_to admin_site_settings_path(tab: tab), flash: { success: flash_message }
|
||||
|
|
|
@ -29,13 +29,11 @@ class ApplicationController < ActionController::Base
|
|||
def current_user
|
||||
@current_user ||= User.includes(:role, :main_room).find_by(id: session[:user_id])
|
||||
|
||||
if Rails.configuration.loadbalanced_configuration
|
||||
if @current_user && !@current_user.has_role?(:super_admin) &&
|
||||
@current_user.provider != @user_domain
|
||||
if Rails.configuration.loadbalanced_configuration && (@current_user && !@current_user.has_role?(:super_admin) &&
|
||||
@current_user.provider != @user_domain)
|
||||
@current_user = nil
|
||||
session.clear
|
||||
end
|
||||
end
|
||||
|
||||
@current_user
|
||||
end
|
||||
|
@ -86,8 +84,8 @@ class ApplicationController < ActionController::Base
|
|||
end
|
||||
|
||||
maintenance_string = @settings.get_value("Maintenance Banner").presence || Rails.configuration.maintenance_window
|
||||
if maintenance_string.present?
|
||||
flash.now[:maintenance] = maintenance_string unless cookies[:maintenance_window] == maintenance_string
|
||||
if maintenance_string.present? && cookies[:maintenance_window] != maintenance_string
|
||||
flash.now[:maintenance] = maintenance_string
|
||||
end
|
||||
end
|
||||
|
||||
|
@ -188,6 +186,12 @@ class ApplicationController < ActionController::Base
|
|||
end
|
||||
helper_method :recording_consent_required?
|
||||
|
||||
# Indicates whether users are allowed to add moderator access codes to rooms
|
||||
def moderator_code_allowed?
|
||||
@settings.get_value("Room Configuration Moderator Access Codes") == "optional"
|
||||
end
|
||||
helper_method :moderator_code_allowed?
|
||||
|
||||
# Returns a list of allowed file types
|
||||
def allowed_file_types
|
||||
Rails.configuration.allowed_file_types
|
||||
|
@ -268,17 +272,18 @@ class ApplicationController < ActionController::Base
|
|||
rescue => e
|
||||
logger.error "Error in retrieve provider info: #{e}"
|
||||
@hide_signin = true
|
||||
if e.message.eql? "No user with that id exists"
|
||||
case e.message
|
||||
when "No user with that id exists"
|
||||
set_default_settings
|
||||
|
||||
render "errors/greenlight_error", locals: { message: I18n.t("errors.not_found.user_not_found.message"),
|
||||
help: I18n.t("errors.not_found.user_not_found.help") }
|
||||
elsif e.message.eql? "Provider not included."
|
||||
when "Provider not included."
|
||||
set_default_settings
|
||||
|
||||
render "errors/greenlight_error", locals: { message: I18n.t("errors.not_found.user_missing.message"),
|
||||
help: I18n.t("errors.not_found.user_missing.help") }
|
||||
elsif e.message.eql? "That user has no configured provider."
|
||||
when "That user has no configured provider."
|
||||
if Setting.exists?(provider: @user_domain)
|
||||
# Keep the branding
|
||||
@settings = Setting.find_by(provider: @user_domain)
|
||||
|
|
|
@ -113,7 +113,7 @@ module Authenticator
|
|||
old_user.rooms.each do |room|
|
||||
room.owner = user
|
||||
|
||||
room.name = "Old " + room.name if room.id == old_user.main_room.id
|
||||
room.name = "Old #{room.name}" if room.id == old_user.main_room.id
|
||||
|
||||
room.save!
|
||||
end
|
||||
|
|
|
@ -70,16 +70,14 @@ module Emailer
|
|||
end
|
||||
|
||||
# Sends inivitation to join
|
||||
def send_invitation_email(name, email, token)
|
||||
def send_invitation_email(name, email, invite)
|
||||
begin
|
||||
return unless Rails.configuration.enable_email_verification
|
||||
|
||||
UserMailer.invite_email(name, email, invitation_link(token), @settings).deliver_now
|
||||
UserMailer.invite_email(name, email, invite.updated_at, invitation_link(invite.invite_token), @settings).deliver_now
|
||||
rescue => e
|
||||
logger.error "Support: Error in email delivery: #{e}"
|
||||
flash[:alert] = I18n.t(params[:message], default: I18n.t("delivery_error"))
|
||||
else
|
||||
flash[:success] = I18n.t("administrator.flash.invite", email: email)
|
||||
end
|
||||
end
|
||||
|
||||
|
|
|
@ -50,10 +50,11 @@ module Joiner
|
|||
def join_room(opts)
|
||||
@room_settings = JSON.parse(@room[:room_settings])
|
||||
|
||||
if room_running?(@room.bbb_id) || @room.owned_by?(current_user) || room_setting_with_config("anyoneCanStart")
|
||||
moderator_privileges = @room.owned_by?(current_user) || valid_moderator_access_code(session[:moderator_access_code])
|
||||
if room_running?(@room.bbb_id) || room_setting_with_config("anyoneCanStart") || moderator_privileges
|
||||
|
||||
# Determine if the user needs to join as a moderator.
|
||||
opts[:user_is_moderator] = @room.owned_by?(current_user) || room_setting_with_config("joinModerator") || @shared_room
|
||||
opts[:user_is_moderator] = room_setting_with_config("joinModerator") || @shared_room || moderator_privileges
|
||||
opts[:record] = record_meeting
|
||||
opts[:require_moderator_approval] = room_setting_with_config("requireModeratorApproval")
|
||||
opts[:mute_on_start] = room_setting_with_config("muteOnStart")
|
||||
|
|
|
@ -61,7 +61,7 @@ module Populator
|
|||
if user.present?
|
||||
# Find user and get his recordings
|
||||
rooms = User.find_by(email: user)&.rooms&.pluck(:bbb_id)
|
||||
return all_recordings(rooms) if user.present?
|
||||
return all_recordings(rooms) if user.present? && !rooms.nil?
|
||||
|
||||
[] # return no recs if room not found
|
||||
elsif room.present?
|
||||
|
|
|
@ -123,9 +123,10 @@ module Rolify
|
|||
:can_manage_rooms_recordings, :can_appear_in_share_list, :colour)
|
||||
|
||||
permission_params.transform_values! do |v|
|
||||
if v == "0"
|
||||
case v
|
||||
when "0"
|
||||
"false"
|
||||
elsif v == "1"
|
||||
when "1"
|
||||
"true"
|
||||
else
|
||||
v
|
||||
|
|
|
@ -47,9 +47,7 @@ class HealthCheckController < ApplicationController
|
|||
end
|
||||
|
||||
def database_check
|
||||
if defined?(ActiveRecord)
|
||||
raise "Database not responding" unless ActiveRecord::Migrator.current_version
|
||||
end
|
||||
raise "Database not responding" if defined?(ActiveRecord) && !ActiveRecord::Migrator.current_version
|
||||
raise "Pending migrations" unless ActiveRecord::Migration.check_pending!.nil?
|
||||
end
|
||||
|
||||
|
@ -61,9 +59,7 @@ class HealthCheckController < ApplicationController
|
|||
settings = ActionMailer::Base.smtp_settings
|
||||
|
||||
smtp = Net::SMTP.new(settings[:address], settings[:port])
|
||||
if settings[:enable_starttls_auto] == "true"
|
||||
smtp.enable_starttls_auto if smtp.respond_to?(:enable_starttls_auto)
|
||||
end
|
||||
smtp.enable_starttls_auto if settings[:enable_starttls_auto] == ("true") && smtp.respond_to?(:enable_starttls_auto)
|
||||
|
||||
if settings[:authentication].present? && settings[:authentication] != "none"
|
||||
smtp.start(settings[:domain]) do |s|
|
||||
|
|
|
@ -44,7 +44,9 @@ class RoomsController < ApplicationController
|
|||
return redirect_to current_user.main_room, flash: { alert: I18n.t("room.room_limit") } if room_limit_exceeded
|
||||
|
||||
# Create room
|
||||
@room = Room.new(name: room_params[:name], access_code: room_params[:access_code])
|
||||
@room = Room.new(name: room_params[:name],
|
||||
access_code: room_params[:access_code],
|
||||
moderator_access_code: room_params[:moderator_access_code])
|
||||
@room.owner = current_user
|
||||
@room.room_settings = create_room_settings_string(room_params)
|
||||
|
||||
|
@ -109,8 +111,9 @@ class RoomsController < ApplicationController
|
|||
@shared_room = room_shared_with_user
|
||||
|
||||
unless @room.owned_by?(current_user) || @shared_room
|
||||
# Don't allow users to join unless they have a valid access code or the room doesn't have an access code
|
||||
if @room.access_code && !@room.access_code.empty? && @room.access_code != session[:access_code]
|
||||
# Don't allow users to join unless they have a valid access code or the room doesn't have an access codes
|
||||
valid_access_code = !@room.access_code.present? || @room.access_code == session[:access_code]
|
||||
if !valid_access_code && !valid_moderator_access_code(session[:moderator_access_code])
|
||||
return redirect_to room_path(room_uid: params[:room_uid]), flash: { alert: I18n.t("room.access_code_required") }
|
||||
end
|
||||
|
||||
|
@ -200,11 +203,17 @@ class RoomsController < ApplicationController
|
|||
# Update the rooms values
|
||||
room_settings_string = create_room_settings_string(options)
|
||||
|
||||
@room.update_attributes(
|
||||
attributes = {
|
||||
name: options[:name],
|
||||
room_settings: room_settings_string,
|
||||
access_code: options[:access_code]
|
||||
)
|
||||
}
|
||||
|
||||
unless params[:setting] == "rename_header"
|
||||
attributes[:room_settings] = room_settings_string
|
||||
attributes[:access_code] = options[:access_code]
|
||||
attributes[:moderator_access_code] = options[:moderator_access_code]
|
||||
end
|
||||
|
||||
@room.update(attributes)
|
||||
|
||||
flash[:success] = I18n.t("room.update_settings_success")
|
||||
rescue => e
|
||||
|
@ -321,9 +330,16 @@ class RoomsController < ApplicationController
|
|||
|
||||
# POST /:room_uid/login
|
||||
def login
|
||||
# use same form for access_code and moderator_access_code
|
||||
if valid_moderator_access_code(room_params[:access_code])
|
||||
session[:moderator_access_code] = room_params[:access_code]
|
||||
else
|
||||
session[:access_code] = room_params[:access_code]
|
||||
end
|
||||
|
||||
flash[:alert] = I18n.t("room.access_code_required") if session[:access_code] != @room.access_code
|
||||
if session[:access_code] != @room.access_code && !valid_moderator_access_code(session[:moderator_access_code])
|
||||
flash[:alert] = I18n.t("room.access_code_required")
|
||||
end
|
||||
|
||||
redirect_to room_path(@room.uid)
|
||||
end
|
||||
|
@ -332,11 +348,11 @@ class RoomsController < ApplicationController
|
|||
|
||||
def create_room_settings_string(options)
|
||||
room_settings = {
|
||||
"muteOnStart": options[:mute_on_join] == "1",
|
||||
"requireModeratorApproval": options[:require_moderator_approval] == "1",
|
||||
"anyoneCanStart": options[:anyone_can_start] == "1",
|
||||
"joinModerator": options[:all_join_moderator] == "1",
|
||||
"recording": options[:recording] == "1",
|
||||
muteOnStart: options[:mute_on_join] == "1",
|
||||
requireModeratorApproval: options[:require_moderator_approval] == "1",
|
||||
anyoneCanStart: options[:anyone_can_start] == "1",
|
||||
joinModerator: options[:all_join_moderator] == "1",
|
||||
recording: options[:recording] == "1",
|
||||
}
|
||||
|
||||
room_settings.to_json
|
||||
|
@ -345,7 +361,7 @@ class RoomsController < ApplicationController
|
|||
def room_params
|
||||
params.require(:room).permit(:name, :auto_join, :mute_on_join, :access_code,
|
||||
:require_moderator_approval, :anyone_can_start, :all_join_moderator,
|
||||
:recording, :presentation)
|
||||
:recording, :presentation, :moderator_access_code)
|
||||
end
|
||||
|
||||
# Find the room from the uid.
|
||||
|
@ -412,6 +428,11 @@ class RoomsController < ApplicationController
|
|||
end
|
||||
helper_method :room_limit_exceeded
|
||||
|
||||
def valid_moderator_access_code(code)
|
||||
code == @room.moderator_access_code && !@room.moderator_access_code.blank? && moderator_code_allowed?
|
||||
end
|
||||
helper_method :valid_moderator_access_code
|
||||
|
||||
def record_meeting
|
||||
# If the require consent setting is checked, then check the room setting, else, set to true
|
||||
if recording_consent_required?
|
||||
|
|
|
@ -88,7 +88,10 @@ class SessionsController < ApplicationController
|
|||
# Check that the user is a Greenlight account
|
||||
return redirect_to(root_path, alert: I18n.t("invalid_login_method")) unless user.greenlight_account?
|
||||
# Check that the user has verified their account
|
||||
return redirect_to(account_activation_path(digest: user.activation_digest)) unless user.activated?
|
||||
unless user.activated?
|
||||
user.create_activation_token if user.activation_digest.nil?
|
||||
return redirect_to(account_activation_path(digest: user.activation_digest))
|
||||
end
|
||||
end
|
||||
|
||||
login(user)
|
||||
|
@ -125,13 +128,14 @@ class SessionsController < ApplicationController
|
|||
def ldap
|
||||
ldap_config = {}
|
||||
ldap_config[:host] = ENV['LDAP_SERVER']
|
||||
ldap_config[:port] = ENV['LDAP_PORT'].to_i != 0 ? ENV['LDAP_PORT'].to_i : 389
|
||||
ldap_config[:port] = ENV['LDAP_PORT'].to_i.zero? ? 389 : ENV['LDAP_PORT'].to_i
|
||||
ldap_config[:bind_dn] = ENV['LDAP_BIND_DN']
|
||||
ldap_config[:password] = ENV['LDAP_PASSWORD']
|
||||
ldap_config[:auth_method] = ENV['LDAP_AUTH']
|
||||
ldap_config[:encryption] = if ENV['LDAP_METHOD'] == 'ssl'
|
||||
ldap_config[:encryption] = case ENV['LDAP_METHOD']
|
||||
when 'ssl'
|
||||
'simple_tls'
|
||||
elsif ENV['LDAP_METHOD'] == 'tls'
|
||||
when 'tls'
|
||||
'start_tls'
|
||||
end
|
||||
ldap_config[:base] = ENV['LDAP_BASE']
|
||||
|
|
|
@ -89,6 +89,14 @@ module AdminsHelper
|
|||
end
|
||||
end
|
||||
|
||||
def moderator_codes_string
|
||||
if @settings.get_value("Moderator Access Codes") == "true"
|
||||
I18n.t("administrator.site_settings.moderator_codes.enabled")
|
||||
else
|
||||
I18n.t("administrator.site_settings.moderator_codes.disabled")
|
||||
end
|
||||
end
|
||||
|
||||
def log_level_string
|
||||
case Rails.logger.level
|
||||
when 0
|
||||
|
|
|
@ -58,30 +58,24 @@ module ApplicationHelper
|
|||
# Returns 'active' if the current page is the users home page (used to style header)
|
||||
def active_home
|
||||
home_actions = %w[show cant_create_rooms]
|
||||
return "active" if params[:controller] == "admins" && params[:action] == "index" && current_user.has_role?(:super_admin)
|
||||
return "active" if params[:controller] == "rooms" && home_actions.include?(params[:action])
|
||||
return "active" if controller_name == "admins" && action_name == "index" && current_user.has_role?(:super_admin)
|
||||
return "active" if controller_name == "rooms" && home_actions.include?(action_name)
|
||||
""
|
||||
end
|
||||
|
||||
# Returns the action method of the current page
|
||||
def active_page
|
||||
route = Rails.application.routes.recognize_path(request.env['PATH_INFO'])
|
||||
|
||||
route[:action]
|
||||
end
|
||||
|
||||
def role_colour(role)
|
||||
role.colour || Rails.configuration.primary_color_default
|
||||
end
|
||||
|
||||
def translated_role_name(role)
|
||||
if role.name == "denied"
|
||||
case role.name
|
||||
when "denied"
|
||||
I18n.t("roles.banned")
|
||||
elsif role.name == "pending"
|
||||
when "pending"
|
||||
I18n.t("roles.pending")
|
||||
elsif role.name == "admin"
|
||||
when "admin"
|
||||
I18n.t("roles.admin")
|
||||
elsif role.name == "user"
|
||||
when "user"
|
||||
I18n.t("roles.user")
|
||||
else
|
||||
role.name
|
||||
|
@ -109,6 +103,8 @@ module ApplicationHelper
|
|||
# Make a GET request and validate content type
|
||||
http = Net::HTTP.new(url.host, url.port)
|
||||
http.use_ssl = (url.scheme == "https")
|
||||
http.read_timeout = 10
|
||||
http.open_timeout = 10
|
||||
|
||||
http.start do |web|
|
||||
response = web.head(url.request_uri)
|
||||
|
|
|
@ -44,7 +44,7 @@ module UsersHelper
|
|||
# Returns language selection options for user edit
|
||||
def language_options
|
||||
locales = I18n.available_locales
|
||||
language_opts = [['<<<< ' + t("language_default") + ' >>>>', "default"]]
|
||||
language_opts = [["<<<< #{t('language_default')} >>>>", "default"]]
|
||||
locales.each do |locale|
|
||||
language_mapping = I18n::Language::Mapping.language_mapping_list[locale.to_s.gsub("_", "-")]
|
||||
language_opts.push([language_mapping["nativeName"], locale.to_s])
|
||||
|
|
|
@ -43,7 +43,7 @@ class UserMailer < ApplicationMailer
|
|||
def user_promoted(user, role, url, settings)
|
||||
@settings = settings
|
||||
@url = url
|
||||
@admin_url = url + "admins"
|
||||
@admin_url = "#{url}admins"
|
||||
@image = logo_image
|
||||
@color = user_color
|
||||
@role = translated_role_name(role)
|
||||
|
@ -64,13 +64,14 @@ class UserMailer < ApplicationMailer
|
|||
mail to: user.email, subject: t('mailer.user.demoted.subtitle', role: translated_role_name(role))
|
||||
end
|
||||
|
||||
def invite_email(name, email, url, settings)
|
||||
def invite_email(name, email, invite_date, url, settings)
|
||||
@settings = settings
|
||||
@name = name
|
||||
@email = email
|
||||
@url = url
|
||||
@image = logo_image
|
||||
@color = user_color
|
||||
@date = "#{(invite_date + 2.days).strftime('%b %d, %Y %-I:%M%P')} UTC"
|
||||
mail to: email, subject: t('mailer.user.invite.subject')
|
||||
end
|
||||
|
||||
|
|
|
@ -66,6 +66,8 @@ class Setting < ApplicationRecord
|
|||
Rails.configuration.shared_access_default
|
||||
when "Preupload Presentation"
|
||||
Rails.configuration.preupload_presentation_default
|
||||
when "Room Configuration Moderator Access Codes"
|
||||
Rails.configuration.moderator_codes_default
|
||||
when "Room Configuration Mute On Join"
|
||||
room_config_setting("mute-on-join")
|
||||
when "Room Configuration Require Moderator"
|
||||
|
|
|
@ -41,7 +41,7 @@ class User < ApplicationRecord
|
|||
validate :check_if_email_can_be_blank
|
||||
validates :email, length: { maximum: 256 }, allow_blank: true,
|
||||
uniqueness: { case_sensitive: false, scope: :provider },
|
||||
format: { with: /\A[\w+\-\'.]+@[a-z\d\-.]+\.[a-z]+\z/i }
|
||||
format: { with: /\A[\w+\-'.]+@[a-z\d\-.]+\.[a-z]+\z/i }
|
||||
|
||||
validates :password, length: { minimum: 6 }, confirmation: true, if: :greenlight_account?, on: :create
|
||||
|
||||
|
|
|
@ -17,29 +17,29 @@
|
|||
<% highest_role = current_user.role %>
|
||||
<% highest_role.name %>
|
||||
<% if highest_role.get_permission("can_manage_users") || highest_role.name == "super_admin" %>
|
||||
<%= link_to admins_path, class: "list-group-item list-group-item-action dropdown-item #{"active" if active_page == "index"}" do %>
|
||||
<span class="icon mr-3"><i class="fas fa-users"></i></span><%= t("administrator.users.title") %>
|
||||
<%= link_to admins_path, class: "list-group-item list-group-item-action dropdown-item #{"active" if action_name == "index"}" do %>
|
||||
<span class="icon nav-icon"><i class="fas fa-users"></i></span><%= t("administrator.users.title") %>
|
||||
<% end %>
|
||||
<% end %>
|
||||
<% if highest_role.get_permission("can_manage_rooms_recordings") || highest_role.name == "super_admin" %>
|
||||
<%= link_to admin_rooms_path, class: "list-group-item list-group-item-action dropdown-item #{"active" if active_page == "server_rooms"}" do %>
|
||||
<span class="icon mr-4"><i class="fas fa-binoculars"></i></span><%= t("administrator.rooms.title") %>
|
||||
<%= link_to admin_rooms_path, class: "list-group-item list-group-item-action dropdown-item #{"active" if action_name == "server_rooms"}" do %>
|
||||
<span class="icon nav-icon"><i class="fas fa-binoculars"></i></span><%= t("administrator.rooms.title") %>
|
||||
<% end %>
|
||||
<%= link_to admin_recordings_path, class: "list-group-item list-group-item-action dropdown-item #{"active" if active_page == "server_recordings"}" do %>
|
||||
<span class="icon mr-4"><i class="fas fa-video"></i></span><%= t("administrator.recordings.title") %>
|
||||
<%= link_to admin_recordings_path, class: "list-group-item list-group-item-action dropdown-item #{"active" if action_name == "server_recordings"}" do %>
|
||||
<span class="icon nav-icon"><i class="fas fa-video"></i></span><%= t("administrator.recordings.title") %>
|
||||
<% end %>
|
||||
<% end %>
|
||||
<% if highest_role.get_permission("can_edit_site_settings") || highest_role.name == "super_admin" %>
|
||||
<%= link_to admin_site_settings_path, class: "list-group-item list-group-item-action dropdown-item #{"active" if active_page == "site_settings"}" do %>
|
||||
<span class="icon mr-4"><i class="fas fa-cogs"></i></span><%= t("administrator.site_settings.title") %>
|
||||
<%= link_to admin_site_settings_path, class: "list-group-item list-group-item-action dropdown-item #{"active" if action_name == "site_settings"}" do %>
|
||||
<span class="icon nav-icon"><i class="fas fa-cogs"></i></span><%= t("administrator.site_settings.title") %>
|
||||
<% end %>
|
||||
<%= link_to admin_room_configuration_path, class: "list-group-item list-group-item-action dropdown-item #{"active" if active_page == "room_configuration"}" do %>
|
||||
<span class="icon mr-4"><i class="fas fa-sliders-h"></i></span><%= t("administrator.room_configuration.title") %>
|
||||
<%= link_to admin_room_configuration_path, class: "list-group-item list-group-item-action dropdown-item #{"active" if action_name == "room_configuration"}" do %>
|
||||
<span class="icon nav-icon"><i class="fas fa-sliders-h"></i></span><%= t("administrator.room_configuration.title") %>
|
||||
<% end %>
|
||||
<% end %>
|
||||
<% if highest_role.get_permission("can_edit_roles") || highest_role.name == "super_admin" %>
|
||||
<%= link_to admin_roles_path, class: "list-group-item list-group-item-action dropdown-item #{"active" if active_page == "roles"}" do %>
|
||||
<span class="icon mr-4"><i class="fas fa-user-tag"></i></span><%= t("administrator.roles.title") %>
|
||||
<%= link_to admin_roles_path, class: "list-group-item list-group-item-action dropdown-item #{"active" if action_name == "roles"}" do %>
|
||||
<span class="icon nav-icon"><i class="fas fa-user-tag"></i></span><%= t("administrator.roles.title") %>
|
||||
<% end %>
|
||||
<% end %>
|
||||
</div>
|
|
@ -124,5 +124,26 @@
|
|||
</div>
|
||||
</div>
|
||||
<% end %>
|
||||
<div class="row">
|
||||
<div class="col-12">
|
||||
<div class="form-group">
|
||||
<label class="form-label"><%= t("administrator.room_configuration.moderator_codes.title") %></label>
|
||||
<label class="form-label text-muted"><%= t("administrator.room_configuration.moderator_codes.info") %></label>
|
||||
<div class="dropdown">
|
||||
<button class="btn btn-primary dropdown-toggle" type="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
|
||||
<%= room_configuration_string("Room Configuration Moderator Access Codes") %>
|
||||
</button>
|
||||
<div class="dropdown-menu" aria-labelledby="room-auth">
|
||||
<%= button_to admin_update_room_configuration_path(setting: "Room Configuration Moderator Access Codes", value: "optional"), class: "dropdown-item", "data-disable": "" do %>
|
||||
<%= t("administrator.room_configuration.options.optional") %>
|
||||
<% end %>
|
||||
<%= button_to admin_update_room_configuration_path(setting: "Room Configuration Moderator Access Codes", value: "disabled"), class: "dropdown-item", "data-disable": "" do %>
|
||||
<%= t("administrator.room_configuration.options.disabled") %>
|
||||
<% end %>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
|
|
@ -59,7 +59,7 @@
|
|||
</script>
|
||||
</head>
|
||||
|
||||
<body class="app-background" data-controller="<%= params[:controller] %>" data-action="<%= params[:action] %>" data-relative-root="<%= Rails.configuration.relative_url_root || "/" %>">
|
||||
<body class="app-background" data-controller="<%= controller_name %>" data-action="<%= action_name %>" data-relative-root="<%= Rails.configuration.relative_url_root || "/" %>">
|
||||
<%= render "shared/header" %>
|
||||
|
||||
<div class="wrapper">
|
||||
|
|
|
@ -0,0 +1,29 @@
|
|||
<%
|
||||
# BigBlueButton open source conferencing system - http://www.bigbluebutton.org/.
|
||||
# Copyright (c) 2018 BigBlueButton Inc. and by respective authors (see below).
|
||||
# This program is free software; you can redistribute it and/or modify it under the
|
||||
# terms of the GNU Lesser General Public License as published by the Free Software
|
||||
# Foundation; either version 3.0 of the License, or (at your option) any later
|
||||
# version.
|
||||
#
|
||||
# BigBlueButton is distributed in the hope that it will be useful, but WITHOUT ANY
|
||||
# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
|
||||
# PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.
|
||||
# You should have received a copy of the GNU Lesser General Public License along
|
||||
# with BigBlueButton; if not, see <http://www.gnu.org/licenses/>.
|
||||
%>
|
||||
|
||||
<%= form_for :room, url: login_room_path(@room.uid) do |f| %>
|
||||
<div class="input-group join-input">
|
||||
<%= f.text_field :access_code,
|
||||
required: true,
|
||||
class: "form-control join-form",
|
||||
placeholder: access_code_type == 'moderator' ? t("room.enter_the_moderator_access_code") : t("room.enter_the_access_code"),
|
||||
value: "" ,
|
||||
autofocus: true,
|
||||
maxlength: 26 %>
|
||||
<span class="input-group-append">
|
||||
<%= f.button t("room.login"), type: :submit, class: "btn btn-primary btn-sm px-7 form-control join-form" %>
|
||||
</span>
|
||||
</div>
|
||||
<% end %>
|
|
@ -13,7 +13,7 @@
|
|||
# with BigBlueButton; if not, see <http://www.gnu.org/licenses/>.
|
||||
%>
|
||||
|
||||
<div data-path="<%= update_settings_path(room) %>" data-room-access-code="<%= room.access_code %>" class="card room-block">
|
||||
<div data-path="<%= update_settings_path(room) %>" data-room-access-code="<%= room.access_code %>" data-room-moderator-access-code="<%= room.moderator_access_code %>" class="card room-block">
|
||||
<div class="card-body p-1">
|
||||
<table class="table table-hover table-vcenter text-wrap table-no-border">
|
||||
<tbody class="no-border-top">
|
||||
|
|
|
@ -15,23 +15,16 @@
|
|||
|
||||
<% content_for(:page_desc) { t("room.invitation_description", name: @room.name) } %>
|
||||
|
||||
<% valid_access_code = @room.access_code.nil? || @room.access_code.empty? || @room.access_code == session[:access_code] %>
|
||||
<%= render 'rooms/components/room_event', render_recordings: valid_access_code do %>
|
||||
<% access_code_set = @room.access_code.present? %>
|
||||
<% valid_access_code = access_code_set && @room.access_code == session[:access_code] %>
|
||||
<% moderator_access_code_set = @room.moderator_access_code.present? && moderator_code_allowed? %>
|
||||
<% valid_moderator_access_code = valid_moderator_access_code(session[:moderator_access_code]) %>
|
||||
<% authorized = valid_access_code || valid_moderator_access_code || !access_code_set %>
|
||||
|
||||
<%= render 'rooms/components/room_event', render_recordings: authorized do %>
|
||||
<% if room_authentication_required %>
|
||||
<h2><%= t("administrator.site_settings.authentication.user-info") %></h2>
|
||||
<% elsif !valid_access_code %>
|
||||
<%= form_for :room, url: login_room_path(@room.uid) do |f| %>
|
||||
<div class="input-group join-input">
|
||||
<%= f.text_field :access_code,
|
||||
required: true,
|
||||
class: "form-control join-form",
|
||||
placeholder: t("room.enter_the_access_code"),
|
||||
value: "" ,
|
||||
autofocus: true %>
|
||||
<%= f.submit t("room.login"), class: "btn btn-primary btn-sm col-sm-3 form-control join-form" %>
|
||||
</div>
|
||||
<% end %>
|
||||
<% else %>
|
||||
<% elsif authorized %>
|
||||
<%= form_for room_path(@room), method: :post do |f| %>
|
||||
<div class="input-group">
|
||||
<%= f.hidden_field(:search, :value => params[:search])%>
|
||||
|
@ -59,5 +52,12 @@
|
|||
</label>
|
||||
<% end %>
|
||||
<% end %>
|
||||
<% if moderator_access_code_set && !valid_moderator_access_code %>
|
||||
<!-- <hr class="mt-2 float-right w-100 moderator-code-hr"> -->
|
||||
<label class="moderator-code-label form-label"><%= t("room.optional_moderator_access_code") %></label>
|
||||
<%= render "rooms/components/enter_access_code_form", access_code_type: 'moderator' %>
|
||||
<% end %>
|
||||
<% else %>
|
||||
<%= render "rooms/components/enter_access_code_form", access_code_type: 'standard_access' %>
|
||||
<% end %>
|
||||
<% end %>
|
||||
|
|
|
@ -51,7 +51,7 @@
|
|||
<%= t("copy") %>
|
||||
</button>
|
||||
</div>
|
||||
<div class="col-sm-6 pl-0 mt-2">
|
||||
<div class="btn-group-vertical col-sm-6 pl-0 mt-2">
|
||||
<% if @room.access_code.present? %>
|
||||
<input id="copy-code" value="<%= @room.access_code %>" type="hidden">
|
||||
<button id="copy-access" class="btn btn-secondary btn-block" onclick="copyAccess()">
|
||||
|
@ -59,6 +59,13 @@
|
|||
<%= t("room.copy_access") %>
|
||||
</button>
|
||||
<% end %>
|
||||
<% if moderator_code_allowed? && @room.moderator_access_code.present? %>
|
||||
<input id="copy-moderator-code" value="<%= @room.moderator_access_code %>" type="hidden">
|
||||
<button id="copy-moderator-access" class="btn btn-secondary btn-block" onclick="copyAccess('moderator')">
|
||||
<i class="fas fa-copy mr-1"></i>
|
||||
<%= t("room.copy_moderator_access") %>
|
||||
</button>
|
||||
<% end %>
|
||||
<% if Rails.configuration.enable_google_calendar_button %>
|
||||
<a href="<%= google_calendar_path %>" target="__blank" id="schedule" class="btn btn-primary btn-block mt-2">
|
||||
<i class="fas fa-calendar-plus"></i>
|
||||
|
|
|
@ -32,7 +32,7 @@
|
|||
<% end %>
|
||||
|
||||
<% if current_user.role.get_permission("can_create_rooms") && !current_user.has_role?(:super_admin) && !hide_recording_tables %>
|
||||
<% all_rec_page = params[:controller] == "users" && params[:action] == "recordings" ? "active" : "" %>
|
||||
<% all_rec_page = controller_name == "users" && action_name == "recordings" ? "active" : "" %>
|
||||
<%= link_to get_user_recordings_path(current_user), class: "px-3 mx-1 mt-1 header-nav #{all_rec_page}" do %>
|
||||
<i class="fas fa-video pr-1"></i><span class="d-none d-sm-inline-block"><%= t("header.all_recordings") %></span>
|
||||
<% end %>
|
||||
|
|
|
@ -18,6 +18,7 @@
|
|||
<div class="cookies-banner-content py-3">
|
||||
<span class="cookies-warning-text pr-5">
|
||||
<%= t("cookies.cookie_info") %>
|
||||
<%= t("cookies.policy", privacy_link: privpolicy_url).html_safe if privpolicy_url.present? %>
|
||||
</span>
|
||||
<span class="cookies-warning-button d-inline-block">
|
||||
<button id="cookies-agree-button" class="btn customBtn primary-regular"><%= t("cookies.cookie_button") %></button>
|
||||
|
|
|
@ -43,6 +43,19 @@
|
|||
</span>
|
||||
</div>
|
||||
|
||||
<% if moderator_code_allowed? %>
|
||||
<div class="input-icon mb-2">
|
||||
<span onclick="generateModeratorAccessCode()" class="input-icon-addon allow-icon-click cursor-pointer">
|
||||
<i class="fas fa-dice"></i>
|
||||
</span>
|
||||
<%= f.label :moderator_access_code, t("modal.create_room.moderator_access_code_placeholder"), id: "create-room-moderator-access-code", class: "form-control" %>
|
||||
<%= f.hidden_field :moderator_access_code %>
|
||||
<span onclick="ResetModeratorAccessCode()" class="input-icon-addon allow-icon-click cursor-pointer">
|
||||
<i class="far fa-trash-alt"></i>
|
||||
</span>
|
||||
</div>
|
||||
<% end %>
|
||||
|
||||
<% mute = room_configuration("Room Configuration Mute On Join") %>
|
||||
<% if mute != "disabled" %>
|
||||
<label class="custom-switch pl-0 mt-3 mb-3 w-100 text-left d-inline-block <%= "enabled-setting" if mute == "enabled" %>">
|
||||
|
|
|
@ -32,10 +32,14 @@
|
|||
<%= t('mailer.user.invite.username', email: @email) %>
|
||||
</p>
|
||||
|
||||
<p style="margin-bottom:35px;">
|
||||
<p>
|
||||
<%= t('mailer.user.invite.signup_info') %>
|
||||
</p>
|
||||
|
||||
<p style="margin-bottom:35px;">
|
||||
<%= t('mailer.user.invite.valid', date: @date) %>
|
||||
</p>
|
||||
|
||||
<a style="background: <%= @color %>;color: #ffffff; padding: 10px 15px; box-shadow: 0 2px 4px 0 rgba(0,0,0,.25);border: 1px solid transparent;text-decoration:none;" href="<%= @url %>">
|
||||
<%= t('mailer.user.invite.signup_link') %>
|
||||
</a>
|
||||
|
|
|
@ -14,15 +14,15 @@
|
|||
%>
|
||||
|
||||
<div class="list-group list-group-transparent mb-0">
|
||||
<%= link_to edit_user_path, class: "list-group-item list-group-item-action dropdown-item #{"active" if active_page == "edit"}" do %>
|
||||
<%= link_to edit_user_path, class: "list-group-item list-group-item-action dropdown-item #{"active" if action_name == "edit"}" do %>
|
||||
<span class="icon mr-3"><i class="fas fa-user"></i></span><%= t("settings.account.title") %>
|
||||
<% end %>
|
||||
<% if current_user.greenlight_account? %>
|
||||
<%= link_to change_password_path, class: "list-group-item list-group-item-action dropdown-item #{"active" if active_page == "change_password"}" do %>
|
||||
<%= link_to change_password_path, class: "list-group-item list-group-item-action dropdown-item #{"active" if action_name == "change_password"}" do %>
|
||||
<span class="icon mr-3"><i class="fas fa-key"></i></span><%= t("settings.password.title") %>
|
||||
<% end %>
|
||||
<% end %>
|
||||
<%= link_to delete_account_path, class: "list-group-item list-group-item-action dropdown-item #{"active" if active_page == "delete_account"}" do %>
|
||||
<%= link_to delete_account_path, class: "list-group-item list-group-item-action dropdown-item #{"active" if action_name == "delete_account"}" do %>
|
||||
<span class="icon mr-3"><i class="fas fa-trash-alt"></i></span><%= t("settings.delete.title") %>
|
||||
<% end %>
|
||||
</div>
|
|
@ -33,6 +33,11 @@ module Greenlight
|
|||
# Application configuration should go into files in config/initializers
|
||||
# -- all .rb files in that directory are automatically loaded.
|
||||
|
||||
def parse_bool(val, default = false)
|
||||
val = ActiveModel::Type::Boolean.new.cast(val)
|
||||
val.nil? ? default : val
|
||||
end
|
||||
|
||||
# Use custom error routes.
|
||||
config.exceptions_app = routes
|
||||
|
||||
|
@ -87,16 +92,16 @@ module Greenlight
|
|||
config.smtp_sender = ENV['SMTP_SENDER'] || "notifications@example.com"
|
||||
|
||||
# Determine if GreenLight should enable email verification
|
||||
config.enable_email_verification = (ENV['ALLOW_MAIL_NOTIFICATIONS'] == "true")
|
||||
config.enable_email_verification = parse_bool(ENV['ALLOW_MAIL_NOTIFICATIONS'])
|
||||
|
||||
# Determine if GreenLight should allow non-omniauth signup/login.
|
||||
config.allow_user_signup = (ENV['ALLOW_GREENLIGHT_ACCOUNTS'] == "true")
|
||||
config.allow_user_signup = parse_bool(ENV['ALLOW_GREENLIGHT_ACCOUNTS'])
|
||||
|
||||
# Configure custom banner message.
|
||||
config.banner_message = ENV['BANNER_MESSAGE']
|
||||
|
||||
# Enable/disable recording thumbnails.
|
||||
config.recording_thumbnails = (ENV['RECORDING_THUMBNAILS'] != "false")
|
||||
config.recording_thumbnails = parse_bool(ENV['RECORDING_THUMBNAILS'], true)
|
||||
|
||||
# Configure which settings are available to user on room creation/edit after creation
|
||||
config.room_features = ENV['ROOM_FEATURES'] || ""
|
||||
|
@ -111,7 +116,7 @@ module Greenlight
|
|||
config.recaptcha_enabled = ENV['RECAPTCHA_SITE_KEY'].present? && ENV['RECAPTCHA_SECRET_KEY'].present?
|
||||
|
||||
# Show/hide "Add to Google Calendar" button in the room page
|
||||
config.enable_google_calendar_button = (ENV['ENABLE_GOOGLE_CALENDAR_BUTTON'] == "true")
|
||||
config.enable_google_calendar_button = parse_bool(ENV['ENABLE_GOOGLE_CALENDAR_BUTTON'])
|
||||
|
||||
# Enum containing the different possible registration methods
|
||||
config.registration_methods = { open: "0", invite: "1", approval: "2" }
|
||||
|
@ -119,11 +124,11 @@ module Greenlight
|
|||
config.google_analytics = ENV["GOOGLE_ANALYTICS_TRACKING_ID"].present?
|
||||
|
||||
# Will always be true unless explicitly set to false
|
||||
config.enable_cache = ENV["ENABLE_CACHED_PROVIDER"] != "false"
|
||||
config.enable_cache = parse_bool(ENV["ENABLE_CACHED_PROVIDER"], true)
|
||||
|
||||
# MAINTENANCE
|
||||
config.maintenance_window = ENV["MAINTENANCE_WINDOW"]
|
||||
config.maintenance_mode = ENV["MAINTENANCE_MODE"] == "true"
|
||||
config.maintenance_mode = parse_bool(ENV["MAINTENANCE_MODE"])
|
||||
|
||||
config.report_issue_url = ENV["REPORT_ISSUE_URL"]
|
||||
config.help_url = ENV["HELP_URL"].nil? ? "https://docs.bigbluebutton.org/greenlight/gl-overview.html" : ENV["HELP_URL"]
|
||||
|
@ -149,9 +154,10 @@ module Greenlight
|
|||
config.primary_color_darken_default = "#316cbe"
|
||||
|
||||
# Default registration method if the user does not specify one
|
||||
config.registration_method_default = if ENV["DEFAULT_REGISTRATION"] == "invite"
|
||||
config.registration_method_default = case ENV["DEFAULT_REGISTRATION"]
|
||||
when "invite"
|
||||
config.registration_methods[:invite]
|
||||
elsif ENV["DEFAULT_REGISTRATION"] == "approval"
|
||||
when "approval"
|
||||
config.registration_methods[:approval]
|
||||
else
|
||||
config.registration_methods[:open]
|
||||
|
@ -169,6 +175,9 @@ module Greenlight
|
|||
# Don't allow users to preupload presentations by default
|
||||
config.preupload_presentation_default = "false"
|
||||
|
||||
# Don't show option to generate moderator access codes
|
||||
config.moderator_codes_default = "disabled"
|
||||
|
||||
# Default admin password
|
||||
config.admin_password_default = ENV['ADMIN_PASSWORD'] || 'administrator'
|
||||
end
|
||||
|
|
|
@ -107,6 +107,9 @@ Rails.application.configure do
|
|||
}
|
||||
end
|
||||
|
||||
# enable SMTPS: SMTP over direct TLS connection
|
||||
ActionMailer::Base.smtp_settings[:tls] = true if ENV['SMTP_TLS'].present? && ENV['SMTP_TLS'] != "false"
|
||||
|
||||
# If configured to 'none' don't check the smtp servers certificate
|
||||
ActionMailer::Base.smtp_settings[:openssl_verify_mode] =
|
||||
ENV['SMTP_OPENSSL_VERIFY_MODE'] if ENV['SMTP_OPENSSL_VERIFY_MODE'].present?
|
||||
|
@ -119,13 +122,12 @@ Rails.application.configure do
|
|||
# config.active_job.queue_name_prefix = "greenlight-2_0_#{Rails.env}"
|
||||
config.action_mailer.perform_caching = false
|
||||
|
||||
# Ignore bad email addresses and do not raise email delivery errors.
|
||||
# Set this to true and configure the email server for immediate delivery to raise delivery errors.
|
||||
# config.action_mailer.raise_delivery_errors = false
|
||||
|
||||
# Send deprecation notices to registered listeners.
|
||||
config.active_support.deprecation = :notify
|
||||
|
||||
# Specify the log level
|
||||
config.log_level = ENV["RAILS_LOG_LEVEL"].present? ? ENV['RAILS_LOG_LEVEL'].to_sym : :info
|
||||
|
||||
# Use Lograge for logging
|
||||
config.lograge.enabled = true
|
||||
|
||||
|
@ -142,13 +144,11 @@ Rails.application.configure do
|
|||
"#{time} - #{severity}: #{msg} \n"
|
||||
end
|
||||
|
||||
config.log_level = :info
|
||||
|
||||
# Prepend all log lines with the following tags.
|
||||
config.log_tags = [:request_id]
|
||||
config.log_tags = [:request_id, :remote_ip]
|
||||
|
||||
if ENV["RAILS_LOG_TO_STDOUT"] == "true"
|
||||
logger = ActiveSupport::Logger.new(STDOUT)
|
||||
logger = ActiveSupport::Logger.new($stdout)
|
||||
logger.formatter = config.log_formatter
|
||||
config.logger = ActiveSupport::TaggedLogging.new(logger)
|
||||
elsif ENV["RAILS_LOG_REMOTE_NAME"] && ENV["RAILS_LOG_REMOTE_PORT"]
|
||||
|
|
|
@ -175,6 +175,9 @@ ar:
|
|||
info: يمنح جميع المستخدمين امتيازات المشرف في BigBlueButton عند انضمامهم إلى الاجتماع.
|
||||
recordings:
|
||||
info: يسمح لمالكي الغرفة بتحديد ما إذا كانوا يريدون خيار تسجيل غرفة أم لا. في حالة التمكين ، لا يزال يتعين على المشرف النقر على الزر "تسجيل" بمجرد بدء الاجتماع.
|
||||
moderator_codes:
|
||||
info: يسمح لمالكي الغرفة بإنشاء رمز وسيط اختياري يسمح للمستخدمين الآخرين بالانضمام مباشرة كمشرفين.
|
||||
title: رمز دخول المشرف
|
||||
options:
|
||||
disabled: معطل
|
||||
enabled: ممكّن دائمًا
|
||||
|
@ -226,6 +229,7 @@ ar:
|
|||
cookies:
|
||||
cookie_info: ملفات تعريف الارتباط تساعدنا على تقديم خدماتنا. باستخدام خدماتنا ، أنت توافق على استخدامنا لملفات تعريف الارتباط.
|
||||
cookie_button: أنا موافق
|
||||
policy: "لمزيد من المعلومات ، راجع موقعنا<a href=\"%{privact_link}\"><u> سياسة خاصة.<u></a>"
|
||||
copied: تم النسخ
|
||||
copy: نسخ
|
||||
date:
|
||||
|
@ -349,9 +353,10 @@ ar:
|
|||
root_link: تسجيل الدخول
|
||||
subtitle: "%{role} الحقوق الملغاة"
|
||||
invite:
|
||||
info: "لقد تمت دعوتك إلى الفضاء الشخصي الخاص بك بواسطة %{name}"
|
||||
info: "لقد تمت دعوتك إلى فضائك الشخصي بواسطة %{name}"
|
||||
signup_info: للاشتراك باستخدام بريدك الإلكتروني، انقر على الزر أدناه واتبع الخطوات.
|
||||
signup_link: التسجيل
|
||||
valid: "الدعوة صالحة حتى: %{date}"
|
||||
signup:
|
||||
info: المستخدم المدعو قام بتسجيل الدخول لاستخدام Greenlight.
|
||||
admins_link: زيارة صفحة المؤسسة
|
||||
|
@ -372,7 +377,7 @@ ar:
|
|||
more-info: "لاستعراض مؤهلاتك الجديدة، يرجى زيارة %{url}."
|
||||
subtitle: "%{role} الحقوق الممنوحة"
|
||||
verify_email:
|
||||
welcome: "مرحبا بكم في الفضاء الشخصي الخاص بك، ٪{name}!"
|
||||
welcome: "مرحبا بكم في فضاءك الشخصي ، %{name}"
|
||||
success: "الاستفادة من %{bigbluebutton}، يمكنك إنشاء غرف خاصة بك لاستضافة الجلسات والتعاون مع الآخرين."
|
||||
username: "اسم المستخدم الخاص بك هو %{email}."
|
||||
verify: للتحقق من حسابك ، أنقر على الزر أدناه.
|
||||
|
@ -390,7 +395,9 @@ ar:
|
|||
title: "إنشاء دور جديد "
|
||||
create_room:
|
||||
access_code: رمز الوصول
|
||||
moderator_access_code: رمز المشرف
|
||||
access_code_placeholder: إنشاء رمز وصول اختياري للغرفة
|
||||
moderator_access_code_placeholder: قم بإنشاء رمز اختياري للمشرفين
|
||||
auto_join: الانضمام التلقائي إلى الغرفة
|
||||
create: إنشاء غرفة
|
||||
free_delete: سيكون لك مطلق الحرية في حذف هذه الغرفة في أي وقت.
|
||||
|
@ -538,11 +545,13 @@ ar:
|
|||
banned: محظور
|
||||
deleted: محذوف
|
||||
pending: معلق
|
||||
invited: مدعو
|
||||
user: مستخدم
|
||||
room:
|
||||
access_code_required: الرجاء إدخال رمز وصول ساري المفعول للانضمام إلى الغرفة
|
||||
add_presentation: أضف العرض التقديمي
|
||||
copy_access: نسخ رمز الوصول
|
||||
copy_moderator_access: نسخ رمز المشرف
|
||||
create_room: إنشاء غرفة
|
||||
create_room_error: حدث خطأ أثناء إنشاء الغرفة
|
||||
create_room_success: تم إنشاء الغرفة بنجاح
|
||||
|
@ -551,6 +560,8 @@ ar:
|
|||
success: تم حذف الغرفة بنجاح
|
||||
fail: "فشل في حذف الغرفة (%{error})"
|
||||
enter_the_access_code: أدخل رمز الوصول لهذه الغرفة
|
||||
enter_the_moderator_access_code: أدخل رمز مشرف الغرفة!
|
||||
optional_moderator_access_code: "رمز الوسيط الاختياري:"
|
||||
invalid_provider: لقد أدخلت رابطًا غير صالح. يرجى التحقق من عنوان URL والمحاولة مرة أخرى.
|
||||
invitation_description: "لقد تمت دعوتك للانضمام إلى %{name} باستخدام BigBlueButton. للانضمام ، انقر فوق الارتباط أعلاه وأدخل اسمك."
|
||||
invited: لقد تمت دعوتك للانضمام
|
||||
|
|
|
@ -32,13 +32,13 @@ ca:
|
|||
administrator:
|
||||
site_settings:
|
||||
authentication:
|
||||
disabled: Deshabilitada
|
||||
disabled: Inhabilitada
|
||||
enabled: Habilitada
|
||||
info: Permetre només a usuaris autenticats unir-se a una sala
|
||||
title: Requerir autenticació per a utilitzar les sales
|
||||
user-info: Cal registrar-se a la part superior pare a accedir a aquesta sala
|
||||
user-info: Cal registrar-se a la part superior per a accedir a aquesta sala
|
||||
branding:
|
||||
change: Canviar imatge
|
||||
change: Canvia la imatge
|
||||
info: Canviar la imatge personalitzada que es mostra a la cantonada superior esquerra
|
||||
placeholder: Enllaç de la imatge...
|
||||
title: Imatge personalitzada
|
||||
|
@ -57,102 +57,109 @@ ca:
|
|||
invalid: Enllaç no vàlid
|
||||
cache:
|
||||
info: "Neteja la memòria cau de proveïdors emmagatzemats, el que força una petició de la informació actualitzada"
|
||||
title: Netejar memòria cau de proveïdor
|
||||
button: Netejar memòria cau
|
||||
title: Neteja memòria cau de proveïdor
|
||||
button: Neteja memòria cau
|
||||
clear_auth:
|
||||
info: "Esborra l'autenticador actual pels usuaris, permetent-els tornar a iniciar sessió amb un mètode d'autenticació diferent"
|
||||
title: Netejar l'autenticador actual
|
||||
button: Netejar autenticació
|
||||
title: Neteja l'autenticador actual
|
||||
button: Neteja l'autenticació
|
||||
color:
|
||||
info: Netejar el color regular cambiarà tant el color clar como el fosc. Els valors d'Aclarir i Enfosquir es poden canviar individualment
|
||||
info: Netejar el color normal canviarà tant el color clar com el fosc. Els valors clar i fosc es poden canviar individualment
|
||||
title: Color principal
|
||||
regular: Regular
|
||||
lighten: Aclarir
|
||||
darken: Enfosquir
|
||||
regular: Normal
|
||||
lighten: Clar
|
||||
darken: Fosc
|
||||
email_mapping:
|
||||
info: "Indica com han d'acabar les adreces de correu que vulguis donar-lis un rol pre-existent, amb aquesta sintaxi: @elmeudomini.com=Nom de rol,@unaltredomini.org=Un altre rol"
|
||||
title: Rols per defecte per a certes adreces de correu (o dominis de correu) d'usuaris que es registrin
|
||||
update:
|
||||
log_level:
|
||||
title: Nivell de registre
|
||||
information: Canviar el nivell de registre per a toda la implementació
|
||||
debug: Depurar
|
||||
information: Canvia el nivell de registre per a toda la implementació
|
||||
debug: Depuració
|
||||
info: Informació
|
||||
warn: Advertència
|
||||
error: Error
|
||||
fatal: Fatal
|
||||
unknown: Desconegut
|
||||
recording_visibility:
|
||||
info: Establir la visibilitat per defecte de les noves gravacions
|
||||
title: Visibilitat per defecte de gravacions
|
||||
warning: Aquesta configuració només serà aplicada a les noves sessiones
|
||||
info: Estableix la visibilitat predeterminada dels nous enregistraments
|
||||
title: Visibilitat per defecte dels enregistraments
|
||||
warning: Aquesta configuració només s'aplicarà a les sales que no s'està executant
|
||||
require_consent:
|
||||
info: "Aquesta configuració habilita una configuració de sala, que permet als propietaris de sales especificar quines sales poden ser gravades. Els usuaris que accedeixen a una sala amb gravació han de donar el seu consentiment abans d'unir-se."
|
||||
title: Requerir el consentiment del propietari de la sala i la persona que accedeix per a realitzar la gravació
|
||||
info: "Aquesta configuració habilita una configuració de sala, que permet als propietaris de sales especificar quines sales poden ser enregistrades. Els usuaris que accedeixen a una sala amb enregistrament han de donar el seu consentiment abans d'unir-s'hi."
|
||||
title: Requereix el consentiment del propietari de la sala i la persona que accedeix per a realitzar l'enregistrament
|
||||
maintenance_banner:
|
||||
info: Mostra un banner per a informar a l'usuari d'un manteniment programat
|
||||
title: Banner de manteniment
|
||||
info: Mostra un bàner per a informar a l'usuari d'un manteniment programat
|
||||
title: Bàner de manteniment
|
||||
display: Estableix
|
||||
clear: Neteja
|
||||
time: "Exemple: actualització programada pel 13 de desembre a las 23:00h. Els usuaris poden experimentar problemes per a iniciar sessió."
|
||||
time: "Exemple: actualització programada pel 13 de desembre a les 23:00h. Els usuaris poden experimentar problemes per a iniciar sessió."
|
||||
preupload:
|
||||
info: Els usuaris poden carregar prèviament una presentació per a utilitzar-la com a presentació predeterminada per a aquesta sala específica
|
||||
title: Permetre als usuaris carregar prèviament presentacions
|
||||
title: Permet als usuaris carregar prèviament presentacions
|
||||
registration:
|
||||
info: Canviar la forma de registre d'usuaris
|
||||
info: Canvia la forma de registre d'usuaris
|
||||
title: Mètode de registre
|
||||
methods:
|
||||
approval: Autoritzar/Denegar
|
||||
approval: Autoritza o denega
|
||||
invite: Registre per invitació
|
||||
open: Registre obert
|
||||
rooms:
|
||||
info: Estableix el límit de sales que un usuari pot tenir (incloent la sala principal). Aquesta configuració no s'aplica als administradors.
|
||||
title: Número de sales per usuari
|
||||
shared_access:
|
||||
info: "Si s'estableix en deshabilitat, s'eliminarà el botó del menú desplegable d'opcions de sala, el que evitarà que els usuaris comparteixin sales"
|
||||
title: Permetre els usuaris compartir sales
|
||||
subtitle: Personalitzar Greenlight
|
||||
info: "Si s'estableix en inhabilitat, s'eliminarà el botó del menú desplegable d'opcions de sala, el que evitarà que els usuaris comparteixin sales"
|
||||
title: Permet que els usuaris comparteixin sales
|
||||
subtitle: Personalitza Greenlight
|
||||
tabs:
|
||||
appearance: Apariència
|
||||
administration: Administració
|
||||
registration: Registrar-se
|
||||
settings: Configuració
|
||||
title: Configuració del lloc web
|
||||
flash:
|
||||
approved: L'usuari ha estat autoritzat
|
||||
banned: L'usuari ha estat bloquejat.
|
||||
unbanned: L'usuari ha estat desbloquejat.
|
||||
delete: L'usuari ha estat eliminat.
|
||||
delete_fail: L'usuari no s'ha pogut eliminar.
|
||||
demoted: L'usuari ha estat degradat.
|
||||
invite: "Invitació enviada correctament a %{email}"
|
||||
invite_email_verification: "L'enviament de correus electrònics ha d'estar habilitat per a poder fer ús d'aquest mètode de registre. Si us plau, contacta amb l'administrador del sistema."
|
||||
merge_fail: S'ha produït un problema al fusionar els comptes d'usuari. Comprova els usuaris seleccionats i torna a provar-ho
|
||||
approved: S'ha autoritzat l'usuari correctament.
|
||||
banned: S'ha blocat l'usuari correctament.
|
||||
unbanned: S'ha desblocat l'usuari correctament.
|
||||
delete: S'ha eliminat l'usuari correctament.
|
||||
delete_fail: No s'ha pogut eliminar l'usuari.
|
||||
demoted: S'ha degradat l'usuari correctament.
|
||||
invite: "La Invitació s'ha enviat correctament a %{email}"
|
||||
invite_email_verification: L'enviament de correus electrònics ha d'estar habilitat per a poder fer ús d'aquest mètode de registre. Contacteu amb l'administrador del sistema.
|
||||
merge_fail: S'ha produït un problema en fusionar els comptes d'usuari. Comproveu els usuaris seleccionats i torneu a provar-ho
|
||||
merge_success: Els comptes d'usuari s'han fusionat correctament
|
||||
perm_deleted: L'usuari ha estat eliminat permanentement
|
||||
perm_deleted: S'ha eliminat l'usuari permanentment
|
||||
promoted: L'usuari ha estat promogut.
|
||||
registration_method_updated: Mètode de registre actualitzat
|
||||
reset_password: S'ha enviat a l'usuari un missatge de correu per a recuperar la contrasenya. (Demana-li revisar la carpeta de correu brossa si no l'ha rebut)
|
||||
restored: L'usuari ha estat recuperat amb èxit
|
||||
reset_password: S'ha enviat a l'usuari un missatge de correu per a recuperar la contrasenya. (Demaneu-li revisar la carpeta de correu brossa si no l'ha rebut)
|
||||
restored: S'ha recuperat l'usuari amb èxit
|
||||
room_configuration: La configuració de la sala s'ha modificat correctament
|
||||
settings: La configuració de sistema ha estat actualitzada
|
||||
unauthorized: No està autoritzat per a executar operacions sobre aquest usuari.
|
||||
settings: S'ha actualitzat la configuració de sistema correctament
|
||||
unauthorized: No esteu autoritzat per a executar operacions sobre aquest usuari.
|
||||
recordings:
|
||||
title: Gravacions
|
||||
no_recordings: Aquest servidor no te gravacions.
|
||||
latest: Darrers enregistraments
|
||||
title: Servidor d'enregistraments
|
||||
no_recordings: Aquest servidor no té cap enregistrament.
|
||||
search_info: "Escriviu l'adreça de correu completa d'un usuari o el UID d'una sala (ex.: cao-k2t-xhf)"
|
||||
roles:
|
||||
appear_in_share_list: Aquest servidor no te gravacions
|
||||
appear_in_share_list: Inclou els usuaris amb aquest rol en el desplegable per a compartir sales
|
||||
can_create_rooms: Pot crear sales
|
||||
delete: Eliminar rol
|
||||
invalid_create: Ha hagut un error al crear el nou rol. Verifica els valors assignats i torna a intentar-ho
|
||||
invalid_order: Ha hagut un error a l'actualitzar la prioritat del rol. Verifica els valors assignats i torna a intentar-ho
|
||||
invalid_update: Ha hagut un error a l'actualitzar els permissos del rol. Verifica els valors assignats i torna a intentar-ho
|
||||
manage_rooms_recordings: Permetre que els usuaris amb aquest rol administrin servidors de sala i gravacions
|
||||
delete: Elimina el rol
|
||||
invalid_create: S'ha produït un error en crear el nou rol. Verifiqueu els valors assignats i torneu a intentar-ho
|
||||
invalid_order: S'ha produït un error en actualitzar la prioritat del rol. Verifiqueu els valors assignats i torneu a intentar-ho
|
||||
invalid_update: S'ha produït un error en actualitzar els permisos del rol. Verifiqueu els valors assignats i torneu a intentar-ho
|
||||
manage_rooms_recordings: Permet que els usuaris amb aquest rol administrin servidors de sala i enregistraments
|
||||
name: Nom del rol
|
||||
new_role: Crea un nou rol
|
||||
role_has_users: "Aquest rol es troba assignado a %{user_count} comptes d'usuari. Cal esborrar tots els comptes associats a aquest rol abans d'eliminar-lo."
|
||||
role_has_users: "Aquest rol es troba assignat a %{user_count} comptes d'usuari. Cal esborrar tots els comptes associats a aquest rol abans d'eliminar-lo."
|
||||
title: Rols
|
||||
promote_email: Enviar un missatge als usuaris als que s'hagi assignat aquest rol
|
||||
demote_email: Enviar un missatge als usuaris als que s'hagi eliminat aquest rol
|
||||
edit_site_settings: Permetre als usuaris amb aquest rol editar configuracions
|
||||
edit_roles: Permetre als usuaris amb aquest rol editar altres rols
|
||||
manage_users: Permetre als usuaris amb aquest rol gestionar altres usuaris
|
||||
invalid_assignment: Ha hagut un error a l'assignar el rol o els rols a l'usuari. Verifica els valors assignats i torna a provar
|
||||
promote_email: Envia un missatge als usuaris a qui s'hagi assignat aquest rol
|
||||
demote_email: Envia un missatge als usuaris a qui s'hagi eliminat aquest rol
|
||||
edit_site_settings: Permet als usuaris amb aquest rol editar configuracions
|
||||
edit_roles: Permet als usuaris amb aquest rol editar altres rols
|
||||
manage_users: Permet als usuaris amb aquest rol gestionar altres usuaris
|
||||
invalid_assignment: S'ha produït un error en assignar el rol o els rols a l'usuari. Verifiqueu els valors assignats i torneu a provar
|
||||
colour:
|
||||
title: Color del rol
|
||||
info: Defineix el color que s'associarà al rol
|
||||
|
@ -165,11 +172,11 @@ ca:
|
|||
allow_any:
|
||||
info: "Permet a qualsevol usuari iniciar la reunió en qualsevol moment. De forma predeterminada, només el propietari de la sala pot iniciar la reunió."
|
||||
all_moderator:
|
||||
info: Otorga a tots els usuaris els privilegis d'usuari moderador a BigBlueButton quan s'uneixen a la reunió.
|
||||
info: Atorga a tots els usuaris els privilegis d'usuari moderador a BigBlueButton quan s'uneixen a la reunió.
|
||||
recordings:
|
||||
info: "Permet als propietaris de sales especificar si desitgen l'opció de gravar una sala o no. Si está habilitada, el moderador encara ha de fer hacer clic al botó \"Grava\" una vegada hagi començat la reunió."
|
||||
info: "Permet als propietaris de sales especificar si desitgen l'opció d'enregistrar una sala o no. Si està habilitada, el moderador encara ha de fer clic en el botó «Enregsitra» una vegada hagi començat la reunió."
|
||||
options:
|
||||
disabled: Deshabilitada
|
||||
disabled: Inhabilitada
|
||||
enabled: Sempre habilitada
|
||||
optional: Opcional
|
||||
rooms:
|
||||
|
@ -183,67 +190,67 @@ ca:
|
|||
running: En funcionamient
|
||||
started: "Iniciada: %{session}"
|
||||
status: Estat
|
||||
view: Mostrar
|
||||
view: Mostra
|
||||
title: Configuració de l'organització
|
||||
users:
|
||||
invite: Convidar usuari
|
||||
invite: Convida un usuari
|
||||
edit:
|
||||
title: Editar detalls d'usuari
|
||||
title: Edita detalls de l'usuari
|
||||
settings:
|
||||
approve: Autoritzar
|
||||
decline: Denegar
|
||||
ban: Bloquejar usuari
|
||||
delete: Eliminar
|
||||
edit: Editar
|
||||
edit_roles: Editar els rols d'usuari
|
||||
merge: Fusionar
|
||||
perm_delete: Eliminar permanentment
|
||||
unban: Desbloquejar usuari
|
||||
undelete: Recuperar
|
||||
approve: Autoritza
|
||||
decline: Denega
|
||||
ban: Bloca l'usuari
|
||||
delete: Elimina
|
||||
edit: Edita
|
||||
edit_roles: Edita els rols d'usuari
|
||||
merge: Fusiona
|
||||
perm_delete: Elimina permanentment
|
||||
unban: Desbloca l'usuari
|
||||
undelete: Recupera
|
||||
table:
|
||||
authenticator: Verificador
|
||||
created: Creat
|
||||
time: Temps enviat
|
||||
name: Nom
|
||||
not_found: No s'han trobat usuaris amb aquest criteri
|
||||
no_users: No s'han trobat usuaris
|
||||
not_found: No s'ha trobat cap usuari amb aquest criteri
|
||||
no_users: No s'ha trobat cap usuari
|
||||
role: Rol
|
||||
uid: Identificador d'usuari
|
||||
username: Nom d'usuari
|
||||
valid: Valid
|
||||
title: Administrar usuaris
|
||||
add_to_google_calendar: "Afegir al Calendari de Google"
|
||||
valid: Vàlid
|
||||
title: Administrar els usuaris
|
||||
add_to_google_calendar: "Afegeix al Calendari de Google"
|
||||
bigbluebutton: BigBlueButton
|
||||
bigbluebutton_exception: Os pedrer! Ha hagut un error a l'iniciar la sessió.
|
||||
cancel: Cancel·lar
|
||||
bigbluebutton_exception: Os pedrer! S'ha produït un error en iniciar la sessió.
|
||||
cancel: Cancel·la
|
||||
cookies:
|
||||
cookie_info: "Les cookies (galetes) ens ajuden a proveir els nostres serveis. En utilitzar els nostres serveis, aceptes la nostra utlització de les cookies."
|
||||
cookie_info: "Les galetes ens ajuden a proveir els nostres serveis. En utilitzar els nostres serveis, accepteu l'ús que fem de les galetes."
|
||||
cookie_button: Accepto
|
||||
copied: Copiada
|
||||
copy: Copiar
|
||||
copied: S'ha copiat
|
||||
copy: Copia
|
||||
date:
|
||||
month_names: [~, Gener, Febrer, Març, Abril, Maig, Juny, Juliol, Agost, Setembre, Octubre, Novembre, Decembre]
|
||||
default_admin: "Estàs utilitzant la contrasenya per defecte per aquest compte d'usuari. Fes clic <a href=\"%{edit_link}\">aquí</a> per a canviar-la"
|
||||
delete: Eliminar
|
||||
delivery_error: "Ha hagut un error durant l'enviament de correu electrònic. Si us plau, contacta amb un administrador."
|
||||
month_names: [~, Gener, Febrer, Març, Abril, Maig, Juny, Juliol, Agost, Setembre, Octubre, Novembre, Desembre]
|
||||
default_admin: "Esteu utilitzant la contrasenya per defecte d'aquest compte d'usuari. Feu clic <a href=\"%{edit_link}\">aquí</a> per a canviar-la"
|
||||
delete: Elimina
|
||||
delivery_error: S'ha produït un error durant l'enviament de correu electrònic. Contacteu amb un administrador.
|
||||
docs: Documentació
|
||||
email: Compte de correu
|
||||
email_sent: "El seu %{email_type} correu electrònic ha estat enviat. (Revisa la teva carpeta de correu brossa si no l'has rebut)"
|
||||
enter_your_name: Introdueix el teu nom
|
||||
email_sent: "S'ha enviat el vostre %{email_type} correu electrònic. (Reviseu la carpeta de correu brossa si no l'heu rebut)"
|
||||
enter_your_name: Indiqueu el vostre nom!
|
||||
errors:
|
||||
bigbluebutton:
|
||||
help: "Assegura't de que has seguit els passos correctament. <a href=\"%{doc_link}\">Més informació</a>"
|
||||
message: La URL o clau secreta del servidor BigBlueButton no són vàlids
|
||||
help: "Assegureu-vos que heu seguit els passos correctament. <a href=\"%{doc_link}\">Més informació</a>"
|
||||
message: L'URL o clau secreta del servidor BigBlueButton no són vàlids
|
||||
title: Error del servidor
|
||||
internal:
|
||||
message: Sembla que alguna cosa ha fallat del nostre costat.
|
||||
help: "L'error ha estat registrat, el revisarem en breu."
|
||||
report: Reportar problema
|
||||
help: "S'ha enregistrat l'error, el revisarem aviat."
|
||||
report: Reporta un problema
|
||||
maintenance:
|
||||
message: El sistema es troba en manteniment.
|
||||
help: Tornarem aviat.
|
||||
help: Tornarem aviat!
|
||||
migration_error:
|
||||
contact_admin: "Si no ets administrador, si us plau, contacta amb un d'ells."
|
||||
contact_admin: "Si no sou administrador, contacteu amb un d'ells."
|
||||
continue: M'agradaria continuar utilitzant la versió 1.0
|
||||
notice: >
|
||||
Greenlight ha trobat un error al migrar la base de dades. <br>Això pot estar provocat perquè no ha actualitzat Greenlight a la versió 2.0
|
||||
|
@ -254,236 +261,237 @@ ca:
|
|||
too_short: és massa curta
|
||||
invalid: es invàlida
|
||||
taken: ja existeix
|
||||
accepted: ha de ser aceptat
|
||||
accepted: ha de ser acceptat
|
||||
confirmation: "no coincideix %{attribute}"
|
||||
inclusion: no està inclòs a la lista
|
||||
no_provider:
|
||||
message: El lloc al que està intentant accedir no es troba actiu
|
||||
help: "Si us plau, contacta amb l'administrador del sistema per a configurar Greenlight"
|
||||
help: Contacteu amb l'administrador del sistema per a configurar Greenlight
|
||||
not_found:
|
||||
message: "Ens sap greu, la pàgina que estàs buscant no existe."
|
||||
help: "¿És possible que hagi estat eliminada?"
|
||||
message: "Ens sap greu, la pàgina que esteu cercant no existeix."
|
||||
help: "És possible que s'hagi eliminat?"
|
||||
user_not_found:
|
||||
help: "Si us plau, contacta amb l'administrador."
|
||||
help: Contacteu amb l'administrador.
|
||||
message: "Ens sap greu, aquest usuari no està registrat."
|
||||
user_missing:
|
||||
help: "Si us plau, verifica l'enllaç i torna a provar."
|
||||
help: Verifiqueu l'enllaç i torneu a provar.
|
||||
message: L'enllaç que introduït no és vàlid.
|
||||
title: Errors
|
||||
unauthorized:
|
||||
message: No te accés a aquesta aplicació
|
||||
help: "Si creus que és un error, si us plau, contacta amb l'administrador del sistema."
|
||||
message: No té accés a aquesta aplicació
|
||||
help: "Si penseu que és un error, contacteu amb l'administrador del sistema."
|
||||
expired_reset_token: L'enllaç per a recuperar la contrasenya ha caducat.
|
||||
features:
|
||||
title: Funcions
|
||||
rooms: Sales personalitzades
|
||||
recordings: Administració de gravacions
|
||||
recordings: Administració d'enregistraments
|
||||
designs: Diseny personalitzat
|
||||
authentication: Autenticació d'usuari
|
||||
footer:
|
||||
legal: Termes legales
|
||||
legal: Termes legals
|
||||
privpolicy: Política de privacitat
|
||||
powered_by: "Funciona amb %{href}"
|
||||
forgot_password:
|
||||
subtitle: He oblidat la contrasenya
|
||||
email: Compte de correu
|
||||
submit: Enviar
|
||||
go_back: Enrera
|
||||
submit: Envia
|
||||
go_back: Enrere
|
||||
greenlight: Greenlight
|
||||
header:
|
||||
all_recordings: Totes les gravacions
|
||||
all_recordings: Tots els enregistraments
|
||||
dropdown:
|
||||
account_settings: Organització
|
||||
help: "Necessites ajuda?"
|
||||
help: "Us cal ajuda?"
|
||||
home: Inici
|
||||
settings: Perfil d'usuari
|
||||
signout: Sortir
|
||||
signout: Surt
|
||||
home_room: Sala principal
|
||||
info_update_success: Informació actualitzada amb èxit.
|
||||
invalid_credentials: El correu electrònic i contrasenya introduïts no coincideixen amb els registres. Inténtelo de nou o haga clic en recuperar contrasenya.
|
||||
invalid_login_method: L'inici de sessió ha fallat per la falta de coincidència de compte. Necessites iniciar sessió amb un dels proveïdors.
|
||||
invite_message: "Per a convidar a algú a la sessió, envia-li aquest enllaç:"
|
||||
invalid_credentials: El correu electrònic i contrasenya introduïts no coincideixen amb els registres. Torneu a intentar o feu clic a «Recupera la contrasenya».
|
||||
invalid_login_method: L'inici de sessió ha fallat per la falta de coincidència de compte. Cal que inicieu sessió amb un dels proveïdors.
|
||||
invite_message: "Per a convidar a algú a la sessió, enveu-li aquest enllaç:"
|
||||
javascript:
|
||||
room:
|
||||
mailer:
|
||||
subject: 'convidat a veure una gravació.'
|
||||
body: 'Fes clic a enllaç per a veure la gravació:'
|
||||
autogenerated: 'Aquest correu electrònic s ha generat automàticament per BigBlueButton'
|
||||
footer: 'BigBlueButton és un sistema open source, basat en web, per a videoconferència. Per a més informació, visita https://bigbluebutton.org/.'
|
||||
subject: 'us ha convidat a veure un enregistrament.'
|
||||
body: 'Feu clic a enllaç per a veure l''enregistrament:'
|
||||
autogenerated: 'Aquest correu electrònic s''ha generat automàticament per BigBlueButton'
|
||||
footer: 'BigBlueButton és un sistema de codi obert, basat en web, per a videoconferència. Per a més informació, visiteu https://bigbluebutton.org/.'
|
||||
search:
|
||||
start: Començar la cerca...
|
||||
start: Comença la cerca...
|
||||
landing:
|
||||
about: "%{href} és una interfície web per al teu servidor de conferències de codi obert BigBlueButton. Pots crear les teves pròpies sales per a ser anfitrió de sessions o unir-te a altres utilitzant un enllaç curt adequat."
|
||||
about: "%{href} és una interfície web per al vostre servidor de conferències de codi obert BigBlueButton. Podeu crear les vostres pròpies sales per a ser amfitrió de sessions o unir-vos a altres utilitzant un enllaç curt adequat."
|
||||
welcome: Benvingut a <span class="green-grad">Greenlight</span>.
|
||||
video: Mira el nostre tutorial sobre com utilizar Greenlight
|
||||
video: Mireu el nostre tutorial sobre com utilitzar Greenlight
|
||||
upgrade: Mostra'm com actualitzar a la versió 2.0
|
||||
version: "Hem publicat una nova versió de Greenlight, però la teva base de dades no és compatible."
|
||||
language_default: Per omissió (idioma del navegador)
|
||||
ldap_error: No es pot connectar al servidor LDAP. Comprova la configuració de LDAP a l'arxiu "env" i assegurat de que el teu servidor s'està executant.
|
||||
login: Iniciar sessió
|
||||
login_title: Iniciar sessió al teu compte
|
||||
version: "Hem publicat una nova versió de Greenlight, però la vostra base de dades no és compatible."
|
||||
language_default: Per omissió (llengua del navegador)
|
||||
ldap_error: No es pot connectar al servidor LDAP. Comproveu la configuració de LDAP en el fitxer «env» i assegureu-vos que el vostre servidor s'està executant.
|
||||
login: Inicia sessió
|
||||
login_title: Inicieu sessió al vostre compte
|
||||
mailer:
|
||||
user:
|
||||
approve:
|
||||
info: El teu compte ha estat autoritzat.
|
||||
signin: "Per accedir a les teves sales personals, fes clic al botó inferior i inicia sessió."
|
||||
signin_link: Iniciar sessió
|
||||
info: El vostre compte ha estat autoritzat.
|
||||
signin: "Per a accedir a les vostres sales personals, feu clic al botó inferior i inicieu sessió."
|
||||
signin_link: Inicia sessió
|
||||
signup:
|
||||
info: S'ha registrat un nou usuari.
|
||||
more-info: Per a permetre l'accés d'aquest usuari has d'aprovar el seu compte d'usuari a través de la configuració de l'organització.
|
||||
admins_link: Anar a la pàgina de l'organització
|
||||
subject: Registre d'usuari nou
|
||||
info: S'ha enregistrat un nou usuari.
|
||||
more-info: Per a permetre l'accés d'aquest usuari heu d'aprovar-ne el compte d'usuari a través de la configuració de l'organització.
|
||||
admins_link: Vés a la pàgina de l'organització
|
||||
subject: Registre d'usuari Greenlight nou
|
||||
username: "L'usuari s'ha registrat com a %{name} amb el correu electrònic %{email}."
|
||||
subject: Compte d'usuari autoritzat
|
||||
username: "El teu nom d'usuari és %{email}."
|
||||
username: "El vostre nom d'usuari és %{email}."
|
||||
demoted:
|
||||
info: "Ja no ets %{role} a %{url}."
|
||||
more-info: Des d'aquest moment tens els mateixos privilegis que un usuari regular.
|
||||
root_link: Iniciar sessió
|
||||
info: "Ja no sou %{role} a %{url}."
|
||||
more-info: Des d'aquest moment teniu els mateixos privilegis que un usuari normal.
|
||||
root_link: Inicia sessió
|
||||
subtitle: "Permís de %{role} eliminat"
|
||||
invite:
|
||||
info: "Has estat convidat a tenir el teu espai personal amb %{name}"
|
||||
signup_info: "Per a registrar-te utilizant el teu compte de correu, fes clic al botó inferior i segueix els passos indicats."
|
||||
signup_link: Registrar-se
|
||||
info: "Heu estat convidat a tenir el vostre espai personal amb %{name}"
|
||||
signup_info: "Per a registrar-vos utilizant el vostre compte de correu, feu clic al botó inferior i seguiu els passos indicats."
|
||||
signup_link: Registre
|
||||
signup:
|
||||
info: Un usuari que va ser convidat a registrar-se ha completat el seu registre.
|
||||
admins_link: Anar a la pàgina de l'organització
|
||||
subject: Registre d'usuari nou
|
||||
username: "L'usuari s'ha registrado com a %{name} amb el correu electrònic %{email}. "
|
||||
admins_link: Vés a la pàgina de l'organització
|
||||
subject: Registre d'usuari Greenlight nou
|
||||
username: "L'usuari s'ha registrat com a %{name} amb el correu electrònic %{email}. "
|
||||
subject: Invitació per a unir-se a BigBlueButton
|
||||
username: "El teu nom d'usuari és %{email}."
|
||||
username: "El vostre nom d'usuari és %{email}."
|
||||
password_reset:
|
||||
title: 'La contrasenya ha estat reiniciada'
|
||||
welcome: "S'ha sol·licitat un canvi de contrasenya pel correu electrònic <b>%{email}</b>"
|
||||
message: 'Si vas fer una sol·licitud per a reiniciar la teva contrasenya, fes clic a aquest enllaç per a iniciar el procés.'
|
||||
reset_link: Reiniciar la contrasenya
|
||||
title: 'S''ha restablert la contrasenya'
|
||||
welcome: "S'ha sol·licitat un canvi de contrasenya per al correu electrònic <b>%{email}</b>"
|
||||
message: 'Si vau fer una sol·licitud per a restablir la contrasenya, feu clic en aquest enllaç per a iniciar el procés.'
|
||||
reset_link: Restablir la contrasenya
|
||||
expire: Aquest enllaç caduca en dues hores
|
||||
ignore: Pots ignorar aquest missatge sense problemes si no has estat tu qui va sol·licitar el canvi de contrasenya.
|
||||
ignore: Podeu ignorar aquest missatge sense problemes si no sou qui heu sol·licitat el canvi de contrasenya.
|
||||
promoted:
|
||||
admins_link: Anar a la pàgina de l'organització
|
||||
info: "El teu rol ha canviat a %{role} a %{url}."
|
||||
more-info: "Per a veure les noves funcions que se t'han activat visita %{url}"
|
||||
admins_link: Vés a la pàgina de l'organització
|
||||
info: "El vostre rol ha canviat a %{role} a %{url}."
|
||||
more-info: "Per a veure les noves funcions que se us han activat visiteu %{url}"
|
||||
subtitle: "Permisos de %{role} assignats"
|
||||
verify_email:
|
||||
welcome: "Benvingut al teu espa personal %{name}"
|
||||
success: "Fent ús de %{bigbluebutton}, pots crear les teves pròpies sales per a realitzar reunions i col·laborar amb altres."
|
||||
username: "El teu nom d'usuari és %{email}"
|
||||
verify: "Per a verificar el compte, fes clic al botó inferior."
|
||||
verify_text: 'Utiliza aquest enllaç per a verificar el teu compte: %{url}'
|
||||
verify_link: Verificar el compte d'usuari
|
||||
thanks: Gràcies per unir-te i que tinguis bon dia!
|
||||
max_concurrent: S'ha arribat al número màxim de sessions permeses
|
||||
welcome: "Benvingut al vostre espai personal %{name}"
|
||||
success: "Fent ús de %{bigbluebutton}, podeu crear les vostres pròpies sales per a fer reunions i col·laborar amb altres usuaris."
|
||||
username: "El vostre nom d'usuari és %{email}"
|
||||
verify: "Per a verificar el compte, feu clic al botó inferior."
|
||||
verify_text: 'Utilitzeu aquest enllaç per a verificar el vostre compte: %{url}'
|
||||
verify_link: Verifica el compte d'usuari
|
||||
thanks: Gràcies per unir-vos i que tingueu bon dia!
|
||||
max_concurrent: S'ha arribat al nombre màxim de sessions permeses
|
||||
merged: Fusionat
|
||||
modal:
|
||||
create_role:
|
||||
create: Crear un nou rol
|
||||
footer_text: Pots modificar els permisos per a aquest rol de manera individual una vez que haya estat creado
|
||||
name_placeholder: Introdueix el nom del rol
|
||||
create: Crea un nou rol
|
||||
footer_text: Podeu modificar els permisos per a aquest rol de manera individual una vegada que l'hàgiu creat
|
||||
name_placeholder: Introduïu el nom del rol
|
||||
not_blank: El nom de rol no pot estar buit
|
||||
title: Crear un nou rol
|
||||
title: Crea un nou rol
|
||||
create_room:
|
||||
access_code: Codi d'accés
|
||||
access_code_placeholder: Generar un nou codi d'accés
|
||||
access_code_placeholder: Genera un nou codi d'accés
|
||||
auto_join: Envia'm a la sala automàticament quan comenci la sessió
|
||||
create: Crea sala
|
||||
free_delete: Podràs eliminar la sala en el moment que vulguis
|
||||
name_placeholder: Introdueix un nom per a la sala
|
||||
create: Crea una sala
|
||||
free_delete: Podreu eliminar la sala en el moment que vulgueu
|
||||
name_placeholder: Introduïu un nom per a la sala
|
||||
not_blank: El nom de la sala no pot estar buit
|
||||
title: Crear una sala nova
|
||||
title: Crea una sala nova
|
||||
delete_account:
|
||||
confirm: "Estàs segur d'eliminar aquest compte d'usuari?"
|
||||
confirm: "Esteu segur de voler eliminar aquest compte d'usuari?"
|
||||
delete: Estic segur d'eliminar aquest compte
|
||||
keep: "De fet, la mantindré"
|
||||
delete_warning: Aquesta acció desactiva el compte d'usuari. Tos els usuaris desactivats es mostren a la pestanya d'eliminats.
|
||||
warning: "Aquesta decisió és irrevesible, <b>No</b> podràs recuperar la informació associada"
|
||||
delete_warning: Aquesta acció desactiva el compte d'usuari. Tots els usuaris desactivats es mostren a la pestanya d'eliminats.
|
||||
warning: "Aquesta decisió és irreversible, <b>No</b> podreu recuperar la informació associada"
|
||||
delete_rec:
|
||||
delete: "Estic segur, elimina aquesta gravació."
|
||||
header: "Estàs segur de voler eliminar aquesta gravació?"
|
||||
warning: <b>No</b> podràs recuperar aquesta gravació
|
||||
delete: "N'estic segur, elimina aquest enregistrament."
|
||||
header: "Esteu segur de voler eliminar aquest enregistrament?"
|
||||
warning: <b>No</b> podreu recuperar aquest enregistrament
|
||||
delete_room:
|
||||
confirm: "Estàs segur de voler eliminar %{room}?"
|
||||
confirm: "Esteu segur de voler eliminar %{room}?"
|
||||
delete: "Estc segur, elimina aquesta sala"
|
||||
keep: "He canviat de parer, la mantindré"
|
||||
warning: <b>No</b> podràs recuperar aquesta sala
|
||||
recording_warning: "o qualsevol de les teves %{recordings_num} gravacions associades."
|
||||
warning: <b>No</b> podreu recuperar aquesta sala
|
||||
recording_warning: "o qualsevol dels vostres %{recordings_num} enregistraments associats."
|
||||
invite_user:
|
||||
email_placeholder: Introdueix els correus electrònics d'usuari (separats per coma)
|
||||
email_placeholder: Introduïu els correus electrònics d'usuari (separats per coma)
|
||||
footer: L'usuari rebrà un correu electrònic amb instruccions de com registrar-se
|
||||
send: Enviar invitació
|
||||
title: Convidar usuari
|
||||
send: Envia la invitació
|
||||
title: Convida l'usuari
|
||||
login:
|
||||
or: o
|
||||
with: "Iniciar sessió amb %{provider}"
|
||||
forgot_password: "Has oblidat la teva contrasenya?"
|
||||
with: "Inicia sessió amb %{provider}"
|
||||
forgot_password: "Heu oblidat la contrasenya?"
|
||||
preupload:
|
||||
change: Substitueix la presentació
|
||||
choose: Selecciona un arxiu
|
||||
choose: Trieu un fitxer...
|
||||
current: "Presentació actual:"
|
||||
footer: "En funció de la mida de la presentació, és possible que es necessiti més temps per a carregar-la abans de poder utilitzar-la."
|
||||
invalid: "Mida o tipus d'arxiu no vàlids. Si us plau, consulta les restriccions a continuación."
|
||||
title: Afegir presentació
|
||||
use: Utilitzar presentació
|
||||
invalid: Mida o tipus de fitxer no vàlids. Consulteu les restriccions a continuació.
|
||||
title: Afegir una presentació
|
||||
use: Utilitza una presentació
|
||||
rename_recording:
|
||||
remove_shared:
|
||||
title: "Estàs segur de voler eliminar aquesta sala de la teva llista de sales?"
|
||||
title: "Esteu segur de voler eliminar aquesta sala de la llista de sales?"
|
||||
delete: "Estic segur, elimina aquesta sala."
|
||||
warning: <b>NO</b> podràs accedir a aquesta sala en el futur.
|
||||
warning: <b>NO</b> podreu accedir a aquesta sala en el futur.
|
||||
room_settings:
|
||||
title: Configuració de la sala
|
||||
update: Actualitzar la sala
|
||||
client: Seleccionar el tipus de client
|
||||
update: Actualitza la sala
|
||||
client: Seleccioneu el tipus de client
|
||||
join_moderator: Tots els usuaris s'uneixen com a moderadors
|
||||
mute: Deshabilitar micròfon d'usuaris al entrar
|
||||
require_approval: Requerir aprovació del moderador abans de unir-se a la sessió
|
||||
start: Permetre als usuaris iniciar aquesta sessió
|
||||
footer_text: Pots fer canvis a la teva sala en qualsevol moment
|
||||
recording: Permetre a aquesta sala ser gravada
|
||||
mute: Desactiva micròfon d'usuaris a l'entrar
|
||||
require_approval: Requereix l'aprovació del moderador abans d'unir-se a la sessió
|
||||
start: Permet als usuaris iniciar aquesta sessió
|
||||
footer_text: Podeu fer canvis a la sala en qualsevol moment
|
||||
recording: Permet l'enregistrament d'aquesta sala
|
||||
rename_room:
|
||||
name_placeholder: Introdueix un nou nom per a la sala...
|
||||
name_placeholder: Introduïu un nou nom per a la sala...
|
||||
share_access:
|
||||
footer: Compartir una sala amb un usuari permet que iniciï la sala i veure les gravacions de la sala.
|
||||
footer: Compartir una sala amb un usuari permet que iniciï la sala i veure els enregistraments de la sala.
|
||||
list: Compartit amb
|
||||
title: Compartir accés a la sala
|
||||
save: Guardar canvis
|
||||
cancel_changes: Cancel·lar canvis
|
||||
select: Seleccionar usuari
|
||||
title: Comparteix l'accés a la sala
|
||||
save: Desa els canvis
|
||||
cancel_changes: Cancel·la els canvis
|
||||
select: Seleccioneu un usuari
|
||||
merge_user:
|
||||
cancel: Cancel·lar
|
||||
from: Compte per a ser fusionada
|
||||
title: Fusionar comptes d'usuari
|
||||
cancel: Cancel·la
|
||||
from: Compte per a ser fusionat
|
||||
title: Fusiona els comptes d'usuari
|
||||
to: Compte principal
|
||||
save: Fusionar
|
||||
save: Fusiona
|
||||
footer: Les sales del compte que es fusionarà es transferiran a la llista de sales del compte principal i posteriorment s'eliminarà el compte.
|
||||
name_update_success: El nom de la sala ha estat actualitzat correctament
|
||||
no_user_email_exists: "No hi ha cap usuari existent amb el correu electrònic especificat. Si us plau, assegura't de que l'has escrit correctament."
|
||||
omniauth_error: "Ha hagut un error a l'intentar autenticar utilitzant OmniAuth. Si us plau, torna a intentar-ho o contacta amb un administrador!"
|
||||
omniauth_specific_error: "Error %{error} a l'intentar autenticar utilitzant OmniAuth. Si us plau, torna a intentar-ho o contacta amb un administrador!"
|
||||
name_update_success: El nom de la sala s'ha actualitzat correctament
|
||||
no_user_email_exists: No hi ha cap usuari existent amb el correu electrònic especificat. Assegureu-vos que l'heu escrit correctament.
|
||||
omniauth_error: S'ha produït un error en intentar autenticar utilitzant OmniAuth. Torneu a intentar-ho o contacteu amb un administrador!
|
||||
omniauth_specific_error: "Error %{error} en intentar autenticar utilitzant OmniAuth. Torneu a intentar-ho o contacteu amb un administrador!"
|
||||
pagy:
|
||||
nav:
|
||||
prev: "‹ Anterior"
|
||||
next: "Següent ›"
|
||||
prev: "‹ Enrere"
|
||||
next: "Endavant ›"
|
||||
gap: "…"
|
||||
password: Contrasenya
|
||||
password_empty_notice: La contrasenya no pot estar buida
|
||||
password_reset_success: La contrasenya ha estat canviada
|
||||
password_different_notice: La contrasenyes introduïdes no coincideix
|
||||
password_reset_success: S'ha canviat la contrasenya.
|
||||
password_different_notice: Les contrasenyes introduïdes no coincideixen
|
||||
provider:
|
||||
google: Google
|
||||
office365: Office 365
|
||||
twitter: Twitter
|
||||
ldap: LDAP
|
||||
openid_connect: OpenID Connect
|
||||
recaptcha:
|
||||
errors:
|
||||
recaptcha_unreachable: Os pedrer! La resposta del teu reCAPTCHA ha fallat. Torna a intentar-ho.
|
||||
verification_failed: "La verificació reCAPTCHA ha fallat, torna a intentar-ho."
|
||||
recaptcha_unreachable: Os pedrer! La resposta del reCAPTCHA ha fallat. Torneu a intentar-ho.
|
||||
verification_failed: "La verificació reCAPTCHA ha fallat, torneu a intentar-ho."
|
||||
recording:
|
||||
all_recordings: Totes les gravacions
|
||||
email: Enviar correu electrònic amb la gravació
|
||||
error: "Ha hagut un error al recuperar %{count} gravació(ns)."
|
||||
no_recordings: "Aquesta sala no te gravacions %{inject}"
|
||||
no_user_recordings: No tens gravacions
|
||||
no_matched_recordings: "No hi ha %{inject} gravacions que coincideixin amb la teva cerca."
|
||||
recorded_on: "Gravada el %{date}"
|
||||
all_recordings: Tots els enregistraments
|
||||
email: Envia un correu electrònic amb l'enregistrament
|
||||
error: "S'ha produït un error en recuperar %{count} enregsitrament(s)."
|
||||
no_recordings: "Aquesta sala no té cap registrament %{inject}."
|
||||
no_user_recordings: No teniu cap enregisrament
|
||||
no_matched_recordings: "No hi ha %{inject} enregistraments que coincideixin amb la cerca."
|
||||
recorded_on: "Enregsitrada el %{date}"
|
||||
table:
|
||||
name: Nom
|
||||
thumbnails: Miniatures d'imatge
|
||||
|
@ -502,27 +510,28 @@ ca:
|
|||
video: Vídeo
|
||||
registration:
|
||||
approval:
|
||||
fail: "El teu compte d'usuari encara no ha estat autorizat. Si han passat varis dies des del teu registre, et recomanem contactar amb l'administrador."
|
||||
signup: El teu compte d'usuari ha estat creat i se li ha enviat una notificació a l'administrador per a la seva autorització.
|
||||
fail: "El vostre compte d'usuari encara no ha estat autoritzat. Si han passat alguns dies des del vostre registre, us recomanem contactar amb l'administrador."
|
||||
signup: El vostre compte d'usuari ha estat creat i se li ha enviat una notificació a l'administrador per a la seva autorització.
|
||||
banned:
|
||||
fail: "No tens accés a aquesta aplicació. Si creus que es tracta d'un error, contacta l'administrador del sistema."
|
||||
fail: "No teniu accés a aquesta aplicació. Si penseu que es tracta d'un error, contacteu amb l'administrador del sistema."
|
||||
deprecated:
|
||||
new_signin: Selecciona un nou mètode de autenticació. Todes les sales vinculades al teu compte anterior seran migrades al nou compte
|
||||
twitter_signin: "L'accés a través de Twitter és obsolet i serà eliminat a la següent versió. Fes clic <a href=\"%{link}\">aquí</a> per a moure el teu compte d'usuari i el seu contingut a un compte vinculat a un altre mètode d'autenticació"
|
||||
twitter_signup: "El registre de nous comptes amb Twitter és obsolet. Si us plau, utiliza un mètode d'autenticació diferent per a registrar-te."
|
||||
merge_success: El teu compte vinculat a Twitter s'ha fusionat correctament amb el teu nou compte. El compte vinculat amb Twitter ha estat eliminat.
|
||||
new_signin: Seleccioneu un nou mètode d'autenticació. Totes les sales vinculades al vostre compte anterior es migraran al compte nou
|
||||
twitter_signin: "L'accés a través de Twitter és obsolet i serà eliminat a la següent versió. Feu clic <a href=\"%{link}\">aquí</a> per a moure el vostre compte d'usuari i el seu contingut a un compte vinculat a un altre mètode d'autenticació"
|
||||
twitter_signup: El registre de nous comptes amb Twitter és obsolet. Utilitzeu un mètode d'autenticació diferent per a registrar-vos
|
||||
merge_success: El vostre compte vinculat a Twitter s'ha fusionat correctament amb el compte nou. El compte vinculat amb Twitter ha estat eliminat.
|
||||
invite:
|
||||
fail: "El teu codi ha caducat o no és vàlid. Si creus que es tracta d'un error, contacta amb l'administrador del sistema."
|
||||
no_invite: No tens una invitació per a ingresar. Contacta amb l'administrador del sistema per a obtenir-ne una.
|
||||
remove: Eliminar
|
||||
rename: Canviar nom
|
||||
fail: "El codi ha caducat o no és vàlid. Si penseu que es tracta d'un error, contacteu amb l'administrador del sistema."
|
||||
no_invite: No teniu una invitació per a ingressar. Contacteu amb l'administrador del sistema per a obtenir-ne una.
|
||||
remove: Elimina
|
||||
rename: Canvia el nom
|
||||
reset_password:
|
||||
invalid_token: El token de restabliment de contrasenya no és vàlid. Intenta restablir la teva contrasenya de nou.
|
||||
subtitle: Reiniciar contrasenya
|
||||
password: Nova contrasenya
|
||||
confirm: Confirmació de nova contrasenya
|
||||
update: Actualitzar contrasenya
|
||||
auth_change: "El mètode d'autenticación ha canviat. Si us plau, consulta el teu correu electrònic per a configurar la teva contrasenya."
|
||||
captcha: "La verificació reCAPTCHA ha fallat, torneu a intentar-ho."
|
||||
invalid_token: El token de restabliment de contrasenya no és vàlid. Intenteu restablir la contrasenya de nou.
|
||||
subtitle: Restableix la contrasenya
|
||||
password: Contrasenya nova
|
||||
confirm: Confirmació de la contrasenya nova
|
||||
update: Actualitza la contrasenya
|
||||
auth_change: El mètode d'autenticació ha canviat. Consulteu el correu electrònic per a configurar la contrasenya.
|
||||
roles:
|
||||
active: Actiu
|
||||
admin: Administrador
|
||||
|
@ -531,102 +540,103 @@ ca:
|
|||
pending: Pendent
|
||||
user: Usuari
|
||||
room:
|
||||
access_code_required: Introdueix un codi d'accés vàlid per a unir-te a la sala
|
||||
add_presentation: Afegir presentació
|
||||
access_code_required: Introduïu un codi d'accés vàlid per a unir-vos a la sala
|
||||
add_presentation: Afegeix una presentació
|
||||
copy_access: Copia el codi d'accés
|
||||
create_room: Crear una sala
|
||||
create_room_error: Ha hagut un error al crear la sala
|
||||
create_room: Crea una sala
|
||||
create_room_error: S'ha produït un error en crear la sala
|
||||
create_room_success: La sala s'ha creat correctament
|
||||
delete:
|
||||
home_room: No és possible eliminar la sala principal
|
||||
success: Sala eliminada correctament
|
||||
fail: "S'ha produït un error a l'eliminar la sala (%{error})"
|
||||
enter_the_access_code: Introdueix el codi d'accés de la sala
|
||||
invalid_provider: L'enllaç introduït no és vàlid. Comprova'l i torna a intentar-ho.
|
||||
invitation_description: "Ha estat convidat a unir-te a %{name} utilitzant BigBlueButton. Per a unir-te, fes clic a l'enllaç superior i introdueix el teu nom."
|
||||
invited: Ha estat convidat a unir-te
|
||||
recording_present: Reconec que aquesta sessió es gravarà. Això pot incloure la meva veu i el meu vídeo si està activat.
|
||||
invite_participants: Convidar participants
|
||||
join: Entrar
|
||||
success: S'ha eliminat la sala correctament
|
||||
fail: "S'ha produït un error en eliminar la sala (%{error})"
|
||||
enter_the_access_code: Introduïu el codi d'accés de la sala
|
||||
invalid_provider: L'enllaç introduït no és vàlid. Comproveu-lo i torneu a intentar-ho.
|
||||
invitation_description: "Heu estat convidat a unir-vos a %{name} utilitzant BigBlueButton. Per a unir-vos-hi, feu clic a l'enllaç superior i introduïu el vostre nom."
|
||||
invited: Heu estat convidat a unir-vos
|
||||
recording_present: Reconec que aquesta sessió s'enregistrarà. Això pot incloure la meva veu i el meu vídeo si està activat.
|
||||
invite_participants: Convida participants
|
||||
join: Entra
|
||||
last_session: "Última sessió a %{session}"
|
||||
login: Entrar
|
||||
login: Entra
|
||||
owner: Propietari
|
||||
owner_banned: Aquesta sala no és accessible actualment
|
||||
no_room:
|
||||
description: Introdueix l'enllaç o ID de la sala a la que vols unir-te.
|
||||
description: Introduïu l'enllaç o ID de la sala a la qual voleu unir-vos.
|
||||
edit_profile: Edita el perfil d'usuari
|
||||
go_to: Anar a sala
|
||||
invalid_room_uid: L'enllaç o UID que has introduït no és vàlid.
|
||||
go_to: Vés a la sala
|
||||
invalid_room_uid: L'enllaç o UID que heu introduït no és vàlid.
|
||||
placeholder: Enllaç/uid de la sala
|
||||
no_recent_rooms: No has utilitzat cap sala recientement
|
||||
recent_rooms: Ves a Sales utilizadas recentement
|
||||
title: Uneix-te a una Sala
|
||||
no_sessions: Aquesta sala encara no te sessions
|
||||
preupload_success: Presentació afegida correctament
|
||||
preupload_error: Ha hagut un error actualitzant la presentació de la sala
|
||||
no_recent_rooms: No heu utilitzat cap sala recientement
|
||||
recent_rooms: Vés a les sales utilitzades recentment
|
||||
title: Uneix-te a una sala
|
||||
no_sessions: Aquesta sala encara no té cap sessió
|
||||
preupload_success: La presentació s'ha afegit correctament
|
||||
preupload_error: S'ha produït un error en actualitzar la presentació de la sala
|
||||
preupload_remove_success: Eliminació de presentació correcta
|
||||
preupload_remove_error: Ha hagut un error eliminant la presentació de la sala
|
||||
recordings: Gravacions de sala
|
||||
room_limit: Has arribat al número límit de sales permeses
|
||||
room_limit_exceeded: "Has arribat al número límit de sales permeses. Si us plau, elimina %{difference} sala(es) per poder accedir a aquesta."
|
||||
preupload_remove_error: S'ha produït un error en eliminar la presentació de la sala
|
||||
recordings: Enregistraments de sala
|
||||
room_limit: Heu arribat al nombre límit de sales permeses
|
||||
room_limit_exceeded: "Heu superat el nombre de sales permeses. Elimineu %{difference} sales per a poder accedir a aquesta."
|
||||
sessions: Sessions
|
||||
settings: Configuració de sala
|
||||
share: Gestionar accés
|
||||
share: Gestiona l'accés
|
||||
shared_by: "Compartit per %{email}"
|
||||
remove_shared_access_success: S'ha eliminat correctament la sala compartida de la teva llista de sales
|
||||
remove_shared_access_error: Ha hagut un error eliminant la sala compartida de la teva llista de sales
|
||||
remove_shared_access_success: S'ha eliminat correctament la sala compartida de la llista de sales
|
||||
remove_shared_access_error: S'ha produït un error en eliminar la sala compartida de la llista de sales
|
||||
shared_access_success: Sala compartida correctament
|
||||
shared_access_error: Ha hagut un error compartint la sala
|
||||
shared_access_error: S'ha produït un error en compartir la sala
|
||||
start: Inicia
|
||||
unavailable: Aquesta sala no es troba disponible perquè el compte de correu del seu propietari no ha estat verificat.
|
||||
update_settings_error: Ha hagut un error a l'actualitzar la configuració de la sala
|
||||
search: Cerca sala...
|
||||
unavailable: Aquesta sala no es troba disponible perquè el compte de correu del seu propietari no s'ha verificat.
|
||||
update_settings_error: S'ha produït un error en actualitzar la configuració de la sala
|
||||
update_settings_success: La configuració de la sala ha estat actualitzada correctament
|
||||
wait:
|
||||
message: La sessió encara no ha començat.
|
||||
auto: Seràs enviat a la sala automàticament quan comenci la sessió
|
||||
auto: Se us enviarà cap a la sala automàticament quan comenci la sessió
|
||||
settings:
|
||||
account:
|
||||
fullname: Nom complet
|
||||
language: Idioma
|
||||
language: Llengua
|
||||
provider: Proveïdor
|
||||
image: Imatge
|
||||
image_url: Enllaç a la imatge de perfil
|
||||
roles: Rol d'usuari
|
||||
subtitle: Actualitzar informació d'usuari
|
||||
subtitle: Actualitzeu la vostra informació d'usuari
|
||||
title: Informació del compte
|
||||
reset_password: Restablir contrasenya d'usuari
|
||||
reset_password: Restableix la contrasenya d'usuari
|
||||
delete:
|
||||
button: "Sí, m'agradaria eliminar el meu compte d'usuari."
|
||||
disclaimer: "Si tries eliminar el teu compte d'usuari, <b>no</b> podrà recuperar-se. Tota la informació relacionada amb el teu compte, incloses configuració, sales y gravacions, serà eliminada."
|
||||
disclaimer: "Si trieu eliminar el vostre compte d'usuari, <b>no</b> podrà recuperar-se. Tota la informació relacionada amb el compte, incloses la configuració, sales i enregistraments, s'eliminarà."
|
||||
subtitle: Eliminar el compte de forma permanent
|
||||
title: Eliminar compte
|
||||
title: Elimina el compte
|
||||
password:
|
||||
confirmation: Confirmació de contrasenya nova
|
||||
new: Contrasenya nova
|
||||
old: Contrasenya anterior
|
||||
subtitle: Canviar la teva contrasenya
|
||||
subtitle: Canvia la contrasenya
|
||||
title: Contrasenya
|
||||
title: Perfil d'usuari
|
||||
search: Cerca
|
||||
signup:
|
||||
password_confirm: Confirmació de contrasenya
|
||||
subtitle: Crear un compte
|
||||
title: Registrar-se
|
||||
with: "Registrar-se utilitzant %{provider}"
|
||||
subtitle: Crea un compte
|
||||
title: Registre
|
||||
with: "Registre amb %{provider}"
|
||||
terms:
|
||||
accept: Accepto els termes y condicions d'ús
|
||||
accept: "Accepto els %{href}"
|
||||
accept_existing: Accepto els termes y condicions d'ús
|
||||
title: Termes y condicions d'ús
|
||||
title: Termes i condicions d'ús
|
||||
test_install: >
|
||||
Aquesta instal·lació està utilitzant el servidor de proves pre-configurat. Hauria de ser substituït amb el teu propi servidor. Per a més detalls consulta %{href}.
|
||||
Aquesta instal·lació està utilitzant el servidor de proves pre-configurat. Hauria de ser substituït amb el vostre propi servidor. Per a més detalls consulta %{href}.
|
||||
update: Actualitza
|
||||
verify:
|
||||
accept: Verifica
|
||||
activated: Compte de correu verificada.
|
||||
already_verified: Compte de correu verificada amb anterioritat
|
||||
activated: Compte verificat.
|
||||
already_verified: El compte ja s'ha verificat
|
||||
invalid: Enllaç de verificació no vàlid
|
||||
not_verified: El teu compte de correu no ha estat verificat
|
||||
resend: Reenviar enllaç per a verificació de compte de correu
|
||||
signin: "Inicia sessió per a tenir accés al teu compte "
|
||||
title: Verifica el teu compte de correu
|
||||
not_verified: El compte encara no s'ha verificat
|
||||
resend: Torna a enviar l'enllaç de verificació
|
||||
signin: "Inicieu sessió per a tenir accés al vostre compte "
|
||||
title: Verifiqueu l'adreça electrònica
|
||||
verification: Verificació
|
||||
|
|
|
@ -175,6 +175,9 @@ cs:
|
|||
info: Přiděl práva moderátora všem uživatelům ihned po připojení.
|
||||
recordings:
|
||||
info: "Povolit vlastníkům místnosti určit, zda chtějí mít volbu nahrávat místnost nebo nikoliv. Pokud je zapnuto, přesto musí moderátor kliknout na tlačítko \"Zahájit nahrávání\"."
|
||||
moderator_codes:
|
||||
info: "Povol vlastníkovi generovat pin moderátora, který umožňuje ostatním uživatelům se připojit přímo jako moderátor."
|
||||
title: Přístupový pin moderátora
|
||||
options:
|
||||
disabled: Vypnuto
|
||||
enabled: Vždy zapnuto
|
||||
|
@ -226,6 +229,7 @@ cs:
|
|||
cookies:
|
||||
cookie_info: Cookies nám pomáhají poskytovat naše služby. Používáním našich služeb souhlasíte s jejich použitím.
|
||||
cookie_button: Souhlasím
|
||||
policy: "Více informací najdete v <a href=\"%{privacy_link}\"><u> zásadách ochrany osobních údajů</u></a>."
|
||||
copied: Zkopírováno
|
||||
copy: Kopírovat
|
||||
date:
|
||||
|
@ -352,6 +356,7 @@ cs:
|
|||
info: " Byl jste pozván do Vašeho osobního prostoru uživatelem %{name}"
|
||||
signup_info: "Pro registraci Vaším emailem, klikněte na tlačítko níže a postupujte podle předepsaných kroků."
|
||||
signup_link: Registrace
|
||||
valid: "Pozvánka je platná do: %{date}"
|
||||
signup:
|
||||
info: Pozvaný Greenlight uživatel se zaregistroval.
|
||||
admins_link: Navštivte stránku Organizace
|
||||
|
@ -390,7 +395,9 @@ cs:
|
|||
title: Vytvořit novou roli
|
||||
create_room:
|
||||
access_code: Přístupový kód
|
||||
moderator_access_code: PIN moderátora
|
||||
access_code_placeholder: Vygenerovat volitelný přístupový kód
|
||||
moderator_access_code_placeholder: Generuj pin moderátora.
|
||||
auto_join: Připojit mne automaticky do místnosti
|
||||
create: Vytvořit místnost
|
||||
free_delete: Tuto místnost můžete kdykoliv odstranit.
|
||||
|
@ -538,11 +545,13 @@ cs:
|
|||
banned: Zablokovaní
|
||||
deleted: Smazaní
|
||||
pending: Čekající
|
||||
invited: Pozván
|
||||
user: Uživatel
|
||||
room:
|
||||
access_code_required: Prosím zadejte platný přístupový kód pro vstup do místnosti
|
||||
add_presentation: Přidat prezentaci
|
||||
copy_access: Zkopíruj přístupový kód
|
||||
copy_moderator_access: Zkopíruj pin moderátora
|
||||
create_room: Vytvořit místnost
|
||||
create_room_error: Při vytváření místnosti nastala chyba
|
||||
create_room_success: Místnost byla úspěšně vytvořena
|
||||
|
@ -551,6 +560,8 @@ cs:
|
|||
success: Místnost byla smazána
|
||||
fail: "Nepodařilo se smazat místnost (%{error})"
|
||||
enter_the_access_code: Vložte přístupový kód do místnosti
|
||||
enter_the_moderator_access_code: Vlož pin moderátora k místnosti!
|
||||
optional_moderator_access_code: "Volitelný pin moderátora"
|
||||
invalid_provider: Vložili jste neplatné url. Prosím zkontrolujte url a zkuste to znovu.
|
||||
invitation_description: "Byl jste pozván na videokonferenci%{name} v BigBlueButton. K připojení do místnosti klikněte na odkaz výše a zadejte svoje jméno."
|
||||
invited: Byl jste pozván na konferenci v místnosti
|
||||
|
|
|
@ -175,6 +175,9 @@ de_DE:
|
|||
info: "Gewährt allen Teilnehmern Moderatorenrechte in BigBlueButton, wenn sie an der Konferenz teilnehmen."
|
||||
recordings:
|
||||
info: "Ermöglicht Rauminitiatoren die Festlegung, ob sie die Option zum Aufzeichnen eines Raums wünschen oder nicht. Wenn diese Option aktiviert ist, muss der Moderator auch nach Beginn der Konferenz auf den Button \"Aufzeichnen\" klicken."
|
||||
moderator_codes:
|
||||
info: "Ermöglicht es Rauminitiatoren, optional einen Moderatoren-PIN zu generieren, der es anderen Teilnehmern ermöglicht, direkt als Moderator beizutreten."
|
||||
title: Moderatoren-Zugangscode
|
||||
options:
|
||||
disabled: Deaktiviert
|
||||
enabled: Immer aktiviert
|
||||
|
@ -226,6 +229,7 @@ de_DE:
|
|||
cookies:
|
||||
cookie_info: Cookies helfen uns bei der Bereitstellung unserer Dienste. Durch die Nutzung der Dienste stimmen Sie der Nutzung von Cookies zu.
|
||||
cookie_button: Ich stimme zu
|
||||
policy: "Weitere Informationen finden Sie in unserer <a href=\"%{privacy_link}\"><u>Datenschutzerklärung</u></a>."
|
||||
copied: Kopiert
|
||||
copy: Kopieren
|
||||
date:
|
||||
|
@ -352,6 +356,7 @@ de_DE:
|
|||
info: "Sie wurden von %{name} in Ihren persönlichen Bereich eingeladen"
|
||||
signup_info: "Um sich mit Ihrer E-Mail anzumelden, klicken Sie den untenstehenden Button und folgen Sie den Schritten."
|
||||
signup_link: Registrieren
|
||||
valid: "Die Einladung ist gültig bis: %{date}"
|
||||
signup:
|
||||
info: Ein eingeladener Nutzer hat sich bei Greenlight registriert.
|
||||
admins_link: Organisationsseite besuchen
|
||||
|
@ -390,7 +395,9 @@ de_DE:
|
|||
title: Neue Rolle erstellen
|
||||
create_room:
|
||||
access_code: Zugangscode
|
||||
moderator_access_code: Moderatoren-Code
|
||||
access_code_placeholder: Generieren eines optionalen Raumzugangscodes
|
||||
moderator_access_code_placeholder: Optionalen Code für Moderatoren generieren
|
||||
auto_join: Automatisch dem Raum beitreten
|
||||
create: Raum erstellen
|
||||
free_delete: Sie können den Raum jederzeit wieder löschen.
|
||||
|
@ -538,11 +545,13 @@ de_DE:
|
|||
banned: Gesperrt
|
||||
deleted: Gelöscht
|
||||
pending: Wartend
|
||||
invited: Eingeladen
|
||||
user: Nutzer
|
||||
room:
|
||||
access_code_required: "Bitte geben Sie einen gültigen Zugangscode ein, um den Raum zu betreten"
|
||||
add_presentation: Präsentation hinzufügen
|
||||
copy_access: Zugangscode kopieren
|
||||
copy_moderator_access: Moderatoren-Code kopieren
|
||||
create_room: Raum erstellen
|
||||
create_room_error: Bei der Erstellung des Raums ist ein Fehler aufgetreten
|
||||
create_room_success: Raum erfolgreich erstellt
|
||||
|
@ -551,6 +560,8 @@ de_DE:
|
|||
success: Raum erfolgreich gelöscht
|
||||
fail: "Raum konnte nicht gelöscht werden (%{error})"
|
||||
enter_the_access_code: Raumzugangscode bitte eingeben
|
||||
enter_the_moderator_access_code: Geben Sie den Moderatoren-Code des Raums ein!
|
||||
optional_moderator_access_code: "Optionaler Moderatoren-Code:"
|
||||
invalid_provider: "Sie haben eine ungültige URL eingegeben, bitte überprüfen Sie die URL und versuchen Sie es erneut."
|
||||
invitation_description: "Sie wurden zu %{name} über BigBlueButton zur Teilnahme eingeladen. Um beizutreten, klicken Sie auf den obigen Link und geben Sie Ihren Namen ein."
|
||||
invited: Sie wurden zur Teilnahme eingeladen
|
||||
|
|
|
@ -175,6 +175,9 @@ en:
|
|||
info: Gives all users moderator privileges in BigBlueButton when they join the meeting.
|
||||
recordings:
|
||||
info: Allows room owners to specify whether they want the option to record a room or not. If enabled, the moderator must still click the "Record" button once the meeting has started.
|
||||
moderator_codes:
|
||||
info: Allows room owners to optionally generate a moderator pin which allows other users to join directly as moderators.
|
||||
title: Moderator Access Code
|
||||
options:
|
||||
disabled: Disabled
|
||||
enabled: Always Enabled
|
||||
|
@ -226,6 +229,7 @@ en:
|
|||
cookies:
|
||||
cookie_info: Cookies help us deliver our services. By using our services, you agree to our use of cookies.
|
||||
cookie_button: I Agree
|
||||
policy: For more infomation, see our <a href="%{privacy_link}"><u>privacy policy</u></a>.
|
||||
copied: Copied
|
||||
copy: Copy
|
||||
date:
|
||||
|
@ -353,6 +357,7 @@ en:
|
|||
info: You have been invited to your own personal space by %{name}
|
||||
signup_info: To signup using your email, click the button below and follow the steps.
|
||||
signup_link: Sign Up
|
||||
valid: "The invite is valid until: %{date}"
|
||||
signup:
|
||||
info: A user that was invited has signed up to use Greenlight.
|
||||
admins_link: Visit the Organization Page
|
||||
|
@ -391,7 +396,9 @@ en:
|
|||
title: Create New Role
|
||||
create_room:
|
||||
access_code: Access Code
|
||||
moderator_access_code: Moderator Code
|
||||
access_code_placeholder: Generate an optional room access code
|
||||
moderator_access_code_placeholder: Generate an optional code for moderators
|
||||
auto_join: Automatically join me into the room
|
||||
create: Create Room
|
||||
free_delete: You will be free to delete this room at any time.
|
||||
|
@ -539,11 +546,13 @@ en:
|
|||
banned: Banned
|
||||
deleted: Deleted
|
||||
pending: Pending
|
||||
invited: Invited
|
||||
user: User
|
||||
room:
|
||||
access_code_required: Please enter a valid access code to join the room
|
||||
add_presentation: Add Presentation
|
||||
copy_access: Copy Access Code
|
||||
copy_moderator_access: Copy Moderator Code
|
||||
create_room: Create a Room
|
||||
create_room_error: There was an error creating the room
|
||||
create_room_success: Room created successfully
|
||||
|
@ -552,6 +561,8 @@ en:
|
|||
success: Room deleted successfully
|
||||
fail: Failed to delete room (%{error})
|
||||
enter_the_access_code: Enter the room's access code
|
||||
enter_the_moderator_access_code: Enter the room's moderator code!
|
||||
optional_moderator_access_code: "Optional Moderator Code:"
|
||||
invalid_provider: You have entered an invalid url. Please check the url and try again.
|
||||
invitation_description: You have been invited to join %{name} using BigBlueButton. To join, click the link above and enter your name.
|
||||
invited: You have been invited to join
|
||||
|
|
|
@ -110,7 +110,7 @@ es:
|
|||
title: Número de salas por usuario
|
||||
shared_access:
|
||||
info: "Si se establece en deshabilitado, se eliminará el botón del menú desplegable de opciones de sala, lo que evitará que los usuarios compartan salas"
|
||||
title: Permitir a los usuarios compartir habitaciones
|
||||
title: Permitir a los usuarios compartir salas
|
||||
subtitle: Personalizar Greenlight
|
||||
tabs:
|
||||
appearance: Apariencia
|
||||
|
@ -138,7 +138,7 @@ es:
|
|||
settings: La configuración de sistema ha sido actualizada
|
||||
unauthorized: No está autorizado para ejecutar operaciones sobre este usuario.
|
||||
recordings:
|
||||
latest: Más reciente grabación
|
||||
latest: Grabación más reciente
|
||||
title: Grabaciones
|
||||
no_recordings: Este servidor no tiene grabaciones.
|
||||
search_info: Introduce un email o un identificador de sala.
|
||||
|
@ -175,6 +175,9 @@ es:
|
|||
info: Otorga a todos los usuarios los privilegios de usuario moderador en BigBlueButton cuando se unen a la reunión.
|
||||
recordings:
|
||||
info: "Permite a los propietarios de salas especificar si desean la opción de grabar una sala o no. Si está habilitada, el moderador aún debe hacer clic en el botón \"Grabar\" una vez que haya comenzado la reunión."
|
||||
moderator_codes:
|
||||
info: Permite a los propietarios de salas generar opcionalmente un pin de moderador que permite a otros usuarios unirse directamente como moderadores.
|
||||
title: Código de acceso como moderador
|
||||
options:
|
||||
disabled: Deshabilitada
|
||||
enabled: Siempre habilitada
|
||||
|
@ -226,6 +229,7 @@ es:
|
|||
cookies:
|
||||
cookie_info: "Las cookies nos ayudan a proveer nuestros servicios. Al utilizar nuestros servicios, usted acepta nuestro uso de las cookies."
|
||||
cookie_button: Acepto
|
||||
policy: "Para más información, consulte nuestra <a href=\"%{privacy_link}\"><u>política de privacidad</u></a>."
|
||||
copied: Copiada
|
||||
copy: Copiar
|
||||
date:
|
||||
|
@ -235,12 +239,12 @@ es:
|
|||
delivery_error: "Ocurrió un error durante el envío de correo electrónico. Por favor, contacte con un administrador."
|
||||
docs: Documentación
|
||||
email: Cuenta de correo
|
||||
email_sent: "Su %{email_type} correo electrónico ha sido enviado. (Revise su carpeta de Spam si no los ha recibido)"
|
||||
email_sent: "Su %{email_type} correo electrónico ha sido enviado. (Revise su carpeta de Spam si no lo ha recibido)"
|
||||
enter_your_name: Introduzca su nombre
|
||||
errors:
|
||||
bigbluebutton:
|
||||
help: "Asegúrese de que los pasos han sido seguidos correctamente. <a href=\"%{doc_link}\">Saber más</a>"
|
||||
message: La URL o clave secreta del servidor BigBlueButton son inválidos
|
||||
message: La URL o clave secreta del servidor BigBlueButton no son válidas
|
||||
title: Error del servidor
|
||||
internal:
|
||||
message: Parece que algo salió mal de nuestro lado.
|
||||
|
@ -259,7 +263,7 @@ es:
|
|||
messages:
|
||||
blank: el valor no puede estar vacío
|
||||
too_short: es demasiado corta
|
||||
invalid: es inválida
|
||||
invalid: no es válida
|
||||
taken: ya existe
|
||||
accepted: debe ser aceptado
|
||||
confirmation: "no coincide %{attribute}"
|
||||
|
@ -307,7 +311,7 @@ es:
|
|||
signout: Salir
|
||||
home_room: Sala principal
|
||||
info_update_success: Información actualizada con éxito.
|
||||
invalid_credentials: El correo electrónico y contraseña introducidos no coinciden con los registros. Inténtelo de nuevo o haga clic en recuperar contraseña.
|
||||
invalid_credentials: El correo electrónico y la contraseña introducidos no coinciden con los registros. Inténtelo de nuevo o haga clic en recuperar contraseña.
|
||||
invalid_login_method: El inicio de sesión falló debido a la falta de coincidencia de cuenta. Necesitas iniciar sesión con uno de los proveedores.
|
||||
invite_message: "Para invitar a alguien a la sesión, envíele este enlace:"
|
||||
javascript:
|
||||
|
@ -349,9 +353,10 @@ es:
|
|||
root_link: Iniciar sesión
|
||||
subtitle: "Permiso de %{role} eliminado"
|
||||
invite:
|
||||
info: "Hás sido invitado a contar con tu espacio personal por %{name}"
|
||||
info: "Has sido invitado a contar con tu espacio personal por %{name}"
|
||||
signup_info: "Para registrarte utilizando tu cuenta de correo, haz click en el botón de abajo y sigue los pasos que se indican."
|
||||
signup_link: Registrarse
|
||||
valid: "La invitación es válida hasta: %{date}"
|
||||
signup:
|
||||
info: Un usuario que fue invitado a registrarse ha completado su registro.
|
||||
admins_link: Ir a la página de la organización
|
||||
|
@ -365,7 +370,7 @@ es:
|
|||
message: 'Sí hiciste una solicitud para reiniciar tu contraseña, haz click en este enlace para iniciar el proceso.'
|
||||
reset_link: Reiniciar la contraseña
|
||||
expire: Este enlace expira en dos horas
|
||||
ignore: Puedes ignorar este mensaje sin preocupaciones sí no haz sido tu quien solicito el cambio de contraseña.
|
||||
ignore: Puedes ignorar este mensaje sin preocupaciones si no has sido tú quien solicitó el cambio de contraseña.
|
||||
promoted:
|
||||
admins_link: Ir a la página de la organización
|
||||
info: "Tu rol ha cambiado a %{role} en %{url}."
|
||||
|
@ -390,7 +395,9 @@ es:
|
|||
title: Crear un rol nuevo
|
||||
create_room:
|
||||
access_code: Código de acceso
|
||||
moderator_access_code: Código de Moderador
|
||||
access_code_placeholder: Generar un nuevo código de acceso
|
||||
moderator_access_code_placeholder: Generar un código opcional para los moderadores
|
||||
auto_join: Envíame a la sala automáticamente cuando empiece ls sesión
|
||||
create: Crear sala
|
||||
free_delete: Podrás eliminar la sala en el momento que quieras
|
||||
|
@ -402,7 +409,7 @@ es:
|
|||
delete: Estoy seguro de eliminar ésta cuenta
|
||||
keep: "De hecho, la conservaré"
|
||||
delete_warning: Esta acción desactiva la cuenta de usuario. Todos los usuarios desactivados son listados en la pestaña de eliminados.
|
||||
warning: "Esta decisión es final, <b>No</b> podrás recuperar la información asociada"
|
||||
warning: "Esta decisión es definitiva, <b>No</b> podrás recuperar la información asociada"
|
||||
delete_rec:
|
||||
delete: "Estoy seguro, elimina esta grabación"
|
||||
header: "¿Estás seguro de eliminar esta grabación?"
|
||||
|
@ -461,7 +468,7 @@ es:
|
|||
to: Cuenta principal
|
||||
save: Fusionar
|
||||
footer: Las salas de la cuenta que se fusionará se transferirán a la lista de salas de la cuenta principal y luego se eliminará la cuenta.
|
||||
name_update_success: El nombre de la sala ha sido actualizado exitósamente
|
||||
name_update_success: El nombre de la sala ha sido actualizado correctamente
|
||||
no_user_email_exists: "No hay ningún usuario existente con el correo electrónico especificado. Por favor, asegúrese de que lo escribió correctamente."
|
||||
omniauth_error: Ocurrió un error al intentar autentificar usando OmniAuth. ¡Inténtelo de nuevo o contacte con un administrador!
|
||||
omniauth_specific_error: "Error %{error} al intentar autenticación usand OmniAuth. ¡Inténtelo de nuevo o contacte con un administrador!"
|
||||
|
@ -494,7 +501,7 @@ es:
|
|||
recorded_on: "Grabada el %{date}"
|
||||
table:
|
||||
name: Nombre
|
||||
thumbnails: Imagenes miniatura
|
||||
thumbnails: Miniaturas
|
||||
length: Duración
|
||||
users: Usuarios
|
||||
visibility: Visibilidad
|
||||
|
@ -520,13 +527,13 @@ es:
|
|||
twitter_signup: El registro de nuevas cuentas con Twitter es obsoleto. Por favor utiliza un método de autenticación diferente para registrarte.
|
||||
merge_success: Tu cuenta vinculada a Twitter se fusionó correctamente con tu cuenta nueva. La cuenta vinculada con Twitter ha sido eliminada.
|
||||
invite:
|
||||
fail: "Tu código ha expirado o es invalido. Sí tu crees que este es un error, contacta al administrador del sistema."
|
||||
no_invite: No tienes una invitación para ingresar. Contacta al administrador del sistema para obtener una.
|
||||
fail: "Tu código ha expirado o no es valido. Sí crees que se trata de un error, contacta al administrador del sistema."
|
||||
no_invite: No tienes una invitación para unirte. Contacta al administrador del sistema para obtener una.
|
||||
remove: Eliminar
|
||||
rename: Cambiar nombre
|
||||
reset_password:
|
||||
captcha: "La verificación reCAPTCHA ha falado, intentalo nuevamente."
|
||||
invalid_token: El token de restablecimiento de contraseña no es válido. Intente restablecer su contraseña nuevamente.
|
||||
captcha: "La verificación reCAPTCHA ha fallado, intentalo de nuevo."
|
||||
invalid_token: El token de restablecimiento de contraseña no es válido. Intente restablecer su contraseña de nuevo.
|
||||
subtitle: Reiniciar contraseña
|
||||
password: Nueva contraseña
|
||||
confirm: Confirmación de nueva contraseña
|
||||
|
@ -538,11 +545,13 @@ es:
|
|||
banned: Bloqueado
|
||||
deleted: Eliminado
|
||||
pending: Pendiente
|
||||
invited: Invitado
|
||||
user: Usuario
|
||||
room:
|
||||
access_code_required: Introduce un código de acceso válido para unirse a la sala
|
||||
add_presentation: Añadir presentación
|
||||
copy_access: Copiar código de acceso
|
||||
copy_moderator_access: Copiar código de moderador
|
||||
create_room: Crear una sala
|
||||
create_room_error: Ocurrió un error al crear la sala
|
||||
create_room_success: La sala fue creada exitósamente
|
||||
|
@ -551,6 +560,8 @@ es:
|
|||
success: Sala eliminada correctamente
|
||||
fail: "Se ha producido un error al eliminar la sala (%{error})"
|
||||
enter_the_access_code: Introduce el código de acceso de la sala
|
||||
enter_the_moderator_access_code: Introduzca el código de moderador de la sala
|
||||
optional_moderator_access_code: "Código opcional de moderador:"
|
||||
invalid_provider: El enlace introducido no es válido. Revísalo e inténtalo de nuevo.
|
||||
invitation_description: "Ha sido invitado a unirse a %{name} usando BigBlueButton. Para unirse, haga clic en el enlace superior e introduzca su nombre."
|
||||
invited: Ha sido invitado a unirse
|
||||
|
@ -576,8 +587,8 @@ es:
|
|||
preupload_remove_success: Eliminación de presenación correcta
|
||||
preupload_remove_error: Ha habido un error eliminando la presentación de la sala
|
||||
recordings: Grabaciones de sala
|
||||
room_limit: Haz alcanzado el número límite de salas permitidas
|
||||
room_limit_exceeded: "Haz alcanzado el número límite de salas permitidas. Por favor elimina %{difference} sala(s) para poder acceder a ésta."
|
||||
room_limit: Has alcanzado el número límite de salas permitidas
|
||||
room_limit_exceeded: "Has alcanzado el número límite de salas permitidas. Por favor elimina %{difference} sala(s) para poder acceder a ésta."
|
||||
sessions: Sesiones
|
||||
settings: Configuración de sala
|
||||
share: Gestionar acceso
|
||||
|
@ -593,7 +604,7 @@ es:
|
|||
update_settings_success: La configuración de la sala fue actualizada exitósamente
|
||||
wait:
|
||||
message: La sesión todavía no ha comenzado.
|
||||
auto: Serás enviado a la sala automáticamente cuando empiece ls sesión
|
||||
auto: Serás enviado a la sala automáticamente cuando empiece la sesión
|
||||
settings:
|
||||
account:
|
||||
fullname: Nombre completo
|
||||
|
@ -606,7 +617,7 @@ es:
|
|||
title: Información de la cuenta
|
||||
reset_password: Restablecer contraseña de usuario
|
||||
delete:
|
||||
button: "Si, me gustaría eleiminar mi cuenta de usuario."
|
||||
button: "Sí, me gustaría eliminar mi cuenta de usuario."
|
||||
disclaimer: "Sí elijes eliminar tu cuenta de usuario, <b>NO</b> podrá ser recuperada. Toda la información relacionada con tu cuenta, incluyendo configuración, salas y grabaciones, será eliminada."
|
||||
subtitle: Eliminar la cuenta de forma permanente
|
||||
title: Eliminar cuenta
|
||||
|
|
|
@ -69,6 +69,10 @@ fa_IR:
|
|||
regular: منظم
|
||||
lighten: روشن تر
|
||||
darken: تیره
|
||||
email_mapping:
|
||||
info: "بر اساس فرمت ایمیل کاربران، نقشی را به آنها بدهید. باید به صورت فرمت email1=role1,email2=role2 باشد"
|
||||
title: دادن نقش براساس فرمت ایمیل
|
||||
update:
|
||||
log_level:
|
||||
title: سطح لاگ گیری
|
||||
information: تغییر سطح لاگ گیری برای همه نصب ها
|
||||
|
@ -111,6 +115,7 @@ fa_IR:
|
|||
tabs:
|
||||
appearance: ظاهر
|
||||
administration: مدیریت
|
||||
registration: ثبت نام
|
||||
settings: تنظیمها
|
||||
title: تنظیمات سایت
|
||||
flash:
|
||||
|
@ -133,8 +138,10 @@ fa_IR:
|
|||
settings: تنظیمات سایت با موفقیت تغییر یافت
|
||||
unauthorized: شما مجاز به انجام این عمل روی این کاربر نیستید
|
||||
recordings:
|
||||
latest: آخرین جلسههای ضبط شده
|
||||
title: جلسات ضبط شده سرور
|
||||
no_recordings: در سرور جلسه ضبط شده ای وجود ندارد.
|
||||
search_info: ایمیل کامل کاربر یا شناسه اتاق را وارد کنید
|
||||
roles:
|
||||
appear_in_share_list: دادن مجوز اشتراک اتاق ها به کاربرانی که این نقش را دارند
|
||||
can_create_rooms: امکان ایجاد اتاق برای کاربر
|
||||
|
@ -168,11 +175,15 @@ fa_IR:
|
|||
info: همه کاربران در هنگام پیوستن به جلسه، تمام دسترسیهای مدیر را در بیگ بلو باتن داده میشود.
|
||||
recordings:
|
||||
info: به مالکهای اتاق این قابلیت را میدهد تا مشخص کنند آیا گزینهی ضبط اتاق را میخواهند یا نه.اگر فعال باشد، ناظم همچنان باید روی دکمهی «ضبط» کلیک کند وقتی جلسه شروع شد.
|
||||
moderator_codes:
|
||||
info: به مالکین اتاقهای این اجازه داده میشود تا به صورت دلخواه یک پین تولید کنند تا بتوانند به بقیه کاربرها این اجازه را بدهند که به صورت مستقیم به عنوان مدیر جلسه وارد شوند.
|
||||
title: کد دسترسی مدیر جلسه
|
||||
options:
|
||||
disabled: غیرفعال شده
|
||||
enabled: همیشه فعال شود
|
||||
optional: اختیاری
|
||||
rooms:
|
||||
timeout: "به علت وقفه در درخواست خدمتگزار %{server}، ممکن است اطلاعات وضعیت و شرکت کنندگان دقیق نباشد"
|
||||
title: اتاق های سرور
|
||||
table:
|
||||
ended: "به پایان رسید: %{session}"
|
||||
|
@ -202,12 +213,14 @@ fa_IR:
|
|||
table:
|
||||
authenticator: احراز کننده هویت
|
||||
created: ایجاد شده
|
||||
time: زمان ارسال شده
|
||||
name: نام
|
||||
not_found: کاربری متناسب با جستجوی شما یافت نشد
|
||||
no_users: کاربری یافت نشد
|
||||
role: نقش
|
||||
uid: شناسه کاربری
|
||||
username: نام کاربری
|
||||
valid: معتبر
|
||||
title: مدیریت کاربران
|
||||
add_to_google_calendar: "افزودن تقویم گوگل"
|
||||
bigbluebutton: بیگ بلو باتن
|
||||
|
@ -216,6 +229,7 @@ fa_IR:
|
|||
cookies:
|
||||
cookie_info: کوکی ها به ما کمک میکنند تا خدمات خود را ارائه دهیم. با استفاده از این خدمات، شما با استفاده از کوکی های ما موافقت میکنید.
|
||||
cookie_button: موافق هستم
|
||||
policy: "برای اطلاعات بیشتر <a href=\"%{privacy_link}\"><u>سیاست حریم خصوصی</u></a> ما را ببینید."
|
||||
copied: کپی شد
|
||||
copy: کپی
|
||||
date:
|
||||
|
@ -342,6 +356,7 @@ fa_IR:
|
|||
info: "شما به فضای شخصی خود توسط %{name} دعوت شده اید"
|
||||
signup_info: برای ثبت نام از طریق ادرس ایمیلتان، روی دکمه زیر کلیک کرده و مراحل را انجام دهید.
|
||||
signup_link: ثبت نام
|
||||
valid: "این دعوت تا %{date} معتبر خواهد بود."
|
||||
signup:
|
||||
info: کاربری که دعوت کرده بودید برای استفاده از گرین لایت ثبت نام کرده است.
|
||||
admins_link: صفحه سازمان را مشاهده کنید
|
||||
|
@ -380,7 +395,9 @@ fa_IR:
|
|||
title: ایجاد یک نقش جدید
|
||||
create_room:
|
||||
access_code: کد دسترسی
|
||||
moderator_access_code: کد مدیر جلسه
|
||||
access_code_placeholder: ایجاد کد دسترسی اختیاری برای جلسه
|
||||
moderator_access_code_placeholder: ایجاد کد اختیاری برای مدیران جلسه
|
||||
auto_join: به صورت خودکار من را وارد جلسه کن
|
||||
create: ایجاد اتاق
|
||||
free_delete: شما به صورت دلخواه مجاز به حذف این اتاق در هر زمانی هستید.
|
||||
|
@ -393,6 +410,10 @@ fa_IR:
|
|||
keep: در واقع، ترجیح میدم نگهش دارم.
|
||||
delete_warning: این حساب کاربری را غیرفعال می کند. لیست تمام کاربرات غیر فعال را می توانید در تب حذف شده ها مشاهده کنید
|
||||
warning: این تصمیم نهایی است. شما امکان بازیابی داده های مرتبط را <b> نخواهید داشت </b>
|
||||
delete_rec:
|
||||
delete: بلی اطمینان دارم، این جلسهی ضبط شده را حذف کن.
|
||||
header: آیا از حذف این جلسهی ضبط شده اطمینان دارید؟
|
||||
warning: <b>نخواهید توانست</b> این ضبط را بازیابی کنید
|
||||
delete_room:
|
||||
confirm: "آیا شما مطمئنید که می خواهید اتاق %{room} را حذف کنید؟"
|
||||
delete: من مطمئنم، این اتاق را حذف کن.
|
||||
|
@ -465,6 +486,7 @@ fa_IR:
|
|||
office365: افیس 365
|
||||
twitter: توییتر
|
||||
ldap: LDAP
|
||||
openid_connect: کد OpenID
|
||||
recaptcha:
|
||||
errors:
|
||||
recaptcha_unreachable: اوپس، ما در دریافت پاسخ احراز هویت از reCAPTCHA به مشکل بر خوردیم. لطفا دوباره تلاش کنید.
|
||||
|
@ -510,6 +532,7 @@ fa_IR:
|
|||
remove: حذف
|
||||
rename: تغییر نام
|
||||
reset_password:
|
||||
captcha: احراز هویت reCAPTCHA به مشکل برخورده است، لطفا دوباره تلاش کنید.
|
||||
invalid_token: توکن تنظیم مجدد رمزعبور نامعتبر است. لطفا دوباره رمزعبور را دوباره تنظیم کنید.
|
||||
subtitle: بازنشانی رمز عبور
|
||||
password: رمز عبور جدید
|
||||
|
@ -522,10 +545,13 @@ fa_IR:
|
|||
banned: منع شده
|
||||
deleted: حذف شد
|
||||
pending: در انتظار تایید
|
||||
invited: دعوت شده
|
||||
user: کاربر
|
||||
room:
|
||||
access_code_required: لطفا کد دسترسی معتبر برای ورود به جلسه را وارد کنید
|
||||
add_presentation: اضافه کردن ارائه
|
||||
copy_access: کپی کد دسترسی
|
||||
copy_moderator_access: رونوشت کد مدیر
|
||||
create_room: ایجاد یک اتاق
|
||||
create_room_error: خطایی در هنگام ایجاد اتاق به وجود آمده است
|
||||
create_room_success: اتاق با موفقیت ایجاد شد
|
||||
|
@ -534,6 +560,8 @@ fa_IR:
|
|||
success: اتاق با موفقیت حذف شد
|
||||
fail: "خطا در حذف اتاق (%{error})"
|
||||
enter_the_access_code: کد دسترسی به اتاق را وارد کنید
|
||||
enter_the_moderator_access_code: کد مدیر اتاق را وارد کنید!
|
||||
optional_moderator_access_code: "کد اختیاری مدیر:"
|
||||
invalid_provider: شما ادرس نامعتبری را وارد کرده اید، لطفا ادرس را بررسی کرده و دوباره تلاش کنید
|
||||
invitation_description: "با استفاده از بیگ بلو باتن از شما دعوت شده است تا به %{name} بپیوندید. برای پیوستن، لینک زیر را کلیک کنید و نام خود را درج کنید."
|
||||
invited: شما برای ملحق شدن دعوت شده اید
|
||||
|
@ -570,6 +598,7 @@ fa_IR:
|
|||
shared_access_success: اتاق با موفقیت به اشتراک گذاشته شد
|
||||
shared_access_error: خطایی در اشتراک اتاق رخ داد
|
||||
start: آغاز
|
||||
search: جستوجو اتاق...
|
||||
unavailable: این اتاق به دلیل اینکه ایمیل صاحب آن هنوز تایید نشده است در دسترس نیست.
|
||||
update_settings_error: خطایی در به روز رسانی تنظیمات اتاق رخ داده است
|
||||
update_settings_success: اطلاعات اتاق با موفقیت به روز رسانی شد
|
||||
|
|
|
@ -175,6 +175,9 @@ fr:
|
|||
info: Donne à tous les utilisateurs les droits de modérateur dans BigBlueButton lors de la connexion à une conférence.
|
||||
recordings:
|
||||
info: "Permet aux propriétaires d'une salle de préciser s'ils souhaitent ou non avoir la possibilité de l'enregistrer. Si cette option est activée, le modérateur doit toujours cliquer sur le bouton « Enregistrer » une fois que la réunion a commencé."
|
||||
moderator_codes:
|
||||
info: Autoriser les propriétaires de salles la possibilité de générer un code qui permet aux autres utilisateurs de rejoindre directement en tant que modérateur
|
||||
title: Code d'accès modérateur
|
||||
options:
|
||||
disabled: Désactivé
|
||||
enabled: Toujours activé
|
||||
|
@ -226,6 +229,7 @@ fr:
|
|||
cookies:
|
||||
cookie_info: "Les cookies nous aident à fournir nos services. En utilisant nos services, vous acceptez notre utilisation des cookies."
|
||||
cookie_button: Je suis d'accord
|
||||
policy: "Pour plus d'informations, voir notre <a href=\"%{privacy_link}\"><u>politique de confidentialité</u></a>."
|
||||
copied: Copié
|
||||
copy: Copier
|
||||
date:
|
||||
|
@ -352,6 +356,7 @@ fr:
|
|||
info: "Vous avez été invité dans votre espace personnel par %{name}"
|
||||
signup_info: "Pour vous inscrire utilisez votre e-mail, cliquez sur le bouton ci-dessous et suivez les étapes."
|
||||
signup_link: Inscription
|
||||
valid: "L'invitation est valable jusqu'à: %{date}"
|
||||
signup:
|
||||
info: Un utilisateur invité s'est inscrit pour utiliser Greenlight.
|
||||
admins_link: Visitez la page "Organisation"
|
||||
|
@ -390,7 +395,9 @@ fr:
|
|||
title: Créer un nouveau rôle
|
||||
create_room:
|
||||
access_code: Code d'accès
|
||||
moderator_access_code: Code modérateur
|
||||
access_code_placeholder: Générer un code d'accès au salon - optionnel
|
||||
moderator_access_code_placeholder: "Générer un code optionnel pour les modérateurs "
|
||||
auto_join: Me rejoindre automatiquement dans le salon
|
||||
create: Créer une salle
|
||||
free_delete: Vous serez libre de supprimer cette salle à tout moment.
|
||||
|
@ -538,11 +545,13 @@ fr:
|
|||
banned: Banni
|
||||
deleted: Supprimé
|
||||
pending: En attente
|
||||
invited: Invité
|
||||
user: Utilisateur
|
||||
room:
|
||||
access_code_required: Veuillez introduire un code d'accès valide afin de rejoindre la salle
|
||||
add_presentation: Ajouter présentation
|
||||
copy_access: Copier le code d'accès
|
||||
copy_moderator_access: Copier le code modérateur
|
||||
create_room: Créer un salon
|
||||
create_room_error: Une erreur s'est produite lors de la création du salon
|
||||
create_room_success: Salon créé avec succès
|
||||
|
@ -551,6 +560,8 @@ fr:
|
|||
success: Salle supprimée
|
||||
fail: "Erreur lors de la suppression de la salle (%{error})"
|
||||
enter_the_access_code: Veuillez introduire le code d'accès de la salle
|
||||
enter_the_moderator_access_code: Saisissez le code modérateur !
|
||||
optional_moderator_access_code: "Code modérateur optionnel:"
|
||||
invalid_provider: Vous avez introduit une url non valide. Veuillez vérifier l'url et essayez à nouveau.
|
||||
invitation_description: "Vous avez été invité à rejoindre 1%{name} en utilisant le BigBlueButton. Pour le faire, cliquez sur le lien ci-dessus et saisissez votre nom."
|
||||
invited: Vous avez été invité à rejoindre
|
||||
|
|
|
@ -175,6 +175,9 @@ gl:
|
|||
info: Dárlle a todos os usuarios os privilexios de moderador en BigBlueButton cando se unen á xuntanza.
|
||||
recordings:
|
||||
info: "Permitirlle aos propietarios de salas especificar se queren a opción para gravar unha sala ou non. Se está activado, o moderador aínda debe premer no botón «Gravar» unha vez iniciada a xuntanza."
|
||||
moderator_codes:
|
||||
info: Permitir aos propietarios de salas xerar opcionalmente un pin de moderador que permita a outros usuarios unirse directamente como moderadores.
|
||||
title: Código de acceso do moderador
|
||||
options:
|
||||
disabled: Desactivado
|
||||
enabled: Activado sempre
|
||||
|
@ -390,7 +393,9 @@ gl:
|
|||
title: Crear un novo rol
|
||||
create_room:
|
||||
access_code: Código de acceso
|
||||
moderator_access_code: Código do moderador
|
||||
access_code_placeholder: Xerar un código de acceso á sala opcional
|
||||
moderator_access_code_placeholder: Xera un código opcional para os moderadores
|
||||
auto_join: Unirse automaticamente comigo na sala
|
||||
create: Crear unha sala
|
||||
free_delete: Será libre de eliminar esta sala en calquera momento.
|
||||
|
@ -543,6 +548,7 @@ gl:
|
|||
access_code_required: Introduza un código de acceso válido para unirse á sala
|
||||
add_presentation: Engadir presentación
|
||||
copy_access: Copiar o código de acceso
|
||||
copy_moderator_access: Copiar o código de moderador
|
||||
create_room: Crear unha sala
|
||||
create_room_error: Produciuse un erro ao crear a sala
|
||||
create_room_success: Creouse correctamente a sala
|
||||
|
@ -551,6 +557,8 @@ gl:
|
|||
success: Eliminouse correctamente a sala
|
||||
fail: "Non foi posíbel eliminar a sala (%{error})"
|
||||
enter_the_access_code: Introduza o código de acceso á sala
|
||||
enter_the_moderator_access_code: Introduza o código de moderador da sala.
|
||||
optional_moderator_access_code: "Código de moderador opcional:"
|
||||
invalid_provider: Introduciu un URL non válido. Comprobe o URL e ténteo de novo.
|
||||
invitation_description: "Foi convidado a unirse a %{name} empregando BigBlueButton. Para unirse, prema na ligazón superior e escriba o seu nome."
|
||||
invited: Foi convidado a unirse a
|
||||
|
|
|
@ -69,6 +69,10 @@ it:
|
|||
regular: Colore di base
|
||||
lighten: Chiaro
|
||||
darken: Scuro
|
||||
email_mapping:
|
||||
info: "Associa un ruolo all'utente usando la sua email. Deve essere nel formato email1=ruolo1,email2=ruolo2"
|
||||
title: Associazione del ruolo con email
|
||||
update:
|
||||
log_level:
|
||||
title: Livello di Log
|
||||
information: Modifica il livello di Log per l'intera installazione
|
||||
|
@ -111,6 +115,7 @@ it:
|
|||
tabs:
|
||||
appearance: Aspetto
|
||||
administration: Amministrazione
|
||||
registration: Registrazione
|
||||
settings: Impostazioni
|
||||
title: Impostazioni Sito
|
||||
flash:
|
||||
|
@ -133,8 +138,10 @@ it:
|
|||
settings: Le impostazioni web sono state modificate con successo
|
||||
unauthorized: Non sei autorizzato ad effettuare modifiche sull'utente
|
||||
recordings:
|
||||
latest: Ultime registrazioni
|
||||
title: Registrazioni video sul server
|
||||
no_recordings: Il server non ha registrazioni video
|
||||
search_info: Inserisci l'email completa di un utente oppure l'uid di una stanza
|
||||
roles:
|
||||
appear_in_share_list: Includi utenti con questo ruolo nel menu a discesa per la condivisione Stanze
|
||||
can_create_rooms: Non posso creare la stanza
|
||||
|
@ -168,11 +175,15 @@ it:
|
|||
info: Dà a tutti gli utenti i privilegi di moderatore su BigBlueButton quando entrano nel meeting.
|
||||
recordings:
|
||||
info: "Permetti ai proprietari delle stanze di specificare se vogliono poter registrare la stanza o meno. Se abilitata, il moderatore deve comunque cliccare il pulsante \"Registra\" una volta avviato il meeting."
|
||||
moderator_codes:
|
||||
info: Permette ai proprietari di una stanza di generare facoltativamente un pin moderatore che permette agli altri utenti di entrare direttamente come moderatori.
|
||||
title: Codice accesso moderatore
|
||||
options:
|
||||
disabled: Disabilitato
|
||||
enabled: Sempre Abilitata
|
||||
optional: Opzionale
|
||||
rooms:
|
||||
timeout: "A causa del timeout della richiesta sul server 1%{server}, le informazioni riguardanti lo stato e i partecipanti potrebbero non essere accurate"
|
||||
title: Stanze
|
||||
table:
|
||||
ended: "Terminata: %{session}"
|
||||
|
@ -202,12 +213,14 @@ it:
|
|||
table:
|
||||
authenticator: Gestore di autenticazione
|
||||
created: Creato
|
||||
time: Tempo d'invio
|
||||
name: Nome
|
||||
not_found: Nessun utente corrisponde alla ricerca
|
||||
no_users: Nessun utente trovato
|
||||
role: Ruolo
|
||||
uid: ID Utente
|
||||
username: Nome utente
|
||||
valid: Valido
|
||||
title: Gestisci utenti
|
||||
add_to_google_calendar: "Aggiungi a Google Calendar"
|
||||
bigbluebutton: BigBlueButton
|
||||
|
@ -342,6 +355,7 @@ it:
|
|||
info: "Sei stato invitato sul tuo spazio personale da %{name}"
|
||||
signup_info: "Per accedere utilizzando la tua email, clicca il pulsante e segui i passaggi seguenti."
|
||||
signup_link: Accesso
|
||||
valid: "L'invito è valido fino al: %{date}"
|
||||
signup:
|
||||
info: Un utente che e' stato invitato ha avuto accesso a Greenlight.
|
||||
admins_link: Visita la pagina Organizzazione
|
||||
|
@ -380,7 +394,9 @@ it:
|
|||
title: Crea Nuovo Ruolo
|
||||
create_room:
|
||||
access_code: Codice Accesso
|
||||
moderator_access_code: Codice moderatore
|
||||
access_code_placeholder: Genera un codice opzionale di accesso
|
||||
moderator_access_code_placeholder: Genera un codice facoltativo per moderatori
|
||||
auto_join: Aggiungimi automaticamente alla stanza
|
||||
create: Crea Stanza
|
||||
free_delete: Puoi eliminare la stanza in qualsiasi momento.
|
||||
|
@ -469,6 +485,7 @@ it:
|
|||
office365: Office 365
|
||||
twitter: Twitter
|
||||
ldap: LDAP
|
||||
openid_connect: Collegati con OpenID
|
||||
recaptcha:
|
||||
errors:
|
||||
recaptcha_unreachable: "Accidenti, la verifica reCAPTCHA è fallita. Riprova."
|
||||
|
@ -514,6 +531,7 @@ it:
|
|||
remove: Elimina
|
||||
rename: Rinomina
|
||||
reset_password:
|
||||
captcha: "Accidenti, la verifica reCAPTCHA è fallita. Riprova."
|
||||
invalid_token: Il token di reset della password non è valido. Riprova a richiedere il reset nuovamente.
|
||||
subtitle: Reimposta password
|
||||
password: Nuova password
|
||||
|
@ -530,6 +548,8 @@ it:
|
|||
room:
|
||||
access_code_required: Prego immettere un codice valido per entrare nella stanza
|
||||
add_presentation: Aggiungi Presentazione
|
||||
copy_access: Copia codice di accesso
|
||||
copy_moderator_access: Copia codice moderatore
|
||||
create_room: Crea una stanza
|
||||
create_room_error: Si è verificato un errore nella creazione della stanza
|
||||
create_room_success: La stanza è stata creata correttamente
|
||||
|
@ -538,6 +558,8 @@ it:
|
|||
success: Stanza eliminata con successo
|
||||
fail: "Stanza non eliminata a causa dell'errore seguente: %{error}"
|
||||
enter_the_access_code: Immetti il codice di accesso alla stanza
|
||||
enter_the_moderator_access_code: Inserire il codice moderatore della stanza!
|
||||
optional_moderator_access_code: "Codice moderatore facoltativo:"
|
||||
invalid_provider: Hai inserito una url non valida. Per favore verifica e riprova.
|
||||
invitation_description: "Sei stato invitato ad entrare in %{name} usando BigBlueButton. Per entrare, clicca sul link sopra e inserisci il tuo nome."
|
||||
invited: Hai ricevuto un invito per partecipare
|
||||
|
@ -574,6 +596,7 @@ it:
|
|||
shared_access_success: Stanza condivisa con successo
|
||||
shared_access_error: Si e' verificato un errore condividendo la stanza
|
||||
start: Avvia
|
||||
search: Ricerca della stanza…
|
||||
unavailable: La stanza non è disponibile finché il proprietario non verifica il suo indirizzo email.
|
||||
update_settings_error: Si è verificato un errore nell'aggiornamento dei dettagli della stanza
|
||||
update_settings_success: Impostazioni della stanza aggiornate correttamente
|
||||
|
|
|
@ -34,8 +34,8 @@ ja_JP:
|
|||
authentication:
|
||||
disabled: 無効
|
||||
enabled: 有効
|
||||
info: サインインしたユーザのみが会議に参加できるようにします
|
||||
title: 入室を認証ユーザに限定
|
||||
info: サインインしたユーザーのみが会議に参加できるようにします
|
||||
title: 入室を認証ユーザーに限定
|
||||
user-info: この会議室に入るにはサインインが必要になります
|
||||
branding:
|
||||
change: 画像の変更
|
||||
|
@ -60,7 +60,7 @@ ja_JP:
|
|||
title: サービス提供元キャッシュのクリア
|
||||
button: キャッシュのクリア
|
||||
clear_auth:
|
||||
info: ユーザの現在の認証システムをクリアして別の認証方法でサインインできるようにします
|
||||
info: ユーザーの現在の認証システムをクリアして別の認証方法でサインインできるようにします
|
||||
title: 現在の認証システムをクリア
|
||||
button: 認証のクリア
|
||||
color:
|
||||
|
@ -70,7 +70,7 @@ ja_JP:
|
|||
lighten: 明色
|
||||
darken: 暗色
|
||||
email_mapping:
|
||||
info: "メールアドレスを使用してユーザに役割を割り当てる。メールアドレス1=役割1,メールアドレス2=役割2の形式で記述する必要があります"
|
||||
info: "メールアドレスを使用してユーザーに役割を割り当てる。メールアドレス1=役割1,メールアドレス2=役割2の形式で記述する必要があります"
|
||||
title: メールアドレスによる役割の割り当て
|
||||
update:
|
||||
log_level:
|
||||
|
@ -87,29 +87,29 @@ ja_JP:
|
|||
title: 標準の録画公開度
|
||||
warning: この設定は実行していない会議室にのみ適用されます
|
||||
require_consent:
|
||||
info: これにより、会議室のオーナーが、部屋ごとの録画の可否を設定できるようになります。録画される会議に参加するユーザからは、同意を得る必要があります。
|
||||
info: これにより、会議室のオーナーが、部屋ごとの録画の可否を設定できるようになります。録画される会議に参加するユーザーからは、同意を得る必要があります。
|
||||
title: 会議室のオーナーと参加者に、録画への同意を求める
|
||||
maintenance_banner:
|
||||
info: メンテナンスの予定をユーザに通知するバナーを表示します
|
||||
info: メンテナンスの予定をユーザーに通知するバナーを表示します
|
||||
title: メンテナンスバナー
|
||||
display: セットする
|
||||
clear: 消去する
|
||||
time: "例: アップデートが日本時間の12月13日23:00から予定されています。その間サインインがうまくできない可能性があります。"
|
||||
preupload:
|
||||
info: ユーザがプレゼン資料を事前にアップロードできるようになります。この資料は、会議室固有の標準資料として使用されます。
|
||||
info: ユーザーがプレゼン資料を事前にアップロードできるようになります。この資料は、会議室固有の標準資料として使用されます。
|
||||
title: プレゼン資料の事前アップロードを許可
|
||||
registration:
|
||||
info: ユーザがWebサイトに登録する方法を変更する
|
||||
info: ユーザーがWebサイトに登録する方法を変更する
|
||||
title: 登録方法
|
||||
methods:
|
||||
approval: 承認制
|
||||
invite: 招待制
|
||||
open: 自由登録
|
||||
rooms:
|
||||
info: ユーザが所有できる会議室の数を制限します(主会議室を含む)。 この設定は管理者には適用されません。
|
||||
title: ユーザあたりの会議室数
|
||||
info: ユーザーが所有できる会議室の数を制限します(主会議室を含む)。 この設定は管理者には適用されません。
|
||||
title: ユーザーあたりの会議室数
|
||||
shared_access:
|
||||
info: 無効に設定すると、各会議室のドロップダウンから「アクセス管理」ボタンが削除され、ユーザが会議室を共有できなくなります
|
||||
info: 無効に設定すると、各会議室のドロップダウンから「アクセス管理」ボタンが削除され、ユーザーが会議室を共有できなくなります
|
||||
title: 会議室の共有を許可
|
||||
subtitle: Greenlightのカスタマイズ
|
||||
tabs:
|
||||
|
@ -119,62 +119,65 @@ ja_JP:
|
|||
settings: 設定
|
||||
title: サイトの設定
|
||||
flash:
|
||||
approved: ユーザが承認されました。
|
||||
banned: ユーザがロックされました。
|
||||
unbanned: ユーザのロックが解除されました。
|
||||
delete: ユーザが削除されました
|
||||
delete_fail: ユーザを削除できませんでした
|
||||
demoted: ユーザが降格されました
|
||||
approved: ユーザーが承認されました。
|
||||
banned: ユーザーがロックされました。
|
||||
unbanned: ユーザーのロックが解除されました。
|
||||
delete: ユーザーが削除されました
|
||||
delete_fail: ユーザーを削除できませんでした
|
||||
demoted: ユーザーが降格されました
|
||||
invite: "%{email} に招待状を送信しました"
|
||||
invite_email_verification: この方法を使用するには、メールを有効にする必要があります。 システム管理者にお問い合わせください。
|
||||
merge_fail: ユーザアカウントのマージ中に問題が発生しました。 選択したユーザを確認して、もう一度お試しください
|
||||
merge_success: ユーザアカウントがマージされました
|
||||
perm_deleted: ユーザが完全に削除されました
|
||||
promoted: ユーザが昇格しました
|
||||
merge_fail: ユーザーアカウントのマージ中に問題が発生しました。 選択したユーザーを確認して、もう一度お試しください
|
||||
merge_success: ユーザーアカウントがマージされました
|
||||
perm_deleted: ユーザーが完全に削除されました
|
||||
promoted: ユーザーが昇格しました
|
||||
registration_method_updated: 登録方法が更新されました
|
||||
reset_password: パスワードをリセットするためのメールがユーザに送信されました。 (受信していない場合は、迷惑メールフォルダを確認してみてください)
|
||||
restored: ユーザが復元されました
|
||||
reset_password: パスワードをリセットするためのメールがユーザーに送信されました。 (受信していない場合は、迷惑メールフォルダを確認してみてください)
|
||||
restored: ユーザーが復元されました
|
||||
room_configuration: 会議室の設定が変更されました。
|
||||
settings: サイト設定が変更されました
|
||||
unauthorized: このユーザにアクションを実行する権限がありません
|
||||
unauthorized: このユーザーにアクションを実行する権限がありません
|
||||
recordings:
|
||||
latest: 最新の録画
|
||||
title: すべての録画
|
||||
no_recordings: このサーバには録画がありません。
|
||||
search_info: ユーザの電子メールアドレスか、会議室のuidを入力して下さい。
|
||||
search_info: ユーザーの電子メールアドレスか、会議室のIDを入力して下さい。
|
||||
roles:
|
||||
appear_in_share_list: 会議室共有のドロップダウンにこの役割を割り当てられたユーザを含める
|
||||
appear_in_share_list: 会議室共有のドロップダウンに含める
|
||||
can_create_rooms: 会議室の作成権
|
||||
delete: 役割の削除
|
||||
invalid_create: 新しい役割の作成中に問題が発生しました。 設定を確認して再度お試しください
|
||||
invalid_order: 役割の優先度を更新中に問題が発生しました。 設定を確認して再度お試しください
|
||||
invalid_update: 役割の権限を更新中に問題が発生しました。 設定を確認して再度お試しください
|
||||
manage_rooms_recordings: サーバに存在する全ての会議室と録画の管理権を許可
|
||||
manage_rooms_recordings: 会議室と録画の管理権
|
||||
name: 役割の名前
|
||||
new_role: 新しい役割を作成する
|
||||
role_has_users: "この役割は %{user_count} アカウントに割り当てられています。 削除する前に、この役割からすべてのアカウントを削除してください。"
|
||||
title: 役割
|
||||
promote_email: ユーザにこの役割が割り当てられたときにメールを送信する
|
||||
demote_email: ユーザがこの役割を解除されたときにメールを送信する
|
||||
promote_email: この役割が割り当てられたときにはメールで知らせる
|
||||
demote_email: この役割を解除されたときはメールで知らせる
|
||||
edit_site_settings: サイト設定の編集権
|
||||
edit_roles: 役割の編集権
|
||||
manage_users: ユーザの管理権
|
||||
invalid_assignment: ユーザへの役割設定中に問題が発生しました。 設定を確認して再度お試しください
|
||||
manage_users: ユーザーの管理権
|
||||
invalid_assignment: ユーザーへの役割設定中に問題が発生しました。 設定を確認して再度お試しください
|
||||
colour:
|
||||
title: 役割の色
|
||||
info: 役割に関連付ける色を設定します
|
||||
room_configuration:
|
||||
title: 会議室の設定
|
||||
mute:
|
||||
info: ユーザが会議に参加した時、自動的にミュートします。
|
||||
info: ユーザーが会議に参加した時、自動的にミュートします。
|
||||
require_moderator:
|
||||
info: ユーザが会議に参加しようとした時、モデレータに問い合わせが行きます。許可が得られればユーザは参加できます。
|
||||
info: ユーザーが会議に参加しようとした時、モデレータに問い合わせが行きます。許可が得られればユーザーは参加できます。
|
||||
allow_any:
|
||||
info: 全てのユーザがいつでも会議を開始することを許可します。通常は会議室のオーナーだけが会議を開始できます。
|
||||
info: 全てのユーザーがいつでも会議を開始することを許可します。通常は会議室のオーナーだけが会議を開始できます。
|
||||
all_moderator:
|
||||
info: すべてのユーザに、会議に参加した時点で司会者の権限をあたえます。
|
||||
info: すべてのユーザーに、会議に参加した時点で司会者の権限をあたえます。
|
||||
recordings:
|
||||
info: 会議室のオーナーが、会議を録画させるかどうかの選択肢を提供できるようになります。これをオンにしたとしても、録画を開始するためには、司会者は"録画"ボタンを押す必要があります。
|
||||
moderator_codes:
|
||||
info: 会議室の所有者に、モデレーターPINコードの発行を許可します。このコードがあれば、他のユーザーが直接モデレーターとして会議に参加できます。
|
||||
title: モデレーターPINコード
|
||||
options:
|
||||
disabled: 常に無効
|
||||
enabled: 常に有効
|
||||
|
@ -193,32 +196,32 @@ ja_JP:
|
|||
view: 表示
|
||||
title: 設定
|
||||
users:
|
||||
invite: ユーザを招待する
|
||||
invite: ユーザーを招待する
|
||||
edit:
|
||||
title: ユーザ詳細の編集
|
||||
title: ユーザーの詳細情報を編集
|
||||
settings:
|
||||
approve: 承認する
|
||||
decline: 却下する
|
||||
ban: ユーザをロックする
|
||||
ban: ユーザーをロックする
|
||||
delete: 削除する
|
||||
edit: 編集する
|
||||
edit_roles: ユーザの役割を編集する
|
||||
edit_roles: ユーザーの役割を編集する
|
||||
merge: マージ
|
||||
perm_delete: 完全に削除する
|
||||
unban: ユーザのロックを解除
|
||||
unban: ユーザーのロックを解除
|
||||
undelete: 削除の取消
|
||||
table:
|
||||
authenticator: 認証元
|
||||
created: 作成
|
||||
time: 送付時刻
|
||||
name: 名前
|
||||
not_found: 検索に一致するユーザはいません
|
||||
no_users: ユーザが見つかりません
|
||||
not_found: 検索条件に一致するユーザーはいません
|
||||
no_users: ユーザーが見つかりません
|
||||
role: 役割
|
||||
uid: ユーザID
|
||||
username: ユーザ名
|
||||
uid: ユーザーID
|
||||
username: ユーザー名
|
||||
valid: 有効
|
||||
title: ユーザ管理
|
||||
title: ユーザー管理
|
||||
add_to_google_calendar: "Googleカレンダーに追加"
|
||||
bigbluebutton: BigBlueButton
|
||||
bigbluebutton_exception: 会議を開始するときにエラーが発生しました!
|
||||
|
@ -226,6 +229,7 @@ ja_JP:
|
|||
cookies:
|
||||
cookie_info: Cookieはこのサービスの提供に使われています。 このサービスの利用によりCookieの使用に同意したことになります。
|
||||
cookie_button: 同意する
|
||||
policy: "詳しくは私たちの <a href=\"%{privacy_link}\"><u>プライバシーポリシー</u></a>をご覧ください。"
|
||||
copied: コピー済み
|
||||
copy: コピー
|
||||
date:
|
||||
|
@ -272,7 +276,7 @@ ja_JP:
|
|||
help: 削除されている可能性はありませんか?
|
||||
user_not_found:
|
||||
help: 管理者にお問い合わせください。
|
||||
message: このユーザは登録されていません。
|
||||
message: このユーザーは登録されていません。
|
||||
user_missing:
|
||||
help: URLを確認して再度お試しください
|
||||
message: 入力されたURLは無効です。
|
||||
|
@ -286,7 +290,7 @@ ja_JP:
|
|||
rooms: 会議室の作成
|
||||
recordings: 録画の管理
|
||||
designs: デザインの調整
|
||||
authentication: ユーザの認証
|
||||
authentication: ユーザーの認証
|
||||
footer:
|
||||
legal: 利用規約
|
||||
privpolicy: プライバシーポリシー
|
||||
|
@ -320,7 +324,7 @@ ja_JP:
|
|||
search:
|
||||
start: 検索開始...
|
||||
landing:
|
||||
about: "%{href}は、オープンソースWeb会議サーバ BigBlueButton のシンプルなフロントエンドです。 自分の会議室を作成してセッションを主催したり、簡単なリンクを使用して他のユーザが参加したりできます。"
|
||||
about: "%{href}は、オープンソースWeb会議サーバ BigBlueButton のシンプルなフロントエンドです。 自分の会議室を作成してセッションを主催したり、簡単なリンクを使用して他のユーザーを招待したりできます。"
|
||||
welcome: BigBlueButton へようこそ
|
||||
video: Greenlightの使い方に関するチュートリアルを見る
|
||||
upgrade: 2.0にアップグレードする方法を教えて!
|
||||
|
@ -336,29 +340,30 @@ ja_JP:
|
|||
signin: パーソナル会議室にアクセスするには、下のボタンをクリックしてサインインしてください。
|
||||
signin_link: サインイン
|
||||
signup:
|
||||
info: 新しいユーザがGreenlightを利用するためにサインアップしました。
|
||||
more-info: このユーザがGreenlightにアクセスできるようにするには、[構成の設定]でアカウントを承認する必要があります。
|
||||
info: 新しいユーザーがGreenlightを利用するためにサインアップしました。
|
||||
more-info: このユーザーがGreenlightにアクセスできるようにするには、「構成の設定」でアカウントを承認する必要があります。
|
||||
admins_link: 構成ページを見る
|
||||
subject: 新しいGreenlightユーザのサインアップ
|
||||
username: "ユーザは名前 %{name} とメールアドレス %{email} でサインアップしました。"
|
||||
subject: 新しいGreenlightユーザーのサインアップ
|
||||
username: "このユーザーは名前 %{name} とメールアドレス %{email} でサインアップしました。"
|
||||
subject: アカウントが承認されました
|
||||
username: "あなたのユーザ名は %{email} です。"
|
||||
username: "あなたのユーザー名は %{email} です。"
|
||||
demoted:
|
||||
info: "あなたは %{url} の %{role} ではなくなりました。"
|
||||
more-info: これで通常のユーザと同じ権限が与えられるようになりました。
|
||||
more-info: これであなたに通常のユーザーと同じ権限が与えられました。
|
||||
root_link: サインイン
|
||||
subtitle: "%{role} の権限が取り消されました"
|
||||
invite:
|
||||
info: "%{name} があなたをパーソナルスペースに招待しました"
|
||||
signup_info: メールを使ってサインアップするには、以下のボタンをクリックして、手順に従ってください。
|
||||
signup_link: サインアップ
|
||||
valid: "招待の有効期限: %{date}"
|
||||
signup:
|
||||
info: 招待されたユーザがGreenlightを使用するためにサインアップしました。
|
||||
info: 招待されたユーザーがGreenlightを使用するためにサインアップしました。
|
||||
admins_link: 構成ページにアクセス
|
||||
subject: 新しいGreenlightユーザのサインアップ
|
||||
username: "ユーザは名前 %{name} とメールアドレス %{email} でサインアップしました。"
|
||||
subject: 新しいGreenlightユーザーのサインアップ
|
||||
username: "このユーザーは %{name} という名前と %{email} というメールアドレスでサインアップしました。"
|
||||
subject: BigBlueButtonへの招待
|
||||
username: "あなたのユーザ名は %{email} です。"
|
||||
username: "あなたのユーザー名は %{email} です。"
|
||||
password_reset:
|
||||
title: 'パスワードのリセット'
|
||||
welcome: "メールアドレス <b>%{email}</b> のパスワードリセットが要求されました。"
|
||||
|
@ -373,8 +378,8 @@ ja_JP:
|
|||
subtitle: "%{role} 権限の付与"
|
||||
verify_email:
|
||||
welcome: "%{name}さん パーソナルスペースへようこそ!"
|
||||
success: "%{bigbluebutton} を活用して、自分の会議室を作成したり、セッションをホストしたり、他のユーザと共同作業したりできます。"
|
||||
username: "あなたのユーザ名は %{email} です。"
|
||||
success: "%{bigbluebutton} を活用して、自分の会議室を作成したり、セッションをホストしたり、他のユーザーと共同作業したりできます。"
|
||||
username: "あなたのユーザー名は %{email} です。"
|
||||
verify: アカウントを確認するには、下のボタンをクリックしてください。
|
||||
verify_text: 'アカウントを確認するには、次のリンクにアクセスしてください: %{url}'
|
||||
verify_link: アカウントを確認
|
||||
|
@ -390,7 +395,9 @@ ja_JP:
|
|||
title: 新しい役割を作成
|
||||
create_room:
|
||||
access_code: アクセスコード
|
||||
moderator_access_code: モデレーターコード
|
||||
access_code_placeholder: 会議室のアクセスコードを生成する
|
||||
moderator_access_code_placeholder: 予備のモデレーターコードを作成する
|
||||
auto_join: 会議に自動的に参加する
|
||||
create: 会議室の作成
|
||||
free_delete: この会議室はいつでも自由に削除できます。
|
||||
|
@ -401,7 +408,7 @@ ja_JP:
|
|||
confirm: このアカウントを削除してもよろしいですか?
|
||||
delete: このアカウントを削除します。
|
||||
keep: やっぱり残します。
|
||||
delete_warning: これによりユーザのアカウントが無効になります。 無効化されたすべてのユーザは[削除]タブに表示されます。
|
||||
delete_warning: これによりユーザーのアカウントが無効になります。 無効化されたすべてのユーザーは[削除]タブに表示されます。
|
||||
warning: この決定は最終的なものです。 関連するデータを回復することは<b>二度と</b>できません。
|
||||
delete_rec:
|
||||
delete: はい、削除します。
|
||||
|
@ -414,10 +421,10 @@ ja_JP:
|
|||
warning: この会議室を復活させることは<b>できません</b>
|
||||
recording_warning: "また、これに関連した %{recordings_num} 個の録画も同様です。"
|
||||
invite_user:
|
||||
email_placeholder: ユーザのメールアドレスを入力してください(複数の場合はコンマ区切り)
|
||||
footer: ユーザには、サインアップ方法の説明が記載されたメールが届きます
|
||||
email_placeholder: ユーザーのメールアドレスを入力してください(複数の場合は半角コンマ区切り)
|
||||
footer: ユーザーには、サインアップ方法の説明が記載されたメールが届きます
|
||||
send: 招待状を送る
|
||||
title: ユーザを招待
|
||||
title: ユーザーを招待
|
||||
login:
|
||||
or: あるいは
|
||||
with: "%{provider} でサインイン"
|
||||
|
@ -439,30 +446,30 @@ ja_JP:
|
|||
title: 会議室の設定
|
||||
update: 会議室の更新
|
||||
client: クライアントの種類を選択
|
||||
join_moderator: すべてのユーザがモデレータとして参加
|
||||
mute: 参加時にユーザをミュート
|
||||
join_moderator: すべてのユーザーがモデレータとして参加
|
||||
mute: 参加時にユーザーをミュート
|
||||
require_approval: 会議参加にモデレータの承認を必要とする
|
||||
start: すべてのユーザに会議の開始を許可
|
||||
start: すべてのユーザーに会議の開始を許可
|
||||
footer_text: 会議室の設定はいつでも変更可能です。
|
||||
recording: 会議室の録画を許可
|
||||
rename_room:
|
||||
name_placeholder: 新しい会議室名を入力してください...
|
||||
share_access:
|
||||
footer: ユーザと会議室を共有すると、 ユーザは会議を開始したり会議の録画を表示したりできます
|
||||
list: 共有するユーザ
|
||||
footer: 会議室を共有すると、 ユーザも会議を開始したり会議の録画を表示したりできます
|
||||
list: 共有するユーザー
|
||||
title: 会議室アクセスの共有
|
||||
save: 変更を保存
|
||||
cancel_changes: 変更をキャンセル
|
||||
select: ユーザの選択
|
||||
select: ユーザーの選択
|
||||
merge_user:
|
||||
cancel: キャンセル
|
||||
from: マージするアカウント
|
||||
title: ユーザアカウントのマージ
|
||||
title: ユーザーアカウントのマージ
|
||||
to: プライマリアカウント
|
||||
save: マージ
|
||||
footer: マージされるアカウントの会議室は、アカウント削除前にプライマリアカウントの会議室一覧に転送されます。
|
||||
name_update_success: 会議室名が変更されました!
|
||||
no_user_email_exists: 指定されたメールアドレスを持つ既存のユーザはいません。 入力内容を確認してください。
|
||||
no_user_email_exists: 指定されたメールアドレスを持つユーザーは存在しません。 入力内容を確認してください。
|
||||
omniauth_error: OmniAuthで認証中にエラーが発生しました。 再試行するか、管理者に連絡してください!
|
||||
omniauth_specific_error: "OmniAuthで認証中に %{error} が発生しました。再試行するか、管理者に連絡してください!"
|
||||
pagy:
|
||||
|
@ -538,11 +545,13 @@ ja_JP:
|
|||
banned: ロック
|
||||
deleted: 削除
|
||||
pending: 保留
|
||||
user: ユーザ
|
||||
invited: 招待
|
||||
user: ユーザー
|
||||
room:
|
||||
access_code_required: 会議に参加するには、有効なアクセスコードを入力してください
|
||||
add_presentation: プレゼン資料を追加
|
||||
copy_access: アクセスコードをコピー
|
||||
copy_moderator_access: モデレーターコードをコピーする
|
||||
create_room: 会議室の作成
|
||||
create_room_error: 会議室の作成中にエラーが発生しました
|
||||
create_room_success: 会議室が作成されました
|
||||
|
@ -551,6 +560,8 @@ ja_JP:
|
|||
success: 会議室を削除しました
|
||||
fail: "会議室の削除に失敗しました(%{error})"
|
||||
enter_the_access_code: 会議室のアクセスコードを入力してください
|
||||
enter_the_moderator_access_code: モデレーターコードを使用して会議室に入室する
|
||||
optional_moderator_access_code: "予備のモデレーターコード"
|
||||
invalid_provider: 無効なURLを入力しました。 URLを確認して、もう一度試してみてください。
|
||||
invitation_description: "BigBlueButtonを使用して%{name}に参加するよう招待されました。参加するためには下のリンクをクリックし、名前を入力してください。"
|
||||
invited: 招待されています
|
||||
|
@ -563,7 +574,7 @@ ja_JP:
|
|||
owner_banned: この会議室は現在利用できません
|
||||
no_room:
|
||||
description: 参加する会議室のURLまたはIDを入力します。
|
||||
edit_profile: ユーザプロファイルの編集
|
||||
edit_profile: ユーザープロファイルの編集
|
||||
go_to: 会議室へ
|
||||
invalid_room_uid: 入力された会議室の URL/UID は無効です
|
||||
placeholder: 会議室の URL/UID
|
||||
|
@ -601,10 +612,10 @@ ja_JP:
|
|||
provider: 認証元
|
||||
image: プロフィール画像
|
||||
image_url: プロフィール画像のURL
|
||||
roles: ユーザの役割
|
||||
roles: ユーザーの役割
|
||||
subtitle: アカウント情報を更新する
|
||||
title: アカウント情報
|
||||
reset_password: ユーザのパスワードを再設定する
|
||||
reset_password: ユーザーのパスワードを再設定する
|
||||
delete:
|
||||
button: はい、アカウントを削除します
|
||||
disclaimer: アカウントを削除した場合、アカウントを回復することは<b>できません</b>。 設定、会議室、録画など、アカウントに関するすべての情報が削除されます。
|
||||
|
|
|
@ -175,6 +175,9 @@ nl:
|
|||
info: Geeft alle gebruikers moderatorrechten in BigBlueButton wanneer ze deelnemen aan de vergadering.
|
||||
recordings:
|
||||
info: "Hiermee kunnen kamereigenaren aangeven of ze de optie willen om een kamer op te nemen of niet. Indien ingeschakeld, moet de moderator nog steeds op de knop \"Opnemen\" klikken nadat de vergadering is begonnen."
|
||||
moderator_codes:
|
||||
info: Zorgt ervoor dat kamer eigenaars optioneel een moderator pin code kunnen genereren waarmee andere gebruikers direct als moderator kunnen deelnemen.
|
||||
title: Moderator Toegangscode
|
||||
options:
|
||||
disabled: Uitgeschakeld
|
||||
enabled: Altijd ingeschakeld
|
||||
|
@ -226,6 +229,7 @@ nl:
|
|||
cookies:
|
||||
cookie_info: "Cookies helpen ons onze diensten te leveren. Door onze services te gebruiken, gaat u akkoord met ons gebruik van cookies."
|
||||
cookie_button: Daar ben ik het mee eens
|
||||
policy: "Voor meer information, consulteer onze <a href=\"%{privacy_link}\"><u>privacy policy</u></a>."
|
||||
copied: Gekopieerd
|
||||
copy: Kopiëren
|
||||
date:
|
||||
|
@ -352,6 +356,7 @@ nl:
|
|||
info: "Je bent uitgenodigd voor je eigen persoonlijke ruimte door %{name}"
|
||||
signup_info: Klik op de onderstaande knop om u aan te melden met uw e-mail en volg de stappen.
|
||||
signup_link: Registreren
|
||||
valid: "De uitnodiging is geldig tot: %{date}"
|
||||
signup:
|
||||
info: Een uitgenodigde gebruiker heeft zich aangemeld om Greenlight te gebruiken.
|
||||
admins_link: Bezoek de organisatiepagina
|
||||
|
@ -390,7 +395,9 @@ nl:
|
|||
title: Nieuwe rol maken
|
||||
create_room:
|
||||
access_code: Toegangscode
|
||||
moderator_access_code: Moderator Code
|
||||
access_code_placeholder: Genereer een optionele toegangscode voor de kamer
|
||||
moderator_access_code_placeholder: Genereer een optionele code voor moderatoren
|
||||
auto_join: Ga automatisch mee naar binnen
|
||||
create: Ruimte creëren
|
||||
free_delete: U kunt deze ruimte op elk gewenst moment verwijderen.
|
||||
|
@ -538,11 +545,13 @@ nl:
|
|||
banned: Verbannen
|
||||
deleted: Verwijderd
|
||||
pending: In afwachting
|
||||
invited: Uitgenodigd
|
||||
user: Gebruiker
|
||||
room:
|
||||
access_code_required: Voer een geldige toegangscode in om toegang te krijgen tot de kamer
|
||||
add_presentation: Presentatie toevoegen
|
||||
copy_access: Kopieer Toegangscode
|
||||
copy_moderator_access: "Kopieer Moderator Code "
|
||||
create_room: Maak een kamer
|
||||
create_room_error: Er is een fout opgetreden bij het maken van de kamer
|
||||
create_room_success: Kamer met succes gemaakt
|
||||
|
@ -551,6 +560,8 @@ nl:
|
|||
success: Kamer succesvol verwijderd
|
||||
fail: "Kan kamer niet verwijderen (%{error})"
|
||||
enter_the_access_code: Voer de toegangscode van de kamer in
|
||||
enter_the_moderator_access_code: Vul de moderator code van de kamer in!
|
||||
optional_moderator_access_code: "Optionele Moderator Code"
|
||||
invalid_provider: U heeft een ongeldige URL ingevoerd. Controleer de URL en probeer het opnieuw.
|
||||
invitation_description: "Je bent uitgenodigd om deel te nemen aan %{name} via BigBlueButton. Klik op bovenstaande link en voert u uw naam in om te beginnen."
|
||||
invited: Je bent uitgenodigd om lid te worden
|
||||
|
|
|
@ -36,7 +36,7 @@ ru:
|
|||
enabled: Включено
|
||||
info: Только аутентифицированные пользователи смогут присоединиться к комнате
|
||||
title: Требовать аутентификации для подключения к комнатам
|
||||
user-info: Вы должны войти в Greenlight для присоединения к этой комнате
|
||||
user-info: Вы должны авторизоваться в системе чтобы присоединиться к этой комнате.
|
||||
branding:
|
||||
change: Сменить изображение
|
||||
info: "Сменить фирменное изображение, размещенное в левом верхнем углу"
|
||||
|
@ -45,9 +45,9 @@ ru:
|
|||
invalid: Неверная ссылка
|
||||
legal:
|
||||
change: Измените ссылку
|
||||
info: "Изменить ссылку на Соглашение, которая появляется внизу страницы"
|
||||
placeholder: Ссылка на Соглашение
|
||||
title: Соглашение
|
||||
info: "Изменить ссылку Правила, которая отображается в нижней части страницы"
|
||||
placeholder: Ссылка на Правила...
|
||||
title: Правила
|
||||
invalid: Неверная ссылка
|
||||
privpolicy:
|
||||
change: Измените ссылку
|
||||
|
@ -69,6 +69,10 @@ ru:
|
|||
regular: Основной
|
||||
lighten: Светлый
|
||||
darken: Темный
|
||||
email_mapping:
|
||||
info: "Сопоставьте пользователя с ролью, используя его электронную почту. Должно быть в формате: email1=role1,email2=role2"
|
||||
title: Сопоставление ролей по электронной почте
|
||||
update:
|
||||
log_level:
|
||||
title: Уровень журналирования
|
||||
information: Изменение общего уровня журналирования
|
||||
|
@ -82,6 +86,18 @@ ru:
|
|||
info: "Устанавливает уровень доступности по умолчанию, для новых записей"
|
||||
title: Доступность по умолчанию для записей
|
||||
warning: "Данная настройка не применится к комнатам, которые уже запущены."
|
||||
require_consent:
|
||||
info: "Эта настройка активирует настройку комнаты, в которой владелец может настроить, может ли вестись запись вебинара в его комнате. Присоединяющиеся пользователи должны дать своё согласие на запись перед присоединением."
|
||||
title: Требуется согласие владельца комнаты и присоединяющегося пользователя для включения записи
|
||||
maintenance_banner:
|
||||
info: Отображает пользователю баннер о техническом обслуживании
|
||||
title: Баннер о техническом обслуживании
|
||||
display: Установить
|
||||
clear: Очистить
|
||||
time: "Например: Обновление запланировано на 13 декабря, 23:00 во восточному времени. У пользователей могут возникнуть проблемы при входе в систему."
|
||||
preupload:
|
||||
info: "Пользователи могут предварительно загрузить презентацию, которая будет использоваться в качестве презентации по умолчанию для этой комнаты."
|
||||
title: Разрешить пользователям предварительно загружать презентации
|
||||
registration:
|
||||
info: Смена способа регистрации пользователей на сайте
|
||||
title: Метод регистрации
|
||||
|
@ -96,6 +112,11 @@ ru:
|
|||
info: Отключение опции удалит кнопку из выпадающего меню опций Комнаты и запретит пользователям совместное использование комнат
|
||||
title: Разрешить пользователям совместное использование комнат
|
||||
subtitle: Изменить настройки интерфейса Greenlight
|
||||
tabs:
|
||||
appearance: Внешний вид
|
||||
administration: Администрирование
|
||||
registration: Регистрация
|
||||
settings: Настройки
|
||||
title: Настройки сайта
|
||||
flash:
|
||||
approved: Пользователь одобрен.
|
||||
|
@ -117,8 +138,10 @@ ru:
|
|||
settings: Настройки сайта изменены
|
||||
unauthorized: У вас недостаточно прав для выполнения действий с этим пользователем
|
||||
recordings:
|
||||
latest: Последние записи
|
||||
title: Записи сервера
|
||||
no_recordings: На данном сервере нет записей.
|
||||
search_info: Введите адрес электронной почты пользователя или id комнаты
|
||||
roles:
|
||||
appear_in_share_list: Показывать пользователей с этой ролью в меню совместного использования комнат
|
||||
can_create_rooms: Создание комнат
|
||||
|
@ -150,11 +173,17 @@ ru:
|
|||
info: "Позволить любому пользователю начать конференцию в любое время. По-умолчанию, только влелец комнаты может начинать конференцию."
|
||||
all_moderator:
|
||||
info: "Дать всем пользователям права модератора, когда они подключаются к конференции"
|
||||
recordings:
|
||||
info: "Разрешает владельцам комнат настраивать, хотят ли они вести запись в комнате. Если включено, модератор все равно должен нажать \"Начать запись\" после начала вебинара."
|
||||
moderator_codes:
|
||||
info: "Позволяет владельцам комнат генерировать PIN-код модератора, который позволит другим пользователям присоединиться в роли модератора."
|
||||
title: Код доступа модератора
|
||||
options:
|
||||
disabled: Отключено
|
||||
enabled: Всегда Включено
|
||||
optional: Необязательный
|
||||
rooms:
|
||||
timeout: "Из-за %{server} Время ожидания ответа от сервера истекло, информация о статусе и участниках может быть не точной."
|
||||
title: Комнаты сервера
|
||||
table:
|
||||
ended: "Закончена: %{session}"
|
||||
|
@ -184,12 +213,14 @@ ru:
|
|||
table:
|
||||
authenticator: Аутентификатор
|
||||
created: Создано
|
||||
time: Время отправки
|
||||
name: Имя
|
||||
not_found: По вашему запросу пользователи не найдены
|
||||
no_users: Пользователи не найдены
|
||||
role: Роль
|
||||
uid: ID пользователя
|
||||
username: Имя пользователя
|
||||
valid: Действительно
|
||||
title: Управление пользователями
|
||||
add_to_google_calendar: "Добавить в мой Google Calendar"
|
||||
bigbluebutton: BigBlueButton
|
||||
|
@ -198,6 +229,7 @@ ru:
|
|||
cookies:
|
||||
cookie_info: Cookies помогают нам в предоставлении наших сервисов. Используя наши сервисы Вы соглашаетесь с использованием cookies.
|
||||
cookie_button: Я согласен
|
||||
policy: "Для подробной информации посмотрите <a href=\"%{privacy_link}\"><u>политику конфиденциальности</u></a>."
|
||||
copied: Скопировано
|
||||
copy: Копировать
|
||||
date:
|
||||
|
@ -260,7 +292,7 @@ ru:
|
|||
designs: Изменение внешнего вида
|
||||
authentication: Аутентификация пользователей
|
||||
footer:
|
||||
legal: Соглашение
|
||||
legal: Правила
|
||||
privpolicy: Политика Конфиденциальности
|
||||
powered_by: "Работает под управлением %{href}."
|
||||
forgot_password:
|
||||
|
@ -324,6 +356,7 @@ ru:
|
|||
info: "Вы приглашены пользователем %{name} в ваш аккаунт"
|
||||
signup_info: "Для входа используйте ваш email, нажмите на кнопку ниже и следуйте инструкциям."
|
||||
signup_link: Регистрация
|
||||
valid: "Приглашение действительно до: %{date}"
|
||||
signup:
|
||||
info: "Пользователь, который был приглашен зарегистрироваться в Greenlight."
|
||||
admins_link: Посетить страничку орагнизации
|
||||
|
@ -351,8 +384,6 @@ ru:
|
|||
verify_text: 'Для подтверждения вашего аккаунта, пройдите по ссылке: %{url}'
|
||||
verify_link: Подтверждение аккаунта
|
||||
thanks: Спасибо за присоединение и хорошего дня!
|
||||
maintenance:
|
||||
window_alert: "Время обслуживания запланировано на %{date}"
|
||||
max_concurrent: Достигнуто максимальное количество одновременно разрешенных сессий!
|
||||
merged: Объединен
|
||||
modal:
|
||||
|
@ -364,7 +395,9 @@ ru:
|
|||
title: Создать новую роль
|
||||
create_room:
|
||||
access_code: Код доступа
|
||||
moderator_access_code: Код модератора
|
||||
access_code_placeholder: Генерация дополнительного кода доступа в комнату
|
||||
moderator_access_code_placeholder: Генерация кода для модераторов
|
||||
auto_join: Автоматически подключать меня к комнате
|
||||
create: Создать комнату
|
||||
free_delete: Вы можете удалить эту комнату в любое время.
|
||||
|
@ -377,6 +410,10 @@ ru:
|
|||
keep: "Пожалуй, оставлю."
|
||||
delete_warning: Данное действие отключит пользовательский аккаунт. Все отключенные пользователи находятся на вкладе "Удаленые".
|
||||
warning: Это решение является окончательным. Вы <b>не</b> сможете восстановить связанные с пользователем данные.
|
||||
delete_rec:
|
||||
delete: "Я уверен, удалите эту запись"
|
||||
header: "Вы уверены, что хотите удалить эту запись?"
|
||||
warning: Вы<b>не можете</b> восстановить эту запись
|
||||
delete_room:
|
||||
confirm: "Вы уверены, что хотите удалить \"%{room}\"?"
|
||||
delete: "Я уверен, удалить комнату."
|
||||
|
@ -392,6 +429,14 @@ ru:
|
|||
or: или
|
||||
with: "Войти с помощью %{provider}"
|
||||
forgot_password: "Забыли пароль?"
|
||||
preupload:
|
||||
change: Заменить презентацию
|
||||
choose: Выберите файл...
|
||||
current: "Текущая презентация:"
|
||||
footer: "В зависимости от размера презентации может потребоваться дополнительное время для загрузки, прежде чем её можно будет использовать."
|
||||
invalid: "Недопустимый размер/тип файла. Пожалуйста, ознакомьтесь с приведенными ниже требованиями к файлам."
|
||||
title: Добавить презентацию
|
||||
use: Использовать презентацию
|
||||
rename_recording:
|
||||
remove_shared:
|
||||
title: "Вы уверенны что хотите удалить данную комнату из вашего списка комнат?"
|
||||
|
@ -406,6 +451,7 @@ ru:
|
|||
require_approval: Требуется одобрение модератора перед подключением
|
||||
start: Любой пользователь может начать данную встречу
|
||||
footer_text: Настройки вашей комнаты можно изменять в любое время.
|
||||
recording: Разрешить запись в этой комнате
|
||||
rename_room:
|
||||
name_placeholder: Введите название комнаты...
|
||||
share_access:
|
||||
|
@ -440,6 +486,7 @@ ru:
|
|||
office365: Office 365
|
||||
twitter: Twitter
|
||||
ldap: LDAP
|
||||
openid_connect: Соединение через OpenID
|
||||
recaptcha:
|
||||
errors:
|
||||
recaptcha_unreachable: "Упс, мы не смогли подтвердить ваш ответ reCAPTCHA. Пожалуйста попробуйте еще раз."
|
||||
|
@ -485,6 +532,7 @@ ru:
|
|||
remove: Удалить
|
||||
rename: Переименовать
|
||||
reset_password:
|
||||
captcha: "Проверка reCAPTCHA неудачна, пожалуйста, попробуйте еще."
|
||||
invalid_token: Ключ для сброса пароля неверный. Попробуйте сбросить пароль еще раз.
|
||||
subtitle: Сброс пароля
|
||||
password: Новый пароль
|
||||
|
@ -497,9 +545,13 @@ ru:
|
|||
banned: Забанен
|
||||
deleted: Удален
|
||||
pending: В ожидании
|
||||
invited: Приглашен
|
||||
user: Пользователь
|
||||
room:
|
||||
access_code_required: Пожалуйста введите правильный код для входа в комнату.
|
||||
add_presentation: Добавить презентацию
|
||||
copy_access: Копировать код доступа
|
||||
copy_moderator_access: Копировать код модератора
|
||||
create_room: Создать комнату
|
||||
create_room_error: Произошла ошибка при создании комнаты
|
||||
create_room_success: Комната успешно создана
|
||||
|
@ -508,8 +560,12 @@ ru:
|
|||
success: Комната удалена
|
||||
fail: "Ошибка удаления комнаты (%{error})"
|
||||
enter_the_access_code: Введите код доступа комнаты
|
||||
enter_the_moderator_access_code: Введите код модератора!
|
||||
optional_moderator_access_code: "Дополнительный код модератора:"
|
||||
invalid_provider: Вы указали не верный url. Пожалуйста проверьте url и попробуйте снова.
|
||||
invitation_description: "Вас пригласили присоединиться к %{name} с помощью BigBlueButton. Чтобы присоединиться, нажмите на ссылку выше и введите свое имя."
|
||||
invited: Вы приглашены присоединиться
|
||||
recording_present: "Я подтверждаю, что этот вебинар будет записан. Запись может включать мой голос и видео, если они были включены."
|
||||
invite_participants: Пригласить участников
|
||||
join: Присоединиться
|
||||
last_session: "Последняя сессия: %{session}"
|
||||
|
@ -526,6 +582,10 @@ ru:
|
|||
recent_rooms: " Перейти к недавно посещенным комнатам"
|
||||
title: Подключиться к комнате
|
||||
no_sessions: В этой комнате еще не было сеансов!
|
||||
preupload_success: Презентация добавлена успешно
|
||||
preupload_error: Произошла ошибка при изменении презентации для комнаты
|
||||
preupload_remove_success: Презентация удалена успешно
|
||||
preupload_remove_error: Произошла ошибка при удалении презентации для комнаты
|
||||
recordings: Записи комнаты
|
||||
room_limit: Вы превысили максимальное число разрешенных комнат
|
||||
room_limit_exceeded: "Вы достигли лимита разрешенных комнат. Пожалуйста удалите %{difference} комнат(у) для доступа в эту комнату."
|
||||
|
@ -538,6 +598,7 @@ ru:
|
|||
shared_access_success: Предоставлен совместный доступ к комнате
|
||||
shared_access_error: Произошла ошибка предоставления совместного доступа к комнате
|
||||
start: Старт
|
||||
search: Поиск комнаты...
|
||||
unavailable: "В данный момент комната недоступна, поскольку email владельца не подтвержден."
|
||||
update_settings_error: Произошла ошибка при обновлении настроек комнаты
|
||||
update_settings_success: Настройки комнаты успешно обновлены
|
||||
|
|
|
@ -20,7 +20,7 @@ sk_SK:
|
|||
activerecord:
|
||||
attributes:
|
||||
user:
|
||||
accepted_terms: "Podmienky"
|
||||
accepted_terms: "Podmienky používania"
|
||||
email: Email
|
||||
name: Meno
|
||||
password: Heslo
|
||||
|
@ -32,25 +32,25 @@ sk_SK:
|
|||
administrator:
|
||||
site_settings:
|
||||
authentication:
|
||||
disabled: Nevyžadované
|
||||
enabled: Nutné
|
||||
info: Zmena nutnosti prihlásenia užívateľa pre vstup do miestnosti
|
||||
disabled: Vypnuté
|
||||
enabled: Zapnuté
|
||||
info: Nutnosť prihlásenia užívateľa pre vstup do miestnosti
|
||||
title: Prihlasovanie do miestnosti
|
||||
user-info: Musíte byť prihlásený užívateľ pre vstup do tejto miestnosti
|
||||
user-info: Na vstup do miestnosti sa musíte prihlásiť.
|
||||
branding:
|
||||
change: Zmena loga
|
||||
info: "Zmena obrazového loga, ktoré sa zobrazuje v ľavom hornom rohu obrazovky"
|
||||
placeholder: Odkaz na obrázok...
|
||||
change: Zmeniť URL odkaz
|
||||
info: "Zmeňte obrazové logo, ktoré sa zobrazuje v ľavom hornom rohu obrazovky"
|
||||
placeholder: URL odkaz na obrázok...
|
||||
title: Obrázok loga
|
||||
invalid: Neplatný URL odkaz
|
||||
legal:
|
||||
change: Zmeňte URL odkaz
|
||||
info: "Zmeňte URL odkaz na registračné údaje firmy, ktoré sa zobrazujú na spodnom okraji stránky"
|
||||
placeholder: URL odkaz na registračné údaje firmy
|
||||
title: Registračné údaje firmy
|
||||
change: Zmeniť URL odkaz
|
||||
info: Zmeniť odkaz na Podmienky používania na spodnom okraji stránky
|
||||
placeholder: URL na Podmienky používania
|
||||
title: Podmienky používania
|
||||
invalid: Neplatný URL odkaz
|
||||
privpolicy:
|
||||
change: Zmeňte URL odkaz
|
||||
change: Zmeniť URL odkaz
|
||||
info: "Zmeňte URL odkaz na pravidlá pre ochranu osobných údajov, ktoré sa zobrazujú na spodnom okraji stránky"
|
||||
placeholder: URL odkaz na pravidlá pre ochranu osobných údajov
|
||||
title: Pravidlá pre ochranu osobných údajov
|
||||
|
@ -69,6 +69,10 @@ sk_SK:
|
|||
regular: Základná
|
||||
lighten: Svetlá
|
||||
darken: Tmavá
|
||||
email_mapping:
|
||||
info: "Spárujte používateľa s rolou pomocou emailu. Musí byť vo formáte email1=role1,email2=role2"
|
||||
title: Párovanie rolí podľa Emailu
|
||||
update:
|
||||
log_level:
|
||||
title: Úroveň logovania
|
||||
information: Zmeňte úroveň logovania pre celý systém
|
||||
|
@ -82,6 +86,18 @@ sk_SK:
|
|||
info: Zmena štandardnej viditeľnosti pre nové nahrávky
|
||||
title: Štandardná viditeľnosť nahrávok
|
||||
warning: "Toto nastavenie bude aplikované na miestnosti, v ktorých práve neprebieha konferencia"
|
||||
require_consent:
|
||||
info: "Toto nastavenie umožňuje vlastníkom miestnosti určiť, ktoré miestnosti sa môžu nahrávať. Používatelia pred prvým vstupom do nahrávanej miestnosti musia udeliť súhlas."
|
||||
title: Vyžadovať od vlastníka a členov súhlas s nahrávaním
|
||||
maintenance_banner:
|
||||
info: Zobraziť oznam s informáciami o plánovanej údržbe
|
||||
title: Oznam o údržbe
|
||||
display: Nastaviť
|
||||
clear: Vyčistiť
|
||||
time: "Príklad: Dňa 13. decembra o 23:00 ET bude plánovaná aktualizácia. Používatelia môžu mať problémy s prihlásením."
|
||||
preupload:
|
||||
info: "Používatelia môžu dopredu načítať prezentáciu, ktorá sa bude používať ako predvolená prezentácia v určitej miestnosti"
|
||||
title: Umožňuje používateľom dopredu načítat prezentácie
|
||||
registration:
|
||||
info: Zmena spôsobu registrácie na tomto servri
|
||||
title: Spôsob registrácie
|
||||
|
@ -93,9 +109,14 @@ sk_SK:
|
|||
info: Zmena celkového počtu miestností užívateľa (vrátane Domovskej). Toto nastavenie sa nevzťahuje na administrátorov.
|
||||
title: Počet miestností na užívateľa
|
||||
shared_access:
|
||||
info: Nastavenie na "Zakázané" odstráni tlačítko z nastavení miestností a zabráni užívateľom zdieľanie miestností
|
||||
info: Nastavenie na "Vypnuté" odstráni tlačítko z nastavení miestností a zabráni užívateľom zdieľanie miestností
|
||||
title: Povoliť užívateľom zdieľanie miestností
|
||||
subtitle: Nastavenia servra
|
||||
tabs:
|
||||
appearance: Vzhľad
|
||||
administration: Administrácia
|
||||
registration: Registrácia
|
||||
settings: Nastavenie
|
||||
title: Nastavenia servra
|
||||
flash:
|
||||
approved: Užívateľ bol úspešne schválený.
|
||||
|
@ -117,8 +138,10 @@ sk_SK:
|
|||
settings: Nastavenia servra úspešne zmenené
|
||||
unauthorized: Nie ste autorizovaný na vykonávanie zmien na tomto užívateľovi
|
||||
recordings:
|
||||
latest: Najnovšie záznamy
|
||||
title: Nahrávky servra
|
||||
no_recordings: Tento server nemá nahrávky.
|
||||
search_info: Vložte email používateľa alebo uid miestnosti
|
||||
roles:
|
||||
appear_in_share_list: Užívateľov s touto rolou zaradiť do zoznamu pre zdieľanie miestností
|
||||
can_create_rooms: Môže vytvárať miestnosti
|
||||
|
@ -126,16 +149,16 @@ sk_SK:
|
|||
invalid_create: Nastal problém pri vytváraní novej role. Skontrolujte prosím vstupné údaje a skúste to znova
|
||||
invalid_order: Rola user musí mať najnižšiu prioritu a rola admin musí mať najvyššiu prioritu
|
||||
invalid_update: "Nemôžete prideliť roli vyššiu prioritu, ako je Vaša vlastná"
|
||||
manage_rooms_recordings: Užívateľom s touto rolou povoliť prístup do manažmentu miestností a nahrávok
|
||||
manage_rooms_recordings: Užívateľom s touto rolou povoliť prístup do správy miestností a nahrávok
|
||||
name: Názov role
|
||||
new_role: Vytvoriť novú rolu
|
||||
role_has_users: "Táto rola je pridelená k %{user_count} účtom. Prosím odstráňte z role všetky účty pred jej zmazaním."
|
||||
title: Role
|
||||
title: Správa rolí
|
||||
promote_email: "Odoslať email užívateľom, keď im je pridelená táto rola"
|
||||
demote_email: "Odoslať email užívateľom, keď im je odobratá táto rola"
|
||||
edit_site_settings: Povoliť užívateľom s touto rolou meniť nastavenia servra
|
||||
edit_roles: Povoliť užívateľom s touto rolou meniť iné role
|
||||
manage_users: Povoliť užívateľom s touto rolou manažovať užívateľov
|
||||
manage_users: Povoliť užívateľom s touto rolou prístup do správy užívateľov
|
||||
invalid_assignment: "Nemôžete užívateľom prideliť rolu s vyššiu prioritou, ako je Vaša vlastná"
|
||||
colour:
|
||||
title: Farba role
|
||||
|
@ -143,26 +166,32 @@ sk_SK:
|
|||
room_configuration:
|
||||
title: Nastavenia miestností
|
||||
mute:
|
||||
info: "Automaticky stlmiť užívateľov, keď vstupujú do audio konferencie"
|
||||
info: "Automaticky stlmiť užívateľov, keď vstupujú do audio konferencie."
|
||||
require_moderator:
|
||||
info: "Žiadať moderátora konferencie o potvrdenie, keď sa užívateľ pokúša pripojiť. Ak bude prístup potvrdený, úžívateľ sa môže pripojiť ku konferencii."
|
||||
info: "Žiadať moderátora konferencie o povolenie, keď sa užívateľ pokúša pripojiť. Ak bude prístup povolený, úžívateľ sa môže pripojiť ku konferencii."
|
||||
allow_any:
|
||||
info: Povoliť každému užívateľovi začať konferenciu kedykoľvek. Obvykle môže začať konferenciu iba majiteľ miestnosti.
|
||||
info: Povoliť každému užívateľovi začať kedykoľvek konferenciu. Obvykle môže začať konferenciu iba majiteľ miestnosti.
|
||||
all_moderator:
|
||||
info: "Prideliť práva moderátora každému užívateľovi, ktorý sa pripojí do konferencie."
|
||||
recordings:
|
||||
info: "Umožňuje vlastníkom miestnosti určiť, či chcú mať možnosť nahrávania miestnosti alebo nie. Ak je zapnuté, moderátor stále musí stlačiť tlačidlo \"Nahrávanie\", keď sa stretnutie začne."
|
||||
moderator_codes:
|
||||
info: "Dáva vlastníkom miestnosti možnosť vygenerovať pin pre moderátora, ktorý umožní iným používateľom pripojiť sa priamo ako moderátor."
|
||||
title: Prístupový kód moderátora
|
||||
options:
|
||||
disabled: Nevyžadované
|
||||
enabled: Vždy Povolené
|
||||
disabled: Vypnuté
|
||||
enabled: Zapnuté (vždy)
|
||||
optional: Voliteľné
|
||||
rooms:
|
||||
timeout: "Kvôli uplynutiu časového limitu požiadavky %{server}nemusia byť informácie o stave a účastníkoch presné."
|
||||
title: Miestnosti servra
|
||||
table:
|
||||
ended: "Ukončených: %{session}"
|
||||
ended: "Koniec: %{session}"
|
||||
id: ID
|
||||
not_running: Neprebieha
|
||||
not_running: Prázdna
|
||||
participants: Účastníkov
|
||||
running: Prebieha
|
||||
started: "Ukončených: %{session}"
|
||||
running: Obsadená
|
||||
started: "Začiatok: %{session}"
|
||||
status: Stav
|
||||
view: Prezrieť
|
||||
title: Nastavenia organizácie
|
||||
|
@ -183,14 +212,16 @@ sk_SK:
|
|||
undelete: Obnoviť
|
||||
table:
|
||||
authenticator: Overovaný cez
|
||||
created: Vytvorený
|
||||
created: Vytvorenie
|
||||
time: Čas odoslania
|
||||
name: Celé meno
|
||||
not_found: Vášmu hľadaniu nevyhovujú žiadni užívatelia
|
||||
no_users: Užívatelia nenájdení
|
||||
role: Rola
|
||||
uid: ID Užívateľa
|
||||
username: Prihlasovacie meno
|
||||
title: Manažment užívateľov
|
||||
valid: Platné
|
||||
title: Správa užívateľov
|
||||
add_to_google_calendar: "Pridaj do Google Kalendára"
|
||||
bigbluebutton: BigBlueButton
|
||||
bigbluebutton_exception: "Oops, pri štarte konferencie nastala chyba!"
|
||||
|
@ -212,7 +243,7 @@ sk_SK:
|
|||
errors:
|
||||
bigbluebutton:
|
||||
help: "Prosím ubezpečte sa, že ste postupovali podľa návodu. <a href=\"%{doc_link}\">Learn more</a>"
|
||||
message: Neplatný BigBlueButton Endpoint a(lebo) Secret
|
||||
message: Neplatný BigBlueButton Endpoint alebo Secret
|
||||
title: Chyba Servra
|
||||
internal:
|
||||
message: "Zdá sa, že nastala chyba na strane servra."
|
||||
|
@ -246,8 +277,8 @@ sk_SK:
|
|||
help: Prosím kontaktujte Vášho administrátora.
|
||||
message: "Prepáčte, tento užívateľ nie je registrovaný."
|
||||
user_missing:
|
||||
help: Prosím skontrolujte odkaz a skúste to znova
|
||||
message: Zadaný odkaz nie je platný.
|
||||
help: Prosím skontrolujte URL odkaz a skúste to znova
|
||||
message: Zadaný URL odkaz nie je platný.
|
||||
title: Chyby
|
||||
unauthorized:
|
||||
message: Nemáte prístup k tejto aplikácii
|
||||
|
@ -260,7 +291,7 @@ sk_SK:
|
|||
designs: Zákaznícky dizajn
|
||||
authentication: Overovanie užívateľov
|
||||
footer:
|
||||
legal: Registračné údaje firmy
|
||||
legal: Podmienky používania
|
||||
privpolicy: Zásady ochrany osobných údajov
|
||||
powered_by: "Powered by %{href}."
|
||||
forgot_password:
|
||||
|
@ -324,6 +355,7 @@ sk_SK:
|
|||
info: "Boli ste pozvaný do Vášho osobného priestoru užívateľom %{name}"
|
||||
signup_info: "Pre registráciu Vaším emailom, kliknite na tlačítko nižšie a postupujte podľa predpísaných krokov."
|
||||
signup_link: Registrácia
|
||||
valid: "Pozvánka je platná do: %{date}"
|
||||
signup:
|
||||
info: Pozvaný Greenlight užívateľ sa zaregistroval.
|
||||
admins_link: Navštívte stránku Organizácia
|
||||
|
@ -351,8 +383,6 @@ sk_SK:
|
|||
verify_text: 'Pre overenie Vášho účtu len nasledujte tento odkaz: %{url}'
|
||||
verify_link: Overenie účtu
|
||||
thanks: "Ďakujeme, že ste sa k nám pridali a prajeme pekný deň!"
|
||||
maintenance:
|
||||
window_alert: "Údržba bola naplánovaná na %{date}"
|
||||
max_concurrent: Bol dosiahnutý maximálny povolený počet súčasne aktívnych pripojení!
|
||||
merged: Zlúčených
|
||||
modal:
|
||||
|
@ -364,7 +394,9 @@ sk_SK:
|
|||
title: Vytvoriť novú rolu
|
||||
create_room:
|
||||
access_code: Prístupový kód
|
||||
moderator_access_code: Kód moderátora
|
||||
access_code_placeholder: Vygenerovať voliteľný prístupový kód
|
||||
moderator_access_code_placeholder: Vygenerovať voliteľný kód pre moderátorov
|
||||
auto_join: Chcem sa automaticky pripájať do tejto miestnosti
|
||||
create: Vytvoriť miestnosť
|
||||
free_delete: Túto miestnosť môžete kedykoľvek zmazať.
|
||||
|
@ -377,6 +409,10 @@ sk_SK:
|
|||
keep: "Zmenil som názor, účet chcem zachovať."
|
||||
delete_warning: Týmto bude deaktivovaný užívateľov účet. Všetky deaktivované účty nájdete v záložke Zmazaní.
|
||||
warning: Toto rozhodnutie je konečné. Už <b>nebude</b> možné obnoviť žiadne súvisiace dáta.
|
||||
delete_rec:
|
||||
delete: "Áno, chcem zmazať túto nahrávku."
|
||||
header: "Určite chcete zmazať túto nahrávku?"
|
||||
warning: Túto nahrávku už<b>nebude možné</b> obnoviť
|
||||
delete_room:
|
||||
confirm: "Určite chcete zmazať miestnosť %{room}?"
|
||||
delete: "Som si istý, miestnosť chcem zmazať."
|
||||
|
@ -392,6 +428,14 @@ sk_SK:
|
|||
or: alebo
|
||||
with: "Prihlásenie cez %{provider}"
|
||||
forgot_password: "Zabudnuté heslo?"
|
||||
preupload:
|
||||
change: Vymeniť prezentáciu
|
||||
choose: Zvoľte súbor...
|
||||
current: "Aktuálna prezentácia:"
|
||||
footer: V závislosti na veľkosti prezentácie môže byť pred začiatkom používania potrebný dlhší čas na načítanie.
|
||||
invalid: Naplatná veľkosť/typ súboru. Prezrite si obmedzenia uvedené nižšie.
|
||||
title: Pridať prezentáciu
|
||||
use: Použiť prezentáciu
|
||||
rename_recording:
|
||||
remove_shared:
|
||||
title: "Určite chcete odstrániť túto miestnosť z vášho zoznamu miestností?"
|
||||
|
@ -403,13 +447,14 @@ sk_SK:
|
|||
client: Vyberte typ klienta
|
||||
join_moderator: Všetci užívatelia sa pripoja ako moderátor
|
||||
mute: Stlmiť zvuk užívateľov pri pripojení
|
||||
require_approval: Požadovať povolenie moderátora pred pripojením
|
||||
require_approval: Vyžadovať povolenie moderátora pred pripojením
|
||||
start: Povoliť každému užívateľovi začať konferenciu
|
||||
footer_text: Nastavenia Vašej miestnosti môžete zmeniť kedykoľvek.
|
||||
footer_text: Nastavenia miestnosti môžete zmeniť kedykoľvek.
|
||||
recording: Umožniť nahrávanie miestnosti
|
||||
rename_room:
|
||||
name_placeholder: Zadajte nový názov miestnosti...
|
||||
share_access:
|
||||
footer: Zdieľaním miestnosti s iným užívateľom mu povolíte začínať konferenie a sledovať nahrávky miestnosti.
|
||||
footer: Zdieľaním miestnosti s iným užívateľom mu povolíte začínať konferencie a sledovať nahrávky miestnosti.
|
||||
list: "Zdieľaná s "
|
||||
title: Zdieľať prístup k miestnosti
|
||||
save: Uložiť zmeny
|
||||
|
@ -429,7 +474,7 @@ sk_SK:
|
|||
pagy:
|
||||
nav:
|
||||
prev: "‹ Predchádzajúci"
|
||||
next: "Nasledovný ›"
|
||||
next: "Nasledujúci ›"
|
||||
gap: "…"
|
||||
password: Heslo
|
||||
password_empty_notice: Heslo nemôže byť prázdne.
|
||||
|
@ -440,6 +485,7 @@ sk_SK:
|
|||
office365: Office 365
|
||||
twitter: Twitter
|
||||
ldap: LDAP
|
||||
openid_connect: OpenID Connect
|
||||
recaptcha:
|
||||
errors:
|
||||
recaptcha_unreachable: "Oops, nepodarilo sa nám overiť Vašu odpoveď na reCAPTCHA. Skúste to prosím znova."
|
||||
|
@ -485,6 +531,7 @@ sk_SK:
|
|||
remove: Odstrániť
|
||||
rename: Premenovať
|
||||
reset_password:
|
||||
captcha: "Overenie reCAPTCHA zlyhalo, skúste to prosím znova."
|
||||
invalid_token: Značka pre reset hesla je neplatná. Prosím skúste resetnúť svoje heslo znova.
|
||||
subtitle: Reset hesla
|
||||
password: Nové heslo
|
||||
|
@ -500,6 +547,9 @@ sk_SK:
|
|||
user: Užívateľ
|
||||
room:
|
||||
access_code_required: Prosím zadajte platný prístupový kód pre vstup do miestnosti
|
||||
add_presentation: Pridať prezentáciu
|
||||
copy_access: Skopírovať prístupový kód
|
||||
copy_moderator_access: Skopírovať kód moderátora
|
||||
create_room: Vytvoriť miestnosť
|
||||
create_room_error: Pri vytváraní miestnosti nastala chyba
|
||||
create_room_success: Miestnosť bola úspešne vytvorená
|
||||
|
@ -508,8 +558,12 @@ sk_SK:
|
|||
success: Miestnosť bola úspešne vymazaná
|
||||
fail: "Nastala chyba pri mazaní miestnosti (%{error})"
|
||||
enter_the_access_code: zadajte prístupový kód miestnoti
|
||||
enter_the_moderator_access_code: Vložte moderátorský kód miestnosti!
|
||||
optional_moderator_access_code: "Voliteľný kód moderátora:"
|
||||
invalid_provider: Zadali ste neplatný odkaz. Prosím skontrolujte odkaz a skúste to znova.
|
||||
invitation_description: "Toto je pozvánka na pripojenie k %{name} pomocou BigBlueButton. Ak sa chcete pripojiť, kliknite na vyššie uvedený odkaz a napíšte vaše meno."
|
||||
invited: Boli ste pozvaný(á) na konferenciu v miestnosti
|
||||
recording_present: "Beriem na vedomie, že táto relácia bude zaznamenaná. Môže to zahŕňať môj hlas a video, ak sú povolené."
|
||||
invite_participants: Pozvánka pre účastníkov
|
||||
join: Pripojiť sa
|
||||
last_session: "Posledná konferencia dňa %{session}"
|
||||
|
@ -526,18 +580,23 @@ sk_SK:
|
|||
recent_rooms: Vstúpiť do poslednej navštívenej miestosti
|
||||
title: Vstup do miestnosti
|
||||
no_sessions: Táto miestnosť nemá zatiaľ žiadne konferencie!
|
||||
preupload_success: Prezentácia úspešne pridaná
|
||||
preupload_error: Pri aktualizácii prezentácie v miestnosti nastala chyba
|
||||
preupload_remove_success: Prezentácia bola úspešne odstránená
|
||||
preupload_remove_error: Pri odstraňovaní prezentácie v miestnosti nastala chyba
|
||||
recordings: Nahrávky
|
||||
room_limit: Dosiahli ste maximálny povolený počet miestností
|
||||
room_limit_exceeded: "Prekročili ste maximálny povolený počet miestností. Prosím zmažte %{difference} miestnost(i) pre vstup do tejto miestnosti."
|
||||
sessions: Konferencie
|
||||
settings: Nastavenia miestnosti
|
||||
share: Manažovať prístup
|
||||
share: Spravovať prístup
|
||||
shared_by: "Zdieľaná s %{email}"
|
||||
remove_shared_access_success: Zdieľaná miestnosť bola úspešne odstránená z Vášho zoznamu miestností
|
||||
remove_shared_access_error: Nastala chyba pri pokuse o odstránenie zdieľanej miestnosti z Vášho zoznamu miestností
|
||||
shared_access_success: Miestnosť je úspešne zdieľaná
|
||||
shared_access_error: Nastala chyba pri pokuse o zdieľanie miestnosti
|
||||
start: Začať konferenciu
|
||||
search: Hľadá sa miestnosť...
|
||||
unavailable: "Táto miestnosť je momentálne nedostupná, pretože majiteľov email nebol overený."
|
||||
update_settings_error: Pri aktualizácii nastavení miestnosti nastala chyba
|
||||
update_settings_success: Nastavenia miestnosti boli úspešne zmenené
|
||||
|
|
|
@ -6,16 +6,16 @@
|
|||
# the maximum value specified for Puma. Default is set to 5 threads for minimum
|
||||
# and maximum; this matches the default thread size of Active Record.
|
||||
#
|
||||
threads_count = ENV.fetch("RAILS_MAX_THREADS") { 5 }
|
||||
threads_count = ENV.fetch("RAILS_MAX_THREADS", 5)
|
||||
threads threads_count, threads_count
|
||||
|
||||
# Specifies the `port` that Puma will listen on to receive requests; default is 3000.
|
||||
#
|
||||
port ENV.fetch("PORT") { 80 }
|
||||
port ENV.fetch("PORT", 80)
|
||||
|
||||
# Specifies the `environment` that Puma will run in.
|
||||
#
|
||||
environment ENV.fetch("RAILS_ENV") { "development" }
|
||||
environment ENV.fetch("RAILS_ENV", "development")
|
||||
|
||||
# Specifies the number of `workers` to boot in clustered mode.
|
||||
# Workers are forked webserver processes. If using threads and workers together
|
||||
|
@ -23,7 +23,7 @@ environment ENV.fetch("RAILS_ENV") { "development" }
|
|||
# Workers do not work on JRuby or Windows (both of which do not support
|
||||
# processes).
|
||||
#
|
||||
workers ENV.fetch("WEB_CONCURRENCY") { 1 }
|
||||
workers ENV.fetch("WEB_CONCURRENCY", 1)
|
||||
|
||||
# Use the `preload_app!` method when specifying a `workers` number.
|
||||
# This directive tells Puma to first boot the application and load code
|
||||
|
|
|
@ -12,15 +12,16 @@ class AddCustomRoles < ActiveRecord::Migration[5.2]
|
|||
|
||||
# Determine what ids corresponded to what roles in the old table
|
||||
old_roles.each do |role|
|
||||
if role["name"] == "super_admin"
|
||||
case role["name"]
|
||||
when "super_admin"
|
||||
super_admin_id = role["id"]
|
||||
elsif role["name"] == "user"
|
||||
when "user"
|
||||
user_id = role["id"]
|
||||
elsif role["name"] == "admin"
|
||||
when "admin"
|
||||
admin_id = role["id"]
|
||||
elsif role["name"] == "denied"
|
||||
when "denied"
|
||||
denied_id = role["id"]
|
||||
elsif role["name"] == "pending"
|
||||
when "pending"
|
||||
pending_id = role["id"]
|
||||
end
|
||||
end
|
||||
|
|
|
@ -0,0 +1,7 @@
|
|||
# frozen_string_literal: true
|
||||
|
||||
class AddModeratorAccessCodeToRooms < ActiveRecord::Migration[5.2]
|
||||
def change
|
||||
add_column :rooms, :moderator_access_code, :string, null: true, default: nil
|
||||
end
|
||||
end
|
|
@ -10,7 +10,7 @@
|
|||
#
|
||||
# It's strongly recommended that you check this file into your version control system.
|
||||
|
||||
ActiveRecord::Schema.define(version: 2020_12_14_232153) do
|
||||
ActiveRecord::Schema.define(version: 2021_01_08_032132) do
|
||||
|
||||
create_table "active_storage_attachments", force: :cascade do |t|
|
||||
t.string "name", null: false
|
||||
|
@ -96,6 +96,7 @@ ActiveRecord::Schema.define(version: 2020_12_14_232153) do
|
|||
t.string "attendee_pw"
|
||||
t.string "access_code"
|
||||
t.boolean "deleted", default: false, null: false
|
||||
t.string "moderator_access_code"
|
||||
t.index ["bbb_id"], name: "index_rooms_on_bbb_id"
|
||||
t.index ["deleted"], name: "index_rooms_on_deleted"
|
||||
t.index ["last_session"], name: "index_rooms_on_last_session"
|
||||
|
|
|
@ -24,7 +24,7 @@ services:
|
|||
links:
|
||||
- db
|
||||
db:
|
||||
image: postgres:9.5
|
||||
image: postgres:13.2-alpine
|
||||
restart: unless-stopped
|
||||
ports:
|
||||
- 127.0.0.1:5432:5432
|
||||
|
|
|
@ -33,7 +33,7 @@ module BbbApi
|
|||
|
||||
# Build the URI.
|
||||
uri = encode_bbb_url(
|
||||
Rails.configuration.loadbalancer_endpoint + api + '/',
|
||||
"#{Rails.configuration.loadbalancer_endpoint}#{api}/",
|
||||
Rails.configuration.loadbalancer_secret,
|
||||
{ name: provider },
|
||||
route
|
||||
|
|
|
@ -20,11 +20,11 @@ module OmniauthOptions
|
|||
module_function
|
||||
|
||||
def omniauth_options(env)
|
||||
if env['omniauth.strategy'].options[:name] == "bn_launcher"
|
||||
case env['omniauth.strategy'].options[:name]
|
||||
when "bn_launcher"
|
||||
protocol = Rails.env.production? ? "https" : env["rack.url_scheme"]
|
||||
|
||||
customer_redirect_url = protocol + "://" + env["SERVER_NAME"] + ":" +
|
||||
env["SERVER_PORT"]
|
||||
customer_redirect_url = "#{protocol}://#{env['SERVER_NAME']}:#{env['SERVER_PORT']}"
|
||||
user_domain = parse_user_domain(env["SERVER_NAME"])
|
||||
env['omniauth.strategy'].options[:customer] = user_domain
|
||||
env['omniauth.strategy'].options[:customer_redirect_url] = customer_redirect_url
|
||||
|
@ -33,11 +33,11 @@ module OmniauthOptions
|
|||
# This is only used in the old launcher and should eventually be removed
|
||||
env['omniauth.strategy'].options[:checksum] = generate_checksum(user_domain, customer_redirect_url,
|
||||
Rails.configuration.launcher_secret)
|
||||
elsif env['omniauth.strategy'].options[:name] == "google"
|
||||
when "google"
|
||||
set_hd(env, ENV['GOOGLE_OAUTH2_HD'])
|
||||
elsif env['omniauth.strategy'].options[:name] == "office365"
|
||||
when "office365"
|
||||
set_hd(env, ENV['OFFICE365_HD'])
|
||||
elsif env['omniauth.strategy'].options[:name] == "openid_connect"
|
||||
when "openid_connect"
|
||||
set_hd(env, ENV['OPENID_CONNECT_HD'])
|
||||
end
|
||||
end
|
||||
|
|
|
@ -0,0 +1,6 @@
|
|||
# frozen_string_literal: true
|
||||
|
||||
desc('livenessProbe')
|
||||
task liveness: :environment do
|
||||
puts "success"
|
||||
end
|
|
@ -20,7 +20,7 @@ namespace :office365 do
|
|||
old_user.save!
|
||||
else
|
||||
old_main_room = old_user.main_room
|
||||
old_main_room.name = "Old " + old_main_room.name
|
||||
old_main_room.name = "Old #{old_main_room.name}"
|
||||
old_main_room.save!
|
||||
|
||||
new_user.rooms << old_user.rooms
|
||||
|
|
|
@ -39,7 +39,7 @@ namespace :room do
|
|||
next if room.uid.split("-").length > 3
|
||||
|
||||
begin
|
||||
new_uid = room.uid + "-" + SecureRandom.alphanumeric(3).downcase
|
||||
new_uid = "#{room.uid}-#{SecureRandom.alphanumeric(3).downcase}"
|
||||
puts "Updating #{room.uid} to #{new_uid}"
|
||||
room.update_attributes(uid: new_uid)
|
||||
rescue => e
|
||||
|
|
|
@ -35,7 +35,10 @@ namespace :user do
|
|||
u[:email].prepend "superadmin-" if args[:role] == "super_admin"
|
||||
|
||||
# Create account if it doesn't exist
|
||||
if !User.exists?(email: u[:email], provider: u[:provider])
|
||||
if User.exists?(email: u[:email], provider: u[:provider])
|
||||
puts "Account with that email already exists"
|
||||
puts "Email: #{u[:email]}"
|
||||
else
|
||||
user = User.create(name: u[:name], email: u[:email], password: u[:password],
|
||||
provider: u[:provider], email_verified: true, accepted_terms: true)
|
||||
|
||||
|
@ -52,9 +55,6 @@ namespace :user do
|
|||
puts "Password: #{u[:password]}"
|
||||
puts "Role: #{u[:role]}"
|
||||
puts "PLEASE CHANGE YOUR PASSWORD IMMEDIATELY" if u[:password] == Rails.configuration.admin_password_default
|
||||
else
|
||||
puts "Account with that email already exists"
|
||||
puts "Email: #{u[:email]}"
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
Binary file not shown.
Before Width: | Height: | Size: 5.3 KiB |
|
@ -138,6 +138,9 @@ GOOGLE_ANALYTICS_TRACKING_ID=
|
|||
# SMTP_AUTH=plain
|
||||
# SMTP_STARTTLS_AUTO=true
|
||||
#
|
||||
# enable SMTPS: SMTP over direct TLS connection; usually port 465
|
||||
# SMTP_TLS=true
|
||||
#
|
||||
# If your mail server has a self-signed certificate, you'll also need to include the line below.
|
||||
# Please note that enable this presents its own security risks and should not be done unless necessary.
|
||||
# SMTP_OPENSSL_VERIFY_MODE=none
|
||||
|
@ -259,6 +262,11 @@ ENABLE_SSL=true
|
|||
# RAILS_LOG_REMOTE_PORT=9999
|
||||
# RAILS_LOG_REMOTE_TAG=greenlight
|
||||
|
||||
# Specify the log level
|
||||
# Allowed values are: debug|info|warn|error|fatal|unknown
|
||||
# For details, see: https://docs.ruby-lang.org/en/master/Logger.html
|
||||
#RAILS_LOG_LEVEL=info
|
||||
|
||||
# Database settings
|
||||
#
|
||||
# Greenlight may work out of the box with sqlite3, but for production it is recommended to use postgresql.
|
||||
|
|
|
@ -55,13 +55,6 @@ if [ "$CD_REF_NAME" != "master" ] && [[ "$CD_REF_NAME" != *"release"* ]] && [[ "
|
|||
exit 0
|
||||
fi
|
||||
|
||||
# Include sqlite for production
|
||||
sqliteCount="$(grep "gem 'sqlite3'" Gemfile | wc -l)"
|
||||
|
||||
if [ $sqliteCount -lt 2 ]; then
|
||||
sed -i "/^group :production do/a\ \ gem 'sqlite3', '~> 1.3.6'" Gemfile
|
||||
fi
|
||||
|
||||
# Set the version tag when it is a release or the commit sha was included.
|
||||
if [[ "$CD_REF_NAME" == *"release"* ]]; then
|
||||
export CD_VERSION_CODE=${CD_REF_NAME:8}
|
||||
|
|
|
@ -182,8 +182,8 @@ describe RoomsController, type: :controller do
|
|||
@request.session[:user_id] = @owner.id
|
||||
name = Faker::Games::Pokemon.name
|
||||
|
||||
room_params = { name: name, "mute_on_join": "1",
|
||||
"require_moderator_approval": "1", "anyone_can_start": "1", "all_join_moderator": "1" }
|
||||
room_params = { name: name, mute_on_join: "1",
|
||||
require_moderator_approval: "1", anyone_can_start: "1", all_join_moderator: "1" }
|
||||
json_room_settings = "{\"muteOnStart\":true,\"requireModeratorApproval\":true," \
|
||||
"\"anyoneCanStart\":true,\"joinModerator\":true,\"recording\":false}"
|
||||
|
||||
|
@ -199,8 +199,8 @@ describe RoomsController, type: :controller do
|
|||
it "should respond with JSON object of the room_settings" do
|
||||
@request.session[:user_id] = @owner.id
|
||||
|
||||
@owner.main_room.update_attribute(:room_settings, { "muteOnStart": true, "requireModeratorApproval": true,
|
||||
"anyoneCanStart": true, "joinModerator": true }.to_json)
|
||||
@owner.main_room.update_attribute(:room_settings, { muteOnStart: true, requireModeratorApproval: true,
|
||||
anyoneCanStart: true, joinModerator: true }.to_json)
|
||||
|
||||
json_room_settings = { "anyoneCanStart" => true,
|
||||
"joinModerator" => true,
|
||||
|
@ -224,7 +224,7 @@ describe RoomsController, type: :controller do
|
|||
it "should redirect back to main room with error if it fails" do
|
||||
@request.session[:user_id] = @owner.id
|
||||
|
||||
room_params = { name: "", "mute_on_join": "1" }
|
||||
room_params = { name: "", mute_on_join: "1" }
|
||||
|
||||
post :create, params: { room: room_params }
|
||||
|
||||
|
@ -237,7 +237,7 @@ describe RoomsController, type: :controller do
|
|||
|
||||
@request.session[:user_id] = @owner.id
|
||||
|
||||
room_params = { name: Faker::Games::Pokemon.name, "mute_on_join": "1" }
|
||||
room_params = { name: Faker::Games::Pokemon.name, mute_on_join: "1" }
|
||||
|
||||
post :create, params: { room: room_params }
|
||||
|
||||
|
@ -273,6 +273,22 @@ describe RoomsController, type: :controller do
|
|||
expect(response).to redirect_to(join_path(@owner.main_room, "Join Name", {}, response.cookies["guest_id"]))
|
||||
end
|
||||
|
||||
it "should use join name if user is not logged in and meeting running and moderator access code is enabled and set" do
|
||||
allow_any_instance_of(BigBlueButton::BigBlueButtonApi).to receive(:is_meeting_running?).and_return(true)
|
||||
allow_any_instance_of(Setting).to receive(:get_value).and_call_original
|
||||
allow_any_instance_of(Setting).to receive(:get_value)
|
||||
.with("Room Configuration Moderator Access Codes").and_return("optional")
|
||||
|
||||
room = Room.new(name: "test", moderator_access_code: "abcdef")
|
||||
room.room_settings = "{ }"
|
||||
room.owner = @owner
|
||||
room.save
|
||||
|
||||
post :join, params: { room_uid: room, join_name: "Join Name" }, session: { moderator_access_code: "abcdef" }
|
||||
|
||||
expect(response).to redirect_to(join_path(room, "Join Name", { user_is_moderator: true }, response.cookies["guest_id"]))
|
||||
end
|
||||
|
||||
it "should render wait if meeting isn't running" do
|
||||
allow_any_instance_of(BigBlueButton::BigBlueButtonApi).to receive(:is_meeting_running?).and_return(false)
|
||||
|
||||
|
@ -398,6 +414,64 @@ describe RoomsController, type: :controller do
|
|||
expect(response).to redirect_to room_path(protected_room.uid)
|
||||
end
|
||||
|
||||
it "should join the room as moderator if the user has the moderator_access code (and regular access code is not set)" do
|
||||
allow_any_instance_of(BigBlueButton::BigBlueButtonApi).to receive(:is_meeting_running?).and_return(true)
|
||||
allow_any_instance_of(Setting).to receive(:get_value).and_call_original
|
||||
allow_any_instance_of(Setting).to receive(:get_value)
|
||||
.with("Room Configuration Moderator Access Codes").and_return("optional")
|
||||
|
||||
room = Room.new(name: "test", moderator_access_code: "abcdef")
|
||||
room.room_settings = "{ }"
|
||||
room.owner = @owner
|
||||
room.save
|
||||
|
||||
post :join, params: { room_uid: room, join_name: "Join Name" }, session: { moderator_access_code: "abcdef" }
|
||||
|
||||
expect(response).to redirect_to(join_path(room, "Join Name", { user_is_moderator: true }, response.cookies["guest_id"]))
|
||||
end
|
||||
|
||||
it "should join the room as moderator if the user has the moderator_access code (and regular access code is set)" do
|
||||
allow_any_instance_of(BigBlueButton::BigBlueButtonApi).to receive(:is_meeting_running?).and_return(true)
|
||||
allow_any_instance_of(Setting).to receive(:get_value).and_call_original
|
||||
allow_any_instance_of(Setting).to receive(:get_value)
|
||||
.with("Room Configuration Moderator Access Codes").and_return("optional")
|
||||
|
||||
room = Room.new(name: "test", access_code: "123456", moderator_access_code: "abcdef")
|
||||
room.room_settings = "{ }"
|
||||
room.owner = @owner
|
||||
room.save
|
||||
|
||||
post :join, params: { room_uid: room, join_name: "Join Name" }, session: { moderator_access_code: "abcdef" }
|
||||
|
||||
expect(response).to redirect_to(join_path(room, "Join Name", { user_is_moderator: true }, response.cookies["guest_id"]))
|
||||
end
|
||||
|
||||
it "should redirect to login if a wrong moderator access code is supplied" do
|
||||
allow_any_instance_of(BigBlueButton::BigBlueButtonApi).to receive(:is_meeting_running?).and_return(true)
|
||||
|
||||
room = Room.new(name: "test", access_code: "123456", moderator_access_code: "abcdef")
|
||||
room.room_settings = "{ }"
|
||||
room.owner = @owner
|
||||
room.save
|
||||
|
||||
post :join, params: { room_uid: room, join_name: "Join Name" }, session: { moderator_access_code: "abcdee" }
|
||||
|
||||
expect(response).to redirect_to room_path(room.uid)
|
||||
end
|
||||
|
||||
it "should redirect to login if a 'empty' moderator access code is supplied and moderator code is not set" do
|
||||
allow_any_instance_of(BigBlueButton::BigBlueButtonApi).to receive(:is_meeting_running?).and_return(true)
|
||||
|
||||
room = Room.new(name: "test", access_code: "123456")
|
||||
room.room_settings = "{ }"
|
||||
room.owner = @owner
|
||||
room.save
|
||||
|
||||
post :join, params: { room_uid: room, join_name: "Join Name" }, session: { moderator_access_code: nil }
|
||||
|
||||
expect(response).to redirect_to room_path(room.uid)
|
||||
end
|
||||
|
||||
it "should join owner as moderator if meeting running" do
|
||||
allow_any_instance_of(BigBlueButton::BigBlueButtonApi).to receive(:is_meeting_running?).and_return(true)
|
||||
|
||||
|
@ -583,7 +657,7 @@ describe RoomsController, type: :controller do
|
|||
@request.session[:user_id] = @user.id
|
||||
name = Faker::Name.first_name
|
||||
|
||||
room_params = { room_uid: @secondary_room.uid, room: { "name": name } }
|
||||
room_params = { room_uid: @secondary_room.uid, room: { name: name } }
|
||||
|
||||
expect { post :update_settings, params: room_params }.to change { @secondary_room.reload.name }
|
||||
.from(@secondary_room.name).to(name)
|
||||
|
@ -593,7 +667,7 @@ describe RoomsController, type: :controller do
|
|||
it "properly updates room settings through the room settings modal and redirects to current page" do
|
||||
@request.session[:user_id] = @user.id
|
||||
|
||||
room_params = { "mute_on_join": "1", "name": @secondary_room.name, "recording": "1" }
|
||||
room_params = { mute_on_join: "1", name: @secondary_room.name, recording: "1" }
|
||||
formatted_room_params = "{\"muteOnStart\":true,\"requireModeratorApproval\":false," \
|
||||
"\"anyoneCanStart\":false,\"joinModerator\":false,\"recording\":true}" # JSON string format
|
||||
|
||||
|
@ -616,7 +690,7 @@ describe RoomsController, type: :controller do
|
|||
@admin.set_role :admin
|
||||
@request.session[:user_id] = @admin.id
|
||||
|
||||
room_params = { "mute_on_join": "1", "name": @secondary_room.name }
|
||||
room_params = { mute_on_join: "1", name: @secondary_room.name }
|
||||
formatted_room_params = "{\"muteOnStart\":true,\"requireModeratorApproval\":false," \
|
||||
"\"anyoneCanStart\":false,\"joinModerator\":false,\"recording\":false}" # JSON string format
|
||||
|
||||
|
@ -632,7 +706,7 @@ describe RoomsController, type: :controller do
|
|||
@admin.set_role :admin
|
||||
@request.session[:user_id] = @admin.id
|
||||
|
||||
room_params = { "mute_on_join": "1", "name": @secondary_room.name }
|
||||
room_params = { mute_on_join: "1", name: @secondary_room.name }
|
||||
|
||||
expect { post :update_settings, params: { room_uid: @secondary_room.uid, room: room_params } }
|
||||
.not_to change { @secondary_room.reload.room_settings }
|
||||
|
@ -671,12 +745,50 @@ describe RoomsController, type: :controller do
|
|||
expect(flash[:alert]).to be_nil
|
||||
end
|
||||
|
||||
it "should redirect to show with valid moderator_access_code as regular access_code" do
|
||||
allow_any_instance_of(Setting).to receive(:get_value).and_call_original
|
||||
allow_any_instance_of(Setting).to receive(:get_value)
|
||||
.with("Room Configuration Moderator Access Codes").and_return("optional")
|
||||
|
||||
@room.moderator_access_code = "abcdef"
|
||||
@room.save
|
||||
|
||||
post :login, params: { room_uid: @room.uid, room: { access_code: "abcdef" } }
|
||||
|
||||
expect(response).to redirect_to room_path(@room.uid)
|
||||
expect(flash[:alert]).to be_nil
|
||||
expect(session[:moderator_access_code]).to eq("abcdef")
|
||||
end
|
||||
|
||||
it "should redirect to show with and notify user of invalid access code" do
|
||||
post :login, params: { room_uid: @room.uid, room: { access_code: "123455" } }
|
||||
|
||||
expect(response).to redirect_to room_path(@room.uid)
|
||||
expect(flash[:alert]).to eq(I18n.t("room.access_code_required"))
|
||||
end
|
||||
|
||||
it "should redirect to show and notify user of invalid moderator access code" do
|
||||
@room.moderator_access_code = "abcdef"
|
||||
@room.save
|
||||
|
||||
post :login, params: { room_uid: @room.uid, room: { moderator_access_code: "abcdee" } }
|
||||
|
||||
expect(response).to redirect_to room_path(@room.uid)
|
||||
expect(flash[:alert]).to eq(I18n.t("room.access_code_required"))
|
||||
end
|
||||
|
||||
it "it should redirect to show with valid moderator access code and disabled moderator codes setting" do
|
||||
allow_any_instance_of(Setting).to receive(:get_value).and_call_original
|
||||
allow_any_instance_of(Setting).to receive(:get_value).with("Moderator Access Codes").and_return("false")
|
||||
|
||||
@room.moderator_access_code = "abcdef"
|
||||
@room.save
|
||||
|
||||
post :join, params: { room_uid: @room, join_name: "Join Name" }, session: { moderator_access_code: "abcdef" }
|
||||
|
||||
expect(response).to redirect_to room_path(@room.uid)
|
||||
expect(flash[:alert]).to eq(I18n.t("room.access_code_required"))
|
||||
end
|
||||
end
|
||||
|
||||
describe "POST join_specific_room" do
|
||||
|
|
|
@ -416,7 +416,7 @@ describe UsersController, type: :controller do
|
|||
tmp_role1.update_permission("send_promoted_email", "true")
|
||||
|
||||
params = random_valid_user_params
|
||||
params = params.merge!(user_uid: user, user: { role_id: tmp_role1.id.to_s })
|
||||
params.merge!(user_uid: user, user: { role_id: tmp_role1.id.to_s })
|
||||
|
||||
expect { post :update, params: params }.to change { ActionMailer::Base.deliveries.count }.by(1)
|
||||
|
||||
|
@ -440,7 +440,7 @@ describe UsersController, type: :controller do
|
|||
@request.session[:user_id] = admin.id
|
||||
|
||||
params = random_valid_user_params
|
||||
params = params.merge!(user_uid: user, user: { role_id: new_role.id.to_s })
|
||||
params.merge!(user_uid: user, user: { role_id: new_role.id.to_s })
|
||||
|
||||
expect(user.role.name).to eq("test1")
|
||||
expect(user.main_room).to be_nil
|
||||
|
@ -503,7 +503,7 @@ describe UsersController, type: :controller do
|
|||
user: {
|
||||
password: "incorrect_password",
|
||||
new_password: @password,
|
||||
password_confirmation: @password + "_random_string",
|
||||
password_confirmation: "#{@password}_random_string",
|
||||
}
|
||||
}
|
||||
post :update_password, params: params.merge!(user_uid: @user)
|
||||
|
|
|
@ -54,27 +54,27 @@ RSpec.configure do |config|
|
|||
.with(
|
||||
headers:
|
||||
{
|
||||
'Accept': '*/*',
|
||||
Accept: '*/*',
|
||||
'Accept-Encoding': 'gzip;q=1.0,deflate;q=0.6,identity;q=0.3',
|
||||
'User-Agent': 'Ruby',
|
||||
}
|
||||
)
|
||||
.to_return(status: 200, body: "", headers: {})
|
||||
stub_request(:any, /#{ENV['LOADBALANCER_ENDPOINT'] + 'api'}/)
|
||||
stub_request(:any, /#{"#{ENV['LOADBALANCER_ENDPOINT']}api"}/)
|
||||
.with(
|
||||
headers:
|
||||
{
|
||||
'Accept': '*/*',
|
||||
Accept: '*/*',
|
||||
'Accept-Encoding': 'gzip;q=1.0,deflate;q=0.6,identity;q=0.3',
|
||||
'User-Agent': 'Ruby',
|
||||
}
|
||||
)
|
||||
.to_return(status: 200, body: "", headers: {}) if ENV['LOADBALANCER_ENDPOINT']
|
||||
stub_request(:any, /#{ENV['LOADBALANCER_ENDPOINT'] + 'api\/getUser'}/)
|
||||
stub_request(:any, /#{"#{ENV['LOADBALANCER_ENDPOINT']}api\\/getUser"}/)
|
||||
.with(
|
||||
headers:
|
||||
{
|
||||
'Accept': '*/*',
|
||||
Accept: '*/*',
|
||||
'Accept-Encoding': 'gzip;q=1.0,deflate;q=0.6,identity;q=0.3',
|
||||
'User-Agent': 'Ruby',
|
||||
}
|
||||
|
@ -90,11 +90,11 @@ RSpec.configure do |config|
|
|||
<secret>secret</secret>
|
||||
</user>
|
||||
</response>", headers: {}) if ENV['LOADBALANCER_ENDPOINT']
|
||||
stub_request(:any, /#{ENV['LOADBALANCER_ENDPOINT'] + 'api2\/getUserGreenlightCredentials'}/)
|
||||
stub_request(:any, /#{"#{ENV['LOADBALANCER_ENDPOINT']}api2\\/getUserGreenlightCredentials"}/)
|
||||
.with(
|
||||
headers:
|
||||
{
|
||||
'Accept': '*/*',
|
||||
Accept: '*/*',
|
||||
'Accept-Encoding': 'gzip;q=1.0,deflate;q=0.6,identity;q=0.3',
|
||||
'User-Agent': 'Ruby',
|
||||
}
|
||||
|
|
|
@ -2,8 +2,8 @@
|
|||
|
||||
class UserMailerPreview < ActionMailer::Preview
|
||||
def initialize(_params)
|
||||
@logo = "https://raw.githubusercontent.com/bigbluebutton/greenlight/master/app/assets/images/logo_with_text.png"
|
||||
@color = "#467fcf"
|
||||
super
|
||||
@settings = Setting.find_by(provider: "greenlight")
|
||||
end
|
||||
|
||||
# Preview this email at
|
||||
|
@ -11,7 +11,7 @@ class UserMailerPreview < ActionMailer::Preview
|
|||
def password_reset
|
||||
user = User.first
|
||||
user.reset_token = User.new_token
|
||||
url = "http://example.com" + "/password_resets/" + user.reset_token + "/edit?email=" + user.email
|
||||
url = "http://example.com/password_resets/#{user.reset_token}/edit?email=#{user.email}"
|
||||
UserMailer.password_reset(user, url, @logo, @color)
|
||||
end
|
||||
|
||||
|
@ -19,14 +19,14 @@ class UserMailerPreview < ActionMailer::Preview
|
|||
# http://localhost:3000/rails/mailers/user_mailer/verify_email
|
||||
def verify_email
|
||||
user = User.first
|
||||
url = "http://example.com" + "/u/verify/confirm/" + user.uid
|
||||
url = "http://example.com/u/verify/confirm/#{user.uid}"
|
||||
UserMailer.verify_email(user, url, @logo, @color)
|
||||
end
|
||||
|
||||
# Preview this email at
|
||||
# http://localhost:3000/rails/mailers/user_mailer/invite_email
|
||||
def invite_email
|
||||
UserMailer.invite_email("Example User", "from@example.com", "http://example.com/signup", @logo, @color)
|
||||
UserMailer.invite_email("Example User", "from@example.com", DateTime.now, "http://example.com/signup", @settings)
|
||||
end
|
||||
|
||||
# Preview this email at
|
||||
|
|
Reference in New Issue