mirror of
https://gitcode.com/GitHub_Trending/ji/jitsi-meet.git
synced 2026-01-06 23:02:28 +00:00
Compare commits
55 Commits
android-20
...
4018
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
b50d6e43d0 | ||
|
|
f9fcb46036 | ||
|
|
4824c8714a | ||
|
|
be56521267 | ||
|
|
b7eda8df7a | ||
|
|
d632b6e13e | ||
|
|
dff7d661ca | ||
|
|
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 | ||
|
|
e79633b0ca | ||
|
|
49a9934c41 | ||
|
|
193d19ce21 | ||
|
|
fe83d87d2d | ||
|
|
b4a2327264 | ||
|
|
d9edf661dd | ||
|
|
e32f367b0c | ||
|
|
2b181673b5 | ||
|
|
87a058eaa4 | ||
|
|
eef0f5ed97 | ||
|
|
1751fc7635 | ||
|
|
4aa58f041f | ||
|
|
39d789a088 | ||
|
|
2654c77f2c | ||
|
|
7af88e5c4f | ||
|
|
ffdd4f2eed | ||
|
|
0b0a19ea5c | ||
|
|
b10aa422ca |
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
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
|
||||
Jitsi Meet is an open-source (Apache) WebRTC JavaScript application that uses [Jitsi Videobridge](https://jitsi.org/videobridge) to provide high quality, [secure](#security) and scalable video conferences. Jitsi Meet in action can be seen at [here at the session #482 of the VoIP Users Conference](http://youtu.be/7vFUVClsNh0).
|
||||
|
||||
The Jitsi Meet client runs in your browser, without installing anything else on your computer. You can try it out at https://meet.jit.si .
|
||||
The Jitsi Meet client runs in your browser, without installing anything else on your computer. You can try it out at https://meet.jit.si.
|
||||
|
||||
Jitsi Meet allows very efficient collaboration. Users can stream their desktop or only some windows. It also supports shared document editing with Etherpad.
|
||||
|
||||
|
||||
@@ -20,5 +20,5 @@
|
||||
android.useAndroidX=true
|
||||
android.enableJetifier=true
|
||||
|
||||
appVersion=20.2.3
|
||||
appVersion=20.2.0
|
||||
sdkVersion=2.8.0
|
||||
|
||||
@@ -288,6 +288,7 @@ public class JitsiMeetConferenceOptions implements Parcelable {
|
||||
}
|
||||
|
||||
private JitsiMeetConferenceOptions(Parcel in) {
|
||||
serverURL = (URL) in.readSerializable();
|
||||
room = in.readString();
|
||||
subject = in.readString();
|
||||
token = in.readString();
|
||||
@@ -376,6 +377,7 @@ public class JitsiMeetConferenceOptions implements Parcelable {
|
||||
|
||||
@Override
|
||||
public void writeToParcel(Parcel dest, int flags) {
|
||||
dest.writeSerializable(serverURL);
|
||||
dest.writeString(room);
|
||||
dest.writeString(subject);
|
||||
dest.writeString(token);
|
||||
|
||||
@@ -470,6 +470,11 @@ export default {
|
||||
*/
|
||||
localVideo: null,
|
||||
|
||||
/**
|
||||
* The key used for End-To-End Encryption.
|
||||
*/
|
||||
e2eeKey: undefined,
|
||||
|
||||
/**
|
||||
* Creates local media tracks and connects to a room. Will show error
|
||||
* dialogs in case accessing the local microphone and/or camera failed. Will
|
||||
@@ -645,6 +650,8 @@ export default {
|
||||
init(options) {
|
||||
this.roomName = options.roomName;
|
||||
|
||||
window.addEventListener('hashchange', this.onHashChange.bind(this), false);
|
||||
|
||||
return (
|
||||
|
||||
// Initialize the device list first. This way, when creating tracks
|
||||
@@ -1177,6 +1184,31 @@ export default {
|
||||
}));
|
||||
},
|
||||
|
||||
/**
|
||||
* Handled location hash change events.
|
||||
*/
|
||||
onHashChange() {
|
||||
const items = {};
|
||||
const parts = window.location.hash.substr(1).split('&');
|
||||
|
||||
for (const part of parts) {
|
||||
const param = part.split('=');
|
||||
const key = param[0];
|
||||
|
||||
if (!key) {
|
||||
continue; // eslint-disable-line no-continue
|
||||
}
|
||||
|
||||
items[key] = param[1];
|
||||
}
|
||||
|
||||
this.e2eeKey = items.e2eekey;
|
||||
|
||||
logger.debug(`New E2EE key: ${this.e2eeKey}`);
|
||||
|
||||
this._room.setE2EEKey(this.e2eeKey);
|
||||
},
|
||||
|
||||
/**
|
||||
* Exposes a Command(s) API on this instance. It is necessitated by (1) the
|
||||
* desire to keep room private to this instance and (2) the need of other
|
||||
|
||||
13
config.js
13
config.js
@@ -44,9 +44,6 @@ var config = {
|
||||
//
|
||||
|
||||
testing: {
|
||||
// Enables experimental simulcast support on Firefox.
|
||||
enableFirefoxSimulcast: false,
|
||||
|
||||
// P2P test mode disables automatic switching to P2P when there are 2
|
||||
// participants in the conference.
|
||||
p2pTestMode: false
|
||||
@@ -342,7 +339,7 @@ var config = {
|
||||
// The STUN servers that will be used in the peer to peer connections
|
||||
stunServers: [
|
||||
|
||||
// { urls: 'stun:jitsi-meet.example.com:443' },
|
||||
// { urls: 'stun:jitsi-meet.example.com:4446' },
|
||||
{ urls: 'stun:meet-jit-si-turnrelay.jitsi.net:443' }
|
||||
],
|
||||
|
||||
@@ -451,6 +448,14 @@ var config = {
|
||||
// the menu has option to flip the locally seen video for local presentations
|
||||
// disableLocalVideoFlip: false,
|
||||
|
||||
// Mainly privacy related settings
|
||||
|
||||
// Disables all invite functions from the app (share, invite, dial out...etc)
|
||||
// disableInviteFunctions: true,
|
||||
|
||||
// Disables storing the room name to the recents list
|
||||
// doNotStoreRoom: true,
|
||||
|
||||
// Deployment specific URLs.
|
||||
// deploymentUrls: {
|
||||
// // If specified a 'Help' button will be displayed in the overflow menu with a link to the specified URL for
|
||||
|
||||
@@ -71,6 +71,11 @@
|
||||
display: flex;
|
||||
margin-top: 5px;
|
||||
text-align: right;
|
||||
flex-direction: column;
|
||||
|
||||
.help-container {
|
||||
display: flex;
|
||||
}
|
||||
}
|
||||
|
||||
.live-stream-cta {
|
||||
|
||||
1
debian/control
vendored
1
debian/control
vendored
@@ -53,5 +53,6 @@ Description: Prosody token authentication plugin for Jitsi Meet
|
||||
Package: jitsi-meet-turnserver
|
||||
Architecture: all
|
||||
Breaks: apache2
|
||||
Pre-Depends: jitsi-meet-web-config
|
||||
Depends: ${misc:Depends}, nginx (>= 1.13.10) | nginx-full (>= 1.13.10) | nginx-extras (>= 1.13.10), jitsi-meet-prosody, coturn, dnsutils
|
||||
Description: Configures coturn to be used with Jitsi Meet
|
||||
|
||||
13
debian/jitsi-meet-prosody.postinst
vendored
13
debian/jitsi-meet-prosody.postinst
vendored
@@ -137,7 +137,7 @@ case "$1" in
|
||||
# as we are migrating configs
|
||||
if [ -f $PROSODY_HOST_CONFIG ] && ! grep -q "internal.auth.$JVB_HOSTNAME" $PROSODY_HOST_CONFIG; then
|
||||
echo -e "\nComponent \"internal.auth.$JVB_HOSTNAME\" \"muc\"" >> $PROSODY_HOST_CONFIG
|
||||
echo -e " storage = \"null\"" >> $PROSODY_HOST_CONFIG
|
||||
echo -e " storage = \"memory\"" >> $PROSODY_HOST_CONFIG
|
||||
echo -e " modules_enabled = { \"ping\"; }" >> $PROSODY_HOST_CONFIG
|
||||
echo -e " admins = { \"$JICOFO_AUTH_USER@auth.$JVB_HOSTNAME\", \"jvb@auth.$JVB_HOSTNAME\" }" >> $PROSODY_HOST_CONFIG
|
||||
fi
|
||||
@@ -151,14 +151,13 @@ case "$1" in
|
||||
ln -sf /var/lib/prosody/$JVB_HOSTNAME.crt /etc/prosody/certs/$JVB_HOSTNAME.crt
|
||||
fi
|
||||
|
||||
PR11_INSTALL_CHECK="$(dpkg-query -f '${Status}' -W 'prosody-0.11' 2>/dev/null | awk '{print $3}' || true)"
|
||||
PRTRUNK_INSTALL_CHECK="$(dpkg-query -f '${Status}' -W 'prosody-trunk' 2>/dev/null | awk '{print $3}' || true)"
|
||||
PR10_INSTALL_CHECK="$(dpkg-query -f '${Status}' -W 'prosody-0.10' 2>/dev/null | awk '{print $3}' || true)"
|
||||
PR_VER_INSTALLED=$(dpkg-query -f='${Version}\n' --show prosody 2>/dev/null || true)
|
||||
if [ "$PR11_INSTALL_CHECK" = "installed" ] \
|
||||
|| [ "$PR11_INSTALL_CHECK" = "unpacked" ] \
|
||||
|| dpkg --compare-versions "$PR_VER_INSTALLED" gt "0.11" ; then
|
||||
if [ "$PRTRUNK_INSTALL_CHECK" = "installed" ] \
|
||||
|| [ "$PRTRUNK_INSTALL_CHECK" = "unpacked" ] ; then
|
||||
if [ -f $PROSODY_HOST_CONFIG ]; then
|
||||
sed -i 's/storage = \"null\"/storage = \"memory\"/g' $PROSODY_HOST_CONFIG
|
||||
sed -i 's/storage = \"memory\"/storage = \"null\"/g' $PROSODY_HOST_CONFIG
|
||||
|
||||
# trigger a restart
|
||||
PROSODY_CONFIG_PRESENT="false"
|
||||
@@ -171,7 +170,7 @@ case "$1" in
|
||||
# if the version is 0.10.X (>0.10 and <0.11)
|
||||
if [ -f $PROSODY_HOST_CONFIG ] \
|
||||
&& dpkg --compare-versions "$PR_VER_INSTALLED" lt "0.11" ; then
|
||||
sed -i 's/storage = \"null\"/storage = \"none\"/g' $PROSODY_HOST_CONFIG
|
||||
sed -i 's/storage = \"memory\"/storage = \"none\"/g' $PROSODY_HOST_CONFIG
|
||||
|
||||
# trigger a restart
|
||||
PROSODY_CONFIG_PRESENT="false"
|
||||
|
||||
13
debian/jitsi-meet-tokens.postinst
vendored
13
debian/jitsi-meet-tokens.postinst
vendored
@@ -69,12 +69,15 @@ case "$1" in
|
||||
echo "Failed to install basexx - try installing it manually"
|
||||
fi
|
||||
|
||||
PR11_INSTALL_CHECK="$(dpkg-query -f '${Status}' -W 'prosody-0.11' 2>/dev/null | awk '{print $3}' || true)"
|
||||
PR10_INSTALL_CHECK="$(dpkg-query -f '${Status}' -W 'prosody-0.10' 2>/dev/null | awk '{print $3}' || true)"
|
||||
PRTRUNK_INSTALL_CHECK="$(dpkg-query -f '${Status}' -W 'prosody-trunk' 2>/dev/null | awk '{print $3}' || true)"
|
||||
PR_VER_INSTALLED=$(dpkg-query -f='${Version}\n' --show prosody 2>/dev/null || true)
|
||||
if [ "$PR11_INSTALL_CHECK" = "installed" ] \
|
||||
|| [ "$PR11_INSTALL_CHECK" = "unpacked" ] \
|
||||
|| dpkg --compare-versions "$PR_VER_INSTALLED" gt "0.11" ; then
|
||||
sed -i 's/module:hook/module:hook_global/g' /usr/share/jitsi-meet/prosody-plugins/mod_auth_token.lua
|
||||
if [ "$PR10_INSTALL_CHECK" = "installed" ] \
|
||||
|| "$PR10_INSTALL_CHECK" = "unpacked" \
|
||||
|| "$PRTRUNK_INSTALL_CHECK" = "installed" \
|
||||
|| "$PRTRUNK_INSTALL_CHECK" = "unpacked" \
|
||||
|| dpkg --compare-versions "$PR_VER_INSTALLED" lt "0.11" ; then
|
||||
sed -i 's/module:hook_global(/module:hook(/g' /usr/share/jitsi-meet/prosody-plugins/mod_auth_token.lua
|
||||
fi
|
||||
|
||||
if [ -x "/etc/init.d/prosody" ]; then
|
||||
|
||||
5
debian/jitsi-meet-turnserver.install
vendored
5
debian/jitsi-meet-turnserver.install
vendored
@@ -1,2 +1,3 @@
|
||||
doc/debian/jitsi-meet-turn/turnserver.conf /usr/share/jitsi-meet-turnserver/
|
||||
doc/debian/jitsi-meet/jitsi-meet.conf /usr/share/jitsi-meet-turnserver/
|
||||
doc/debian/jitsi-meet-turn/turnserver.conf /usr/share/jitsi-meet-turnserver/
|
||||
doc/debian/jitsi-meet/jitsi-meet.conf /usr/share/jitsi-meet-turnserver/
|
||||
doc/debian/jitsi-meet-turn/coturn-certbot-deploy.sh /usr/share/jitsi-meet-turnserver/
|
||||
|
||||
36
debian/jitsi-meet-turnserver.postinst
vendored
36
debian/jitsi-meet-turnserver.postinst
vendored
@@ -38,6 +38,7 @@ case "$1" in
|
||||
|
||||
NGINX_SITES_ENABLED="/etc/nginx/sites-enabled/"
|
||||
NGINX_CONFIG_ENABLED="${NGINX_SITES_ENABLED}${JVB_HOSTNAME}.conf"
|
||||
NGINX_MULTIPLEXING="true"
|
||||
for site in ${NGINX_SITES_ENABLED}*; do
|
||||
# if it is not a file continue
|
||||
[ -f "${site}" ] || continue
|
||||
@@ -48,11 +49,10 @@ case "$1" in
|
||||
# nothing to do
|
||||
echo "------------------------------------------------"
|
||||
echo ""
|
||||
echo "turnserver not configured as other nginx sites use port 443"
|
||||
echo "turnserver is listening on tcp 4445 as other nginx sites use port 443"
|
||||
echo ""
|
||||
echo "------------------------------------------------"
|
||||
db_stop
|
||||
exit 0
|
||||
NGINX_MULTIPLEXING="false"
|
||||
fi
|
||||
done
|
||||
|
||||
@@ -77,7 +77,7 @@ case "$1" in
|
||||
# nothing to do
|
||||
echo "------------------------------------------------"
|
||||
echo ""
|
||||
echo "turnserver not configured as no nginx found to multiplex traffic"
|
||||
echo "turnserver not configured"
|
||||
echo ""
|
||||
echo "------------------------------------------------"
|
||||
db_stop
|
||||
@@ -106,18 +106,19 @@ case "$1" in
|
||||
TURN_SECRET="$RET"
|
||||
|
||||
# no turn config exists, lt's copy template and fill it in
|
||||
PUBLIC_IP=$(dig +short myip.opendns.com @resolver1.opendns.com)
|
||||
PUBLIC_IP=$(dig +short myip.opendns.com @resolver1.opendns.com) || true
|
||||
if [ -z "$PUBLIC_IP" ] ; then
|
||||
PUBLIC_IP="127.0.0.1"
|
||||
echo "------------------------------------------------"
|
||||
echo "Warning! Could not resolve your external ip address! Error:^"
|
||||
echo "Your turn server will not work till you edit your $TURN_CONFIG config file."
|
||||
echo "You need to set your external ip address in external-ip and restart coturn service."
|
||||
echo "------------------------------------------------"
|
||||
fi
|
||||
cp /usr/share/jitsi-meet-turnserver/turnserver.conf $TURN_CONFIG
|
||||
sed -i "s/jitsi-meet.example.com/$JVB_HOSTNAME/g" $TURN_CONFIG
|
||||
sed -i "s/__turnSecret__/$TURN_SECRET/g" $TURN_CONFIG
|
||||
sed -i "s/__external_ip_address__/$JVB_HOSTNAME/g" $TURN_CONFIG
|
||||
|
||||
# Hack Debian Buster coturn to be able to bind privileged port 443
|
||||
COTURN_UNIT_FILE="/lib/systemd/system/coturn.service"
|
||||
if [[ -f $COTURN_UNIT_FILE ]] && ! grep -q "CAP_NET_BIND_SERVICE" "$COTURN_UNIT_FILE" ; then
|
||||
sed -i "s/\[Service\]/\[Service\]\nAmbientCapabilities=CAP_NET_BIND_SERVICE/g" $COTURN_UNIT_FILE
|
||||
systemctl daemon-reload
|
||||
fi
|
||||
sed -i "s/__external_ip_address__/$PUBLIC_IP/g" $TURN_CONFIG
|
||||
|
||||
# SSL for nginx
|
||||
db_get jitsi-meet/cert-choice
|
||||
@@ -142,11 +143,18 @@ case "$1" in
|
||||
invoke-rc.d coturn restart || true
|
||||
|
||||
NGINX_STREAM_CONFIG="/etc/nginx/modules-enabled/60-jitsi-meet.conf"
|
||||
if [ ! -f $NGINX_STREAM_CONFIG ] && [ -f $NGINX_CONFIG ] ; then
|
||||
if [ $NGINX_MULTIPLEXING = "true" ] && [ ! -f $NGINX_STREAM_CONFIG ] && [ -f $NGINX_CONFIG ] ; then
|
||||
ln -s /usr/share/jitsi-meet-turnserver/jitsi-meet.conf $NGINX_STREAM_CONFIG
|
||||
sed -i "s/listen 443 ssl/listen 4444 ssl http2/g" $NGINX_CONFIG
|
||||
sed -i "s/listen \[\:\:\]\:443 ssl/listen \[\:\:\]\:4444 ssl http2/g" $NGINX_CONFIG
|
||||
invoke-rc.d nginx reload || true
|
||||
else
|
||||
PROSODY_HOST_CONFIG="/etc/prosody/conf.avail/$JVB_HOSTNAME.cfg.lua"
|
||||
if [ -f $PROSODY_HOST_CONFIG ] ; then
|
||||
# If we are not multiplexing we need to change the port in prosody config
|
||||
sed -i 's/"443"/"4445"/g' $PROSODY_HOST_CONFIG
|
||||
invoke-rc.d prosody restart || true
|
||||
fi
|
||||
fi
|
||||
|
||||
# Enable turn server in config.js
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -85,14 +85,15 @@ const options = {
|
||||
const api = new JitsiMeetExternalAPI(domain, options);
|
||||
```
|
||||
|
||||
You can set the userInfo(email) for the call:
|
||||
You can set the userInfo(email, display name) for the call:
|
||||
|
||||
```javascript
|
||||
var domain = "meet.jit.si";
|
||||
var options = {
|
||||
...
|
||||
userInfo: {
|
||||
email: 'email@jitsiexamplemail.com'
|
||||
email: 'email@jitsiexamplemail.com',
|
||||
displayName: 'John Doe'
|
||||
}
|
||||
}
|
||||
var api = new JitsiMeetExternalAPI(domain, options);
|
||||
|
||||
@@ -6,8 +6,8 @@ muc_mapper_domain_base = "jitmeet.example.com";
|
||||
turncredentials_secret = "__turnSecret__";
|
||||
|
||||
turncredentials = {
|
||||
{ type = "stun", host = "jitmeet.example.com", port = "443" },
|
||||
{ type = "turn", host = "jitmeet.example.com", port = "443", transport = "udp" },
|
||||
{ type = "stun", host = "jitmeet.example.com", port = "4446" },
|
||||
{ type = "turn", host = "jitmeet.example.com", port = "4446", transport = "udp" },
|
||||
{ type = "turns", host = "jitmeet.example.com", port = "443", transport = "tcp" }
|
||||
};
|
||||
|
||||
@@ -43,7 +43,7 @@ VirtualHost "jitmeet.example.com"
|
||||
c2s_require_encryption = false
|
||||
|
||||
Component "conference.jitmeet.example.com" "muc"
|
||||
storage = "null"
|
||||
storage = "memory"
|
||||
modules_enabled = {
|
||||
"muc_meeting_id";
|
||||
"muc_domain_mapper";
|
||||
@@ -55,11 +55,13 @@ Component "conference.jitmeet.example.com" "muc"
|
||||
|
||||
-- internal muc component
|
||||
Component "internal.auth.jitmeet.example.com" "muc"
|
||||
storage = "null"
|
||||
storage = "memory"
|
||||
modules_enabled = {
|
||||
"ping";
|
||||
}
|
||||
admins = { "focusUser@auth.jitmeet.example.com", "jvb@auth.jitmeet.example.com" }
|
||||
muc_room_locking = false
|
||||
muc_room_default_public_jids = true
|
||||
|
||||
VirtualHost "auth.jitmeet.example.com"
|
||||
authentication = "internal_plain"
|
||||
|
||||
45
doc/debian/jitsi-meet-turn/coturn-certbot-deploy.sh
Normal file
45
doc/debian/jitsi-meet-turn/coturn-certbot-deploy.sh
Normal file
@@ -0,0 +1,45 @@
|
||||
#!/bin/sh
|
||||
|
||||
set -e
|
||||
|
||||
COTURN_CERT_DIR="/etc/coturn/certs"
|
||||
TURN_CONFIG="/etc/turnserver.conf"
|
||||
|
||||
# create a directory to store certs if it does not exists
|
||||
if [ ! -d "$COTURN_CERT_DIR" ]; then
|
||||
mkdir -p $COTURN_CERT_DIR
|
||||
chown -R turnserver:turnserver /etc/coturn/
|
||||
chmod -R 700 /etc/coturn/
|
||||
fi
|
||||
|
||||
# This is a template and when copied to /etc/letsencrypt/renewal-hooks/deploy/
|
||||
# during creating the Let's encrypt certs script
|
||||
# jitsi-meet.example.com will be replaced with the real domain of deployment
|
||||
for domain in $RENEWED_DOMAINS; do
|
||||
case $domain in
|
||||
jitsi-meet.example.com)
|
||||
# Make sure the certificate and private key files are
|
||||
# never world readable, even just for an instant while
|
||||
# we're copying them into daemon_cert_root.
|
||||
umask 077
|
||||
|
||||
cp "$RENEWED_LINEAGE/fullchain.pem" "$COTURN_CERT_DIR/$domain.fullchain.pem"
|
||||
cp "$RENEWED_LINEAGE/privkey.pem" "$COTURN_CERT_DIR/$domain.privkey.pem"
|
||||
|
||||
# Apply the proper file ownership and permissions for
|
||||
# the daemon to read its certificate and key.
|
||||
chown turnserver "$COTURN_CERT_DIR/$domain.fullchain.pem" \
|
||||
"$COTURN_CERT_DIR/$domain.privkey.pem"
|
||||
chmod 400 "$COTURN_CERT_DIR/$domain.fullchain.pem" \
|
||||
"$COTURN_CERT_DIR/$domain.privkey.pem"
|
||||
|
||||
if [ -f $TURN_CONFIG ] && grep -q "jitsi-meet coturn config" "$TURN_CONFIG" ; then
|
||||
echo "Configuring turnserver"
|
||||
sed -i "/^cert/c\cert=\/etc\/coturn\/certs\/${domain}.fullchain.pem" $TURN_CONFIG
|
||||
sed -i "/^pkey/c\pkey=\/etc\/coturn\/certs\/${domain}.privkey.pem" $TURN_CONFIG
|
||||
fi
|
||||
service coturn restart
|
||||
;;
|
||||
esac
|
||||
done
|
||||
|
||||
@@ -1,5 +1,4 @@
|
||||
# jitsi-meet coturn config. Do not modify this line
|
||||
lt-cred-mech
|
||||
use-auth-secret
|
||||
keep-address-family
|
||||
static-auth-secret=__turnSecret__
|
||||
@@ -8,7 +7,7 @@ cert=/etc/jitsi/meet/jitsi-meet.example.com.crt
|
||||
pkey=/etc/jitsi/meet/jitsi-meet.example.com.key
|
||||
|
||||
no-tcp
|
||||
listening-port=443
|
||||
listening-port=4446
|
||||
tls-listening-port=4445
|
||||
external-ip=__external_ip_address__
|
||||
|
||||
|
||||
@@ -39,6 +39,10 @@ server {
|
||||
index index.html index.htm;
|
||||
error_page 404 /static/404.html;
|
||||
|
||||
gzip on;
|
||||
gzip_types text/plain text/css application/javascript application/json;
|
||||
gzip_vary on;
|
||||
|
||||
location = /config.js {
|
||||
alias /etc/jitsi/meet/jitsi-meet.example.com-config.js;
|
||||
}
|
||||
|
||||
@@ -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:
|
||||
|
||||
@@ -25,11 +25,19 @@ 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
|
||||
|
||||
_Note_: The installer will check if [Nginx](https://nginx.org/) or [Apache](https://httpd.apache.org/) is present (in that order) and configure a virtualhost within the web server it finds to serve Jitsi Meet. If none of the above is found it then defaults to Nginx.
|
||||
If you are already running Nginx on port 443 on the same machine you better skip the turnserver configuration as it will conflict with your current port 443, so use the command `apt install --no-install-recommends jitsi-meet`.
|
||||
If you are already running Nginx on port 443 on the same machine turnserver configuration will be skipped as it will conflict with your current port 443.
|
||||
|
||||
```sh
|
||||
# Ensure support is available for apt repositories served via HTTPS
|
||||
@@ -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.
|
||||
@@ -175,7 +175,7 @@ var interfaceConfig = {
|
||||
// has a suboptimal experience. Browsers which are not listed as optimal or
|
||||
// unsupported are considered suboptimal. Valid values are:
|
||||
// chrome, chromium, edge, electron, firefox, nwjs, opera, safari
|
||||
OPTIMAL_BROWSERS: [ 'chrome', 'chromium', 'firefox', 'nwjs', 'electron' ],
|
||||
OPTIMAL_BROWSERS: [ 'chrome', 'chromium', 'firefox', 'nwjs', 'electron', 'safari' ],
|
||||
|
||||
// Browsers, in addition to those which do not fully support WebRTC, that
|
||||
// are not supported and should show the unsupported browser page.
|
||||
|
||||
@@ -586,4 +586,4 @@ SPEC CHECKSUMS:
|
||||
|
||||
PODFILE CHECKSUM: f615794fb9184757b00cd16e534824ba6ee2fc98
|
||||
|
||||
COCOAPODS: 1.9.1
|
||||
COCOAPODS: 1.8.4
|
||||
|
||||
@@ -17,7 +17,7 @@
|
||||
<key>CFBundlePackageType</key>
|
||||
<string>APPL</string>
|
||||
<key>CFBundleShortVersionString</key>
|
||||
<string>20.2.3</string>
|
||||
<string>20.2.0</string>
|
||||
<key>CFBundleSignature</key>
|
||||
<string>????</string>
|
||||
<key>CFBundleURLTypes</key>
|
||||
|
||||
@@ -17,7 +17,7 @@
|
||||
<key>CFBundlePackageType</key>
|
||||
<string>APPL</string>
|
||||
<key>CFBundleShortVersionString</key>
|
||||
<string>20.2.3</string>
|
||||
<string>20.2.0</string>
|
||||
<key>CFBundleVersion</key>
|
||||
<string>1</string>
|
||||
<key>UISupportedInterfaceOrientations</key>
|
||||
|
||||
@@ -17,7 +17,7 @@
|
||||
<key>CFBundlePackageType</key>
|
||||
<string>XPC!</string>
|
||||
<key>CFBundleShortVersionString</key>
|
||||
<string>20.2.3</string>
|
||||
<string>20.2.0</string>
|
||||
<key>CFBundleVersion</key>
|
||||
<string>1</string>
|
||||
<key>CLKComplicationPrincipalClass</key>
|
||||
|
||||
@@ -13,20 +13,22 @@
|
||||
"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",
|
||||
"pl": "Polaco",
|
||||
"ptBR": "Portugués (Brasil)",
|
||||
"ru": "Ruso",
|
||||
"sk": "Eslovaco",
|
||||
"sv": "Sueco",
|
||||
"tr": "Turco",
|
||||
"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",
|
||||
@@ -24,9 +25,10 @@
|
||||
"pl": "Polaco",
|
||||
"ptBR": "Portugués (Brasil)",
|
||||
"ru": "Ruso",
|
||||
"sk": "Eslovaco",
|
||||
"sv": "Sueco",
|
||||
"tr": "Turco",
|
||||
"vi": "Vietnamita",
|
||||
"zhCN": "Chino (China)",
|
||||
"zhTW": "Chino (Taiwan)"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -24,6 +24,7 @@
|
||||
"pl": "Polonais",
|
||||
"ptBR": "Portugais (Brésil)",
|
||||
"ru": "Russe",
|
||||
"sk": "Slovaque",
|
||||
"sv": "Suédois",
|
||||
"tr": "Turc",
|
||||
"vi": "Vietnamien",
|
||||
|
||||
@@ -24,6 +24,7 @@
|
||||
"pl": "Polonais",
|
||||
"ptBR": "Portugais (Brésil)",
|
||||
"ru": "Russe",
|
||||
"sk": "Slovaque",
|
||||
"sv": "Suédois",
|
||||
"tr": "Turc",
|
||||
"vi": "Vietnamien",
|
||||
|
||||
@@ -24,6 +24,7 @@
|
||||
"pl": "Lengyel",
|
||||
"ptBR": "Portugál (Brazil)",
|
||||
"ru": "Orosz",
|
||||
"sk": "Szlovákul",
|
||||
"sv": "Svéd",
|
||||
"tr": "Török",
|
||||
"vi": "Vietnámi",
|
||||
|
||||
@@ -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)"
|
||||
}
|
||||
35
lang/languages-mn.json
Normal file
35
lang/languages-mn.json
Normal file
@@ -0,0 +1,35 @@
|
||||
{
|
||||
"en": "English",
|
||||
"af": "Afrikaans",
|
||||
"bg": "Bulgarian",
|
||||
"ca": "Catalan",
|
||||
"cs": "Czech",
|
||||
"da": "Danish",
|
||||
"de": "German",
|
||||
"el": "Greek",
|
||||
"enGB": "English (United Kingdom)",
|
||||
"eo": "Esperanto",
|
||||
"es": "Spanish",
|
||||
"esUS": "Spanish (Latin America)",
|
||||
"et": "Estonian",
|
||||
"fi": "Finnish",
|
||||
"fr": "French",
|
||||
"frCA": "French (Canadian)",
|
||||
"hr": "Croatian",
|
||||
"hu": "Hungarian",
|
||||
"hy": "Armenian",
|
||||
"it": "Italian",
|
||||
"ja": "Japanese",
|
||||
"ko": "Korean",
|
||||
"nl": "Dutch",
|
||||
"oc": "Occitan",
|
||||
"pl": "Polish",
|
||||
"ptBR": "Portuguese (Brazil)",
|
||||
"ru": "Russian",
|
||||
"sv": "Swedish",
|
||||
"tr": "Turkish",
|
||||
"vi": "Vietnamese",
|
||||
"zhCN": "Chinese (China)",
|
||||
"zhTW": "Chinese (Taiwan)",
|
||||
"mn": "Монгол"
|
||||
}
|
||||
@@ -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)"
|
||||
}
|
||||
|
||||
@@ -24,6 +24,7 @@
|
||||
"pl": "polski",
|
||||
"ptBR": "portugalski (brazylijski)",
|
||||
"ru": "rosyjski",
|
||||
"sk": "słowacki",
|
||||
"sv": "szwedzki",
|
||||
"tr": "turecki",
|
||||
"vi": "wietnamski",
|
||||
|
||||
33
lang/languages-pt.json
Normal file
33
lang/languages-pt.json
Normal file
@@ -0,0 +1,33 @@
|
||||
{
|
||||
"en": "Inglês",
|
||||
"af": "Africâner",
|
||||
"bg": "Búlgaro",
|
||||
"ca": "Catalão",
|
||||
"cs": "Checo",
|
||||
"de": "Alemão",
|
||||
"el": "Grego",
|
||||
"enGB": "Inglês (Reino Unido)",
|
||||
"eo": "Esperanto",
|
||||
"es": "Espanhol",
|
||||
"esUS": "Espanhol (América Latina)",
|
||||
"fi": "Finlandês",
|
||||
"fr": "Francês",
|
||||
"frCA": "Francês (Canadá)",
|
||||
"hr": "Croata",
|
||||
"hu": "Húngaro",
|
||||
"hy": "Armênio",
|
||||
"it": "Italiano",
|
||||
"ja": "Japonês",
|
||||
"ko": "Coreano",
|
||||
"nl": "Holandês",
|
||||
"oc": "Occitano",
|
||||
"pl": "Polonês",
|
||||
"pt": "Português",
|
||||
"ptBR": "Português (Brasil)",
|
||||
"ru": "Russo",
|
||||
"sv": "Sueco",
|
||||
"tr": "Turco",
|
||||
"vi": "Vietnamita",
|
||||
"zhCN": "Chinês (China)",
|
||||
"zhTW": "Chinês (Taiwan)"
|
||||
}
|
||||
@@ -2,31 +2,34 @@
|
||||
"en": "Angličtina",
|
||||
"af": "",
|
||||
"bg": "Bulharština",
|
||||
"ca": "",
|
||||
"cs": "",
|
||||
"ca": "Katalánština",
|
||||
"cs": "Čeština",
|
||||
"da": "Dánština",
|
||||
"de": "Nemčina",
|
||||
"el": "",
|
||||
"enGB": "",
|
||||
"eo": "",
|
||||
"es": "",
|
||||
"esUS": "",
|
||||
"fi": "",
|
||||
"el": "Gréčtina",
|
||||
"enGB": "Angličtina (Spojené kráľovstvo)",
|
||||
"eo": "Esperanto",
|
||||
"es": "Španielčina",
|
||||
"esUS": "Angličtina (Spojené štáty americké)",
|
||||
"et": "Estónčina",
|
||||
"fi": "Fínčina",
|
||||
"fr": "Francúžtina",
|
||||
"frCA": "",
|
||||
"hr": "",
|
||||
"hu": "",
|
||||
"hy": "",
|
||||
"frCA": "Francúžtina (Kanada)",
|
||||
"hr": "Chorvátčina",
|
||||
"hu": "Maďarčina",
|
||||
"hy": "Arménčina",
|
||||
"it": "Taliančina",
|
||||
"ja": "",
|
||||
"ko": "",
|
||||
"nl": "",
|
||||
"oc": "",
|
||||
"pl": "",
|
||||
"ptBR": "",
|
||||
"ru": "",
|
||||
"sv": "",
|
||||
"ja": "Japončina",
|
||||
"ko": "Kórejčina",
|
||||
"nl": "Holandčina",
|
||||
"oc": "Okcitánština",
|
||||
"pl": "Polština",
|
||||
"ptBR": "Portugalčina",
|
||||
"ru": "Ruština",
|
||||
"sk": "Slovenčina",
|
||||
"sv": "Švédčina",
|
||||
"tr": "Turečtina",
|
||||
"vi": "",
|
||||
"zhCN": "",
|
||||
"zhTW": ""
|
||||
"vi": "Vietnamčina",
|
||||
"zhCN": "Čínština (Čína)",
|
||||
"zhTW": "Čínština (Taiwan)"
|
||||
}
|
||||
@@ -1,32 +1,34 @@
|
||||
{
|
||||
"en": "English",
|
||||
"af": "Afrikaans",
|
||||
"bg": "Bulgarian",
|
||||
"ca": "Catalan",
|
||||
"cs": "Czech",
|
||||
"de": "German",
|
||||
"el": "Greek",
|
||||
"enGB": "English (United Kingdom)",
|
||||
"eo": "Esperanto",
|
||||
"es": "Spanish",
|
||||
"esUS": "Spanish (Latin America)",
|
||||
"fi": "Finnish",
|
||||
"fr": "French",
|
||||
"frCA": "French (Canadian)",
|
||||
"hr": "Croatian",
|
||||
"hu": "Hungarian",
|
||||
"hy": "Armenian",
|
||||
"it": "Italian",
|
||||
"ja": "日本語",
|
||||
"en": "英語",
|
||||
"af": "南非荷蘭文",
|
||||
"bg": "保加利亞文",
|
||||
"ca": "卡達隆尼亞文",
|
||||
"cs": "捷克文",
|
||||
"de": "德文",
|
||||
"el": "希臘文",
|
||||
"enGB": "英文 (英國)",
|
||||
"eo": "世界語",
|
||||
"es": "西班牙文",
|
||||
"esUS": "西班牙文 (拉丁美洲)",
|
||||
"fi": "芬蘭文",
|
||||
"fr": "法文",
|
||||
"frCA": "法文 (加拿大)",
|
||||
"hr": "克羅埃西亞文",
|
||||
"hu": "匈牙利文",
|
||||
"hy": "亞美尼亞文",
|
||||
"it": "義大利文",
|
||||
"ja": "日語",
|
||||
"ko": "韓文",
|
||||
"nl": "Dutch",
|
||||
"oc": "Occitan",
|
||||
"pl": "Polish",
|
||||
"ptBR": "Portuguese (Brazil)",
|
||||
"ru": "Russian",
|
||||
"sv": "Swedish",
|
||||
"tr": "Turkish",
|
||||
"vi": "Vietnamese",
|
||||
"zhCN": "中文 简体 (中国)",
|
||||
"zhTW": "中文 正體 (台灣)"
|
||||
}
|
||||
"nl": "荷蘭文",
|
||||
"oc": "奧西坦文",
|
||||
"pl": "波蘭文",
|
||||
"ptBR": "葡萄牙文 (巴西)",
|
||||
"ru": "俄文",
|
||||
"sv": "瑞典文",
|
||||
"tr": "土耳其文",
|
||||
"vi": "越南文",
|
||||
"zhCN": "中文 (中国,简体)",
|
||||
"zhTW": "中文 (台灣,正體)",
|
||||
"et": "愛沙尼亞文",
|
||||
"da": "丹麥文"
|
||||
}
|
||||
|
||||
@@ -15,17 +15,21 @@
|
||||
"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",
|
||||
"vi": "Vietnamese",
|
||||
|
||||
@@ -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?",
|
||||
@@ -197,7 +197,7 @@
|
||||
"liveStreamingDisabledForGuestTooltip": "Gäste können kein Livestreaming starten.",
|
||||
"liveStreamingDisabledTooltip": "Starten des Livestreams deaktiviert.",
|
||||
"lockMessage": "Die Konferenz konnte nicht gesperrt werden.",
|
||||
"lockRoom": "Meeting $t(lockRoomPasswordUppercase) hinzufügen",
|
||||
"lockRoom": "Meeting-$t(lockRoomPasswordUppercase) hinzufügen",
|
||||
"lockTitle": "Sperren fehlgeschlagen",
|
||||
"logoutQuestion": "Sind Sie sicher, dass Sie sich abmelden und die Konferenz verlassen möchten?",
|
||||
"logoutTitle": "Abmelden",
|
||||
@@ -275,10 +275,10 @@
|
||||
"tokenAuthFailed": "Sie sind nicht berechtigt, dieser Konferenz beizutreten.",
|
||||
"tokenAuthFailedTitle": "Authentifizierung fehlgeschlagen",
|
||||
"transcribing": "Wird transkribiert",
|
||||
"unlockRoom": "Meeting $t(lockRoomPassword) entfernen",
|
||||
"unlockRoom": "Meeting-$t(lockRoomPassword) entfernen",
|
||||
"userPassword": "Benutzerpasswort",
|
||||
"WaitForHostMsg": "Die Konferenz <b>{{room}}</b> wurde noch nicht gestartet. Wenn Sie der Organisator sind, authentifizieren Sie sich. Warten Sie andernfalls, bis der Veranstalter erscheint.",
|
||||
"WaitForHostMsgWOk": "Die Konferenz <b>{{room}}</b> wurde noch nicht gestartet. Wenn Sie der Organisator sind, drücken Sie zum Authentifizieren auf OK. Warten Sie andernfalls, bis der Veranstalter erscheint.",
|
||||
"WaitForHostMsg": "Die Konferenz <b>{{room}}</b> wurde noch nicht gestartet. Wenn Sie der Organisator sind, authentifizieren Sie sich. Warten Sie andernfalls, bis der Organisator erscheint.",
|
||||
"WaitForHostMsgWOk": "Die Konferenz <b>{{room}}</b> wurde noch nicht gestartet. Wenn Sie der Organisator sind, drücken Sie zum Authentifizieren auf OK. Warten Sie andernfalls, bis der Organisator erscheint.",
|
||||
"WaitingForHost": "Warten auf den Organisator...",
|
||||
"Yes": "Ja",
|
||||
"yourEntireScreen": "Ganzer Bildschirm"
|
||||
@@ -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",
|
||||
@@ -686,14 +686,14 @@
|
||||
"tr": "TR"
|
||||
},
|
||||
"userMedia": {
|
||||
"androidGrantPermissions": "Wählen Sie <b><i>Erlauben</i></b>, wenn der Browser um Berechtigungen bittet.",
|
||||
"chromeGrantPermissions": "Wählen Sie <b><i>Erlauben</i></b>, wenn der Browser um Berechtigungen bittet.",
|
||||
"androidGrantPermissions": "Wählen Sie <b><i>Zulassen</i></b>, wenn der Browser um Berechtigungen bittet.",
|
||||
"chromeGrantPermissions": "Wählen Sie <b><i>Zulassen</i></b>, wenn der Browser um Berechtigungen bittet.",
|
||||
"edgeGrantPermissions": "Wählen Sie <b><i>Ja</i></b>, wenn der Browser um Berechtigungen bittet.",
|
||||
"electronGrantPermissions": "Bitte Berechtigungen zur Verwendung der Kamera und des Mikrofons erteilen",
|
||||
"firefoxGrantPermissions": "Wählen Sie <b><i>Markiertes Gerät teilen</i></b>, wenn der Browser um Berechtigungen bittet.",
|
||||
"firefoxGrantPermissions": "Wählen Sie <b><i>Erlauben</i></b>, wenn der Browser um Berechtigungen bittet.",
|
||||
"iexplorerGrantPermissions": "Wählen Sie <b><i>OK</i></b>, wenn der Browser um Berechtigungen bittet.",
|
||||
"nwjsGrantPermissions": "Bitte Berechtigungen zur Verwendung der Kamera und des Mikrofons erteilen",
|
||||
"operaGrantPermissions": "Wählen Sie <b><i>Erlauben</i></b>, wenn der Browser um Berechtigungen bittet.",
|
||||
"operaGrantPermissions": "Wählen Sie <b><i>Zulassen</i></b>, wenn der Browser um Berechtigungen bittet.",
|
||||
"react-nativeGrantPermissions": "Wählen Sie <b><i>Erlauben</i></b>, wenn der Browser um Berechtigungen bittet.",
|
||||
"safariGrantPermissions": "Wählen Sie <b><i>OK</i></b>, wenn der Browser um Berechtigungen bittet."
|
||||
},
|
||||
@@ -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"
|
||||
}
|
||||
}
|
||||
|
||||
777
lang/main-mn.json
Normal file
777
lang/main-mn.json
Normal file
@@ -0,0 +1,777 @@
|
||||
{
|
||||
"addPeople": {
|
||||
"add": "Урих",
|
||||
"countryNotSupported": "Танай улсыг хараахан дэмжихгүй байна.",
|
||||
"countryReminder": "АНУ-аас өөр улсруу залгах бол улсын кодоо оруулна уу!",
|
||||
"disabled": "Хүмүүсийг урих боломжгүй.",
|
||||
"failedToAdd": "Оролцогч нэмж чадсангүй",
|
||||
"footerText": "Дуудлага хийх идэвхгүй.",
|
||||
"loading": "Хүмүүс болон утасны дугаарыг хайж байна",
|
||||
"loadingNumber": "Утасны дугаарыг баталгаажуулж байна",
|
||||
"loadingPeople": "Урих хүмүүсийг хайж байна",
|
||||
"noResults": "Үр дүн олдсонгүй",
|
||||
"noValidNumbers": "Утасны дугаараа оруулна уу",
|
||||
"searchNumbers": "Утасны дугаар нэмэх",
|
||||
"searchPeople": "Хүмүүс хайх",
|
||||
"searchPeopleAndNumbers": "Хүмүүсээс хайх эсвэл утасны дугаар нэмнэ үү",
|
||||
"telephone": "Утас: {{number}}",
|
||||
"title": "Хүмүүсийг хуралд урих"
|
||||
},
|
||||
"audioDevices": {
|
||||
"bluetooth": "Bluetooth",
|
||||
"headphones": "Чихэвч",
|
||||
"phone": "Утас",
|
||||
"speaker": "Яригч",
|
||||
"none": "Дууны төхөөрөмж байхгүй"
|
||||
},
|
||||
"audioOnly": {
|
||||
"audioOnly": "Чанар багасгах"
|
||||
},
|
||||
"calendarSync": {
|
||||
"addMeetingURL": "Хурлын холбоосыг нэмнэ үү",
|
||||
"confirmAddLink": "Та энэ үйл явдалд холбоосыг нэмэхийг хүсч байна уу?",
|
||||
"error": {
|
||||
"appConfiguration": "Цагалбарын холболтыг зөв тохируулаагүй байна.",
|
||||
"generic": "Алдаа гарсан байна. Цагалбарын тохиргоогоо шалгах эсвэл цагалбар дахин ачаалж үзнэ үү.",
|
||||
"notSignedIn": "An error occurred while authenticating to see calendar events. Please check your calendar settings and try logging in again."
|
||||
},
|
||||
"join": "Нэгдэх",
|
||||
"joinTooltip": "Уулзалтад нэглэх",
|
||||
"nextMeeting": "Дараагийн уулзалт",
|
||||
"noEvents": "Удахгүй болох үйл явдал байхгүй байна.",
|
||||
"ongoingMeeting": "идэвхтэй уулзалт",
|
||||
"permissionButton": "Тохиргоо нээх",
|
||||
"permissionMessage": "Апп-д уулзалтуудаа нэмэхийн тулд цагалбарын зөвшөөрөл шаардлагатай.",
|
||||
"refresh": "Цагалбараа дахин ачаалах",
|
||||
"today": "Өнөөдөр"
|
||||
},
|
||||
"chat": {
|
||||
"error": "Алдаа: таны мессеж илгээгдээгүй байна. Шалтгаан: {{error}}",
|
||||
"fieldPlaceHolder": "Энд чатаа бичнэ үү",
|
||||
"messagebox": "Зурвас бичих",
|
||||
"messageTo": "Хувийн зурвас {{recipient}}",
|
||||
"noMessagesMessage": "Энэ хуралд ямар ч зурвас байхгүй. Эндээс зурвасаа эхлүүл!",
|
||||
"nickname": {
|
||||
"popover": "Нэр бичнэ үү",
|
||||
"title": "Нэрээ оруулна уу"
|
||||
},
|
||||
"privateNotice": "Хувийн зурвас {{recipient}}",
|
||||
"title": "Чат",
|
||||
"you": "чи"
|
||||
},
|
||||
"chromeExtensionBanner": {
|
||||
"installExtensionText": "Install the extension for Google Calendar and Office 365 integration",
|
||||
"buttonText": "Chrome Extension суулгах",
|
||||
"dontShowAgain": "Энийг дахин харахгүй"
|
||||
},
|
||||
"connectingOverlay": {
|
||||
"joiningRoom": "Таныг хуралд холбож байна..."
|
||||
},
|
||||
"connection": {
|
||||
"ATTACHED": "Хавсаргасан",
|
||||
"AUTHENTICATING": "Нэвтэрч байна",
|
||||
"AUTHFAIL": "Нэвтрэлт амжилтгүй болсон",
|
||||
"CONNECTED": "Холбогдсон",
|
||||
"CONNECTING": "Холбож байна",
|
||||
"CONNFAIL": "Холболт амжилтгүй болсон",
|
||||
"DISCONNECTED": "Холбогдоогүй",
|
||||
"DISCONNECTING": "Салгаж байна",
|
||||
"ERROR": "Алдаа",
|
||||
"FETCH_SESSION_ID": "Оролцогчийн холболтыг олох...",
|
||||
"GET_SESSION_ID_ERROR": "Оролцогчийн хоболт дээр алдаа: {{code}}",
|
||||
"GOT_SESSION_ID": "Оролцогчийн холболтыг олох... Дууссан",
|
||||
"LOW_BANDWIDTH": "{{displayName}} чанарыг бууруулж видео унтраасан байна"
|
||||
},
|
||||
"connectionindicator": {
|
||||
"address": "Хаяг:",
|
||||
"bandwidth": "Тооцоолсон чанар:",
|
||||
"bitrate": "Битрат:",
|
||||
"bridgeCount": "Серверийн тоо: ",
|
||||
"connectedTo": "Холбогдсон:",
|
||||
"e2e_rtt": "E2E RTT:",
|
||||
"framerate": "Нягтаршил:",
|
||||
"less": "Хураах",
|
||||
"localaddress": "Дотоод хаяг:",
|
||||
"localaddress_plural": "Дотоод хаягууд:",
|
||||
"localport": "Дотоод порт:",
|
||||
"localport_plural": "Дотоод портууд:",
|
||||
"more": "Дэлгэрэнгүй",
|
||||
"packetloss": "Алдагдал:",
|
||||
"quality": {
|
||||
"good": "Сайн",
|
||||
"inactive": "Идэвхгүй",
|
||||
"lost": "Алдагдалтай",
|
||||
"nonoptimal": "Оромгүй",
|
||||
"poor": "Муу"
|
||||
},
|
||||
"remoteaddress": "Гадаад хаяг:",
|
||||
"remoteaddress_plural": "Гадаад хаягууд:",
|
||||
"remoteport": "Гадаад порт:",
|
||||
"remoteport_plural": "Гадаад портууд:",
|
||||
"resolution": "Хэмжээ:",
|
||||
"status": "Холболт:",
|
||||
"transport": "Transport:",
|
||||
"transport_plural": "Transports:"
|
||||
},
|
||||
"dateUtils": {
|
||||
"earlier": "Өмнөх",
|
||||
"today": "Өнөөдөр",
|
||||
"yesterday": "Өчигдөр"
|
||||
},
|
||||
"deepLinking": {
|
||||
"appNotInstalled": "Та утсан дээрээ хурал оролцохын тулд танд {{app}} мобайл апп шаардлагатай.",
|
||||
"description": "Бид таны уулзалтыг {{app}} desktop апп дотор эхлүүлэхийг оролдсон. Дахин оролдох эсвэл {{app}} веб апп дээр эхлүүлнэ үү.",
|
||||
"descriptionWithoutWeb": "Бид таны хурлыг {{app}} desktop апп дотор эхлүүлэхийг оролдсон.",
|
||||
"downloadApp": "Апп татаж авах",
|
||||
"launchWebButton": "Вэб дээр ажиллуулах",
|
||||
"openApp": "Апп-аар үргэлжлүүлэх",
|
||||
"title": "Таны уулзалтыг {{app}} эхлүүлж байна....",
|
||||
"tryAgainButton": "Дахин оролдоно уу"
|
||||
},
|
||||
"defaultLink": "e.g. {{url}}",
|
||||
"defaultNickname": "Нэрээ бич",
|
||||
"deviceError": {
|
||||
"cameraError": "Таны камер руу нэвтрэх үйлдэл амжилтгүй болсон байна",
|
||||
"cameraPermission": "Камерын зөвшөөрөл авахад алдаа гарлаа",
|
||||
"microphoneError": "Таны микрофон руу нэвтрэлт амжилтгүй боллоо",
|
||||
"microphonePermission": "Микрофоны зөвшөөрөл авахад алдаа гарлаа"
|
||||
},
|
||||
"deviceSelection": {
|
||||
"noPermission": "Зөвшөөрөл өгөөгүй байна",
|
||||
"previewUnavailable": "Урьдчилан харах боломжгүй",
|
||||
"selectADevice": "Төхөөрөмж сонгоно уу",
|
||||
"testAudio": "Туршилтын дуу тоглуул"
|
||||
},
|
||||
"dialog": {
|
||||
"accessibilityLabel": {
|
||||
"liveStreaming": "Шууд дамжуулалт"
|
||||
},
|
||||
"allow": "Зөвшөөр",
|
||||
"alreadySharedVideoMsg": "Видео хуваалцаж байна. Хуралд нэг зэрэг зөвхөн нэг л видеог хуваалцах боломжийг олгодог..",
|
||||
"alreadySharedVideoTitle": "Нэг удаад зөвхөн нэг л хуваалцсан видеог зөвшөөрнө",
|
||||
"applicationWindow": "Програмын цонх",
|
||||
"Back": "Буцах",
|
||||
"cameraConstraintFailedError": "Таны камер зарим шаардлагатай хязгаарлалтыг хангаж чадахгүй байна.",
|
||||
"cameraNotFoundError": "Камер олдсонгүй.",
|
||||
"cameraNotSendingData": "Таны камерт хандах боломжгүй байна. Хэрэв өөр програм энэ төхөөрөмжийг ашиглаж байгаа эсэхийг шалгаад, тохиргоог цэснээс өөр төхөөрөмжийг сонгох эсвэл дахин ачаалж үзнэ үү.",
|
||||
"cameraNotSendingDataTitle": "Камерт хандах боломжгүй байна",
|
||||
"cameraPermissionDeniedError": "Та камераа ашиглах зөвшөөрөл өгөөгүй байна. Та энэ хуралд оролцох боломжтой ч бусад хүмүүс таныг харж чадахгүй. Үүнийг засахын тулд хаяг бичдэг хэсэгийн хойно байгаа камерын товчийг дарна уу.",
|
||||
"cameraUnknownError": "Ямар нэг шалтгааны улмаас камерыг ашиглаж чадахгүй.",
|
||||
"cameraUnsupportedResolutionError": "Таны камер шаардлагатай видеоны хэмжээг дэмждэггүй.",
|
||||
"Cancel": "Цуцлах",
|
||||
"close": "Хаах",
|
||||
"conferenceDisconnectMsg": "Сүлжээний холболт шалгаж байна. Дахин холбогдож байна {{seconds}} сек...",
|
||||
"conferenceDisconnectTitle": "Та салсан байна.",
|
||||
"conferenceReloadMsg": "Бид засахаар оролдож байна. Дахин холбогдож байна {{seconds}} сек...",
|
||||
"conferenceReloadTitle": "Уучлаарай. Ямар нэг алдаа гарсан байна.",
|
||||
"confirm": "Батлах",
|
||||
"confirmNo": "Үгүй",
|
||||
"confirmYes": "Тийт",
|
||||
"connectError": "Алдаа гарсан тул бид хуралтай холбогдож чадахгүй байна.",
|
||||
"connectErrorWithMsg": "Алдаа гарсан тул бид конференцтай холбогдож чадахгүй байна: {{msg}}",
|
||||
"connecting": "Холбож байна",
|
||||
"contactSupport": "Дэмжлэгтэй холбоо барина уу",
|
||||
"copy": "Хуулах",
|
||||
"dismiss": "хаах",
|
||||
"displayNameRequired": "Таны нэр хэн бэ?",
|
||||
"done": "Дуусгах",
|
||||
"enterDisplayName": "Энд нэрээ оруулна уу",
|
||||
"error": "Алдаа",
|
||||
"externalInstallationMsg": "Та манай десктоп хуваалцах өргөтгөлийг суулгах хэрэгтэй.",
|
||||
"externalInstallationTitle": "Өргөтгөл суулгах шаардлагатай",
|
||||
"goToStore": "webstore орох",
|
||||
"gracefulShutdown": "Манай үйлчилгээ одоогоор засвартай байна. Дараа дахин оролдож үзнэ үү.",
|
||||
"IamHost": "Үүсгэгч",
|
||||
"incorrectRoomLockPassword": "Нууц үг буруу",
|
||||
"incorrectPassword": "Хэрэглэгчийн нэр эсвэл нууц үг буруу байна",
|
||||
"inlineInstallationMsg": "Та манай десктоп хуваалцах өргөтгөлийг суулгах хэрэгтэй.",
|
||||
"inlineInstallExtension": "Одоо суулгах",
|
||||
"internalError": "Ямар нэгэн зүйл буруу байна. Дараах алдаа гарсан байна: {{error}}",
|
||||
"internalErrorTitle": "Дотоод алдаа",
|
||||
"kickMessage": "Та дэлгэрэнгүй мэдээллийг {{participantDisplayName}} холбогдож авна уу..",
|
||||
"kickParticipantButton": "Гаргах",
|
||||
"kickParticipantDialog": "Та энэ оролцогчийг гаргахдаа итгэлтэй байна уу?",
|
||||
"kickParticipantTitle": "Энэ оролцогчийг гаргах үү?",
|
||||
"kickTitle": "{{participantDisplayName}} чамайг хурлаас гаргасан",
|
||||
"liveStreaming": "Шууд дамжуулалт",
|
||||
"liveStreamingDisabledForGuestTooltip": "Зочид шууд дамжуулалт эхлүүлэх боломжгүй.",
|
||||
"liveStreamingDisabledTooltip": "Шууд дамжуулалтыг идэвхгүй болгох.",
|
||||
"lockMessage": "Хурал түгжигдсэнгүй.",
|
||||
"lockRoom": "Хурал нэмэх $t(lockRoomPasswordUppercase)",
|
||||
"lockTitle": "Түгжихэд алдаа гарлаа",
|
||||
"logoutQuestion": "Та хурлаас гарч, хурлыг зогсоохыг хүсэж байна уу?",
|
||||
"logoutTitle": "Гарах",
|
||||
"maxUsersLimitReached": "Оролцогчдын тооны дээд хязгаарт хүрсэн байна. Уулзалтын эзэмшигчтэй холбоо барина уу эсвэл дараа дахин оролдоно уу!",
|
||||
"maxUsersLimitReachedTitle": "Оролцогчдын дээд хязгаарт хүрсэн байна",
|
||||
"micConstraintFailedError": "Таны микрофон зарим шаардлагатай хязгаарлалтыг хангахгүй байна.",
|
||||
"micNotFoundError": "Микрофон олдсонгүй.",
|
||||
"micNotSendingData": "Микрофоныг дуугүй болгохын тулд компьютерийн тохиргоо руу очно уу",
|
||||
"micNotSendingDataTitle": "Таны микрофоныг системийн тохиргооноос хаасан байна",
|
||||
"micPermissionDeniedError": "Та микрофон ашиглах зөвшөөрөл өгөөгүй байна. Та одоо чуулга уулзалтанд оролцож болох ч бусад хүмүүс таныг сонсох боломжгүй. Үүнийг засахын тулд хаягийн талбарт байгаа камерын товчийг ашиглана уу.",
|
||||
"micUnknownError": "Ямар нэг шалтгааны улмаас микрофоныг ашиглах боломжгүй байна.",
|
||||
"muteEveryoneElseDialog": "Бусад оролцогчдын дуу хаалттай үед та дууг нээх боломжгүй, гэхдээ өөрийнхөө дууг нээх боломжтой.",
|
||||
"muteEveryoneElseTitle": "Бүх оролцогчдын дууг хаах уу?",
|
||||
"muteEveryoneDialog": "Та бүх оролцогчдын дууг хаахдаа итгэлтэй байна уу? Та тэдний дууг идэвхжүүлэх боломжгүй ч хүссэн үедээ өөрийнхөө дуу нээх боломжтой.",
|
||||
"muteEveryoneTitle": "Бүх оролцогчдын дууг хаах уу?",
|
||||
"muteEveryoneSelf": "Чи өөрөө",
|
||||
"muteEveryoneStartMuted": "Одооноос эхлэн бүх оролцогчдын дуу хаагдана",
|
||||
"muteParticipantBody": "Та тэдний дууг идэвхжүүлэх боломжгүй ч хүссэн үедээ өөрийн дууг нээх боломжтой.",
|
||||
"muteParticipantButton": "Дуугүй болгох",
|
||||
"muteParticipantDialog": "Та энэ оролцогчийн дууг хаахдаа итгэлтэй байна уу? Та дууг идэвхжүүлэх боломжгүй ч хүссэн үедээ өөрийн дууг нээх боломжтой.",
|
||||
"muteParticipantTitle": "Энэ оролцогчийн дууг хаах уу?",
|
||||
"Ok": "Ok",
|
||||
"passwordLabel": "$t(lockRoomPasswordUppercase)",
|
||||
"passwordNotSupported": "$t(lockRoomPassword) тохируулах нь дэмжигдэхгүй байна.",
|
||||
"passwordNotSupportedTitle": "$t(lockRoomPasswordUppercase) дэмжигдэхгүй байна",
|
||||
"passwordRequired": "$t(lockRoomPasswordUppercase) заавал",
|
||||
"popupError": "Таны хөтөч энэ сайтаас попап цонхуудыг блоклож байна. Хөтчөө аюулгүй байдлын тохиргоон дээр гарч ирэх цонхыг идэвхжүүлээд дахин оролдоно уу.",
|
||||
"popupErrorTitle": "Попап хаалттай байна",
|
||||
"recording": "Бичлэг хийх",
|
||||
"recordingDisabledForGuestTooltip": "Зочид бичлэг хийж болохгүй.",
|
||||
"recordingDisabledTooltip": "Бичлэг хийх хаалттай.",
|
||||
"rejoinNow": "Одоо дахин нэгдэх",
|
||||
"remoteControlAllowedMessage": "{{user}} алсын удирдлагын хүсэлтийг хүлээн авлаа!",
|
||||
"remoteControlDeniedMessage": "{{user}} алсын удирдлагын хүсэлтээс татгалзлаа!",
|
||||
"remoteControlErrorMessage": "Алсын удирдлагаас {{user}} зөвшөөрөл хүсэх үед алдаа гарлаа!",
|
||||
"remoteControlRequestMessage": "Та {{user}} таны десктопоос алсын зайнаас удирдахыг зөвшөөрөх үү?",
|
||||
"remoteControlShareScreenWarning": "Хэрэв та \"Allow\" товчийг дарвал, таны дэлгэцийг хуваалцах болно гэдгийг анхаарна уу!",
|
||||
"remoteControlStopMessage": "Алсын удирдлагын хэсэг дууссан!",
|
||||
"remoteControlTitle": "Алсын удирдлагын",
|
||||
"Remove": "Устгах",
|
||||
"removePassword": "$t(lockRoomPassword) устгах",
|
||||
"removeSharedVideoMsg": "Та хуваалцсан видеогоо устгахдаа итгэлтэй байна уу?",
|
||||
"removeSharedVideoTitle": "Хуваалцсан видеог устгах",
|
||||
"reservationError": "Захиалгын системийн алдаа",
|
||||
"reservationErrorMsg": "Алдааны код: {{code}}, мессеж: {{msg}}",
|
||||
"retry": "Дахиж",
|
||||
"screenSharingFailedToInstall": "Дэлгэц хуваалцах өргөтгөлийг суулгаж чадсангүй.",
|
||||
"screenSharingFailedToInstallTitle": "Дэлгэц хуваалцах өргөтгөлийг суулгаж чадсангүй",
|
||||
"screenSharingFirefoxPermissionDeniedError": "Таны дэлгэцийг хуваалцах үед ямар нэг алдаа гарлаа. Та бидэнд зөвшөөрөл өгсөн эсэхээ шалгана уу. ",
|
||||
"screenSharingFirefoxPermissionDeniedTitle": "Дэлгэц хуваалцахыг эхлүүлэх боломжгүй байна!",
|
||||
"screenSharingPermissionDeniedError": "Таны дэлгэцийг хуваалцах зөвшөөрлийг суулгахад алдаа гарсан байна. Файлыг дахин ачааллаад, дахин оролдоно уу.",
|
||||
"sendPrivateMessage": "Хувийн мессеж хүлээн авсан. Та тусдаа хариу өгөх гэж байна уу, эсвэл та бүлэгт илгээх үү?",
|
||||
"sendPrivateMessageCancel": "Бүлэгт илгээнэ үү",
|
||||
"sendPrivateMessageOk": "Хувийн байдлаар илгээх",
|
||||
"sendPrivateMessageTitle": "Хувиараа илгээх үү?",
|
||||
"serviceUnavailable": "Үйлчилгээ авах боломжгүй",
|
||||
"sessTerminated": "Дуудлага саллаа",
|
||||
"Share": "Хуваалцах",
|
||||
"shareVideoLinkError": "YouTube-ийн зөв линк оруулна уу.",
|
||||
"shareVideoTitle": "Видео хуваалцах",
|
||||
"shareYourScreen": "Дэлгэцээ хуваалцах",
|
||||
"shareYourScreenDisabled": "Дэлгэц хуваалцах идэвхгүй",
|
||||
"shareYourScreenDisabledForGuest": "Зочид дэлгэц хуваалцах боломжгүй.",
|
||||
"startLiveStreaming": "Шууд дамжуулалтыг эхлүүл",
|
||||
"startRecording": "Бичлэг хийж эхэл",
|
||||
"startRemoteControlErrorMessage": "Алсын удирдлага эхлүүлэх үед алдаа гарлаа!",
|
||||
"stopLiveStreaming": "Шууд дамжуулалтыг зогсоо",
|
||||
"stopRecording": "Бичлэгээ зогсоо",
|
||||
"stopRecordingWarning": "Та бичлэгээ зогсоохдоо итгэлтэй байна уу?",
|
||||
"stopStreamingWarning": "Та шууд дамжуулалтыг зогсоохдоо итгэлтэй байна уу?",
|
||||
"streamKey": "Шууд дамжуулалтын түлхүүр",
|
||||
"Submit": "Илгээх",
|
||||
"thankYou": "{{appName}} ашиглаж буй танд баярлалаа!",
|
||||
"token": "token",
|
||||
"tokenAuthFailed": "Уучлаарай, та энд нэвтрэх эрхгүй байна.",
|
||||
"tokenAuthFailedTitle": "Нэвтрэлт амжилтгүй",
|
||||
"transcribing": "Орчуулах",
|
||||
"unlockRoom": "$t(lockRoomPassword) хурлыг устгана уу",
|
||||
"userPassword": "хэрэглэгчийн нууц үг",
|
||||
"WaitForHostMsg": "<b>{{room}}</b> хурал хараахан эхлээгүй байна. Хэрэв та хост байгаа бол нэвтэрнэ үү. Үгүй бол хост ирэхийг хүлээнэ үү.",
|
||||
"WaitForHostMsgWOk": "<b>{{room}}</b> хурал хараахан эхлээгүй байна. Хэрэв та хост эзэмшигч бол баталгаажуулахын тулд Ok дээр дарна уу. Үгүй бол хост ирэхийг хүлээнэ үү.",
|
||||
"WaitingForHost": "Хостыг хүлээж байна ...",
|
||||
"Yes": "Тийм",
|
||||
"yourEntireScreen": "Таны дэлгэцийг бүхэлдээ"
|
||||
},
|
||||
"dialOut": {
|
||||
"statusMessage": "одоо {{status}} байна"
|
||||
},
|
||||
"documentSharing": {
|
||||
"title": "Бичиг баримт хуваалцах"
|
||||
},
|
||||
"feedback": {
|
||||
"average": "Дундаж",
|
||||
"bad": "Муу",
|
||||
"detailsLabel": "Энэ талаар илүү дэлгэрэнгүй.",
|
||||
"good": "Сайн",
|
||||
"rateExperience": "Хурлын туршлагаа үнэлэх",
|
||||
"veryBad": "Маш муу",
|
||||
"veryGood": "Маш сайн"
|
||||
},
|
||||
"incomingCall": {
|
||||
"answer": "Хариул",
|
||||
"audioCallTitle": "Дуудлага ирлээ",
|
||||
"decline": "Гаргах",
|
||||
"productLabel": "Сангийн Яам",
|
||||
"videoCallTitle": "Видео дуудлага ирлээ"
|
||||
},
|
||||
"info": {
|
||||
"accessibilityLabel": "Мэдээллийг харуулах",
|
||||
"addPassword": "$t(lockRoomPassword) нэмэх",
|
||||
"cancelPassword": "$t(lockRoomPassword) цуцлах",
|
||||
"conferenceURL": "Холбоос:",
|
||||
"country": "Улс",
|
||||
"dialANumber": "Уулзалтанд оролцохын тулд эдгээр дугааруудын аль нэгрүү нь залгаад, пинг оруулна уу.",
|
||||
"dialInConferenceID": "PIN:",
|
||||
"dialInNotSupported": "Уучлаарай, одоогоор дуудлага хийх боломжгүй байна.",
|
||||
"dialInNumber": "Дуудлага хийж байна:",
|
||||
"dialInSummaryError": "Залгаж мэдээллийг авах үед алдаа гарлаа. Дараа дахин оролдож үзнэ үү.",
|
||||
"dialInTollFree": "Toll Free",
|
||||
"genericError": "Ямар нэг асуудал гарлаа.",
|
||||
"inviteLiveStream": "Энэ уулзалтын шууд дамжуулалтыг үзэхийн тулд энэ холбоосыг дарна уу: {{url}}",
|
||||
"invitePhone": "Утсаар холбогдохын тулд энэ дээр дарна уу: {{number}},,{{conferenceID}}#\n",
|
||||
"invitePhoneAlternatives": "Өөр залгах дугаар хайж байна уу?\nУулзалтын дугаарыг харах: {{url}}\n\n\nХэрэв өрөөний утас руу залгах бол аудиод холбогдохгүйгээр нэгдээрэй: {{silentUrl}}",
|
||||
"inviteURLFirstPartGeneral": "Та бүхнийг уулзалтад урьж байна.",
|
||||
"inviteURLFirstPartPersonal": "{{name}} таныг уулзалтанд урьж байна.\n",
|
||||
"inviteURLSecondPart": "\nУулзалтад нэгдээрэй:\n{{url}}\n",
|
||||
"liveStreamURL": "Шууд дамжуулалт:",
|
||||
"moreNumbers": "Бусад дугаар",
|
||||
"noNumbers": "Залгах дугаар байхгүй байна.",
|
||||
"noPassword": "Хоосон",
|
||||
"noRoom": "Нэвтрэх өрөө олдсонгүй.",
|
||||
"numbers": "Залгах дугаарууд",
|
||||
"password": "$t(lockRoomPasswordUppercase):",
|
||||
"title": "Хуваалцах",
|
||||
"tooltip": "Хурлын холбоосыг хуваалцах",
|
||||
"label": "Хурлын мэдээлэл"
|
||||
},
|
||||
"inviteDialog": {
|
||||
"alertText": "Зарим оролцогчдыг урьж чадсангүй.",
|
||||
"header": "Урих",
|
||||
"searchCallOnlyPlaceholder": "Утасны дугаараа оруулна уу",
|
||||
"searchPeopleOnlyPlaceholder": "Оролцогчдыг хайх",
|
||||
"searchPlaceholder": "Оролцогч эсвэл утасны дугаар",
|
||||
"send": "Илгээх"
|
||||
},
|
||||
"inlineDialogFailure": {
|
||||
"msg": "Асуудал гарлаа",
|
||||
"retry": "Дахин оролд",
|
||||
"support": "Дэмжлэг",
|
||||
"supportMsg": "Хэрэв ийм асуудал дахиад тохиолдвол холбоо бариарай"
|
||||
},
|
||||
"keyboardShortcuts": {
|
||||
"focusLocal": "Өөрийн видеог үзэх",
|
||||
"focusRemote": "Өөр хүний видеог үзэх",
|
||||
"fullScreen": "Дэлгэц дүүргэх эсвэл гарах",
|
||||
"keyboardShortcuts": "Гарны товчлол",
|
||||
"localRecording": "Өөрийн бичлэгийн хяналтыг үзүүлэх эсвэл нуух",
|
||||
"mute": "Микрофоныг хаах эсвэл нээх",
|
||||
"pushToTalk": "Яриа руу",
|
||||
"raiseHand": "Гараа өргөх эсвэл доошлуул",
|
||||
"showSpeakerStats": "Яригчийн статистик харах",
|
||||
"toggleChat": "Зурвасыг нээх буюу хаах",
|
||||
"toggleFilmstrip": "Видео бичлэгийн өнгөц зургийг үзүүлэх эсвэл нуух",
|
||||
"toggleScreensharing": "Камер ба дэлгэц хуваалцах хооронд шилжинэ",
|
||||
"toggleShortcuts": "Товчлолуудыг харуулах эсвэл нуух",
|
||||
"videoMute": "Камераа эхлүүлэх эсвэл зогсоох",
|
||||
"videoQuality": "Видеоны чанарыг удирдах"
|
||||
},
|
||||
"liveStreaming": {
|
||||
"busy": "Бид урсгалын чөлөөлөхөөр ажиллаж байна. Хэдэн минутын дараа дахин оролдоно уу.",
|
||||
"busyTitle": "Бүх дамжуулагчид завгүй байна",
|
||||
"changeSignIn": "Бүртгэл солих.",
|
||||
"choose": "Шууд дамжуулалтыг сонгоно уу",
|
||||
"chooseCTA": "Дамжуулалтыг сонгоно уу. Та {{email}} ашиглан нэвтэрсэн байна.",
|
||||
"enterStreamKey": "YouTube шууд дамжуулалтын түлхүүрийг энд оруулна уу.",
|
||||
"error": "Шууд дамжуулалт амжилтгүй болсон. Дахин оролдоно уу.",
|
||||
"errorAPI": "Таны YouTube рүү нэвтрэх үед алдаа гарлаа. Дараа дахин нэвтэрнэ үү.",
|
||||
"errorLiveStreamNotEnabled": "Шууд дамжуулалт {{email}} дээр идэвхжүүлээгүй байна. Шууд дамжуулалтыг идэвхжүүл эсвэл шууд дамжуулалт хийх боломжтой бүртгэлээр нэвтэрнэ үү.",
|
||||
"expandedOff": "Шууд дамжуулалт зогссон байна",
|
||||
"expandedOn": "Энэ хурлыг YouTube дээр шууд дамжуулж байна.",
|
||||
"expandedPending": "Шууд дамжуулалтыг эхлүүлж байна...",
|
||||
"failedToStart": "Шууд дамжуулалтыг эхлүүлж чадсангүй",
|
||||
"getStreamKeyManually": "Шууд дамжуулалтыг хийх чадсангүй. YouTube-ээс шууд дамжуулалтын түлхүүрээ шалгаж үзээрэй.",
|
||||
"invalidStreamKey": "Шууд дамжуулалтын түлхүүрээ шалгана уу.",
|
||||
"off": "Шууд дамжуулалт зогссон",
|
||||
"offBy": "{{name}} шууд дамжуулалтыг зогсоосон",
|
||||
"on": "Шууд дамжуулалт",
|
||||
"onBy": "{{name}} шууд дамжуулалт эхлүүлсэн",
|
||||
"pending": "Шууд дамжуулалтыг эхлүүлж байна...",
|
||||
"serviceName": "Шууд дамжуулалт үйлчилгээ",
|
||||
"signedInAs": "Та одоо нэвтэрсэн байна:",
|
||||
"signIn": "Google-р нэвтрэх",
|
||||
"signInCTA": "YouTube дээр шууд дамжуулалтын түлхүүрээ оруулна уу.",
|
||||
"signOut": "Гарах",
|
||||
"start": "Шууд дамжуулалт эхлүүл",
|
||||
"streamIdHelp": "Энэ юу вэ?",
|
||||
"unavailableTitle": "Шууд дамжуулалт боломжгүй"
|
||||
},
|
||||
"localRecording": {
|
||||
"clientState": {
|
||||
"off": "Off",
|
||||
"on": "On",
|
||||
"unknown": "Танигдаагүй"
|
||||
},
|
||||
"dialogTitle": "Дотоод бичлэгийн хяналт",
|
||||
"duration": "Үргэлжлэх хугацаа",
|
||||
"durationNA": "N/A",
|
||||
"encoding": "Encoding",
|
||||
"label": "LOR",
|
||||
"labelToolTip": "Дотоод бичлэг хийнэ",
|
||||
"localRecording": "Дотоод бичлэг",
|
||||
"me": "Надад",
|
||||
"messages": {
|
||||
"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": "Та зохицуулагч биш. Та дотоод бичлэгийг эхлүүлэх эсвэл зогсоох боломжгүй."
|
||||
},
|
||||
"moderator": "Зохицуулагч",
|
||||
"no": "Үгүй",
|
||||
"participant": "Оролцогч",
|
||||
"participantStats": "Оролцогчдын статистик",
|
||||
"sessionToken": "Идэвхтэй Токен",
|
||||
"start": "Бичлэг хийх",
|
||||
"stop": "Бичлэг болих",
|
||||
"yes": "Тийм"
|
||||
},
|
||||
"lockRoomPassword": "нууц үг",
|
||||
"lockRoomPasswordUppercase": "Нууц үг",
|
||||
"me": "Надад",
|
||||
"notify": {
|
||||
"connectedOneMember": "{{name}} хуралд нэгдсэн",
|
||||
"connectedThreePlusMembers": "{{name}} болон бусад {{count}} хуралд нэгдсэн",
|
||||
"connectedTwoMembers": "{{first}} ба {{second}} хуралд нэгдсэн",
|
||||
"disconnected": "Хурлаас гарлаа",
|
||||
"focus": "Хурал фокус",
|
||||
"focusFail": "{{component}} боломжгүй - {{ms}} сек дараа дахин оролдоно уу",
|
||||
"grantedTo": "{{to}} зохицуулагч эрх өгөгдсөн!",
|
||||
"invitedOneMember": "{{name}} урьсан байна",
|
||||
"invitedThreePlusMembers": "{{name}} болон бусад {{count}} урьсан байна",
|
||||
"invitedTwoMembers": "{{first}} ба {{second}} урьсан байна",
|
||||
"kickParticipant": "{{kicked}} -г {{kicker}} гаргасан",
|
||||
"me": "Надад",
|
||||
"moderator": "Зохицуулагчийн эрх олгосон!",
|
||||
"muted": "Та харилцан яриаг хаасан байна.",
|
||||
"mutedTitle": "Таны дуу хаалтай байна!",
|
||||
"mutedRemotelyTitle": "Таны дууг {{participantDisplayName}} хаасан байна!!",
|
||||
"mutedRemotelyDescription": "Та ярихад бэлэн үедээ дууг нээж ярих боломжтой. Уулзалтад дуу чимээ гаргахгүй байхын тулд дуугаа хаагаарай.",
|
||||
"passwordRemovedRemotely": "$t(lockRoomPasswordUppercase) өөр оролцогч устгасан",
|
||||
"passwordSetRemotely": "$t(lockRoomPasswordUppercase) өөр оролцогчоос хийсэн",
|
||||
"raisedHand": "{{name}} ярихыг хүсч байна.",
|
||||
"somebody": "Хэн нэгэн",
|
||||
"startSilentTitle": "Та ямар ч аудио төхөөрөмжгүй нэгдсэн!",
|
||||
"startSilentDescription": "Дууг идэвхжүүлэхийн тулд хуралд дахин нэгдээрэй",
|
||||
"suboptimalBrowserWarning": "Таны хөтөч дээр бүрэн дэмжлэг ороогүй байна. Та бүрэн дэмжигдсэн <a href='static/recommendedBrowsers.html' target='_blank'>хөтөчийг</a> ашиглана уу.",
|
||||
"suboptimalExperienceTitle": "Хөтөчийн анхааруулга",
|
||||
"unmute": "Дуутай",
|
||||
"newDeviceCameraTitle": "Шинэ камер",
|
||||
"newDeviceAudioTitle": "Шинэ аудио төхөөрөмж",
|
||||
"newDeviceAction": "Хэрэглэх"
|
||||
},
|
||||
"passwordSetRemotely": "өөр оролцогч хийсэн",
|
||||
"passwordDigitsOnly": "{{number}} хүртэлх тоо",
|
||||
"poweredby": "дэмжигдсэн",
|
||||
"presenceStatus": {
|
||||
"busy": "Завгүй",
|
||||
"calling": "Дуудаж байна...",
|
||||
"connected": "Холбогдсон",
|
||||
"connecting": "Холбож байна...",
|
||||
"connecting2": "Холбож байна*...",
|
||||
"disconnected": "Холбогдоогүй",
|
||||
"expired": "Хугацаа нь дууссан",
|
||||
"ignored": "Ignored",
|
||||
"initializingCall": "Дуудлагыг эхлүүлж байна...",
|
||||
"invited": "Урьсан",
|
||||
"rejected": "Татгалзсан",
|
||||
"ringing": "Дуудаж байна..."
|
||||
},
|
||||
"profile": {
|
||||
"setDisplayNameLabel": "Нэрээ оруулна уу",
|
||||
"setEmailInput": "И-мэйл оруулна уу",
|
||||
"setEmailLabel": "И-мэйл хаягаа оруулна уу",
|
||||
"title": "Профайл"
|
||||
},
|
||||
"raisedHand": "Ярьмаар байна",
|
||||
"recording": {
|
||||
"authDropboxText": "Dropbox байршуулах",
|
||||
"availableSpace": "Боломжтой зай: {{spaceLeft}} MB (ойролцоогоор {{duration}} минутын бичлэг)",
|
||||
"beta": "BETA",
|
||||
"busy": "Бичлэгийн нөөцийг сул болгохоор ажиллаж байна. Хэдэн минутын дараа дахин оролдоно уу.",
|
||||
"busyTitle": "Бүх бичигчид завгүй байна",
|
||||
"error": "Бичлэг хийх амжилтгүй боллоо. Дахин оролдоно уу.",
|
||||
"expandedOff": "Бичлэг хийх зогссон",
|
||||
"expandedOn": "Хурлыг одоо тэмдэглэж байна.",
|
||||
"expandedPending": "Бичлэгийг хийж байна...",
|
||||
"failedToStart": "Бичлэг хийх амжилтгүй боллоо",
|
||||
"fileSharingdescription": "Бичлэгийг хурлын оролцогчидтой хуваалцах",
|
||||
"live": "ШУУД",
|
||||
"loggedIn": "{{userName}} нэвтэрнэ үү",
|
||||
"off": "Бичлэг зогссон",
|
||||
"offBy": "{{name}} бичлэгийг зогсоосон",
|
||||
"on": "Бичиж байна",
|
||||
"onBy": "{{name}} бичлэг хийж эхлэв",
|
||||
"pending": "Хурлыг бичихээр бэлтгэж байна...",
|
||||
"rec": "REC",
|
||||
"serviceDescription": "Таны бичлэгийг хадгална",
|
||||
"serviceName": "Бичлэгийн үйлчилгээ",
|
||||
"signIn": "Нэвтрэх",
|
||||
"signOut": "Гарах",
|
||||
"unavailable": "{{serviceName}} одоогоор ажиллахгүй байна. Бид асуудлыг шийдвэрлэхээр ажиллаж байна. Дараа дахин оролдож үзнэ үү.",
|
||||
"unavailableTitle": "Бичлэг хийх боломжгүй"
|
||||
},
|
||||
"sectionList": {
|
||||
"pullToRefresh": "Шинэчлэх бол татна уу"
|
||||
},
|
||||
"settings": {
|
||||
"calendar": {
|
||||
"about": "The {{appName}} calendar integration is used to securely access your calendar so it can read upcoming events.",
|
||||
"disconnect": "Салгалаа",
|
||||
"microsoftSignIn": "Sign in with Microsoft",
|
||||
"signedIn": "Currently accessing calendar events for {{email}}. Click the Disconnect button below to stop accessing calendar events.",
|
||||
"title": "Цагалбар"
|
||||
},
|
||||
"devices": "Төхөөрөмжүүд",
|
||||
"followMe": "Бүгд намайг дагаж байна",
|
||||
"language": "Хэл",
|
||||
"loggedIn": "{{name}} нэвтэрсэн",
|
||||
"moderator": "Зохицуулагч",
|
||||
"more": "Цааш",
|
||||
"name": "Нэр",
|
||||
"noDevice": "Байхгүй",
|
||||
"selectAudioOutput": "Аудио гаралт",
|
||||
"selectCamera": "Камер",
|
||||
"selectMic": "Микрофон",
|
||||
"startAudioMuted": "Бүгд дуугүй эхлэх",
|
||||
"startVideoMuted": "Бүгд дүрсгүй эхлэх",
|
||||
"title": "Тохиргоо"
|
||||
},
|
||||
"settingsView": {
|
||||
"advanced": "Нарийвчилсан",
|
||||
"alertOk": "OK",
|
||||
"alertTitle": "Анхааруулга",
|
||||
"alertURLText": "Оруулсан серверийн URL хүчингүй байна",
|
||||
"buildInfoSection": "Мэдээлэл оруулах",
|
||||
"conferenceSection": "Хурал",
|
||||
"disableCallIntegration": "Үндсэн дуудлагад өгөх тохиргоог идэвхгүй болгох",
|
||||
"disableP2P": "Peer-To-Peer горим идэвхгүй болгох",
|
||||
"displayName": "Дэлгэц нэр",
|
||||
"email": "Имэйл",
|
||||
"header": "Тохиргоо",
|
||||
"profileSection": "Профайл",
|
||||
"serverURL": "Серверийн URL",
|
||||
"showAdvanced": "Нарийвчилсан тохиргоог харуулах",
|
||||
"startWithAudioMuted": "Аудио дуугүй болгох",
|
||||
"startWithVideoMuted": "Видеог дууг хаах",
|
||||
"version": "Хувилбар"
|
||||
},
|
||||
"share": {
|
||||
"dialInfoText": "\n\n=====\n\nУтсан дээрээ залгахыг хүсч байна уу?\n\n{{defaultDialInNumber}}Энэ уулзалтын утасны дугаарлуу залгахыг харахын тулд энэ холбоос дээр дарна уу\n{{dialInfoPageUrl}}",
|
||||
"mainText": "Уулзалтанд нэгдэхийн тулд дараах холбоосыг дарна уу:\n{{roomUrl}}"
|
||||
},
|
||||
"speaker": "Яригч",
|
||||
"speakerStats": {
|
||||
"hours": "{{count}}ц",
|
||||
"minutes": "{{count}}м",
|
||||
"name": "Нэр",
|
||||
"seconds": "{{count}}с",
|
||||
"speakerStats": "Яригчийн статистик",
|
||||
"speakerTime": "Яригчийн цаг"
|
||||
},
|
||||
"startupoverlay": {
|
||||
"policyText": " ",
|
||||
"title": "{{app}} нь таны микрофон болон камерыг ашиглана."
|
||||
},
|
||||
"suspendedoverlay": {
|
||||
"rejoinKeyTitle": "Дахин нэгдэх",
|
||||
"text": "Дахин холбохын тулд <i>Rejoin</i> товчийг дарна уу.",
|
||||
"title": "Энэ компьютер унтарсан учир таны видео дуудлага тасарлаа."
|
||||
},
|
||||
"toolbar": {
|
||||
"accessibilityLabel": {
|
||||
"audioOnly": "Зөвхөн аудио",
|
||||
"audioRoute": "Дууны төхөөрөмж сонго",
|
||||
"callQuality": "Видеоны чанар",
|
||||
"cc": "Хадмал орчуулга",
|
||||
"chat": "Зурвасын цонх",
|
||||
"document": "Бичиг баримт хуваалцах",
|
||||
"download": "Манай програмуудыг татах",
|
||||
"feedback": "Санал хүсэлтээ үлдээх",
|
||||
"fullScreen": "Бүтэн дэлгэц",
|
||||
"hangup": "Салгах",
|
||||
"help": "Тусламж",
|
||||
"invite": "Хүмүүсийг урих",
|
||||
"kick": "Оролцогчийг гаргах",
|
||||
"localRecording": "Дотоод бичлэгийн хяналт",
|
||||
"lockRoom": "Нууц үг өгөх",
|
||||
"moreActions": "Бусад цэс",
|
||||
"moreActionsMenu": "Бусад цэс",
|
||||
"moreOptions": "Илүү сонголт",
|
||||
"mute": "Дууг хаах",
|
||||
"muteEveryone": "Бүх дууг хаах",
|
||||
"pip": "Зураг зураг горим",
|
||||
"privateMessage": "Хувийн зурвас илгээх",
|
||||
"profile": "Өөрийн профайлыг засах",
|
||||
"raiseHand": "Гараа өргө",
|
||||
"recording": "Бичлэг хийх",
|
||||
"remoteMute": "Оролцогч дууг хаах",
|
||||
"Settings": "Тохиргоо",
|
||||
"sharedvideo": "Youtube-н видео хуваалцах",
|
||||
"shareRoom": "Хүн урих",
|
||||
"shareYourScreen": "Дэлгэц хуваалцах",
|
||||
"shortcuts": "Товчлол",
|
||||
"show": "Үзүүлэх",
|
||||
"speakerStats": "Яригчийн статистик",
|
||||
"tileView": "Зэрэгцүүлж харах",
|
||||
"toggleCamera": "Камер",
|
||||
"videomute": "Дүрсгүй видео",
|
||||
"videoblur": "Видео бүдэгрүүлэх"
|
||||
},
|
||||
"addPeople": "Таны дуудлагад хүн нэмэх",
|
||||
"audioOnlyOff": "Бага дамжуулах горимыг идэвхгүй болгох",
|
||||
"audioOnlyOn": "Бага дамжуулах горимыг идэвхжүүлэх",
|
||||
"audioRoute": "Дууны төхөөрөмж сонгох",
|
||||
"authenticate": "Нэвтрэлт",
|
||||
"callQuality": "Видеоны чанар",
|
||||
"chat": "Зурвас нээх/хаах",
|
||||
"closeChat": "Зурвас хаах",
|
||||
"documentClose": "Хуваалцсан бичиг баримт хаах",
|
||||
"documentOpen": "Хуваалцсан бичиг баримт нээх",
|
||||
"download": "Манай програмуудыг татах",
|
||||
"enterFullScreen": "Бүтэн дэлгэцээр харах",
|
||||
"enterTileView": "Зэрэгцүүлж харах",
|
||||
"exitFullScreen": "Бүтэн дэлгэцээс гарах",
|
||||
"exitTileView": "Зэрэгцүүлж харах болих",
|
||||
"feedback": "Санал хүсэлтээ үлдээх",
|
||||
"hangup": "Салгах",
|
||||
"help": "Тусламж",
|
||||
"invite": "Хүмүүс урих",
|
||||
"login": "Нэвтрэх",
|
||||
"logout": "Гарах",
|
||||
"lowerYourHand": "Гараа болих",
|
||||
"moreActions": "Бусад үйлдэл",
|
||||
"moreOptions": "Бусад тохиргоо",
|
||||
"mute": "Дуу хаах/нээх",
|
||||
"muteEveryone": "Бүх дууг хаах",
|
||||
"noAudioSignalTitle": "Таны микрофоноос оруулах оролт байхгүй байна!",
|
||||
"noAudioSignalDesc": "Хэрэв та системийн тохиргоо эсвэл техник хангамжаас үүнийг идэвхгүй болгоогүй бол төхөөрөмжийг солиж үзнэ үү.",
|
||||
"noAudioSignalDescSuggestion": "Хэрэв та системийн тохиргоо эсвэл техник хангамжаас үүнийг идэвхгүй болгоогүй бол санал болгосон төхөөрөмжид шилжүүлнэ үү.",
|
||||
"noAudioSignalDialInDesc": "Залгаж ашиглаж болно:",
|
||||
"noAudioSignalDialInLinkDesc": "Залгах дугаарууд",
|
||||
"noisyAudioInputTitle": "Таны микрофон шуугиантай байна!",
|
||||
"noisyAudioInputDesc": "Таны микрофон шуугиж байна, дууг нь хаах эсвэл өөрчилнө үү.",
|
||||
"openChat": "Зурвас нээлттэй",
|
||||
"pip": "Зураг-зураг горим оруулах",
|
||||
"privateMessage": "Хувийн зурвас илгээх",
|
||||
"profile": "Профайлаа засна уу",
|
||||
"raiseHand": "Гараа өргөх/болих",
|
||||
"raiseYourHand": "Гараа өргө",
|
||||
"Settings": "Тохиргоо",
|
||||
"sharedvideo": "YouTube-н видео хуваалцах",
|
||||
"shareRoom": "Хэн нэгнийг урих",
|
||||
"shortcuts": "Товчлол харах",
|
||||
"speakerStats": "Яригчийн статистик",
|
||||
"startScreenSharing": "Дэлгэц хуваалцахыг эхлүүл",
|
||||
"startSubtitles": "Хадмал орчуулгыг эхлүүл",
|
||||
"stopScreenSharing": "Дэлгэц хуваалцахыг зогсоох",
|
||||
"stopSubtitles": "Хадмал орчуулгыг зогсоох",
|
||||
"stopSharedVideo": "YouTube видео зогсоох",
|
||||
"talkWhileMutedPopup": "Ярьж үзмээр байна уу? Дуу хаалттай байна.",
|
||||
"tileViewToggle": "Зэрэгцүүлж харах",
|
||||
"toggleCamera": "Камер",
|
||||
"videomute": "Камер нээх/хаах",
|
||||
"startvideoblur": "Дэвсгэрийг бүдгэрүүл",
|
||||
"stopvideoblur": "Бүдэгрүүлэлтийг болиулах"
|
||||
},
|
||||
"transcribing": {
|
||||
"ccButtonTooltip": "Хадмал орчуулгыг харуулах/болих",
|
||||
"error": "Орчуулга амжилтгүй боллоо. Дахин оролдоно уу.",
|
||||
"expandedLabel": "Хадмал орчуулгыг бичиж байна",
|
||||
"failedToStart": "Хадмал орчуулга эхлүүлж чадсангүй",
|
||||
"labelToolTip": "Хурлын хадмал орчуулга",
|
||||
"off": "Хадмал орчуулга больсон",
|
||||
"pending": "Хурлын хадмал орчуулга хийхэд бэлдэж байна...",
|
||||
"start": "Хадмал орчуулгыг харуулах",
|
||||
"stop": "Хадмал орчуулгыг болиул",
|
||||
"tr": "TR"
|
||||
},
|
||||
"userMedia": {
|
||||
"androidGrantPermissions": "Хөтөчөөс зөвшөөрөл хүсэх тохиолдолд <b><i>Allow</i></b> дарна уу.",
|
||||
"chromeGrantPermissions": "Хөтөчөөс зөвшөөрөл хүсэх тохиолдолд <b><i>Allow</i></b> дарна уу.",
|
||||
"edgeGrantPermissions": "Хөтөчөөс зөвшөөрөл хүсэх тохиолдолд <b><i>Yes</i></b> дарна уу.",
|
||||
"electronGrantPermissions": "Камер болон микрофон ашиглах зөвшөөрөл өгнө үү",
|
||||
"firefoxGrantPermissions": "Хөтөчөөс зөвшөөрөл хүсэх тохиолдолд <b><i>Share Selected Device</i></b> дарна уу.",
|
||||
"iexplorerGrantPermissions": "Хөтөчөөс зөвшөөрөл хүсэх тохиолдолд <b><i>OK</i></b> дарна уу.",
|
||||
"nwjsGrantPermissions": "Камер болон микрофон ашиглах зөвшөөрөл өгнө үү",
|
||||
"operaGrantPermissions": "Хөтөчөөс зөвшөөрөл хүсэх тохиолдолд <b><i>Allow</i></b> дарна уу.",
|
||||
"react-nativeGrantPermissions": "Хөтөчөөс зөвшөөрөл хүсэх тохиолдолд <b><i>Allow</i></b> дарна уу.",
|
||||
"safariGrantPermissions": "Хөтөчөөс зөвшөөрөл хүсэх тохиолдолд <b><i>OK</i></b> дарна уу."
|
||||
},
|
||||
"videoSIPGW": {
|
||||
"busy": "Бид нөөцийг чөлөөлөхөөр ажиллаж байна. Хэдэн минутын дараа дахин оролдоно уу.",
|
||||
"busyTitle": "Үйлчилгээ одоогоор завгүй байна",
|
||||
"errorAlreadyInvited": "{{displayName}} урьсан байна",
|
||||
"errorInvite": "Хурал хараахан эхлээгүй байна. Дараа дахин оролдож үзнэ үү.",
|
||||
"errorInviteFailed": "Бид асуудлыг шийдвэрлэхээр ажиллаж байна. Дараа дахин оролдож үзнэ үү.",
|
||||
"errorInviteFailedTitle": "{{displayName}} урилга амжилтгүй болсон",
|
||||
"errorInviteTitle": "Хуралд урихад алдаа гарлаа",
|
||||
"pending": "{{displayName}} урьсан байна"
|
||||
},
|
||||
"videoStatus": {
|
||||
"audioOnly": "AUD",
|
||||
"audioOnlyExpanded": "Таны дамжуулах чадвар муу байна. Энэ горимд та зөвхөн аудио болон дэлгэцийн хуваалцахыг хүлээн авах боломжтой.",
|
||||
"callQuality": "Видеоны чанар",
|
||||
"hd": "HD",
|
||||
"hdTooltip": "Өндөр нягтаршилтай видеог үзэж байна",
|
||||
"highDefinition": "Өндөр нягтаршил",
|
||||
"labelTooiltipNoVideo": "Видео байхгүй",
|
||||
"labelTooltipAudioOnly": "Дамжуулалтын багтаамж бага горим идэвхжсэн",
|
||||
"ld": "LD",
|
||||
"ldTooltip": "Бага нягтаршилтай видео үзэж байна",
|
||||
"lowDefinition": "Бага нягтаршил",
|
||||
"onlyAudioAvailable": "Зөвхөн аудио ашиглах боломжтой",
|
||||
"onlyAudioSupported": "Энэ хөтчид аудио ашиглах боломжтой.",
|
||||
"p2pEnabled": "P2P идэвхтэй",
|
||||
"p2pVideoQualityDescription": "P2P горим дээр зөвхөн өндөр нягтаршилтай видео болон аудио хооронд л шилжүүлэх боломжтой. P2P гарах хүртэл бусад тохиргоог хийх боломжгүй.",
|
||||
"recHighDefinitionOnly": "Өндөр нягтаршилтайг илүүд үздэг.",
|
||||
"sd": "SD",
|
||||
"sdTooltip": "Стандарт нарийвчлалтай видео үзэж байна",
|
||||
"standardDefinition": "Стандарт нягтаршил"
|
||||
},
|
||||
"videothumbnail": {
|
||||
"domute": "Дуу хаах",
|
||||
"domuteOthers": "Бүх дууг хаах",
|
||||
"flip": "Урсах",
|
||||
"kick": "Гаргах",
|
||||
"moderator": "Зохицуулагч",
|
||||
"mute": "Оролцогч дуугүй байна",
|
||||
"muted": "Дуугүй",
|
||||
"remoteControl": "Алсын удирдлагыг эхлүүлэх / зогсоох",
|
||||
"show": "Үзүүлэх",
|
||||
"videomute": "Оролцогч камераа зогсоосон байна"
|
||||
},
|
||||
"welcomepage": {
|
||||
"accessibilityLabel": {
|
||||
"join": "Товшоод нэгдэх",
|
||||
"roomname": "Хурлын нэрийг оруулна уу"
|
||||
},
|
||||
"appDescription": "Таньдаг бүх хүмүүсийг урь. {{app}} нь бүрэн шифрлэгдсэн, 100% нээлттэй, видео хурлын шийдэл бөгөөд та өдөр бүр үнэ төлбөргүй ашиглаж болно.",
|
||||
"audioVideoSwitch": {
|
||||
"audio": "Дуутай",
|
||||
"video": "Видео"
|
||||
},
|
||||
"calendar": "Цагалбар",
|
||||
"connectCalendarButton": "Цагалбараа холбоно уу",
|
||||
"connectCalendarText": "Цагалбар дээрх уулзалтуудаа {{app}} дээр оруулж болно. Та цагалбараа холбоход болно.",
|
||||
"enterRoomTitle": "Шинэ хурал эхлүүлэх",
|
||||
"roomNameAllowedChars": "Хурлын нэр нь эдгээр тэмдэгтүүдийн аль нэгийг агуулж болохгүй: ?, &, :, ', \", %, #.",
|
||||
"go": "OK",
|
||||
"goSmall": "OK",
|
||||
"join": "ҮҮСГЭХ / НЭГДЭХ",
|
||||
"info": "Мэдээлэл",
|
||||
"privacy": "Нууцлал",
|
||||
"recentList": "Онцлох",
|
||||
"recentListDelete": "Устгах",
|
||||
"recentListEmpty": "Таны жагсаалт хоосон байна. Таны хийсэн бүх хурлууд энд байна.",
|
||||
"reducedUIText": "{{app}}, тавтай морил!",
|
||||
"roomname": "Хурлын нэрийг оруулна уу",
|
||||
"roomnameHint": "Нэгдэхийг хүсч буй хурлын нэр, URL-ийг оруулна уу. Та хурлын нэрээ үүсгэж болно. хуралд оролцох хүмүүстээ тэр нэрийг өгөөрэй.",
|
||||
"sendFeedback": "Санал илгээх",
|
||||
"terms": "Нөхцөлүүд",
|
||||
"title": "Аюулгүй, үнэгүй видео хурал хийх боломжтой"
|
||||
},
|
||||
"lonelyMeetingExperience": {
|
||||
"button": "Бусдыг урь",
|
||||
"youAreAlone": "Та энэ хуралд ганцаараа байна"
|
||||
}
|
||||
}
|
||||
@@ -137,7 +137,7 @@
|
||||
"liveStreaming": "Livestream"
|
||||
},
|
||||
"allow": "Toestaan",
|
||||
"alreadySharedVideoMsg": "Er wordt al een video gedeeld door een ander lid. In deze vergadering kan slechts één video tegelijkertijd worden gedeeld.",
|
||||
"alreadySharedVideoMsg": "Er wordt al een video gedeeld door een andere deelnemer. In deze vergadering kan slechts één video tegelijkertijd worden gedeeld.",
|
||||
"alreadySharedVideoTitle": "Slechts één gedeelde video tegelijkertijd toegestaan",
|
||||
"applicationWindow": "Toepassingsvenster",
|
||||
"Back": "Terug",
|
||||
@@ -181,10 +181,10 @@
|
||||
"kickMessage": "U bent uit de vergadering verwijderd.",
|
||||
"kickParticipantButton": "Verwijderen",
|
||||
"kickParticipantDialog": "Weet u zeker dat u deze deelnemer wilt verwijderen?",
|
||||
"kickParticipantTitle": "Dit lid verwijderen?",
|
||||
"kickParticipantTitle": "Deze deelnemer verwijderen?",
|
||||
"kickTitle": "Verwijderd uit vergadering",
|
||||
"liveStreaming": "Livestream",
|
||||
"liveStreamingDisabledForGuestTooltip": "Gasten kunnen livestream niet starten.",
|
||||
"liveStreamingDisabledForGuestTooltip": "Gasten kunnen de livestream niet starten.",
|
||||
"liveStreamingDisabledTooltip": "Het starten van de livestream is uitgeschakeld.",
|
||||
"lockMessage": "Het vergrendelen van de vergadering is mislukt.",
|
||||
"lockRoom": "Wachtwoord voor vergadering toevoegen",
|
||||
@@ -193,7 +193,7 @@
|
||||
"logoutTitle": "Afmelden",
|
||||
"maxUsersLimitReached": "Het maximale aantal leden is bereikt. De vergadering is vol. Neem contact op met de eigenaar van de vergadering of probeer het later opnieuw.",
|
||||
"maxUsersLimitReachedTitle": "Maximaal aantal leden bereikt",
|
||||
"micConstraintFailedError": "Uw microfoon voldoet niet aan alle vereiste beperkingen.",
|
||||
"micConstraintFailedError": "Uw microfoon voldoet niet aan alle vereiste randvoorwaarden.",
|
||||
"micNotFoundError": "Microfoon niet gevonden.",
|
||||
"micNotSendingData": "Er is geen toegang tot uw microfoon verkregen. Selecteer een ander apparaat in de instellingen of laad de toepassing opnieuw.",
|
||||
"micNotSendingDataTitle": "Geen toegang tot de microfoon",
|
||||
@@ -201,8 +201,8 @@
|
||||
"micUnknownError": "Kan de microfoon om een onbekende reden niet gebruiken.",
|
||||
"muteParticipantBody": "U kunt het dempen van anderen niet opheffen, maar zij kunnen dit wel op elk gewenst moment voor zichzelf doen.",
|
||||
"muteParticipantButton": "Dempen",
|
||||
"muteParticipantDialog": "Weet u zeker dat u deze deelnemer wilt dempen? U kunt het dempen niet opheffen, maar dit kan deze persoon wel op elk gewenst moment zelf doen.",
|
||||
"muteParticipantTitle": "Dit lid dempen?",
|
||||
"muteParticipantDialog": "Weet u zeker dat u deze deelnemer wilt dempen? U kunt het dempen niet opheffen, maar deze deelnemer kan dat wel op elk gewenst moment zelf doen.",
|
||||
"muteParticipantTitle": "Deze deelnemer dempen?",
|
||||
"Ok": "OK",
|
||||
"passwordLabel": "Wachtwoord",
|
||||
"passwordNotSupported": "Het instellen van een wachtwoord voor een vergadering wordt niet ondersteund.",
|
||||
@@ -232,7 +232,7 @@
|
||||
"screenSharingFailedToInstallTitle": "Installatie van extensie voor het delen van het scherm is mislukt",
|
||||
"screenSharingFirefoxPermissionDeniedError": "Er is iets misgegaan tijdens het delen van uw scherm. Controleer of u hier toestemming voor hebt verleend.",
|
||||
"screenSharingFirefoxPermissionDeniedTitle": "Scherm delen kan niet worden gestart.",
|
||||
"screenSharingPermissionDeniedError": "Er is iets misgegaan met de machtigingen voor de extensie voor het delen van het scherm. Laad de toepassing opnieuw en probeer het nog eens.",
|
||||
"screenSharingPermissionDeniedError": "Er is iets misgegaan met de permissies voor het delen van het scherm. Laad de toepassing opnieuw en probeer het nog eens.",
|
||||
"serviceUnavailable": "Service niet beschikbaar",
|
||||
"sessTerminated": "Gesprek beëindigd",
|
||||
"Share": "Delen",
|
||||
@@ -337,13 +337,13 @@
|
||||
"raiseHand": "Uw hand opsteken of laten zakken",
|
||||
"showSpeakerStats": "Sprekerstatistieken weergeven",
|
||||
"toggleChat": "Chatgesprek openen of sluiten",
|
||||
"toggleFilmstrip": "Videominiaturen weergeven of verbergen",
|
||||
"toggleFilmstrip": "Toon of verberg videominiaturen",
|
||||
"toggleScreensharing": "Schakelen tussen camera en het delen van het scherm",
|
||||
"toggleShortcuts": "Sneltoetsen weergeven of verbergen",
|
||||
"videoMute": "Uw camera starten of stoppen"
|
||||
},
|
||||
"liveStreaming": {
|
||||
"busy": "Er worden streamingresources vrijgemaakt. Probeer het over enkele minuten opnieuw.",
|
||||
"busy": "We werken aan het vrijmaken van streaming-middelen. Probeer het over enkele minuten opnieuw.",
|
||||
"busyTitle": "Alle streamers zijn momenteel bezet",
|
||||
"changeSignIn": "Wissel van account.",
|
||||
"choose": "Een livestream kiezen",
|
||||
@@ -426,16 +426,16 @@
|
||||
"somebody": "Iemand",
|
||||
"startSilentTitle": "",
|
||||
"startSilentDescription": "",
|
||||
"suboptimalExperienceDescription": "Helaas zal uw {{appName}}-ervaring hier niet optimaal zijn. Mogelijk wordt dit in de toekomst verbeterd, maar tot die tijd vragen we u een van de <a href='static/recommendedBrowsers.html' target='_blank'>volledig ondersteunde browsers</a> te gebruiken.",
|
||||
"suboptimalExperienceDescription": "Helaas zal uw {{appName}}-ervaring hier niet optimaal zijn. We proberen dit in de toekomst te verbeteren, maar tot die tijd kunt u proberen een van de <a href='static/recommendedBrowsers.html' target='_blank'>volledig ondersteunde browsers</a> te gebruiken.",
|
||||
"suboptimalExperienceTitle": "Browserwaarschuwing",
|
||||
"unmute": "",
|
||||
"newDeviceCameraTitle": "Nieuwe camera gedetecteerd",
|
||||
"newDeviceAudioTitle": "Nieuw audioapparaat gedetecteerd",
|
||||
"newDeviceAction": "Gebruik"
|
||||
},
|
||||
"passwordSetRemotely": "ingesteld door een ander lid",
|
||||
"passwordSetRemotely": "ingesteld door een andere deelnemer",
|
||||
"passwordDigitsOnly": "Maximaal {{number}} cijfers",
|
||||
"poweredby": "powered by",
|
||||
"poweredby": "mogelijk gemaakt door",
|
||||
"presenceStatus": {
|
||||
"busy": "Bezet",
|
||||
"calling": "Bellen...",
|
||||
@@ -512,7 +512,7 @@
|
||||
"alertOk": "OK",
|
||||
"alertTitle": "Waarschuwing",
|
||||
"alertURLText": "De ingevoerde server-URL is ongeldig",
|
||||
"buildInfoSection": "Buildgegevens",
|
||||
"buildInfoSection": "Versiegegevens",
|
||||
"conferenceSection": "Bijeenkomsten",
|
||||
"displayName": "Weergavenaam",
|
||||
"email": "E‑mail",
|
||||
@@ -683,11 +683,11 @@
|
||||
"flip": "Omslaan",
|
||||
"kick": "Verwijderen",
|
||||
"moderator": "Moderator",
|
||||
"mute": "Lid is gedempt",
|
||||
"mute": "Deelnemer is gedempt",
|
||||
"muted": "Gedempt",
|
||||
"remoteControl": "Extern beheer",
|
||||
"show": "",
|
||||
"videomute": "Lid heeft de camera gestopt"
|
||||
"videomute": "Deelnemer heeft de camera gestopt"
|
||||
},
|
||||
"welcomepage": {
|
||||
"accessibilityLabel": {
|
||||
|
||||
749
lang/main-pt.json
Normal file
749
lang/main-pt.json
Normal file
@@ -0,0 +1,749 @@
|
||||
{
|
||||
"addPeople": {
|
||||
"add": "Convidar",
|
||||
"countryNotSupported": "Ainda não suportamos este destino.",
|
||||
"countryReminder": "Está a ligar de fora dos EUA? Por favor, certifique-se de começar com o código do país!",
|
||||
"disabled": "Você não pode convidar pessoas.",
|
||||
"failedToAdd": "Falha ao adicionar participantes",
|
||||
"footerText": "Digitação está desativada.",
|
||||
"loading": "A procurar por pessoas e números de telefone",
|
||||
"loadingNumber": "A validar o número de telefone",
|
||||
"loadingPeople": "A procurar pessoas para convidar",
|
||||
"noResults": "Nenhum resultado de busca correspondente",
|
||||
"noValidNumbers": "Por favor, digite um número de telefone",
|
||||
"searchNumbers": "Adicionar números de telefone",
|
||||
"searchPeople": "Pesquisar pessoas",
|
||||
"searchPeopleAndNumbers": "Pesquisar por pessoas ou adicionar os seus números de telefone",
|
||||
"telephone": "Telefone: {{number}}",
|
||||
"title": "Convide pessoas para sua reunião"
|
||||
},
|
||||
"audioDevices": {
|
||||
"bluetooth": "Bluetooth",
|
||||
"headphones": "Fones de ouvido",
|
||||
"phone": "Telemóvel",
|
||||
"speaker": "Alto-falantes",
|
||||
"none": "Sem dispositivos de áudio disponíveis"
|
||||
},
|
||||
"audioOnly": {
|
||||
"audioOnly": "Largura de banda baixa"
|
||||
},
|
||||
"calendarSync": {
|
||||
"addMeetingURL": "Adicionar um link da reunião",
|
||||
"confirmAddLink": "Gostaria de adicionar um link do Jitsi a esse evento?",
|
||||
"error": {
|
||||
"appConfiguration": "A integração com calendário não está configurada adequadamente.",
|
||||
"generic": "Ocorreu um erro. Verifique as configurações de calendário ou tente atualizar o calendário.",
|
||||
"notSignedIn": "Ocorreu um erro durante a autenticação para visualização dos eventos do calendário. Verifique as configurações de calendário e tente entrar novamente."
|
||||
},
|
||||
"join": "Participar",
|
||||
"joinTooltip": "Participar na reunião",
|
||||
"nextMeeting": "próxima reunião",
|
||||
"noEvents": "Não há eventos próximos agendados.",
|
||||
"ongoingMeeting": "reunião a decorrer",
|
||||
"permissionButton": "Abrir configurações",
|
||||
"permissionMessage": "Permissão do calendário é requerida para ver as suas reuniões na aplicação.",
|
||||
"refresh": "Atualizar calendário",
|
||||
"today": "Hoje"
|
||||
},
|
||||
"chat": {
|
||||
"error": "Erro: a sua mensagem não foi enviada. Motivo: {{error}}",
|
||||
"fieldPlaceHolder": "",
|
||||
"messagebox": "Digite uma mensagem",
|
||||
"messageTo": "Mensagem privada para {{recipient}}",
|
||||
"noMessagesMessage": "",
|
||||
"nickname": {
|
||||
"popover": "Escolha um apelido",
|
||||
"title": "Digite um apelido para usar na conversação"
|
||||
},
|
||||
"privateNotice": "Mensagem privada para {{recipient}}",
|
||||
"title": "Conversação",
|
||||
"you": "você"
|
||||
},
|
||||
"connectingOverlay": {
|
||||
"joiningRoom": "A ligá-lo à reunião…"
|
||||
},
|
||||
"connection": {
|
||||
"ATTACHED": "Anexado",
|
||||
"AUTHENTICATING": "A autenticar",
|
||||
"AUTHFAIL": "Falha de autenticação",
|
||||
"CONNECTED": "Ligado",
|
||||
"CONNECTING": "A ligar",
|
||||
"CONNFAIL": "Falha de ligação",
|
||||
"DISCONNECTED": "Desligado",
|
||||
"DISCONNECTING": "A desligar",
|
||||
"ERROR": "Erro",
|
||||
"RECONNECTING": "Ocorreu um problema de rede. A religar..."
|
||||
},
|
||||
"connectionindicator": {
|
||||
"address": "Endereço:",
|
||||
"bandwidth": "Largura de banda estimada:",
|
||||
"bitrate": "Taxa de bits:",
|
||||
"bridgeCount": "Servidores: ",
|
||||
"connectedTo": "Ligado a:",
|
||||
"framerate": "Taxa de frames:",
|
||||
"less": "Mostrar menos",
|
||||
"localaddress": "Endereço local:",
|
||||
"localaddress_plural": "Endereços locais:",
|
||||
"localport": "Porta local:",
|
||||
"localport_plural": "Portas locais:",
|
||||
"more": "Mostrar mais",
|
||||
"packetloss": "Perda de pacote:",
|
||||
"quality": {
|
||||
"good": "Boa",
|
||||
"inactive": "Inativo",
|
||||
"lost": "Perdido",
|
||||
"nonoptimal": "Não ótima",
|
||||
"poor": "Pobre"
|
||||
},
|
||||
"remoteaddress": "Endereço remoto:",
|
||||
"remoteaddress_plural": "Endereços remotos:",
|
||||
"remoteport": "Porta remota:",
|
||||
"remoteport_plural": "Portas remotas:",
|
||||
"resolution": "Resolução:",
|
||||
"status": "Ligação:",
|
||||
"transport": "Transporte:",
|
||||
"transport_plural": "Transportes:"
|
||||
},
|
||||
"dateUtils": {
|
||||
"earlier": "Mais cedo",
|
||||
"today": "Hoje",
|
||||
"yesterday": "Ontem"
|
||||
},
|
||||
"deepLinking": {
|
||||
"appNotInstalled": "Precisa da aplicação móvel {{app}} para participar na reunião com o seu telefone.",
|
||||
"description": "Não acontece nada? Estamos a tentar iniciar a sua reunião na aplicação desktop {{app}}. Tente novamente ou inicie na aplicação web {{app}}.",
|
||||
"descriptionWithoutWeb": "Não aconteceu nada? Tentamos iniciar a sua reunião na aplicação desktop {{app}}.",
|
||||
"downloadApp": "Transfira a Aplicação",
|
||||
"launchWebButton": "Iniciar na web",
|
||||
"openApp": "Continue na aplicação",
|
||||
"title": "A iniciar a sua reunião na {{app}}...",
|
||||
"tryAgainButton": "Tente novamente no desktop"
|
||||
},
|
||||
"defaultLink": "ex.: {{url}}",
|
||||
"defaultNickname": "ex.: João Pedro",
|
||||
"deviceError": {
|
||||
"cameraError": "Falha ao aceder à sua câmera",
|
||||
"cameraPermission": "Erro ao obter permissão para a câmera",
|
||||
"microphoneError": "Falha ao aceder ao seu microfone",
|
||||
"microphonePermission": "Erro ao obter permissão para o microfone"
|
||||
},
|
||||
"deviceSelection": {
|
||||
"noPermission": "Permissão não concedida",
|
||||
"previewUnavailable": "Visualização indisponível",
|
||||
"selectADevice": "Selecione um dispositivo",
|
||||
"testAudio": "Tocar um som de teste"
|
||||
},
|
||||
"dialog": {
|
||||
"accessibilityLabel": {
|
||||
"liveStreaming": "Transmissão ao vivo"
|
||||
},
|
||||
"allow": "Permitir",
|
||||
"alreadySharedVideoMsg": "Outro participante já está compartilhando um vídeo. Esta conferência permite apenas um vídeo compartilhado por vez.",
|
||||
"alreadySharedVideoTitle": "Somente um vídeo compartilhado é permitido por vez",
|
||||
"applicationWindow": "Janela de aplicativo",
|
||||
"Back": "Voltar",
|
||||
"cameraConstraintFailedError": "Sua câmera não satisfaz algumas condições necessárias.",
|
||||
"cameraNotFoundError": "A câmera não foi encontrada.",
|
||||
"cameraNotSendingData": "Estamos incapazes de acessar sua câmera. Verifique se outra aplicação está usando este dispositivo, selecione outro dispositivo do menu de configurações ou recarregue a aplicação.",
|
||||
"cameraNotSendingDataTitle": "Incapaz de acessar a câmera",
|
||||
"cameraPermissionDeniedError": "Não foi permitido acessar a sua câmera. Você ainda pode entrar na conferência, mas sem exibir o seu vídeo. Clique no botão da câmera para tentar reparar.",
|
||||
"cameraUnknownError": "Não pode usar a câmera por uma razão desconhecida.",
|
||||
"cameraUnsupportedResolutionError": "Sua câmera não suporta a resolução de vídeo requerida.",
|
||||
"Cancel": "Cancelar",
|
||||
"close": "Fechar",
|
||||
"conferenceDisconnectMsg": "Você pode querer verificar sua conexão de rede. Reconectando em {{seconds}} segundos ...",
|
||||
"conferenceDisconnectTitle": "Você foi desconectado.",
|
||||
"conferenceReloadMsg": "Estamos tentando consertar isto. Reconectando em {{seconds}} segundos...",
|
||||
"conferenceReloadTitle": "Infelizmente, algo deu errado.",
|
||||
"confirm": "Confirmar",
|
||||
"confirmNo": "Não",
|
||||
"confirmYes": "Sim",
|
||||
"connectError": "Oops! Alguma coisa está errada e nós não pudemos conectar à conferência.",
|
||||
"connectErrorWithMsg": "Oops! Alguma coisa está errada e não podemos conectar à conferência: {{msg}}",
|
||||
"connecting": "Conectando",
|
||||
"contactSupport": "Contate o suporte",
|
||||
"copy": "Copiar",
|
||||
"dismiss": "Dispensar",
|
||||
"displayNameRequired": "Oi! Qual o seu nome?",
|
||||
"done": "Feito",
|
||||
"enterDisplayName": "Digite seu nome aqui",
|
||||
"error": "Erro",
|
||||
"externalInstallationMsg": "Você precisa instalar nossa extensão de compartilhamento de tela.",
|
||||
"externalInstallationTitle": "Extensão requerida",
|
||||
"goToStore": "Vá para a loja virtual",
|
||||
"gracefulShutdown": "O sistema está em manutenção. Por favor tente novamente mais tarde.",
|
||||
"IamHost": "Eu sou o anfitrião",
|
||||
"incorrectRoomLockPassword": "Senha incorreta",
|
||||
"incorrectPassword": "Usuário ou senha incorretos",
|
||||
"inlineInstallationMsg": "Você precisa instalar nossa extensão de compartilhamento de tela.",
|
||||
"inlineInstallExtension": "Instalar agora",
|
||||
"internalError": "Oops! Alguma coisa está errada. O seguinte erro ocorreu: {{error}}",
|
||||
"internalErrorTitle": "Erro interno",
|
||||
"kickMessage": "Você pode contatar com {{participantDisplayName}} para obter mais detalhes.",
|
||||
"kickParticipantButton": "Remover",
|
||||
"kickParticipantDialog": "Tem certeza de que deseja remover este participante?",
|
||||
"kickParticipantTitle": "Chutar este participante?",
|
||||
"kickTitle": "Ai! {{participantDisplayName}} expulsou você da reunião",
|
||||
"liveStreaming": "Transmissão ao Vivo",
|
||||
"liveStreamingDisabledForGuestTooltip": "Visitantes não podem iniciar transmissão ao vivo.",
|
||||
"liveStreamingDisabledTooltip": "Iniciar transmissão ao vivo desativada.",
|
||||
"lockMessage": "Falha ao travar a conferência.",
|
||||
"lockRoom": "Adicionar reunião $t(lockRoomPasswordUppercase)",
|
||||
"lockTitle": "Bloqueio falhou",
|
||||
"logoutQuestion": "Deseja encerrar a sessão e finalizar a conferência?",
|
||||
"logoutTitle": "Encerrar sessão",
|
||||
"maxUsersLimitReached": "O limite para o número máximo de participantes foi atingido. A conferência está cheia. Entre em contato com o proprietário da reunião ou tente novamente mais tarde!",
|
||||
"maxUsersLimitReachedTitle": "Limite máximo de participantes atingido",
|
||||
"micConstraintFailedError": "Seu microfone não satisfaz algumas condições necessárias.",
|
||||
"micNotFoundError": "O microfone não foi encontrado.",
|
||||
"micNotSendingData": "Vá para as configurações do seu computador para ativar o som do microfone e ajustar seu nível",
|
||||
"micNotSendingDataTitle": "Seu microfone está mudo pelas configurações do sistema",
|
||||
"micPermissionDeniedError": "Não foi permitido acessar o seu microfone. Você ainda pode entrar na conferência, mas sem enviar áudio. Clique no botão do microfone para tentar reparar.",
|
||||
"micUnknownError": "Não pode usar o microfone por uma razão desconhecida.",
|
||||
"muteParticipantBody": "Você não está habilitado para tirar o mudo deles, mas eles podem tirar o mudo deles mesmos a qualquer tempo.",
|
||||
"muteParticipantButton": "Mudo",
|
||||
"muteParticipantDialog": "Tem certeza de que deseja silenciar este participante? Você não poderá desfazer isso, mas o participante pode reabilitar o áudio a qualquer momento.",
|
||||
"muteParticipantTitle": "Deixar mudo este participante?",
|
||||
"Ok": "Ok",
|
||||
"passwordLabel": "$t(lockRoomPasswordUppercase)",
|
||||
"passwordNotSupported": "A configuração de uma reunião $t(lockRoomPassword) não é suportada.",
|
||||
"passwordNotSupportedTitle": "$t(lockRoomPasswordUppercase) não suportado",
|
||||
"passwordRequired": "$t(lockRoomPasswordUppercase) requerido",
|
||||
"popupError": "Seu navegador está bloqueando janelas popup deste site. Habilite os popups nas configurações de segurança no seu navegador e tente novamente.",
|
||||
"popupErrorTitle": "Popup bloqueado",
|
||||
"recording": "Gravando",
|
||||
"recordingDisabledForGuestTooltip": "Visitantes não podem iniciar gravações.",
|
||||
"recordingDisabledTooltip": "Iniciar gravação desativada.",
|
||||
"rejoinNow": "Reconectar agora",
|
||||
"remoteControlAllowedMessage": "{{user}} aceitou sua requisição de controle remoto!",
|
||||
"remoteControlDeniedMessage": "{{user}} rejeitou sua requisição de controle remoto!",
|
||||
"remoteControlErrorMessage": "Um erro ocorreu enquanto tentava requerer a permissão de controle remoto de {{user}}!",
|
||||
"remoteControlRequestMessage": "Deseja permitir que {{user}} controle remotamente sua área de trabalho?",
|
||||
"remoteControlShareScreenWarning": "Note que se você pressionar \"Permitir\" você vai compartilhar sua tela!",
|
||||
"remoteControlStopMessage": "A sessão de controle remoto terminou!",
|
||||
"remoteControlTitle": "Conexão de área de trabalho remota",
|
||||
"Remove": "Remover",
|
||||
"removePassword": "Remove $t(lockRoomPassword)",
|
||||
"removeSharedVideoMsg": "Deseja remover seu vídeo compartilhado?",
|
||||
"removeSharedVideoTitle": "Remover vídeo compartilhado",
|
||||
"reservationError": "Erro de sistema de reserva",
|
||||
"reservationErrorMsg": "Código do erro: {{code}}, mensagem: {{msg}}",
|
||||
"retry": "Tentar novamente",
|
||||
"screenSharingFailedToInstall": "Oops! Falhou a instalação da extensão de compartilhamento de tela.",
|
||||
"screenSharingFailedToInstallTitle": "A extensão de compartilhamento de tela falhou ao instalar",
|
||||
"screenSharingFirefoxPermissionDeniedError": "Algo deu errado enquanto estávamos tentando compartilhar sua tela. Por favor, certifique-se de que você nos deu permissão para fazê-lo. ",
|
||||
"screenSharingFirefoxPermissionDeniedTitle": "Opa! Não foi possível iniciar o compartilhamento de tela.",
|
||||
"screenSharingPermissionDeniedError": "Oops! Alguma coisa está errada com suas permissões de compartilhamento de tela. Recarregue e tente de novo.",
|
||||
"sendPrivateMessage": "Você enviou uma mensagem privada recentemente. Tem intenção de responder em privado, ou deseja enviar sua mensagem para o grupo?",
|
||||
"sendPrivateMessageCancel": "Enviar para o grupo",
|
||||
"sendPrivateMessageOk": "Enviar em privado",
|
||||
"sendPrivateMessageTitle": "Enviar em privado?",
|
||||
"serviceUnavailable": "Serviço indisponível",
|
||||
"sessTerminated": "Chamada terminada",
|
||||
"Share": "Compartilhar",
|
||||
"shareVideoLinkError": "Por favor, forneça um link do youtube correto.",
|
||||
"shareVideoTitle": "Compartilhar um vídeo",
|
||||
"shareYourScreen": "Compartilhar sua tela",
|
||||
"shareYourScreenDisabled": "Compartilhamento de tela desativada.",
|
||||
"shareYourScreenDisabledForGuest": "Visitantes não podem compartilhar tela.",
|
||||
"startLiveStreaming": "Iniciar transmissão ao vivo",
|
||||
"startRecording": "Iniciar gravação",
|
||||
"startRemoteControlErrorMessage": "Um erro ocorreu enquanto tentava iniciar uma sessão de controle remoto!",
|
||||
"stopLiveStreaming": "Parar transmissão ao vivo",
|
||||
"stopRecording": "Parar a gravação",
|
||||
"stopRecordingWarning": "Tem certeza que deseja parar a gravação?",
|
||||
"stopStreamingWarning": "Tem certeza que deseja parar a transmissão ao vivo?",
|
||||
"streamKey": "Chave para transmissão ao vivo",
|
||||
"Submit": "Enviar",
|
||||
"thankYou": "Obrigado por usar o {{appName}}!",
|
||||
"token": "token",
|
||||
"tokenAuthFailed": "Desculpe, você não está autorizado a entrar nesta chamada.",
|
||||
"tokenAuthFailedTitle": "Falha de autenticação",
|
||||
"transcribing": "Transcrevendo",
|
||||
"unlockRoom": "Remove a reunião $t(lockRoomPassword)",
|
||||
"userPassword": "senha do usuário",
|
||||
"WaitForHostMsg": "A conferência <b>{{room}}</b> ainda não começou. Se você é o anfitrião, faça a autenticação. Do contrário, aguarde a chegada do anfitrião.",
|
||||
"WaitForHostMsgWOk": "A conferência <b>{{room}}</b> ainda não começou. Se você é o anfitrião, pressione Ok para autenticar. Do contrário, aguarde a chegada do anfitrião.",
|
||||
"WaitingForHost": "Esperando o hospedeiro...",
|
||||
"Yes": "Sim",
|
||||
"yourEntireScreen": "Toda sua tela"
|
||||
},
|
||||
"dialOut": {
|
||||
"statusMessage": "está agora {{status}}"
|
||||
},
|
||||
"documentSharing": {
|
||||
"title": "Documento compartilhado"
|
||||
},
|
||||
"feedback": {
|
||||
"average": "Média",
|
||||
"bad": "Ruim",
|
||||
"detailsLabel": "Nos conte mais sobre isso.",
|
||||
"good": "Boa",
|
||||
"rateExperience": "Avalie sua experiência na reunião",
|
||||
"veryBad": "Muito ruim",
|
||||
"veryGood": "Muito boa"
|
||||
},
|
||||
"incomingCall": {
|
||||
"answer": "Responder",
|
||||
"audioCallTitle": "Chamada recebida",
|
||||
"decline": "Dispensar",
|
||||
"productLabel": "do Jitsi Meet",
|
||||
"videoCallTitle": "Chamada de vídeo recebida"
|
||||
},
|
||||
"info": {
|
||||
"accessibilityLabel": "Mostrar info",
|
||||
"addPassword": "Adicione $t(lockRoomPassword)",
|
||||
"cancelPassword": "Cancela $t(lockRoomPassword)",
|
||||
"conferenceURL": "Link:",
|
||||
"country": "País",
|
||||
"dialANumber": "Para entrar na reunião, disque um desses números e depois insira o PIN.",
|
||||
"dialInConferenceID": "PIN:",
|
||||
"dialInNotSupported": "Desculpe, a discagem não é atualmente suportada.",
|
||||
"dialInNumber": "Discar:",
|
||||
"dialInSummaryError": "Ocorreu um erro ao buscar a informação de discagem. Tente novamente mais tarde.",
|
||||
"dialInTollFree": "Chamada gratuita",
|
||||
"genericError": "Oops, alguma coisa deu errado.",
|
||||
"inviteLiveStream": "Para ver a transmissão ao vivo da reunião, clique no link: {{url}}",
|
||||
"invitePhone": "Para participar por telefone, toque aqui: {{number}} ,, {{conferenceID}} # \\ n",
|
||||
"invitePhoneAlternatives": "Procurando um número de discagem diferente?\nVeja os números de discagem da reunião: {{url}} \n\n\nSe você também estiver discando através de um telefone da sala, participe sem conectar-se ao áudio: {{silentUrl}}",
|
||||
"inviteURLFirstPartGeneral": "Você foi convidado para uma reunião.",
|
||||
"inviteURLFirstPartPersonal": "{{name}} está convidando você para uma reunião.\n",
|
||||
"inviteURLSecondPart": "\nEntre na reunião:\n{{url}}\n",
|
||||
"liveStreamURL": "Transmissão ao vivo:",
|
||||
"moreNumbers": "Mais números",
|
||||
"noNumbers": "Sem números de discagem.",
|
||||
"noPassword": "Nenhum",
|
||||
"noRoom": "Nenhuma sala foi especificada para entrar.",
|
||||
"numbers": "Números de discagem",
|
||||
"password": "$t(lockRoomPasswordUppercase):",
|
||||
"title": "Compartilhar",
|
||||
"tooltip": "Compartilhar link e discagem para esta reunião",
|
||||
"label": "Informações da reunião"
|
||||
},
|
||||
"inviteDialog": {
|
||||
"alertText": "Não foi possível convidar alguns participantes.",
|
||||
"header": "Convidar",
|
||||
"searchCallOnlyPlaceholder": "Digite o número do telefone",
|
||||
"searchPeopleOnlyPlaceholder": "Buscar participantes",
|
||||
"searchPlaceholder": "Participante ou nº de telefone",
|
||||
"send": "Enviar"
|
||||
},
|
||||
"inlineDialogFailure": {
|
||||
"msg": "Tivemos um pequeno problema.",
|
||||
"retry": "Tentar novamente",
|
||||
"support": "Suporte",
|
||||
"supportMsg": "Se isso continuar acontecendo, chegar a"
|
||||
},
|
||||
"keyboardShortcuts": {
|
||||
"focusLocal": "Focar no seu vídeo",
|
||||
"focusRemote": "Focar no vídeo de outro participante",
|
||||
"fullScreen": "Entrar ou sair da tela cheia",
|
||||
"keyboardShortcuts": "Atalhos de teclado",
|
||||
"localRecording": "Mostrar ou ocultar controles de gravação local",
|
||||
"mute": "Deixar mudo ou não o microfone",
|
||||
"pushToTalk": "Pressione para falar",
|
||||
"raiseHand": "Erga ou baixe sua mão",
|
||||
"showSpeakerStats": "Exibir estatísticas do alto falante",
|
||||
"toggleChat": "Abrir ou fechar o painel de bate-papo",
|
||||
"toggleFilmstrip": "Mostrar ou ocultar miniaturas de vídeo",
|
||||
"toggleScreensharing": "Trocar entre câmera e compartilhamento de tela",
|
||||
"toggleShortcuts": "Mostrar ou ocultar atalhos de teclado",
|
||||
"videoMute": "Iniciar ou parar sua câmera",
|
||||
"videoQuality": "Gerenciar qualidade da chamada"
|
||||
},
|
||||
"liveStreaming": {
|
||||
"busy": "Estamos trabalhando para liberar os recursos de transmissão. Tente novamente em alguns minutos.",
|
||||
"busyTitle": "Todas as transmissões estão atualmente ocupadas",
|
||||
"changeSignIn": "Alternar contas.",
|
||||
"choose": "Escolha uma transmissão ao vivo",
|
||||
"chooseCTA": "Escolha uma opção de transmissão. Você está conectado atualmente como {{email}}.",
|
||||
"enterStreamKey": "Insira sua chave de transmissão ao vivo do YouTube aqui.",
|
||||
"error": "Falha na transmissão ao vivo. Tente de novo.",
|
||||
"errorAPI": "Ocorreu um erro ao acessar suas transmissões do YouTube. Por favor tente logar novamente.",
|
||||
"errorLiveStreamNotEnabled": "Transmissão ao vivo não está ativada em {{email}}. Ative a transmissão ao vivo ou registre numa conta com transmissão ao vivo ativada.",
|
||||
"expandedOff": "A transmissão ao vivo foi encerrada",
|
||||
"expandedOn": "A reunião está sendo transmitida pelo YouTube.",
|
||||
"expandedPending": "Iniciando a transmissão ao vivo...",
|
||||
"failedToStart": "Falha ao iniciar a transmissão ao vivo",
|
||||
"getStreamKeyManually": "Não conseguimos buscar nenhuma transmissão ao vivo. Tente obter sua chave de transmissão ao vivo no YouTube.",
|
||||
"invalidStreamKey": "A senha para transmissão ao vivo pode estar incorreta.",
|
||||
"off": "Transmissão ao vivo encerrada",
|
||||
"offBy": "{{name}} parou a transmissão ao vivo",
|
||||
"on": "Transmissão ao Vivo",
|
||||
"onBy": "{{name}} iniciou a transmissão ao vivo",
|
||||
"pending": "Iniciando Transmissão ao Vivo...",
|
||||
"serviceName": "Serviço de Transmissão ao Vivo",
|
||||
"signedInAs": "Você está conectado como:",
|
||||
"signIn": "Faça login no Google",
|
||||
"signInCTA": "Faça login ou insira sua chave de transmissão ao vivo do YouTube.",
|
||||
"signOut": "Sair",
|
||||
"start": "Iniciar uma transmissão ao vivo",
|
||||
"streamIdHelp": "O que é isso?",
|
||||
"unavailableTitle": "Transmissão ao vivo indisponível"
|
||||
},
|
||||
"localRecording": {
|
||||
"clientState": {
|
||||
"off": "Desligado",
|
||||
"on": "Ligado",
|
||||
"unknown": "Desconhecido"
|
||||
},
|
||||
"dialogTitle": "Controles da Gravação Local",
|
||||
"duration": "Duração",
|
||||
"durationNA": "N/D",
|
||||
"encoding": "Codificando",
|
||||
"label": "LOR",
|
||||
"labelToolTip": "Gravação local ativada",
|
||||
"localRecording": "Gravação local",
|
||||
"me": "Eu",
|
||||
"messages": {
|
||||
"engaged": "Gravação local iniciada.",
|
||||
"finished": "Sessão de gravação {{token}} terminada. Por favor, envie o arquivo gravado para o moderador.",
|
||||
"finishedModerator": "Sessão de gravação {{token}} terminada. A gravação da faixa local foi salva. Por favor, peça aos outros participantes para enviar suas gravações.",
|
||||
"notModerator": "Você não é o moderador. Você não pode iniciar ou parar a gravação local."
|
||||
},
|
||||
"moderator": "Moderador",
|
||||
"no": "Não",
|
||||
"participant": "Participante",
|
||||
"participantStats": "Estatísticas dos Participantes",
|
||||
"sessionToken": "Token de Sessão",
|
||||
"start": "Iniciar gravação",
|
||||
"stop": "Parar a Gravação",
|
||||
"yes": "Sim"
|
||||
},
|
||||
"lockRoomPassword": "senha",
|
||||
"lockRoomPasswordUppercase": "Senha",
|
||||
"me": "eu",
|
||||
"notify": {
|
||||
"connectedOneMember": "{{name}} entrou na reunião",
|
||||
"connectedThreePlusMembers": "{{name}} e outros {{count}} entraram na reunião",
|
||||
"connectedTwoMembers": "{{first}} e {{second}} entraram na reunião",
|
||||
"disconnected": "desconectado",
|
||||
"focus": "Foco da conferência",
|
||||
"focusFail": "{{component}} não disponĩvel - tente em {{ms}} seg.",
|
||||
"grantedTo": "Direitos de moderador concedido para {{to}}!",
|
||||
"invitedOneMember": "{{displayName}} foi convidado",
|
||||
"invitedThreePlusMembers": "{{name}} e {{count}} outros foram convidados",
|
||||
"invitedTwoMembers": "{{first}} e {{second}} foram convidados",
|
||||
"kickParticipant": "{{kicked}} foi chutado por {{kicker}}",
|
||||
"me": "Eu",
|
||||
"moderator": "Direitos de moderador concedidos!",
|
||||
"muted": "Você iniciou uma conversa em mudo.",
|
||||
"mutedTitle": "Você está mudo!",
|
||||
"mutedRemotelyTitle": "Você foi silenciado por {{participantDisplayName}}!",
|
||||
"mutedRemotelyDescription": "Você sempre pode ativar o som quando estiver pronto para falar. Retire o som quando terminar para manter o ruído longe da reunião.",
|
||||
"passwordRemovedRemotely": "$t(lockRoomPasswordUppercase) removido por outro participante",
|
||||
"passwordSetRemotely": "$t(lockRoomPasswordUppercase) definido por outro participante",
|
||||
"raisedHand": "{{name}} gostaria de falar.",
|
||||
"somebody": "Alguém",
|
||||
"startSilentTitle": "Você entrou sem saída de áudio!",
|
||||
"startSilentDescription": "Volte à reunião para habilitar o áudio",
|
||||
"suboptimalBrowserWarning": "Tememos que sua experiência de reunião não seja tão boa aqui. Estamos procurando maneiras de melhorar isso, mas até então, tente usar um dos <a href='static/recommendedBrowsers.html' target='_blank'>navegadores completamente suportados</a>.",
|
||||
"suboptimalExperienceTitle": "Alerta do navegador",
|
||||
"unmute": "Ativar som",
|
||||
"newDeviceCameraTitle": "Nova câmera detectada",
|
||||
"newDeviceAudioTitle": "Novo dispositivo de áudio detectado",
|
||||
"newDeviceAction": "Usar"
|
||||
},
|
||||
"passwordSetRemotely": "Definido por outro participante",
|
||||
"passwordDigitsOnly": "Até {{number}} dígitos",
|
||||
"poweredby": "distribuído por",
|
||||
"presenceStatus": {
|
||||
"busy": "Ocupado",
|
||||
"calling": "Chamando...",
|
||||
"connected": "Conectado",
|
||||
"connecting": "Conectando...",
|
||||
"connecting2": "Conectando*...",
|
||||
"disconnected": "Desconectado",
|
||||
"expired": "Expirado",
|
||||
"ignored": "Ignorado",
|
||||
"initializingCall": "Iniciando Chamada...",
|
||||
"invited": "Convidar",
|
||||
"rejected": "Rejeitado",
|
||||
"ringing": "Tocando..."
|
||||
},
|
||||
"profile": {
|
||||
"setDisplayNameLabel": "Definir seu nome de exibição",
|
||||
"setEmailInput": "Digite e-mail",
|
||||
"setEmailLabel": "Definir seu email de gravatar",
|
||||
"title": "Perfil"
|
||||
},
|
||||
"raisedHand": "Gostaria de falar",
|
||||
"recording": {
|
||||
"authDropboxText": "Enviar para o Dropbox.",
|
||||
"availableSpace": "Espaço disponível: {{spaceLeft}} MB (aproximadamente {{duration}} minutos de gravação)",
|
||||
"beta": "BETA",
|
||||
"busy": "Estamos trabalhando para liberar recursos de gravação. Tente novamente em alguns minutos.",
|
||||
"busyTitle": "Todas as gravações estão atualmente ocupadas",
|
||||
"error": "A gravação falhou. Tente novamente.",
|
||||
"expandedOff": "Gravação finalizada",
|
||||
"expandedOn": "A reunião está sendo gravada.",
|
||||
"expandedPending": "Iniciando gravação...",
|
||||
"failedToStart": "Falha ao iniciar a gravação",
|
||||
"fileSharingdescription": "Compartilhar gravação com participantes da reunião",
|
||||
"live": "AOVIVO",
|
||||
"loggedIn": "Conectado como {{userName}}",
|
||||
"off": "Gravação parada",
|
||||
"offBy": "{{name}} parou a gravação",
|
||||
"on": "Gravando",
|
||||
"onBy": "{{name}} iniciou a gravação",
|
||||
"pending": "Preparando para gravar a reunião...",
|
||||
"rec": "REC",
|
||||
"serviceDescription": "Sua gravação será salva pelo serviço de gravação",
|
||||
"serviceName": "Serviço de gravação",
|
||||
"signIn": "Entrar",
|
||||
"signOut": "Sair",
|
||||
"unavailable": "Oops! O {{serviceName}} está indisponível. Estamos trabalhando para resolver o problema. Por favor, tente mais tarde.",
|
||||
"unavailableTitle": "Gravação indisponível"
|
||||
},
|
||||
"sectionList": {
|
||||
"pullToRefresh": "Puxe para atualizar"
|
||||
},
|
||||
"settings": {
|
||||
"calendar": {
|
||||
"about": "A integração do calendário {{appName}} é usada para acessar com segurança o seu calendário para que ele possa ler os próximos eventos.",
|
||||
"disconnect": "Desconectar",
|
||||
"microsoftSignIn": "Entrar com Microsoft",
|
||||
"signedIn": "Atualmente acessando eventos do calendário para {{email}}. Clique no botão Desconectar abaixo para parar de acessar os eventos da agenda.",
|
||||
"title": "Calendário"
|
||||
},
|
||||
"devices": "Dispositivos",
|
||||
"followMe": "Todos me seguem",
|
||||
"language": "Idioma",
|
||||
"loggedIn": "Conectado como {{name}}",
|
||||
"moderator": "Moderador",
|
||||
"more": "Mais",
|
||||
"name": "Nome",
|
||||
"noDevice": "Nenhum",
|
||||
"selectAudioOutput": "Saída de áudio",
|
||||
"selectCamera": "Câmera",
|
||||
"selectMic": "Microfone",
|
||||
"startAudioMuted": "Todos iniciam mudos",
|
||||
"startVideoMuted": "Todos iniciam ocultos",
|
||||
"title": "Configurações"
|
||||
},
|
||||
"settingsView": {
|
||||
"advanced": "",
|
||||
"alertOk": "OK",
|
||||
"alertTitle": "Atenção",
|
||||
"alertURLText": "A URL digitada do servidor é inválida",
|
||||
"buildInfoSection": "Informações de compilação",
|
||||
"conferenceSection": "Conferência",
|
||||
"disableCallIntegration": "",
|
||||
"disableP2P": "",
|
||||
"displayName": "Nome de exibição",
|
||||
"email": "E-mail",
|
||||
"header": "Configurações",
|
||||
"profileSection": "Perfil",
|
||||
"serverURL": "URL do servidor",
|
||||
"showAdvanced": "",
|
||||
"startWithAudioMuted": "Iniciar sem áudio",
|
||||
"startWithVideoMuted": "Iniciar sem vídeo",
|
||||
"version": "Versão"
|
||||
},
|
||||
"share": {
|
||||
"dialInfoText": "\n\n=====\n\nDeseja apenas discar no seu telefone?\n\n{{defaultDialInNumber}}Clique neste link para ver os números de telefone para esta reunião\n{{dialInfoPageUrl}}",
|
||||
"mainText": "Clique no seguinte link para entrar na reunião:{{roomUrl}}\n"
|
||||
},
|
||||
"speaker": "Alto-falantes",
|
||||
"speakerStats": {
|
||||
"hours": "{{count}}h",
|
||||
"minutes": "{{count}}m",
|
||||
"name": "Nome",
|
||||
"seconds": "{{count}}s",
|
||||
"speakerStats": "Estatísticas do Apresentador",
|
||||
"speakerTime": "Tempo do Apresentador"
|
||||
},
|
||||
"startupoverlay": {
|
||||
"policyText": " ",
|
||||
"title": "O {{app}} precisa usar seu microfone e câmera."
|
||||
},
|
||||
"suspendedoverlay": {
|
||||
"rejoinKeyTitle": "Reconectar",
|
||||
"text": "Pressione o botão <i>Reentrar</i> para reconectar.",
|
||||
"title": "Sua chamada de vídeo foi interrompida, porque seu computador foi dormir."
|
||||
},
|
||||
"toolbar": {
|
||||
"accessibilityLabel": {
|
||||
"audioOnly": "Alternar para apenas áudio",
|
||||
"audioRoute": "Selecionar o dispositivo de som",
|
||||
"callQuality": "Gerenciar qualidade do vídeo",
|
||||
"cc": "Alternar legendas",
|
||||
"chat": "Alternar para janela de chat",
|
||||
"document": "Alternar para documento compartilhado",
|
||||
"download": "Baixe nossos aplicativos",
|
||||
"feedback": "Deixar feedback",
|
||||
"fullScreen": "Alternar para tela cheia",
|
||||
"hangup": "Sair da chamada",
|
||||
"help": "Ajuda",
|
||||
"invite": "Convidar pessoas",
|
||||
"kick": "Remover participante",
|
||||
"localRecording": "Alternar controles de gravação local",
|
||||
"lockRoom": "Ativar/desativar senha de reunião",
|
||||
"moreActions": "Alternar mais menu de ações",
|
||||
"moreActionsMenu": "Menu de mais ações",
|
||||
"mute": "Alternar mudo do áudio",
|
||||
"pip": "Alternar modo Picture-in-Picture",
|
||||
"privateMessage": "Enviar mensagem privada",
|
||||
"profile": "Editar seu perfil",
|
||||
"raiseHand": "Alternar levantar a mão",
|
||||
"recording": "Alternar gravação",
|
||||
"remoteMute": "Silenciar participante",
|
||||
"Settings": "Alternar configurações",
|
||||
"sharedvideo": "Alternar compartilhamento de vídeo do Youtube",
|
||||
"shareRoom": "Convidar alguém",
|
||||
"shareYourScreen": "Alternar compartilhamento de tela",
|
||||
"shortcuts": "Alternar atalhos",
|
||||
"show": "Mostrar no palco",
|
||||
"speakerStats": "Alternar estatísticas do apresentador",
|
||||
"tileView": "Alternar visualização em blocos",
|
||||
"toggleCamera": "Alternar câmera",
|
||||
"videomute": "Alternar mudo do vídeo",
|
||||
"videoblur": "Alternar desfoque de vídeo"
|
||||
},
|
||||
"addPeople": "Adicionar pessoas à sua chamada",
|
||||
"audioOnlyOff": "Desabilitar modo de largura de banda baixa",
|
||||
"audioOnlyOn": "Habilitar modo de largura de banda baixa",
|
||||
"audioRoute": "Selecionar o dispositivo de som",
|
||||
"authenticate": "Autenticar",
|
||||
"callQuality": "Gerenciar qualidade do vídeo",
|
||||
"chat": "Abrir ou fechar o bate-papo",
|
||||
"closeChat": "Fechar chat",
|
||||
"documentClose": "Fechar documento compartilhado",
|
||||
"documentOpen": "Abrir documento compartilhado",
|
||||
"download": "Baixe nossos aplicativos",
|
||||
"enterFullScreen": "Ver em tela cheia",
|
||||
"enterTileView": "Entrar em exibição de bloco",
|
||||
"exitFullScreen": "Sair da tela cheia",
|
||||
"exitTileView": "Sair de exibição de bloco",
|
||||
"feedback": "Deixar feedback",
|
||||
"hangup": "Sair",
|
||||
"help": "Ajuda",
|
||||
"invite": "Convidar pessoas",
|
||||
"login": "Iniciar sessão",
|
||||
"logout": "Encerrar sessão",
|
||||
"lowerYourHand": "Baixar a mão",
|
||||
"moreActions": "Mais ações",
|
||||
"mute": "Mudo / Não mudo",
|
||||
"noAudioSignalTitle": "",
|
||||
"noAudioSignalDesc": "",
|
||||
"noAudioSignalDescSuggestion": "",
|
||||
"openChat": "Abrir chat",
|
||||
"pip": "Entrar em modo Quadro-a-Quadro",
|
||||
"privateMessage": "Enviar mensagem privada",
|
||||
"profile": "Editar seu perfil",
|
||||
"raiseHand": "Erguer / Baixar sua mão",
|
||||
"raiseYourHand": "Levantar a mão",
|
||||
"Settings": "Configurações",
|
||||
"sharedvideo": "Compartilhar um vídeo do YouTube",
|
||||
"shareRoom": "Convidar alguém",
|
||||
"shortcuts": "Ver atalhos",
|
||||
"speakerStats": "Estatísticas do Apresentador",
|
||||
"startScreenSharing": "Iniciar compart. de tela",
|
||||
"startSubtitles": "Iniciar legendas",
|
||||
"stopScreenSharing": "Parar compart. de tela",
|
||||
"stopSubtitles": "Parar legendas",
|
||||
"stopSharedVideo": "Parar vídeo do YouTube",
|
||||
"talkWhileMutedPopup": "Tentando falar? Você está em mudo.",
|
||||
"tileViewToggle": "Alternar visualização em blocos",
|
||||
"toggleCamera": "Alternar câmera",
|
||||
"videomute": "Iniciar ou parar a câmera",
|
||||
"startvideoblur": "Desfocar meu plano de fundo",
|
||||
"stopvideoblur": "Desativar desfoque de fundo"
|
||||
},
|
||||
"transcribing": {
|
||||
"ccButtonTooltip": "Iniciar/parar legendas",
|
||||
"error": "Transcrição falhou. Tente novamente.",
|
||||
"expandedLabel": "Transcrição ativada",
|
||||
"failedToStart": "Transcrição falhou ao iniciar",
|
||||
"labelToolTip": "A reunião esta sendo transcrita",
|
||||
"off": "Transcrição parada",
|
||||
"pending": "Preparando a transcrição da reunião...",
|
||||
"start": "Exibir legendas",
|
||||
"stop": "Não exibir legendas",
|
||||
"tr": "TR"
|
||||
},
|
||||
"userMedia": {
|
||||
"androidGrantPermissions": "Selecione <b><i>Permitir</i></b> quando seu navegador perguntar pelas permissões.",
|
||||
"chromeGrantPermissions": "Selecione <b><i>Permitir</i></b> quando seu navegador perguntar pelas permissões.",
|
||||
"edgeGrantPermissions": "Selecione <b><i>Sim</i></b> quando seu navegador perguntar pelas permissões.",
|
||||
"electronGrantPermissions": "Dê as permissões para usar sua câmera e microfone",
|
||||
"firefoxGrantPermissions": "Selecione <b><i>Compartilhar Dispositivos Selecionados</i></b> quando seu navegador perguntar pelas permissões.",
|
||||
"iexplorerGrantPermissions": "Selecione <b><i>OK</i></b> quando seu navegador perguntar pelas permissões.",
|
||||
"nwjsGrantPermissions": "Dê as permissões para usar sua câmera e microfone",
|
||||
"operaGrantPermissions": "Selecione <b><i>Permitir</i></b> quando seu navegador perguntar pelas permissões.",
|
||||
"react-nativeGrantPermissions": "Selecione <b><i>Permitir</i></b> quando seu navegador perguntar pelas permissões.",
|
||||
"safariGrantPermissions": "Selecione <b><i>OK</i></b> quando seu navegador perguntar pelas permissões."
|
||||
},
|
||||
"videoSIPGW": {
|
||||
"busy": "Estamos trabalhando para liberar recursos. Por favor, tente novamente em alguns minutos.",
|
||||
"busyTitle": "O serviço da sala está ocupado",
|
||||
"errorAlreadyInvited": "{{displayName}} já convidado",
|
||||
"errorInvite": "A conferência ainda não foi estabelecida. Por favor, tente mais tarde.",
|
||||
"errorInviteFailed": "Estamos trabalhando para resolver o problema. Por favor, tente mais tarde.",
|
||||
"errorInviteFailedTitle": "Convite para {{displayName}} falhou",
|
||||
"errorInviteTitle": "Erro no convite da sala",
|
||||
"pending": "{{displayName}} foi convidado"
|
||||
},
|
||||
"videoStatus": {
|
||||
"audioOnly": "AUD",
|
||||
"audioOnlyExpanded": "Você está em modo de banda baixa. Neste modo, se recebe somente áudio e compartilhamento de tela.",
|
||||
"callQuality": "Qualidade de vídeo",
|
||||
"hd": "HD",
|
||||
"hdTooltip": "Ver vídeo em alta definição",
|
||||
"highDefinition": "Alta definição (HD)",
|
||||
"labelTooiltipNoVideo": "Sem vídeo",
|
||||
"labelTooltipAudioOnly": "Modo de largura de banda baixa habilitada",
|
||||
"ld": "LD",
|
||||
"ldTooltip": "Ver vídeo em baixa definição",
|
||||
"lowDefinition": "Baixa definição (LD)",
|
||||
"onlyAudioAvailable": "Somente áudio disponível",
|
||||
"onlyAudioSupported": "Suportamos somente áudio neste navegador.",
|
||||
"p2pEnabled": "Ponto-a-ponto habilitada",
|
||||
"p2pVideoQualityDescription": "No modo ponto a ponto, a qualidade do vídeo recebido só pode ser alternada entre alta e apenas áudio. Outras configurações não serão respeitadas até que o ponto a ponto seja encerrado.",
|
||||
"recHighDefinitionOnly": "Preferência para alta definição",
|
||||
"sd": "SD",
|
||||
"sdTooltip": "Ver vídeo em definição padrão",
|
||||
"standardDefinition": "Definição padrão"
|
||||
},
|
||||
"videothumbnail": {
|
||||
"domute": "Mudo",
|
||||
"flip": "Inverter",
|
||||
"kick": "Expulsar",
|
||||
"moderator": "Moderador",
|
||||
"mute": "Participante está mudo",
|
||||
"muted": "Mudo",
|
||||
"remoteControl": "Controle remoto",
|
||||
"show": "Mostrar no palco",
|
||||
"videomute": "O participante parou a câmera"
|
||||
},
|
||||
"welcomepage": {
|
||||
"accessibilityLabel": {
|
||||
"join": "Toque para entrar",
|
||||
"roomname": "Digite o nome da sala"
|
||||
},
|
||||
"appDescription": "Vá em frente, converse por vídeo com toda a equipe. De fato, convide todos que você conhece. {{app}} é uma solução de videoconferência totalmente criptografada e 100% de código aberto que você pode usar todos os dias, a cada dia, gratuitamente — sem necessidade de conta.",
|
||||
"audioVideoSwitch": {
|
||||
"audio": "Voz",
|
||||
"video": "Vídeo"
|
||||
},
|
||||
"calendar": "Calendário",
|
||||
"connectCalendarButton": "Conectar seu calendário",
|
||||
"connectCalendarText": "Conecte seu calendário para ver todas as reuniões em {{app}}. Além disso, adicione reuniões de {{provider}} ao seu calendário e inicie-as com apenas um clique.",
|
||||
"enterRoomTitle": "Iniciar uma nova reunião",
|
||||
"roomNameAllowedChars": "Nome da reunião não deve conter qualquer um destes caracteres: ?. &, :, ', \", %, #.",
|
||||
"go": "IR",
|
||||
"goSmall": "IR",
|
||||
"join": "",
|
||||
"info": "Informações",
|
||||
"privacy": "Política de Privacidade",
|
||||
"recentList": "Recente",
|
||||
"recentListDelete": "Remover",
|
||||
"recentListEmpty": "Sua lista recente está vazia. As reuniões que você realizar serão exibidas aqui.",
|
||||
"reducedUIText": "Bem-vindo ao {{app}}!",
|
||||
"roomname": "Digite o nome da sala",
|
||||
"roomnameHint": "Digite o nome ou a URL da sala que você deseja entrar. Você pode digitar um nome, e apenas deixe para as pessoas que você quer se reunir digitem o mesmo nome.",
|
||||
"sendFeedback": "Enviar comentários",
|
||||
"terms": "Termos",
|
||||
"title": "Videoconferências mais seguras, flexíveis e totalmente gratuitas"
|
||||
}
|
||||
}
|
||||
@@ -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",
|
||||
|
||||
1047
lang/main-sk.json
1047
lang/main-sk.json
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@@ -299,7 +299,7 @@
|
||||
"dialANumber": "若要加入会议,请拨打其中一个号码,然后输入pin码。",
|
||||
"dialInConferenceID": "PIN:",
|
||||
"dialInNotSupported": "抱歉,不支持电话呼入。",
|
||||
"dialInNumber": "播入:",
|
||||
"dialInNumber": "拨入:",
|
||||
"dialInSummaryError": "获取拨入信息时出错。请稍后再试。",
|
||||
"dialInTollFree": "免费电话",
|
||||
"genericError": "糟糕!出错了。",
|
||||
@@ -748,4 +748,4 @@
|
||||
"terms": "条款",
|
||||
"title": "安全,功能完善和完全开源的视频会议"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -47,10 +47,10 @@
|
||||
},
|
||||
"chat": {
|
||||
"error": "錯誤:您的訊息未被傳送。原因: {{error}}",
|
||||
"fieldPlaceHolder": "",
|
||||
"fieldPlaceHolder": "在此輸入您的訊息",
|
||||
"messagebox": "輸入訊息",
|
||||
"messageTo": "私人訊息傳送至 {{recipient}}",
|
||||
"noMessagesMessage": "",
|
||||
"noMessagesMessage": "會議中還沒有訊息。在此開始對話!",
|
||||
"nickname": {
|
||||
"popover": "選擇名稱",
|
||||
"title": "輸入名稱來使用交談"
|
||||
@@ -72,7 +72,11 @@
|
||||
"DISCONNECTED": "已經中斷連接",
|
||||
"DISCONNECTING": "中斷連接中",
|
||||
"ERROR": "錯誤",
|
||||
"RECONNECTING": "網路發生問題。重新連線中........."
|
||||
"RECONNECTING": "網路發生問題。重新連線中.........",
|
||||
"GOT_SESSION_ID": "正在取得 session-id… 完成",
|
||||
"GET_SESSION_ID_ERROR": "取得 session-id 時發生錯誤:{{code}}",
|
||||
"FETCH_SESSION_ID": "正在取得 session-id…",
|
||||
"LOW_BANDWIDTH": "已關閉 {{displayName}} 的影片以節省流量"
|
||||
},
|
||||
"connectionindicator": {
|
||||
"address": "位址:",
|
||||
@@ -97,7 +101,13 @@
|
||||
"remoteport": "遠端端口:",
|
||||
"resolution": "解析度:",
|
||||
"status": "連接:",
|
||||
"transport": "傳輸:"
|
||||
"transport": "傳輸:",
|
||||
"transport_plural": "傳輸:",
|
||||
"remoteport_plural": "遠端連線埠:",
|
||||
"remoteaddress_plural": "遠端位址:",
|
||||
"localport_plural": "本機連線埠:",
|
||||
"localaddress_plural": "本機位址:",
|
||||
"e2e_rtt": "E2E RTT:"
|
||||
},
|
||||
"dateUtils": {
|
||||
"earlier": "稍早",
|
||||
@@ -199,8 +209,8 @@
|
||||
"muteParticipantButton": "靜音",
|
||||
"muteParticipantDialog": "確定要將這位參與者設為靜音?您無法為他們解除,但他們可以隨時自行解除靜音。",
|
||||
"muteParticipantTitle": "將這位參與者設為靜音?",
|
||||
"Ok": "OK",
|
||||
"passwordLabel": "$t(lockRoomPasswordUppercase)",
|
||||
"Ok": "確定",
|
||||
"passwordLabel": "會議已被參與者鎖定。請輸入 $t(lockRoomPassword) 以加入。",
|
||||
"passwordNotSupported": "設置會議密碼 $t(lockRoomPassword) 尚未支援 。",
|
||||
"passwordNotSupportedTitle": "$t(lockRoomPasswordUppercase) 尚未支援",
|
||||
"passwordRequired": "$t(lockRoomPasswordUppercase) 必須要有",
|
||||
@@ -226,7 +236,7 @@
|
||||
"retry": "重試",
|
||||
"screenSharingFailedToInstall": "喔哦!螢幕分享擴充程式安裝失敗。",
|
||||
"screenSharingFailedToInstallTitle": "螢幕分享擴充安裝失敗",
|
||||
"screenSharingFirefoxPermissionDeniedError": "嘗試進行螢幕分享時遇到問題。請確認您有將權限允許。",
|
||||
"screenSharingFirefoxPermissionDeniedError": "嘗試進行螢幕分享時遇到問題。請確認您有授予權限以分享。 ",
|
||||
"screenSharingFirefoxPermissionDeniedTitle": "喔哦!我們無法啟動螢幕分享!",
|
||||
"screenSharingPermissionDeniedError": "噢喔!您的影像分享擴充權限發生問題。請重新載入,再試一次。",
|
||||
"sendPrivateMessage": "您最近有收到私人訊息。您要進行私人回覆,或是要將自己的訊息發佈至群組?",
|
||||
@@ -255,13 +265,20 @@
|
||||
"tokenAuthFailed": "抱歉,您未被允許加入此會議。",
|
||||
"tokenAuthFailedTitle": "認證失敗",
|
||||
"transcribing": "轉錄中",
|
||||
"unlockRoom": "移除會議 $t(lockRoomPassword)",
|
||||
"unlockRoom": "移除會議 $t(lockRoomPassword)",
|
||||
"userPassword": "用戶密碼",
|
||||
"WaitForHostMsg": "此會議 <b>{{room}}</b> 尚未啟動。如果您是會議主人,請進行認證;否者,請等待會議主人到達。",
|
||||
"WaitForHostMsgWOk": "此會議 <b>{{room}}</b> 尚未啟動。如果您是會議主人,請按 OK 進行認證;否者,請等待會議主人到達。",
|
||||
"WaitForHostMsgWOk": "此會議 <b>{{room}}</b> 尚未啟動。如果您是會議主人,請按 [確定] 進行認證;否者,請等待會議主人到達。",
|
||||
"WaitingForHost": "等侯主辦人 ...",
|
||||
"Yes": "是的",
|
||||
"yourEntireScreen": "自己的全螢幕"
|
||||
"yourEntireScreen": "自己的全螢幕",
|
||||
"screenSharingAudio": "分享音訊",
|
||||
"muteEveryoneStartMuted": "現在所有人皆已靜音",
|
||||
"muteEveryoneSelf": "您自己",
|
||||
"muteEveryoneTitle": "靜音所有人?",
|
||||
"muteEveryoneDialog": "是否要靜音所有人?您將不能解除對方的靜音,但對方可以隨時解除自己的靜音狀態。",
|
||||
"muteEveryoneElseTitle": "是否要讓除了 {{whom}} 以外的人靜音?",
|
||||
"muteEveryoneElseDialog": "靜音後,你就不能再解除對方的靜音,但對方可以隨時解除自己的靜音狀態。"
|
||||
},
|
||||
"dialOut": {
|
||||
"statusMessage": "現在狀態為 {{status}}"
|
||||
@@ -293,8 +310,8 @@
|
||||
"country": "國家",
|
||||
"dialANumber": "要參加您的會議,撥打以下號碼其中之一,然後輸入 PIN 碼。",
|
||||
"dialInConferenceID": "PIN 號碼:",
|
||||
"dialInNotSupported": "抱歉,目前不支援電話播入。",
|
||||
"dialInNumber": "播入:",
|
||||
"dialInNotSupported": "抱歉,目前不支援電話撥入。",
|
||||
"dialInNumber": "撥入:",
|
||||
"dialInSummaryError": "目前解析撥入資訊錯誤。請稍後再試一次。",
|
||||
"dialInTollFree": "完全免費",
|
||||
"genericError": "糟糕!出錯了。",
|
||||
@@ -302,17 +319,17 @@
|
||||
"invitePhone": "要用電話參加會議,請使用: {{number}},,{{conferenceID}}#\n",
|
||||
"invitePhoneAlternatives": "要找另一組撥入號碼?\n請見會議撥入號碼: {{url}}\n\n\n如果也要用室內電話撥打,不用連接語音進行加入: {{silentUrl}}",
|
||||
"inviteURLFirstPartGeneral": "您受邀參加會議。",
|
||||
"inviteURLFirstPartPersonal": "{{name}} 正在邀請您加入會議。\n",
|
||||
"inviteURLFirstPartPersonal": "{{name}} 正在邀請您加入會議。\n",
|
||||
"inviteURLSecondPart": "\n加入會議:\n{{url}}\n",
|
||||
"liveStreamURL": "直播串流:",
|
||||
"moreNumbers": "更多成員",
|
||||
"noNumbers": "無播入號碼。",
|
||||
"noNumbers": "無撥入號碼。",
|
||||
"noPassword": "無",
|
||||
"noRoom": "沒有會議室是指定要播打進入。",
|
||||
"numbers": "播入號碼",
|
||||
"password": "$t(lockRoomPasswordUppercase):",
|
||||
"numbers": "撥入號碼",
|
||||
"password": "$t(lockRoomPasswordUppercase):",
|
||||
"title": "分享",
|
||||
"tooltip": "顯示此會議的連結及電話播入號碼",
|
||||
"tooltip": "顯示此會議的連結及電話撥入號碼",
|
||||
"label": "會議資訊"
|
||||
},
|
||||
"inviteDialog": {
|
||||
@@ -363,9 +380,9 @@
|
||||
"getStreamKeyManually": "我們無法解析任何直播串流,請從 YouTube 取得您的直播串流 Key 。",
|
||||
"invalidStreamKey": "直播串流 Key 可能不正確。",
|
||||
"off": "直播串流已經停止",
|
||||
"offBy": "{{name}} 停止了直播串流",
|
||||
"offBy": "{{name}} 停止了直播串流",
|
||||
"on": "直播串流中",
|
||||
"onBy": "{{name}} 啟動了直播串流",
|
||||
"onBy": "{{name}} 啟動了直播串流",
|
||||
"pending": "啟動直播串流...",
|
||||
"serviceName": "直播串流服務",
|
||||
"signedInAs": "您目前登入名稱為:",
|
||||
@@ -374,7 +391,9 @@
|
||||
"signOut": "登出",
|
||||
"start": "啟動直播串流",
|
||||
"streamIdHelp": "這是什麼?",
|
||||
"unavailableTitle": "直播串流無法使用"
|
||||
"unavailableTitle": "直播串流無法使用",
|
||||
"googlePrivacyPolicy": "Google 隱私權政策",
|
||||
"youtubeTerms": "YouTube 服務條款"
|
||||
},
|
||||
"localRecording": {
|
||||
"clientState": {
|
||||
@@ -400,7 +419,7 @@
|
||||
"no": "否",
|
||||
"participant": "參與者",
|
||||
"participantStats": "參與者狀態",
|
||||
"sessionToken": "階段標記",
|
||||
"sessionToken": "工作階段標記",
|
||||
"start": "啟動錄影",
|
||||
"stop": "停止錄影",
|
||||
"yes": "是的"
|
||||
@@ -409,7 +428,7 @@
|
||||
"lockRoomPasswordUppercase": "密碼",
|
||||
"me": "我",
|
||||
"notify": {
|
||||
"connectedOneMember": "{{name}} 加入了會議",
|
||||
"connectedOneMember": "{{name}} 加入了會議",
|
||||
"connectedThreePlusMembers": "{{name}} 及 {{count}} 位人員加入了會議",
|
||||
"connectedTwoMembers": "{{first}} 及 {{second}} 加入了會議",
|
||||
"disconnected": "已經中斷連接",
|
||||
@@ -514,30 +533,32 @@
|
||||
"selectMic": "麥克風",
|
||||
"startAudioMuted": "全部人啟動時處於靜音",
|
||||
"startVideoMuted": "全部人啟動時處於隱藏",
|
||||
"title": "設置"
|
||||
"title": "設置",
|
||||
"speakers": "揚聲器",
|
||||
"microphones": "麥克風"
|
||||
},
|
||||
"settingsView": {
|
||||
"advanced": "",
|
||||
"alertOk": "OK",
|
||||
"advanced": "進階",
|
||||
"alertOk": "確定",
|
||||
"alertTitle": "警告",
|
||||
"alertURLText": "所輸入的伺服器 URL 是無效的",
|
||||
"buildInfoSection": "建立資訊",
|
||||
"conferenceSection": "會議",
|
||||
"disableCallIntegration": "",
|
||||
"disableP2P": "",
|
||||
"disableCallIntegration": "停用原生電話整合",
|
||||
"disableP2P": "停用端對端模式",
|
||||
"displayName": "顯示名稱",
|
||||
"email": "電子郵件",
|
||||
"header": "設置",
|
||||
"profileSection": "簡介",
|
||||
"serverURL": "伺服器 URL",
|
||||
"showAdvanced": "",
|
||||
"showAdvanced": "顯示進階設定",
|
||||
"startWithAudioMuted": "啟動並靜音",
|
||||
"startWithVideoMuted": "啟動並關閉影像",
|
||||
"version": "版本"
|
||||
},
|
||||
"share": {
|
||||
"dialInfoText": "\n\n=====\n\n正要撥入您的會議電話?\n\n{{defaultDialInNumber}} 點按此連結來查看此會議的電話撥入號碼\n{{dialInfoPageUrl}}",
|
||||
"mainText": "點按以下連結參加會議:{{roomUrl}}\n"
|
||||
"mainText": "按一下下方連結加入會議:\n{{roomUrl}}"
|
||||
},
|
||||
"speaker": "發言者",
|
||||
"speakerStats": {
|
||||
@@ -593,7 +614,10 @@
|
||||
"tileView": "切換平鋪檢視",
|
||||
"toggleCamera": "切換攝影機",
|
||||
"videomute": "切換無影像",
|
||||
"videoblur": "切換影像模糊"
|
||||
"videoblur": "切換影像模糊",
|
||||
"toggleFilmstrip": "切換幻燈片",
|
||||
"muteEveryone": "靜音所有人",
|
||||
"moreOptions": "顯示更多選項"
|
||||
},
|
||||
"addPeople": "新增人員到您的通話中",
|
||||
"audioOnlyOff": "停用低頻寬模式",
|
||||
@@ -619,9 +643,9 @@
|
||||
"lowerYourHand": "放下舉手",
|
||||
"moreActions": "更多動作",
|
||||
"mute": "靜音 / 解除靜音",
|
||||
"noAudioSignalTitle": "",
|
||||
"noAudioSignalDesc": "",
|
||||
"noAudioSignalDescSuggestion": "",
|
||||
"noAudioSignalTitle": "您的麥克風沒有輸入訊號!",
|
||||
"noAudioSignalDesc": "如果您沒有特別從系統設定或硬體靜音,請考慮更換裝置。",
|
||||
"noAudioSignalDescSuggestion": "如果您沒有特別從系統設定或硬體靜音,請考慮切換至建議裝置。",
|
||||
"openChat": "開啟交談",
|
||||
"pip": "進入子母畫面模式",
|
||||
"privateMessage": "發送私人訊息",
|
||||
@@ -643,7 +667,13 @@
|
||||
"toggleCamera": "切換攝影機",
|
||||
"videomute": "啟動/停止 攝影裝置",
|
||||
"startvideoblur": "模糊我的背景畫面",
|
||||
"stopvideoblur": "停用背景模糊畫面"
|
||||
"stopvideoblur": "停用背景模糊畫面",
|
||||
"noisyAudioInputDesc": "噪音聽起來是從麥克風傳來的,請考慮靜音或更換裝置。",
|
||||
"noisyAudioInputTitle": "您的麥克風疑似有雜音!",
|
||||
"noAudioSignalDialInLinkDesc": "撥入號碼",
|
||||
"noAudioSignalDialInDesc": "您亦可使用下述方式撥入:",
|
||||
"muteEveryone": "靜音所有人",
|
||||
"moreOptions": "更多選項"
|
||||
},
|
||||
"transcribing": {
|
||||
"ccButtonTooltip": "啟動/停止 字幕",
|
||||
@@ -658,16 +688,16 @@
|
||||
"tr": "TR 轉錄"
|
||||
},
|
||||
"userMedia": {
|
||||
"androidGrantPermissions": "當瀏覽器要求權限允許時,請選擇 <b><i>允許</i></b>",
|
||||
"chromeGrantPermissions": "當瀏覽器要求權限允許時,請選擇 <b><i>允許</i></b>",
|
||||
"edgeGrantPermissions": "當瀏覽器要求權限允許時,請選擇 <b><i>是的</i></b>",
|
||||
"androidGrantPermissions": "當瀏覽器要求權限時,請選擇 <b><i>允許</i></b>。",
|
||||
"chromeGrantPermissions": "當瀏覽器要求權限時,請選擇 <b><i>允許</i></b>。",
|
||||
"edgeGrantPermissions": "當瀏覽器要求權限時,請選擇 <b><i>是的</i></b>。",
|
||||
"electronGrantPermissions": "請允許權限使用您的攝影裝置和麥克風",
|
||||
"firefoxGrantPermissions": "當瀏覽器要求權限允許時,請選擇<b><i>分享裝置</i></b> ",
|
||||
"iexplorerGrantPermissions": "當瀏覽器要求權限允許時,請選擇 <b><i>OK</i></b>",
|
||||
"firefoxGrantPermissions": "當瀏覽器請求權限時,請選擇<b><i>分享選取裝置</i></b>。",
|
||||
"iexplorerGrantPermissions": "當瀏覽器要求權限時,請選擇 <b><i>確定</i></b>。",
|
||||
"nwjsGrantPermissions": "請允許權限使用您的攝影裝置和麥克風",
|
||||
"operaGrantPermissions": "當瀏覽器要求權限允許時,請選擇 <b><i>允許</i></b>",
|
||||
"react-nativeGrantPermissions": "當瀏覽器要求權限允許時,請選擇 <b><i>允許</i></b>",
|
||||
"safariGrantPermissions": "當瀏覽器要求權限允許時,請選擇 <b><i>OK</i></b>"
|
||||
"operaGrantPermissions": "當瀏覽器要求權限時,請選擇 <b><i>允許</i></b>。",
|
||||
"react-nativeGrantPermissions": "當瀏覽器要求權限時,請選擇 <b><i>允許</i></b>。",
|
||||
"safariGrantPermissions": "當瀏覽器要求權限時,請選擇 <b><i>確定</i></b>。"
|
||||
},
|
||||
"videoSIPGW": {
|
||||
"busy": "我們正在清理釋放資源。請過幾分鐘後再試。",
|
||||
@@ -709,7 +739,8 @@
|
||||
"muted": "處於靜音",
|
||||
"remoteControl": "遠端控制",
|
||||
"show": "顯示在台上",
|
||||
"videomute": "參與者已經停止攝影裝置"
|
||||
"videomute": "參與者已經停止攝影裝置",
|
||||
"domuteOthers": "靜音其他所有人"
|
||||
},
|
||||
"welcomepage": {
|
||||
"accessibilityLabel": {
|
||||
@@ -728,7 +759,7 @@
|
||||
"roomNameAllowedChars": "會議的名稱不可包含這些字元: ?, &, :, ', \", %, #.",
|
||||
"go": "開始",
|
||||
"goSmall": "開始",
|
||||
"join": "",
|
||||
"join": "建立 / 加入",
|
||||
"info": "資訊",
|
||||
"privacy": "隱私",
|
||||
"recentList": "最近使用",
|
||||
@@ -739,6 +770,19 @@
|
||||
"roomnameHint": "請輸入您想加入的會議室名稱或 URL 網址。您可以用個名稱來建立會議室,只要其他人輸入相同的名稱就能加入會議室喔。",
|
||||
"sendFeedback": "發送回報",
|
||||
"terms": "條款",
|
||||
"title": "安全、全功能、完全免費的視訊會議"
|
||||
"title": "安全、全功能、完全免費的視訊會議",
|
||||
"getHelp": "取得協助"
|
||||
},
|
||||
"chromeExtensionBanner": {
|
||||
"dontShowAgain": "不再顯示此訊息",
|
||||
"buttonText": "安裝 Chrome 擴充套件",
|
||||
"installExtensionText": "安裝適用於 Google 行事曆及 Office 365 整合的擴充套件"
|
||||
},
|
||||
"helpView": {
|
||||
"header": "說明中心"
|
||||
},
|
||||
"lonelyMeetingExperience": {
|
||||
"youAreAlone": "您是會議中的唯一一個人",
|
||||
"button": "邀請其他人"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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",
|
||||
|
||||
@@ -189,6 +189,7 @@ export default class SmallVideo {
|
||||
|
||||
if (isVideo) {
|
||||
element.setAttribute('muted', 'true');
|
||||
element.setAttribute('playsInline', 'true'); /* for Safari on iOS to work */
|
||||
} else if (config.startSilent) {
|
||||
element.muted = true;
|
||||
}
|
||||
|
||||
@@ -635,7 +635,7 @@ export class VideoContainer extends LargeContainer {
|
||||
// explicitly disabled.
|
||||
if (interfaceConfig.DISABLE_VIDEO_BACKGROUND
|
||||
|| browser.isFirefox()
|
||||
|| browser.isSafariWithWebrtc()) {
|
||||
|| browser.isSafari()) {
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
48
package-lock.json
generated
48
package-lock.json
generated
@@ -2833,17 +2833,18 @@
|
||||
}
|
||||
},
|
||||
"@jitsi/sdp-interop": {
|
||||
"version": "0.1.14",
|
||||
"resolved": "https://registry.npmjs.org/@jitsi/sdp-interop/-/sdp-interop-0.1.14.tgz",
|
||||
"integrity": "sha512-v60VAtBx9LO46c9In9oMNY+Ho5993UMOLHBg6VcrcyoVTIWIeqs/9YjjmrQ3Sf4I5aMRABNl7HTby/1lHcqFJw==",
|
||||
"version": "1.0.1",
|
||||
"resolved": "https://registry.npmjs.org/@jitsi/sdp-interop/-/sdp-interop-1.0.1.tgz",
|
||||
"integrity": "sha512-OJm8IYsJKCYJBlC0geRHm2VHi8ow2k/3wOZ7n0lEOBfV6RWghZQzQWHdT/qrkbXB2EHcm40Oy91a5Bfz2m6ydA==",
|
||||
"requires": {
|
||||
"lodash.clonedeep": "4.5.0",
|
||||
"sdp-transform": "2.3.0"
|
||||
}
|
||||
},
|
||||
"@jitsi/sdp-simulcast": {
|
||||
"version": "0.2.2",
|
||||
"resolved": "https://registry.npmjs.org/@jitsi/sdp-simulcast/-/sdp-simulcast-0.2.2.tgz",
|
||||
"integrity": "sha512-zQt9DRnG/wn7bQg3nat0+G2yptBtuZuQN0iG5LHy4/wedyzV7HjEE73Zod69i7boZlRgvdjyexoaiwisrj9knw==",
|
||||
"version": "0.3.0",
|
||||
"resolved": "https://registry.npmjs.org/@jitsi/sdp-simulcast/-/sdp-simulcast-0.3.0.tgz",
|
||||
"integrity": "sha512-lxHfIWgTvdVY7F7BOcC3OaFvyvLsQJVRBCQvfmz4/Pk21/FdCyeBW4gv9ogfxxisjarU8gPX7/up4Z3C17wuXw==",
|
||||
"requires": {
|
||||
"sdp-transform": "2.3.0"
|
||||
}
|
||||
@@ -10653,8 +10654,8 @@
|
||||
"integrity": "sha1-mGbfOVECEw449/mWvOtlRDIJwls="
|
||||
},
|
||||
"js-utils": {
|
||||
"version": "github:jitsi/js-utils#0b2cef90613a74777fefd98d4ee3eda3879809ab",
|
||||
"from": "github:jitsi/js-utils#0b2cef90613a74777fefd98d4ee3eda3879809ab",
|
||||
"version": "github:jitsi/js-utils#df68966e3c65b5c57fcd2670da1326a2c77518d1",
|
||||
"from": "github:jitsi/js-utils#df68966e3c65b5c57fcd2670da1326a2c77518d1",
|
||||
"requires": {
|
||||
"bowser": "2.7.0",
|
||||
"js-md5": "0.7.3",
|
||||
@@ -10883,37 +10884,21 @@
|
||||
}
|
||||
},
|
||||
"lib-jitsi-meet": {
|
||||
"version": "github:jitsi/lib-jitsi-meet#d2155878aae350f82b83c491bffd69f94711e1ae",
|
||||
"from": "github:jitsi/lib-jitsi-meet#d2155878aae350f82b83c491bffd69f94711e1ae",
|
||||
"version": "github:jitsi/lib-jitsi-meet#4870efe4593fdd2819d7a41ada835d1c26c292ab",
|
||||
"from": "github:jitsi/lib-jitsi-meet#4870efe4593fdd2819d7a41ada835d1c26c292ab",
|
||||
"requires": {
|
||||
"@jitsi/sdp-interop": "0.1.14",
|
||||
"@jitsi/sdp-simulcast": "0.2.2",
|
||||
"@jitsi/sdp-interop": "1.0.1",
|
||||
"@jitsi/sdp-simulcast": "0.3.0",
|
||||
"async": "0.9.0",
|
||||
"current-executing-script": "0.1.3",
|
||||
"jitsi-meet-logger": "github:jitsi/jitsi-meet-logger#5ec92357570dc8f0b7ffc1528820721c84c6af8b",
|
||||
"js-utils": "github:jitsi/js-utils#8567f86ec2774ae1d1c47b22e3435928cf5d9771",
|
||||
"js-utils": "github:jitsi/js-utils#df68966e3c65b5c57fcd2670da1326a2c77518d1",
|
||||
"lodash.isequal": "4.5.0",
|
||||
"sdp-transform": "2.3.0",
|
||||
"strophe.js": "1.3.4",
|
||||
"strophejs-plugin-disco": "0.0.2",
|
||||
"strophejs-plugin-stream-management": "github:jitsi/strophejs-plugin-stream-management#e719a02b4f83856c1530882084a4b048ee622d45",
|
||||
"webrtc-adapter": "7.5.0"
|
||||
},
|
||||
"dependencies": {
|
||||
"js-md5": {
|
||||
"version": "0.7.3",
|
||||
"resolved": "https://registry.npmjs.org/js-md5/-/js-md5-0.7.3.tgz",
|
||||
"integrity": "sha512-ZC41vPSTLKGwIRjqDh8DfXoCrdQIyBgspJVPXHBGu4nZlAEvG3nf+jO9avM9RmLiGakg7vz974ms99nEV0tmTQ=="
|
||||
},
|
||||
"js-utils": {
|
||||
"version": "github:jitsi/js-utils#8567f86ec2774ae1d1c47b22e3435928cf5d9771",
|
||||
"from": "github:jitsi/js-utils#8567f86ec2774ae1d1c47b22e3435928cf5d9771",
|
||||
"requires": {
|
||||
"bowser": "2.7.0",
|
||||
"js-md5": "0.7.3",
|
||||
"postis": "2.2.0"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"libflacjs": {
|
||||
@@ -10976,6 +10961,11 @@
|
||||
"integrity": "sha1-soqmKIorn8ZRA1x3EfZathkDMaY=",
|
||||
"dev": true
|
||||
},
|
||||
"lodash.clonedeep": {
|
||||
"version": "4.5.0",
|
||||
"resolved": "https://registry.npmjs.org/lodash.clonedeep/-/lodash.clonedeep-4.5.0.tgz",
|
||||
"integrity": "sha1-4j8/nE+Pvd6HJSnBBxhXoIblzO8="
|
||||
},
|
||||
"lodash.flatten": {
|
||||
"version": "4.4.0",
|
||||
"resolved": "https://registry.npmjs.org/lodash.flatten/-/lodash.flatten-4.4.0.tgz",
|
||||
|
||||
@@ -53,10 +53,10 @@
|
||||
"jquery-contextmenu": "2.4.5",
|
||||
"jquery-i18next": "1.2.1",
|
||||
"js-md5": "0.6.1",
|
||||
"js-utils": "github:jitsi/js-utils#0b2cef90613a74777fefd98d4ee3eda3879809ab",
|
||||
"js-utils": "github:jitsi/js-utils#df68966e3c65b5c57fcd2670da1326a2c77518d1",
|
||||
"jsrsasign": "8.0.12",
|
||||
"jwt-decode": "2.2.0",
|
||||
"lib-jitsi-meet": "github:jitsi/lib-jitsi-meet#d2155878aae350f82b83c491bffd69f94711e1ae",
|
||||
"lib-jitsi-meet": "github:jitsi/lib-jitsi-meet#4870efe4593fdd2819d7a41ada835d1c26c292ab",
|
||||
"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',
|
||||
|
||||
@@ -17,6 +17,7 @@ import {
|
||||
import {
|
||||
areDeviceLabelsInitialized,
|
||||
getDeviceIdByLabel,
|
||||
getDeviceLabelById,
|
||||
getDevicesFromURL,
|
||||
setAudioOutputDeviceId
|
||||
} from './functions';
|
||||
@@ -216,6 +217,25 @@ export function setAudioInputDevice(deviceId) {
|
||||
};
|
||||
}
|
||||
|
||||
/**
|
||||
* Sets the audio input device id and updates the settings
|
||||
* so they are persisted across sessions.
|
||||
*
|
||||
* @param {string} deviceId - The id of the new audio input device.
|
||||
* @returns {Function}
|
||||
*/
|
||||
export function setAudioInputDeviceAndUpdateSettings(deviceId) {
|
||||
return function(dispatch, getState) {
|
||||
const deviceLabel = getDeviceLabelById(getState(), deviceId, 'audioInput');
|
||||
|
||||
dispatch(setAudioInputDevice(deviceId));
|
||||
dispatch(updateSettings({
|
||||
userSelectedMicDeviceId: deviceId,
|
||||
userSelectedMicDeviceLabel: deviceLabel
|
||||
}));
|
||||
};
|
||||
}
|
||||
|
||||
/**
|
||||
* Updates the output device id.
|
||||
*
|
||||
@@ -244,6 +264,25 @@ export function setVideoInputDevice(deviceId) {
|
||||
};
|
||||
}
|
||||
|
||||
/**
|
||||
* Sets the video input device id and updates the settings
|
||||
* so they are persisted across sessions.
|
||||
*
|
||||
* @param {string} deviceId - The id of the new video input device.
|
||||
* @returns {Function}
|
||||
*/
|
||||
export function setVideoInputDeviceAndUpdateSettings(deviceId) {
|
||||
return function(dispatch, getState) {
|
||||
const deviceLabel = getDeviceLabelById(getState(), deviceId, 'videoInput');
|
||||
|
||||
dispatch(setVideoInputDevice(deviceId));
|
||||
dispatch(updateSettings({
|
||||
userSelectedCameraDeviceId: deviceId,
|
||||
userSelectedCameraDeviceLabel: deviceLabel
|
||||
}));
|
||||
};
|
||||
}
|
||||
|
||||
/**
|
||||
* Signals to update the list of known audio and video devices.
|
||||
*
|
||||
|
||||
@@ -84,6 +84,8 @@ class BottomSheet extends PureComponent<Props> {
|
||||
|
||||
return (
|
||||
<SlidingView
|
||||
accessibilityRole = 'menu'
|
||||
accessibilityViewIsModal = { true }
|
||||
onHide = { this.props.onCancel }
|
||||
position = 'bottom'
|
||||
show = { true }>
|
||||
|
||||
@@ -9,7 +9,8 @@ const DEFAULT_OPTIMAL_BROWSERS = [
|
||||
'chrome',
|
||||
'electron',
|
||||
'firefox',
|
||||
'nwjs'
|
||||
'nwjs',
|
||||
'safari'
|
||||
];
|
||||
|
||||
const DEFAULT_UNSUPPORTED_BROWSERS = [];
|
||||
|
||||
@@ -155,7 +155,11 @@ const _LANGUAGES = {
|
||||
'zhTW': {
|
||||
languages: require('../../../../lang/languages-zhTW'),
|
||||
main: require('../../../../lang/main-zhTW')
|
||||
}
|
||||
},
|
||||
|
||||
// Mongolian
|
||||
'mn': { languages: require('../../../../lang/languages-mn'),
|
||||
main: require('../../../../lang/main-mn') }
|
||||
};
|
||||
|
||||
// Register all builtin languages with the i18n library.
|
||||
|
||||
@@ -107,7 +107,7 @@ class JitsiModal extends PureComponent<Props> {
|
||||
position = { position }
|
||||
show = { _show }>
|
||||
<KeyboardAvoidingView
|
||||
behavior = 'height'
|
||||
behavior = 'padding'
|
||||
style = { [
|
||||
_headerStyles.page,
|
||||
_styles.page,
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -41,7 +41,8 @@ export default class ToolboxItem extends AbstractToolboxItem<Props> {
|
||||
elementAfter,
|
||||
onClick,
|
||||
showLabel,
|
||||
styles
|
||||
styles,
|
||||
toggled
|
||||
} = this.props;
|
||||
|
||||
let children = this._renderIcon();
|
||||
@@ -72,6 +73,8 @@ export default class ToolboxItem extends AbstractToolboxItem<Props> {
|
||||
return (
|
||||
<TouchableHighlight
|
||||
accessibilityLabel = { this.accessibilityLabel }
|
||||
accessibilityRole = 'button'
|
||||
accessibilityState = {{ 'selected': toggled }}
|
||||
disabled = { disabled }
|
||||
onPress = { onClick }
|
||||
style = { style }
|
||||
|
||||
@@ -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 = (
|
||||
|
||||
@@ -10,7 +10,6 @@ import {
|
||||
JitsiConferenceErrors,
|
||||
JitsiConferenceEvents
|
||||
} from '../base/lib-jitsi-meet';
|
||||
import { setActiveModalId } from '../base/modal';
|
||||
import {
|
||||
getLocalParticipant,
|
||||
getParticipantById,
|
||||
@@ -23,13 +22,7 @@ import { isButtonEnabled, showToolbox } from '../toolbox';
|
||||
import { SEND_MESSAGE, SET_PRIVATE_MESSAGE_RECIPIENT } from './actionTypes';
|
||||
import { addMessage, clearMessages, toggleChat } from './actions';
|
||||
import { ChatPrivacyDialog } from './components';
|
||||
import {
|
||||
CHAT_VIEW_MODAL_ID,
|
||||
INCOMING_MSG_SOUND_ID,
|
||||
MESSAGE_TYPE_ERROR,
|
||||
MESSAGE_TYPE_LOCAL,
|
||||
MESSAGE_TYPE_REMOTE
|
||||
} from './constants';
|
||||
import { INCOMING_MSG_SOUND_ID, MESSAGE_TYPE_ERROR, MESSAGE_TYPE_LOCAL, MESSAGE_TYPE_REMOTE } from './constants';
|
||||
import { INCOMING_MSG_SOUND_FILE } from './sounds';
|
||||
|
||||
declare var APP: Object;
|
||||
@@ -101,7 +94,6 @@ MiddlewareRegistry.register(store => next => action => {
|
||||
}
|
||||
|
||||
case SET_PRIVATE_MESSAGE_RECIPIENT: {
|
||||
Boolean(action.participant) && dispatch(setActiveModalId(CHAT_VIEW_MODAL_ID));
|
||||
_maybeFocusField();
|
||||
break;
|
||||
}
|
||||
|
||||
@@ -63,7 +63,8 @@ class LargeVideo extends Component<Props> {
|
||||
<video
|
||||
autoPlay = { !this.props._noAutoPlayVideo }
|
||||
id = 'largeVideo'
|
||||
muted = { true } />
|
||||
muted = { true }
|
||||
playsInline = { true } /* for Safari on iOS to work */ />
|
||||
</div>
|
||||
</div>
|
||||
{ interfaceConfig.DISABLE_TRANSCRIPTION_SUBTITLES
|
||||
|
||||
@@ -1,5 +1,7 @@
|
||||
// @flow
|
||||
|
||||
import { Platform } from 'react-native';
|
||||
|
||||
import { PIP_ENABLED, getFeatureFlag } from '../../../base/flags';
|
||||
import { translate } from '../../../base/i18n';
|
||||
import { IconMenuDown } from '../../../base/icons';
|
||||
@@ -62,8 +64,17 @@ class PictureInPictureButton extends AbstractButton<Props, *> {
|
||||
* }}
|
||||
*/
|
||||
function _mapStateToProps(state): Object {
|
||||
const flag = Boolean(getFeatureFlag(state, PIP_ENABLED));
|
||||
let enabled = flag;
|
||||
|
||||
// Override flag for Android < 26, PiP was introduced in Oreo.
|
||||
// https://developer.android.com/guide/topics/ui/picture-in-picture
|
||||
if (Platform.OS === 'android' && Platform.Version < 26) {
|
||||
enabled = false;
|
||||
}
|
||||
|
||||
return {
|
||||
_enabled: Boolean(getFeatureFlag(state, PIP_ENABLED))
|
||||
_enabled: enabled
|
||||
};
|
||||
}
|
||||
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
@@ -8,7 +8,7 @@ import { toggleAudioSettings } from '../../../actions';
|
||||
import {
|
||||
getAudioInputDeviceData,
|
||||
getAudioOutputDeviceData,
|
||||
setAudioInputDevice as setAudioInputDeviceAction,
|
||||
setAudioInputDeviceAndUpdateSettings,
|
||||
setAudioOutputDevice as setAudioOutputDeviceAction
|
||||
} from '../../../../base/devices';
|
||||
import { connect } from '../../../../base/redux';
|
||||
@@ -90,7 +90,7 @@ function mapStateToProps(state) {
|
||||
|
||||
const mapDispatchToProps = {
|
||||
onClose: toggleAudioSettings,
|
||||
setAudioInputDevice: setAudioInputDeviceAction,
|
||||
setAudioInputDevice: setAudioInputDeviceAndUpdateSettings,
|
||||
setAudioOutputDevice: setAudioOutputDeviceAction
|
||||
};
|
||||
|
||||
|
||||
@@ -6,7 +6,7 @@ import InlineDialog from '@atlaskit/inline-dialog';
|
||||
import { toggleVideoSettings } from '../../../actions';
|
||||
import {
|
||||
getVideoDeviceIds,
|
||||
setVideoInputDevice as setVideoInputDeviceAction
|
||||
setVideoInputDeviceAndUpdateSettings
|
||||
} from '../../../../base/devices';
|
||||
import { getVideoSettingsVisibility } from '../../../functions';
|
||||
import { connect } from '../../../../base/redux';
|
||||
@@ -79,7 +79,7 @@ function mapStateToProps(state) {
|
||||
|
||||
const mapDispatchToProps = {
|
||||
onClose: toggleVideoSettings,
|
||||
setVideoInputDevice: setVideoInputDeviceAction
|
||||
setVideoInputDevice: setVideoInputDeviceAndUpdateSettings
|
||||
};
|
||||
|
||||
export default connect(mapStateToProps, mapDispatchToProps)(VideoSettingsPopup);
|
||||
|
||||
@@ -110,6 +110,7 @@ class Toolbox extends PureComponent<Props> {
|
||||
|
||||
return (
|
||||
<View
|
||||
accessibilityRole = 'toolbar'
|
||||
pointerEvents = 'box-none'
|
||||
style = { styles.toolbar }>
|
||||
{
|
||||
|
||||
@@ -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.
|
||||
|
||||
@@ -14,6 +14,8 @@ echo "- Download certbot-auto from https://dl.eff.org to /usr/local/sbin"
|
||||
echo "- Install additional dependencies in order to request Let’s Encrypt certificate"
|
||||
echo "- If running with jetty serving web content, will stop Jitsi Videobridge"
|
||||
echo "- Configure and reload nginx or apache2, whichever is used"
|
||||
echo "- Configure the coturn server to use Let's Encrypt certificate and add required deploy hooks"
|
||||
echo "- Add command in weekly cron job to renew certificates regularly"
|
||||
echo ""
|
||||
echo "You need to agree to the ACME server's Subscriber Agreement (https://letsencrypt.org/documents/LE-SA-v1.1.1-August-1-2016.pdf) "
|
||||
echo "by providing an email address for important account notifications"
|
||||
@@ -40,10 +42,26 @@ CERT_CRT="/etc/letsencrypt/live/$DOMAIN/fullchain.pem"
|
||||
|
||||
if [ -f /etc/nginx/sites-enabled/$DOMAIN.conf ] ; then
|
||||
|
||||
./certbot-auto certonly --noninteractive \
|
||||
--webroot --webroot-path /usr/share/jitsi-meet \
|
||||
-d $DOMAIN \
|
||||
--agree-tos --email $EMAIL
|
||||
TURN_CONFIG="/etc/turnserver.conf"
|
||||
TURN_HOOK=/etc/letsencrypt/renewal-hooks/deploy/0000-coturn-certbot-deploy.sh
|
||||
if [ -f $TURN_CONFIG ] && grep -q "jitsi-meet coturn config" "$TURN_CONFIG" ; then
|
||||
mkdir -p $(dirname $TURN_HOOK)
|
||||
|
||||
cp /usr/share/jitsi-meet-turnserver/coturn-certbot-deploy.sh $TURN_HOOK
|
||||
chmod u+x $TURN_HOOK
|
||||
sed -i "s/jitsi-meet.example.com/$DOMAIN/g" $TURN_HOOK
|
||||
|
||||
./certbot-auto certonly --noninteractive \
|
||||
--webroot --webroot-path /usr/share/jitsi-meet \
|
||||
-d $DOMAIN \
|
||||
--agree-tos --email $EMAIL \
|
||||
--deploy-hook $TURN_HOOK
|
||||
else
|
||||
./certbot-auto certonly --noninteractive \
|
||||
--webroot --webroot-path /usr/share/jitsi-meet \
|
||||
-d $DOMAIN \
|
||||
--agree-tos --email $EMAIL
|
||||
fi
|
||||
|
||||
echo "Configuring nginx"
|
||||
|
||||
@@ -59,16 +77,6 @@ if [ -f /etc/nginx/sites-enabled/$DOMAIN.conf ] ; then
|
||||
|
||||
echo "service nginx reload" >> $CRON_FILE
|
||||
service nginx reload
|
||||
|
||||
TURN_CONFIG="/etc/turnserver.conf"
|
||||
if [ -f $TURN_CONFIG ] && grep -q "jitsi-meet coturn config" "$TURN_CONFIG" ; then
|
||||
echo "Configuring turnserver"
|
||||
sed -i "s/cert=\/etc\/jitsi\/meet\/.*crt/cert=$CERT_CRT_ESC/g" $TURN_CONFIG
|
||||
sed -i "s/pkey=\/etc\/jitsi\/meet\/.*key/pkey=$CERT_KEY_ESC/g" $TURN_CONFIG
|
||||
|
||||
echo "service coturn restart" >> $CRON_FILE
|
||||
service coturn restart
|
||||
fi
|
||||
elif [ -f /etc/apache2/sites-enabled/$DOMAIN.conf ] ; then
|
||||
|
||||
./certbot-auto certonly --noninteractive \
|
||||
@@ -90,27 +98,6 @@ elif [ -f /etc/apache2/sites-enabled/$DOMAIN.conf ] ; then
|
||||
|
||||
echo "service apache2 reload" >> $CRON_FILE
|
||||
service apache2 reload
|
||||
else
|
||||
service jitsi-videobridge stop
|
||||
|
||||
./certbot-auto certonly --noninteractive \
|
||||
--standalone \
|
||||
-d $DOMAIN \
|
||||
--agree-tos --email $EMAIL
|
||||
|
||||
echo "Configuring jetty"
|
||||
|
||||
CERT_P12="/etc/jitsi/videobridge/$DOMAIN.p12"
|
||||
CERT_JKS="/etc/jitsi/videobridge/$DOMAIN.jks"
|
||||
# create jks from certs
|
||||
openssl pkcs12 -export \
|
||||
-in $CERT_CRT -inkey $CERT_KEY -passout pass:changeit > $CERT_P12
|
||||
keytool -importkeystore -destkeystore $CERT_JKS \
|
||||
-srckeystore $CERT_P12 -srcstoretype pkcs12 \
|
||||
-noprompt -storepass changeit -srcstorepass changeit
|
||||
|
||||
service jitsi-videobridge start
|
||||
|
||||
fi
|
||||
|
||||
# the cron file that will renew certificates
|
||||
|
||||
@@ -37,8 +37,8 @@ function init_session(event)
|
||||
end
|
||||
end
|
||||
|
||||
module:hook("bosh-session", init_session);
|
||||
module:hook("websocket-session", init_session);
|
||||
module:hook_global("bosh-session", init_session);
|
||||
module:hook_global("websocket-session", init_session);
|
||||
|
||||
function provider.test_password(username, password)
|
||||
return nil, "Password based auth not supported";
|
||||
|
||||
@@ -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