mirror of
https://gitcode.com/GitHub_Trending/ji/jitsi-meet.git
synced 2026-05-26 11:17:51 +00:00
Compare commits
31 Commits
4000
...
saghul-pat
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
d3fea0cd25 | ||
|
|
edb8ecd542 | ||
|
|
b64112432d | ||
|
|
d8963bc903 | ||
|
|
5c39a2f6a6 | ||
|
|
a72928a9e7 | ||
|
|
e2ea26eb1f | ||
|
|
9962a2ea61 | ||
|
|
07e203ce8d | ||
|
|
638fdf0370 | ||
|
|
6ce1eaba24 | ||
|
|
4780e48be8 | ||
|
|
7776f0a98c | ||
|
|
2eede7e76b | ||
|
|
72a7bd0a68 | ||
|
|
9085cbf363 | ||
|
|
be80f26086 | ||
|
|
a876f78fd7 | ||
|
|
73d948d150 | ||
|
|
c5aa555816 | ||
|
|
7902223f09 | ||
|
|
ac117cd50d | ||
|
|
f2df5906f6 | ||
|
|
0fcecaf18f | ||
|
|
8cc4b73722 | ||
|
|
c08f5c7e18 | ||
|
|
2e0f3ae84f | ||
|
|
41bfb4c7ec | ||
|
|
4a12cdfac7 | ||
|
|
7b34fb89d1 | ||
|
|
4ec438d3f3 |
2
Makefile
2
Makefile
@@ -84,7 +84,7 @@ dev: deploy-init deploy-css deploy-rnnoise-binary deploy-lib-jitsi-meet deploy-l
|
||||
|
||||
source-package:
|
||||
mkdir -p source_package/jitsi-meet/css && \
|
||||
cp -r *.js *.html connection_optimization favicon.ico fonts images libs static sounds LICENSE lang source_package/jitsi-meet && \
|
||||
cp -r *.js *.html resources/*.txt connection_optimization favicon.ico fonts images libs static sounds LICENSE lang source_package/jitsi-meet && \
|
||||
cp css/all.css source_package/jitsi-meet/css && \
|
||||
(cd source_package ; tar cjf ../jitsi-meet.tar.bz2 jitsi-meet) && \
|
||||
rm -rf source_package
|
||||
|
||||
@@ -71,6 +71,11 @@
|
||||
display: flex;
|
||||
margin-top: 5px;
|
||||
text-align: right;
|
||||
flex-direction: column;
|
||||
|
||||
.help-container {
|
||||
display: flex;
|
||||
}
|
||||
}
|
||||
|
||||
.live-stream-cta {
|
||||
|
||||
@@ -41,3 +41,5 @@ Work in progress.
|
||||
* [Enabling TURN](https://github.com/jitsi/jitsi-meet/blob/master/doc/turn.md)
|
||||
* [Networking FAQ](https://github.com/jitsi/jitsi-meet/blob/master/doc/faq.md)
|
||||
* [Cloud APIs](https://github.com/jitsi/jitsi-meet/blob/master/doc/cloud-api.md)
|
||||
* [Manual Installation](https://github.com/jitsi/jitsi-meet/blob/master/doc/manual-install.md)
|
||||
* [Scalable Installation](https://github.com/jitsi/jitsi-meet/blob/master/doc/scalable-installation.md)
|
||||
|
||||
@@ -0,0 +1,27 @@
|
||||
# Jitsi Conference Focus settings
|
||||
# sets the host name of the XMPP server
|
||||
JICOFO_HOST=localhost
|
||||
|
||||
# sets the XMPP domain (default: none)
|
||||
JICOFO_HOSTNAME=meet.example.com
|
||||
|
||||
# sets the secret used to authenticate as an XMPP component
|
||||
JICOFO_SECRET=$JICOFO_SECRET
|
||||
|
||||
# sets the port to use for the XMPP component connection
|
||||
JICOFO_PORT=5347
|
||||
|
||||
# sets the XMPP domain name to use for XMPP user logins
|
||||
JICOFO_AUTH_DOMAIN=auth.meet.example.com
|
||||
|
||||
# sets the username to use for XMPP user logins
|
||||
JICOFO_AUTH_USER=focus
|
||||
|
||||
# sets the password to use for XMPP user logins
|
||||
JICOFO_AUTH_PASSWORD=$JICOFO_PASSWORD
|
||||
|
||||
# extra options to pass to the jicofo daemon
|
||||
JICOFO_OPTS=""
|
||||
|
||||
# adds java system props that are passed to jicofo (default are for home and logging config file)
|
||||
JAVA_SYS_PROPS="-Dnet.java.sip.communicator.SC_HOME_DIR_LOCATION=/etc/jitsi -Dnet.java.sip.communicator.SC_HOME_DIR_NAME=jicofo -Dnet.java.sip.communicator.SC_LOG_DIR_LOCATION=/var/log/jitsi -Djava.util.logging.config.file=/etc/jitsi/jicofo/logging.properties"
|
||||
@@ -0,0 +1,6 @@
|
||||
|
||||
org.jitsi.jicofo.BRIDGE_MUC=JvbBrewery@internal.auth.meet.example.com
|
||||
org.jitsi.jicofo.ALWAYS_TRUST_MODE_ENABLED=true
|
||||
|
||||
org.jitsi.jicofo.jibri.BREWERY=JibriBrewery@internal.auth.meet.example.com
|
||||
org.jitsi.jicofo.jibri.PENDING_TIMEOUT=90
|
||||
@@ -0,0 +1,88 @@
|
||||
plugin_paths = { "/usr/share/jitsi-meet/prosody-plugins/" }
|
||||
|
||||
-- domain mapper options, must at least have domain base set to use the mapper
|
||||
muc_mapper_domain_base = "meet.example.com";
|
||||
|
||||
turncredentials_secret = "turncredentials_secret_test";
|
||||
|
||||
turncredentials = {
|
||||
{ type = "stun", host = "meet.example.com", port = "443" },
|
||||
{ type = "turn", host = "meet.example.com", port = "443", transport = "udp" },
|
||||
{ type = "turns", host = "meet.example.com", port = "443", transport = "tcp" }
|
||||
};
|
||||
|
||||
cross_domain_bosh = false;
|
||||
consider_bosh_secure = true;
|
||||
|
||||
VirtualHost "meet.example.com"
|
||||
-- enabled = false -- Remove this line to enable this host
|
||||
authentication = "anonymous"
|
||||
-- Properties below are modified by jitsi-meet-tokens package config
|
||||
-- and authentication above is switched to "token"
|
||||
--app_id="example_app_id"
|
||||
--app_secret="example_app_secret"
|
||||
-- Assign this host a certificate for TLS, otherwise it would use the one
|
||||
-- set in the global section (if any).
|
||||
-- Note that old-style SSL on port 5223 only supports one certificate, and will always
|
||||
-- use the global one.
|
||||
ssl = {
|
||||
key = "/etc/prosody/certs/meet.example.com.key";
|
||||
certificate = "/etc/prosody/certs/meet.example.com.crt";
|
||||
}
|
||||
speakerstats_component = "speakerstats.meet.example.com"
|
||||
conference_duration_component = "conferenceduration.meet.example.com"
|
||||
-- we need bosh
|
||||
modules_enabled = {
|
||||
"bosh";
|
||||
"pubsub";
|
||||
"ping"; -- Enable mod_ping
|
||||
"speakerstats";
|
||||
"turncredentials";
|
||||
"conference_duration";
|
||||
}
|
||||
c2s_require_encryption = false
|
||||
|
||||
Component "conference.meet.example.com" "muc"
|
||||
storage = "memory"
|
||||
modules_enabled = {
|
||||
"muc_meeting_id";
|
||||
"muc_domain_mapper";
|
||||
-- "token_verification";
|
||||
}
|
||||
admins = { "focus@auth.meet.example.com" }
|
||||
muc_room_locking = false
|
||||
muc_room_default_public_jids = true
|
||||
|
||||
-- internal muc component
|
||||
-- Note: This is also used from jibris
|
||||
Component "internal.auth.meet.example.com" "muc"
|
||||
storage = "memory"
|
||||
modules_enabled = {
|
||||
"ping";
|
||||
}
|
||||
admins = { "focus@auth.meet.example.com", "jvb@auth.meet.example.com" }
|
||||
|
||||
VirtualHost "auth.meet.example.com"
|
||||
ssl = {
|
||||
key = "/etc/prosody/certs/auth.meet.example.com.key";
|
||||
certificate = "/etc/prosody/certs/auth.meet.example.com.crt";
|
||||
}
|
||||
authentication = "internal_plain"
|
||||
|
||||
Component "focus.meet.example.com"
|
||||
component_secret = "jicofo_secret_test"
|
||||
|
||||
Component "speakerstats.meet.example.com" "speakerstats_component"
|
||||
muc_component = "conference.meet.example.com"
|
||||
|
||||
|
||||
Component "conferenceduration.meet.example.com" "conference_duration_component"
|
||||
muc_component = "conference.meet.example.com"
|
||||
|
||||
-- for Jibri
|
||||
VirtualHost "recorder.meet.example.com"
|
||||
modules_enabled = {
|
||||
"ping";
|
||||
}
|
||||
authentication = "internal_plain"
|
||||
c2s_require_encryption = false
|
||||
@@ -0,0 +1,114 @@
|
||||
-- Prosody XMPP Server Configuration
|
||||
|
||||
---------- Server-wide settings ----------
|
||||
-- Settings in this section apply to the whole server and are the default settings
|
||||
-- for any virtual hosts
|
||||
|
||||
admins = { }
|
||||
|
||||
network_backend = "epoll"
|
||||
|
||||
-- This is the list of modules Prosody will load on startup.
|
||||
-- It looks for mod_modulename.lua in the plugins folder, so make sure that exists too.
|
||||
-- Documentation for bundled modules can be found at: https://prosody.im/doc/modules
|
||||
modules_enabled = {
|
||||
|
||||
-- Generally required
|
||||
"roster"; -- Allow users to have a roster. Recommended ;)
|
||||
"saslauth"; -- Authentication for clients and servers. Recommended if you want to log in.
|
||||
"tls"; -- Add support for secure TLS on c2s/s2s connections
|
||||
"dialback"; -- s2s dialback support
|
||||
"disco"; -- Service discovery
|
||||
|
||||
-- Not essential, but recommended
|
||||
"carbons"; -- Keep multiple clients in sync
|
||||
"pep"; -- Enables users to publish their avatar, mood, activity, playing music and more
|
||||
"private"; -- Private XML storage (for room bookmarks, etc.)
|
||||
"blocklist"; -- Allow users to block communications with other users
|
||||
"vcard4"; -- User profiles (stored in PEP)
|
||||
"vcard_legacy"; -- Conversion between legacy vCard and PEP Avatar, vcard
|
||||
|
||||
-- Nice to have
|
||||
"version"; -- Replies to server version requests
|
||||
"uptime"; -- Report how long server has been running
|
||||
"time"; -- Let others know the time here on this server
|
||||
"ping"; -- Replies to XMPP pings with pongs
|
||||
"register"; -- Allow users to register on this server using a client and change passwords
|
||||
--"mam"; -- Store messages in an archive and allow users to access it
|
||||
--"csi_simple"; -- Simple Mobile optimizations
|
||||
|
||||
-- Admin interfaces
|
||||
"admin_adhoc"; -- Allows administration via an XMPP client that supports ad-hoc commands
|
||||
--"admin_telnet"; -- Opens telnet console interface on localhost port 5582
|
||||
|
||||
-- HTTP modules
|
||||
--"bosh"; -- Enable BOSH clients, aka "Jabber over HTTP"
|
||||
--"websocket"; -- XMPP over WebSockets
|
||||
--"http_files"; -- Serve static files from a directory over HTTP
|
||||
|
||||
-- Other specific functionality
|
||||
--"limits"; -- Enable bandwidth limiting for XMPP connections
|
||||
--"groups"; -- Shared roster support
|
||||
--"server_contact_info"; -- Publish contact information for this service
|
||||
--"announce"; -- Send announcement to all online users
|
||||
--"welcome"; -- Welcome users who register accounts
|
||||
--"watchregistrations"; -- Alert admins of registrations
|
||||
--"motd"; -- Send a message to users when they log in
|
||||
--"legacyauth"; -- Legacy authentication. Only used by some old clients and bots.
|
||||
--"proxy65"; -- Enables a file transfer proxy service which clients behind NAT can use
|
||||
}
|
||||
|
||||
-- These modules are auto-loaded, but should you want
|
||||
-- to disable them then uncomment them here:
|
||||
modules_disabled = {
|
||||
-- "offline"; -- Store offline messages
|
||||
-- "c2s"; -- Handle client connections
|
||||
-- "s2s"; -- Handle server-to-server connections
|
||||
-- "posix"; -- POSIX functionality, sends server to background, enables syslog, etc.
|
||||
}
|
||||
|
||||
-- Disable account creation by default, for security
|
||||
-- For more information see https://prosody.im/doc/creating_accounts
|
||||
allow_registration = false
|
||||
|
||||
-- Force clients to use encrypted connections? This option will
|
||||
-- prevent clients from authenticating unless they are using encryption.
|
||||
|
||||
c2s_require_encryption = true
|
||||
|
||||
-- Force servers to use encrypted connections? This option will
|
||||
-- prevent servers from authenticating unless they are using encryption.
|
||||
|
||||
s2s_require_encryption = true
|
||||
|
||||
-- Force certificate authentication for server-to-server connections?
|
||||
|
||||
s2s_secure_auth = false
|
||||
|
||||
|
||||
-- Required for init scripts and prosodyctl
|
||||
pidfile = "/var/run/prosody/prosody.pid"
|
||||
|
||||
-- Select the authentication backend to use. The 'internal' providers
|
||||
-- use Prosody's configured data storage to store the authentication data.
|
||||
|
||||
authentication = "internal_hashed"
|
||||
|
||||
archive_expires_after = "1w" -- Remove archived messages after 1 week
|
||||
|
||||
-- Logging configuration
|
||||
-- For advanced logging see https://prosody.im/doc/logging
|
||||
log = {
|
||||
info = "/var/log/prosody/prosody.log"; -- Change 'info' to 'debug' for verbose logging
|
||||
error = "/var/log/prosody/prosody.err";
|
||||
-- "*syslog"; -- Uncomment this for logging to syslog
|
||||
-- "*console"; -- Log to the console, useful for debugging with daemonize=false
|
||||
}
|
||||
|
||||
|
||||
-- Location of directory to find certificates in (relative to main config file):
|
||||
certificates = "certs"
|
||||
|
||||
VirtualHost "localhost"
|
||||
|
||||
Include "conf.d/*.cfg.lua"
|
||||
@@ -0,0 +1,20 @@
|
||||
# Jitsi Videobridge settings
|
||||
|
||||
# sets the XMPP domain (default: none)
|
||||
JVB_HOSTNAME=meet.example.com
|
||||
|
||||
# sets the hostname of the XMPP server (default: domain if set, localhost otherwise)
|
||||
JVB_HOST=
|
||||
|
||||
# sets the port of the XMPP server (default: 5275)
|
||||
JVB_PORT=5347
|
||||
|
||||
# sets the shared secret used to authenticate to the XMPP server
|
||||
JVB_SECRET=$VP_SECRET
|
||||
|
||||
# extra options to pass to the JVB daemon
|
||||
JVB_OPTS="--apis=rest,"
|
||||
|
||||
|
||||
# adds java system props that are passed to jvb (default are for home and logging config file)
|
||||
JAVA_SYS_PROPS="-Dnet.java.sip.communicator.SC_HOME_DIR_LOCATION=/etc/jitsi -Dnet.java.sip.communicator.SC_HOME_DIR_NAME=videobridge -Dnet.java.sip.communicator.SC_LOG_DIR_LOCATION=/var/log/jitsi -Djava.util.logging.config.file=/etc/jitsi/videobridge/logging.properties"
|
||||
@@ -0,0 +1,19 @@
|
||||
org.ice4j.ice.harvest.DISABLE_AWS_HARVESTER=true
|
||||
org.ice4j.ice.harvest.STUN_MAPPING_HARVESTER_ADDRESSES=meet-jit-si-turnrelay.jitsi.net:443
|
||||
|
||||
org.jitsi.jicofo.ALWAYS_TRUST_MODE_ENABLED=true
|
||||
|
||||
org.jitsi.videobridge.ENABLE_REST_SHUTDOWN=true
|
||||
|
||||
# Enable broadcasting stats/presence in a MUC
|
||||
org.jitsi.videobridge.ENABLE_STATISTICS=true
|
||||
org.jitsi.videobridge.STATISTICS_TRANSPORT=muc,colibri,rest
|
||||
org.jitsi.videobridge.STATISTICS_INTERVAL=5000
|
||||
|
||||
org.jitsi.videobridge.xmpp.user.shard-1.HOSTNAME=meet.example.com
|
||||
org.jitsi.videobridge.xmpp.user.shard-1.DOMAIN=auth.meet.example.com
|
||||
org.jitsi.videobridge.xmpp.user.shard-1.USERNAME=jvb
|
||||
org.jitsi.videobridge.xmpp.user.shard-1.PASSWORD=$VB_PASSWORD
|
||||
org.jitsi.videobridge.xmpp.user.shard-1.MUC_JIDS=JvbBrewery@internal.auth.meet.example.com
|
||||
org.jitsi.videobridge.xmpp.user.shard-1.MUC_NICKNAME=$NICKNAME_OF_VB
|
||||
org.jitsi.videobridge.xmpp.user.shard-1.DISABLE_CERTIFICATE_VERIFICATION=true
|
||||
@@ -8,6 +8,8 @@ change references to that to match your host, and generate some passwords for
|
||||
|
||||
There are also some complete [example config files](https://github.com/jitsi/jitsi-meet/tree/master/doc/example-config-files/) available, mentioned in each section.
|
||||
|
||||
There are additional configurations to be done for a [scalable installation](https://github.com/jitsi/jitsi-meet/tree/master/doc/scalable-installation.md)
|
||||
|
||||
## Network description
|
||||
|
||||
This is how the network looks:
|
||||
|
||||
@@ -7,8 +7,10 @@ Jitsi Meet can be built as a standalone app for Android or iOS. It uses the
|
||||
|
||||
First make sure the [React Native dependencies] are installed.
|
||||
|
||||
**NOTE**: This document assumes the app is being built on a macOS system.
|
||||
**NOTE**: Node 10.X and npm 6.X are recommended for building.
|
||||
**NOTE**: This document assumes the app is being built on a macOS system. GNU/Linux is also
|
||||
supported for building the Android app and Windows **is not supported at alll**.
|
||||
|
||||
**NOTE**: Node 12.X and npm 6.X are recommended for building.
|
||||
|
||||
|
||||
## iOS
|
||||
|
||||
@@ -25,6 +25,14 @@ Finally on the same machine test that you can ping the FQDN with: `ping "$(hostn
|
||||
echo 'deb https://download.jitsi.org stable/' >> /etc/apt/sources.list.d/jitsi-stable.list
|
||||
wget -qO - https://download.jitsi.org/jitsi-key.gpg.key | sudo apt-key add -
|
||||
```
|
||||
### Open ports in your firewall
|
||||
|
||||
Open the following ports in your firewall, to allow traffic to the machine running jitsi:
|
||||
|
||||
- 80 TCP
|
||||
- 443 TCP
|
||||
- 10000 UDP
|
||||
|
||||
|
||||
### Install Jitsi Meet
|
||||
|
||||
@@ -50,7 +58,7 @@ This hostname (or IP address) will be used for virtualhost configuration inside
|
||||
|
||||
In order to have encrypted communications, you need a [TLS certificate](https://en.wikipedia.org/wiki/Transport_Layer_Security). The easiest way is to use [Let's Encrypt](https://letsencrypt.org/).
|
||||
|
||||
_Note_: Jitsi Meet mobile apps *require* a valid certificate signed by a trusted [Certificate Authority](https://en.wikipedia.org/wiki/Certificate_authority) and will not be able to connect to your server if you choose a self-signed certificate.
|
||||
_Note_: Jitsi Meet mobile apps *require* a valid certificate signed by a trusted [Certificate Authority](https://en.wikipedia.org/wiki/Certificate_authority) (such as a Let's Encrypt certificate) and will not be able to connect to your server if you choose a self-signed certificate.
|
||||
|
||||
Simply run the following in your shell:
|
||||
|
||||
|
||||
166
doc/scalable-installation.md
Normal file
166
doc/scalable-installation.md
Normal file
@@ -0,0 +1,166 @@
|
||||
# Scalable Jitsi installation
|
||||
|
||||
A single server Jitsi installation is good for a limited size of concurrent conferences.
|
||||
The first limiting factor is the videobridge component, that handles the actual video and audio traffic.
|
||||
It is easy to scale the video bridges horizontally by adding as many as needed.
|
||||
In a cloud based environment, additionally the bridges can be scaled up or down as needed.
|
||||
|
||||
*NB*: The [Youtube Tutorial on Scaling](https://www.youtube.com/watch?v=LyGV4uW8km8) is outdated and describes an old configuration method.
|
||||
|
||||
*NB*: Building a scalable infrastructure is not a task for beginning Jitsi Administrators.
|
||||
The instructions assume that you have installed a single node version successfully, and that
|
||||
you are comfortable installing, configuring and debugging Linux software.
|
||||
This is not a step-by-step guide, but will show you, which packages to install and which
|
||||
configurations to change. Use the [manual install](https://github.com/jitsi/jitsi-meet/blob/master/doc/manual-install.md) for
|
||||
details on how to setup Jitsi on a single host.
|
||||
It is highly recommended to use configuration management tools like Ansible or Puppet to manage the
|
||||
installation and configuration.
|
||||
|
||||
## Architecture (Single Jitsi-Meet, multiple videobridges)
|
||||
|
||||
A first step is to split the functions of the central jitsi-meet instance (with nginx, prosody and jicofo) and
|
||||
videobridges.
|
||||
|
||||
A simplified diagram (with open network ports) of an installation with one Jitsi-Meet instance and three
|
||||
videobridges that are load balanced looks as follows. Each box is a server/VM.
|
||||
|
||||
```
|
||||
+ +
|
||||
| |
|
||||
| |
|
||||
v v
|
||||
80, 443 TCP 443 TCP, 10000 UDP
|
||||
+--------------+ +---------------------+
|
||||
| nginx | 5222, 5347 TCP | |
|
||||
| jitsi-meet |<-------------------+| jitsi-videobridge |
|
||||
| prosody | | | |
|
||||
| jicofo | | +---------------------+
|
||||
+--------------+ |
|
||||
| +---------------------+
|
||||
| | |
|
||||
+----------+| jitsi-videobridge |
|
||||
| | |
|
||||
| +---------------------+
|
||||
|
|
||||
| +---------------------+
|
||||
| | |
|
||||
+----------+| jitsi-videobridge |
|
||||
| |
|
||||
+---------------------+
|
||||
```
|
||||
|
||||
## Machine Sizing
|
||||
|
||||
The Jitsi-Meet server will generally not have that much load (unless you have many) conferences
|
||||
going at the same time. A 4 CPU, 8 GB machine will probably be fine.
|
||||
|
||||
The videobridges will have more load. 4 or 8 CPU with 8 GB RAM seems to be a good configuration.
|
||||
|
||||
|
||||
### Installation of Jitsi-Meet
|
||||
|
||||
Assuming that the installation will run under the following FQDN: `meet.example.com` and you have
|
||||
SSL cert and key in `/etc/ssl/meet.example.com.{crt,key}`
|
||||
|
||||
Set the following DebConf variables prior to installing the packages.
|
||||
(We are not installing the `jitsi-meet` package which would handle that for us)
|
||||
|
||||
Install the `debconf-utils` package
|
||||
|
||||
```
|
||||
$ cat << EOF | sudo debconf-set-selections
|
||||
jitsi-videobridge jitsi-videobridge/jvb-hostname string meet.example.com
|
||||
jitsi-meet jitsi-meet/jvb-serve boolean false
|
||||
jitsi-meet-prosody jitsi-videobridge/jvb-hostname string meet.example.com
|
||||
jitsi-meet-web-config jitsi-meet/cert-choice select I want to use my own certificate
|
||||
jitsi-meet-web-config jitsi-meet/cert-path-crt string /etc/ssl/meet.example.com.crt
|
||||
jitsi-meet-web-config jitsi-meet/cert-path-key string /etc/ssl/meet.example.com.key
|
||||
EOF
|
||||
```
|
||||
|
||||
On the jitsi-meet server, install the following packages:
|
||||
|
||||
* `nginx`
|
||||
* `prosody`
|
||||
* `jicofo`
|
||||
* `jitsi-meet-web`
|
||||
* `jitsi-meet-prosody`
|
||||
* `jitsi-meet-web-config`
|
||||
|
||||
### Installation of Videobridge(s)
|
||||
|
||||
For simplicities sake, set the same `debconf` variables as above and install
|
||||
|
||||
* `jitsi-videobridge2`
|
||||
|
||||
### Configuration of jitsi-meet
|
||||
|
||||
#### Firewall
|
||||
|
||||
Open the following ports:
|
||||
|
||||
Open to world:
|
||||
|
||||
* 80 TCP
|
||||
* 443 TCP
|
||||
|
||||
Open to the videobridges only
|
||||
|
||||
* 5222 TCP (for Prosody)
|
||||
* 5437 TCP (for Jicofo)
|
||||
|
||||
|
||||
#### NGINX
|
||||
|
||||
Create the `/etc/nginx/sites-available/meet.example.com.conf` as usual
|
||||
|
||||
#### Prosody
|
||||
|
||||
Follow the steps in the [manual install](https://github.com/jitsi/jitsi-meet/blob/master/doc/manual-install.md) for setup tasks
|
||||
|
||||
You will need to adapt the following files (see the files in `example-config-files/scalable`)
|
||||
|
||||
* `/etc/prosody/prosody.cfg.lua`
|
||||
* `/etc/prosody/conf.avail/meet.example.com.cfg.lua`
|
||||
|
||||
#### Jitsi-Meet
|
||||
|
||||
Adapt `/usr/share/jitsi-meet/config.js` and `/usr/share/jitsi-meet/interface-config.js` to your specific needs
|
||||
|
||||
#### Jicofo
|
||||
|
||||
You will need to adapt the following files (see the files in `example-config-files/scalable`)
|
||||
|
||||
* `/etc/jitsi/jicofo/config` (hostname, jicofo_secret, jicofo_password)
|
||||
* `/etc/jitsi/jicofo/sip-communicator.properties` (hostname)
|
||||
|
||||
### Configuration of the Videobridge
|
||||
|
||||
#### Firewall
|
||||
|
||||
Open the following ports:
|
||||
|
||||
Open to world:
|
||||
|
||||
* 443 TCP
|
||||
* 10000 UDP
|
||||
|
||||
#### jitsi-videobridge2
|
||||
|
||||
You will need to adapt the following files (see the files in `example-config-files/scalable`)
|
||||
|
||||
Each videobridge will have to have it's own, unique nickname
|
||||
|
||||
* `/etc/jitsi/videobridge/config` (hostname, password)
|
||||
* `/etc/jitsi/jicofo/sip-communicator.properties` (hostname of jitsi-meet, nickname of videobridge, vb_password)
|
||||
|
||||
With the latest stable (April 2020) videobridge, it is no longer necessary to set public and private IP
|
||||
adresses in the `sip-communicator.properties` as the bridge will figure out the correct configuration by itself.
|
||||
|
||||
## Testing
|
||||
|
||||
After restarting all services (`prosody`, `jicofo` and all the `jitsi-videobridge2`) you can see in
|
||||
`/var/log/prosody/prosody.log` and
|
||||
`/var/log/jitsi/jicofo.log` that the videobridges connect to Prososy and that Jicofo picks them up.
|
||||
|
||||
When a new conference starts, Jicofo picks a videobridge and schedules the conference on it.
|
||||
@@ -13,11 +13,12 @@
|
||||
"fi": "Finlandés",
|
||||
"fr": "Francés",
|
||||
"frCA": "Franco (Canadiense)",
|
||||
"he": "Hebreo",
|
||||
"hr": "Croata",
|
||||
"hu": "Húngaro",
|
||||
"hy": "Armenio",
|
||||
"it": "Italiano",
|
||||
"ja": "Jopones",
|
||||
"ja": "Japonés",
|
||||
"ko": "Coreano",
|
||||
"nl": "Holandés",
|
||||
"oc": "Occitano",
|
||||
@@ -30,4 +31,4 @@
|
||||
"vi": "Vietnamita",
|
||||
"zhCN": "Chino (China)",
|
||||
"zhTW": "Chino (Taiwan)"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -13,6 +13,7 @@
|
||||
"fi": "Finlandés",
|
||||
"fr": "Francés",
|
||||
"frCA": "Francés (Canadiense)",
|
||||
"he": "Hebreo",
|
||||
"hr": "Croata",
|
||||
"hu": "Húngaro",
|
||||
"hy": "Armenio",
|
||||
@@ -30,4 +31,4 @@
|
||||
"vi": "Vietnamita",
|
||||
"zhCN": "Chino (China)",
|
||||
"zhTW": "Chino (Taiwan)"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
{
|
||||
"en": "Taglizit",
|
||||
"af": "",
|
||||
"az": "",
|
||||
"af": "Tafrikant",
|
||||
"az": "Tazirit",
|
||||
"bg": "Tabulgarit",
|
||||
"cs": "Taččikit",
|
||||
"de": "Talmanit",
|
||||
@@ -24,4 +24,4 @@
|
||||
"tr": "Taṭurkit",
|
||||
"vi": "Tavyitnamit",
|
||||
"zhCN": "Tavyitnamit"
|
||||
}
|
||||
}
|
||||
|
||||
35
lang/languages-lt.json
Normal file
35
lang/languages-lt.json
Normal file
@@ -0,0 +1,35 @@
|
||||
{
|
||||
"en": "Anglų",
|
||||
"af": "Afrikanų",
|
||||
"bg": "Bulgarų",
|
||||
"ca": "Katalanų",
|
||||
"cs": "Čekų",
|
||||
"da": "Danų",
|
||||
"de": "Vokiečių",
|
||||
"el": "Graikų",
|
||||
"enGB": "Anglų (Britų)",
|
||||
"eo": "Esperanto",
|
||||
"es": "Ispanų",
|
||||
"esUS": "Ispanų (Lotynų Amerika)",
|
||||
"et": "Estų",
|
||||
"fi": "Suomių",
|
||||
"fr": "Prancūzų",
|
||||
"frCA": "Prancūzų (Kanada)",
|
||||
"hr": "Kroatų",
|
||||
"hu": "Vengrų",
|
||||
"hy": "Armėnų",
|
||||
"it": "Italų",
|
||||
"ja": "Japonų",
|
||||
"lt": "Lietuvių",
|
||||
"ko": "Korėjiečių",
|
||||
"nl": "Olandų",
|
||||
"oc": "Oksitanų",
|
||||
"pl": "Lenkų",
|
||||
"ptBR": "Portugalų (Brazilija)",
|
||||
"ru": "Rusų",
|
||||
"sv": "Švedų",
|
||||
"tr": "Turkų",
|
||||
"vi": "Vietnamiečių",
|
||||
"zhCN": "Kinų (China)",
|
||||
"zhTW": "Kinų (Taivanas)"
|
||||
}
|
||||
@@ -1,27 +1,38 @@
|
||||
{
|
||||
"en": "",
|
||||
"af": "",
|
||||
"az": "",
|
||||
"bg": "",
|
||||
"cs": "",
|
||||
"de": "",
|
||||
"el": "",
|
||||
"eo": "",
|
||||
"es": "",
|
||||
"fr": "",
|
||||
"hy": "",
|
||||
"it": "",
|
||||
"ja": "",
|
||||
"ko": "",
|
||||
"nb": "",
|
||||
"oc": "",
|
||||
"pl": "",
|
||||
"ptBR": "",
|
||||
"ru": "",
|
||||
"sk": "",
|
||||
"sl": "",
|
||||
"sv": "",
|
||||
"tr": "",
|
||||
"vi": "",
|
||||
"zhCN": ""
|
||||
}
|
||||
"en": "Engels",
|
||||
"af": "Afrikaans",
|
||||
"az": "Azerbeidzjaans",
|
||||
"bg": "Bulgaars",
|
||||
"ca": "Catalaans",
|
||||
"cs": "Tsjechisch",
|
||||
"da": "Deens",
|
||||
"de": "Duits",
|
||||
"enGB": "Engels (Verenigd Koninkrijk)",
|
||||
"et": "Estlands",
|
||||
"el": "Grieks",
|
||||
"eo": "Esperanto",
|
||||
"es": "Spaans",
|
||||
"esUS": "Spaans (Latijns Amerika)",
|
||||
"fi": "Fins",
|
||||
"fr": "Frans",
|
||||
"frCA": "Frans (Canadees)",
|
||||
"hr": "Kroatisch",
|
||||
"hu": "Hongaars",
|
||||
"hy": "Armeens",
|
||||
"it": "Italiaans",
|
||||
"ja": "Japans",
|
||||
"ko": "Koreaans",
|
||||
"nb": "Noors (Bokmal)",
|
||||
"nl": "Nederlands",
|
||||
"oc": "Occitaans",
|
||||
"pl": "Pools",
|
||||
"ptBR": "Portugees (Brazilië)",
|
||||
"ru": "Russisch",
|
||||
"sk": "Slowaaks",
|
||||
"sl": "Sloveens",
|
||||
"sv": "Zweeds",
|
||||
"tr": "Turks",
|
||||
"vi": "Vietnamees",
|
||||
"zhCN": "Chinees (China)",
|
||||
"zhTW": "Chinees (Taiwan)"
|
||||
}
|
||||
|
||||
@@ -15,17 +15,20 @@
|
||||
"fi": "Finnish",
|
||||
"fr": "French",
|
||||
"frCA": "French (Canadian)",
|
||||
"he": "Hebrew",
|
||||
"hr": "Croatian",
|
||||
"hu": "Hungarian",
|
||||
"hy": "Armenian",
|
||||
"it": "Italian",
|
||||
"ja": "Japanese",
|
||||
"ko": "Korean",
|
||||
"lt": "Lithuanian",
|
||||
"nl": "Dutch",
|
||||
"oc": "Occitan",
|
||||
"pl": "Polish",
|
||||
"ptBR": "Portuguese (Brazil)",
|
||||
"ru": "Russian",
|
||||
"sc": "Sardinian",
|
||||
"sk": "Slovak",
|
||||
"sv": "Swedish",
|
||||
"tr": "Turkish",
|
||||
|
||||
@@ -29,7 +29,7 @@
|
||||
},
|
||||
"calendarSync": {
|
||||
"addMeetingURL": "Meeting-Link hinzufügen",
|
||||
"confirmAddLink": "Wollen Sie einen Jitsi-Link zu diesem Termin hinzufügen?",
|
||||
"confirmAddLink": "Möchten Sie einen Jitsi-Link zu diesem Termin hinzufügen?",
|
||||
"error": {
|
||||
"appConfiguration": "Kalenderintegration ist nicht richtig konfiguriert.",
|
||||
"generic": "Ein Fehler ist aufgetreten. Prüfen Sie Ihre Kalendereinstellungen oder versuchen Sie, den Kalender zu aktualisieren.",
|
||||
@@ -188,7 +188,7 @@
|
||||
"inlineInstallExtension": "Jetzt installieren",
|
||||
"internalError": "Oh! Es hat etwas nicht funktioniert. Der folgende Fehler ist aufgetreten: {{error}}",
|
||||
"internalErrorTitle": "Interner Fehler",
|
||||
"kickMessage": "Sie können sich für weitere Einzelheiten an {{participantDisplayName}}} wenden.",
|
||||
"kickMessage": "Sie können sich für mehr Details an {{participantDisplayName}} wenden.",
|
||||
"kickParticipantButton": "Entfernen",
|
||||
"kickParticipantDialog": "Wollen Sie diesen Teilnehmer wirklich entfernen?",
|
||||
"kickParticipantTitle": "Teilnehmer entfernen?",
|
||||
@@ -439,7 +439,7 @@
|
||||
"invitedOneMember": "{{displayName}} wurde eingeladen",
|
||||
"invitedThreePlusMembers": "{{name}} und {{count}} andere wurden eingeladen",
|
||||
"invitedTwoMembers": "{{first}} und {{second}} wurden eingeladen",
|
||||
"kickParticipant": "Sie können sich für weitere Einzelheiten an {{participantDisplayName}}} wenden.",
|
||||
"kickParticipant": "Sie können sich für mehr Details an {{participantDisplayName}} wenden.",
|
||||
"me": "Ich",
|
||||
"moderator": "Moderatorenrechte vergeben",
|
||||
"muted": "Der Konferenz wurde stumm beigetreten.",
|
||||
@@ -452,7 +452,7 @@
|
||||
"somebody": "Jemand",
|
||||
"startSilentTitle": "Sie sind ohne Audioausgabe beigetreten!",
|
||||
"startSilentDescription": "Treten Sie dem Meeting noch einmal bei, um Ihr Audio zu aktivieren",
|
||||
"suboptimalExperienceDescription": "Tut uns leid, aber die Konferenz wird mit {{appName}} kein großartiges Erlebnis. Wir versuchen immer die Situation zu verbessern, bis dahin empfehlen wir aber die Verwendung einer der <a href=\"static/recommendedBrowsers.html\" target=\"_blank\">vollständig unterstützen Browser</a>.",
|
||||
"suboptimalBrowserWarning": "Tut uns leid, aber die Konferenz wird mit {{appName}} kein großartiges Erlebnis. Wir versuchen immer die Situation zu verbessern, bis dahin empfehlen wir aber die Verwendung einer der <a href=\"static/recommendedBrowsers.html\" target=\"_blank\">vollständig unterstützen Browser</a>.",
|
||||
"suboptimalExperienceTitle": "Browserwarnung",
|
||||
"unmute": "Stummschaltung aufheben",
|
||||
"newDeviceCameraTitle": "Neue Kamera erkannt",
|
||||
@@ -745,7 +745,7 @@
|
||||
"join": "Zum Teilnehmen tippen",
|
||||
"roomname": "Konferenzname eingeben"
|
||||
},
|
||||
"appDescription": "Auf geht's! Starten Sie eine Videokonferenz mit dem ganzen Team. Oder besser noch: Laden Sie alle ein, die Sie kennen. {{app}} ist eine vollständig verschlüsselte, aus 100% Open-Source-Software bestehende Videokonferenzlösung, die Sie den ganzen Tag kostenlos verwenden können — ohne Registrierung.",
|
||||
"appDescription": "Auf geht's! Starten Sie eine Videokonferenz mit dem ganzen Team. Oder besser noch: Laden Sie alle ein, die Sie kennen. {{app}} ist eine vollständig verschlüsselte, aus 100 % Open-Source-Software bestehende Videokonferenzlösung, die Sie den ganzen Tag kostenlos verwenden können — ohne Registrierung.",
|
||||
"audioVideoSwitch": {
|
||||
"audio": "Audio",
|
||||
"video": "Video"
|
||||
@@ -771,7 +771,7 @@
|
||||
"title": "Sichere, mit umfassenden Funktionen ausgestattete und vollkommen kostenlose Videokonferenzen"
|
||||
},
|
||||
"lonelyMeetingExperience": {
|
||||
"button": "Weitere einladen",
|
||||
"youAreAlone": "Sie sind der Einzige in diesem Meeting"
|
||||
"button": "Andere einladen",
|
||||
"youAreAlone": "Nur Sie sind in diesem Meeting"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -170,7 +170,7 @@
|
||||
"copy": "Copiar",
|
||||
"dismiss": "Descartar",
|
||||
"displayNameRequired": "¡Hola! ¿Cuál es tu nombre?",
|
||||
"done": "Por favor ingresa tu nombre aquí",
|
||||
"done": "Listo",
|
||||
"enterDisplayName": "Por favor ingresa tu nombre aquí",
|
||||
"error": "Error",
|
||||
"externalInstallationMsg": "Necesita instalar nuestra extensión para compartir escritorio.",
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
"addPeople": {
|
||||
"add": "Inviter",
|
||||
"countryNotSupported": "Nous ne supportons pas encore cette destination.",
|
||||
"countryReminder": "Appel hors États-Unis? Veuillez commencer avec le code du pays!",
|
||||
"countryReminder": "Appel hors des États-Unis ? Veuillez commencer avec le code du pays !",
|
||||
"disabled": "Vous ne pouvez pas inviter quelqu'un.",
|
||||
"failedToAdd": "Erreur lors de l'ajout des participants",
|
||||
"footerText": "Appels sortants désactivés",
|
||||
@@ -29,7 +29,7 @@
|
||||
},
|
||||
"calendarSync": {
|
||||
"addMeetingURL": "Ajouter un lien de conférence",
|
||||
"confirmAddLink": "Voulez-vous ajouter un lien Jitsi à cet événement?",
|
||||
"confirmAddLink": "Voulez-vous ajouter un lien Jitsi à cet événement ?",
|
||||
"error": {
|
||||
"appConfiguration": "l'intégration du calendrier n'est pas correctement configurée",
|
||||
"generic": "Une erreur s'est produite. Veuillez vérifier les paramètres de votre calendrier ou tenter de l'actualiser.",
|
||||
@@ -102,10 +102,10 @@
|
||||
},
|
||||
"remoteaddress": "Adresse distante :",
|
||||
"remoteaddress_plural": "Adresses distantes :",
|
||||
"remoteport": "Port distant:",
|
||||
"remoteport_plural": "Ports distants:",
|
||||
"remoteport": "Port distant :",
|
||||
"remoteport_plural": "Ports distants :",
|
||||
"resolution": "Résolution :",
|
||||
"status": "Connexion:",
|
||||
"status": "Connexion :",
|
||||
"transport": "Transport :",
|
||||
"transport_plural": "Transports :"
|
||||
},
|
||||
@@ -116,8 +116,8 @@
|
||||
},
|
||||
"deepLinking": {
|
||||
"appNotInstalled": "Vous avez besoin de l'application mobile {{app}} pour participer à cette réunion avec votre téléphone.",
|
||||
"description": "Rien ne s'est passé? Nous avons essayé de lancer votre réunion dans l'application de bureau {{app}}. Essayez à nouveau ou lancez-la dans l'application web {{app}}.",
|
||||
"descriptionWithoutWeb": "Rien ne s'est passé? Nous avons essayé de démarrer votre réunion dans l'application bureau {{app}}.",
|
||||
"description": "Rien ne s'est passé ? Nous avons essayé de lancer votre réunion dans l'application de bureau {{app}}. Essayez à nouveau ou lancez-la dans l'application web {{app}}.",
|
||||
"descriptionWithoutWeb": "Rien ne s'est passé ? Nous avons essayé de démarrer votre réunion dans l'application bureau {{app}}.",
|
||||
"downloadApp": "Télécharger l'application",
|
||||
"launchWebButton": "Lancer dans le navigateur",
|
||||
"openApp": "Continuer vers l'application",
|
||||
@@ -136,7 +136,7 @@
|
||||
"noPermission": "Permission non accordée",
|
||||
"previewUnavailable": "Aperçu non disponible",
|
||||
"selectADevice": "Sélectionner un périphérique",
|
||||
"testAudio": "Lire un audio de test"
|
||||
"testAudio": "Tester la sortie audio"
|
||||
},
|
||||
"dialog": {
|
||||
"accessibilityLabel": {
|
||||
@@ -169,7 +169,7 @@
|
||||
"contactSupport": "Contacter le support",
|
||||
"copy": "Copier",
|
||||
"dismiss": "Rejeter",
|
||||
"displayNameRequired": "Salut! Quel est votre nom?",
|
||||
"displayNameRequired": "Salut! Quel est votre nom ?",
|
||||
"done": "Terminé",
|
||||
"enterDisplayName": "Merci de saisir votre nom ici",
|
||||
"error": "Erreur",
|
||||
@@ -187,13 +187,13 @@
|
||||
"kickMessage": "Vous pouvez contacter {{participantDisplayName}} pour plus de détails.",
|
||||
"kickParticipantButton": "Expulser",
|
||||
"kickParticipantDialog": "Êtes-vous sûr(e) de vouloir expulser ce participant ?",
|
||||
"kickParticipantTitle": "Expulser ce participant?",
|
||||
"kickParticipantTitle": "Expulser ce participant ?",
|
||||
"kickTitle": "Oups! vous avez été expulsé(e) par {{participantDisplayName}}",
|
||||
"liveStreaming": "Direct",
|
||||
"liveStreamingDisabledForGuestTooltip": "Les invités ne peuvent démarrer la diffusion en direct.",
|
||||
"liveStreamingDisabledTooltip": "La diffusion en direct est désactivé",
|
||||
"lockMessage": "Impossible de verrouiller la conférence.",
|
||||
"lockRoom": "Ajouter la réunion $t(lockRoomPasswordUppercase)",
|
||||
"lockRoom": "Ajouter un $t(lockRoomPassword) à la réunion ",
|
||||
"lockTitle": "Échec du verrouillage",
|
||||
"logoutQuestion": "Voulez-vous vraiment vous déconnecter et arrêter la conférence ?",
|
||||
"logoutTitle": "Déconnexion",
|
||||
@@ -205,14 +205,20 @@
|
||||
"micNotSendingDataTitle": "Votre micro est désactivé par les paramètres de votre système",
|
||||
"micPermissionDeniedError": "Vous n'avez pas autorisé l'utilisation de votre microphone. Vous pouvez toujours participer à la conférence, mais les autres ne vont pas vous entendre. Utilisez le bouton du microphone dans la barre d'adresse pour résoudre ce problème.",
|
||||
"micUnknownError": "Vous ne pouvez pas utiliser le microphone pour une raison inconnue.",
|
||||
"muteParticipantBody": "Vous ne pourrez plus réactiver leurs micros, mais ils peuvent l'activer par eux-même à tout moment.",
|
||||
"muteEveryoneElseDialog": "Une fois leur micro coupé, vous ne pourrez plus le réactiver, mais ils pourront l'activer par eux-mêmes à tout moment.",
|
||||
"muteEveryoneElseTitle": "Couper le micro de tout le monde sauf de {{whom}} ?",
|
||||
"muteEveryoneDialog": "Etes-vous sûr de vouloir couper les micros de tout le monde ? Vous ne pourrez plus réactiver leur micro, mais ils pourront l'activer par eux-mêmes à tout moment.",
|
||||
"muteEveryoneTitle": "Couper le micro de tout le monde ?",
|
||||
"muteEveryoneSelf": "vous",
|
||||
"muteEveryoneStartMuted": "Tout le monde démarre avec le micro coupé",
|
||||
"muteParticipantBody": "Vous ne pourrez plus réactiver son micro, mais il pourra l'activer par lui-même à tout moment.",
|
||||
"muteParticipantButton": "Couper le micro",
|
||||
"muteParticipantDialog": "Êtes-vous sûr(e) de vouloir couper le micro de ce participant ? Seul le participant pourra ensuite réactiver son micro à tout moment.",
|
||||
"muteParticipantTitle": "Couper le micro de ce participant?",
|
||||
"muteParticipantTitle": "Couper le micro de ce participant ?",
|
||||
"Ok": "Ok",
|
||||
"passwordLabel": "$t(lockRoomPasswordUppercase)",
|
||||
"passwordNotSupported": "La définition d'un $t(lockRoomPassword) de réunion n'est pas prise en charge.",
|
||||
"passwordNotSupportedTitle": "$t(lockRoomPasswordUppercase) n'est pas supporté",
|
||||
"passwordNotSupportedTitle": "L'ajout d'un $t(lockRoomPassword) n'est pas supporté",
|
||||
"passwordRequired": "$t(lockRoomPasswordUppercase) requis",
|
||||
"popupError": "Votre navigateur bloque les fenêtres pop-up. Veuillez autoriser les fenêtres pop-up dans les paramètres de votre navigateur.",
|
||||
"popupErrorTitle": "Pop-up bloquée",
|
||||
@@ -220,15 +226,15 @@
|
||||
"recordingDisabledForGuestTooltip": "Les invités ne peuvent enregistrer.",
|
||||
"recordingDisabledTooltip": "L'enregistrement est désactivé.",
|
||||
"rejoinNow": "Rejoindre maintenant",
|
||||
"remoteControlAllowedMessage": "Une erreur s'est produite lors de la demande d’autorisation de prise en main à distance avec {{user}}!",
|
||||
"remoteControlDeniedMessage": "{{user}} a refusé votre demande de prise en main à distance!",
|
||||
"remoteControlErrorMessage": "Une erreur s'est produite lors de la demande d’autorisation de prise en main à distance avec {{user}}!",
|
||||
"remoteControlRequestMessage": "Voulez-vous autoriser {{user}} à contrôler votre bureau?",
|
||||
"remoteControlShareScreenWarning": "Si vous appuyez sur \"Autoriser\" vous allez partager votre écran!",
|
||||
"remoteControlAllowedMessage": "{{user}} a accepté votre demande de prise en main à distance !",
|
||||
"remoteControlDeniedMessage": "{{user}} a refusé votre demande de prise en main à distance !",
|
||||
"remoteControlErrorMessage": "Une erreur s'est produite lors de la demande d’autorisation de prise en main à distance avec {{user}} !",
|
||||
"remoteControlRequestMessage": "Voulez-vous autoriser {{user}} à contrôler votre bureau ?",
|
||||
"remoteControlShareScreenWarning": "Si vous appuyez sur \"Autoriser\", vous allez partager votre écran !",
|
||||
"remoteControlStopMessage": "La prise en main à distance est terminée!",
|
||||
"remoteControlTitle": "Contrôle de bureau à distance",
|
||||
"Remove": "Supprimer",
|
||||
"removePassword": "Supprimer $t(lockRoomPassword)",
|
||||
"removePassword": "Supprimer le $t(lockRoomPassword)",
|
||||
"removeSharedVideoMsg": "Voulez-vous vraiment supprimer votre vidéo partagée ?",
|
||||
"removeSharedVideoTitle": "Supprimer la vidéo partagée",
|
||||
"reservationError": "Erreur du système de réservation",
|
||||
@@ -256,8 +262,8 @@
|
||||
"startRemoteControlErrorMessage": "Une erreur est survenue lors de la tentative de démarrage de la session de contrôle à distance!",
|
||||
"stopLiveStreaming": "Arrêter la diffusion en direct",
|
||||
"stopRecording": "Arrêter l'enregistrement",
|
||||
"stopRecordingWarning": "Désirez-vous vraiment arrêter l'enregistrement?",
|
||||
"stopStreamingWarning": "Désirez-vous vraiment arrêter le direct?",
|
||||
"stopRecordingWarning": "Désirez-vous vraiment arrêter l'enregistrement ?",
|
||||
"stopStreamingWarning": "Désirez-vous vraiment arrêter le direct ?",
|
||||
"streamKey": "Clé Live stream",
|
||||
"Submit": "Soumettre",
|
||||
"thankYou": "Merci d'avoir utilisé {{appName}} !",
|
||||
@@ -265,7 +271,7 @@
|
||||
"tokenAuthFailed": "Désolé, vous n'êtes pas autorisé à rejoindre cette conversation.",
|
||||
"tokenAuthFailedTitle": "Échec de l'authentification",
|
||||
"transcribing": "Transcription",
|
||||
"unlockRoom": "Supprimer $t(lockRoomPassword) de la réunion",
|
||||
"unlockRoom": "Supprimer le $t(lockRoomPassword) de la réunion",
|
||||
"userPassword": "mot de passe utilisateur",
|
||||
"WaitForHostMsg": "La conférence <b>{{room}}</b> n'a pas encore commencé. Si vous en êtes l'hôte, veuillez vous authentifier. Sinon, veuillez attendre son arrivée.",
|
||||
"WaitForHostMsgWOk": "La conférence <b>{{room}}</b> n'a pas encore commencé. Si vous en êtes l'hôte, veuillez appuyer sur Ok pour vous authentifier. Sinon, veuillez attendre son arrivée.",
|
||||
@@ -297,20 +303,20 @@
|
||||
},
|
||||
"info": {
|
||||
"accessibilityLabel": "Afficher les informations",
|
||||
"addPassword": "Ajouter $t(lockRoomPassword)",
|
||||
"cancelPassword": "Annuler $t(lockRoomPassword)",
|
||||
"conferenceURL": "Lien:",
|
||||
"addPassword": "Ajouter un $t(lockRoomPassword)",
|
||||
"cancelPassword": "Supprimer le $t(lockRoomPassword)",
|
||||
"conferenceURL": "Lien :",
|
||||
"country": "Pays",
|
||||
"dialANumber": "Pour rejoindre votre réunion, composez l'un de ces numéros, puis saisissez le code confidentiel.",
|
||||
"dialInConferenceID": "PIN:",
|
||||
"dialInConferenceID": "PIN :",
|
||||
"dialInNotSupported": "Désolé, l'accès par téléphone n'est pas pris en charge pour l'instant.",
|
||||
"dialInNumber": "Composer:",
|
||||
"dialInNumber": "Composer :",
|
||||
"dialInSummaryError": "Erreur lors de la récupération des informations de numérotation. Veuillez réessayer plus tard.",
|
||||
"dialInTollFree": "Numéro gratuit",
|
||||
"genericError": "Oups, quelque chose a mal tourné.",
|
||||
"inviteLiveStream": "Pour voir la diffusion en direct de cette réunion, cliquez sur ce lien : {{url}}",
|
||||
"invitePhone": "Pour rejoindre depuis un téléphone, saisissez : {{number}},,{{conferenceID}}#\n",
|
||||
"invitePhoneAlternatives": "Vous cherchez un numéro d'appel différent?\nAfficher les numéros d'appel de la réunion: {{url}}\n\n\nSi vous appelez également via un téléphone de salle, vous pouvez vous connecter sans audio: {{silentUrl}}",
|
||||
"invitePhoneAlternatives": "Vous cherchez un numéro d'appel différent ?\nAfficher les numéros d'appel de la réunion: {{url}}\n\n\nSi vous appelez également via un téléphone de salle, vous pouvez vous connecter sans audio: {{silentUrl}}",
|
||||
"inviteURLFirstPartGeneral": "Vous êtes invité(e) à participer à une réunion.",
|
||||
"inviteURLFirstPartPersonal": "{{name}} vous invite à une réunion.\n",
|
||||
"inviteURLSecondPart": "\nRejoindre la réunion:\n{{url}}\n",
|
||||
@@ -320,7 +326,7 @@
|
||||
"noPassword": "Aucun",
|
||||
"noRoom": "Aucune réunion n'a été spécifiée pour l'appel entrant.",
|
||||
"numbers": "Numéros d'appel",
|
||||
"password": "$t(lockRoomPasswordUppercase):",
|
||||
"password": "$t(lockRoomPasswordUppercase) :",
|
||||
"title": "Partager",
|
||||
"tooltip": "Partager le lien et les informations de connexion pour cette conférence",
|
||||
"label": "Information de la réunion"
|
||||
@@ -383,7 +389,7 @@
|
||||
"signInCTA": "Connectez vous ou entrez votre clé de flux live provenant de Youtube.",
|
||||
"signOut": "Se déconnecter",
|
||||
"start": "Démarrer la diffusion en direct",
|
||||
"streamIdHelp": "Qu'est-ce que c'est?",
|
||||
"streamIdHelp": "Qu'est-ce que c'est ?",
|
||||
"unavailableTitle": "Le Streaming est indisponible"
|
||||
},
|
||||
"localRecording": {
|
||||
@@ -397,11 +403,11 @@
|
||||
"durationNA": "N/A",
|
||||
"encoding": "Encodage",
|
||||
"label": "ENR-LOC",
|
||||
"labelToolTip": "L'enregistrement local est engagé",
|
||||
"labelToolTip": "L'enregistrement local est démarré",
|
||||
"localRecording": "Enregistrement local",
|
||||
"me": "Moi",
|
||||
"messages": {
|
||||
"engaged": "Enregistrement local engagé.",
|
||||
"engaged": "L'enregistrement local a démarré.",
|
||||
"finished": "L'enregistrement de la session {{token}} s'est terminé. Merci d'envoyer le fichier au modérateur.",
|
||||
"finishedModerator": "L'enregistrement de la session {{token}} s'est terminé. La piste a bien été sauvegardée. Merci de demander aux autres participants de soumettre leurs enregistrements.",
|
||||
"notModerator": "Vous n'êtes pas le modérateur. Vous ne pouvez pas démarrer ou arrêter un enregistrement local."
|
||||
@@ -433,11 +439,11 @@
|
||||
"me": "Moi",
|
||||
"moderator": "Droits modérateur accordés !",
|
||||
"muted": "Vous avez commencé la conversation en muet.",
|
||||
"mutedTitle": "Vous êtes en muet !",
|
||||
"mutedTitle": "Vôtre micro est coupé !",
|
||||
"mutedRemotelyTitle": "Votre micro a été coupé par {{participantDisplayName}}!",
|
||||
"mutedRemotelyDescription": "Vous pouvez toujours activer votre micro pour prendre la parole. Désactivez votre micro quand vous terminez pour éviter les bruits parasites.",
|
||||
"passwordRemovedRemotely": "$t(lockRoomPasswordUppercase) a été supprimé par un autre participant",
|
||||
"passwordSetRemotely": "$t(lockRoomPasswordUppercase) défini par un autre participant",
|
||||
"passwordRemovedRemotely": "Le $t(lockRoomPassword) a été supprimé par un autre participant",
|
||||
"passwordSetRemotely": "Un $t(lockRoomPassword) a été défini par un autre participant",
|
||||
"raisedHand": "{{name}} aimerait prendre la parole.",
|
||||
"somebody": "Quelqu'un",
|
||||
"startSilentTitle": "Vous avez rejoint sans sortie audio!",
|
||||
@@ -546,7 +552,7 @@
|
||||
"version": "Version"
|
||||
},
|
||||
"share": {
|
||||
"dialInfoText": "\n\n=====\n\nVoulez-vous appeler depuis votre téléphone?\n\n{{defaultDialInNumber}}Cliquez sur ce lien pour afficher les numéros d'appels pour cette réunion\n{{dialInfoPageUrl}}",
|
||||
"dialInfoText": "\n\n=====\n\nVoulez-vous appeler depuis votre téléphone ?\n\n{{defaultDialInNumber}}Cliquez sur ce lien pour afficher les numéros d'appels pour cette réunion\n{{dialInfoPageUrl}}",
|
||||
"mainText": "Cliquez sur le lien suivant pour rejoindre une conférence :\n{{roomUrl}}"
|
||||
},
|
||||
"speaker": "Haut-parleur",
|
||||
@@ -630,6 +636,7 @@
|
||||
"moreActions": "Plus d'actions",
|
||||
"moreOptions": "Plus d'options",
|
||||
"mute": "Muet / Actif",
|
||||
"muteEveryone": "Couper le micro de tout le monde",
|
||||
"noAudioSignalTitle": "Il n'y a pas d'entrée provenant de votre micro !",
|
||||
"noAudioSignalDesc": "Si vous n'avez pas délibérément coupé le son des paramètres du système ou du matériel, envisagez de changer le périphérique.",
|
||||
"noAudioSignalDescSuggestion": "Si vous n'avez pas délibérément coupé le son des paramètres du système ou du matériel, pensez à utiliser le périphérique suivant :",
|
||||
@@ -651,9 +658,9 @@
|
||||
"stopScreenSharing": "Arrêter le partage d'écran",
|
||||
"stopSubtitles": "Désactiver les sous-titres",
|
||||
"stopSharedVideo": "Arrêter la vidéo YouTube",
|
||||
"talkWhileMutedPopup": "Vous voulez parler? Vous êtes en muet.",
|
||||
"talkWhileMutedPopup": "Vous voulez parler ? Vôtre micro est coupé.",
|
||||
"tileViewToggle": "Activer/désactiver la vue mosaïque",
|
||||
"toggleCamera": "Activer/désactiver la caméra",
|
||||
"toggleCamera": "Changer de caméra",
|
||||
"videomute": "Démarrer / Arrêter la caméra",
|
||||
"startvideoblur": "Flouter mon arrière plan",
|
||||
"stopvideoblur": "Désactiver le flou d'arrière-plan"
|
||||
@@ -715,6 +722,7 @@
|
||||
},
|
||||
"videothumbnail": {
|
||||
"domute": "Couper le micro",
|
||||
"domuteOthers": "Couper le micro de tous les autres",
|
||||
"flip": "Balancer",
|
||||
"kick": "Exclure",
|
||||
"moderator": "Moderateur",
|
||||
|
||||
712
lang/main-he.json
Normal file
712
lang/main-he.json
Normal file
@@ -0,0 +1,712 @@
|
||||
{
|
||||
"addPeople": {
|
||||
"add": "הזמן",
|
||||
"countryNotSupported": "אנחנו לא תומכים במדינה כרגע",
|
||||
"countryReminder": "Calling outside the US? Please make sure you start with the country code!",
|
||||
"disabled": "אינך יכול להזמין אנשים נוספים לשיחה",
|
||||
"failedToAdd": "הוספת האנשים נכשלה",
|
||||
"footerText": "Dialling out is disabled.",
|
||||
"loading": "Searching for people and phone numbers",
|
||||
"loadingNumber": "Validating phone number",
|
||||
"loadingPeople": "Searching for people to invite",
|
||||
"noResults": "No matching search results",
|
||||
"noValidNumbers": "Please enter a phone number",
|
||||
"searchNumbers": "Add phone numbers",
|
||||
"searchPeople": "Search for people",
|
||||
"searchPeopleAndNumbers": "Search for people or add their phone numbers",
|
||||
"telephone": "Telephone: {{number}}",
|
||||
"title": "Invite people to this meeting"
|
||||
},
|
||||
"audioDevices": {
|
||||
"bluetooth": "Bluetooth",
|
||||
"headphones": "Headphones",
|
||||
"phone": "Phone",
|
||||
"speaker": "Speaker"
|
||||
},
|
||||
"audioOnly": {
|
||||
"audioOnly": "Audio only"
|
||||
},
|
||||
"calendarSync": {
|
||||
"addMeetingURL": "Add a meeting link",
|
||||
"confirmAddLink": "Do you want to add a Jitsi link to this event?",
|
||||
"error": {
|
||||
"appConfiguration": "Calendar integration is not properly configured.",
|
||||
"generic": "An error has occurred. Please check your calendar settings or try refreshing the calendar.",
|
||||
"notSignedIn": "An error occurred while authenticating to see calendar events. Please check your calendar settings and try logging in again."
|
||||
},
|
||||
"join": "Join",
|
||||
"joinTooltip": "Join the meeting",
|
||||
"nextMeeting": "next meeting",
|
||||
"noEvents": "There are no upcoming events scheduled.",
|
||||
"ongoingMeeting": "ongoing meeting",
|
||||
"permissionButton": "Open settings",
|
||||
"permissionMessage": "The Calendar permission is required to see your meetings in the app.",
|
||||
"refresh": "Refresh calendar",
|
||||
"today": "Today"
|
||||
},
|
||||
"chat": {
|
||||
"error": "Error: your message \"{{originalText}}\" was not sent. Reason: {{error}}",
|
||||
"messagebox": "Type a message",
|
||||
"nickname": {
|
||||
"popover": "Choose a nickname",
|
||||
"title": "Enter a nickname to use chat"
|
||||
},
|
||||
"title": "Chat"
|
||||
},
|
||||
"connectingOverlay": {
|
||||
"joiningRoom": "Connecting you to your meeting..."
|
||||
},
|
||||
"connection": {
|
||||
"ATTACHED": "Attached",
|
||||
"AUTHENTICATING": "Authenticating",
|
||||
"AUTHFAIL": "Authentication failed",
|
||||
"CONNECTED": "Connected",
|
||||
"CONNECTING": "Connecting",
|
||||
"CONNFAIL": "Connection failed",
|
||||
"DISCONNECTED": "Disconnected",
|
||||
"DISCONNECTING": "Disconnecting",
|
||||
"ERROR": "Error",
|
||||
"RECONNECTING": "A network problem occurred. Reconnecting..."
|
||||
},
|
||||
"connectionindicator": {
|
||||
"address": "Address:",
|
||||
"bandwidth": "Estimated bandwidth:",
|
||||
"bitrate": "Bitrate:",
|
||||
"bridgeCount": "Server count: ",
|
||||
"connectedTo": "Connected to:",
|
||||
"framerate": "Frame rate:",
|
||||
"less": "Show less",
|
||||
"localaddress": "Local address:",
|
||||
"localaddress_plural": "Local addresses:",
|
||||
"localport": "Local port:",
|
||||
"localport_plural": "Local ports:",
|
||||
"more": "Show more",
|
||||
"packetloss": "Packet loss:",
|
||||
"quality": {
|
||||
"good": "Good",
|
||||
"inactive": "Inactive",
|
||||
"lost": "Lost",
|
||||
"nonoptimal": "Nonoptimal",
|
||||
"poor": "Poor"
|
||||
},
|
||||
"remoteaddress": "Remote address:",
|
||||
"remoteaddress_plural": "Remote addresses:",
|
||||
"remoteport": "Remote port:",
|
||||
"remoteport_plural": "Remote ports:",
|
||||
"resolution": "Resolution:",
|
||||
"status": "Connection:",
|
||||
"transport": "Transport:",
|
||||
"transport_plural": "Transports:",
|
||||
"turn": " (turn)"
|
||||
},
|
||||
"dateUtils": {
|
||||
"earlier": "Earlier",
|
||||
"today": "Today",
|
||||
"yesterday": "Yesterday"
|
||||
},
|
||||
"deepLinking": {
|
||||
"appNotInstalled": "You need the {{app}} mobile app to join this meeting on your phone.",
|
||||
"description": "Nothing happened? We tried launching your meeting in the {{app}} desktop app. Try again or launch it in the {{app}} web app.",
|
||||
"descriptionWithoutWeb": "",
|
||||
"downloadApp": "Download the app",
|
||||
"launchWebButton": "Launch in web",
|
||||
"openApp": "Continue to the app",
|
||||
"title": "Launching your meeting in {{app}}...",
|
||||
"tryAgainButton": "Try again in desktop"
|
||||
},
|
||||
"defaultLink": "e.g. {{url}}",
|
||||
"deviceError": {
|
||||
"cameraError": "Failed to access your camera",
|
||||
"cameraPermission": "Error obtaining camera permission",
|
||||
"microphoneError": "Failed to access your microphone",
|
||||
"microphonePermission": "Error obtaining microphone permission"
|
||||
},
|
||||
"deviceSelection": {
|
||||
"noPermission": "Permission not granted",
|
||||
"previewUnavailable": "Preview unavailable",
|
||||
"selectADevice": "Select a device",
|
||||
"testAudio": "Play a test sound"
|
||||
},
|
||||
"dialog": {
|
||||
"accessibilityLabel": {
|
||||
"liveStreaming": "Live Stream"
|
||||
},
|
||||
"allow": "Allow",
|
||||
"alreadySharedVideoMsg": "Another member is already sharing a video. This conference allows only one shared video at a time.",
|
||||
"alreadySharedVideoTitle": "Only one shared video is allowed at a time",
|
||||
"applicationWindow": "Application window",
|
||||
"Back": "Back",
|
||||
"cameraConstraintFailedError": "Your camera does not satisfy some of the required constraints.",
|
||||
"cameraNotFoundError": "Camera was not found.",
|
||||
"cameraNotSendingData": "We are unable to access your camera. Please check if another application is using this device, select another device from the settings menu or try to reload the application.",
|
||||
"cameraNotSendingDataTitle": "Unable to access camera",
|
||||
"cameraPermissionDeniedError": "You have not granted permission to use your camera. You can still join the conference but others won't see you. Use the camera button in the address bar to fix this.",
|
||||
"cameraUnknownError": "Cannot use camera for an unknown reason.",
|
||||
"cameraUnsupportedResolutionError": "Your camera does not support required video resolution.",
|
||||
"Cancel": "Cancel",
|
||||
"close": "Close",
|
||||
"conferenceDisconnectMsg": "You may want to check your network connection. Reconnecting in {{seconds}} sec...",
|
||||
"conferenceDisconnectTitle": "You have been disconnected.",
|
||||
"conferenceReloadMsg": "We're trying to fix this. Reconnecting in {{seconds}} sec...",
|
||||
"conferenceReloadTitle": "Unfortunately, something went wrong.",
|
||||
"confirm": "Confirm",
|
||||
"confirmNo": "No",
|
||||
"confirmYes": "Yes",
|
||||
"connectError": "Oops! Something went wrong and we couldn't connect to the conference.",
|
||||
"connectErrorWithMsg": "Oops! Something went wrong and we couldn't connect to the conference: {{msg}}",
|
||||
"connecting": "Connecting",
|
||||
"contactSupport": "Contact support",
|
||||
"copy": "Copy",
|
||||
"dismiss": "Dismiss",
|
||||
"displayNameRequired": "Display name is required",
|
||||
"done": "Done",
|
||||
"enterDisplayName": "Please enter your display name",
|
||||
"error": "Error",
|
||||
"externalInstallationMsg": "You need to install our desktop sharing extension.",
|
||||
"externalInstallationTitle": "Extension required",
|
||||
"goToStore": "Go to the webstore",
|
||||
"gracefulShutdown": "Our service is currently down for maintenance. Please try again later.",
|
||||
"IamHost": "I am the host",
|
||||
"incorrectRoomLockPassword": "",
|
||||
"incorrectPassword": "Incorrect username or password",
|
||||
"inlineInstallationMsg": "You need to install our desktop sharing extension.",
|
||||
"inlineInstallExtension": "Install now",
|
||||
"internalError": "Oops! Something went wrong. The following error occurred: {{error}}",
|
||||
"internalErrorTitle": "Internal error",
|
||||
"kickMessage": "Ouch! You have been kicked out of the meet!",
|
||||
"kickParticipantButton": "Kick",
|
||||
"kickParticipantDialog": "Are you sure you want to kick this participant?",
|
||||
"kickParticipantTitle": "Kick this member?",
|
||||
"kickTitle": "Kicked from meeting",
|
||||
"liveStreaming": "Live Streaming",
|
||||
"liveStreamingDisabledForGuestTooltip": "Guests can't start live streaming.",
|
||||
"liveStreamingDisabledTooltip": "Start live stream disabled.",
|
||||
"lockMessage": "Failed to lock the conference.",
|
||||
"lockRoom": "Add meeting password",
|
||||
"lockTitle": "Lock failed",
|
||||
"logoutQuestion": "Are you sure you want to logout and stop the conference?",
|
||||
"logoutTitle": "Log out",
|
||||
"maxUsersLimitReached": "The limit for maximum number of members has been reached. The conference is full. Please contact the meeting owner or try again later!",
|
||||
"maxUsersLimitReachedTitle": "Maximum members limit reached",
|
||||
"micConstraintFailedError": "Your microphone does not satisfy some of the required constraints.",
|
||||
"micNotFoundError": "Microphone was not found.",
|
||||
"micNotSendingData": "We are unable to access your microphone. Please select another device from the settings menu or try to reload the application.",
|
||||
"micNotSendingDataTitle": "Unable to access microphone",
|
||||
"micPermissionDeniedError": "You have not granted permission to use your microphone. You can still join the conference but others won't hear you. Use the camera button in the address bar to fix this.",
|
||||
"micUnknownError": "Cannot use microphone for an unknown reason.",
|
||||
"muteParticipantBody": "You won't be able to unmute them, but they can unmute themselves at any time.",
|
||||
"muteParticipantButton": "Mute",
|
||||
"muteParticipantDialog": "Are you sure you want to mute this participant? You won't be able to unmute them, but they can unmute themselves at any time.",
|
||||
"muteParticipantTitle": "Mute this member?",
|
||||
"Ok": "Ok",
|
||||
"passwordLabel": "Password",
|
||||
"passwordNotSupported": "Setting a meeting password is not supported.",
|
||||
"passwordNotSupportedTitle": "Password not supported",
|
||||
"passwordRequired": "Password required",
|
||||
"popupError": "Your browser is blocking pop-up windows from this site. Please enable pop-ups in your browser's security settings and try again.",
|
||||
"popupErrorTitle": "Pop-up blocked",
|
||||
"recording": "Recording",
|
||||
"recordingDisabledForGuestTooltip": "Guests can't start recordings.",
|
||||
"recordingDisabledTooltip": "Start recording disabled.",
|
||||
"rejoinNow": "Rejoin now",
|
||||
"remoteControlAllowedMessage": "{{user}} accepted your remote control request!",
|
||||
"remoteControlDeniedMessage": "{{user}} rejected your remote control request!",
|
||||
"remoteControlErrorMessage": "An error occurred while trying to request remote control permissions from {{user}}!",
|
||||
"remoteControlRequestMessage": "Will you allow {{user}} to remotely control your desktop?",
|
||||
"remoteControlShareScreenWarning": "Note that if you press \"Allow\" you will share your screen!",
|
||||
"remoteControlStopMessage": "The remote control session ended!",
|
||||
"remoteControlTitle": "Remote desktop control",
|
||||
"Remove": "Remove",
|
||||
"removePassword": "Remove password",
|
||||
"removeSharedVideoMsg": "Are you sure you would like to remove your shared video?",
|
||||
"removeSharedVideoTitle": "Remove shared video",
|
||||
"reservationError": "Reservation system error",
|
||||
"reservationErrorMsg": "Error code: {{code}}, message: {{msg}}",
|
||||
"retry": "Retry",
|
||||
"screenSharingFailedToInstall": "Oops! Your screen sharing extension failed to install.",
|
||||
"screenSharingFailedToInstallTitle": "Screen sharing extension failed to install",
|
||||
"screenSharingFirefoxPermissionDeniedError": "Something went wrong while we were trying to share your screen. Please make sure that you have given us permission to do so. ",
|
||||
"screenSharingFirefoxPermissionDeniedTitle": "Oops! We weren’t able to start screen sharing!",
|
||||
"screenSharingPermissionDeniedError": "Oops! Something went wrong with your screen sharing extension permissions. Please reload and try again.",
|
||||
"serviceUnavailable": "Service unavailable",
|
||||
"sessTerminated": "Call terminated",
|
||||
"Share": "שתף",
|
||||
"shareVideoLinkError": "Please provide a correct youtube link.",
|
||||
"shareVideoTitle": "שתף וידאו",
|
||||
"shareYourScreen": "שתף את המסך שלך",
|
||||
"shareYourScreenDisabled": "Screen sharing disabled.",
|
||||
"shareYourScreenDisabledForGuest": "Guests can't screen share.",
|
||||
"startLiveStreaming": "Start live stream",
|
||||
"startRecording": "Start recording",
|
||||
"startRemoteControlErrorMessage": "An error occurred while trying to start the remote control session!",
|
||||
"stopLiveStreaming": "Stop live stream",
|
||||
"stopRecording": "Stop recording",
|
||||
"stopRecordingWarning": "Are you sure you would like to stop the recording?",
|
||||
"stopStreamingWarning": "Are you sure you would like to stop the live streaming?",
|
||||
"streamKey": "Live stream key",
|
||||
"Submit": "Submit",
|
||||
"thankYou": "Thank you for using {{appName}}!",
|
||||
"token": "token",
|
||||
"tokenAuthFailed": "Sorry, you're not allowed to join this call.",
|
||||
"tokenAuthFailedTitle": "Authentication failed",
|
||||
"transcribing": "Transcribing",
|
||||
"unlockRoom": "Remove meeting password",
|
||||
"userPassword": "user password",
|
||||
"WaitForHostMsg": "The conference <b>{{room}}</b> has not yet started. If you are the host then please authenticate. Otherwise, please wait for the host to arrive.",
|
||||
"WaitForHostMsgWOk": "The conference <b>{{room}}</b> has not yet started. If you are the host then please press Ok to authenticate. Otherwise, please wait for the host to arrive.",
|
||||
"WaitingForHost": "Waiting for the host ...",
|
||||
"Yes": "Yes",
|
||||
"yourEntireScreen": "Your entire screen"
|
||||
},
|
||||
"dialOut": {
|
||||
"statusMessage": "is now {{status}}"
|
||||
},
|
||||
"feedback": {
|
||||
"average": "Average",
|
||||
"bad": "Bad",
|
||||
"detailsLabel": "Tell us more about it.",
|
||||
"good": "Good",
|
||||
"rateExperience": "Rate your meeting experience",
|
||||
"veryBad": "Very Bad",
|
||||
"veryGood": "Very Good"
|
||||
},
|
||||
"incomingCall": {
|
||||
"answer": "Answer",
|
||||
"audioCallTitle": "Incoming call",
|
||||
"decline": "Dismiss",
|
||||
"productLabel": "from Jitsi Meet",
|
||||
"videoCallTitle": "Incoming video call"
|
||||
},
|
||||
"info": {
|
||||
"accessibilityLabel": "Show info",
|
||||
"addPassword": "Add password",
|
||||
"cancelPassword": "Cancel password",
|
||||
"conferenceURL": "Link:",
|
||||
"country": "Country",
|
||||
"dialANumber": "To join your meeting, dial one of these numbers and then enter the pin.",
|
||||
"dialInConferenceID": "PIN:",
|
||||
"dialInNotSupported": "Sorry, dialling in is currently not supported.",
|
||||
"dialInNumber": "Dial-in:",
|
||||
"dialInSummaryError": "Error fetching dial-in info now. Please try again later.",
|
||||
"dialInTollFree": "Toll Free",
|
||||
"genericError": "Whoops, something went wrong.",
|
||||
"inviteLiveStream": "To view the live stream of this meeting, click this link: {{url}}",
|
||||
"invitePhone": "One tap audio Dial In: {{number}},,{{conferenceID}}#",
|
||||
"invitePhoneAlternatives": "",
|
||||
"inviteURLFirstPartGeneral": "You are invited to join a meeting.",
|
||||
"inviteURLFirstPartPersonal": "{{name}} is inviting you to a meeting.\n",
|
||||
"inviteURLSecondPart": "\nJoin the meeting:\n{{url}}\n",
|
||||
"liveStreamURL": "Live stream:",
|
||||
"moreNumbers": "More numbers",
|
||||
"noNumbers": "No dial-in numbers.",
|
||||
"noPassword": "None",
|
||||
"noRoom": "No room was specified to dial-in into.",
|
||||
"numbers": "Dial-in Numbers",
|
||||
"password": "Password:",
|
||||
"title": "Share",
|
||||
"tooltip": "Share link and dial-in info for this meeting",
|
||||
"label": "Meeting info"
|
||||
},
|
||||
"inviteDialog": {
|
||||
"alertText": "Failed to invite some participants.",
|
||||
"header": "Invite",
|
||||
"searchCallOnlyPlaceholder": "Enter phone number",
|
||||
"searchPeopleOnlyPlaceholder": "Search for participants",
|
||||
"searchPlaceholder": "Participant or phone number",
|
||||
"send": "Send"
|
||||
},
|
||||
"inlineDialogFailure": {
|
||||
"msg": "We stumbled a bit.",
|
||||
"retry": "Try again",
|
||||
"support": "Support",
|
||||
"supportMsg": "If this keeps happening, reach out to"
|
||||
},
|
||||
"keyboardShortcuts": {
|
||||
"focusLocal": "Focus on your video",
|
||||
"focusRemote": "Focus on another person's video",
|
||||
"fullScreen": "View or exit full screen",
|
||||
"keyboardShortcuts": "Keyboard shortcuts",
|
||||
"localRecording": "Show or hide local recording controls",
|
||||
"mute": "השתק או השמע את המיקרופון ",
|
||||
"pushToTalk": "לחץ כדי לדבר",
|
||||
"raiseHand": "הרם או הורד את היד",
|
||||
"showSpeakerStats": "Show speaker stats",
|
||||
"toggleChat": "Open or close the chat",
|
||||
"toggleFilmstrip": "Show or hide video thumbnails",
|
||||
"toggleScreensharing": "Switch between camera and screen sharing",
|
||||
"toggleShortcuts": "Show or hide keyboard shortcuts",
|
||||
"videoMute": "Start or stop your camera"
|
||||
},
|
||||
"liveStreaming": {
|
||||
"busy": "We're working on freeing streaming resources. Please try again in a few minutes.",
|
||||
"busyTitle": "All streamers are currently busy",
|
||||
"changeSignIn": "Switch accounts.",
|
||||
"choose": "Choose a live stream",
|
||||
"chooseCTA": "Choose a streaming option. You're currently logged in as {{email}}.",
|
||||
"enterStreamKey": "Enter your YouTube live stream key here.",
|
||||
"error": "Live Streaming failed. Please try again.",
|
||||
"errorAPI": "An error occurred while accessing your YouTube broadcasts. Please try logging in again.",
|
||||
"errorLiveStreamNotEnabled": "Live Streaming is not enabled on {{email}}. Please enable live streaming or log into an account with live streaming enabled.",
|
||||
"expandedOff": "The live streaming has stopped",
|
||||
"expandedOn": "The meeting is currently being streamed to YouTube.",
|
||||
"expandedPending": "The live streaming is being started...",
|
||||
"failedToStart": "Live Streaming failed to start",
|
||||
"getStreamKeyManually": "We weren’t able to fetch any live streams. Try getting your live stream key from YouTube.",
|
||||
"invalidStreamKey": "Live stream key may be incorrect.",
|
||||
"off": "Live Streaming stopped",
|
||||
"on": "Live Streaming",
|
||||
"pending": "Starting Live Stream...",
|
||||
"serviceName": "Live Streaming service",
|
||||
"signedInAs": "You are currently signed in as:",
|
||||
"signIn": "Sign in with Google",
|
||||
"signInCTA": "Sign in or enter your live stream key from YouTube.",
|
||||
"signOut": "Sign out",
|
||||
"start": "Start a live stream",
|
||||
"streamIdHelp": "What's this?",
|
||||
"unavailableTitle": "Live Streaming unavailable"
|
||||
},
|
||||
"localRecording": {
|
||||
"clientState": {
|
||||
"off": "Off",
|
||||
"on": "On",
|
||||
"unknown": "Unknown"
|
||||
},
|
||||
"dialogTitle": "Local Recording Controls",
|
||||
"duration": "Duration",
|
||||
"durationNA": "N/A",
|
||||
"encoding": "Encoding",
|
||||
"label": "LOR",
|
||||
"labelToolTip": "Local recording is engaged",
|
||||
"localRecording": "Local Recording",
|
||||
"me": "Me",
|
||||
"messages": {
|
||||
"engaged": "Local recording engaged.",
|
||||
"finished": "Recording session {{token}} finished. Please send the recorded file to the moderator.",
|
||||
"finishedModerator": "Recording session {{token}} finished. The recording of the local track has been saved. Please ask the other participants to submit their recordings.",
|
||||
"notModerator": "You are not the moderator. You cannot start or stop local recording."
|
||||
},
|
||||
"moderator": "Moderator",
|
||||
"no": "No",
|
||||
"participant": "Participant",
|
||||
"participantStats": "Participant Stats",
|
||||
"sessionToken": "Session Token",
|
||||
"start": "Start Recording",
|
||||
"stop": "Stop Recording",
|
||||
"yes": "Yes"
|
||||
},
|
||||
"lockRoomPassword": "password",
|
||||
"lockRoomPasswordUppercase": "Password",
|
||||
"me": "me",
|
||||
"notify": {
|
||||
"connectedOneMember": "{{name}} joined the meeting",
|
||||
"connectedThreePlusMembers": "{{name}} and {{count}} others joined the meeting",
|
||||
"connectedTwoMembers": "{{first}} and {{second}} joined the meeting",
|
||||
"disconnected": "disconnected",
|
||||
"focus": "Conference focus",
|
||||
"focusFail": "{{component}} not available - retry in {{ms}} sec",
|
||||
"grantedTo": "Moderator rights granted to {{to}}!",
|
||||
"invitedOneMember": "{{name}} has been invited",
|
||||
"invitedThreePlusMembers": "{{name}} and {{count}} others have been invited",
|
||||
"invitedTwoMembers": "{{first}} and {{second}} have been invited",
|
||||
"kickParticipant": "{{kicked}} was kicked by {{kicker}}",
|
||||
"me": "Me",
|
||||
"moderator": "Moderator rights granted!",
|
||||
"muted": "You have started the conversation muted.",
|
||||
"mutedTitle": "You're muted!",
|
||||
"mutedRemotelyTitle": "You have been muted by {{participantDisplayName}}!",
|
||||
"mutedRemotelyDescription": "",
|
||||
"passwordRemovedRemotely": "",
|
||||
"passwordSetRemotely": "",
|
||||
"raisedHand": "{{name}} would like to speak.",
|
||||
"somebody": "Somebody",
|
||||
"startSilentTitle": "",
|
||||
"startSilentDescription": "",
|
||||
"suboptimalExperienceDescription": "Eer... we are afraid your experience with {{appName}} isn't going to be that great here. We are looking for ways to improve this but, until then, please try using one of the <a href='static/recommendedBrowsers.html' target='_blank'>fully supported browsers</a>.",
|
||||
"suboptimalExperienceTitle": "Browser Warning",
|
||||
"unmute": "",
|
||||
"newDeviceCameraTitle": "New camera detected",
|
||||
"newDeviceAudioTitle": "New audio device detected",
|
||||
"newDeviceAction": "Use"
|
||||
},
|
||||
"passwordSetRemotely": "set by another member",
|
||||
"passwordDigitsOnly": "Up to {{number}} digits",
|
||||
"poweredby": "powered by",
|
||||
"presenceStatus": {
|
||||
"busy": "Busy",
|
||||
"calling": "Calling...",
|
||||
"connected": "Connected",
|
||||
"connecting": "Connecting...",
|
||||
"connecting2": "Connecting*...",
|
||||
"disconnected": "Disconnected",
|
||||
"expired": "Expired",
|
||||
"ignored": "Ignored",
|
||||
"initializingCall": "Initialising Call...",
|
||||
"invited": "Invited",
|
||||
"rejected": "Rejected",
|
||||
"ringing": "Ringing..."
|
||||
},
|
||||
"profile": {
|
||||
"setDisplayNameLabel": "Set your display name",
|
||||
"setEmailInput": "Enter e-mail",
|
||||
"setEmailLabel": "Set your gravatar email",
|
||||
"title": "Profile"
|
||||
},
|
||||
"recording": {
|
||||
"authDropboxText": "Upload to Dropbox",
|
||||
"availableSpace": "Available space: {{spaceLeft}} MB (approximately {{duration}} minutes of recording)",
|
||||
"beta": "BETA",
|
||||
"busy": "We're working on freeing recording resources. Please try again in a few minutes.",
|
||||
"busyTitle": "All recorders are currently busy",
|
||||
"error": "Recording failed. Please try again.",
|
||||
"expandedOff": "Recording has stopped",
|
||||
"expandedOn": "The meeting is currently being recorded.",
|
||||
"expandedPending": "Recording is being started...",
|
||||
"failedToStart": "Recording failed to start",
|
||||
"fileSharingdescription": "Share recording with meeting participants",
|
||||
"live": "LIVE",
|
||||
"loggedIn": "Logged in as {{userName}}",
|
||||
"off": "Recording stopped",
|
||||
"on": "Recording",
|
||||
"pending": "Preparing to record the meeting...",
|
||||
"rec": "REC",
|
||||
"serviceDescription": "Your recording will be saved by the recording service",
|
||||
"serviceName": "Recording service",
|
||||
"signIn": "Sign in",
|
||||
"signOut": "Sign out",
|
||||
"unavailable": "Oops! The {{serviceName}} is currently unavailable. We're working on resolving the issue. Please try again later.",
|
||||
"unavailableTitle": "Recording unavailable"
|
||||
},
|
||||
"sectionList": {
|
||||
"pullToRefresh": "Pull to refresh"
|
||||
},
|
||||
"settings": {
|
||||
"calendar": {
|
||||
"about": "The {{appName}} calendar integration is used to securely access your calendar so it can read upcoming events.",
|
||||
"disconnect": "Disconnect",
|
||||
"microsoftSignIn": "Sign in with Microsoft",
|
||||
"signedIn": "Currently accessing calendar events for {{email}}. Click the Disconnect button below to stop accessing calendar events.",
|
||||
"title": "Calendar"
|
||||
},
|
||||
"devices": "Devices",
|
||||
"followMe": "Everyone follows me",
|
||||
"language": "Language",
|
||||
"loggedIn": "Logged in as {{name}}",
|
||||
"moderator": "Moderator",
|
||||
"more": "More",
|
||||
"name": "Name",
|
||||
"noDevice": "None",
|
||||
"selectAudioOutput": "Audio output",
|
||||
"selectCamera": "Camera",
|
||||
"selectMic": "Microphone",
|
||||
"startAudioMuted": "Everyone starts muted",
|
||||
"startVideoMuted": "Everyone starts hidden",
|
||||
"title": "Settings"
|
||||
},
|
||||
"settingsView": {
|
||||
"alertOk": "OK",
|
||||
"alertTitle": "Warning",
|
||||
"alertURLText": "The entered server URL is invalid",
|
||||
"buildInfoSection": "Build Information",
|
||||
"conferenceSection": "Conference",
|
||||
"displayName": "Display name",
|
||||
"email": "Email",
|
||||
"header": "Settings",
|
||||
"profileSection": "Profile",
|
||||
"serverURL": "Server URL",
|
||||
"startWithAudioMuted": "Start with audio muted",
|
||||
"startWithVideoMuted": "Start with video muted",
|
||||
"version": "Version"
|
||||
},
|
||||
"share": {
|
||||
"dialInfoText": "\n\n=====\n\nJust want to dial in on your phone?\n\n{{defaultDialInNumber}}Click this link to see the dial in phone numbers for this meeting\n{{dialInfoPageUrl}}",
|
||||
"mainText": "Click the following link to join the meeting:\n{{roomUrl}}"
|
||||
},
|
||||
"speaker": "Speaker",
|
||||
"speakerStats": {
|
||||
"hours": "{{count}}h",
|
||||
"minutes": "{{count}}m",
|
||||
"name": "Name",
|
||||
"seconds": "{{count}}s",
|
||||
"speakerStats": "Speaker Stats",
|
||||
"speakerTime": "Speaker Time"
|
||||
},
|
||||
"startupoverlay": {
|
||||
"policyText": " ",
|
||||
"title": "{{app}} needs to use your microphone and camera."
|
||||
},
|
||||
"suspendedoverlay": {
|
||||
"rejoinKeyTitle": "Rejoin",
|
||||
"text": "Press the <i>Rejoin</i> button to reconnect.",
|
||||
"title": "Your video call was interrupted because this computer went to sleep."
|
||||
},
|
||||
"toolbar": {
|
||||
"accessibilityLabel": {
|
||||
"audioOnly": "Toggle audio only",
|
||||
"audioRoute": "Select the sound device",
|
||||
"callQuality": "Manage call quality",
|
||||
"cc": "Toggle subtitles",
|
||||
"chat": "Toggle chat window",
|
||||
"document": "Toggle shared document",
|
||||
"feedback": "Leave feedback",
|
||||
"fullScreen": "Toggle full screen",
|
||||
"hangup": "Leave the call",
|
||||
"invite": "Invite people",
|
||||
"kick": "Kick participant",
|
||||
"localRecording": "Toggle local recording controls",
|
||||
"lockRoom": "Toggle meeting password",
|
||||
"moreActions": "Toggle more actions menu",
|
||||
"moreActionsMenu": "More actions menu",
|
||||
"mute": "Toggle mute audio",
|
||||
"pip": "Toggle Picture-in-Picture mode",
|
||||
"profile": "Edit your profile",
|
||||
"raiseHand": "Toggle raise hand",
|
||||
"recording": "Toggle recording",
|
||||
"remoteMute": "Mute participant",
|
||||
"Settings": "Toggle settings",
|
||||
"sharedvideo": "Toggle Youtube video sharing",
|
||||
"shareRoom": "Invite someone",
|
||||
"shareYourScreen": "Toggle screenshare",
|
||||
"shortcuts": "Toggle shortcuts",
|
||||
"show": "",
|
||||
"speakerStats": "Toggle speaker statistics",
|
||||
"tileView": "Toggle tile view",
|
||||
"toggleCamera": "Toggle camera",
|
||||
"videomute": "Toggle mute video",
|
||||
"videoblur": ""
|
||||
},
|
||||
"addPeople": "Add people to your call",
|
||||
"audioOnlyOff": "Disable audio only mode",
|
||||
"audioOnlyOn": "Enable audio only mode",
|
||||
"audioRoute": "Select the sound device",
|
||||
"authenticate": "Authenticate",
|
||||
"callQuality": "Manage call quality",
|
||||
"chat": "Open / Close chat",
|
||||
"closeChat": "Close chat",
|
||||
"documentClose": "Close shared document",
|
||||
"documentOpen": "Open shared document",
|
||||
"enterFullScreen": "View full screen",
|
||||
"enterTileView": "Enter tile view",
|
||||
"exitFullScreen": "Exit full screen",
|
||||
"exitTileView": "Exit tile view",
|
||||
"feedback": "Leave feedback",
|
||||
"hangup": "Leave",
|
||||
"invite": "Invite people",
|
||||
"login": "Log in",
|
||||
"logout": "Log out",
|
||||
"lowerYourHand": "Lower your hand",
|
||||
"moreActions": "More actions",
|
||||
"mute": "Mute / Unmute",
|
||||
"openChat": "Open chat",
|
||||
"pip": "Enter Picture-in-Picture mode",
|
||||
"profile": "Edit your profile",
|
||||
"raiseHand": "Raise / Lower your hand",
|
||||
"raiseYourHand": "Raise your hand",
|
||||
"Settings": "Settings",
|
||||
"sharedvideo": "Share a YouTube video",
|
||||
"shareRoom": "Invite someone",
|
||||
"shortcuts": "View shortcuts",
|
||||
"speakerStats": "Speaker stats",
|
||||
"startScreenSharing": "Start screen sharing",
|
||||
"startSubtitles": "Start subtitles",
|
||||
"stopScreenSharing": "Stop screen sharing",
|
||||
"stopSubtitles": "Stop subtitles",
|
||||
"stopSharedVideo": "Stop YouTube video",
|
||||
"talkWhileMutedPopup": "Trying to speak? You are muted.",
|
||||
"tileViewToggle": "Toggle tile view",
|
||||
"toggleCamera": "Toggle camera",
|
||||
"videomute": "Start / Stop camera",
|
||||
"startvideoblur": "",
|
||||
"stopvideoblur": ""
|
||||
},
|
||||
"transcribing": {
|
||||
"ccButtonTooltip": "Start / Stop subtitles",
|
||||
"error": "Transcribing failed. Please try again.",
|
||||
"expandedLabel": "Transcribing is currently on",
|
||||
"failedToStart": "Transcribing failed to start",
|
||||
"labelToolTip": "The meeting is being transcribed",
|
||||
"off": "Transcribing stopped",
|
||||
"pending": "Preparing to transcribe the meeting...",
|
||||
"start": "Start showing subtitles",
|
||||
"stop": "Stop showing subtitles",
|
||||
"tr": "TR"
|
||||
},
|
||||
"userMedia": {
|
||||
"androidGrantPermissions": "Select <b><i>Allow</i></b> when your browser asks for permissions.",
|
||||
"chromeGrantPermissions": "Select <b><i>Allow</i></b> when your browser asks for permissions.",
|
||||
"edgeGrantPermissions": "Select <b><i>Yes</i></b> when your browser asks for permissions.",
|
||||
"electronGrantPermissions": "Please grant permissions to use your camera and microphone",
|
||||
"firefoxGrantPermissions": "Select <b><i>Share Selected Device</i></b> when your browser asks for permissions.",
|
||||
"iexplorerGrantPermissions": "Select <b><i>OK</i></b> when your browser asks for permissions.",
|
||||
"nwjsGrantPermissions": "Please grant permissions to use your camera and microphone",
|
||||
"operaGrantPermissions": "Select <b><i>Allow</i></b> when your browser asks for permissions.",
|
||||
"react-nativeGrantPermissions": "Select <b><i>Allow</i></b> when your browser asks for permissions.",
|
||||
"safariGrantPermissions": "Select <b><i>OK</i></b> when your browser asks for permissions."
|
||||
},
|
||||
"videoSIPGW": {
|
||||
"busy": "We're working on freeing resources. Please try again in a few minutes.",
|
||||
"busyTitle": "The Room service is currently busy",
|
||||
"errorAlreadyInvited": "{{displayName}} already invited",
|
||||
"errorInvite": "Conference not established yet. Please try again later.",
|
||||
"errorInviteFailed": "We're working on resolving the issue. Please try again later.",
|
||||
"errorInviteFailedTitle": "Inviting {{displayName}} failed",
|
||||
"errorInviteTitle": "Error inviting room",
|
||||
"pending": "{{displayName}} has been invited"
|
||||
},
|
||||
"videoStatus": {
|
||||
"audioOnly": "AUD",
|
||||
"audioOnlyExpanded": "You are in audio only mode. This mode saves bandwidth but you won't see videos of others.",
|
||||
"callQuality": "Call Quality",
|
||||
"hd": "HD",
|
||||
"highDefinition": "High definition",
|
||||
"labelTooiltipNoVideo": "No video",
|
||||
"labelTooltipAudioOnly": "Audio-only mode enabled",
|
||||
"ld": "LD",
|
||||
"lowDefinition": "Low definition",
|
||||
"onlyAudioAvailable": "Only audio is available",
|
||||
"onlyAudioSupported": "We only support audio in this browser.",
|
||||
"p2pEnabled": "Peer to Peer Enabled",
|
||||
"p2pVideoQualityDescription": "In peer to peer mode, received call quality can only be toggled between high and audio only. Other settings will not be honoured until peer to peer is exited.",
|
||||
"recHighDefinitionOnly": "Will prefer high definition.",
|
||||
"sd": "SD",
|
||||
"standardDefinition": "Standard definition"
|
||||
},
|
||||
"videothumbnail": {
|
||||
"domute": "Mute",
|
||||
"flip": "Flip",
|
||||
"kick": "Kick out",
|
||||
"moderator": "Moderator",
|
||||
"mute": "Member is muted",
|
||||
"muted": "Muted",
|
||||
"remoteControl": "Remote control",
|
||||
"show": "",
|
||||
"videomute": "Member has stopped the camera"
|
||||
},
|
||||
"welcomepage": {
|
||||
"accessibilityLabel": {
|
||||
"join": "Tap to join",
|
||||
"roomname": "Enter room name"
|
||||
},
|
||||
"appDescription": "Go ahead, video chat with the whole team. In fact, invite everyone you know. {{app}} is a fully encrypted, 100% open source video conferencing solution that you can use all day, every day, for free — with no account needed.",
|
||||
"audioVideoSwitch": {
|
||||
"audio": "Voice",
|
||||
"video": "Video"
|
||||
},
|
||||
"calendar": "Calendar",
|
||||
"connectCalendarButton": "Connect your calendar",
|
||||
"connectCalendarText": "",
|
||||
"enterRoomTitle": "Start a new meeting",
|
||||
"go": "GO",
|
||||
"join": "JOIN",
|
||||
"info": "Info",
|
||||
"privacy": "Privacy",
|
||||
"recentList": "Recent",
|
||||
"recentListDelete": "Delete",
|
||||
"recentListEmpty": "Your recent list is currently empty. Chat with your team and you will find all your recent meetings here.",
|
||||
"reducedUIText": "",
|
||||
"roomname": "Enter room name",
|
||||
"roomnameHint": "Enter the name or URL of the room you want to join. You may make a name up, just let the people you are meeting know it so that they enter the same name.",
|
||||
"sendFeedback": "Send feedback",
|
||||
"terms": "Terms",
|
||||
"title": "Secure, fully featured, and completely free video conferencing"
|
||||
}
|
||||
}
|
||||
@@ -4,13 +4,13 @@
|
||||
"countryNotSupported": "Non supportiamo ancora questa destinazione.",
|
||||
"countryReminder": "Stai chiamando fuori dagli Stati Uniti? Assicurati d'inserire il prefisso internazionale!",
|
||||
"disabled": "Non puoi invitare persone.",
|
||||
"failedToAdd": "",
|
||||
"footerText": "La chiamata dall'esterno è disabilitata.",
|
||||
"loading": "Cercando persone e numeri di telefono",
|
||||
"failedToAdd": "L'aggiunta di nuovi membri è fallita",
|
||||
"footerText": "La chiamata all'esterno è disabilitata.",
|
||||
"loading": "Sto cercando persone e numeri di telefono",
|
||||
"loadingNumber": "Sto validando il numero di telefono",
|
||||
"loadingPeople": "Ricerca delle persone da invitare",
|
||||
"loadingPeople": "Sto cercando le persone da invitare",
|
||||
"noResults": "Nessun risultato corrispondente",
|
||||
"noValidNumbers": "Inserire un numero di telefono",
|
||||
"noValidNumbers": "Per favore inserire un numero di telefono",
|
||||
"searchNumbers": "Aggiungi numeri di telefono",
|
||||
"searchPeople": "Cerca persone",
|
||||
"searchPeopleAndNumbers": "Cerca persone o aggiungi i loro numeri di telefono",
|
||||
@@ -28,10 +28,10 @@
|
||||
},
|
||||
"calendarSync": {
|
||||
"addMeetingURL": "Aggiungi un collegamento alla conferenza",
|
||||
"confirmAddLink": "Vuoi aggiungere un collegamento a ANDI Conference a questo evento?",
|
||||
"confirmAddLink": "Vuoi aggiungere un collegamento Jitsi a questo evento?",
|
||||
"error": {
|
||||
"appConfiguration": "L'integrazione del calendario non è configurata in modo appropriato.",
|
||||
"generic": "È stato riscontrato un errore. Controllare le impostazioni del calendario e ricaricare la pagina.",
|
||||
"generic": "È stato riscontrato un errore. Controllare le impostazioni del calendario o ricaricare la pagina.",
|
||||
"notSignedIn": "È stato riscontrato un errore durante l'autenticazione per la visualizzazione degli eventi del calendario. Controllare le impostazioni del calendario e provare a ripetere l'accesso."
|
||||
},
|
||||
"join": "Partecipa",
|
||||
@@ -45,7 +45,7 @@
|
||||
"today": "Oggi"
|
||||
},
|
||||
"chat": {
|
||||
"error": "Errore: il tuo messaggio “{{originalText}}” non e’ stato inviato. Ragione: {{error}}",
|
||||
"error": "Errore: il tuo messaggio “{{originalText}}” non e’ stato inviato. Motivo: {{error}}",
|
||||
"messagebox": "Digitare un messaggio",
|
||||
"nickname": {
|
||||
"popover": "Scegli un nickname",
|
||||
@@ -54,7 +54,7 @@
|
||||
"title": "Chat"
|
||||
},
|
||||
"connectingOverlay": {
|
||||
"joiningRoom": "Collegamento al meeting in corso…"
|
||||
"joiningRoom": "Collegamento al tuo meeting in corso…"
|
||||
},
|
||||
"connection": {
|
||||
"ATTACHED": "Collegato",
|
||||
@@ -63,7 +63,7 @@
|
||||
"CONNECTED": "Connesso",
|
||||
"CONNECTING": "Connessione",
|
||||
"CONNFAIL": "Connessione non riuscita",
|
||||
"DISCONNECTED": "Occupato",
|
||||
"DISCONNECTED": "Disconnesso",
|
||||
"DISCONNECTING": "Disconnessione in corso",
|
||||
"ERROR": "Errore",
|
||||
"RECONNECTING": "Si è verificato un problema di rete. Riconnessione..."
|
||||
@@ -124,7 +124,7 @@
|
||||
"noPermission": "Permesso negato",
|
||||
"previewUnavailable": "Anteprima non disponibile",
|
||||
"selectADevice": "Seleziona un dispositivo",
|
||||
"testAudio": "Riproduci un suono di test"
|
||||
"testAudio": "Riproduci un suono di prova"
|
||||
},
|
||||
"dialog": {
|
||||
"accessibilityLabel": {
|
||||
@@ -498,7 +498,7 @@
|
||||
"selectCamera": "Videocamera",
|
||||
"selectMic": "Microfono",
|
||||
"startAudioMuted": "Tutti cominciano con il microfono disattivato",
|
||||
"startVideoMuted": "Tutti cominciano con il video video",
|
||||
"startVideoMuted": "Tutti cominciano con il video disattivato",
|
||||
"title": "Impostazioni"
|
||||
},
|
||||
"settingsView": {
|
||||
@@ -686,7 +686,7 @@
|
||||
"join": "Tap per accedere",
|
||||
"roomname": "Inserisci Nome Stanza"
|
||||
},
|
||||
"appDescription": "Via avanti, video chatta con l'intero team. In effetti, invita tutti quelli che conosci. {{app}} è una soluzione di video conference totalmente crittografata, 100% open source, che puoi utilizzare tutto il giorno, ogni giorno, gratuitamente - senza bisogno di un account.",
|
||||
"appDescription": "Avvia una videochiamata con tutto il team. Invita tutti quelli che conosci. {{app}} è una soluzione per effettuare videoconferenze totalmente crittografata, 100% open source, che puoi usare sempre, ogni giorno, gratuitamente – senza bisogno di un account.",
|
||||
"audioVideoSwitch": {
|
||||
"audio": "Voce",
|
||||
"video": "Video"
|
||||
|
||||
@@ -533,8 +533,8 @@
|
||||
},
|
||||
"speaker": "スピーカー",
|
||||
"speakerStats": {
|
||||
"hours": "{{count}} 秒",
|
||||
"minutes": "{{count}} 秒",
|
||||
"hours": "{{count}} 時間",
|
||||
"minutes": "{{count}} 分",
|
||||
"name": "名前",
|
||||
"seconds": "{{count}} 秒",
|
||||
"speakerStats": "話者の統計",
|
||||
|
||||
779
lang/main-lt.json
Normal file
779
lang/main-lt.json
Normal file
@@ -0,0 +1,779 @@
|
||||
{
|
||||
"addPeople": {
|
||||
"add": "Pakviesti",
|
||||
"countryNotSupported": "Kol kas nepalaikome šios vietovės.",
|
||||
"countryReminder": "Jei skambinate už JAV ribų, nepamirškite pridėti šalies kodo!",
|
||||
"disabled": "Jūs negalite pakviesti dalyvių.",
|
||||
"failedToAdd": "Nepavyko pridėti dalyvių",
|
||||
"footerText": "Numerio rinkimas išjungtas.",
|
||||
"loading": "Dalyvių ar telefono numerių paieška",
|
||||
"loadingNumber": "Tikrinamas telefono numeris",
|
||||
"loadingPeople": "Ieškoma pakviestų dalyvių",
|
||||
"noResults": "Nėra atitinkančių paieškos rezultatus",
|
||||
"noValidNumbers": "Įveskite telefono numerį",
|
||||
"searchNumbers": "Pridėkite telefono numerius",
|
||||
"searchPeople": "Žmonių paieška",
|
||||
"searchPeopleAndNumbers": "Ieškoti žmonių arba pridėti jų telefonų numerius",
|
||||
"telephone": "Tel. nr.: {{number}}",
|
||||
"title": "Pakvieskite žmones į šį susitikimą"
|
||||
},
|
||||
"audioDevices": {
|
||||
"bluetooth": "Bluetooth",
|
||||
"headphones": "Ausinės",
|
||||
"phone": "Telefonas",
|
||||
"speaker": "Garsiakalbis",
|
||||
"none": "Neaptikta garso įrenginių"
|
||||
},
|
||||
"audioOnly": {
|
||||
"audioOnly": "Mažas pralaidumas (tik garsas)"
|
||||
},
|
||||
"calendarSync": {
|
||||
"addMeetingURL": "Įdėti susitikimo nuorodą",
|
||||
"confirmAddLink": "Ar norite pridėti Jitsi nuorodą į šį įvykį?",
|
||||
"error": {
|
||||
"appConfiguration": "Kalendoriaus integracija nėra tinkamai sukonfigūruota.",
|
||||
"generic": "Įvyko klaida. Patikrinkite kalendoriaus nustatymus arba pabandykite įkelti kalendorių iš naujo.",
|
||||
"notSignedIn": "Autentifikuojant kalendoriaus įvykius įvyko klaida. Patikrinkite kalendoriaus nustatymus ir bandykite prisijungti dar kartą."
|
||||
},
|
||||
"join": "Prisijunkite",
|
||||
"joinTooltip": "Prisijunkite prie susitikimo",
|
||||
"nextMeeting": "Kitas susitikimas",
|
||||
"noEvents": "Nėra suplanuotų įvykių.",
|
||||
"ongoingMeeting": "dabar vykstantis susitikimas",
|
||||
"permissionButton": "atverti nustatymus",
|
||||
"permissionMessage": "Norint pamatyti jūsų susitikimus programoje, reikalingas leidimas prie kalendoriaus.",
|
||||
"refresh": "Atnaujinti kalendorių",
|
||||
"today": "Šiandien"
|
||||
},
|
||||
"chat": {
|
||||
"error": "Klaida: jūsų pranešimas nebuvo išsiųstas. Priežastis: {{klaida}}",
|
||||
"fieldPlaceHolder": "Rašykite žinutę čia",
|
||||
"messagebox": "Rašykite žinutę",
|
||||
"messageTo": "Asmeninis pranešimas {{gavėjas}}",
|
||||
"noMessagesMessage": "Susitikime dar nėra pranešimų. Pradėkite pokalbį čia!",
|
||||
"nickname": {
|
||||
"popover": "Pridėkite slapyvardį",
|
||||
"title": "Norėdami naudoti pokalbį, įveskite slapyvardį"
|
||||
},
|
||||
"privateNotice": "Asmeninis pranešimas {{gavėjui}}",
|
||||
"title": "Pokalbis",
|
||||
"you": "Jūs"
|
||||
},
|
||||
"chromeExtensionBanner": {
|
||||
"installExtensionText": "Įdiekite „Google“ ir „Office 365“ kalendoriaus plėtinį",
|
||||
"buttonText": "Įdiekite Chrome plėtinį",
|
||||
"dontShowAgain": "Daugiau nerodyti"
|
||||
},
|
||||
"connectingOverlay": {
|
||||
"joiningRoom": "Jungiamasi prie jūsų susitikimo..."
|
||||
},
|
||||
"connection": {
|
||||
"ATTACHED": "Pridėta",
|
||||
"AUTHENTICATING": "Tikrinama",
|
||||
"AUTHFAIL": "Autorizavimas nepavyko",
|
||||
"CONNECTED": "Prisijungta",
|
||||
"CONNECTING": "Jungiamasi",
|
||||
"CONNFAIL": "Prisijungimas nepavyko",
|
||||
"DISCONNECTED": "Atsijungta",
|
||||
"DISCONNECTING": "Atsijungiama",
|
||||
"ERROR": "Klaida",
|
||||
"FETCH_SESSION_ID": "Gaunamas sesijos-id...",
|
||||
"GET_SESSION_ID_ERROR": "Sesijos-id gavimo klaida: {{kodas}}",
|
||||
"GOT_SESSION_ID": "Gautas sesijos-id... Atlikta",
|
||||
"LOW_BANDWIDTH": "Vaizdo įrašas, skirtas {{displayName}}, buvo išjungtas, kad būtų išsaugotas pralaidumas"
|
||||
},
|
||||
"connectionindicator": {
|
||||
"address": "Adresas:",
|
||||
"bandwidth": "Nustatytas pralaidumas:",
|
||||
"bitrate": "Bitrate:",
|
||||
"bridgeCount": "Serverių skaičius: ",
|
||||
"connectedTo": "Prijungta prie:",
|
||||
"e2e_rtt": "E2E RTT:",
|
||||
"framerate": "Kadrų dažnis:",
|
||||
"less": "Rodyti mažiau",
|
||||
"localaddress": "Vietinis adresas:",
|
||||
"localaddress_plural": "Vietiniai adresai:",
|
||||
"localport": "Vietinė jungtis:",
|
||||
"localport_plural": "Vietinės jungtys:",
|
||||
"more": "Rodyti daugiau",
|
||||
"packetloss": "Paketų praradimas:",
|
||||
"quality": {
|
||||
"good": "Gerai",
|
||||
"inactive": "Neaktyvus",
|
||||
"lost": "Prarastas",
|
||||
"nonoptimal": "Neoptimalu",
|
||||
"poor": "Prastai"
|
||||
},
|
||||
"remoteaddress": "Nuotolinis adresas:",
|
||||
"remoteaddress_plural": "Nuotoliniai adresai:",
|
||||
"remoteport": "Nuotolinė jungtis:",
|
||||
"remoteport_plural": "Nuotolinės jungtys:",
|
||||
"resolution": "Raiška:",
|
||||
"status": "Prisijungimas:",
|
||||
"transport": "Transportas:",
|
||||
"transport_plural": "Transportai:"
|
||||
},
|
||||
"dateUtils": {
|
||||
"earlier": "Anksčiau",
|
||||
"today": "Šiandien",
|
||||
"yesterday": "Vakar"
|
||||
},
|
||||
"deepLinking": {
|
||||
"appNotInstalled": "Jums reikia {{app}} mobiliosios programėlės, kad prisijungtumėt prie šio susitikimo savo telefone.",
|
||||
"description": "Nieko neįvyko? Mes bandėm prijungti prie darbalaukio {{app}} programos. Bandykite dar sykį arba junkitės prie {{app}} naršyklės.",
|
||||
"descriptionWithoutWeb": "Nieko neįvyko? Mes bandėm prijungti susitikimą prie {{app}} darbalaukio programos.",
|
||||
"downloadApp": "Atsisiųsti programą",
|
||||
"launchWebButton": "Paleisti svetainėje",
|
||||
"openApp": "Tęsti mobiliaja programėle",
|
||||
"title": "Paleidžiamas susitikimas {{app}}...",
|
||||
"tryAgainButton": "Bandyti dar kartą darbalaukyje"
|
||||
},
|
||||
"defaultLink": "e.g. {{url}}",
|
||||
"defaultNickname": "ex. Jane Pink",
|
||||
"deviceError": {
|
||||
"cameraError": "Nepavyko prijungti kameros",
|
||||
"cameraPermission": "Nepavyko gauti sutikimo kameros prijungimui",
|
||||
"microphoneError": "Nepavyko prijungti mikrafono",
|
||||
"microphonePermission": "Nepavyko gauti sutikimo mikrafono prijungimui"
|
||||
},
|
||||
"deviceSelection": {
|
||||
"noPermission": "Leidimas nesuteiktas",
|
||||
"previewUnavailable": "Peržiūra negalima",
|
||||
"selectADevice": "Pasirinkite prietaisą",
|
||||
"testAudio": "Testuoti garsą"
|
||||
},
|
||||
"dialog": {
|
||||
"accessibilityLabel": {
|
||||
"liveStreaming": "Tiesioginis srautas"
|
||||
},
|
||||
"allow": "Leisti",
|
||||
"alreadySharedVideoMsg": "Kitas naudotojas jau dalinasi vaizdu. Šiame susitikime leidžiama dalintis tik vienu vaizdo įrašu vienu metu.",
|
||||
"alreadySharedVideoTitle": "Leidžiama dalintis tik vienu vaizdo įrašu vienu metu.",
|
||||
"applicationWindow": "Programos langas",
|
||||
"Back": "Atgal",
|
||||
"cameraConstraintFailedError": "Jūsų kamera neatitinka reikalavimų.",
|
||||
"cameraNotFoundError": "Kamera nerasta.",
|
||||
"cameraNotSendingData": "Mums nepavyko prijungti kameros. Patikrinkite, ar kita programa nenaudoja šio įrenginio, nustatymų meniu pasirinkite kitą įrenginį arba pabandykite iš naujo įkelti programą",
|
||||
"cameraNotSendingDataTitle": "Mums nepavyko prijungti kameros",
|
||||
"cameraPermissionDeniedError": "Jūs negavote leidimo naudotis savo kamera. Jūs vis tiek galite prisijungti prie susitikimo, tačiau kiti jūsų nematys. Pasinaudokit kameros mygtuku adreso laukelyje, jei norite tai pakeisti.",
|
||||
"cameraUnknownError": "Įvyko klaida - negalite naudoti kameros.",
|
||||
"cameraUnsupportedResolutionError": "Jūsų kamera nepalaiko reikalaujamos vaizdo raiškos.",
|
||||
"Cancel": "Atšaukti",
|
||||
"close": "Uždaryti",
|
||||
"conferenceDisconnectMsg": "Pasitikrinkite savo interneto ryšį. Perkrausime už {{seconds}} sek. ...",
|
||||
"conferenceDisconnectTitle": "Jūs buvote atjungta(-as).",
|
||||
"conferenceReloadMsg": "Mes bandome tai pataisyti. Perkrausime už {{seconds}} sek. ...",
|
||||
"conferenceReloadTitle": "Apgailėstaujame, įvyko klaida.",
|
||||
"confirm": "Patvirtinti",
|
||||
"confirmNo": "Ne",
|
||||
"confirmYes": "Taip",
|
||||
"connectError": "Oi! Kažkas įvyko negerai, negalėjome jūsų prijungti prie susitikimo.",
|
||||
"connectErrorWithMsg": "Oi! Kažkas įvyko negerai, negalėjome jūsų prijungti prie susitikimo.: {{msg}}",
|
||||
"connecting": "Jungiame",
|
||||
"contactSupport": "Palaikymo komanda",
|
||||
"copy": "Kopijuoti",
|
||||
"dismiss": "Atmesti",
|
||||
"displayNameRequired": "Sveiki! Kuo jūs vardu?",
|
||||
"done": "Atlikta",
|
||||
"enterDisplayName": "Prašome įvesti savo vardą",
|
||||
"error": "Klaida",
|
||||
"externalInstallationMsg": "Jums reikia atsisiųsti mūsų darbalaukio dalinimosi plėtinį.",
|
||||
"externalInstallationTitle": "Reikalingas plėtinys",
|
||||
"goToStore": "Apsilankykite mūsų internetinėje parduotuvėje",
|
||||
"gracefulShutdown": "Mūsų paslaugos šiuo metu neveikia. Prašome pabandyti vėliau.",
|
||||
"IamHost": "Aš esu šeimininkas (-ė)",
|
||||
"incorrectRoomLockPassword": "Slaptažodis neteisingas",
|
||||
"incorrectPassword": "Neteisingi prisijungimo vardas arba slaptažodis",
|
||||
"inlineInstallationMsg": "Jums reikia atsisiųsti mūsų darbalaukio dalinimosi plėtinį.",
|
||||
"inlineInstallExtension": "Įdiegti dabar",
|
||||
"internalError": "Oi! Įvyko klaida: {{error}}",
|
||||
"internalErrorTitle": "Vidinė klaida",
|
||||
"kickMessage": "Galite susisiekti su {{participantDisplayName}} dėl daugiau informacijos.",
|
||||
"kickParticipantButton": "Išspirti",
|
||||
"kickParticipantDialog": "Ar jūs esate įsitikinę, kad norite išspirti šį naudotoją?",
|
||||
"kickParticipantTitle": "Išspirti šį naudotoją?",
|
||||
"kickTitle": "Oi! {{participantDisplayName}} Jus išspyrė iš susitikimo",
|
||||
"liveStreaming": "Tiesioginė transliacija",
|
||||
"liveStreamingDisabledForGuestTooltip": "Svečiai negali pradėti tiesioginės transliacijos.",
|
||||
"liveStreamingDisabledTooltip": "Tiesioginė transliacija išjungta.",
|
||||
"lockMessage": "Nepavyko užrakinti susitikimo.",
|
||||
"lockRoom": "Pridėti susitikimą $t(lockRoomPasswordUppercase)",
|
||||
"lockTitle": "Užrakinimas neįvyko",
|
||||
"logoutQuestion": "Ar tikrai norite išeiti ir palikti susitikimą?",
|
||||
"logoutTitle": "Atsijungti",
|
||||
"maxUsersLimitReached": "Pasiektas dalyvių limitas. Ši konferencija jau yra pilna. Prašome susisiekti su susitikimo rengėju ir pabandyti dar kartą vėliau!",
|
||||
"maxUsersLimitReachedTitle": "Dalyvių limitas pasiektas",
|
||||
"micConstraintFailedError": "Jūsų mikrofonas nepatenkina tam tikrų mūsų reikalavimų.",
|
||||
"micNotFoundError": "Mikrofonas nerastas.",
|
||||
"micNotSendingData": "Nueikite į savo kompiuterio nustatymus, kad išjungtumėte begarsį rėžimą, o tada pakoreguokite garso lygį.",
|
||||
"micNotSendingDataTitle": "Jūsų mikrofonas yra išjungtas jūsų kompiuterio nustatymuose",
|
||||
"micPermissionDeniedError": "Jūs negavote leidimo naudotis mikrofonu. Jūs vis tiek galite prisijungti prie susitikimo, tačiau niekas jūsų negirdės. Naudokites kameros mygtuku įrankių juostoje, kad išspręstumėte šią problemą.",
|
||||
"micUnknownError": "Jūs negalite naudotis mikrofonu dėl nežinomų priežasčių.",
|
||||
"muteEveryoneElseDialog": "Kartą juos nutildę, nebegalėsite jų pagarsinti, nebent jie patys išeis iš begarsio rėžimo.",
|
||||
"muteEveryoneElseTitle": "Nutildykite visus išskyrus {{whom}}?",
|
||||
"muteEveryoneDialog": "Ar jūs esate tikri, kad norite visus nutildyti? Tai padarę nebegalėsite jų pagarsinti, nebent jie patys išeis iš begarsio rėžimo.",
|
||||
"muteEveryoneTitle": "Nutildyti visus?",
|
||||
"muteEveryoneSelf": "save",
|
||||
"muteEveryoneStartMuted": "Nuo šiol visi įeiną į begarsį rėžimą",
|
||||
"muteParticipantBody": "Nebegalėsite jų pagarsinti, nebent jie patys išeis iš begarsio rėžimo.",
|
||||
"muteParticipantButton": "Nutildyti",
|
||||
"muteParticipantDialog": "Ar jūs esate tikri, kad norite nutildytį šį naudotoją? Tai padarę nebegalėsite jo pagarsinti, nebent pats išeis iš begarsio rėžimo.",
|
||||
"muteParticipantTitle": "Nutildyti šį dalyvį?",
|
||||
"Ok": "Ok",
|
||||
"passwordLabel": "$t(lockRoomPasswordUppercase)",
|
||||
"passwordNotSupported": "Pradėtas susitikimas $t(lockRoomPassword) yra nepalaikomas.",
|
||||
"passwordNotSupportedTitle": "$t(lockRoomPasswordUppercase) nepalaikoma",
|
||||
"passwordRequired": "$t(lockRoomPasswordUppercase) privaloma",
|
||||
"popupError": "Jūsų naršyklė blokuoja išsišokančius langus šioje svetainėje. Prašome išjungti šią funkciją per savo svetainės nustatymus ir bandyti iš naujo.",
|
||||
"popupErrorTitle": "Išsišokantis langas užblokuotas",
|
||||
"recording": "Įrašoma",
|
||||
"recordingDisabledForGuestTooltip": "Svečiai negali pradėti įrašinėti.",
|
||||
"recordingDisabledTooltip": "Įrašinėjimas išjungtas.",
|
||||
"rejoinNow": "Persijungti dabar",
|
||||
"remoteControlAllowedMessage": "{{user}} priėmė jūsų prašymą nuotoliniam valdymui!",
|
||||
"remoteControlDeniedMessage": "{{user}} atmetė jūsų prašymą nuotoliniam valdymui!",
|
||||
"remoteControlErrorMessage": "Įvyko klaida bandant siųsti prašymą dėl nuotolinio valdymo naudotojui {{user}}!",
|
||||
"remoteControlRequestMessage": "Ar leisite naudotojui {{user}} naudotis jūsų darbalaukiu per nuotolinį valdymą?",
|
||||
"remoteControlShareScreenWarning": "Jei paspausite \"Leisti\" jūs pasidalinsite savo ekranu!",
|
||||
"remoteControlStopMessage": "Nuotolinio valdymo seansas baigėsi!",
|
||||
"remoteControlTitle": "Nuotolinio valdymo darbalaukio kontrolė",
|
||||
"Remove": "Pašalinti",
|
||||
"removePassword": "Pašalinti $t(lockRoomPassword)",
|
||||
"removeSharedVideoMsg": "Ar jūs esate tikri, kad norite pašalinti pasidalintą video?",
|
||||
"removeSharedVideoTitle": "Remove shared video",
|
||||
"reservationError": "Rezervavimo sistemos klaida",
|
||||
"reservationErrorMsg": "Klaidos kodas: {{code}}, pranešimas: {{msg}}",
|
||||
"retry": "Bandyti vėl",
|
||||
"screenSharingFailedToInstall": "Oi! Jums nepavyko atsisiųsti ekrano dalinimosi papildinio.",
|
||||
"screenSharingFailedToInstallTitle": "Nepavyko atsisiųsti ekrano dalinimosi papildinio",
|
||||
"screenSharingFirefoxPermissionDeniedError": "Įvyko klaida kol mes bandėme pasidalinti jūsų ekrano vaizdu. Prašome įsitikinti, kad jūs davėte tam leidimą. ",
|
||||
"screenSharingFirefoxPermissionDeniedTitle": "Oi! Mums nepavyko pasidalinti jūsų ekrano vaizdu!",
|
||||
"screenSharingPermissionDeniedError": "Oi! Įvyko klaida dalinantis ekrano vaizdu. Perkraukite ir bandykite dar sykį.",
|
||||
"sendPrivateMessage": "Jūs gavote privačią žinutę. Ar jūs planuojate į tai atsakyti privačiai, ar pasidalinti su grupe?",
|
||||
"sendPrivateMessageCancel": "Nusiųsti į grupę",
|
||||
"sendPrivateMessageOk": "Atsakyti privačiai",
|
||||
"sendPrivateMessageTitle": "Siųsti privačiai?",
|
||||
"serviceUnavailable": "Paslaugos neteikiamos",
|
||||
"sessTerminated": "Skambutis nutrauktas",
|
||||
"Share": "Dalintis",
|
||||
"shareVideoLinkError": "Prašome pateikti teisinga Youtube adresą.",
|
||||
"shareVideoTitle": "Dalintis video",
|
||||
"shareYourScreen": "Dalintis ekrano vaizdu",
|
||||
"shareYourScreenDisabled": "Ekrano dalinimasis negalimas.",
|
||||
"shareYourScreenDisabledForGuest": "Svečiai negali dalintis ekrano vaizdu.",
|
||||
"startLiveStreaming": "Pradėti tiesioginę transliaciją",
|
||||
"startRecording": "Pradėti įrašymą",
|
||||
"startRemoteControlErrorMessage": "Įvyko klaida pradedant nuotolinio valdymo sesiją!",
|
||||
"stopLiveStreaming": "Sustabdyti tiesioginę transliaciją",
|
||||
"stopRecording": "Stabdyti įrašymą",
|
||||
"stopRecordingWarning": "Ar jūs esate įsitikinę, kad norite sustabdyti įrašymą?",
|
||||
"stopStreamingWarning": "Ar esate įsitikinę, kad norite sustabdyti tiesioginę transliaciją?",
|
||||
"streamKey": "Tiesioginės transliacijos kodas",
|
||||
"Submit": "Pateikti",
|
||||
"thankYou": "Ačiū, kad naudojate {{appName}}!",
|
||||
"token": "ženklas",
|
||||
"tokenAuthFailed": "Atsiprašome, jūs negalite prisijungti prie šio skambučio.",
|
||||
"tokenAuthFailedTitle": "Autentifikavimas neįvyko",
|
||||
"transcribing": "Perrašymas",
|
||||
"unlockRoom": "Pašalinti susitikimą $t(lockRoomPassword)",
|
||||
"userPassword": "naudotojo slaptažodis",
|
||||
"WaitForHostMsg": "Konferencija <b>{{room}}</b> dar neprasidėjo. Jei jūs organizatorius, prašome tai patvirtinti. Jei ne, prašome palaukti organizatoriaus.",
|
||||
"WaitForHostMsgWOk": "Konferencija <b>{{room}}</b> dar neprasidėjo. Jei jūs organizatorius, prašome tai patvirtinti. Jei ne, prašome palaukti organizatoriaus.",
|
||||
"WaitingForHost": "Laukiama organizatoriaus ...",
|
||||
"Yes": "Taip",
|
||||
"yourEntireScreen": "Jūsų visas ekranas"
|
||||
},
|
||||
"dialOut": {
|
||||
"statusMessage": "dabar yra {{status}}"
|
||||
},
|
||||
"documentSharing": {
|
||||
"title": "Pasidalintas dokumentas"
|
||||
},
|
||||
"feedback": {
|
||||
"average": "Vidutiniškai",
|
||||
"bad": "Blogai",
|
||||
"detailsLabel": "Papasakokite daugiau apie tai.",
|
||||
"good": "Gerai",
|
||||
"rateExperience": "Įvertinkite savo susitikimo įspūdžius",
|
||||
"veryBad": "Labai blogai",
|
||||
"veryGood": "Labai gerai"
|
||||
},
|
||||
"incomingCall": {
|
||||
"answer": "Atsiliepti",
|
||||
"audioCallTitle": "Gaunamas skambutis",
|
||||
"decline": "Atmesti",
|
||||
"productLabel": "iš Jitsi Susitikimo",
|
||||
"videoCallTitle": "Gaunamas vaizdo skambutis"
|
||||
},
|
||||
"info": {
|
||||
"accessibilityLabel": "Rodyti informacija",
|
||||
"addPassword": "Pridėti $t(lockRoomPassword)",
|
||||
"cancelPassword": "Atšaukti $t(lockRoomPassword)",
|
||||
"conferenceURL": "Adresas:",
|
||||
"country": "Šalis",
|
||||
"dialANumber": "Jei norite prisijungti prie susitikimo, įveskite vieną iš šių numerių ir tada įveskite pin kodą.",
|
||||
"dialInConferenceID": "PIN kodas:",
|
||||
"dialInNotSupported": "Atleiskite, numerio rinkimas šiuo metu nepalaikomas.",
|
||||
"dialInNumber": "Numerio rinkimas:",
|
||||
"dialInSummaryError": "Klaida pateikiant suvedimo informaciją. Pabandykite vėliau.",
|
||||
"dialInTollFree": "Nemokama",
|
||||
"genericError": "Ups, įvyko klaida",
|
||||
"inviteLiveStream": "Jei norite peržiūrėti šio susitikimo tiesioginę transliaciją, paspauskite šią nuorodą: {{url}}",
|
||||
"invitePhone": "Jei norite prisijungti telefonu, spauskite čia: {{number}},,{{conferenceID}}#\n",
|
||||
"invitePhoneAlternatives": "Ieškote kito numerio?\nPeržiūrėkite visus susitikimo numerius: {{url}}\n\n\nIf taip pat suvedant numerį iš telefono, galite prisijungti be garso: {{silentUrl}}",
|
||||
"inviteURLFirstPartGeneral": "Jūs esate kviečiama(-as) prisijungti prie susitikimo.",
|
||||
"inviteURLFirstPartPersonal": "{{name}} jus kviečia į susitikimą.\n",
|
||||
"inviteURLSecondPart": "\nPrisijungti prie susitikimo:\n{{url}}\n",
|
||||
"liveStreamURL": "Tiesioginė transliacija:",
|
||||
"moreNumbers": "Daugiau numerių",
|
||||
"noNumbers": "Nėra jokių numerių.",
|
||||
"noPassword": "Nėra",
|
||||
"noRoom": "Nebuvo jokio pasirinkto specifinio pokalbio.",
|
||||
"numbers": "Suvestiniai numeriai",
|
||||
"password": "$t(lockRoomPasswordUppercase):",
|
||||
"title": "Dalintis",
|
||||
"tooltip": "Dalintis adresu ir suvestine informacija šiam susitikimui",
|
||||
"label": "Susitikimo informacija"
|
||||
},
|
||||
"inviteDialog": {
|
||||
"alertText": "Nepavyko pridėti kai kurių naudotojų.",
|
||||
"header": "Pakviesti",
|
||||
"searchCallOnlyPlaceholder": "Įvesti telefono numerį",
|
||||
"searchPeopleOnlyPlaceholder": "Ieškoti naudotojų",
|
||||
"searchPlaceholder": "naudotojas arba telefono numeris",
|
||||
"send": "Siųsti"
|
||||
},
|
||||
"inlineDialogFailure": {
|
||||
"msg": "Truputį apsirikome.",
|
||||
"retry": "Bandyti dar kartą",
|
||||
"support": "Palaikyti",
|
||||
"supportMsg": "Jei tai vėl pasikartos, kreipkitės į"
|
||||
},
|
||||
"keyboardShortcuts": {
|
||||
"focusLocal": "Koncentruotis į savo vaizdą",
|
||||
"focusRemote": "Koncentruotis į kito naudotojo vaizdą",
|
||||
"fullScreen": "Žiūrėti arba išeiti iš padidinto vaizdo rėžimo",
|
||||
"keyboardShortcuts": "Klaviatūros spartieji klavišai",
|
||||
"localRecording": "Rodyti arba slėpti vietinius įrašymo valdiklius",
|
||||
"mute": "Nutildyti arba įjungti mikrofoną",
|
||||
"pushToTalk": "Spausti, kad kalbėtumėte",
|
||||
"raiseHand": "Pakelti arba nuleisti ranką",
|
||||
"showSpeakerStats": "Rodyti kalbėtojo statistiką",
|
||||
"toggleChat": "Atverti arba užverti susirašinėjimą",
|
||||
"toggleFilmstrip": "Rodyti arba slėpti vaizdo miniatiūrą",
|
||||
"toggleScreensharing": "Perjungimas tarp kameros ir vaizdo dalinimosi",
|
||||
"toggleShortcuts": "Rodyti arba slėpti klaviatūros sparčiuosius klavišus",
|
||||
"videoMute": "Įjungti arba išjungti kamerą",
|
||||
"videoQuality": "Reguliuoti pokalbio kokybę"
|
||||
},
|
||||
"liveStreaming": {
|
||||
"busy": "Mes reguliuojam transliacijos paleidimo išteklius. Pabandykite dar sykį po kelių minučių.",
|
||||
"busyTitle": "Visi srautai šiuo metu užimti",
|
||||
"changeSignIn": "Pakeisti paskyras.",
|
||||
"choose": "Pasirinkti tiesioginę transliaciją",
|
||||
"chooseCTA": "Pasirinkti srauto variantą. Jūs šiuo metu prisijungę kaip {{email}}.",
|
||||
"enterStreamKey": "Įveskite savo YouTube tiesioginės transliacijos raktažodį čia.",
|
||||
"error": "Tiesioginė transliacija neįvyko. Pabandykite dar kartą.",
|
||||
"errorAPI": "Įvyko klaida prisijungiant prie Youtube transliacijos. Pabandykite prisijungti dar kartą.",
|
||||
"errorLiveStreamNotEnabled": "Tiesioginė transliacija nėra galima paskyrai {{email}}. Įjunkite tiesioginį srautą arba prisijunkite prie paskyros, kurioje įjungta tiesioginė transliacija.",
|
||||
"expandedOff": "Tiesioginė transliacija sustojo",
|
||||
"expandedOn": "Šiuo metu susitikimas transliuojamas per YouTube.",
|
||||
"expandedPending": "Tiesioginė transliacija prasideda...",
|
||||
"failedToStart": "Nepavyko pajungti tiesioginės transliacijos",
|
||||
"getStreamKeyManually": "Mums nepavyko atverti jokios tiesioginės transliacijos. Pabandykite suvesti tiesioginės transliacijos raktažodį iš Youtube.",
|
||||
"invalidStreamKey": "Tiesioginės transliacijos raktažodis neteisingas.",
|
||||
"off": "Tiesioginė transliacija sustojo",
|
||||
"offBy": "{{name}} sustabdė srautą",
|
||||
"on": "Tiesioginė transliacija",
|
||||
"onBy": "{{name}} pradėjo tiesioginę transliaciją",
|
||||
"pending": "Pradedama tiesioginė transliacija...",
|
||||
"serviceName": "Tiesioginė transliacijos tarnyba",
|
||||
"signedInAs": "Jūs šiuo metu prisijungęs(-usi) kaip :",
|
||||
"signIn": "Prisijunkite su Google",
|
||||
"signInCTA": "Prisijunkite arba įveskite raktažodį iš Youtube.",
|
||||
"signOut": "Atsijungti",
|
||||
"start": "Pradėti tiesioginę transliaciją",
|
||||
"streamIdHelp": "Kas tai?",
|
||||
"unavailableTitle": "Tiesioginė transliacija negalima"
|
||||
},
|
||||
"localRecording": {
|
||||
"clientState": {
|
||||
"off": "Išjungta",
|
||||
"on": "Įjungta",
|
||||
"unknown": "Nežinomas"
|
||||
},
|
||||
"dialogTitle": "Vietos įrašų kontrolė",
|
||||
"duration": "Trukmė",
|
||||
"durationNA": "N/A",
|
||||
"encoding": "Kodavimas ",
|
||||
"label": "LOR",
|
||||
"labelToolTip": "Vietinis įrašymas yra užimtas",
|
||||
"localRecording": "Vietinis įrašymas",
|
||||
"me": "Aš",
|
||||
"messages": {
|
||||
"engaged": "Vietinis įrašymas yra užimtas.",
|
||||
"finished": "Įrašymo sesija {{token}} užbaigta. Prašome atsiųsti įrašo failą vadovui.",
|
||||
"finishedModerator": "Įrašymo sesija {{token}} užbaigta. Vietinio takelio įrašymas užbaigtas. Paprašykite kitų dalyvių atsiųsti savo įrašus.",
|
||||
"notModerator": "Jūs ne vadovas. Jūs negalite pradėti arba užbaigti vietinį įrašymą."
|
||||
},
|
||||
"moderator": "Vadovas",
|
||||
"no": "Ne",
|
||||
"participant": "Dalyvis",
|
||||
"participantStats": "Dalyvio statistika",
|
||||
"sessionToken": "Sesijos ženklas",
|
||||
"start": "Pradėti įrašą",
|
||||
"stop": "Užbaigti įrašą",
|
||||
"yes": "Taip"
|
||||
},
|
||||
"lockRoomPassword": "slaptažodis",
|
||||
"lockRoomPasswordUppercase": "Slaptažodis",
|
||||
"me": "Aš",
|
||||
"notify": {
|
||||
"connectedOneMember": "{{name}} prisijungė prie susitikimo",
|
||||
"connectedThreePlusMembers": "{{name}} ir {{count}} kiti prisijungė prie susitikimo",
|
||||
"connectedTwoMembers": "{{first}} ir {{second}} prisijungė prie susitikimo",
|
||||
"disconnected": "atsijungė",
|
||||
"focus": "Fokusuoti konferenciją",
|
||||
"focusFail": "{{component}} nėra pasiekiamas - bandyti už {{ms}} sek. ",
|
||||
"grantedTo": "Vadovo teisės suiteikiamos {{to}}!",
|
||||
"invitedOneMember": "{{name}} buvo pakviesta(-as)",
|
||||
"invitedThreePlusMembers": "{{name}} ir {{count}} kiti buvo pakviesti",
|
||||
"invitedTwoMembers": "{{first}} ir {{second}} buvo pakviesti",
|
||||
"kickParticipant": "{{kicked}} buvo išspirtas naudotojo {{kicker}}",
|
||||
"me": "Aš",
|
||||
"moderator": "Vadovo teisės suteiktos!",
|
||||
"muted": "Jūs pradėjote nutildytą pokalbį.",
|
||||
"mutedTitle": "Jūsų garsas nutildytas!",
|
||||
"mutedRemotelyTitle": "Jūs buvote nutildyta(-as) naudotojo {{participantDisplayName}}!",
|
||||
"mutedRemotelyDescription": "Jūs visada galite įsijungti garsą, kai norėsite. Įsijunkite garsą vėl, kai nuspresite, jog tai netrukdo susitikimui.",
|
||||
"passwordRemovedRemotely": "$t(lockRoomPasswordUppercase) pašalintas kito naudotojo",
|
||||
"passwordSetRemotely": "$t(lockRoomPasswordUppercase) nustatyta kito naudotojo",
|
||||
"raisedHand": "{{name}} norėtų kalbėti.",
|
||||
"somebody": "Kažkas",
|
||||
"startSilentTitle": "Jūs prisijungėte be jokios garso išvesties!",
|
||||
"startSilentDescription": "Persijunkite prie susitikimo, kad įjungtumėte garsą",
|
||||
"suboptimalBrowserWarning": "Mes apgailėstaujame, kad jūsų susitikimo įspūdžiai nėra tokie, kokių tikėjotės. Mes visada ieškome būdų kaip patobulėti, bet kol kas bandykite tai <a href='static/recommendedBrowsers.html' target='_blank'>fully supported browsers</a>.",
|
||||
"suboptimalExperienceTitle": "Naršyklės įspėjimas",
|
||||
"unmute": "Įjungti garsą",
|
||||
"newDeviceCameraTitle": "Aptikta nauja kamera",
|
||||
"newDeviceAudioTitle": "Aptiktas naujas įrašo įrenginys",
|
||||
"newDeviceAction": "Naudoti"
|
||||
},
|
||||
"passwordSetRemotely": "nustatytas kito naudotojo",
|
||||
"passwordDigitsOnly": "Daugiausia {{number}} skaičių",
|
||||
"poweredby": "pateikiamas",
|
||||
"presenceStatus": {
|
||||
"busy": "Užimtas",
|
||||
"calling": "Skambinama...",
|
||||
"connected": "Prisijungta",
|
||||
"connecting": "Prisijungiama...",
|
||||
"connecting2": "Prisijungiama*...",
|
||||
"disconnected": "Atsijungta",
|
||||
"expired": "Pasibaigęs",
|
||||
"ignored": "Ignoruojamas",
|
||||
"initializingCall": "Inicijuojamas skambutis...",
|
||||
"invited": "Pakviestas",
|
||||
"rejected": "Atmestas",
|
||||
"ringing": "Skambina..."
|
||||
},
|
||||
"profile": {
|
||||
"setDisplayNameLabel": "Įveskite savo vardą",
|
||||
"setEmailInput": "Įveskite savo el. paštą",
|
||||
"setEmailLabel": "Parinkite savo „gravataro“ el. paštą",
|
||||
"title": "Profilis"
|
||||
},
|
||||
"raisedHand": "Norėtų kalbėti",
|
||||
"recording": {
|
||||
"authDropboxText": "Įkelti į Dropbox",
|
||||
"availableSpace": "Galima vieta: {{spaceLeft}} MB (approximately {{duration}} minutes of recording)",
|
||||
"beta": "BETA",
|
||||
"busy": "Mes dirbame, kad atlaisvintume įrašo išteklius. Prašome pabandyti dar kartą po kelių minučių.",
|
||||
"busyTitle": "Visi įrašymo įrenginiai šiuo metu yra užimti",
|
||||
"error": "Įrašymas nepavyko. Bandykite dar kartą.",
|
||||
"expandedOff": "Įrašymas buvo sustabdytas",
|
||||
"expandedOn": "Šis susitikimas šiuo metu yra įrašomas.",
|
||||
"expandedPending": "Įrašymas prasidėjo...",
|
||||
"failedToStart": "Nepavyko pradėti įrašymo",
|
||||
"fileSharingdescription": "Dalintis įrašu su kitais naudotojais",
|
||||
"live": "GYVAI",
|
||||
"loggedIn": "Prisijungę kaip {{userName}}",
|
||||
"off": "Įrašas sustabdytas",
|
||||
"offBy": "{{name}} sustabdė įrašą",
|
||||
"on": "Įrašinėjama",
|
||||
"onBy": "{{name}} pradėjo įrašą",
|
||||
"pending": "Ruošiama įrašinėti susitikimą...",
|
||||
"rec": "REC",
|
||||
"serviceDescription": "Jūsų įrašą išssaugos įrašymo tarnyba",
|
||||
"serviceName": "Įrašymo tarnyba",
|
||||
"signIn": "Prisijungti",
|
||||
"signOut": "Atsijungti",
|
||||
"unavailable": "Oi! {{serviceName}} šiuo metu nėra pasiekiamas. Mes dirbame, kad išspręsti šią problemą. Pabandykite dar kartą vėliau.",
|
||||
"unavailableTitle": "Įrašas negalimas"
|
||||
},
|
||||
"sectionList": {
|
||||
"pullToRefresh": "Spustelėkite, kad įkelti iš naujo"
|
||||
},
|
||||
"settings": {
|
||||
"calendar": {
|
||||
"about": "{{appName}} kalendoriaus integracija yra naudojama, kad saugiai išsaugoti ir sekti būsimus įvykius.",
|
||||
"disconnect": "Atsijungti",
|
||||
"microsoftSignIn": "Prisijungti su Microsoft",
|
||||
"signedIn": "Šiuo metu kalendoriuje išsaugoti įvykiai pasiekiami {{email}}. Paspauskite Atsijungti mygtuką, kad sustabdyti prieigą prie kalendoriuje sužymėtų įvykių.",
|
||||
"title": "Kalendorius"
|
||||
},
|
||||
"devices": "Įranga",
|
||||
"followMe": "Visi seka mane",
|
||||
"language": "Kalba",
|
||||
"loggedIn": "Prisijungęs kaip {{name}}",
|
||||
"moderator": "Vedėjas",
|
||||
"more": "Daugiau",
|
||||
"name": "Vardas",
|
||||
"noDevice": "Nieko",
|
||||
"selectAudioOutput": "Įrašo išeiga",
|
||||
"selectCamera": "Kamera",
|
||||
"selectMic": "Mikrofonas",
|
||||
"startAudioMuted": "Visi pradeda nutildytu rėžimu",
|
||||
"startVideoMuted": "Visi pradeda nematomu rėžimu",
|
||||
"title": "Nustatymai"
|
||||
},
|
||||
"settingsView": {
|
||||
"advanced": "Sudėtingesnis",
|
||||
"alertOk": "OK",
|
||||
"alertTitle": "Įspėjimas",
|
||||
"alertURLText": "Jūsų ivestas serverio URL yra neteisingas",
|
||||
"buildInfoSection": "Programos informacija",
|
||||
"conferenceSection": "Konferencija",
|
||||
"disableCallIntegration": "Atjungti vietinių skambučių integraciją",
|
||||
"disableP2P": "Išjungti Peer-To-Peer režimą",
|
||||
"displayName": "Rodomas vardas",
|
||||
"email": "El. paštas",
|
||||
"header": "Nustatymai",
|
||||
"profileSection": "Profilis",
|
||||
"serverURL": "Serverio URL",
|
||||
"showAdvanced": "Rodyti sudėtingesnius nustatymus",
|
||||
"startWithAudioMuted": "Pradėti nutildytu rėžimu",
|
||||
"startWithVideoMuted": "Pradėti be vaizdo",
|
||||
"version": "Versija"
|
||||
},
|
||||
"share": {
|
||||
"dialInfoText": "\n\n=====\n\nTiesiog norite paskambinti į savo telefoną?\n\n{{defaultDialInNumber}}Spustelėkite šią nuorodą, jei norite pamatyti šio susitikimo telefono numerius\n{{dialInfoPageUrl}}",
|
||||
"mainText": "Spustelėkite šią nuorodą, kad prisijungtumėte prie susitikimo:\n{{roomUrl}}"
|
||||
},
|
||||
"speaker": "Garsiakalbis",
|
||||
"speakerStats": {
|
||||
"hours": "{{count}}h",
|
||||
"minutes": "{{count}}m",
|
||||
"name": "Vardas",
|
||||
"seconds": "{{count}}s",
|
||||
"speakerStats": "Garsiakalbio nuostatos",
|
||||
"speakerTime": "Garsiakalbio laikas"
|
||||
},
|
||||
"startupoverlay": {
|
||||
"policyText": " ",
|
||||
"title": "{{app}} reikalingas mikrofonas ir kamera."
|
||||
},
|
||||
"suspendedoverlay": {
|
||||
"rejoinKeyTitle": "Persijungti",
|
||||
"text": "Paspauskite <i>Persijungimo</i> mygtuką, kad persijungti.",
|
||||
"title": "Jūsų vaizdo skambutis buvo nutrauktas, nes jūsų kompiuteris atsijungė."
|
||||
},
|
||||
"toolbar": {
|
||||
"accessibilityLabel": {
|
||||
"audioOnly": "Tik audio perjungimas",
|
||||
"audioRoute": "Pasirinkite garso įrenginį",
|
||||
"callQuality": "Reguliuoti vaizdo kokybę",
|
||||
"cc": "Subtitru perjungimas",
|
||||
"chat": "Susirašinėjimų lango perjungimas",
|
||||
"document": "Pasidalintų dokumentų perjungimas",
|
||||
"download": "Atsisiųskite mūsų programėles",
|
||||
"feedback": "Palikite atsiliepimą",
|
||||
"fullScreen": "Perjungti į pilno vaizdo rėžimą",
|
||||
"hangup": "Palikti skambutį",
|
||||
"help": "Pagalba",
|
||||
"invite": "Pakviesti žmones",
|
||||
"kick": "Išspirti dalyvį",
|
||||
"localRecording": "Perjungti vietinę įrašų kontrolę",
|
||||
"lockRoom": "Uždėti slaptažodį šiam susitikimui",
|
||||
"moreActions": "Įjungti meniu „daugiau nustatymų“",
|
||||
"moreActionsMenu": "Daugiau nustatymų",
|
||||
"moreOptions": "Rodyti daugiau variantų",
|
||||
"mute": "Perjungti begarsį rėžimą",
|
||||
"muteEveryone": "Nutildyti visus",
|
||||
"pip": "Paveikslėlio su paveikslėliu perjungimas",
|
||||
"privateMessage": "Siųsti privačią žinutę",
|
||||
"profile": "Redaguoti profilį",
|
||||
"raiseHand": "Perjungti rankos pakėlimą",
|
||||
"recording": "Perjungti įrašymą",
|
||||
"remoteMute": "Nutildyti dalyvius",
|
||||
"Settings": "Perjungti nustatymus",
|
||||
"sharedvideo": "Perjungti Youtube vaizdo dalinimasi",
|
||||
"shareRoom": "Pakviesti ką nors",
|
||||
"shareYourScreen": "Perjungti vaizdo dalinimasi",
|
||||
"shortcuts": "Perjungti trumpinius",
|
||||
"show": "Rodyti viešai",
|
||||
"speakerStats": "Perjungti garsiakalbio nuostatas",
|
||||
"tileView": "Perjungti vaizdą",
|
||||
"toggleCamera": "Perjungti kamerą",
|
||||
"toggleFilmstrip": "Toggle filmstrip",
|
||||
"videomute": "Perjungti vaizdo išjungimą",
|
||||
"videoblur": "Įjungti fono suliejimą"
|
||||
},
|
||||
"addPeople": "Pridėti žmonių prie pokalbio",
|
||||
"audioOnlyOff": "Atjungti žemo pralaidumo rėžimą",
|
||||
"audioOnlyOn": "Įjungti žemo pralaidumo rėžimą",
|
||||
"audioRoute": "Pasirinkti garso įrenginį",
|
||||
"authenticate": "Autentifikuoti",
|
||||
"callQuality": "Reguliuoti vaizdo kokybę",
|
||||
"chat": "Atverti / Užverti susirašinėjimą",
|
||||
"closeChat": "Užverti susirašinėjimą",
|
||||
"documentClose": "Užverti pasidalintus dokumentus",
|
||||
"documentOpen": "Atverti pasidalintus dokumentus",
|
||||
"download": "Atsisiųskite mūsų programėles",
|
||||
"enterFullScreen": "Peržiūrėti pilno vaizdo rėžimą",
|
||||
"enterTileView": "Įeiti į rodinį",
|
||||
"exitFullScreen": "Išeiti iš pilno vaizdo rėžimo",
|
||||
"exitTileView": "Išeiti iš rodinio",
|
||||
"feedback": "Palikti atsiliepimą",
|
||||
"hangup": "Išeiti",
|
||||
"help": "Pagalba",
|
||||
"invite": "Pakviesti žmones",
|
||||
"login": "Prisijungti",
|
||||
"logout": "Atsijungti",
|
||||
"lowerYourHand": "Nuleisti ranką",
|
||||
"moreActions": "Daugiau veiksmų",
|
||||
"moreOptions": "Daugiau parinkčių",
|
||||
"mute": "Begarsis / Su garsu",
|
||||
"muteEveryone": "Nutildyti visus",
|
||||
"noAudioSignalTitle": "Nėra jokios mikrafono įvesties!",
|
||||
"noAudioSignalDesc": "Jei specialiai nenutildėte tai sistemoje, apsvarstykite perjungti įrangą.",
|
||||
"noAudioSignalDescSuggestion": "Jei specialiai nenutildėte tai sistemoje, apsvarstykite perjungti į pasiūlytą įrangą.",
|
||||
"noAudioSignalDialInDesc": "Galite skambinti naudodami:",
|
||||
"noAudioSignalDialInLinkDesc" : "Numeriai skambučiams",
|
||||
"noisyAudioInputTitle": "Jūsų mikrofonas per garsus!",
|
||||
"noisyAudioInputDesc": "Atrodo, kad jūsų mikrofonas turi trikdžių, prašome jį nutildyti arba pakeisti įrangą.",
|
||||
"openChat": "Atverti susirašinėjimą",
|
||||
"pip": "Atverti paveikslo su paveikslu rėžimą",
|
||||
"privateMessage": "Nusiųskite privačią žinutę",
|
||||
"profile": "Redaguoti profilį",
|
||||
"raiseHand": "Pakelti / Nuleisti ranką",
|
||||
"raiseYourHand": "Pakelti ranką",
|
||||
"Settings": "Nustatymai",
|
||||
"sharedvideo": "Pasidalinkite Youtube video",
|
||||
"shareRoom": "Pakviesti ką nors",
|
||||
"shortcuts": "Peržiūrėti trumpinius",
|
||||
"speakerStats": "Garsiakalbio pasirinktys",
|
||||
"startScreenSharing": "Pradėti ekrano dalinimasi",
|
||||
"startSubtitles": "Įjungti subtitrus",
|
||||
"stopScreenSharing": "Nebesidalinti vaizdu",
|
||||
"stopSubtitles": "Išjungti subtitrus",
|
||||
"stopSharedVideo": "Išjungti Youtube vaizdą",
|
||||
"talkWhileMutedPopup": "Ar bandote kalbėti? Jūs esate begarsio rėžime.",
|
||||
"tileViewToggle": "Perjungti rodinį",
|
||||
"toggleCamera": "Perjungti kamerą",
|
||||
"videomute": "Įjungti / Išjungti kamerą",
|
||||
"startvideoblur": "Sulieti foną",
|
||||
"stopvideoblur": "Nesulieti fono"
|
||||
},
|
||||
"transcribing": {
|
||||
"ccButtonTooltip": "Įjungti / Išjungti titrus",
|
||||
"error": "Titrų atpažinimas nesuveikė. Bandykite dar kartą.",
|
||||
"expandedLabel": "Šiuo metu vyksta perrašymas",
|
||||
"failedToStart": "Perrašymas neprasidėjo",
|
||||
"labelToolTip": "Susitikimas yra perrašomas",
|
||||
"off": "Perrašymas sustojo",
|
||||
"pending": "Ruošiama perrašyti susitikimą...",
|
||||
"start": "Pradėti rodyti subtitrus",
|
||||
"stop": "Nustoti rodyti subtitrus",
|
||||
"tr": "TR"
|
||||
},
|
||||
"userMedia": {
|
||||
"androidGrantPermissions": "Pasirinkite <b><i>Allow</i></b> kai jūsų naršyklė prašys leidimo.",
|
||||
"chromeGrantPermissions": "Pasirinkite <b><i>Allow</i></b> kai jūsų naršyklė prašys leidimo.",
|
||||
"edgeGrantPermissions": "Pasirinkite <b><i>Yes</i></b> kai jūsų naršyklė prašys leidimų.",
|
||||
"electronGrantPermissions": "Prašome duoti leidimą, kad galėtumėte naudotis kamera ir mikrofonu",
|
||||
"firefoxGrantPermissions": "Pasirinkite <b><i>Share Selected Device</i></b> kai jūsų naršyklė prašys leidimo.",
|
||||
"iexplorerGrantPermissions": "Pasirinkite <b><i>OK</i></b> kai jūsų naršyklė prašys leidimo.",
|
||||
"nwjsGrantPermissions": "Prašome duoti leidimo, kad galėtumėte naudotis kamera ir mikrofonu",
|
||||
"operaGrantPermissions": "Pasirinkite <b><i>Allow</i></b> kai jūsų naršyklė prašys leidimo.",
|
||||
"react-nativeGrantPermissions": "Pasirinkite <b><i>Allow</i></b> kai jūsų naršyklė prašys leidimo.",
|
||||
"safariGrantPermissions": "Pasirinkite <b><i>OK</i></b> kai jūsų naršyklė prašys leidimo."
|
||||
},
|
||||
"videoSIPGW": {
|
||||
"busy": "Mes dirbame, kad atlaisvinti išteklius. Prašome pabandyti dar kartą po kelių minučių.",
|
||||
"busyTitle": "Paslaugos šiuo metu neteikiamos",
|
||||
"errorAlreadyInvited": "{{displayName}} jau yra pakviestas(-a)",
|
||||
"errorInvite": "Konferencija dar nenumatyta. Pabandykite dar kartą.",
|
||||
"errorInviteFailed": "Mes dirbame, kad išspręstume šią problemą. Pabandykite vėliau.",
|
||||
"errorInviteFailedTitle": "Pakvietimas {{displayName}} neįvyko",
|
||||
"errorInviteTitle": "Klaida kviečiant susitikimą",
|
||||
"pending": "{{displayName}} buvo pakviestas(-a)"
|
||||
},
|
||||
"videoStatus": {
|
||||
"audioOnly": "AUD",
|
||||
"audioOnlyExpanded": "Jūs mažo pralaidumo būsenoje. Šiame rėžime jūs galėsite tik girdėti ir dalintis ekranu.",
|
||||
"callQuality": "Vaizdo raiška",
|
||||
"hd": "HD",
|
||||
"hdTooltip": "Vaizdas aukštos kokybės",
|
||||
"highDefinition": "Aukšta kokybė",
|
||||
"labelTooiltipNoVideo": "Jokio vaizdo",
|
||||
"labelTooltipAudioOnly": "Žemo pralaidumo būsena aktyvuota",
|
||||
"ld": "LD",
|
||||
"ldTooltip": "Žemos kokybės video peržiūra",
|
||||
"lowDefinition": "Žema kokybė",
|
||||
"onlyAudioAvailable": "Galimas tik garso perdavimas",
|
||||
"onlyAudioSupported": "Mes palaikome tik garso perdavimą šioje naršyklėje.",
|
||||
"p2pEnabled": "Peer to Peer įjungtas",
|
||||
"p2pVideoQualityDescription": "„Peer to peer“ režimu gauto vaizdo įrašo kokybę galima perjungti tik į aukštą ir į garso įrašą. Kiti nustatymai nebus toleruojami, kol nebus išjungtas „Peer to peer“.",
|
||||
"recHighDefinitionOnly": "Norima aukšta kokybė.",
|
||||
"sd": "SD",
|
||||
"sdTooltip": "Vidutinės kokybės video peržiūra",
|
||||
"standardDefinition": "Vidutinė kokybė"
|
||||
},
|
||||
"videothumbnail": {
|
||||
"domute": "Nutildyti",
|
||||
"domuteOthers": "Nutildyti visus kitus",
|
||||
"flip": "Apversti",
|
||||
"kick": "Išspirti lauk",
|
||||
"moderator": "Vadovas",
|
||||
"mute": "Dalyvis nutildytas",
|
||||
"muted": "Nutildytas",
|
||||
"remoteControl": "Įjungti / Išjungti nuotolinį valdymą",
|
||||
"show": "Rodyti viešai",
|
||||
"videomute": "Dalyvis išjungė vaizdą"
|
||||
},
|
||||
"welcomepage": {
|
||||
"accessibilityLabel": {
|
||||
"join": "Spustelkite, kad prisijungtumėt",
|
||||
"roomname": "Įveskite bendravimo kambario pavadinimą"
|
||||
},
|
||||
"appDescription": "Pirmyn, bendraukite su savo draugais per vaizdo skambučius bei pokalbius. Kvieskite visus savo pažįstamus. {{app}} yra pilnai apsaugota, ryšys šifruotas, 100% atvirojo kodo - tai video konferencijų bei bendradarbiavimo sprendimas, kurį galite naudoti visuomet, kiekvieną dieną ir visiškai nemokamai - be jokių registracijų ar prisijungimų.",
|
||||
"audioVideoSwitch": {
|
||||
"audio": "Balsas",
|
||||
"video": "Video"
|
||||
},
|
||||
"calendar": "Calendar",
|
||||
"connectCalendarButton": "Prijunkite savo kalendorių",
|
||||
"connectCalendarText": "Prijunkite savo kalendorių, kad stebėti visus savo būsimus susitikimus čia {{app}}. Plius, pridėkite {{provider}} susitikimus į savo kalendorių ir pradėkite juos vienu paspaudimu.",
|
||||
"enterRoomTitle": "Pradėkite savo susitikimą",
|
||||
"roomNameAllowedChars": "Susitikimo pavadinime negali būti šių ženklų: ?, &, :, ', \", %, #.",
|
||||
"go": "PIRMYN",
|
||||
"goSmall": "PIRMYN",
|
||||
"join": "KURTI / PRISIJUNGTI",
|
||||
"info": "Info",
|
||||
"privacy": "Privatumas",
|
||||
"recentList": "Paskutinis",
|
||||
"recentListDelete": "Ištrinti",
|
||||
"recentListEmpty": "Jūsų paskutinis sąrašas yra tuščias. Susisiekite su savo komanda ir jūs rasite savo paskutinius susitikimus čia.",
|
||||
"reducedUIText": "Sveiki atvyke į {{app}}!",
|
||||
"roomname": "Įveskite pokalbių kambario pavadinimą",
|
||||
"roomnameHint": "Įveskite sugalvotą pavadinimą arba pokalbio kambario adresą (URL), kad prisijungtumėte. Jūs galite sugalvoti savo pavadinimą, bet įsitikinkite, kad ir kiti dalyviai, su kuriais bendrausite, taip pat žinos tikslų pavadinimą tam, kad įeitų į tą patį pokalbių kambarį.",
|
||||
"sendFeedback": "Palikite atsiliepimą",
|
||||
"terms": "Sąlygos",
|
||||
"title": "Saugus, pasiekiamas ir visiškai nemokamas video konferencijų rengimas"
|
||||
},
|
||||
"lonelyMeetingExperience": {
|
||||
"button": "Pakvieskite kitus",
|
||||
"youAreAlone": "Jūs vienintelis(-ė) šiame susitikime"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -25,7 +25,7 @@
|
||||
"none": "Не обнаружены звуковые устройства"
|
||||
},
|
||||
"audioOnly": {
|
||||
"audioOnly": "Не нагружает канал"
|
||||
"audioOnly": "Только звук"
|
||||
},
|
||||
"calendarSync": {
|
||||
"addMeetingURL": "Добавить ссылку конференции",
|
||||
@@ -77,7 +77,8 @@
|
||||
"DISCONNECTED": "Отключено",
|
||||
"DISCONNECTING": "Отключение",
|
||||
"ERROR": "Ошибка",
|
||||
"RECONNECTING": "Проблема с сетью. Переподключение..."
|
||||
"RECONNECTING": "Проблема с сетью. Переподключение...",
|
||||
"LOW_BANDWIDTH": "Видео для {{displayName}} приостановлено из-за низкой пропускной способности"
|
||||
},
|
||||
"connectionindicator": {
|
||||
"address": "Адрес:",
|
||||
@@ -574,10 +575,10 @@
|
||||
},
|
||||
"toolbar": {
|
||||
"accessibilityLabel": {
|
||||
"audioOnly": "Вкл/выкл только звук",
|
||||
"audioOnly": "Вкл/Выкл только звук",
|
||||
"audioRoute": "Выбрать аудиоустройство",
|
||||
"callQuality": "Качество связи",
|
||||
"cc": "Вкл/выкл субтитры",
|
||||
"cc": "Вкл/Выкл субтитры",
|
||||
"chat": "Показать/скрыть окно чата",
|
||||
"document": "Закрыть общий документ",
|
||||
"download": "Скачать приложение",
|
||||
@@ -587,28 +588,30 @@
|
||||
"help": "Справка",
|
||||
"invite": "Пригласить",
|
||||
"kick": "Выкинуть участника",
|
||||
"localRecording": "Вкл/выкл кнопки записи",
|
||||
"localRecording": "Вкл/Выкл кнопки записи",
|
||||
"lockRoom": "Установить пароль",
|
||||
"moreActions": "Показать/скрыть меню доп. настроек",
|
||||
"moreOptions": "Меню доп. настроек",
|
||||
"moreActionsMenu": "Меню доп. настроек",
|
||||
"mute": "Вкл/выкл звук",
|
||||
"mute": "Вкл/Выкл звук",
|
||||
"pip": "Вкл/Выкл режим Картинка-в-картинке",
|
||||
"privateMessage": "Отправить личное сообщение",
|
||||
"profile": "Редактировать профиль",
|
||||
"raiseHand": "Поднять руку",
|
||||
"recording": "Вкл/Выкл запись",
|
||||
"remoteMute": "Отключить участнику микрофон",
|
||||
"Settings": "Вкл/выкл меню настроек",
|
||||
"sharedvideo": "Вкл/выкл Youtube - трансляцию",
|
||||
"Settings": "Вкл/Выкл меню настроек",
|
||||
"sharedvideo": "Вкл/Выкл Youtube - трансляцию",
|
||||
"shareRoom": "Отправить приглашение",
|
||||
"shareYourScreen": "Вкл/Выкл демонстрацию экрана",
|
||||
"shortcuts": "Вкл/Выкл значки",
|
||||
"show": "Показать крупным планом",
|
||||
"speakerStats": "Вкл/Выкл статистику",
|
||||
"tileView": "Вкл/выкл плитку",
|
||||
"toggleCamera": "Вкл/выкл камеру",
|
||||
"tileView": "Вкл/Выкл плитку",
|
||||
"toggleCamera": "Вкл/Выкл камеру",
|
||||
"videomute": "Вкл/Выкл видео",
|
||||
"videoblur": "Вкл./выкл. размытие фона"
|
||||
"muteEveryone": "Выкл. микрофон у всех",
|
||||
"videoblur": "Вкл/Выкл размытие фона"
|
||||
},
|
||||
"addPeople": "Добавить людей к вашему сеансу связи",
|
||||
"audioOnlyOff": "Отключить режим экономии пропуской способности",
|
||||
@@ -634,11 +637,12 @@
|
||||
"lowerYourHand": "Опустить руку",
|
||||
"moreActions": "Больше",
|
||||
"mute": "Микрофон (вкл./выкл.)",
|
||||
"muteEveryone": "Выкл. микрофон у всех",
|
||||
"noAudioSignalTitle": "От вашего микрофона не идет звуковой сигнал!",
|
||||
"noAudioSignalDesc": "Если вы специально не отключали микрофон в системных настройках, подумайте о том, чтобы поменять его.",
|
||||
"noAudioSignalDescSuggestion": "Если вы специально не отключали микрофон в системных настройках, вы можете попробовать использовать следующее устройство:",
|
||||
"noisyAudioInputTitle": "",
|
||||
"noisyAudioInputDesc": "",
|
||||
"noisyAudioInputTitle": "Похоже, ваш микрофон создает шум!",
|
||||
"noisyAudioInputDesc": "Возможно, ваш микрофон создает шум. Вы можете выключить его или смените устройство.",
|
||||
"openChat": "Открыть чат",
|
||||
"pip": "Вкл режим Картинка-в-картинке",
|
||||
"privateMessage": "Отправить личное сообщение",
|
||||
@@ -719,6 +723,7 @@
|
||||
},
|
||||
"videothumbnail": {
|
||||
"domute": "Выключить звук",
|
||||
"domuteOthers": "Выключить остальных",
|
||||
"flip": "Отразить",
|
||||
"kick": "Выкинуть",
|
||||
"moderator": "Модератор",
|
||||
@@ -757,5 +762,9 @@
|
||||
"sendFeedback": "Обратная связь",
|
||||
"terms": "Условия",
|
||||
"title": "Защищенная, полнофункциональная и совершенно бесплатная система видеоконференций"
|
||||
},
|
||||
"lonelyMeetingExperience": {
|
||||
"button": "Пригласить",
|
||||
"youAreAlone": "Вы один в видеоконференции"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -220,7 +220,7 @@
|
||||
"muteParticipantDialog": "Seguru chi boles pònnere custa persone a sa muda? No as a pòdere torrare a ativare s'àudio issoro, però is utentes ddu ant a pòdere ativare in cale si siat momentu.",
|
||||
"muteParticipantTitle": "Boles pònnere custa persone a sa muda?",
|
||||
"Ok": "AB",
|
||||
"passwordLabel": "Unu partetzipante at blocadu sa riunione. Inserta sa $t(lockRoomPassword) pro intrare.",
|
||||
"passwordLabel": "$t(lockRoomPasswordUppercase)",
|
||||
"passwordNotSupported": "No est possìbile istabilire una $t(lockRoomPassword).",
|
||||
"passwordNotSupportedTitle": "$t(lockRoomPasswordUppercase) non suportadu",
|
||||
"passwordRequired": "$t(lockRoomPasswordUppercase) rechèdida",
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -460,7 +460,11 @@
|
||||
"unmute": "Unmute",
|
||||
"newDeviceCameraTitle": "New camera detected",
|
||||
"newDeviceAudioTitle": "New audio device detected",
|
||||
"newDeviceAction": "Use"
|
||||
"newDeviceAction": "Use",
|
||||
"OldElectronAPPTitle": "Security vulnerability!",
|
||||
"oldElectronClientDescription1": "You appear to be using an old verion of the Jitsi Meet client which has known security vulnerabilities. Please make sure you update to our ",
|
||||
"oldElectronClientDescription2": "latest build",
|
||||
"oldElectronClientDescription3": " now!"
|
||||
},
|
||||
"passwordSetRemotely": "set by another participant",
|
||||
"passwordDigitsOnly": "Up to {{number}} digits",
|
||||
|
||||
4
package-lock.json
generated
4
package-lock.json
generated
@@ -10884,8 +10884,8 @@
|
||||
}
|
||||
},
|
||||
"lib-jitsi-meet": {
|
||||
"version": "github:jitsi/lib-jitsi-meet#edfad5f51186d70c645c1c05ece88822c2486dc7",
|
||||
"from": "github:jitsi/lib-jitsi-meet#edfad5f51186d70c645c1c05ece88822c2486dc7",
|
||||
"version": "github:jitsi/lib-jitsi-meet#0d058e50633d62c7b26114418e234f4a8ae9a78e",
|
||||
"from": "github:jitsi/lib-jitsi-meet#0d058e50633d62c7b26114418e234f4a8ae9a78e",
|
||||
"requires": {
|
||||
"@jitsi/sdp-interop": "1.0.1",
|
||||
"@jitsi/sdp-simulcast": "0.3.0",
|
||||
|
||||
@@ -56,7 +56,7 @@
|
||||
"js-utils": "github:jitsi/js-utils#0b2cef90613a74777fefd98d4ee3eda3879809ab",
|
||||
"jsrsasign": "8.0.12",
|
||||
"jwt-decode": "2.2.0",
|
||||
"lib-jitsi-meet": "github:jitsi/lib-jitsi-meet#edfad5f51186d70c645c1c05ece88822c2486dc7",
|
||||
"lib-jitsi-meet": "github:jitsi/lib-jitsi-meet#0d058e50633d62c7b26114418e234f4a8ae9a78e",
|
||||
"libflacjs": "github:mmig/libflac.js#93d37e7f811f01cf7d8b6a603e38bd3c3810907d",
|
||||
"lodash": "4.17.13",
|
||||
"moment": "2.19.4",
|
||||
|
||||
@@ -14,6 +14,7 @@ import '../../power-monitor';
|
||||
import '../../room-lock';
|
||||
import '../../talk-while-muted';
|
||||
import '../../video-layout';
|
||||
import '../../old-client-notification';
|
||||
|
||||
import { AbstractApp } from './AbstractApp';
|
||||
|
||||
|
||||
@@ -93,6 +93,7 @@ export default [
|
||||
'disableRemoteControl',
|
||||
'disableRemoteMute',
|
||||
'disableRtx',
|
||||
'disableSimulcast',
|
||||
'disableSuspendVideo',
|
||||
'disableThirdPartyRequests',
|
||||
'displayJids',
|
||||
|
||||
@@ -230,14 +230,13 @@ export default class AbstractButton<P: Props, S: *> extends Component<P, S> {
|
||||
|
||||
/**
|
||||
* Helper function to be implemented by subclasses, which must return a
|
||||
* {@code boolean} value indicating if this button is toggled or not or
|
||||
* undefined if the button is not toggleable.
|
||||
* {@code boolean} value indicating if this button is toggled or not.
|
||||
*
|
||||
* @protected
|
||||
* @returns {?boolean}
|
||||
* @returns {boolean}
|
||||
*/
|
||||
_isToggled() {
|
||||
return undefined;
|
||||
return false;
|
||||
}
|
||||
|
||||
_onClick: (*) => void;
|
||||
|
||||
@@ -12,69 +12,6 @@ import type { Props } from './AbstractToolboxItem';
|
||||
* Web implementation of {@code AbstractToolboxItem}.
|
||||
*/
|
||||
export default class ToolboxItem extends AbstractToolboxItem<Props> {
|
||||
/**
|
||||
* Initializes a new {@code ToolboxItem} instance.
|
||||
*
|
||||
* @inheritdoc
|
||||
*/
|
||||
constructor(props: Props) {
|
||||
super(props);
|
||||
|
||||
this._onKeyDown = this._onKeyDown.bind(this);
|
||||
this._onKeyUp = this._onKeyUp.bind(this);
|
||||
}
|
||||
|
||||
_onKeyDown: (Object) => void;
|
||||
|
||||
/**
|
||||
* Handles 'Enter' key on the button to trigger onClick for accessibility.
|
||||
*
|
||||
* @param {Object} event - The key event.
|
||||
* @private
|
||||
* @returns {void}
|
||||
*/
|
||||
_onKeyDown(event) {
|
||||
// If the event coming to the dialog has been subject to preventDefault
|
||||
// we don't handle it here.
|
||||
if (event.defaultPrevented) {
|
||||
return;
|
||||
}
|
||||
|
||||
if (event.key === 'Enter') {
|
||||
event.preventDefault();
|
||||
event.stopPropagation();
|
||||
this.props.onClick();
|
||||
} else if (event.key === ' ') {
|
||||
// Space triggers button onKeyUp but we need to prevent PTT here
|
||||
event.preventDefault();
|
||||
event.stopPropagation();
|
||||
}
|
||||
}
|
||||
|
||||
_onKeyUp: (Object) => void;
|
||||
|
||||
/**
|
||||
* Handles ' ' (Space) key on the button to trigger onClick for
|
||||
* accessibility.
|
||||
*
|
||||
* @param {Object} event - The key event.
|
||||
* @private
|
||||
* @returns {void}
|
||||
*/
|
||||
_onKeyUp(event) {
|
||||
// If the event coming to the dialog has been subject to preventDefault
|
||||
// we don't handle it here.
|
||||
if (event.defaultPrevented) {
|
||||
return;
|
||||
}
|
||||
|
||||
if (event.key === ' ') {
|
||||
event.preventDefault();
|
||||
event.stopPropagation();
|
||||
this.props.onClick();
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Handles rendering of the actual item. If the label is being shown, which
|
||||
* is controlled with the `showLabel` prop, the item is rendered for its
|
||||
@@ -90,22 +27,14 @@ export default class ToolboxItem extends AbstractToolboxItem<Props> {
|
||||
elementAfter,
|
||||
onClick,
|
||||
showLabel,
|
||||
tooltipPosition,
|
||||
toggled
|
||||
tooltipPosition
|
||||
} = this.props;
|
||||
const className = showLabel ? 'overflow-menu-item' : 'toolbox-button';
|
||||
const props = {
|
||||
'aria-pressed': toggled,
|
||||
'aria-disabled': disabled,
|
||||
'aria-label': this.accessibilityLabel,
|
||||
className: className + (disabled ? ' disabled' : ''),
|
||||
onClick: disabled ? undefined : onClick,
|
||||
onKeyDown: this._onKeyDown,
|
||||
onKeyUp: this._onKeyUp,
|
||||
tabIndex: 0,
|
||||
role: 'button'
|
||||
onClick: disabled ? undefined : onClick
|
||||
};
|
||||
|
||||
const elementType = showLabel ? 'li' : 'div';
|
||||
const useTooltip = this.tooltip && this.tooltip.length > 0;
|
||||
let children = (
|
||||
|
||||
@@ -0,0 +1,47 @@
|
||||
// @flow
|
||||
|
||||
import React, { Component } from 'react';
|
||||
import { translate } from '../../base/i18n';
|
||||
|
||||
/**
|
||||
* The type of the React {@code Component} props of {@link OldElectronAPPNotificationDescription}.
|
||||
*/
|
||||
type Props = {
|
||||
|
||||
/**
|
||||
* Invoked to obtain translated strings.
|
||||
*/
|
||||
t: Function
|
||||
};
|
||||
|
||||
/**
|
||||
* A component that renders the description of the notification for old Jitsi Meet Electron clients.
|
||||
*
|
||||
* @extends AbstractApp
|
||||
*/
|
||||
export class OldElectronAPPNotificationDescription extends Component<Props> {
|
||||
/**
|
||||
* Implements React's {@link Component#render()}.
|
||||
*
|
||||
* @inheritdoc
|
||||
* @returns {ReactElement}
|
||||
*/
|
||||
render() {
|
||||
const { t } = this.props;
|
||||
|
||||
return (
|
||||
<div>
|
||||
{ t('notify.oldElectronClientDescription1') }
|
||||
<a
|
||||
href = 'https://github.com/jitsi/jitsi-meet-electron/releases/latest'
|
||||
rel = 'noopener noreferrer'
|
||||
target = '_blank'>
|
||||
{ t('notify.oldElectronClientDescription2') }
|
||||
</a>
|
||||
{ t('notify.oldElectronClientDescription3') }
|
||||
</div>);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
export default translate(OldElectronAPPNotificationDescription);
|
||||
@@ -0,0 +1,3 @@
|
||||
// @flow
|
||||
|
||||
export { default as OldElectronAPPNotificationDescription } from './OldElectronAPPNotificationDescription';
|
||||
28
react/features/old-client-notification/functions.js
Normal file
28
react/features/old-client-notification/functions.js
Normal file
@@ -0,0 +1,28 @@
|
||||
// @flow
|
||||
|
||||
import { browser } from '../../../react/features/base/lib-jitsi-meet';
|
||||
|
||||
/**
|
||||
* Returns true if Jitsi Meet is running in too old jitsi-meet-electron app and false otherwise.
|
||||
*
|
||||
* @returns {boolean} - True if Jitsi Meet is running in too old jitsi-meet-electron app and false otherwise.
|
||||
*/
|
||||
export function isOldJitsiMeetElectronApp() {
|
||||
if (!browser.isElectron()) {
|
||||
return false;
|
||||
}
|
||||
|
||||
const match = navigator.userAgent.match(/(JitsiMeet)\s*\/\s*((\d+)\.[^\s]*)/);
|
||||
|
||||
if (!Array.isArray(match) || match.length < 3) {
|
||||
return false;
|
||||
}
|
||||
|
||||
const majorVersion = Number(match[3]);
|
||||
|
||||
if (isNaN(majorVersion) || majorVersion >= 2) {
|
||||
return false;
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
1
react/features/old-client-notification/index.js
Normal file
1
react/features/old-client-notification/index.js
Normal file
@@ -0,0 +1 @@
|
||||
import './middleware';
|
||||
43
react/features/old-client-notification/middleware.js
Normal file
43
react/features/old-client-notification/middleware.js
Normal file
@@ -0,0 +1,43 @@
|
||||
// @flow
|
||||
|
||||
import React from 'react';
|
||||
|
||||
import { APP_WILL_MOUNT } from '../base/app';
|
||||
import { MiddlewareRegistry } from '../base/redux';
|
||||
import { showErrorNotification } from '../notifications';
|
||||
|
||||
import { isOldJitsiMeetElectronApp } from './functions';
|
||||
import { OldElectronAPPNotificationDescription } from './components';
|
||||
|
||||
declare var interfaceConfig: Object;
|
||||
|
||||
MiddlewareRegistry.register(store => next => action => {
|
||||
switch (action.type) {
|
||||
case APP_WILL_MOUNT:
|
||||
return _appWillMount(store, next, action);
|
||||
}
|
||||
|
||||
return next(action);
|
||||
});
|
||||
|
||||
/**
|
||||
* Notifies the feature that the action {@link APP_WILL_MOUNT} has being dispatched.
|
||||
*
|
||||
* @param {Store} store - The redux store in which the specified {@code action} is being dispatched.
|
||||
* @param {Dispatch} next - The redux {@code dispatch} function to dispatch the specified {@code action}.
|
||||
* @param {Action} action - The redux action {@code APP_WILL_MOUNT} which is being dispatched.
|
||||
* @private
|
||||
* @returns {Object} The new state that is the result of the reduction of the specified {@code action}.
|
||||
*/
|
||||
function _appWillMount(store, next, action) {
|
||||
if (isOldJitsiMeetElectronApp()) {
|
||||
const { dispatch } = store;
|
||||
|
||||
dispatch(showErrorNotification({
|
||||
titleKey: 'notify.OldElectronAPPTitle',
|
||||
description: <OldElectronAPPNotificationDescription />
|
||||
}));
|
||||
}
|
||||
|
||||
return next(action);
|
||||
}
|
||||
@@ -41,68 +41,6 @@ class ToolbarButton extends AbstractToolbarButton<Props> {
|
||||
tooltipPosition: 'top'
|
||||
};
|
||||
|
||||
/**
|
||||
* Initializes a new {@code ToolbarButton} instance.
|
||||
*
|
||||
* @inheritdoc
|
||||
*/
|
||||
constructor(props: Props) {
|
||||
super(props);
|
||||
|
||||
this._onKeyDown = this._onKeyDown.bind(this);
|
||||
this._onKeyUp = this._onKeyUp.bind(this);
|
||||
}
|
||||
|
||||
_onKeyDown: (Object) => void;
|
||||
|
||||
/**
|
||||
* Handles 'Enter' key on the button to trigger onClick for accessibility.
|
||||
*
|
||||
* @param {Object} event - The key event.
|
||||
* @private
|
||||
* @returns {void}
|
||||
*/
|
||||
_onKeyDown(event) {
|
||||
// If the event coming to the dialog has been subject to preventDefault
|
||||
// we don't handle it here.
|
||||
if (event.defaultPrevented) {
|
||||
return;
|
||||
}
|
||||
|
||||
if (event.key === 'Enter') {
|
||||
event.preventDefault();
|
||||
event.stopPropagation();
|
||||
this.props.onClick();
|
||||
} else if (event.key === ' ') {
|
||||
// Space triggers button onKeyUp but we need to prevent default here
|
||||
event.preventDefault();
|
||||
}
|
||||
}
|
||||
|
||||
_onKeyUp: (Object) => void;
|
||||
|
||||
/**
|
||||
* Handles ' '(Space) key on the button to trigger onClick for
|
||||
* accessibility.
|
||||
*
|
||||
* @param {Object} event - The key event.
|
||||
* @private
|
||||
* @returns {void}
|
||||
*/
|
||||
_onKeyUp(event) {
|
||||
// If the event coming to the dialog has been subject to preventDefault
|
||||
// we don't handle it here.
|
||||
if (event.defaultPrevented) {
|
||||
return;
|
||||
}
|
||||
|
||||
if (event.key === ' ') {
|
||||
event.preventDefault();
|
||||
event.stopPropagation();
|
||||
this.props.onClick();
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Renders the button of this {@code ToolbarButton}.
|
||||
*
|
||||
@@ -115,13 +53,8 @@ class ToolbarButton extends AbstractToolbarButton<Props> {
|
||||
return (
|
||||
<div
|
||||
aria-label = { this.props.accessibilityLabel }
|
||||
aria-pressed = { this.props.toggled }
|
||||
className = 'toolbox-button'
|
||||
onClick = { this.props.onClick }
|
||||
onKeyDown = { this._onKeyDown }
|
||||
onKeyUp = { this._onKeyUp }
|
||||
role = 'button'
|
||||
tabIndex = { 0 }>
|
||||
onClick = { this.props.onClick }>
|
||||
{ this.props.tooltip
|
||||
? <Tooltip
|
||||
content = { this.props.tooltip }
|
||||
|
||||
@@ -5,14 +5,14 @@
|
||||
*
|
||||
* @type {string}
|
||||
*/
|
||||
export const CHROME = 'http://google.com/chrome';
|
||||
export const CHROME = 'https://www.google.com/chrome/';
|
||||
|
||||
/**
|
||||
* The URL at which Chromium is available for download.
|
||||
*
|
||||
* @type {string}
|
||||
*/
|
||||
export const CHROMIUM = 'http://www.chromium.org/';
|
||||
export const CHROMIUM = 'https://www.chromium.org/';
|
||||
|
||||
/**
|
||||
* The URL at which Microsoft Edge is available for download.
|
||||
@@ -27,7 +27,7 @@ export const EDGE
|
||||
*
|
||||
* @type {string}
|
||||
*/
|
||||
export const FIREFOX = 'http://www.getfirefox.com/';
|
||||
export const FIREFOX = 'https://www.getfirefox.com/';
|
||||
|
||||
/**
|
||||
* The URL at which Safari is available for download.
|
||||
|
||||
@@ -13,10 +13,10 @@
|
||||
We recommend to try with the latest version of
|
||||
<a
|
||||
className = 'unsupported-desktop-browser__link'
|
||||
href = 'http://google.com/chrome' >Chrome</a> or
|
||||
href = 'https://www.google.com/chrome/' >Chrome</a> or
|
||||
<a
|
||||
class = 'unsupported-desktop-browser__link'
|
||||
href = 'http://www.chromium.org/'>Chromium</a>
|
||||
href = 'https://www.chromium.org/'>Chromium</a>
|
||||
</p>
|
||||
</div>
|
||||
</body>
|
||||
|
||||
Reference in New Issue
Block a user