Compare commits

..

1 Commits

Author SHA1 Message Date
transifex-integration[bot] 187a4c47a1
Translate /config/locales/en.yml in nl
translation completed for the source file '/config/locales/en.yml'
on the 'nl' language.
2021-01-08 09:14:07 +00:00
134 changed files with 1780 additions and 5123 deletions

View File

@ -3,7 +3,6 @@
.gitignore .gitignore
README.md README.md
SECURITY.md SECURITY.md
.github
# Rails # Rails
.env .env
@ -25,5 +24,6 @@ vendor/bundle
Dockerfile Dockerfile
.gitlab-ci.yml .gitlab-ci.yml
.rubocop.yml .rubocop.yml
.travis.yml
spec spec
test test

View File

@ -1,16 +0,0 @@
<!---
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 that may help to visualize your changes. -->

View File

@ -1,95 +0,0 @@
env:
RUBY_VERSION: 2.7
name: CI Build Pre-Release
on:
release:
types: [prereleased]
jobs:
main:
name: Build Docker Image
env:
DOCKER_REPOSITORY: ${{ secrets.DOCKER_REPOSITORY }}
DOCKER_BUILD_ENABLED: ${{ secrets.DOCKER_BUILD_ENABLED }}
DOCKER_BUILD_ALTERNATE_ENABLED: ${{ secrets.DOCKER_BUILD_ALTERNATE_ENABLED }}
runs-on: ubuntu-20.04
steps:
- name: Checkout
if: contains(env.DOCKER_BUILD_ENABLED, 'true')
uses: actions/checkout@v2
- name: Set up Docker Buildx
if: contains(env.DOCKER_BUILD_ENABLED, 'true')
uses: docker/setup-buildx-action@v1
- name: Cache Docker layers
if: contains(env.DOCKER_BUILD_ENABLED, 'true')
uses: actions/cache@v2
with:
path: /tmp/.buildx-cache
key: ${{ runner.os }}-buildx-${{ github.sha }}
restore-keys: |
${{ runner.os }}-buildx-
- name: Login to DockerHub
if: contains(env.DOCKER_BUILD_ENABLED, 'true')
uses: docker/login-action@v1
with:
username: ${{ secrets.DOCKER_USERNAME }}
password: ${{ secrets.DOCKER_PASSWORD }}
- name: Extract Docker Repository
id: ci_docker_repository
if: contains(env.DOCKER_BUILD_ENABLED, 'true')
shell: bash
run: echo "##[set-output name=repository;]$(echo ${DOCKER_REPOSITORY:-$GITHUB_REPOSITORY})"
- name: Extract Tag Release
id: ci_tag_release_version
if: contains(env.DOCKER_BUILD_ENABLED, 'true')
shell: bash
run: echo "##[set-output name=tag;]$(echo ${GITHUB_REF#refs/tags/} | cut -c 9-)"
- name: Build and Push
if: contains(env.DOCKER_BUILD_ENABLED, 'true')
uses: docker/build-push-action@v2
with:
push: true
tags: |
"${{ steps.ci_docker_repository.outputs.repository }}:v${{ steps.ci_tag_release_version.outputs.tag }}"
build-args: "version_code=release-${{ steps.ci_tag_release_version.outputs.tag }}"
cache-from: type=local,src=/tmp/.buildx-cache
cache-to: type=local,dest=/tmp/.buildx-cache-new
# Alternate Images with alpine
- name: Alternate Alpine Build and Push
if: contains(env.DOCKER_BUILD_ENABLED, 'true') && contains(env.DOCKER_BUILD_ALTERNATE_ENABLED, 'true')
uses: docker/build-push-action@v2
with:
file: dockerfiles/v2/alpine
push: true
tags: |
"${{ steps.ci_docker_repository.outputs.repository }}:v${{ steps.ci_tag_release_version.outputs.tag }}-alpine"
build-args: "version_code=release-${{ steps.ci_tag_release_version.outputs.tag }}"
cache-from: type=local,src=/tmp/.buildx-cache
cache-to: type=local,dest=/tmp/.buildx-cache-new
# Alternate Images with amazonlinux
- name: Alternate Amazon Linux Build and Push
if: contains(env.DOCKER_BUILD_ENABLED, 'true') && contains(env.DOCKER_BUILD_ALTERNATE_ENABLED, 'true')
uses: docker/build-push-action@v2
with:
file: dockerfiles/v2/amazonlinux
push: true
tags: |
"${{ steps.ci_docker_repository.outputs.repository }}:v${{ steps.ci_tag_release_version.outputs.tag }}-amazonlinux"
build-args: "version_code=release-${{ steps.ci_tag_release_version.outputs.tag }}"
cache-from: type=local,src=/tmp/.buildx-cache
cache-to: type=local,dest=/tmp/.buildx-cache-new
- name: Move cache
if: contains(env.DOCKER_BUILD_ENABLED, 'true')
run: |
rm -rf /tmp/.buildx-cache
mv /tmp/.buildx-cache-new /tmp/.buildx-cache

View File

@ -1,101 +0,0 @@
env:
RUBY_VERSION: 2.7
name: CI Build Push
on:
push:
branches: "*"
jobs:
main:
name: Build Docker Image
env:
DOCKER_REPOSITORY: ${{ secrets.DOCKER_REPOSITORY }}
DOCKER_BUILD_ENABLED: ${{ secrets.DOCKER_BUILD_ENABLED }}
DOCKER_BUILD_ALTERNATE_ENABLED: ${{ secrets.DOCKER_BUILD_ALTERNATE_ENABLED }}
runs-on: ubuntu-20.04
steps:
- name: Checkout
if: contains(env.DOCKER_BUILD_ENABLED, 'true')
uses: actions/checkout@v2
- name: Set up Docker Buildx
if: contains(env.DOCKER_BUILD_ENABLED, 'true')
uses: docker/setup-buildx-action@v1
- name: Cache Docker layers
if: contains(env.DOCKER_BUILD_ENABLED, 'true')
uses: actions/cache@v2
with:
path: /tmp/.buildx-cache
key: ${{ runner.os }}-buildx-${{ github.sha }}
restore-keys: |
${{ runner.os }}-buildx-
- name: Login to DockerHub
if: contains(env.DOCKER_BUILD_ENABLED, 'true')
uses: docker/login-action@v1
with:
username: ${{ secrets.DOCKER_USERNAME }}
password: ${{ secrets.DOCKER_PASSWORD }}
- name: Extract Docker Repository
id: ci_docker_repository
if: contains(env.DOCKER_BUILD_ENABLED, 'true')
shell: bash
run: echo "##[set-output name=repository;]$(echo ${DOCKER_REPOSITORY:-$GITHUB_REPOSITORY})"
- name: Extract Branch Name
id: ci_branch_name
if: contains(env.DOCKER_BUILD_ENABLED, 'true')
shell: bash
run: echo "##[set-output name=branch;]$(echo ${GITHUB_REF#refs/heads/})"
- name: Extract Commit Short SHA
id: ci_commit_short_sha
if: contains(env.DOCKER_BUILD_ENABLED, 'true')
shell: bash
run: echo "##[set-output name=short_sha;]$(echo ${GITHUB_SHA} | cut -c1-7)"
- name: Build and Push
if: contains(env.DOCKER_BUILD_ENABLED, 'true')
uses: docker/build-push-action@v2
with:
push: true
tags: |
"${{ steps.ci_docker_repository.outputs.repository }}:${{ steps.ci_branch_name.outputs.branch }}"
build-args: "version_code=${{ steps.ci_branch_name.outputs.branch }}-${{ steps.ci_commit_short_sha.outputs.short_sha }}"
cache-from: type=local,src=/tmp/.buildx-cache
cache-to: type=local,dest=/tmp/.buildx-cache-new
# Alternate Image with alpine
- name: Alternate Alpine Build and Push
if: contains(env.DOCKER_BUILD_ENABLED, 'true') && contains(env.DOCKER_BUILD_ALTERNATE_ENABLED, 'true')
uses: docker/build-push-action@v2
with:
file: dockerfiles/v2/alpine
push: true
tags: |
"${{ steps.ci_docker_repository.outputs.repository }}:${{ steps.ci_branch_name.outputs.branch }}-alpine"
build-args: "version_code=${{ steps.ci_branch_name.outputs.branch }}-${{ steps.ci_commit_short_sha.outputs.short_sha }}"
cache-from: type=local,src=/tmp/.buildx-cache
cache-to: type=local,dest=/tmp/.buildx-cache-new
# Alternate Images for bbb-bionic-230 with amazonlinux
- name: Alternate Amazon Linux Build and Push
if: contains(env.DOCKER_BUILD_ENABLED, 'true') && contains(env.DOCKER_BUILD_ALTERNATE_ENABLED, 'true')
uses: docker/build-push-action@v2
with:
file: dockerfiles/v2/amazonlinux
push: true
tags: |
"${{ steps.ci_docker_repository.outputs.repository }}:${{ steps.ci_branch_name.outputs.branch }}-amazonlinux"
build-args: "version_code=${{ steps.ci_branch_name.outputs.branch }}-${{ steps.ci_commit_short_sha.outputs.short_sha }}"
cache-from: type=local,src=/tmp/.buildx-cache
cache-to: type=local,dest=/tmp/.buildx-cache-new
- name: Move cache
if: contains(env.DOCKER_BUILD_ENABLED, 'true')
run: |
rm -rf /tmp/.buildx-cache
mv /tmp/.buildx-cache-new /tmp/.buildx-cache

View File

@ -1,110 +0,0 @@
env:
RUBY_VERSION: 2.7
name: CI Build Release
on:
release:
types: [released]
jobs:
main:
name: Build Docker Image
env:
DOCKER_REPOSITORY: ${{ secrets.DOCKER_REPOSITORY }}
DOCKER_BUILD_ENABLED: ${{ secrets.DOCKER_BUILD_ENABLED }}
DOCKER_BUILD_ALTERNATE_ENABLED: ${{ secrets.DOCKER_BUILD_ALTERNATE_ENABLED }}
runs-on: ubuntu-20.04
steps:
- name: Checkout
if: contains(env.DOCKER_BUILD_ENABLED, 'true')
uses: actions/checkout@v2
- name: Set up Docker Buildx
if: contains(env.DOCKER_BUILD_ENABLED, 'true')
uses: docker/setup-buildx-action@v1
- name: Cache Docker layers
if: contains(env.DOCKER_BUILD_ENABLED, 'true')
uses: actions/cache@v2
with:
path: /tmp/.buildx-cache
key: ${{ runner.os }}-buildx-${{ github.sha }}
restore-keys: |
${{ runner.os }}-buildx-
- name: Login to DockerHub
if: contains(env.DOCKER_BUILD_ENABLED, 'true')
uses: docker/login-action@v1
with:
username: ${{ secrets.DOCKER_USERNAME }}
password: ${{ secrets.DOCKER_PASSWORD }}
- name: Extract Docker Repository
id: ci_docker_repository
if: contains(env.DOCKER_BUILD_ENABLED, 'true')
shell: bash
run: echo "##[set-output name=repository;]$(echo ${DOCKER_REPOSITORY:-$GITHUB_REPOSITORY})"
- name: Extract Tag Release
id: ci_tag_release
if: contains(env.DOCKER_BUILD_ENABLED, 'true')
shell: bash
run: echo "##[set-output name=tag;]$(echo ${GITHUB_REF#refs/tags/})"
- name: Extract Tag Release Major
id: ci_tag_release_major
if: contains(env.DOCKER_BUILD_ENABLED, 'true')
shell: bash
run: echo "##[set-output name=tag;]$(echo ${{steps.ci_tag_release.outputs.tag}} | cut -c 9- | cut -f1-1 -d'.')"
- name: Extract Tag Release Minor
id: ci_tag_release_minor
if: contains(env.DOCKER_BUILD_ENABLED, 'true')
shell: bash
run: echo "##[set-output name=tag;]$(echo ${{steps.ci_tag_release.outputs.tag}} | cut -c 9- | cut -f1-2 -d'.')"
- name: Build and Push
if: contains(env.DOCKER_BUILD_ENABLED, 'true')
uses: docker/build-push-action@v2
with:
push: true
tags: |
"${{ steps.ci_docker_repository.outputs.repository }}:${{ steps.ci_tag_release.outputs.tag }}"
"${{ steps.ci_docker_repository.outputs.repository }}:v${{ steps.ci_tag_release_major.outputs.tag }}"
"${{ steps.ci_docker_repository.outputs.repository }}:v${{ steps.ci_tag_release_minor.outputs.tag }}"
"${{ steps.ci_docker_repository.outputs.repository }}:latest"
build-args: "version_code=${{ steps.ci_tag_release_revision.outputs.tag }}"
cache-from: type=local,src=/tmp/.buildx-cache
cache-to: type=local,dest=/tmp/.buildx-cache-new
# Alternate Image with alpine
- name: Alternate Alpine Build and Push
if: contains(env.DOCKER_BUILD_ENABLED, 'true') && contains(env.DOCKER_BUILD_ALTERNATE_ENABLED, 'true')
uses: docker/build-push-action@v2
with:
file: dockerfiles/v2/alpine
push: true
tags: |
"${{ steps.ci_docker_repository.outputs.repository }}:${{ steps.ci_tag_release.outputs.tag }}-alpine"
build-args: "version_code=${{ steps.ci_tag_release_revision.outputs.tag }}"
cache-from: type=local,src=/tmp/.buildx-cache
cache-to: type=local,dest=/tmp/.buildx-cache-new
# Alternate Image with amazonlinux
- name: Alternate Amazon Linux Build and Push
if: contains(env.DOCKER_BUILD_ENABLED, 'true') && contains(env.DOCKER_BUILD_ALTERNATE_ENABLED, 'true')
uses: docker/build-push-action@v2
with:
file: dockerfiles/v2/amazonlinux
push: true
tags: |
"${{ steps.ci_docker_repository.outputs.repository }}:${{ steps.ci_tag_release.outputs.tag }}-amazonlinux"
build-args: "version_code=${{ steps.ci_tag_release_revision.outputs.tag }}"
cache-from: type=local,src=/tmp/.buildx-cache
cache-to: type=local,dest=/tmp/.buildx-cache-new
- name: Move cache
if: contains(env.DOCKER_BUILD_ENABLED, 'true')
run: |
rm -rf /tmp/.buildx-cache
mv /tmp/.buildx-cache-new /tmp/.buildx-cache

View File

@ -1,68 +0,0 @@
env:
RUBY_VERSION: 2.7
DB_ADAPTER: postgresql
DB_HOST: localhost
DB_NAME: postgres
DB_USERNAME: postgres
DB_PASSWORD: postgres
DB_PORT: 5432
name: CI
on:
push:
branches-ignore: "master"
pull_request:
branches: "*"
jobs:
test:
name: Rubocop + RSpec
runs-on: ubuntu-18.04
services:
postgres:
image: postgres:13.2-alpine
env:
POSTGRES_DB: postgres
POSTGRES_PASSWORD: postgres
POSTGRES_USER: postgres
ports:
- 5432:5432
# Health checks to wait until postgres is ready
options: >-
--health-cmd pg_isready
--health-interval 10s
--health-timeout 5s
--health-retries 5
steps:
- name: Checkout
uses: actions/checkout@v2
- name: Install Ruby ${{ env.RUBY_VERSION }}
uses: actions/setup-ruby@v1
with:
ruby-version: ${{ env.RUBY_VERSION }}
- name: Bundle cache
uses: actions/cache@v2
with:
path: vendor/bundle
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
bundler exec rails db:migrate RAILS_ENV=test
- name: Run Rubocop
run: bundle exec rubocop --parallel --fail-level F
- name: Run RSpec
run: bundle exec rspec

1
.gitignore vendored
View File

@ -6,6 +6,7 @@
# Ignore bundler config. # Ignore bundler config.
/.bundle /.bundle
vendor/bundle
# Ignore the default SQLite database. # Ignore the default SQLite database.
/db/*.sqlite3 /db/*.sqlite3

View File

@ -3,9 +3,11 @@ AllCops:
- 'db/schema.rb' - 'db/schema.rb'
- 'vendor/**/*' - 'vendor/**/*'
DisabledByDefault: false DisabledByDefault: false
TargetRubyVersion: 2.7 TargetRubyVersion: 2.5
NewCops: enable # Gems within groups in the Gemfile should be alphabetically sorted.
Bundler/OrderedGems:
Enabled: false
Style/BlockDelimiters: Style/BlockDelimiters:
Enabled: false Enabled: false
@ -136,7 +138,7 @@ Metrics/AbcSize:
# A complexity metric that is strongly correlated to the number # A complexity metric that is strongly correlated to the number
# of test cases needed to validate a method. # of test cases needed to validate a method.
Metrics/CyclomaticComplexity: Metrics/CyclomaticComplexity:
Max: 20 Max: 17
# Checks for method parameter names that contain capital letters, end in numbers, or do not meet a minimal length. # Checks for method parameter names that contain capital letters, end in numbers, or do not meet a minimal length.
Naming/MethodParameterName: Naming/MethodParameterName:
@ -174,18 +176,4 @@ Style/HashTransformValues:
Style/SlicingWithRange: Style/SlicingWithRange:
Enabled: true Enabled: true
Style/OptionalBooleanParameter:
Enabled: false
Lint/DuplicateBranch:
Enabled: false
Lint/ConstantDefinitionInBlock:
Enabled: false
Lint/EmptyBlock:
Enabled: false
Style/HashLikeCase:
Enabled: false

View File

@ -1 +1 @@
2.7.2 2.5.1

24
.travis.yml Normal file
View File

@ -0,0 +1,24 @@
sudo: required
language: ruby
cache: bundler
rvm:
- 2.5.1
jobs:
include:
- stage: test
name: rubocop
script: bundle exec rubocop
if: env(CD_TEST_IGNORE) IS NOT present
- stage: test
name: rspec
script: gem install bundler & bundle exec rspec
if: env(CD_TEST_IGNORE) IS NOT present
- stage: build
name: build docker image
script: bash scripts/image_build.sh $TRAVIS_REPO_SLUG $TRAVIS_BRANCH
if: env(CD_BUILD_IGNORE) IS NOT present AND type NOT IN (pull_request) AND env(CD_DOCKER_USERNAME)
IS present AND env(CD_DOCKER_PASSWORD) IS present
notifications:
email: false
slack:
secure: T64A1ut/3LdnUpPfsywNkjbyR2AIRlm99SM40xnLmXjM6Q0EtcFJ4luymC0EQB2q86WmFiK3AyPNm/EKGw8ZmjgeJIUkhMm8zZOLnYLsqMZeYmNNlDtV4zbhQ0HO3uvBqGVCSD2LTcGhCU/9VAplWpa9VnWUsWeRfklQ1yJ4y9oKtzEuiFHrILbDfqF47SlkQqbhS/Bl/oGHVVXijAmomJGG4wa9UI0PlSOUL2sJxxMhti+fptSwKo+TgKS8Vtjeu3C10QfRlcSmoDS0vaQgm7fggm/GrQ8zkSC/SKzOes/+hhRBE+TERWkx26azEy2kmI6xIkNf2BqFjDtQkjKN9yJLdJ1Kyry0uk7Eco67klEN/WoJ38NBuHVkq7p2CWWawFMg3OCS/3D9DStvYJBTBFrv7LMGKfhB4UdOgr/aSRlCTiF2grxqaXmDp0p/1J3uHIfDxbXiwx2ySjJFSC9e0/nTkJprPCQxVoZO+OFk0y2ElHMrX5L0qA2kZ4tQaPf04pQNguCgEsTnBtivVVMxCn9+ymgcHAnzGZmQmQ52NoZBQpa2FjBfhfxGOqHWJm6Kuk3p5yrGZTqlkf3GlTIlFNL8y9/5w6QaxQJbZLYSBbxAtJNvMWN/1cUwdbRTE4D0QTThASTgN6TtPKfWwIRrfj5+G9cAWo6DunmNhzATZ9g=

View File

@ -1,4 +1,4 @@
FROM ruby:2.7.2-alpine AS base FROM ruby:2.5.1-alpine AS base
# Set a variable for the install location. # Set a variable for the install location.
ARG RAILS_ROOT=/usr/src/app ARG RAILS_ROOT=/usr/src/app
@ -23,12 +23,10 @@ COPY Gemfile* ./
COPY Gemfile Gemfile.lock $RAILS_ROOT/ COPY Gemfile Gemfile.lock $RAILS_ROOT/
RUN bundle config --global frozen 1 \ RUN bundle config --global frozen 1 \
&& bundle config set deployment 'true' \ && bundle install --deployment --without development:test:assets -j4 --path=vendor/bundle \
&& bundle config set without 'development:test:assets' \ && rm -rf vendor/bundle/ruby/2.5.0/cache/*.gem \
&& bundle install -j4 --path=vendor/bundle \ && find vendor/bundle/ruby/2.5.0/gems/ -name "*.c" -delete \
&& rm -rf vendor/bundle/ruby/2.7.0/cache/*.gem \ && find vendor/bundle/ruby/2.5.0/gems/ -name "*.o" -delete
&& 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. # Adding project files.
COPY . . COPY . .
@ -38,7 +36,7 @@ RUN rm -rf tmp/cache spec
############### Build step done ############### ############### Build step done ###############
FROM ruby:2.7.2-alpine FROM ruby:2.5.1-alpine
# Set a variable for the install location. # Set a variable for the install location.
ARG RAILS_ROOT=/usr/src/app ARG RAILS_ROOT=/usr/src/app
@ -63,12 +61,5 @@ EXPOSE 80
ARG version_code ARG version_code
ENV VERSION_CODE=$version_code ENV VERSION_CODE=$version_code
# Set executable permission to start file
RUN chmod +x bin/start
# FIXME / to remove / https://github.com/nahi/httpclient/issues/445
RUN cat /etc/ssl/certs/ca-certificates.crt \
>/usr/src/app/vendor/bundle/ruby/2.7.0/gems/httpclient-2.8.3/lib/httpclient/cacert.pem
# Start the application. # Start the application.
CMD ["bin/start"] CMD ["bin/start"]

164
Gemfile
View File

@ -8,72 +8,136 @@ git_source(:github) do |repo_name|
end end
# Bundle edge Rails instead: gem 'rails', github: 'rails/rails' # Bundle edge Rails instead: gem 'rails', github: 'rails/rails'
gem 'aws-sdk-s3', '~> 1.88.1' 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 'bcrypt', '~> 3.1.7' gem 'bcrypt', '~> 3.1.7'
gem 'bigbluebutton-api-ruby', git: 'https://github.com/mconf/bigbluebutton-api-ruby.git', branch: 'master'
gem 'bn-ldap-authentication', '~> 0.1.4' # Reduces boot times through caching; required in config/boot.rb
gem 'bootsnap', '~> 1.7.2', require: false gem 'bootsnap', '>= 1.1.0', require: false
gem 'bootstrap', '~> 4.3.1'
gem 'cancancan', '~> 2.3.0' gem 'sprockets', '< 4.0.0'
gem 'coveralls', '~> 0.8.23', require: false
gem 'font-awesome-sass', '~> 5.9.0' # Authentication.
gem 'google-cloud-storage', '~> 1.30.0' gem 'omniauth'
gem 'http_accept_language', '~> 2.1.1' gem 'omniauth-twitter'
gem 'i18n-language-mapping', '~> 0.1.3.1' gem 'omniauth-google-oauth2'
gem 'jbuilder', '~> 2.11.2' gem 'omniauth_openid_connect'
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-launcher', '~> 0.1.3'
gem 'net-ldap'
gem 'bn-ldap-authentication', '~> 0.1.4'
gem 'omniauth-bn-office365', '~> 0.1.1' gem 'omniauth-bn-office365', '~> 0.1.1'
gem 'omniauth-google-oauth2', '~> 0.7.0'
gem 'omniauth_openid_connect', '~> 0.3.5' # BigBlueButton API wrapper.
gem 'omniauth-twitter', '~> 1.4.0' gem 'bigbluebutton-api-ruby', git: 'https://github.com/mconf/bigbluebutton-api-ruby.git', branch: 'master'
gem 'pagy', '~> 3.11.0'
gem 'pluck_to_hash', '~> 1.0.2' # Front-end.
gem 'puma', '~> 4.3.8' gem 'bootstrap', '~> 4.3.1'
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 'tabler-rubygem', git: 'https://github.com/blindsidenetworks/tabler-rubygem.git', tag: '0.1.4.1'
gem 'turbolinks', '~> 5.2.1' gem 'pagy'
gem 'tzinfo-data', '~> 1.2021.1' gem 'font-awesome-sass', '~> 5.9.0'
gem 'uglifier', '~> 4.2.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'
group :production do group :production do
gem 'hiredis', '~> 0.6.3' # Use a postgres database in production.
gem "lograge", '~> 0.11.2'
gem 'pg', '~> 0.18' gem 'pg', '~> 0.18'
gem 'redis', '~> 4.2.5' gem 'sequel'
gem 'sequel', '~> 5.41.0'
# For a better logging library in production
gem "lograge"
# Use for the cache store in production
gem 'redis'
gem 'hiredis'
end end
# Ruby linting.
gem 'rubocop'
group :development, :test do group :development, :test do
gem 'byebug', '~> 11.1', platform: :mri # Call 'byebug' anywhere in the code to stop execution and get a debugger console
gem 'dotenv-rails', '~> 2.7' gem 'byebug', platform: :mri
# Environment configuration.
gem 'dotenv-rails'
# Use a sqlite database in test and development.
gem 'sqlite3', '~> 1.3.6'
end end
group :test do group :test do
gem 'action-cable-testing', '~> 0.6' # Include Rspec and other testing utilities.
gem "factory_bot_rails", '~> 6.1'
gem 'faker', '~> 2.16'
gem 'rails-controller-testing', '~> 1.0'
gem 'rspec-rails', '~> 3.7' gem 'rspec-rails', '~> 3.7'
gem 'action-cable-testing'
gem 'rails-controller-testing'
gem 'shoulda-matchers', '~> 3.1' gem 'shoulda-matchers', '~> 3.1'
gem 'webmock', '~> 3.11' gem 'faker'
gem "factory_bot_rails"
gem 'webmock'
end end
group :development do group :development do
gem 'listen', '~> 3.0' # Access an IRB console on exception pages or by using <%= console %> anywhere in the code.
gem 'spring', '~> 2.1' gem 'web-console', '>= 3.3.0'
gem 'spring-watcher-listen', '~> 2.0' gem 'listen', '~> 3.0.5'
gem 'web-console', '~> 3.7' # 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'
end 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'

View File

@ -25,77 +25,77 @@ GEM
specs: specs:
action-cable-testing (0.6.1) action-cable-testing (0.6.1)
actioncable (>= 5.0) actioncable (>= 5.0)
actioncable (5.2.6) actioncable (5.2.4.4)
actionpack (= 5.2.6) actionpack (= 5.2.4.4)
nio4r (~> 2.0) nio4r (~> 2.0)
websocket-driver (>= 0.6.1) websocket-driver (>= 0.6.1)
actionmailer (5.2.6) actionmailer (5.2.4.4)
actionpack (= 5.2.6) actionpack (= 5.2.4.4)
actionview (= 5.2.6) actionview (= 5.2.4.4)
activejob (= 5.2.6) activejob (= 5.2.4.4)
mail (~> 2.5, >= 2.5.4) mail (~> 2.5, >= 2.5.4)
rails-dom-testing (~> 2.0) rails-dom-testing (~> 2.0)
actionpack (5.2.6) actionpack (5.2.4.4)
actionview (= 5.2.6) actionview (= 5.2.4.4)
activesupport (= 5.2.6) activesupport (= 5.2.4.4)
rack (~> 2.0, >= 2.0.8) rack (~> 2.0, >= 2.0.8)
rack-test (>= 0.6.3) rack-test (>= 0.6.3)
rails-dom-testing (~> 2.0) rails-dom-testing (~> 2.0)
rails-html-sanitizer (~> 1.0, >= 1.0.2) rails-html-sanitizer (~> 1.0, >= 1.0.2)
actionview (5.2.6) actionview (5.2.4.4)
activesupport (= 5.2.6) activesupport (= 5.2.4.4)
builder (~> 3.1) builder (~> 3.1)
erubi (~> 1.4) erubi (~> 1.4)
rails-dom-testing (~> 2.0) rails-dom-testing (~> 2.0)
rails-html-sanitizer (~> 1.0, >= 1.0.3) rails-html-sanitizer (~> 1.0, >= 1.0.3)
activejob (5.2.6) activejob (5.2.4.4)
activesupport (= 5.2.6) activesupport (= 5.2.4.4)
globalid (>= 0.3.6) globalid (>= 0.3.6)
activemodel (5.2.6) activemodel (5.2.4.4)
activesupport (= 5.2.6) activesupport (= 5.2.4.4)
activerecord (5.2.6) activerecord (5.2.4.4)
activemodel (= 5.2.6) activemodel (= 5.2.4.4)
activesupport (= 5.2.6) activesupport (= 5.2.4.4)
arel (>= 9.0) arel (>= 9.0)
activestorage (5.2.6) activestorage (5.2.4.4)
actionpack (= 5.2.6) actionpack (= 5.2.4.4)
activerecord (= 5.2.6) activerecord (= 5.2.4.4)
marcel (~> 1.0.0) marcel (~> 0.3.1)
activesupport (5.2.6) activesupport (5.2.4.4)
concurrent-ruby (~> 1.0, >= 1.0.2) concurrent-ruby (~> 1.0, >= 1.0.2)
i18n (>= 0.7, < 2) i18n (>= 0.7, < 2)
minitest (~> 5.1) minitest (~> 5.1)
tzinfo (~> 1.1) tzinfo (~> 1.1)
addressable (2.8.0) addressable (2.7.0)
public_suffix (>= 2.0.2, < 5.0) public_suffix (>= 2.0.2, < 5.0)
aes_key_wrap (1.1.0) aes_key_wrap (1.1.0)
arel (9.0.0) arel (9.0.0)
ast (2.4.2) ast (2.4.0)
attr_required (1.0.1) attr_required (1.0.1)
autoprefixer-rails (10.2.4.0) autoprefixer-rails (9.7.6)
execjs execjs
aws-eventstream (1.1.1) aws-eventstream (1.1.0)
aws-partitions (1.435.0) aws-partitions (1.343.0)
aws-sdk-core (3.113.0) aws-sdk-core (3.104.1)
aws-eventstream (~> 1, >= 1.0.2) aws-eventstream (~> 1, >= 1.0.2)
aws-partitions (~> 1, >= 1.239.0) aws-partitions (~> 1, >= 1.239.0)
aws-sigv4 (~> 1.1) aws-sigv4 (~> 1.1)
jmespath (~> 1.0) jmespath (~> 1.0)
aws-sdk-kms (1.43.0) aws-sdk-kms (1.36.0)
aws-sdk-core (~> 3, >= 3.112.0) aws-sdk-core (~> 3, >= 3.99.0)
aws-sigv4 (~> 1.1) aws-sigv4 (~> 1.1)
aws-sdk-s3 (1.88.2) aws-sdk-s3 (1.75.0)
aws-sdk-core (~> 3, >= 3.112.0) aws-sdk-core (~> 3, >= 3.104.1)
aws-sdk-kms (~> 1) aws-sdk-kms (~> 1)
aws-sigv4 (~> 1.1) aws-sigv4 (~> 1.1)
aws-sigv4 (1.2.3) aws-sigv4 (1.2.1)
aws-eventstream (~> 1, >= 1.0.2) aws-eventstream (~> 1, >= 1.0.2)
bcrypt (3.1.16) bcrypt (3.1.13)
bindata (2.4.10) bindata (2.4.8)
bindex (0.8.1) bindex (0.8.1)
bn-ldap-authentication (0.1.4) bn-ldap-authentication (0.1.4)
net-ldap (~> 0) net-ldap (~> 0)
bootsnap (1.7.3) bootsnap (1.4.6)
msgpack (~> 1.0) msgpack (~> 1.0)
bootstrap (4.3.1) bootstrap (4.3.1)
autoprefixer-rails (>= 9.1.0) autoprefixer-rails (>= 9.1.0)
@ -105,74 +105,71 @@ GEM
byebug (11.1.3) byebug (11.1.3)
cancancan (2.3.0) cancancan (2.3.0)
childprocess (4.0.0) childprocess (4.0.0)
concurrent-ruby (1.1.8) 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)
coveralls (0.8.23) coveralls (0.8.23)
json (>= 1.8, < 3) json (>= 1.8, < 3)
simplecov (~> 0.16.1) simplecov (~> 0.16.1)
term-ansicolor (~> 1.3) term-ansicolor (~> 1.3)
thor (>= 0.19.4, < 2.0) thor (>= 0.19.4, < 2.0)
tins (~> 1.6) tins (~> 1.6)
crack (0.4.5) crack (0.4.3)
rexml safe_yaml (~> 1.0.0)
crass (1.0.6) crass (1.0.6)
declarative (0.0.20) declarative (0.0.20)
declarative-option (0.1.0) declarative-option (0.1.0)
diff-lcs (1.4.4) diff-lcs (1.3)
digest-crc (0.6.3) digest-crc (0.6.1)
rake (>= 12.0.0, < 14.0.0) rake (~> 13.0)
docile (1.3.5) docile (1.3.2)
dotenv (2.7.6) dotenv (2.7.5)
dotenv-rails (2.7.6) dotenv-rails (2.7.5)
dotenv (= 2.7.6) dotenv (= 2.7.5)
railties (>= 3.2) railties (>= 3.2, < 6.1)
erubi (1.10.0) erubi (1.9.0)
execjs (2.7.0) execjs (2.7.0)
factory_bot (6.1.0) factory_bot (5.2.0)
activesupport (>= 5.0.0) activesupport (>= 4.2.0)
factory_bot_rails (6.1.0) factory_bot_rails (5.2.0)
factory_bot (~> 6.1.0) factory_bot (~> 5.2.0)
railties (>= 5.0.0) railties (>= 4.2.0)
faker (2.17.0) faker (2.11.0)
i18n (>= 1.6, < 2) i18n (>= 1.6, < 2)
faraday (1.3.0) faraday (1.0.1)
faraday-net_http (~> 1.0)
multipart-post (>= 1.2, < 3) multipart-post (>= 1.2, < 3)
ruby2_keywords ffi (1.12.2)
faraday-net_http (1.0.1)
ffi (1.15.0)
font-awesome-sass (5.9.0) font-awesome-sass (5.9.0)
sassc (>= 1.11) sassc (>= 1.11)
globalid (0.4.2) globalid (0.4.2)
activesupport (>= 4.2.0) activesupport (>= 4.2.0)
google-apis-core (0.3.0) google-api-client (0.42.1)
addressable (~> 2.5, >= 2.5.1) addressable (~> 2.5, >= 2.5.1)
googleauth (~> 0.14) googleauth (~> 0.9)
httpclient (>= 2.8.1, < 3.0) httpclient (>= 2.8.1, < 3.0)
mini_mime (~> 1.0) mini_mime (~> 1.0)
representable (~> 3.0) representable (~> 3.0)
retriable (>= 2.0, < 4.0) retriable (>= 2.0, < 4.0)
rexml signet (~> 0.12)
signet (~> 0.14) google-cloud-core (1.5.0)
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-env (~> 1.0)
google-cloud-errors (~> 1.0) google-cloud-errors (~> 1.0)
google-cloud-env (1.5.0) google-cloud-env (1.3.3)
faraday (>= 0.17.3, < 2.0) faraday (>= 0.17.3, < 2.0)
google-cloud-errors (1.1.0) google-cloud-errors (1.0.1)
google-cloud-storage (1.30.0) google-cloud-storage (1.26.2)
addressable (~> 2.5) addressable (~> 2.5)
digest-crc (~> 0.4) digest-crc (~> 0.4)
google-apis-iamcredentials_v1 (~> 0.1) google-api-client (~> 0.33)
google-apis-storage_v1 (~> 0.1)
google-cloud-core (~> 1.2) google-cloud-core (~> 1.2)
googleauth (~> 0.9) googleauth (~> 0.9)
mini_mime (~> 1.0) mini_mime (~> 1.0)
googleauth (0.16.0) googleauth (0.13.0)
faraday (>= 0.17.3, < 2.0) faraday (>= 0.17.3, < 2.0)
jwt (>= 1.4, < 3.0) jwt (>= 1.4, < 3.0)
memoist (~> 0.16) memoist (~> 0.16)
@ -184,10 +181,10 @@ GEM
hiredis (0.6.3) hiredis (0.6.3)
http_accept_language (2.1.1) http_accept_language (2.1.1)
httpclient (2.8.3) httpclient (2.8.3)
i18n (1.8.10) i18n (1.8.5)
concurrent-ruby (~> 1.0) concurrent-ruby (~> 1.0)
i18n-language-mapping (0.1.3.1) i18n-language-mapping (0.1.2)
jbuilder (2.11.2) jbuilder (2.10.0)
activesupport (>= 5.0.0) activesupport (>= 5.0.0)
jmespath (1.4.0) jmespath (1.4.0)
jquery-rails (4.4.0) jquery-rails (4.4.0)
@ -196,43 +193,44 @@ GEM
thor (>= 0.14, < 2.0) thor (>= 0.14, < 2.0)
jquery-ui-rails (6.0.1) jquery-ui-rails (6.0.1)
railties (>= 3.2.16) railties (>= 3.2.16)
json (2.5.1) json (2.3.0)
json-jwt (1.13.0) json-jwt (1.13.0)
activesupport (>= 4.2) activesupport (>= 4.2)
aes_key_wrap aes_key_wrap
bindata bindata
jwt (2.2.2) jwt (2.2.1)
listen (3.5.0) listen (3.0.8)
rb-fsevent (~> 0.10, >= 0.10.3) rb-fsevent (~> 0.9, >= 0.9.4)
rb-inotify (~> 0.9, >= 0.9.10) rb-inotify (~> 0.9, >= 0.9.7)
local_time (2.1.0)
lograge (0.11.2) lograge (0.11.2)
actionpack (>= 4) actionpack (>= 4)
activesupport (>= 4) activesupport (>= 4)
railties (>= 4) railties (>= 4)
request_store (~> 1.0) request_store (~> 1.0)
loofah (2.9.1) loofah (2.7.0)
crass (~> 1.0.2) crass (~> 1.0.2)
nokogiri (>= 1.5.9) nokogiri (>= 1.5.9)
mail (2.7.1) mail (2.7.1)
mini_mime (>= 0.1.1) mini_mime (>= 0.1.1)
marcel (1.0.1) marcel (0.3.3)
mimemagic (~> 0.3.2)
memoist (0.16.2) memoist (0.16.2)
method_source (1.0.0) method_source (1.0.0)
mini_mime (1.1.0) mimemagic (0.3.5)
mini_portile2 (2.6.1) mini_mime (1.0.2)
minitest (5.14.4) mini_portile2 (2.5.0)
msgpack (1.4.2) minitest (5.14.2)
multi_json (1.15.0) msgpack (1.3.3)
multi_json (1.14.1)
multi_xml (0.6.0) multi_xml (0.6.0)
multipart-post (2.1.1) multipart-post (2.1.1)
net-ldap (0.17.0) net-ldap (0.16.2)
nio4r (2.5.7) nio4r (2.5.4)
nokogiri (1.12.5) nokogiri (1.11.1)
mini_portile2 (~> 2.6.1) mini_portile2 (~> 2.5.0)
racc (~> 1.4) racc (~> 1.4)
oauth (0.5.5) oauth (0.5.4)
oauth2 (1.4.7) oauth2 (1.4.4)
faraday (>= 0.8, < 2.0) faraday (>= 0.8, < 2.0)
jwt (>= 1.0, < 3.0) jwt (>= 1.0, < 3.0)
multi_json (~> 1.3) multi_json (~> 1.3)
@ -251,9 +249,9 @@ GEM
jwt (>= 2.0) jwt (>= 2.0)
omniauth (>= 1.1.1) omniauth (>= 1.1.1)
omniauth-oauth2 (>= 1.5) omniauth-oauth2 (>= 1.5)
omniauth-oauth (1.2.0) omniauth-oauth (1.1.0)
oauth oauth
omniauth (>= 1.0, < 3) omniauth (~> 1.0)
omniauth-oauth2 (1.5.0) omniauth-oauth2 (1.5.0)
oauth2 (~> 1.1) oauth2 (~> 1.1)
omniauth (~> 1.2) omniauth (~> 1.2)
@ -274,19 +272,18 @@ GEM
validate_email validate_email
validate_url validate_url
webfinger (>= 1.0.1) webfinger (>= 1.0.1)
os (1.1.1) os (1.1.0)
pagy (3.11.0) pagy (3.8.1)
parallel (1.20.1) parallel (1.19.1)
parser (3.0.0.0) parser (2.7.1.3)
ast (~> 2.4.1) ast (~> 2.4.0)
pg (0.21.0) pg (0.21.0)
pluck_to_hash (1.0.2) pluck_to_hash (1.0.2)
activerecord (>= 4.0.2) activerecord (>= 4.0.2)
activesupport (>= 4.0.2) activesupport (>= 4.0.2)
popper_js (1.16.0) popper_js (1.16.0)
public_suffix (4.0.6) public_suffix (4.0.5)
puma (4.3.8) puma (3.12.6)
nio4r (~> 2.0)
racc (1.5.2) racc (1.5.2)
rack (2.2.3) rack (2.2.3)
rack-oauth2 (1.16.0) rack-oauth2 (1.16.0)
@ -297,45 +294,44 @@ GEM
rack (>= 2.1.0) rack (>= 2.1.0)
rack-test (1.1.0) rack-test (1.1.0)
rack (>= 1.0, < 3) rack (>= 1.0, < 3)
rails (5.2.6) rails (5.2.4.4)
actioncable (= 5.2.6) actioncable (= 5.2.4.4)
actionmailer (= 5.2.6) actionmailer (= 5.2.4.4)
actionpack (= 5.2.6) actionpack (= 5.2.4.4)
actionview (= 5.2.6) actionview (= 5.2.4.4)
activejob (= 5.2.6) activejob (= 5.2.4.4)
activemodel (= 5.2.6) activemodel (= 5.2.4.4)
activerecord (= 5.2.6) activerecord (= 5.2.4.4)
activestorage (= 5.2.6) activestorage (= 5.2.4.4)
activesupport (= 5.2.6) activesupport (= 5.2.4.4)
bundler (>= 1.3.0) bundler (>= 1.3.0)
railties (= 5.2.6) railties (= 5.2.4.4)
sprockets-rails (>= 2.0.0) sprockets-rails (>= 2.0.0)
rails-controller-testing (1.0.5) rails-controller-testing (1.0.4)
actionpack (>= 5.0.1.rc1) actionpack (>= 5.0.1.x)
actionview (>= 5.0.1.rc1) actionview (>= 5.0.1.x)
activesupport (>= 5.0.1.rc1) activesupport (>= 5.0.1.x)
rails-dom-testing (2.0.3) rails-dom-testing (2.0.3)
activesupport (>= 4.2.0) activesupport (>= 4.2.0)
nokogiri (>= 1.6) nokogiri (>= 1.6)
rails-html-sanitizer (1.3.0) rails-html-sanitizer (1.3.0)
loofah (~> 2.3) loofah (~> 2.3)
railties (5.2.6) railties (5.2.4.4)
actionpack (= 5.2.6) actionpack (= 5.2.4.4)
activesupport (= 5.2.6) activesupport (= 5.2.4.4)
method_source method_source
rake (>= 0.8.7) rake (>= 0.8.7)
thor (>= 0.19.0, < 2.0) thor (>= 0.19.0, < 2.0)
rainbow (3.0.0) rainbow (3.0.0)
rake (13.0.3) rake (13.0.1)
random_password (0.1.1) random_password (0.1.1)
rb-fsevent (0.10.4) rb-fsevent (0.10.4)
rb-inotify (0.10.1) rb-inotify (0.10.1)
ffi (~> 1.0) ffi (~> 1.0)
recaptcha (5.7.0) recaptcha (5.5.0)
json json
redcarpet (3.5.1) redcarpet (3.5.0)
redis (4.2.5) redis (4.1.4)
regexp_parser (2.1.1)
remote_syslog_logger (1.0.4) remote_syslog_logger (1.0.4)
syslog_protocol syslog_protocol
representable (3.0.4) representable (3.0.4)
@ -345,10 +341,10 @@ GEM
request_store (1.5.0) request_store (1.5.0)
rack (>= 1.4) rack (>= 1.4)
retriable (3.1.2) retriable (3.1.2)
rexml (3.2.5) rexml (3.2.4)
rspec-core (3.9.3) rspec-core (3.9.2)
rspec-support (~> 3.9.3) rspec-support (~> 3.9.3)
rspec-expectations (3.9.4) rspec-expectations (3.9.2)
diff-lcs (>= 1.2.0, < 2.0) diff-lcs (>= 1.2.0, < 2.0)
rspec-support (~> 3.9.0) rspec-support (~> 3.9.0)
rspec-mocks (3.9.1) rspec-mocks (3.9.1)
@ -362,22 +358,21 @@ GEM
rspec-expectations (~> 3.9.0) rspec-expectations (~> 3.9.0)
rspec-mocks (~> 3.9.0) rspec-mocks (~> 3.9.0)
rspec-support (~> 3.9.0) rspec-support (~> 3.9.0)
rspec-support (3.9.4) rspec-support (3.9.3)
rubocop (1.10.0) rubocop (0.84.0)
parallel (~> 1.10) parallel (~> 1.10)
parser (>= 3.0.0.0) parser (>= 2.7.0.1)
rainbow (>= 2.2.2, < 4.0) rainbow (>= 2.2.2, < 4.0)
regexp_parser (>= 1.8, < 3.0)
rexml rexml
rubocop-ast (>= 1.2.0, < 2.0) rubocop-ast (>= 0.0.3)
ruby-progressbar (~> 1.7) ruby-progressbar (~> 1.7)
unicode-display_width (>= 1.4.0, < 3.0) unicode-display_width (>= 1.4.0, < 2.0)
rubocop-ast (1.4.1) rubocop-ast (0.0.3)
parser (>= 2.7.1.5) parser (>= 2.7.0.1)
ruby-progressbar (1.11.0) ruby-progressbar (1.10.1)
ruby2_keywords (0.0.4)
rubyzip (2.3.0) rubyzip (2.3.0)
sassc (2.4.0) safe_yaml (1.0.5)
sassc (2.3.0)
ffi (~> 1.9) ffi (~> 1.9)
sassc-rails (2.1.2) sassc-rails (2.1.2)
railties (>= 4.0.0) railties (>= 4.0.0)
@ -385,10 +380,10 @@ GEM
sprockets (> 3.0) sprockets (> 3.0)
sprockets-rails sprockets-rails
tilt tilt
sequel (5.41.0) sequel (5.32.0)
shoulda-matchers (3.1.3) shoulda-matchers (3.1.3)
activesupport (>= 4.0.0) activesupport (>= 4.0.0)
signet (0.15.0) signet (0.14.0)
addressable (~> 2.3) addressable (~> 2.3)
faraday (>= 0.17.3, < 2.0) faraday (>= 0.17.3, < 2.0)
jwt (>= 1.5, < 3.0) jwt (>= 1.5, < 3.0)
@ -398,7 +393,7 @@ GEM
json (>= 1.8, < 3) json (>= 1.8, < 3)
simplecov-html (~> 0.10.0) simplecov-html (~> 0.10.0)
simplecov-html (0.10.2) simplecov-html (0.10.2)
spring (2.1.1) spring (2.1.0)
spring-watcher-listen (2.0.1) spring-watcher-listen (2.0.1)
listen (>= 2.7, < 4.0) listen (>= 2.7, < 4.0)
spring (>= 1.2, < 3.0) spring (>= 1.2, < 3.0)
@ -418,22 +413,22 @@ GEM
syslog_protocol (0.9.2) syslog_protocol (0.9.2)
term-ansicolor (1.7.1) term-ansicolor (1.7.1)
tins (~> 1.0) tins (~> 1.0)
thor (1.1.0) thor (1.0.1)
thread_safe (0.3.6) thread_safe (0.3.6)
tilt (2.0.10) tilt (2.0.10)
tins (1.28.0) tins (1.25.0)
sync sync
turbolinks (5.2.1) turbolinks (5.2.1)
turbolinks-source (~> 5.2) turbolinks-source (~> 5.2)
turbolinks-source (5.2.0) turbolinks-source (5.2.0)
tzinfo (1.2.9) tzinfo (1.2.7)
thread_safe (~> 0.1) thread_safe (~> 0.1)
tzinfo-data (1.2021.1) tzinfo-data (1.2020.1)
tzinfo (>= 1.0.0) tzinfo (>= 1.0.0)
uber (0.1.0) uber (0.1.0)
uglifier (4.2.0) uglifier (4.2.0)
execjs (>= 0.3.0, < 3) execjs (>= 0.3.0, < 3)
unicode-display_width (2.0.0) unicode-display_width (1.7.0)
validate_email (0.1.6) validate_email (0.1.6)
activemodel (>= 3.0) activemodel (>= 3.0)
mail (>= 2.2.5) mail (>= 2.2.5)
@ -448,74 +443,73 @@ GEM
webfinger (1.1.0) webfinger (1.1.0)
activesupport activesupport
httpclient (>= 2.4) httpclient (>= 2.4)
webmock (3.12.1) webmock (3.8.3)
addressable (>= 2.3.6) addressable (>= 2.3.6)
crack (>= 0.3.2) crack (>= 0.3.2)
hashdiff (>= 0.4.0, < 2.0.0) hashdiff (>= 0.4.0, < 2.0.0)
webrick (1.7.0)
websocket-driver (0.7.3) websocket-driver (0.7.3)
websocket-extensions (>= 0.1.0) websocket-extensions (>= 0.1.0)
websocket-extensions (0.1.5) websocket-extensions (0.1.5)
xml-simple (1.1.8) xml-simple (1.1.5)
PLATFORMS PLATFORMS
ruby ruby
DEPENDENCIES DEPENDENCIES
action-cable-testing (~> 0.6) action-cable-testing
aws-sdk-s3 (~> 1.88.1) aws-sdk-s3 (~> 1.75)
bcrypt (~> 3.1.7) bcrypt (~> 3.1.7)
bigbluebutton-api-ruby! bigbluebutton-api-ruby!
bn-ldap-authentication (~> 0.1.4) bn-ldap-authentication (~> 0.1.4)
bootsnap (~> 1.7.2) bootsnap (>= 1.1.0)
bootstrap (~> 4.3.1) bootstrap (~> 4.3.1)
byebug (~> 11.1) byebug
cancancan (~> 2.3.0) cancancan (~> 2.0)
coveralls (~> 0.8.23) coffee-rails (~> 4.2)
dotenv-rails (~> 2.7) coveralls
factory_bot_rails (~> 6.1) dotenv-rails
faker (~> 2.16) factory_bot_rails
faker
font-awesome-sass (~> 5.9.0) font-awesome-sass (~> 5.9.0)
google-cloud-storage (~> 1.30.0) google-cloud-storage (~> 1.26)
hiredis (~> 0.6.3) hiredis
http_accept_language (~> 2.1.1) http_accept_language
i18n-language-mapping (~> 0.1.3.1) i18n-language-mapping (~> 0.1.1)
jbuilder (~> 2.11.2) jbuilder (~> 2.5)
jquery-rails (~> 4.4.0) jquery-rails (~> 4.4)
jquery-ui-rails (~> 6.0.1) jquery-ui-rails
listen (~> 3.0) listen (~> 3.0.5)
local_time (~> 2.1.0) lograge
lograge (~> 0.11.2) net-ldap
net-ldap (~> 0.17.0) omniauth
omniauth (~> 1.9.1)
omniauth-bn-launcher (~> 0.1.3) omniauth-bn-launcher (~> 0.1.3)
omniauth-bn-office365 (~> 0.1.1) omniauth-bn-office365 (~> 0.1.1)
omniauth-google-oauth2 (~> 0.7.0) omniauth-google-oauth2
omniauth-twitter (~> 1.4.0) omniauth-twitter
omniauth_openid_connect (~> 0.3.5) omniauth_openid_connect
pagy (~> 3.11.0) pagy
pg (~> 0.18) pg (~> 0.18)
pluck_to_hash (~> 1.0.2) pluck_to_hash (~> 1.0.2)
puma (~> 4.3.8) puma (~> 3.12)
rails (~> 5.2.6) rails (~> 5.2.4.4)
rails-controller-testing (~> 1.0) rails-controller-testing
random_password (~> 0.1.1) random_password
recaptcha (~> 5.7.0) recaptcha
redcarpet (~> 3.5.1) redcarpet
redis (~> 4.2.5) redis
remote_syslog_logger (~> 1.0.4) remote_syslog_logger
rspec-rails (~> 3.7) rspec-rails (~> 3.7)
rubocop (~> 1.10.0) rubocop
sassc-rails (~> 2.1.2) sassc-rails
sequel (~> 5.41.0) sequel
shoulda-matchers (~> 3.1) shoulda-matchers (~> 3.1)
spring (~> 2.1) spring
spring-watcher-listen (~> 2.0) spring-watcher-listen (~> 2.0.0)
sprockets (~> 3.7.2) sprockets (< 4.0.0)
sqlite3 (~> 1.3.6) sqlite3 (~> 1.3.6)
tabler-rubygem! tabler-rubygem!
turbolinks (~> 5.2.1) turbolinks (~> 5)
tzinfo-data (~> 1.2021.1) tzinfo-data
uglifier (~> 4.2.0) uglifier (>= 1.3.0)
web-console (~> 3.7) web-console (>= 3.3.0)
webmock (~> 3.11) webmock

View File

@ -1,5 +1,6 @@
# Greenlight # Greenlight
![Travis CI](https://travis-ci.org/bigbluebutton/greenlight.svg?branch=master)
![Coverage ![Coverage
!Status](https://coveralls.io/repos/github/bigbluebutton/greenlight/badge.svg?branch=master) !Status](https://coveralls.io/repos/github/bigbluebutton/greenlight/badge.svg?branch=master)
![Docker Pulls](https://img.shields.io/docker/pulls/bigbluebutton/greenlight.svg) ![Docker Pulls](https://img.shields.io/docker/pulls/bigbluebutton/greenlight.svg)
@ -32,6 +33,4 @@ 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 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 [Greenlight mailing list](https://groups.google.com/forum/#!forum/bigbluebutton-greenlight). 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).
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.

View File

@ -35,5 +35,4 @@
//= require jquery-ui/widgets/sortable //= require jquery-ui/widgets/sortable
//= require pickr.min.js //= require pickr.min.js
//= require bootstrap-select.min.js //= require bootstrap-select.min.js
//= require local-time
//= require_tree . //= require_tree .

View File

@ -46,16 +46,10 @@ $(document).on('turbolinks:load', function(){
showUpdateRoom(this) showUpdateRoom(this)
}) })
// share room pop up accessibility
manageAccessAccessibility();
$(".delete-room").click(function() { $(".delete-room").click(function() {
showDeleteRoom(this) showDeleteRoom(this)
}) })
// For keyboard users to be able to generate access code
generateAccessCodeAccessibility()
$('.selectpicker').selectpicker({ $('.selectpicker').selectpicker({
liveSearchPlaceholder: getLocalizedString('javascript.search.start') liveSearchPlaceholder: getLocalizedString('javascript.search.start')
}); });
@ -65,7 +59,6 @@ $(document).on('turbolinks:load', function(){
$(".share-room").click(function() { $(".share-room").click(function() {
// Update the path of save button // Update the path of save button
$("#save-access").attr("data-path", $(this).data("path")) $("#save-access").attr("data-path", $(this).data("path"))
$("#room-owner-uid").val($(this).data("owner"))
// Get list of users shared with and display them // Get list of users shared with and display them
displaySharedUsers($(this).data("users-path")) displaySharedUsers($(this).data("users-path"))
@ -89,7 +82,7 @@ $(document).on('turbolinks:load', function(){
$(".bs-searchbox").siblings().hide() $(".bs-searchbox").siblings().hide()
} else { } else {
// Manually populate the dropdown // Manually populate the dropdown
$.get($("#share-room-select").data("path"), { search: $(".bs-searchbox input").val(), owner_uid: $("#room-owner-uid").val() }, function(users) { $.get($("#share-room-select").data("path"), { search: $(".bs-searchbox input").val() }, function(users) {
$(".select-options").remove() $(".select-options").remove()
if (users.length > 0) { if (users.length > 0) {
users.forEach(function(user) { users.forEach(function(user) {
@ -190,19 +183,17 @@ function copyInvite() {
} }
} }
function copyAccess(target) { function copyAccess() {
input = target ? $("#copy-" + target + "-code") : $("#copy-code") $('#copy-code').attr("type", "text")
input.attr("type", "text") $('#copy-code').select()
input.select()
if (document.execCommand("copy")) { if (document.execCommand("copy")) {
input.attr("type", "hidden") $('#copy-code').attr("type", "hidden")
copy = target ? $("#copy-" + target + "-access") : $("#copy-access") copy = $("#copy-access")
copy.addClass('btn-success'); copy.addClass('btn-success');
copy.html("<i class='fas fa-check mr-1'></i>" + getLocalizedString("copied")) copy.html("<i class='fas fa-check mr-1'></i>" + getLocalizedString("copied"))
setTimeout(function(){ setTimeout(function(){
copy.removeClass('btn-success'); copy.removeClass('btn-success');
originalString = target ? getLocalizedString("room.copy_" + target + "_access") : getLocalizedString("room.copy_access") copy.html("<i class='fas fa-copy mr-1'></i>" + getLocalizedString("room.copy_access"))
copy.html("<i class='fas fa-copy mr-1'></i>" + originalString)
}, 1000) }, 1000)
} }
} }
@ -210,9 +201,7 @@ function copyAccess(target) {
function showCreateRoom(target) { function showCreateRoom(target) {
$("#create-room-name").val("") $("#create-room-name").val("")
$("#create-room-access-code").text(getLocalizedString("modal.create_room.access_code_placeholder")) $("#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_access_code").val(null)
$("#room_moderator_access_code").val(null)
$("#createRoomModal form").attr("action", $("body").data('relative-root')) $("#createRoomModal form").attr("action", $("body").data('relative-root'))
$("#room_mute_on_join").prop("checked", $("#room_mute_on_join").data("default")) $("#room_mute_on_join").prop("checked", $("#room_mute_on_join").data("default"))
@ -264,16 +253,6 @@ function showUpdateRoom(target) {
$("#create-room-access-code").text(getLocalizedString("modal.create_room.access_code_placeholder")) $("#create-room-access-code").text(getLocalizedString("modal.create_room.access_code_placeholder"))
$("#room_access_code").val(null) $("#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) { function showDeleteRoom(target) {
@ -311,24 +290,6 @@ function ResetAccessCode(){
$("#room_access_code").val(null) $("#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() { function saveAccessChanges() {
let listItemsToAdd = $("#user-list li:not(.remove-shared)").toArray().map(user => $(user).data("uid")) let listItemsToAdd = $("#user-list li:not(.remove-shared)").toArray().map(user => $(user).data("uid"))
@ -436,67 +397,3 @@ function clearRoomSearch() {
$('#room-search').val(''); $('#room-search').val('');
filterRooms() filterRooms()
} }
function manageAccessAccessibility() {
// share room pop up accessibility
var holdModal = false;
$("#shareRoomModal").on("show.bs.modal", function() {
// for screen reader to be able to read results
$("#shareRoomModal .form-control").attr("aria-atomic", true);
$("#shareRoomModal .dropdown-menu div.inner").attr("role", "alert");
$("#shareRoomModal ul.dropdown-menu").attr("role", "listbox");
$("#shareRoomModal div.dropdown-menu").find("*").keyup(function(event) {
$("#shareRoomModal ul.dropdown-menu li").attr("aria-selected", false);
$("#shareRoomModal ul.dropdown-menu li.active").attr("aria-selected", true);
$("#shareRoomModal ul.dropdown-menu li.active a").attr("aria-selected", true);
});
// for keyboard support
// so that it can escape / close search user without closing the modal
$("#shareRoomModal div.dropdown-menu input").keydown(function(event) {
if (event.keyCode === 27) {
holdModal = true;
}
});
});
// reset escape button if the search is closed / done
$("#shareRoomModal").on("hide.bs.modal", function(e) {
if (holdModal) {
holdModal = false;
e.stopPropagation();
return false;
}
});
}
function generateAccessCodeAccessibility() {
// For keyboard users to be able to generate access code
$("#generate-room-access-code").keyup(function(event) {
if (event.keyCode === 13 || event.keyCode === 32) {
generateAccessCode();
}
})
// For keyboard users to be able to reset access code
$("#reset-access-code").keyup(function(event) {
if (event.keyCode === 13 || event.keyCode === 32) {
ResetAccessCode();
}
})
// For keyboard users to be able to generate access code
// for moderator
$("#generate-moderator-room-access-code").keyup(function(event) {
if (event.keyCode === 13 || event.keyCode === 32) {
generateModeratorAccessCode();
}
})
// For keyboard users to be able to reset access code
// for moderator
$("#reset-moderator-access-code").keyup(function(event) {
if (event.keyCode === 13 || event.keyCode === 32) {
ResetModeratorAccessCode();
}
})
}

View File

@ -99,7 +99,3 @@
.admin-tabs { .admin-tabs {
justify-content: space-around; justify-content: space-around;
} }
#rooms-table-div {
overflow: visible;
}

View File

@ -187,7 +187,3 @@ table {
.btn i { .btn i {
transition: all .15s; transition: all .15s;
} }
.nav-icon i {
width: 35px;
}

View File

@ -32,8 +32,8 @@
font-size: 20px !important; font-size: 20px !important;
} }
.moderator-code-label { .join-input {
margin-top: 150px !important; height: 48px;
} }
.home-indicator { .home-indicator {

View File

@ -41,7 +41,7 @@ class AccountActivationsController < ApplicationController
flash: { success: I18n.t("registration.approval.signup") } if @user.has_role?(:pending) flash: { success: I18n.t("registration.approval.signup") } if @user.has_role?(:pending)
# Redirect user to sign in path with success flash # 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 else
redirect_to root_path, flash: { alert: I18n.t("verify.invalid") } redirect_to root_path, flash: { alert: I18n.t("verify.invalid") }
end end

View File

@ -56,19 +56,12 @@ class AdminsController < ApplicationController
# GET /admins/server_recordings # GET /admins/server_recordings
def server_recordings def server_recordings
@search = params[:search] || "" server_rooms = rooms_list_for_recordings
if @search.present? @search, @order_column, @order_direction, recs =
if @search.include? "@" all_recordings(server_rooms, params.permit(:search, :column, :direction), true, true)
user_email = @search
else
room_uid = @search
end
else
@latest = true
end
@pagy, @recordings = pagy_array(recordings_to_show(user_email, room_uid)) @pagy, @recordings = pagy_array(recs)
end end
# GET /admins/rooms # GET /admins/rooms
@ -145,11 +138,10 @@ class AdminsController < ApplicationController
emails.each do |email| emails.each do |email|
invitation = create_or_update_invite(email) invitation = create_or_update_invite(email)
send_invitation_email(current_user.name, email, invitation) send_invitation_email(current_user.name, email, invitation.invite_token)
end end
redirect_back fallback_location: admins_path, redirect_back fallback_location: admins_path
flash: { success: I18n.t("administrator.flash.invite", email: emails.join(", ")) }
end end
# GET /admins/reset # GET /admins/reset
@ -210,12 +202,13 @@ class AdminsController < ApplicationController
initial_list = User.without_role(:super_admin) initial_list = User.without_role(:super_admin)
.where.not(uid: current_user.uid) .where.not(uid: current_user.uid)
.merge_list_search(params[:search]) .merge_list_search(params[:search])
.pluck_to_hash(:uid, :name, :email)
initial_list = initial_list.where(provider: @user_domain) if Rails.configuration.loadbalanced_configuration initial_list = initial_list.where(provider: @user_domain) if Rails.configuration.loadbalanced_configuration
# Respond with JSON object of users # Respond with JSON object of users
respond_to do |format| respond_to do |format|
format.json { render body: initial_list.pluck_to_hash(:uid, :name, :email).to_json } format.json { render body: initial_list.to_json }
end end
end end
@ -229,7 +222,7 @@ class AdminsController < ApplicationController
flash_message = I18n.t("administrator.flash.settings") flash_message = I18n.t("administrator.flash.settings")
if params[:value] == "Default Recording Visibility" 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 end
redirect_to admin_site_settings_path(tab: tab), flash: { success: flash_message } redirect_to admin_site_settings_path(tab: tab), flash: { success: flash_message }

View File

@ -29,11 +29,13 @@ class ApplicationController < ActionController::Base
def current_user def current_user
@current_user ||= User.includes(:role, :main_room).find_by(id: session[:user_id]) @current_user ||= User.includes(:role, :main_room).find_by(id: session[:user_id])
if Rails.configuration.loadbalanced_configuration && (@current_user && !@current_user.has_role?(:super_admin) && if Rails.configuration.loadbalanced_configuration
@current_user.provider != @user_domain) if @current_user && !@current_user.has_role?(:super_admin) &&
@current_user.provider != @user_domain
@current_user = nil @current_user = nil
session.clear session.clear
end end
end
@current_user @current_user
end end
@ -84,8 +86,8 @@ class ApplicationController < ActionController::Base
end end
maintenance_string = @settings.get_value("Maintenance Banner").presence || Rails.configuration.maintenance_window maintenance_string = @settings.get_value("Maintenance Banner").presence || Rails.configuration.maintenance_window
if maintenance_string.present? && cookies[:maintenance_window] != maintenance_string if maintenance_string.present?
flash.now[:maintenance] = maintenance_string flash.now[:maintenance] = maintenance_string unless cookies[:maintenance_window] == maintenance_string
end end
end end
@ -94,18 +96,14 @@ class ApplicationController < ActionController::Base
render :migration_error, status: 500 unless ENV["DB_MIGRATE_FAILED"].blank? render :migration_error, status: 500 unless ENV["DB_MIGRATE_FAILED"].blank?
end end
# Determines proper locale to be used by calling user_locale with params based on if room owner exists # Sets the appropriate locale.
def determine_locale(user) def user_locale(user = current_user)
if user && user.language != 'default' locale = if user && user.language != 'default'
user.language user.language
else else
Rails.configuration.default_locale.presence || http_accept_language.language_region_compatible_from(I18n.available_locales) Rails.configuration.default_locale.presence || http_accept_language.language_region_compatible_from(I18n.available_locales)
end end
end
# Sets the appropriate locale.
def user_locale(user = current_user)
locale = determine_locale(user)
begin begin
I18n.locale = locale.tr('-', '_') unless locale.nil? I18n.locale = locale.tr('-', '_') unless locale.nil?
rescue rescue
@ -114,7 +112,6 @@ class ApplicationController < ActionController::Base
I18n.locale = "en" I18n.locale = "en"
end end
end end
helper_method :user_locale
# Checks to make sure that the admin has changed his password from the default # Checks to make sure that the admin has changed his password from the default
def check_admin_password def check_admin_password
@ -185,18 +182,12 @@ class ApplicationController < ActionController::Base
end end
helper_method :shared_access_allowed helper_method :shared_access_allowed
# Indicates whether users should consent recoding when joining rooms # Indicates whether users are allowed to share rooms
def recording_consent_required? def recording_consent_required?
@settings.get_value("Require Recording Consent") == "true" @settings.get_value("Require Recording Consent") == "true"
end end
helper_method :recording_consent_required? 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 # Returns a list of allowed file types
def allowed_file_types def allowed_file_types
Rails.configuration.allowed_file_types Rails.configuration.allowed_file_types
@ -277,18 +268,17 @@ class ApplicationController < ActionController::Base
rescue => e rescue => e
logger.error "Error in retrieve provider info: #{e}" logger.error "Error in retrieve provider info: #{e}"
@hide_signin = true @hide_signin = true
case e.message if e.message.eql? "No user with that id exists"
when "No user with that id exists"
set_default_settings set_default_settings
render "errors/greenlight_error", locals: { message: I18n.t("errors.not_found.user_not_found.message"), 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") } help: I18n.t("errors.not_found.user_not_found.help") }
when "Provider not included." elsif e.message.eql? "Provider not included."
set_default_settings set_default_settings
render "errors/greenlight_error", locals: { message: I18n.t("errors.not_found.user_missing.message"), render "errors/greenlight_error", locals: { message: I18n.t("errors.not_found.user_missing.message"),
help: I18n.t("errors.not_found.user_missing.help") } help: I18n.t("errors.not_found.user_missing.help") }
when "That user has no configured provider." elsif e.message.eql? "That user has no configured provider."
if Setting.exists?(provider: @user_domain) if Setting.exists?(provider: @user_domain)
# Keep the branding # Keep the branding
@settings = Setting.find_by(provider: @user_domain) @settings = Setting.find_by(provider: @user_domain)

View File

@ -45,11 +45,6 @@ module Authenticator
# Dont redirect to any of these urls # Dont redirect to any of these urls
dont_redirect_to = [root_url, signin_url, ldap_signin_url, ldap_callback_url, signup_url, unauthorized_url, dont_redirect_to = [root_url, signin_url, ldap_signin_url, ldap_callback_url, signup_url, unauthorized_url,
internal_error_url, not_found_url] internal_error_url, not_found_url]
unless ENV['OAUTH2_REDIRECT'].nil?
dont_redirect_to.push(File.join(ENV['OAUTH2_REDIRECT'], "auth", "openid_connect", "callback"))
end
url = if cookies[:return_to] && !dont_redirect_to.include?(cookies[:return_to]) url = if cookies[:return_to] && !dont_redirect_to.include?(cookies[:return_to])
cookies[:return_to] cookies[:return_to]
elsif user.role.get_permission("can_create_rooms") elsif user.role.get_permission("can_create_rooms")
@ -63,9 +58,7 @@ module Authenticator
redirect_to url redirect_to url
else else
session[:user_id] = nil redirect_to resend_path
user.create_activation_token
redirect_to account_activation_path(digest: user.activation_digest)
end end
end end
@ -113,7 +106,7 @@ module Authenticator
old_user.rooms.each do |room| old_user.rooms.each do |room|
room.owner = user 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! room.save!
end end

View File

@ -54,8 +54,6 @@ module BbbServer
join_opts = {} join_opts = {}
join_opts[:userID] = uid if uid join_opts[:userID] = uid if uid
join_opts[:join_via_html5] = true join_opts[:join_via_html5] = true
join_opts[:avatarURL] = options[:avatarURL] if options[:avatarURL].present?
join_opts[:createTime] = room.last_session.to_datetime.strftime("%Q") if room.last_session
bbb_server.join_meeting_url(room.bbb_id, name, password, join_opts) bbb_server.join_meeting_url(room.bbb_id, name, password, join_opts)
end end
@ -90,7 +88,7 @@ module BbbServer
end end
unless meeting[:messageKey] == 'duplicateWarning' unless meeting[:messageKey] == 'duplicateWarning'
room.update_attributes(sessions: room.sessions + 1, last_session: DateTime.strptime(meeting[:createTime].to_s, "%Q")) room.update_attributes(sessions: room.sessions + 1, last_session: DateTime.now)
end end
rescue BigBlueButton::BigBlueButtonException => e rescue BigBlueButton::BigBlueButtonException => e
puts "BigBlueButton failed on create: #{e.key}: #{e.message}" puts "BigBlueButton failed on create: #{e.key}: #{e.message}"
@ -109,30 +107,6 @@ module BbbServer
bbb_server.send_api_request("updateRecordings", meta) bbb_server.send_api_request("updateRecordings", meta)
end end
# Update a recording from a room
def publish_recording(record_id)
bbb_server.publish_recordings(record_id, true)
end
# Update a recording from a room
def unpublish_recording(record_id)
bbb_server.publish_recordings(record_id, false)
end
# Protect a recording
def protect_recording(record_id, meta = {})
meta[:recordID] = record_id
meta[:protect] = true
bbb_server.send_api_request("updateRecordings", meta)
end
# Unprotect a recording
def unprotect_recording(record_id, meta = {})
meta[:recordID] = record_id
meta[:protect] = false
bbb_server.send_api_request("updateRecordings", meta)
end
# Deletes a recording from a room. # Deletes a recording from a room.
def delete_recording(record_id) def delete_recording(record_id)
bbb_server.delete_recordings(record_id) bbb_server.delete_recordings(record_id)

View File

@ -70,14 +70,16 @@ module Emailer
end end
# Sends inivitation to join # Sends inivitation to join
def send_invitation_email(name, email, invite) def send_invitation_email(name, email, token)
begin begin
return unless Rails.configuration.enable_email_verification return unless Rails.configuration.enable_email_verification
UserMailer.invite_email(name, email, invite.updated_at, invitation_link(invite.invite_token), @settings).deliver_now UserMailer.invite_email(name, email, invitation_link(token), @settings).deliver_now
rescue => e rescue => e
logger.error "Support: Error in email delivery: #{e}" logger.error "Support: Error in email delivery: #{e}"
flash[:alert] = I18n.t(params[:message], default: I18n.t("delivery_error")) flash[:alert] = I18n.t(params[:message], default: I18n.t("delivery_error"))
else
flash[:success] = I18n.t("administrator.flash.invite", email: email)
end end
end end

View File

@ -47,30 +47,18 @@ module Joiner
end end
end end
def valid_avatar?(url)
return false if URI.regexp(['http', 'https']).match(url).nil?
uri = URI(url)
http = Net::HTTP.new(uri.host, uri.port)
http.use_ssl = true if uri.scheme == 'https'
response = http.request_head(uri)
return false if response.code != "200"
return response['content-length'].to_i < Rails.configuration.max_avatar_size
end
def join_room(opts) def join_room(opts)
@room_settings = JSON.parse(@room[:room_settings]) @room_settings = JSON.parse(@room[:room_settings])
moderator_privileges = @room.owned_by?(current_user) || valid_moderator_access_code(session[:moderator_access_code]) if room_running?(@room.bbb_id) || @room.owned_by?(current_user) || room_setting_with_config("anyoneCanStart")
if room_running?(@room.bbb_id) || room_setting_with_config("anyoneCanStart") || moderator_privileges
# Determine if the user needs to join as a moderator. # Determine if the user needs to join as a moderator.
opts[:user_is_moderator] = room_setting_with_config("joinModerator") || @shared_room || moderator_privileges opts[:user_is_moderator] = @room.owned_by?(current_user) || room_setting_with_config("joinModerator") || @shared_room
opts[:record] = record_meeting opts[:record] = record_meeting
opts[:require_moderator_approval] = room_setting_with_config("requireModeratorApproval") opts[:require_moderator_approval] = room_setting_with_config("requireModeratorApproval")
opts[:mute_on_start] = room_setting_with_config("muteOnStart") opts[:mute_on_start] = room_setting_with_config("muteOnStart")
if current_user if current_user
opts[:avatarURL] = current_user.image if current_user.image.present? && valid_avatar?(current_user.image)
redirect_to join_path(@room, current_user.name, opts, current_user.uid) redirect_to join_path(@room, current_user.name, opts, current_user.uid)
else else
join_name = params[:join_name] || params[@room.invite_path][:join_name] join_name = params[:join_name] || params[@room.invite_path][:join_name]
@ -95,12 +83,11 @@ module Joiner
# Default, unconfigured meeting options. # Default, unconfigured meeting options.
def default_meeting_options def default_meeting_options
moderator_message = "#{I18n.t('invite_message')}<br> #{request.base_url + room_path(@room)}" invite_msg = I18n.t("invite_message")
moderator_message += "<br> #{I18n.t('modal.create_room.access_code')}: #{@room.access_code}" if @room.access_code.present?
{ {
user_is_moderator: false, user_is_moderator: false,
meeting_logout_url: request.base_url + logout_room_path(@room), meeting_logout_url: request.base_url + logout_room_path(@room),
moderator_message: moderator_message, moderator_message: "#{invite_msg}<br> #{request.base_url + room_path(@room)}",
host: request.host, host: request.host,
recording_default_visibility: @settings.get_value("Default Recording Visibility") == "public" recording_default_visibility: @settings.get_value("Default Recording Visibility") == "public"
} }

View File

@ -56,22 +56,12 @@ module Populator
end end
end end
# Returns the correct recordings based on the users inputs # Returns list of rooms needed to get the recordings on the server
def recordings_to_show(user = nil, room = nil) def rooms_list_for_recordings
if user.present? if Rails.configuration.loadbalanced_configuration
# Find user and get his recordings Room.includes(:owner).where(users: { provider: @user_domain }).pluck(:bbb_id)
rooms = User.find_by(email: user)&.rooms&.pluck(:bbb_id)
return all_recordings(rooms) if user.present? && !rooms.nil?
[] # return no recs if room not found
elsif room.present?
# Find room and get its recordings
room = Room.find_by(uid: room)&.bbb_id
return all_recordings([room]) if room.present?
[]
else else
latest_recordings Room.pluck(:bbb_id)
end end
end end
@ -85,37 +75,4 @@ module Populator
list.admins_search(@search).order(updated_at: :desc) list.admins_search(@search).order(updated_at: :desc)
end end
private
# Returns exactly 1 page of the latest recordings
def latest_recordings
return_length = Rails.configuration.pagination_rows
number_of_rooms = Rails.configuration.pagination_number
recordings = []
counter = 0
# Manually paginate through the rooms
while recordings.length < return_length
rooms = if Rails.configuration.loadbalanced_configuration
Room.includes(:owner)
.where(users: { provider: @user_domain })
.order(last_session: :desc)
.limit(number_of_rooms)
.offset(counter * number_of_rooms)
.pluck(:bbb_id)
else
Room.order(last_session: :desc)
.limit(return_length)
.offset(counter * return_length)
.pluck(:bbb_id)
end
break if rooms.blank?
counter += 1
recordings.push(*all_recordings(rooms))
end
recordings[0..return_length]
end
end end

View File

@ -120,13 +120,12 @@ module Rolify
role_params = params.require(:role).permit(:name) role_params = params.require(:role).permit(:name)
permission_params = params.require(:role).permit(:can_create_rooms, :send_promoted_email, permission_params = params.require(:role).permit(:can_create_rooms, :send_promoted_email,
:send_demoted_email, :can_edit_site_settings, :can_edit_roles, :can_manage_users, :send_demoted_email, :can_edit_site_settings, :can_edit_roles, :can_manage_users,
:can_launch_recording, :can_manage_rooms_recordings, :can_appear_in_share_list, :colour) :can_manage_rooms_recordings, :can_appear_in_share_list, :colour)
permission_params.transform_values! do |v| permission_params.transform_values! do |v|
case v if v == "0"
when "0"
"false" "false"
when "1" elsif v == "1"
"true" "true"
else else
v v

View File

@ -47,7 +47,9 @@ class HealthCheckController < ApplicationController
end end
def database_check def database_check
raise "Database not responding" if defined?(ActiveRecord) && !ActiveRecord::Migrator.current_version if defined?(ActiveRecord)
raise "Database not responding" unless ActiveRecord::Migrator.current_version
end
raise "Pending migrations" unless ActiveRecord::Migration.check_pending!.nil? raise "Pending migrations" unless ActiveRecord::Migration.check_pending!.nil?
end end
@ -59,7 +61,9 @@ class HealthCheckController < ApplicationController
settings = ActionMailer::Base.smtp_settings settings = ActionMailer::Base.smtp_settings
smtp = Net::SMTP.new(settings[:address], settings[:port]) smtp = Net::SMTP.new(settings[:address], settings[:port])
smtp.enable_starttls_auto if settings[:enable_starttls_auto] == ("true") && smtp.respond_to?(:enable_starttls_auto) if settings[:enable_starttls_auto] == "true"
smtp.enable_starttls_auto if smtp.respond_to?(:enable_starttls_auto)
end
if settings[:authentication].present? && settings[:authentication] != "none" if settings[:authentication].present? && settings[:authentication] != "none"
smtp.start(settings[:domain]) do |s| smtp.start(settings[:domain]) do |s|

View File

@ -23,22 +23,22 @@ class PasswordResetsController < ApplicationController
before_action :find_user, only: [:edit, :update] before_action :find_user, only: [:edit, :update]
before_action :check_expiration, only: [:edit, :update] before_action :check_expiration, only: [:edit, :update]
# GET /password_resets/new # POST /password_resets/new
def new def new
end end
# POST /password_resets # POST /password_resets
def create def create
return redirect_to new_password_reset_path, flash: { alert: I18n.t("reset_password.captcha") } unless valid_captcha begin
# Check if user exists and throw an error if he doesn't
@user = User.find_by!(email: params[:password_reset][:email].downcase, provider: @user_domain)
# Check if user exists and throw an error if he doesn't send_password_reset_email(@user, @user.create_reset_digest)
@user = User.find_by!(email: params[:password_reset][:email].downcase, provider: @user_domain) redirect_to root_path
rescue
send_password_reset_email(@user, @user.create_reset_digest) # User doesn't exist
redirect_to root_path redirect_to root_path, flash: { success: I18n.t("email_sent", email_type: t("reset_password.subtitle")) }
rescue end
# User doesn't exist
redirect_to root_path, flash: { success: I18n.t("email_sent", email_type: t("reset_password.subtitle")) }
end end
# GET /password_resets/:id/edit # GET /password_resets/:id/edit
@ -84,10 +84,4 @@ class PasswordResetsController < ApplicationController
def disable_password_reset def disable_password_reset
redirect_to '/404' redirect_to '/404'
end end
# Checks that the captcha passed is valid
def valid_captcha
return true unless Rails.configuration.recaptcha_enabled
verify_recaptcha
end
end end

View File

@ -28,18 +28,6 @@ class RecordingsController < ApplicationController
"meta_#{META_LISTED}" => (params[:state] == "public"), "meta_#{META_LISTED}" => (params[:state] == "public"),
} }
if params[:state] == "protected"
protect_recording(params[:record_id])
else
unprotect_recording(params[:record_id])
end
if params[:state] == "inaccessible"
unpublish_recording(params[:record_id])
else
publish_recording(params[:record_id])
end
res = update_recording(params[:record_id], meta) res = update_recording(params[:record_id], meta)
# Redirects to the page that made the initial request # Redirects to the page that made the initial request

View File

@ -44,9 +44,7 @@ class RoomsController < ApplicationController
return redirect_to current_user.main_room, flash: { alert: I18n.t("room.room_limit") } if room_limit_exceeded return redirect_to current_user.main_room, flash: { alert: I18n.t("room.room_limit") } if room_limit_exceeded
# Create room # Create room
@room = Room.new(name: room_params[:name], @room = Room.new(name: room_params[:name], access_code: room_params[:access_code])
access_code: room_params[:access_code],
moderator_access_code: room_params[:moderator_access_code])
@room.owner = current_user @room.owner = current_user
@room.room_settings = create_room_settings_string(room_params) @room.room_settings = create_room_settings_string(room_params)
@ -111,9 +109,8 @@ class RoomsController < ApplicationController
@shared_room = room_shared_with_user @shared_room = room_shared_with_user
unless @room.owned_by?(current_user) || @shared_room 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 codes # Don't allow users to join unless they have a valid access code or the room doesn't have an access code
valid_access_code = !@room.access_code.present? || @room.access_code == session[:access_code] if @room.access_code && !@room.access_code.empty? && @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") } return redirect_to room_path(room_uid: params[:room_uid]), flash: { alert: I18n.t("room.access_code_required") }
end end
@ -180,7 +177,6 @@ class RoomsController < ApplicationController
opts[:mute_on_start] = room_setting_with_config("muteOnStart") opts[:mute_on_start] = room_setting_with_config("muteOnStart")
opts[:require_moderator_approval] = room_setting_with_config("requireModeratorApproval") opts[:require_moderator_approval] = room_setting_with_config("requireModeratorApproval")
opts[:record] = record_meeting opts[:record] = record_meeting
opts[:avatarURL] = current_user.image if current_user.image.present? && valid_avatar?(current_user.image)
begin begin
redirect_to join_path(@room, current_user.name, opts, current_user.uid) redirect_to join_path(@room, current_user.name, opts, current_user.uid)
@ -204,17 +200,11 @@ class RoomsController < ApplicationController
# Update the rooms values # Update the rooms values
room_settings_string = create_room_settings_string(options) room_settings_string = create_room_settings_string(options)
attributes = { @room.update_attributes(
name: options[:name], 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") flash[:success] = I18n.t("room.update_settings_success")
rescue => e rescue => e
@ -309,7 +299,7 @@ class RoomsController < ApplicationController
def shared_users def shared_users
# Respond with JSON object of users that have access to the room # Respond with JSON object of users that have access to the room
respond_to do |format| respond_to do |format|
format.json { render body: @room.shared_users.pluck_to_hash(:uid, :name, :image).to_json } format.json { render body: @room.shared_users.to_json }
end end
end end
@ -331,16 +321,9 @@ class RoomsController < ApplicationController
# POST /:room_uid/login # POST /:room_uid/login
def login def login
# use same form for access_code and moderator_access_code session[:access_code] = room_params[: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
if session[:access_code] != @room.access_code && !valid_moderator_access_code(session[:moderator_access_code]) flash[:alert] = I18n.t("room.access_code_required") if session[:access_code] != @room.access_code
flash[:alert] = I18n.t("room.access_code_required")
end
redirect_to room_path(@room.uid) redirect_to room_path(@room.uid)
end end
@ -349,11 +332,11 @@ class RoomsController < ApplicationController
def create_room_settings_string(options) def create_room_settings_string(options)
room_settings = { room_settings = {
muteOnStart: options[:mute_on_join] == "1", "muteOnStart": options[:mute_on_join] == "1",
requireModeratorApproval: options[:require_moderator_approval] == "1", "requireModeratorApproval": options[:require_moderator_approval] == "1",
anyoneCanStart: options[:anyone_can_start] == "1", "anyoneCanStart": options[:anyone_can_start] == "1",
joinModerator: options[:all_join_moderator] == "1", "joinModerator": options[:all_join_moderator] == "1",
recording: options[:recording] == "1", "recording": options[:recording] == "1",
} }
room_settings.to_json room_settings.to_json
@ -362,7 +345,7 @@ class RoomsController < ApplicationController
def room_params def room_params
params.require(:room).permit(:name, :auto_join, :mute_on_join, :access_code, params.require(:room).permit(:name, :auto_join, :mute_on_join, :access_code,
:require_moderator_approval, :anyone_can_start, :all_join_moderator, :require_moderator_approval, :anyone_can_start, :all_join_moderator,
:recording, :presentation, :moderator_access_code) :recording, :presentation)
end end
# Find the room from the uid. # Find the room from the uid.
@ -429,18 +412,12 @@ class RoomsController < ApplicationController
end end
helper_method :room_limit_exceeded 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 def record_meeting
# If the require consent setting is checked, then check the room setting, else, set to true # If the require consent setting is checked, then check the room setting, else, set to true
user = current_user || @room.owner
if recording_consent_required? if recording_consent_required?
room_setting_with_config("recording") && user&.role&.get_permission("can_launch_recording") room_setting_with_config("recording")
else else
user&.role&.get_permission("can_launch_recording") true
end end
end end

View File

@ -79,11 +79,8 @@ class SessionsController < ApplicationController
return switch_account_to_local(user) if !is_super_admin && auth_changed_to_local?(user) return switch_account_to_local(user) if !is_super_admin && auth_changed_to_local?(user)
# Check correct password was entered # Check correct password was entered
unless user.try(:authenticate, session_params[:password]) return redirect_to(signin_path, alert: I18n.t("invalid_credentials")) unless user.try(:authenticate,
logger.info "Support: #{session_params[:email]} login failed." session_params[:password])
return redirect_to(signin_path, alert: I18n.t("invalid_credentials"))
end
# Check that the user is not deleted # Check that the user is not deleted
return redirect_to root_path, flash: { alert: I18n.t("registration.banned.fail") } if user.deleted? return redirect_to root_path, flash: { alert: I18n.t("registration.banned.fail") } if user.deleted?
@ -91,10 +88,7 @@ class SessionsController < ApplicationController
# Check that the user is a Greenlight account # Check that the user is a Greenlight account
return redirect_to(root_path, alert: I18n.t("invalid_login_method")) unless user.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 # Check that the user has verified their account
unless user.activated? return redirect_to(account_activation_path(digest: user.activation_digest)) unless user.activated?
user.create_activation_token if user.activation_digest.nil?
return redirect_to(account_activation_path(digest: user.activation_digest))
end
end end
login(user) login(user)
@ -131,14 +125,13 @@ class SessionsController < ApplicationController
def ldap def ldap
ldap_config = {} ldap_config = {}
ldap_config[:host] = ENV['LDAP_SERVER'] ldap_config[:host] = ENV['LDAP_SERVER']
ldap_config[:port] = ENV['LDAP_PORT'].to_i.zero? ? 389 : ENV['LDAP_PORT'].to_i ldap_config[:port] = ENV['LDAP_PORT'].to_i != 0 ? ENV['LDAP_PORT'].to_i : 389
ldap_config[:bind_dn] = ENV['LDAP_BIND_DN'] ldap_config[:bind_dn] = ENV['LDAP_BIND_DN']
ldap_config[:password] = ENV['LDAP_PASSWORD'] ldap_config[:password] = ENV['LDAP_PASSWORD']
ldap_config[:auth_method] = ENV['LDAP_AUTH'] ldap_config[:auth_method] = ENV['LDAP_AUTH']
ldap_config[:encryption] = case ENV['LDAP_METHOD'] ldap_config[:encryption] = if ENV['LDAP_METHOD'] == 'ssl'
when 'ssl'
'simple_tls' 'simple_tls'
when 'tls' elsif ENV['LDAP_METHOD'] == 'tls'
'start_tls' 'start_tls'
end end
ldap_config[:base] = ENV['LDAP_BASE'] ldap_config[:base] = ENV['LDAP_BASE']
@ -146,12 +139,12 @@ class SessionsController < ApplicationController
ldap_config[:uid] = ENV['LDAP_UID'] ldap_config[:uid] = ENV['LDAP_UID']
if params[:session][:username].blank? || session_params[:password].blank? if params[:session][:username].blank? || session_params[:password].blank?
return redirect_to(ldap_signin_path, alert: I18n.t("invalid_credentials_external")) return redirect_to(ldap_signin_path, alert: I18n.t("invalid_credentials"))
end end
result = send_ldap_request(params[:session], ldap_config) result = send_ldap_request(params[:session], ldap_config)
return redirect_to(ldap_signin_path, alert: I18n.t("invalid_credentials_external")) unless result return redirect_to(ldap_signin_path, alert: I18n.t("invalid_credentials")) unless result
@auth = parse_auth(result.first, ENV['LDAP_ROLE_FIELD'], ENV['LDAP_ATTRIBUTE_MAPPING']) @auth = parse_auth(result.first, ENV['LDAP_ROLE_FIELD'], ENV['LDAP_ATTRIBUTE_MAPPING'])

View File

@ -79,7 +79,6 @@ class UsersController < ApplicationController
# GET /u/:user_uid/delete_account # GET /u/:user_uid/delete_account
def delete_account def delete_account
redirect_to signin_path unless current_user
end end
# POST /u/:user_uid/edit # POST /u/:user_uid/edit
@ -210,15 +209,16 @@ class UsersController < ApplicationController
roles_can_appear << role.name if role.get_permission("can_appear_in_share_list") && role.priority >= 0 roles_can_appear << role.name if role.get_permission("can_appear_in_share_list") && role.priority >= 0
end end
initial_list = User.where.not(uid: params[:owner_uid]) initial_list = User.where.not(uid: current_user.uid)
.with_role(roles_can_appear) .with_role(roles_can_appear)
.shared_list_search(params[:search]) .shared_list_search(params[:search])
.pluck_to_hash(:uid, :name)
initial_list = initial_list.where(provider: @user_domain) if Rails.configuration.loadbalanced_configuration initial_list = initial_list.where(provider: @user_domain) if Rails.configuration.loadbalanced_configuration
# Respond with JSON object of users # Respond with JSON object of users
respond_to do |format| respond_to do |format|
format.json { render body: initial_list.pluck_to_hash(:uid, :name).to_json } format.json { render body: initial_list.to_json }
end end
end end

View File

@ -31,6 +31,13 @@ module AdminsHelper
@running_room_bbb_ids.include?(id) @running_room_bbb_ids.include?(id)
end end
# Returns a more friendly/readable date time object
def friendly_time(date)
return "" if date.nil? # Handle invalid dates
I18n.l date, format: "%B %d, %Y %H:%M UTC"
end
# Site Settings # Site Settings
def admin_invite_registration def admin_invite_registration
@ -89,14 +96,6 @@ module AdminsHelper
end end
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 def log_level_string
case Rails.logger.level case Rails.logger.level
when 0 when 0

View File

@ -58,24 +58,30 @@ module ApplicationHelper
# Returns 'active' if the current page is the users home page (used to style header) # Returns 'active' if the current page is the users home page (used to style header)
def active_home def active_home
home_actions = %w[show cant_create_rooms] home_actions = %w[show cant_create_rooms]
return "active" if controller_name == "admins" && action_name == "index" && current_user.has_role?(:super_admin) return "active" if params[:controller] == "admins" && params[:action] == "index" && current_user.has_role?(:super_admin)
return "active" if controller_name == "rooms" && home_actions.include?(action_name) return "active" if params[:controller] == "rooms" && home_actions.include?(params[:action])
"" ""
end 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) def role_colour(role)
role.colour || Rails.configuration.primary_color_default role.colour || Rails.configuration.primary_color_default
end end
def translated_role_name(role) def translated_role_name(role)
case role.name if role.name == "denied"
when "denied"
I18n.t("roles.banned") I18n.t("roles.banned")
when "pending" elsif role.name == "pending"
I18n.t("roles.pending") I18n.t("roles.pending")
when "admin" elsif role.name == "admin"
I18n.t("roles.admin") I18n.t("roles.admin")
when "user" elsif role.name == "user"
I18n.t("roles.user") I18n.t("roles.user")
else else
role.name role.name
@ -103,8 +109,6 @@ module ApplicationHelper
# Make a GET request and validate content type # Make a GET request and validate content type
http = Net::HTTP.new(url.host, url.port) http = Net::HTTP.new(url.host, url.port)
http.use_ssl = (url.scheme == "https") http.use_ssl = (url.scheme == "https")
http.read_timeout = 10
http.open_timeout = 10
http.start do |web| http.start do |web|
response = web.head(url.request_uri) response = web.head(url.request_uri)
@ -131,25 +135,4 @@ module ApplicationHelper
def show_signin def show_signin
!@hide_signin.present? !@hide_signin.present?
end end
# Returns a more friendly/readable date time object
def view_date(date)
return "" if date.nil? # Handle invalid dates
local_time(date, :default)
end
# Returns true if the user is allowed to record meetings
def perm_to_record_meeting
if recording_consent_required?
@settings.get_value("Room Configuration Recording") != "disabled" &&
current_user&.role&.get_permission("can_launch_recording")
else
current_user&.role&.get_permission("can_launch_recording")
end
end
# Returns true if protected recordings is enabled on BigBlueButton/Scalelite server
def protected_recording?(rec)
!rec[:protected].nil?
end
end end

View File

@ -17,6 +17,11 @@
# with BigBlueButton; if not, see <http://www.gnu.org/licenses/>. # with BigBlueButton; if not, see <http://www.gnu.org/licenses/>.
module RecordingsHelper module RecordingsHelper
# Helper for converting BigBlueButton dates into the desired format.
def recording_date(date)
I18n.l date, format: "%B %d, %Y"
end
# Helper for converting BigBlueButton dates into a nice length string. # Helper for converting BigBlueButton dates into a nice length string.
def recording_length(playbacks) def recording_length(playbacks)
# Looping through playbacks array and returning first non-zero length value # Looping through playbacks array and returning first non-zero length value

View File

@ -59,11 +59,4 @@ module RoomsHelper
def hidden_format_public def hidden_format_public
ENV.fetch("HIDDEN_FORMATS_PUBLIC", "").split(",") ENV.fetch("HIDDEN_FORMATS_PUBLIC", "").split(",")
end end
# Returns the total number of visibile rooms for the current user
def total_room_count(user)
total = user.rooms.length
total += user.shared_rooms.length if shared_access_allowed
total
end
end end

View File

@ -44,16 +44,12 @@ module UsersHelper
# Returns language selection options for user edit # Returns language selection options for user edit
def language_options def language_options
locales = I18n.available_locales locales = I18n.available_locales
languages = [["<<<< #{t('language_default')} >>>>", "default"]] language_opts = [['<<<< ' + t("language_default") + ' >>>>', "default"]]
language_opts = []
locales.each do |locale| locales.each do |locale|
language_mapping = I18n::Language::Mapping.language_mapping_list[locale.to_s.gsub("_", "-")] language_mapping = I18n::Language::Mapping.language_mapping_list[locale.to_s.gsub("_", "-")]
language_opts.push([language_mapping["nativeName"], locale.to_s]) language_opts.push([language_mapping["nativeName"], locale.to_s])
end end
language_opts.sort_by!(&:last) language_opts.sort
languages + language_opts
end end
# Returns a list of roles that the user can have # Returns a list of roles that the user can have

View File

@ -43,7 +43,7 @@ class UserMailer < ApplicationMailer
def user_promoted(user, role, url, settings) def user_promoted(user, role, url, settings)
@settings = settings @settings = settings
@url = url @url = url
@admin_url = "#{url}admins" @admin_url = url + "admins"
@image = logo_image @image = logo_image
@color = user_color @color = user_color
@role = translated_role_name(role) @role = translated_role_name(role)
@ -64,14 +64,13 @@ class UserMailer < ApplicationMailer
mail to: user.email, subject: t('mailer.user.demoted.subtitle', role: translated_role_name(role)) mail to: user.email, subject: t('mailer.user.demoted.subtitle', role: translated_role_name(role))
end end
def invite_email(name, email, invite_date, url, settings) def invite_email(name, email, url, settings)
@settings = settings @settings = settings
@name = name @name = name
@email = email @email = email
@url = url @url = url
@image = logo_image @image = logo_image
@color = user_color @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') mail to: email, subject: t('mailer.user.invite.subject')
end end

View File

@ -34,17 +34,17 @@ class Role < ApplicationRecord
def self.create_default_roles(provider) def self.create_default_roles(provider)
Role.create(name: "user", provider: provider, priority: 1, colour: "#868e96") Role.create(name: "user", provider: provider, priority: 1, colour: "#868e96")
.update_all_role_permissions(can_create_rooms: true, can_launch_recording: true) .update_all_role_permissions(can_create_rooms: true)
Role.create(name: "admin", provider: provider, priority: 0, colour: "#f1c40f") Role.create(name: "admin", provider: provider, priority: 0, colour: "#f1c40f")
.update_all_role_permissions(can_create_rooms: true, send_promoted_email: true, .update_all_role_permissions(can_create_rooms: true, send_promoted_email: true,
send_demoted_email: true, can_edit_site_settings: true, can_manage_rooms_recordings: true, send_demoted_email: true, can_edit_site_settings: true, can_manage_rooms_recordings: true,
can_launch_recording: true, can_edit_roles: true, can_manage_users: true) can_edit_roles: true, can_manage_users: true)
Role.create(name: "pending", provider: provider, priority: -1, colour: "#17a2b8").update_all_role_permissions Role.create(name: "pending", provider: provider, priority: -1, colour: "#17a2b8").update_all_role_permissions
Role.create(name: "denied", provider: provider, priority: -2, colour: "#343a40").update_all_role_permissions Role.create(name: "denied", provider: provider, priority: -2, colour: "#343a40").update_all_role_permissions
Role.create(name: "super_admin", provider: provider, priority: -3, colour: "#cd201f") Role.create(name: "super_admin", provider: provider, priority: -3, colour: "#cd201f")
.update_all_role_permissions(can_create_rooms: true, send_promoted_email: true, .update_all_role_permissions(can_create_rooms: true,
send_demoted_email: true, can_edit_site_settings: true, can_manage_rooms_recordings: true, send_promoted_email: true, send_demoted_email: true, can_edit_site_settings: true,
can_launch_recording: true, can_edit_roles: true, can_manage_users: true) can_edit_roles: true, can_manage_users: true, can_manage_rooms_recordings: true)
end end
def self.create_new_role(role_name, provider) def self.create_new_role(role_name, provider)
@ -72,7 +72,6 @@ class Role < ApplicationRecord
update_permission("can_manage_users", permissions[:can_manage_users].to_s) update_permission("can_manage_users", permissions[:can_manage_users].to_s)
update_permission("can_manage_rooms_recordings", permissions[:can_manage_rooms_recordings].to_s) update_permission("can_manage_rooms_recordings", permissions[:can_manage_rooms_recordings].to_s)
update_permission("can_appear_in_share_list", permissions[:can_appear_in_share_list].to_s) update_permission("can_appear_in_share_list", permissions[:can_appear_in_share_list].to_s)
update_permission("can_launch_recording", permissions[:can_launch_recording].to_s)
end end
# Updates the value of the permission and enables it # Updates the value of the permission and enables it

View File

@ -51,7 +51,7 @@ class Room < ApplicationRecord
# Rely on manual ordering if trying to sort by status # Rely on manual ordering if trying to sort by status
return order_by_status(table, running_ids) if column == "status" return order_by_status(table, running_ids) if column == "status"
return table.order(Arel.sql("COALESCE(rooms.last_session,rooms.created_at) DESC")) if column == "created_at" return table.order("COALESCE(rooms.last_session,rooms.created_at) DESC") if column == "created_at"
return table.order(Arel.sql("rooms.#{column} #{direction}")) if table.column_names.include?(column) return table.order(Arel.sql("rooms.#{column} #{direction}")) if table.column_names.include?(column)

View File

@ -66,8 +66,6 @@ class Setting < ApplicationRecord
Rails.configuration.shared_access_default Rails.configuration.shared_access_default
when "Preupload Presentation" when "Preupload Presentation"
Rails.configuration.preupload_presentation_default Rails.configuration.preupload_presentation_default
when "Room Configuration Moderator Access Codes"
Rails.configuration.moderator_codes_default
when "Room Configuration Mute On Join" when "Room Configuration Mute On Join"
room_config_setting("mute-on-join") room_config_setting("mute-on-join")
when "Room Configuration Require Moderator" when "Room Configuration Require Moderator"

View File

@ -39,10 +39,9 @@ class User < ApplicationRecord
format: { without: %r{https?://}i } format: { without: %r{https?://}i }
validates :provider, presence: true validates :provider, presence: true
validate :check_if_email_can_be_blank validate :check_if_email_can_be_blank
validate :check_domain, if: :greenlight_account?, on: :create
validates :email, length: { maximum: 256 }, allow_blank: true, validates :email, length: { maximum: 256 }, allow_blank: true,
uniqueness: { case_sensitive: false, scope: :provider }, 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 validates :password, length: { minimum: 6 }, confirmation: true, if: :greenlight_account?, on: :create
@ -159,7 +158,7 @@ class User < ApplicationRecord
def name_chunk def name_chunk
charset = ("a".."z").to_a - %w(b i l o s) + ("2".."9").to_a - %w(5 8) charset = ("a".."z").to_a - %w(b i l o s) + ("2".."9").to_a - %w(5 8)
chunk = name.parameterize(separator: "")[0...3] chunk = name.parameterize[0...3]
if chunk.empty? if chunk.empty?
chunk + (0...3).map { charset.to_a[rand(charset.size)] }.join chunk + (0...3).map { charset.to_a[rand(charset.size)] }.join
elsif chunk.length == 1 elsif chunk.length == 1
@ -235,13 +234,6 @@ class User < ApplicationRecord
Role.create_default_roles(role_provider) if Role.where(provider: role_provider).count.zero? Role.create_default_roles(role_provider) if Role.where(provider: role_provider).count.zero?
end end
def check_domain
if Rails.configuration.require_email_domain.any? && !email.end_with?(*Rails.configuration.require_email_domain)
errors.add(:email, I18n.t("errors.messages.domain",
email_domain: Rails.configuration.require_email_domain.join("\" #{I18n.t('modal.login.or')} \"")))
end
end
def check_if_email_can_be_blank def check_if_email_can_be_blank
if email.blank? if email.blank?
if Rails.configuration.loadbalanced_configuration && greenlight_account? if Rails.configuration.loadbalanced_configuration && greenlight_account?

View File

@ -24,7 +24,7 @@
<div><%= user.email %></div> <div><%= user.email %></div>
</td> </td>
<td> <td>
<div><%= view_date(user.updated_at) %></div> <div><%= friendly_time(user.updated_at) %></div>
</td> </td>
<td> <td>
<div> <div>

View File

@ -48,7 +48,7 @@
<tr data-user-uid="<%= user.uid %>"> <tr data-user-uid="<%= user.uid %>">
<td> <td>
<div><%= user.name %></div> <div><%= user.name %></div>
<div class="small text-muted"><%= [t("administrator.users.table.created"), ": ", view_date(user.created_at)].join.html_safe %></div> <div class="small text-muted"><%= [t("administrator.users.table.created"), ": ", user.created_at].join %></div>
</td> </td>
<td class="user-email"><%= user.email && user.email != "" ? user.email : user.username%></td> <td class="user-email"><%= user.email && user.email != "" ? user.email : user.username%></td>
<td><%= user.provider %></td> <td><%= user.provider %></td>
@ -90,11 +90,6 @@
<button class= "merge-user dropdown-item" data-path="<%= merge_user_path(user_uid: user.uid) %>" data-info="<%= user.slice(:name, :email, :uid).to_json %>" data-toggle="modal" data-target="#mergeUserModal"> <button class= "merge-user dropdown-item" data-path="<%= merge_user_path(user_uid: user.uid) %>" data-info="<%= user.slice(:name, :email, :uid).to_json %>" data-toggle="modal" data-target="#mergeUserModal">
<i class="dropdown-icon fas fa-user-friends"></i> <%= t("administrator.users.settings.merge") %> <i class="dropdown-icon fas fa-user-friends"></i> <%= t("administrator.users.settings.merge") %>
</button> </button>
<% unless user.rooms.length.zero? %>
<%= link_to admin_recordings_path(search: user.email), class: "dropdown-item" do %>
<i class="dropdown-icon fas fa-video"></i> <%= t("administrator.rooms.table.recordings") %>
<% end %>
<% end %>
<%= button_to admin_ban_path(user_uid: user.uid), class: "dropdown-item", "data-disable": "" do %> <%= button_to admin_ban_path(user_uid: user.uid), class: "dropdown-item", "data-disable": "" do %>
<i class="dropdown-icon fas fa-lock"></i> <%= t("administrator.users.settings.ban") %> <i class="dropdown-icon fas fa-lock"></i> <%= t("administrator.users.settings.ban") %>
<% end %> <% end %>

View File

@ -17,29 +17,29 @@
<% highest_role = current_user.role %> <% highest_role = current_user.role %>
<% highest_role.name %> <% highest_role.name %>
<% if highest_role.get_permission("can_manage_users") || highest_role.name == "super_admin" %> <% 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 action_name == "index"}" do %> <%= link_to admins_path, class: "list-group-item list-group-item-action dropdown-item #{"active" if active_page == "index"}" do %>
<span class="icon nav-icon"><i class="fas fa-users"></i></span><%= t("administrator.users.title") %> <span class="icon mr-3"><i class="fas fa-users"></i></span><%= t("administrator.users.title") %>
<% end %> <% end %>
<% end %> <% end %>
<% if highest_role.get_permission("can_manage_rooms_recordings") || highest_role.name == "super_admin" %> <% 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 action_name == "server_rooms"}" do %> <%= 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 nav-icon"><i class="fas fa-binoculars"></i></span><%= t("administrator.rooms.title") %> <span class="icon mr-4"><i class="fas fa-binoculars"></i></span><%= t("administrator.rooms.title") %>
<% end %> <% end %>
<%= link_to admin_recordings_path, class: "list-group-item list-group-item-action dropdown-item #{"active" if action_name == "server_recordings"}" do %> <%= 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 nav-icon"><i class="fas fa-video"></i></span><%= t("administrator.recordings.title") %> <span class="icon mr-4"><i class="fas fa-video"></i></span><%= t("administrator.recordings.title") %>
<% end %> <% end %>
<% end %> <% end %>
<% if highest_role.get_permission("can_edit_site_settings") || highest_role.name == "super_admin" %> <% 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 action_name == "site_settings"}" do %> <%= 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 nav-icon"><i class="fas fa-cogs"></i></span><%= t("administrator.site_settings.title") %> <span class="icon mr-4"><i class="fas fa-cogs"></i></span><%= t("administrator.site_settings.title") %>
<% end %> <% end %>
<%= link_to admin_room_configuration_path, class: "list-group-item list-group-item-action dropdown-item #{"active" if action_name == "room_configuration"}" do %> <%= 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 nav-icon"><i class="fas fa-sliders-h"></i></span><%= t("administrator.room_configuration.title") %> <span class="icon mr-4"><i class="fas fa-sliders-h"></i></span><%= t("administrator.room_configuration.title") %>
<% end %> <% end %>
<% end %> <% end %>
<% if highest_role.get_permission("can_edit_roles") || highest_role.name == "super_admin" %> <% 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 action_name == "roles"}" do %> <%= link_to admin_roles_path, class: "list-group-item list-group-item-action dropdown-item #{"active" if active_page == "roles"}" do %>
<span class="icon nav-icon"><i class="fas fa-user-tag"></i></span><%= t("administrator.roles.title") %> <span class="icon mr-4"><i class="fas fa-user-tag"></i></span><%= t("administrator.roles.title") %>
<% end %> <% end %>
<% end %> <% end %>
</div> </div>

View File

@ -19,20 +19,45 @@
<table id="recordings-table" class="table table-hover table-outline table-vcenter card-table"> <table id="recordings-table" class="table table-hover table-outline table-vcenter card-table">
<thead> <thead>
<tr> <tr>
<th data-header="name"> <th data-header="name" data-order="<%= @order_column == "name" ? @order_direction : "none" %>">
<%= t("recording.table.name") %> <%= t("recording.table.name") %>
<% if @order_column == "name" && @order_direction == "desc" %>
<% elsif @order_column == "name" && @order_direction == "asc" %>
<% end %>
</th> </th>
<th class="text-left" data-header="length"> <th class="text-left" data-header="length" data-order="<%= @order_column == "length" ? @order_direction : "none" %>">
<%= t("recording.table.length") %> <%= t("recording.table.length") %>
<% if @order_column == "length" && @order_direction == "desc" %>
<% elsif @order_column == "length" && @order_direction == "asc" %>
<% end %>
</th> </th>
<th class="text-left" data-header="users"> <th class="text-left" data-header="users" data-order="<%= @order_column == "users" ? @order_direction : "none" %>">
<%= t("recording.table.users") %> <%= t("recording.table.users") %>
<% if @order_column == "users" && @order_direction == "desc" %>
<% elsif @order_column == "users" && @order_direction == "asc" %>
<% end %>
</th> </th>
<th class="text-left" data-header="visibility"> <th class="text-left" data-header="visibility" data-order="<%= @order_column == "visibility" ? @order_direction : "none" %>">
<%= t("recording.table.visibility") %> <%= t("recording.table.visibility") %>
<% if @order_column == "visibility" && @order_direction == "desc" %>
<% elsif @order_column == "visibility" && @order_direction == "asc" %>
<% end %>
</th> </th>
<th data-header="formats"> <th data-header="formats" data-order="<%= @order_column == "formats" ? @order_direction : "none" %>">
<%= t("recording.table.formats") %> <%= t("recording.table.formats") %>
<% if @order_column == "formats" && @order_direction == "desc" %>
<% elsif @order_column == "formats" && @order_direction == "asc" %>
<% end %>
</th> </th>
<th class="text-center"><i class="icon-settings"></i></th> <th class="text-center"><i class="icon-settings"></i></th>
</tr> </tr>
@ -68,7 +93,7 @@
<% end %> <% end %>
</tbody> </tbody>
</table> </table>
<% if !@recordings.empty? && !@latest%> <% if !@recordings.empty?%>
<div class="float-md-right mt-4"> <div class="float-md-right mt-4">
<%== pagy_bootstrap_nav(@pagy) %> <%== pagy_bootstrap_nav(@pagy) %>
</div> </div>

View File

@ -20,8 +20,8 @@
<div class="list-group list-group-transparent mb-0"> <div class="list-group list-group-transparent mb-0">
<div id="rolesSelect" data-url="<%= admin_roles_order_path %>"> <div id="rolesSelect" data-url="<%= admin_roles_order_path %>">
<% @roles.each do |role| %> <% @roles.each do |role| %>
<%= link_to admin_roles_path(selected_role: role.id), <%= link_to admin_roles_path(selected_role: role.id),
class: "#{"sort-disabled" if role.name == "user" || role.name == "admin" || role.priority <= current_role.priority } dropdown-item list-group-item list-group-item-action #{"active" if @selected_role.id == role.id}", class: "#{"sort-disabled" if role.name == "user" || role.name == "admin" || role.priority <= current_role.priority } dropdown-item list-group-item list-group-item-action #{"active" if @selected_role.id == role.id}",
id: dom_id(role) do %> id: dom_id(role) do %>
<%= translated_role_name(role) %> <%= translated_role_name(role) %>
<% end %> <% end %>
@ -36,7 +36,7 @@
<%= form_with model: @selected_role, url: admin_update_role_path(@selected_role.id), method: :post do |f| %> <%= form_with model: @selected_role, url: admin_update_role_path(@selected_role.id), method: :post do |f| %>
<%= f.label :name, t('administrator.roles.name'), class: "form-label" %> <%= f.label :name, t('administrator.roles.name'), class: "form-label" %>
<%= f.text_field :name, class: 'form-control mb-3', value: translated_role_name(@selected_role), readonly: edit_disabled || @selected_role.name == "user" || @selected_role.name == "admin", required: true %> <%= f.text_field :name, class: 'form-control mb-3', value: translated_role_name(@selected_role), readonly: edit_disabled || @selected_role.name == "user" || @selected_role.name == "admin", required: true %>
<%= f.hidden_field :colour, id: "role-colour", value: role_colour(@selected_role) %> <%= f.hidden_field :colour, id: "role-colour", value: role_colour(@selected_role) %>
<div class="form-group"> <div class="form-group">
<label class="form-label"><%= t("administrator.roles.colour.title") %></label> <label class="form-label"><%= t("administrator.roles.colour.title") %></label>
@ -58,11 +58,6 @@
<%= f.check_box :can_manage_users, checked: @selected_role.get_permission("can_manage_users"), class: "custom-switch-input", disabled: edit_disabled || !current_role.get_permission("can_manage_users") %> <%= f.check_box :can_manage_users, checked: @selected_role.get_permission("can_manage_users"), class: "custom-switch-input", disabled: edit_disabled || !current_role.get_permission("can_manage_users") %>
<span class="custom-switch-indicator float-right"></span> <span class="custom-switch-indicator float-right"></span>
</label> </label>
<label class="custom-switch pl-0 mt-3 mb-3 w-100 text-left d-inline-block <%="form-disable" if !current_role.get_permission("can_launch_recording") %>">
<span class="ml-0 custom-switch-description"><%= t("administrator.roles.can_launch_recording")%></span>
<%= f.check_box :can_launch_recording, checked: @selected_role.get_permission("can_launch_recording"), class: "custom-switch-input", disabled: edit_disabled || !current_role.get_permission("can_launch_recording") %>
<span class="custom-switch-indicator float-right"></span>
</label>
<label class="custom-switch pl-0 mt-3 mb-3 w-100 text-left d-inline-block <%="form-disable" if !current_role.get_permission("can_manage_rooms_recordings") %>"> <label class="custom-switch pl-0 mt-3 mb-3 w-100 text-left d-inline-block <%="form-disable" if !current_role.get_permission("can_manage_rooms_recordings") %>">
<span class="ml-0 custom-switch-description"><%= t("administrator.roles.manage_rooms_recordings")%></span> <span class="ml-0 custom-switch-description"><%= t("administrator.roles.manage_rooms_recordings")%></span>
<%= f.check_box :can_manage_rooms_recordings, checked: @selected_role.get_permission("can_manage_rooms_recordings"), class: "custom-switch-input", disabled: edit_disabled || !current_role.get_permission("can_manage_rooms_recordings") %> <%= f.check_box :can_manage_rooms_recordings, checked: @selected_role.get_permission("can_manage_rooms_recordings"), class: "custom-switch-input", disabled: edit_disabled || !current_role.get_permission("can_manage_rooms_recordings") %>

View File

@ -124,26 +124,5 @@
</div> </div>
</div> </div>
<% end %> <% 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> </div>

View File

@ -15,7 +15,7 @@
<div class="row"> <div class="row">
<div class="col-12"> <div class="col-12">
<div id="rooms-table-div" class="table-responsive"> <div class="table-responsive">
<table id="rooms-table" class="table table-hover table-outline table-vcenter card-table"> <table id="rooms-table" class="table table-hover table-outline table-vcenter card-table">
<thead> <thead>
<tr> <tr>

View File

@ -26,7 +26,7 @@
<a><i id="edit-record" class="fa fa-edit align-top ml-2" data-edit-recordid="<%= recording[:recordID] %>"></i></a> <a><i id="edit-record" class="fa fa-edit align-top ml-2" data-edit-recordid="<%= recording[:recordID] %>"></i></a>
</div> </div>
<div class="small text-muted"> <div class="small text-muted">
<%= t("recording.recorded_on", date: view_date(recording[:startTime])).html_safe %> <%= t("recording.recorded_on", date: recording_date(recording[:startTime])) %>
</div> </div>
<div class="small text-muted"> <div class="small text-muted">
<%= recording_owner_email(recording[:meetingID]) %> <%= recording_owner_email(recording[:meetingID]) %>
@ -42,8 +42,6 @@
<div class="dropdown"> <div class="dropdown">
<% if recording[:metadata][:"gl-listed"] == "true" %> <% if recording[:metadata][:"gl-listed"] == "true" %>
<button class="btn btn-sm btn-secondary dropdown-toggle" data-toggle="dropdown"><i class="dropdown-icon fas fa-globe px-2"></i> <%= t("recording.visibility.public") %></button> <button class="btn btn-sm btn-secondary dropdown-toggle" data-toggle="dropdown"><i class="dropdown-icon fas fa-globe px-2"></i> <%= t("recording.visibility.public") %></button>
<% elsif !recording[:published] %>
<button class="btn btn-sm btn-secondary dropdown-toggle" data-toggle="dropdown"><i class="dropdown-icon fas fa-lock px-2"></i> <%= t("recording.visibility.inaccessible") %></button>
<% else %> <% else %>
<button class="btn btn-sm btn-secondary dropdown-toggle" data-toggle="dropdown"><i class="dropdown-icon fas fa-link px-2"></i> <%= t("recording.visibility.unlisted") %></button> <button class="btn btn-sm btn-secondary dropdown-toggle" data-toggle="dropdown"><i class="dropdown-icon fas fa-link px-2"></i> <%= t("recording.visibility.unlisted") %></button>
<% end %> <% end %>
@ -54,18 +52,13 @@
<%= button_to update_recording_path(meetingID: recording[:meetingID], record_id: recording[:recordID], state: "unlisted"), class: "dropdown-item", "data-disable": "" do %> <%= button_to update_recording_path(meetingID: recording[:meetingID], record_id: recording[:recordID], state: "unlisted"), class: "dropdown-item", "data-disable": "" do %>
<i class="dropdown-icon fas fa-link"></i> <%= t("recording.visibility.unlisted") %> <i class="dropdown-icon fas fa-link"></i> <%= t("recording.visibility.unlisted") %>
<% end %> <% end %>
<%= button_to update_recording_path(meetingID: recording[:meetingID], record_id: recording[:recordID], state: "inaccessible"), class: "dropdown-item", "data-disable": "" do %>
<i class="dropdown-icon fas fa-lock"></i> <%= t("recording.visibility.inaccessible") %>
<% end %>
</div> </div>
</div> </div>
</td> </td>
<td> <td>
<% if recording[:published] %> <% sorted_formats = recording[:playbacks].sort_by! { |p| p[:type] } %>
<% sorted_formats = recording[:playbacks].sort_by! { |p| p[:type] } %> <% sorted_formats.each do |p| %>
<% sorted_formats.each do |p| %> <%= link_to t("recording.format.#{p[:type]}"), p[:url], class: "btn btn-sm btn-primary", target: "_blank" %>
<%= link_to t("recording.format.#{p[:type]}"), p[:url], class: "btn btn-sm btn-primary", target: "_blank" %>
<% end %>
<% end %> <% end %>
</td> </td>
<td class="text-center"> <td class="text-center">

View File

@ -13,7 +13,7 @@
# with BigBlueButton; if not, see <http://www.gnu.org/licenses/>. # with BigBlueButton; if not, see <http://www.gnu.org/licenses/>.
%> %>
<tr class="room-block" data-path="<%= update_settings_path(room) %>" data-room-settings=<%= room.room_settings %> data-room-access-code="<%= room.access_code %>" data-room-moderator-access-code="<%= room.moderator_access_code %>"> <tr class="room-block" data-path="<%= update_settings_path(room) %>" data-room-settings=<%= room.room_settings %> data-room-access-code="<%= room.access_code %>">
<td> <td>
<div id="room-title" class="edit_hover_class"> <div id="room-title" class="edit_hover_class">
<% if room.id == room.owner.room_id %> <% if room.id == room.owner.room_id %>
@ -26,11 +26,11 @@
<div class="small text-muted"> <div class="small text-muted">
<% running = room_is_running(room.bbb_id) %> <% running = room_is_running(room.bbb_id) %>
<% if running %> <% if running %>
<%= t("administrator.rooms.table.started", session: view_date(room.last_session)).html_safe %> <%= t("administrator.rooms.table.started", session: friendly_time(room.last_session)) %>
<% elsif room.last_session.present? %> <% elsif room.last_session.present? %>
<%= t("administrator.rooms.table.ended", session: view_date(room.last_session)).html_safe %> <%= t("administrator.rooms.table.ended", session: friendly_time(room.last_session)) %>
<% else %> <% else %>
<%= [t("administrator.users.table.created"), ": ", view_date(room.created_at)].join.html_safe %> <%= [t("administrator.users.table.created"), ": ", friendly_time(room.created_at)].join %>
<% end %> <% end %>
</div> </div>
</td> </td>
@ -65,16 +65,13 @@
<a href="" data-toggle="modal" data-target="#createRoomModal" class="update-room dropdown-item" data-settings-path="<%= room_settings_path(room) %>"> <a href="" data-toggle="modal" data-target="#createRoomModal" class="update-room dropdown-item" data-settings-path="<%= room_settings_path(room) %>">
<i class="dropdown-icon fas fa-cog"></i> <%= t("room.settings") %> <i class="dropdown-icon fas fa-cog"></i> <%= t("room.settings") %>
</a> </a>
<%= link_to admin_recordings_path(search: room.uid), class: "dropdown-item" do %>
<i class="dropdown-icon fas fa-video"></i> <%= t("administrator.rooms.table.recordings") %>
<% end %>
<% if preupload_allowed? %> <% if preupload_allowed? %>
<a href="" data-toggle="modal" data-target="#preuploadPresentationModal" class="preupload-room dropdown-item" data-path="<%= preupload_presentation_path(room) %>" data-settings-path="<%= current_presentation_path(room) %>" data-remove="<%= remove_presentation_path(room) %>"> <a href="" data-toggle="modal" data-target="#preuploadPresentationModal" class="preupload-room dropdown-item" data-path="<%= preupload_presentation_path(room) %>" data-settings-path="<%= current_presentation_path(room) %>" data-remove="<%= remove_presentation_path(room) %>">
<i class="dropdown-icon fas fa-file-upload"></i> <%= t("room.add_presentation") %> <i class="dropdown-icon fas fa-file-upload"></i> <%= t("room.add_presentation") %>
</a> </a>
<% end %> <% end %>
<% if shared_access_allowed %> <% if shared_access_allowed %>
<a href="" data-toggle="modal" data-target="#shareRoomModal" class="share-room dropdown-item" data-path="<%= room_shared_access_path(room) %>" data-users-path="<%= room_shared_users_path(room) %>" data-owner="<%= room.owner.uid %>"> <a href="" data-toggle="modal" data-target="#shareRoomModal" class="share-room dropdown-item" data-path="<%= room_shared_access_path(room) %>" data-users-path="<%= room_shared_users_path(room) %>">
<i class="dropdown-icon fas fa-users"></i> <%= t("room.share") %> <i class="dropdown-icon fas fa-users"></i> <%= t("room.share") %>
</a> </a>
<% end %> <% end %>

View File

@ -17,7 +17,7 @@
<div class="card-body p-6"> <div class="card-body p-6">
<div class="card-title text-primary"> <div class="card-title text-primary">
<div class="form-group"> <div class="form-group">
<%= render "shared/components/subtitle", subtitle: setting_title, search: search, search_info: defined?(search_info) ? search_info : "" %> <%= render "shared/components/subtitle", subtitle: setting_title, search: search %>
</div> </div>
</div> </div>

View File

@ -188,5 +188,14 @@
</div> </div>
</div> </div>
</div> </div>
<div class="row">
<div class="col-12">
<div class="form-group">
<label class="form-label"><%= t("administrator.site_settings.clear_auth.title") %></label>
<label class="form-label text-muted"><%= t("administrator.site_settings.clear_auth.info") %></label>
<%= button_to t("administrator.site_settings.clear_auth.button"), admin_clear_auth_path, class: "btn btn-primary" %>
</div>
</div>
</div>
<% end %> <% end %>
</div> </div>

View File

@ -21,7 +21,7 @@
<%= render "admins/components/menu_buttons" %> <%= render "admins/components/menu_buttons" %>
</div> </div>
<div id="server_recordings" class="col-lg-9"> <div id="server_recordings" class="col-lg-9">
<%= render "admins/components/setting_view", setting_id: "recordings", setting_title: t("administrator.recordings.latest"), search: true, search_info: t("administrator.recordings.search_info") %> <%= render "admins/components/setting_view", setting_id: "recordings", setting_title: t("administrator.recordings.title"), search: true %>
</div> </div>
</div> </div>
</div> </div>

View File

@ -31,7 +31,6 @@
<title><%= yield(:page_title).present? ? yield(:page_title) : t("bigbluebutton") %></title> <title><%= yield(:page_title).present? ? yield(:page_title) : t("bigbluebutton") %></title>
<meta property="og:title" content="<%= yield(:page_title).present? ? yield(:page_title) : t("bigbluebutton") %>" /> <meta property="og:title" content="<%= yield(:page_title).present? ? yield(:page_title) : t("bigbluebutton") %>" />
<meta property="og:type" content="website" /> <meta property="og:type" content="website" />
<meta property="og:locale" content=<%=user_locale(@room&.owner)%> />
<meta property="og:description" content="<%= yield(:page_desc).present? ? yield(:page_desc) : t("landing.about", href: "Greenlight", locale: :en) %>" /> <meta property="og:description" content="<%= yield(:page_desc).present? ? yield(:page_desc) : t("landing.about", href: "Greenlight", locale: :en) %>" />
<meta property="og:url" content="<%= request.base_url %>" /> <meta property="og:url" content="<%= request.base_url %>" />
<meta property="og:image" content="<%= logo_image %>" /> <meta property="og:image" content="<%= logo_image %>" />
@ -60,7 +59,7 @@
</script> </script>
</head> </head>
<body class="app-background" data-controller="<%= controller_name %>" data-action="<%= action_name %>" data-relative-root="<%= Rails.configuration.relative_url_root || "/" %>"> <body class="app-background" data-controller="<%= params[:controller] %>" data-action="<%= params[:action] %>" data-relative-root="<%= Rails.configuration.relative_url_root || "/" %>">
<%= render "shared/header" %> <%= render "shared/header" %>
<div class="wrapper"> <div class="wrapper">

View File

@ -25,12 +25,6 @@
<%= f.label :email, t("forgot_password.email"), class: "form-label" %> <%= f.label :email, t("forgot_password.email"), class: "form-label" %>
<%= f.email_field :email, class: "form-control" %> <%= f.email_field :email, class: "form-control" %>
<br> <br>
<% if recaptcha_enabled? %>
<div class="form-group">
<%= recaptcha_tags %>
</div>
<% end %>
<%= f.submit t("forgot_password.submit"), class: "btn btn-primary" %> <%= f.submit t("forgot_password.submit"), class: "btn btn-primary" %>
<% end %> <% end %>

View File

@ -1,29 +0,0 @@
<%
# 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 %>

View File

@ -13,7 +13,7 @@
# with BigBlueButton; if not, see <http://www.gnu.org/licenses/>. # with BigBlueButton; if not, see <http://www.gnu.org/licenses/>.
%> %>
<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 data-path="<%= update_settings_path(room) %>" data-room-access-code="<%= room.access_code %>" class="card room-block">
<div class="card-body p-1"> <div class="card-body p-1">
<table class="table table-hover table-vcenter text-wrap table-no-border"> <table class="table table-hover table-vcenter text-wrap table-no-border">
<tbody class="no-border-top"> <tbody class="no-border-top">
@ -28,14 +28,14 @@
</td> </td>
<td> <td>
<div> <div>
<h4 contenteditable="false" class="m-0 force-text-normal room-name-text text-break" ><%= room.name %></h4> <h4 contenteditable="false" class="m-0 force-text-normal room-name-text" ><%= room.name %></h4>
</div> </div>
<div style="display: none"> <div style="display: none">
<input class="form-control input-sm w-100 h-4 room-name-editable" value="<%= room.name %>"> <input class="form-control input-sm w-100 h-4 room-name-editable" value="<%= room.name %>">
</div> </div>
<div class="small text-muted"> <div class="small text-muted">
<% if room.sessions > 0 %> <% if room.sessions > 0 %>
<i><%= t("room.last_session", session: view_date(room.last_session)).html_safe %></i> <i><%= t("room.last_session", session: recording_date(room.last_session)) %></i>
<% else %> <% else %>
<i><%= t("room.no_sessions") %></i> <i><%= t("room.no_sessions") %></i>
<% end %> <% end %>
@ -56,7 +56,7 @@
</a> </a>
<% end %> <% end %>
<% if shared_access_allowed %> <% if shared_access_allowed %>
<a href="" data-toggle="modal" data-target="#shareRoomModal" class="share-room dropdown-item" data-path="<%= room_shared_access_path(room) %>" data-users-path="<%= room_shared_users_path(room) %>" data-owner="<%= room.owner.uid %>"> <a href="" data-toggle="modal" data-target="#shareRoomModal" class="share-room dropdown-item" data-path="<%= room_shared_access_path(room) %>" data-users-path="<%= room_shared_users_path(room) %>">
<i class="dropdown-icon fas fa-users"></i> <%= t("room.share") %> <i class="dropdown-icon fas fa-users"></i> <%= t("room.share") %>
</a> </a>
<% end %> <% end %>

View File

@ -15,16 +15,23 @@
<% content_for(:page_desc) { t("room.invitation_description", name: @room.name) } %> <% content_for(:page_desc) { t("room.invitation_description", name: @room.name) } %>
<% access_code_set = @room.access_code.present? %> <% valid_access_code = @room.access_code.nil? || @room.access_code.empty? || @room.access_code == session[:access_code] %>
<% valid_access_code = access_code_set && @room.access_code == session[:access_code] %> <%= render 'rooms/components/room_event', render_recordings: valid_access_code do %>
<% 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 %> <% if room_authentication_required %>
<h2><%= t("administrator.site_settings.authentication.user-info") %></h2> <h2><%= t("administrator.site_settings.authentication.user-info") %></h2>
<% elsif authorized %> <% 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 %>
<%= form_for room_path(@room), method: :post do |f| %> <%= form_for room_path(@room), method: :post do |f| %>
<div class="input-group"> <div class="input-group">
<%= f.hidden_field(:search, :value => params[:search])%> <%= f.hidden_field(:search, :value => params[:search])%>
@ -52,12 +59,5 @@
</label> </label>
<% end %> <% end %>
<% 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 %>
<% end %> <% end %>

View File

@ -24,7 +24,7 @@
<div class="row pt-7 pt-sm-9 mb-7"> <div class="row pt-7 pt-sm-9 mb-7">
<div class="col-lg-9 col-sm-12"> <div class="col-lg-9 col-sm-12">
<div id="room-title" class="display-3 form-inline <%= 'edit_hover_class' if current_user.main_room != @room %>" data-path="<%= update_settings_path(@room) %>"> <div id="room-title" class="display-3 form-inline <%= 'edit_hover_class' if current_user.main_room != @room %>" data-path="<%= update_settings_path(@room) %>">
<h1 contenteditable=false id="user-text" class="display-3 text-left mb-3 font-weight-400 text-break"><%= title(@room.name) %></h1> <h1 contenteditable=false id="user-text" class="display-3 text-left mb-3 font-weight-400"><%= title(@room.name) %></h1>
<% if current_user.main_room == @room %> <% if current_user.main_room == @room %>
<a class="disable-click"><i class="fas fa-home align-top home-indicator ml-2"></i></a> <a class="disable-click"><i class="fas fa-home align-top home-indicator ml-2"></i></a>
<% else %> <% else %>
@ -51,7 +51,7 @@
<%= t("copy") %> <%= t("copy") %>
</button> </button>
</div> </div>
<div class="btn-group-vertical col-sm-6 pl-0 mt-2"> <div class="col-sm-6 pl-0 mt-2">
<% if @room.access_code.present? %> <% if @room.access_code.present? %>
<input id="copy-code" value="<%= @room.access_code %>" type="hidden"> <input id="copy-code" value="<%= @room.access_code %>" type="hidden">
<button id="copy-access" class="btn btn-secondary btn-block" onclick="copyAccess()"> <button id="copy-access" class="btn btn-secondary btn-block" onclick="copyAccess()">
@ -59,13 +59,6 @@
<%= t("room.copy_access") %> <%= t("room.copy_access") %>
</button> </button>
<% end %> <% 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 %> <% if Rails.configuration.enable_google_calendar_button %>
<a href="<%= google_calendar_path %>" target="__blank" id="schedule" class="btn btn-primary btn-block mt-2"> <a href="<%= google_calendar_path %>" target="__blank" id="schedule" class="btn btn-primary btn-block mt-2">
<i class="fas fa-calendar-plus"></i> <i class="fas fa-calendar-plus"></i>
@ -89,7 +82,7 @@
</div> </div>
</div> </div>
<% if total_room_count(current_user) > 5 %> <% if current_user.ordered_rooms.length > 5 %>
<div class="input-icon invite-link-input mb-3"> <div class="input-icon invite-link-input mb-3">
<span class="input-icon-addon"> <span class="input-icon-addon">
<i class="fas fa-search"></i> <i class="fas fa-search"></i>

View File

@ -12,7 +12,7 @@
<span class="input-icon-addon"> <span class="input-icon-addon">
<i class="fas fa-user"></i> <i class="fas fa-user"></i>
</span> </span>
<%= f.text_field :username, class: "form-control", placeholder: t("administrator.users.table.username"), value: "", autocomplete: "username", autocapitalize: "none", spellcheck: "false", autofocus: "", required: "" %> <%= f.text_field :username, class: "form-control", placeholder: t("administrator.users.table.username"), value: "", autocomplete: "username", autocapitalize: "none", spellcheck: "false", autofocus: "" %>
</div> </div>
</div> </div>
<div class="form-group"> <div class="form-group">
@ -20,7 +20,7 @@
<span class="input-icon-addon"> <span class="input-icon-addon">
<i class="fas fa-key"></i> <i class="fas fa-key"></i>
</span> </span>
<%= f.password_field :password, class: "form-control", placeholder: t("password"), value: "", required: "" %> <%= f.password_field :password, class: "form-control", placeholder: t("password"), value: "" %>
</div> </div>
</div> </div>
<div> <div>

View File

@ -41,22 +41,22 @@
<%= form_for @user, url: create_user_path, method: :post do |f| %> <%= form_for @user, url: create_user_path, method: :post do |f| %>
<div class="form-group"> <div class="form-group">
<%= f.label :name, t("settings.account.fullname"), class: "form-label" %> <%= f.label :name, t("settings.account.fullname"), class: "form-label" %>
<%= f.text_field :name, class: "form-control #{form_is_invalid?(@user, :name)}", placeholder: t("settings.account.fullname"), autofocus: "", required: "" %> <%= f.text_field :name, class: "form-control #{form_is_invalid?(@user, :name)}", placeholder: t("settings.account.fullname") %>
<div class="invalid-feedback d-block"><%= @user.errors.full_messages_for(:name).first %></div> <div class="invalid-feedback d-block"><%= @user.errors.full_messages_for(:name).first %></div>
</div> </div>
<div class="form-group"> <div class="form-group">
<%= f.label :email, t("email"), class: "form-label" %> <%= f.label :email, t("email"), class: "form-label" %>
<%= f.email_field :email, class: "form-control #{form_is_invalid?(@user, :email)}", placeholder: t("email"), required: "" %> <%= f.email_field :email, class: "form-control #{form_is_invalid?(@user, :email)}", placeholder: t("email") %>
<div class="invalid-feedback d-block"><%= @user.errors.full_messages_for(:email).first %></div> <div class="invalid-feedback d-block"><%= @user.errors.full_messages_for(:email).first %></div>
</div> </div>
<div class="form-group"> <div class="form-group">
<%= f.label :password, t("password"), class: "form-label" %> <%= f.label :password, t("password"), class: "form-label" %>
<%= f.password_field :password, class: "form-control #{form_is_invalid?(@user, :password)}", placeholder: t("password"), required: "" %> <%= f.password_field :password, class: "form-control #{form_is_invalid?(@user, :password)}", placeholder: t("password") %>
<div class="invalid-feedback d-block"><%= @user.errors.full_messages_for(:password).first %></div> <div class="invalid-feedback d-block"><%= @user.errors.full_messages_for(:password).first %></div>
</div> </div>
<div class="form-group"> <div class="form-group">
<%= f.label :password_confirmation, t("signup.password_confirm"), class: "form-label" %> <%= f.label :password_confirmation, t("signup.password_confirm"), class: "form-label" %>
<%= f.password_field :password_confirmation, class: "form-control #{form_is_invalid?(@user, :password_confirmation)}", placeholder: t("signup.password_confirm"), required: "" %> <%= f.password_field :password_confirmation, class: "form-control #{form_is_invalid?(@user, :password_confirmation)}", placeholder: t("signup.password_confirm") %>
<div class="invalid-feedback d-block"><%= @user.errors.full_messages_for(:password_confirmation).first %></div> <div class="invalid-feedback d-block"><%= @user.errors.full_messages_for(:password_confirmation).first %></div>
</div> </div>
<% if Rails.configuration.terms %> <% if Rails.configuration.terms %>

View File

@ -44,7 +44,7 @@
<span class="input-icon-addon"> <span class="input-icon-addon">
<i class="fas fa-at"></i> <i class="fas fa-at"></i>
</span> </span>
<%= f.email_field :email, class: "form-control", placeholder: t("email"), value: "", autofocus: "", required: "" %> <%= f.email_field :email, class: "form-control", placeholder: t("email"), value: "" %>
</div> </div>
</div> </div>
<div class="form-group"> <div class="form-group">
@ -52,7 +52,7 @@
<span class="input-icon-addon"> <span class="input-icon-addon">
<i class="fas fa-key"></i> <i class="fas fa-key"></i>
</span> </span>
<%= f.password_field :password, class: "form-control", placeholder: t("password"), value: "", required: "" %> <%= f.password_field :password, class: "form-control", placeholder: t("password"), value: "" %>
</div> </div>
</div> </div>
<% if Rails.configuration.enable_email_verification %> <% if Rails.configuration.enable_email_verification %>

View File

@ -27,7 +27,7 @@
<% elsif key.eql? "maintenance" %> <% elsif key.eql? "maintenance" %>
<div class="alert alert-info alert-dismissible text-center mb-0"> <div class="alert alert-info alert-dismissible text-center mb-0">
<%= value %> <%= value %>
<button id="maintenance-close" type="button" data-date="<%= URI.encode_www_form_component(value).gsub('+', '%20') %>" class="close" data-dismiss="alert">&times</button> <button id="maintenance-close" type="button" data-date="<%= URI.encode(value) %>" class="close" data-dismiss="alert">&times</button>
</div> </div>
<% elsif key.eql? "info" %> <% elsif key.eql? "info" %>
<div class="alert alert-info alert-dismissible text-center mb-0"> <div class="alert alert-info alert-dismissible text-center mb-0">

View File

@ -32,7 +32,7 @@
<% end %> <% end %>
<% if current_user.role.get_permission("can_create_rooms") && !current_user.has_role?(:super_admin) && !hide_recording_tables %> <% if current_user.role.get_permission("can_create_rooms") && !current_user.has_role?(:super_admin) && !hide_recording_tables %>
<% all_rec_page = controller_name == "users" && action_name == "recordings" ? "active" : "" %> <% all_rec_page = params[:controller] == "users" && params[:action] == "recordings" ? "active" : "" %>
<%= link_to get_user_recordings_path(current_user), class: "px-3 mx-1 mt-1 header-nav #{all_rec_page}" do %> <%= 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> <i class="fas fa-video pr-1"></i><span class="d-none d-sm-inline-block"><%= t("header.all_recordings") %></span>
<% end %> <% end %>

View File

@ -77,7 +77,7 @@
<tbody id="recording-table"> <tbody id="recording-table">
<tr id="no_recordings_found" style="display: none;"> <tr id="no_recordings_found" style="display: none;">
<td colspan="7" class="text-center h4 p-6 font-weight-normal" > <td colspan="7" class="text-center h4 p-6 font-weight-normal" >
<%= only_public ? t("recording.no_matched_pub_recordings") : t("recording.no_matched_recordings") %> <%= t("recording.no_matched_recordings", inject: only_public ? t("recording.visibility.public").downcase + " " : "") %>
</td> </td>
</tr> </tr>
<% if recordings.empty? %> <% if recordings.empty? %>
@ -86,7 +86,7 @@
<% if user_recordings %> <% if user_recordings %>
<%= t("recording.no_user_recordings") %> <%= t("recording.no_user_recordings") %>
<% else %> <% else %>
<%= only_public ? t("recording.no_public_recordings") : t("recording.no_recordings", inject: "") %> <%= t("recording.no_recordings", inject: only_public ? t("recording.visibility.public").downcase + " " : "") %>
<% end %> <% end %>
</td> </td>
</tr> </tr>

View File

@ -18,7 +18,6 @@
<div class="cookies-banner-content py-3"> <div class="cookies-banner-content py-3">
<span class="cookies-warning-text pr-5"> <span class="cookies-warning-text pr-5">
<%= t("cookies.cookie_info") %> <%= t("cookies.cookie_info") %>
<%= t("cookies.policy", privacy_link: privpolicy_url).html_safe if privpolicy_url.present? %>
</span> </span>
<span class="cookies-warning-button d-inline-block"> <span class="cookies-warning-button d-inline-block">
<button id="cookies-agree-button" class="btn customBtn primary-regular"><%= t("cookies.cookie_button") %></button> <button id="cookies-agree-button" class="btn customBtn primary-regular"><%= t("cookies.cookie_button") %></button>

View File

@ -26,7 +26,7 @@
</span> </span>
</div> </div>
<div class="small text-muted"> <div class="small text-muted">
<%= t("recording.recorded_on", date: view_date(recording[:startTime])).html_safe %> <%= t("recording.recorded_on", date: recording_date(recording[:startTime])) %>
</div> </div>
</td> </td>
<% if recording_thumbnails? %> <% if recording_thumbnails? %>

View File

@ -27,17 +27,15 @@
<a><i id="edit-record" class="fa fa-edit align-top ml-2" data-edit-recordid="<%= recording[:recordID] %>"></i></a> <a><i id="edit-record" class="fa fa-edit align-top ml-2" data-edit-recordid="<%= recording[:recordID] %>"></i></a>
</div> </div>
<div class="small text-muted"> <div class="small text-muted">
<%= t("recording.recorded_on", date: view_date(recording[:startTime])).html_safe %> <%= t("recording.recorded_on", date: recording_date(recording[:startTime])) %>
</div> </div>
</td> </td>
<% if recording_thumbnails? %> <% if recording_thumbnails? %>
<td class="overflow-hidden"> <td class="overflow-hidden">
<% if recording[:published] %> <% p = recording[:playbacks].find do |p| p.key?(:preview) end %>
<% p = recording[:playbacks].find do |p| p.key?(:preview) end %> <% if p %>
<% if p %> <% safe_recording_images(p[:preview][:images][:image]).each do |img| %>
<% safe_recording_images(p[:preview][:images][:image]).each do |img| %> <%= image_tag(img[:content].strip, class: "thumbnail px-2") %>
<%= image_tag(img[:content].strip, class: "thumbnail px-2") %>
<% end %>
<% end %> <% end %>
<% end %> <% end %>
</td> </td>
@ -52,10 +50,6 @@
<div class="dropdown"> <div class="dropdown">
<% if recording[:metadata][:"gl-listed"] == "true" %> <% if recording[:metadata][:"gl-listed"] == "true" %>
<button class="btn btn-sm btn-secondary dropdown-toggle" data-toggle="dropdown"><i class="dropdown-icon fas fa-globe px-2"></i> <%= t("recording.visibility.public") %></button> <button class="btn btn-sm btn-secondary dropdown-toggle" data-toggle="dropdown"><i class="dropdown-icon fas fa-globe px-2"></i> <%= t("recording.visibility.public") %></button>
<% elsif recording[:protected] == "true" %>
<button class="btn btn-sm btn-secondary dropdown-toggle" data-toggle="dropdown"><i class="dropdown-icon fas fa-shield-alt px-2"></i> <%= t("recording.visibility.protected") %></button>
<% elsif !recording[:published] %>
<button class="btn btn-sm btn-secondary dropdown-toggle" data-toggle="dropdown"><i class="dropdown-icon fas fa-lock px-2"></i> <%= t("recording.visibility.inaccessible") %></button>
<% else %> <% else %>
<button class="btn btn-sm btn-secondary dropdown-toggle" data-toggle="dropdown"><i class="dropdown-icon fas fa-link px-2"></i> <%= t("recording.visibility.unlisted") %></button> <button class="btn btn-sm btn-secondary dropdown-toggle" data-toggle="dropdown"><i class="dropdown-icon fas fa-link px-2"></i> <%= t("recording.visibility.unlisted") %></button>
<% end %> <% end %>
@ -63,26 +57,16 @@
<%= button_to update_recording_path(meetingID: recording[:meetingID], record_id: recording[:recordID], state: "public"), class: "dropdown-item", "data-disable": "" do %> <%= button_to update_recording_path(meetingID: recording[:meetingID], record_id: recording[:recordID], state: "public"), class: "dropdown-item", "data-disable": "" do %>
<i class="dropdown-icon fas fa-globe"></i> <%= t("recording.visibility.public") %> <i class="dropdown-icon fas fa-globe"></i> <%= t("recording.visibility.public") %>
<% end %> <% end %>
<% if protected_recording?(recording) %>
<%= button_to update_recording_path(meetingID: recording[:meetingID], record_id: recording[:recordID], state: "protected"), class: "dropdown-item", "data-disable": "" do %>
<i class="dropdown-icon fas fa-shield-alt"></i> <%= t("recording.visibility.protected") %>
<% end %>
<% end %>
<%= button_to update_recording_path(meetingID: recording[:meetingID], record_id: recording[:recordID], state: "unlisted"), class: "dropdown-item", "data-disable": "" do %> <%= button_to update_recording_path(meetingID: recording[:meetingID], record_id: recording[:recordID], state: "unlisted"), class: "dropdown-item", "data-disable": "" do %>
<i class="dropdown-icon fas fa-link"></i> <%= t("recording.visibility.unlisted") %> <i class="dropdown-icon fas fa-link"></i> <%= t("recording.visibility.unlisted") %>
<% end %> <% end %>
<%= button_to update_recording_path(meetingID: recording[:meetingID], record_id: recording[:recordID], state: "inaccessible"), class: "dropdown-item", "data-disable": "" do %>
<i class="dropdown-icon fas fa-lock"></i> <%= t("recording.visibility.inaccessible") %>
<% end %>
</div> </div>
</div> </div>
</td> </td>
<td> <td>
<% if recording[:published] %> <% sorted_formats = recording[:playbacks].sort_by! { |p| p[:type] } %>
<% sorted_formats = recording[:playbacks].sort_by! { |p| p[:type] } %> <% sorted_formats.each do |p| %>
<% sorted_formats.each do |p| %> <%= link_to t("recording.format.#{p[:type]}"), p[:url], class: "btn btn-sm btn-primary", target: "_blank" %>
<%= link_to t("recording.format.#{p[:type]}"), p[:url], class: "btn btn-sm btn-primary", target: "_blank" %>
<% end %>
<% end %> <% end %>
</td> </td>
<td class="text-center"> <td class="text-center">

View File

@ -35,14 +35,6 @@
</span> </span>
</div> </div>
</div> </div>
<% if defined?(search_info) && search_info.present? %>
<div class="float-right mt-5">
<small>
<i class="fas fa-info-circle"></i>
<%= search_info %>
</small>
</div>
<% end %>
</div> </div>
<% else %> <% else %>
<div class="col-12"> <div class="col-12">

View File

@ -33,34 +33,21 @@
</div> </div>
<div class="input-icon mb-2"> <div class="input-icon mb-2">
<span onclick="generateAccessCode()" class="input-icon-addon allow-icon-click cursor-pointer" id="generate-room-access-code" tabindex="0" aria-label='<%= t("modal.create_room.access_code_placeholder") %>'> <span onclick="generateAccessCode()" class="input-icon-addon allow-icon-click cursor-pointer">
<i class="fas fa-dice"></i> <i class="fas fa-dice"></i>
</span> </span>
<%= f.label :access_code, t("modal.create_room.access_code_placeholder"), id: "create-room-access-code", class: "form-control", role: "log" %> <%= f.label :access_code, t("modal.create_room.access_code_placeholder"), id: "create-room-access-code", class: "form-control" %>
<%= f.hidden_field :access_code %> <%= f.hidden_field :access_code %>
<span onclick="ResetAccessCode()" class="input-icon-addon allow-icon-click cursor-pointer" id="reset-access-code" tabindex="0" aria-label='<%= t("modal.create_room.reset_access_code") %>' > <span onclick="ResetAccessCode()" class="input-icon-addon allow-icon-click cursor-pointer">
<i class="far fa-trash-alt"></i> <i class="far fa-trash-alt"></i>
</span> </span>
</div> </div>
<% if moderator_code_allowed? %>
<div class="input-icon mb-2">
<span onclick="generateModeratorAccessCode()" class="input-icon-addon allow-icon-click cursor-pointer" id="generate-moderator-room-access-code" tabindex="0" aria-label='<%= t("modal.create_room.moderator_access_code_placeholder") %>'>
<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", role: "log" %>
<%= f.hidden_field :moderator_access_code %>
<span onclick="ResetModeratorAccessCode()" class="input-icon-addon allow-icon-click cursor-pointer" id="reset-moderator-access-code" tabindex="0" aria-label='<%= t("modal.create_room.reset_moderator_access_code") %>'>
<i class="far fa-trash-alt"></i>
</span>
</div>
<% end %>
<% mute = room_configuration("Room Configuration Mute On Join") %> <% mute = room_configuration("Room Configuration Mute On Join") %>
<% if mute != "disabled" %> <% 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" %>"> <label class="custom-switch pl-0 mt-3 mb-3 w-100 text-left d-inline-block <%= "enabled-setting" if mute == "enabled" %>">
<span class="custom-switch-description"><%= t("modal.room_settings.mute")%></span> <span class="custom-switch-description"><%= t("modal.room_settings.mute")%></span>
<%= f.check_box :mute_on_join, class: "custom-switch-input", data: { default: mute == "enabled" }, checked: false, tabindex: mute == "enabled" ? "-1" : "" %> <%= f.check_box :mute_on_join, class: "custom-switch-input", data: { default: mute == "enabled" }, checked: false %>
<span class="custom-switch-indicator float-right cursor-pointer"></span> <span class="custom-switch-indicator float-right cursor-pointer"></span>
</label> </label>
<% end %> <% end %>
@ -69,16 +56,16 @@
<% if require_approval != "disabled" %> <% if require_approval != "disabled" %>
<label class="custom-switch pl-0 mt-3 mb-3 w-100 text-left d-inline-block <%= "enabled-setting" if require_approval == "enabled" %>"> <label class="custom-switch pl-0 mt-3 mb-3 w-100 text-left d-inline-block <%= "enabled-setting" if require_approval == "enabled" %>">
<span class="custom-switch-description"><%= t("modal.room_settings.require_approval")%></span> <span class="custom-switch-description"><%= t("modal.room_settings.require_approval")%></span>
<%= f.check_box :require_moderator_approval, class: "custom-switch-input", data: { default: require_approval == "enabled" }, checked: false, tabindex: require_approval == "enabled" ? "-1" : ""%> <%= f.check_box :require_moderator_approval, class: "custom-switch-input", data: { default: require_approval == "enabled" }, checked: false %>
<span class="custom-switch-indicator float-right cursor-pointer"></span> <span class="custom-switch-indicator float-right cursor-pointer"></span>
</label> </label>
<% end %> <% end %>
<% any_start = room_configuration("Room Configuration Allow Any Start") %> <% any_start = room_configuration("Room Configuration Allow Any Start") %>
<% if any_start != "disabled" %> <% if any_start != "disabled" %>
<label class="custom-switch pl-0 mt-3 mb-3 w-100 text-left d-inline-block <%= "enabled-setting" if any_start == "enabled" %>"> <label class="custom-switch pl-0 mt-3 mb-3 w-100 text-left d-inline-block <%= "enabled-setting" if any_start == "enabled" %>">
<span class="custom-switch-description"><%= t("modal.room_settings.start")%></span> <span class="custom-switch-description"><%= t("modal.room_settings.start")%></span>
<%= f.check_box :anyone_can_start, class: "custom-switch-input", data: { default: any_start == "enabled" }, checked: false, tabindex: any_start == "enabled" ? "-1" : "" %> <%= f.check_box :anyone_can_start, class: "custom-switch-input", data: { default: any_start == "enabled" }, checked: false %>
<span class="custom-switch-indicator float-right cursor-pointer"></span> <span class="custom-switch-indicator float-right cursor-pointer"></span>
</label> </label>
<% end %> <% end %>
@ -86,15 +73,15 @@
<% if moderator != "disabled" %> <% if moderator != "disabled" %>
<label class="custom-switch pl-0 mt-3 mb-3 w-100 text-left d-inline-block <%= "enabled-setting" if moderator == "enabled" %>"> <label class="custom-switch pl-0 mt-3 mb-3 w-100 text-left d-inline-block <%= "enabled-setting" if moderator == "enabled" %>">
<span class="custom-switch-description"><%= t("modal.room_settings.join_moderator")%></span> <span class="custom-switch-description"><%= t("modal.room_settings.join_moderator")%></span>
<%= f.check_box :all_join_moderator, class: "custom-switch-input", data: { default: moderator == "enabled" }, checked: false, tabindex: moderator == "enabled" ? "-1" : "" %> <%= f.check_box :all_join_moderator, class: "custom-switch-input", data: { default: moderator == "enabled" }, checked: false %>
<span class="custom-switch-indicator float-right cursor-pointer"></span> <span class="custom-switch-indicator float-right cursor-pointer"></span>
</label> </label>
<% end %> <% end %>
<% recording = room_configuration("Room Configuration Recording") %> <% recording = room_configuration("Room Configuration Recording") %>
<% if recording_consent_required? && recording != "disabled" && perm_to_record_meeting %> <% if recording_consent_required? && recording != "disabled" %>
<label class="custom-switch pl-0 mt-3 mb-3 w-100 text-left d-inline-block <%= "enabled-setting" if recording == "enabled" %>"> <label class="custom-switch pl-0 mt-3 mb-3 w-100 text-left d-inline-block <%= "enabled-setting" if recording == "enabled" %>">
<span class="custom-switch-description"><%= t("modal.room_settings.recording")%></span> <span class="custom-switch-description"><%= t("modal.room_settings.recording")%></span>
<%= f.check_box :recording, class: "not-running-only custom-switch-input", data: { default: recording == "enabled" }, checked: false, tabindex: recording == "enabled" ? "-1" : "" %> <%= f.check_box :recording, class: "not-running-only custom-switch-input", data: { default: recording == "enabled" }, checked: false %>
<span class="custom-switch-indicator not-running-only float-right cursor-pointer"></span> <span class="custom-switch-indicator not-running-only float-right cursor-pointer"></span>
</label> </label>
<% end %> <% end %>

View File

@ -1,44 +1,44 @@
<% <%
# BigBlueButton open source conferencing system - http://www.bigbluebutton.org/. # BigBlueButton open source conferencing system - http://www.bigbluebutton.org/.
# Copyright (c) 2018 BigBlueButton Inc. and by respective authors (see below). # 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 # 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 # 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 # Foundation; either version 3.0 of the License, or (at your option) any later
# version. # version.
# #
# BigBlueButton is distributed in the hope that it will be useful, but WITHOUT ANY # 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 # WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
# PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. # 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 # You should have received a copy of the GNU Lesser General Public License along
# with BigBlueButton; if not, see <http://www.gnu.org/licenses/>. # with BigBlueButton; if not, see <http://www.gnu.org/licenses/>.
%> %>
<div class="modal fade" id="inviteModal" tabindex="-1" role="dialog"> <div class="modal fade" id="inviteModal" tabindex="-1" role="dialog">
<div class="modal-dialog modal-dialog-centered" role="document"> <div class="modal-dialog modal-dialog-centered" role="document">
<div class="modal-content text-center"> <div class="modal-content text-center">
<div class="modal-body"> <div class="modal-body">
<div class="card-body p-6"> <div class="card-body p-6">
<div class="card-title"> <div class="card-title">
<h3><%= t("modal.invite_user.title") %></h3> <h3><%= t("modal.invite_user.title") %></h3>
</div> </div>
<%= form_for(:invite_user, url: invite_user_path) do |f| %> <%= form_for(:invite_user, url: invite_user_path) do |f| %>
<div class="input-icon mb-2"> <div class="input-icon mb-2">
<span class="input-icon-addon"> <span class="input-icon-addon">
<i class="fas fa-envelope"></i> <i class="fas fa-envelope"></i>
</span> </span>
<%= f.text_field :email, class: "form-control", value: "", placeholder: t("modal.invite_user.email_placeholder"), autocomplete: :off %> <%= f.text_field :email, class: "form-control", value: "", placeholder: t("modal.invite_user.email_placeholder"), autocomplete: :off %>
<div class="invalid-feedback text-left"><%= t("modal.invite_user.not_blank") %></div> <div class="invalid-feedback text-left"><%= t("modal.invite_user.not_blank") %></div>
</div> </div>
<div class="mt-4"> <div class="mt-4">
<%= f.submit t("modal.invite_user.send"), class:"btn btn-primary btn-block" %> <%= f.submit t("modal.invite_user.send"), class:"btn btn-primary btn-block" %>
</div> </div>
<% end %> <% end %>
</div> </div>
<div class="card-footer"> <div class="card-footer">
<p><%= t("modal.invite_user.footer") %></p> <p><%= t("modal.invite_user.footer") %></p>
</div> </div>
</div> </div>
</div> </div>
</div> </div>
</div> </div>

View File

@ -1,43 +1,42 @@
<% <%
# BigBlueButton open source conferencing system - http://www.bigbluebutton.org/. # BigBlueButton open source conferencing system - http://www.bigbluebutton.org/.
# Copyright (c) 2018 BigBlueButton Inc. and by respective authors (see below). # 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 # 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 # 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 # Foundation; either version 3.0 of the License, or (at your option) any later
# version. # version.
# #
# BigBlueButton is distributed in the hope that it will be useful, but WITHOUT ANY # 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 # WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
# PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. # 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 # You should have received a copy of the GNU Lesser General Public License along
# with BigBlueButton; if not, see <http://www.gnu.org/licenses/>. # with BigBlueButton; if not, see <http://www.gnu.org/licenses/>.
%> %>
<div class="modal fade" id="shareRoomModal" tabindex="-1" role="dialog"> <div class="modal fade" id="shareRoomModal" tabindex="-1" role="dialog">
<div class="modal-dialog modal-dialog-centered" role="document"> <div class="modal-dialog modal-dialog-centered" role="document">
<div class="modal-content text-center"> <div class="modal-content text-center">
<div class="modal-body"> <div class="modal-body">
<div class="card-body p-6"> <div class="card-body p-6">
<div class="card-title"> <div class="card-title">
<h3><%= t("modal.share_access.title") %></h3> <h3><%= t("modal.share_access.title") %></h3>
</div> </div>
<select id="share-room-select" class="selectpicker" title="<%= t("modal.share_access.select") %>" data-live-search="true" data-virtual-scroll="true" data-path="<%= shared_access_list_path %>" > <select id="share-room-select" class="selectpicker" title="<%= t("modal.share_access.select") %>" data-live-search="true" data-virtual-scroll="true" data-path="<%= shared_access_list_path %>" >
</select> </select>
<div class="mt-5 text-left"> <div class="mt-5 text-left">
<label class="form-label"><%= t("modal.share_access.list") %></label> <label class="form-label"><%= t("modal.share_access.list") %></label>
<ul id="user-list" class="list-group"> <ul id="user-list" class="list-group">
</ul> </ul>
</div> </div>
<input id="room-owner-uid" type="hidden"> <div class="mt-6">
<div class="mt-6"> <button id="save-access" class="btn btn-primary btn-block" onclick="saveAccessChanges()" ><%= t("modal.share_access.save") %></button>
<button id="save-access" class="btn btn-primary btn-block" onclick="saveAccessChanges()" ><%= t("modal.share_access.save") %></button> <button class="btn btn-secondary text-primary btn-block" onclick="$('#shareRoomModal').modal('hide')"><%= t("modal.share_access.cancel_changes") %></button>
<button class="btn btn-secondary text-primary btn-block" onclick="$('#shareRoomModal').modal('hide')"><%= t("modal.share_access.cancel_changes") %></button> </div>
</div> </div>
</div> <div class="card-footer">
<div class="card-footer"> <p><%= t("modal.share_access.footer") %></p>
<p><%= t("modal.share_access.footer") %></p> </div>
</div> </div>
</div> </div>
</div> </div>
</div> </div>
</div>

View File

@ -1,47 +1,43 @@
<% <%
# BigBlueButton open source conferencing system - http://www.bigbluebutton.org/. # BigBlueButton open source conferencing system - http://www.bigbluebutton.org/.
# #
# Copyright (c) 2018 BigBlueButton Inc. and by respective authors (see below). # 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 # 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 # 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 # Foundation; either version 3.0 of the License, or (at your option) any later
# version. # version.
# #
# BigBlueButton is distributed in the hope that it will be useful, but WITHOUT ANY # 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 # WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
# PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. # 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 # You should have received a copy of the GNU Lesser General Public License along
# with BigBlueButton; if not, see <http://www.gnu.org/licenses/>. # with BigBlueButton; if not, see <http://www.gnu.org/licenses/>.
%> %>
<div style="text-align:center; font-family:'Source Sans Pro', -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Helvetica Neue', Arial, sans-serif"> <div style="text-align:center; font-family:'Source Sans Pro', -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Helvetica Neue', Arial, sans-serif">
<div style="display:inline-block; background-color:#F5F7FB; border:1px solid #d3d3d3; padding: 25px 70px"> <div style="display:inline-block; background-color:#F5F7FB; border:1px solid #d3d3d3; padding: 25px 70px">
<%= image_tag(@image, height: '70') %> <%= image_tag(@image, height: '70') %>
<h1 style="margin-bottom:30px"> <h1 style="margin-bottom:30px">
<%= t('mailer.user.invite.subject') %> <%= t('mailer.user.invite.subject') %>
</h1> </h1>
<p> <p>
<%= t('mailer.user.invite.info', name: @name) %> <%= t('mailer.user.invite.info', name: @name) %>
</p> </p>
<p> <p>
<%= t('mailer.user.invite.username', email: @email) %> <%= t('mailer.user.invite.username', email: @email) %>
</p> </p>
<p> <p style="margin-bottom:35px;">
<%= t('mailer.user.invite.signup_info') %> <%= t('mailer.user.invite.signup_info') %>
</p> </p>
<p style="margin-bottom:35px;"> <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.valid', date: @date) %> <%= t('mailer.user.invite.signup_link') %>
</p> </a>
</div>
<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 %>"> </div>
<%= t('mailer.user.invite.signup_link') %>
</a>
</div>
</div>

View File

@ -1,27 +1,27 @@
<% <%
# BigBlueButton open source conferencing system - http://www.bigbluebutton.org/. # BigBlueButton open source conferencing system - http://www.bigbluebutton.org/.
# #
# Copyright (c) 2018 BigBlueButton Inc. and by respective authors (see below). # 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 # 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 # 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 # Foundation; either version 3.0 of the License, or (at your option) any later
# version. # version.
# #
# BigBlueButton is distributed in the hope that it will be useful, but WITHOUT ANY # 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 # WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
# PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. # 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 # You should have received a copy of the GNU Lesser General Public License along
# with BigBlueButton; if not, see <http://www.gnu.org/licenses/>. # with BigBlueButton; if not, see <http://www.gnu.org/licenses/>.
%> %>
<%= t('mailer.user.invite.subject') %> <%= t('mailer.user.invite.subject') %>
<%= t('mailer.user.invite.info', name: @name) %> <%= t('mailer.user.invite.info', name: @name) %>
<%= t('mailer.user.invite.username', email: @email) %> <%= t('mailer.user.invite.username', email: @email) %>
<%= t('mailer.user.invite.signup_info') %> <%= t('mailer.user.invite.signup_info') %>
<%= @url %> <%= @url %>

View File

@ -14,15 +14,15 @@
%> %>
<div class="list-group list-group-transparent mb-0"> <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 action_name == "edit"}" do %> <%= link_to edit_user_path, class: "list-group-item list-group-item-action dropdown-item #{"active" if active_page == "edit"}" do %>
<span class="icon mr-3"><i class="fas fa-user"></i></span><%= t("settings.account.title") %> <span class="icon mr-3"><i class="fas fa-user"></i></span><%= t("settings.account.title") %>
<% end %> <% end %>
<% if current_user.greenlight_account? %> <% if current_user.greenlight_account? %>
<%= link_to change_password_path, class: "list-group-item list-group-item-action dropdown-item #{"active" if action_name == "change_password"}" do %> <%= link_to change_password_path, class: "list-group-item list-group-item-action dropdown-item #{"active" if active_page == "change_password"}" do %>
<span class="icon mr-3"><i class="fas fa-key"></i></span><%= t("settings.password.title") %> <span class="icon mr-3"><i class="fas fa-key"></i></span><%= t("settings.password.title") %>
<% end %> <% end %>
<% end %> <% end %>
<%= link_to delete_account_path, class: "list-group-item list-group-item-action dropdown-item #{"active" if action_name == "delete_account"}" do %> <%= link_to delete_account_path, class: "list-group-item list-group-item-action dropdown-item #{"active" if active_page == "delete_account"}" do %>
<span class="icon mr-3"><i class="fas fa-trash-alt"></i></span><%= t("settings.delete.title") %> <span class="icon mr-3"><i class="fas fa-trash-alt"></i></span><%= t("settings.delete.title") %>
<% end %> <% end %>
</div> </div>

View File

@ -33,11 +33,6 @@ module Greenlight
# Application configuration should go into files in config/initializers # Application configuration should go into files in config/initializers
# -- all .rb files in that directory are automatically loaded. # -- 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. # Use custom error routes.
config.exceptions_app = routes config.exceptions_app = routes
@ -92,19 +87,16 @@ module Greenlight
config.smtp_sender = ENV['SMTP_SENDER'] || "notifications@example.com" config.smtp_sender = ENV['SMTP_SENDER'] || "notifications@example.com"
# Determine if GreenLight should enable email verification # Determine if GreenLight should enable email verification
config.enable_email_verification = parse_bool(ENV['ALLOW_MAIL_NOTIFICATIONS']) config.enable_email_verification = (ENV['ALLOW_MAIL_NOTIFICATIONS'] == "true")
# Determine if GreenLight should require a certain mail-domain
config.require_email_domain = ENV["GREENLIGHT_ACCOUNT_HD"].to_s.split(",")
# Determine if GreenLight should allow non-omniauth signup/login. # Determine if GreenLight should allow non-omniauth signup/login.
config.allow_user_signup = parse_bool(ENV['ALLOW_GREENLIGHT_ACCOUNTS']) config.allow_user_signup = (ENV['ALLOW_GREENLIGHT_ACCOUNTS'] == "true")
# Configure custom banner message. # Configure custom banner message.
config.banner_message = ENV['BANNER_MESSAGE'] config.banner_message = ENV['BANNER_MESSAGE']
# Enable/disable recording thumbnails. # Enable/disable recording thumbnails.
config.recording_thumbnails = parse_bool(ENV['RECORDING_THUMBNAILS'], true) config.recording_thumbnails = (ENV['RECORDING_THUMBNAILS'] != "false")
# Configure which settings are available to user on room creation/edit after creation # Configure which settings are available to user on room creation/edit after creation
config.room_features = ENV['ROOM_FEATURES'] || "" config.room_features = ENV['ROOM_FEATURES'] || ""
@ -119,7 +111,7 @@ module Greenlight
config.recaptcha_enabled = ENV['RECAPTCHA_SITE_KEY'].present? && ENV['RECAPTCHA_SECRET_KEY'].present? config.recaptcha_enabled = ENV['RECAPTCHA_SITE_KEY'].present? && ENV['RECAPTCHA_SECRET_KEY'].present?
# Show/hide "Add to Google Calendar" button in the room page # Show/hide "Add to Google Calendar" button in the room page
config.enable_google_calendar_button = parse_bool(ENV['ENABLE_GOOGLE_CALENDAR_BUTTON']) config.enable_google_calendar_button = (ENV['ENABLE_GOOGLE_CALENDAR_BUTTON'] == "true")
# Enum containing the different possible registration methods # Enum containing the different possible registration methods
config.registration_methods = { open: "0", invite: "1", approval: "2" } config.registration_methods = { open: "0", invite: "1", approval: "2" }
@ -127,11 +119,11 @@ module Greenlight
config.google_analytics = ENV["GOOGLE_ANALYTICS_TRACKING_ID"].present? config.google_analytics = ENV["GOOGLE_ANALYTICS_TRACKING_ID"].present?
# Will always be true unless explicitly set to false # Will always be true unless explicitly set to false
config.enable_cache = parse_bool(ENV["ENABLE_CACHED_PROVIDER"], true) config.enable_cache = ENV["ENABLE_CACHED_PROVIDER"] != "false"
# MAINTENANCE # MAINTENANCE
config.maintenance_window = ENV["MAINTENANCE_WINDOW"] config.maintenance_window = ENV["MAINTENANCE_WINDOW"]
config.maintenance_mode = parse_bool(ENV["MAINTENANCE_MODE"]) config.maintenance_mode = ENV["MAINTENANCE_MODE"] == "true"
config.report_issue_url = ENV["REPORT_ISSUE_URL"] 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"] config.help_url = ENV["HELP_URL"].nil? ? "https://docs.bigbluebutton.org/greenlight/gl-overview.html" : ENV["HELP_URL"]
@ -157,10 +149,9 @@ module Greenlight
config.primary_color_darken_default = "#316cbe" config.primary_color_darken_default = "#316cbe"
# Default registration method if the user does not specify one # Default registration method if the user does not specify one
config.registration_method_default = case ENV["DEFAULT_REGISTRATION"] config.registration_method_default = if ENV["DEFAULT_REGISTRATION"] == "invite"
when "invite"
config.registration_methods[:invite] config.registration_methods[:invite]
when "approval" elsif ENV["DEFAULT_REGISTRATION"] == "approval"
config.registration_methods[:approval] config.registration_methods[:approval]
else else
config.registration_methods[:open] config.registration_methods[:open]
@ -178,13 +169,7 @@ module Greenlight
# Don't allow users to preupload presentations by default # Don't allow users to preupload presentations by default
config.preupload_presentation_default = "false" config.preupload_presentation_default = "false"
# Don't show option to generate moderator access codes
config.moderator_codes_default = "disabled"
# Default admin password # Default admin password
config.admin_password_default = ENV['ADMIN_PASSWORD'] || 'administrator' config.admin_password_default = ENV['ADMIN_PASSWORD'] || 'administrator'
# Max avatar image size
config.max_avatar_size = ENV['MAX_AVATAR_SIZE'].to_i.zero? ? 100000 : ENV['MAX_AVATAR_SIZE'].to_i
end end
end end

View File

@ -21,6 +21,3 @@ production:
database: <%= ENV['DB_NAME'] || 'db/production/production.sqlite3' %> database: <%= ENV['DB_NAME'] || 'db/production/production.sqlite3' %>
username: <%= ENV['DB_USERNAME'] %> username: <%= ENV['DB_USERNAME'] %>
password: <%= ENV['DB_PASSWORD'] %> password: <%= ENV['DB_PASSWORD'] %>
pool: <%= ENV['DB_POOL_SIZE'] || '9' %>
connect_timeout: <%= ENV['DB_CONNECT_TIMEOUT'] || '5' %>
read_timeout: <%= ENV['DB_READ_TIMEOUT'] || '120' %>

View File

@ -63,8 +63,6 @@ Rails.application.configure do
# Store uploaded files on the local file system (see config/storage.yml for options) # Store uploaded files on the local file system (see config/storage.yml for options)
config.active_storage.service = if ENV["AWS_ACCESS_KEY_ID"].present? config.active_storage.service = if ENV["AWS_ACCESS_KEY_ID"].present?
:amazon :amazon
elsif ENV["S3_ACCESS_KEY_ID"].present?
:s3
elsif ENV["GCS_PRIVATE_KEY_ID"].present? elsif ENV["GCS_PRIVATE_KEY_ID"].present?
:google :google
else else
@ -109,9 +107,6 @@ Rails.application.configure do
} }
end 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 # If configured to 'none' don't check the smtp servers certificate
ActionMailer::Base.smtp_settings[:openssl_verify_mode] = ActionMailer::Base.smtp_settings[:openssl_verify_mode] =
ENV['SMTP_OPENSSL_VERIFY_MODE'] if ENV['SMTP_OPENSSL_VERIFY_MODE'].present? ENV['SMTP_OPENSSL_VERIFY_MODE'] if ENV['SMTP_OPENSSL_VERIFY_MODE'].present?
@ -124,12 +119,13 @@ Rails.application.configure do
# config.active_job.queue_name_prefix = "greenlight-2_0_#{Rails.env}" # config.active_job.queue_name_prefix = "greenlight-2_0_#{Rails.env}"
config.action_mailer.perform_caching = false 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. # Send deprecation notices to registered listeners.
config.active_support.deprecation = :notify 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 # Use Lograge for logging
config.lograge.enabled = true config.lograge.enabled = true
@ -146,11 +142,13 @@ Rails.application.configure do
"#{time} - #{severity}: #{msg} \n" "#{time} - #{severity}: #{msg} \n"
end end
config.log_level = :info
# Prepend all log lines with the following tags. # Prepend all log lines with the following tags.
config.log_tags = [:request_id, :remote_ip] config.log_tags = [:request_id]
if ENV["RAILS_LOG_TO_STDOUT"] == "true" if ENV["RAILS_LOG_TO_STDOUT"] == "true"
logger = ActiveSupport::Logger.new($stdout) logger = ActiveSupport::Logger.new(STDOUT)
logger.formatter = config.log_formatter logger.formatter = config.log_formatter
config.logger = ActiveSupport::TaggedLogging.new(logger) config.logger = ActiveSupport::TaggedLogging.new(logger)
elsif ENV["RAILS_LOG_REMOTE_NAME"] && ENV["RAILS_LOG_REMOTE_PORT"] elsif ENV["RAILS_LOG_REMOTE_NAME"] && ENV["RAILS_LOG_REMOTE_PORT"]

View File

@ -67,6 +67,24 @@ Rails.application.config.middleware.use OmniAuth::Builder do
redirect = ENV['OAUTH2_REDIRECT'].present? ? File.join(ENV['OAUTH2_REDIRECT'], "auth", "openid_connect", "callback") : nil redirect = ENV['OAUTH2_REDIRECT'].present? ? File.join(ENV['OAUTH2_REDIRECT'], "auth", "openid_connect", "callback") : nil
provider :openid_connect,
issuer: ENV["OPENID_CONNECT_ISSUER"],
discovery: true,
scope: [:email, :profile],
response_type: :code,
uid_field: ENV["OPENID_CONNECT_UID_FIELD"] || "preferred_username",
client_options: {
identifier: ENV['OPENID_CONNECT_CLIENT_ID'],
secret: ENV['OPENID_CONNECT_CLIENT_SECRET'],
redirect_uri: redirect
},
setup: SETUP_PROC
end
if Rails.configuration.omniauth_openid_connect
Rails.application.config.providers << :openid_connect
redirect = ENV['OAUTH2_REDIRECT'].present? ? File.join(ENV['OAUTH2_REDIRECT'], "auth", "openid_connect", "callback") : nil
provider :openid_connect, provider :openid_connect,
issuer: ENV["OPENID_CONNECT_ISSUER"], issuer: ENV["OPENID_CONNECT_ISSUER"],
discovery: true, discovery: true,

View File

@ -36,25 +36,12 @@ ar:
enabled: مفعل enabled: مفعل
info: السماح للمستخدمين المصادق عليهم فقط بالانضمام إلى غرفة info: السماح للمستخدمين المصادق عليهم فقط بالانضمام إلى غرفة
title: طلب مصادقة للغرف title: طلب مصادقة للغرف
user-info: يجب عليك تسجيل الدخول أعلاه للانضمام إلى هذه الغرفة. user-info: يجب تسجيل الدخول للانضمام إلى هذه الغرفة
branding: branding:
change: تغيير الصورة change: تغيير الصورة
info: تغيير صورة العلامة التجارية التي تظهر في الزاوية العلوية اليمنى info: تغيير صورة العلامة التجارية التي تظهر في الزاوية العلوية اليمنى
placeholder: رابط الصورة... placeholder: رابط الصورة...
title: صورة العلامة التجارية title: صورة العلامة التجارية
invalid: URL غير صالح
legal:
change: تغيير URL
info: قم بتغيير رابط الشروط الذي يظهر في أسفل الصفحة
placeholder: عنوان URL الشروط ...
title: الشروط
invalid: URL غير صالح
privpolicy:
change: تغيير URL
info: غيّر رابط سياسة الخصوصية الذي يظهر أسفل الصفحة
placeholder: URL سياسة الخصوصية...
title: سياسة الخصوصية
invalid: URL غير صالح
cache: cache:
info: مسح ذاكرة التخزين المؤقت الخاصة بالمزود الذي يؤدي إلى طلب جديد للمعلومات المحدثة info: مسح ذاكرة التخزين المؤقت الخاصة بالمزود الذي يؤدي إلى طلب جديد للمعلومات المحدثة
title: مسح ذاكرة التخزين المؤقت لمزود الخدمة title: مسح ذاكرة التخزين المؤقت لمزود الخدمة
@ -69,10 +56,6 @@ ar:
regular: الأساسي regular: الأساسي
lighten: الفاتح lighten: الفاتح
darken: معتم darken: معتم
email_mapping:
info: تعيين دور المستخدم باستعمال بريده الإلكتروني. يجب أن يكون بالتنسيق email1 = role1 ، email2 = role2
title: تعيين الدور بالبريد الإلكتروني
update:
log_level: log_level:
title: مستوى السجل title: مستوى السجل
information: تغيير مستوى السجل للنشر بأكمله information: تغيير مستوى السجل للنشر بأكمله
@ -86,18 +69,6 @@ ar:
info: ضبط الظهور الافتراضي للتسجيلات الجديدة info: ضبط الظهور الافتراضي للتسجيلات الجديدة
title: تسجيل الظهور الافتراضي title: تسجيل الظهور الافتراضي
warning: سيتم تطبيق هذه الإعدادات فقط على الغرف التي لا تعمل حاليا warning: سيتم تطبيق هذه الإعدادات فقط على الغرف التي لا تعمل حاليا
require_consent:
info: يتيح هذا الإعداد إعداد الغرفة الذي يسمح لمالكي الغرفة بتحديد الغرف التي يمكن تسجيلها. يجب على المستخدمين الذين ينضمون إلى غرفة مسجلة الموافقة قبل الانضمام.
title: تتطلب موافقة مالك الغرفة والمنضم على التسجيل
maintenance_banner:
info: يعرض لافتة لإعلام المستخدم بالصيانة المجدولة
title: لافتة الصيانة
display: ضبط
clear: مسح
time: "مثال: التحديث مجدول في 13 ديسمبر @ 23:00 بالتوقيت الشرقي. قد يواجه المستخدمون مشاكل في تسجيل الدخول."
preupload:
info: يمكن للمستخدمين تحميل عرض تقديمي مسبق لاستخدامه كعرض تقديمي افتراضي لتلك الغرفة المحددة
title: السماح للمستخدمين بتحميل العروض التقديمية مسبقًا
registration: registration:
info: تغيير طريقة تسجيل المستخدمين على الموقع info: تغيير طريقة تسجيل المستخدمين على الموقع
title: طريقة التسجيل title: طريقة التسجيل
@ -112,11 +83,6 @@ ar:
info: سيؤدي التعطيل إلى إزالة الأيقونة من القائمة المنسدلة لخيارات الغرفة، وبذلك لن يتمكن المستخدمون من مشاركة الغرف info: سيؤدي التعطيل إلى إزالة الأيقونة من القائمة المنسدلة لخيارات الغرفة، وبذلك لن يتمكن المستخدمون من مشاركة الغرف
title: السماح للمستخدمين بمشاركة الغرف title: السماح للمستخدمين بمشاركة الغرف
subtitle: تخصيص Greenlight subtitle: تخصيص Greenlight
tabs:
appearance: المظهر
administration: الادارة
registration: التسجيل
settings: إعدادات
title: إعدادات الموقع title: إعدادات الموقع
flash: flash:
approved: تمت الموافقة على المستخدم بنجاح. approved: تمت الموافقة على المستخدم بنجاح.
@ -127,25 +93,21 @@ ar:
demoted: تم خفض رتبة المستخدم بنجاح demoted: تم خفض رتبة المستخدم بنجاح
invite: "تم إرسال الدعوة بنجاح إلى %{email}" invite: "تم إرسال الدعوة بنجاح إلى %{email}"
invite_email_verification: يجب تمكين رسائل البريد الإلكتروني من أجل استخدام هذه الطريقة. الرجاء الاتصال بمسؤول النظام. invite_email_verification: يجب تمكين رسائل البريد الإلكتروني من أجل استخدام هذه الطريقة. الرجاء الاتصال بمسؤول النظام.
merge_fail: هناك مشكلة في دمج حسابات المستخدمين. يرجى التحقق من المستخدمين الذين تم اختيارهم والمحاولة مرة أخرى merge_fail: هناك مشكلة في دمج حسابات المستخدمين. يرجى التحقق من المستخدمين الذين تم اختيارهم والمحاولة مرة أخرى
merge_success: دمج حسابات المستخدمين بنجاح merge_success: دمج حسابات المستخدمين بنجاح
perm_deleted: تم حذف المستخدم نهائيًا perm_deleted: تم حذف المستخدم نهائيًا
promoted: تم ترقية المستخدم بنجاح promoted: تم ترقية المستخدم بنجاح
registration_method_updated: تم تحديث طريقة التسجيل بنجاح registration_method_updated: تم تحديث طريقة التسجيل بنجاح
reset_password: تم إرسال بريد الكتروني للمستخدم لإعادة ضبط كلمة المرور الخاصة به (نأمل مراجعة مجلد البريد المزعج في حال عدم وصوله إلى صندوق الوارد) reset_password: تم إرسال بريد الكتروني للمستخدم لإعادة ضبط كلمة المرور الخاصة به (نأمل مراجعة مجلد البريد المزعج في حال عدم وصوله إلى صندوق الوارد)
restored: تمت استعادة المستخدم بنجاح restored: تمت استعادة المستخدم بنجاح
room_configuration: تم تغيير إعدادات الغرفة بنجاح
settings: تم تغيير إعدادات الموقع بنجاح settings: تم تغيير إعدادات الموقع بنجاح
unauthorized: غير مصرح لك بتنفيذ إجراءات على هذا المستخدم unauthorized: غير مصرح لك بتنفيذ إجراءات على هذا المستخدم
recordings: recordings:
latest: أحدث التسجيلات
title: تسجيلات الخادم title: تسجيلات الخادم
no_recordings: الخادم لا يحتوي على أي تسجيلات no_recordings: الخادم لا يحتوي على أي تسجيلات
search_info: أدخل البريد الإلكتروني الكامل للمستخدم أو معرّف الغرفة
roles: roles:
appear_in_share_list: تضمين المستخدمين الذين يتمتعون بهذا الدور في القائمة المنسدلة لمشاركة الغرف appear_in_share_list: تضمين المستخدمين الذين يتمتعون بهذا الدور في القائمة المنسدلة لمشاركة الغرف
can_create_rooms: يمكن إنشاء غرف can_create_rooms: يمكن إنشاء غرف
can_launch_recording: السماح للمستخدمين الذين لديهم هذا الدور بتسجيل اجتماعاتهم
delete: حذف الدور delete: حذف الدور
invalid_create: حدثت مشكلة عند إنشاء دور جديد. الرجاء التحقق من قيم الدور والمحاولة مرة أخرى invalid_create: حدثت مشكلة عند إنشاء دور جديد. الرجاء التحقق من قيم الدور والمحاولة مرة أخرى
invalid_order: حدثت مشكلة في تحديث أولوية الدور. الرجاء التحقق من القيم والمحاولة مرة أخرى invalid_order: حدثت مشكلة في تحديث أولوية الدور. الرجاء التحقق من القيم والمحاولة مرة أخرى
@ -160,39 +122,16 @@ ar:
edit_site_settings: السماح للمستخدمين المنتمين لهذا الدور بتحرير اعدادت الموقع edit_site_settings: السماح للمستخدمين المنتمين لهذا الدور بتحرير اعدادت الموقع
edit_roles: السماح للمستخدمين المنتمين لهذا الدور بتحرير بقية الأدوار edit_roles: السماح للمستخدمين المنتمين لهذا الدور بتحرير بقية الأدوار
manage_users: السماح للمستخدمين المنتمين لهذا الدور بإدارة المستخدمين الآخرين manage_users: السماح للمستخدمين المنتمين لهذا الدور بإدارة المستخدمين الآخرين
invalid_assignment: حدثت مشكلة عند تعيين الأدوار للمستخدم. الرجاء التحقق من القيم والمحاولة مرة أخرى invalid_assignment: حدثت مشكلة عند تعيين الأدوار للمستخدم. الرجاء التحقق من القيم والمحاولة مرة أخرى
colour: colour:
title: لون الدور title: لون الدور
info: تعيين اللون الذي سيرتبط بالدور info: تعيين اللون الذي سيرتبط بالدور
room_configuration:
title: إعدادات الغرفة
mute:
info: كتم صوت المستخدم تلقائيًا عند انضمامه إلى اجتماع BigBlueButton
require_moderator:
info: ينبه مشرف اجتماع BigBlueButton عندما يحاول المستخدم الانضمام. إذا تمت الموافقة على المستخدم ، فسيتمكن من الانضمام إلى الاجتماع.
allow_any:
info: يسمح لأي مستخدم ببدء الاجتماع في أي وقت. بشكل افتراضي ، يمكن لمالك الغرفة فقط بدء الاجتماع.
all_moderator:
info: يمنح جميع المستخدمين امتيازات المشرف في BigBlueButton عند انضمامهم إلى الاجتماع.
recordings:
info: يسمح لمالكي الغرفة بتحديد ما إذا كانوا يريدون خيار تسجيل غرفة أم لا. في حالة التمكين ، لا يزال يتعين على المشرف النقر على الزر "تسجيل" بمجرد بدء الاجتماع.
moderator_codes:
info: يسمح لمالكي الغرفة بإنشاء رمز وسيط اختياري يسمح للمستخدمين الآخرين بالانضمام مباشرة كمشرفين.
title: رمز دخول المشرف
options:
disabled: معطل
enabled: ممكّن دائمًا
optional: اختياري
rooms: rooms:
timeout: "نظرًا لانتهاء مهلة طلب الخادم %{server} ، فقد لا تكون معلومات الحالة والمشاركين دقيقة"
title: غرف الخادم title: غرف الخادم
table: table:
ended: "انتهت: %{session}"
id: المعرف id: المعرف
not_running: لا يعمل not_running: لا يعمل
participants: المشاركون
running: يعمل running: يعمل
started: "بدأت: %{session}"
status: حالة status: حالة
view: عرض view: عرض
title: إعدادات المؤسسة title: إعدادات المؤسسة
@ -207,21 +146,18 @@ ar:
delete: حذف delete: حذف
edit: تحرير edit: تحرير
edit_roles: تعديل أدوار المستخدم edit_roles: تعديل أدوار المستخدم
merge: دمج
perm_delete: حذف بشكل دائم perm_delete: حذف بشكل دائم
unban: إلغاء حظر المستخدم unban: إلغاء حظر المستخدم
undelete: تراجع عن الحذف undelete: تراجع عن الحذف
table: table:
authenticator: المصادق authenticator: المصادق
created: انشاء created: انشاء
time: وقت الإرسال
name: الاسم name: الاسم
not_found: لا يوجد مستخدم يطابق بحثك not_found: لا يوجد مستخدم يطابق بحثك
no_users: لم يتم العثور على أي مستخدمين no_users: لم يتم العثور على أي مستخدمين
role: الدور role: الدور
uid: معرف المستخدم uid: معرف المستخدم
username: اسم المستخدم username: اسم المستخدم
valid: صالح
title: إدارة المستخدمين title: إدارة المستخدمين
add_to_google_calendar: "إضافة إلى تقويم Google" add_to_google_calendar: "إضافة إلى تقويم Google"
bigbluebutton: BigBlueButton bigbluebutton: BigBlueButton
@ -230,21 +166,20 @@ ar:
cookies: cookies:
cookie_info: ملفات تعريف الارتباط تساعدنا على تقديم خدماتنا. باستخدام خدماتنا ، أنت توافق على استخدامنا لملفات تعريف الارتباط. cookie_info: ملفات تعريف الارتباط تساعدنا على تقديم خدماتنا. باستخدام خدماتنا ، أنت توافق على استخدامنا لملفات تعريف الارتباط.
cookie_button: أنا موافق cookie_button: أنا موافق
policy: "لمزيد من المعلومات ، راجع موقعنا<a href=\"%{privacy_link}\"><u> سياسة خاصة.</u></a>"
copied: تم النسخ copied: تم النسخ
copy: نسخ copy: نسخ
date: date:
month_names: [~, يناير, فبراير, مارس, أبريل, مايو, يونيو, يوليو, أغسطس, سبتمبر, أكتوبر, نوفمبر, ديسمبر] month_names: [~, يناير, فبراير, مارس, أبريل, مايو, يونيو, يوليو, أغسطس, سبتمبر, أكتوبر, نوفمبر, ديسمبر]
default_admin: "لازلت تستخدم كلمة المرور الافتراضية لهذا المستخدم، فضلا أنقر <a href=\"%{edit_link}\"> هنا</a> لتغييرها" default_admin: لازلت تستخدم كلمة المرور الافتراضية لهذا المستخدم، فضلا أنقر هنا لتغييرها
delete: حذف delete: حذف
delivery_error: حدث خطأ أثناء تسليم البريد الإلكتروني. يرجى الاتصال بمسؤول! delivery_error: حدث خطأ أثناء تسليم البريد الإلكتروني. يرجى الاتصال بمسؤول!
docs: الوثائق docs: الوثائق
email: البريد الإلكتروني email: البريد الإلكتروني
email_sent: "تم إرسال البريد الإلكتروني الخاص بك %{email_type} (يرجى التحقق من مجلد البريد المزعج إذا لم تكن قد تلقيت ذلك)" email_sent: "تم إرسال البريد الإلكتروني الخاص بك% {email_type} ! (يرجى التحقق من مجلد البريد المزعج إذا لم تكن قد تلقيت ذلك)"
enter_your_name: أدخل أسمك! enter_your_name: أدخل أسمك!
errors: errors:
bigbluebutton: bigbluebutton:
help: "يرجى التأكد من اتخاذ الخطوات المناسبة. <a href=\"%{doc_link}\">للمزيد</a>" help: يرجى التأكد من اتخاذ الخطوات المناسبة
message: نقطة النهاية والسرية BigBlueButton غير صالحة message: نقطة النهاية والسرية BigBlueButton غير صالحة
title: خطأ في الخادم title: خطأ في الخادم
internal: internal:
@ -269,7 +204,6 @@ ar:
accepted: يجب أن تكون مقبولة accepted: يجب أن تكون مقبولة
confirmation: "لا يتطابق مع %{attribute}" confirmation: "لا يتطابق مع %{attribute}"
inclusion: غير مدرج في القائمة inclusion: غير مدرج في القائمة
domain: "يجب أن ينتهي بـ \"%{email_domain}\""
no_provider: no_provider:
message: لم يتم تمكين الموقع الذي تحاول الوصول إليه message: لم يتم تمكين الموقع الذي تحاول الوصول إليه
help: الرجاء الاتصال بمسؤول النظام لإعداد Greenlight help: الرجاء الاتصال بمسؤول النظام لإعداد Greenlight
@ -294,8 +228,6 @@ ar:
designs: تصاميم مخصصة designs: تصاميم مخصصة
authentication: مصادقة المستخدم authentication: مصادقة المستخدم
footer: footer:
legal: الشروط
privpolicy: سياسة الخصوصية
powered_by: "مشغل بواسطة%{href}." powered_by: "مشغل بواسطة%{href}."
forgot_password: forgot_password:
subtitle: هل نسيت كلمة المرور subtitle: هل نسيت كلمة المرور
@ -314,7 +246,6 @@ ar:
home_room: غرفة الإستقبال home_room: غرفة الإستقبال
info_update_success: تحديث المعلومات بنجاح. info_update_success: تحديث المعلومات بنجاح.
invalid_credentials: لم تتطابق رسالة البريد الإلكتروني وكلمة المرور التي أدخلتها مع سجلاتنا. حاول مرة أخرى أو انقر فوق نسيت كلمة المرور لإعادة تعيين كلمة المرور الخاصة بك. invalid_credentials: لم تتطابق رسالة البريد الإلكتروني وكلمة المرور التي أدخلتها مع سجلاتنا. حاول مرة أخرى أو انقر فوق نسيت كلمة المرور لإعادة تعيين كلمة المرور الخاصة بك.
invalid_credentials_external: البريد الإلكتروني وكلمة المرور اللذان أدخلتهما لا يتطابقان مع سجلاتنا. حاول مرة اخرى.
invalid_login_method: فشل تسجيل الدخول بسبب عدم تطابق الحساب. تحتاج إلى تسجيل الدخول مع omniauth. invalid_login_method: فشل تسجيل الدخول بسبب عدم تطابق الحساب. تحتاج إلى تسجيل الدخول مع omniauth.
invite_message: "لدعوة شخص ما إلى الاجتماع ، أرسل لهم هذا الرابط:" invite_message: "لدعوة شخص ما إلى الاجتماع ، أرسل لهم هذا الرابط:"
javascript: javascript:
@ -356,10 +287,9 @@ ar:
root_link: تسجيل الدخول root_link: تسجيل الدخول
subtitle: "%{role} الحقوق الملغاة" subtitle: "%{role} الحقوق الملغاة"
invite: invite:
info: "لقد تمت دعوتك إلى فضائك الشخصي بواسطة %{name}" info: "لقد تمت دعوتك إلى الفضاء الشخصي الخاص بك بواسطة %{name}"
signup_info: للاشتراك باستخدام بريدك الإلكتروني، انقر على الزر أدناه واتبع الخطوات. signup_info: للاشتراك باستخدام بريدك الإلكتروني، انقر على الزر أدناه واتبع الخطوات.
signup_link: التسجيل signup_link: التسجيل
valid: "الدعوة صالحة حتى: %{date}"
signup: signup:
info: المستخدم المدعو قام بتسجيل الدخول لاستخدام Greenlight. info: المستخدم المدعو قام بتسجيل الدخول لاستخدام Greenlight.
admins_link: زيارة صفحة المؤسسة admins_link: زيارة صفحة المؤسسة
@ -380,13 +310,15 @@ ar:
more-info: "لاستعراض مؤهلاتك الجديدة، يرجى زيارة %{url}." more-info: "لاستعراض مؤهلاتك الجديدة، يرجى زيارة %{url}."
subtitle: "%{role} الحقوق الممنوحة" subtitle: "%{role} الحقوق الممنوحة"
verify_email: verify_email:
welcome: "مرحبا بكم في فضاءك الشخصي ، %{name}" welcome: "مرحبا بكم في الفضاء الشخصي الخاص بك، ٪{name}!"
success: "الاستفادة من %{bigbluebutton}، يمكنك إنشاء غرف خاصة بك لاستضافة الجلسات والتعاون مع الآخرين." success: "الاستفادة من %{bigbluebutton}، يمكنك إنشاء غرف خاصة بك لاستضافة الجلسات والتعاون مع الآخرين."
username: "اسم المستخدم الخاص بك هو %{email}." username: "اسم المستخدم الخاص بك هو %{email}."
verify: للتحقق من حسابك ، أنقر على الزر أدناه. verify: للتحقق من حسابك ، أنقر على الزر أدناه.
verify_text: 'للتحقق من حسابك ، اتبع هذا الرابط بالنقر عليه: %{url}' verify_text: 'للتحقق من حسابك ، اتبع هذا الرابط بالنقر عليه: %{url}'
verify_link: التحقق من الحساب verify_link: التحقق من الحساب
thanks: شكرا لانضمامك ونتمنى لك يوماً موفقاً. thanks: شكرا لانضمامك ونتمنى لك يوماً موفقاً.
maintenance:
window_alert: "نافذة الصيانة المجدولة لـ %{date}"
max_concurrent: وصلت إلى الحد الأقصى لعدد الجلسات المتزامنة المسموح بها! max_concurrent: وصلت إلى الحد الأقصى لعدد الجلسات المتزامنة المسموح بها!
merged: المدمجة merged: المدمجة
modal: modal:
@ -398,9 +330,7 @@ ar:
title: "إنشاء دور جديد " title: "إنشاء دور جديد "
create_room: create_room:
access_code: رمز الوصول access_code: رمز الوصول
moderator_access_code: رمز المشرف
access_code_placeholder: إنشاء رمز وصول اختياري للغرفة access_code_placeholder: إنشاء رمز وصول اختياري للغرفة
moderator_access_code_placeholder: قم بإنشاء رمز اختياري للمشرفين
auto_join: الانضمام التلقائي إلى الغرفة auto_join: الانضمام التلقائي إلى الغرفة
create: إنشاء غرفة create: إنشاء غرفة
free_delete: سيكون لك مطلق الحرية في حذف هذه الغرفة في أي وقت. free_delete: سيكون لك مطلق الحرية في حذف هذه الغرفة في أي وقت.
@ -410,13 +340,9 @@ ar:
delete_account: delete_account:
confirm: هل تريد بالتأكيد حذف هذا الحساب؟ confirm: هل تريد بالتأكيد حذف هذا الحساب؟
delete: أنا متأكد، قم بحذف هذا الحساب. delete: أنا متأكد، قم بحذف هذا الحساب.
keep: في الواقع ، سأحتفظ به. keep: في الواقع ، سأحافظ عليه.
delete_warning: سيؤدي ذلك إلى إلغاء تنشيط حساب المستخدم. يمكن العثور على جميع المستخدمين غير النشطين تحت علامة تبويب المحذوفات. delete_warning: سيؤدي ذلك إلى إلغاء تنشيط حساب المستخدم. يمكن العثور على جميع المستخدمين غير النشطين تحت علامة تبويب المحذوفات.
warning: هذا القرار نهائي.<b>لن</b> تكون قادرًا على استعادة البيانات المرتبطة. warning: هذا القرار نهائي.<b>لن</b> تكون قادرًا على استعادة البيانات المرتبطة.
delete_rec:
delete: أنا متأكد ، احذف هذا التسجيل.
header: هل أنت متأكد أنك تريد حذف هذا التسجيل؟
warning: <b>لن</b> تتمكن من استعادة هذا التسجيل
delete_room: delete_room:
confirm: "هل أنت متأكد أنك تريد حذف %{room}؟" confirm: "هل أنت متأكد أنك تريد حذف %{room}؟"
delete: أنا متأكد قم بحذف هذه الغرفة. delete: أنا متأكد قم بحذف هذه الغرفة.
@ -424,7 +350,7 @@ ar:
warning: <b>لن</b> تكون قادراً على استعادة هذه الغرفة warning: <b>لن</b> تكون قادراً على استعادة هذه الغرفة
recording_warning: "أو أي من التسجيلات المرتبطة بـ %{recordings_num} الخاصة به." recording_warning: "أو أي من التسجيلات المرتبطة بـ %{recordings_num} الخاصة به."
invite_user: invite_user:
email_placeholder: أدخل عناوين البريد الإلكتروني للمستخدمين (مفصولة بالفارزة) email_placeholder: أدخل عناوين البريد لالكتروني للمستخدمين (استخدم الفاصلة للفصل بينها)
footer: سوف يتلقى المستخدم رسالة بريد إلكتروني مع تعليمات حول كيفية الاشتراك footer: سوف يتلقى المستخدم رسالة بريد إلكتروني مع تعليمات حول كيفية الاشتراك
send: إرسال دعوة send: إرسال دعوة
title: دعوة المستخدم title: دعوة المستخدم
@ -432,14 +358,6 @@ ar:
or: أو or: أو
with: "الدخول بـ %{provider}" with: "الدخول بـ %{provider}"
forgot_password: هل نسيت كلمة المرور؟ forgot_password: هل نسيت كلمة المرور؟
preupload:
change: استبدال العرض التقديمي
choose: اختر ملف...
current: "العرض التقديمي الحالي:"
footer: اعتمادًا على حجم العرض التقديمي ، قد يتطلب تحميله وقتًا إضافيًا قبل استخدامه.
invalid: حجم / نوع الملف غير صالح. يرجى الاطلاع على القيود أدناه.
title: أضف العرض التقديمي
use: استخدم العرض التقديمي
rename_recording: rename_recording:
remove_shared: remove_shared:
title: هل أنت متأكد من رغبتك في إزالة هذه الغرفة من قائمة الغرف الخاصة بك؟ title: هل أنت متأكد من رغبتك في إزالة هذه الغرفة من قائمة الغرف الخاصة بك؟
@ -454,7 +372,6 @@ ar:
require_approval: يلزم موافقة المشرف قبل الانضمام require_approval: يلزم موافقة المشرف قبل الانضمام
start: السماح لأي مستخدم ببدء اللقاء start: السماح لأي مستخدم ببدء اللقاء
footer_text: يمكن إجراء التعديل على غرفتك في أي وقت. footer_text: يمكن إجراء التعديل على غرفتك في أي وقت.
recording: السماح بتسجيل الغرفة
rename_room: rename_room:
name_placeholder: أدخل اسم غرفة جديدة ... name_placeholder: أدخل اسم غرفة جديدة ...
share_access: share_access:
@ -489,7 +406,6 @@ ar:
office365: أوفيس 365 office365: أوفيس 365
twitter: تويتر twitter: تويتر
ldap: LDAP ldap: LDAP
openid_connect: الاتصال OpenID
recaptcha: recaptcha:
errors: errors:
recaptcha_unreachable: عفوا، فشلنا في التحقق من صحة ردك reCAPTCHA. الرجاء المحاولة مرة أخرى. recaptcha_unreachable: عفوا، فشلنا في التحقق من صحة ردك reCAPTCHA. الرجاء المحاولة مرة أخرى.
@ -497,12 +413,10 @@ ar:
recording: recording:
all_recordings: كافة التسجيلات all_recordings: كافة التسجيلات
email: " البريد الإلكتروني للتسجيل" email: " البريد الإلكتروني للتسجيل"
error: "هناك خطأ في استرداد %{count} التسجيل (التسجيلات)" error: "حدث خطأ في استرداد %{count} تسجيل/تسجيلات"
no_public_recordings: هذه الغرفة ليس لديها تسجيلات عامة. no_recordings: "لا تحتوي هذه الغرفة على أي %{inject} تسجيلات.."
no_recordings: هذه الغرفة ليس لديها تسجيلات.
no_user_recordings: ليس لديك حاليًا أي تسجيلات. no_user_recordings: ليس لديك حاليًا أي تسجيلات.
no_matched_pub_recordings: لا توجد تسجيلات عامة تطابق بحثك. no_matched_recordings: "لا يوجد تسجيلات %{inject} تطابق بحثك."
no_matched_recordings: لا تسجيلات تطابق بحثك.
recorded_on: "تم التسجيل في %{date}" recorded_on: "تم التسجيل في %{date}"
table: table:
name: الاسم name: الاسم
@ -512,7 +426,6 @@ ar:
visibility: الظهور visibility: الظهور
formats: الصيغة formats: الصيغة
visibility: visibility:
inaccessible: يتعذر الوصول إليه
public: عامة public: عامة
unlisted: غير مدرج unlisted: غير مدرج
format: format:
@ -526,7 +439,7 @@ ar:
fail: لم تتم الموافقة على حسابك بعد. إذا كنت قد قمت بالاشتراك منذ عدة أيام ، الرجاء الاتصال بالمسؤول. fail: لم تتم الموافقة على حسابك بعد. إذا كنت قد قمت بالاشتراك منذ عدة أيام ، الرجاء الاتصال بالمسؤول.
signup: تم إنشاء حسابك بنجاح. تم إرساله إلى المسؤول للموافقة عليه. signup: تم إنشاء حسابك بنجاح. تم إرساله إلى المسؤول للموافقة عليه.
banned: banned:
fail: ليس لديك حق الوصول إلى هذا التطبيق. إذا كنت تعتقد أن هذا خطأ، يرجى الاتصال بالمسؤول. fail: ليس لديك حق الوصول إلى هذا التطبيق. إذا كنت تعتقد أن هذا خطأ، يرجى الاتصال بالمسؤول.
deprecated: deprecated:
new_signin: حدد طريقة تسجيل دخول جديدة لحسابك. سيتم ترحيل جميع الغرف الخاصة بك من حسابك القديم إلى الحساب الجديد new_signin: حدد طريقة تسجيل دخول جديدة لحسابك. سيتم ترحيل جميع الغرف الخاصة بك من حسابك القديم إلى الحساب الجديد
twitter_signin: "تم إلغاء الدخول عبر تويتر وسيتم إزالته في الإصدار التالي. انقر <a href=\"%{link}\"> هنا </a> لنقل حسابك إلى طريقة مصادقة جديدة" twitter_signin: "تم إلغاء الدخول عبر تويتر وسيتم إزالته في الإصدار التالي. انقر <a href=\"%{link}\"> هنا </a> لنقل حسابك إلى طريقة مصادقة جديدة"
@ -538,8 +451,6 @@ ar:
remove: إزالة remove: إزالة
rename: إعادة تسمية rename: إعادة تسمية
reset_password: reset_password:
captcha: فشل التحقق من reCAPTCHA، الرجاء المحاولة مرة أخرى.
invalid_token: رمز إعادة تعيين كلمة المرور غير صالح. يرجى محاولة إعادة تعيين كلمة المرور الخاصة بك مرة أخرى.
subtitle: إعادة تعيين كلمة المرور subtitle: إعادة تعيين كلمة المرور
password: كلمة المرور الجديدة password: كلمة المرور الجديدة
confirm: تأكيد كلمة المرور الجديدة confirm: تأكيد كلمة المرور الجديدة
@ -551,13 +462,9 @@ ar:
banned: محظور banned: محظور
deleted: محذوف deleted: محذوف
pending: معلق pending: معلق
invited: مدعو
user: مستخدم user: مستخدم
room: room:
access_code_required: الرجاء إدخال رمز وصول ساري المفعول للانضمام إلى الغرفة access_code_required: الرجاء إدخال رمز وصول ساري المفعول للانضمام إلى الغرفة
add_presentation: أضف العرض التقديمي
copy_access: نسخ رمز الوصول
copy_moderator_access: نسخ رمز المشرف
create_room: إنشاء غرفة create_room: إنشاء غرفة
create_room_error: حدث خطأ أثناء إنشاء الغرفة create_room_error: حدث خطأ أثناء إنشاء الغرفة
create_room_success: تم إنشاء الغرفة بنجاح create_room_success: تم إنشاء الغرفة بنجاح
@ -566,12 +473,8 @@ ar:
success: تم حذف الغرفة بنجاح success: تم حذف الغرفة بنجاح
fail: "فشل في حذف الغرفة (%{error})" fail: "فشل في حذف الغرفة (%{error})"
enter_the_access_code: أدخل رمز الوصول لهذه الغرفة enter_the_access_code: أدخل رمز الوصول لهذه الغرفة
enter_the_moderator_access_code: أدخل رمز مشرف الغرفة!
optional_moderator_access_code: "رمز الوسيط الاختياري:"
invalid_provider: لقد أدخلت رابطًا غير صالح. يرجى التحقق من عنوان URL والمحاولة مرة أخرى. invalid_provider: لقد أدخلت رابطًا غير صالح. يرجى التحقق من عنوان URL والمحاولة مرة أخرى.
invitation_description: "لقد تمت دعوتك للانضمام إلى %{name} باستخدام BigBlueButton. \nللانضمام ، انقر فوق الرابط أعلاه وأدخل اسمك."
invited: لقد تمت دعوتك للانضمام invited: لقد تمت دعوتك للانضمام
recording_present: أقر بأنه سيتم تسجيل هذه الجلسة. قد يشمل ذلك صوتي وفيديو إذا تم تمكينه.
invite_participants: دعوة المشاركين invite_participants: دعوة المشاركين
join: انضم join: انضم
last_session: "الجلسة الأخيرة في %{session}" last_session: "الجلسة الأخيرة في %{session}"
@ -588,13 +491,9 @@ ar:
recent_rooms: الانتقال إلى الغرفة التي تم الانضمام إليها مؤخرًا recent_rooms: الانتقال إلى الغرفة التي تم الانضمام إليها مؤخرًا
title: الانضمام إلى الغرفة title: الانضمام إلى الغرفة
no_sessions: ما زالت هذه الغرفة لا تحتوي على جلسات. no_sessions: ما زالت هذه الغرفة لا تحتوي على جلسات.
preupload_success: تمت إضافة العرض بنجاح
preupload_error: حدث خطأ أثناء تحديث عرض الغرفة
preupload_remove_success: تمت إزالة العرض التقديمي بنجاح
preupload_remove_error: حدث خطأ أثناء إزالة عرض الغرفة
recordings: التسجيلات الخاصة بالغرفة recordings: التسجيلات الخاصة بالغرفة
room_limit: وصلت إلى الحد الأقصى لعدد الغرف المسموح بها room_limit: وصلت إلى الحد الأقصى لعدد الغرف المسموح بها
room_limit_exceeded: "لقد تجاوزت عدد الغرف المسموح بها. يرجى حذف %{difference} غرفة (غرف) للدخول إلى هذه الغرفة." room_limit_exceeded: "لقد تجاوزت عدد الغرف المسموح بها. يرجى حذف %{difference} غرفة للدخول إلى هذه الغرفة."
sessions: جلسات sessions: جلسات
settings: إعدادات الغرفة settings: إعدادات الغرفة
share: إدارة الوصول share: إدارة الوصول
@ -604,7 +503,6 @@ ar:
shared_access_success: تمت مشاركة الغرفة بنجاح shared_access_success: تمت مشاركة الغرفة بنجاح
shared_access_error: هناك خطأ في مشاركة الغرفة shared_access_error: هناك خطأ في مشاركة الغرفة
start: بداية start: بداية
search: البحث عن غرفة ...
unavailable: هذه الغرفة غير متاح حاليًا نظرًا لعدم التحقق من البريد الإلكتروني للمالك. unavailable: هذه الغرفة غير متاح حاليًا نظرًا لعدم التحقق من البريد الإلكتروني للمالك.
update_settings_error: حدث خطأ أثناء تحديث إعدادات الغرفة update_settings_error: حدث خطأ أثناء تحديث إعدادات الغرفة
update_settings_success: تم تحديث إعدادات الغرفة بنجاح update_settings_success: تم تحديث إعدادات الغرفة بنجاح
@ -613,15 +511,14 @@ ar:
auto: ستنضم تلقائيًا عندما يبدأ الاجتماع. auto: ستنضم تلقائيًا عندما يبدأ الاجتماع.
settings: settings:
account: account:
fullname: الاسم الكامل fullname: الاسم كاملاً
language: لغة language: لغة
provider: مزود provider: مزود
image: صورة image: صورة
image_url: عنوان URL لصورة الملف الشخصي image_url: عنوان URL لصورة الملف الشخصي
roles: دور المستخدم roles: أدوار المستخدم
subtitle: قم بتحديث معلومات حسابك subtitle: قم بتحديث معلومات حسابك
title: معلومات الحساب title: معلومات الحساب
reset_password: إعادة تعيين كلمة مرور المستخدم
delete: delete:
button: نعم ، أرغب في حذف حسابي. button: نعم ، أرغب في حذف حسابي.
disclaimer: إذا اخترت حذف حسابك . <b>لا</b> يمكن استرداده. ستتم إزالة جميع المعلومات المتعلقة بحسابك ، بما في ذلك الإعدادات والغرف والتسجيل. disclaimer: إذا اخترت حذف حسابك . <b>لا</b> يمكن استرداده. ستتم إزالة جميع المعلومات المتعلقة بحسابك ، بما في ذلك الإعدادات والغرف والتسجيل.
@ -646,9 +543,6 @@ ar:
title: الشروط والأحكام title: الشروط والأحكام
test_install: > test_install: >
يستخدم هذا النشر خادم اختبار تمت تهيئته مسبقًا ، ويجب استبداله بخادمك الشخصي. لمزيد من التفاصيل ، اطلع على%{href} . يستخدم هذا النشر خادم اختبار تمت تهيئته مسبقًا ، ويجب استبداله بخادمك الشخصي. لمزيد من التفاصيل ، اطلع على%{href} .
time:
formats:
default: "%b %d, %Y %-I:%M%P"
update: تحديث update: تحديث
verify: verify:
accept: تحقق accept: تحقق

View File

@ -1,662 +0,0 @@
# 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/>.
# Locale.
ar_IQ:
activerecord:
attributes:
user:
accepted_terms: "الأحكام والشروط"
email: البريد الإلكتروني
name: الاسم
password: كلمة السر
password_confirmation: تأكيد كلمة السر
errors:
models:
user:
confirmation: لا يتطابق مع كلمة السر
administrator:
site_settings:
authentication:
disabled: معطل
enabled: مفعل
info: السماح للمستخدمين المصادق عليهم فقط بالانضمام إلى غرفة
title: طلب مصادقة للغرف
user-info: يجب عليك تسجيل الدخول أعلاه للانضمام إلى هذه الغرفة.
branding:
change: تغيير الصورة
info: تغيير صورة العلامة التجارية التي تظهر في الزاوية العلوية اليمنى
placeholder: رابط الصورة...
title: صورة العلامة التجارية
invalid: URL غير صالح
legal:
change: تغيير URL
info: قم بتغيير رابط الشروط الذي يظهر في أسفل الصفحة
placeholder: عنوان URL الشروط ...
title: الشروط
invalid: URL غير صالح
privpolicy:
change: تغيير URL
info: غيّر رابط سياسة الخصوصية الذي يظهر أسفل الصفحة
placeholder: URL سياسة الخصوصية...
title: سياسة الخصوصية
invalid: URL غير صالح
cache:
info: مسح ذاكرة التخزين المؤقت الخاصة بالمزود الذي يؤدي إلى طلب جديد للمعلومات المحدثة
title: مسح ذاكرة التخزين المؤقت لمزود الخدمة
button: مسح ذاكرة التخزين المؤقت
clear_auth:
info: مسح المصادق الحالي للمستخدمين مما يسمح لهم بتسجيل الدخول مرة أخرى باستخدام أسلوب مصادقة مختلف
title: مسح المصادق الحالي
button: مسح المصادق
color:
info: تغيير اللون الأساسي سوف يغير كلا من الفاتح والداكن. يمكن بعد ذلك تغيير الفتح والداكن بشكل فردي
title: اللون الأساسي
regular: الأساسي
lighten: الفاتح
darken: معتم
email_mapping:
info: تعيين دور المستخدم باستعمال بريده الإلكتروني. يجب أن يكون بالتنسيق email1 = role1 ، email2 = role2
title: تعيين الدور بالبريد الإلكتروني
update:
log_level:
title: مستوى السجل
information: تغيير مستوى السجل للنشر بأكمله
debug: تصحيح
info: معلومات
warn: يحذر
error: خطأ
fatal: فادح
unknown: غير معروف
recording_visibility:
info: ضبط الظهور الافتراضي للتسجيلات الجديدة
title: تسجيل الظهور الافتراضي
warning: سيتم تطبيق هذه الإعدادات فقط على الغرف التي لا تعمل حاليا
require_consent:
info: يتيح هذا الإعداد إعداد الغرفة الذي يسمح لمالكي الغرفة بتحديد الغرف التي يمكن تسجيلها. يجب على المستخدمين الذين ينضمون إلى غرفة مسجلة الموافقة قبل الانضمام.
title: تتطلب موافقة مالك الغرفة والمنضم على التسجيل
maintenance_banner:
info: يعرض لافتة لإعلام المستخدم بالصيانة المجدولة
title: لافتة الصيانة
display: ضبط
clear: مسح
time: "مثال: التحديث مجدول في 13 ديسمبر @ 23:00 بالتوقيت الشرقي. قد يواجه المستخدمون مشاكل في تسجيل الدخول."
preupload:
info: يمكن للمستخدمين تحميل عرض تقديمي مسبق لاستخدامه كعرض تقديمي افتراضي لتلك الغرفة المحددة
title: السماح للمستخدمين بتحميل العروض التقديمية مسبقًا
registration:
info: تغيير طريقة تسجيل المستخدمين على الموقع
title: طريقة التسجيل
methods:
approval: الموافقة/الرفض
invite: الانضمام عن طريق دعوة
open: تسجيل مفتوح
rooms:
info: يحد من عدد الغرف التي يمكن للمستخدم الحصول عليها (بما في ذلك غرفة الاستقبال). لا ينطبق هذا الإعداد على المسؤولين.
title: عدد الغرف لكل مستخدم
shared_access:
info: سيؤدي التعطيل إلى إزالة الأيقونة من القائمة المنسدلة لخيارات الغرفة، وبذلك لن يتمكن المستخدمون من مشاركة الغرف
title: السماح للمستخدمين بمشاركة الغرف
subtitle: تخصيص Greenlight
tabs:
appearance: المظهر
administration: الادارة
registration: التسجيل
settings: إعدادات
title: إعدادات الموقع
flash:
approved: تمت الموافقة على المستخدم بنجاح.
banned: تم حظر المستخدم بنجاح.
unbanned: تم إلغاء حظر المستخدم بنجاح.
delete: تم حذف المستخدم بنجاح.
delete_fail: فشل حذف المستخدم
demoted: تم خفض رتبة المستخدم بنجاح
invite: "تم إرسال الدعوة بنجاح إلى %{email}"
invite_email_verification: يجب تمكين رسائل البريد الإلكتروني من أجل استخدام هذه الطريقة. الرجاء الاتصال بمسؤول النظام.
merge_fail: هناك مشكلة في دمج حسابات المستخدمين. يرجى التحقق من المستخدمين الذين تم اختيارهم والمحاولة مرة أخرى
merge_success: دمج حسابات المستخدمين بنجاح
perm_deleted: تم حذف المستخدم نهائيًا
promoted: تم ترقية المستخدم بنجاح
registration_method_updated: تم تحديث طريقة التسجيل بنجاح
reset_password: تم إرسال بريد الكتروني للمستخدم لإعادة ضبط كلمة المرور الخاصة به (نأمل مراجعة مجلد البريد المزعج في حال عدم وصوله إلى صندوق الوارد)
restored: تمت استعادة المستخدم بنجاح
room_configuration: تم تغيير إعدادات الغرفة بنجاح
settings: تم تغيير إعدادات الموقع بنجاح
unauthorized: غير مصرح لك بتنفيذ إجراءات على هذا المستخدم
recordings:
latest: أحدث التسجيلات
title: تسجيلات الخادم
no_recordings: الخادم لا يحتوي على أي تسجيلات
search_info: أدخل البريد الإلكتروني الكامل للمستخدم أو معرّف الغرفة
roles:
appear_in_share_list: تضمين المستخدمين الذين يتمتعون بهذا الدور في القائمة المنسدلة لمشاركة الغرف
can_create_rooms: يمكن إنشاء غرف
can_launch_recording: السماح للمستخدمين الذين لديهم هذا الدور بتسجيل اجتماعاتهم
delete: حذف الدور
invalid_create: حدثت مشكلة عند إنشاء دور جديد. الرجاء التحقق من قيم الدور والمحاولة مرة أخرى
invalid_order: حدثت مشكلة في تحديث أولوية الدور. الرجاء التحقق من القيم والمحاولة مرة أخرى
invalid_update: حدثت مشكلة في تحديث أذونات الدور. الرجاء التحقق من القيم والمحاولة مرة أخرى
manage_rooms_recordings: السماح للمستخدمين الذين يتمتعون بهذا الدور بإدارة غرف الخادم والتسجيلات
name: اسم الدور
new_role: إنشاء دور جديد
role_has_users: "هذا الدور تم تعيينه لـ %{user_count} حساب. فضلا قم بحذف كافة الحسابات من هذا الدور قبل حذفه "
title: أدوار
promote_email: إرسال بريد الكتروني إلى المستخدمين عند تعيين هذا الدور لهم
demote_email: إرسال بريد الكتروني إلى المستخدمين عند إزالتهم من هذا الدور
edit_site_settings: السماح للمستخدمين المنتمين لهذا الدور بتحرير اعدادت الموقع
edit_roles: السماح للمستخدمين المنتمين لهذا الدور بتحرير بقية الأدوار
manage_users: السماح للمستخدمين المنتمين لهذا الدور بإدارة المستخدمين الآخرين
invalid_assignment: حدثت مشكلة عند تعيين الأدوار للمستخدم. الرجاء التحقق من القيم والمحاولة مرة أخرى
colour:
title: لون الدور
info: تعيين اللون الذي سيرتبط بالدور
room_configuration:
title: إعدادات الغرفة
mute:
info: كتم صوت المستخدم تلقائيًا عند انضمامه إلى اجتماع BigBlueButton
require_moderator:
info: ينبه مشرف اجتماع BigBlueButton عندما يحاول المستخدم الانضمام. إذا تمت الموافقة على المستخدم ، فسيتمكن من الانضمام إلى الاجتماع.
allow_any:
info: يسمح لأي مستخدم ببدء الاجتماع في أي وقت. بشكل افتراضي ، يمكن لمالك الغرفة فقط بدء الاجتماع.
all_moderator:
info: يمنح جميع المستخدمين امتيازات المشرف في BigBlueButton عند انضمامهم إلى الاجتماع.
recordings:
info: يسمح لمالكي الغرفة بتحديد ما إذا كانوا يريدون خيار تسجيل غرفة أم لا. في حالة التمكين ، لا يزال يتعين على المشرف النقر على الزر "تسجيل" بمجرد بدء الاجتماع.
moderator_codes:
info: يسمح لمالكي الغرفة بإنشاء رمز وسيط اختياري يسمح للمستخدمين الآخرين بالانضمام مباشرة كمشرفين.
title: رمز دخول المشرف
options:
disabled: معطل
enabled: ممكّن دائمًا
optional: اختياري
rooms:
timeout: "نظرًا لانتهاء مهلة طلب الخادم %{server} ، فقد لا تكون معلومات الحالة والمشاركين دقيقة"
title: غرف الخادم
table:
ended: "انتهت: %{session}"
id: المعرف
not_running: لا يعمل
participants: المشاركون
running: يعمل
started: "بدأت: %{session}"
status: حالة
view: عرض
title: إعدادات المؤسسة
users:
invite: دعوة المستخدم
edit:
title: تحرير تفاصيل المستخدم
settings:
approve: الموافقة
decline: الرفض
ban: حظر المستخدم
delete: حذف
edit: تحرير
edit_roles: تعديل أدوار المستخدم
merge: دمج
perm_delete: حذف بشكل دائم
unban: إلغاء حظر المستخدم
undelete: تراجع عن الحذف
table:
authenticator: المصادق
created: انشاء
time: وقت الإرسال
name: الاسم
not_found: لا يوجد مستخدم يطابق بحثك
no_users: لم يتم العثور على أي مستخدمين
role: الدور
uid: معرف المستخدم
username: اسم المستخدم
valid: صالح
title: إدارة المستخدمين
add_to_google_calendar: "إضافة إلى تقويم Google"
bigbluebutton: BigBlueButton
bigbluebutton_exception: عفوًا ، حدث خطأ عند بدء الاجتماع
cancel: إلغاء
cookies:
cookie_info: ملفات تعريف الارتباط تساعدنا على تقديم خدماتنا. باستخدام خدماتنا ، أنت توافق على استخدامنا لملفات تعريف الارتباط.
cookie_button: أنا موافق
policy: "لمزيد من المعلومات ، راجع موقعنا<a href=\"%{privacy_link}\"><u> سياسة خاصة.</u></a>"
copied: تم النسخ
copy: نسخ
date:
month_names: [~, يناير, فبراير, مارس, أبريل, مايو, يونيو, يوليو, أغسطس, سبتمبر, أكتوبر, نوفمبر, ديسمبر]
default_admin: "لازلت تستخدم كلمة المرور الافتراضية لهذا المستخدم، فضلا أنقر <a href=\"%{edit_link}\"> هنا</a> لتغييرها"
delete: حذف
delivery_error: حدث خطأ أثناء تسليم البريد الإلكتروني. يرجى الاتصال بمسؤول!
docs: الوثائق
email: البريد الإلكتروني
email_sent: "تم إرسال البريد الإلكتروني الخاص بك %{email_type} (يرجى التحقق من مجلد البريد المزعج إذا لم تكن قد تلقيت ذلك)"
enter_your_name: أدخل أسمك!
errors:
bigbluebutton:
help: "يرجى التأكد من اتخاذ الخطوات المناسبة. <a href=\"%{doc_link}\">للمزيد</a>"
message: نقطة النهاية والسرية BigBlueButton غير صالحة
title: خطأ في الخادم
internal:
message: يبدو أن هناك خطأ ما من جانبنا.
help: لقد تم تسجيل الخطأ ، سنلقي نظرة!
report: الإبلاغ عن مشكة
maintenance:
message: المعذرة، نحن متوقفون لأجل الصيانة
help: سنعود في الحال
migration_error:
contact_admin: إذا لم تكن مسؤولاً ، الرجاء الاتصال بأحد المسؤولين.
continue: أود أن أستمر في استخدام 1.0.
notice: >
واجه Greenlight خطأ في ترحيل قاعدة البيانات. <br>قد يكون هذا بسبب عدم تحديثك إلى Greenlight 2.0.
upgrade: أرني كيفية الترقية إلى 2.0!
version: لقد أصدرنا إصدارًا جديدًا من Greenlight ، لكن قاعدة البيانات غير متوافقة.
messages:
blank: لا يمكن أن تكون فارغة
too_short: قصيرة جدا
invalid: غير صالح
taken: تم اختيارها مسبقا
accepted: يجب أن تكون مقبولة
confirmation: "لا يتطابق مع %{attribute}"
inclusion: غير مدرج في القائمة
domain: "يجب أن ينتهي بـ \"%{email_domain}\""
no_provider:
message: لم يتم تمكين الموقع الذي تحاول الوصول إليه
help: الرجاء الاتصال بمسؤول النظام لإعداد Greenlight
not_found:
message: معذرة! الصفحة التي تبحث عنها غير موجودة.
help: هل من الممكن حذفه؟
user_not_found:
help: الرجاء الاتصال بمسؤول.
message: عذراً، هذا المستخدم غير مسجل.
user_missing:
help: الرجاء التحقق من الرابط والمحاولة مرة أخرى
message: الرابط الذي أدخلته غير صالح.
title: أخطاء
unauthorized:
message: ليس لديك حق الوصول إلى هذا التطبيق
help: إذا كنت تعتقد أن هذا خطأ، يرجى الاتصال بمسؤول النظام.
expired_reset_token: انتهت صلاحية رابط إعادة تعيين كلمة المرور!
features:
title: المميزات
rooms: غرف مخصصة
recordings: إدارة التسجيل
designs: تصاميم مخصصة
authentication: مصادقة المستخدم
footer:
legal: الشروط
privpolicy: سياسة الخصوصية
powered_by: "مشغل بواسطة%{href}."
forgot_password:
subtitle: هل نسيت كلمة المرور
email: البريد الإلكتروني
submit: إرسال
go_back: عودة
greenlight: Greenlight
header:
all_recordings: كافة التسجيلات
dropdown:
account_settings: المؤسسة
help: تحتاج مساعدة؟
home: الإستقبال
settings: ملف التعريف
signout: خروج
home_room: غرفة الإستقبال
info_update_success: تحديث المعلومات بنجاح.
invalid_credentials: لم تتطابق رسالة البريد الإلكتروني وكلمة المرور التي أدخلتها مع سجلاتنا. حاول مرة أخرى أو انقر فوق نسيت كلمة المرور لإعادة تعيين كلمة المرور الخاصة بك.
invalid_credentials_external: البريد الإلكتروني وكلمة المرور اللذان أدخلتهما لا يتطابقان مع سجلاتنا. حاول مرة اخرى.
invalid_login_method: فشل تسجيل الدخول بسبب عدم تطابق الحساب. تحتاج إلى تسجيل الدخول مع omniauth.
invite_message: "لدعوة شخص ما إلى الاجتماع ، أرسل لهم هذا الرابط:"
javascript:
room:
mailer:
subject: 'لقد تمت دعوتك لمشاهدة تسجيل.'
body: 'لمشاهدة التسجيل ، اتبع الرابط أدناه:'
autogenerated: 'يتم إنشاء هذا البريد الإلكتروني تلقائيًا بواسطة BigBlueButton.'
footer: 'BigBlueButton هو نظام مؤتمرات ويب مفتوح المصدر. لمزيد من المعلومات حول BigBlueButton ، راجع https://bigbluebutton.org/.'
search:
start: بدء البحث...
landing:
about: "%{href} هو واجهة أمامية بسيطة لخادم مؤتمرات الويب المفتوح المصدر BigBlueButton الخاص بك. يمكنك إنشاء غرف خاصة بك لاستضافة الجلسات، أو الانضمام إلى الآخرين باستخدام رابط قصير ومريح. "
welcome: مرحبًا بك في BigBlueButton
video: شاهد برنامجنا التعليمي حول استخدام Greenlight
upgrade: أرني كيفية الترقية إلى 2.0!
version: لقد أصدرنا إصدارًا جديدًا من Greenlight ، لكن قاعدة البيانات غير متوافقة.
language_default: الافتراضي (لغة المتصفح)
ldap_error: غير قادر على الاتصال بخادم LDAP. يرجى التحقق من تكوين LDAP في ملف env والتأكد من تشغيل خادمك.
login: تسجيل الدخول
login_title: تسجيل الدخول إلى حسابك
mailer:
user:
approve:
info: تمت الموافقة على حسابك.
signin: للوصول إلى غرفك الشخصية، انقر على الزر أدناه وسجّل الدخول.
signin_link: تسجيل الدخول
signup:
info: قام مستخدم جديد بالتسجيل لاستخدام Greenlight.
more-info: للسماح لهذا المستخدم بالوصول إلى Greenlight يجب أن توافق على حسابه في إعدادات المؤسسة.
admins_link: زيارة صفحة المؤسسة
subject: جديد Greenlight مستخدم تسجيل
username: "سجل المستخدم باسم %{name} والبريد الإلكتروني %{email}."
subject: الحساب معتمد
username: "اسم المستخدم الخاص بك هو %{email}."
demoted:
info: "لم تعد %{role} على%{url}."
more-info: لديك الآن الامتيازات ذاتها
root_link: تسجيل الدخول
subtitle: "%{role} الحقوق الملغاة"
invite:
info: "لقد تمت دعوتك إلى فضائك الشخصي بواسطة %{name}"
signup_info: للاشتراك باستخدام بريدك الإلكتروني، انقر على الزر أدناه واتبع الخطوات.
signup_link: التسجيل
valid: "الدعوة صالحة حتى: %{date}"
signup:
info: المستخدم المدعو قام بتسجيل الدخول لاستخدام Greenlight.
admins_link: زيارة صفحة المؤسسة
subject: تسجيل مستخدم Greenlight جديد
username: "سجل المستخدم باسم %{name} والبريد الإلكتروني %{email}."
subject: دعوة للانضمام إلى BigBlueButton
username: "اسم المستخدم الخاص بك هو %{email}."
password_reset:
title: 'إعادة تعيين كلمة المرور'
welcome: "تم طلب إعادة تعيين كلمة المرور للبريد الإلكتروني <b>%{email}</b>"
message: 'إذا طلبت إعادة التعيين هذه، يرجى النقر على الرابط أدناه لإعادة تعيين كلمة المرور الخاصة بك:'
reset_link: إعادة تعيين كلمة المرور
expire: سوف ينتهي هذا الرابط خلال ساعتين.
ignore: يمكنك تجاهل هذا البريد الإلكتروني بأمان إذا لم تقم بهذا الطلب.
promoted:
admins_link: زيارة صفحة المؤسسة
info: "أنت الآن %{role} على %{url}."
more-info: "لاستعراض مؤهلاتك الجديدة، يرجى زيارة %{url}."
subtitle: "%{role} الحقوق الممنوحة"
verify_email:
welcome: "مرحبا بكم في فضاءك الشخصي ، %{name}"
success: "الاستفادة من %{bigbluebutton}، يمكنك إنشاء غرف خاصة بك لاستضافة الجلسات والتعاون مع الآخرين."
username: "اسم المستخدم الخاص بك هو %{email}."
verify: للتحقق من حسابك ، أنقر على الزر أدناه.
verify_text: 'للتحقق من حسابك ، اتبع هذا الرابط بالنقر عليه: %{url}'
verify_link: التحقق من الحساب
thanks: شكرا لانضمامك ونتمنى لك يوماً موفقاً.
max_concurrent: وصلت إلى الحد الأقصى لعدد الجلسات المتزامنة المسموح بها!
merged: المدمجة
modal:
create_role:
create: "إنشاء دور جديد "
footer_text: يمكنك تحرير الأذونات الفردية لهذا الدور بعد إنشائه
name_placeholder: أدخل اسم الدور...
not_blank: اسم الدور لا يمكن أن يكون فارغاً
title: "إنشاء دور جديد "
create_room:
access_code: رمز الوصول
moderator_access_code: رمز المشرف
access_code_placeholder: إنشاء رمز وصول اختياري للغرفة
moderator_access_code_placeholder: قم بإنشاء رمز اختياري للمشرفين
auto_join: الانضمام التلقائي إلى الغرفة
create: إنشاء غرفة
free_delete: سيكون لك مطلق الحرية في حذف هذه الغرفة في أي وقت.
name_placeholder: أدخل اسم الغرفة ...
not_blank: لا يمكن ترك اسم الغرفة فارغًا.
title: إنشاء غرفة جديدة
delete_account:
confirm: هل تريد بالتأكيد حذف هذا الحساب؟
delete: أنا متأكد، قم بحذف هذا الحساب.
keep: في الواقع ، سأحتفظ به.
delete_warning: سيؤدي ذلك إلى إلغاء تنشيط حساب المستخدم. يمكن العثور على جميع المستخدمين غير النشطين تحت علامة تبويب المحذوفات.
warning: هذا القرار نهائي.<b>لن</b> تكون قادرًا على استعادة البيانات المرتبطة.
delete_rec:
delete: أنا متأكد ، احذف هذا التسجيل.
header: هل أنت متأكد أنك تريد حذف هذا التسجيل؟
warning: <b>لن</b> تتمكن من استعادة هذا التسجيل
delete_room:
confirm: "هل أنت متأكد أنك تريد حذف %{room}؟"
delete: أنا متأكد قم بحذف هذه الغرفة.
keep: بعد التفكير ثانية، سأحتفظ به.
warning: <b>لن</b> تكون قادراً على استعادة هذه الغرفة
recording_warning: "أو أي من التسجيلات المرتبطة بـ %{recordings_num} الخاصة به."
invite_user:
email_placeholder: أدخل عناوين البريد الإلكتروني للمستخدمين (مفصولة بالفارزة)
footer: سوف يتلقى المستخدم رسالة بريد إلكتروني مع تعليمات حول كيفية الاشتراك
send: إرسال دعوة
title: دعوة المستخدم
login:
or: أو
with: "الدخول بـ %{provider}"
forgot_password: هل نسيت كلمة المرور؟
preupload:
change: استبدال العرض التقديمي
choose: اختر ملف...
current: "العرض التقديمي الحالي:"
footer: اعتمادًا على حجم العرض التقديمي ، قد يتطلب تحميله وقتًا إضافيًا قبل استخدامه.
invalid: حجم / نوع الملف غير صالح. يرجى الاطلاع على القيود أدناه.
title: أضف العرض التقديمي
use: استخدم العرض التقديمي
rename_recording:
remove_shared:
title: هل أنت متأكد من رغبتك في إزالة هذه الغرفة من قائمة الغرف الخاصة بك؟
delete: أنا متأكد من رغبتي في إزالة هذه الغرفة
warning: أنت سوف <b>لن</b>تتمكن من الوصول إلى هذه الغرفة بعد الآن.
room_settings:
title: إعدادات الغرفة
update: تحديث الغرفة
client: اختر نوع العميل
join_moderator: انضم جميع المستخدمين كمشرفين
mute: كتم المستخدمين عند الانضمام
require_approval: يلزم موافقة المشرف قبل الانضمام
start: السماح لأي مستخدم ببدء اللقاء
footer_text: يمكن إجراء التعديل على غرفتك في أي وقت.
recording: السماح بتسجيل الغرفة
rename_room:
name_placeholder: أدخل اسم غرفة جديدة ...
share_access:
footer: مشاركة غرفة مع مستخدمين تسمح لهم ببدء تشغيل الغرفة وعرض تسجيلاتها
list: المشاركة مع
title: مشاركة الوصول إلى الغرفة
save: حفظ التغييرات
cancel_changes: إلغاء التغييرات
select: اختيار المستخدم
merge_user:
cancel: إلغاء
from: الحساب المراد دمجه
title: دمج حسابات المستخدم
to: الحساب الأساسي
save: دمج
footer: سيتم تحويل غرف الحساب المراد دمجه إلى قائمة غرفة الحساب الأساسي ثم يتم حذف الحساب.
name_update_success: تم تغيير اسم الغرفة بنجاح!
no_user_email_exists: لا يوجد مستخدم مسجل بهذا البريد الإلكتروني . يرجى التأكد من كتابته بشكل صحيح.
omniauth_error: حدث خطأ أثناء المصادقة مع omniauth. يرجى المحاولة مرة أخرى أو الاتصال بمسؤول!
omniauth_specific_error: "%{error}وقعت أثناء المصادقة مع omniauth. الرجاء المحاولة مرة أخرى أو الاتصال بالمسؤول"
pagy:
nav:
prev: "&rsaquo; السابق"
next: "التالي &lsaquo;"
gap: "&hellip;"
password: كلمة المرور
password_empty_notice: لا يمكن أن تكون كلمة المرور فارغة.
password_reset_success: تم إعادة تعيين كلمة المرور.
password_different_notice: تأكيد كلمة المرور غير متطابق.
provider:
google: Google
office365: أوفيس 365
twitter: تويتر
ldap: LDAP
openid_connect: الاتصال OpenID
recaptcha:
errors:
recaptcha_unreachable: عفوا، فشلنا في التحقق من صحة ردك reCAPTCHA. الرجاء المحاولة مرة أخرى.
verification_failed: فشل التحقق من reCAPTCHA، الرجاء المحاولة مرة أخرى.
recording:
all_recordings: كافة التسجيلات
email: " البريد الإلكتروني للتسجيل"
error: "هناك خطأ في استرداد %{count} التسجيل (التسجيلات)"
no_public_recordings: هذه الغرفة ليس لديها تسجيلات عامة.
no_recordings: هذه الغرفة ليس لديها تسجيلات.
no_user_recordings: ليس لديك حاليًا أي تسجيلات.
no_matched_pub_recordings: لا توجد تسجيلات عامة تطابق بحثك.
no_matched_recordings: لا تسجيلات تطابق بحثك.
recorded_on: "تم التسجيل في %{date}"
table:
name: الاسم
thumbnails: الصورة المصغرة
length: الطول
users: المستخدمين
visibility: الظهور
formats: الصيغة
visibility:
inaccessible: يتعذر الوصول إليها
public: عامة
unlisted: غير مدرج
format:
notes: ملاحظات
podcast: تدوين صوتي
presentation: العرض التقديمي
statistics: الاحصائيات
video: فيديو
registration:
approval:
fail: لم تتم الموافقة على حسابك بعد. إذا كنت قد قمت بالاشتراك منذ عدة أيام ، الرجاء الاتصال بالمسؤول.
signup: تم إنشاء حسابك بنجاح. تم إرساله إلى المسؤول للموافقة عليه.
banned:
fail: ليس لديك حق الوصول إلى هذا التطبيق. إذا كنت تعتقد أن هذا خطأ، يرجى الاتصال بالمسؤول.
deprecated:
new_signin: حدد طريقة تسجيل دخول جديدة لحسابك. سيتم ترحيل جميع الغرف الخاصة بك من حسابك القديم إلى الحساب الجديد
twitter_signin: "تم إلغاء الدخول عبر تويتر وسيتم إزالته في الإصدار التالي. انقر <a href=\"%{link}\"> هنا </a> لنقل حسابك إلى طريقة مصادقة جديدة"
twitter_signup: تم إلغاء التسجيل عبر تويتر. الرجاء استخدام طريقة تسجيل مختلفة
merge_success: نجح دمج حساب تويتر الخاص بك مع حسابك الجديد. وتم حذف حساب تويتر القديم الخاص بك
invite:
fail: الرمز المميز الخاص بك إما غير صالح أو انتهت صلاحيته. إذا كنت تعتقد أن هذا خطأ، يرجى الاتصال بالمسؤول.
no_invite: ليس لديك دعوة للانضمام. الرجاء الاتصال بالمسؤول للحصول على الدعوة.
remove: إزالة
rename: إعادة تسمية
reset_password:
captcha: فشل التحقق من reCAPTCHA، الرجاء المحاولة مرة أخرى.
invalid_token: رمز إعادة تعيين كلمة المرور غير صالح. يرجى محاولة إعادة تعيين كلمة المرور الخاصة بك مرة أخرى.
subtitle: إعادة تعيين كلمة المرور
password: كلمة المرور الجديدة
confirm: تأكيد كلمة المرور الجديدة
update: تحديث كلمة المرور
auth_change: تم تغيير أسلوب المصادقة. يرجى التحقق من البريد الإلكتروني الخاص بك لتعيين كلمة المرور الخاصة بك.
roles:
active: نشط
admin: مشرف
banned: محظور
deleted: محذوف
pending: معلق
invited: مدعو
user: مستخدم
room:
access_code_required: الرجاء إدخال رمز وصول ساري المفعول للانضمام إلى الغرفة
add_presentation: أضف العرض التقديمي
copy_access: نسخ رمز الوصول
copy_moderator_access: نسخ رمز المشرف
create_room: إنشاء غرفة
create_room_error: حدث خطأ أثناء إنشاء الغرفة
create_room_success: تم إنشاء الغرفة بنجاح
delete:
home_room: لا يمكن حذف غرفة الاستقبال لهذا المستخدم
success: تم حذف الغرفة بنجاح
fail: "فشل في حذف الغرفة (%{error})"
enter_the_access_code: أدخل رمز الوصول لهذه الغرفة
enter_the_moderator_access_code: أدخل رمز مشرف الغرفة!
optional_moderator_access_code: "رمز الوسيط الاختياري:"
invalid_provider: لقد أدخلت رابطًا غير صالح. يرجى التحقق من عنوان URL والمحاولة مرة أخرى.
invitation_description: "لقد تمت دعوتك للانضمام إلى %{name} باستخدام BigBlueButton. \nللانضمام ، انقر فوق الرابط أعلاه وأدخل اسمك."
invited: لقد تمت دعوتك للانضمام
recording_present: أقر بأنه سيتم تسجيل هذه الجلسة. قد يشمل ذلك صوتي وفيديو إذا تم تمكينه.
invite_participants: دعوة المشاركين
join: انضم
last_session: "الجلسة الأخيرة في %{session}"
login: أدخل
owner: مالك
owner_banned: هذه الغرفة غير متوفرة حالياً
no_room:
description: للانضمام إلى الغرفة أدخل عنوان URL أو المعرف الخاص بها.
edit_profile: تحرير ملف تعريف المستخدم
go_to: الذهاب إلى الغرفة
invalid_room_uid: رابط عنوان الغرفة أو المعرف الذي أدخلته غير صالحة.
placeholder: رابط/معرف الغرفة
no_recent_rooms: لم تنضم إلى أي غرفة مؤخراً
recent_rooms: الانتقال إلى الغرفة التي تم الانضمام إليها مؤخرًا
title: الانضمام إلى الغرفة
no_sessions: ما زالت هذه الغرفة لا تحتوي على جلسات.
preupload_success: تمت إضافة العرض بنجاح
preupload_error: حدث خطأ أثناء تحديث عرض الغرفة
preupload_remove_success: تمت إزالة العرض التقديمي بنجاح
preupload_remove_error: حدث خطأ أثناء إزالة عرض الغرفة
recordings: التسجيلات الخاصة بالغرفة
room_limit: وصلت إلى الحد الأقصى لعدد الغرف المسموح بها
room_limit_exceeded: "لقد تجاوزت عدد الغرف المسموح بها. يرجى حذف %{difference} غرفة (غرف) للدخول إلى هذه الغرفة."
sessions: جلسات
settings: إعدادات الغرفة
share: إدارة الوصول
shared_by: "نشر بواسطة %{email}"
remove_shared_access_success: تمت إزالة الغرفة المشتركة بنجاح من قائمة الغرف الخاصة بك
remove_shared_access_error: حدث خطأ في إزالة الغرفة المشتركة من قائمتك
shared_access_success: تمت مشاركة الغرفة بنجاح
shared_access_error: هناك خطأ في مشاركة الغرفة
start: بداية
search: البحث عن غرفة ...
unavailable: هذه الغرفة غير متاح حاليًا نظرًا لعدم التحقق من البريد الإلكتروني للمالك.
update_settings_error: حدث خطأ أثناء تحديث إعدادات الغرفة
update_settings_success: تم تحديث إعدادات الغرفة بنجاح
wait:
message: الإجتماع لم يبدأ بعد.
auto: ستنضم تلقائيًا عندما يبدأ الاجتماع.
settings:
account:
fullname: الاسم الكامل
language: لغة
provider: مزود
image: صورة
image_url: عنوان URL لصورة الملف الشخصي
roles: دور المستخدم
subtitle: قم بتحديث معلومات حسابك
title: معلومات الحساب
reset_password: إعادة تعيين كلمة مرور المستخدم
delete:
button: نعم ، أرغب في حذف حسابي.
disclaimer: إذا اخترت حذف حسابك . <b>لا</b> يمكن استرداده. ستتم إزالة جميع المعلومات المتعلقة بحسابك ، بما في ذلك الإعدادات والغرف والتسجيل.
subtitle: "حذف حسابك بشكل دائم "
title: حذف الحساب
password:
confirmation: تأكيد كلمة المرور الجديدة
new: كلمة المرور الجديدة
old: كلمة المرور القديمة
subtitle: تغيير كلمة المرور الخاصة بك
title: كلمة المرور
title: الملف الشخصي
search: البحث
signup:
password_confirm: تأكيد كلمة المرور
subtitle: انشئ حساب
title: اشتراك
with: "اشترك عن طريق %{provider}"
terms:
accept: "أوافق على %{href}"
accept_existing: أوافق على الشروط والأحكام
title: الشروط والأحكام
test_install: >
يستخدم هذا النشر خادم اختبار تمت تهيئته مسبقًا ، ويجب استبداله بخادمك الشخصي. لمزيد من التفاصيل ، اطلع على%{href} .
time:
formats:
default: "b %d, %Y %-I:%M%P%"
update: تحديث
verify:
accept: تحقق
activated: تم التحقق من الحساب!
already_verified: تم التحقق من الحساب بالفعل
invalid: رابط التحقق غير صحيح
not_verified: لم يتم التحقق من حسابك بعد.
resend: إعادة ارسال بريد التحقق
signin: الرجاء تسجيل الدخول للوصول إلى حسابك.
title: قم بتأكيد بريدك الالكتروني
verification: التحقق

View File

@ -32,13 +32,13 @@ ca:
administrator: administrator:
site_settings: site_settings:
authentication: authentication:
disabled: Inhabilitada disabled: Deshabilitada
enabled: Habilitada enabled: Habilitada
info: Permetre només a usuaris autenticats unir-se a una sala info: Permetre només a usuaris autenticats unir-se a una sala
title: Requerir autenticació per a utilitzar les sales title: Requerir autenticació per a utilitzar les sales
user-info: Cal registrar-se a la part superior per a accedir a aquesta sala user-info: Cal registrar-se a la part superior pare a accedir a aquesta sala
branding: branding:
change: Canvia la imatge change: Canviar imatge
info: Canviar la imatge personalitzada que es mostra a la cantonada superior esquerra info: Canviar la imatge personalitzada que es mostra a la cantonada superior esquerra
placeholder: Enllaç de la imatge... placeholder: Enllaç de la imatge...
title: Imatge personalitzada title: Imatge personalitzada
@ -57,109 +57,102 @@ ca:
invalid: Enllaç no vàlid invalid: Enllaç no vàlid
cache: cache:
info: "Neteja la memòria cau de proveïdors emmagatzemats, el que força una petició de la informació actualitzada" info: "Neteja la memòria cau de proveïdors emmagatzemats, el que força una petició de la informació actualitzada"
title: Neteja memòria cau de proveïdor title: Netejar memòria cau de proveïdor
button: Neteja memòria cau button: Netejar memòria cau
clear_auth: clear_auth:
info: "Esborra l'autenticador actual pels usuaris, permetent-els tornar a iniciar sessió amb un mètode d'autenticació diferent" info: "Esborra l'autenticador actual pels usuaris, permetent-els tornar a iniciar sessió amb un mètode d'autenticació diferent"
title: Neteja l'autenticador actual title: Netejar l'autenticador actual
button: Neteja l'autenticació button: Netejar autenticació
color: color:
info: Netejar el color normal canviarà tant el color clar com el fosc. Els valors clar i fosc es poden canviar individualment info: Netejar el color regular cambiarà tant el color clar como el fosc. Els valors d'Aclarir i Enfosquir es poden canviar individualment
title: Color principal title: Color principal
regular: Normal regular: Regular
lighten: Clar lighten: Aclarir
darken: Fosc darken: Enfosquir
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: log_level:
title: Nivell de registre title: Nivell de registre
information: Canvia el nivell de registre per a toda la implementació information: Canviar el nivell de registre per a toda la implementació
debug: Depuració debug: Depurar
info: Informació info: Informació
warn: Advertència warn: Advertència
error: Error error: Error
fatal: Fatal fatal: Fatal
unknown: Desconegut unknown: Desconegut
recording_visibility: recording_visibility:
info: Estableix la visibilitat predeterminada dels nous enregistraments info: Establir la visibilitat per defecte de les noves gravacions
title: Visibilitat per defecte dels enregistraments title: Visibilitat per defecte de gravacions
warning: Aquesta configuració només s'aplicarà a les sales que no s'està executant warning: Aquesta configuració només serà aplicada a les noves sessiones
require_consent: require_consent:
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." 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: Requereix el consentiment del propietari de la sala i la persona que accedeix per a realitzar l'enregistrament title: Requerir el consentiment del propietari de la sala i la persona que accedeix per a realitzar la gravació
maintenance_banner: maintenance_banner:
info: Mostra un bàner per a informar a l'usuari d'un manteniment programat info: Mostra un banner per a informar a l'usuari d'un manteniment programat
title: Bàner de manteniment title: Banner de manteniment
display: Estableix display: Estableix
clear: Neteja clear: Neteja
time: "Exemple: actualització programada pel 13 de desembre a les 23:00h. Els usuaris poden experimentar problemes per a iniciar sessió." time: "Exemple: actualització programada pel 13 de desembre a las 23:00h. Els usuaris poden experimentar problemes per a iniciar sessió."
preupload: preupload:
info: Els usuaris poden carregar prèviament una presentació per a utilitzar-la com a presentació predeterminada per a aquesta sala específica info: Els usuaris poden carregar prèviament una presentació per a utilitzar-la com a presentació predeterminada per a aquesta sala específica
title: Permet als usuaris carregar prèviament presentacions title: Permetre als usuaris carregar prèviament presentacions
registration: registration:
info: Canvia la forma de registre d'usuaris info: Canviar la forma de registre d'usuaris
title: Mètode de registre title: Mètode de registre
methods: methods:
approval: Autoritza o denega approval: Autoritzar/Denegar
invite: Registre per invitació invite: Registre per invitació
open: Registre obert open: Registre obert
rooms: rooms:
info: Estableix el límit de sales que un usuari pot tenir (incloent la sala principal). Aquesta configuració no s'aplica als administradors. 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 title: Número de sales per usuari
shared_access: shared_access:
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" 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: Permet que els usuaris comparteixin sales title: Permetre els usuaris compartir sales
subtitle: Personalitza Greenlight subtitle: Personalitzar Greenlight
tabs: tabs:
appearance: Apariència appearance: Apariència
administration: Administració administration: Administració
registration: Registrar-se
settings: Configuració settings: Configuració
title: Configuració del lloc web title: Configuració del lloc web
flash: flash:
approved: S'ha autoritzat l'usuari correctament. approved: L'usuari ha estat autoritzat
banned: S'ha blocat l'usuari correctament. banned: L'usuari ha estat bloquejat.
unbanned: S'ha desblocat l'usuari correctament. unbanned: L'usuari ha estat desbloquejat.
delete: S'ha eliminat l'usuari correctament. delete: L'usuari ha estat eliminat.
delete_fail: No s'ha pogut eliminar l'usuari. delete_fail: L'usuari no s'ha pogut eliminar.
demoted: S'ha degradat l'usuari correctament. demoted: L'usuari ha estat degradat.
invite: "La Invitació s'ha enviat correctament a %{email}" 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. Contacteu amb l'administrador del sistema. 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 en fusionar els comptes d'usuari. Comproveu els usuaris seleccionats i torneu a provar-ho merge_fail: S'ha produït un problema al fusionar els comptes d'usuari. Comprova els usuaris seleccionats i torna a provar-ho
merge_success: Els comptes d'usuari s'han fusionat correctament merge_success: Els comptes d'usuari s'han fusionat correctament
perm_deleted: S'ha eliminat l'usuari permanentment perm_deleted: L'usuari ha estat eliminat permanentement
promoted: L'usuari ha estat promogut. promoted: L'usuari ha estat promogut.
registration_method_updated: Mètode de registre actualitzat 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. (Demaneu-li revisar la carpeta de correu brossa si no l'ha rebut) 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: S'ha recuperat l'usuari amb èxit restored: L'usuari ha estat recuperat amb èxit
room_configuration: La configuració de la sala s'ha modificat correctament room_configuration: La configuració de la sala s'ha modificat correctament
settings: S'ha actualitzat la configuració de sistema correctament settings: La configuració de sistema ha estat actualitzada
unauthorized: No esteu autoritzat per a executar operacions sobre aquest usuari. unauthorized: No està autoritzat per a executar operacions sobre aquest usuari.
recordings: recordings:
latest: Darrers enregistraments title: Gravacions
title: Servidor d'enregistraments no_recordings: Aquest servidor no te gravacions.
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: roles:
appear_in_share_list: Inclou els usuaris amb aquest rol en el desplegable per a compartir sales appear_in_share_list: Aquest servidor no te gravacions
can_create_rooms: Pot crear sales can_create_rooms: Pot crear sales
delete: Elimina el rol delete: Eliminar rol
invalid_create: S'ha produït un error en crear el nou rol. Verifiqueu els valors assignats i torneu a intentar-ho invalid_create: Ha hagut un error al crear el nou rol. Verifica els valors assignats i torna 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_order: Ha hagut un error a l'actualitzar la prioritat del rol. Verifica els valors assignats i torna 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 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: Permet que els usuaris amb aquest rol administrin servidors de sala i enregistraments manage_rooms_recordings: Permetre que els usuaris amb aquest rol administrin servidors de sala i gravacions
name: Nom del rol name: Nom del rol
new_role: Crea un nou rol new_role: Crea un nou rol
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." 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."
title: Rols title: Rols
promote_email: Envia un missatge als usuaris a qui s'hagi assignat aquest rol promote_email: Enviar un missatge als usuaris als que s'hagi assignat aquest rol
demote_email: Envia un missatge als usuaris a qui s'hagi eliminat aquest rol demote_email: Enviar un missatge als usuaris als que s'hagi eliminat aquest rol
edit_site_settings: Permet als usuaris amb aquest rol editar configuracions edit_site_settings: Permetre als usuaris amb aquest rol editar configuracions
edit_roles: Permet als usuaris amb aquest rol editar altres rols edit_roles: Permetre als usuaris amb aquest rol editar altres rols
manage_users: Permet als usuaris amb aquest rol gestionar altres usuaris manage_users: Permetre 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 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
colour: colour:
title: Color del rol title: Color del rol
info: Defineix el color que s'associarà al rol info: Defineix el color que s'associarà al rol
@ -172,11 +165,11 @@ ca:
allow_any: 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ó." 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: all_moderator:
info: Atorga a tots els usuaris els privilegis d'usuari moderador a BigBlueButton quan s'uneixen a la reunió. info: Otorga a tots els usuaris els privilegis d'usuari moderador a BigBlueButton quan s'uneixen a la reunió.
recordings: recordings:
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ó." 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ó."
options: options:
disabled: Inhabilitada disabled: Deshabilitada
enabled: Sempre habilitada enabled: Sempre habilitada
optional: Opcional optional: Opcional
rooms: rooms:
@ -190,67 +183,67 @@ ca:
running: En funcionamient running: En funcionamient
started: "Iniciada: %{session}" started: "Iniciada: %{session}"
status: Estat status: Estat
view: Mostra view: Mostrar
title: Configuració de l'organització title: Configuració de l'organització
users: users:
invite: Convida un usuari invite: Convidar usuari
edit: edit:
title: Edita detalls de l'usuari title: Editar detalls d'usuari
settings: settings:
approve: Autoritza approve: Autoritzar
decline: Denega decline: Denegar
ban: Bloca l'usuari ban: Bloquejar usuari
delete: Elimina delete: Eliminar
edit: Edita edit: Editar
edit_roles: Edita els rols d'usuari edit_roles: Editar els rols d'usuari
merge: Fusiona merge: Fusionar
perm_delete: Elimina permanentment perm_delete: Eliminar permanentment
unban: Desbloca l'usuari unban: Desbloquejar usuari
undelete: Recupera undelete: Recuperar
table: table:
authenticator: Verificador authenticator: Verificador
created: Creat created: Creat
time: Temps enviat time: Temps enviat
name: Nom name: Nom
not_found: No s'ha trobat cap usuari amb aquest criteri not_found: No s'han trobat usuaris amb aquest criteri
no_users: No s'ha trobat cap usuari no_users: No s'han trobat usuaris
role: Rol role: Rol
uid: Identificador d'usuari uid: Identificador d'usuari
username: Nom d'usuari username: Nom d'usuari
valid: Vàlid valid: Valid
title: Administrar els usuaris title: Administrar usuaris
add_to_google_calendar: "Afegeix al Calendari de Google" add_to_google_calendar: "Afegir al Calendari de Google"
bigbluebutton: BigBlueButton bigbluebutton: BigBlueButton
bigbluebutton_exception: Os pedrer! S'ha produït un error en iniciar la sessió. bigbluebutton_exception: Os pedrer! Ha hagut un error a l'iniciar la sessió.
cancel: Cancel·la cancel: Cancel·lar
cookies: 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_info: "Les cookies (galetes) ens ajuden a proveir els nostres serveis. En utilitzar els nostres serveis, aceptes la nostra utlització de les cookies."
cookie_button: Accepto cookie_button: Accepto
copied: S'ha copiat copied: Copiada
copy: Copia copy: Copiar
date: date:
month_names: [~, Gener, Febrer, Març, Abril, Maig, Juny, Juliol, Agost, Setembre, Octubre, Novembre, Desembre] month_names: [~, Gener, Febrer, Març, Abril, Maig, Juny, Juliol, Agost, Setembre, Octubre, Novembre, Decembre]
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" 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: Elimina delete: Eliminar
delivery_error: S'ha produït un error durant l'enviament de correu electrònic. Contacteu amb un administrador. delivery_error: "Ha hagut un error durant l'enviament de correu electrònic. Si us plau, contacta amb un administrador."
docs: Documentació docs: Documentació
email: Compte de correu email: Compte de correu
email_sent: "S'ha enviat el vostre %{email_type} correu electrònic. (Reviseu la carpeta de correu brossa si no l'heu rebut)" 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: Indiqueu el vostre nom! enter_your_name: Introdueix el teu nom
errors: errors:
bigbluebutton: bigbluebutton:
help: "Assegureu-vos que heu seguit els passos correctament. <a href=\"%{doc_link}\">Més informació</a>" help: "Assegura't de que has 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 message: La URL o clau secreta del servidor BigBlueButton no són vàlids
title: Error del servidor title: Error del servidor
internal: internal:
message: Sembla que alguna cosa ha fallat del nostre costat. message: Sembla que alguna cosa ha fallat del nostre costat.
help: "S'ha enregistrat l'error, el revisarem aviat." help: "L'error ha estat registrat, el revisarem en breu."
report: Reporta un problema report: Reportar problema
maintenance: maintenance:
message: El sistema es troba en manteniment. message: El sistema es troba en manteniment.
help: Tornarem aviat! help: Tornarem aviat.
migration_error: migration_error:
contact_admin: "Si no sou administrador, contacteu amb un d'ells." contact_admin: "Si no ets administrador, si us plau, contacta amb un d'ells."
continue: M'agradaria continuar utilitzant la versió 1.0 continue: M'agradaria continuar utilitzant la versió 1.0
notice: > 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 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
@ -261,237 +254,236 @@ ca:
too_short: és massa curta too_short: és massa curta
invalid: es invàlida invalid: es invàlida
taken: ja existeix taken: ja existeix
accepted: ha de ser acceptat accepted: ha de ser aceptat
confirmation: "no coincideix %{attribute}" confirmation: "no coincideix %{attribute}"
inclusion: no està inclòs a la lista inclusion: no està inclòs a la lista
no_provider: no_provider:
message: El lloc al que està intentant accedir no es troba actiu message: El lloc al que està intentant accedir no es troba actiu
help: Contacteu amb l'administrador del sistema per a configurar Greenlight help: "Si us plau, contacta amb l'administrador del sistema per a configurar Greenlight"
not_found: not_found:
message: "Ens sap greu, la pàgina que esteu cercant no existeix." message: "Ens sap greu, la pàgina que estàs buscant no existe."
help: "És possible que s'hagi eliminat?" help: "¿És possible que hagi estat eliminada?"
user_not_found: user_not_found:
help: Contacteu amb l'administrador. help: "Si us plau, contacta amb l'administrador."
message: "Ens sap greu, aquest usuari no està registrat." message: "Ens sap greu, aquest usuari no està registrat."
user_missing: user_missing:
help: Verifiqueu l'enllaç i torneu a provar. help: "Si us plau, verifica l'enllaç i torna a provar."
message: L'enllaç que introduït no és vàlid. message: L'enllaç que introduït no és vàlid.
title: Errors title: Errors
unauthorized: unauthorized:
message: No té accés a aquesta aplicació message: No te accés a aquesta aplicació
help: "Si penseu que és un error, contacteu amb l'administrador del sistema." help: "Si creus que és un error, si us plau, contacta amb l'administrador del sistema."
expired_reset_token: L'enllaç per a recuperar la contrasenya ha caducat. expired_reset_token: L'enllaç per a recuperar la contrasenya ha caducat.
features: features:
title: Funcions title: Funcions
rooms: Sales personalitzades rooms: Sales personalitzades
recordings: Administració d'enregistraments recordings: Administració de gravacions
designs: Diseny personalitzat designs: Diseny personalitzat
authentication: Autenticació d'usuari authentication: Autenticació d'usuari
footer: footer:
legal: Termes legals legal: Termes legales
privpolicy: Política de privacitat privpolicy: Política de privacitat
powered_by: "Funciona amb %{href}" powered_by: "Funciona amb %{href}"
forgot_password: forgot_password:
subtitle: He oblidat la contrasenya subtitle: He oblidat la contrasenya
email: Compte de correu email: Compte de correu
submit: Envia submit: Enviar
go_back: Enrere go_back: Enrera
greenlight: Greenlight greenlight: Greenlight
header: header:
all_recordings: Tots els enregistraments all_recordings: Totes les gravacions
dropdown: dropdown:
account_settings: Organització account_settings: Organització
help: "Us cal ajuda?" help: "Necessites ajuda?"
home: Inici home: Inici
settings: Perfil d'usuari settings: Perfil d'usuari
signout: Surt signout: Sortir
home_room: Sala principal home_room: Sala principal
info_update_success: Informació actualitzada amb èxit. info_update_success: Informació actualitzada amb èxit.
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_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. Cal que inicieu sessió amb un dels proveïdors. 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ó, enveu-li aquest enllaç:" invite_message: "Per a convidar a algú a la sessió, envia-li aquest enllaç:"
javascript: javascript:
room: room:
mailer: mailer:
subject: 'us ha convidat a veure un enregistrament.' subject: 'convidat a veure una gravació.'
body: 'Feu clic a enllaç per a veure l''enregistrament:' body: 'Fes clic a enllaç per a veure la gravació:'
autogenerated: 'Aquest correu electrònic s''ha generat automàticament per BigBlueButton' 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/.' footer: 'BigBlueButton és un sistema open source, basat en web, per a videoconferència. Per a més informació, visita https://bigbluebutton.org/.'
search: search:
start: Comença la cerca... start: Començar la cerca...
landing: landing:
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." 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."
welcome: Benvingut a <span class="green-grad">Greenlight</span>. welcome: Benvingut a <span class="green-grad">Greenlight</span>.
video: Mireu el nostre tutorial sobre com utilitzar Greenlight video: Mira el nostre tutorial sobre com utilizar Greenlight
upgrade: Mostra'm com actualitzar a la versió 2.0 upgrade: Mostra'm com actualitzar a la versió 2.0
version: "Hem publicat una nova versió de Greenlight, però la vostra base de dades no és compatible." version: "Hem publicat una nova versió de Greenlight, però la teva base de dades no és compatible."
language_default: Per omissió (llengua del navegador) language_default: Per omissió (idioma 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. 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: Inicia sessió login: Iniciar sessió
login_title: Inicieu sessió al vostre compte login_title: Iniciar sessió al teu compte
mailer: mailer:
user: user:
approve: approve:
info: El vostre compte ha estat autoritzat. info: El teu compte ha estat autoritzat.
signin: "Per a accedir a les vostres sales personals, feu clic al botó inferior i inicieu sessió." signin: "Per accedir a les teves sales personals, fes clic al botó inferior i inicia sessió."
signin_link: Inicia sessió signin_link: Iniciar sessió
signup: signup:
info: S'ha enregistrat un nou usuari. info: S'ha registrat 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ó. 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: Vés a la pàgina de l'organització admins_link: Anar a la pàgina de l'organització
subject: Registre d'usuari Greenlight nou subject: Registre d'usuari nou
username: "L'usuari s'ha registrat com a %{name} amb el correu electrònic %{email}." username: "L'usuari s'ha registrat com a %{name} amb el correu electrònic %{email}."
subject: Compte d'usuari autoritzat subject: Compte d'usuari autoritzat
username: "El vostre nom d'usuari és %{email}." username: "El teu nom d'usuari és %{email}."
demoted: demoted:
info: "Ja no sou %{role} a %{url}." info: "Ja no ets %{role} a %{url}."
more-info: Des d'aquest moment teniu els mateixos privilegis que un usuari normal. more-info: Des d'aquest moment tens els mateixos privilegis que un usuari regular.
root_link: Inicia sessió root_link: Iniciar sessió
subtitle: "Permís de %{role} eliminat" subtitle: "Permís de %{role} eliminat"
invite: invite:
info: "Heu estat convidat a tenir el vostre espai personal amb %{name}" info: "Has estat convidat a tenir el teu 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_info: "Per a registrar-te utilizant el teu compte de correu, fes clic al botó inferior i segueix els passos indicats."
signup_link: Registre signup_link: Registrar-se
signup: signup:
info: Un usuari que va ser convidat a registrar-se ha completat el seu registre. info: Un usuari que va ser convidat a registrar-se ha completat el seu registre.
admins_link: Vés a la pàgina de l'organització admins_link: Anar a la pàgina de l'organització
subject: Registre d'usuari Greenlight nou subject: Registre d'usuari nou
username: "L'usuari s'ha registrat com a %{name} amb el correu electrònic %{email}. " username: "L'usuari s'ha registrado com a %{name} amb el correu electrònic %{email}. "
subject: Invitació per a unir-se a BigBlueButton subject: Invitació per a unir-se a BigBlueButton
username: "El vostre nom d'usuari és %{email}." username: "El teu nom d'usuari és %{email}."
password_reset: password_reset:
title: 'S''ha restablert la contrasenya' title: 'La contrasenya ha estat reiniciada'
welcome: "S'ha sol·licitat un canvi de contrasenya per al correu electrònic <b>%{email}</b>" welcome: "S'ha sol·licitat un canvi de contrasenya pel 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.' 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: Restablir la contrasenya reset_link: Reiniciar la contrasenya
expire: Aquest enllaç caduca en dues hores expire: Aquest enllaç caduca en dues hores
ignore: Podeu ignorar aquest missatge sense problemes si no sou qui heu sol·licitat el canvi de contrasenya. ignore: Pots ignorar aquest missatge sense problemes si no has estat tu qui va sol·licitar el canvi de contrasenya.
promoted: promoted:
admins_link: Vés a la pàgina de l'organització admins_link: Anar a la pàgina de l'organització
info: "El vostre rol ha canviat a %{role} a %{url}." info: "El teu rol ha canviat a %{role} a %{url}."
more-info: "Per a veure les noves funcions que se us han activat visiteu %{url}" more-info: "Per a veure les noves funcions que se t'han activat visita %{url}"
subtitle: "Permisos de %{role} assignats" subtitle: "Permisos de %{role} assignats"
verify_email: verify_email:
welcome: "Benvingut al vostre espai personal %{name}" welcome: "Benvingut al teu espa personal %{name}"
success: "Fent ús de %{bigbluebutton}, podeu crear les vostres pròpies sales per a fer reunions i col·laborar amb altres usuaris." success: "Fent ús de %{bigbluebutton}, pots crear les teves pròpies sales per a realitzar reunions i col·laborar amb altres."
username: "El vostre nom d'usuari és %{email}" username: "El teu nom d'usuari és %{email}"
verify: "Per a verificar el compte, feu clic al botó inferior." verify: "Per a verificar el compte, fes clic al botó inferior."
verify_text: 'Utilitzeu aquest enllaç per a verificar el vostre compte: %{url}' verify_text: 'Utiliza aquest enllaç per a verificar el teu compte: %{url}'
verify_link: Verifica el compte d'usuari verify_link: Verificar el compte d'usuari
thanks: Gràcies per unir-vos i que tingueu bon dia! thanks: Gràcies per unir-te i que tinguis bon dia!
max_concurrent: S'ha arribat al nombre màxim de sessions permeses max_concurrent: S'ha arribat al número màxim de sessions permeses
merged: Fusionat merged: Fusionat
modal: modal:
create_role: create_role:
create: Crea un nou rol create: Crear un nou rol
footer_text: Podeu modificar els permisos per a aquest rol de manera individual una vegada que l'hàgiu creat footer_text: Pots modificar els permisos per a aquest rol de manera individual una vez que haya estat creado
name_placeholder: Introduïu el nom del rol name_placeholder: Introdueix el nom del rol
not_blank: El nom de rol no pot estar buit not_blank: El nom de rol no pot estar buit
title: Crea un nou rol title: Crear un nou rol
create_room: create_room:
access_code: Codi d'accés access_code: Codi d'accés
access_code_placeholder: Genera un nou codi d'accés access_code_placeholder: Generar un nou codi d'accés
auto_join: Envia'm a la sala automàticament quan comenci la sessió auto_join: Envia'm a la sala automàticament quan comenci la sessió
create: Crea una sala create: Crea sala
free_delete: Podreu eliminar la sala en el moment que vulgueu free_delete: Podràs eliminar la sala en el moment que vulguis
name_placeholder: Introduïu un nom per a la sala name_placeholder: Introdueix un nom per a la sala
not_blank: El nom de la sala no pot estar buit not_blank: El nom de la sala no pot estar buit
title: Crea una sala nova title: Crear una sala nova
delete_account: delete_account:
confirm: "Esteu segur de voler eliminar aquest compte d'usuari?" confirm: "Estàs segur d'eliminar aquest compte d'usuari?"
delete: Estic segur d'eliminar aquest compte delete: Estic segur d'eliminar aquest compte
keep: "De fet, la mantindré" keep: "De fet, la mantindré"
delete_warning: Aquesta acció desactiva el compte d'usuari. Tots els usuaris desactivats es mostren a la pestanya d'eliminats. delete_warning: Aquesta acció desactiva el compte d'usuari. Tos els usuaris desactivats es mostren a la pestanya d'eliminats.
warning: "Aquesta decisió és irreversible, <b>No</b> podreu recuperar la informació associada" warning: "Aquesta decisió és irrevesible, <b>No</b> podràs recuperar la informació associada"
delete_rec: delete_rec:
delete: "N'estic segur, elimina aquest enregistrament." delete: "Estic segur, elimina aquesta gravació."
header: "Esteu segur de voler eliminar aquest enregistrament?" header: "Estàs segur de voler eliminar aquesta gravació?"
warning: <b>No</b> podreu recuperar aquest enregistrament warning: <b>No</b> podràs recuperar aquesta gravació
delete_room: delete_room:
confirm: "Esteu segur de voler eliminar %{room}?" confirm: "Estàs segur de voler eliminar %{room}?"
delete: "Estc segur, elimina aquesta sala" delete: "Estc segur, elimina aquesta sala"
keep: "He canviat de parer, la mantindré" keep: "He canviat de parer, la mantindré"
warning: <b>No</b> podreu recuperar aquesta sala warning: <b>No</b> podràs recuperar aquesta sala
recording_warning: "o qualsevol dels vostres %{recordings_num} enregistraments associats." recording_warning: "o qualsevol de les teves %{recordings_num} gravacions associades."
invite_user: invite_user:
email_placeholder: Introduïu els correus electrònics d'usuari (separats per coma) email_placeholder: Introdueix els correus electrònics d'usuari (separats per coma)
footer: L'usuari rebrà un correu electrònic amb instruccions de com registrar-se footer: L'usuari rebrà un correu electrònic amb instruccions de com registrar-se
send: Envia la invitació send: Enviar invitació
title: Convida l'usuari title: Convidar usuari
login: login:
or: o or: o
with: "Inicia sessió amb %{provider}" with: "Iniciar sessió amb %{provider}"
forgot_password: "Heu oblidat la contrasenya?" forgot_password: "Has oblidat la teva contrasenya?"
preupload: preupload:
change: Substitueix la presentació change: Substitueix la presentació
choose: Trieu un fitxer... choose: Selecciona un arxiu
current: "Presentació actual:" 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." 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 de fitxer no vàlids. Consulteu les restriccions a continuació. invalid: "Mida o tipus d'arxiu no vàlids. Si us plau, consulta les restriccions a continuación."
title: Afegir una presentació title: Afegir presentació
use: Utilitza una presentació use: Utilitzar presentació
rename_recording: rename_recording:
remove_shared: remove_shared:
title: "Esteu segur de voler eliminar aquesta sala de la llista de sales?" title: "Estàs segur de voler eliminar aquesta sala de la teva llista de sales?"
delete: "Estic segur, elimina aquesta sala." delete: "Estic segur, elimina aquesta sala."
warning: <b>NO</b> podreu accedir a aquesta sala en el futur. warning: <b>NO</b> podràs accedir a aquesta sala en el futur.
room_settings: room_settings:
title: Configuració de la sala title: Configuració de la sala
update: Actualitza la sala update: Actualitzar la sala
client: Seleccioneu el tipus de client client: Seleccionar el tipus de client
join_moderator: Tots els usuaris s'uneixen com a moderadors join_moderator: Tots els usuaris s'uneixen com a moderadors
mute: Desactiva micròfon d'usuaris a l'entrar mute: Deshabilitar micròfon d'usuaris al entrar
require_approval: Requereix l'aprovació del moderador abans d'unir-se a la sessió require_approval: Requerir aprovació del moderador abans de unir-se a la sessió
start: Permet als usuaris iniciar aquesta sessió start: Permetre als usuaris iniciar aquesta sessió
footer_text: Podeu fer canvis a la sala en qualsevol moment footer_text: Pots fer canvis a la teva sala en qualsevol moment
recording: Permet l'enregistrament d'aquesta sala recording: Permetre a aquesta sala ser gravada
rename_room: rename_room:
name_placeholder: Introduïu un nou nom per a la sala... name_placeholder: Introdueix un nou nom per a la sala...
share_access: share_access:
footer: Compartir una sala amb un usuari permet que iniciï la sala i veure els enregistraments de la sala. footer: Compartir una sala amb un usuari permet que iniciï la sala i veure les gravacions de la sala.
list: Compartit amb list: Compartit amb
title: Comparteix l'accés a la sala title: Compartir accés a la sala
save: Desa els canvis save: Guardar canvis
cancel_changes: Cancel·la els canvis cancel_changes: Cancel·lar canvis
select: Seleccioneu un usuari select: Seleccionar usuari
merge_user: merge_user:
cancel: Cancel·la cancel: Cancel·lar
from: Compte per a ser fusionat from: Compte per a ser fusionada
title: Fusiona els comptes d'usuari title: Fusionar comptes d'usuari
to: Compte principal to: Compte principal
save: Fusiona save: Fusionar
footer: Les sales del compte que es fusionarà es transferiran a la llista de sales del compte principal i posteriorment s'eliminarà el compte. 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 s'ha actualitzat correctament 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. Assegureu-vos que l'heu escrit 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: S'ha produït un error en intentar autenticar utilitzant OmniAuth. Torneu a intentar-ho o contacteu amb un administrador! 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} en intentar autenticar utilitzant OmniAuth. Torneu a intentar-ho o contacteu 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!"
pagy: pagy:
nav: nav:
prev: "&lsaquo; Enrere" prev: "&lsaquo; Anterior"
next: "Endavant &rsaquo;" next: "Següent &rsaquo;"
gap: "&hellip;" gap: "&hellip;"
password: Contrasenya password: Contrasenya
password_empty_notice: La contrasenya no pot estar buida password_empty_notice: La contrasenya no pot estar buida
password_reset_success: S'ha canviat la contrasenya. password_reset_success: La contrasenya ha estat canviada
password_different_notice: Les contrasenyes introduïdes no coincideixen password_different_notice: La contrasenyes introduïdes no coincideix
provider: provider:
google: Google google: Google
office365: Office 365 office365: Office 365
twitter: Twitter twitter: Twitter
ldap: LDAP ldap: LDAP
openid_connect: OpenID Connect
recaptcha: recaptcha:
errors: errors:
recaptcha_unreachable: Os pedrer! La resposta del reCAPTCHA ha fallat. Torneu a intentar-ho. recaptcha_unreachable: Os pedrer! La resposta del teu reCAPTCHA ha fallat. Torna a intentar-ho.
verification_failed: "La verificació reCAPTCHA ha fallat, torneu a intentar-ho." verification_failed: "La verificació reCAPTCHA ha fallat, torna a intentar-ho."
recording: recording:
all_recordings: Tots els enregistraments all_recordings: Totes les gravacions
email: Envia un correu electrònic amb l'enregistrament email: Enviar correu electrònic amb la gravació
error: "S'ha produït un error en recuperar %{count} enregsitrament(s)." error: "Ha hagut un error al recuperar %{count} gravació(ns)."
no_recordings: "Aquesta sala no té cap registrament %{inject}." no_recordings: "Aquesta sala no te gravacions %{inject}"
no_user_recordings: No teniu cap enregisrament no_user_recordings: No tens gravacions
no_matched_recordings: "No hi ha %{inject} enregistraments que coincideixin amb la cerca." no_matched_recordings: "No hi ha %{inject} gravacions que coincideixin amb la teva cerca."
recorded_on: "Enregsitrada el %{date}" recorded_on: "Gravada el %{date}"
table: table:
name: Nom name: Nom
thumbnails: Miniatures d'imatge thumbnails: Miniatures d'imatge
@ -510,28 +502,27 @@ ca:
video: Vídeo video: Vídeo
registration: registration:
approval: approval:
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." 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 vostre compte d'usuari ha estat creat i se li ha enviat una notificació a l'administrador per a la seva autorització. signup: El teu compte d'usuari ha estat creat i se li ha enviat una notificació a l'administrador per a la seva autorització.
banned: banned:
fail: "No teniu accés a aquesta aplicació. Si penseu que es tracta d'un error, contacteu amb l'administrador del sistema." fail: "No tens accés a aquesta aplicació. Si creus que es tracta d'un error, contacta l'administrador del sistema."
deprecated: deprecated:
new_signin: Seleccioneu un nou mètode d'autenticació. Totes les sales vinculades al vostre compte anterior es migraran al compte nou 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ó. 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_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. Utilitzeu un mètode d'autenticació diferent per a registrar-vos 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 vostre compte vinculat a Twitter s'ha fusionat correctament amb el compte nou. El compte vinculat amb Twitter ha estat eliminat. 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.
invite: invite:
fail: "El codi ha caducat o no és vàlid. Si penseu que es tracta d'un error, contacteu amb l'administrador del sistema." 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 teniu una invitació per a ingressar. Contacteu amb l'administrador del sistema per a obtenir-ne una. no_invite: No tens una invitació per a ingresar. Contacta amb l'administrador del sistema per a obtenir-ne una.
remove: Elimina remove: Eliminar
rename: Canvia el nom rename: Canviar nom
reset_password: reset_password:
captcha: "La verificació reCAPTCHA ha fallat, torneu a intentar-ho." invalid_token: El token de restabliment de contrasenya no és vàlid. Intenta restablir la teva contrasenya de nou.
invalid_token: El token de restabliment de contrasenya no és vàlid. Intenteu restablir la contrasenya de nou. subtitle: Reiniciar contrasenya
subtitle: Restableix la contrasenya password: Nova contrasenya
password: Contrasenya nova confirm: Confirmació de nova contrasenya
confirm: Confirmació de la contrasenya nova update: Actualitzar contrasenya
update: Actualitza la 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."
auth_change: El mètode d'autenticació ha canviat. Consulteu el correu electrònic per a configurar la contrasenya.
roles: roles:
active: Actiu active: Actiu
admin: Administrador admin: Administrador
@ -540,103 +531,102 @@ ca:
pending: Pendent pending: Pendent
user: Usuari user: Usuari
room: room:
access_code_required: Introduïu un codi d'accés vàlid per a unir-vos a la sala access_code_required: Introdueix un codi d'accés vàlid per a unir-te a la sala
add_presentation: Afegeix una presentació add_presentation: Afegir presentació
copy_access: Copia el codi d'accés copy_access: Copia el codi d'accés
create_room: Crea una sala create_room: Crear una sala
create_room_error: S'ha produït un error en crear la sala create_room_error: Ha hagut un error al crear la sala
create_room_success: La sala s'ha creat correctament create_room_success: La sala s'ha creat correctament
delete: delete:
home_room: No és possible eliminar la sala principal home_room: No és possible eliminar la sala principal
success: S'ha eliminat la sala correctament success: Sala eliminada correctament
fail: "S'ha produït un error en eliminar la sala (%{error})" fail: "S'ha produït un error a l'eliminar la sala (%{error})"
enter_the_access_code: Introduïu el codi d'accés de la sala enter_the_access_code: Introdueix 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. invalid_provider: L'enllaç introduït no és vàlid. Comprova'l i torna 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." 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: Heu estat convidat a unir-vos invited: Ha estat convidat a unir-te
recording_present: Reconec que aquesta sessió s'enregistrarà. Això pot incloure la meva veu i el meu vídeo si està activat. recording_present: Reconec que aquesta sessió es gravarà. Això pot incloure la meva veu i el meu vídeo si està activat.
invite_participants: Convida participants invite_participants: Convidar participants
join: Entra join: Entrar
last_session: "Última sessió a %{session}" last_session: "Última sessió a %{session}"
login: Entra login: Entrar
owner: Propietari owner: Propietari
owner_banned: Aquesta sala no és accessible actualment owner_banned: Aquesta sala no és accessible actualment
no_room: no_room:
description: Introduïu l'enllaç o ID de la sala a la qual voleu unir-vos. description: Introdueix l'enllaç o ID de la sala a la que vols unir-te.
edit_profile: Edita el perfil d'usuari edit_profile: Edita el perfil d'usuari
go_to: Vés a la sala go_to: Anar a sala
invalid_room_uid: L'enllaç o UID que heu introduït no és vàlid. invalid_room_uid: L'enllaç o UID que has introduït no és vàlid.
placeholder: Enllaç/uid de la sala placeholder: Enllaç/uid de la sala
no_recent_rooms: No heu utilitzat cap sala recientement no_recent_rooms: No has utilitzat cap sala recientement
recent_rooms: Vés a les sales utilitzades recentment recent_rooms: Ves a Sales utilizadas recentement
title: Uneix-te a una sala title: Uneix-te a una Sala
no_sessions: Aquesta sala encara no té cap sessió no_sessions: Aquesta sala encara no te sessions
preupload_success: La presentació s'ha afegit correctament preupload_success: Presentació afegida correctament
preupload_error: S'ha produït un error en actualitzar la presentació de la sala preupload_error: Ha hagut un error actualitzant la presentació de la sala
preupload_remove_success: Eliminació de presentació correcta preupload_remove_success: Eliminació de presentació correcta
preupload_remove_error: S'ha produït un error en eliminar la presentació de la sala preupload_remove_error: Ha hagut un error eliminant la presentació de la sala
recordings: Enregistraments de sala recordings: Gravacions de sala
room_limit: Heu arribat al nombre límit de sales permeses room_limit: Has arribat al número límit de sales permeses
room_limit_exceeded: "Heu superat el nombre de sales permeses. Elimineu %{difference} sales per a poder accedir a aquesta." 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."
sessions: Sessions sessions: Sessions
settings: Configuració de sala settings: Configuració de sala
share: Gestiona l'accés share: Gestionar accés
shared_by: "Compartit per %{email}" shared_by: "Compartit per %{email}"
remove_shared_access_success: S'ha eliminat correctament la sala compartida de la llista de sales remove_shared_access_success: S'ha eliminat correctament la sala compartida de la teva llista de sales
remove_shared_access_error: S'ha produït un error en eliminar la sala compartida de la llista de sales remove_shared_access_error: Ha hagut un error eliminant la sala compartida de la teva llista de sales
shared_access_success: Sala compartida correctament shared_access_success: Sala compartida correctament
shared_access_error: S'ha produït un error en compartir la sala shared_access_error: Ha hagut un error compartint la sala
start: Inicia start: Inicia
search: Cerca sala... unavailable: Aquesta sala no es troba disponible perquè el compte de correu del seu propietari no ha estat verificat.
unavailable: Aquesta sala no es troba disponible perquè el compte de correu del seu propietari no s'ha verificat. update_settings_error: Ha hagut un error a l'actualitzar la configuració de la sala
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 update_settings_success: La configuració de la sala ha estat actualitzada correctament
wait: wait:
message: La sessió encara no ha començat. message: La sessió encara no ha començat.
auto: Se us enviarà cap a la sala automàticament quan comenci la sessió auto: Seràs enviat a la sala automàticament quan comenci la sessió
settings: settings:
account: account:
fullname: Nom complet fullname: Nom complet
language: Llengua language: Idioma
provider: Proveïdor provider: Proveïdor
image: Imatge image: Imatge
image_url: Enllaç a la imatge de perfil image_url: Enllaç a la imatge de perfil
roles: Rol d'usuari roles: Rol d'usuari
subtitle: Actualitzeu la vostra informació d'usuari subtitle: Actualitzar informació d'usuari
title: Informació del compte title: Informació del compte
reset_password: Restableix la contrasenya d'usuari reset_password: Restablir contrasenya d'usuari
delete: delete:
button: "Sí, m'agradaria eliminar el meu compte d'usuari." button: "Sí, m'agradaria eliminar el meu compte d'usuari."
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à." 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."
subtitle: Eliminar el compte de forma permanent subtitle: Eliminar el compte de forma permanent
title: Elimina el compte title: Eliminar compte
password: password:
confirmation: Confirmació de contrasenya nova confirmation: Confirmació de contrasenya nova
new: Contrasenya nova new: Contrasenya nova
old: Contrasenya anterior old: Contrasenya anterior
subtitle: Canvia la contrasenya subtitle: Canviar la teva contrasenya
title: Contrasenya title: Contrasenya
title: Perfil d'usuari title: Perfil d'usuari
search: Cerca search: Cerca
signup: signup:
password_confirm: Confirmació de contrasenya password_confirm: Confirmació de contrasenya
subtitle: Crea un compte subtitle: Crear un compte
title: Registre title: Registrar-se
with: "Registre amb %{provider}" with: "Registrar-se utilitzant %{provider}"
terms: terms:
accept: "Accepto els %{href}" accept: Accepto els termes y condicions d'ús
accept_existing: Accepto els termes y condicions d'ús accept_existing: Accepto els termes y condicions d'ús
title: Termes i condicions d'ús title: Termes y condicions d'ús
test_install: > test_install: >
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}. 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}.
update: Actualitza update: Actualitza
verify: verify:
accept: Verifica accept: Verifica
activated: Compte verificat. activated: Compte de correu verificada.
already_verified: El compte ja s'ha verificat already_verified: Compte de correu verificada amb anterioritat
invalid: Enllaç de verificació no vàlid invalid: Enllaç de verificació no vàlid
not_verified: El compte encara no s'ha verificat not_verified: El teu compte de correu no ha estat verificat
resend: Torna a enviar l'enllaç de verificació resend: Reenviar enllaç per a verificació de compte de correu
signin: "Inicieu sessió per a tenir accés al vostre compte " signin: "Inicia sessió per a tenir accés al teu compte "
title: Verifiqueu l'adreça electrònica title: Verifica el teu compte de correu
verification: Verificació verification: Verificació

View File

@ -69,10 +69,6 @@ cs:
regular: Hlavní barva regular: Hlavní barva
lighten: Světlá barva lighten: Světlá barva
darken: Tmavá barva darken: Tmavá barva
email_mapping:
info: "Přiřaď uživateli roli podle e-mailu. Musí být ve formátu: email1=role1,email2=role2"
title: Mapování rolí podle e-mailu
update:
log_level: log_level:
title: Úroveň logování title: Úroveň logování
information: "Změní úroveň pro celý server " information: "Změní úroveň pro celý server "
@ -94,7 +90,7 @@ cs:
title: Informace o údržbě title: Informace o údržbě
display: Nastavit display: Nastavit
clear: Vyčistit clear: Vyčistit
time: "Příklad: Údržba systému je naplánovaná na 13. prosince ve 23:00.\nUživatelé mohou mít potíže s přihlášením do systému." time: "Příklad: Údržba systému je naplánovaná na 13. prosince ve 23:00.\nUživatelé mohou mít potíže s přihlášením do systému."
preupload: preupload:
info: "Uživatelé mohou nahrát prezentaci, která bude použita jako výchozí prezentace pro vybranou místnost." info: "Uživatelé mohou nahrát prezentaci, která bude použita jako výchozí prezentace pro vybranou místnost."
title: Povolit uživatelům nahrát výchozí prezentaci title: Povolit uživatelům nahrát výchozí prezentaci
@ -115,7 +111,6 @@ cs:
tabs: tabs:
appearance: Vzhled appearance: Vzhled
administration: Administrace administration: Administrace
registration: Registrace
settings: Nastavení settings: Nastavení
title: Nastavení serveru title: Nastavení serveru
flash: flash:
@ -138,10 +133,8 @@ cs:
settings: Nastavení serveru úspěšně změněno settings: Nastavení serveru úspěšně změněno
unauthorized: Nemáte dostatečná oprávnění k provedení akce. unauthorized: Nemáte dostatečná oprávnění k provedení akce.
recordings: recordings:
latest: Poslední nahrávky
title: Uložené nahrávky title: Uložené nahrávky
no_recordings: Na serveru dosud nejsou uloženy žádné nahrávky no_recordings: Na serveru dosud nejsou uloženy žádné nahrávky
search_info: Vložte uživatelův e-mail nebo identifikátor místnosti
roles: roles:
appear_in_share_list: Uživatelé s touto rolí mohou sdílet místnost. appear_in_share_list: Uživatelé s touto rolí mohou sdílet místnost.
can_create_rooms: Uživatel může vytvářet místnosti can_create_rooms: Uživatel může vytvářet místnosti
@ -175,9 +168,6 @@ cs:
info: Přiděl práva moderátora všem uživatelům ihned po připojení. info: Přiděl práva moderátora všem uživatelům ihned po připojení.
recordings: 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í\"." 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: options:
disabled: Vypnuto disabled: Vypnuto
enabled: Vždy zapnuto enabled: Vždy zapnuto
@ -229,7 +219,6 @@ cs:
cookies: 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_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 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 copied: Zkopírováno
copy: Kopírovat copy: Kopírovat
date: date:
@ -356,7 +345,6 @@ cs:
info: " Byl jste pozván do Vašeho osobního prostoru uživatelem %{name}" 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_info: "Pro registraci Vaším emailem, klikněte na tlačítko níže a postupujte podle předepsaných kroků."
signup_link: Registrace signup_link: Registrace
valid: "Pozvánka je platná do: %{date}"
signup: signup:
info: Pozvaný Greenlight uživatel se zaregistroval. info: Pozvaný Greenlight uživatel se zaregistroval.
admins_link: Navštivte stránku Organizace admins_link: Navštivte stránku Organizace
@ -395,9 +383,7 @@ cs:
title: Vytvořit novou roli title: Vytvořit novou roli
create_room: create_room:
access_code: Přístupový kód access_code: Přístupový kód
moderator_access_code: PIN moderátora
access_code_placeholder: Vygenerovat volitelný přístupový kód 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 auto_join: Připojit mne automaticky do místnosti
create: Vytvořit místnost create: Vytvořit místnost
free_delete: Tuto místnost můžete kdykoliv odstranit. free_delete: Tuto místnost můžete kdykoliv odstranit.
@ -486,7 +472,6 @@ cs:
office365: Office 365 office365: Office 365
twitter: Twitter twitter: Twitter
ldap: LDAP ldap: LDAP
openid_connect: OpenID Connect
recaptcha: recaptcha:
errors: errors:
recaptcha_unreachable: Nepodařilo se nám ověřit Vaši odpověď na reCAPTCHA. Zkuste to prosím znovu. recaptcha_unreachable: Nepodařilo se nám ověřit Vaši odpověď na reCAPTCHA. Zkuste to prosím znovu.
@ -532,7 +517,6 @@ cs:
remove: Odstranit remove: Odstranit
rename: Přejmenovat rename: Přejmenovat
reset_password: reset_password:
captcha: "Ověření reCAPTCHA selhalo, zkuste to prosím znovu."
invalid_token: Token resetu hesla je neplatný. Prosím proveďte reset svého hesla ještě jednou. invalid_token: Token resetu hesla je neplatný. Prosím proveďte reset svého hesla ještě jednou.
subtitle: Resetovat heslo subtitle: Resetovat heslo
password: Nové heslo password: Nové heslo
@ -545,13 +529,11 @@ cs:
banned: Zablokovaní banned: Zablokovaní
deleted: Smazaní deleted: Smazaní
pending: Čekající pending: Čekající
invited: Pozván
user: Uživatel user: Uživatel
room: room:
access_code_required: Prosím zadejte platný přístupový kód pro vstup do místnosti access_code_required: Prosím zadejte platný přístupový kód pro vstup do místnosti
add_presentation: Přidat prezentaci add_presentation: Přidat prezentaci
copy_access: Zkopíruj přístupový kód copy_access: Zkopíruj přístupový kód
copy_moderator_access: Zkopíruj pin moderátora
create_room: Vytvořit místnost create_room: Vytvořit místnost
create_room_error: Při vytváření místnosti nastala chyba create_room_error: Při vytváření místnosti nastala chyba
create_room_success: Místnost byla úspěšně vytvořena create_room_success: Místnost byla úspěšně vytvořena
@ -560,10 +542,8 @@ cs:
success: Místnost byla smazána success: Místnost byla smazána
fail: "Nepodařilo se smazat místnost (%{error})" fail: "Nepodařilo se smazat místnost (%{error})"
enter_the_access_code: Vložte přístupový kód do místnosti 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. 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." 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 invited: Byl jste pozván na konferenci v místnosti
recording_present: Souhlasím s nahráváním sezení v místnosti včetně mého hlasu a web kamery pokud jsou zapnuté. recording_present: Souhlasím s nahráváním sezení v místnosti včetně mého hlasu a web kamery pokud jsou zapnuté.
invite_participants: Pozvánka pro účastníky invite_participants: Pozvánka pro účastníky

View File

@ -69,10 +69,6 @@ da:
regular: Almindelig regular: Almindelig
lighten: Lysere lighten: Lysere
darken: Mørkere darken: Mørkere
email_mapping:
info: "Giv brugeren en rolle ved hjælp af deres e-mail. Skal være i formatet email1 = rolle1, email2 = rolle2\n "
title: Giv Roller via Email
update:
log_level: log_level:
title: Log Niveau title: Log Niveau
information: Skift Log Niveau for hele systemet information: Skift Log Niveau for hele systemet
@ -94,7 +90,7 @@ da:
title: Vedligeholdelses Banner title: Vedligeholdelses Banner
display: Sæt display: Sæt
clear: Ryd clear: Ryd
time: "Eksempel: Opdatering planlagt 13. december @ 23:00 ET. Brugere kan have problemer med at logge ind." time: "Eksempel: Opdatering planlagt 13. december @ 23:00 ET. Brugere kan have problemer med at logge ind."
preupload: preupload:
info: "Brugere kan forhåndsindlæse en præsentation, der skal bruges som standardpræsentation for det specifikke rum" info: "Brugere kan forhåndsindlæse en præsentation, der skal bruges som standardpræsentation for det specifikke rum"
title: Tillad Brugere at Forhåndsindlæse Præsentationer title: Tillad Brugere at Forhåndsindlæse Præsentationer
@ -115,7 +111,6 @@ da:
tabs: tabs:
appearance: Udseende appearance: Udseende
administration: Administration administration: Administration
registration: Registrering
settings: Indstillinger settings: Indstillinger
title: Side Indstillinger title: Side Indstillinger
flash: flash:
@ -138,10 +133,8 @@ da:
settings: Sidens indstillinger er blevet ændret med succes settings: Sidens indstillinger er blevet ændret med succes
unauthorized: Du er ikke godkendt til at lave denne handling på brugeren unauthorized: Du er ikke godkendt til at lave denne handling på brugeren
recordings: recordings:
latest: Sidste nye Optagelser
title: Server Optagelser title: Server Optagelser
no_recordings: Denne server har ingen optagelser. no_recordings: Denne server har ingen optagelser.
search_info: Indtast en brugers fulde e-mail eller et rums uid
roles: roles:
appear_in_share_list: Inkluder brugere med denne rolle i rullemenuen for delte rum appear_in_share_list: Inkluder brugere med denne rolle i rullemenuen for delte rum
can_create_rooms: Kan oprette rum can_create_rooms: Kan oprette rum
@ -175,15 +168,12 @@ da:
info: "Giver alle brugernes moderatorrettigheder i BigBlueButton, når de deltager i mødet." info: "Giver alle brugernes moderatorrettigheder i BigBlueButton, når de deltager i mødet."
recordings: recordings:
info: "Tillader rum ejere at specificere, om de vil have muligheden for at optage et værelse eller ej. Hvis aktiveret, skal moderatoren stadig klikke på \"Optag\" -knappen, når mødet er startet." info: "Tillader rum ejere at specificere, om de vil have muligheden for at optage et værelse eller ej. Hvis aktiveret, skal moderatoren stadig klikke på \"Optag\" -knappen, når mødet er startet."
moderator_codes:
info: "Giver rum ejere mulighed for valgfrit at generere en moderator-pin, som giver andre brugere mulighed for at deltage direkte som moderatorer."
title: Moderator Adgangskode
options: options:
disabled: Deaktiver disabled: Deaktiver
enabled: Altid Aktiveret enabled: Altid Aktiveret
optional: Valgfri optional: Valgfri
rooms: rooms:
timeout: "På grund af %{server} Serveren fik timeout for serveranmodning, oplysningerne om status og deltagere er muligvis ikke korrekte" timeout: " \nPå grund af %{server} Serveren fik timeout for serveranmodning, oplysningerne om status og deltagere er muligvis ikke korrekte"
title: Server Rum title: Server Rum
table: table:
ended: "Sluttede: %{session}" ended: "Sluttede: %{session}"
@ -229,7 +219,6 @@ da:
cookies: cookies:
cookie_info: "Cookies hjælper os med at levere vores service. Ved at bruge vores system, godkender du samtidigt vores brug af cookies." cookie_info: "Cookies hjælper os med at levere vores service. Ved at bruge vores system, godkender du samtidigt vores brug af cookies."
cookie_button: Jeg er enig cookie_button: Jeg er enig
policy: "For mere information, læs vores<a href=\"%{privacy_link}\"><u>privatlivs politik</u></a>."
copied: Kopiret copied: Kopiret
copy: Kopier copy: Kopier
date: date:
@ -268,7 +257,6 @@ da:
accepted: skal accepteres accepted: skal accepteres
confirmation: "passer ikke til %{attribute}" confirmation: "passer ikke til %{attribute}"
inclusion: er ikke inkluderet i listen inclusion: er ikke inkluderet i listen
domain: "skal ende med \"%{email_domain}\""
no_provider: no_provider:
message: Siden du prøver at få adgang til er ikke slået til message: Siden du prøver at få adgang til er ikke slået til
help: Kontakt venligst din system administrator for at indstille Greenlight help: Kontakt venligst din system administrator for at indstille Greenlight
@ -313,7 +301,6 @@ da:
home_room: Hjemme Rum home_room: Hjemme Rum
info_update_success: Informationerne er opdateret med succes. info_update_success: Informationerne er opdateret med succes.
invalid_credentials: "Den indtastede email og adgangskode, passer ikke på det vi har stående i vores system. Prøv igen, eller klik på Glemt Adgangskode, for at nulstille denne. " invalid_credentials: "Den indtastede email og adgangskode, passer ikke på det vi har stående i vores system. Prøv igen, eller klik på Glemt Adgangskode, for at nulstille denne. "
invalid_credentials_external: "Den email og adgangskode du indtastede, matchede ikke i vores system. Prøv venligst igen."
invalid_login_method: "Dit login forsøg fejlede da der var en fejl med kontoen.\nDu bliver nødt til at logge ind med omniauth." invalid_login_method: "Dit login forsøg fejlede da der var en fejl med kontoen.\nDu bliver nødt til at logge ind med omniauth."
invite_message: "For at invitere nogen til et møde, skal du sende dem dette link:" invite_message: "For at invitere nogen til et møde, skal du sende dem dette link:"
javascript: javascript:
@ -358,7 +345,6 @@ da:
info: "Du er blevet inviteret til dit eget personlige rum af %{name}" info: "Du er blevet inviteret til dit eget personlige rum af %{name}"
signup_info: "For at oprette dig med din email, klik på knappen nedenunder og følg vejledningen." signup_info: "For at oprette dig med din email, klik på knappen nedenunder og følg vejledningen."
signup_link: Opret Konto signup_link: Opret Konto
valid: "Invitationen er gyldig indtil: %{date}"
signup: signup:
info: En bruger der var inviteret har oprette sig på Greenlight. info: En bruger der var inviteret har oprette sig på Greenlight.
admins_link: Besøg Indstillings Siden admins_link: Besøg Indstillings Siden
@ -397,9 +383,7 @@ da:
title: Opret Ny Rolle title: Opret Ny Rolle
create_room: create_room:
access_code: Adgangs Kode access_code: Adgangs Kode
moderator_access_code: Moderator Adgangskode
access_code_placeholder: Generer en adgangskode til rummet. Valgfrit. access_code_placeholder: Generer en adgangskode til rummet. Valgfrit.
moderator_access_code_placeholder: Generer en valgfri adgangskode til moderatorer
auto_join: Tilslut mig automatisk i rummet. auto_join: Tilslut mig automatisk i rummet.
create: Opret Rum create: Opret Rum
free_delete: Du vil kunne slette dette rum på et hvilket som helst tidspunkt. free_delete: Du vil kunne slette dette rum på et hvilket som helst tidspunkt.
@ -414,7 +398,7 @@ da:
warning: Denne beslutning er afgørende. Du vil <b>ikke</b> kunne genskabe data igen. warning: Denne beslutning er afgørende. Du vil <b>ikke</b> kunne genskabe data igen.
delete_rec: delete_rec:
delete: "Jeg er sikker, slet denne optagelse." delete: "Jeg er sikker, slet denne optagelse."
header: "Er du sikker på, at du vil slette denne optagelse?" header: " \nEr du sikker på, at du vil slette denne optagelse?"
warning: Du vil <b> ikke </b> have mulighed for at genskabe denne optagelse warning: Du vil <b> ikke </b> have mulighed for at genskabe denne optagelse
delete_room: delete_room:
confirm: "Er du sikker på du vil slette %{room}?" confirm: "Er du sikker på du vil slette %{room}?"
@ -488,7 +472,6 @@ da:
office365: Office 365 office365: Office 365
twitter: Twitter twitter: Twitter
ldap: LDAP ldap: LDAP
openid_connect: OpenID Connect
recaptcha: recaptcha:
errors: errors:
recaptcha_unreachable: "Årh nej, vi kunne ikke bekræfte din reCAPTCHA forbindelse. Prøv venligst igen." recaptcha_unreachable: "Årh nej, vi kunne ikke bekræfte din reCAPTCHA forbindelse. Prøv venligst igen."
@ -509,7 +492,6 @@ da:
visibility: Synlighed visibility: Synlighed
formats: Formater formats: Formater
visibility: visibility:
inaccessible: Utilgængelig
public: Synlig public: Synlig
unlisted: Skjult unlisted: Skjult
format: format:
@ -535,7 +517,6 @@ da:
remove: Fjern remove: Fjern
rename: Omdøb rename: Omdøb
reset_password: reset_password:
captcha: "reCAPTCHA verifikation fejlede, prøv venligst igen."
invalid_token: Token til nulstilling af adgangskode er ugyldigt. Prøv at nulstille din adgangskode igen. invalid_token: Token til nulstilling af adgangskode er ugyldigt. Prøv at nulstille din adgangskode igen.
subtitle: Nulstil Adgangskode subtitle: Nulstil Adgangskode
password: Ny Adgangskode password: Ny Adgangskode
@ -548,13 +529,11 @@ da:
banned: Bortvist banned: Bortvist
deleted: Slettet deleted: Slettet
pending: Afventer pending: Afventer
invited: Inviteret
user: Bruger user: Bruger
room: room:
access_code_required: Indtast venligst en gyldig adgangskode for at deltage i rummet access_code_required: Indtast venligst en gyldig adgangskode for at deltage i rummet
add_presentation: Tilføj Præsentation add_presentation: Tilføj Præsentation
copy_access: Kopier Adgangskode copy_access: Kopier Adgangskode
copy_moderator_access: Kopier Moderator Adgangskode
create_room: Opret et Rum create_room: Opret et Rum
create_room_error: Der var en fejl ved oprettelsen af rummet create_room_error: Der var en fejl ved oprettelsen af rummet
create_room_success: Rummet blev oprettet med succes create_room_success: Rummet blev oprettet med succes
@ -563,10 +542,8 @@ da:
success: Rummet blev slettet med succes success: Rummet blev slettet med succes
fail: "Kunne ikke slette rummet (%{error})" fail: "Kunne ikke slette rummet (%{error})"
enter_the_access_code: Indtast rummets adgangskode enter_the_access_code: Indtast rummets adgangskode
enter_the_moderator_access_code: Indtast rummets moderator adgangskode!
optional_moderator_access_code: "Valgfri Moderator Adgangskode:"
invalid_provider: Du har indtastet en forkert url. Tjek venligst adressen og prøv igen. invalid_provider: Du har indtastet en forkert url. Tjek venligst adressen og prøv igen.
invitation_description: "Du er blevet inviteret til at deltage %{name} ved hjælp af BigBlueButton. For at deltage skal du klikke på linket ovenfor og indtaste dit navn." invitation_description: "Du er blevet inviteret til at deltage %{name} ved hjælp af BigBlueButton. For at deltage skal du klikke på linket ovenfor og indtaste dit navn."
invited: Du er blevet inviteret til at deltage invited: Du er blevet inviteret til at deltage
recording_present: "Jeg anerkender, at denne session vil blive optaget. Dette kan omfatte min stemme og video, hvis det er aktiveret." recording_present: "Jeg anerkender, at denne session vil blive optaget. Dette kan omfatte min stemme og video, hvis det er aktiveret."
invite_participants: Inviter Deltagere invite_participants: Inviter Deltagere
@ -601,7 +578,6 @@ da:
shared_access_success: Rummet blev delt med succes shared_access_success: Rummet blev delt med succes
shared_access_error: Der var en fejl ved deling af rummet shared_access_error: Der var en fejl ved deling af rummet
start: Start start: Start
search: Søg efter rum...
unavailable: Dette rum er i øjeblikket ikke tilgængeligt på grund af ejerens e-mail ikke er blevet bekræftet. unavailable: Dette rum er i øjeblikket ikke tilgængeligt på grund af ejerens e-mail ikke er blevet bekræftet.
update_settings_error: Der var en fejl ved opdateringen af indstillingerne for rummet update_settings_error: Der var en fejl ved opdateringen af indstillingerne for rummet
update_settings_success: Indstillingerne for rummet blev opdateret med succes. update_settings_success: Indstillingerne for rummet blev opdateret med succes.
@ -610,7 +586,7 @@ da:
auto: Du vil automatisk blive tilsluttet når mødet starter. auto: Du vil automatisk blive tilsluttet når mødet starter.
settings: settings:
account: account:
fullname: Fulde Navn fullname: Fulde navn
language: Sprog language: Sprog
provider: Udbyder provider: Udbyder
image: Billede image: Billede
@ -643,9 +619,6 @@ da:
title: Regler og Betingelser title: Regler og Betingelser
test_install: > test_install: >
Denne installation bruger en forudkonfigureret testserver, du skal erstatte denne med din egen. For detaljer, se %{href}. Denne installation bruger en forudkonfigureret testserver, du skal erstatte denne med din egen. For detaljer, se %{href}.
time:
formats:
default: "%b %d, %Y %-I:%M%P"
update: Opdater update: Opdater
verify: verify:
accept: Bekræft accept: Bekræft

View File

@ -40,7 +40,7 @@ de_DE:
branding: branding:
change: Bild ändern change: Bild ändern
info: Das in der linken oberen Ecke dargestellte Logo ändern info: Das in der linken oberen Ecke dargestellte Logo ändern
placeholder: Bild-URL... placeholder: Bild URL...
title: Logo title: Logo
invalid: Ungültige URL invalid: Ungültige URL
legal: legal:
@ -72,7 +72,7 @@ de_DE:
email_mapping: email_mapping:
info: "Ordnen Sie den Nutzer anhand seiner E-Mail einer Rolle zu. Muss im Format email1=Rolle1,email2=Rolle2 erfolgen" info: "Ordnen Sie den Nutzer anhand seiner E-Mail einer Rolle zu. Muss im Format email1=Rolle1,email2=Rolle2 erfolgen"
title: Rollenzuordnung per E-Mail title: Rollenzuordnung per E-Mail
update: update:
log_level: log_level:
title: Log-Level title: Log-Level
information: Log-Level für die gesamte Anwendung ändern information: Log-Level für die gesamte Anwendung ändern
@ -94,7 +94,7 @@ de_DE:
title: Banner für Wartungsarbeiten title: Banner für Wartungsarbeiten
display: Setzen display: Setzen
clear: Löschen clear: Löschen
time: "Beispiel: Aktualisierung geplant am 13. Dezember um 23:00 Uhr MEZ. Nutzer könnten Probleme bei der Anmeldung haben." time: "Beispiel: Aktualisierung geplant am 13. Dezember um 23:00 Uhr MEZ. Nutzer könnten Probleme bei der Anmeldung haben."
preupload: preupload:
info: "Nutzer können eine Präsentation vorab hochladen, die als Standardpräsentation für diesen speziellen Raum verwendet werden soll" info: "Nutzer können eine Präsentation vorab hochladen, die als Standardpräsentation für diesen speziellen Raum verwendet werden soll"
title: "Nutzern erlauben, Präsentationen vorab hochzuladen" title: "Nutzern erlauben, Präsentationen vorab hochzuladen"
@ -138,14 +138,11 @@ de_DE:
settings: Grundeinstellungen erfolgreich geändert settings: Grundeinstellungen erfolgreich geändert
unauthorized: "Sie haben nicht die notwendigen Rechte, um diese Änderung bei diesem Teilnehmer vorzunehmen." unauthorized: "Sie haben nicht die notwendigen Rechte, um diese Änderung bei diesem Teilnehmer vorzunehmen."
recordings: recordings:
latest: Aktuelle Aufzeichnungen
title: Serveraufzeichnungen title: Serveraufzeichnungen
no_recordings: Keine Aufzeichnungen vorhanden. no_recordings: Keine Aufzeichnungen vorhanden.
search_info: Geben Sie die vollständige E-Mail eines Nutzers oder die Raum-ID ein
roles: roles:
appear_in_share_list: Nutzer mit dieser Rolle im Dropdown-Menü zum Teilen von Räumen einschließen appear_in_share_list: Nutzer mit dieser Rolle im Dropdown-Menü zum Teilen von Räumen einschließen
can_create_rooms: Kann Räume erstellen can_create_rooms: Kann Räume erstellen
can_launch_recording: "Nutzern mit dieser Rolle erlauben, ihre Konferenzen aufzuzeichnen"
delete: Rolle löschen delete: Rolle löschen
invalid_create: Es kam zu einem Problem beim Erzeugen einer neuen Rolle. Bitte prüfen Sie die Rollenwerte und versuchen Sie es erneut invalid_create: Es kam zu einem Problem beim Erzeugen einer neuen Rolle. Bitte prüfen Sie die Rollenwerte und versuchen Sie es erneut
invalid_order: Es kam zu einem Problem beim Aktualisieren der Rollenpriorität. Bitte prüfen Sie die Werte und versuchen Sie es erneut invalid_order: Es kam zu einem Problem beim Aktualisieren der Rollenpriorität. Bitte prüfen Sie die Werte und versuchen Sie es erneut
@ -176,9 +173,6 @@ de_DE:
info: "Gewährt allen Teilnehmern Moderatorenrechte in BigBlueButton, wenn sie an der Konferenz teilnehmen." info: "Gewährt allen Teilnehmern Moderatorenrechte in BigBlueButton, wenn sie an der Konferenz teilnehmen."
recordings: 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." 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: options:
disabled: Deaktiviert disabled: Deaktiviert
enabled: Immer aktiviert enabled: Immer aktiviert
@ -230,7 +224,6 @@ de_DE:
cookies: cookies:
cookie_info: Cookies helfen uns bei der Bereitstellung unserer Dienste. Durch die Nutzung der Dienste stimmen Sie der Nutzung von Cookies zu. 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 cookie_button: Ich stimme zu
policy: "Weitere Informationen finden Sie in unserer <a href=\"%{privacy_link}\"><u>Datenschutzerklärung</u></a>."
copied: Kopiert copied: Kopiert
copy: Kopieren copy: Kopieren
date: date:
@ -269,7 +262,6 @@ de_DE:
accepted: muss akzeptiert werden accepted: muss akzeptiert werden
confirmation: "passt nicht zu %{attribute}" confirmation: "passt nicht zu %{attribute}"
inclusion: ist nicht Teil der Liste inclusion: ist nicht Teil der Liste
domain: "muss mit \"%{email_domain}\" enden"
no_provider: no_provider:
message: "Die Seite, auf die Sie zugreifen möchten, ist nicht aktiviert." message: "Die Seite, auf die Sie zugreifen möchten, ist nicht aktiviert."
help: "Bitte kontaktieren Sie Ihren Systemadministrator, damit er Greenlight einrichtet." help: "Bitte kontaktieren Sie Ihren Systemadministrator, damit er Greenlight einrichtet."
@ -314,7 +306,6 @@ de_DE:
home_room: Startraum home_room: Startraum
info_update_success: Information erfolgreich aktualisiert. info_update_success: Information erfolgreich aktualisiert.
invalid_credentials: "Die eingegebene E-Mail und das Passwort sind nicht richtig. Bitte versuchen Sie es erneut oder wählen Sie die Option Ihr Passwort zurückzusetzen, falls Sie es vergessen haben." invalid_credentials: "Die eingegebene E-Mail und das Passwort sind nicht richtig. Bitte versuchen Sie es erneut oder wählen Sie die Option Ihr Passwort zurückzusetzen, falls Sie es vergessen haben."
invalid_credentials_external: Die eingegebene E-Mail und das Passwort sind nicht richtig. Bitte versuchen Sie es erneut.
invalid_login_method: Die Anmeldung scheiterte aufgrund einer Unstimmigkeit mit dem Konto. Sie müssen sich mit Omniauth anmelden. invalid_login_method: Die Anmeldung scheiterte aufgrund einer Unstimmigkeit mit dem Konto. Sie müssen sich mit Omniauth anmelden.
invite_message: "Um jemanden zur Konferenz einzuladen, schicken Sie ihm diesen Link:" invite_message: "Um jemanden zur Konferenz einzuladen, schicken Sie ihm diesen Link:"
javascript: javascript:
@ -359,7 +350,6 @@ de_DE:
info: "Sie wurden von %{name} in Ihren persönlichen Bereich eingeladen" 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_info: "Um sich mit Ihrer E-Mail anzumelden, klicken Sie den untenstehenden Button und folgen Sie den Schritten."
signup_link: Registrieren signup_link: Registrieren
valid: "Die Einladung ist gültig bis: %{date}"
signup: signup:
info: Ein eingeladener Nutzer hat sich bei Greenlight registriert. info: Ein eingeladener Nutzer hat sich bei Greenlight registriert.
admins_link: Organisationsseite besuchen admins_link: Organisationsseite besuchen
@ -398,11 +388,7 @@ de_DE:
title: Neue Rolle erstellen title: Neue Rolle erstellen
create_room: create_room:
access_code: Zugangscode access_code: Zugangscode
moderator_access_code: Moderatorencode
access_code_placeholder: Generieren eines optionalen Raumzugangscodes access_code_placeholder: Generieren eines optionalen Raumzugangscodes
reset_access_code: Zurücksetzen des optionalen Raumzugangscodes
moderator_access_code_placeholder: Optionalen Code für Moderatoren generieren
reset_moderator_access_code: Zurücksetzen des optionalen Codes für Moderatoren
auto_join: Automatisch dem Raum beitreten auto_join: Automatisch dem Raum beitreten
create: Raum erstellen create: Raum erstellen
free_delete: Sie können den Raum jederzeit wieder löschen. free_delete: Sie können den Raum jederzeit wieder löschen.
@ -500,11 +486,9 @@ de_DE:
all_recordings: Alle Aufzeichnungen all_recordings: Alle Aufzeichnungen
email: Aufzeichnungslink per E-Mail email: Aufzeichnungslink per E-Mail
error: "Beim Abruf von %{count} Aufzeichnung(en) ist ein Fehler aufgetreten." error: "Beim Abruf von %{count} Aufzeichnung(en) ist ein Fehler aufgetreten."
no_public_recordings: Dieser Raum hat keine öffentlichen Aufzeichnungen. no_recordings: "Dieser Raum hat keine %{inject} Aufzeichnungen."
no_recordings: Dieser Raum hat keine Aufzeichnungen.
no_user_recordings: Momentan sind keine Aufzeichnungen verfügbar. no_user_recordings: Momentan sind keine Aufzeichnungen verfügbar.
no_matched_pub_recordings: Keine öffentlichen Aufzeichnungen passen zu Ihrer Suche. no_matched_recordings: "Keine %{inject} Aufzeichnungen passen zu Ihrer Suche."
no_matched_recordings: Keine Aufzeichnungen passen zu Ihrer Suche.
recorded_on: "Aufgezeichnet am %{date}" recorded_on: "Aufgezeichnet am %{date}"
table: table:
name: Name name: Name
@ -514,7 +498,6 @@ de_DE:
visibility: Sichtbarkeit visibility: Sichtbarkeit
formats: Formate formats: Formate
visibility: visibility:
inaccessible: Nicht verfügbar
public: Öffentlich public: Öffentlich
unlisted: Nicht gelistet unlisted: Nicht gelistet
format: format:
@ -540,7 +523,6 @@ de_DE:
remove: Entfernen remove: Entfernen
rename: Umbenennen rename: Umbenennen
reset_password: reset_password:
captcha: "reCAPTCHA Verifikation fehlgeschlagen, bitte nochmals versuchen."
invalid_token: "Der Token zum Zurücksetzen des Passworts ist ungültig. Bitte versuchen Sie erneut, Ihr Passwort zurückzusetzen." invalid_token: "Der Token zum Zurücksetzen des Passworts ist ungültig. Bitte versuchen Sie erneut, Ihr Passwort zurückzusetzen."
subtitle: Passwort zurücksetzen subtitle: Passwort zurücksetzen
password: Neues Passwort password: Neues Passwort
@ -553,13 +535,11 @@ de_DE:
banned: Gesperrt banned: Gesperrt
deleted: Gelöscht deleted: Gelöscht
pending: Wartend pending: Wartend
invited: Eingeladen
user: Nutzer user: Nutzer
room: room:
access_code_required: "Bitte geben Sie einen gültigen Zugangscode ein, um den Raum zu betreten" access_code_required: "Bitte geben Sie einen gültigen Zugangscode ein, um den Raum zu betreten"
add_presentation: Präsentation hinzufügen add_presentation: Präsentation hinzufügen
copy_access: Zugangscode kopieren copy_access: Zugangscode kopieren
copy_moderator_access: Moderatoren-Code kopieren
create_room: Raum erstellen create_room: Raum erstellen
create_room_error: Bei der Erstellung des Raums ist ein Fehler aufgetreten create_room_error: Bei der Erstellung des Raums ist ein Fehler aufgetreten
create_room_success: Raum erfolgreich erstellt create_room_success: Raum erfolgreich erstellt
@ -568,12 +548,10 @@ de_DE:
success: Raum erfolgreich gelöscht success: Raum erfolgreich gelöscht
fail: "Raum konnte nicht gelöscht werden (%{error})" fail: "Raum konnte nicht gelöscht werden (%{error})"
enter_the_access_code: Raumzugangscode bitte eingeben 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." 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." 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 invited: Sie wurden zur Teilnahme eingeladen
recording_present: "Ich bin damit einverstanden, dass diese Sitzung aufgezeichnet wird. Die Aufzeichnung kann Sprach- und Videoaufnahmen von mir beinhalten. Bitte beachten Sie, dass die Aufnahme im Anschluss geteilt werden kann." recording_present: "Ich bestätige, dass diese Sitzung aufgezeichnet wird. Dies kann meine Sprach- und Videoaufnahmen beinhalten, wenn diese geteilt werden."
invite_participants: Teilnehmer einladen invite_participants: Teilnehmer einladen
join: Teilnehmen join: Teilnehmen
last_session: "Letzte Konferenz am %{session}" last_session: "Letzte Konferenz am %{session}"
@ -648,9 +626,6 @@ de_DE:
title: Allgemeine Nutzungsbedingungen title: Allgemeine Nutzungsbedingungen
test_install: > test_install: >
Diese Installation verwendet einen vorkonfigurierten Testserver. Sie sollten diesen durch Ihren eigenen Server ersetzen. Weitere Informationen dazu unter %{href}. Diese Installation verwendet einen vorkonfigurierten Testserver. Sie sollten diesen durch Ihren eigenen Server ersetzen. Weitere Informationen dazu unter %{href}.
time:
formats:
default: "%b %d, %Y %-I:%M%P"
update: Aktualisieren update: Aktualisieren
verify: verify:
accept: Verifizieren accept: Verifizieren

View File

@ -138,14 +138,11 @@ en:
settings: Site Settings successfully changed settings: Site Settings successfully changed
unauthorized: You are not authorized to perform actions on this user unauthorized: You are not authorized to perform actions on this user
recordings: recordings:
latest: Latest Recordings
title: Server Recordings title: Server Recordings
no_recordings: This server has no recordings. no_recordings: This server has no recordings.
search_info: Enter a user's full email or a room's uid
roles: roles:
appear_in_share_list: Include users with this role in the dropdown for sharing rooms appear_in_share_list: Include users with this role in the dropdown for sharing rooms
can_create_rooms: Can create rooms can_create_rooms: Can create rooms
can_launch_recording: Allow users with this role to record their meetings
delete: Delete the role delete: Delete the role
invalid_create: There was a problem creating a new role. Please check the role values and try again invalid_create: There was a problem creating a new role. Please check the role values and try again
invalid_order: There was a problem updating the priority of the role. Please check the values and try again invalid_order: There was a problem updating the priority of the role. Please check the values and try again
@ -176,9 +173,6 @@ en:
info: Gives all users moderator privileges in BigBlueButton when they join the meeting. info: Gives all users moderator privileges in BigBlueButton when they join the meeting.
recordings: 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. 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: options:
disabled: Disabled disabled: Disabled
enabled: Always Enabled enabled: Always Enabled
@ -230,7 +224,6 @@ en:
cookies: cookies:
cookie_info: Cookies help us deliver our services. By using our services, you agree to our use of cookies. cookie_info: Cookies help us deliver our services. By using our services, you agree to our use of cookies.
cookie_button: I Agree cookie_button: I Agree
policy: For more infomation, see our <a href="%{privacy_link}"><u>privacy policy</u></a>.
copied: Copied copied: Copied
copy: Copy copy: Copy
date: date:
@ -270,7 +263,6 @@ en:
accepted: must be accepted accepted: must be accepted
confirmation: doesn't match %{attribute} confirmation: doesn't match %{attribute}
inclusion: is not included in the list inclusion: is not included in the list
domain: must end with "%{email_domain}"
no_provider: no_provider:
message: The site you are trying to access is not enabled message: The site you are trying to access is not enabled
help: Please contact your system administrator to setup Greenlight help: Please contact your system administrator to setup Greenlight
@ -315,7 +307,6 @@ en:
home_room: Home Room home_room: Home Room
info_update_success: Information successfully updated. info_update_success: Information successfully updated.
invalid_credentials: The email and password you entered did not match our records. Try again or click Forgot Password to reset your password. invalid_credentials: The email and password you entered did not match our records. Try again or click Forgot Password to reset your password.
invalid_credentials_external: The email and password you entered did not match our records. Please try again.
invalid_login_method: Login failed due to account mismatch. You need to log in with omniauth. invalid_login_method: Login failed due to account mismatch. You need to log in with omniauth.
invite_message: "To invite someone to the meeting, send them this link:" invite_message: "To invite someone to the meeting, send them this link:"
javascript: javascript:
@ -360,7 +351,6 @@ en:
info: You have been invited to your own personal space by %{name} 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_info: To signup using your email, click the button below and follow the steps.
signup_link: Sign Up signup_link: Sign Up
valid: "The invite is valid until: %{date}"
signup: signup:
info: A user that was invited has signed up to use Greenlight. info: A user that was invited has signed up to use Greenlight.
admins_link: Visit the Organization Page admins_link: Visit the Organization Page
@ -399,11 +389,7 @@ en:
title: Create New Role title: Create New Role
create_room: create_room:
access_code: Access Code access_code: Access Code
moderator_access_code: Moderator Code
access_code_placeholder: Generate an optional room access code access_code_placeholder: Generate an optional room access code
reset_access_code: Reset the optional room access code
moderator_access_code_placeholder: Generate an optional code for moderators
reset_moderator_access_code: Reset the optional code for moderators
auto_join: Automatically join me into the room auto_join: Automatically join me into the room
create: Create Room create: Create Room
free_delete: You will be free to delete this room at any time. free_delete: You will be free to delete this room at any time.
@ -501,11 +487,9 @@ en:
all_recordings: All Recordings all_recordings: All Recordings
email: Email Recording email: Email Recording
error: There was an error retrieving %{count} recording(s) error: There was an error retrieving %{count} recording(s)
no_public_recordings: This room has no public recordings. no_recordings: This room has no %{inject}recordings.
no_recordings: This room has no recordings.
no_user_recordings: You currently have no recordings. no_user_recordings: You currently have no recordings.
no_matched_pub_recordings: No public recordings match your search. no_matched_recordings: No %{inject} recordings match your search.
no_matched_recordings: No recordings match your search.
recorded_on: Recorded on %{date} recorded_on: Recorded on %{date}
table: table:
name: Name name: Name
@ -515,7 +499,6 @@ en:
visibility: Visibility visibility: Visibility
formats: Formats formats: Formats
visibility: visibility:
inaccessible: Inaccessible
public: Public public: Public
unlisted: Unlisted unlisted: Unlisted
format: format:
@ -541,7 +524,6 @@ en:
remove: Remove remove: Remove
rename: Rename rename: Rename
reset_password: reset_password:
captcha: reCAPTCHA verification failed, please try again.
invalid_token: Password reset token is invalid. Please try resetting your password again. invalid_token: Password reset token is invalid. Please try resetting your password again.
subtitle: Reset Password subtitle: Reset Password
password: New Password password: New Password
@ -554,13 +536,11 @@ en:
banned: Banned banned: Banned
deleted: Deleted deleted: Deleted
pending: Pending pending: Pending
invited: Invited
user: User user: User
room: room:
access_code_required: Please enter a valid access code to join the room access_code_required: Please enter a valid access code to join the room
add_presentation: Add Presentation add_presentation: Add Presentation
copy_access: Copy Access Code copy_access: Copy Access Code
copy_moderator_access: Copy Moderator Code
create_room: Create a Room create_room: Create a Room
create_room_error: There was an error creating the room create_room_error: There was an error creating the room
create_room_success: Room created successfully create_room_success: Room created successfully
@ -569,8 +549,6 @@ en:
success: Room deleted successfully success: Room deleted successfully
fail: Failed to delete room (%{error}) fail: Failed to delete room (%{error})
enter_the_access_code: Enter the room's access code 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. 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. 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 invited: You have been invited to join
@ -650,9 +628,6 @@ en:
test_install: > test_install: >
This deployment is using a pre-configured testing server, you should replace this with your own. This deployment is using a pre-configured testing server, you should replace this with your own.
For details, see the %{href}. For details, see the %{href}.
time:
formats:
default: "%b %d, %Y %-I:%M%P"
update: Update update: Update
verify: verify:
accept: Verify accept: Verify

View File

@ -69,10 +69,6 @@ es:
regular: Regular regular: Regular
lighten: Aclarar lighten: Aclarar
darken: Oscurecer darken: Oscurecer
email_mapping:
info: "Asigna al usuario a un rol usando su correo electrónico. Debe estar en el formato email1=rol1,email2=rol2"
title: "Asignación de rol por correo electrónico "
update:
log_level: log_level:
title: Nivel de registro title: Nivel de registro
information: Cambiar el nivel de registro para toda la implementación information: Cambiar el nivel de registro para toda la implementación
@ -94,7 +90,7 @@ es:
title: Banner de mantenimiento title: Banner de mantenimiento
display: Establece display: Establece
clear: Limpia clear: Limpia
time: "Ejemplo: actualización programada para el 13 de diciembre a las 23:00h. Los usuarios pueden experimentar problemas para iniciar sesión." time: "Ejemplo: actualización programada para el 13 de diciembre a las 23:00h. Los usuarios pueden experimentar problemas para iniciar sesión."
preupload: preupload:
info: Los usuarios pueden cargar previamente una presentación para usarla como presentación predeterminada para esa sala específica info: Los usuarios pueden cargar previamente una presentación para usarla como presentación predeterminada para esa sala específica
title: Permitir a los usuarios cargar previamente presentaciones title: Permitir a los usuarios cargar previamente presentaciones
@ -110,12 +106,11 @@ es:
title: Número de salas por usuario title: Número de salas por usuario
shared_access: 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" 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 salas title: Permitir a los usuarios compartir habitaciones
subtitle: Personalizar Greenlight subtitle: Personalizar Greenlight
tabs: tabs:
appearance: Apariencia appearance: Apariencia
administration: Administración administration: Administración
registration: Registro
settings: Configuración settings: Configuración
title: Configuración del sitio web title: Configuración del sitio web
flash: flash:
@ -138,10 +133,8 @@ es:
settings: La configuración de sistema ha sido actualizada settings: La configuración de sistema ha sido actualizada
unauthorized: No está autorizado para ejecutar operaciones sobre este usuario. unauthorized: No está autorizado para ejecutar operaciones sobre este usuario.
recordings: recordings:
latest: Grabación más reciente
title: Grabaciones title: Grabaciones
no_recordings: Este servidor no tiene grabaciones. no_recordings: Este servidor no tiene grabaciones.
search_info: Introduce un email o un identificador de sala.
roles: roles:
appear_in_share_list: Incluir usuarios con este rol en el menú desplegable para compartir salas appear_in_share_list: Incluir usuarios con este rol en el menú desplegable para compartir salas
can_create_rooms: Puede crear salas can_create_rooms: Puede crear salas
@ -175,9 +168,6 @@ es:
info: Otorga a todos los usuarios los privilegios de usuario moderador en BigBlueButton cuando se unen a la reunión. info: Otorga a todos los usuarios los privilegios de usuario moderador en BigBlueButton cuando se unen a la reunión.
recordings: 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." 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: options:
disabled: Deshabilitada disabled: Deshabilitada
enabled: Siempre habilitada enabled: Siempre habilitada
@ -229,7 +219,6 @@ es:
cookies: cookies:
cookie_info: "Las cookies nos ayudan a proveer nuestros servicios. Al utilizar nuestros servicios, usted acepta nuestro uso de las 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 cookie_button: Acepto
policy: "Para más información, consulte nuestra <a href=\"%{privacy_link}\"><u>política de privacidad</u></a>."
copied: Copiada copied: Copiada
copy: Copiar copy: Copiar
date: date:
@ -239,12 +228,12 @@ es:
delivery_error: "Ocurrió un error durante el envío de correo electrónico. Por favor, contacte con un administrador." delivery_error: "Ocurrió un error durante el envío de correo electrónico. Por favor, contacte con un administrador."
docs: Documentación docs: Documentación
email: Cuenta de correo email: Cuenta de correo
email_sent: "Su %{email_type} correo electrónico ha sido enviado. (Revise su carpeta de Spam si no lo ha recibido)" email_sent: "Su %{email_type} correo electrónico ha sido enviado. (Revise su carpeta de Spam si no los ha recibido)"
enter_your_name: Introduzca su nombre enter_your_name: Introduzca su nombre
errors: errors:
bigbluebutton: bigbluebutton:
help: "Asegúrese de que los pasos han sido seguidos correctamente. <a href=\"%{doc_link}\">Saber más</a>" 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 no son válidas message: La URL o clave secreta del servidor BigBlueButton son inválidos
title: Error del servidor title: Error del servidor
internal: internal:
message: Parece que algo salió mal de nuestro lado. message: Parece que algo salió mal de nuestro lado.
@ -263,12 +252,11 @@ es:
messages: messages:
blank: el valor no puede estar vacío blank: el valor no puede estar vacío
too_short: es demasiado corta too_short: es demasiado corta
invalid: no es válida invalid: es inválida
taken: ya existe taken: ya existe
accepted: debe ser aceptado accepted: debe ser aceptado
confirmation: "no coincide %{attribute}" confirmation: "no coincide %{attribute}"
inclusion: no está incluido en la lista inclusion: no está incluido en la lista
domain: "debe terminar con \"%{email_domain}\""
no_provider: no_provider:
message: El sitio al que está intentando acceder no se encuentra activo message: El sitio al que está intentando acceder no se encuentra activo
help: "Por favor, contacte con el administrador del sistema para configurar Greenlight" help: "Por favor, contacte con el administrador del sistema para configurar Greenlight"
@ -312,8 +300,7 @@ es:
signout: Salir signout: Salir
home_room: Sala principal home_room: Sala principal
info_update_success: Información actualizada con éxito. info_update_success: Información actualizada con éxito.
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_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_external: El correo electrónico y la contraseña introducidos no coinciden con los registros. Inténtelo de nuevo.
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. 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:" invite_message: "Para invitar a alguien a la sesión, envíele este enlace:"
javascript: javascript:
@ -355,15 +342,14 @@ es:
root_link: Iniciar sesión root_link: Iniciar sesión
subtitle: "Permiso de %{role} eliminado" subtitle: "Permiso de %{role} eliminado"
invite: invite:
info: "Has sido invitado a contar con tu espacio personal por %{name}" info: "Hás 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_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 signup_link: Registrarse
valid: "La invitación es válida hasta: %{date}"
signup: signup:
info: Un usuario que fue invitado a registrarse ha completado su registro. info: Un usuario que fue invitado a registrarse ha completado su registro.
admins_link: Ir a la página de la organización admins_link: Ir a la página de la organización
subject: Registro de usuario nuevo subject: Registro de usuario nuevo
username: "El usuario se ha registrado como %{name} con el correo electrónico %{email}. " username: "El usuario se ha registrado como%{name} con el correo electrónico %{email}. "
subject: Invitación para unirse a BigBlueButton subject: Invitación para unirse a BigBlueButton
username: "Tu nombre de usuario es %{email}." username: "Tu nombre de usuario es %{email}."
password_reset: password_reset:
@ -372,7 +358,7 @@ es:
message: 'Sí hiciste una solicitud para reiniciar tu contraseña, haz click en este enlace para iniciar el proceso.' 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 reset_link: Reiniciar la contraseña
expire: Este enlace expira en dos horas expire: Este enlace expira en dos horas
ignore: Puedes ignorar este mensaje sin preocupaciones si no has sido tú quien solicitó el cambio de contraseña. ignore: Puedes ignorar este mensaje sin preocupaciones sí no haz sido tu quien solicito el cambio de contraseña.
promoted: promoted:
admins_link: Ir a la página de la organización admins_link: Ir a la página de la organización
info: "Tu rol ha cambiado a %{role} en %{url}." info: "Tu rol ha cambiado a %{role} en %{url}."
@ -397,9 +383,7 @@ es:
title: Crear un rol nuevo title: Crear un rol nuevo
create_room: create_room:
access_code: Código de acceso access_code: Código de acceso
moderator_access_code: Código de Moderador
access_code_placeholder: Generar un nuevo código de acceso 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 auto_join: Envíame a la sala automáticamente cuando empiece ls sesión
create: Crear sala create: Crear sala
free_delete: Podrás eliminar la sala en el momento que quieras free_delete: Podrás eliminar la sala en el momento que quieras
@ -407,11 +391,11 @@ es:
not_blank: El nombre de la sala no puede estar vacío not_blank: El nombre de la sala no puede estar vacío
title: Crear una sala nueva title: Crear una sala nueva
delete_account: delete_account:
confirm: "¿Estás seguro de querer eliminar esta cuenta de usuario?" confirm: "¿Estas seguro de querer eliminar esta cuenta de usuario?"
delete: Estoy seguro de eliminar ésta cuenta delete: Estoy seguro de eliminar ésta cuenta
keep: "De hecho, la conservaré" keep: "De hecho, la conserbaré"
delete_warning: Esta acción desactiva la cuenta de usuario. Todos los usuarios desactivados son listados en la pestaña de eliminados. 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 definitiva, <b>No</b> podrás recuperar la información asociada" warning: "Esta decisión es final, <b>No</b> podrás recuperar la información asociada"
delete_rec: delete_rec:
delete: "Estoy seguro, elimina esta grabación" delete: "Estoy seguro, elimina esta grabación"
header: "¿Estás seguro de eliminar esta grabación?" header: "¿Estás seguro de eliminar esta grabación?"
@ -457,7 +441,7 @@ es:
rename_room: rename_room:
name_placeholder: Introduce un nuevo nombre para la sala... name_placeholder: Introduce un nuevo nombre para la sala...
share_access: share_access:
footer: Compartir una sala con un usuario permite iniciar la sala y ver las grabaciones de la sala. footer: Compartir una sala con un usuario Lesser permite iniciar la sala y ver las grabaciones de la sala.
list: Compartido con list: Compartido con
title: Compartir acceso a sala title: Compartir acceso a sala
save: Guardar cambios save: Guardar cambios
@ -470,7 +454,7 @@ es:
to: Cuenta principal to: Cuenta principal
save: Fusionar 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. 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 correctamente name_update_success: El nombre de la sala ha sido actualizado exitósamente
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." 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_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!" omniauth_specific_error: "Error %{error} al intentar autenticación usand OmniAuth. ¡Inténtelo de nuevo o contacte con un administrador!"
@ -488,7 +472,6 @@ es:
office365: Office 365 office365: Office 365
twitter: Twitter twitter: Twitter
ldap: LDAP ldap: LDAP
openid_connect: OpenID Connect
recaptcha: recaptcha:
errors: errors:
recaptcha_unreachable: Oh no! La respuesta de tu reCAPTCHA falló. Intentalo de nuevo. recaptcha_unreachable: Oh no! La respuesta de tu reCAPTCHA falló. Intentalo de nuevo.
@ -503,13 +486,12 @@ es:
recorded_on: "Grabada el %{date}" recorded_on: "Grabada el %{date}"
table: table:
name: Nombre name: Nombre
thumbnails: Miniaturas thumbnails: Imagenes miniatura
length: Duración length: Duración
users: Usuarios users: Usuarios
visibility: Visibilidad visibility: Visibilidad
formats: Formatos formats: Formatos
visibility: visibility:
inaccessible: Inaccesible
public: Pública public: Pública
unlisted: No listada unlisted: No listada
format: format:
@ -530,13 +512,12 @@ es:
twitter_signup: El registro de nuevas cuentas con Twitter es obsoleto. Por favor utiliza un método de autenticación diferente para registrarte. 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. merge_success: Tu cuenta vinculada a Twitter se fusionó correctamente con tu cuenta nueva. La cuenta vinculada con Twitter ha sido eliminada.
invite: invite:
fail: "Tu código ha expirado o no es valido. Sí crees que se trata de un error, contacta al administrador del sistema." 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 unirte. Contacta al administrador del sistema para obtener una. no_invite: No tienes una invitación para ingresar. Contacta al administrador del sistema para obtener una.
remove: Eliminar remove: Eliminar
rename: Cambiar nombre rename: Cambiar nombre
reset_password: reset_password:
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 nuevamente.
invalid_token: El token de restablecimiento de contraseña no es válido. Intente restablecer su contraseña de nuevo.
subtitle: Reiniciar contraseña subtitle: Reiniciar contraseña
password: Nueva contraseña password: Nueva contraseña
confirm: Confirmación de nueva contraseña confirm: Confirmación de nueva contraseña
@ -548,13 +529,11 @@ es:
banned: Bloqueado banned: Bloqueado
deleted: Eliminado deleted: Eliminado
pending: Pendiente pending: Pendiente
invited: Invitado
user: Usuario user: Usuario
room: room:
access_code_required: Introduce un código de acceso válido para unirse a la sala access_code_required: Introduce un código de acceso válido para unirse a la sala
add_presentation: Añadir presentación add_presentation: Añadir presentación
copy_access: Copiar código de acceso copy_access: Copiar código de acceso
copy_moderator_access: Copiar código de moderador
create_room: Crear una sala create_room: Crear una sala
create_room_error: Ocurrió un error al crear la sala create_room_error: Ocurrió un error al crear la sala
create_room_success: La sala fue creada exitósamente create_room_success: La sala fue creada exitósamente
@ -563,10 +542,8 @@ es:
success: Sala eliminada correctamente success: Sala eliminada correctamente
fail: "Se ha producido un error al eliminar la sala (%{error})" 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_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. 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." 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 invited: Ha sido invitado a unirse
recording_present: Reconozco que esta sesión se va a grabar. Esto puede incluir mi voz y vídeo si está habilitado. recording_present: Reconozco que esta sesión se va a grabar. Esto puede incluir mi voz y vídeo si está habilitado.
invite_participants: Invitar participantes invite_participants: Invitar participantes
@ -590,8 +567,8 @@ es:
preupload_remove_success: Eliminación de presenación correcta preupload_remove_success: Eliminación de presenación correcta
preupload_remove_error: Ha habido un error eliminando la presentación de la sala preupload_remove_error: Ha habido un error eliminando la presentación de la sala
recordings: Grabaciones de sala recordings: Grabaciones de sala
room_limit: Has alcanzado el número límite de salas permitidas room_limit: Haz 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." room_limit_exceeded: "Haz alcanzado el número límite de salas permitidas. Por favor elimina %{difference} sala(s) para poder acceder a ésta."
sessions: Sesiones sessions: Sesiones
settings: Configuración de sala settings: Configuración de sala
share: Gestionar acceso share: Gestionar acceso
@ -601,13 +578,13 @@ es:
shared_access_success: Sala compartida correctamente shared_access_success: Sala compartida correctamente
shared_access_error: Ha habido un error compartiendo la sala shared_access_error: Ha habido un error compartiendo la sala
start: Iniciar start: Iniciar
search: Buscar por sala... search: Buscar por grupo...
unavailable: Esta sala no se encuentra disponible debido a que la cuenta de correo de su propietario no ha sido verificado. unavailable: Esta sala no se encuentra disponible debido a que la cuenta de correo de su propietario no ha sido verificado.
update_settings_error: Ocurrió un error al actualizar la configuración de la sala update_settings_error: Ocurrió un error al actualizar la configuración de la sala
update_settings_success: La configuración de la sala fue actualizada exitósamente update_settings_success: La configuración de la sala fue actualizada exitósamente
wait: wait:
message: La sesión todavía no ha comenzado. message: La sesión todavía no ha comenzado.
auto: Serás enviado a la sala automáticamente cuando empiece la sesión auto: Serás enviado a la sala automáticamente cuando empiece ls sesión
settings: settings:
account: account:
fullname: Nombre completo fullname: Nombre completo
@ -620,7 +597,7 @@ es:
title: Información de la cuenta title: Información de la cuenta
reset_password: Restablecer contraseña de usuario reset_password: Restablecer contraseña de usuario
delete: delete:
button: "Sí, me gustaría eliminar mi cuenta de usuario." button: "Si, me gustaría eleiminar 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." 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 subtitle: Eliminar la cuenta de forma permanente
title: Eliminar cuenta title: Eliminar cuenta
@ -643,9 +620,6 @@ es:
title: Términos y condiciones title: Términos y condiciones
test_install: > test_install: >
Esta instalación esta haciendo uso del servidor para pruebas que viene pre-configurado. Debería ser substituido con tu propio servidor. Para más detalles vea %{href}. Esta instalación esta haciendo uso del servidor para pruebas que viene pre-configurado. Debería ser substituido con tu propio servidor. Para más detalles vea %{href}.
time:
formats:
default: "%b %d, %Y %-I:%M%P"
update: Actualizar update: Actualizar
verify: verify:
accept: Verificar accept: Verificar

View File

@ -40,7 +40,7 @@ fa_IR:
branding: branding:
change: تغییر تصویر change: تغییر تصویر
info: تغییر تصویر شخصی سازی که در گوشه بالای سمت چپ به نمایش در می آید info: تغییر تصویر شخصی سازی که در گوشه بالای سمت چپ به نمایش در می آید
placeholder: آدرس تصویر ... placeholder: ادرس تصویر ...
title: تصویر شخصی سازی title: تصویر شخصی سازی
invalid: نشانی وب نامعتبر است invalid: نشانی وب نامعتبر است
legal: legal:
@ -56,71 +56,66 @@ fa_IR:
title: سیاست حریم خصوصی title: سیاست حریم خصوصی
invalid: نشانی وب نامعتبر است invalid: نشانی وب نامعتبر است
cache: cache:
info: حافظه نهان ارائه دهنده ذخیره شده را حذف می کند تا اجبار به یک درخواست جدید برای اطلاعات به روز رسانی شده کند info: کش ارائه دهنده ذخیره شده را حذف می کند تا اجبار به یک درخواست جدید برای اطلاعات به روز رسانی شده کند
title: پاک کردن حافظه نهان ارائه دهنده title: پاک کردن کش ارائه دهنده
button: پاک کردن حافظه نهان button: پاک کردن کش
clear_auth: clear_auth:
info: احراز هویت کننده کنونی را پاک می کند تا به کاربران مجوز ورود مجدد با روش احراز هویت دیگری را بدهد info: احراز هویت کننده کنونی را پاک می کند تا به کاربران مجوز ورود مجدد با روش احراز هویت دیگری را بدهد
title: پاک کردن احراز هویت کننده title: پاک کردن احراز هویت کننده
button: "پاک کردن احراز هویت " button: "پاک کردن احراز هویت "
color: color:
info: تغییر مرتب رنگ هم میزان روشنایی و هم میزان تاریکی را تغییر می دهد. روشنایی و تاریکی به صورت مجزا می توانند تغییر کنند. info: تغییر مرتب رنگ هم میزان روشنایی و هم میزان تاریکی را تغییر می دهد. روشنایی و تاریکی به صورت مجزا می توانند تغییرکنند.
title: رنگ اصلی title: رنگ اصلی
regular: معمولی regular: منظم
lighten: روشن تر lighten: روشن تر
darken: تیره تر darken: تیره
email_mapping:
info: "بر اساس قالب ایمیل کاربران، نقشی را به آن‌ها بدهید. باید در قالب email1=role1,email2=role2 باشد."
title: دادن نقش براساس قالب ایمیل
update:
log_level: log_level:
title: سطح گزارش گیری title: سطح لاگ گیری
information: تغییر سطح گزارش گیری برای همه نصب ها information: تغییر سطح لاگ گیری برای همه نصب ها
debug: عیب یابی debug: دیباگ
info: اطلاع رسانی info: اطلاع رسانی
warn: هشدار warn: سطح خطای متوسط
error: خطا error: خطا
fatal: خطای بحرانی fatal: خطای بحرانی
unknown: نامشخص unknown: نا مشخص
recording_visibility: recording_visibility:
info: اعمال وضعیت نمایش جلسات ضبط شده جدید info: اعمال وضعیت نمایش جلسات ضبط شده جدید
title: وضعیت نمایش پبش فرض جلسات ضبط شده title: وضعیت نمایش پبش فرض جلسات ضبط شده
warning: این تنظیم تنها بر جلساتی که در حال اجرا نیستند اعمال خواهد شد warning: این تنظیم تنها به جلساتی که در حال اجرا نیستند اعمال خواهد شد
require_consent: require_consent:
info: این تنظیم، یک تنظیم به تنظم اتاق اضافه می‌کند تا مالک‌های اتاق مشخص کنند کدام یک از اتاق‌ها قابلیت ضبط دارند. کاربرانی که به یک اتاق در حال ضبط اضافه می‌شوند، باید قبل از ورود رضایت بدهند. info: این تنظیم، یک تنظیم به تنظم اتاق اضافه می‌کند تا مالک‌های اتاق مشخص کنند کدام یک از اتاق‌ها قابلیت ضبط دارند. کاربرانی که به یک اتاق در حال ضبط اضافه می‌شوند، باید قبل از ورود رضایت بدهند.
title: برای ضبط نیاز به رضایت مالک و اعضا است title: برای ضبط نیاز به رضایت مالک و اعضا هست
maintenance_banner: maintenance_banner:
info: نمایش یک آگهی برای اطلاع کاربران از یک تعمیر از قبل برنامه‌ریزی شده info: نمایش یک بنر برای اطلاع دادن کاربران از یک تعمیراز قبل برنامه‌ریزی شده
title: آگهی تعمیر title: بنر تعمیر
display: تنظیم display: تنظیم
clear: پاک کردن clear: پاک کردن
time: "برای نمونه: یک به‌روزرسانی در تاریخ ۲۳ آذر ساعت ۲۳:۰۰ قرار است رخ بدهد. کاربران ممکن است در ورود به سایت دچار اختلال شوند." time: "برای نمونه: یک به‌روزرسانی در تاریخ ۲۳ آذر ساعت ۲۳:۰۰ قرار است رخ بدهد. کاربران ممکن است در ورود به سایت دچار اختلال شوند."
preupload: preupload:
info: کاربران می‌توانند برای یک اتاق مشخص، از قبل یک ارائه بارگذاری کنند به عنوان ارئه پیشفرض info: کاربران می‌توانند برای یک اتاق مشخص، از قبل یک ارائه بارگذاری کنند به عنوان ارئه پیشفرض
title: به کاربران اجازه بده تا ارائه‌های خود را از پیش بارگذاری کنند title: به کاربران اجازه بده تا ارائه‌های خود را از پیش بارگذاری کنند
registration: registration:
info: تغییر روشی که کاربران در وبگاه ثبت نام می کنند. info: تغییر روشی که کاربران در وب سایت ثبت نام میکنند
title: روش ثبت نام title: روش تبت نام
methods: methods:
approval: تایید/رد approval: تایید/رد
invite: عضویت با دعوت نامه invite: پیوستن توسط دعوت نامه
open: باز کردن ثبت نام open: باز کردن ثبت نام
rooms: rooms:
info: ایجاد محدودیت برای تعداد اتاق هایی که یک کاربر می تواند داشته باشد (شامل اتاق خانه). این تنظیم به مدیران اعمال نخواهد شد. info: ایجاد محدودیت برای تعداد اتاق هایی که یک کاربر می تواند داشته باشد (شامل اتاق خانه). این تنظیم به مدیران اعمال نخواهد شد.
title: تعداد اتاق ها به ازای کاربر title: تعداد اتاق ها به ازاء کاربر
shared_access: shared_access:
info: تنظیمات غیر فعال سازی، دکمه انتخاب گزینه ها را از اتاق حذف می کند تا کاربران را از به اشتراک گذازی اتاق ها منع کند info: تنظیمات غیر فعال سازی، دکمه انتخاب گرینه ها را از اتاق حذف می کند تا کاربران را از به اشتراک گذازی اتاق ها منع کند
title: امکان اشتراک گذاری اتاق ها به کاربران عادی title: امکان اشتراک گذاری اتاق ها به کاربران عادی
subtitle: شخصی سازی گرینلایت subtitle: شخصی سازی گرینلایت
tabs: tabs:
appearance: ظاهر appearance: ظاهر
administration: مدیریت administration: مدیریت
registration: ثبت‌ نام
settings: تنظیم‌ها settings: تنظیم‌ها
title: تنظیمات سایت title: تنظیمات سایت
flash: flash:
approved: کاربر با موفقیت تایید شد. approved: کاربر با موفقیت تایید شد
banned: کاربر با موفقیت منع شد. banned: کاربر با موفقیت منع شد
unbanned: کاربر با موفقیت رفع ممنوعیت شد. unbanned: کاربر با موفقیت رفع ممنوعیت شد.
delete: کاربر با موفقیت حذف شد delete: کاربر با موفقیت حذف شد
delete_fail: حذف کاربر با خطا مواجه شد delete_fail: حذف کاربر با خطا مواجه شد
@ -132,20 +127,17 @@ fa_IR:
perm_deleted: کاربر به صورت کامل حذف شد perm_deleted: کاربر به صورت کامل حذف شد
promoted: کاربر با موفقیت ارتقا نقش داده شد promoted: کاربر با موفقیت ارتقا نقش داده شد
registration_method_updated: روش ثبت نام با موفقیت به روز رسانی شد registration_method_updated: روش ثبت نام با موفقیت به روز رسانی شد
reset_password: ایمیلی به منظور بازیابی رمز عبور ارسال شد. (لطفا از کاربران بخواهید در صورت عدم دریافت ایمیل پوشه هرزنامه خود را بررسی کنند) reset_password: ایمیلی به منظور بازیابی رمز عبور ارسال شد. (لطفا از کاربران بخواهید در صورت عدم دریافت ایمیل پوشه اسپم خود را در چک کنند)
restored: کاربربا موفقیت بازیابی شد restored: کاربربا موفقیت بازیابی شد
room_configuration: پیکربندی اتاق با موفقیت تغییر یافت room_configuration: پیکربندی اتاق با موفقیت تغییر یافت
settings: تنظیمات سایت با موفقیت تغییر یافت settings: تنظیمات سایت با موفقیت تغییر یافت
unauthorized: شما مجاز به انجام این عمل روی این کاربر نیستید unauthorized: شما مجاز به انجام این عمل روی این کاربر نیستید
recordings: recordings:
latest: آخرین جلسه‌های ضبط شده
title: جلسات ضبط شده سرور title: جلسات ضبط شده سرور
no_recordings: در سرور جلسه ضبط شده ای وجود ندارد. no_recordings: در سرور جلسه ضبط شده ای وجود ندارد.
search_info: ایمیل کامل کاربر یا شناسه اتاق را وارد کنید
roles: roles:
appear_in_share_list: دادن مجوز اشتراک اتاق ها به کاربرانی که این نقش را دارند appear_in_share_list: دادن مجوز اشتراک اتاق ها به کاربرانی که این نقش را دارند
can_create_rooms: امکان ایجاد اتاق برای کاربر can_create_rooms: امکان ایجاد اتاق برای کاربر
can_launch_recording: به کاربران دارای این نقش اجازه بده جلساتشان را ضبط کنند
delete: حذف نقش کاربری delete: حذف نقش کاربری
invalid_create: خطایی در ایجاد نقش جدید رخ داد. لطفا مقادیر نقش ها را بررسی کرده و دوباره تلاش کنید invalid_create: خطایی در ایجاد نقش جدید رخ داد. لطفا مقادیر نقش ها را بررسی کرده و دوباره تلاش کنید
invalid_order: خطایی در به روز رسانی اولویت نقش رخ داد، لطفا مقادیر را بررسی کرده و دوباره تلاش کنید invalid_order: خطایی در به روز رسانی اولویت نقش رخ داد، لطفا مقادیر را بررسی کرده و دوباره تلاش کنید
@ -153,10 +145,10 @@ fa_IR:
manage_rooms_recordings: دادن مجوز برای مدیریت اتاق های سرور و رکورد ها به کاربرانی که این نقش را دارند manage_rooms_recordings: دادن مجوز برای مدیریت اتاق های سرور و رکورد ها به کاربرانی که این نقش را دارند
name: نام نقش name: نام نقش
new_role: ایجاد نقش جدید new_role: ایجاد نقش جدید
role_has_users: "این نقش به حساب های کاربری %{user_count} داده شد. لطفا از حذف همه حساب های کاربری از این نقش، قبل از حذف آن اطمینان حاصل کنید." role_has_users: "این نقش به حساب های کاربری %{user_count} داده شد. لطفا از حذف همه حساب های کاربری از این نقش، قبل از حذف آن اطمینان حاصل کیند"
title: نقش ها title: نقش ها
promote_email: ارسال ایمیل به کاربران زمانی که این نقش به آنها داده می شود promote_email: ارسال ایمیل به کاربران زمانیکه این نقش به آنها داده می شود
demote_email: ارسال ایمیل به کاربران، زمانی که این نقش از آنها گرفته می شود demote_email: ارسال ایمیل به کاربران، زمانیکه این نقش از آنها گرفته می شود
edit_site_settings: دادن مجوز ویرایش تنظیمات به کاربرانی که این نقش را دارند edit_site_settings: دادن مجوز ویرایش تنظیمات به کاربرانی که این نقش را دارند
edit_roles: دادن مجوز ویرایش سایر نقش ها به کاربرانی که این نقش را دارند edit_roles: دادن مجوز ویرایش سایر نقش ها به کاربرانی که این نقش را دارند
manage_users: دادن مجوز مدیریت کاربران به کاربرانی که این نقش را دارند manage_users: دادن مجوز مدیریت کاربران به کاربرانی که این نقش را دارند
@ -176,20 +168,16 @@ fa_IR:
info: همه کاربران در هنگام پیوستن به جلسه، تمام دسترسی‌های مدیر را در بیگ بلو باتن داده می‌شود. info: همه کاربران در هنگام پیوستن به جلسه، تمام دسترسی‌های مدیر را در بیگ بلو باتن داده می‌شود.
recordings: recordings:
info: به مالک‌های اتاق‌ این قابلیت را می‌دهد تا مشخص کنند آیا گزینه‌ی ضبط اتاق را می‌خواهند یا نه.اگر فعال باشد، ناظم همچنان باید روی دکمه‌ی «ضبط» کلیک کند وقتی جلسه شروع شد. info: به مالک‌های اتاق‌ این قابلیت را می‌دهد تا مشخص کنند آیا گزینه‌ی ضبط اتاق را می‌خواهند یا نه.اگر فعال باشد، ناظم همچنان باید روی دکمه‌ی «ضبط» کلیک کند وقتی جلسه شروع شد.
moderator_codes:
info: به مالکین اتاق‌های این اجازه داده می‌شود تا به صورت دلخواه یک پین تولید کنند تا بتوانند به بقیه کاربرها این اجازه را بدهند که به صورت مستقیم به عنوان مدیر جلسه وارد شوند.
title: کد دسترسی مدیر
options: options:
disabled: غیر فعال disabled: غیرفعال شده
enabled: همیشه فعال enabled: همیشه فعال شود
optional: اختیاری optional: اختیاری
rooms: rooms:
timeout: "به علت وقفه در درخواست خدمتگزار %{server}، ممکن است اطلاعات وضعیت و شرکت کنندگان دقیق نباشد"
title: اتاق های سرور title: اتاق های سرور
table: table:
ended: "به پایان رسید: %{session}" ended: "به پایان رسید: %{session}"
id: شناسه id: شناسه
not_running: در حال اجرا نیست not_running: در حال اجرا نبودن
participants: شركت كنندگان participants: شركت كنندگان
running: در حال اجرا running: در حال اجرا
started: "شروع شده: %{session}" started: "شروع شده: %{session}"
@ -213,66 +201,62 @@ fa_IR:
undelete: لغو پاک کردن undelete: لغو پاک کردن
table: table:
authenticator: احراز کننده هویت authenticator: احراز کننده هویت
created: زمان ایجاد created: ایجاد شده
time: زمان ارسال
name: نام name: نام
not_found: کاربری متناسب با جستجوی شما یافت نشد not_found: کاربری متناسب با جستجوی شما یافت نشد
no_users: کاربری یافت نشد no_users: کاربری یافت نشد
role: نقش role: نقش
uid: شناسه کاربری uid: شناسه کاربری
username: نام کاربری username: نام کاربری
valid: معتبر
title: مدیریت کاربران title: مدیریت کاربران
add_to_google_calendar: "افزودن تقویم گوگل" add_to_google_calendar: "افزودن تقویم گوگل"
bigbluebutton: بیگ بلو باتن bigbluebutton: بیگ بلو باتن
bigbluebutton_exception: آه، خطایی در هنگام شروع جلسه رخ داده است! bigbluebutton_exception: اوپس، خطایی در هنگام شروع جلسه رخ داده است!
cancel: لغو cancel: لغو
cookies: cookies:
cookie_info: کوکی ها به ما کمک میکنند تا خدمات خود را ارائه دهیم. با استفاده از این خدمات، شما با استفاده از کوکی های ما موافقت میکنید. cookie_info: کوکی ها به ما کمک میکنند تا خدمات خود را ارائه دهیم. با استفاده از این خدمات، شما با استفاده از کوکی های ما موافقت میکنید.
cookie_button: موافق هستم cookie_button: موافق هستم
policy: "برای اطلاعات بیشتر <a href=\"%{privacy_link}\"><u>سیاست حریم خصوصی</u></a> ما را ببینید." copied: کپی شد
copied: رونوشت شد copy: کپی
copy: رونوشت
date: date:
month_names: [~, ژانویه, فوریه, مارس, آپریل, می, ژوئن, جولای, آگوست, سپتامبر, اکتبر, نوامبر, دسامبر] month_names: [~, ژانویه, فوریه, مارچ, اوریل, می, ژوئن, جولای, آگوست, سپتامبر, اکتبر, نوامبر, دسامبر]
default_admin: "شما هنوز از رمز عبور پیش فرض استفاده میکنید. لطفا برای تغییر آن <a href=\"%{edit_link}\"> اینجا </a> را کلیک کنید" default_admin: "شما هنوز از رمز عبور پیش فرض استفاده میکنید. لطفا برای تغییر آن <a href=\"%{edit_link}\"> اینجا </a> را کلیک کنید"
delete: حذف delete: حذف
delivery_error: خطایی در هنگام تحویل ایمیل رخ داده است، لطفا با مدیر تماس بگیرید! delivery_error: خطایی در هنگام تحویل ایمیل رخ داده است، لطفا با مدیر تماس بگیرید!
docs: مستند سازی docs: مستند سازی
email: ایمیل email: ایمیل
email_sent: "%{email_type} ایمیل شما ارسال شد! (لطفا در صورت عدم دریافت آن پوشه هرزنامه خود را بررسی کنید)" email_sent: "%{email_type} ایمیل شما ارسال شد! (لطفا در صورت عدم دریافت آن پوشه اسپم خود را بررسی کنید)"
enter_your_name: نام خود را وارد کنید! enter_your_name: نام خود را وارد کنید!
errors: errors:
bigbluebutton: bigbluebutton:
help: "لطفا مطمئن شوید که قدم های درست برداشته شده اند.<a href=\"%{doc_link}\"> بیشتر بیاموزید</a>" help: "لطفا مطمئن شوید که قدم های درست برداشته شده اند.<a href=\"%{doc_link}\"> بیشتر بیاموزید</a>"
message: آدرس و رمز نادرست بیگ بلو باتن message: ادرس و رمز نادرست بیگ بلو باتن
title: خطای سرور title: خطای سرور
internal: internal:
message: به نظر می رسد چیزی سمت ما به مشکل بر خورده است message: به نظر می رسد چیزی سمت ما به مشکل بر خورده است
help: خطا لاگ شده است، ما نگاهی به آن خواهیم انداخت! help: خطا لاگ شده است، ما نگاهی به آن خواهیم انداخت!
report: گزارش خرابی report: گزارش خرابی
maintenance: maintenance:
message: سامانه در دست تعمیر است. message: متاسفانه بابت نگهداشت سیستم در دسترس نیست
help: به زودی برمیگردیم help: به زودی بر میگردیم
migration_error: migration_error:
contact_admin: اگر شما مدیر نیستید، لطفا با یک مدیر تماس بگیرید. contact_admin: اگر شما مدیر نیستید، لطفا با یک مدیر تماس بگیرید.
continue: تمایل به ماندن در نسخه 1.0 را دارم. continue: ما تمایل به ماندن در نسخه 1.0 را دارم.
notice: > notice: >
خطایی در انتقال پایگاه داده گرین لایت رخ داده است. <br>علت می تواند این باشد که شما به نسخه 2.0 گرین لایت به‌روزرسانی نکرده اید. خطایی در انتقال دیتابیس گرین لایت رخ داده است. <br> این ممکن است به دلیل این باشد که شما به نسخه 2.0 گرین لایت به روز رسانی نکرده اید.
upgrade: به من نشان بده چگونه به نسخه 2.0 به روز رسانی کنم! upgrade: به من نشان بده چگونه به نسخه 2.0 به روز رسانی کنم!
version: ما یک نسخه جدید از گرین لایت را منتشر کرده ایم، اما پایگاه داده شما با آن سازگاری ندارد. version: ما یک نسخه جدید از گرین لایت را منتشر کرده ایم، اما پایگاه داده شما با آن سازگاری ندارد.
messages: messages:
blank: نمیتواند خالی باشد blank: نمیتواند خالی باشد
too_short: بسیار کوتاه است too_short: بسیار کوتاه است
invalid: معتبر نیست invalid: معتبر نیست
taken: از قبل گرفته شده است taken: از قبل گرفته شده است
accepted: میبایست تایید شود accepted: میبایست تایید شود
confirmation: "با %{attribute} تطابق ندارد" confirmation: "با %{attribute} تطابق ندارد"
inclusion: در لیست قرار داده نشده است inclusion: در لیست قرار داده نشده است
domain: "باید به «%{email_domain}» ختم شود"
no_provider: no_provider:
message: سایتی که می‌خواهید به آن دسترسی داشته باشید فعال نیست message: سایتی که شما تلاش به دسترسی به آن را دارید فعال نیست
help: لطفا برای پیکربندی برنامه با مدیر سامانه تماس بگیرید help: لطفا برای پیکربندی برنامه با مدیر سیستم تماس بگیرید
not_found: not_found:
message: متاسفانه، صفحه ای که دنبال آن میگردید وجود ندارد. message: متاسفانه، صفحه ای که دنبال آن میگردید وجود ندارد.
help: آیا ممکن است حذف شده باشد؟ help: آیا ممکن است حذف شده باشد؟
@ -281,7 +265,7 @@ fa_IR:
message: متاسفانه، این کاربر ثبت نام نکرده است message: متاسفانه، این کاربر ثبت نام نکرده است
user_missing: user_missing:
help: لطفا لینک ارسال شده را تایید و دوباره تلاش کنید help: لطفا لینک ارسال شده را تایید و دوباره تلاش کنید
message: آدرسی که شما وارد کرده اید معتبر نیست message: ادرسی که شما وارد کرده اید معتبر نیست
title: خطاها title: خطاها
unauthorized: unauthorized:
message: شما امکان دسترسی به این برنامه را ندارید message: شما امکان دسترسی به این برنامه را ندارید
@ -309,57 +293,55 @@ fa_IR:
account_settings: سازمان account_settings: سازمان
help: نیاز به کمک دارید؟ help: نیاز به کمک دارید؟
home: خانه home: خانه
settings: نمایه settings: پروفایل
signout: خروج signout: خروج
home_room: اتاق خانه home_room: اتاق خانه
info_update_success: اطلاعات با موفقیت بارگذاری شد. info_update_success: اطلاعات با موفقیت بارگزاری شد
invalid_credentials: ایمیل یا رمز عبوری که وارد کرده اید اشتباهند. دوباره تلاش کنید یا روی بازیابی رمز عبور کلیک و رمز عبورتان را عوض کنید. invalid_credentials: ایمیل و رمز عبوری که وارد کرده اید با سیستم ما انطباق ندارد، دوباره تلاش کنید یا روی بازیابی رمز عبور کلیک کنید تا رمز عبورتان را زیست کنید
invalid_credentials_external: ایمیل و کلمه عبوری که وارد کرده‌اید اشتباهند. لطفا بعدا دوباره تلاش کنید.
invalid_login_method: ورود به دلیل عدم تطابق حساب کاربری با خطا مواجه شد. شما می بایست توسط مکانیزم omniauth وارد شوید. invalid_login_method: ورود به دلیل عدم تطابق حساب کاربری با خطا مواجه شد. شما می بایست توسط مکانیزم omniauth وارد شوید.
invite_message: "برای دعوت دیگران به جلسه، این آدرس را برای آنها بفرستید:" invite_message: "برای دعوت کسی به جلسه، این ادرس را برای آنها بفرستید"
javascript: javascript:
room: room:
mailer: mailer:
subject: 'شما را برای مشاهده جلسه ضبط شده دعوت کرده است.' subject: 'شما را برای مشاهده جلسه ضبط شده دعوت کرده است.'
body: 'برای مشاهده ضبط جلسات، از آدرس زیر استفاده کنید:' body: 'برای مشاهده ضبط جلسات، از ادرس زیر استفاده کنید'
autogenerated: 'این ایمیل به صورت خودکار توسط بیگ بلو باتن تولید شده است.' autogenerated: 'این ایمیل به صورت خودکار توسط بیگ بلو باتن تولید شده است'
footer: 'بیگ بلو باتن یک برنامه نشست وبی متن باز است، برای اطلاعات بیشتر به بیگ بلو باتن به آدرس https://bigbluebutton.org مراجعه کنید.' footer: 'بیگ بلو باتن یک برنامه کنفرانس وبی متن باز است، برای اطلاعات بیشتر به بیگ بلو باتن در ادرس https://bigbluebutton.org/ مراجعه کنید.'
search: search:
start: آغاز جستجو ... start: در حال جستجو...
landing: landing:
about: "%{href} یک واسط کاربری ساده برای استفاده از برنامه نشست وبی متن باز بیگ بلو باتن است. شما می توانید اتاق هایی برای میزبانی جلسات ایجاد کنید یا با یک پیوند کوتاه به جلسات دیگر بپیوندید." about: "%{href} یک واسط کاربری ساده برای استفاده از سرور کنفرانس وبی متن باز بیگ بلو باتن است. شما می توانید اتاق هایی برای میزبانی جلسات خود یا پیوستن به جلسات دیگران از طریق ادرس آنها، ایجاد کنید."
welcome: به بیگ بلو باتن خوش آمدید. welcome: به بیگ بلو باتن خوش آمدید
video: ویدیوی آموزشی ما را در مورد استفاده از گرین لایت مشاهده کنید video: ویدئوی آموزشی ما را در مورد استفاده از گرین لایت مشاهده کنید
upgrade: به من نشان بده چگونه به نسخه 2.0 به روز رسانی کنم! upgrade: به من نشان بده چگونه به نسخه 2.0 به روز رسانی کنم!
version: ما یک نسخه جدید از گرین لایت را منتشر کرده ایم، اما پایگاه داده شما با آن سازگاری ندارد. version: ما یک نسخه جدید از گرین لایت را منتشر کرده ایم، اما پایگاه داده شما با آن سازگاری ندارد.
language_default: پیشفرض (زبان مرورگر) language_default: پیشفرض (زبان مرورگر)
ldap_error: امکان دسترسی به سرور LDAP وجود ندارد. لطفا تنظیمات LDAP خود را در فایل env بررسی کرده و مطمئن شوید سرور در حال اجرا است. ldap_error: امکان دسترسی به سرور LDAP وجود ندارد. لطفا تنظیمات LDAP خود را در فایل env بررسی کرده و مطمئن شوید سرور در حال اجرا است.
login: ورود login: ورود
login_title: به حساب خود وارد شوید login_title: به حساب کاربری تان وارد شوید
mailer: mailer:
user: user:
approve: approve:
info: حساب کاربری شما تایید شده است. info: حساب کاربری شما تایید شده است.
signin: برای دسترسی به اتاق های شخصی خود، روی دکمه زیر کلیک کرده و وارد شوید. signin: برای دسترسی به اتاق های شخصی خود، روی دگمه زیر کلیک کرده و وارد شوید.
signin_link: ورود signin_link: ورود
signup: signup:
info: یک کاربر جدید در گرین لایت ثبت نام کرده است. info: یک کاربر جدید در گرین لایت ثبت نامه کرده است
more-info: برای داشتن مجوز دسترسی برای این کاربر به گرین لایت، شما می بایست حساب کاربری آن ها را در تنظیمات سازمان تایید کنید. more-info: برای داشتن مجوز دسترسی برای این کاربر به گرین لایت، شما می بایست حساب کاربری آن ها را در تنظیمات سازمان تایید کنید.
admins_link: مشاهده صفحه سازمان admins_link: مشاهده صفحه سازمان
subject: ثبت نام کاربر جدید گرین لایت subject: ثبت نام کاربر جدید گرین لایت
username: "کاربر با نام %{name} و آدرس ایمیل %{email} ثبت نام کرده است." username: "کاربر با نام %{name} و ادرس ایمیل %{email} ثبت نام کرده است."
subject: حساب کاربری تایید شد subject: حساب کاربری تایید شد
username: "نام کاربری شما %{email} است." username: "نام کاربری شما %{email} است."
demoted: demoted:
info: "شما دیگر یک %{role} برای %{url} نیستید." info: "شما دیگر یک %{role} برای %{url} نیستید"
more-info: شما در حال حاضر مجوزات یک کاربر عادی را دارید more-info: شما در حال حاضر مجوزات یک کاربر عادی را دارید
root_link: ورود root_link: ورود
subtitle: "مجوزات %{role} گرفته شد" subtitle: "مجوزات %{role} گرفته شد"
invite: invite:
info: "شما به فضای شخصی خود توسط %{name} دعوت شده اید" info: "شما به فضای شخصی خود توسط %{name} دعوت شده اید"
signup_info: برای ثبت نام از طریق آدرس ایمیلتان، روی دکمه زیر کلیک کرده و مراحل را انجام دهید. signup_info: برای ثبت نام از طریق ادرس ایمیلتان، روی دکمه زیر کلیک کرده و مراحل را انجام دهید.
signup_link: ثبت نام signup_link: ثبت نام
valid: "این دعوت تا %{date} معتبر خواهد بود."
signup: signup:
info: کاربری که دعوت کرده بودید برای استفاده از گرین لایت ثبت نام کرده است. info: کاربری که دعوت کرده بودید برای استفاده از گرین لایت ثبت نام کرده است.
admins_link: صفحه سازمان را مشاهده کنید admins_link: صفحه سازمان را مشاهده کنید
@ -370,97 +352,91 @@ fa_IR:
password_reset: password_reset:
title: 'بازنشانی رمز عبور' title: 'بازنشانی رمز عبور'
welcome: "درخواست تغییر رمز عبور برای ایمیل <b>%{email}</b> داده شده است" welcome: "درخواست تغییر رمز عبور برای ایمیل <b>%{email}</b> داده شده است"
message: 'اگر شما درخواست تغییر رمز عبور داده اید، پس لطفا روی پیوند زیر برای تغییر رمز عبور کلیک کنید:' message: 'اگر شما درخواست تغیر رمز عبور داده اید، پس لطفا روی لینک زیر برای تغییر رمز عبور کلیک کنید'
reset_link: رمز عبور را بازنشانی کن reset_link: رمز عبور را بازنشانی کن
expire: این آدرس در دو ساعت آینده منقضی خواهد شد. expire: این ادرس در دو ساعت آینده خاتمه خواهد یافت.
ignore: اگر شما این درخواست را نداده اید، می توانید این ایمیل را نادیده بگیرید. ignore: اگر شما این درخواست را نداده اید، می توانید این ایمیل را نادیده بگیرید
promoted: promoted:
admins_link: مشاهده صفحه شرکت admins_link: مشاهده صفحه شرکت
info: "شما الان %{role} برای %{url} هستید." info: "شما الان %{role} برای %{url} هستید"
more-info: "برای مشاهده توانایی هایتان لطفا %{url} را مشاهده کنید" more-info: "برای مشاهده توانایی هایتان لطفا %{url} را مشاهده کنید"
subtitle: "دسترسی های %{role} داده شد" subtitle: "دسترسی های %{role} داده شد"
verify_email: verify_email:
welcome: "%{name}! به فضای شخصی خود خوش آمده اید." welcome: "%{name}! به فضای شخصی خود خوش آمده اید."
success: "با استفاده از %{bigbluebutton}، شما میتوانید اتاق های شخصی برای میزبابی جلسات و همکاری با دیگران برای خود ایجاد کنید." success: "با استفاده از %{bigbluebutton}، شما میتوانید اتاق های شخصی برای میزبابی جلسات و همکاری با دیگران برای خود ایجاد کنید."
username: "نام کاربری شما %{email} است." username: "نام کاربری شما %{email} است."
verify: برای تایید حساب کاربری خود، تنها کافی است روی دکمه زیر کلیک کنید. verify: برای تایید حساب کاربری خود، تنها کافی است روی دگمه زیر کلیک کنید.
verify_text: 'برای تایید حساب کاربری خود، تنها کافی است از زیر استفاده کنید: %{url}' verify_text: 'برای تایید حساب کاربری خود، تنها کافی است از زیر استفاده کنید: %{url}'
verify_link: حساب کاربری را تایید کنید verify_link: حساب کاربری را تایید کنید
thanks: با تشکر از پیوستن شما و روز خوبی داشته باشید! thanks: با تشکر از پیوستن شما و روز خوبی داشته باشید!
max_concurrent: به سقف بیشینه تعداد جلسات همزمان رسیده اید! max_concurrent: به سقف مجاز تعداد بیشینه جلسات همزمان رسیده اید!
merged: ادغام شده merged: ادغام شده
modal: modal:
create_role: create_role:
create: ایجاد یک نقش جدید create: ایجاد یک نقش جدید
footer_text: شما می توانید مجوزات این نقش را بعد از ایجاد ویرایش کنید footer_text: شما می توانید مجوزات این نقش را بعد از ایجاد ویرایش کنید
name_placeholder: وارد کردن نام یک نقش name_placeholder: وارد کردن نام یک نقش
not_blank: نام نقش نمیتواند خالی باشد not_blank: نام نقش نمیتواند خالی باشد
title: ایجاد یک نقش جدید title: ایجاد یک نقش جدید
create_room: create_room:
access_code: کد دسترسی access_code: کد دسترسی
moderator_access_code: کد مدیر جلسه
access_code_placeholder: ایجاد کد دسترسی اختیاری برای جلسه access_code_placeholder: ایجاد کد دسترسی اختیاری برای جلسه
moderator_access_code_placeholder: ایجاد کد اختیاری برای مدیران جلسه
auto_join: به صورت خودکار من را وارد جلسه کن auto_join: به صورت خودکار من را وارد جلسه کن
create: ایجاد اتاق create: ایجاد اتاق
free_delete: می توانید هر موقع این اتاق را حذف کنید. free_delete: شما به صورت دلخواه مجاز به حذف این اتاق در هر زمانی هستید.
name_placeholder: یک نام برای اتاق وارد کنید... name_placeholder: نام یک اتاق را وارد کنید...
not_blank: نام اتاق نمی تواند خالی باشد. not_blank: نام اتاق نمی تواند خالی باشد.
title: ایجاد اتاق جدید title: ایجاد اتاق جدید
delete_account: delete_account:
confirm: آیا مطمئنید که می خواهید این حساب کاربری را حذف کنید؟ confirm: آیا مطمئنید که می خواهید این حساب کاربری را حذف کنید؟
delete: من مطمئنم، این حساب کاربری را حذف کن. delete: من مطمئنم، این حساب کاربری را حذف کن.
keep: در واقع، ترجیح می‌دهم آن را نگه دارم. keep: در واقع، ترجیح میدم نگهش دارم.
delete_warning: این حساب کاربری را غیرفعال خواهد کرد. لیست تمام کاربران غیر فعال را می توانید در سربرگ حذف شده ها مشاهده کنید. delete_warning: این حساب کاربری را غیرفعال می کند. لیست تمام کاربرات غیر فعال را می توانید در تب حذف شده ها مشاهده کنید
warning: این تصمیم نهایی است. شما امکان بازیابی داده های مرتبط را <b> نخواهید داشت </b>. warning: این تصمیم نهایی است. شما امکان بازیابی داده های مرتبط را <b> نخواهید داشت </b>
delete_rec:
delete: بلی اطمینان دارم، این جلسه ضبط شده را حذف کن.
header: آیا از حذف این جلسه‌ی ضبط شده اطمینان دارید؟
warning: امکان بازیابی این ضبط وجود <b>نخواهد داشت</b>
delete_room: delete_room:
confirm: "آیا شما مطمئنید که می خواهید اتاق %{room} را حذف کنید؟" confirm: "آیا شما مطمئنید که می خواهید اتاق %{room} را حذف کنید؟"
delete: من مطمئنم، این اتاق را حذف کن. delete: من مطمئنم، این اتاق را حذف کن.
keep: نظرم عوض شد، آن را نگه می دارم. keep: با فکر کردن مجدد، من نگهش میدارم.
warning: شما قادر به بازیابی جلسه <b>نخواهید</b> بود warning: شما قادر به بازیابی جلسه <b>نخواهید</b> بود
recording_warning: "یا هر کدام از %{recordings_num} جلسات مربوطه" recording_warning: "یا هر کدام از %{recordings_num} جلسات مربوطه"
invite_user: invite_user:
email_placeholder: ایمیل کاربران را وارد کنید (توسط کاما از هم جدا شده) email_placeholder: ایمیل کاربران را وارد کنید (توسط کاما از هم جدا شده)
footer: کاربر، ایمیلی شامل دستورالعمل چگونگی ثبت نام را دریافت خواهد کرد footer: کاربر ایمیلی شامل دستورالعمل چگونگی ثبت نام را دریافت خواهد کرد
send: ارسال دعوت نامه send: ارسال دعوت نامه
title: دعوت کاربر title: دعوت کاربر
login: login:
or: یا or: یا
with: "ورود با %{provider}" with: "ورود با %{provider}"
forgot_password: رمز عبور خود را فراموش کردهاید؟ forgot_password: رمز عبور خود را فراموش کرده اید؟
preupload: preupload:
change: تعویض ارائه change: تعویض ارائه
choose: یک پرونده انتخاب کنید... choose: یک فایل انتخاب کنید...
current: "ارائه فعلی:" current: "ارائه فعلی:"
footer: با توجه به حجم ارائه ممکن است زمان بیشتری برای بارگذاری صرف شود تا قابل استفاده شود. footer: با توجه به سایز ارائه ممکن است زمان بیشتری برای بارگذاری صرف شود تا قابل استفاده شود.
invalid: حجم یا نوع فایل اشتباه است. لطفا محدودیت‌های زیر را ببینید. invalid: سایز یا نوع فایل اشتباه است. لطفا محدودیت‌های زیر را مشاهده کنید.
title: اضافه کردن ارائه title: اضافه کردن ارائه
use: از ارائه استفاده بکن use: از ارائه استفاده بکن
rename_recording: rename_recording:
remove_shared: remove_shared:
title: آیا مطمئنید که می خواهید این اتاق را از لیست اتاق هایتان حذف کنید؟ title: آیا مطمئنید که می خواهید این اتاق را از لیست اتاق هایتان حذف کنید؟
delete: من مطمئنم، این اتاق را حذف کن. delete: من مطمئنم، این اتاق را حذف کن
warning: شما دیگر امکان دسترسی به این اتاق را <b>نخواهید داشت</b> warning: شما دیگر امکان دسترسی به این اتاق را <b>نخواهید داشت</b>
room_settings: room_settings:
title: تنظیمات اتاق title: تنظیمات اتاق
update: به‌روزرسانی اتاق update: به روز رسانی اتاق
client: انتخاب نوع مشتری client: انتخاب نوع کلاینت
join_moderator: تمام کاربران به عنوان مدیر وارد شوند join_moderator: تمام کاربران به عنوان مدیر وارد می شوند
mute: کاربران هنگام پیوستن به صورت بی‌صدا وارد شوند mute: کاربران هنگام ورود به صورت بی صدا وارد شدند
require_approval: به موافقت مدیر قبل از ورود نیاز است require_approval: نیازمند موافقت مدیر قبل از ورود می باشد
start: هر کاربری اجازه شروع این جلسه را دارد start: هر کاربری اجازه شروع این جلسه را دارد
footer_text: تنظیمات اتاق شما در هر زمانی قابل انجام است. footer_text: تنظیمات مربوط به اتاق شما در هر زمانی قابل انجام خواهد بود.
recording: اجازه می‌دهم اتاق ضبط شود recording: اجازه می‌دهم اتاق ضبط شود
rename_room: rename_room:
name_placeholder: یک نام جدید برای اتاق وارد کنید... name_placeholder: وارد کردن نام اتاق جدید...
share_access: share_access:
footer: اشتراک اتاق با یک کاربر به او اجازه می دهد تا جلسه را شروع و ضبط های آن را مشاهده کند. footer: اشتراک گذاری یک اتاق با یک کاربر به آن اجازه می دهد تا جلسه را شروع کرده و رکورد های اتاق را مشاهده کند.
list: اشتراکگذاری شده با list: اشتراک گذاری شده با
title: اشتراک دسترسیهای اتاق title: اشتراک دسترسی های اتاق
save: ذخیره تغییرات save: ذخیره تغییرات
cancel_changes: لغو تغییرات cancel_changes: لغو تغییرات
select: انتخاب کاربر select: انتخاب کاربر
@ -472,9 +448,9 @@ fa_IR:
save: ادغام save: ادغام
footer: اتاق های حساب کاری که با آن ادغام می شود، به حساب کاربری حساب اولیه منتقل شده و سپس حساب کاربری حذف می شود. footer: اتاق های حساب کاری که با آن ادغام می شود، به حساب کاربری حساب اولیه منتقل شده و سپس حساب کاربری حذف می شود.
name_update_success: نام اتاق با موفقیت تغییر یافت! name_update_success: نام اتاق با موفقیت تغییر یافت!
no_user_email_exists: کاربری با ایمیل مشخص شده وجود ندارد. لطفا مطمئن شوید آن را درست نوشته اید. no_user_email_exists: کاربری با ایمیل مشخص شده وجود ندارد. لطفا مطمئن شوید آن را درست تایپ کرده اید.
omniauth_error: خطایی در هنگام احراز هویت با مکانیزم omniauth به وجود آمده است. لطفا دوباره تلاش کنید یا با مدیر تماس بگیرید! omniauth_error: خطایی در هنگام احراز هویت با مکانیزم omniauth به وجود آمده است. لطفا دوباره تلاش کنید یا با مدیر تماس بگیرید!
omniauth_specific_error: "خطای %{error} هنگام احراز هویت با omniauth رخ داده است، لطفا دوباره تلاش کنید تا با مدیر سامانه تماس بگیرید!" omniauth_specific_error: "خطای %{error} هنگام احراز هویت با omniauth رخ داده است، لطفا دوباره تلاش کنید تا با مدیر سیستم تماس بگیرید"
pagy: pagy:
nav: nav:
prev: "&lsaquo; قبلی" prev: "&lsaquo; قبلی"
@ -486,92 +462,82 @@ fa_IR:
password_different_notice: تاییدیه رمز عبور با رمز ارائه شده مطابقت ندارد. password_different_notice: تاییدیه رمز عبور با رمز ارائه شده مطابقت ندارد.
provider: provider:
google: گوگل google: گوگل
office365: آفیس ۳۶۵ office365: افیس 365
twitter: توییتر twitter: توییتر
ldap: LDAP ldap: LDAP
openid_connect: OpenID Connect
recaptcha: recaptcha:
errors: errors:
recaptcha_unreachable: آه، ما در دریافت پاسخ احراز هویت از reCAPTCHA به مشکل برخوردیم. لطفا دوباره تلاش کنید. recaptcha_unreachable: اوپس، ما در دریافت پاسخ احراز هویت از reCAPTCHA به مشکل بر خوردیم. لطفا دوباره تلاش کنید.
verification_failed: احراز هویت reCAPTCHA به مشکل برخورده است، لطفا دوباره تلاش کنید. verification_failed: احراز هویت reCAPTCHA به مشکل برخورده است، لطفا دوباره تلاش کنید.
recording: recording:
all_recordings: تمام جلسات ضبط شده all_recordings: تمام جلسات ضبط شده
email: ایمیل کردن ضبط email: ارسال جلسات ضبط شده توسط ایمیل
error: "خطایی در هنگام بازیابی ضبط(های) %{count} رخ داده است" error: "خطایی در هنگام بازیابی لیست رکورد(های) %{count} به وجود امده است"
no_public_recordings: این اتاق هیچ ضبط عمومی ندارد. no_recordings: "این اتاق مورد ضبط شده ای %{inject} ندارد."
no_recordings: این اتاق ضبط نشده است. no_user_recordings: شما در حال حاظر هیچ جلسه ی ضبط شده ای ندارید.
no_user_recordings: شما فعلا هیچ ضبطی ندارید. no_matched_recordings: "هیج %{inject} مورد ضبط شده ای مطابق با جستجوی شما یافت نشد."
no_matched_pub_recordings: هیچ ضبط عمومی با جستجوی شما مطابقت ندارد.
no_matched_recordings: هیچ ضبطی با جستجوی شما مطابقت ندارد.
recorded_on: "ضبط شده در %{date}" recorded_on: "ضبط شده در %{date}"
table: table:
name: نام name: نام
thumbnails: بندانگشتی‌ها thumbnails: تصاویر کوچک
length: طول length: طول
users: کاربران users: کاربران
visibility: قابلیت دید visibility: حالت نمایش
formats: قالب ها formats: قالب ها
visibility: visibility:
inaccessible: عدم دسترسی
public: عمومی public: عمومی
unlisted: فهرست نشده unlisted: لیست نشده
format: format:
notes: یادداشتها notes: یادداشت ها
podcast: پادپخش podcast: پادکست
presentation: ارایه presentation: ارائه
statistics: آمار statistics: امار
video: ویدیو video: ویدئو
registration: registration:
approval: approval:
fail: حساب کاربری شما هنوز تایید نشده است. اگر چند روز از ثبت نام شما گذشته است، لطفا با مدیر خود تماس بگیرید. fail: حساب کاربری شما هنوز تایید نشده است. اگر چند روز از ثبت نام شما گذشته است، لطفا با مدیر خود تماس بگیرید.
signup: حساب کاربری شما با موفقیت ایجاد شد و برای تایید به مدیر ارسال شد. signup: حساب کاربری شما با موفقیت ایجاد شد و برای تایید به مدیر ارسال شد.
banned: banned:
fail: شما دسترسی به این برنامه ندارید. اگر فکر میکنید این اشتباه است، لطفا با مدیر سامانه تماس بگیرید. fail: شما دسترسی به این برنامه ندارید. اگر فکر میکنید این اشتباه است، لطفا با مدیر سیستم خود تماس بگیرید
deprecated: deprecated:
new_signin: یک روش ورود جدید برای حساب کاربری خود انتخاب کنید. تمام اتاق ها از حساب کاربری قدیمی به حساب جدید منتقل خواهند شد. new_signin: یک روش ورود جدید برای حساب کاربری خود انتخاب کنید. تمام اتاق ها از حساب کاربری قدیمی به حساب جدید منتقل خواهند شد.
twitter_signin: "ورود با حساب کاربری توییتر دور انداخته شده است و در نسخه های بعدی حذف خواهد شد. <a href=\"%{link}\">اینحا</a> کلیک کنید تا حساب کاربری خود را به یک روش احراز هویت جدید منتقل کنید" twitter_signin: "لاگین توسط حساب کاربری توییتر قدیمی شده است و دیگر در نسخه بعدی غیر فعال خواهد شد. <a href=\"%{link}\">اینحا</a> را کلیک کنید تا حساب کاربری خود را به یک روش احراز هویت جدید منتقل کنید"
twitter_signup: ثبت نام توسط توییتر دور انداخته شده است، لطفا روش ثبت نام دیگری انتخاب کنید twitter_signup: ثبت نام توسط توییتر قدیمی شده است، لطفا روش ثبت نام دیگری انتخاب کنید
merge_success: حساب کاربری توییتر شما با موفقیت به حساب کاربری جدید شما منتقل شد. حساب کاربری قدیمی توییتر شما حذف شد merge_success: حساب کاربری توییتر شما با موفقیت به حساب کاربری جدید شما منتقل شد. حساب کاربری قدیمی توییتتر شما حذف شد
invite: invite:
fail: بلیط شما منقضی شده یا اشتباه است. اگر فکر می‌کنید مشکلی هست، لطفا با مدیر سامانه تماس بگیرید. fail: توکن شما به اتمام رسیده یا اشتباه است. اگر فک میکنید این اشتباه است، لطفا با مدیر سیستم خود تماس بگیرید
no_invite: شما دعوت نامه ای برای ورود ندارید، لطفا برای دریافت آن با مدیر تماس بگیرید. no_invite: شما دعوت نامه ای برای ورود ندارید، لطفا برای دریافت آن با مدیر تماس بگیرید.
remove: حذف remove: حذف
rename: تغییر نام rename: تغییر نام
reset_password: reset_password:
captcha: احراز هویت reCAPTCHA به مشکل برخورده است، لطفا دوباره تلاش کنید. invalid_token: توکن تنظیم مجدد رمزعبور نامعتبر است. لطفا دوباره رمزعبور را دوباره تنظیم کنید.
invalid_token: بلیط تنظیم مجدد رمز عبور نامعتبر است. لطفا دوباره رمز عبور را تنظیم کنید.
subtitle: بازنشانی رمز عبور subtitle: بازنشانی رمز عبور
password: رمز عبور جدید password: رمز عبور جدید
confirm: تایید رمز عبور جدید confirm: تایید رمز عبور جدید
update: به‌روزرسانی رمز عبور update: به روز رسانی رمز عبور
auth_change: روش احراز هویت تغییر کرده است. لطفا ایمیل خود را برای تنظیم رمز عبور بررسی کنید. auth_change: روش احراز هویت تغییر کرده است. لطفا ایمیل خود را برای ست کردن رمز عبور بررسی کنید
roles: roles:
active: فعال active: فعال
admin: مدیر admin: مدیر
banned: منع شده banned: منع شده
deleted: حذف شده deleted: حذف شد
pending: در انتظار تایید pending: در انتظار تایید
invited: دعوت شده
user: کاربر user: کاربر
room: room:
access_code_required: لطفا یک کد دسترسی برای ورود به جلسه وارد کنید access_code_required: لطفا کد دسترسی معتبر برای ورود به جلسه را وارد کنید
add_presentation: اضافه کردن ارایه add_presentation: اضافه کردن ارائه
copy_access: رونوشت کد دسترسی
copy_moderator_access: رونوشت کد مدیر
create_room: ایجاد یک اتاق create_room: ایجاد یک اتاق
create_room_error: خطایی در هنگام ایجاد اتاق رخ داده است create_room_error: خطایی در هنگام ایجاد اتاق به وجود آمده است
create_room_success: اتاق با موفقیت ایجاد شد create_room_success: اتاق با موفقیت ایجاد شد
delete: delete:
home_room: امکان حذف اتاق خانه کاربر وجود ندارد home_room: امکان حذف اتاق خانه کاربر وجود ندارد
success: اتاق با موفقیت حذف شد success: اتاق با موفقیت حذف شد
fail: "خطا در حذف اتاق (%{error})" fail: "خطا در حذف اتاق (%{error})"
enter_the_access_code: کد دسترسی به اتاق را وارد کنید enter_the_access_code: کد دسترسی به اتاق را وارد کنید
enter_the_moderator_access_code: کد مدیر اتاق را وارد کنید! invalid_provider: شما ادرس نامعتبری را وارد کرده اید، لطفا ادرس را بررسی کرده و دوباره تلاش کنید
optional_moderator_access_code: "کد مدیر (اختیاری):" invitation_description: "با استفاده از بیگ بلو باتن از شما دعوت شده است تا به %{name} بپیوندید. برای پیوستن، لینک زیر را کلیک کنید و نام خود را درج کنید."
invalid_provider: شما آدرس نامعتبری را وارد کرده اید، لطفا آدرس را بررسی و دوباره تلاش کنید. invited: شما برای ملحق شدن دعوت شده اید
invitation_description: "با استفاده از بیگ بلو باتن از شما دعوت شده است تا به %{name} بپیوندید. برای پیوستن، پیوند زیر را کلیک کنید و نام خود را درج کنید." recording_present: من متوجه هستم که این جلسه قرار است ضبظ شود. این موضوع شامل صدا و تصویر من در صورت فعال بودن می‌باشد.
invited: شما برای پیوستن دعوت شده اید
recording_present: من متوجه هستم که این جلسه قرار است ضبط شود. این موضوع شامل صدا و تصویر من در صورت فعال بودن است.
invite_participants: دعوت شرکت کنندگان invite_participants: دعوت شرکت کنندگان
join: پیوستن join: پیوستن
last_session: "آخرین جلسه در %{session}" last_session: "آخرین جلسه در %{session}"
@ -579,13 +545,13 @@ fa_IR:
owner: مالک owner: مالک
owner_banned: این اتاق درحال حاضر در دسترس نیست owner_banned: این اتاق درحال حاضر در دسترس نیست
no_room: no_room:
description: لطفا آدرس یا شناسه اتاقی که می خواهید وارد آن شوید را وارد کنید description: لطفا ادرس یا شناسه اتاقی که می خواهید وارد آن شوید را وارد کنید
edit_profile: ویرایش نمایه کاربری edit_profile: ویرایش پروفایل کاربری
go_to: رفتن به اتاق go_to: رفتن به اتاق
invalid_room_uid: شناسه/آدرسی که وارد کردید نامعتبر است. invalid_room_uid: شناسه/ادرسی که وارد کردید نامعتبر است
placeholder: آدرس/شناسه اتاق placeholder: ادرس/شناسه اتاق
no_recent_rooms: شما اخیرا وارد جلسه ای نشده اید no_recent_rooms: شما اخیرا وارد جلسه ای نشده اید
recent_rooms: رفتن به اتاقی که اخیرا وارد آن شده اید recent_rooms: رفتن به اتاقی که اخیرا وارد شده اید
title: وارد شدن به جلسه title: وارد شدن به جلسه
no_sessions: این اتاق هنوز جلسه ای ندارد! no_sessions: این اتاق هنوز جلسه ای ندارد!
preupload_success: ارئه با موفقیت اضافه شد preupload_success: ارئه با موفقیت اضافه شد
@ -593,39 +559,38 @@ fa_IR:
preupload_remove_success: ارائه با موفقیت پاک شد preupload_remove_success: ارائه با موفقیت پاک شد
preupload_remove_error: مشکلی در پاک کردن ارائه رخ داده است preupload_remove_error: مشکلی در پاک کردن ارائه رخ داده است
recordings: موارد ضبط شده اتاق recordings: موارد ضبط شده اتاق
room_limit: شما به بیشینه تعداد اتاق های مجاز رسیدید. room_limit: شما به تعداد ماکسیمم اتاق های مجاز رسیدید.
room_limit_exceeded: "شما به بیشینه تعداد اتاق های مجاز رسیده اید، لطفا %{difference} اتاق (ها) حذف کنید تا به این اتاق وارید شوید." room_limit_exceeded: "شما به ماکسیمم تعداد اتاق های مجاز رسیده اید، لطفا %{difference} اتاق (ها) حذف کنید تا به این اتاق وارید شوید."
sessions: جلسات sessions: جلسات
settings: تنظیمات اتاق settings: تنظیمات اتاق
share: مدیریت دسترسی ها share: مدیریت دسترسی ها
shared_by: "اشتراک گذاری شده با %{email}" shared_by: "اشتراک گذاری شده بوسیله %{email}"
remove_shared_access_success: اتاق اشتراکی از لیست اتاق های شما با موفقیت حذف شد remove_shared_access_success: اتاق اشتراکی از لیست اتاق های شما با موفقیت حذف شد
remove_shared_access_error: خطایی در حذف اتاق اشتراکی از لیست شما رخ داده است remove_shared_access_error: خطایی در حذف اتاق اشتراکی از لیست شما رخ داده است
shared_access_success: اتاق با موفقیت به اشتراک گذاشته شد shared_access_success: اتاق با موفقیت به اشتراک گذاشته شد
shared_access_error: خطایی در اشتراک اتاق رخ داد shared_access_error: خطایی در اشتراک اتاق رخ داد
start: آغاز start: آغاز
search: جستجو برای اتاق...
unavailable: این اتاق به دلیل اینکه ایمیل صاحب آن هنوز تایید نشده است در دسترس نیست. unavailable: این اتاق به دلیل اینکه ایمیل صاحب آن هنوز تایید نشده است در دسترس نیست.
update_settings_error: خطایی در به روز رسانی تنظیمات اتاق رخ داده است update_settings_error: خطایی در به روز رسانی تنظیمات اتاق رخ داده است
update_settings_success: اطلاعات اتاق با موفقیت به روز رسانی شد update_settings_success: اطلاعات اتاق با موفقیت به روز رسانی شد
wait: wait:
message: این جلسه هنوز شروع نشده است message: این جلسه هنوز شروع نشده است
auto: هنگامی که جلسه شروع شود، به صورت خودکار به جلسه ملحق خواهید شد. auto: شما هنگامی که جلسه شروع شود، به صورت خودکار به جلسه ملحق خواهید شد.
settings: settings:
account: account:
fullname: نام و نام خانوادگی fullname: نام کامل
language: زبان language: زبان
provider: ارایه کننده provider: ارائه کننده
image: تصویر image: تصویر
image_url: آدرس تصویر نمایه image_url: آدرس تصویر پروفایل
roles: نقش کاربر roles: نقش کاربر
subtitle: به‌روزرسانی اطلاعات حساب کاربری subtitle: به روز رسانی اطلاعات حساب کاربری
title: اطلاعات حساب کاربری title: اطلاعات حساب کاربری
reset_password: بازنشانی رمز عبور کاربر reset_password: بازنشانی رمز عبور کاربر
delete: delete:
button: بله، من مایل به حذف حساب کاربری خود هستم. button: بله، من مایل به حذف حساب کاربری خود هستم.
disclaimer: اگر حساب کاربری خود را پاک کنید، امکان بازیابی اطلاعات وجود <b>نخواهد داشت</b>. تمام اطلاعات حساب شما، شامل تنظیمات، اتاق ها و جلسات ضبط شده حذف خواهند شد. disclaimer: اگر شما انتخاب کنید که می خواهید حساب کاربری خود را پاک کنید، دیگر امکان بازگشت وجود <b> نخواهد داشت </b>. تمام اطلاعات شامل حساب کاربری شما، تنظیمات مربوطه، اتاق ها و جلسات ضبط شده حذف خواهند شد.
subtitle: حذف کامل حساب شما subtitle: حذف کامل حساب کاربری تان
title: حذف حساب کاربری title: حذف حساب کاربری
password: password:
confirmation: تاییدیه رمز عبور confirmation: تاییدیه رمز عبور
@ -633,7 +598,7 @@ fa_IR:
old: رمز عبور قدیمی old: رمز عبور قدیمی
subtitle: تغییر رمز عبور شما subtitle: تغییر رمز عبور شما
title: رمز عبور title: رمز عبور
title: نمایه title: پروفایل
search: جستجو search: جستجو
signup: signup:
password_confirm: تایید رمز عبور password_confirm: تایید رمز عبور
@ -645,16 +610,13 @@ fa_IR:
accept_existing: من شرایط و قوانین را می پذیرم accept_existing: من شرایط و قوانین را می پذیرم
title: شرایط و قوانین title: شرایط و قوانین
test_install: > test_install: >
این پیاده سازی از سرور آزمایشی پیش‌فرض استفاده می‌کند، شما می بایست آن را با تنظیمات خود جایگزین کنید. برای جزئیات %{href} را مشاهده کنید. این پیاده سازی از سرور تستی پیش فرض استفاده میکند، شما می بایست آن را با تنظیمات خود جایگزین کنید. برای جزئیات %{href} را مشاهده کنید.
time:
formats:
default: "%b %d، %Y %-I:%M%P"
update: به‌روزرسانی update: به‌روزرسانی
verify: verify:
accept: تاییدیه accept: تاییدیه
activated: حساب کاربری تایید شد! activated: حساب کاربری تایید شد!
already_verified: حساب کاربری قبلا تایید شده است already_verified: حساب کاربری قبلا تایید شده است
invalid: آدرس تاییدیه غیر معتبر invalid: ادرس تاییدیه غیر معتبر
not_verified: حساب کاربری شما هنوز تایید نشده است. not_verified: حساب کاربری شما هنوز تایید نشده است.
resend: ارسال مجدد ایمیل تاییدیه resend: ارسال مجدد ایمیل تاییدیه
signin: لطفا به منظور دسترسی به حساب کاربری خود وارد شوید. signin: لطفا به منظور دسترسی به حساب کاربری خود وارد شوید.

View File

@ -20,7 +20,7 @@ fr:
activerecord: activerecord:
attributes: attributes:
user: user:
accepted_terms: "Conditions générales d'utilisation" accepted_terms: "Termes et Conditions"
email: Adresse électronique email: Adresse électronique
name: Nom name: Nom
password: Mot de passe password: Mot de passe
@ -69,15 +69,11 @@ fr:
regular: Base regular: Base
lighten: Plus clair lighten: Plus clair
darken: Plus sombre darken: Plus sombre
email_mapping:
info: "Associez l'utilisateur à un role en utilisant son adresse électronique. Doit être au format email1=role1,email2=role2"
title: Mapping des rôles par adresse électronique
update:
log_level: log_level:
title: Verbosité du journal title: Verbosité du journal
information: Changer la verbosité du journal pour tout le déploiement information: Changer la verbosité du journal pour tout le déploiement
debug: Déboguage debug: Déboguage
info: Information info: Infos
warn: Attention warn: Attention
error: Erreur error: Erreur
fatal: Erreur fatale fatal: Erreur fatale
@ -94,7 +90,7 @@ fr:
title: Bannière de maintenance title: Bannière de maintenance
display: Définir display: Définir
clear: Effacer clear: Effacer
time: "Exemple : Mise à jour prévue le 13 décembre à 23:00. Les utilisateurs peuvent rencontrer des problèmes pour se connecter." time: "Exemple : Mise à jour prévue le 13 décembre à 23:00. Les utilisateurs peuvent rencontrer des problèmes pour se connecter."
preupload: preupload:
info: Les utilisateurs peuvent précharger une présentation qui sera utilisée comme présentation par défaut pour cette salle spécifique info: Les utilisateurs peuvent précharger une présentation qui sera utilisée comme présentation par défaut pour cette salle spécifique
title: Permettre aux utilisateurs de précharger des présentations title: Permettre aux utilisateurs de précharger des présentations
@ -115,7 +111,6 @@ fr:
tabs: tabs:
appearance: Apparence appearance: Apparence
administration: Administration administration: Administration
registration: Inscription
settings: "Paramètres " settings: "Paramètres "
title: Paramètres du site title: Paramètres du site
flash: flash:
@ -138,14 +133,11 @@ fr:
settings: Les paramètres du site ont bien été modifiés settings: Les paramètres du site ont bien été modifiés
unauthorized: Vous n'êtes pas autorisé à effectuer cette action sur cet utilisateur. unauthorized: Vous n'êtes pas autorisé à effectuer cette action sur cet utilisateur.
recordings: recordings:
latest: Derniers enregistrements
title: Enregistrements du serveur title: Enregistrements du serveur
no_recordings: Ce serveur n'a pas d'enregistrement. no_recordings: Ce serveur n'a pas d'enregistrement.
search_info: Saisissez l'adresse électronique complète d'un utilisateur ou l'identifiant d'une salle
roles: roles:
appear_in_share_list: Inclure les utilisateurs ayant ce rôle dans la liste déroulante de partage des salons appear_in_share_list: Inclure les utilisateurs ayant ce rôle dans la liste déroulante de partage des salons
can_create_rooms: Peut créer des salles can_create_rooms: Peut créer des salles
can_launch_recording: Autoriser les utilisateurs ayant ce rôle d'enregistrer leurs réunions
delete: Supprimer le rôle delete: Supprimer le rôle
invalid_create: Il y a eu un problème lors de la création du nouveau rôle. Veuillez vérifier les valeurs entrées et réessayer. invalid_create: Il y a eu un problème lors de la création du nouveau rôle. Veuillez vérifier les valeurs entrées et réessayer.
invalid_order: Il y a eu un problème lors de la mise à jour de la priorité du rôle. Veuillez vérifier les valeurs et réessayer. invalid_order: Il y a eu un problème lors de la mise à jour de la priorité du rôle. Veuillez vérifier les valeurs et réessayer.
@ -176,15 +168,11 @@ fr:
info: Donne à tous les utilisateurs les droits de modérateur dans BigBlueButton lors de la connexion à une conférence. info: Donne à tous les utilisateurs les droits de modérateur dans BigBlueButton lors de la connexion à une conférence.
recordings: 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é." 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: options:
disabled: Désactivé disabled: Désactivé
enabled: Toujours activé enabled: Toujours activé
optional: Facultatif optional: Facultatif
rooms: rooms:
timeout: "En raison du délai de %{server} du serveur, les informations relatives au statut et aux participants peuvent ne pas être exactes"
title: Serveur des salons title: Serveur des salons
table: table:
ended: "Terminé:%{session}" ended: "Terminé:%{session}"
@ -230,7 +218,6 @@ fr:
cookies: cookies:
cookie_info: "Les cookies nous aident à fournir nos services. En utilisant nos services, vous acceptez notre utilisation des 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 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é copied: Copié
copy: Copier copy: Copier
date: date:
@ -269,7 +256,6 @@ fr:
accepted: doit être accepté accepted: doit être accepté
confirmation: "ne correspond pas à %{attribute}" confirmation: "ne correspond pas à %{attribute}"
inclusion: n'est pas inclus dans la liste inclusion: n'est pas inclus dans la liste
domain: "doit terminer avec \"%{email_domain}\""
no_provider: no_provider:
message: Le site auquel vous essayez d'accéder n'est pas activé message: Le site auquel vous essayez d'accéder n'est pas activé
help: Veuillez contacter votre administrateur système pour installer GreenLight help: Veuillez contacter votre administrateur système pour installer GreenLight
@ -314,7 +300,6 @@ fr:
home_room: Salle dAccueil home_room: Salle dAccueil
info_update_success: Informations mises à jour avec succès. info_update_success: Informations mises à jour avec succès.
invalid_credentials: "Les informations d'identification que vous avez indiquées sont erronées. Veuillez réessayer ou cliquez sur « Mot de passe oublié ? » pour réinitialiser votre mot de passe." invalid_credentials: "Les informations d'identification que vous avez indiquées sont erronées. Veuillez réessayer ou cliquez sur « Mot de passe oublié ? » pour réinitialiser votre mot de passe."
invalid_credentials_external: "L'adresse email et le mot de passe renseignés ne correspondent pas à nos informations. Merci de réessayer. "
invalid_login_method: La connexion a échoué en raison d'une incompatibilité de compte. Vous devez vous connecter avec omniauth. invalid_login_method: La connexion a échoué en raison d'une incompatibilité de compte. Vous devez vous connecter avec omniauth.
invite_message: "Pour inviter quelqu'un à la réunion, envoyez-lui ce lien :" invite_message: "Pour inviter quelqu'un à la réunion, envoyez-lui ce lien :"
javascript: javascript:
@ -359,7 +344,6 @@ fr:
info: "Vous avez été invité dans votre espace personnel par %{name}" 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_info: "Pour vous inscrire utilisez votre e-mail, cliquez sur le bouton ci-dessous et suivez les étapes."
signup_link: Inscription signup_link: Inscription
valid: "L'invitation est valable jusqu'à: %{date}"
signup: signup:
info: Un utilisateur invité s'est inscrit pour utiliser Greenlight. info: Un utilisateur invité s'est inscrit pour utiliser Greenlight.
admins_link: Visitez la page "Organisation" admins_link: Visitez la page "Organisation"
@ -398,9 +382,7 @@ fr:
title: Créer un nouveau rôle title: Créer un nouveau rôle
create_room: create_room:
access_code: Code d'accès 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 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 auto_join: Me rejoindre automatiquement dans le salon
create: Créer une salle create: Créer une salle
free_delete: Vous serez libre de supprimer cette salle à tout moment. free_delete: Vous serez libre de supprimer cette salle à tout moment.
@ -489,7 +471,6 @@ fr:
office365: Office 365 office365: Office 365
twitter: Twitter twitter: Twitter
ldap: LDAP ldap: LDAP
openid_connect: OpenID Connect
recaptcha: recaptcha:
errors: errors:
recaptcha_unreachable: "Oups, nous n'avons pas réussi à valider votre réponse reCAPTCHA. Veuillez réessayer." recaptcha_unreachable: "Oups, nous n'avons pas réussi à valider votre réponse reCAPTCHA. Veuillez réessayer."
@ -497,12 +478,10 @@ fr:
recording: recording:
all_recordings: Tous les enregistrements all_recordings: Tous les enregistrements
email: Envoyer l'enregistrement par courriel email: Envoyer l'enregistrement par courriel
error: "Il y a eu une erreur lors de la récupération de %{count} enregistrement(s)" error: "Il y a eu une erreur lors de la récupération de %{count} enregistrement(s)"
no_public_recordings: Ce salon n'a pas d'enregistrement public. no_recordings: "Ce salon n'a pas d'enregistrement %{inject}."
no_recordings: Ce salon n'a pas d'enregistrement.
no_user_recordings: "Actuellement, vous n'avez aucun enregistrement." no_user_recordings: "Actuellement, vous n'avez aucun enregistrement."
no_matched_pub_recordings: Aucun enregistrement public ne correspond à votre recherche. no_matched_recordings: "Aucun enregistrement %{inject} ne correspond à votre recherche."
no_matched_recordings: Aucun enregistrement ne correspond à votre recherche.
recorded_on: "Enregistré le %{date}" recorded_on: "Enregistré le %{date}"
table: table:
name: Nom name: Nom
@ -512,7 +491,6 @@ fr:
visibility: Visibilité visibility: Visibilité
formats: Formats formats: Formats
visibility: visibility:
inaccessible: Inaccessible
public: Public public: Public
unlisted: Non Listé unlisted: Non Listé
format: format:
@ -538,7 +516,6 @@ fr:
remove: Enlever remove: Enlever
rename: Renommer rename: Renommer
reset_password: reset_password:
captcha: "La vérification de reCAPTCHA a échoué, veuillez réessayer."
invalid_token: Le jeton de réinitialisation du mot de passe n'est pas valide. Veuillez essayer de réinitialiser votre mot de passe à nouveau. invalid_token: Le jeton de réinitialisation du mot de passe n'est pas valide. Veuillez essayer de réinitialiser votre mot de passe à nouveau.
subtitle: Réinitialiser le mot de passe subtitle: Réinitialiser le mot de passe
password: Nouveau mot de passe password: Nouveau mot de passe
@ -551,13 +528,11 @@ fr:
banned: Banni banned: Banni
deleted: Supprimé deleted: Supprimé
pending: En attente pending: En attente
invited: Invité
user: Utilisateur user: Utilisateur
room: room:
access_code_required: Veuillez introduire un code d'accès valide afin de rejoindre la salle access_code_required: Veuillez introduire un code d'accès valide afin de rejoindre la salle
add_presentation: Ajouter présentation add_presentation: Ajouter présentation
copy_access: Copier le code d'accès copy_access: Copier le code d'accès
copy_moderator_access: Copier le code modérateur
create_room: Créer un salon create_room: Créer un salon
create_room_error: Une erreur s'est produite lors de la création du salon create_room_error: Une erreur s'est produite lors de la création du salon
create_room_success: Salon créé avec succès create_room_success: Salon créé avec succès
@ -566,10 +541,8 @@ fr:
success: Salle supprimée success: Salle supprimée
fail: "Erreur lors de la suppression de la salle (%{error})" 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_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. 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." 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 invited: Vous avez été invité à rejoindre
recording_present: Je reconnais que cette session va être enregistrée. Cela peut inclure ma voix et la vidéo si elle est activée. recording_present: Je reconnais que cette session va être enregistrée. Cela peut inclure ma voix et la vidéo si elle est activée.
invite_participants: Inviter des participants invite_participants: Inviter des participants
@ -592,7 +565,7 @@ fr:
preupload_error: Erreur lors du chargement de la présentation preupload_error: Erreur lors du chargement de la présentation
preupload_remove_success: Présentation supprimée avec succès preupload_remove_success: Présentation supprimée avec succès
preupload_remove_error: "Erreur lors de la suppression de la présentation " preupload_remove_error: "Erreur lors de la suppression de la présentation "
recordings: Enregistrements de salon recordings: Enregistrements du salon
room_limit: Vous avez atteint le nombre maximum de salles autorisé room_limit: Vous avez atteint le nombre maximum de salles autorisé
room_limit_exceeded: "Vous avez dépassé le nombre de salles autorisé. Veuillez en supprimer %{difference}pour pouvoir accéder à cette salle." room_limit_exceeded: "Vous avez dépassé le nombre de salles autorisé. Veuillez en supprimer %{difference}pour pouvoir accéder à cette salle."
sessions: Sessions sessions: Sessions
@ -604,8 +577,7 @@ fr:
shared_access_success: Salle partagée avec succès shared_access_success: Salle partagée avec succès
shared_access_error: Il y a eu une erreur lors du partage de la salle shared_access_error: Il y a eu une erreur lors du partage de la salle
start: Démarrer start: Démarrer
search: Rechercher une salle... unavailable: Ce salon est actuellement indisponible car le courrier électronique du propriétaire n'a pas été vérifié.
unavailable: Ce salon est actuellement indisponible car l'adresse électronique du propriétaire n'a pas été vérifié.
update_settings_error: Une erreur s'est produite lors de la mise à jour des paramètres du salon. update_settings_error: Une erreur s'est produite lors de la mise à jour des paramètres du salon.
update_settings_success: Paramètres du salon mis à jour avec succès update_settings_success: Paramètres du salon mis à jour avec succès
wait: wait:
@ -617,7 +589,7 @@ fr:
language: Langue language: Langue
provider: Fournisseur provider: Fournisseur
image: Image image: Image
image_url: URL de l'image du profil image_url: URL de l'image profil
roles: Rôle de l'utilisateur roles: Rôle de l'utilisateur
subtitle: Mettre à jour les informations de votre compte subtitle: Mettre à jour les informations de votre compte
title: Informations de compte title: Informations de compte
@ -631,24 +603,21 @@ fr:
confirmation: Confirmation du nouveau mot de passe confirmation: Confirmation du nouveau mot de passe
new: Nouveau Mot de passe new: Nouveau Mot de passe
old: Ancien Mot de passe old: Ancien Mot de passe
subtitle: Modifier votre mot de passe subtitle: Changer votre Mot de passe
title: Mot de passe title: Mot de passe
title: Profil title: Profil
search: Chercher search: Chercher
signup: signup:
password_confirm: Confirmation du mot de passe password_confirm: Confirmation Mot de passe
subtitle: Créer un Compte subtitle: Créer un Compte
title: Sinscrire title: Sinscrire
with: "S'inscrire via %{provider}" with: "S'inscrire via %{provider}"
terms: terms:
accept: "J'accepte les %{href}" accept: "J'accepte les %{href}"
accept_existing: J'accepte les conditions générales d'utilisation accept_existing: J'accepte les termes et conditions
title: Conditions générales d'utilisation title: Termes et Conditions
test_install: > test_install: >
Ce déploiement utilise un serveur de test pré-configuré, vous devez le remplacer par le vôtre. Pour plus de détails, voir le %{href}. Ce déploiement utilise un serveur de test pré-configuré, vous devez le remplacer par le vôtre. Pour plus de détails, voir le %{href}.
time:
formats:
default: "%a %d %b %Y %H:%M"
update: Mise à jour update: Mise à jour
verify: verify:
accept: Vérifier accept: Vérifier
@ -656,7 +625,7 @@ fr:
already_verified: Le compte a déjà été vérifié already_verified: Le compte a déjà été vérifié
invalid: Lien de vérification invalide invalid: Lien de vérification invalide
not_verified: Votre compte n'a pas encore été vérifié. not_verified: Votre compte n'a pas encore été vérifié.
resend: Renvoyer le courriel de vérification resend: Renvoyer l'e-mail de vérification
signin: Veuillez vous connecter pour accéder à votre compte. signin: Veuillez vous connecter pour accéder à votre compte.
title: Vérifiez votre adresse électronique title: Vérifiez votre e-mail
verification: Vérification verification: Vérification

View File

@ -72,7 +72,7 @@ gl:
email_mapping: email_mapping:
info: "Asignar o usuario a un rol usando o seu correo-e. Debe ter o formato email1=rol1,email2=rol2" info: "Asignar o usuario a un rol usando o seu correo-e. Debe ter o formato email1=rol1,email2=rol2"
title: Asignación de roles por correo-e title: Asignación de roles por correo-e
update: update:
log_level: log_level:
title: Nivel de rexistro title: Nivel de rexistro
information: Cambiar o nivel de rexistro para o despregamento completo information: Cambiar o nivel de rexistro para o despregamento completo
@ -94,7 +94,7 @@ gl:
title: Cartel de mantemento title: Cartel de mantemento
display: Estabelecer display: Estabelecer
clear: Limpar clear: Limpar
time: "Exemplo: Actualización programada para o 13 de decembro ás 23:00 ET. Os usuarios poden ter problemas para iniciar sesión." time: "Exemplo: Actualización programada para o 13 de decembro ás 23:00 ET. Os usuarios poden ter problemas para iniciar sesión."
preupload: preupload:
info: Os usuarios poden cargar previamente unha presentación para que a utilicen como presentación predeterminada para esa sala específica info: Os usuarios poden cargar previamente unha presentación para que a utilicen como presentación predeterminada para esa sala específica
title: Permitirlle aos usuarios precargar as presentacións title: Permitirlle aos usuarios precargar as presentacións
@ -138,14 +138,11 @@ gl:
settings: Os axustes do sitio foron cambiados correctamente settings: Os axustes do sitio foron cambiados correctamente
unauthorized: Non está autorizado para executar accións sobre este usuario unauthorized: Non está autorizado para executar accións sobre este usuario
recordings: recordings:
latest: Últimas gravacións
title: Gravacións do servidor title: Gravacións do servidor
no_recordings: Este servidor non ten gravacións. no_recordings: Este servidor non ten gravacións.
search_info: Introduza o correo-e completo dun usuario ou o UID dunha sala
roles: roles:
appear_in_share_list: Incluír usuarios con este rol no menú despregábel para compartir salas appear_in_share_list: Incluír usuarios con este rol no menú despregábel para compartir salas
can_create_rooms: Pode crear salas can_create_rooms: Pode crear salas
can_launch_recording: Permitir os usuarios con este rol para gravar estas reunións
delete: Eliminar o rol delete: Eliminar o rol
invalid_create: Produciuse un problema ao crear un novo rol. Comprobe os valores dos roles e ténteo de novo invalid_create: Produciuse un problema ao crear un novo rol. Comprobe os valores dos roles e ténteo de novo
invalid_order: Produciuse un problema ao actualizar a prioridade do rol. Comprobe os valores dos roles e ténteo de novo invalid_order: Produciuse un problema ao actualizar a prioridade do rol. Comprobe os valores dos roles e ténteo de novo
@ -176,9 +173,6 @@ gl:
info: Dárlle a todos os usuarios os privilexios de moderador en BigBlueButton cando se unen á xuntanza. info: Dárlle a todos os usuarios os privilexios de moderador en BigBlueButton cando se unen á xuntanza.
recordings: 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." 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: options:
disabled: Desactivado disabled: Desactivado
enabled: Activado sempre enabled: Activado sempre
@ -230,7 +224,6 @@ gl:
cookies: cookies:
cookie_info: "As cookies axúdanos a prestar os nosos servizos. Ao usar os nosos servizos, acepta o noso uso de cookies." cookie_info: "As cookies axúdanos a prestar os nosos servizos. Ao usar os nosos servizos, acepta o noso uso de cookies."
cookie_button: " Acepto" cookie_button: " Acepto"
policy: "Para obter máis información, consulte a nosa <a href=\"%{privacy_link}\"><u>directiva de privacidade</u></a>."
copied: Copiado copied: Copiado
copy: Copiar copy: Copiar
date: date:
@ -269,7 +262,6 @@ gl:
accepted: ten que ser aceptado accepted: ten que ser aceptado
confirmation: "%{attribute} non coincide" confirmation: "%{attribute} non coincide"
inclusion: non está incluído na lista inclusion: non está incluído na lista
domain: "debe rematar con «%{email_domain}»"
no_provider: no_provider:
message: O sitio ao que está tentando acceder non está activo message: O sitio ao que está tentando acceder non está activo
help: Póñase en contacto co administrador do sistema para configurar Greenlight help: Póñase en contacto co administrador do sistema para configurar Greenlight
@ -314,7 +306,6 @@ gl:
home_room: Sala principal home_room: Sala principal
info_update_success: Actualizouse correctamente a información info_update_success: Actualizouse correctamente a información
invalid_credentials: O correo e o contrasinal que introduciu non coinciden cos nosos rexistros. Tenteo de novo ou prema en «Esquecín o contrasinal» para restabelecer o seu contrasinal. invalid_credentials: O correo e o contrasinal que introduciu non coinciden cos nosos rexistros. Tenteo de novo ou prema en «Esquecín o contrasinal» para restabelecer o seu contrasinal.
invalid_credentials_external: O correo e o contrasinal que introduciu non coinciden cos nosos rexistros. Tenteo de novo.
invalid_login_method: Produciuse un fallo no acceso por mor da non coincidencia da conta. Debe acceder con omniauth. invalid_login_method: Produciuse un fallo no acceso por mor da non coincidencia da conta. Debe acceder con omniauth.
invite_message: "Para convidar a alguén á xuntanza, envíelle esta ligazón:" invite_message: "Para convidar a alguén á xuntanza, envíelle esta ligazón:"
javascript: javascript:
@ -359,7 +350,6 @@ gl:
info: "Foi convidado ao seu propio espazo persoal por %{name}" info: "Foi convidado ao seu propio espazo persoal por %{name}"
signup_info: "Para rexistrarse usando o seu correo-e, prema no seguinte botón e siga os pasos." signup_info: "Para rexistrarse usando o seu correo-e, prema no seguinte botón e siga os pasos."
signup_link: Rexistrarse signup_link: Rexistrarse
valid: "O convite é valido ata: %{date}"
signup: signup:
info: Un usuario que foi convidado rexistrouse para usar Greenlight. info: Un usuario que foi convidado rexistrouse para usar Greenlight.
admins_link: Visite a páxina da organización admins_link: Visite a páxina da organización
@ -398,9 +388,7 @@ gl:
title: Crear un novo rol title: Crear un novo rol
create_room: create_room:
access_code: Código de acceso access_code: Código de acceso
moderator_access_code: Código do moderador
access_code_placeholder: Xerar un código de acceso á sala opcional 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 auto_join: Unirse automaticamente comigo na sala
create: Crear unha sala create: Crear unha sala
free_delete: Será libre de eliminar esta sala en calquera momento. free_delete: Será libre de eliminar esta sala en calquera momento.
@ -489,7 +477,6 @@ gl:
office365: Office 365 office365: Office 365
twitter: Twitter twitter: Twitter
ldap: LDAP ldap: LDAP
openid_connect: Conectar con OpenID
recaptcha: recaptcha:
errors: errors:
recaptcha_unreachable: Ouh! non podemos validar a resposta de reCAPTCHA. Tenteo de novo. recaptcha_unreachable: Ouh! non podemos validar a resposta de reCAPTCHA. Tenteo de novo.
@ -498,11 +485,9 @@ gl:
all_recordings: Todas as gravacións all_recordings: Todas as gravacións
email: " Enviar correo coa gravación" email: " Enviar correo coa gravación"
error: "Produciuse un erro ao recuperar %{count} gravación(s)" error: "Produciuse un erro ao recuperar %{count} gravación(s)"
no_public_recordings: Esta sala non ten gravacións públicas. no_recordings: "Esta sala non ten gravacións %{inject}."
no_recordings: Esta sala non ten gravacións.
no_user_recordings: Non ten gravacións. no_user_recordings: Non ten gravacións.
no_matched_pub_recordings: Non hai gravacións públicas que coincidan coa túa busca. no_matched_recordings: "Non hai gravacións %{inject} que coincidan coa súa busca."
no_matched_recordings: Non hai gravacións que coincidan coa túa busca.
recorded_on: "Gravada o %{date}" recorded_on: "Gravada o %{date}"
table: table:
name: Nome name: Nome
@ -512,7 +497,6 @@ gl:
visibility: Visibilidade visibility: Visibilidade
formats: Formatos formats: Formatos
visibility: visibility:
inaccessible: Inaccesíbel
public: Pública public: Pública
unlisted: Sen listar unlisted: Sen listar
format: format:
@ -538,7 +522,6 @@ gl:
remove: Retirar remove: Retirar
rename: Renomear rename: Renomear
reset_password: reset_password:
captcha: "Produciuse un fallo na verificación de reCAPTCHA, ténteo de novo."
invalid_token: O testemuño de restablecemento de contrasinal non é válido. Tente restabelecer o seu contrasinal de novo. invalid_token: O testemuño de restablecemento de contrasinal non é válido. Tente restabelecer o seu contrasinal de novo.
subtitle: Restabelecer o contrasinal subtitle: Restabelecer o contrasinal
password: Novo contrasinal password: Novo contrasinal
@ -551,13 +534,11 @@ gl:
banned: Expulsado banned: Expulsado
deleted: Eliminado deleted: Eliminado
pending: Pendente pending: Pendente
invited: Convidado
user: Usuario user: Usuario
room: room:
access_code_required: Introduza un código de acceso válido para unirse á sala access_code_required: Introduza un código de acceso válido para unirse á sala
add_presentation: Engadir presentación add_presentation: Engadir presentación
copy_access: Copiar o código de acceso copy_access: Copiar o código de acceso
copy_moderator_access: Copiar o código de moderador
create_room: Crear unha sala create_room: Crear unha sala
create_room_error: Produciuse un erro ao crear a sala create_room_error: Produciuse un erro ao crear a sala
create_room_success: Creouse correctamente a sala create_room_success: Creouse correctamente a sala
@ -566,10 +547,8 @@ gl:
success: Eliminouse correctamente a sala success: Eliminouse correctamente a sala
fail: "Non foi posíbel eliminar a sala (%{error})" fail: "Non foi posíbel eliminar a sala (%{error})"
enter_the_access_code: Introduza o código de acceso á sala 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. 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." 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 invited: Foi convidado a unirse a
recording_present: Declaro ser coñecedor de que se vai gravar esta sesión. Isto pode incluír a miña voz e imaxe de vídeo se están activados. recording_present: Declaro ser coñecedor de que se vai gravar esta sesión. Isto pode incluír a miña voz e imaxe de vídeo se están activados.
invite_participants: Convidar a participantes invite_participants: Convidar a participantes
@ -646,9 +625,6 @@ gl:
title: Termos e condicións title: Termos e condicións
test_install: > test_install: >
Esta instalación está a usar un servidor para probas preconfigurado. Debe substituílo polo seu propio servidor. Para obter máis detalles, consulte %{href}. Esta instalación está a usar un servidor para probas preconfigurado. Debe substituílo polo seu propio servidor. Para obter máis detalles, consulte %{href}.
time:
formats:
default: "%b %d, %Y %-I:%M%P"
update: Actualizar update: Actualizar
verify: verify:
accept: Verificar accept: Verificar

View File

@ -69,10 +69,6 @@ it:
regular: Colore di base regular: Colore di base
lighten: Chiaro lighten: Chiaro
darken: Scuro 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: log_level:
title: Livello di Log title: Livello di Log
information: Modifica il livello di Log per l'intera installazione information: Modifica il livello di Log per l'intera installazione
@ -94,7 +90,7 @@ it:
title: Banner Manutenzione title: Banner Manutenzione
display: Imposta display: Imposta
clear: Pulisci clear: Pulisci
time: "Esempio: Aggiornamento schedulato il 13 Dicembre @ 23:00 ET. Gli utenti potrebbero riscontrare problemi nel loggare." time: "Esempio: Aggiornamento schedulato il 13 Dicembre @ 23:00 ET. Gli utenti potrebbero riscontrare problemi nel loggare."
preupload: preupload:
info: Gli utenti possono precaricare una presentazione per essere usata come presentazione di default per una stanza specifica info: Gli utenti possono precaricare una presentazione per essere usata come presentazione di default per una stanza specifica
title: Permetti agli Utenti di precaricare le Presentazioni title: Permetti agli Utenti di precaricare le Presentazioni
@ -109,27 +105,26 @@ it:
info: Limita il numero di stanze che un utente può avere (inclusa la stanza Home). Questa impostazione non si applica agli utenti Amministratori info: Limita il numero di stanze che un utente può avere (inclusa la stanza Home). Questa impostazione non si applica agli utenti Amministratori
title: Numero di stanze per utente title: Numero di stanze per utente
shared_access: shared_access:
info: "Impostando su disabilitato, verrà rimossa l'opzione dal menu a discesa delle Opzioni Stanza, impedendo agli utenti di condividere le Stanze" info: "Impostando su disabilitato, verra' rimossa l'opzione dal menu a discesa delle Opzioni Stanza, impedendo agli utenti di condividere le Stanze"
title: Consenti agli Utenti di condividere Stanze title: Consenti agli Utenti di condividere Stanze
subtitle: Personalizza Greenlight subtitle: Personalizza Greenlight
tabs: tabs:
appearance: Aspetto appearance: Aspetto
administration: Amministrazione administration: Amministrazione
registration: Registrazione
settings: Impostazioni settings: Impostazioni
title: Impostazioni Sito title: Impostazioni Sito
flash: flash:
approved: L'utente è stato approvato con successo approved: L'utente è stato approvato con successo
banned: L'utente è stato bannato. banned: L'utente è stato bannato.
unbanned: È stato rimosso il blocco utente. unbanned: E' stato rimosso il blocco utente.
delete: L'utente è stato eliminato con successo delete: L'utente è stato eliminato con successo
delete_fail: Errore nell'eliminazione utente delete_fail: Errore nell'eliminazione utente
demoted: L'utente è stato declassato demoted: L'utente è stato declassato
invite: "L'invito è stato inviato a %{email}" invite: "L'invito è stato inviato a %{email}"
invite_email_verification: L'email deve essere abilitata per poter usare questo metodo. Prego contatta il tuo amministratore di sistema invite_email_verification: L'email deve essere abilitata per poter usare questo metodo. Prego contatta il tuo amministratore di sistema
merge_fail: Si è verificato un problema in fase di accorpamento degli account utente. Per favore verifica gli utenti selezionati e riprova. merge_fail: Si e' verificato un problema in fase di accorpamento degli accounts utente. Per favore verifica gli utenti selezionati e riprova.
merge_success: Accounts utente accorpati con successo merge_success: Accounts utente accorpati con successo
perm_deleted: L'utente è stato eliminato definitivamente perm_deleted: L'utente e' stato eliminato definitivamente
promoted: L'utente è stato promosso promoted: L'utente è stato promosso
registration_method_updated: Il metodo di registrazione è stato aggiornato con successo registration_method_updated: Il metodo di registrazione è stato aggiornato con successo
reset_password: Agli utenti è stata inviata una mail per procedere con il reset della password (Prego avvisali di controllare anche la loro cartella di spam se non dovessero ricevere tale mail) reset_password: Agli utenti è stata inviata una mail per procedere con il reset della password (Prego avvisali di controllare anche la loro cartella di spam se non dovessero ricevere tale mail)
@ -138,20 +133,17 @@ it:
settings: Le impostazioni web sono state modificate con successo settings: Le impostazioni web sono state modificate con successo
unauthorized: Non sei autorizzato ad effettuare modifiche sull'utente unauthorized: Non sei autorizzato ad effettuare modifiche sull'utente
recordings: recordings:
latest: Ultime registrazioni
title: Registrazioni video sul server title: Registrazioni video sul server
no_recordings: Il server non ha registrazioni video no_recordings: Il server non ha registrazioni video
search_info: Inserisci l'email completa di un utente oppure l'uid di una stanza
roles: roles:
appear_in_share_list: Includi utenti con questo ruolo nel menu a discesa per la condivisione Stanze 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 can_create_rooms: Non posso creare la stanza
can_launch_recording: Permetti agli utenti con questo ruolo di registrare i loro meeting
delete: Cancella il ruolo delete: Cancella il ruolo
invalid_create: Si è verificato un problema creando il nuovo ruolo. Per favore verifica i valori assegnati e riprova invalid_create: Si e' verificato un problema creando il nuovo ruolo. Per favore verifica i valori assegnati e riprova
invalid_order: Si è verificato un problema aggiornando la priorità del ruolo. Per favore verifica i valori e riprova invalid_order: Si e' verificato un problema aggiornando la priorita' del ruolo. Per favore verifica i valori e riprova
invalid_update: Si è verificato un problema aggiornando i permessi del ruolo. Per favore verifica i valori e riprova. invalid_update: Si e' verificato un problema aggiornando i permessi del ruolo. Per favore verifica i valori e riprova.
manage_rooms_recordings: Consenti agli utenti con questo ruolo di gestire le Stanze e le Registrazioni manage_rooms_recordings: Consenti agli utenti con questo ruolo di gestire le Stanze e le Registrazioni
name: Nome del ruolo name: Nome del Ruolo
new_role: Crea un nuovo ruolo new_role: Crea un nuovo ruolo
role_has_users: "Questo ruolo è ancora assegnato a %{user_count} utenti. Prego rimuovi tutti gli utenti con quel ruolo prima di eliminare il ruolo stesso" role_has_users: "Questo ruolo è ancora assegnato a %{user_count} utenti. Prego rimuovi tutti gli utenti con quel ruolo prima di eliminare il ruolo stesso"
title: Ruoli title: Ruoli
@ -160,7 +152,7 @@ it:
edit_site_settings: Consenti agli Utenti con questo ruolo di modificare le impostazioni del sito edit_site_settings: Consenti agli Utenti con questo ruolo di modificare le impostazioni del sito
edit_roles: Consenti agli Utenti con questo ruolo di modificare altri ruoli edit_roles: Consenti agli Utenti con questo ruolo di modificare altri ruoli
manage_users: Consenti agli Utenti di questo ruolo di gestire il profilo di altri utenti manage_users: Consenti agli Utenti di questo ruolo di gestire il profilo di altri utenti
invalid_assignment: Si è verificato un problema assegnando il ruolo all'utente. Per favore verifica i valori e riprova invalid_assignment: Si e' verificato un problema assegnando il ruolo all'utente. Per favore verifica i valori e riprova
colour: colour:
title: Colore associato al ruolo title: Colore associato al ruolo
info: Imposta il colore che sarà associato al ruolo info: Imposta il colore che sarà associato al ruolo
@ -176,15 +168,11 @@ it:
info: Dà a tutti gli utenti i privilegi di moderatore su BigBlueButton quando entrano nel meeting. info: Dà a tutti gli utenti i privilegi di moderatore su BigBlueButton quando entrano nel meeting.
recordings: 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." 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: options:
disabled: Disabilitato disabled: Disabilitato
enabled: Sempre Abilitata enabled: Sempre Abilitata
optional: Opzionale optional: Opzionale
rooms: 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 title: Stanze
table: table:
ended: "Terminata: %{session}" ended: "Terminata: %{session}"
@ -214,14 +202,12 @@ it:
table: table:
authenticator: Gestore di autenticazione authenticator: Gestore di autenticazione
created: Creato created: Creato
time: Tempo d'invio
name: Nome name: Nome
not_found: Nessun utente corrisponde alla ricerca not_found: Nessun utente corrisponde alla ricerca
no_users: Nessun utente trovato no_users: Nessun utente trovato
role: Ruolo role: Ruolo
uid: ID Utente uid: ID Utente
username: Nome utente username: Nome utente
valid: Valido
title: Gestisci utenti title: Gestisci utenti
add_to_google_calendar: "Aggiungi a Google Calendar" add_to_google_calendar: "Aggiungi a Google Calendar"
bigbluebutton: BigBlueButton bigbluebutton: BigBlueButton
@ -230,7 +216,6 @@ it:
cookies: cookies:
cookie_info: "I Cookies aiutano a fornire i servizi personalizzati. Usando i nostri servizi, accetti di usare i nostri Cookies." cookie_info: "I Cookies aiutano a fornire i servizi personalizzati. Usando i nostri servizi, accetti di usare i nostri Cookies."
cookie_button: Accetto cookie_button: Accetto
policy: "Per ulteriori informazioni, consulta la nostra <a href=\"%{privacy_link}\"><u>normativa sulla privacy</u></a>."
copied: Copiato copied: Copiato
copy: Copia copy: Copia
date: date:
@ -258,9 +243,9 @@ it:
contact_admin: "Non sei un amministratore, dovresti contattarne uno serio." contact_admin: "Non sei un amministratore, dovresti contattarne uno serio."
continue: Voglio restare con la versione 1.0. continue: Voglio restare con la versione 1.0.
notice: > notice: >
Si è verificato un errore nella migrazione del database di Greenlight. <br> Questo può essere perché non hai aggiornato alla versione 2.0. Si è verificato un errore nella migrazione del database di GreenLight. <br> Questo può essere perché non hai aggiornato alla versione 2.0.
upgrade: Mostrami come aggiornare alla versione 2.0! upgrade: Mostrami come aggiornare alla versione 2.0!
version: Abbiamo rilasciato una nuova versione di Greenlight ma il tuo database non sembra essere compatibile. version: Abbiamo rilasciato una nuova versione di GreenLight ma il tuo database non sembra essere compatibile.
messages: messages:
blank: non può essere vuoto blank: non può essere vuoto
too_short: è troppo corto too_short: è troppo corto
@ -269,7 +254,6 @@ it:
accepted: devono essere accettati accepted: devono essere accettati
confirmation: "non corrisponde a %{attribute}" confirmation: "non corrisponde a %{attribute}"
inclusion: non è nella lista inclusion: non è nella lista
domain: "deve terminare con \"%{email_domain}\""
no_provider: no_provider:
message: Il sito a cui stai provando ad accedere non è abilitato message: Il sito a cui stai provando ad accedere non è abilitato
help: Prego contatta l'amministratore di sistema affinché configuri Greenlight help: Prego contatta l'amministratore di sistema affinché configuri Greenlight
@ -314,7 +298,6 @@ it:
home_room: Stanza principale home_room: Stanza principale
info_update_success: Le informazioni sono state aggiornate. info_update_success: Le informazioni sono state aggiornate.
invalid_credentials: L'email e/o la password che hai fornito non hanno riscontro in archivio. Prova ancora o clicca su "Ho dimenticato la password" per resettare e reimpostare la tua password attuale invalid_credentials: L'email e/o la password che hai fornito non hanno riscontro in archivio. Prova ancora o clicca su "Ho dimenticato la password" per resettare e reimpostare la tua password attuale
invalid_credentials_external: Lindirizzo email e la password che hai inserito non corrispondono ai nostri archivi. Prova di nuovo.
invalid_login_method: "Accesso fallito: account non corretto. Devi effettuare l'accesso con omniauth." invalid_login_method: "Accesso fallito: account non corretto. Devi effettuare l'accesso con omniauth."
invite_message: "Per invitare qualcuno a partecipare, inviagli questo link: " invite_message: "Per invitare qualcuno a partecipare, inviagli questo link: "
javascript: javascript:
@ -329,9 +312,9 @@ it:
landing: landing:
about: "%{href} è una semplice interfaccia per il software di video-conferenza open source BigBlueButton. Puoi creare Stanze per ospitare i meeting, o partecipare ad altri meeting utilizzando pratici collegamenti brevi." about: "%{href} è una semplice interfaccia per il software di video-conferenza open source BigBlueButton. Puoi creare Stanze per ospitare i meeting, o partecipare ad altri meeting utilizzando pratici collegamenti brevi."
welcome: Benvenuti su BigBlueButton. welcome: Benvenuti su BigBlueButton.
video: Guarda il tutorial sull'utilizzo di Greenlight video: Guarda il tutorial sull'utilizzo di GreenLight
upgrade: Mostrami come aggiornare alla versione 2.0! upgrade: Mostrami come aggiornare alla versione 2.0!
version: "È stata rilasciata una nuova versione di GreenLight, ma il tuo database non è compatibile." version: "E' stata rilasciata una nuova versione di GreenLight, ma il tuo database non è compatibile."
language_default: Predefinito (linguaggio del browser) language_default: Predefinito (linguaggio del browser)
ldap_error: Impossibile collegarsi al server LDAP. Controlla la configurazione LDAP nel file env e assicurati che il server sia attivo. ldap_error: Impossibile collegarsi al server LDAP. Controlla la configurazione LDAP nel file env e assicurati che il server sia attivo.
login: Entra login: Entra
@ -351,7 +334,7 @@ it:
subject: Account Approvato subject: Account Approvato
username: "Il tuo nome utente è %{email}." username: "Il tuo nome utente è %{email}."
demoted: demoted:
info: "Non sei più un %{role} su %{url} ." info: "Non sei piu' un %{role} su %{url} ."
more-info: Disponi ora degli stessi privilegi di un utente normale. more-info: Disponi ora degli stessi privilegi di un utente normale.
root_link: Entra root_link: Entra
subtitle: "Diritti di %{role} revocati." subtitle: "Diritti di %{role} revocati."
@ -359,9 +342,8 @@ it:
info: "Sei stato invitato sul tuo spazio personale da %{name}" 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_info: "Per accedere utilizzando la tua email, clicca il pulsante e segui i passaggi seguenti."
signup_link: Accesso signup_link: Accesso
valid: "L'invito è valido fino al: %{date}"
signup: signup:
info: Un utente che è stato invitato ha avuto accesso a Greenlight. info: Un utente che e' stato invitato ha avuto accesso a Greenlight.
admins_link: Visita la pagina Organizzazione admins_link: Visita la pagina Organizzazione
subject: Accesso nuovo Utente Greenlight subject: Accesso nuovo Utente Greenlight
username: "L'utente ha avuto accesso con il nome %{name} e l'email %{email} ." username: "L'utente ha avuto accesso con il nome %{name} e l'email %{email} ."
@ -369,7 +351,7 @@ it:
username: "Il tuo nome utente è %{email}." username: "Il tuo nome utente è %{email}."
password_reset: password_reset:
title: 'Reimposta password' title: 'Reimposta password'
welcome: "È stata fatta una richiesta di reset password a nome dell'email <b>%{email}</b>" welcome: "E' stata fatta una richiesta di reset password a nome dell'email <b>%{email}</b>"
message: 'Se sei tu ad aver eseguito la richiesta, per favore clicca il link seguente per resettare la password:' message: 'Se sei tu ad aver eseguito la richiesta, per favore clicca il link seguente per resettare la password:'
reset_link: Reimposta Password reset_link: Reimposta Password
expire: Questo link scadrà tra 2 ore. expire: Questo link scadrà tra 2 ore.
@ -387,20 +369,18 @@ it:
verify_text: 'Per verificare il tuo account, visita questo indirizzo: %{url}' verify_text: 'Per verificare il tuo account, visita questo indirizzo: %{url}'
verify_link: Verifica Account verify_link: Verifica Account
thanks: "Grazie per aver participato, buona giornata!" thanks: "Grazie per aver participato, buona giornata!"
max_concurrent: È stato raggiunto il massimo numero di sessioni contemporanee! max_concurrent: E' stato raggiunto il massimo numero di sessioni contemporanee!
merged: Accorpato merged: Accorpato
modal: modal:
create_role: create_role:
create: Crea nuovo Ruolo create: Crea nuovo Ruolo
footer_text: Potrai modificare i singoli permessi per questo ruolo dopo la sua creazione footer_text: Potrai modificare i singoli permessi per questo ruolo dopo la sua creazione
name_placeholder: Inserisci un nome per il ruolo... name_placeholder: Inserisci un nome per il ruolo...
not_blank: Il nome del ruolo non può rimanere vuoto. not_blank: Il nome del ruolo non puo' rimanere vuoto.
title: Crea Nuovo Ruolo title: Crea Nuovo Ruolo
create_room: create_room:
access_code: Codice Accesso access_code: Codice Accesso
moderator_access_code: Codice moderatore
access_code_placeholder: Genera un codice opzionale di accesso 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 auto_join: Aggiungimi automaticamente alla stanza
create: Crea Stanza create: Crea Stanza
free_delete: Puoi eliminare la stanza in qualsiasi momento. free_delete: Puoi eliminare la stanza in qualsiasi momento.
@ -411,7 +391,7 @@ it:
confirm: "Sicuro di voler eliminare questo account?" confirm: "Sicuro di voler eliminare questo account?"
delete: Sono sicuro. Elimina questo account. delete: Sono sicuro. Elimina questo account.
keep: "mmmh no dai, NON eliminarlo." keep: "mmmh no dai, NON eliminarlo."
delete_warning: Questo disabiliterà l'account utente. Tutti gli account utente disabilitati si trovano sotto il tab cancellati. delete_warning: Questo disabilitera' l'account utente. Tutti gli account utente disabilitati si trovano sotto il tab cancellati.
warning: Questa è la tua ultima possibilità. <b>Non</b> sarai in grado di recuperare i dati associati. warning: Questa è la tua ultima possibilità. <b>Non</b> sarai in grado di recuperare i dati associati.
delete_rec: delete_rec:
delete: "Sono sicuro, elimina questa registrazione." delete: "Sono sicuro, elimina questa registrazione."
@ -421,11 +401,11 @@ it:
confirm: "Sicuro di voler eliminare %{room}?" confirm: "Sicuro di voler eliminare %{room}?"
delete: "Sono sicuro, elimina la stanza." delete: "Sono sicuro, elimina la stanza."
keep: "Ripensandoci, penso che la terrò." keep: "Ripensandoci, penso che la terrò."
warning: <b>Non</b>c'è modo di recuperare questa stanza warning: <b>Non</b>c'e' modo di recuperare questa stanza
recording_warning: "o ciascuna delle sue %{recordings_num} relative registrazioni." recording_warning: "o ciascuna delle sue %{recordings_num} relative registrazioni."
invite_user: invite_user:
email_placeholder: Inserisci le email degli utenti (separate da virgola) email_placeholder: Inserisci le email degli utenti (separate da virgola)
footer: L'utente riceverà un'email contenente le istruzioni per accedere footer: L'utente ricevera' un'email contenente le istruzioni per accedere
send: Spedisci Invito send: Spedisci Invito
title: Invita utente title: Invita utente
login: login:
@ -444,14 +424,14 @@ it:
remove_shared: remove_shared:
title: "Confermi di voler rimuovere questa stanza dalla tua lista stanze?" title: "Confermi di voler rimuovere questa stanza dalla tua lista stanze?"
delete: "Confermo, rimuovi questa stanza." delete: "Confermo, rimuovi questa stanza."
warning: <b>Non</b> potrai più accedere a questa stanza. warning: <b>Non</b> potrai piu' accedere a questa stanza.
room_settings: room_settings:
title: Impostazioni della stanza title: Impostazioni della stanza
update: Aggiorna Stanza update: Aggiorna Stanza
client: Seleziona il tipo di interfaccia client: Seleziona il tipo di interfaccia
join_moderator: Tutti gli utenti accedono come moderatori join_moderator: Tutti gli utenti accedono come moderatori
mute: Silenzia utenti quando entrano nella stanza mute: Silenzia utenti quando entrano nella stanza
require_approval: È richiesta l'approvazione del moderatore per accedere require_approval: E' richiesta l'approvazione del moderatore per accedere
start: Consenti a qualsiasi utente di avviare questo meeting start: Consenti a qualsiasi utente di avviare questo meeting
footer_text: Le impostazioni della stanza possono essere cambiate in qualsiasi momento. footer_text: Le impostazioni della stanza possono essere cambiate in qualsiasi momento.
recording: Permetti la registrazione della stanza recording: Permetti la registrazione della stanza
@ -470,7 +450,7 @@ it:
title: Incorpora Accounts Utenti title: Incorpora Accounts Utenti
to: Account Primario to: Account Primario
save: Incorpora save: Incorpora
footer: "Le stanze dell'account da incorporare saranno trasferite alla lista stanze dell'Account Primario, dopo di che l'account da incorporare verrà eliminato." footer: "Le stanze dell'account da incorporare saranno trasferite alla lista stanze dell'Account Primario, dopo di che l'account da incorporare verra' eliminato."
name_update_success: Il nome della stanza è stato cambiato con successo! name_update_success: Il nome della stanza è stato cambiato con successo!
no_user_email_exists: Non esistono utenti con la email specificata. Controlla di averla inserita correttamente. no_user_email_exists: Non esistono utenti con la email specificata. Controlla di averla inserita correttamente.
omniauth_error: Si è verificato un errore con l'autenticazione omniauth. Prova ancora o contatta un amministratore! omniauth_error: Si è verificato un errore con l'autenticazione omniauth. Prova ancora o contatta un amministratore!
@ -489,7 +469,6 @@ it:
office365: Office 365 office365: Office 365
twitter: Twitter twitter: Twitter
ldap: LDAP ldap: LDAP
openid_connect: Collegati con OpenID
recaptcha: recaptcha:
errors: errors:
recaptcha_unreachable: "Accidenti, la verifica reCAPTCHA è fallita. Riprova." recaptcha_unreachable: "Accidenti, la verifica reCAPTCHA è fallita. Riprova."
@ -497,12 +476,10 @@ it:
recording: recording:
all_recordings: Tutte le registrazioni all_recordings: Tutte le registrazioni
email: Registrazioni Email email: Registrazioni Email
error: "Si è verificato un errore durante il recupero di %{count} registrazione/i" error: "Si e' verificato un errore durante il recupero di %{count} registrazione/i"
no_public_recordings: Questa stanza non ha registrazioni video pubbliche. no_recordings: "Questa stanza non ha %{inject} registrazioni."
no_recordings: Questa stanza non ha registrazioni video.
no_user_recordings: Non ci sono registrazioni al momento. no_user_recordings: Non ci sono registrazioni al momento.
no_matched_pub_recordings: Nessuna registrazione video pubblica corrisponde alla tua ricerca. no_matched_recordings: Nessuna registrazione corrisponde alla tua ricerca.
no_matched_recordings: Nessuna registrazione video corrisponde alla tua ricerca.
recorded_on: "Registrato il %{date}" recorded_on: "Registrato il %{date}"
table: table:
name: Nome name: Nome
@ -512,7 +489,6 @@ it:
visibility: Visibilità visibility: Visibilità
formats: Formati formats: Formati
visibility: visibility:
inaccessible: Inaccessibile
public: Pubblica public: Pubblica
unlisted: Non in elenco unlisted: Non in elenco
format: format:
@ -523,41 +499,37 @@ it:
video: Video video: Video
registration: registration:
approval: approval:
fail: "Il tuo account non è ancora stato approvato. Se sono passati diversi giorni da quando ti sei registrato, contatta per favore il tuo amministratore." fail: "Il tuo account non e' ancora stato approvato. Se sono passati diversi giorni da quando ti sei registrato, contatta per favore il tuo amministratore."
signup: Il tuo account è stato creato con successo. È stato inviato ad un amministratore per l'approvazione. signup: Il tuo account e' stato creato con successo. E' stato inviato ad un amministratore per l'approvazione.
banned: banned:
fail: "Non hai accesso a questa applicazione. Se ritieni si tratti di un errore, contatta per favore il tuo amministratore." fail: "Non hai accesso a questa applicazione. Se ritieni si tratti di un errore, contatta per favore il tuo amministratore."
deprecated: deprecated:
new_signin: Seleziona un metodo per l'accesso al tuo account. Tutte le stanze collegate al tuo vecchio account saranno migrate al nuovo account. new_signin: Seleziona un metodo per l'accesso al tuo account. Tutte le stanze collegate al tuo vecchio account saranno migrate al nuovo account.
twitter_signin: "L'accesso via Twitter è deprecato e verrà rimosso nella prossima release. Clicca <a href=\"%{link}\"> qui </a> per consentire al tuo account un nuovo metodo di autenticazione" twitter_signin: "L'accesso via Twitter e' deprecato e verra' rimosso nella prossima release. Clicca <a href=\"%{link}\"> qui </a> per consentire al tuo account un nuovo metodo di autenticazione"
twitter_signup: L'accesso via Twitter è deprecato. Per favore utilizza un altro metodo di autenticazione twitter_signup: L'accesso via Twitter e' deprecato. Per favore utilizza un altro metodo di autenticazione
merge_success: Il tuo account Twitter è stato accorpato con successo al tuo nuovo account. Il tuo vecchio account Twitter è stato rimosso merge_success: Il tuo account Twitter e' stato accorpato con successo al tuo nuovo account. Il tuo vecchio account Twitter e' stato rimosso
invite: invite:
fail: "Il tuo token non è valido o è scaduto. Se ritieni si tratti di un errore, per favore contatta il tuo amministratore." fail: "Il tuo token e' invalido o e' scaduto. Se ritieni si tratti di un errore, per favore contatta il tuo amministratore."
no_invite: Non disponi di un invito per partecipare. Contatta il tuo amministratore per riceverne uno. no_invite: Non disponi di un invito per partecipare. Contatta il tuo amministratore per riceverne uno.
remove: Elimina remove: Elimina
rename: Rinomina rename: Rinomina
reset_password: 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. invalid_token: Il token di reset della password non è valido. Riprova a richiedere il reset nuovamente.
subtitle: Reimposta password subtitle: Reimposta password
password: Nuova password password: Nuova password
confirm: Conferma nuova password confirm: Conferma nuova password
update: Aggiorna password update: Aggiorna password
auth_change: Il metodo di autenticazione è cambiato. Per favore controlla la tua email per impostare la tua password. auth_change: Il metodo di autenticazione e' cambiato. Per favore controlla la tua email per impostare la tua password.
roles: roles:
active: Attivo active: Attivo
admin: Amministratore admin: Amministratore
banned: Bloccato banned: Bloccato
deleted: Eliminato deleted: Eliminato
pending: In attesa pending: In attesa
invited: Invitato
user: Utente user: Utente
room: room:
access_code_required: Prego immettere un codice valido per entrare nella stanza access_code_required: Prego immettere un codice valido per entrare nella stanza
add_presentation: Aggiungi Presentazione add_presentation: Aggiungi Presentazione
copy_access: Copia codice di accesso
copy_moderator_access: Copia codice moderatore
create_room: Crea una stanza create_room: Crea una stanza
create_room_error: Si è verificato un errore nella creazione della stanza create_room_error: Si è verificato un errore nella creazione della stanza
create_room_success: La stanza è stata creata correttamente create_room_success: La stanza è stata creata correttamente
@ -566,10 +538,8 @@ it:
success: Stanza eliminata con successo success: Stanza eliminata con successo
fail: "Stanza non eliminata a causa dell'errore seguente: %{error}" fail: "Stanza non eliminata a causa dell'errore seguente: %{error}"
enter_the_access_code: Immetti il codice di accesso alla stanza 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. 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." 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 invited: Hai ricevuto un invito per partecipare
recording_present: Accetto che questa sessione verrà registrata. Questo può includere la mia voce e il video se abilitati. recording_present: Accetto che questa sessione verrà registrata. Questo può includere la mia voce e il video se abilitati.
invite_participants: Invita partecipanti invite_participants: Invita partecipanti
@ -577,12 +547,12 @@ it:
last_session: "Ultima sessione: %{session}" last_session: "Ultima sessione: %{session}"
login: Accedi login: Accedi
owner: Proprietario owner: Proprietario
owner_banned: Questa stanza non è al momento disponibile owner_banned: Questa stanza non e' al momento disponibile
no_room: no_room:
description: Inserisci l'url o l'id della stanza a cui desideri accedere. description: Inserisci l'url o l'id della stanza a cui desideri accedere.
edit_profile: Modifica Profilo Utente edit_profile: Modifica Profilo Utente
go_to: Vai alla Stanza go_to: Vai alla Stanza
invalid_room_uid: L'url/uid della stanza inserito non è valido. invalid_room_uid: l'url/uid inserito non e' valido.
placeholder: url/uid Stanza placeholder: url/uid Stanza
no_recent_rooms: Non sei entrato di recente in alcuna stanza no_recent_rooms: Non sei entrato di recente in alcuna stanza
recent_rooms: Entra in una stanza visitata recentemente recent_rooms: Entra in una stanza visitata recentemente
@ -600,11 +570,10 @@ it:
share: Gestione Accesso share: Gestione Accesso
shared_by: "Condiviso da %{email}" shared_by: "Condiviso da %{email}"
remove_shared_access_success: Stanza condivisa rimossa con successo dal tuo elenco stanze remove_shared_access_success: Stanza condivisa rimossa con successo dal tuo elenco stanze
remove_shared_access_error: Si è verificato un errore rimuovendo la stanza condivisa dal tuo elenco remove_shared_access_error: Si e' verificato un errore rimuovendo la stanza condivisa dal tuo elenco
shared_access_success: Stanza condivisa con successo shared_access_success: Stanza condivisa con successo
shared_access_error: Si è verificato un errore condividendo la stanza shared_access_error: Si e' verificato un errore condividendo la stanza
start: Avvia start: Avvia
search: Ricerca della stanza…
unavailable: La stanza non è disponibile finché il proprietario non verifica il suo indirizzo email. 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_error: Si è verificato un errore nell'aggiornamento dei dettagli della stanza
update_settings_success: Impostazioni della stanza aggiornate correttamente update_settings_success: Impostazioni della stanza aggiornate correttamente
@ -623,7 +592,7 @@ it:
title: Informazioni account title: Informazioni account
reset_password: Reimposta password dell'utente reset_password: Reimposta password dell'utente
delete: delete:
button: "Sì, voglio eliminare il mio account." button: "Si, voglio eliminare il mio account."
disclaimer: "Se scegli di eliminare il tuo account, <b>NON</b> sarà possibile recuperarlo. Tutte le informazioni riguardo l'account, incluse impostazioni, stanze e registrazioni, verranno eliminate." disclaimer: "Se scegli di eliminare il tuo account, <b>NON</b> sarà possibile recuperarlo. Tutte le informazioni riguardo l'account, incluse impostazioni, stanze e registrazioni, verranno eliminate."
subtitle: Elimina definitivamente l'account subtitle: Elimina definitivamente l'account
title: Elimina account title: Elimina account
@ -646,9 +615,6 @@ it:
title: Termini e Condizioni title: Termini e Condizioni
test_install: > test_install: >
Questa versione usa un server di test pre-configurato, dovresti rimpiazzarlo con il tuo. Per i dettagli, visita %{href}. Questa versione usa un server di test pre-configurato, dovresti rimpiazzarlo con il tuo. Per i dettagli, visita %{href}.
time:
formats:
default: "%b %d, %Y %-I:%M%P"
update: Aggiorna update: Aggiorna
verify: verify:
accept: Verifica accept: Verifica

View File

@ -34,8 +34,8 @@ ja_JP:
authentication: authentication:
disabled: 無効 disabled: 無効
enabled: 有効 enabled: 有効
info: サインインしたユーザのみが会議に参加できるようにします info: サインインしたユーザのみが会議に参加できるようにします
title: 入室を認証ユーザに限定 title: 入室を認証ユーザに限定
user-info: この会議室に入るにはサインインが必要になります user-info: この会議室に入るにはサインインが必要になります
branding: branding:
change: 画像の変更 change: 画像の変更
@ -60,7 +60,7 @@ ja_JP:
title: サービス提供元キャッシュのクリア title: サービス提供元キャッシュのクリア
button: キャッシュのクリア button: キャッシュのクリア
clear_auth: clear_auth:
info: ユーザの現在の認証システムをクリアして別の認証方法でサインインできるようにします info: ユーザの現在の認証システムをクリアして別の認証方法でサインインできるようにします
title: 現在の認証システムをクリア title: 現在の認証システムをクリア
button: 認証のクリア button: 認証のクリア
color: color:
@ -70,46 +70,46 @@ ja_JP:
lighten: 明色 lighten: 明色
darken: 暗色 darken: 暗色
email_mapping: email_mapping:
info: "メールアドレスを使用してユーザに役割を割り当てる。メール1=役割1,メール2=役割2の形式で記述する必要があります" info: "メールアドレスを使用してユーザに役割を割り当てる。メールアドレス1=役割1,メールアドレス2=役割2の形式で記述する必要があります"
title: メールアドレスによる役割の割り当て title: メールアドレスによる役割の割り当て
update: update:
log_level: log_level:
title: ログレベル title: ログレベル
information: 配置されたすべてのログレベルを変更する information: 配置されたすべてのログレベルを変更する
debug: デバッグ debug: デバッグ
info: 情報収集 info: 情報
warn: 警告 warn: 警告
error: エラー error: エラー
fatal: 致命的 fatal: 致命的
unknown: 不明 unknown: 不明
recording_visibility: recording_visibility:
info: 新しい録画の標準の公開方法を設定する info: 新しい録画の標準の公開方法を設定する
title: 録画の標準公開度 title: 標準の録画公開度
warning: この設定は実行していない会議室にのみ適用されます warning: この設定は実行していない会議室にのみ適用されます
require_consent: require_consent:
info: これにより、会議室のオーナーが、部屋ごとの録画の可否を設定できるようになります。録画される会議に参加するユーザからは、同意を得る必要があります。 info: これにより、会議室のオーナーが、部屋ごとの録画の可否を設定できるようになります。録画される会議に参加するユーザからは、同意を得る必要があります。
title: 会議室のオーナーと参加者に、録画への同意を求める title: 会議室のオーナーと参加者に、録画への同意を求める
maintenance_banner: maintenance_banner:
info: メンテナンスの予定をユーザに通知するバナーを表示します info: メンテナンスの予定をユーザに通知するバナーを表示します
title: メンテナンスバナー title: メンテナンスバナー
display: セットする display: セットする
clear: 消去する clear: 消去する
time: "例: アップデートが日本時間の12月13日23:00から予定されています。その間サインインがうまくできない可能性があります。" time: "例: アップデートが日本時間の12月13日23:00から予定されています。その間サインインがうまくできない可能性があります。"
preupload: preupload:
info: ユーザがプレゼン資料を事前にアップロードできるようになります。この資料は、会議室固有の標準資料として使用されます。 info: ユーザがプレゼン資料を事前にアップロードできるようになります。この資料は、会議室固有の標準資料として使用されます。
title: プレゼン資料の事前アップロードを許可 title: プレゼン資料の事前アップロードを許可
registration: registration:
info: ユーザがWebサイトに登録する方法を変更しま info: ユーザがWebサイトに登録する方法を変更す
title: 登録方法 title: 登録方法
methods: methods:
approval: 承認制 approval: 承認制
invite: 招待制 invite: 招待制
open: 自由登録 open: 自由登録
rooms: rooms:
info: ユーザが所有できる会議室の数を制限します(会議室を含む)。 この設定は管理者には適用されません。 info: ユーザが所有できる会議室の数を制限します(メイン会議室を含む)。 この設定は管理者には適用されません。
title: ユーザあたりの会議室数 title: ユーザあたりの会議室数
shared_access: shared_access:
info: 無効に設定すると、各会議室のドロップダウンから「アクセス管理」ボタンが削除され、ユーザが会議室を共有できなくなります info: 無効に設定すると、各会議室のドロップダウンから「アクセス管理」ボタンが削除され、ユーザが会議室を共有できなくなります
title: 会議室の共有を許可 title: 会議室の共有を許可
subtitle: Greenlightのカスタマイズ subtitle: Greenlightのカスタマイズ
tabs: tabs:
@ -119,66 +119,60 @@ ja_JP:
settings: 設定 settings: 設定
title: サイトの設定 title: サイトの設定
flash: flash:
approved: ユーザが承認されました。 approved: ユーザが承認されました。
banned: ユーザがロックされました。 banned: ユーザがロックされました。
unbanned: ユーザのロックが解除されました。 unbanned: ユーザのロックが解除されました。
delete: ユーザが削除されました delete: ユーザが削除されました
delete_fail: ユーザを削除できませんでした delete_fail: ユーザを削除できませんでした
demoted: ユーザが降格されました demoted: ユーザが降格されました
invite: "%{email} に招待状を送信しました" invite: "%{email} に招待状を送信しました"
invite_email_verification: この方法を使用するには、メールを有効にする必要があります。 システム管理者にお問い合わせください。 invite_email_verification: この方法を使用するには、メールを有効にする必要があります。 システム管理者にお問い合わせください。
merge_fail: ユーザアカウントのマージ中に問題が発生しました。 選択したユーザを確認して、もう一度お試しください merge_fail: ユーザアカウントのマージ中に問題が発生しました。 選択したユーザを確認して、もう一度お試しください
merge_success: ユーザアカウントがマージされました merge_success: ユーザアカウントがマージされました
perm_deleted: ユーザが完全に削除されました perm_deleted: ユーザが完全に削除されました
promoted: ユーザが昇格しました promoted: ユーザが昇格しました
registration_method_updated: 登録方法が更新されました registration_method_updated: 登録方法が更新されました
reset_password: パスワードをリセットするためのメールがユーザに送信されました。 (受信していない場合は、迷惑メールフォルダを確認してみてください) reset_password: パスワードをリセットするためのメールがユーザに送信されました。 (受信していない場合は、迷惑メールフォルダを確認してみてください)
restored: ユーザが復元されました restored: ユーザが復元されました
room_configuration: 会議室の設定が変更されました。 room_configuration: 会議室の設定が変更されました。
settings: サイト設定が変更されました settings: サイト設定が変更されました
unauthorized: このユーザにアクションを実行する権限がありません unauthorized: このユーザにアクションを実行する権限がありません
recordings: recordings:
latest: 最近の録画
title: すべての録画 title: すべての録画
no_recordings: このサーバには録画がありません。 no_recordings: このサーバには録画がありません。
search_info: ユーザーの電子メールアドレスか、会議室のIDを入力して下さい。
roles: roles:
appear_in_share_list: 会議室共有のドロップダウンに含める appear_in_share_list: 会議室共有のドロップダウンにこの役割を割り当てられたユーザを含める
can_create_rooms: 会議室の作成権 can_create_rooms: 会議室の作成権
can_launch_recording: 会議を録画する権限
delete: 役割の削除 delete: 役割の削除
invalid_create: 新しい役割の作成中に問題が発生しました。 設定を確認して再度お試しください invalid_create: 新しい役割の作成中に問題が発生しました。 設定を確認して再度お試しください
invalid_order: 役割の優先度を更新中に問題が発生しました。 設定を確認して再度お試しください invalid_order: 役割の優先度を更新中に問題が発生しました。 設定を確認して再度お試しください
invalid_update: 役割の権限を更新中に問題が発生しました。 設定を確認して再度お試しください invalid_update: 役割の権限を更新中に問題が発生しました。 設定を確認して再度お試しください
manage_rooms_recordings: 会議室と録画を管理する権限 manage_rooms_recordings: サーバに存在する全ての会議室と録画の管理権を許可
name: 役割の名前 name: 役割の名前
new_role: 新しい役割を作成する new_role: 新しい役割を作成する
role_has_users: "この役割は %{user_count} アカウントに割り当てられています。 削除する前に、この役割からすべてのアカウントを削除してください。" role_has_users: "この役割は %{user_count} アカウントに割り当てられています。 削除する前に、この役割からすべてのアカウントを削除してください。"
title: 役割 title: 役割
promote_email: この役割が割り当てられたときにはメールで知らせ promote_email: ユーザにこの役割が割り当てられたときにメールを送信す
demote_email: この役割を解除されたときはメールで知らせ demote_email: ユーザがこの役割を解除されたときにメールを送信す
edit_site_settings: サイト設定の編集権 edit_site_settings: サイト設定の編集権
edit_roles: 役割の編集権 edit_roles: 役割の編集権
manage_users: ユーザの管理権 manage_users: ユーザの管理権
invalid_assignment: ユーザへの役割設定中に問題が発生しました。 設定を確認して再度お試しください invalid_assignment: ユーザへの役割設定中に問題が発生しました。 設定を確認して再度お試しください
colour: colour:
title: 役割の色 title: 役割の色
info: 役割に関連付ける色を設定します info: 役割に関連付ける色を設定します
room_configuration: room_configuration:
title: 会議室の設定 title: 会議室の設定
mute: mute:
info: ユーザが会議に参加した時、自動的にミュートします。 info: ユーザが会議に参加した時、自動的にミュートします。
require_moderator: require_moderator:
info: ユーザが会議に参加しようとした時、モデレータに問い合わせが行きます。許可が得られればユーザは参加できます。 info: ユーザが会議に参加しようとした時、モデレータに問い合わせが行きます。許可が得られればユーザは参加できます。
allow_any: allow_any:
info: 全てのユーザがいつでも会議を開始することを許可します。通常は会議室のオーナーだけが会議を開始できます。 info: 全てのユーザがいつでも会議を開始することを許可します。通常は会議室のオーナーだけが会議を開始できます。
all_moderator: all_moderator:
info: すべてのユーザに、会議に参加した時点で司会者の権限をあたえます。 info: すべてのユーザに、会議に参加した時点で司会者の権限をあたえます。
recordings: recordings:
info: 会議室のオーナーが、会議を録画させるかどうかの選択肢を提供できるようになります。これをオンにしたとしても、録画を開始するためには、司会者は"録画"ボタンを押す必要があります。 info: 会議室のオーナーが、会議を録画させるかどうかの選択肢を提供できるようになります。これをオンにしたとしても、録画を開始するためには、司会者は"録画"ボタンを押す必要があります。
moderator_codes:
info: 会議室の所有者に、モデレーターPINコードの発行を許可します。このコードがあれば、他のユーザーが直接モデレーターとして会議に参加できます。
title: モデレーターPINコード
options: options:
disabled: 常に無効 disabled: 常に無効
enabled: 常に有効 enabled: 常に有効
@ -194,35 +188,35 @@ ja_JP:
running: 会議中 running: 会議中
started: "会議開始: %{session}" started: "会議開始: %{session}"
status: 状況 status: 状況
view: 見る view: 表示
title: 設定 title: 設定
users: users:
invite: ユーザを招待する invite: ユーザを招待する
edit: edit:
title: ユーザーの詳細情報を編集 title: ユーザ詳細の編集
settings: settings:
approve: 承認する approve: 承認する
decline: 却下する decline: 却下する
ban: ユーザをロックする ban: ユーザをロックする
delete: 削除する delete: 削除する
edit: 編集する edit: 編集する
edit_roles: ユーザの役割を編集する edit_roles: ユーザの役割を編集する
merge: マージ merge: マージ
perm_delete: 完全に削除する perm_delete: 完全に削除する
unban: ユーザのロックを解除 unban: ユーザのロックを解除
undelete: 削除の取消 undelete: 削除の取消
table: table:
authenticator: 認証元 authenticator: 認証元
created: 作成 created: 作成
time: 送付時刻 time: 送付時刻
name: 名前 name: 名前
not_found: 検索条件に一致するユーザはいません not_found: 検索に一致するユーザはいません
no_users: ユーザが見つかりません no_users: ユーザが見つかりません
role: 役割 role: 役割
uid: ユーザID uid: ユーザID
username: ユーザ username: ユーザ
valid: 有効 valid: 有効
title: ユーザ管理 title: ユーザ管理
add_to_google_calendar: "Googleカレンダーに追加" add_to_google_calendar: "Googleカレンダーに追加"
bigbluebutton: BigBlueButton bigbluebutton: BigBlueButton
bigbluebutton_exception: 会議を開始するときにエラーが発生しました! bigbluebutton_exception: 会議を開始するときにエラーが発生しました!
@ -230,7 +224,6 @@ ja_JP:
cookies: cookies:
cookie_info: Cookieはこのサービスの提供に使われています。 このサービスの利用によりCookieの使用に同意したことになります。 cookie_info: Cookieはこのサービスの提供に使われています。 このサービスの利用によりCookieの使用に同意したことになります。
cookie_button: 同意する cookie_button: 同意する
policy: "詳しくは私たちの <a href=\"%{privacy_link}\"><u>プライバシーポリシー</u></a>をご覧ください。"
copied: コピー済み copied: コピー済み
copy: コピー copy: コピー
date: date:
@ -269,7 +262,6 @@ ja_JP:
accepted: 受け入れる必要があります accepted: 受け入れる必要があります
confirmation: "%{attribute} と一致しません" confirmation: "%{attribute} と一致しません"
inclusion: リストに含まれていません inclusion: リストに含まれていません
domain: "\"%{email_domain}\"で終わる必要があります"
no_provider: no_provider:
message: アクセスしようとしているサイトは有効になっていません message: アクセスしようとしているサイトは有効になっていません
help: Greenlightの設定については、システム管理者にお問い合わせください。 help: Greenlightの設定については、システム管理者にお問い合わせください。
@ -278,7 +270,7 @@ ja_JP:
help: 削除されている可能性はありませんか? help: 削除されている可能性はありませんか?
user_not_found: user_not_found:
help: 管理者にお問い合わせください。 help: 管理者にお問い合わせください。
message: このユーザは登録されていません。 message: このユーザは登録されていません。
user_missing: user_missing:
help: URLを確認して再度お試しください help: URLを確認して再度お試しください
message: 入力されたURLは無効です。 message: 入力されたURLは無効です。
@ -292,7 +284,7 @@ ja_JP:
rooms: 会議室の作成 rooms: 会議室の作成
recordings: 録画の管理 recordings: 録画の管理
designs: デザインの調整 designs: デザインの調整
authentication: ユーザの認証 authentication: ユーザの認証
footer: footer:
legal: 利用規約 legal: 利用規約
privpolicy: プライバシーポリシー privpolicy: プライバシーポリシー
@ -311,10 +303,9 @@ ja_JP:
home: ホーム home: ホーム
settings: プロフィール settings: プロフィール
signout: サインアウト signout: サインアウト
home_room: 会議室 home_room: メイン会議室
info_update_success: 情報を更新しました。 info_update_success: 情報を更新しました。
invalid_credentials: 入力されたメールアドレスとパスワードが登録内容と一致しませんでした。 もう一度試すか[パスワードを忘れた場合]をクリックしてパスワードをリセットしてください。 invalid_credentials: 入力されたメールアドレスとパスワードが登録内容と一致しませんでした。 もう一度試すか[パスワードを忘れた場合]をクリックしてパスワードをリセットしてください。
invalid_credentials_external: 入力したEメールアドレスとパスワードがこちらの記録と違っています。もう一度入力してみてください。
invalid_login_method: アカウントが一致しないため、ログインに失敗しました。 Omniauthでログインする必要があります。 invalid_login_method: アカウントが一致しないため、ログインに失敗しました。 Omniauthでログインする必要があります。
invite_message: "誰かを会議に招待するには、このリンクを送信します:" invite_message: "誰かを会議に招待するには、このリンクを送信します:"
javascript: javascript:
@ -327,7 +318,7 @@ ja_JP:
search: search:
start: 検索開始... start: 検索開始...
landing: landing:
about: "%{href}は、オープンソースWeb会議サーバ BigBlueButton のシンプルなフロントエンドです。 自分の会議室を作成してセッションを主催したり、簡単なリンクを使用して他のユーザーを招待したりできます。" about: "%{href}は、オープンソースWeb会議サーバ BigBlueButton のシンプルなフロントエンドです。 自分の会議室を作成してセッションを主催したり、簡単なリンクを使用して他のユーザが参加したりできます。"
welcome: BigBlueButton へようこそ welcome: BigBlueButton へようこそ
video: Greenlightの使い方に関するチュートリアルを見る video: Greenlightの使い方に関するチュートリアルを見る
upgrade: 2.0にアップグレードする方法を教えて upgrade: 2.0にアップグレードする方法を教えて
@ -343,30 +334,29 @@ ja_JP:
signin: パーソナル会議室にアクセスするには、下のボタンをクリックしてサインインしてください。 signin: パーソナル会議室にアクセスするには、下のボタンをクリックしてサインインしてください。
signin_link: サインイン signin_link: サインイン
signup: signup:
info: 新しいユーザがGreenlightを利用するためにサインアップしました。 info: 新しいユーザがGreenlightを利用するためにサインアップしました。
more-info: このユーザがGreenlightにアクセスできるようにするには、「構成の設定」でアカウントを承認する必要があります。 more-info: このユーザがGreenlightにアクセスできるようにするには、[構成の設定]でアカウントを承認する必要があります。
admins_link: 構成ページを見る admins_link: 構成ページを見る
subject: 新しいGreenlightユーザのサインアップ subject: 新しいGreenlightユーザのサインアップ
username: "このユーザは名前 %{name} とメールアドレス %{email} でサインアップしました。" username: "ユーザは名前 %{name} とメールアドレス %{email} でサインアップしました。"
subject: アカウントが承認されました subject: アカウントが承認されました
username: "あなたのユーザ名は %{email} です。" username: "あなたのユーザ名は %{email} です。"
demoted: demoted:
info: "あなたは %{url} の %{role} ではなくなりました。" info: "あなたは %{url} の %{role} ではなくなりました。"
more-info: これであなたに通常のユーザと同じ権限が与えられました。 more-info: これで通常のユーザと同じ権限が与えられるようになりました。
root_link: サインイン root_link: サインイン
subtitle: "%{role} の権限が取り消されました" subtitle: "%{role} の権限が取り消されました"
invite: invite:
info: "%{name} があなたをパーソナルスペースに招待しました" info: "%{name} があなたのパーソナルスペースに招待されました"
signup_info: メールを使ってサインアップするには、以下のボタンをクリックして、手順に従ってください。 signup_info: メールを使ってサインアップするには、以下のボタンをクリックして、手順に従ってください。
signup_link: サインアップ signup_link: サインアップ
valid: "招待の有効期限: %{date}"
signup: signup:
info: 招待されたユーザがGreenlightを使用するためにサインアップしました。 info: 招待されたユーザがGreenlightを使用するためにサインアップしました。
admins_link: 構成ページにアクセス admins_link: 構成ページにアクセス
subject: 新しいGreenlightユーザのサインアップ subject: 新しいGreenlightユーザのサインアップ
username: "このユーザーは %{name} という名前と %{email} というメールアドレスでサインアップしました。" username: "ユーザは名前 %{name} とメールアドレス %{email} でサインアップしました。"
subject: BigBlueButtonへの招待 subject: BigBlueButtonへの招待
username: "あなたのユーザ名は %{email} です。" username: "あなたのユーザ名は %{email} です。"
password_reset: password_reset:
title: 'パスワードのリセット' title: 'パスワードのリセット'
welcome: "メールアドレス <b>%{email}</b> のパスワードリセットが要求されました。" welcome: "メールアドレス <b>%{email}</b> のパスワードリセットが要求されました。"
@ -381,8 +371,8 @@ ja_JP:
subtitle: "%{role} 権限の付与" subtitle: "%{role} 権限の付与"
verify_email: verify_email:
welcome: "%{name}さん パーソナルスペースへようこそ!" welcome: "%{name}さん パーソナルスペースへようこそ!"
success: "%{bigbluebutton} を活用して、自分の会議室を作成したり、セッションをホストしたり、他のユーザと共同作業したりできます。" success: "%{bigbluebutton} を活用して、自分の会議室を作成したり、セッションをホストしたり、他のユーザと共同作業したりできます。"
username: "あなたのユーザ名は %{email} です。" username: "あなたのユーザ名は %{email} です。"
verify: アカウントを確認するには、下のボタンをクリックしてください。 verify: アカウントを確認するには、下のボタンをクリックしてください。
verify_text: 'アカウントを確認するには、次のリンクにアクセスしてください: %{url}' verify_text: 'アカウントを確認するには、次のリンクにアクセスしてください: %{url}'
verify_link: アカウントを確認 verify_link: アカウントを確認
@ -398,11 +388,7 @@ ja_JP:
title: 新しい役割を作成 title: 新しい役割を作成
create_room: create_room:
access_code: アクセスコード access_code: アクセスコード
moderator_access_code: モデレーターコード
access_code_placeholder: 会議室のアクセスコードを生成する access_code_placeholder: 会議室のアクセスコードを生成する
reset_access_code: 会議室のアクセスコードをリセットする
moderator_access_code_placeholder: モデレーターコードを作成する
reset_moderator_access_code: モデレーターコードをリセットする
auto_join: 会議に自動的に参加する auto_join: 会議に自動的に参加する
create: 会議室の作成 create: 会議室の作成
free_delete: この会議室はいつでも自由に削除できます。 free_delete: この会議室はいつでも自由に削除できます。
@ -413,7 +399,7 @@ ja_JP:
confirm: このアカウントを削除してもよろしいですか? confirm: このアカウントを削除してもよろしいですか?
delete: このアカウントを削除します。 delete: このアカウントを削除します。
keep: やっぱり残します。 keep: やっぱり残します。
delete_warning: これによりユーザのアカウントが無効になります。 無効化されたすべてのユーザは[削除]タブに表示されます。 delete_warning: これによりユーザのアカウントが無効になります。 無効化されたすべてのユーザは[削除]タブに表示されます。
warning: この決定は最終的なものです。 関連するデータを回復することは<b>二度と</b>できません。 warning: この決定は最終的なものです。 関連するデータを回復することは<b>二度と</b>できません。
delete_rec: delete_rec:
delete: はい、削除します。 delete: はい、削除します。
@ -426,10 +412,10 @@ ja_JP:
warning: この会議室を復活させることは<b>できません</b>  warning: この会議室を復活させることは<b>できません</b> 
recording_warning: "また、これに関連した  %{recordings_num} 個の録画も同様です。" recording_warning: "また、これに関連した  %{recordings_num} 個の録画も同様です。"
invite_user: invite_user:
email_placeholder: ユーザのメールアドレスを入力してください(複数の場合は半角コンマ区切り) email_placeholder: ユーザのメールアドレスを入力してください(複数の場合はコンマ区切り)
footer: ユーザには、サインアップ方法の説明が記載されたメールが届きます footer: ユーザには、サインアップ方法の説明が記載されたメールが届きます
send: 招待状を送る send: 招待状を送る
title: ユーザを招待 title: ユーザを招待
login: login:
or: あるいは or: あるいは
with: "%{provider} でサインイン" with: "%{provider} でサインイン"
@ -451,30 +437,30 @@ ja_JP:
title: 会議室の設定 title: 会議室の設定
update: 会議室の更新 update: 会議室の更新
client: クライアントの種類を選択 client: クライアントの種類を選択
join_moderator: すべてのユーザがモデレータとして参加 join_moderator: すべてのユーザがモデレータとして参加
mute: 参加時にユーザをミュート mute: 参加時にユーザをミュート
require_approval: 会議参加にモデレータの承認を必要とする require_approval: 会議参加にモデレータの承認を必要とする
start: すべてのユーザに会議の開始を許可 start: すべてのユーザに会議の開始を許可
footer_text: 会議室の設定はいつでも変更可能です。 footer_text: 会議室の設定はいつでも変更可能です。
recording: 会議室の録画を許可 recording: 会議室の録画を許可
rename_room: rename_room:
name_placeholder: 新しい会議室名を入力してください... name_placeholder: 新しい会議室名を入力してください...
share_access: share_access:
footer: 会議室アクセスを共有すると、 ユーザーでも会議を開始したり録画リストをみたりできます footer: ユーザと会議室を共有すると、 ユーザは会議を開始したり会議の録画を表示したりできます
list: 共有するユーザ list: 共有するユーザ
title: 会議室アクセスの共有 title: 会議室アクセスの共有
save: 変更を保存 save: 変更を保存
cancel_changes: 変更をキャンセル cancel_changes: 変更をキャンセル
select: ユーザの選択 select: ユーザの選択
merge_user: merge_user:
cancel: キャンセル cancel: キャンセル
from: マージするアカウント from: マージするアカウント
title: ユーザアカウントのマージ title: ユーザアカウントのマージ
to: プライマリアカウント to: プライマリアカウント
save: マージ save: マージ
footer: マージされるアカウントの会議室は、アカウント削除前にプライマリアカウントの会議室一覧に転送されます。 footer: マージされるアカウントの会議室は、アカウント削除前にプライマリアカウントの会議室一覧に転送されます。
name_update_success: 会議室名が変更されました! name_update_success: 会議室名が変更されました!
no_user_email_exists: 指定されたメールアドレスを持つユーザーは存在しません。 入力内容を確認してください。 no_user_email_exists: 指定されたメールアドレスを持つ既存のユーザはいません。 入力内容を確認してください。
omniauth_error: OmniAuthで認証中にエラーが発生しました。 再試行するか、管理者に連絡してください! omniauth_error: OmniAuthで認証中にエラーが発生しました。 再試行するか、管理者に連絡してください!
omniauth_specific_error: "OmniAuthで認証中に %{error} が発生しました。再試行するか、管理者に連絡してください!" omniauth_specific_error: "OmniAuthで認証中に %{error} が発生しました。再試行するか、管理者に連絡してください!"
pagy: pagy:
@ -491,7 +477,6 @@ ja_JP:
office365: Office 365 office365: Office 365
twitter: Twitter twitter: Twitter
ldap: LDAP ldap: LDAP
openid_connect: OpenID接続
recaptcha: recaptcha:
errors: errors:
recaptcha_unreachable: reCAPTCHA応答の検証に失敗しました。 もう一度お試しください。 recaptcha_unreachable: reCAPTCHA応答の検証に失敗しました。 もう一度お試しください。
@ -500,11 +485,9 @@ ja_JP:
all_recordings: すべての録画 all_recordings: すべての録画
email: 録画情報をメールする email: 録画情報をメールする
error: "%{count} 件の録画取得中にエラーが発生しました" error: "%{count} 件の録画取得中にエラーが発生しました"
no_public_recordings: この会議室では録画の公開はありません。 no_recordings: "この会議室には %{inject} 録画はありません。"
no_recordings: この会議室には録画がありません。
no_user_recordings: 現在、録画はありません。 no_user_recordings: 現在、録画はありません。
no_matched_pub_recordings: 公開された録画には、検索条件に一致するものはありません。 no_matched_recordings: "検索に一致する %{inject} 録画はありません。"
no_matched_recordings: 検索条件に一致する録画はありません。
recorded_on: "録画日は %{date} です" recorded_on: "録画日は %{date} です"
table: table:
name: 名前 name: 名前
@ -514,7 +497,6 @@ ja_JP:
visibility: 公開度 visibility: 公開度
formats: 再生フォーマット formats: 再生フォーマット
visibility: visibility:
inaccessible: 閲覧不可
public: 公開 public: 公開
unlisted: 限定公開 unlisted: 限定公開
format: format:
@ -540,7 +522,6 @@ ja_JP:
remove: 削除 remove: 削除
rename: 名前の変更 rename: 名前の変更
reset_password: reset_password:
captcha: reCAPTCHAの検証に失敗しました。 もう一度お試しください。
invalid_token: パスワードの再設定トークンが正しくありません。パスワードの再設定をもう一度行ってみてください。 invalid_token: パスワードの再設定トークンが正しくありません。パスワードの再設定をもう一度行ってみてください。
subtitle: パスワードを再設定する subtitle: パスワードを再設定する
password: 新しいパスワード password: 新しいパスワード
@ -553,36 +534,32 @@ ja_JP:
banned: ロック banned: ロック
deleted: 削除 deleted: 削除
pending: 保留 pending: 保留
invited: 招待 user: ユーザ
user: ユーザー
room: room:
access_code_required: 会議に参加するには、有効なアクセスコードを入力してください access_code_required: 会議に参加するには、有効なアクセスコードを入力してください
add_presentation: プレゼン資料を追加 add_presentation: プレゼン資料を追加
copy_access: アクセスコードをコピー copy_access: アクセスコードをコピー
copy_moderator_access: モデレーターコードをコピーする
create_room: 会議室の作成 create_room: 会議室の作成
create_room_error: 会議室の作成中にエラーが発生しました create_room_error: 会議室の作成中にエラーが発生しました
create_room_success: 会議室が作成されました create_room_success: 会議室が作成されました
delete: delete:
home_room: 会議室は削除できません home_room: メイン会議室は削除できません
success: 会議室を削除しました success: 会議室を削除しました
fail: "会議室の削除に失敗しました(%{error})" fail: "会議室の削除に失敗しました(%{error})"
enter_the_access_code: 会議室のアクセスコードを入力してください enter_the_access_code: 会議室のアクセスコードを入力してください
enter_the_moderator_access_code: モデレーターコードを使用して会議室に入室する
optional_moderator_access_code: "予備のモデレーターコード"
invalid_provider: 無効なURLを入力しました。 URLを確認して、もう一度試してみてください。 invalid_provider: 無効なURLを入力しました。 URLを確認して、もう一度試してみてください。
invitation_description: "BigBlueButtonを使用して%{name}に参加するよう招待されました。参加するためには下のリンクをクリックし、名前を入力してください。" invitation_description: "BigBlueButtonを使用して%{name}に参加するよう招待されました。参加するためには下のリンクをクリックし、名前を入力してください。"
invited: 招待されています invited: 招待されています
recording_present: このセッションが録画されるかもしれないこと、その場合自分の声や動画が録画に含まれうることを承知しています。 recording_present: このセッションが録画されるかもしれないこと、その場合自分の声や動画が録画に含まれうることを承知しています。
invite_participants: 参加者を招待する invite_participants: 参加者を招待
join: 参加する join: 参加する
last_session: "最後のセッション:%{session}" last_session: "%{session} :最後のセッション"
login: 入力 login: 入力
owner: オーナー owner: オーナー
owner_banned: この会議室は現在利用できません owner_banned: この会議室は現在利用できません
no_room: no_room:
description: 参加する会議室のURLまたはIDを入力します。 description: 参加する会議室のURLまたはIDを入力します。
edit_profile: ユーザプロファイルの編集 edit_profile: ユーザプロファイルの編集
go_to: 会議室へ go_to: 会議室へ
invalid_room_uid: 入力された会議室の URL/UID は無効です invalid_room_uid: 入力された会議室の URL/UID は無効です
placeholder: 会議室の URL/UID placeholder: 会議室の URL/UID
@ -590,11 +567,11 @@ ja_JP:
recent_rooms: 最近参加した会議室に移動 recent_rooms: 最近参加した会議室に移動
title: 会議に参加 title: 会議に参加
no_sessions: まだ会議は一度も開催されていません! no_sessions: まだ会議は一度も開催されていません!
preupload_success: プレゼン資料を追加しました preupload_success: プレゼン資料の追加に成功
preupload_error: 会議室のプレゼン資料をアップデートする際にエラーが起こりました preupload_error: 会議室のプレゼン資料をアップデートする際にエラーが起こりました
preupload_remove_success: プレゼン資料を消去しました preupload_remove_success: プレゼン資料の消去に成功
preupload_remove_error: 会議室のプレゼン資料を消去する際にエラーが起こりました preupload_remove_error: 会議室のプレゼン資料を消去する際にエラーが起こりました
recordings: 会議室の録画 recordings: 録画
room_limit: 許可された会議室数の上限に達しました room_limit: 許可された会議室数の上限に達しました
room_limit_exceeded: "許可された会議室数を超えています。 この会議室にアクセスするには、会議室を %{difference} 個削除してください。" room_limit_exceeded: "許可された会議室数を超えています。 この会議室にアクセスするには、会議室を %{difference} 個削除してください。"
sessions: セッション sessions: セッション
@ -605,7 +582,7 @@ ja_JP:
remove_shared_access_error: リストから共有会議室を削除中にエラーが発生しました remove_shared_access_error: リストから共有会議室を削除中にエラーが発生しました
shared_access_success: 会議室を共有しました shared_access_success: 会議室を共有しました
shared_access_error: 会議室の共有設定中にエラーが発生しました shared_access_error: 会議室の共有設定中にエラーが発生しました
start: 会議を始める start: 開始
search: 会議室を探す... search: 会議室を探す...
unavailable: この会議室はオーナーのメールが確認されていないため、現在利用できません。 unavailable: この会議室はオーナーのメールが確認されていないため、現在利用できません。
update_settings_error: 会議室の設定更新中にエラーが発生しました update_settings_error: 会議室の設定更新中にエラーが発生しました
@ -620,10 +597,10 @@ ja_JP:
provider: 認証元 provider: 認証元
image: プロフィール画像 image: プロフィール画像
image_url: プロフィール画像のURL image_url: プロフィール画像のURL
roles: ユーザの役割 roles: ユーザの役割
subtitle: アカウント情報を更新する subtitle: アカウント情報を更新する
title: アカウント情報 title: アカウント情報
reset_password: ユーザのパスワードを再設定する reset_password: ユーザのパスワードを再設定する
delete: delete:
button: はい、アカウントを削除します button: はい、アカウントを削除します
disclaimer: アカウントを削除した場合、アカウントを回復することは<b>できません</b>。 設定、会議室、録画など、アカウントに関するすべての情報が削除されます。 disclaimer: アカウントを削除した場合、アカウントを回復することは<b>できません</b>。 設定、会議室、録画など、アカウントに関するすべての情報が削除されます。
@ -648,9 +625,6 @@ ja_JP:
title: 利用規約 title: 利用規約
test_install: > test_install: >
この構成では、事前に構成されたテストサーバを使用しています。これを独自のものに置き換える必要があります。 詳細については %{href} をご覧ください。 この構成では、事前に構成されたテストサーバを使用しています。これを独自のものに置き換える必要があります。 詳細については %{href} をご覧ください。
time:
formats:
default: "%Y年%b%d日 %-I:%M%P"
update: 更新 update: 更新
verify: verify:
accept: 確認 accept: 確認

View File

@ -69,10 +69,6 @@ ko_KR:
regular: 정규색 regular: 정규색
lighten: 밝게 lighten: 밝게
darken: 어둡게 darken: 어둡게
email_mapping:
info: "이메일을 사용하여 사용자를 역할에 매핑합니다. email1 = role1, email2 = role2 형식이어야합니다."
title: 이메일로 역할 매핑
update:
log_level: log_level:
title: 로그 레벨 title: 로그 레벨
information: 전체 배포 로그 수준 변경 information: 전체 배포 로그 수준 변경
@ -94,7 +90,7 @@ ko_KR:
title: 유지보수 배너 title: 유지보수 배너
display: Set display: Set
clear: Clear clear: Clear
time: "예: 12월 13일 업데이트 예정 @ 23:00 ET. 사용자는 로그인하는 데 문제가 발생할 수 있다." time: "예: 12월 13일 업데이트 예정 @ 23:00 ET. 사용자는 로그인하는 데 문제가 발생할 수 있다."
preupload: preupload:
info: 사용자는 프리젠테이션을 해당 ROOM의 기본 프리젠테이션으로 사용할 수 있음 info: 사용자는 프리젠테이션을 해당 ROOM의 기본 프리젠테이션으로 사용할 수 있음
title: 사용자가 프레젠테이션을 미리 업로드하도록 허용 title: 사용자가 프레젠테이션을 미리 업로드하도록 허용
@ -115,7 +111,6 @@ ko_KR:
tabs: tabs:
appearance: 외관 appearance: 외관
administration: 관리자 administration: 관리자
registration: 등록
settings: 설정 settings: 설정
title: 사이트 설정 title: 사이트 설정
flash: flash:
@ -138,10 +133,8 @@ ko_KR:
settings: 사이트 설정이 변경되었습니다. settings: 사이트 설정이 변경되었습니다.
unauthorized: 이 사용자에 대해 작업을 수행 할 권한이 없습니다. unauthorized: 이 사용자에 대해 작업을 수행 할 권한이 없습니다.
recordings: recordings:
latest: 최신 녹화
title: 서버 레코딩 title: 서버 레코딩
no_recordings: 이 서버에는 레코딩이 없습니다. no_recordings: 이 서버에는 레코딩이 없습니다.
search_info: 사용자의 전체 이메일 또는 room의 uid를 입력하십시오.
roles: roles:
appear_in_share_list: 공유 ROOM의 드롭다운에 이 역할을 가진 사용자 포함 appear_in_share_list: 공유 ROOM의 드롭다운에 이 역할을 가진 사용자 포함
can_create_rooms: ROOM을 생성 can_create_rooms: ROOM을 생성
@ -175,15 +168,11 @@ ko_KR:
info: 미팅에 참여할 때 모든 사용자에게 BigBlueButton의 관리자 권한을 부여합니다. info: 미팅에 참여할 때 모든 사용자에게 BigBlueButton의 관리자 권한을 부여합니다.
recordings: recordings:
info: ROOM 소유자가 옵션에서 ROOM을 레코딩할지 여부를 지정할 수 있습니다. 활성화 된 경우에도 미팅 주관자는 회의 또는 강의가 시작된 후에 "녹화"버튼을 클릭해야합니다. info: ROOM 소유자가 옵션에서 ROOM을 레코딩할지 여부를 지정할 수 있습니다. 활성화 된 경우에도 미팅 주관자는 회의 또는 강의가 시작된 후에 "녹화"버튼을 클릭해야합니다.
moderator_codes:
info: room 소유자가 선택적으로 다른 사용자가 중재자로 직접 참여할 수 있도록 중재자 pin을 생성 할 수 있습니다.
title: 중재자 액세스 코드
options: options:
disabled: 비활성 disabled: 비활성
enabled: 언제나 활성 enabled: 언제나 활성
optional: 선택사항 optional: 선택사항
rooms: rooms:
timeout: "%{server} 서버 요청 시간 초과로 인해 상태 및 참가자에 대한 정보가 정확하지 않을 수 있습니다."
title: 서버 ROOM들 title: 서버 ROOM들
table: table:
ended: "종료: %{session}" ended: "종료: %{session}"
@ -213,14 +202,12 @@ ko_KR:
table: table:
authenticator: 인증자 authenticator: 인증자
created: 생성 created: 생성
time: 보낸 시간
name: 이름 name: 이름
not_found: 검색과 일치하는 사용자가 없습니다. not_found: 검색과 일치하는 사용자가 없습니다.
no_users: 사용자가 없습니다. no_users: 사용자가 없습니다.
role: Role role: Role
uid: 사용자 ID uid: 사용자 ID
username: 사용자명 username: 사용자명
valid: 유효한
title: 사용자 관리 title: 사용자 관리
add_to_google_calendar: "Google Calendar 추가" add_to_google_calendar: "Google Calendar 추가"
bigbluebutton: BigBlueButton bigbluebutton: BigBlueButton
@ -229,7 +216,6 @@ ko_KR:
cookies: cookies:
cookie_info: Cookies는 본서비스를 제공하는 데 도움이됩니다. 본서비스를 사용함으로써 귀하는 Cookies 사용에 동의하게됩니다. cookie_info: Cookies는 본서비스를 제공하는 데 도움이됩니다. 본서비스를 사용함으로써 귀하는 Cookies 사용에 동의하게됩니다.
cookie_button: 동의함 cookie_button: 동의함
policy: "자세한 내용은 <a href=\"%{privacy_link}\"><u> 개인 정보 보호 정책 </u></a>을 참조하십시오."
copied: 복사됨 copied: 복사됨
copy: 복사 copy: 복사
date: date:
@ -324,7 +310,7 @@ ko_KR:
search: search:
start: 검색 시작 ... start: 검색 시작 ...
landing: landing:
about: "%{href}는 BigBlueButton 오픈 소스 웹 레퍼런스 서버를 위한 간단한 프론트엔드 입니다. 신만의 Room을 만들어 세션을 주최하거나 짧고 편리한 링크를 사용하여 다른 사람과 함께 할 수 있습니다." about: "%{href}는 당신의 BigBlueButton 오픈 소스 웹 레퍼런스 서버를 위한 간단한 프론트엔드 입니다. 당신은 당신만의 Room을 만들어 세션을 주최하거나 짧고 편리한 링크를 사용하여 다른 사람과 함께 할 수 있다."
welcome: BigBlueButton에 오신 것을 환영합니다. welcome: BigBlueButton에 오신 것을 환영합니다.
video: Greenlight 사용에 대한 자습서보기 video: Greenlight 사용에 대한 자습서보기
upgrade: 2.0으로 업그레이드하는 방법을 보여주세요! upgrade: 2.0으로 업그레이드하는 방법을 보여주세요!
@ -356,7 +342,6 @@ ko_KR:
info: "%{name}가 사용자 자신의 개인 공간에 초대하였습니다." info: "%{name}가 사용자 자신의 개인 공간에 초대하였습니다."
signup_info: 이메일을 사용하여 가입하려면 아래 버튼을 클릭하고 단계를 따르십시오. signup_info: 이메일을 사용하여 가입하려면 아래 버튼을 클릭하고 단계를 따르십시오.
signup_link: 가입하기 signup_link: 가입하기
valid: "초대는 %{date}까지 유효합니다."
signup: signup:
info: 초대 된 사용자가 Greenlight를 사용하도록 등록했습니다. info: 초대 된 사용자가 Greenlight를 사용하도록 등록했습니다.
admins_link: 조직 페이지 방문 admins_link: 조직 페이지 방문
@ -395,9 +380,7 @@ ko_KR:
title: 새 Role 생성 title: 새 Role 생성
create_room: create_room:
access_code: 액세스 코드 access_code: 액세스 코드
moderator_access_code: 중재자 코드
access_code_placeholder: 선택적 room 액세스 코드 생성 access_code_placeholder: 선택적 room 액세스 코드 생성
moderator_access_code_placeholder: 중재자를위한 선택적 코드 생성
auto_join: 자동으로 room에 참여 auto_join: 자동으로 room에 참여
create: Room 만들기 create: Room 만들기
free_delete: 이 room은 언제든지 삭제할 수 있습니다. free_delete: 이 room은 언제든지 삭제할 수 있습니다.
@ -410,10 +393,6 @@ ko_KR:
keep: 보관합니다. keep: 보관합니다.
delete_warning: 사용자 계정이 비활성화됩니다. 비활성화 된 모든 사용자는 삭제 된 탭에서 찾을 수 있습니다. delete_warning: 사용자 계정이 비활성화됩니다. 비활성화 된 모든 사용자는 삭제 된 탭에서 찾을 수 있습니다.
warning: 이 결정은 최종적입니다. <b>이 아니라 </b> 관련 데이터를 복구할 수 없습니다. warning: 이 결정은 최종적입니다. <b>이 아니라 </b> 관련 데이터를 복구할 수 없습니다.
delete_rec:
delete: 이 녹음을 삭제하겠습니다.
header: "이 녹음을 삭제 하시겠습니까?"
warning: <b>이 기록을 복구 할 수 없습니다.
delete_room: delete_room:
confirm: "%{room}을 삭제하시겠습니까?" confirm: "%{room}을 삭제하시겠습니까?"
delete: 이 room을 삭제하겠습니다. delete: 이 room을 삭제하겠습니다.
@ -448,8 +427,8 @@ ko_KR:
client: 클라이언트 유형 선택 client: 클라이언트 유형 선택
join_moderator: 모든 사용자가 중재자로 참여합니다. join_moderator: 모든 사용자가 중재자로 참여합니다.
mute: 사용자가 참여할 때 음소거 mute: 사용자가 참여할 때 음소거
require_approval: 참여하기 전에 중재자 승인 필요 require_approval: 가입하기 전에 중재자 승인 필요
start: 모든 사용자가 미팅을 시작할 수 있도록 허용 start: 모든 사용자가 이 미팅을 시작하도록 허용
footer_text: room 조정은 언제든지 가능합니다. footer_text: room 조정은 언제든지 가능합니다.
recording: room에서 레코딩이 되도록 허가 recording: room에서 레코딩이 되도록 허가
rename_room: rename_room:
@ -486,7 +465,6 @@ ko_KR:
office365: Office 365 office365: Office 365
twitter: Twitter twitter: Twitter
ldap: LDAP ldap: LDAP
openid_connect: OpenID 연결
recaptcha: recaptcha:
errors: errors:
recaptcha_unreachable: reCAPTCHA에서 유효성을 확인하지 못했습니다. 다시 시도하십시오. recaptcha_unreachable: reCAPTCHA에서 유효성을 확인하지 못했습니다. 다시 시도하십시오.
@ -532,7 +510,6 @@ ko_KR:
remove: 삭제 remove: 삭제
rename: 이름 변경 rename: 이름 변경
reset_password: reset_password:
captcha: reCAPTCHA 확인 실패. 다시 시도하십시오.
invalid_token: 암호 재설정 토큰이 잘못되었습니다. 암호를 다시 설정해 보십시오. invalid_token: 암호 재설정 토큰이 잘못되었습니다. 암호를 다시 설정해 보십시오.
subtitle: 암호 재설정 subtitle: 암호 재설정
password: 새로운 패스워드 password: 새로운 패스워드
@ -545,13 +522,10 @@ ko_KR:
banned: 금지 banned: 금지
deleted: 삭제 deleted: 삭제
pending: 보류 pending: 보류
invited: 초대 됨
user: 사용자 user: 사용자
room: room:
access_code_required: room에 가입하려면 유효한 액세스 코드를 입력하십시오. access_code_required: room에 가입하려면 유효한 액세스 코드를 입력하십시오.
add_presentation: 프레젠테이션 추가 add_presentation: 프레젠테이션 추가
copy_access: 액세스 코드 복사
copy_moderator_access: 중재자 코드 복사
create_room: Room 생성 create_room: Room 생성
create_room_error: room을 만드는 동안 오류가 발생함 create_room_error: room을 만드는 동안 오류가 발생함
create_room_success: Room이 성공적으로 생성됨 create_room_success: Room이 성공적으로 생성됨
@ -560,10 +534,8 @@ ko_KR:
success: Room이 성공적으로 삭제됨 success: Room이 성공적으로 삭제됨
fail: "룸 삭제 실패(%{error})" fail: "룸 삭제 실패(%{error})"
enter_the_access_code: Room의 접근 코드 입력 enter_the_access_code: Room의 접근 코드 입력
enter_the_moderator_access_code: room의 운영자 코드를 입력하세요.
optional_moderator_access_code: "선택적 중재자 코드 :"
invalid_provider: 잘못된 URL을 입력하셨습니다. URL을 확인한 후 다시 시도하십시오. invalid_provider: 잘못된 URL을 입력하셨습니다. URL을 확인한 후 다시 시도하십시오.
invitation_description: "BigBlueButton을 통하여 %{name}에 가입하도록 초대받으셨습니다. 가입하려면 위의 링크를 클릭하고 이름을 입력하십시오." invitation_description: "BigBlueButton을 통하여 %{name}에 가입하도록 초대받으셨습니다. 가입하려면 위의 링크를 클릭하고 이름을 입력하십시오."
invited: 귀하는 초대를 받았습니다. invited: 귀하는 초대를 받았습니다.
recording_present: 나는 이 세션이 레코딩 될 것이라는 것을 인지하고 있습니다. 활성화할 경우 내 음성 및 비디오가 포함될 수 있습니다. recording_present: 나는 이 세션이 레코딩 될 것이라는 것을 인지하고 있습니다. 활성화할 경우 내 음성 및 비디오가 포함될 수 있습니다.
invite_participants: 참가자 초대 invite_participants: 참가자 초대
@ -598,7 +570,6 @@ ko_KR:
shared_access_success: room 공유 성공 shared_access_success: room 공유 성공
shared_access_error: room을 공유하는 동안 오류가 발생함 shared_access_error: room을 공유하는 동안 오류가 발생함
start: 시작 start: 시작
search: room 검색
unavailable: 이 room은 현재 소유자의 이메일이 확인되지 않아 사용할 수 없습니다. unavailable: 이 room은 현재 소유자의 이메일이 확인되지 않아 사용할 수 없습니다.
update_settings_error: room 설정을 업데이트하는 동안 오류가 발생함 update_settings_error: room 설정을 업데이트하는 동안 오류가 발생함
update_settings_success: Room 설정이 성공적으로 업데이트 됨 update_settings_success: Room 설정이 성공적으로 업데이트 됨
@ -607,7 +578,7 @@ ko_KR:
auto: 미팅이 시작되면 자동으로 참여하십시오. auto: 미팅이 시작되면 자동으로 참여하십시오.
settings: settings:
account: account:
fullname: 성명 fullname: 풀네임
language: 언어 language: 언어
provider: 제공자 provider: 제공자
image: 이미지 image: 이미지

View File

@ -1,662 +0,0 @@
# 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/>.
# Locale.
mn_MN:
activerecord:
attributes:
user:
accepted_terms: "Нөхцлүүд"
email: Цахим шуудан
name: Нэр
password: Нууц үг
password_confirmation: Нууц үг баталгаажуулах
errors:
models:
user:
confirmation: Нууц үг тохирохгүй байна
administrator:
site_settings:
authentication:
disabled: Идэвхгүй болгосон
enabled: Идэвхжүүлсэн
info: Зөвхөн баталгаажсан хэрэглэгчдийг өрөөнд нэгдэхийг зөвшөөрнө
title: Өрөөнүүдийн баталгаажуулалтыг шаардах
user-info: Энэхүү өрөөнд нэгдэхийн тулд дээрх дээр нэвтэрч орох ёстой.
branding:
change: Зургийг өөрчлөх
info: Зүүн дээд өнцөгт харагдах брэндингийн зургийг өөрчлөх
placeholder: Зургийн Url...
title: Брэндингийн зураг
invalid: Хүчингүй URL
legal:
change: URL-г өөрчлөх
info: Хуудасны доор харагдах Нөхцлүүдийн холбоосыг өөрчлөх
placeholder: Нөхцлүүдийн URL...
title: Нөхцлүүд
invalid: Хүчингүй URL
privpolicy:
change: URL-г өөрчлөх
info: Хуудасны доор харагдах Нууцлалын бодлогын холбоосыг өөрчлөх
placeholder: Нууцлалын бодлогын URL...
title: Нууцлалын бодлого
invalid: Хүчингүй URL
cache:
info: Шинэчилсэн мэдээлэл авах шинэ хүсэлтийг хүчээр үүсгэдэг үйлчилгээ үзүүлэгчийн хадгалсан кэшийг арилгана
title: Үйлчилгээ үзүүлэгчийн кэшийг арилгах
button: Кэшийг арилгах
clear_auth:
info: Өөр баталгаажуулах арга ашиглахдаа эргэн нэвтрэх боломж олгох хэрэглэгчдийн одоогийн баталгаажуулагчийг устгана
title: Одоогийн баталгаажуулагчийн устгах
button: Баталгааг арилгах
color:
info: "Ердийн өнгийг өөрчилснөөр Цайруулах, Харлуулахын аль алиныг өөрчилнө. Улмаар Цайруулах, Харлуулахыг тус тусад нь өөрчилнө."
title: Үндсэн өнгө
regular: Ердийн
lighten: Цайруулах
darken: Харлуулах
email_mapping:
info: "Хэрэглэгчийн цахим шууданг ашиглан үүрэг хариуцлагыг зураглах. email1=role1,email2=role2 гэсэн форматтай байна."
title: Цахим шуудангаар үүрэг хариуцлагыг зураглах
update:
log_level:
title: Бүртгэлийн түвшин
information: Бүрэн хуваарилалтын Бүртгэлийн түвшинг өөрчлөх
debug: Алдаа засах
info: Мэдээлэл
warn: Анхааруулах
error: Алдаа
fatal: Хортой
unknown: Үл мэдэгдэх
recording_visibility:
info: Шинэ бичлэг дээр бичлэгийн үндсэн харагдах байдлыг тохируулах
title: Бичлэгийн үндсэн харагдах байдал
warning: Ажиллахгүй байгаа өрөөнүүдэд зөвхөн энэхүү тохиргоог ашиглана
require_consent:
info: Аль өрөөнд бичлэг хийж болохыг тодорхойлох боломжтой болгох өрөөний тохиргоог энэхүү тохиргоогоор олгоно. Бичлэг хийх өрөөнд холбогдож буй хэрэглэгчид холбогдохоос өмнө үүнийг зөвшөөрнө.
title: "Өрөө эзэмшигч, холбогдогч нараар бичлэг хийхийг зөвшөөрүүлэх шаардлагатай"
maintenance_banner:
info: Хуваарь засвар үйлчилгээний талаар хэрэглэгчид мэдээлэх Самбар харуулна
title: Засвар үйлчилгээний самбар
display: Тохируулах
clear: Арилгах
time: "Жишээ: 12 дугаар сарын 13-ны өдрийн 23:00 ET-д хуваарьтай арга хэмжээг шинэчлэх. Хэрэглэгчид нэвтрэх үедээ асуудалтай тулгарч болно."
preupload:
info: Хэрэглэгчид тухайн өрөөд зориулсан үндсэн презентаци болгон аливаа презентацийг урьдчилан байрлуулж болно
title: Хэрэглэгчдэд презентацийг урьдчилан байрлуулах боломж олгох
registration:
info: Хэрэглэгчдийн вэбсайтад бүртгүүлэх арга замыг өөрчлөх
title: Бүртгүүлэх арга
methods:
approval: Батлах/Татгалзах
invite: Урилгаар Холбогдох
open: Бүртгэлийг нээх
rooms:
info: Хэрэглэгчийн эзэмшиж болох өрөөний тоог хязгаарлана (Үндсэн өрөөг оруулан). Энэхүү тохиргоо администраторуудад хамаараахгүй.
title: Хэрэглэгч бүрт ногдох Өрөөний тоо
shared_access:
info: Идэвхгүйд зориулсан тохиргоогоор Өрөөний сонголтын доош урсдаг цэснээс товчийг арилгаж хэрэглэгчдийг өрөөг хуваалцах боломжгүй болгоно.
title: Хэрэглэгчдэд Өрөө хуваалцах боломж олгох
subtitle: Ногоон гэрлийг тохируулах
tabs:
appearance: Харагдах байдал
administration: "Удирдлага "
registration: Бүртгэл
settings: Тохиргоо
title: Сайтын тохиргоо
flash:
approved: Хэрэглэгчийг амжилттай баталлаа.
banned: Хэрэглэгчийг амжилттай хориглолоо.
unbanned: Хэрэглэгчийн хоригийг амжилттай цуцаллаа.
delete: Хэрэглэгчийг амжилттай устгалаа
delete_fail: Хэрэглэгчийг устгаж чадсангүй
demoted: Хэрэглэгчийн зэрэглэлийг амжилттай буурууллаа
invite: "Урилгыг %{email}руу амжилттай илгээлээ"
invite_email_verification: Энэхүү аргыг ашиглахын тулд цахим шууданг идэвхжүүлэх ёстой. Системийн администратортойгоо холбоо барина уу.
merge_fail: Хэрэглэгчийн бүртгэлийг нэгтгэх явцад асуудал үүслээ. Сонгосон хэрэглэгчийг шалгаад дахин оролдоно уу
merge_success: Хэрглэгчийн бүртгэлийг амжилттай нэгтгэлээ
perm_deleted: Хэрэглэгчийг бүрмөсөн устгалаа
promoted: Хэрэглэгчийн зэрэглэлийг амжилттай нэмэгдүүллээ
registration_method_updated: Бүртгэлийн аргыг амжилттай шинэчиллээ
reset_password: Нууц үгээ дахин тохируулах цахим шууданг хэрэглэгч рүү илгээлээ. (Цахим шуудан хүлээж аваагүй бол спам хавтасаа шалгахыг түүнээс хүснэ үү)
restored: Хэрэглэгчийг амжилттай сэргээлээ
room_configuration: Өрөөний тохиргоог амжилттай өөрчиллөө
settings: Сайтын тохиргоог амжилттай өөрчиллөө
unauthorized: Энэхүү хэрэглэгч дээр үйлдэл гүйцэтгэх эрхийг танд өгөөгүй
recordings:
latest: Сүүлийн бичлэг
title: Серверийн бичлэг
no_recordings: Энэхүү сервер дээр бичлэг хийгээгүй байна.
search_info: "Хэрэглэгчийн бүрэн цахим шууданг, эсвэл өрөөний uid-г оруулна уу"
roles:
appear_in_share_list: Хуваалцах өрөөнд зориулсан доош урсах цэсэн дээрх энэхүү үүрэг бүхий хэрэглэгчдийг оруулах
can_create_rooms: Өрөө үүсгэж болно
can_launch_recording: Энэхүү үүрэг бүхий хэрэглэгчдэд хурлаа бичих боломж олгох
delete: Үүрэг хариуцлага устгах
invalid_create: Шинэ үүрэг хариуцлага үүсгэхэд асуудал гарлаа. Үүрэг хариуцлагын утгыг шалгаад дахин оролдоно уу
invalid_order: Үүрэг хариуцлагын ач холбогдлыг шинэчлэхэд асуудал гарлаа. Утгыг шалгаад дахин оролдоно уу
invalid_update: Үүрэг хариуцлагын зөвшөөрлийг шинэчлэхэд асуудал гарлаа. Утгыг шалгаад дахин оролдоно уу
manage_rooms_recordings: "Энэхүү үүрэг бүхий хэрэглэгчдэд серверийн өрөө, бичлэг удирдах боломж олгох"
name: Үүрэг хариуцлагын нэр
new_role: Шинэ үүрэг хариуцлага үүсгэх
role_has_users: "Энэхүү үүрэг хариуцлагыг %{user_count}бүртгэл рүү оноолоо. Энэхүү үүргийг устгахаас өмнө түүнтэй холбоотой бүх бүртгэлийг устгана уу."
title: Үүрэг хариуцлагууд
promote_email: Хэрэглэгчдэд энэхүү үүргийг ногдуулахдаа тэдгээрт цахим шуудан илгээх
demote_email: Хэрэглэгчдээс энэхүү үүргийг арилгахдаа тэдгээрт цахим шуудан илгээх
edit_site_settings: Энэхүү үүрэг бүхий хэрэглэгчдэд сайтын тохиргоог засах боломж олгох
edit_roles: Энэхүү үүрэг бүхий хэрэглэгчдэд бусад үүргийг засах боломж олгох
manage_users: Энэхүү үүрэг бүхий хэрэглэгчдэд хэрэглэгчдийн удирдах боломж олгох
invalid_assignment: Хэрэглэгчид үүрэг хариуцлага ногдуулахад асуудал гарлаа. Утгыг шалгаад дахин оролдоно уу
colour:
title: Үүрэг хариуцлагын өнгө
info: Үүрэг хариуцлагатай холбоотой өнгийг тохируулах
room_configuration:
title: Өрөөний тохиргоо
mute:
info: BigBlueButton хуралд холбогдох үед хэрэглэгчийн дууг автоматаар хаах
require_moderator:
info: "Хэрэглэгч холбогдохоор оролдох үед BigBlueButton хурлын чиглүүлэгчид сануулна. Хэрэглэгчийг баталбал, тэд хуралд холбогдох боломжтой болно."
allow_any:
info: Ямар ч үед хурал эхлүүлэхийг бүх хэрэглэгчид зөвшөөрнө. Үндсэн тохиргоогоор өрөө эзэмшигч зөвхөн хурлыг эхлүүлэх боломжтой.
all_moderator:
info: Хэрэглэгчид хуралд холбогдох үед BigBlueButton дээр тэдгээрийн бүгдэд чиглүүлэгчийн эрхийг өгөх
recordings:
info: Өрөөнд бичлэг хийх эсэхийг сонгохыг хүсэж байгаа эсэхийг тодруулах боломжийг өрөө эзэмшигчдэд олгоно. Идэвхжүүлсэн үед хурал эхлэнгүүт чиглүүлэгч "Бичих" товчийг дарах ёстой.
moderator_codes:
info: "Бусад хэрэглэгчдийг чиглүүлэгчээр хуралд шууд холбогдох боломж олгох чиглүүлэгч зүү үүсгэхийг сонголттойгоор өрөө эзэмшигчдэд олгоно. "
title: Чиглүүлэгчийн нэвтрэх код
options:
disabled: Идэвхгүй болгосон
enabled: Үргэлж идэвхжүүлсэн
optional: Сонголтот
rooms:
timeout: "%{server}Серверийн хүсэлт удсанаас болж, төлөв, оролцогчдын мэдээлэл үнэн зөв биш байж болно"
title: Серверийн өрөөнүүд
table:
ended: "Дууссан: %{session}"
id: Үнэмлэх
not_running: Ажиллахгүй байна
participants: Оролцогчид
running: Ажиллаж байна
started: "Эхэлсэн: %{session}"
status: Төлөв
view: Харагдац
title: Зохион байгуулалтын тохиргоо
users:
invite: Хэрэглэгч урих
edit:
title: Хэрэглэгчийн мэдээллийг засах
settings:
approve: Батлах
decline: Татгалзах
ban: Хэрэглэгч хорих
delete: Устгах
edit: Засварлах
edit_roles: Хэрэглэгчийн үүрэг хариуцлагыг засах
merge: Нэгтгэх
perm_delete: Бүрмөсөн устгах
unban: Хэрэглэгчийн хориог буцаах
undelete: Устгасныг буцаах
table:
authenticator: Баталгаажуулагч
created: Үүсгэсэн
time: Илгээсэн цаг
name: Нэр
not_found: Таны хайлттай тохирох хэрэглэгч алга
no_users: Ямар ч хэрэглэгч олдсонгүй
role: Үүрэг хариуцлага
uid: Хэрэглэгчийн ID
username: Хэрэглэгчийн нэр
valid: Хүчинтэй
title: Хэрэглэгчдийн удирдах
add_to_google_calendar: "Гүүгл хуанлид нэмэх"
bigbluebutton: BigBlueButton
bigbluebutton_exception: "Өө, хурал эхлэх үед алдаа гарлаа."
cancel: Цуцлах
cookies:
cookie_info: "Үйлчилгээ үзүүлэхэд күүкийз бидэнд тусалдаг. "
cookie_button: Би зөвшөөрч байна
policy: "Дэлгэрэнгүй мэдээллийг <a href=\"%{privacy_link}\"><u>нууцлалын бодлого</u></a>-с үзнэ үү."
copied: Хуулбарласан
copy: Хуулбар
date:
month_names: [~, 1-р сар, 2-р сар, 3-р сар, 4-р сар, 5-р сар, 6-р сар, 7-р сар, 8-р сар, 9-р сар, 10-р сар, 11-р сар, 12-р сар]
default_admin: "Та энэхүү бүртгэл дээр үндсэн нууц үгийг ашигласан хэвээр байна. Үүнийг өөрчлөхдөө <a href=\"%{edit_link}\">энд</a>дарна уу."
delete: Устгах
delivery_error: Цахим шуудан илгээх явцад алдаа гарлаа. Администратортой холбоо барина уу.
docs: Баримт бичиг
email: Цахим шуудан
email_sent: "Таны %{email_type}цахим шууданг илгээлээ! (Та үүнийг хүлээж аваагүй бол Спам файлаа шалгана уу)"
enter_your_name: Нэрээ оруулна уу!
errors:
bigbluebutton:
help: "Зохих арга хэмжээг авахуулахад анхаарна уу. <a href=\"%{doc_link}\">Дэлгэрэнгүй үзэх</a>"
message: "Хүчингүй BigBlueButton төгсгөлийн цэг, нууц"
title: Серверийн алдаа
internal:
message: Манай хэсэг дээр ямар нэг алдаа гарсан юм шиг байна.
help: "Алдаа бүртгэлээ, бид шалгах болно!"
report: Асуудлыг мэдээлэх
maintenance:
message: "Уучлаарай, бид засвар үйлчилгээ хийхээр түр зогссон байна."
help: Бид удахгүй эргэн ажиллах болно!
migration_error:
contact_admin: "Та администратор биш бол, администратортой холбоо барина уу."
continue: Би 1.0-г хэрэглэсэн хэвээр үлдмээр байна.
notice: >
Greenlight өгөгдлийн сан нүүлгэх алдаатай учирлаа.<br> Та Greenlight 2.0 болгож шинэчлээгүйтэй энэ алдаа холбоотой байж болно.
upgrade: Хэрхэн 2.0 болгож шинэчлэхийг надад харуулна уу!
version: "Бид Greenlight-н шинэ хувилбарыг гаргасан боловч, таны өгөгдлийн сан үүнтэй тохирохгүй байна."
messages:
blank: хоосон байж болохгүй
too_short: хэт богино байна
invalid: хүчингүй байна
taken: -г аль хэдийнэ өөр хүн авсан байна
accepted: хүлээн зөвшөөрөх ёстой
confirmation: "%{attribute}-тай тохирохгүй байна"
inclusion: жагсаалтад ороогүй байна
domain: "\"%{email_domain}\"-р төгсөх ёстой"
no_provider:
message: Таны нэвтрэхийг оролдож буй сайтыг идэвхжүүлээгүй байна
help: Greenlight-г тохируулахын тулд системийн администратортойгоо холбоо барина уу
not_found:
message: Уучлаарай! Таны хайж буй хуудас оршин байхгүй байна.
help: "Үүнийг устгасан байх боломжтой юу? "
user_not_found:
help: Администратортой холбоо барина уу
message: "Уучлаарай, энэхүү хэрэглэгчийг бүртгээгүй байна."
user_missing:
help: "URL-г шалгаад, дахин оролдоно уу"
message: Таны оруулсан URL хүчингүй байна
title: Алдаанууд
unauthorized:
message: Энэхүү аппликэйшнд нэвтрэх эрх танд байхгүй байна
help: "Үүнийг алдаа гэж үзвэл, системийн администратортойгоо холбоо барина уу."
expired_reset_token: Нууц үг дахин тохируулах холбоосын хугацаа дуусчээ!
features:
title: Шинж чанарууд
rooms: Хувь хүнд тохируулсан өрөөнүүд
recordings: Бичлэгийн удирдлага
designs: Тохируулсан дизайнууд
authentication: Хэрэглэгчийн баталгаа
footer:
legal: Нөхцлүүд
privpolicy: Нууцлалын бодлого
powered_by: "%{href}-р хүч оруулсан"
forgot_password:
subtitle: Нууц үгээ мартсан
email: Цахим шуудан
submit: Хүргүүлэх
go_back: Буцах
greenlight: Greenlight
header:
all_recordings: Бүх бичлэгүүд
dropdown:
account_settings: Зохион байгуулалт
help: "Тусламж хэрэгтэй юу?"
home: Нүүр
settings: Хувийн мэдээлэл
signout: Гарах
home_room: Үндсэн өрөө
info_update_success: Мэдээллийг амжилттай шинэчиллээ
invalid_credentials: "Таны оруулсан цахим шуудан, нууц үг манай бүртгэлтэй тохирсонгүй. Нууц үгээ дахин тохируулахын тулд дахин оролдох, эсвэл Нууц үг мартсан дээр дарна уу."
invalid_credentials_external: "Таны оруулсан цахим шуудан, нууц үг манай бүртгэлтэй тохирсонгүй. Дахин оролдоно уу."
invalid_login_method: Бүртгэл тохироогүй тул нэвтэрч чадсангүй. Та omniauth руу нэвтрэх шаардлагатай.
invite_message: "Хуралд хэн нэгнийг урихын тулд, энэхүү холбоосыг тэдэнд илгээнэ үү:"
javascript:
room:
mailer:
subject: 'бичлэг үзүүлэхийн тулд таныг урилаа.'
body: 'Бичлэгийг харахын тулд, доорх холбоосыг дагана уу:'
autogenerated: 'Энэхүү цахим шууданг BigBlueButton-с автоматаар үүсгэсэн.'
footer: 'BigBlueButton бол нээлттэй эхийн вэб хурлын систем юм. BigBlueButton-н талаар дэлгэрэнгүй мэдээлэл авахын тулд, https://bigbluebutton.org/-г үзнэ үү.'
search:
start: Хайж эхлэх...
landing:
about: "%{href} бол BigBlueButton нээлттэй эхийн вэб хурлын серверийн хэрэглэгч талын энгийн шийдэл. Та хурал удирдахын тулд өөрийн өрөөг үүсгэж болох, эсвэл богино, ашиглахад хялбар холбоос ашиглан бусдыг оролцуулж болно. "
welcome: BigBlueButton-д тавтай морилно уу.
video: Greenlight ашиглах тухай манай хичээлийг үзэх
upgrade: Хэрхэн 2.0 болгож шинэчлэхийг надад харуулна уу!
version: "Бид Greenlight-н шинэ хувилбарыг гаргасан боловч, таны өгөгдлийн сан үүнтэй тохирохгүй байна."
language_default: Үндсэн (интернэт хөтчийн хэл)
ldap_error: LDAP сервер рүү холбогдож чадсангүй. env файл дээрх LDAP тохиргоогоо шалгаж сервер ажиллаж байгаа эсэхийг баталгаажуулна уу.
login: Нэвтэрч орох
login_title: Бүртгэл рүүгээ нэвтэрч орох
mailer:
user:
approve:
info: Таны бүртгэлийг баталгаажууллаа.
signin: "Өөрийн хувийн өрөөнд нэвтрэхийн тулд, доорх товчийг дарж, нэвтэрнэ үү."
signin_link: Нэвтэрч орох
signup:
info: Greenlight-г ашиглахаар шинэ хэрэглэгч бүртгүүллээ.
more-info: "Greenlight-д нэвтрэхийг энэхүү хэрэглэгчид зөвшөөрөхийн тулд, та зохион байгуулалтын тохиргоон дээр түүний бүртгэлийг батлах ёстой."
admins_link: Зохион байгуулалтын хуудсанд зочлох
subject: Greenlight-н шинэ хэрэглэгчийн бүртгэл
username: "Хэрэглэгч %{name}нэр, %{email}цахим шуудангаар бүртгүүллээ."
subject: Бүртгэлийг баталлаа
username: "Таны хэрэглэгчийн нэр %{email}."
demoted:
info: "Та %{url}дээрх %{role}байхаа больсон."
more-info: "Та одоо ердийн хэрэглэгчийн адил эрхтэй болсон. "
root_link: Нэвтэрч орох
subtitle: "%{role}эрхийг хүчингүй болгосон"
invite:
info: "Таныг %{name}-н үүсгэсэн өөрийн хувийн орон зай руу урьж байна."
signup_info: "Өөрийн цахим шуудангаа ашиглан бүртгүүлэхийн тулд, доорх товч дээр дарж, алхамуудыг дагана уу."
signup_link: Бүртгүүлэх
valid: "Урилга дараах өдөр хүртэл хүчинтэй байна: %{date}"
signup:
info: "Таны урьсан хэрэглэгч Greenlight-г ашиглахаар бүртгүүллээ. "
admins_link: Зохион байгуулалтын хуудсанд зочлох
subject: Greenlight-н шинэ хэрэглэгчийн бүртгэл
username: "Хэрэглэгч %{name}нэр, %{email}цахим шуудангаар бүртгүүллээ."
subject: BigBlueButton руу орох урилга
username: "Таны хэрэглэгчийн нэр %{email}."
password_reset:
title: 'Нууц үг дахин тохируулах'
welcome: "<b>%{email}</b>цахим шуудан дээр нууц үг дахин тохируулах хүсэлт гаргалаа"
message: 'Та дахин тохируулах хүсэлт гаргасан бол, нууц үгээ дахин тохируулахын тулд доорх холбоос дээр дарна уу.'
reset_link: Нууц үг дахин тохируулах
expire: Холбоосын хугацаа хоёр цагийн дотор дуусна.
ignore: Та энэхүү хүсэлтийг гаргаагүй бол энэхүү цахим шууданг аюулгүй хүрээнд тоохгүй байж болно.
promoted:
admins_link: Зохион байгуулалтын хуудсанд зочлох
info: "Та одоо %{url}дээрх %{role}болсон."
more-info: "Өөрийн шинэ чадвараа харахын тулд %{url}руу зочилно уу."
subtitle: "%{role}эрхийг олголоо"
verify_email:
welcome: "Өөрийн хувийн орон зайдаа тавтай морилно уу, %{name}!"
success: "%{bigbluebutton}-г хөшүүрэг болгон, та хурал удирдах, бусад хамтран ажиллахын тулд өөрийн өрөөгөө үүсгэж болно."
username: "Таны хэрэглэгчийн нэр %{email}."
verify: "Бүртгэлээ баталгаажуулахын тулд, доорх товчийг дарна уу."
verify_text: 'Бүртгэлээ баталгаажуулахын тулд, доорх холбоосыг дагана уу:%{url}'
verify_link: Бүртгэлээ баталгаажуулах
thanks: "Бүртгүүлсэнд баярлалаа, өдрийг сайхан өнгөрүүлээрэй!"
max_concurrent: "Давхардсан хурлуудын зөвшөөрсөн хамгийн их тоонд хүрлээ! "
merged: Нэгтгэсэн
modal:
create_role:
create: Шинэ Үүрэг хариуцлага үүсгэх
footer_text: Үүрэг хариуцлагаа үүсгэсний дараа үүнд өгсөн тухайн зөвшөөрлийг засварлаж болно
name_placeholder: Үүрэг хариуцлагын нэрийг оруулах...
not_blank: Үүрэг хариуцлагын нэр хоосон байж болохгүй
title: Шинэ Үүрэг хариуцлага үүсгэх
create_room:
access_code: Нэвтрэх код
moderator_access_code: Чиглүүлэгчийн код
access_code_placeholder: Өрөөний сонголтот нэвтрэх кодыг үүсгэх
moderator_access_code_placeholder: Чиглүүлэгчид зориулан сонголтот кодыг үүсгэх
auto_join: Намайг өрөөнд автоматаар нэвтрүүлэх
create: Өрөө үүсгэх
free_delete: Та ямар ч үед энэхүү өрөөг чөлөөтэй устгаж болно.
name_placeholder: Өрөөний нэрийг оруулах...
not_blank: Өрөөний нэр хоосон байж болохгүй.
title: Шинэ өрөө үүсгэх
delete_account:
confirm: "Та энэхүү бүртгэлийг устгахыг хүсэж байгаадаа итгэлтэй байна уу?"
delete: "Би итгэлтэй байна, энэхүү бүртгэлийг устга."
keep: "Үнэндээ, би үүнийг устгамааргүй байна."
delete_warning: "Ингэснээр хэрэглэгчийн бүртгэлийг идэвхгүйжүүлнэ. Бүх идэвхгүй болгосон хэрэглэгчдийг устгасан таб дээрээс олж болно. "
warning: Энэхүү шийдвэр эцсийн байх болно. Та холбогдох өгөгдлийг сэргээх <b>боломжгүй</b> болно.
delete_rec:
delete: "Би итгэлтэй байна, энэхүү бичлэгийг устга."
header: "Та энэхүү бичлэгийг устгахыг хүсэж байгаадаа итгэлтэй байна уу?"
warning: Та энэхүү бичлэгийг сэргээх <b>боломжгүй</b> болно.
delete_room:
confirm: "Та %{room}-г устгахыг хүсэж байгаадаа итгэлтэй байна уу?"
delete: "Би итгэлтэй байна, энэхүү өрөөг устга."
keep: "Хоёр дахин бодоод, би үүнийг устгамааргүй байна."
warning: Та энэхүү өрөөг сэргээх <b>боломжгүй</b> болно.
recording_warning: "эсвэл үүний аливаа %{recordings_num}холбогдох бичлэгийг сэргээх боломжгүй."
invite_user:
email_placeholder: Хэрэглэгчийн цахим шууданг оруулах (таслалаар тусгаарласан)
footer: Хэрхэн бүртгүүлэх талаарх заавар бүхий цахим шууданг хэрэглэгч хүлээн авах болно
send: Урилга илгээх
title: Хэрэглэгч урих
login:
or: эсвэл
with: "%{provider}-р нэвтрэн орох"
forgot_password: "Нууц үгээ мартсан уу?"
preupload:
change: Презентацийг солих
choose: Файл сонгох...
current: "Одоогийн презентаци:"
footer: "Презентацийн хэмжээнээс хамаарч, үүнийг ашиглахаас өмнө байрлуулахад нэмэлт хугацаа хэрэгтэй болж магадгүй."
invalid: Хүчингүй файлын хэмжээ/төрөл байна. Доорх хязгаарлалтыг үзнэ үү.
title: Презентацийг нэмэх
use: Презентацийг ашиглах
rename_recording:
remove_shared:
title: "Та энэхүү өрөөг өрөөний жагсаалтаасаа устгахыг хүсэж байгаадаа итгэлтэй байна уу?"
delete: "Би итгэлтэй байна, энэхүү өрөөг устга."
warning: Та энэхүү өрөөнд дахин нэвтрэх <b>боломжгүй</b> болно.
room_settings:
title: Өрөөний тохиргоо
update: Өрөө шинэчлэх
client: Түншийн төрлийг сонгох
join_moderator: Бүх хэрэглэгч чиглүүлэгчээр нэвтэрлээ
mute: Хэрэглэгчид нэвтрэх үед тэдгээрийн дууг хаах
require_approval: Нэвтрэхээс өмнө чиглүүлэгчийн зөвшөөрлийг шаардана
start: Энэхүү хурал эхлүүлэхийг бүх хэрэглэгчид зөвшөөрөх
footer_text: "Таны өрөөний тохиргоог ямар ч үед хийж болно. "
recording: Өрөөнд бичлэг хийхийг зөвшөөрөх
rename_room:
name_placeholder: Өрөөний шинэ нэрийг оруулах...
share_access:
footer: "Хэрэглэгчтэй өрөөгөө хуваалцсанаар тэдгээрт өрөөг эхлүүлж, өрөөний бичлэгийг харах боломж олгоно."
list: -тай хуваалцах
title: Өрөөний нэвтрэлтийг хуваалцах
save: Өөрчлөлтийг хадгалах
cancel_changes: Өөрчлөлтийг цуцлах
select: Хэрэглэгчийг сонгох
merge_user:
cancel: Цуцлах
from: Нэгтгэх бүртгэл
title: Хэрэглэгчийн бүртгэл нэгтгэх
to: Үндсэн бүртгэл
save: Нэгтгэх
footer: Нэгтгэх бүртгэлд хамаарах өрөөг Үндсэн бүртгэлийн өрөөний жагсаалт руу шилжүүлж улмаар бүртгэлийг устгах болно.
name_update_success: Өрөөний нэрийг амжилттай устгалаа!
no_user_email_exists: Заасан цахим шуудан бүхий хэрэглэгч оршин байхгүй байна. Та үүнийг зөв бичсэн эсэхээ шалгана уу.
omniauth_error: omniauth-р баталгаажуулах явцад алдаа гарлаа. Дахин оролдох эсвэл администратортой холбоо барина уу.
omniauth_specific_error: "omniauth-р баталгаажуулж байх зуур %{error} гарлаа. Дахин оролдох эсвэл администратортой холбоо барина уу."
pagy:
nav:
prev: "&lsaquo; Өмнөх"
next: "Дараах &rsaquo;"
gap: "&hellip;"
password: Нууц үг
password_empty_notice: Нууц үг хоосон байж болохгүй
password_reset_success: Нууц үг дахин тохируулсан
password_different_notice: Нууц үгийн баталгаажуулалт тохирохгүй байна
provider:
google: Google
office365: Office 365
twitter: Twitter
ldap: LDAP
openid_connect: OpenID холбох
recaptcha:
errors:
recaptcha_unreachable: "Өө, бид таны reCAPTCHA хариуг баталгаажуулж чадсангүй. Дахин оролдоно уу."
verification_failed: "reCAPTCHA баталгаажуулалт бүтэлгүйтлээ, дахин оролдоно уу."
recording:
all_recordings: Бүх бичлэгүүд
email: Цахим шуудангийн бичлэг
error: "%{count}бичлэг (үүд)-ийг татах явцад алдаа гарлаа."
no_public_recordings: Энэхүү өрөөнд нийтийн бичлэг хийгдээгүй байна.
no_recordings: Энэхүү өрөөн дээр бичлэг хийгээгүй байна.
no_user_recordings: Танд одоогоор бичлэг байхгүй байна.
no_matched_pub_recordings: Таны хайлттай тохирох нийтийн бичлэг алга
no_matched_recordings: Таны хайлттай тохирох ямар ч бичлэг алга
recorded_on: "%{date}дээр бичлэг хийсэн"
table:
name: Нэр
thumbnails: Товчлол
length: Урт
users: Хэрэглэгчид
visibility: Харагдац
formats: Формат
visibility:
inaccessible: Нэвтрэх боломжгүй
public: Олон нийтийн
unlisted: Жагсаалтад ороогүй
format:
notes: Тэмдэглэлүүд
podcast: Подкаст
presentation: Презентаци
statistics: Статистик
video: Видео
registration:
approval:
fail: "Таны бүртгэлийг хараахан батлаагүй байна. Таныг бүртгүүлснээс хойш хэдэн өдөр өнгөрсөн бол, администратортойгоо холбоо барина уу."
signup: "Таны бүртгэлийг амжилттай үүсгэлээ. Үүнийг администратороор батлуулахаар илгээлээ. "
banned:
fail: "Танд энэхүү аппликэйшнд нэвтрэх эрх байхгүй байна. Үүнийг алдаа гэж үзвэл, системийн администратортойгоо холбоо барина уу."
deprecated:
new_signin: Бүртгэлдээ зориулан шинэ нэвтрэх аргыг сонгоно уу. Таны хуучин бүртгэлийн бүх өрөөнүүдийг шинэ бүртгэл рүү шилжүүлэх болно
twitter_signin: "Twitter-р дамжуулж нэвтрэн орох хуучирсан бөгөөд дараагийн удаад үүнийг устгах болно. Таны бүртгэлийг шинэ баталгаажуулах арга руу шилжүүлэхийн тулд <a href=\"%{link}\">энд</a>дарна уу"
twitter_signup: Twitter-р дамжуулж бүртгүүлэх хуучирсан байна. Өөр бүртгүүлэх арга ашиглана уу
merge_success: Таны twitter бүртгэлийг шинэ бүртгэлтэй тань амжилттай нэгтгэлээ. Таны twitter хуучин бүртгэлийг устгалаа
invite:
fail: "Таны токен нэг бол хүчингүй, эсвэл хугацаа нь дууссан байна. Үүнийг алдаа гэж үзвэл, администратортойгоо холбоо барина уу."
no_invite: Танд энэхүү аппликэйшнд нэвтрэх урилга байхгүй байна. Урилга авахын тулд администратортойгоо холбоо барина уу.
remove: Устгах
rename: Шинэ нэр өгөх
reset_password:
captcha: "reCAPTCHA баталгаажуулалт бүтэлгүйтлээ, дахин оролдоно уу."
invalid_token: Нууц үг дахин тохируулах токен хүчингүй байна. Нууц үгээ дахин тохируулахаар оролдоно уу.
subtitle: Нууц үг дахин тохируулах
password: Шинэ нууц үг
confirm: Шинэ нууц үг баталгаажуулах
update: Нууц үгээ шинэчлэх
auth_change: Баталгаажуулах арга өөрчлөгдсөн. Нууц үгээ тохируулахын тулд цахим шуудангаа шалгана уу.
roles:
active: Идэвхтэй
admin: Админ
banned: Хорьсон
deleted: Устгасан
pending: Хүлээгдэж буй
invited: Урьсан
user: Хэрэглэгч
room:
access_code_required: Өрөөнд холбогдохын тулд хүчинтэй нэвтрэх код оруулна уу
add_presentation: Презентацийг нэмэх
copy_access: Нэвтрэх кодыг хуулбарлах
copy_moderator_access: Чиглүүлэгчийн кодыг хуулбарлах
create_room: Нэг өрөө үүсгэх
create_room_error: Өрөө үүсгэх үед алдаа гарлаа.
create_room_success: Өрөөг амжилттай үүсгэлээ
delete:
home_room: Хэрэглэгчийн Үндсэн өрөөг устгаж чадсангүй
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: "Таныг нэгдэхийг урьсан байна. "
recording_present: "Энэхүү хурал дээр бичлгэ хийнэ гэдгийг би зөвшөөрч байна. Үүнд миний дуу хоолой, видео идэвхижсэн үед орж болно."
invite_participants: Оролцогчдыг урих
join: Нэгдэх
last_session: "%{session}дээрх сүүлийн хурал"
login: Оруулах
owner: Эзэмшигч
owner_banned: Энэхүү өрөөг одоогоор ашиглах боломжгүй байна
no_room:
description: "Таны нэгдэхийг хүсэж буй өрөөндөө зориулан өрөөний url, эсвэл өрөөний id-г оруулна уу. "
edit_profile: Хэрэглэгчийн мэдээллийг засах
go_to: Өрөө рүү орох
invalid_room_uid: Таны оруулсан url/uid хүчингүй байна.
placeholder: Өрөөний url/uid
no_recent_rooms: Танд одоогоор нэгдсэн ямар ч өрөө байхгүй байна
recent_rooms: Одоогоор нэгдсэн өрөө рүү нэвтрэх
title: Өрөөнд нэгдэх
no_sessions: Энэ өрөөнд ямарваа хурал явагдаагүй байна!
preupload_success: Презентацийг амжилттай нэмлээ
preupload_error: Өрөөний презентацийг шинэчлэх үед алдаа гарлаа
preupload_remove_success: Презентацийг амжилттай устгалаа
preupload_remove_error: Өрөөний презентацийг устгах үед алдаа гарлаа
recordings: Өрөөний бичлэгүүд
room_limit: Та зөвшөөрсөн хамгийн их өрөөний тоонд хүрсэн байна
room_limit_exceeded: "Та зөвшөөрсөн хамгийн их өрөөний тооноос хэтэрсэн байна. Энэхүү өрөөнд нэвтрэхийн тулд %{difference} өрөө (нүүд)-ийг устгана уу."
sessions: Хурлууд
settings: Өрөөний тохиргоо
share: Нэвтрэлтийг удирдах
shared_by: "%{email}-н хуваалцсан"
remove_shared_access_success: Таны өрөөний жагсаалтаас хуваалцсан өрөөг амжилттай устгалаа
remove_shared_access_error: Таны жагсаалтаас хуваалцсан өрөөг устгахад алдаа гарлаа
shared_access_success: Өрөөг амжилттай хуваалцлаа
shared_access_error: Өрөө хуваалцах үед алдаа гарлаа
start: Эхлэх
search: Өрөөг хайх...
unavailable: Эзэмшигчийн цахим шууданг баталгаажуулаагүй тул энэхүү өрөөг одоогоор ашиглах боломжгүй байна.
update_settings_error: Өрөөний тохиргоог шинэчлэх үед алдаа гарлаа
update_settings_success: Өрөөний тохиргоог амжилттай шинэчиллээ
wait:
message: Хурал хараахан эхлээгүй байна.
auto: Хурал эхлэх үед та автоматаар нэгдэх болно.
settings:
account:
fullname: Овог нэр
language: Хэл
provider: Үйлчилгээ үзүүлэгч
image: Зураг
image_url: Үндсэн зургийн URL
roles: Хэрэглэгчийн үүрэг хариуцлага
subtitle: Бүртгэлийн мэдээллээ шинэчлэх
title: Бүртгэлийн мэдээлэл
reset_password: Хэрэглэгчийн нууц үгийг дахин тохируулах
delete:
button: "Тийм ээ, би өөрийн бүртгэлийг устгахыг хүсэж байна."
disclaimer: "Та бүртгэлээ устгах сонголт хийсэн бол, энэ нь нөхөн сэргээгдэх <b>БОЛОМЖГҮЙ</b>болно. Тохиргоо, өрөө, бичлэг зэрэг таны бүртгэлийн талаарх мэдээллийг устгах болно."
subtitle: Таны бүртгэлийг бүрмөсөн устгах
title: Бүртгэл устгах
password:
confirmation: Шинэ нууц үг баталгаажуулах
new: Шинэ нууц үг
old: Хуучин нууц үг
subtitle: Нууц үгээ өөрчлөх
title: Нууц үг
title: Хувийн мэдээлэл
search: Хайх
signup:
password_confirm: Нууц үг баталгаажуулах
subtitle: Бүртгэл үүсгэх
title: Бүртгүүлэх
with: "%{provider}-р бүртгүүлэх"
terms:
accept: "Би %{href}-г хүлээн зөвшөөрч байна"
accept_existing: Би нөхцлүүдийг хүлээн зөвшөөрч байна
title: Нөхцлүүд
test_install: >
Энэхүү хуваарилалт дээр урьдчилан тохируулсан туршилтын серверийг ашиглаж байгаа ба та үүнийг өөрийнхтэйгөө солих хэрэгтэй. Дэлгэрэнгүй мэдээллийг %{href}-с үзнэ үү.
time:
formats:
default: "%b %d, %Y %-I:%M%P"
update: Шинэчлэх
verify:
accept: Баталгаажуулах
activated: Бүртгэлийг баталгаажуулсан!
already_verified: Бүртгэлийг аль хэдийнэ баталгаажуулсан
invalid: Хүчингүй баталгаажуулах холбоос
not_verified: Таны бүртгэлийг хараахан баталгаажуулаагүй байна.
resend: Баталгаажуулах цахим шууданг дахин илгээх
signin: Таны бүртгэлд хандахын тулд нэвтэрч орно уу.
title: Цахим шуудангаа баталгаажуулах
verification: Баталгаажуулалт

View File

@ -138,14 +138,11 @@ nl:
settings: Site-instellingen succesvol gewijzigd settings: Site-instellingen succesvol gewijzigd
unauthorized: U bent niet gemachtigd om acties uit te voeren op deze gebruiker unauthorized: U bent niet gemachtigd om acties uit te voeren op deze gebruiker
recordings: recordings:
latest: Nieuwste opnames
title: Serveropnames title: Serveropnames
no_recordings: Deze server heeft geen opnames. no_recordings: Deze server heeft geen opnames.
search_info: Voer het volledige e-mailadres van een gebruiker of het uid van een kamer in
roles: roles:
appear_in_share_list: Neem gebruikers met deze rol op in de keuzelijst voor het delen van kamers appear_in_share_list: Neem gebruikers met deze rol op in de keuzelijst voor het delen van kamers
can_create_rooms: Kan kamers maken can_create_rooms: Kan kamers maken
can_launch_recording: Gebruikers met deze rol toestaan hun vergaderingen op te nemen
delete: Verwijder de rol delete: Verwijder de rol
invalid_create: Er is een probleem opgetreden bij het maken van een nieuwe rol. Controleer de rolwaarden en probeer het opnieuw invalid_create: Er is een probleem opgetreden bij het maken van een nieuwe rol. Controleer de rolwaarden en probeer het opnieuw
invalid_order: Er is een probleem opgetreden bij het bijwerken van de prioriteit van de rol. Controleer de waarden en probeer het opnieuw invalid_order: Er is een probleem opgetreden bij het bijwerken van de prioriteit van de rol. Controleer de waarden en probeer het opnieuw
@ -176,9 +173,6 @@ nl:
info: Geeft alle gebruikers moderatorrechten in BigBlueButton wanneer ze deelnemen aan de vergadering. info: Geeft alle gebruikers moderatorrechten in BigBlueButton wanneer ze deelnemen aan de vergadering.
recordings: 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." 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: options:
disabled: Uitgeschakeld disabled: Uitgeschakeld
enabled: Altijd ingeschakeld enabled: Altijd ingeschakeld
@ -230,7 +224,6 @@ nl:
cookies: cookies:
cookie_info: "Cookies helpen ons onze diensten te leveren. Door onze services te gebruiken, gaat u akkoord met ons gebruik van 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 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 copied: Gekopieerd
copy: Kopiëren copy: Kopiëren
date: date:
@ -269,7 +262,6 @@ nl:
accepted: moet worden geaccepteerd accepted: moet worden geaccepteerd
confirmation: "komt niet overeen met %{attribute}" confirmation: "komt niet overeen met %{attribute}"
inclusion: is niet opgenomen in de lijst inclusion: is niet opgenomen in de lijst
domain: "moet eindigen op \"%{email_domain}\""
no_provider: no_provider:
message: "De site die u probeert te openen, is niet ingeschakeld" message: "De site die u probeert te openen, is niet ingeschakeld"
help: Neem contact op met uw systeembeheerder om Greenlight in te stellen help: Neem contact op met uw systeembeheerder om Greenlight in te stellen
@ -314,7 +306,6 @@ nl:
home_room: Begin kamer home_room: Begin kamer
info_update_success: Informatie succesvol bijgewerkt. info_update_success: Informatie succesvol bijgewerkt.
invalid_credentials: "Het e-mailadres en wachtwoord dat u heeft ingevoerd, komt niet overeen met onze gegevens. Probeer het opnieuw of klik op Wachtwoord vergeten om uw wachtwoord opnieuw in te stellen." invalid_credentials: "Het e-mailadres en wachtwoord dat u heeft ingevoerd, komt niet overeen met onze gegevens. Probeer het opnieuw of klik op Wachtwoord vergeten om uw wachtwoord opnieuw in te stellen."
invalid_credentials_external: "Het e-mailadres en het wachtwoord dat je ingegeven hebt, kennen we niet. Probeer opnieuw."
invalid_login_method: Inloggen mislukt vanwege niet-overeenkomende account. U moet inloggen met omniauth. invalid_login_method: Inloggen mislukt vanwege niet-overeenkomende account. U moet inloggen met omniauth.
invite_message: "Stuur iemand deze link om iemand uit te nodigen voor de vergadering:" invite_message: "Stuur iemand deze link om iemand uit te nodigen voor de vergadering:"
javascript: javascript:
@ -359,7 +350,6 @@ nl:
info: "Je bent uitgenodigd voor je eigen persoonlijke ruimte door %{name}" 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_info: Klik op de onderstaande knop om u aan te melden met uw e-mail en volg de stappen.
signup_link: Registreren signup_link: Registreren
valid: "De uitnodiging is geldig tot: %{date}"
signup: signup:
info: Een uitgenodigde gebruiker heeft zich aangemeld om Greenlight te gebruiken. info: Een uitgenodigde gebruiker heeft zich aangemeld om Greenlight te gebruiken.
admins_link: Bezoek de organisatiepagina admins_link: Bezoek de organisatiepagina
@ -398,9 +388,7 @@ nl:
title: Nieuwe rol maken title: Nieuwe rol maken
create_room: create_room:
access_code: Toegangscode access_code: Toegangscode
moderator_access_code: Moderator Code
access_code_placeholder: Genereer een optionele toegangscode voor de kamer 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 auto_join: Ga automatisch mee naar binnen
create: Ruimte creëren create: Ruimte creëren
free_delete: U kunt deze ruimte op elk gewenst moment verwijderen. free_delete: U kunt deze ruimte op elk gewenst moment verwijderen.
@ -498,11 +486,9 @@ nl:
all_recordings: Alle opnames all_recordings: Alle opnames
email: Email opname email: Email opname
error: "Er is een fout opgetreden bij het ophalen van %{count} opname(s)" error: "Er is een fout opgetreden bij het ophalen van %{count} opname(s)"
no_public_recordings: Deze kamer heeft geen publieke opnames no_recordings: "Deze kamer heeft geen %{inject} opnames."
no_recordings: Deze kamer heeft geen opnames.
no_user_recordings: U heeft momenteel geen opnames. no_user_recordings: U heeft momenteel geen opnames.
no_matched_pub_recordings: Er komen geen publieke opnames overeen met uw zoekopdracht. no_matched_recordings: "Geen %{inject} opnames komen overeen met uw zoekopdracht."
no_matched_recordings: Er komen geen opnames overeen met uw zoekopdracht.
recorded_on: "Geregistreerd op %{date}" recorded_on: "Geregistreerd op %{date}"
table: table:
name: Naam name: Naam
@ -512,7 +498,6 @@ nl:
visibility: Zichtbaarheid visibility: Zichtbaarheid
formats: Formaten formats: Formaten
visibility: visibility:
inaccessible: Ontoegankelijk
public: Openbaar public: Openbaar
unlisted: Niet-genoteerd unlisted: Niet-genoteerd
format: format:
@ -538,7 +523,6 @@ nl:
remove: Verwijder remove: Verwijder
rename: Hernoem rename: Hernoem
reset_password: reset_password:
captcha: "reCAPTCHA-verificatie is mislukt, probeer het opnieuw."
invalid_token: Token voor wachtwoordherstel is ongeldig. Probeer je wachtwoord opnieuw in te stellen. invalid_token: Token voor wachtwoordherstel is ongeldig. Probeer je wachtwoord opnieuw in te stellen.
subtitle: Reset wachtwoord subtitle: Reset wachtwoord
password: Nieuw wachtwoord password: Nieuw wachtwoord
@ -551,13 +535,11 @@ nl:
banned: Verbannen banned: Verbannen
deleted: Verwijderd deleted: Verwijderd
pending: In afwachting pending: In afwachting
invited: Uitgenodigd
user: Gebruiker user: Gebruiker
room: room:
access_code_required: Voer een geldige toegangscode in om toegang te krijgen tot de kamer access_code_required: Voer een geldige toegangscode in om toegang te krijgen tot de kamer
add_presentation: Presentatie toevoegen add_presentation: Presentatie toevoegen
copy_access: Kopieer Toegangscode copy_access: Kopieer Toegangscode
copy_moderator_access: "Kopieer Moderator Code "
create_room: Maak een kamer create_room: Maak een kamer
create_room_error: Er is een fout opgetreden bij het maken van de kamer create_room_error: Er is een fout opgetreden bij het maken van de kamer
create_room_success: Kamer met succes gemaakt create_room_success: Kamer met succes gemaakt
@ -566,8 +548,6 @@ nl:
success: Kamer succesvol verwijderd success: Kamer succesvol verwijderd
fail: "Kan kamer niet verwijderen (%{error})" fail: "Kan kamer niet verwijderen (%{error})"
enter_the_access_code: Voer de toegangscode van de kamer in 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. 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." 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 invited: Je bent uitgenodigd om lid te worden
@ -646,9 +626,6 @@ nl:
title: Voorwaarden title: Voorwaarden
test_install: >- test_install: >-
Deze implementatie maakt gebruik van een vooraf geconfigureerde testserver, deze moet u vervangen door uw eigen. Zie de %{href} voor meer informatie. Deze implementatie maakt gebruik van een vooraf geconfigureerde testserver, deze moet u vervangen door uw eigen. Zie de %{href} voor meer informatie.
time:
formats:
default: "%b %d, %Y %-I:%M%P"
update: Bijwerken update: Bijwerken
verify: verify:
accept: Verifiëren accept: Verifiëren

View File

@ -36,7 +36,7 @@ pt_BR:
enabled: Habilitado enabled: Habilitado
info: Permita que apenas usuários autenticados se juntem a uma sala info: Permita que apenas usuários autenticados se juntem a uma sala
title: Exija autenticação para salas title: Exija autenticação para salas
user-info: Você precisa se autenticar para entrar na sala. user-info: Você precisa se autenticar no Greenlight para se juntar a essa sala
branding: branding:
change: Alterar Imagem change: Alterar Imagem
info: Altera a imagem da marca que aparece no canto superior esquerdo info: Altera a imagem da marca que aparece no canto superior esquerdo
@ -45,9 +45,9 @@ pt_BR:
invalid: URL inválida invalid: URL inválida
legal: legal:
change: Alterar URL change: Alterar URL
info: Altere o link para os Termos de Uso que aparece na parte inferior da página info: Altere o link legal que aparece na parte inferior da página
placeholder: URL Termos de Uso placeholder: Legal URL...
title: Termos de Uso title: Legal
invalid: URL inválida invalid: URL inválida
privpolicy: privpolicy:
change: Alterar URL change: Alterar URL
@ -69,10 +69,6 @@ pt_BR:
regular: Regular regular: Regular
lighten: Iluminada lighten: Iluminada
darken: Escuro darken: Escuro
email_mapping:
info: "Mapear usuário por papel usando E-mail. Precisa estar no formato email1=papel1,email2=papel2"
title: Mapeamento de papel por E-mail
update:
log_level: log_level:
title: Nível de log title: Nível de log
information: Alterar o nível de log para toda a implantação information: Alterar o nível de log para toda a implantação
@ -86,18 +82,6 @@ pt_BR:
info: Configura a visibilidade padrão para novas gravações info: Configura a visibilidade padrão para novas gravações
title: Visibilidade padrão da gravação title: Visibilidade padrão da gravação
warning: Essa configuração só será aplicada em salas que não estão abertas warning: Essa configuração só será aplicada em salas que não estão abertas
require_consent:
info: Esta configuração permite uma configuração de sala da qual permite que os donos de sala especificar quais as salas podem ser gravadas. Os usuários que entram em uma sala gravada devem consentir antes de entrar.
title: Requer consentimento do Dono da sala e participante para gravar
maintenance_banner:
info: Exibir um banner para informar ao usuário sobre a manutenção programada
title: Banner de Manutenção
display: Definir
clear: Limpar
time: "Exemplo: Atualização programada em 13 de Dezembro as 23:00 GMT. Os usuários podem ter problemas para entrar."
preupload:
info: Usuários podem pré-carregar a apresentação para ser utilizada como apresentação padrão para essa sala especifica.
title: Permitir que os usuários enviem apresentações antecipadamente
registration: registration:
info: Altera a maneira com a qual os usuários se registram no site info: Altera a maneira com a qual os usuários se registram no site
title: Método de Registro title: Método de Registro
@ -112,11 +96,6 @@ pt_BR:
info: "Se esta opção estiver desativada, o botão é removido das opções da sala e impede que os usuários compartilhem salas" info: "Se esta opção estiver desativada, o botão é removido das opções da sala e impede que os usuários compartilhem salas"
title: Permitir que os usuários compartilhem salas title: Permitir que os usuários compartilhem salas
subtitle: Personalizar Greenlight subtitle: Personalizar Greenlight
tabs:
appearance: Aparência
administration: Administração
registration: Inscrição
settings: Configurações
title: Configurações do Site title: Configurações do Site
flash: flash:
approved: Usuário foi aprovado com sucesso. approved: Usuário foi aprovado com sucesso.
@ -127,7 +106,7 @@ pt_BR:
demoted: Usuário foi rebaixado com sucesso. demoted: Usuário foi rebaixado com sucesso.
invite: "Convite enviado para %{email} com sucesso" invite: "Convite enviado para %{email} com sucesso"
invite_email_verification: "E-mails precisam estar habilitados para poder utilizar esse método. Por favor, contate o seu administrador do sistema." invite_email_verification: "E-mails precisam estar habilitados para poder utilizar esse método. Por favor, contate o seu administrador do sistema."
merge_fail: Ocorreu um problema ao mesclar as contas de usuário. Verifique os usuários selecionados e tente novamente merge_fail: Ocorreu um problema ao mesclar as contas de usuário. Verifique os usuários selecionados e tente novamente
merge_success: Contas de usuário mescladas com sucesso merge_success: Contas de usuário mescladas com sucesso
perm_deleted: Usuário foi permanentemente apagado perm_deleted: Usuário foi permanentemente apagado
promoted: Usuário foi promovido com sucesso. promoted: Usuário foi promovido com sucesso.
@ -138,14 +117,11 @@ pt_BR:
settings: Configurações do Site alteradas com sucesso. settings: Configurações do Site alteradas com sucesso.
unauthorized: Você não possui permissão para realizar ações nesse usuário. unauthorized: Você não possui permissão para realizar ações nesse usuário.
recordings: recordings:
latest: Últimas Gravações
title: Gravações do servidor title: Gravações do servidor
no_recordings: Esse servidor não possui gravações no_recordings: Esse servidor não possui gravações
search_info: Digite o e-mail completo do usuário ou uid da sala
roles: roles:
appear_in_share_list: Incluir usuários com esse papel na lista para o compartilhamento de salas appear_in_share_list: Incluir usuários com esse papel na lista para o compartilhamento de salas
can_create_rooms: Pode criar salas can_create_rooms: Pode criar salas
can_launch_recording: Permitir usuários com este papel à gravar suas reuniões
delete: Remover o papel delete: Remover o papel
invalid_create: Ocorreu um erro ao criar um novo papel. Por favor verifique os valores inseridos e tente novamente invalid_create: Ocorreu um erro ao criar um novo papel. Por favor verifique os valores inseridos e tente novamente
invalid_order: Ocorreu um erro ao atualizar a prioridade do papel. Por favor verifique os valores inseridos e tente novamente invalid_order: Ocorreu um erro ao atualizar a prioridade do papel. Por favor verifique os valores inseridos e tente novamente
@ -160,7 +136,7 @@ pt_BR:
edit_site_settings: Permitir que usuários com este papel editem configurações do site edit_site_settings: Permitir que usuários com este papel editem configurações do site
edit_roles: Permitir que usuários com este papel editem outros papéis edit_roles: Permitir que usuários com este papel editem outros papéis
manage_users: Permitir que usuários com este papel gerenciem usuários manage_users: Permitir que usuários com este papel gerenciem usuários
invalid_assignment: Ocorreu um erro ao atribuir os papéis ao usuário. Por favor verifique os valores inseridos e tente novamente invalid_assignment: Ocorreu um erro ao atribuir os papéis ao usuário. Por favor verifique os valores inseridos e tente novamente
colour: colour:
title: Cor do papel title: Cor do papel
info: Configura a cor associada a um papel info: Configura a cor associada a um papel
@ -174,17 +150,11 @@ pt_BR:
info: "Permite que qualquer usuário inicie a reunião a qualquer momento. Por padrão, apenas o proprietário da sala pode iniciar a reunião." info: "Permite que qualquer usuário inicie a reunião a qualquer momento. Por padrão, apenas o proprietário da sala pode iniciar a reunião."
all_moderator: all_moderator:
info: Concede a todos os usuários privilégios de moderador quando ingressam na reunião. info: Concede a todos os usuários privilégios de moderador quando ingressam na reunião.
recordings:
info: "Permite aos donos de sala especificar se querem ter a opção de gravar ou não a sala. Se ativado, o moderador ainda precisa clicar no botão \"Gravar\" assim que a reunião iniciar."
moderator_codes:
info: Permite aos donos de sala opcionalmente gerar uma chave de moderador da qual permite outros usuários ingressarem diretamente como moderadores.
title: Código de acesso do moderador
options: options:
disabled: Desabilitado disabled: Desabilitado
enabled: Sempre ativado enabled: Sempre ativado
optional: Opcional optional: Opcional
rooms: rooms:
timeout: "Devido à requisição do servidor %{server}ter atingido tempo limite, as informações de estado e participantes podem não exatas"
title: Salas de servidores title: Salas de servidores
table: table:
ended: "Finalizado: %{session}" ended: "Finalizado: %{session}"
@ -214,14 +184,12 @@ pt_BR:
table: table:
authenticator: Autenticador authenticator: Autenticador
created: Criado created: Criado
time: Tempo enviado
name: Nome name: Nome
not_found: Nenhum usuário corresponde a sua pesquisa not_found: Nenhum usuário corresponde a sua pesquisa
no_users: Nenhum usuário encontrado no_users: Nenhum usuário encontrado
role: Função role: Função
uid: ID de Usuário uid: ID de Usuário
username: Identificação username: Identificação
valid: Válido
title: Administrar Usuários title: Administrar Usuários
add_to_google_calendar: "Adicionar ao Google Calendar" add_to_google_calendar: "Adicionar ao Google Calendar"
bigbluebutton: BigBlueButton bigbluebutton: BigBlueButton
@ -230,7 +198,6 @@ pt_BR:
cookies: cookies:
cookie_info: "Cookies nos ajudam a fornecer nossos serviços. Por utilizar nossos serviços, você aceita o nosso uso de cookies." cookie_info: "Cookies nos ajudam a fornecer nossos serviços. Por utilizar nossos serviços, você aceita o nosso uso de cookies."
cookie_button: Eu concordo cookie_button: Eu concordo
policy: "Para mais informações, veja nossa <a href=\"%{privacy_link}\"><u>política de privacidade </u></a>."
copied: Copiado copied: Copiado
copy: Copiar copy: Copiar
date: date:
@ -269,7 +236,6 @@ pt_BR:
accepted: precisa ser aceitado accepted: precisa ser aceitado
confirmation: "não corresponde %{attribute}" confirmation: "não corresponde %{attribute}"
inclusion: não está incluso na lista inclusion: não está incluso na lista
domain: "precisa terminar com \"%{email_domain}\""
no_provider: no_provider:
message: O site que você está tentando acessar não está ativado message: O site que você está tentando acessar não está ativado
help: Por favor contate o administrador do sistema help: Por favor contate o administrador do sistema
@ -294,7 +260,7 @@ pt_BR:
designs: Designs personalizados designs: Designs personalizados
authentication: Autenticação de usuário authentication: Autenticação de usuário
footer: footer:
legal: Termos de Uso legal: Legal
privpolicy: Política de Privacidade privpolicy: Política de Privacidade
powered_by: "Powered by %{href}." powered_by: "Powered by %{href}."
forgot_password: forgot_password:
@ -308,13 +274,12 @@ pt_BR:
dropdown: dropdown:
account_settings: Organização account_settings: Organização
help: "Precisa de ajuda?" help: "Precisa de ajuda?"
home: Sala Inicial home: Sala inicial
settings: Perfil settings: Perfil
signout: Sair signout: Sair
home_room: Sala Inicial home_room: Sala inicial
info_update_success: Informações atualizadas com sucesso. info_update_success: Informações atualizadas com sucesso.
invalid_credentials: E-mail ou senha inválidos. Tente novamente ou click em Esqueci minha senha. invalid_credentials: E-mail ou senha inválidos. Tente novamente ou clicke em Esqueci minha senha.
invalid_credentials_external: "O e-mail e a senha que você inseriu não correspondem aos nossos registros. Por favor, tente novamente."
invalid_login_method: O login falhou porque sua conta foi criada utilizando login social. Selecione a opção de login social para continuar. invalid_login_method: O login falhou porque sua conta foi criada utilizando login social. Selecione a opção de login social para continuar.
invite_message: "Para convidar alguém para a reunião, envie este link:" invite_message: "Para convidar alguém para a reunião, envie este link:"
javascript: javascript:
@ -359,7 +324,6 @@ pt_BR:
info: "Você foi convidado para possuir um espaço pessoal por %{name}" info: "Você foi convidado para possuir um espaço pessoal por %{name}"
signup_info: "Para se cadastrar utilizado o seu e-mail, clique no botão abaixo e siga os passos." signup_info: "Para se cadastrar utilizado o seu e-mail, clique no botão abaixo e siga os passos."
signup_link: Cadastrar-se signup_link: Cadastrar-se
valid: "O convite é válido até: %{date}"
signup: signup:
info: Um usuário que foi convidado se cadastrou para utilizar o Greenlight. info: Um usuário que foi convidado se cadastrou para utilizar o Greenlight.
admins_link: Visite a página da Organização. admins_link: Visite a página da Organização.
@ -387,6 +351,8 @@ pt_BR:
verify_text: 'Para verificar sua conta, siga esse link: %{url}' verify_text: 'Para verificar sua conta, siga esse link: %{url}'
verify_link: Verificar Conta verify_link: Verificar Conta
thanks: "Obrigado por se juntar a nós, tenha um ótimo dia!" thanks: "Obrigado por se juntar a nós, tenha um ótimo dia!"
maintenance:
window_alert: "Janela de manutenção agendada para %{date}"
max_concurrent: O número máximo de sessões simultâneas foi alcançado. max_concurrent: O número máximo de sessões simultâneas foi alcançado.
merged: Mesclado merged: Mesclado
modal: modal:
@ -398,9 +364,7 @@ pt_BR:
title: Criar novo papel title: Criar novo papel
create_room: create_room:
access_code: Código de acesso access_code: Código de acesso
moderator_access_code: Código do moderador
access_code_placeholder: Gerar um código de acesso opcional para a sala access_code_placeholder: Gerar um código de acesso opcional para a sala
moderator_access_code_placeholder: Gerar um código opcional para moderadores
auto_join: Entrar na sala automaticamente. auto_join: Entrar na sala automaticamente.
create: Criar Sala create: Criar Sala
free_delete: Você poderá apagar esta sala a qualquer momento. free_delete: Você poderá apagar esta sala a qualquer momento.
@ -413,10 +377,6 @@ pt_BR:
keep: "Não, irei mantê-la." keep: "Não, irei mantê-la."
delete_warning: Isto irá desativar a conta do usuário. Todos os usuários desativados poderão ser visualizados na aba Apagados delete_warning: Isto irá desativar a conta do usuário. Todos os usuários desativados poderão ser visualizados na aba Apagados
warning: Esta é uma decisão final. Você <b>não</b> será capaz de recuperar os dados associados. warning: Esta é uma decisão final. Você <b>não</b> será capaz de recuperar os dados associados.
delete_rec:
delete: "Estou certo, exclua essa gravação."
header: "Você esta certo que deseja excluir essa gravação ?"
warning: Você <b>não</b>poderá recuperar essa gravação
delete_room: delete_room:
confirm: "Você tem certeza de que deseja apagar %{room}?" confirm: "Você tem certeza de que deseja apagar %{room}?"
delete: "Sim, apagar esta sala." delete: "Sim, apagar esta sala."
@ -432,14 +392,6 @@ pt_BR:
or: ou or: ou
with: "Entrar com %{provider}" with: "Entrar com %{provider}"
forgot_password: "Esqueceu a senha?" forgot_password: "Esqueceu a senha?"
preupload:
change: Substituir Apresentação
choose: Escolha um arquivo...
current: "Apresentação Atual:"
footer: "Dependendo do tamanho da apresentação, pode ser requerido um tempo adicional para carrega-la antes de poder usa-la."
invalid: Tamanho/tipo do arquivo inválido. Favor consulte as restrições abaixo.
title: Adicionar Apresentação
use: Usar Apresentação
rename_recording: rename_recording:
remove_shared: remove_shared:
title: "Tem certeza de que deseja remover esta sala da sua lista?" title: "Tem certeza de que deseja remover esta sala da sua lista?"
@ -454,7 +406,6 @@ pt_BR:
require_approval: Solicitar aprovação do moderador antes de entrar na sala require_approval: Solicitar aprovação do moderador antes de entrar na sala
start: Permitir que qualquer usuário inicie esta sala start: Permitir que qualquer usuário inicie esta sala
footer_text: Você pode editar as configurações da sala a qualquer momento. footer_text: Você pode editar as configurações da sala a qualquer momento.
recording: Permitir que a sala seja gravada
rename_room: rename_room:
name_placeholder: Digite o novo nome da sala... name_placeholder: Digite o novo nome da sala...
share_access: share_access:
@ -489,7 +440,6 @@ pt_BR:
office365: Office 365 office365: Office 365
twitter: Twitter twitter: Twitter
ldap: LDAP ldap: LDAP
openid_connect: Conectar OpenID
recaptcha: recaptcha:
errors: errors:
recaptcha_unreachable: "Oops, não conseguimos validar seu reCAPTCHA. Por favor, tente novamente." recaptcha_unreachable: "Oops, não conseguimos validar seu reCAPTCHA. Por favor, tente novamente."
@ -498,11 +448,9 @@ pt_BR:
all_recordings: Gravações all_recordings: Gravações
email: Enviar link da gravação por e-mail email: Enviar link da gravação por e-mail
error: "Ocorreu um erro ao recuperar %{count} gravações" error: "Ocorreu um erro ao recuperar %{count} gravações"
no_public_recordings: Essa sala não possui gravações públicas. no_recordings: "Esta sala não possui %{inject} gravações."
no_recordings: Essa sala não possui gravações.
no_user_recordings: Você não possui gravações. no_user_recordings: Você não possui gravações.
no_matched_pub_recordings: Nenhuma gravação pública corresponde à sua pesquisa. no_matched_recordings: "Nenhuma gravação corresponde à sua busca %{inject}."
no_matched_recordings: Nenhuma gravação corresponde à sua pesquisa.
recorded_on: "Gravado em %{date}" recorded_on: "Gravado em %{date}"
table: table:
name: Nome name: Nome
@ -512,7 +460,6 @@ pt_BR:
visibility: Visibilidade visibility: Visibilidade
formats: Formatos formats: Formatos
visibility: visibility:
inaccessible: Inacessível
public: Público public: Público
unlisted: Não listado unlisted: Não listado
format: format:
@ -526,7 +473,7 @@ pt_BR:
fail: "Sua conta ainda não foi aprovada. Se vários dias se passaram desde que você se cadastrou, por favor, contate o seu administrador." fail: "Sua conta ainda não foi aprovada. Se vários dias se passaram desde que você se cadastrou, por favor, contate o seu administrador."
signup: Sua conta foi criada com sucesso. Ela foi enviada para um administrador para aprovação. signup: Sua conta foi criada com sucesso. Ela foi enviada para um administrador para aprovação.
banned: banned:
fail: "Você não possui permissão para visualizar essa página. Se você acredita que isso seja um engano, por favor, contate o seu administrador." fail: "Você não possui permissão para visualizar essa página. Se você acredita que isso seja um engano, por favor, contate o seu administrador."
deprecated: deprecated:
new_signin: Selecione um novo método de login para a sua conta. Todas as salas de sua antiga conta serão migradas para a nova conta. new_signin: Selecione um novo método de login para a sua conta. Todas as salas de sua antiga conta serão migradas para a nova conta.
twitter_signin: "Entrar pelo Twitter foi descontinuado e será removido na próxima versão. Clique <a href=\"%{link}\"> aqui </a> para mover a sua conta para um novo método de autenticação." twitter_signin: "Entrar pelo Twitter foi descontinuado e será removido na próxima versão. Clique <a href=\"%{link}\"> aqui </a> para mover a sua conta para um novo método de autenticação."
@ -538,7 +485,6 @@ pt_BR:
remove: Remover remove: Remover
rename: Renomear rename: Renomear
reset_password: reset_password:
captcha: "Verificação do reCAPTCHA falhou, por favor, tente novamente."
invalid_token: "O token de redefinição de senha é inválido. Por favor, tente redefinir sua senha novamente." invalid_token: "O token de redefinição de senha é inválido. Por favor, tente redefinir sua senha novamente."
subtitle: Resetar senha subtitle: Resetar senha
password: Nova senha password: Nova senha
@ -551,13 +497,9 @@ pt_BR:
banned: Banido banned: Banido
deleted: Apagados deleted: Apagados
pending: Pendente pending: Pendente
invited: Convidado
user: Usuário user: Usuário
room: room:
access_code_required: Por favor insira o código de acesso para entrar na sala access_code_required: Por favor insira o código de acesso para entrar na sala
add_presentation: Adicionar Apresentação
copy_access: Copiar Código de Acesso
copy_moderator_access: Copiar Código do Moderador
create_room: Criar uma sala create_room: Criar uma sala
create_room_error: Ocorreu um erro ao criar a sala create_room_error: Ocorreu um erro ao criar a sala
create_room_success: Sala criada com sucesso create_room_success: Sala criada com sucesso
@ -566,12 +508,8 @@ pt_BR:
success: Sala excluída com sucesso success: Sala excluída com sucesso
fail: "Falha ao excluir a sala (%{error})" fail: "Falha ao excluir a sala (%{error})"
enter_the_access_code: Insira o código de acesso da sala enter_the_access_code: Insira o código de acesso da sala
enter_the_moderator_access_code: Digite o código de moderador dessa sala!
optional_moderator_access_code: "Código opcional do moderador:"
invalid_provider: Você inseriu uma URL inválida. Por favor verifique a URL e tente novamente invalid_provider: Você inseriu uma URL inválida. Por favor verifique a URL e tente novamente
invitation_description: "Você foi convidado para se juntar ao %{name}usando BigBlueButton. Para participar, clique no endereço acima e digite seu nome."
invited: Você foi convidado a participar da sala invited: Você foi convidado a participar da sala
recording_present: "Eu estou ciente que essa sessão será gravada. Isto pode incluir minha voz ou vídeo, se ativado."
invite_participants: Convidar participantes invite_participants: Convidar participantes
join: Participar join: Participar
last_session: "Última sessão em %{session}" last_session: "Última sessão em %{session}"
@ -588,10 +526,6 @@ pt_BR:
recent_rooms: Ir para uma sala recente recent_rooms: Ir para uma sala recente
title: Entrar na sala title: Entrar na sala
no_sessions: Nenhuma sessão foi realizada nesta sala. no_sessions: Nenhuma sessão foi realizada nesta sala.
preupload_success: Apresentação adicionada com sucesso
preupload_error: Ocorreu um erro ao atualizar a apresentação da sala
preupload_remove_success: Apresentação removida com sucesso
preupload_remove_error: Ocorreu um erro ao remover a apresentação da sala
recordings: Gravações da sala recordings: Gravações da sala
room_limit: Você atingiu o número máximo de salas permitido room_limit: Você atingiu o número máximo de salas permitido
room_limit_exceeded: "Você excedeu o número de salas permitido. Por favor, delete %{difference} sala(s) para acessar essa sala." room_limit_exceeded: "Você excedeu o número de salas permitido. Por favor, delete %{difference} sala(s) para acessar essa sala."
@ -604,7 +538,6 @@ pt_BR:
shared_access_success: Sala compartilhada com sucesso shared_access_success: Sala compartilhada com sucesso
shared_access_error: Ocorreu um erro ao compartilhar a sala shared_access_error: Ocorreu um erro ao compartilhar a sala
start: Iniciar start: Iniciar
search: Pesquisar sala...
unavailable: Esta sala não está disponível pois o e-mail do dono da sala ainda não foi verificado. unavailable: Esta sala não está disponível pois o e-mail do dono da sala ainda não foi verificado.
update_settings_error: Ocorreu um erro ao atualizar as configurações da sala update_settings_error: Ocorreu um erro ao atualizar as configurações da sala
update_settings_success: Configurações da sala atualizadas com sucesso update_settings_success: Configurações da sala atualizadas com sucesso
@ -646,9 +579,6 @@ pt_BR:
title: Termos e condições title: Termos e condições
test_install: > test_install: >
Esta implantação está usando um servidor de teste pré-configurado, você deve substitui-lo pelo seu próprio. Para detalhes, veja o %{href}. Esta implantação está usando um servidor de teste pré-configurado, você deve substitui-lo pelo seu próprio. Para detalhes, veja o %{href}.
time:
formats:
default: "%b %d, %Y %-I:%M%P"
update: Atualizar update: Atualizar
verify: verify:
accept: Verificar accept: Verificar

View File

@ -36,18 +36,18 @@ ru:
enabled: Включено enabled: Включено
info: Только аутентифицированные пользователи смогут присоединиться к комнате info: Только аутентифицированные пользователи смогут присоединиться к комнате
title: Требовать аутентификации для подключения к комнатам title: Требовать аутентификации для подключения к комнатам
user-info: Вы должны авторизоваться в системе чтобы присоединиться к этой комнате. user-info: Вы должны войти в Greenlight для присоединения к этой комнате
branding: branding:
change: Сменить изображение change: Сменить изображение
info: "Сменить фирменное изображение, размещенное в левом верхнем углу" info: "Сменить фирменное изображение, размещенное в левом верхнем углу"
placeholder: Ссылка на изображение... placeholder: Url изображения...
title: Фирменное изображение title: Фирменное изображение
invalid: Неверная ссылка invalid: Неверная ссылка
legal: legal:
change: Измените ссылку change: Измените ссылку
info: "Изменить ссылку Правила, которая отображается в нижней части страницы" info: "Изменить ссылку на Соглашение, которая появляется внизу страницы"
placeholder: Ссылка на Правила... placeholder: Ссылка на Соглашение
title: Правила title: Соглашение
invalid: Неверная ссылка invalid: Неверная ссылка
privpolicy: privpolicy:
change: Измените ссылку change: Измените ссылку
@ -69,10 +69,6 @@ ru:
regular: Основной regular: Основной
lighten: Светлый lighten: Светлый
darken: Темный darken: Темный
email_mapping:
info: "Сопоставьте пользователя с ролью, используя его электронную почту. Должно быть в формате: email1=role1,email2=role2"
title: Сопоставление ролей по электронной почте
update:
log_level: log_level:
title: Уровень журналирования title: Уровень журналирования
information: Изменение общего уровня журналирования information: Изменение общего уровня журналирования
@ -86,18 +82,6 @@ ru:
info: "Устанавливает уровень доступности по умолчанию, для новых записей" info: "Устанавливает уровень доступности по умолчанию, для новых записей"
title: Доступность по умолчанию для записей title: Доступность по умолчанию для записей
warning: "Данная настройка не применится к комнатам, которые уже запущены." warning: "Данная настройка не применится к комнатам, которые уже запущены."
require_consent:
info: "Эта настройка активирует настройку комнаты, в которой владелец может настроить, может ли вестись запись вебинара в его комнате. Присоединяющиеся пользователи должны дать своё согласие на запись перед присоединением."
title: Требуется согласие владельца комнаты и присоединяющегося пользователя для включения записи
maintenance_banner:
info: Отображает пользователю баннер о техническом обслуживании
title: Баннер о техническом обслуживании
display: Установить
clear: Очистить
time: "Например: Обновление запланировано на 13 декабря, 23:00 во восточному времени. У пользователей могут возникнуть проблемы при входе в систему."
preupload:
info: "Пользователи могут предварительно загрузить презентацию, которая будет использоваться в качестве презентации по умолчанию для этой комнаты."
title: Разрешить пользователям предварительно загружать презентации
registration: registration:
info: Смена способа регистрации пользователей на сайте info: Смена способа регистрации пользователей на сайте
title: Метод регистрации title: Метод регистрации
@ -112,11 +96,6 @@ ru:
info: Отключение опции удалит кнопку из выпадающего меню опций Комнаты и запретит пользователям совместное использование комнат info: Отключение опции удалит кнопку из выпадающего меню опций Комнаты и запретит пользователям совместное использование комнат
title: Разрешить пользователям совместное использование комнат title: Разрешить пользователям совместное использование комнат
subtitle: Изменить настройки интерфейса Greenlight subtitle: Изменить настройки интерфейса Greenlight
tabs:
appearance: Внешний вид
administration: Администрирование
registration: Регистрация
settings: Настройки
title: Настройки сайта title: Настройки сайта
flash: flash:
approved: Пользователь одобрен. approved: Пользователь одобрен.
@ -127,25 +106,22 @@ ru:
demoted: Роль пользователя понижена demoted: Роль пользователя понижена
invite: "Приглашение успешно отправлено на адрес %{email}" invite: "Приглашение успешно отправлено на адрес %{email}"
invite_email_verification: Для использования этого метода работа с почтовыми уведомлениями должна быть активирована. Обратитесь к вашему системному администратору. invite_email_verification: Для использования этого метода работа с почтовыми уведомлениями должна быть активирована. Обратитесь к вашему системному администратору.
merge_fail: Произошла ошибка объединения пользовательских аккаунтов. Проверьте выбранных пользователей и попробуйте снова merge_fail: Произошла ошибка объединения пользовательских аккаунтов. Проверьте выбранных пользователей и попробуйте снова
merge_success: Пользовательские аккаунты успешно объединены merge_success: Пользовательские аккаунты успешно объединены
perm_deleted: Пользователь удален без возможности восстановления perm_deleted: Пользователь удален без возможности восстановления
promoted: Роль пользователя повышена promoted: Роль пользователя повышена
registration_method_updated: Метод регистрации обновлен registration_method_updated: Метод регистрации обновлен
reset_password: "Пользователю был отправлен email для сброса его пароля. (Если пользователь ничего не получил, попросите его проверить папку \"Спам\") в его почтовом ящике" reset_password: "Пользователю был отправлен email для сброса его пароля. (Если пользователь ничего не получил, попросите его проверить папку \"Спам\") в его почтовом ящике"
restored: Пользователь успешно восстановлен restored: Пользователь успешно восстановлен
room_configuration: Настройки комнат успешно изменены room_configuration: Настройки Комнаты успешно изменены
settings: Настройки сайта изменены settings: Настройки сайта изменены
unauthorized: У вас недостаточно прав для выполнения действий с этим пользователем unauthorized: У вас недостаточно прав для выполнения действий с этим пользователем
recordings: recordings:
latest: Последние записи
title: Записи сервера title: Записи сервера
no_recordings: На данном сервере нет записей. no_recordings: На данном сервере нет записей.
search_info: Введите адрес электронной почты пользователя или id комнаты
roles: roles:
appear_in_share_list: Показывать пользователей с этой ролью в меню совместного использования комнат appear_in_share_list: Показывать пользователей с этой ролью в меню совместного использования комнат
can_create_rooms: Создание комнат can_create_rooms: Создание комнат
can_launch_recording: Разрешить пользователям с этой ролью записывать свои конференции
delete: Удаление роли delete: Удаление роли
invalid_create: Возникла проблема при создании новой роли. Пожалуйста проверьте значения и попробуйте снова. invalid_create: Возникла проблема при создании новой роли. Пожалуйста проверьте значения и попробуйте снова.
invalid_order: Возникла проблема при обновлении приоритета роли. Пожалуйста проверьте значения и попробуйте снова. invalid_order: Возникла проблема при обновлении приоритета роли. Пожалуйста проверьте значения и попробуйте снова.
@ -160,12 +136,12 @@ ru:
edit_site_settings: Разрешить польователям с этой ролью редактировать настройки сайта edit_site_settings: Разрешить польователям с этой ролью редактировать настройки сайта
edit_roles: Разрешить пользователям с этой ролью редактировать другие роли edit_roles: Разрешить пользователям с этой ролью редактировать другие роли
manage_users: Разрешить пользователям с этой ролью управлять пользователями manage_users: Разрешить пользователям с этой ролью управлять пользователями
invalid_assignment: Возникла проблема при назначении роли пользователю. Пожалуйста проверьте значения и попробуйте снова. invalid_assignment: Возникла проблема при назначении роли пользователю. Пожалуйста проверьте значения и попробуйте снова.
colour: colour:
title: Цвет роли title: Цвет роли
info: "Задайте цвет, который будет применен для этой роли" info: "Задайте цвет, который будет применен для этой роли"
room_configuration: room_configuration:
title: Настройки комнат title: Настройки Комнаты
mute: mute:
info: "Автоматически отключает микрофон пользователю, присоединяющемуся к конференции" info: "Автоматически отключает микрофон пользователю, присоединяющемуся к конференции"
require_moderator: require_moderator:
@ -174,17 +150,11 @@ ru:
info: "Позволить любому пользователю начать конференцию в любое время. По-умолчанию, только влелец комнаты может начинать конференцию." info: "Позволить любому пользователю начать конференцию в любое время. По-умолчанию, только влелец комнаты может начинать конференцию."
all_moderator: all_moderator:
info: "Дать всем пользователям права модератора, когда они подключаются к конференции" info: "Дать всем пользователям права модератора, когда они подключаются к конференции"
recordings:
info: "Разрешает владельцам комнат настраивать, хотят ли они вести запись в комнате. Если включено, модератор все равно должен нажать \"Начать запись\" после начала вебинара."
moderator_codes:
info: "Позволяет владельцам комнат генерировать PIN-код модератора, который позволит другим пользователям присоединиться в роли модератора."
title: Код доступа модератора
options: options:
disabled: Отключено disabled: Отключено
enabled: Всегда Включено enabled: Всегда Включено
optional: Необязательный optional: Необязательный
rooms: rooms:
timeout: "Из-за %{server} Время ожидания ответа от сервера истекло, информация о статусе и участниках может быть не точной."
title: Комнаты сервера title: Комнаты сервера
table: table:
ended: "Закончена: %{session}" ended: "Закончена: %{session}"
@ -214,14 +184,12 @@ ru:
table: table:
authenticator: Аутентификатор authenticator: Аутентификатор
created: Создано created: Создано
time: Время отправки
name: Имя name: Имя
not_found: По вашему запросу пользователи не найдены not_found: По вашему запросу пользователи не найдены
no_users: Пользователи не найдены no_users: Пользователи не найдены
role: Роль role: Роль
uid: ID пользователя uid: ID пользователя
username: Имя пользователя username: Имя пользователя
valid: Действительно
title: Управление пользователями title: Управление пользователями
add_to_google_calendar: "Добавить в мой Google Calendar" add_to_google_calendar: "Добавить в мой Google Calendar"
bigbluebutton: BigBlueButton bigbluebutton: BigBlueButton
@ -230,7 +198,6 @@ ru:
cookies: cookies:
cookie_info: Cookies помогают нам в предоставлении наших сервисов. Используя наши сервисы Вы соглашаетесь с использованием cookies. cookie_info: Cookies помогают нам в предоставлении наших сервисов. Используя наши сервисы Вы соглашаетесь с использованием cookies.
cookie_button: Я согласен cookie_button: Я согласен
policy: "Для подробной информации посмотрите <a href=\"%{privacy_link}\"><u>политику конфиденциальности</u></a>."
copied: Скопировано copied: Скопировано
copy: Копировать copy: Копировать
date: date:
@ -269,7 +236,6 @@ ru:
accepted: подходит accepted: подходит
confirmation: "не совпадает с %{attribute}" confirmation: "не совпадает с %{attribute}"
inclusion: не входит в список inclusion: не входит в список
domain: "Должно заканчиваться на \"%{email_domain}\""
no_provider: no_provider:
message: "Сайт, к которому вы пытаетесь получить доступ, не включен" message: "Сайт, к которому вы пытаетесь получить доступ, не включен"
help: Пожалуйста обратитесь к вашему системному администратору для установки Greenlight help: Пожалуйста обратитесь к вашему системному администратору для установки Greenlight
@ -294,7 +260,7 @@ ru:
designs: Изменение внешнего вида designs: Изменение внешнего вида
authentication: Аутентификация пользователей authentication: Аутентификация пользователей
footer: footer:
legal: Правила legal: Соглашение
privpolicy: Политика Конфиденциальности privpolicy: Политика Конфиденциальности
powered_by: "Работает под управлением %{href}." powered_by: "Работает под управлением %{href}."
forgot_password: forgot_password:
@ -314,7 +280,6 @@ ru:
home_room: Личная комната home_room: Личная комната
info_update_success: Информация успешно обновлена. info_update_success: Информация успешно обновлена.
invalid_credentials: Введенные email и пароль не найдены. Попробуйте снова или пройдите по ссылке "Забыли пароль" для восстановления пароля. invalid_credentials: Введенные email и пароль не найдены. Попробуйте снова или пройдите по ссылке "Забыли пароль" для восстановления пароля.
invalid_credentials_external: "Введенный вами адрес электронной почты и пароль не найдены в базе данных сервера. Пожалуйста, попробуйте еще раз."
invalid_login_method: Ошибка входа в систему из-за несоответствия аккаунта. Вы должны войти в систему с помощью omniauth. invalid_login_method: Ошибка входа в систему из-за несоответствия аккаунта. Вы должны войти в систему с помощью omniauth.
invite_message: "Чтобы пригласить собеседника, отправьте ему эту ссылку:" invite_message: "Чтобы пригласить собеседника, отправьте ему эту ссылку:"
javascript: javascript:
@ -359,7 +324,6 @@ ru:
info: "Вы приглашены пользователем %{name} в ваш аккаунт" info: "Вы приглашены пользователем %{name} в ваш аккаунт"
signup_info: "Для входа используйте ваш email, нажмите на кнопку ниже и следуйте инструкциям." signup_info: "Для входа используйте ваш email, нажмите на кнопку ниже и следуйте инструкциям."
signup_link: Регистрация signup_link: Регистрация
valid: "Приглашение действительно до: %{date}"
signup: signup:
info: "Пользователь, который был приглашен зарегистрироваться в Greenlight." info: "Пользователь, который был приглашен зарегистрироваться в Greenlight."
admins_link: Посетить страничку орагнизации admins_link: Посетить страничку орагнизации
@ -387,6 +351,8 @@ ru:
verify_text: 'Для подтверждения вашего аккаунта, пройдите по ссылке: %{url}' verify_text: 'Для подтверждения вашего аккаунта, пройдите по ссылке: %{url}'
verify_link: Подтверждение аккаунта verify_link: Подтверждение аккаунта
thanks: Спасибо за присоединение и хорошего дня! thanks: Спасибо за присоединение и хорошего дня!
maintenance:
window_alert: "Время обслуживания запланировано на %{date}"
max_concurrent: Достигнуто максимальное количество одновременно разрешенных сессий! max_concurrent: Достигнуто максимальное количество одновременно разрешенных сессий!
merged: Объединен merged: Объединен
modal: modal:
@ -398,11 +364,7 @@ ru:
title: Создать новую роль title: Создать новую роль
create_room: create_room:
access_code: Код доступа access_code: Код доступа
moderator_access_code: Код модератора
access_code_placeholder: Генерация дополнительного кода доступа в комнату access_code_placeholder: Генерация дополнительного кода доступа в комнату
reset_access_code: Сбросить дополнительный код доступа для комнаты
moderator_access_code_placeholder: Генерация кода для модераторов
reset_moderator_access_code: Сбросить дополнительный код доступа для модераторов
auto_join: Автоматически подключать меня к комнате auto_join: Автоматически подключать меня к комнате
create: Создать комнату create: Создать комнату
free_delete: Вы можете удалить эту комнату в любое время. free_delete: Вы можете удалить эту комнату в любое время.
@ -415,10 +377,6 @@ ru:
keep: "Пожалуй, оставлю." keep: "Пожалуй, оставлю."
delete_warning: Данное действие отключит пользовательский аккаунт. Все отключенные пользователи находятся на вкладе "Удаленые". delete_warning: Данное действие отключит пользовательский аккаунт. Все отключенные пользователи находятся на вкладе "Удаленые".
warning: Это решение является окончательным. Вы <b>не</b> сможете восстановить связанные с пользователем данные. warning: Это решение является окончательным. Вы <b>не</b> сможете восстановить связанные с пользователем данные.
delete_rec:
delete: "Я уверен, удалите эту запись"
header: "Вы уверены, что хотите удалить эту запись?"
warning: Вы<b>не можете</b> восстановить эту запись
delete_room: delete_room:
confirm: "Вы уверены, что хотите удалить \"%{room}\"?" confirm: "Вы уверены, что хотите удалить \"%{room}\"?"
delete: "Я уверен, удалить комнату." delete: "Я уверен, удалить комнату."
@ -434,14 +392,6 @@ ru:
or: или or: или
with: "Войти с помощью %{provider}" with: "Войти с помощью %{provider}"
forgot_password: "Забыли пароль?" forgot_password: "Забыли пароль?"
preupload:
change: Заменить презентацию
choose: Выберите файл...
current: "Текущая презентация:"
footer: "В зависимости от размера презентации может потребоваться дополнительное время для загрузки, прежде чем её можно будет использовать."
invalid: "Недопустимый размер/тип файла. Пожалуйста, ознакомьтесь с приведенными ниже требованиями к файлам."
title: Добавить презентацию
use: Использовать презентацию
rename_recording: rename_recording:
remove_shared: remove_shared:
title: "Вы уверенны что хотите удалить данную комнату из вашего списка комнат?" title: "Вы уверенны что хотите удалить данную комнату из вашего списка комнат?"
@ -456,7 +406,6 @@ ru:
require_approval: Требуется одобрение модератора перед подключением require_approval: Требуется одобрение модератора перед подключением
start: Любой пользователь может начать данную встречу start: Любой пользователь может начать данную встречу
footer_text: Настройки вашей комнаты можно изменять в любое время. footer_text: Настройки вашей комнаты можно изменять в любое время.
recording: Разрешить запись в этой комнате
rename_room: rename_room:
name_placeholder: Введите название комнаты... name_placeholder: Введите название комнаты...
share_access: share_access:
@ -491,7 +440,6 @@ ru:
office365: Office 365 office365: Office 365
twitter: Twitter twitter: Twitter
ldap: LDAP ldap: LDAP
openid_connect: Соединение через OpenID
recaptcha: recaptcha:
errors: errors:
recaptcha_unreachable: "Упс, мы не смогли подтвердить ваш ответ reCAPTCHA. Пожалуйста попробуйте еще раз." recaptcha_unreachable: "Упс, мы не смогли подтвердить ваш ответ reCAPTCHA. Пожалуйста попробуйте еще раз."
@ -500,21 +448,18 @@ ru:
all_recordings: Все записи all_recordings: Все записи
email: Отправить запись (ссылку) на e-mail email: Отправить запись (ссылку) на e-mail
error: "Произошла ошибка при получении %{count} записи(ей)" error: "Произошла ошибка при получении %{count} записи(ей)"
no_public_recordings: В этой комнате нет публичных записей. no_recordings: "В этой комнате нет %{inject} записей."
no_recordings: В этой комнате нет записей.
no_user_recordings: В настоящее время у вас нет записей. no_user_recordings: В настоящее время у вас нет записей.
no_matched_pub_recordings: По вашему запросу не найдено публичных записей. no_matched_recordings: "Нет %{inject} записей удовлетворяющих поиску."
no_matched_recordings: По вашему запросу не найдено записей.
recorded_on: "Записано %{date}" recorded_on: "Записано %{date}"
table: table:
name: Название name: Название
thumbnails: Эскиз thumbnails: Эскиз
length: Продолжительность length: Продолжительность
users: Юзеры users: Пользователи
visibility: Доступность visibility: Доступность
formats: Формат formats: Формат
visibility: visibility:
inaccessible: Недоступно
public: Публичная public: Публичная
unlisted: Личная unlisted: Личная
format: format:
@ -528,7 +473,7 @@ ru:
fail: "Ваш аккаунт еще не одобрен. Если прошло уже несколько дней после регистрации, свяжитесь с Вашим администратором." fail: "Ваш аккаунт еще не одобрен. Если прошло уже несколько дней после регистрации, свяжитесь с Вашим администратором."
signup: Ваш аккаунт успешно создан. Уведомление отправлено администратору для одобрения. signup: Ваш аккаунт успешно создан. Уведомление отправлено администратору для одобрения.
banned: banned:
fail: "У Вас нет доступа к приложению. Если вы уверены, что это ошибка, пожалуйста свяжитесь с Вашим администратором." fail: "У Вас нет доступа к приложению. Если вы уверены, что это ошибка, пожалуйста свяжитесь с Вашим администратором."
deprecated: deprecated:
new_signin: Выберите новый метод входа для Вашего аккаунта. Все комнаты старого аккаунта будут перенесены в новый аккаунт. new_signin: Выберите новый метод входа для Вашего аккаунта. Все комнаты старого аккаунта будут перенесены в новый аккаунт.
twitter_signin: "Вход через Twitter устарел и будет удален в следующей версии. Перейдите <a href=\"%{link}\"> сюда </a> для изменения метода проверки подлинности в Вашем аккаунте." twitter_signin: "Вход через Twitter устарел и будет удален в следующей версии. Перейдите <a href=\"%{link}\"> сюда </a> для изменения метода проверки подлинности в Вашем аккаунте."
@ -540,7 +485,6 @@ ru:
remove: Удалить remove: Удалить
rename: Переименовать rename: Переименовать
reset_password: reset_password:
captcha: "Проверка reCAPTCHA неудачна, пожалуйста, попробуйте еще."
invalid_token: Ключ для сброса пароля неверный. Попробуйте сбросить пароль еще раз. invalid_token: Ключ для сброса пароля неверный. Попробуйте сбросить пароль еще раз.
subtitle: Сброс пароля subtitle: Сброс пароля
password: Новый пароль password: Новый пароль
@ -553,13 +497,9 @@ ru:
banned: Забанен banned: Забанен
deleted: Удален deleted: Удален
pending: В ожидании pending: В ожидании
invited: Приглашен
user: Пользователь user: Пользователь
room: room:
access_code_required: Пожалуйста введите правильный код для входа в комнату. access_code_required: Пожалуйста введите правильный код для входа в комнату.
add_presentation: Добавить презентацию
copy_access: Копировать код доступа
copy_moderator_access: Копировать код модератора
create_room: Создать комнату create_room: Создать комнату
create_room_error: Произошла ошибка при создании комнаты create_room_error: Произошла ошибка при создании комнаты
create_room_success: Комната успешно создана create_room_success: Комната успешно создана
@ -568,12 +508,8 @@ ru:
success: Комната удалена success: Комната удалена
fail: "Ошибка удаления комнаты (%{error})" fail: "Ошибка удаления комнаты (%{error})"
enter_the_access_code: Введите код доступа комнаты enter_the_access_code: Введите код доступа комнаты
enter_the_moderator_access_code: Введите код модератора!
optional_moderator_access_code: "Дополнительный код модератора:"
invalid_provider: Вы указали не верный url. Пожалуйста проверьте url и попробуйте снова. invalid_provider: Вы указали не верный url. Пожалуйста проверьте url и попробуйте снова.
invitation_description: "Вас пригласили присоединиться к %{name} с помощью BigBlueButton. Чтобы присоединиться, нажмите на ссылку выше и введите свое имя."
invited: Вы приглашены присоединиться invited: Вы приглашены присоединиться
recording_present: "Я подтверждаю, что этот вебинар будет записан. Запись может включать мой голос и видео, если они были включены."
invite_participants: Пригласить участников invite_participants: Пригласить участников
join: Присоединиться join: Присоединиться
last_session: "Последняя сессия: %{session}" last_session: "Последняя сессия: %{session}"
@ -590,10 +526,6 @@ ru:
recent_rooms: " Перейти к недавно посещенным комнатам" recent_rooms: " Перейти к недавно посещенным комнатам"
title: Подключиться к комнате title: Подключиться к комнате
no_sessions: В этой комнате еще не было сеансов! no_sessions: В этой комнате еще не было сеансов!
preupload_success: Презентация добавлена успешно
preupload_error: Произошла ошибка при изменении презентации для комнаты
preupload_remove_success: Презентация удалена успешно
preupload_remove_error: Произошла ошибка при удалении презентации для комнаты
recordings: Записи комнаты recordings: Записи комнаты
room_limit: Вы превысили максимальное число разрешенных комнат room_limit: Вы превысили максимальное число разрешенных комнат
room_limit_exceeded: "Вы достигли лимита разрешенных комнат. Пожалуйста удалите %{difference} комнат(у) для доступа в эту комнату." room_limit_exceeded: "Вы достигли лимита разрешенных комнат. Пожалуйста удалите %{difference} комнат(у) для доступа в эту комнату."
@ -606,7 +538,6 @@ ru:
shared_access_success: Предоставлен совместный доступ к комнате shared_access_success: Предоставлен совместный доступ к комнате
shared_access_error: Произошла ошибка предоставления совместного доступа к комнате shared_access_error: Произошла ошибка предоставления совместного доступа к комнате
start: Старт start: Старт
search: Поиск комнаты...
unavailable: "В данный момент комната недоступна, поскольку email владельца не подтвержден." unavailable: "В данный момент комната недоступна, поскольку email владельца не подтвержден."
update_settings_error: Произошла ошибка при обновлении настроек комнаты update_settings_error: Произошла ошибка при обновлении настроек комнаты
update_settings_success: Настройки комнаты успешно обновлены update_settings_success: Настройки комнаты успешно обновлены
@ -648,9 +579,6 @@ ru:
title: Правила и условия title: Правила и условия
test_install: > test_install: >
"В этом развертывании используется предварительно настроенный тестовый сервер, его следует заменить своим. Для получения дополнительной информации см. %{href}." "В этом развертывании используется предварительно настроенный тестовый сервер, его следует заменить своим. Для получения дополнительной информации см. %{href}."
time:
formats:
default: "%b %d, %Y %-I:%M%P"
update: Обновить update: Обновить
verify: verify:
accept: Подтвердить accept: Подтвердить

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