Compare commits
224 Commits
4444
...
react-thum
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
730acd551e | ||
|
|
5c1af8835b | ||
|
|
c61c00171a | ||
|
|
d025f51ce2 | ||
|
|
bab2b0735c | ||
|
|
2fa0c6c98f | ||
|
|
fa541a6768 | ||
|
|
1ed18c5be3 | ||
|
|
cf7cc84781 | ||
|
|
05cdec3b70 | ||
|
|
c57fd643ea | ||
|
|
ad297c2470 | ||
|
|
be1b6d71f5 | ||
|
|
d63be314c6 | ||
|
|
ea13e3c346 | ||
|
|
58bd4edb85 | ||
|
|
01345d6d9d | ||
|
|
28cd74077b | ||
|
|
af6c794fda | ||
|
|
f88061db06 | ||
|
|
ec6abc1ce9 | ||
|
|
e261bb5616 | ||
|
|
b1a4b58f7a | ||
|
|
42dabd4cdb | ||
|
|
89ebb4d918 | ||
|
|
fc54fc80d1 | ||
|
|
87b1155180 | ||
|
|
4ca02c1ebf | ||
|
|
70fcabd136 | ||
|
|
25a238f4e4 | ||
|
|
26dbc9a78b | ||
|
|
79e517ed65 | ||
|
|
148234ea50 | ||
|
|
b23f4b02ea | ||
|
|
e9200bab09 | ||
|
|
97f47998ba | ||
|
|
0019284b10 | ||
|
|
5cae5985c0 | ||
|
|
d77c5ccb7d | ||
|
|
96af156465 | ||
|
|
09aa486ff1 | ||
|
|
0f2be8c642 | ||
|
|
65562d1ef4 | ||
|
|
9535f84775 | ||
|
|
6c477cad9b | ||
|
|
2b6c7a51a3 | ||
|
|
42d1389338 | ||
|
|
d74f93209c | ||
|
|
6f61077a65 | ||
|
|
997c3f75b5 | ||
|
|
baa39896f1 | ||
|
|
3725f698e4 | ||
|
|
67002c903a | ||
|
|
1b15820f01 | ||
|
|
4cced3af07 | ||
|
|
a8db3c1b28 | ||
|
|
39cf8854af | ||
|
|
57f3e8a3e8 | ||
|
|
f6fa903f8f | ||
|
|
3796db20ea | ||
|
|
911df4b18a | ||
|
|
1041cd8055 | ||
|
|
898eca86d5 | ||
|
|
e0d41a30ef | ||
|
|
d6ab0a72a1 | ||
|
|
fc694641dc | ||
|
|
1ee7e81918 | ||
|
|
a7de8be0aa | ||
|
|
696ec36c8c | ||
|
|
76c9d96361 | ||
|
|
b889bd5664 | ||
|
|
d97f46c163 | ||
|
|
5510138944 | ||
|
|
29fa4c935e | ||
|
|
7de1e6d89e | ||
|
|
c4ef7d8601 | ||
|
|
9379bb3c5b | ||
|
|
101a40a8da | ||
|
|
36871fa37e | ||
|
|
c09ed4c8ef | ||
|
|
08dce76763 | ||
|
|
d03173e827 | ||
|
|
12c835dd91 | ||
|
|
f6127d45e9 | ||
|
|
9219e80a2a | ||
|
|
71fb5aef6c | ||
|
|
721848da3f | ||
|
|
ad496ac245 | ||
|
|
e271ec2e13 | ||
|
|
c601acd6a8 | ||
|
|
58d38ca714 | ||
|
|
6f90458ff1 | ||
|
|
d08f3e1ab2 | ||
|
|
ce1a964d0f | ||
|
|
48d0616ebf | ||
|
|
af82c69bbb | ||
|
|
892e508b48 | ||
|
|
b7b5f87e2b | ||
|
|
ec16774dd4 | ||
|
|
7682e49787 | ||
|
|
1e07385ac0 | ||
|
|
68d97f6d9d | ||
|
|
da7383f89c | ||
|
|
b8444ff1bf | ||
|
|
3381cf4422 | ||
|
|
895c92217a | ||
|
|
0934fffa25 | ||
|
|
20ce38bd4c | ||
|
|
c4ba97e87c | ||
|
|
4b8aae90e0 | ||
|
|
c2539bf615 | ||
|
|
4fdd4b66f7 | ||
|
|
9fa29d7353 | ||
|
|
c14f639639 | ||
|
|
c007477ee9 | ||
|
|
50997ae6ac | ||
|
|
f8a41aea9c | ||
|
|
88c02fb658 | ||
|
|
0f64c66f91 | ||
|
|
9f65ae52f1 | ||
|
|
a242e86b23 | ||
|
|
4211db0893 | ||
|
|
9a35026d6a | ||
|
|
9742e90bb5 | ||
|
|
2a01d3550c | ||
|
|
efce5a831b | ||
|
|
e0117e03e8 | ||
|
|
1648e4b407 | ||
|
|
b02136d013 | ||
|
|
734631a7a4 | ||
|
|
9fbb35b6e1 | ||
|
|
f45af351d8 | ||
|
|
1f4cd22875 | ||
|
|
53cc724b3b | ||
|
|
8f1cb7ded2 | ||
|
|
b9ccc3ad8c | ||
|
|
68a0bdce2c | ||
|
|
b71d92a139 | ||
|
|
30fc04ba61 | ||
|
|
d2046c2c8f | ||
|
|
35b5f6df06 | ||
|
|
ca2343c31a | ||
|
|
3657c19e60 | ||
|
|
007183c151 | ||
|
|
9c10ac3028 | ||
|
|
4b429112f2 | ||
|
|
d067c4e731 | ||
|
|
07d8611988 | ||
|
|
b0d55f9450 | ||
|
|
5f2ee6d951 | ||
|
|
ddea7d0294 | ||
|
|
348c6416e5 | ||
|
|
ad265d5815 | ||
|
|
d5b2da02c1 | ||
|
|
fbfaed07b2 | ||
|
|
da33d8a033 | ||
|
|
830817d7b4 | ||
|
|
8c67f1fdf3 | ||
|
|
b57da04553 | ||
|
|
b428c3bca8 | ||
|
|
96c34b7774 | ||
|
|
f2bbc874b3 | ||
|
|
b18398f016 | ||
|
|
a6e58c3101 | ||
|
|
c5f6df5210 | ||
|
|
e67c08d837 | ||
|
|
d854b2cd3d | ||
|
|
ab5c8d49c3 | ||
|
|
820d9b2ba8 | ||
|
|
e4c1046d7c | ||
|
|
223187c640 | ||
|
|
35e8821679 | ||
|
|
3125345793 | ||
|
|
5e6c4d67ed | ||
|
|
a3fb996ff0 | ||
|
|
65a9de346f | ||
|
|
036d810d46 | ||
|
|
b5f9b575ca | ||
|
|
a7fa9d8a97 | ||
|
|
4762d5a153 | ||
|
|
e8c2c89343 | ||
|
|
d77a7cac3a | ||
|
|
6030c32272 | ||
|
|
8e19597e38 | ||
|
|
bf6a1540df | ||
|
|
9434d3c349 | ||
|
|
b891a7526d | ||
|
|
5bf20517e7 | ||
|
|
0d7a730497 | ||
|
|
59caa0cf42 | ||
|
|
bdda8c56c7 | ||
|
|
c239ba71e6 | ||
|
|
1005f8f498 | ||
|
|
f6e2bd1249 | ||
|
|
cd68c72338 | ||
|
|
1740aaf973 | ||
|
|
a270e4300a | ||
|
|
5e2ee3bdcd | ||
|
|
bdd2845917 | ||
|
|
f9888e5dbb | ||
|
|
44d7828e9c | ||
|
|
82b14ba7f1 | ||
|
|
63fe1de789 | ||
|
|
39af6f5943 | ||
|
|
f01869c21c | ||
|
|
6d2f8ae37d | ||
|
|
35bea1a1d0 | ||
|
|
afa4306ae8 | ||
|
|
1d9daa8da7 | ||
|
|
478f1a731e | ||
|
|
9f9e192c3c | ||
|
|
943996e5b6 | ||
|
|
bfde13cb15 | ||
|
|
5939820271 | ||
|
|
b5310573fc | ||
|
|
aa488cb75c | ||
|
|
de8e62ac51 | ||
|
|
f6d375f565 | ||
|
|
c54fed78c8 | ||
|
|
3d7ea52416 | ||
|
|
0c4d649459 | ||
|
|
af416ad487 | ||
|
|
1cd6f2b4da | ||
|
|
1fb37a0216 |
4
.github/ISSUE_TEMPLATE/2-feature-request.md
vendored
@@ -1,7 +1,9 @@
|
||||
---
|
||||
name: "Feature request"
|
||||
about: Suggest an idea for this project
|
||||
|
||||
title: ''
|
||||
labels: 'feature-request'
|
||||
assignees: ''
|
||||
---
|
||||
|
||||
<!--
|
||||
|
||||
7
.gitignore
vendored
@@ -69,6 +69,7 @@ buck-out/
|
||||
*.framework
|
||||
android/app/debug
|
||||
android/app/release
|
||||
ios/sdk/out
|
||||
|
||||
# precommit-hook
|
||||
.jshintignore
|
||||
@@ -85,3 +86,9 @@ ios/app/dropbox.key
|
||||
ios/app/GoogleService-Info.plist
|
||||
|
||||
.vscode
|
||||
|
||||
# TWA
|
||||
twa/*.apk
|
||||
twa/*.aab
|
||||
twa/assetlinks.json
|
||||
|
||||
|
||||
@@ -1,11 +0,0 @@
|
||||
/**
|
||||
* Notifies interested parties that hangup procedure will start.
|
||||
*/
|
||||
export const BEFORE_HANGUP = 'conference.before_hangup';
|
||||
|
||||
/**
|
||||
* Notifies interested parties that desktop sharing enable/disable state is
|
||||
* changed.
|
||||
*/
|
||||
export const DESKTOP_SHARING_ENABLED_CHANGED
|
||||
= 'conference.desktop_sharing_enabled_changed';
|
||||
@@ -16,6 +16,10 @@ android {
|
||||
compileSdkVersion rootProject.ext.compileSdkVersion
|
||||
buildToolsVersion rootProject.ext.buildToolsVersion
|
||||
|
||||
packagingOptions {
|
||||
exclude 'lib/*/libhermes*.so'
|
||||
}
|
||||
|
||||
defaultConfig {
|
||||
applicationId 'org.jitsi.meet'
|
||||
versionCode vcode
|
||||
|
||||
@@ -27,6 +27,7 @@ import android.os.Bundle;
|
||||
import android.provider.Settings;
|
||||
import android.util.Log;
|
||||
import android.view.KeyEvent;
|
||||
|
||||
import androidx.annotation.Nullable;
|
||||
|
||||
import org.jitsi.meet.sdk.JitsiMeet;
|
||||
@@ -78,6 +79,12 @@ public class MainActivity extends JitsiMeetActivity {
|
||||
// JitsiMeetActivity overrides
|
||||
//
|
||||
|
||||
@Override
|
||||
protected void onCreate(Bundle savedInstanceState) {
|
||||
JitsiMeet.showSplashScreen(this);
|
||||
super.onCreate(savedInstanceState);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected boolean extraInitialize() {
|
||||
Log.d(this.getClass().getSimpleName(), "LIBRE_BUILD="+BuildConfig.LIBRE_BUILD);
|
||||
|
||||
70
android/app/src/main/res/drawable/ic_jitsi_logosvg.xml
Normal file
@@ -0,0 +1,70 @@
|
||||
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:width="262.91376dp"
|
||||
android:height="262.91376dp"
|
||||
android:viewportWidth="262.91376"
|
||||
android:viewportHeight="262.91376">
|
||||
<group>
|
||||
<clip-path
|
||||
android:pathData="m0,0 l262.914,-0L262.914,262.914 0,262.914 0,0Z"/>
|
||||
<path
|
||||
android:pathData="m142.646,105.099c0.117,0.026 0.255,0.036 0.406,0.036 3.186,-0 10.297,-4.615 11.617,-6.721l0.1,-0.17 0.153,-0.135c0.451,-0.441 1.746,-2.773 2.374,-4.17 -6.751,-2.023 -7.49,-5.677 -8.153,-8.919 -0.069,-0.376 -0.138,-0.717 -0.204,-1.019 -0.074,-0.397 -0.153,-0.8 -0.226,-1.112C138.668,86.221 135.593,88.094 133.921,89.483 133.056,90.201 132.542,92.251 135.042,97.926 136.323,100.816 140.727,104.733 142.646,105.099"
|
||||
android:fillColor="#ffffff"
|
||||
android:strokeColor="#00000000"
|
||||
android:fillType="nonZero"/>
|
||||
<path
|
||||
android:pathData="m115.413,146.042c5.934,-0 18.464,-3.543 26.748,-5.887 1.21,-0.336 2.33,-0.66 3.351,-0.944 0.166,-0.046 0.321,-0.091 0.472,-0.124 -0.463,-0.461 -1.239,-1.159 -2.497,-2.216 -5.521,-3.741 -10.736,-5.484 -16.403,-5.484 -1.237,-0 -2.522,0.071 -3.923,0.231 -4.801,0.55 -8.8,1.69 -10.722,2.237 -0.967,0.284 -1.263,0.366 -1.567,0.366 -0.58,-0 -1.079,-0.341 -1.273,-0.878 -0.194,-0.534 -0.027,-1.121 0.425,-1.507l0.024,-0.011c3.316,-2.784 9.489,-7.951 21.198,-10.256 2.027,-0.401 4.202,-0.605 6.454,-0.605 5.242,-0 10.67,1.086 16.125,3.219 7.436,2.899 12.521,6.625 16.602,9.62 2.199,1.609 4.105,3.007 5.755,3.771 0.421,0.2 0.637,0.255 0.746,0.265 0.074,-0.095 0.23,-0.365 0.474,-1.069 0.066,-0.185 0.529,-2.161 -2.806,-13.374 -1.931,-6.51 -4.264,-13.156 -5.479,-16.104 -2.356,-5.711 -1.778,-9.76 -1.051,-12.125 -1.999,0.735 -4.033,1.87 -6.174,3.446L161.758,98.711C160.694,99.506 159.599,100.404 158.426,101.454 151.517,107.64 146.344,110.864 143.035,111.04l-0.093,0.004 -0.093,-0.009c-2.912,-0.245 -7.324,-4.489 -9.133,-6.634 -0.373,-0.251 -0.8,-0.366 -1.366,-0.366 -0.564,-0 -1.202,0.116 -1.82,0.235C130.086,104.354 129.623,104.441 129.167,104.489 127.708,104.632 125.668,105.106 123.694,105.561 122.746,105.777 121.762,106.005 120.864,106.189 120.851,106.19 120.463,106.272 119.774,106.454 114.903,107.891 111.228,109.55 109.432,111.111 109.414,111.127 109.352,111.174 109.266,111.242 108.048,112.105 105.124,114.567 104.248,118.762L104.237,118.795C102.398,126.516 105.187,136.087 108.892,141.554 110.636,144.125 112.513,145.727 114.048,145.959 114.437,146.015 114.891,146.042 115.413,146.042"
|
||||
android:fillColor="#ffffff"
|
||||
android:strokeColor="#00000000"
|
||||
android:fillType="nonZero"/>
|
||||
<path
|
||||
android:pathData="m90.093,173.175c-1.252,-1.472 -1.783,-3.324 -1.574,-5.521 0.884,-10.642 -0.329,-13.215 -0.891,-13.829 -0.131,-0.144 -0.207,-0.144 -0.265,-0.144 -0.022,-0 -0.041,0.003 -0.064,0.003 -1.044,0.248 -8.066,5.002 -9.615,19.171 -0.749,6.845 0.561,15.63 1.679,20.974 0.897,-3.155 2.314,-6.624 5.057,-10.204 2.556,-3.326 5.345,-5.955 8.801,-8.253C92.143,174.93 90.991,174.235 90.093,173.175"
|
||||
android:fillColor="#ffffff"
|
||||
android:strokeColor="#00000000"
|
||||
android:fillType="nonZero"/>
|
||||
<path
|
||||
android:pathData="m94.906,156.389c-0.03,2.229 -0.326,4.36 -0.61,6.445 -0.151,1.119 -0.314,2.286 -0.434,3.46 -0.161,2.341 0.346,3.166 0.571,3.406 0.127,0.136 0.326,0.287 0.76,0.287 0.339,-0 0.741,-0.091 1.161,-0.268 4.202,-1.756 8.195,-4.815 10.115,-6.515C103.522,161.892 98.995,159.058 94.906,156.389"
|
||||
android:fillColor="#ffffff"
|
||||
android:strokeColor="#00000000"
|
||||
android:fillType="nonZero"/>
|
||||
<path
|
||||
android:pathData="m154.002,81.595c-0.031,0.074 -0.065,0.148 -0.101,0.216 -0.821,2.403 0.306,5.664 2.419,6.898 0.561,0.327 1.106,0.526 1.624,0.596 0.072,0.006 0.148,0.009 0.219,0.009 1.645,-0 2.971,-1.199 3.961,-3.561C162.752,83.959 162.836,81.827 162.37,79.904 162.003,78.409 161.057,76.627 160.453,75.738 159.332,76.509 157.111,78.207 155.585,79.553 154.518,80.582 154.136,81.229 154.002,81.595"
|
||||
android:fillColor="#ffffff"
|
||||
android:strokeColor="#00000000"
|
||||
android:fillType="nonZero"/>
|
||||
<path
|
||||
android:pathData="M148.97,77.699C153.957,73.194 156.988,65.754 158.253,61.334 153.915,65.513 148.633,67.758 145.25,69.198 144.084,69.695 143.08,70.124 142.477,70.476 142.224,70.623 141.965,70.77 141.708,70.919 139.654,72.109 136.55,73.905 136.1,75.011l-0.012,0.036 -0.012,0.034c-1.406,2.956 -2.199,7.401 -2.457,9.95 3.266,-1.99 6.625,-3.322 9.416,-4.42C145.628,79.585 147.863,78.703 148.97,77.699"
|
||||
android:fillColor="#ffffff"
|
||||
android:strokeColor="#00000000"
|
||||
android:fillType="nonZero"/>
|
||||
<path
|
||||
android:pathData="m164.464,51.921c-0.84,5.539 -2.205,10.799 -4.751,16.347 2.781,-3.144 4.396,-6.568 4.941,-10.401C164.886,56.275 165.097,54.756 164.464,51.921"
|
||||
android:fillColor="#ffffff"
|
||||
android:strokeColor="#00000000"
|
||||
android:fillType="nonZero"/>
|
||||
<path
|
||||
android:pathData="M148.749,142.639C148.718,142.598 148.684,142.56 148.658,142.519 148.523,142.539 148.307,142.584 147.972,142.683l-0.14,0.04c-1.726,0.644 -4.899,1.708 -8.556,2.946 -4.396,1.479 -9.365,3.154 -13.526,4.649 -5.297,1.975 -7.021,2.755 -7.557,3.024 -0.098,0.266 -0.203,0.599 -0.327,0.965 -1.254,3.816 -4.125,12.541 -18.276,18.653 2.928,2.956 9.289,8.27 21.809,8.27 1.082,-0 2.21,-0.036 3.341,-0.12 9.451,-0.666 18.342,-4.855 25.026,-11.78 6.087,-6.291 9.538,-14.136 9.585,-21.7C157.876,147.509 155.367,147.135 153.043,146.033 153.014,146.02 150.361,144.745 148.749,142.639"
|
||||
android:fillColor="#ffffff"
|
||||
android:strokeColor="#00000000"
|
||||
android:fillType="nonZero"/>
|
||||
<path
|
||||
android:pathData="m189.478,117.853c-0.523,9.749 -2.122,18.424 -4.744,25.8 -2.128,5.988 -4.94,11.134 -8.356,15.316 -5.676,6.931 -11.555,9.256 -12.804,9.304 -0.866,-0 -1.313,-0.309 -3.046,-1.528 -0.17,-0.114 -0.37,-0.252 -0.581,-0.4 -3.313,5.953 -8.505,11.097 -15.065,14.959 -7.079,4.144 -15.297,6.423 -23.157,6.423 -9.078,-0 -17.13,-2.924 -23.341,-8.456 -7.467,4.799 -12.31,9.074 -16.267,27.005l-1.363,6.17 -2.971,-5.564c-0.424,-0.786 -1.929,-3.731 -3.332,-8.887 -1.934,-7.104 -2.86,-15.181 -2.758,-24.01 0.117,-10.049 3.154,-16.526 5.68,-20.186 2.98,-4.314 6.837,-6.994 10.076,-6.994 0.216,-0 0.428,0.006 0.616,0.035 5.159,0.575 8.435,2.75 14.396,6.686l1.899,1.252c2.059,1.344 4.481,2.7 5.259,2.989 0.54,-0.284 1.749,-2.3 2.155,-5.271l0.069,-0.451c0.005,-0.045 0.009,-0.091 0.014,-0.131 -0.036,-0.02 -0.065,-0.029 -0.094,-0.041 -4.008,-1.375 -9.539,-7.7 -12.364,-17.134 -2.684,-9.382 -2.129,-17.185 1.644,-23.193 6.12,-9.736 19.198,-11.974 23.466,-12.702 1.331,-0.266 2.716,-0.511 4.041,-0.717 0.255,-0.061 0.469,-0.121 0.642,-0.168 -0.031,-0.126 -0.071,-0.265 -0.114,-0.43 -0.108,-0.417 -0.23,-0.891 -0.354,-1.447 -1.345,-6.035 -0.664,-11.069 0.181,-15.193 0.928,-4.546 1.489,-7.287 3.747,-9.936 3.029,-4.165 8.319,-5.936 11.479,-6.991 0.746,-0.249 1.511,-0.509 1.894,-0.689 8.988,-4.31 11.82,-8.739 12.615,-11.694 0.656,-2.451 1.699,-8.884 1.251,-13.335 -0.085,-0.805 0.129,-1.521 0.621,-2.065 0.45,-0.505 1.101,-0.794 1.778,-0.794 1.515,-0 2.82,-0 7.511,14.598 2.481,7.698 0.645,14.903 -5.45,21.424l-0.226,0.231c0.024,0.044 0.049,0.09 0.08,0.144 2.57,4.236 3.963,9.54 3.553,13.51 -0.099,0.906 -0.265,1.775 -0.419,2.549 -0.003,0.01 -0.003,0.016 -0.004,0.029 0.516,-0.032 1.119,-0.055 1.775,-0.055 3.052,-0 7.435,0.474 10.989,2.735 2.135,1.352 4.845,3.439 6.835,7.615C189.223,102.942 190.076,109.575 189.478,117.853m4.77,-23.191c-2.916,-6.1 -6.989,-9.177 -9.793,-10.96 -2.355,-1.494 -5.064,-2.584 -8.077,-3.24l-0.676,-0.146 -0.111,-0.689c-0.339,-2.119 -0.918,-4.275 -1.715,-6.406l-0.185,-0.49 0.292,-0.434c5.095,-7.594 6.323,-16.17 3.54,-24.802 -2.191,-6.824 -3.895,-11.211 -5.341,-13.799 -2.954,-5.305 -7.006,-6.417 -9.891,-6.417 -2.964,-0 -5.8,1.261 -7.789,3.457 -2.043,2.254 -2.993,5.207 -2.678,8.31 0.316,3.134 -0.494,8.516 -1.014,10.439 -0.04,0.117 -0.975,2.929 -8.201,6.428 -0.162,0.056 -0.512,0.179 -1.053,0.359 -3.729,1.246 -10.666,3.571 -15.258,9.64 -3.465,4.205 -4.332,8.441 -5.338,13.346 -0.586,2.865 -1.236,6.744 -1.079,11.344l0.026,0.841 -0.824,0.188c-11.646,2.585 -20.025,7.835 -24.909,15.605 -5.054,8.04 -5.919,18.055 -2.543,29.853 0.063,0.204 0.126,0.407 0.189,0.615l0.527,1.608 -1.665,-0.286c-0.561,-0.101 -1.135,-0.18 -1.729,-0.241 -0.493,-0.06 -1.001,-0.082 -1.509,-0.082 -5.633,-0 -11.663,3.585 -16.128,9.592 -3.451,4.641 -7.588,12.849 -7.735,25.601 -0.114,9.573 0.906,18.401 3.038,26.228 1.581,5.795 3.326,9.329 4.004,10.577l13.306,24.94 6.096,-27.619c2.454,-11.09 4.864,-15.262 7.725,-18.111l0.561,-0.563 0.679,0.411c6.605,3.977 14.466,6.084 22.73,6.084 9.286,-0 18.965,-2.682 27.259,-7.551 5.38,-3.16 9.974,-7.036 13.649,-11.531l0.45,-0.369 0.85,-0.02c2.156,-0.068 5.16,-1.164 8.222,-3.004 2.6,-1.555 6.543,-4.428 10.501,-9.262 3.997,-4.884 7.274,-10.854 9.716,-17.734 2.876,-8.073 4.625,-17.489 5.204,-28.004 0.689,-9.668 -0.434,-17.641 -3.327,-23.704"
|
||||
android:fillColor="#ffffff"
|
||||
android:strokeColor="#00000000"
|
||||
android:fillType="nonZero"/>
|
||||
<path
|
||||
android:pathData="m180.026,98.414c-1.67,-2.596 -3.771,-4.206 -5.475,-4.206 -0.313,-0 -0.613,0.051 -0.895,0.161 -0.911,0.361 -2.356,4.532 -1.714,7.566 0.434,2.066 2.938,9.04 4.151,12.394 0.456,1.281 0.68,1.91 0.754,2.142 0.064,0.183 0.145,0.448 0.256,0.774 0.97,2.971 3.467,10.586 4.206,16.761 1.549,-6.579 2.424,-14.512 2.085,-23.997C183.235,105.662 182.04,101.538 180.026,98.414"
|
||||
android:fillColor="#ffffff"
|
||||
android:strokeColor="#00000000"
|
||||
android:fillType="nonZero"/>
|
||||
<path
|
||||
android:pathData="M168.088,142.604C169.896,142.111 171.33,141.705 172.398,141.395 170.213,139.874 167.689,137.979 164.247,135.304c-8.418,-6.546 -17.449,-9.87 -26.839,-9.87 -5.135,-0 -9.611,0.991 -13.156,2.186 0.882,-0.05 1.779,-0.079 2.7,-0.079 1.1,-0 2.247,0.04 3.411,0.119 3.652,0.246 13.061,1.901 21.565,12.047 1.714,2.039 3.559,3.73 8.794,3.73 1.873,-0 4.051,-0.207 6.662,-0.645C167.544,142.751 167.793,142.678 168.088,142.604"
|
||||
android:fillColor="#ffffff"
|
||||
android:strokeColor="#00000000"
|
||||
android:fillType="nonZero"/>
|
||||
<path
|
||||
android:pathData="m164.3,147.583c-0.122,1.563 -0.376,4.509 -0.782,6.76 -0.495,2.719 -1.31,5.02 -1.791,6.226 0.85,0.786 1.694,1.553 2.247,2.043 2.214,-1.447 9.47,-6.96 14.483,-19.474C176.847,144.229 174.59,145.178 171.671,146.018 168.701,146.861 165.82,147.357 164.3,147.583"
|
||||
android:fillColor="#ffffff"
|
||||
android:strokeColor="#00000000"
|
||||
android:fillType="nonZero"/>
|
||||
</group>
|
||||
</vector>
|
||||
11
android/app/src/main/res/layout/launch_screen.xml
Normal file
@@ -0,0 +1,11 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:background="@color/colorPrimary">
|
||||
<ImageView
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_centerInParent="true"
|
||||
android:src="@drawable/ic_jitsi_logosvg"/>
|
||||
</RelativeLayout>
|
||||
5
android/app/src/main/res/values/colors.xml
Normal file
@@ -0,0 +1,5 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<resources>
|
||||
<color name="colorPrimary">#17A0DB</color>
|
||||
<color name="colorPrimaryDark">#1081B2</color>
|
||||
</resources>
|
||||
@@ -2,6 +2,6 @@
|
||||
<!-- Base application theme. -->
|
||||
<style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar">
|
||||
<!-- Customize your theme here. -->
|
||||
<item name="android:navigationBarColor">#1081B2</item>
|
||||
<item name="android:navigationBarColor">@color/colorPrimaryDark</item>
|
||||
</style>
|
||||
</resources>
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
import groovy.json.JsonSlurper
|
||||
import org.gradle.util.VersionNumber
|
||||
|
||||
// Top-level build file where you can add configuration options common to all
|
||||
// sub-projects/modules.
|
||||
@@ -9,7 +10,7 @@ buildscript {
|
||||
jcenter()
|
||||
}
|
||||
dependencies {
|
||||
classpath 'com.android.tools.build:gradle:4.0.1'
|
||||
classpath 'com.android.tools.build:gradle:4.0.2'
|
||||
classpath 'com.google.gms:google-services:4.3.3'
|
||||
classpath 'com.google.firebase:firebase-crashlytics-gradle:2.3.0'
|
||||
}
|
||||
|
||||
@@ -18,8 +18,12 @@ org.gradle.jvmargs=-Xmx2048m -XX:MaxPermSize=512m -XX:+HeapDumpOnOutOfMemoryErro
|
||||
# http://www.gradle.org/docs/current/userguide/multi_project_builds.html#sec:decoupled_projects
|
||||
# org.gradle.parallel=true
|
||||
|
||||
# This one fixes a weird WebRTC runtime problem on some devices.
|
||||
# https://github.com/jitsi/jitsi-meet/issues/7911#issuecomment-714323255
|
||||
android.enableDexingArtifactTransform.desugaring=false
|
||||
|
||||
android.useAndroidX=true
|
||||
android.enableJetifier=true
|
||||
|
||||
appVersion=20.5.0
|
||||
sdkVersion=2.11.0
|
||||
appVersion=20.6.0
|
||||
sdkVersion=2.12.0
|
||||
|
||||
@@ -89,7 +89,9 @@ fi
|
||||
# Now build and publish the Jitsi Meet SDK and its dependencies
|
||||
echo "Building and publishing the Jitsi Meet SDK"
|
||||
pushd ${THIS_DIR}/../
|
||||
./gradlew clean assembleRelease publish
|
||||
./gradlew clean
|
||||
./gradlew assembleRelease
|
||||
./gradlew publish
|
||||
popd
|
||||
|
||||
if [[ $DO_GIT_TAG == 1 ]]; then
|
||||
|
||||
@@ -71,6 +71,7 @@ dependencies {
|
||||
implementation project(':react-native-svg')
|
||||
implementation project(':react-native-webrtc')
|
||||
implementation project(':react-native-webview')
|
||||
implementation project(':react-native-splash-screen')
|
||||
|
||||
testImplementation 'junit:junit:4.12'
|
||||
}
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:tools="http://schemas.android.com/tools"
|
||||
package="org.jitsi.meet.sdk">
|
||||
<!-- XXX ACCESS_NETWORK_STATE is required by WebRTC. -->
|
||||
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
|
||||
@@ -12,7 +13,7 @@
|
||||
<uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW" />
|
||||
<uses-permission android:name="android.permission.WAKE_LOCK" />
|
||||
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
|
||||
<uses-permission android:name="android.permission.FOREGROUND_SERVICE"/>
|
||||
<uses-permission android:name="android.permission.FOREGROUND_SERVICE" />
|
||||
|
||||
<uses-feature
|
||||
android:glEsVersion="0x00020000"
|
||||
@@ -34,8 +35,7 @@
|
||||
android:launchMode="singleTask"
|
||||
android:resizeableActivity="true"
|
||||
android:supportsPictureInPicture="true"
|
||||
android:windowSoftInputMode="adjustResize">
|
||||
</activity>
|
||||
android:windowSoftInputMode="adjustResize"/>
|
||||
<activity android:name="com.facebook.react.devsupport.DevSettingsActivity" />
|
||||
|
||||
<service
|
||||
@@ -46,7 +46,16 @@
|
||||
</intent-filter>
|
||||
</service>
|
||||
|
||||
<service android:name="org.jitsi.meet.sdk.JitsiMeetOngoingConferenceService" />
|
||||
<service
|
||||
android:name="org.jitsi.meet.sdk.JitsiMeetOngoingConferenceService"
|
||||
android:foregroundServiceType="mediaProjection" />
|
||||
|
||||
<provider
|
||||
android:name="com.reactnativecommunity.webview.RNCWebViewFileProvider"
|
||||
android:authorities="${applicationId}.fileprovider"
|
||||
android:enabled="false"
|
||||
tools:replace="android:authorities">
|
||||
</provider>
|
||||
</application>
|
||||
|
||||
</manifest>
|
||||
@@ -16,8 +16,11 @@
|
||||
|
||||
package org.jitsi.meet.sdk;
|
||||
|
||||
import android.media.AudioAttributes;
|
||||
import android.media.AudioDeviceInfo;
|
||||
import android.media.AudioFocusRequest;
|
||||
import android.media.AudioManager;
|
||||
import android.os.Build;
|
||||
|
||||
import java.util.HashSet;
|
||||
import java.util.Set;
|
||||
@@ -60,7 +63,7 @@ class AudioDeviceHandlerGeneric implements
|
||||
private AudioManager audioManager;
|
||||
|
||||
/**
|
||||
* {@link Runnable} for running audio device detection the main thread.
|
||||
* {@link Runnable} for running audio device detection in the audio thread.
|
||||
* This is only used on Android >= M.
|
||||
*/
|
||||
private final Runnable onAudioDeviceChangeRunner = new Runnable() {
|
||||
@@ -142,7 +145,7 @@ class AudioDeviceHandlerGeneric implements
|
||||
// Some other application potentially stole our audio focus
|
||||
// temporarily. Restore our mode.
|
||||
if (audioFocusLost) {
|
||||
module.updateAudioRoute();
|
||||
module.resetAudioRoute();
|
||||
}
|
||||
audioFocusLost = false;
|
||||
break;
|
||||
@@ -216,8 +219,24 @@ class AudioDeviceHandlerGeneric implements
|
||||
audioManager.setMode(AudioManager.MODE_IN_COMMUNICATION);
|
||||
audioManager.setMicrophoneMute(false);
|
||||
|
||||
if (audioManager.requestAudioFocus(this, AudioManager.STREAM_VOICE_CALL, AudioManager.AUDIOFOCUS_GAIN)
|
||||
== AudioManager.AUDIOFOCUS_REQUEST_FAILED) {
|
||||
int gotFocus;
|
||||
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
|
||||
gotFocus = audioManager.requestAudioFocus(new AudioFocusRequest.Builder(AudioManager.AUDIOFOCUS_GAIN)
|
||||
.setAudioAttributes(
|
||||
new AudioAttributes.Builder()
|
||||
.setUsage(AudioAttributes.USAGE_VOICE_COMMUNICATION)
|
||||
.setContentType(AudioAttributes.CONTENT_TYPE_SPEECH)
|
||||
.build()
|
||||
)
|
||||
.setAcceptsDelayedFocusGain(true)
|
||||
.setOnAudioFocusChangeListener(this)
|
||||
.build()
|
||||
);
|
||||
} else {
|
||||
gotFocus = audioManager.requestAudioFocus(this, AudioManager.STREAM_VOICE_CALL, AudioManager.AUDIOFOCUS_GAIN);
|
||||
}
|
||||
|
||||
if (gotFocus == AudioManager.AUDIOFOCUS_REQUEST_FAILED) {
|
||||
JitsiMeetLogger.w(TAG + " Audio focus request failed");
|
||||
return false;
|
||||
}
|
||||
|
||||
@@ -16,6 +16,7 @@
|
||||
|
||||
package org.jitsi.meet.sdk;
|
||||
|
||||
import android.app.Activity;
|
||||
import android.content.Context;
|
||||
import android.media.AudioManager;
|
||||
import android.os.Build;
|
||||
@@ -256,7 +257,7 @@ class AudioModeModule extends ReactContextBaseJavaModule {
|
||||
if (mode != -1) {
|
||||
JitsiMeetLogger.i(TAG + " User selected device set to: " + device);
|
||||
userSelectedDevice = device;
|
||||
updateAudioRoute(mode);
|
||||
updateAudioRoute(mode, false);
|
||||
}
|
||||
}
|
||||
});
|
||||
@@ -276,13 +277,22 @@ class AudioModeModule extends ReactContextBaseJavaModule {
|
||||
return;
|
||||
}
|
||||
|
||||
Activity currentActivity = getCurrentActivity();
|
||||
if (currentActivity != null) {
|
||||
if (mode == DEFAULT) {
|
||||
currentActivity.setVolumeControlStream(AudioManager.USE_DEFAULT_STREAM_TYPE);
|
||||
} else {
|
||||
currentActivity.setVolumeControlStream(AudioManager.STREAM_VOICE_CALL);
|
||||
}
|
||||
}
|
||||
|
||||
runInAudioThread(new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
boolean success;
|
||||
|
||||
try {
|
||||
success = updateAudioRoute(mode);
|
||||
success = updateAudioRoute(mode, false);
|
||||
} catch (Throwable e) {
|
||||
success = false;
|
||||
JitsiMeetLogger.e(e, TAG + " Failed to update audio route for mode: " + mode);
|
||||
@@ -321,7 +331,7 @@ class AudioModeModule extends ReactContextBaseJavaModule {
|
||||
* @return {@code true} if the audio route was updated successfully;
|
||||
* {@code false}, otherwise.
|
||||
*/
|
||||
private boolean updateAudioRoute(int mode) {
|
||||
private boolean updateAudioRoute(int mode, boolean force) {
|
||||
JitsiMeetLogger.i(TAG + " Update audio route for mode: " + mode);
|
||||
|
||||
if (!audioDeviceHandler.setMode(mode)) {
|
||||
@@ -356,7 +366,7 @@ class AudioModeModule extends ReactContextBaseJavaModule {
|
||||
|
||||
// If the previously selected device and the current default one
|
||||
// match, do nothing.
|
||||
if (selectedDevice != null && selectedDevice.equals(audioDevice)) {
|
||||
if (!force && selectedDevice != null && selectedDevice.equals(audioDevice)) {
|
||||
return true;
|
||||
}
|
||||
|
||||
@@ -421,7 +431,16 @@ class AudioModeModule extends ReactContextBaseJavaModule {
|
||||
*/
|
||||
void updateAudioRoute() {
|
||||
if (mode != -1) {
|
||||
updateAudioRoute(mode);
|
||||
updateAudioRoute(mode, false);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Re-sets the current audio route. Needed when focus is lost and regained.
|
||||
*/
|
||||
void resetAudioRoute() {
|
||||
if (mode != -1) {
|
||||
updateAudioRoute(mode, true);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -1,6 +1,5 @@
|
||||
/*
|
||||
* Copyright @ 2018-present 8x8, Inc.
|
||||
* Copyright @ 2017-2018 Atlassian Pty Ltd
|
||||
* Copyright @ 2017-present 8x8, Inc.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
@@ -16,12 +15,16 @@
|
||||
*/
|
||||
package org.jitsi.meet.sdk;
|
||||
|
||||
import android.app.Activity;
|
||||
import android.content.Context;
|
||||
import android.content.SharedPreferences;
|
||||
import android.os.Bundle;
|
||||
|
||||
import com.facebook.react.ReactInstanceManager;
|
||||
|
||||
import org.devio.rn.splashscreen.SplashScreen;
|
||||
import org.jitsi.meet.sdk.log.JitsiMeetLogger;
|
||||
|
||||
public class JitsiMeet {
|
||||
|
||||
/**
|
||||
@@ -81,4 +84,17 @@ public class JitsiMeet {
|
||||
String value = preferences.getString("isCrashReportingDisabled", "");
|
||||
return Boolean.parseBoolean(value);
|
||||
}
|
||||
|
||||
/**
|
||||
* Helper method to show the SplashScreen.
|
||||
*
|
||||
* @param activity - The activity on which to show the SplashScreen {@link Activity}.
|
||||
*/
|
||||
public static void showSplashScreen(Activity activity) {
|
||||
try {
|
||||
SplashScreen.show(activity);
|
||||
} catch (Exception e) {
|
||||
JitsiMeetLogger.e(e, "Failed to show splash screen");
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -43,6 +43,7 @@ class PictureInPictureModule extends ReactContextBaseJavaModule {
|
||||
private static final String TAG = NAME;
|
||||
|
||||
private static boolean isSupported;
|
||||
private boolean isDisabled;
|
||||
|
||||
public PictureInPictureModule(ReactApplicationContext reactContext) {
|
||||
super(reactContext);
|
||||
@@ -83,6 +84,10 @@ class PictureInPictureModule extends ReactContextBaseJavaModule {
|
||||
*/
|
||||
@TargetApi(Build.VERSION_CODES.O)
|
||||
public void enterPictureInPicture() {
|
||||
if (isDisabled) {
|
||||
return;
|
||||
}
|
||||
|
||||
if (!isSupported) {
|
||||
throw new IllegalStateException("Picture-in-Picture not supported");
|
||||
}
|
||||
@@ -126,6 +131,11 @@ class PictureInPictureModule extends ReactContextBaseJavaModule {
|
||||
}
|
||||
}
|
||||
|
||||
@ReactMethod
|
||||
public void setPictureInPictureDisabled(Boolean disabled) {
|
||||
this.isDisabled = disabled;
|
||||
}
|
||||
|
||||
public boolean isPictureInPictureSupported() {
|
||||
return isSupported;
|
||||
}
|
||||
|
||||
@@ -23,19 +23,18 @@ import androidx.annotation.Nullable;
|
||||
import com.facebook.react.ReactInstanceManager;
|
||||
import com.facebook.react.ReactPackage;
|
||||
import com.facebook.react.bridge.NativeModule;
|
||||
import com.facebook.react.bridge.ReactContext;
|
||||
import com.facebook.react.bridge.ReactApplicationContext;
|
||||
import com.facebook.react.bridge.ReactContext;
|
||||
import com.facebook.react.common.LifecycleState;
|
||||
import com.facebook.react.devsupport.DevInternalSettings;
|
||||
import com.facebook.react.jscexecutor.JSCExecutorFactory;
|
||||
import com.facebook.react.modules.core.DeviceEventManagerModule;
|
||||
import com.facebook.react.uimanager.ViewManager;
|
||||
import com.facebook.soloader.SoLoader;
|
||||
|
||||
import com.oney.WebRTCModule.RTCVideoViewManager;
|
||||
import com.oney.WebRTCModule.WebRTCModule;
|
||||
|
||||
import org.jitsi.meet.sdk.log.JitsiMeetLogger;
|
||||
import org.devio.rn.splashscreen.SplashScreenModule;
|
||||
import org.webrtc.SoftwareVideoDecoderFactory;
|
||||
import org.webrtc.SoftwareVideoEncoderFactory;
|
||||
import org.webrtc.audio.AudioDeviceModule;
|
||||
@@ -69,6 +68,7 @@ class ReactInstanceManagerHolder {
|
||||
new JavaScriptSandboxModule(reactContext),
|
||||
new LocaleDetector(reactContext),
|
||||
new LogBridgeModule(reactContext),
|
||||
new SplashScreenModule(reactContext),
|
||||
new PictureInPictureModule(reactContext),
|
||||
new ProximityModule(reactContext),
|
||||
new WiFiStatsModule(reactContext),
|
||||
|
||||
@@ -21,6 +21,8 @@ include ':react-native-linear-gradient'
|
||||
project(':react-native-linear-gradient').projectDir = new File(rootProject.projectDir, '../node_modules/react-native-linear-gradient/android')
|
||||
include ':react-native-sound'
|
||||
project(':react-native-sound').projectDir = new File(rootProject.projectDir, '../node_modules/react-native-sound/android')
|
||||
include ':react-native-splash-screen'
|
||||
project(':react-native-splash-screen').projectDir = new File(rootProject.projectDir, '../node_modules/react-native-splash-screen/android')
|
||||
include ':react-native-svg'
|
||||
project(':react-native-svg').projectDir = new File(rootProject.projectDir, '../node_modules/react-native-svg/android')
|
||||
include ':react-native-webrtc'
|
||||
|
||||
9
app.js
@@ -6,6 +6,8 @@ import 'jQuery-Impromptu';
|
||||
|
||||
import 'olm';
|
||||
|
||||
import 'focus-visible';
|
||||
|
||||
// We need to setup the jitsi-local-storage as early as possible so that we can start using it.
|
||||
// NOTE: If jitsi-local-storage is used before the initial setup is performed this will break the use case when we use
|
||||
// the local storage from the parent page when the localStorage is disabled. Also the setup is relying that
|
||||
@@ -15,12 +17,14 @@ import conference from './conference';
|
||||
import API from './modules/API';
|
||||
import UI from './modules/UI/UI';
|
||||
import keyboardshortcut from './modules/keyboardshortcut/keyboardshortcut';
|
||||
import remoteControl from './modules/remotecontrol/RemoteControl';
|
||||
import translation from './modules/translation/translation';
|
||||
|
||||
// Initialize Olm as early as possible.
|
||||
if (window.Olm) {
|
||||
window.Olm.init();
|
||||
window.Olm.init().catch(e => {
|
||||
console.error('Failed to initialize Olm, E2EE will be disabled', e);
|
||||
delete window.Olm;
|
||||
});
|
||||
}
|
||||
|
||||
window.APP = {
|
||||
@@ -44,7 +48,6 @@ window.APP = {
|
||||
},
|
||||
|
||||
keyboardshortcut,
|
||||
remoteControl,
|
||||
translation,
|
||||
UI
|
||||
};
|
||||
|
||||
402
conference.js
@@ -3,7 +3,6 @@
|
||||
import EventEmitter from 'events';
|
||||
import Logger from 'jitsi-meet-logger';
|
||||
|
||||
import * as JitsiMeetConferenceEvents from './ConferenceEvents';
|
||||
import { openConnection } from './connection';
|
||||
import { ENDPOINT_TEXT_MESSAGE_NAME } from './modules/API/constants';
|
||||
import AuthHandler from './modules/UI/authentication/AuthHandler';
|
||||
@@ -24,7 +23,6 @@ import {
|
||||
reloadWithStoredParams
|
||||
} from './react/features/app/actions';
|
||||
import {
|
||||
AVATAR_ID_COMMAND,
|
||||
AVATAR_URL_COMMAND,
|
||||
EMAIL_COMMAND,
|
||||
authStatusChanged,
|
||||
@@ -42,8 +40,7 @@ import {
|
||||
lockStateChanged,
|
||||
onStartMutedPolicyChanged,
|
||||
p2pStatusChanged,
|
||||
sendLocalParticipant,
|
||||
setDesktopSharingEnabled
|
||||
sendLocalParticipant
|
||||
} from './react/features/base/conference';
|
||||
import {
|
||||
checkAndNotifyForNewDevice,
|
||||
@@ -55,6 +52,7 @@ import {
|
||||
updateDeviceList
|
||||
} from './react/features/base/devices';
|
||||
import {
|
||||
browser,
|
||||
isFatalJitsiConnectionError,
|
||||
JitsiConferenceErrors,
|
||||
JitsiConferenceEvents,
|
||||
@@ -66,6 +64,8 @@ import {
|
||||
JitsiTrackEvents
|
||||
} from './react/features/base/lib-jitsi-meet';
|
||||
import {
|
||||
getStartWithAudioMuted,
|
||||
getStartWithVideoMuted,
|
||||
isVideoMutedByUser,
|
||||
MEDIA_TYPE,
|
||||
setAudioAvailable,
|
||||
@@ -85,7 +85,8 @@ import {
|
||||
participantMutedUs,
|
||||
participantPresenceChanged,
|
||||
participantRoleChanged,
|
||||
participantUpdated
|
||||
participantUpdated,
|
||||
updateRemoteParticipantFeatures
|
||||
} from './react/features/base/participants';
|
||||
import {
|
||||
getUserSelectedCameraDeviceId,
|
||||
@@ -97,17 +98,15 @@ import {
|
||||
destroyLocalTracks,
|
||||
getLocalJitsiAudioTrack,
|
||||
getLocalJitsiVideoTrack,
|
||||
isLocalVideoTrackMuted,
|
||||
isLocalCameraTrackMuted,
|
||||
isLocalTrackMuted,
|
||||
isUserInteractionRequiredForUnmute,
|
||||
replaceLocalTrack,
|
||||
trackAdded,
|
||||
trackRemoved
|
||||
} from './react/features/base/tracks';
|
||||
import {
|
||||
getBackendSafePath,
|
||||
getJitsiMeetGlobalNS
|
||||
} from './react/features/base/util';
|
||||
import { downloadJSON } from './react/features/base/util/downloadJSON';
|
||||
import { getConferenceOptions } from './react/features/conference/functions';
|
||||
import { showDesktopPicker } from './react/features/desktop-picker';
|
||||
import { appendSuffix } from './react/features/display-name';
|
||||
import {
|
||||
@@ -123,15 +122,13 @@ import {
|
||||
isPrejoinPageVisible,
|
||||
makePrecallTest
|
||||
} from './react/features/prejoin';
|
||||
import { createRnnoiseProcessorPromise } from './react/features/rnnoise';
|
||||
import { disableReceiver, stopReceiver } from './react/features/remote-control';
|
||||
import { toggleScreenshotCaptureEffect } from './react/features/screenshot-capture';
|
||||
import { setSharedVideoStatus } from './react/features/shared-video';
|
||||
import { AudioMixerEffect } from './react/features/stream-effects/audio-mixer/AudioMixerEffect';
|
||||
import { createPresenterEffect } from './react/features/stream-effects/presenter';
|
||||
import { endpointMessageReceived } from './react/features/subtitles';
|
||||
import UIEvents from './service/UI/UIEvents';
|
||||
import * as RemoteControlEvents
|
||||
from './service/remotecontrol/RemoteControlEvents';
|
||||
|
||||
const logger = Logger.getLogger(__filename);
|
||||
|
||||
@@ -172,7 +169,6 @@ window.JitsiMeetScreenObtainer = {
|
||||
* Known custom conference commands.
|
||||
*/
|
||||
const commands = {
|
||||
AVATAR_ID: AVATAR_ID_COMMAND,
|
||||
AVATAR_URL: AVATAR_URL_COMMAND,
|
||||
CUSTOM_ROLE: 'custom-role',
|
||||
EMAIL: EMAIL_COMMAND,
|
||||
@@ -444,17 +440,8 @@ export default {
|
||||
* the tracks won't exist).
|
||||
*/
|
||||
_localTracksInitialized: false,
|
||||
isSharingScreen: false,
|
||||
|
||||
/**
|
||||
* Indicates if the desktop sharing functionality has been enabled.
|
||||
* It takes into consideration the status returned by
|
||||
* {@link JitsiMeetJS.isDesktopSharingEnabled()}. The latter can be false
|
||||
* either if the desktop sharing is not supported by the current browser
|
||||
* or if it was disabled through lib-jitsi-meet specific options (check
|
||||
* config.js for listed options).
|
||||
*/
|
||||
isDesktopSharingEnabled: false,
|
||||
isSharingScreen: false,
|
||||
|
||||
/**
|
||||
* The local audio track (if any).
|
||||
@@ -506,9 +493,9 @@ export default {
|
||||
|
||||
JitsiMeetJS.mediaDevices.addEventListener(
|
||||
JitsiMediaDevicesEvents.PERMISSION_PROMPT_IS_SHOWN,
|
||||
browser =>
|
||||
browserName =>
|
||||
APP.store.dispatch(
|
||||
mediaPermissionPromptVisibilityChanged(true, browser))
|
||||
mediaPermissionPromptVisibilityChanged(true, browserName))
|
||||
);
|
||||
|
||||
let tryCreateLocalTracks;
|
||||
@@ -607,6 +594,42 @@ export default {
|
||||
};
|
||||
},
|
||||
|
||||
/**
|
||||
* Displays error notifications according to the state carried by {@code errors} object returned
|
||||
* by {@link createInitialLocalTracks}.
|
||||
* @param {Object} errors - the errors (if any) returned by {@link createInitialLocalTracks}.
|
||||
*
|
||||
* @returns {void}
|
||||
* @private
|
||||
*/
|
||||
_displayErrorsForCreateInitialLocalTracks(errors) {
|
||||
const {
|
||||
audioAndVideoError,
|
||||
audioOnlyError,
|
||||
screenSharingError,
|
||||
videoOnlyError
|
||||
} = errors;
|
||||
|
||||
// FIXME If there will be microphone error it will cover any screensharing dialog, but it's still better than in
|
||||
// the reverse order where the screensharing dialog will sometimes be closing the microphone alert
|
||||
// ($.prompt.close(); is called). Need to figure out dialogs chaining to fix that.
|
||||
if (screenSharingError) {
|
||||
this._handleScreenSharingError(screenSharingError);
|
||||
}
|
||||
if (audioAndVideoError || audioOnlyError) {
|
||||
if (audioOnlyError || videoOnlyError) {
|
||||
// If both requests for 'audio' + 'video' and 'audio' only failed, we assume that there are some
|
||||
// problems with user's microphone and show corresponding dialog.
|
||||
APP.store.dispatch(notifyMicError(audioOnlyError));
|
||||
APP.store.dispatch(notifyCameraError(videoOnlyError));
|
||||
} else {
|
||||
// If request for 'audio' + 'video' failed, but request for 'audio' only was OK, we assume that we had
|
||||
// problems with camera and show corresponding dialog.
|
||||
APP.store.dispatch(notifyCameraError(audioAndVideoError));
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
/**
|
||||
* Creates local media tracks and connects to a room. Will show error
|
||||
* dialogs in case accessing the local microphone and/or camera failed. Will
|
||||
@@ -627,38 +650,11 @@ export default {
|
||||
*/
|
||||
createInitialLocalTracksAndConnect(roomName, options = {}) {
|
||||
const { tryCreateLocalTracks, errors } = this.createInitialLocalTracks(options);
|
||||
const {
|
||||
audioAndVideoError,
|
||||
audioOnlyError,
|
||||
screenSharingError,
|
||||
videoOnlyError
|
||||
} = errors;
|
||||
|
||||
return Promise.all([ tryCreateLocalTracks, connect(roomName) ])
|
||||
.then(([ tracks, con ]) => {
|
||||
// FIXME If there will be microphone error it will cover any
|
||||
// screensharing dialog, but it's still better than in
|
||||
// the reverse order where the screensharing dialog will
|
||||
// sometimes be closing the microphone alert ($.prompt.close();
|
||||
// is called). Need to figure out dialogs chaining to fix that.
|
||||
if (screenSharingError) {
|
||||
this._handleScreenSharingError(screenSharingError);
|
||||
}
|
||||
if (audioAndVideoError || audioOnlyError) {
|
||||
if (audioOnlyError || videoOnlyError) {
|
||||
// If both requests for 'audio' + 'video' and 'audio'
|
||||
// only failed, we assume that there are some problems
|
||||
// with user's microphone and show corresponding dialog.
|
||||
APP.store.dispatch(notifyMicError(audioOnlyError));
|
||||
APP.store.dispatch(notifyCameraError(videoOnlyError));
|
||||
} else {
|
||||
// If request for 'audio' + 'video' failed, but request
|
||||
// for 'audio' only was OK, we assume that we had
|
||||
// problems with camera and show corresponding dialog.
|
||||
APP.store.dispatch(
|
||||
notifyCameraError(audioAndVideoError));
|
||||
}
|
||||
}
|
||||
|
||||
this._displayErrorsForCreateInitialLocalTracks(errors);
|
||||
|
||||
return [ tracks, con ];
|
||||
});
|
||||
@@ -682,16 +678,7 @@ export default {
|
||||
con.addEventListener(JitsiConnectionEvents.CONNECTION_FAILED, _connectionFailedHandler);
|
||||
APP.connection = connection = con;
|
||||
|
||||
// Desktop sharing related stuff:
|
||||
this.isDesktopSharingEnabled
|
||||
= JitsiMeetJS.isDesktopSharingEnabled();
|
||||
eventEmitter.emit(JitsiMeetConferenceEvents.DESKTOP_SHARING_ENABLED_CHANGED, this.isDesktopSharingEnabled);
|
||||
|
||||
APP.store.dispatch(
|
||||
setDesktopSharingEnabled(this.isDesktopSharingEnabled));
|
||||
|
||||
this._createRoom(tracks);
|
||||
APP.remoteControl.init();
|
||||
|
||||
// if user didn't give access to mic or camera or doesn't have
|
||||
// them at all, we mark corresponding toolbar buttons as muted,
|
||||
@@ -736,10 +723,10 @@ export default {
|
||||
const initialOptions = {
|
||||
startAudioOnly: config.startAudioOnly,
|
||||
startScreenSharing: config.startScreenSharing,
|
||||
startWithAudioMuted: config.startWithAudioMuted
|
||||
startWithAudioMuted: getStartWithAudioMuted(APP.store.getState())
|
||||
|| config.startSilent
|
||||
|| isUserInteractionRequiredForUnmute(APP.store.getState()),
|
||||
startWithVideoMuted: config.startWithVideoMuted
|
||||
startWithVideoMuted: getStartWithVideoMuted(APP.store.getState())
|
||||
|| isUserInteractionRequiredForUnmute(APP.store.getState())
|
||||
};
|
||||
|
||||
@@ -775,7 +762,15 @@ export default {
|
||||
// they may remain as empty strings.
|
||||
this._initDeviceList(true);
|
||||
|
||||
return APP.store.dispatch(initPrejoin(tracks, errors));
|
||||
if (isPrejoinPageVisible(APP.store.getState())) {
|
||||
return APP.store.dispatch(initPrejoin(tracks, errors));
|
||||
}
|
||||
|
||||
logger.debug('Prejoin screen no longer displayed at the time when tracks were created');
|
||||
|
||||
this._displayErrorsForCreateInitialLocalTracks(errors);
|
||||
|
||||
return this._setLocalAudioVideoStreams(tracks);
|
||||
}
|
||||
|
||||
const [ tracks, con ] = await this.createInitialLocalTracksAndConnect(
|
||||
@@ -814,7 +809,7 @@ export default {
|
||||
isLocalVideoMuted() {
|
||||
// If the tracks are not ready, read from base/media state
|
||||
return this._localTracksInitialized
|
||||
? isLocalVideoTrackMuted(
|
||||
? isLocalCameraTrackMuted(
|
||||
APP.store.getState()['features/base/tracks'])
|
||||
: isVideoMutedByUser(APP.store);
|
||||
},
|
||||
@@ -1137,20 +1132,6 @@ export default {
|
||||
return room ? room.getParticipantById(id) : null;
|
||||
},
|
||||
|
||||
/**
|
||||
* Get participant connection status for the participant.
|
||||
*
|
||||
* @param {string} id participant's identifier(MUC nickname)
|
||||
*
|
||||
* @returns {ParticipantConnectionStatus|null} the status of the participant
|
||||
* or null if no such participant is found or participant is the local user.
|
||||
*/
|
||||
getParticipantConnectionStatus(id) {
|
||||
const participant = this.getParticipantById(id);
|
||||
|
||||
return participant ? participant.getConnectionStatus() : null;
|
||||
},
|
||||
|
||||
/**
|
||||
* Gets the display name foe the <tt>JitsiParticipant</tt> identified by
|
||||
* the given <tt>id</tt>.
|
||||
@@ -1221,19 +1202,8 @@ export default {
|
||||
// this can be called from console and will not have reference to this
|
||||
// that's why we reference the global var
|
||||
const logs = APP.connection.getLogs();
|
||||
const data = encodeURIComponent(JSON.stringify(logs, null, ' '));
|
||||
|
||||
const elem = document.createElement('a');
|
||||
|
||||
elem.download = filename;
|
||||
elem.href = `data:application/json;charset=utf-8,\n${data}`;
|
||||
elem.dataset.downloadurl
|
||||
= [ 'text/json', elem.download, elem.href ].join(':');
|
||||
elem.dispatchEvent(new MouseEvent('click', {
|
||||
view: window,
|
||||
bubbles: true,
|
||||
cancelable: false
|
||||
}));
|
||||
downloadJSON(logs, filename);
|
||||
},
|
||||
|
||||
/**
|
||||
@@ -1329,53 +1299,7 @@ export default {
|
||||
},
|
||||
|
||||
_getConferenceOptions() {
|
||||
const options = config;
|
||||
const { email, name: nick } = getLocalParticipant(APP.store.getState());
|
||||
|
||||
const state = APP.store.getState();
|
||||
const { locationURL } = state['features/base/connection'];
|
||||
const { tenant } = state['features/base/jwt'];
|
||||
|
||||
if (tenant) {
|
||||
options.siteID = tenant;
|
||||
}
|
||||
|
||||
if (options.enableDisplayNameInStats && nick) {
|
||||
options.statisticsDisplayName = nick;
|
||||
}
|
||||
|
||||
if (options.enableEmailInStats && email) {
|
||||
options.statisticsId = email;
|
||||
}
|
||||
|
||||
options.applicationName = interfaceConfig.APP_NAME;
|
||||
options.getWiFiStatsMethod = this._getWiFiStatsMethod;
|
||||
options.confID = `${locationURL.host}${getBackendSafePath(locationURL.pathname)}`;
|
||||
options.createVADProcessor = createRnnoiseProcessorPromise;
|
||||
|
||||
// Disable CallStats, if requessted.
|
||||
if (options.disableThirdPartyRequests) {
|
||||
delete options.callStatsID;
|
||||
delete options.callStatsSecret;
|
||||
delete options.getWiFiStatsMethod;
|
||||
}
|
||||
|
||||
return options;
|
||||
},
|
||||
|
||||
/**
|
||||
* Returns the result of getWiFiStats from the global NS or does nothing
|
||||
* (returns empty result).
|
||||
* Fixes a concurrency problem where we need to pass a function when creating
|
||||
* JitsiConference, but that method is added to the context later.
|
||||
*
|
||||
* @returns {Promise}
|
||||
* @private
|
||||
*/
|
||||
_getWiFiStatsMethod() {
|
||||
const gloabalNS = getJitsiMeetGlobalNS();
|
||||
|
||||
return gloabalNS.getWiFiStats ? gloabalNS.getWiFiStats() : Promise.resolve('{}');
|
||||
return getConferenceOptions(APP.store.getState());
|
||||
},
|
||||
|
||||
/**
|
||||
@@ -1519,11 +1443,8 @@ export default {
|
||||
async _turnScreenSharingOff(didHaveVideo) {
|
||||
this._untoggleScreenSharing = null;
|
||||
this.videoSwitchInProgress = true;
|
||||
const { receiver } = APP.remoteControl;
|
||||
|
||||
if (receiver) {
|
||||
receiver.stop();
|
||||
}
|
||||
APP.store.dispatch(stopReceiver());
|
||||
|
||||
this._stopProxyConnection();
|
||||
if (config.enableScreenshotCapture) {
|
||||
@@ -1606,9 +1527,8 @@ export default {
|
||||
if (this.videoSwitchInProgress) {
|
||||
return Promise.reject('Switch in progress.');
|
||||
}
|
||||
if (!this.isDesktopSharingEnabled) {
|
||||
return Promise.reject(
|
||||
'Cannot toggle screen sharing: not supported.');
|
||||
if (!JitsiMeetJS.isDesktopSharingEnabled()) {
|
||||
return Promise.reject('Cannot toggle screen sharing: not supported.');
|
||||
}
|
||||
|
||||
if (this.isAudioOnly()) {
|
||||
@@ -1698,8 +1618,10 @@ export default {
|
||||
*/
|
||||
async _createPresenterStreamEffect(height = null, cameraDeviceId = null) {
|
||||
if (!this.localPresenterVideo) {
|
||||
const camera = cameraDeviceId ?? getUserSelectedCameraDeviceId(APP.store.getState());
|
||||
|
||||
try {
|
||||
this.localPresenterVideo = await createLocalPresenterTrack({ cameraDeviceId }, height);
|
||||
this.localPresenterVideo = await createLocalPresenterTrack({ cameraDeviceId: camera }, height);
|
||||
} catch (err) {
|
||||
logger.error('Failed to create a camera track for presenter', err);
|
||||
|
||||
@@ -1740,38 +1662,38 @@ export default {
|
||||
|
||||
// Create a new presenter track and apply the presenter effect.
|
||||
if (!this.localPresenterVideo && !mute) {
|
||||
let { aspectRatio, height } = this.localVideo.track.getSettings();
|
||||
const { width } = this.localVideo.track.getSettings();
|
||||
let desktopResizeConstraints = {};
|
||||
let resizeDesktopStream = false;
|
||||
const { height, width } = this.localVideo.track.getSettings() ?? this.localVideo.track.getConstraints();
|
||||
const isPortrait = height >= width;
|
||||
const DESKTOP_STREAM_CAP = 720;
|
||||
|
||||
// Determine the constraints if the desktop track needs to be resized.
|
||||
// Resizing is needed when the resolution cannot be determined or when
|
||||
// the window is bigger than 720p.
|
||||
if (height && width) {
|
||||
aspectRatio = aspectRatio ?? (width / height).toPrecision(4);
|
||||
const advancedConstraints = [ { aspectRatio } ];
|
||||
const isPortrait = height >= width;
|
||||
// Config.js setting for resizing high resolution desktop tracks to 720p when presenter is turned on.
|
||||
const resizeEnabled = config.videoQuality && config.videoQuality.resizeDesktopForPresenter;
|
||||
const highResolutionTrack
|
||||
= (isPortrait && width > DESKTOP_STREAM_CAP) || (!isPortrait && height > DESKTOP_STREAM_CAP);
|
||||
|
||||
// Resizing the desktop track for presenter is causing blurriness of the desktop share on chrome.
|
||||
// Disable resizing by default, enable it only when config.js setting is enabled.
|
||||
// Firefox doesn't return width and height for desktop tracks. Therefore, track needs to be resized
|
||||
// for creating the canvas for presenter.
|
||||
const resizeDesktopStream = browser.isFirefox() || (highResolutionTrack && resizeEnabled);
|
||||
|
||||
// Determine which dimension needs resizing and resize only that side
|
||||
// keeping the aspect ratio same as before.
|
||||
if (isPortrait && width > DESKTOP_STREAM_CAP) {
|
||||
resizeDesktopStream = true;
|
||||
advancedConstraints.push({ width: DESKTOP_STREAM_CAP });
|
||||
} else if (!isPortrait && height > DESKTOP_STREAM_CAP) {
|
||||
resizeDesktopStream = true;
|
||||
advancedConstraints.push({ height: DESKTOP_STREAM_CAP });
|
||||
}
|
||||
desktopResizeConstraints.advanced = advancedConstraints;
|
||||
} else {
|
||||
resizeDesktopStream = true;
|
||||
desktopResizeConstraints = {
|
||||
width: 1280,
|
||||
height: 720
|
||||
};
|
||||
}
|
||||
if (resizeDesktopStream) {
|
||||
let desktopResizeConstraints = {};
|
||||
|
||||
if (height && width) {
|
||||
const advancedConstraints = [ { aspectRatio: (width / height).toPrecision(4) } ];
|
||||
const constraint = isPortrait ? { width: DESKTOP_STREAM_CAP } : { height: DESKTOP_STREAM_CAP };
|
||||
|
||||
advancedConstraints.push(constraint);
|
||||
desktopResizeConstraints.advanced = advancedConstraints;
|
||||
} else {
|
||||
desktopResizeConstraints = {
|
||||
width: 1280,
|
||||
height: 720
|
||||
};
|
||||
}
|
||||
|
||||
// Apply the contraints on the desktop track.
|
||||
try {
|
||||
await this.localVideo.track.applyConstraints(desktopResizeConstraints);
|
||||
} catch (err) {
|
||||
@@ -1779,20 +1701,22 @@ export default {
|
||||
|
||||
return;
|
||||
}
|
||||
height = this.localVideo.track.getSettings().height ?? DESKTOP_STREAM_CAP;
|
||||
}
|
||||
const defaultCamera = getUserSelectedCameraDeviceId(APP.store.getState());
|
||||
const trackHeight = resizeDesktopStream
|
||||
? this.localVideo.track.getSettings().height ?? DESKTOP_STREAM_CAP
|
||||
: height;
|
||||
let effect;
|
||||
|
||||
try {
|
||||
effect = await this._createPresenterStreamEffect(height,
|
||||
defaultCamera);
|
||||
effect = await this._createPresenterStreamEffect(trackHeight);
|
||||
} catch (err) {
|
||||
logger.error('Failed to unmute Presenter Video');
|
||||
logger.error('Failed to unmute Presenter Video', err);
|
||||
maybeShowErrorDialog(err);
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
// Replace the desktop track on the peerconnection.
|
||||
try {
|
||||
await this.localVideo.setEffect(effect);
|
||||
APP.store.dispatch(setVideoMuted(mute, MEDIA_TYPE.PRESENTER));
|
||||
@@ -1943,8 +1867,9 @@ export default {
|
||||
(authEnabled, authLogin) =>
|
||||
APP.store.dispatch(authStatusChanged(authEnabled, authLogin)));
|
||||
|
||||
room.on(JitsiConferenceEvents.PARTCIPANT_FEATURES_CHANGED,
|
||||
user => APP.UI.onUserFeaturesChanged(user));
|
||||
room.on(JitsiConferenceEvents.PARTCIPANT_FEATURES_CHANGED, user => {
|
||||
APP.store.dispatch(updateRemoteParticipantFeatures(user));
|
||||
});
|
||||
room.on(JitsiConferenceEvents.USER_JOINED, (id, user) => {
|
||||
// The logic shared between RN and web.
|
||||
commonUserJoinedHandling(APP.store, room, user);
|
||||
@@ -1953,6 +1878,7 @@ export default {
|
||||
return;
|
||||
}
|
||||
|
||||
APP.store.dispatch(updateRemoteParticipantFeatures(user));
|
||||
logger.log(`USER ${id} connnected:`, user);
|
||||
APP.UI.addUser(user);
|
||||
});
|
||||
@@ -2085,7 +2011,6 @@ export default {
|
||||
formattedDisplayName
|
||||
|| interfaceConfig.DEFAULT_REMOTE_DISPLAY_NAME)
|
||||
});
|
||||
APP.UI.changeDisplayName(id, formattedDisplayName);
|
||||
}
|
||||
);
|
||||
room.on(
|
||||
@@ -2123,35 +2048,8 @@ export default {
|
||||
JitsiConferenceEvents.LOCK_STATE_CHANGED,
|
||||
(...args) => APP.store.dispatch(lockStateChanged(room, ...args)));
|
||||
|
||||
APP.remoteControl.on(RemoteControlEvents.ACTIVE_CHANGED, isActive => {
|
||||
room.setLocalParticipantProperty(
|
||||
'remoteControlSessionStatus',
|
||||
isActive
|
||||
);
|
||||
APP.UI.setLocalRemoteControlActiveChanged();
|
||||
});
|
||||
|
||||
/* eslint-disable max-params */
|
||||
room.on(
|
||||
JitsiConferenceEvents.PARTICIPANT_PROPERTY_CHANGED,
|
||||
(participant, name, oldValue, newValue) => {
|
||||
switch (name) {
|
||||
case 'remoteControlSessionStatus':
|
||||
APP.UI.setRemoteControlActiveStatus(
|
||||
participant.getId(),
|
||||
newValue);
|
||||
break;
|
||||
default:
|
||||
|
||||
// ignore
|
||||
}
|
||||
});
|
||||
|
||||
room.on(JitsiConferenceEvents.KICKED, participant => {
|
||||
APP.UI.hideStats();
|
||||
APP.store.dispatch(kickedOut(room, participant));
|
||||
|
||||
// FIXME close
|
||||
});
|
||||
|
||||
room.on(JitsiConferenceEvents.PARTICIPANT_KICKED, (kicker, kicked) => {
|
||||
@@ -2196,16 +2094,6 @@ export default {
|
||||
}));
|
||||
});
|
||||
|
||||
room.addCommandListener(this.commands.defaults.AVATAR_ID,
|
||||
(data, from) => {
|
||||
APP.store.dispatch(
|
||||
participantUpdated({
|
||||
conference: room,
|
||||
id: from,
|
||||
avatarID: data.value
|
||||
}));
|
||||
});
|
||||
|
||||
APP.UI.addListener(UIEvents.NICKNAME_CHANGED,
|
||||
this.changeLocalDisplayName.bind(this));
|
||||
|
||||
@@ -2494,30 +2382,6 @@ export default {
|
||||
APP.keyboardshortcut.init();
|
||||
|
||||
APP.store.dispatch(conferenceJoined(room));
|
||||
|
||||
const displayName
|
||||
= APP.store.getState()['features/base/settings'].displayName;
|
||||
|
||||
APP.UI.changeDisplayName('localVideoContainer', displayName);
|
||||
},
|
||||
|
||||
/**
|
||||
* Adds any room listener.
|
||||
* @param {string} eventName one of the JitsiConferenceEvents
|
||||
* @param {Function} listener the function to be called when the event
|
||||
* occurs
|
||||
*/
|
||||
addConferenceListener(eventName, listener) {
|
||||
room.on(eventName, listener);
|
||||
},
|
||||
|
||||
/**
|
||||
* Removes any room listener.
|
||||
* @param {string} eventName one of the JitsiConferenceEvents
|
||||
* @param {Function} listener the listener to be removed.
|
||||
*/
|
||||
removeConferenceListener(eventName, listener) {
|
||||
room.off(eventName, listener);
|
||||
},
|
||||
|
||||
/**
|
||||
@@ -2674,6 +2538,20 @@ export default {
|
||||
// https://bugs.chromium.org/p/chromium/issues/detail?id=997689
|
||||
const hasDefaultMicChanged = newDevices.audioinput === 'default';
|
||||
|
||||
// This is the case when the local video is muted and a preferred device is connected.
|
||||
if (requestedInput.video && this.isLocalVideoMuted()) {
|
||||
// We want to avoid creating a new video track in order to prevent turning on the camera.
|
||||
requestedInput.video = false;
|
||||
APP.store.dispatch(updateSettings({ // Update the current selected camera for the device selection dialog.
|
||||
cameraDeviceId: newDevices.videoinput
|
||||
}));
|
||||
delete newDevices.videoinput;
|
||||
|
||||
// Removing the current video track in order to force the unmute to select the preferred device.
|
||||
this.useVideoStream(null);
|
||||
|
||||
}
|
||||
|
||||
promises.push(
|
||||
mediaDeviceHelper.createLocalTracksAfterDeviceListChanged(
|
||||
createLocalTracksF,
|
||||
@@ -2788,7 +2666,7 @@ export default {
|
||||
* requested
|
||||
*/
|
||||
hangup(requestFeedback = false) {
|
||||
eventEmitter.emit(JitsiMeetConferenceEvents.BEFORE_HANGUP);
|
||||
APP.store.dispatch(disableReceiver());
|
||||
|
||||
this._stopProxyConnection();
|
||||
|
||||
@@ -2805,7 +2683,6 @@ export default {
|
||||
}
|
||||
|
||||
APP.UI.removeAllListeners();
|
||||
APP.remoteControl.removeAllListeners();
|
||||
|
||||
let requestFeedbackPromise;
|
||||
|
||||
@@ -2982,33 +2859,6 @@ export default {
|
||||
APP.store.dispatch(updateSettings({
|
||||
displayName: formattedNickname
|
||||
}));
|
||||
|
||||
if (room) {
|
||||
APP.UI.changeDisplayName(id, formattedNickname);
|
||||
}
|
||||
},
|
||||
|
||||
/**
|
||||
* Returns the desktop sharing source id or undefined if the desktop sharing
|
||||
* is not active at the moment.
|
||||
*
|
||||
* @returns {string|undefined} - The source id. If the track is not desktop
|
||||
* track or the source id is not available, undefined will be returned.
|
||||
*/
|
||||
getDesktopSharingSourceId() {
|
||||
return this.localVideo.sourceId;
|
||||
},
|
||||
|
||||
/**
|
||||
* Returns the desktop sharing source type or undefined if the desktop
|
||||
* sharing is not active at the moment.
|
||||
*
|
||||
* @returns {'screen'|'window'|undefined} - The source type. If the track is
|
||||
* not desktop track or the source type is not available, undefined will be
|
||||
* returned.
|
||||
*/
|
||||
getDesktopSharingSourceType() {
|
||||
return this.localVideo.sourceType;
|
||||
},
|
||||
|
||||
/**
|
||||
@@ -3095,7 +2945,7 @@ export default {
|
||||
* @param {boolean} muted - New muted status.
|
||||
*/
|
||||
setVideoMuteStatus(muted) {
|
||||
APP.UI.setVideoMuted(this.getMyUserId(), muted);
|
||||
APP.UI.setVideoMuted(this.getMyUserId());
|
||||
APP.API.notifyVideoMutedStatusChanged(muted);
|
||||
},
|
||||
|
||||
|
||||
82
config.js
@@ -14,9 +14,6 @@ var config = {
|
||||
// Domain for authenticated users. Defaults to <domain>.
|
||||
// authdomain: 'jitsi-meet.example.com',
|
||||
|
||||
// Call control component (Jigasi).
|
||||
// call_control: 'callcontrol.jitsi-meet.example.com',
|
||||
|
||||
// Focus component domain. Defaults to focus.<domain>.
|
||||
// focus: 'focus.jitsi-meet.example.com',
|
||||
|
||||
@@ -94,6 +91,11 @@ var config = {
|
||||
// input and will suggest another valid device if one is present.
|
||||
enableNoAudioDetection: true,
|
||||
|
||||
// Enabling this will show a "Save Logs" link in the GSM popover that can be
|
||||
// used to collect debug information (XMPP IQs, SDP offer/answer cycles)
|
||||
// about the call.
|
||||
// enableSaveLogs: false,
|
||||
|
||||
// Enabling this will run the lib-jitsi-meet noise detection module which will
|
||||
// notify the user if there is noise, other than voice, coming from the current
|
||||
// selected microphone. The purpose it to let the user know that the input could
|
||||
@@ -120,7 +122,7 @@ var config = {
|
||||
// Valid values are in the range 6000 to 510000
|
||||
// opusMaxAverageBitrate: 20000,
|
||||
|
||||
// Enables redundancy for Opus
|
||||
// Enables support for opus-red (redundancy for Opus).
|
||||
// enableOpusRed: false
|
||||
|
||||
// Video
|
||||
@@ -275,9 +277,13 @@ var config = {
|
||||
// // at least 360 pixels tall. If the thumbnail height reaches 720 pixels then the application will switch to
|
||||
// // the high quality.
|
||||
// minHeightForQualityLvl: {
|
||||
// 360: 'standard,
|
||||
// 360: 'standard',
|
||||
// 720: 'high'
|
||||
// }
|
||||
// },
|
||||
//
|
||||
// // Provides a way to resize the desktop track to 720p (if it is greater than 720p) before creating a canvas
|
||||
// // for the presenter mode (camera picture-in-picture mode with screenshare).
|
||||
// resizeDesktopForPresenter: false
|
||||
// },
|
||||
|
||||
// // Options for the recording limit notification.
|
||||
@@ -298,18 +304,11 @@ var config = {
|
||||
// Disables or enables RTX (RFC 4588) (defaults to false).
|
||||
// disableRtx: false,
|
||||
|
||||
// Disables or enables TCC (the default is in Jicofo and set to true)
|
||||
// (draft-holmer-rmcat-transport-wide-cc-extensions-01). This setting
|
||||
// affects congestion control, it practically enables send-side bandwidth
|
||||
// estimations.
|
||||
// Disables or enables TCC support in this client (default: enabled).
|
||||
// enableTcc: true,
|
||||
|
||||
// Disables or enables REMB (the default is in Jicofo and set to false)
|
||||
// (draft-alvestrand-rmcat-remb-03). This setting affects congestion
|
||||
// control, it practically enables recv-side bandwidth estimations. When
|
||||
// both TCC and REMB are enabled, TCC takes precedence. When both are
|
||||
// disabled, then bandwidth estimations are disabled.
|
||||
// enableRemb: false,
|
||||
// Disables or enables REMB support in this client (default: enabled).
|
||||
// enableRemb: true,
|
||||
|
||||
// Enables ICE restart logic in LJM and displays the page reload overlay on
|
||||
// ICE failure. Current disabled by default because it's causing issues with
|
||||
@@ -319,27 +318,11 @@ var config = {
|
||||
// TCC sequence numbers starting from 0.
|
||||
// enableIceRestart: false,
|
||||
|
||||
// Defines the minimum number of participants to start a call (the default
|
||||
// is set in Jicofo and set to 2).
|
||||
// minParticipants: 2,
|
||||
|
||||
// Use the TURN servers discovered via XEP-0215 for the jitsi-videobridge
|
||||
// connection
|
||||
// useStunTurn: true,
|
||||
|
||||
// Use TURN/UDP servers for the jitsi-videobridge connection (by default
|
||||
// we filter out TURN/UDP because it is usually not needed since the
|
||||
// bridge itself is reachable via UDP)
|
||||
// useTurnUdp: false
|
||||
|
||||
// Enables / disables a data communication channel with the Videobridge.
|
||||
// Values can be 'datachannel', 'websocket', true (treat it as
|
||||
// 'datachannel'), undefined (treat it as 'datachannel') and false (don't
|
||||
// open any channel).
|
||||
// openBridgeChannel: true,
|
||||
openBridgeChannel: 'websocket',
|
||||
|
||||
|
||||
// UI
|
||||
//
|
||||
|
||||
@@ -363,17 +346,12 @@ var config = {
|
||||
// Default language for the user interface.
|
||||
// defaultLanguage: 'en',
|
||||
|
||||
// If true all users without a token will be considered guests and all users
|
||||
// with token will be considered non-guests. Only guests will be allowed to
|
||||
// edit their profile.
|
||||
enableUserRolesBasedOnToken: false,
|
||||
// Disables profile and the edit of all fields from the profile settings (display name and email)
|
||||
// disableProfile: false,
|
||||
|
||||
// Whether or not some features are checked based on token.
|
||||
// enableFeaturesBasedOnToken: false,
|
||||
|
||||
// Enable lock room for all moderators, even when userRolesBasedOnToken is enabled and participants are guests.
|
||||
// lockRoomGuestEnabled: false,
|
||||
|
||||
// When enabled the password used for locking a room is restricted to up to the number of digits specified
|
||||
// roomPasswordNumberOfDigits: 10,
|
||||
// default: roomPasswordNumberOfDigits: false,
|
||||
@@ -389,6 +367,13 @@ var config = {
|
||||
// When 'true', it shows an intermediate page before joining, where the user can configure their devices.
|
||||
// prejoinPageEnabled: false,
|
||||
|
||||
// If etherpad integration is enabled, setting this to true will
|
||||
// automatically open the etherpad when a participant joins. This
|
||||
// does not affect the mobile app since opening an etherpad
|
||||
// obscures the conference controls -- it's better to let users
|
||||
// choose to open the pad on their own in that case.
|
||||
// openSharedDocumentOnJoin: false,
|
||||
|
||||
// If true, shows the unsafe room name warning label when a room name is
|
||||
// deemed unsafe (due to the simplicity in the name) and a password is not
|
||||
// set or the lobby is not enabled.
|
||||
@@ -398,6 +383,9 @@ var config = {
|
||||
// Document should be focused for this option to work
|
||||
// enableAutomaticUrlCopy: false,
|
||||
|
||||
// Base URL for a Gravatar-compatible service. Defaults to libravatar.
|
||||
// gravatarBaseURL: 'https://seccdn.libravatar.org/avatar/';
|
||||
|
||||
// Stats
|
||||
//
|
||||
|
||||
@@ -442,9 +430,6 @@ var config = {
|
||||
// connection.
|
||||
enabled: true,
|
||||
|
||||
// Use XEP-0215 to fetch STUN and TURN servers.
|
||||
// useStunTurn: true,
|
||||
|
||||
// The STUN servers that will be used in the peer to peer connections
|
||||
stunServers: [
|
||||
|
||||
@@ -613,6 +598,9 @@ var config = {
|
||||
// If set to true all muting operations of remote participants will be disabled.
|
||||
// disableRemoteMute: true,
|
||||
|
||||
// Enables support for lip-sync for this client (if the browser supports it).
|
||||
// enableLipSync: false
|
||||
|
||||
/**
|
||||
External API url used to receive branding specific information.
|
||||
If there is no url set or there are missing fields, the defaults are applied.
|
||||
@@ -635,6 +623,12 @@ var config = {
|
||||
// otherwise the app doesn't render it.
|
||||
// moderatedRoomServiceUrl: 'https://moderated.jitsi-meet.example.com',
|
||||
|
||||
// Hides the conference timer.
|
||||
// hideConferenceTimer: true,
|
||||
|
||||
// Sets the conference subject
|
||||
// subject: 'Conference Subject',
|
||||
|
||||
// List of undocumented settings used in jitsi-meet
|
||||
/**
|
||||
_immediateReloadThreshold
|
||||
@@ -681,13 +675,11 @@ var config = {
|
||||
disableAP
|
||||
disableHPF
|
||||
disableNS
|
||||
enableLipSync
|
||||
enableTalkWhileMuted
|
||||
forceJVB121Ratio
|
||||
forceTurnRelay
|
||||
hiddenDomain
|
||||
ignoreStartMuted
|
||||
nick
|
||||
startBitrate
|
||||
*/
|
||||
|
||||
|
||||
|
||||
@@ -28,9 +28,14 @@ body {
|
||||
overflow: hidden;
|
||||
color: $defaultColor;
|
||||
background: $defaultBackground;
|
||||
&.filmstrip-only {
|
||||
background: transparent;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* This will hide the focus indicator if an element receives focus via the mouse,
|
||||
* but it will still show up on keyboard focus, thus preserving accessibility.
|
||||
*/
|
||||
.js-focus-visible :focus:not(.focus-visible) {
|
||||
outline: none;
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -62,16 +67,6 @@ body {
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
/**
|
||||
* AtlasKitThemeProvider sets a background color on an app-wrapping div, thereby
|
||||
* preventing transparency in filmstrip-only mode. The selector chosen to
|
||||
* override this behavior is specific to where the AtlasKitThemeProvider might
|
||||
* be placed within the app hierarchy.
|
||||
*/
|
||||
.filmstrip-only #react > .ckAJgx {
|
||||
background: transparent;
|
||||
}
|
||||
|
||||
p {
|
||||
margin: 0;
|
||||
}
|
||||
@@ -206,3 +201,74 @@ form {
|
||||
background: rgba(0, 0, 0, .5);
|
||||
border-radius: 4px;
|
||||
}
|
||||
|
||||
.desktop-browser {
|
||||
@media only screen and (max-width: $smallScreen) {
|
||||
.watermark {
|
||||
width: 20%;
|
||||
height: 20%;
|
||||
}
|
||||
|
||||
.new-toolbox {
|
||||
.toolbox-content {
|
||||
.button-group-center, .button-group-left, .button-group-right {
|
||||
.toolbox-button {
|
||||
.toolbox-icon {
|
||||
width: 28px;
|
||||
height: 28px;
|
||||
svg {
|
||||
width: 18px;
|
||||
height: 18px;
|
||||
}
|
||||
}
|
||||
|
||||
&:nth-child(2) {
|
||||
.toolbox-icon {
|
||||
width: 30px;
|
||||
height: 30px;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@media only screen and (max-width: $verySmallScreen) {
|
||||
#videoResolutionLabel {
|
||||
display: none;
|
||||
}
|
||||
.vertical-filmstrip .filmstrip {
|
||||
display: none;
|
||||
}
|
||||
.new-toolbox {
|
||||
.toolbox-content {
|
||||
.button-group-center, .button-group-left, .button-group-right {
|
||||
.settings-button-small-icon {
|
||||
display: none;
|
||||
}
|
||||
.toolbox-button {
|
||||
.toolbox-icon {
|
||||
width: 18px;
|
||||
height: 18px;
|
||||
svg {
|
||||
width: 12px;
|
||||
height: 12px;
|
||||
}
|
||||
}
|
||||
|
||||
&:nth-child(2) {
|
||||
.toolbox-icon {
|
||||
width: 20px;
|
||||
height: 20px;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
.chrome-extension-banner {
|
||||
display: none;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -45,10 +45,8 @@
|
||||
@extend .connection-info__icon;
|
||||
}
|
||||
|
||||
.showmore {
|
||||
display: block;
|
||||
.connection-actions {
|
||||
margin: 10px auto;
|
||||
text-align: center;
|
||||
width: 90px;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,30 +1,30 @@
|
||||
.con-status {
|
||||
position: absolute;
|
||||
top: 40px;
|
||||
top: 24px;
|
||||
width: 100%;
|
||||
z-index: $toolbarZ + 3;
|
||||
|
||||
&-container {
|
||||
background: rgba(28, 32, 37, .5);
|
||||
border-radius: 3px;
|
||||
color: #fff;
|
||||
font-size: 13px;
|
||||
line-height: 20px;
|
||||
line-height: 13px;
|
||||
margin: 0 auto;
|
||||
width: 304px;
|
||||
width: 320px;
|
||||
}
|
||||
|
||||
&-header {
|
||||
background: rgba(28, 32, 37, .5);
|
||||
align-items: center;
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
padding: 8px;
|
||||
}
|
||||
|
||||
&-circle {
|
||||
border-radius: 50%;
|
||||
display: inline-block;
|
||||
padding: 4px;
|
||||
margin: 8px;
|
||||
}
|
||||
|
||||
&--good {
|
||||
@@ -40,6 +40,16 @@
|
||||
}
|
||||
|
||||
&-arrow {
|
||||
height: 36px;
|
||||
width: 36px;
|
||||
border-radius: 3px;
|
||||
margin-left: 8px;
|
||||
margin-right: 2px;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
transition: background-color 0.16s ease-out;
|
||||
|
||||
&--up {
|
||||
transform: rotate(180deg);
|
||||
}
|
||||
@@ -47,6 +57,10 @@
|
||||
&>svg {
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
&:hover {
|
||||
background-color: rgba(1,1,1, 0.1);
|
||||
}
|
||||
}
|
||||
|
||||
&-text {
|
||||
@@ -54,7 +68,17 @@
|
||||
}
|
||||
|
||||
&-details {
|
||||
background: rgba(28, 32, 37, .5);
|
||||
border-top: 1px solid #5E6D7A;
|
||||
padding: 16px;
|
||||
transition: opacity 0.16s ease-out;
|
||||
|
||||
&-visible {
|
||||
opacity: 1;
|
||||
}
|
||||
|
||||
&-hidden {
|
||||
opacity: 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -27,84 +27,4 @@
|
||||
font-size: 50px;
|
||||
}
|
||||
|
||||
&-filmstrip-only {
|
||||
background-color: $inlayFilmstripOnlyBg;
|
||||
color: $inlayFilmstripOnlyColor;
|
||||
margin-left: 20px;
|
||||
margin-right: 20px;
|
||||
margin-top: 20px;
|
||||
bottom: 30px;
|
||||
position: absolute;
|
||||
display: flex;
|
||||
max-height: 120px;
|
||||
height: 80%;
|
||||
right: 0px;
|
||||
border-radius: 4px;
|
||||
overflow: hidden;
|
||||
&__content {
|
||||
padding: 20px;
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
position: relative;
|
||||
> .button-control {
|
||||
align-self: center;
|
||||
}
|
||||
> #reloadProgressBar {
|
||||
position: absolute;
|
||||
left: 0px;
|
||||
bottom: 0px;
|
||||
margin-bottom: 0px;
|
||||
width: 100%;
|
||||
border-radius: 0px;
|
||||
}
|
||||
}
|
||||
&__title {
|
||||
font-size: 18px;
|
||||
font-weight: 600;
|
||||
}
|
||||
|
||||
&__container {
|
||||
align-self: center;
|
||||
}
|
||||
|
||||
&__text {
|
||||
margin-top: 10px;
|
||||
font-size: 14px;
|
||||
font-weight: 600;
|
||||
}
|
||||
|
||||
&__icon {
|
||||
font-size: 50px;
|
||||
align-self: center;
|
||||
color: $inlayIconColor;
|
||||
opacity: 0.6;
|
||||
}
|
||||
&__icon-container {
|
||||
text-align: center;
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
position: absolute;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
top: 0px;
|
||||
}
|
||||
|
||||
&__avatar-container {
|
||||
height: 100%;
|
||||
position: relative;
|
||||
> img {
|
||||
height: 100%;
|
||||
}
|
||||
}
|
||||
|
||||
&__icon-background {
|
||||
background: $inlayIconBg;
|
||||
opacity: 0.6;
|
||||
position: absolute;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
top: 0px;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -14,19 +14,6 @@
|
||||
margin: 10px;
|
||||
}
|
||||
}
|
||||
|
||||
.form {
|
||||
align-items: stretch;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
min-width: 400px;
|
||||
}
|
||||
|
||||
.participant-info {
|
||||
align-items: center;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -100,19 +87,6 @@
|
||||
}
|
||||
}
|
||||
|
||||
input {
|
||||
align-self: stretch;
|
||||
background-color: transparent;
|
||||
border: 1px solid #B8C7E0;
|
||||
border-radius: 4px;
|
||||
color: white;
|
||||
padding: 12px 8px;
|
||||
|
||||
&:focus {
|
||||
border-color: rgb(3, 118, 218);
|
||||
}
|
||||
}
|
||||
|
||||
button {
|
||||
align-self: stretch;
|
||||
margin: 8px 0;
|
||||
|
||||
@@ -7,9 +7,8 @@
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
position: relative;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
overflow: auto;
|
||||
width: 100%;
|
||||
|
||||
.meetings-list-empty {
|
||||
text-align: center;
|
||||
@@ -20,11 +19,34 @@
|
||||
flex-direction: column;
|
||||
|
||||
.description {
|
||||
font-size: 16px;
|
||||
padding: 20px;
|
||||
color: #2f3237;
|
||||
font-size: 14px;
|
||||
line-height: 18px;
|
||||
margin-bottom: 16px;
|
||||
max-width: 436px;
|
||||
}
|
||||
}
|
||||
|
||||
.meetings-list-empty-image {
|
||||
text-align: center;
|
||||
margin: 24px 0 20px 0;
|
||||
}
|
||||
|
||||
.meetings-list-empty-button {
|
||||
align-items: center;
|
||||
color: #0163FF;
|
||||
cursor: pointer;
|
||||
display: flex;
|
||||
font-size: 14px;
|
||||
line-height: 18px;
|
||||
margin: 24px 0 32px 0;
|
||||
}
|
||||
|
||||
.meetings-list-empty-icon {
|
||||
display: inline-block;
|
||||
margin-right: 8px;
|
||||
}
|
||||
|
||||
.button {
|
||||
background: #0074E0;
|
||||
border-radius: 4px;
|
||||
@@ -32,7 +54,7 @@
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
padding: 5px 10px;
|
||||
padding: 8px;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
@@ -43,12 +65,13 @@
|
||||
}
|
||||
|
||||
.item {
|
||||
background: rgba(255,255,255,0.50);
|
||||
background: #fff;
|
||||
box-sizing: border-box;
|
||||
border-radius: 4px;
|
||||
display: inline-flex;
|
||||
margin-top: 5px;
|
||||
min-height: 92px;
|
||||
width: 100%;
|
||||
margin: 4px 4px 0 4px;
|
||||
min-height: 60px;
|
||||
width: calc(100% - 8px);
|
||||
word-break: break-word;
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
@@ -61,37 +84,41 @@
|
||||
.left-column {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
width: 140px;
|
||||
flex-grow: 0;
|
||||
padding-left: 30px;
|
||||
padding-top: 25px;
|
||||
|
||||
.date {
|
||||
font-weight: bold;
|
||||
padding-bottom: 5px;
|
||||
}
|
||||
padding-left: 16px;
|
||||
padding-top: 13px;
|
||||
}
|
||||
|
||||
.right-column {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
flex-grow: 1;
|
||||
padding-left: 30px;
|
||||
padding-top: 25px;
|
||||
|
||||
.title {
|
||||
font-size: 16px;
|
||||
font-weight: bold;
|
||||
padding-bottom: 5px;
|
||||
}
|
||||
padding-left: 16px;
|
||||
padding-top: 13px;
|
||||
position: relative;
|
||||
}
|
||||
|
||||
.title {
|
||||
font-size: 12px;
|
||||
font-weight: 600;
|
||||
line-height: 16px;
|
||||
padding-bottom: 4px;
|
||||
}
|
||||
|
||||
.subtitle {
|
||||
color: #5E6D7A;
|
||||
font-weight: normal;
|
||||
font-size: 12px;
|
||||
line-height: 16px;
|
||||
}
|
||||
|
||||
|
||||
.actions {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
flex-grow: 0;
|
||||
padding-right: 30px;
|
||||
margin-right: 16px;
|
||||
}
|
||||
|
||||
&.with-click-handler {
|
||||
@@ -99,7 +126,7 @@
|
||||
}
|
||||
|
||||
&.with-click-handler:hover {
|
||||
background-color: #75A7E7;
|
||||
background-color: #c7ddff;
|
||||
}
|
||||
|
||||
.add-button {
|
||||
@@ -120,4 +147,20 @@
|
||||
display: block
|
||||
}
|
||||
}
|
||||
|
||||
.delete-meeting {
|
||||
display: none;
|
||||
margin-right: 16px;
|
||||
position: absolute;
|
||||
|
||||
&> svg {
|
||||
fill: #0074e0;
|
||||
}
|
||||
}
|
||||
|
||||
.item:hover {
|
||||
.delete-meeting {
|
||||
display: block;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -3,7 +3,6 @@
|
||||
&-input-area {
|
||||
margin: 0 auto;
|
||||
text-align: center;
|
||||
width: 320px;
|
||||
}
|
||||
|
||||
&-title {
|
||||
@@ -42,9 +41,11 @@
|
||||
|
||||
&-error {
|
||||
color: white;
|
||||
background-color: rgba(229, 75, 75, 0.5);
|
||||
background-color: rgba(225, 45, 45, 0.6);
|
||||
border-radius: 3px;
|
||||
width: 100%;
|
||||
padding: 3px;
|
||||
padding: 2px;
|
||||
box-sizing: border-box;
|
||||
margin-top: 4px;
|
||||
font-size: 13px;
|
||||
text-align: center;
|
||||
@@ -58,84 +59,18 @@
|
||||
}
|
||||
|
||||
.prejoin-preview {
|
||||
height: 100%;
|
||||
position: absolute;
|
||||
width: 100%;
|
||||
|
||||
&--no-video {
|
||||
background: radial-gradient(50% 50% at 50% 50%, #5B6F80 0%, #365067 100%), #FFFFFF;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
&-video {
|
||||
height: 100%;
|
||||
object-fit: cover;
|
||||
position: absolute;
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
&-name {
|
||||
color: #fff;
|
||||
font-size: 19px;
|
||||
line-height: 28px;
|
||||
|
||||
&--editable {
|
||||
background: none;
|
||||
border: 0;
|
||||
border-bottom: 1px solid #D1DBE8;
|
||||
margin: 24px 0 16px 0;
|
||||
outline: none;
|
||||
text-align: center;
|
||||
width: 100%;
|
||||
|
||||
&::-webkit-input-placeholder {
|
||||
@include name-placeholder;
|
||||
}
|
||||
&::-moz-placeholder {
|
||||
@include name-placeholder;
|
||||
}
|
||||
&:-ms-input-placeholder {
|
||||
@include name-placeholder;
|
||||
}
|
||||
}
|
||||
|
||||
&--text {
|
||||
margin: 16px 0;
|
||||
outline: none;
|
||||
}
|
||||
}
|
||||
|
||||
&-avatar.avatar {
|
||||
background: #A4B8D1;
|
||||
margin: 200px auto 0 auto;
|
||||
}
|
||||
|
||||
&-overlay {
|
||||
height: 100%;
|
||||
position: absolute;
|
||||
width: 100%;
|
||||
z-index: 1;
|
||||
background: linear-gradient(0deg, rgba(0, 0, 0, 0.3), rgba(0, 0, 0, 0.3));
|
||||
}
|
||||
|
||||
&-bottom-overlay {
|
||||
background: linear-gradient(180deg, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.9) 100%);
|
||||
bottom: 0;
|
||||
height: 50%;
|
||||
position: absolute;
|
||||
width: 100%;
|
||||
z-index: 1;
|
||||
}
|
||||
|
||||
&-status {
|
||||
align-items: center;
|
||||
align-self: stretch;
|
||||
bottom: 0;
|
||||
color: #fff;
|
||||
display: flex;
|
||||
font-size: 13px;
|
||||
min-height: 24px;
|
||||
justify-content: center;
|
||||
position: absolute;
|
||||
text-align: center;
|
||||
width: 100%;
|
||||
z-index: 1;
|
||||
|
||||
&--warning {
|
||||
|
||||
@@ -12,12 +12,23 @@
|
||||
|
||||
.premeeting-screen {
|
||||
align-items: stretch;
|
||||
background: radial-gradient(50% 50% at 50% 50%, #5D95C7 0%, #376288 100%), #FFFFFF;
|
||||
background: radial-gradient(50% 50% at 50% 50%, #2A3A4B 20.83%, #1E2A36 100%);
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
font-size: 1.3em;
|
||||
z-index: $toolbarZ + 1;
|
||||
|
||||
&-avatar {
|
||||
background-color: #A4B8D1;
|
||||
margin-bottom: 24px;
|
||||
|
||||
text {
|
||||
fill: black;
|
||||
font-size: 26px;
|
||||
font-weight: 400;
|
||||
}
|
||||
}
|
||||
|
||||
.action-btn {
|
||||
border-radius: 3px;
|
||||
color: #fff;
|
||||
@@ -59,22 +70,26 @@
|
||||
fill: #AFB6BC;
|
||||
}
|
||||
}
|
||||
|
||||
.options {
|
||||
border-left: 1px solid #AFB6BC;
|
||||
}
|
||||
}
|
||||
|
||||
.options {
|
||||
border-radius: 3px;
|
||||
align-items: center;
|
||||
border-left: 1px solid #fff;
|
||||
display: flex;
|
||||
height: 100%;
|
||||
justify-content: center;
|
||||
position: absolute;
|
||||
right: 0;
|
||||
top: 0;
|
||||
width: 40px;
|
||||
width: 36px;
|
||||
|
||||
&:hover {
|
||||
background-color: #0262B6;
|
||||
}
|
||||
|
||||
svg {
|
||||
pointer-events: none;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -89,6 +104,7 @@
|
||||
flex: 1;
|
||||
flex-direction: column;
|
||||
justify-content: flex-end;
|
||||
padding-bottom: 24px;
|
||||
z-index: $toolbarZ + 2;
|
||||
|
||||
.title {
|
||||
@@ -111,12 +127,14 @@
|
||||
margin-bottom: 16px;
|
||||
|
||||
.url {
|
||||
background: rgba(28, 32, 37, 0.5);
|
||||
border-radius: 4px;
|
||||
display: flex;
|
||||
padding: 8px 10px;
|
||||
transition: background 0.16s ease-out;
|
||||
|
||||
&:hover {
|
||||
background: #1C2025;
|
||||
border-radius: 4px;
|
||||
}
|
||||
|
||||
&.done {
|
||||
@@ -149,20 +167,23 @@
|
||||
}
|
||||
|
||||
input.field {
|
||||
background-color: transparent;
|
||||
border: 1px solid transparent;
|
||||
color: white;
|
||||
outline-width: 0;
|
||||
background-color: white;
|
||||
border: none;
|
||||
outline: none;
|
||||
border-radius: 3px;
|
||||
font-size: 15px;
|
||||
line-height: 24px;
|
||||
color: #1C2025;
|
||||
padding: 8px 0;
|
||||
text-align: center;
|
||||
width: 100%;
|
||||
width: 320px;
|
||||
|
||||
&.focused {
|
||||
border-bottom: 1px solid white;
|
||||
&.error {
|
||||
box-shadow: 0px 0px 4px 3px rgba(225, 45, 45, 0.4);
|
||||
}
|
||||
|
||||
&.error::placeholder {
|
||||
color: $defaultWarningColor;
|
||||
&.focused {
|
||||
box-shadow: 0px 0px 4px 3px #0376DA;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -170,7 +191,7 @@
|
||||
.media-btn-container {
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
margin: 32px 0;
|
||||
margin: 24px 0 16px 0;
|
||||
width: 100%;
|
||||
|
||||
&> div {
|
||||
@@ -233,6 +254,7 @@
|
||||
font-size: 13px;
|
||||
height: 40px;
|
||||
margin: 0 auto;
|
||||
transition: background 0.16s ease-out;
|
||||
width: 320px;
|
||||
|
||||
@include flex-centered();
|
||||
@@ -242,7 +264,7 @@
|
||||
}
|
||||
|
||||
&:hover {
|
||||
background: #1C2025;
|
||||
background: rgba(255, 255, 255, 0.1);
|
||||
|
||||
@include icon-container(#A4B8D1, #1C2025);
|
||||
}
|
||||
@@ -261,14 +283,6 @@
|
||||
}
|
||||
|
||||
&--toggled {
|
||||
background: #75757A;
|
||||
|
||||
&:hover {
|
||||
background: #75757A;
|
||||
|
||||
@include icon-container(#A4B8D1, #75757A);
|
||||
}
|
||||
|
||||
@include icon-container(#A4B8D1, #75757A);
|
||||
@include icon-container(white, #1C2025);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,70 +1,67 @@
|
||||
@media only screen and (max-width: $smallScreen) {
|
||||
.watermark {
|
||||
width: 20%;
|
||||
height: 20%;
|
||||
}
|
||||
@media only screen and (max-width: $verySmallScreen) {
|
||||
.welcome {
|
||||
display: block;
|
||||
|
||||
.new-toolbox {
|
||||
.toolbox-content {
|
||||
.button-group-center, .button-group-left, .button-group-right {
|
||||
.toolbox-button {
|
||||
.toolbox-icon {
|
||||
width: 28px;
|
||||
height: 28px;
|
||||
svg {
|
||||
width: 18px;
|
||||
height: 18px;
|
||||
}
|
||||
}
|
||||
#enter_room {
|
||||
position: relative;
|
||||
height: 42px;
|
||||
|
||||
&:nth-child(2) {
|
||||
.toolbox-icon {
|
||||
width: 30px;
|
||||
height: 30px;
|
||||
}
|
||||
}
|
||||
.welcome-page-button {
|
||||
font-size: 16px;
|
||||
left: 0;
|
||||
position: absolute;
|
||||
top: 68px;
|
||||
text-align: center;
|
||||
width: 100%;
|
||||
}
|
||||
}
|
||||
|
||||
.header {
|
||||
background-color: #002637;
|
||||
|
||||
#enter_room {
|
||||
.enter-room-input-container {
|
||||
padding-right: 0;
|
||||
}
|
||||
|
||||
.warning-without-link,
|
||||
.warning-with-link {
|
||||
top: 120px;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@media only screen and (max-width: $verySmallScreen) {
|
||||
#videoResolutionLabel {
|
||||
display: none;
|
||||
}
|
||||
.desktop-browser {
|
||||
.vertical-filmstrip .filmstrip {
|
||||
.welcome-tabs {
|
||||
display: none;
|
||||
}
|
||||
|
||||
.header-text-title {
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.welcome-cards-container {
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
&.without-content {
|
||||
.header {
|
||||
height: 100%;
|
||||
}
|
||||
}
|
||||
|
||||
#moderated-meetings {
|
||||
display: none;
|
||||
}
|
||||
|
||||
.welcome-footer-row-block {
|
||||
display: block;
|
||||
}
|
||||
.welcome-badge {
|
||||
margin-right: 16px;
|
||||
}
|
||||
|
||||
.welcome-footer {
|
||||
display: none;
|
||||
}
|
||||
}
|
||||
.new-toolbox {
|
||||
.toolbox-content {
|
||||
.button-group-center, .button-group-left, .button-group-right {
|
||||
.settings-button-small-icon {
|
||||
display: none;
|
||||
}
|
||||
.toolbox-button {
|
||||
.toolbox-icon {
|
||||
width: 18px;
|
||||
height: 18px;
|
||||
svg {
|
||||
width: 12px;
|
||||
height: 12px;
|
||||
}
|
||||
}
|
||||
|
||||
&:nth-child(2) {
|
||||
.toolbox-icon {
|
||||
width: 20px;
|
||||
height: 20px;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
.chrome-extension-banner {
|
||||
display: none;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -161,71 +161,47 @@ $unsupportedDesktopBrowserTextFontSize: 21px;
|
||||
/**
|
||||
* The size of the default watermark.
|
||||
*/
|
||||
$watermarkWidth: 186px;
|
||||
$watermarkHeight: 74px;
|
||||
$watermarkWidth: 71px;
|
||||
$watermarkHeight: 32px;
|
||||
|
||||
$welcomePageWatermarkWidth: 186px;
|
||||
$welcomePageWatermarkHeight: 74px;
|
||||
$welcomePageWatermarkWidth: 71px;
|
||||
$welcomePageWatermarkHeight: 32px;
|
||||
|
||||
/**
|
||||
* Welcome page variables.
|
||||
*/
|
||||
$welcomePageDescriptionColor: #fff;
|
||||
$welcomePageFontFamily: inherit;
|
||||
$welcomePageBackground: linear-gradient(-90deg, #1251AE 0%, #0074FF 50%, #1251AE 100%);
|
||||
$welcomePageBackground: none;
|
||||
$welcomePageTitleColor: #fff;
|
||||
|
||||
$welcomePageHeaderBackground: none;
|
||||
$welcomePageHeaderBackgroundSmall: none;
|
||||
$welcomePageHeaderBackgroundPosition: none;
|
||||
$welcomePageHeaderBackground: linear-gradient(0deg, rgba(0, 0, 0, 0.2), rgba(0, 0, 0, 0.2)), url('../images/welcome-background.png');
|
||||
$welcomePageHeaderBackgroundPosition: center;
|
||||
$welcomePageHeaderBackgroundRepeat: none;
|
||||
$welcomePageHeaderBackgroundSize: none;
|
||||
$welcomePageHeaderBackgroundSize: cover;
|
||||
$welcomePageHeaderPaddingBottom: 0px;
|
||||
$welcomePageHeaderMinHeight: fit-content;
|
||||
$welcomePageHeaderTitleMaxWidth: initial;
|
||||
$welcomePageHeaderTextAlign: center;
|
||||
|
||||
$welcomePageHeaderTextMarginTop: 35px;
|
||||
$welcomePageHeaderTextMarginBottom: 35px;
|
||||
$welcomePageHeaderTextDisplay: flex;
|
||||
$welcomePageHeaderTextWidth: 650px;
|
||||
$welcomePageHeaderContainerDisplay: flex;
|
||||
$welcomePageHeaderContainerMargin: 104px 32px 0 32px;
|
||||
|
||||
$welcomePageHeaderTextTitleMarginBottom: 16px;
|
||||
$welcomePageHeaderTextTitleFontSize: 2.5rem;
|
||||
$welcomePageHeaderTextTitleFontWeight: 500;
|
||||
$welcomePageHeaderTextTitleLineHeight: 1.18;
|
||||
$welcomePageHeaderTextTitleMarginBottom: 0;
|
||||
$welcomePageHeaderTextTitleFontSize: 42px;
|
||||
$welcomePageHeaderTextTitleFontWeight: normal;
|
||||
$welcomePageHeaderTextTitleLineHeight: 50px;
|
||||
$welcomePageHeaderTextTitleOpacity: 1;
|
||||
|
||||
$welcomePageHeaderTextDescriptionDisplay: inherit;
|
||||
$welcomePageHeaderTextDescriptionFontSize: 1rem;
|
||||
$welcomePageHeaderTextDescriptionFontWeight: 400;
|
||||
$welcomePageHeaderTextDescriptionLineHeight: 24px;
|
||||
$welcomePageHeaderTextDescriptionMarginBottom: 20px;
|
||||
$welcomePageHeaderTextDescriptionAlignSelf: inherit;
|
||||
|
||||
$welcomePageEnterRoomDisplay: flex;
|
||||
$welcomePageEnterRoomWidth: 680px;
|
||||
$welcomePageEnterRoomPadding: 25px 30px;
|
||||
$welcomePageEnterRoomBorderRadius: 0px;
|
||||
|
||||
$welcomePageEnterRoomInputContainerPadding: 0 8px 5px 0px;
|
||||
$welcomePageEnterRoomInputContainerBorderWidth: 0px 0px 2px 0px;
|
||||
$welcomePageEnterRoomInputContainerBorderStyle: solid;
|
||||
$welcomePageEnterRoomInputContainerBorderImage: linear-gradient(to right, #dee1e6, #fff) 1;
|
||||
|
||||
$welcomePageEnterRoomTitleDisplay: inherit;
|
||||
$welcomePageEnterRoomWidth: calc(100% - 32px);
|
||||
$welcomePageEnterRoomPadding: 4px;
|
||||
$welcomePageEnterRoomMargin: 0 auto;
|
||||
|
||||
$welcomePageTabContainerDisplay: flex;
|
||||
$welcomePageTabContentDisplay: inherit;
|
||||
$welcomePageTabButtonsDisplay: flex;
|
||||
$welcomePageTabDisplay: block;
|
||||
|
||||
$welcomePageButtonWidth: 51px;
|
||||
$welcomePageButtonMinWidth: inherit;
|
||||
$welcomePageButtonFontSize: 14px;
|
||||
$welcomePageButtonHeight: 35px;
|
||||
$welcomePageButtonFontWeight: inherit;
|
||||
$welcomePageButtonBorderRadius: 4px;
|
||||
$welcomePageButtonLineHeight: 35px;
|
||||
|
||||
/**
|
||||
* Deep-linking page variables.
|
||||
*/
|
||||
|
||||
@@ -5,6 +5,7 @@ body.welcome-page {
|
||||
|
||||
.welcome {
|
||||
background-image: $welcomePageBackground;
|
||||
background-color: #fff;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
font-family: $welcomePageFontFamily;
|
||||
@@ -18,21 +19,15 @@ body.welcome-page {
|
||||
background-repeat: $welcomePageHeaderBackgroundRepeat;
|
||||
background-size: $welcomePageHeaderBackgroundSize;
|
||||
padding-bottom: $welcomePageHeaderPaddingBottom;
|
||||
align-items: center;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
min-height: $welcomePageHeaderMinHeight;
|
||||
background-color: #131519;
|
||||
height: 400px;
|
||||
overflow: hidden;
|
||||
position: relative;
|
||||
text-align: center;
|
||||
|
||||
.header-text {
|
||||
display: $welcomePageHeaderTextDisplay;
|
||||
.header-container {
|
||||
display: $welcomePageHeaderContainerDisplay;
|
||||
flex-direction: column;
|
||||
margin-top: $watermarkHeight + $welcomePageHeaderTextMarginTop;
|
||||
margin-bottom: $welcomePageHeaderTextMarginBottom;
|
||||
max-width: calc(100% - 40px);
|
||||
width: $welcomePageHeaderTextWidth;
|
||||
margin: $welcomePageHeaderContainerMargin;
|
||||
z-index: $zindex2;
|
||||
}
|
||||
|
||||
@@ -42,50 +37,52 @@ body.welcome-page {
|
||||
font-weight: $welcomePageHeaderTextTitleFontWeight;
|
||||
line-height: $welcomePageHeaderTextTitleLineHeight;
|
||||
margin-bottom: $welcomePageHeaderTextTitleMarginBottom;
|
||||
max-width: $welcomePageHeaderTitleMaxWidth;
|
||||
opacity: $welcomePageHeaderTextTitleOpacity;
|
||||
text-align: $welcomePageHeaderTextAlign;
|
||||
}
|
||||
|
||||
.header-text-description {
|
||||
display: $welcomePageHeaderTextDescriptionDisplay;
|
||||
color: $welcomePageDescriptionColor;
|
||||
font-size: $welcomePageHeaderTextDescriptionFontSize;
|
||||
font-weight: $welcomePageHeaderTextDescriptionFontWeight;
|
||||
line-height: $welcomePageHeaderTextDescriptionLineHeight;
|
||||
margin-bottom: $welcomePageHeaderTextDescriptionMarginBottom;
|
||||
align-self: $welcomePageHeaderTextDescriptionAlignSelf;
|
||||
.header-text-subtitle {
|
||||
color: #fff;
|
||||
font-size: 20px;
|
||||
font-weight: 600;
|
||||
line-height: 26px;
|
||||
margin: 16px 0 32px 0;
|
||||
text-align: $welcomePageHeaderTextAlign;
|
||||
|
||||
}
|
||||
|
||||
#enter_room {
|
||||
display: $welcomePageEnterRoomDisplay;
|
||||
align-items: center;
|
||||
max-width: calc(100% - 40px);
|
||||
max-width: 480px;
|
||||
width: $welcomePageEnterRoomWidth;
|
||||
z-index: $zindex2;
|
||||
background-color: #fff;
|
||||
padding: $welcomePageEnterRoomPadding;
|
||||
border-radius: $welcomePageEnterRoomBorderRadius;
|
||||
border-radius: 4px;
|
||||
margin: $welcomePageEnterRoomMargin;
|
||||
|
||||
.enter-room-input-container {
|
||||
width: 100%;
|
||||
padding: $welcomePageEnterRoomInputContainerPadding;
|
||||
text-align: left;
|
||||
color: #253858;
|
||||
flex-grow: 1;
|
||||
height: fit-content;
|
||||
|
||||
.enter-room-title {
|
||||
display: $welcomePageEnterRoomTitleDisplay;
|
||||
font-size: 18px;
|
||||
font-weight: bold;
|
||||
padding-bottom: 5px;
|
||||
}
|
||||
padding-right: 4px;
|
||||
position: relative;
|
||||
|
||||
.enter-room-input {
|
||||
border-width: $welcomePageEnterRoomInputContainerBorderWidth;
|
||||
border-style: $welcomePageEnterRoomInputContainerBorderStyle;
|
||||
border-image: $welcomePageEnterRoomInputContainerBorderImage;
|
||||
border: 0;
|
||||
background: #fff;
|
||||
display: inline-block;
|
||||
height: 50px;
|
||||
width: 100%;
|
||||
font-size: 14px;
|
||||
padding-left: 10px;
|
||||
|
||||
&:focus {
|
||||
outline: auto 2px #005fcc;
|
||||
}
|
||||
}
|
||||
|
||||
.insecure-room-name-warning {
|
||||
@@ -109,16 +106,28 @@ body.welcome-page {
|
||||
}
|
||||
}
|
||||
|
||||
.warning-without-link {
|
||||
position: absolute;
|
||||
top: 44px;
|
||||
left: -10px;
|
||||
}
|
||||
|
||||
.warning-with-link {
|
||||
position: absolute;
|
||||
top: 84px;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
#moderated-meetings {
|
||||
max-width: calc(100% - 40px);
|
||||
padding: 16px 0 39px 0;
|
||||
margin: $welcomePageEnterRoomMargin;
|
||||
width: $welcomePageEnterRoomWidth;
|
||||
|
||||
p {
|
||||
color: $welcomePageDescriptionColor;
|
||||
text-align: left;
|
||||
text-align: $welcomePageHeaderTextAlign;
|
||||
|
||||
a {
|
||||
color: inherit;
|
||||
@@ -126,76 +135,70 @@ body.welcome-page {
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.tab-container {
|
||||
font-size: 16px;
|
||||
.tab-container {
|
||||
font-size: 16px;
|
||||
position: relative;
|
||||
text-align: left;
|
||||
display: $welcomePageTabContainerDisplay;
|
||||
flex-direction: column;
|
||||
|
||||
.tab-content{
|
||||
display: $welcomePageTabContentDisplay;
|
||||
height: 250px;
|
||||
margin: 5px 0px;
|
||||
overflow: hidden;
|
||||
flex-grow: 1;
|
||||
position: relative;
|
||||
text-align: left;
|
||||
min-height: 354px;
|
||||
width: 710px;
|
||||
background: #75A7E7;
|
||||
display: $welcomePageTabContainerDisplay;
|
||||
flex-direction: column;
|
||||
}
|
||||
|
||||
.tab-content{
|
||||
display: $welcomePageTabContentDisplay;
|
||||
margin: 5px 0px;
|
||||
overflow: hidden;
|
||||
.tab-buttons {
|
||||
background-color: #c7ddff;
|
||||
border-radius: 6px;
|
||||
color: #0163FF;
|
||||
font-size: 14px;
|
||||
line-height: 18px;
|
||||
margin: 4px;
|
||||
display: $welcomePageTabButtonsDisplay;
|
||||
|
||||
.tab {
|
||||
background-color: #c7ddff;
|
||||
border-radius: 7px;
|
||||
cursor: pointer;
|
||||
display: $welcomePageTabDisplay;
|
||||
flex-grow: 1;
|
||||
position: relative;
|
||||
margin: 2px;
|
||||
padding: 7px 0;
|
||||
text-align: center;
|
||||
|
||||
> * {
|
||||
position: absolute;
|
||||
&.selected {
|
||||
background-color: #FFF;
|
||||
}
|
||||
}
|
||||
|
||||
.tab-buttons {
|
||||
font-size: 18px;
|
||||
color: #FFFFFF;
|
||||
display: $welcomePageTabButtonsDisplay;
|
||||
flex-grow: 0;
|
||||
flex-direction: row;
|
||||
min-height: 54px;
|
||||
width: 100%;
|
||||
|
||||
.tab {
|
||||
display: $welcomePageTabDisplay;
|
||||
text-align: center;
|
||||
background: rgba(9,30,66,0.37);
|
||||
height: 55px;
|
||||
line-height: 54px;
|
||||
flex-grow: 1;
|
||||
cursor: pointer;
|
||||
|
||||
&.selected, &:hover {
|
||||
background: rgba(9,30,66,0.71);
|
||||
}
|
||||
|
||||
&:last-child {
|
||||
margin-left: 1px;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.welcome-page-button {
|
||||
width: $welcomePageButtonWidth;
|
||||
min-width: $welcomePageButtonMinWidth;
|
||||
height: $welcomePageButtonHeight;
|
||||
font-size: $welcomePageButtonFontSize;
|
||||
font-weight: $welcomePageButtonFontWeight;
|
||||
border: 0;
|
||||
font-size: 14px;
|
||||
background: #0074E0;
|
||||
border-radius: $welcomePageButtonBorderRadius;
|
||||
border-radius: 3px;
|
||||
color: #FFFFFF;
|
||||
text-align: center;
|
||||
vertical-align: middle;
|
||||
line-height: $welcomePageButtonLineHeight;
|
||||
cursor: pointer;
|
||||
padding: 16px 20px;
|
||||
|
||||
&:focus-within {
|
||||
outline: auto 2px #022e61;
|
||||
}
|
||||
}
|
||||
|
||||
.welcome-page-settings {
|
||||
background: rgba(255, 255, 255, 0.38);
|
||||
border-radius: 3px;
|
||||
color: $welcomePageDescriptionColor;
|
||||
padding: 4px;
|
||||
position: absolute;
|
||||
top: 32px;
|
||||
right: 32px;
|
||||
@@ -217,4 +220,84 @@ body.welcome-page {
|
||||
height: $welcomePageWatermarkHeight;
|
||||
}
|
||||
}
|
||||
|
||||
&.without-content {
|
||||
.welcome-card {
|
||||
min-width: 500px;
|
||||
max-width: 580px;
|
||||
}
|
||||
}
|
||||
|
||||
.welcome-cards-container {
|
||||
color:#131519;
|
||||
padding-top: 40px;
|
||||
}
|
||||
|
||||
.welcome-card-row {
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
padding: 0 32px;
|
||||
}
|
||||
|
||||
.welcome-card-text {
|
||||
padding: 32px;
|
||||
}
|
||||
|
||||
.welcome-card {
|
||||
width: 49%;
|
||||
border-radius: 8px;
|
||||
|
||||
&--dark {
|
||||
background: #444447;
|
||||
color: #fff;
|
||||
}
|
||||
|
||||
&--blue {
|
||||
background: #D5E5FF;
|
||||
}
|
||||
|
||||
&--grey {
|
||||
background: #F2F3F4;
|
||||
}
|
||||
|
||||
&--shadow {
|
||||
box-shadow: 0px 4px 30px rgba(0, 0, 0, 0.15);
|
||||
}
|
||||
}
|
||||
|
||||
.welcome-footer {
|
||||
background: #131519;
|
||||
color: #fff;
|
||||
margin-top: 40px;
|
||||
position: relative;
|
||||
}
|
||||
|
||||
.welcome-footer-centered {
|
||||
max-width: 688px;
|
||||
margin: 0 auto;
|
||||
}
|
||||
|
||||
.welcome-footer-padded {
|
||||
padding: 0px 16px;
|
||||
}
|
||||
|
||||
.welcome-footer-row-block {
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
align-items: center;
|
||||
border-bottom: 1px solid #424447;
|
||||
|
||||
&:last-child {
|
||||
border-bottom: none;
|
||||
}
|
||||
}
|
||||
|
||||
.welcome-footer--row-1 {
|
||||
padding: 40px 0 24px 0;
|
||||
}
|
||||
|
||||
.welcome-footer-row-1-text {
|
||||
max-width: 200px;
|
||||
margin-right: 16px;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -67,20 +67,6 @@
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Style the filmstrip videos in filmstrip-only mode.
|
||||
*/
|
||||
&__videos-filmstripOnly {
|
||||
margin-top: auto;
|
||||
margin-bottom: auto;
|
||||
|
||||
.filmstrip__videos {
|
||||
&#filmstripLocalVideo {
|
||||
bottom: 0px;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.remote-videos-container {
|
||||
transition: opacity 1s;
|
||||
}
|
||||
|
||||
@@ -15,9 +15,8 @@
|
||||
box-sizing: border-box;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
height: calc(100vh - 200px);
|
||||
height: 100vh;
|
||||
width: 100vw;
|
||||
margin: 100px 0px;
|
||||
}
|
||||
|
||||
.filmstrip__videos .videocontainer {
|
||||
@@ -95,7 +94,7 @@
|
||||
border: 0;
|
||||
box-sizing: border-box;
|
||||
display: block;
|
||||
margin: 5px;
|
||||
margin: 2px;
|
||||
}
|
||||
|
||||
video {
|
||||
|
||||
@@ -145,26 +145,6 @@
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Override other styles to support vertical filmstrip mode.
|
||||
*/
|
||||
.filmstrip-only .vertical-filmstrip {
|
||||
.filmstrip {
|
||||
flex-direction: row-reverse;
|
||||
}
|
||||
.filmstrip__videos-filmstripOnly {
|
||||
margin-top: auto;
|
||||
margin-bottom: auto;
|
||||
height: 100%;
|
||||
}
|
||||
|
||||
.filmstrip__videos {
|
||||
&#filmstripLocalVideo {
|
||||
bottom: 0px;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Workarounds for Edge and Firefox not handling scrolling properly with
|
||||
* flex-direction: column-reverse. The remove videos in filmstrip should
|
||||
|
||||
@@ -1,9 +1,4 @@
|
||||
.video-quality-dialog {
|
||||
.hide-warning {
|
||||
height: 0;
|
||||
visibility: hidden;
|
||||
}
|
||||
|
||||
.video-quality-dialog-title {
|
||||
margin-bottom: 10px;
|
||||
}
|
||||
@@ -109,30 +104,6 @@
|
||||
word-spacing: unset;
|
||||
}
|
||||
}
|
||||
|
||||
&.video-not-supported {
|
||||
.video-quality-dialog-labels {
|
||||
color: gray;
|
||||
}
|
||||
|
||||
.video-quality-dialog-slider {
|
||||
@mixin sliderTrackDisabledStyles() {
|
||||
background: rgba(14, 22, 36, 0.1);
|
||||
}
|
||||
|
||||
&::-ms-track {
|
||||
@include sliderTrackDisabledStyles();
|
||||
}
|
||||
|
||||
&::-moz-range-track {
|
||||
@include sliderTrackDisabledStyles();
|
||||
}
|
||||
|
||||
&::-webkit-slider-runnable-track {
|
||||
@include sliderTrackDisabledStyles();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.modal-dialog-form {
|
||||
|
||||
@@ -8,16 +8,10 @@
|
||||
position: fixed;
|
||||
z-index: $overlayZ;
|
||||
background: $defaultBackground;
|
||||
&.filmstrip-only {
|
||||
@include transparentBg($filmstripOnlyOverlayBg, 0.8);
|
||||
}
|
||||
}
|
||||
|
||||
&__container-light {
|
||||
@include transparentBg($defaultBackground, 0.7);
|
||||
&.filmstrip-only {
|
||||
@include transparentBg($filmstripOnlyOverlayBg, 0.2);
|
||||
}
|
||||
}
|
||||
|
||||
&__content {
|
||||
@@ -27,11 +21,6 @@
|
||||
width: 56%;
|
||||
left: 50%;
|
||||
@include transform(translateX(-50%));
|
||||
&.filmstrip-only {
|
||||
left: 0px;
|
||||
width: 100%;
|
||||
@include transform(none);
|
||||
}
|
||||
|
||||
&_bottom {
|
||||
position: absolute;
|
||||
|
||||
@@ -41,7 +41,6 @@ $overlayButtonBg: #0074E0;
|
||||
* Color variables
|
||||
**/
|
||||
$defaultBackground: #474747;
|
||||
$filmstripOnlyOverlayBg: #000;
|
||||
$reloadProgressBarBg: #0074E0;
|
||||
|
||||
/**
|
||||
@@ -59,10 +58,6 @@ $dialogErrorText: #344563;
|
||||
**/
|
||||
$inlayColorBg: lighten($defaultBackground, 20%);
|
||||
$inlayBorderColor: lighten($baseLight, 10%);
|
||||
$inlayIconBg: #000;
|
||||
$inlayIconColor: #fff;
|
||||
$inlayFilmstripOnlyColor: #474747;
|
||||
$inlayFilmstripOnlyBg: #fff;
|
||||
|
||||
// Main controls
|
||||
$placeHolderColor: #a7a7a7;
|
||||
|
||||
5
debian/jitsi-meet-turnserver.postinst
vendored
@@ -150,11 +150,6 @@ denied-peer-ip=240.0.0.0-255.255.255.255" >> $TURN_CONFIG
|
||||
echo "------------------------------------------------"
|
||||
fi
|
||||
|
||||
# Enable turn server in config.js
|
||||
if [ -f $JITSI_MEET_CONFIG ] ; then
|
||||
sed -i "s/\/\/ useStunTurn: true/useStunTurn: true/g" $JITSI_MEET_CONFIG
|
||||
fi
|
||||
|
||||
# and we're done with debconf
|
||||
db_stop
|
||||
;;
|
||||
|
||||
2
debian/jitsi-meet-web.install
vendored
@@ -13,3 +13,5 @@ lang /usr/share/jitsi-meet/
|
||||
connection_optimization /usr/share/jitsi-meet/
|
||||
resources/robots.txt /usr/share/jitsi-meet/
|
||||
resources/*.sh /usr/share/jitsi-meet/scripts/
|
||||
pwa-worker.js /usr/share/jitsi-meet/
|
||||
manifest.json /usr/share/jitsi-meet/
|
||||
|
||||
@@ -4,6 +4,5 @@ var config = {
|
||||
muc: 'conference.jitsi.example.com', // FIXME: use XEP-0030
|
||||
bridge: 'jitsi-videobridge.jitsi.example.com' // FIXME: use XEP-0030
|
||||
},
|
||||
useNicks: false,
|
||||
bosh: '//jitsi.example.com/http-bind' // FIXME: use xep-0156 for that
|
||||
};
|
||||
|
||||
@@ -9,7 +9,6 @@ var config = {
|
||||
muc: 'conference.'+subdomain+'jitsi.example.com', // FIXME: use XEP-0030
|
||||
focus: 'focus.jitsi.example.com',
|
||||
},
|
||||
useNicks: false,
|
||||
bosh: '//jitsi.example.com/http-bind', // FIXME: use xep-0156 for that
|
||||
websocket: 'wss://jitsi.example.com/xmpp-websocket'
|
||||
};
|
||||
|
||||
@@ -13,9 +13,7 @@
|
||||
height: 180,
|
||||
parentNode: undefined,
|
||||
configOverwrite: {},
|
||||
interfaceConfigOverwrite: {
|
||||
filmStripOnly: true
|
||||
}
|
||||
interfaceConfigOverwrite: {}
|
||||
}
|
||||
var api = new JitsiMeetExternalAPI(domain, options);
|
||||
</script>
|
||||
|
||||
13
flow-typed/npm/react-redux_v7.x.x.js
vendored
@@ -1,5 +1,5 @@
|
||||
// flow-typed signature: d2ddacbbca9700881249a9435381e689
|
||||
// flow-typed version: c6154227d1/react-redux_v7.x.x/flow_>=v0.89.x <=v0.103.x
|
||||
// flow-typed signature: 8da1e134b3de1d6f6bf9ba1cc7e2dc7e
|
||||
// flow-typed version: 387a235736/react-redux_v7.x.x/flow_>=v0.104.x
|
||||
|
||||
/**
|
||||
The order of type arguments for connect() is as follows:
|
||||
@@ -219,6 +219,7 @@ declare module "react-redux" {
|
||||
declare export class Provider<Store> extends React$Component<{
|
||||
store: Store,
|
||||
children?: React$Node,
|
||||
...
|
||||
}> {}
|
||||
|
||||
declare export function createProvider(
|
||||
@@ -237,6 +238,7 @@ declare module "react-redux" {
|
||||
shouldHandleStateChanges?: boolean,
|
||||
storeKey?: string,
|
||||
forwardRef?: boolean,
|
||||
...
|
||||
};
|
||||
|
||||
declare type SelectorFactoryOptions<Com> = {
|
||||
@@ -249,6 +251,7 @@ declare module "react-redux" {
|
||||
displayName: string,
|
||||
wrappedComponentName: string,
|
||||
WrappedComponent: Com,
|
||||
...
|
||||
};
|
||||
|
||||
declare type MapStateToPropsEx<S: Object, SP: Object, RSP: Object> = (
|
||||
@@ -275,12 +278,14 @@ declare module "react-redux" {
|
||||
OP: Object,
|
||||
CP: Object,
|
||||
EFO: Object,
|
||||
ST: { [_: $Keys<Com>]: any },
|
||||
ST: { [_: $Keys<Com>]: any, ... },
|
||||
>(
|
||||
selectorFactory: SelectorFactory<Com, D, S, OP, EFO, CP>,
|
||||
connectAdvancedOptions: ?(ConnectAdvancedOptions & EFO),
|
||||
): (component: Com) => React$ComponentType<OP> & $Shape<ST>;
|
||||
|
||||
declare export function batch(() => void): void
|
||||
|
||||
declare export default {
|
||||
Provider: typeof Provider,
|
||||
createProvider: typeof createProvider,
|
||||
@@ -289,5 +294,7 @@ declare module "react-redux" {
|
||||
useDispatch: typeof useDispatch,
|
||||
useSelector: typeof useSelector,
|
||||
useStore: typeof useStore,
|
||||
batch: typeof batch,
|
||||
...
|
||||
};
|
||||
}
|
||||
|
||||
BIN
images/app-store-badge.png
Normal file
|
After Width: | Height: | Size: 2.0 KiB |
21
images/calendar.svg
Normal file
@@ -0,0 +1,21 @@
|
||||
<svg width="68" height="72" viewBox="0 0 68 72" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<rect x="1" y="5.64514" width="65.3548" height="65.3548" rx="7" stroke="#A4B8D1" stroke-width="2"/>
|
||||
<rect y="23.2258" width="67.3548" height="2.0213" fill="#A4B8D1"/>
|
||||
<rect x="14.5161" width="2.32258" height="14.5161" fill="#A4B8D1"/>
|
||||
<rect x="11.6129" y="12.1935" width="8.12903" height="2.32258" fill="#A4B8D1"/>
|
||||
<rect x="50.5161" width="2.32258" height="14.5161" fill="#A4B8D1"/>
|
||||
<rect x="47.6129" y="12.1935" width="8.12903" height="2.32258" fill="#A4B8D1"/>
|
||||
<circle cx="24.387" cy="37.7419" r="2.32258" fill="#A4B8D1"/>
|
||||
<circle cx="33.6774" cy="37.7419" r="2.32258" fill="#A4B8D1"/>
|
||||
<circle cx="42.9677" cy="37.7419" r="2.32258" fill="#A4B8D1"/>
|
||||
<circle cx="52.258" cy="37.7419" r="2.32258" fill="#A4B8D1"/>
|
||||
<circle cx="24.387" cy="47.0322" r="2.32258" fill="#A4B8D1"/>
|
||||
<circle cx="15.0968" cy="47.0322" r="2.32258" fill="#A4B8D1"/>
|
||||
<circle cx="33.6774" cy="47.0322" r="2.32258" fill="#A4B8D1"/>
|
||||
<circle cx="42.9677" cy="47.0322" r="2.32258" fill="#A4B8D1"/>
|
||||
<circle cx="24.387" cy="56.3226" r="2.32258" fill="#A4B8D1"/>
|
||||
<circle cx="15.0968" cy="56.3226" r="2.32258" fill="#A4B8D1"/>
|
||||
<circle cx="33.6774" cy="56.3226" r="2.32258" fill="#A4B8D1"/>
|
||||
<circle cx="42.9677" cy="56.3226" r="2.32258" fill="#A4B8D1"/>
|
||||
<circle cx="52.258" cy="47.0322" r="2.32258" fill="#A4B8D1"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 1.3 KiB |
BIN
images/f-droid-badge.png
Normal file
|
After Width: | Height: | Size: 4.0 KiB |
BIN
images/google-play-badge.png
Normal file
|
After Width: | Height: | Size: 4.2 KiB |
|
Before Width: | Height: | Size: 33 KiB |
8
images/watermark.svg
Normal file
|
After Width: | Height: | Size: 12 KiB |
BIN
images/welcome-background.png
Normal file
|
After Width: | Height: | Size: 298 KiB |
27
index.html
@@ -4,11 +4,18 @@
|
||||
<meta charset="utf-8">
|
||||
<meta http-equiv="content-type" content="text/html;charset=utf-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<meta name="theme-color" content="#2A3A4B">
|
||||
<!--#include virtual="base.html" -->
|
||||
|
||||
<link rel="apple-touch-icon" href="images/apple-touch-icon.png">
|
||||
<link rel="stylesheet" href="css/all.css">
|
||||
<link rel="manifest" id="manifest-placeholder">
|
||||
|
||||
<script>
|
||||
// Dynamically generate the manifest location URL. It must be served from the document origin, and we may have
|
||||
// the base pointing to the CDN. This way we can generate a full URL which will bypass the base.
|
||||
document.querySelector('#manifest-placeholder').setAttribute('href', window.location.origin + '/manifest.json');
|
||||
|
||||
document.addEventListener('DOMContentLoaded', () => {
|
||||
if (!JitsiMeetJS.app) {
|
||||
return;
|
||||
@@ -17,7 +24,21 @@
|
||||
JitsiMeetJS.app.renderEntryPoint({
|
||||
Component: JitsiMeetJS.app.entryPoints.APP
|
||||
})
|
||||
})
|
||||
|
||||
const isElectron = navigator.userAgent.includes('Electron');
|
||||
const shouldRegisterWorker = !isElectron && 'serviceWorker' in navigator;
|
||||
|
||||
if (shouldRegisterWorker) {
|
||||
navigator.serviceWorker
|
||||
.register(window.location.origin + '/pwa-worker.js')
|
||||
.then(reg => {
|
||||
console.log('Service worker registered.', reg);
|
||||
})
|
||||
.catch(err => {
|
||||
console.log(err);
|
||||
});
|
||||
}
|
||||
});
|
||||
</script>
|
||||
<script>
|
||||
// IE11 and earlier can be identified via their user agent and be
|
||||
@@ -161,9 +182,13 @@
|
||||
<!--#include virtual="title.html" -->
|
||||
<!--#include virtual="plugin.head.html" -->
|
||||
<!--#include virtual="static/welcomePageAdditionalContent.html" -->
|
||||
<!--#include virtual="static/welcomePageAdditionalCard.html" -->
|
||||
<!--#include virtual="static/settingsToolbarAdditionalContent.html" -->
|
||||
</head>
|
||||
<body>
|
||||
<noscript>
|
||||
<div>JavaScript is disabled. </br>For this site to work you have to enable JavaScript.</div>
|
||||
</noscript>
|
||||
<!--#include virtual="body.html" -->
|
||||
<div id="react"></div>
|
||||
</body>
|
||||
|
||||
@@ -46,9 +46,9 @@ var interfaceConfig = {
|
||||
|
||||
DEFAULT_BACKGROUND: '#474747',
|
||||
DEFAULT_LOCAL_DISPLAY_NAME: 'me',
|
||||
DEFAULT_LOGO_URL: 'images/watermark.png',
|
||||
DEFAULT_LOGO_URL: 'images/watermark.svg',
|
||||
DEFAULT_REMOTE_DISPLAY_NAME: 'Fellow Jitster',
|
||||
DEFAULT_WELCOME_PAGE_LOGO_URL: 'images/watermark.png',
|
||||
DEFAULT_WELCOME_PAGE_LOGO_URL: 'images/watermark.svg',
|
||||
|
||||
DISABLE_DOMINANT_SPEAKER_INDICATOR: false,
|
||||
|
||||
@@ -86,7 +86,9 @@ var interfaceConfig = {
|
||||
*/
|
||||
DISABLE_VIDEO_BACKGROUND: false,
|
||||
|
||||
DISPLAY_WELCOME_PAGE_CONTENT: true,
|
||||
DISPLAY_WELCOME_FOOTER: true,
|
||||
DISPLAY_WELCOME_PAGE_ADDITIONAL_CARD: false,
|
||||
DISPLAY_WELCOME_PAGE_CONTENT: false,
|
||||
DISPLAY_WELCOME_PAGE_TOOLBAR_ADDITIONAL_CONTENT: false,
|
||||
|
||||
ENABLE_DIAL_OUT: true,
|
||||
@@ -95,11 +97,6 @@ var interfaceConfig = {
|
||||
|
||||
FILM_STRIP_MAX_HEIGHT: 120,
|
||||
|
||||
/**
|
||||
* Whether to only show the filmstrip (and hide the toolbar).
|
||||
*/
|
||||
filmStripOnly: false,
|
||||
|
||||
GENERATE_ROOMNAMES_ON_WELCOME_PAGE: true,
|
||||
|
||||
/**
|
||||
@@ -136,6 +133,21 @@ var interfaceConfig = {
|
||||
*/
|
||||
MOBILE_APP_PROMO: true,
|
||||
|
||||
/**
|
||||
* Specify custom URL for downloading android mobile app.
|
||||
*/
|
||||
MOBILE_DOWNLOAD_LINK_ANDROID: 'https://play.google.com/store/apps/details?id=org.jitsi.meet',
|
||||
|
||||
/**
|
||||
* Specify custom URL for downloading f droid app.
|
||||
*/
|
||||
MOBILE_DOWNLOAD_LINK_F_DROID: 'https://f-droid.org/en/packages/org.jitsi.meet/',
|
||||
|
||||
/**
|
||||
* Specify URL for downloading ios mobile app.
|
||||
*/
|
||||
MOBILE_DOWNLOAD_LINK_IOS: 'https://itunes.apple.com/us/app/jitsi-meet/id1165103905',
|
||||
|
||||
NATIVE_APP_NAME: 'Jitsi Meet',
|
||||
|
||||
// Names of browsers which should show a warning stating the current browser
|
||||
@@ -169,7 +181,6 @@ var interfaceConfig = {
|
||||
SHOW_JITSI_WATERMARK: true,
|
||||
SHOW_POWERED_BY: false,
|
||||
SHOW_PROMOTIONAL_CLOSE_PAGE: false,
|
||||
SHOW_WATERMARK_FOR_GUESTS: true, // if watermark is disabled by default, it can be shown only for guests
|
||||
|
||||
/*
|
||||
* If indicated some of the error dialogs may point to the support URL for
|
||||
@@ -223,27 +234,12 @@ var interfaceConfig = {
|
||||
*/
|
||||
VIDEO_QUALITY_LABEL_DISABLED: false,
|
||||
|
||||
/**
|
||||
* When enabled, the kick participant button will not be presented for users without a JWT
|
||||
*/
|
||||
// HIDE_KICK_BUTTON_FOR_GUESTS: false,
|
||||
|
||||
/**
|
||||
* How many columns the tile view can expand to. The respected range is
|
||||
* between 1 and 5.
|
||||
*/
|
||||
// TILE_VIEW_MAX_COLUMNS: 5,
|
||||
|
||||
/**
|
||||
* Specify custom URL for downloading android mobile app.
|
||||
*/
|
||||
// MOBILE_DOWNLOAD_LINK_ANDROID: 'https://play.google.com/store/apps/details?id=org.jitsi.meet',
|
||||
|
||||
/**
|
||||
* Specify URL for downloading ios mobile app.
|
||||
*/
|
||||
// MOBILE_DOWNLOAD_LINK_IOS: 'https://itunes.apple.com/us/app/jitsi-meet/id1165103905',
|
||||
|
||||
/**
|
||||
* Specify Firebase dynamic link properties for the mobile apps.
|
||||
*/
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
platform :ios, '11.0'
|
||||
workspace 'jitsi-meet'
|
||||
require_relative '../node_modules/@react-native-community/cli-platform-ios/native_modules'
|
||||
install! 'cocoapods', :deterministic_uuids => false
|
||||
|
||||
target 'jitsi-meet' do
|
||||
project 'app/app.xcodeproj'
|
||||
@@ -66,6 +67,7 @@ target 'JitsiMeet' do
|
||||
pod 'RNSVG', :path => '../node_modules/react-native-svg'
|
||||
pod 'RNWatch', :path => '../node_modules/react-native-watch-connectivity'
|
||||
pod 'RNDefaultPreference', :path => '../node_modules/react-native-default-preference'
|
||||
pod 'react-native-splash-screen', :path => '../node_modules/react-native-splash-screen'
|
||||
|
||||
# Native pod dependencies
|
||||
#
|
||||
|
||||
354
ios/Podfile.lock
@@ -12,14 +12,14 @@ PODS:
|
||||
- CocoaLumberjack/Core (= 3.5.3)
|
||||
- CocoaLumberjack/Core (3.5.3)
|
||||
- DoubleConversion (1.1.6)
|
||||
- FBLazyVector (0.61.5-jitsi.1)
|
||||
- FBReactNativeSpec (0.61.5-jitsi.1):
|
||||
- FBLazyVector (0.61.5-jitsi.2)
|
||||
- FBReactNativeSpec (0.61.5-jitsi.2):
|
||||
- Folly (= 2018.10.22.00)
|
||||
- RCTRequired (= 0.61.5-jitsi.1)
|
||||
- RCTTypeSafety (= 0.61.5-jitsi.1)
|
||||
- React-Core (= 0.61.5-jitsi.1)
|
||||
- React-jsi (= 0.61.5-jitsi.1)
|
||||
- ReactCommon/turbomodule/core (= 0.61.5-jitsi.1)
|
||||
- RCTRequired (= 0.61.5-jitsi.2)
|
||||
- RCTTypeSafety (= 0.61.5-jitsi.2)
|
||||
- React-Core (= 0.61.5-jitsi.2)
|
||||
- React-jsi (= 0.61.5-jitsi.2)
|
||||
- ReactCommon/turbomodule/core (= 0.61.5-jitsi.2)
|
||||
- Firebase/Analytics (6.33.0):
|
||||
- Firebase/Core
|
||||
- Firebase/Core (6.33.0):
|
||||
@@ -120,169 +120,169 @@ PODS:
|
||||
- nanopb/encode (1.30906.0)
|
||||
- ObjectiveDropboxOfficial (3.9.4)
|
||||
- PromisesObjC (1.2.10)
|
||||
- RCTRequired (0.61.5-jitsi.1)
|
||||
- RCTTypeSafety (0.61.5-jitsi.1):
|
||||
- FBLazyVector (= 0.61.5-jitsi.1)
|
||||
- RCTRequired (0.61.5-jitsi.2)
|
||||
- RCTTypeSafety (0.61.5-jitsi.2):
|
||||
- FBLazyVector (= 0.61.5-jitsi.2)
|
||||
- Folly (= 2018.10.22.00)
|
||||
- RCTRequired (= 0.61.5-jitsi.1)
|
||||
- React-Core (= 0.61.5-jitsi.1)
|
||||
- React (0.61.5-jitsi.1):
|
||||
- React-Core (= 0.61.5-jitsi.1)
|
||||
- React-Core/DevSupport (= 0.61.5-jitsi.1)
|
||||
- React-Core/RCTWebSocket (= 0.61.5-jitsi.1)
|
||||
- React-RCTActionSheet (= 0.61.5-jitsi.1)
|
||||
- React-RCTAnimation (= 0.61.5-jitsi.1)
|
||||
- React-RCTBlob (= 0.61.5-jitsi.1)
|
||||
- React-RCTImage (= 0.61.5-jitsi.1)
|
||||
- React-RCTLinking (= 0.61.5-jitsi.1)
|
||||
- React-RCTNetwork (= 0.61.5-jitsi.1)
|
||||
- React-RCTSettings (= 0.61.5-jitsi.1)
|
||||
- React-RCTText (= 0.61.5-jitsi.1)
|
||||
- React-RCTVibration (= 0.61.5-jitsi.1)
|
||||
- React-Core (0.61.5-jitsi.1):
|
||||
- RCTRequired (= 0.61.5-jitsi.2)
|
||||
- React-Core (= 0.61.5-jitsi.2)
|
||||
- React (0.61.5-jitsi.2):
|
||||
- React-Core (= 0.61.5-jitsi.2)
|
||||
- React-Core/DevSupport (= 0.61.5-jitsi.2)
|
||||
- React-Core/RCTWebSocket (= 0.61.5-jitsi.2)
|
||||
- React-RCTActionSheet (= 0.61.5-jitsi.2)
|
||||
- React-RCTAnimation (= 0.61.5-jitsi.2)
|
||||
- React-RCTBlob (= 0.61.5-jitsi.2)
|
||||
- React-RCTImage (= 0.61.5-jitsi.2)
|
||||
- React-RCTLinking (= 0.61.5-jitsi.2)
|
||||
- React-RCTNetwork (= 0.61.5-jitsi.2)
|
||||
- React-RCTSettings (= 0.61.5-jitsi.2)
|
||||
- React-RCTText (= 0.61.5-jitsi.2)
|
||||
- React-RCTVibration (= 0.61.5-jitsi.2)
|
||||
- React-Core (0.61.5-jitsi.2):
|
||||
- Folly (= 2018.10.22.00)
|
||||
- glog
|
||||
- React-Core/Default (= 0.61.5-jitsi.1)
|
||||
- React-cxxreact (= 0.61.5-jitsi.1)
|
||||
- React-jsi (= 0.61.5-jitsi.1)
|
||||
- React-jsiexecutor (= 0.61.5-jitsi.1)
|
||||
- React-Core/Default (= 0.61.5-jitsi.2)
|
||||
- React-cxxreact (= 0.61.5-jitsi.2)
|
||||
- React-jsi (= 0.61.5-jitsi.2)
|
||||
- React-jsiexecutor (= 0.61.5-jitsi.2)
|
||||
- Yoga
|
||||
- React-Core/CoreModulesHeaders (0.61.5-jitsi.1):
|
||||
- React-Core/CoreModulesHeaders (0.61.5-jitsi.2):
|
||||
- Folly (= 2018.10.22.00)
|
||||
- glog
|
||||
- React-Core/Default
|
||||
- React-cxxreact (= 0.61.5-jitsi.1)
|
||||
- React-jsi (= 0.61.5-jitsi.1)
|
||||
- React-jsiexecutor (= 0.61.5-jitsi.1)
|
||||
- React-cxxreact (= 0.61.5-jitsi.2)
|
||||
- React-jsi (= 0.61.5-jitsi.2)
|
||||
- React-jsiexecutor (= 0.61.5-jitsi.2)
|
||||
- Yoga
|
||||
- React-Core/Default (0.61.5-jitsi.1):
|
||||
- React-Core/Default (0.61.5-jitsi.2):
|
||||
- Folly (= 2018.10.22.00)
|
||||
- glog
|
||||
- React-cxxreact (= 0.61.5-jitsi.1)
|
||||
- React-jsi (= 0.61.5-jitsi.1)
|
||||
- React-jsiexecutor (= 0.61.5-jitsi.1)
|
||||
- React-cxxreact (= 0.61.5-jitsi.2)
|
||||
- React-jsi (= 0.61.5-jitsi.2)
|
||||
- React-jsiexecutor (= 0.61.5-jitsi.2)
|
||||
- Yoga
|
||||
- React-Core/DevSupport (0.61.5-jitsi.1):
|
||||
- React-Core/DevSupport (0.61.5-jitsi.2):
|
||||
- Folly (= 2018.10.22.00)
|
||||
- glog
|
||||
- React-Core/Default (= 0.61.5-jitsi.1)
|
||||
- React-Core/RCTWebSocket (= 0.61.5-jitsi.1)
|
||||
- React-cxxreact (= 0.61.5-jitsi.1)
|
||||
- React-jsi (= 0.61.5-jitsi.1)
|
||||
- React-jsiexecutor (= 0.61.5-jitsi.1)
|
||||
- React-jsinspector (= 0.61.5-jitsi.1)
|
||||
- React-Core/Default (= 0.61.5-jitsi.2)
|
||||
- React-Core/RCTWebSocket (= 0.61.5-jitsi.2)
|
||||
- React-cxxreact (= 0.61.5-jitsi.2)
|
||||
- React-jsi (= 0.61.5-jitsi.2)
|
||||
- React-jsiexecutor (= 0.61.5-jitsi.2)
|
||||
- React-jsinspector (= 0.61.5-jitsi.2)
|
||||
- Yoga
|
||||
- React-Core/RCTActionSheetHeaders (0.61.5-jitsi.1):
|
||||
- React-Core/RCTActionSheetHeaders (0.61.5-jitsi.2):
|
||||
- Folly (= 2018.10.22.00)
|
||||
- glog
|
||||
- React-Core/Default
|
||||
- React-cxxreact (= 0.61.5-jitsi.1)
|
||||
- React-jsi (= 0.61.5-jitsi.1)
|
||||
- React-jsiexecutor (= 0.61.5-jitsi.1)
|
||||
- React-cxxreact (= 0.61.5-jitsi.2)
|
||||
- React-jsi (= 0.61.5-jitsi.2)
|
||||
- React-jsiexecutor (= 0.61.5-jitsi.2)
|
||||
- Yoga
|
||||
- React-Core/RCTAnimationHeaders (0.61.5-jitsi.1):
|
||||
- React-Core/RCTAnimationHeaders (0.61.5-jitsi.2):
|
||||
- Folly (= 2018.10.22.00)
|
||||
- glog
|
||||
- React-Core/Default
|
||||
- React-cxxreact (= 0.61.5-jitsi.1)
|
||||
- React-jsi (= 0.61.5-jitsi.1)
|
||||
- React-jsiexecutor (= 0.61.5-jitsi.1)
|
||||
- React-cxxreact (= 0.61.5-jitsi.2)
|
||||
- React-jsi (= 0.61.5-jitsi.2)
|
||||
- React-jsiexecutor (= 0.61.5-jitsi.2)
|
||||
- Yoga
|
||||
- React-Core/RCTBlobHeaders (0.61.5-jitsi.1):
|
||||
- React-Core/RCTBlobHeaders (0.61.5-jitsi.2):
|
||||
- Folly (= 2018.10.22.00)
|
||||
- glog
|
||||
- React-Core/Default
|
||||
- React-cxxreact (= 0.61.5-jitsi.1)
|
||||
- React-jsi (= 0.61.5-jitsi.1)
|
||||
- React-jsiexecutor (= 0.61.5-jitsi.1)
|
||||
- React-cxxreact (= 0.61.5-jitsi.2)
|
||||
- React-jsi (= 0.61.5-jitsi.2)
|
||||
- React-jsiexecutor (= 0.61.5-jitsi.2)
|
||||
- Yoga
|
||||
- React-Core/RCTImageHeaders (0.61.5-jitsi.1):
|
||||
- React-Core/RCTImageHeaders (0.61.5-jitsi.2):
|
||||
- Folly (= 2018.10.22.00)
|
||||
- glog
|
||||
- React-Core/Default
|
||||
- React-cxxreact (= 0.61.5-jitsi.1)
|
||||
- React-jsi (= 0.61.5-jitsi.1)
|
||||
- React-jsiexecutor (= 0.61.5-jitsi.1)
|
||||
- React-cxxreact (= 0.61.5-jitsi.2)
|
||||
- React-jsi (= 0.61.5-jitsi.2)
|
||||
- React-jsiexecutor (= 0.61.5-jitsi.2)
|
||||
- Yoga
|
||||
- React-Core/RCTLinkingHeaders (0.61.5-jitsi.1):
|
||||
- React-Core/RCTLinkingHeaders (0.61.5-jitsi.2):
|
||||
- Folly (= 2018.10.22.00)
|
||||
- glog
|
||||
- React-Core/Default
|
||||
- React-cxxreact (= 0.61.5-jitsi.1)
|
||||
- React-jsi (= 0.61.5-jitsi.1)
|
||||
- React-jsiexecutor (= 0.61.5-jitsi.1)
|
||||
- React-cxxreact (= 0.61.5-jitsi.2)
|
||||
- React-jsi (= 0.61.5-jitsi.2)
|
||||
- React-jsiexecutor (= 0.61.5-jitsi.2)
|
||||
- Yoga
|
||||
- React-Core/RCTNetworkHeaders (0.61.5-jitsi.1):
|
||||
- React-Core/RCTNetworkHeaders (0.61.5-jitsi.2):
|
||||
- Folly (= 2018.10.22.00)
|
||||
- glog
|
||||
- React-Core/Default
|
||||
- React-cxxreact (= 0.61.5-jitsi.1)
|
||||
- React-jsi (= 0.61.5-jitsi.1)
|
||||
- React-jsiexecutor (= 0.61.5-jitsi.1)
|
||||
- React-cxxreact (= 0.61.5-jitsi.2)
|
||||
- React-jsi (= 0.61.5-jitsi.2)
|
||||
- React-jsiexecutor (= 0.61.5-jitsi.2)
|
||||
- Yoga
|
||||
- React-Core/RCTSettingsHeaders (0.61.5-jitsi.1):
|
||||
- React-Core/RCTSettingsHeaders (0.61.5-jitsi.2):
|
||||
- Folly (= 2018.10.22.00)
|
||||
- glog
|
||||
- React-Core/Default
|
||||
- React-cxxreact (= 0.61.5-jitsi.1)
|
||||
- React-jsi (= 0.61.5-jitsi.1)
|
||||
- React-jsiexecutor (= 0.61.5-jitsi.1)
|
||||
- React-cxxreact (= 0.61.5-jitsi.2)
|
||||
- React-jsi (= 0.61.5-jitsi.2)
|
||||
- React-jsiexecutor (= 0.61.5-jitsi.2)
|
||||
- Yoga
|
||||
- React-Core/RCTTextHeaders (0.61.5-jitsi.1):
|
||||
- React-Core/RCTTextHeaders (0.61.5-jitsi.2):
|
||||
- Folly (= 2018.10.22.00)
|
||||
- glog
|
||||
- React-Core/Default
|
||||
- React-cxxreact (= 0.61.5-jitsi.1)
|
||||
- React-jsi (= 0.61.5-jitsi.1)
|
||||
- React-jsiexecutor (= 0.61.5-jitsi.1)
|
||||
- React-cxxreact (= 0.61.5-jitsi.2)
|
||||
- React-jsi (= 0.61.5-jitsi.2)
|
||||
- React-jsiexecutor (= 0.61.5-jitsi.2)
|
||||
- Yoga
|
||||
- React-Core/RCTVibrationHeaders (0.61.5-jitsi.1):
|
||||
- React-Core/RCTVibrationHeaders (0.61.5-jitsi.2):
|
||||
- Folly (= 2018.10.22.00)
|
||||
- glog
|
||||
- React-Core/Default
|
||||
- React-cxxreact (= 0.61.5-jitsi.1)
|
||||
- React-jsi (= 0.61.5-jitsi.1)
|
||||
- React-jsiexecutor (= 0.61.5-jitsi.1)
|
||||
- React-cxxreact (= 0.61.5-jitsi.2)
|
||||
- React-jsi (= 0.61.5-jitsi.2)
|
||||
- React-jsiexecutor (= 0.61.5-jitsi.2)
|
||||
- Yoga
|
||||
- React-Core/RCTWebSocket (0.61.5-jitsi.1):
|
||||
- React-Core/RCTWebSocket (0.61.5-jitsi.2):
|
||||
- Folly (= 2018.10.22.00)
|
||||
- glog
|
||||
- React-Core/Default (= 0.61.5-jitsi.1)
|
||||
- React-cxxreact (= 0.61.5-jitsi.1)
|
||||
- React-jsi (= 0.61.5-jitsi.1)
|
||||
- React-jsiexecutor (= 0.61.5-jitsi.1)
|
||||
- React-Core/Default (= 0.61.5-jitsi.2)
|
||||
- React-cxxreact (= 0.61.5-jitsi.2)
|
||||
- React-jsi (= 0.61.5-jitsi.2)
|
||||
- React-jsiexecutor (= 0.61.5-jitsi.2)
|
||||
- Yoga
|
||||
- React-CoreModules (0.61.5-jitsi.1):
|
||||
- FBReactNativeSpec (= 0.61.5-jitsi.1)
|
||||
- React-CoreModules (0.61.5-jitsi.2):
|
||||
- FBReactNativeSpec (= 0.61.5-jitsi.2)
|
||||
- Folly (= 2018.10.22.00)
|
||||
- RCTTypeSafety (= 0.61.5-jitsi.1)
|
||||
- React-Core/CoreModulesHeaders (= 0.61.5-jitsi.1)
|
||||
- React-RCTImage (= 0.61.5-jitsi.1)
|
||||
- ReactCommon/turbomodule/core (= 0.61.5-jitsi.1)
|
||||
- React-cxxreact (0.61.5-jitsi.1):
|
||||
- RCTTypeSafety (= 0.61.5-jitsi.2)
|
||||
- React-Core/CoreModulesHeaders (= 0.61.5-jitsi.2)
|
||||
- React-RCTImage (= 0.61.5-jitsi.2)
|
||||
- ReactCommon/turbomodule/core (= 0.61.5-jitsi.2)
|
||||
- React-cxxreact (0.61.5-jitsi.2):
|
||||
- boost-for-react-native (= 1.63.0)
|
||||
- DoubleConversion
|
||||
- Folly (= 2018.10.22.00)
|
||||
- glog
|
||||
- React-jsinspector (= 0.61.5-jitsi.1)
|
||||
- React-jsi (0.61.5-jitsi.1):
|
||||
- React-jsinspector (= 0.61.5-jitsi.2)
|
||||
- React-jsi (0.61.5-jitsi.2):
|
||||
- boost-for-react-native (= 1.63.0)
|
||||
- DoubleConversion
|
||||
- Folly (= 2018.10.22.00)
|
||||
- glog
|
||||
- React-jsi/Default (= 0.61.5-jitsi.1)
|
||||
- React-jsi/Default (0.61.5-jitsi.1):
|
||||
- React-jsi/Default (= 0.61.5-jitsi.2)
|
||||
- React-jsi/Default (0.61.5-jitsi.2):
|
||||
- boost-for-react-native (= 1.63.0)
|
||||
- DoubleConversion
|
||||
- Folly (= 2018.10.22.00)
|
||||
- glog
|
||||
- React-jsiexecutor (0.61.5-jitsi.1):
|
||||
- React-jsiexecutor (0.61.5-jitsi.2):
|
||||
- DoubleConversion
|
||||
- Folly (= 2018.10.22.00)
|
||||
- glog
|
||||
- React-cxxreact (= 0.61.5-jitsi.1)
|
||||
- React-jsi (= 0.61.5-jitsi.1)
|
||||
- React-jsinspector (0.61.5-jitsi.1)
|
||||
- React-cxxreact (= 0.61.5-jitsi.2)
|
||||
- React-jsi (= 0.61.5-jitsi.2)
|
||||
- React-jsinspector (0.61.5-jitsi.2)
|
||||
- react-native-background-timer (2.4.0):
|
||||
- React
|
||||
- react-native-calendar-events (2.0.0):
|
||||
@@ -291,64 +291,66 @@ PODS:
|
||||
- React
|
||||
- react-native-netinfo (4.1.5):
|
||||
- React
|
||||
- react-native-webrtc (1.84.0):
|
||||
- react-native-splash-screen (3.2.0):
|
||||
- React
|
||||
- react-native-webview (10.9.0):
|
||||
- React
|
||||
- React-RCTActionSheet (0.61.5-jitsi.1):
|
||||
- React-Core/RCTActionSheetHeaders (= 0.61.5-jitsi.1)
|
||||
- React-RCTAnimation (0.61.5-jitsi.1):
|
||||
- React-Core/RCTAnimationHeaders (= 0.61.5-jitsi.1)
|
||||
- React-RCTBlob (0.61.5-jitsi.1):
|
||||
- React-Core/RCTBlobHeaders (= 0.61.5-jitsi.1)
|
||||
- React-Core/RCTWebSocket (= 0.61.5-jitsi.1)
|
||||
- React-jsi (= 0.61.5-jitsi.1)
|
||||
- React-RCTNetwork (= 0.61.5-jitsi.1)
|
||||
- React-RCTImage (0.61.5-jitsi.1):
|
||||
- React-Core/RCTImageHeaders (= 0.61.5-jitsi.1)
|
||||
- React-RCTNetwork (= 0.61.5-jitsi.1)
|
||||
- React-RCTLinking (0.61.5-jitsi.1):
|
||||
- React-Core/RCTLinkingHeaders (= 0.61.5-jitsi.1)
|
||||
- React-RCTNetwork (0.61.5-jitsi.1):
|
||||
- React-Core/RCTNetworkHeaders (= 0.61.5-jitsi.1)
|
||||
- React-RCTSettings (0.61.5-jitsi.1):
|
||||
- React-Core/RCTSettingsHeaders (= 0.61.5-jitsi.1)
|
||||
- React-RCTText (0.61.5-jitsi.1):
|
||||
- React-Core/RCTTextHeaders (= 0.61.5-jitsi.1)
|
||||
- React-RCTVibration (0.61.5-jitsi.1):
|
||||
- React-Core/RCTVibrationHeaders (= 0.61.5-jitsi.1)
|
||||
- ReactCommon/jscallinvoker (0.61.5-jitsi.1):
|
||||
- react-native-webrtc (1.87.1):
|
||||
- React-Core
|
||||
- react-native-webview (11.0.2):
|
||||
- React-Core
|
||||
- React-RCTActionSheet (0.61.5-jitsi.2):
|
||||
- React-Core/RCTActionSheetHeaders (= 0.61.5-jitsi.2)
|
||||
- React-RCTAnimation (0.61.5-jitsi.2):
|
||||
- React-Core/RCTAnimationHeaders (= 0.61.5-jitsi.2)
|
||||
- React-RCTBlob (0.61.5-jitsi.2):
|
||||
- React-Core/RCTBlobHeaders (= 0.61.5-jitsi.2)
|
||||
- React-Core/RCTWebSocket (= 0.61.5-jitsi.2)
|
||||
- React-jsi (= 0.61.5-jitsi.2)
|
||||
- React-RCTNetwork (= 0.61.5-jitsi.2)
|
||||
- React-RCTImage (0.61.5-jitsi.2):
|
||||
- React-Core/RCTImageHeaders (= 0.61.5-jitsi.2)
|
||||
- React-RCTNetwork (= 0.61.5-jitsi.2)
|
||||
- React-RCTLinking (0.61.5-jitsi.2):
|
||||
- React-Core/RCTLinkingHeaders (= 0.61.5-jitsi.2)
|
||||
- React-RCTNetwork (0.61.5-jitsi.2):
|
||||
- React-Core/RCTNetworkHeaders (= 0.61.5-jitsi.2)
|
||||
- React-RCTSettings (0.61.5-jitsi.2):
|
||||
- React-Core/RCTSettingsHeaders (= 0.61.5-jitsi.2)
|
||||
- React-RCTText (0.61.5-jitsi.2):
|
||||
- React-Core/RCTTextHeaders (= 0.61.5-jitsi.2)
|
||||
- React-RCTVibration (0.61.5-jitsi.2):
|
||||
- React-Core/RCTVibrationHeaders (= 0.61.5-jitsi.2)
|
||||
- ReactCommon/jscallinvoker (0.61.5-jitsi.2):
|
||||
- DoubleConversion
|
||||
- Folly (= 2018.10.22.00)
|
||||
- glog
|
||||
- React-cxxreact (= 0.61.5-jitsi.1)
|
||||
- ReactCommon/turbomodule (0.61.5-jitsi.1):
|
||||
- React-cxxreact (= 0.61.5-jitsi.2)
|
||||
- ReactCommon/turbomodule (0.61.5-jitsi.2):
|
||||
- DoubleConversion
|
||||
- Folly (= 2018.10.22.00)
|
||||
- glog
|
||||
- React-Core (= 0.61.5-jitsi.1)
|
||||
- React-cxxreact (= 0.61.5-jitsi.1)
|
||||
- React-jsi (= 0.61.5-jitsi.1)
|
||||
- ReactCommon/jscallinvoker (= 0.61.5-jitsi.1)
|
||||
- ReactCommon/turbomodule/core (= 0.61.5-jitsi.1)
|
||||
- ReactCommon/turbomodule/samples (= 0.61.5-jitsi.1)
|
||||
- ReactCommon/turbomodule/core (0.61.5-jitsi.1):
|
||||
- React-Core (= 0.61.5-jitsi.2)
|
||||
- React-cxxreact (= 0.61.5-jitsi.2)
|
||||
- React-jsi (= 0.61.5-jitsi.2)
|
||||
- ReactCommon/jscallinvoker (= 0.61.5-jitsi.2)
|
||||
- ReactCommon/turbomodule/core (= 0.61.5-jitsi.2)
|
||||
- ReactCommon/turbomodule/samples (= 0.61.5-jitsi.2)
|
||||
- ReactCommon/turbomodule/core (0.61.5-jitsi.2):
|
||||
- DoubleConversion
|
||||
- Folly (= 2018.10.22.00)
|
||||
- glog
|
||||
- React-Core (= 0.61.5-jitsi.1)
|
||||
- React-cxxreact (= 0.61.5-jitsi.1)
|
||||
- React-jsi (= 0.61.5-jitsi.1)
|
||||
- ReactCommon/jscallinvoker (= 0.61.5-jitsi.1)
|
||||
- ReactCommon/turbomodule/samples (0.61.5-jitsi.1):
|
||||
- React-Core (= 0.61.5-jitsi.2)
|
||||
- React-cxxreact (= 0.61.5-jitsi.2)
|
||||
- React-jsi (= 0.61.5-jitsi.2)
|
||||
- ReactCommon/jscallinvoker (= 0.61.5-jitsi.2)
|
||||
- ReactCommon/turbomodule/samples (0.61.5-jitsi.2):
|
||||
- DoubleConversion
|
||||
- Folly (= 2018.10.22.00)
|
||||
- glog
|
||||
- React-Core (= 0.61.5-jitsi.1)
|
||||
- React-cxxreact (= 0.61.5-jitsi.1)
|
||||
- React-jsi (= 0.61.5-jitsi.1)
|
||||
- ReactCommon/jscallinvoker (= 0.61.5-jitsi.1)
|
||||
- ReactCommon/turbomodule/core (= 0.61.5-jitsi.1)
|
||||
- React-Core (= 0.61.5-jitsi.2)
|
||||
- React-cxxreact (= 0.61.5-jitsi.2)
|
||||
- React-jsi (= 0.61.5-jitsi.2)
|
||||
- ReactCommon/jscallinvoker (= 0.61.5-jitsi.2)
|
||||
- ReactCommon/turbomodule/core (= 0.61.5-jitsi.2)
|
||||
- RNCAsyncStorage (1.3.4):
|
||||
- React
|
||||
- RNDefaultPreference (1.4.2):
|
||||
@@ -361,7 +363,7 @@ PODS:
|
||||
- RNSound/Core (= 0.11.0)
|
||||
- RNSound/Core (0.11.0):
|
||||
- React
|
||||
- RNSVG (9.7.1):
|
||||
- RNSVG (10.1.0):
|
||||
- React
|
||||
- RNWatch (0.4.3):
|
||||
- React
|
||||
@@ -395,6 +397,7 @@ DEPENDENCIES:
|
||||
- react-native-calendar-events (from `../node_modules/react-native-calendar-events`)
|
||||
- react-native-keep-awake (from `../node_modules/react-native-keep-awake`)
|
||||
- "react-native-netinfo (from `../node_modules/@react-native-community/netinfo`)"
|
||||
- react-native-splash-screen (from `../node_modules/react-native-splash-screen`)
|
||||
- react-native-webrtc (from `../node_modules/react-native-webrtc`)
|
||||
- react-native-webview (from `../node_modules/react-native-webview`)
|
||||
- React-RCTActionSheet (from `../node_modules/react-native/Libraries/ActionSheetIOS`)
|
||||
@@ -477,6 +480,8 @@ EXTERNAL SOURCES:
|
||||
:path: "../node_modules/react-native-keep-awake"
|
||||
react-native-netinfo:
|
||||
:path: "../node_modules/@react-native-community/netinfo"
|
||||
react-native-splash-screen:
|
||||
:path: "../node_modules/react-native-splash-screen"
|
||||
react-native-webrtc:
|
||||
:path: "../node_modules/react-native-webrtc"
|
||||
react-native-webview:
|
||||
@@ -523,8 +528,8 @@ SPEC CHECKSUMS:
|
||||
BVLinearGradient: e3aad03778a456d77928f594a649e96995f1c872
|
||||
CocoaLumberjack: 2f44e60eb91c176d471fdba43b9e3eae6a721947
|
||||
DoubleConversion: 5805e889d232975c086db112ece9ed034df7a0b2
|
||||
FBLazyVector: 4a5251159a3ed05dc11cc8b74cf937869935814b
|
||||
FBReactNativeSpec: 6fa602a20993212cc9877a81838578ffb0008bc9
|
||||
FBLazyVector: ca7f56c8ff6cd8590f7a673d7903b06019805581
|
||||
FBReactNativeSpec: 8136c3cf27de2bb310a69cffbb423c5643f5c1c4
|
||||
Firebase: 8db6f2d1b2c5e2984efba4949a145875a8f65fe5
|
||||
FirebaseAnalytics: 5dd088bd2e67bb9d13dbf792d1164ceaf3052193
|
||||
FirebaseCore: d889d9e12535b7f36ac8bfbf1713a0836a3012cd
|
||||
@@ -543,39 +548,40 @@ SPEC CHECKSUMS:
|
||||
nanopb: 59317e09cf1f1a0af72f12af412d54edf52603fc
|
||||
ObjectiveDropboxOfficial: a5afefc83f6467c42c45f2253f583f2ad1ffc701
|
||||
PromisesObjC: b14b1c6b68e306650688599de8a45e49fae81151
|
||||
RCTRequired: f63dd90a89a60602acdd44c42e5d2645ca60ab79
|
||||
RCTTypeSafety: 24a3c6d55684046ed550b1d0ef083a9bf71c8bd4
|
||||
React: 71c5a51135f291c3b32c0b558e167b858ae50e84
|
||||
React-Core: e82c03ff91062abf963f35bf99a357154e570285
|
||||
React-CoreModules: e236aeecd18cec37743c8c50562431db5302f668
|
||||
React-cxxreact: 526ec106aa1bf2b3f6aab2a7d528d1d23d5f59c2
|
||||
React-jsi: 4f35c1a2273d193a80c1c3831c808413840c260c
|
||||
React-jsiexecutor: de1c37cf59ae9adcbf2be82eea0e090dc3f3205e
|
||||
React-jsinspector: b76c4e84a7833bb4c90549d59ed53ec299ff912b
|
||||
RCTRequired: a686731276578c125dff205f08b6ec9cee6ede32
|
||||
RCTTypeSafety: 88e5500e801c00d16a3d1895e3470d13beed6584
|
||||
React: 8b2bcf6a93846e47a7a365a54ec6edeb78b37701
|
||||
React-Core: 3fbdbc87c18c4742b735ff9a0c02fa38c87e0fba
|
||||
React-CoreModules: f6f8a8212aec52a21251c0af58bdb037b57c70b3
|
||||
React-cxxreact: c6ad34143db06a5c3cb0e8e169c775475287ac9c
|
||||
React-jsi: ddb471a56185e4007835a1bba0882ecb5ce3dc0e
|
||||
React-jsiexecutor: 67106691c60030ec888d7cbbc4f48a3168e27a02
|
||||
React-jsinspector: 92ceee6c66dc19886289b52436ade7e020b89602
|
||||
react-native-background-timer: e0384ea2fa5a98f67f84f9c4dc274260ddd674ed
|
||||
react-native-calendar-events: 1442fad71a00388f933cfa25512588fec300fcf8
|
||||
react-native-keep-awake: eba3137546b10003361b37c761f6c429b59814ae
|
||||
react-native-netinfo: 8d8db463bcc5db66a8ac5c48a7d86beb3b92f61a
|
||||
react-native-webrtc: 9268ae9a2bc9730796b0968d012327e92c392adf
|
||||
react-native-webview: 6ee7868ca8eba635dbf7963986d1ab7959da0391
|
||||
React-RCTActionSheet: b72ddbfbe15b44ce691d128e4b582f4bb9abb540
|
||||
React-RCTAnimation: cfaefba5024499d336b76ab850e6bd33b232b5e3
|
||||
React-RCTBlob: c427e643bef82999deeab97489ba43298ecfbe24
|
||||
React-RCTImage: 79934bc96f3349da6a75b1d61cad594a932e4097
|
||||
React-RCTLinking: 12b153399567c30efac0b32bb00f9c064587dc26
|
||||
React-RCTNetwork: 603ad75778a54521b7797fd07c67dff562317526
|
||||
React-RCTSettings: 8d45fcf14513582539ea1ddea69391207de7f046
|
||||
React-RCTText: b4c29897c3df0c9f112e29aa3167fa6caf40b690
|
||||
React-RCTVibration: a1bcfcdc0b5a73a1b0829a34cee22bd0e95bacba
|
||||
ReactCommon: 675681aba4fecff5acbc0e440530cc422103c610
|
||||
react-native-splash-screen: 200d11d188e2e78cea3ad319964f6142b6384865
|
||||
react-native-webrtc: 40eca4cac200fda34fb843da07e3402211bbbd10
|
||||
react-native-webview: b2542d6fd424bcc3e3b2ec5f854f0abb4ec86c87
|
||||
React-RCTActionSheet: bcbc311dc3b47bc8efb2737ff0940239a45789a9
|
||||
React-RCTAnimation: 65f61080ce632f6dea23d52e354ffac9948396c6
|
||||
React-RCTBlob: 70d88f7b68b5c44953cdb286ac2e36a7a509a97e
|
||||
React-RCTImage: e0d25b620e42de91ed791ef129e2d3a0df1eb5ab
|
||||
React-RCTLinking: bc2287cfd9e56403ecea5dafdbdac8c57fa1ac36
|
||||
React-RCTNetwork: cd8ae8fc787c02ed5152fe9cbf7521ee70c1bce7
|
||||
React-RCTSettings: f6667271ccd8876a934134b73002b5a2714e1525
|
||||
React-RCTText: 4f1b99f228278d2a5e9008eced8dc9c974c4a270
|
||||
React-RCTVibration: c1041024893fdfdb8371e7c720c437751b711676
|
||||
ReactCommon: 18014e1d98dbeb9141e935cfe35fc93bd511ffb6
|
||||
RNCAsyncStorage: 8e31405a9f12fbf42c2bb330e4560bfd79c18323
|
||||
RNDefaultPreference: 56a405ce61033ac77b95004dccd7ac54c2eb50d1
|
||||
RNGoogleSignin: 39336070b35fc4cea6a98cf111e00480317be0ae
|
||||
RNSound: c980916b596cc15c8dcd2f6ecd3b13c4881dbe20
|
||||
RNSVG: aac12785382e8fd4f28d072fe640612e34914631
|
||||
RNSVG: 069864be08c9fe065a2cf7e63656a34c78653c99
|
||||
RNWatch: a5320c959c75e72845c07985f3e935e58998f1d3
|
||||
Yoga: 7b4209fda2441f99d54dd6cf4c82b094409bb68f
|
||||
Yoga: 96b469c5e81ff51b917b92e8c3390642d4ded30c
|
||||
|
||||
PODFILE CHECKSUM: 224e84629bf45ae487c4ebc66faf33ec8304fb67
|
||||
PODFILE CHECKSUM: f6626cd705333112182cedbe175ae2f9006e8874
|
||||
|
||||
COCOAPODS: 1.9.3
|
||||
COCOAPODS: 1.10.0
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
archiveVersion = 1;
|
||||
classes = {
|
||||
};
|
||||
objectVersion = 46;
|
||||
objectVersion = 52;
|
||||
objects = {
|
||||
|
||||
/* Begin PBXBuildFile section */
|
||||
@@ -13,8 +13,6 @@
|
||||
0B412F211EDEE95300B1A0A6 /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 0B412F201EDEE95300B1A0A6 /* Main.storyboard */; };
|
||||
0B5418471F7C5D8C00A2DD86 /* MeetingRowController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0B5418461F7C5D8C00A2DD86 /* MeetingRowController.swift */; };
|
||||
0B7001701F7C51CC005944F4 /* InCallController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0B70016F1F7C51CC005944F4 /* InCallController.swift */; };
|
||||
0BD6B4371EF82A6B00D1F4CD /* WebRTC.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 0BD6B4361EF82A6B00D1F4CD /* WebRTC.framework */; };
|
||||
0BD6B4381EF82A6B00D1F4CD /* WebRTC.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 0BD6B4361EF82A6B00D1F4CD /* WebRTC.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; };
|
||||
0BEA5C291F7B8F73000D0AB4 /* Interface.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 0BEA5C271F7B8F73000D0AB4 /* Interface.storyboard */; };
|
||||
0BEA5C2B1F7B8F73000D0AB4 /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 0BEA5C2A1F7B8F73000D0AB4 /* Assets.xcassets */; };
|
||||
0BEA5C321F7B8F73000D0AB4 /* JitsiMeetCompanion Extension.appex in Embed App Extensions */ = {isa = PBXBuildFile; fileRef = 0BEA5C311F7B8F73000D0AB4 /* JitsiMeetCompanion Extension.appex */; settings = {ATTRIBUTES = (RemoveHeadersOnCopy, ); }; };
|
||||
@@ -28,6 +26,8 @@
|
||||
13B07FBF1A68108700A75B9A /* Images.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 13B07FB51A68108700A75B9A /* Images.xcassets */; };
|
||||
13B07FC11A68108700A75B9A /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = 13B07FB71A68108700A75B9A /* main.m */; };
|
||||
695AF3ED6F686F9C5EE40F9A /* libPods-jitsi-meet.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 489E8EFE2C720D10F5961AEF /* libPods-jitsi-meet.a */; };
|
||||
DE050389256E904600DEE3A5 /* WebRTC.xcframework in Frameworks */ = {isa = PBXBuildFile; fileRef = DE050388256E904600DEE3A5 /* WebRTC.xcframework */; };
|
||||
DE05038A256E904600DEE3A5 /* WebRTC.xcframework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = DE050388256E904600DEE3A5 /* WebRTC.xcframework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; };
|
||||
DE4C456121DE1E4E00EA0709 /* FIRUtilities.m in Sources */ = {isa = PBXBuildFile; fileRef = DE4C455F21DE1E4E00EA0709 /* FIRUtilities.m */; };
|
||||
E588011722789D43008B0561 /* JitsiMeetContext.swift in Sources */ = {isa = PBXBuildFile; fileRef = E58801132278944E008B0561 /* JitsiMeetContext.swift */; };
|
||||
E5C97B63227A1EB400199214 /* JitsiMeetCommands.swift in Sources */ = {isa = PBXBuildFile; fileRef = E5C97B62227A1EB400199214 /* JitsiMeetCommands.swift */; };
|
||||
@@ -57,8 +57,8 @@
|
||||
dstPath = "";
|
||||
dstSubfolderSpec = 10;
|
||||
files = (
|
||||
DE05038A256E904600DEE3A5 /* WebRTC.xcframework in Embed Frameworks */,
|
||||
0B26BE6F1EC5BC3C00EEFB41 /* JitsiMeet.framework in Embed Frameworks */,
|
||||
0BD6B4381EF82A6B00D1F4CD /* WebRTC.framework in Embed Frameworks */,
|
||||
);
|
||||
name = "Embed Frameworks";
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
@@ -117,8 +117,10 @@
|
||||
4670A512A688E2DC34528282 /* Pods-jitsi-meet.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-jitsi-meet.debug.xcconfig"; path = "../Pods/Target Support Files/Pods-jitsi-meet/Pods-jitsi-meet.debug.xcconfig"; sourceTree = "<group>"; };
|
||||
489E8EFE2C720D10F5961AEF /* libPods-jitsi-meet.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-jitsi-meet.a"; sourceTree = BUILT_PRODUCTS_DIR; };
|
||||
B3B083EB1D4955FF0069CEE7 /* app.entitlements */ = {isa = PBXFileReference; lastKnownFileType = text.plist.entitlements; path = app.entitlements; sourceTree = "<group>"; };
|
||||
DE050388256E904600DEE3A5 /* WebRTC.xcframework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.xcframework; name = WebRTC.xcframework; path = "../../node_modules/react-native-webrtc/apple/WebRTC.xcframework"; sourceTree = "<group>"; };
|
||||
DE4C455F21DE1E4E00EA0709 /* FIRUtilities.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = FIRUtilities.m; sourceTree = "<group>"; };
|
||||
DE4C456021DE1E4E00EA0709 /* FIRUtilities.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = FIRUtilities.h; sourceTree = "<group>"; };
|
||||
DEFDBBDB25656E3B00344B23 /* WebRTC.xcframework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.xcframework; name = WebRTC.xcframework; path = "../../node_modules/react-native-webrtc/ios/WebRTC.xcframework"; sourceTree = "<group>"; };
|
||||
E58801132278944E008B0561 /* JitsiMeetContext.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = JitsiMeetContext.swift; sourceTree = "<group>"; };
|
||||
E5C97B62227A1EB400199214 /* JitsiMeetCommands.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = JitsiMeetCommands.swift; sourceTree = "<group>"; };
|
||||
/* End PBXFileReference section */
|
||||
@@ -136,8 +138,8 @@
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
0B26BE6E1EC5BC3C00EEFB41 /* JitsiMeet.framework in Frameworks */,
|
||||
0BD6B4371EF82A6B00D1F4CD /* WebRTC.framework in Frameworks */,
|
||||
695AF3ED6F686F9C5EE40F9A /* libPods-jitsi-meet.a in Frameworks */,
|
||||
DE050389256E904600DEE3A5 /* WebRTC.xcframework in Frameworks */,
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
@@ -154,7 +156,9 @@
|
||||
0B26BE711EC5BC4D00EEFB41 /* Frameworks */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
DE050388256E904600DEE3A5 /* WebRTC.xcframework */,
|
||||
0B26BE6D1EC5BC3C00EEFB41 /* JitsiMeet.framework */,
|
||||
DEFDBBDB25656E3B00344B23 /* WebRTC.xcframework */,
|
||||
0BD6B4361EF82A6B00D1F4CD /* WebRTC.framework */,
|
||||
489E8EFE2C720D10F5961AEF /* libPods-jitsi-meet.a */,
|
||||
);
|
||||
@@ -290,8 +294,6 @@
|
||||
13B07F8C1A680F5B00A75B9A /* Frameworks */,
|
||||
13B07F8E1A680F5B00A75B9A /* Resources */,
|
||||
0B26BE701EC5BC3C00EEFB41 /* Embed Frameworks */,
|
||||
B35383AD1DDA0083008F406A /* Adjust embedded framework architectures */,
|
||||
DE3A859324C701EA009B7D76 /* Copy WebRTC dSYM */,
|
||||
0BB7DA181EC9E695007AAE98 /* Adjust ATS */,
|
||||
DEF4813D224925A2002AD03A /* Copy Google Plist file */,
|
||||
DE11877A21EE09640078D059 /* Setup Google reverse URL handler */,
|
||||
@@ -420,20 +422,6 @@
|
||||
shellPath = /bin/sh;
|
||||
shellScript = "../scripts/run-packager.sh\n";
|
||||
};
|
||||
B35383AD1DDA0083008F406A /* Adjust embedded framework architectures */ = {
|
||||
isa = PBXShellScriptBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
);
|
||||
inputPaths = (
|
||||
);
|
||||
name = "Adjust embedded framework architectures";
|
||||
outputPaths = (
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
shellPath = /bin/sh;
|
||||
shellScript = "../scripts/fixup-frameworks.sh\n";
|
||||
};
|
||||
B6607F42A5CF0C76E98929E2 /* [CP] Check Pods Manifest.lock */ = {
|
||||
isa = PBXShellScriptBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
@@ -474,24 +462,6 @@
|
||||
shellPath = /bin/sh;
|
||||
shellScript = "INFO_PLIST=\"$BUILT_PRODUCTS_DIR/$INFOPLIST_PATH\"\nGOOGLE_PLIST=\"$PROJECT_DIR/GoogleService-Info.plist\"\n\nif [[ -f $GOOGLE_PLIST ]]; then\n REVERSED_CLIENT_ID=$(/usr/libexec/PlistBuddy -c \"Print :REVERSED_CLIENT_ID:\" $GOOGLE_PLIST)\n /usr/libexec/PlistBuddy -c \"Set :CFBundleURLTypes:1:CFBundleURLSchemes:0 $REVERSED_CLIENT_ID\" $INFO_PLIST\nfi\n";
|
||||
};
|
||||
DE3A859324C701EA009B7D76 /* Copy WebRTC dSYM */ = {
|
||||
isa = PBXShellScriptBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
);
|
||||
inputFileListPaths = (
|
||||
);
|
||||
inputPaths = (
|
||||
);
|
||||
name = "Copy WebRTC dSYM";
|
||||
outputFileListPaths = (
|
||||
);
|
||||
outputPaths = (
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
shellPath = /bin/sh;
|
||||
shellScript = "set -x\n\nif [[ \"${CONFIGURATION}\" != \"Debug\" ]]; then\n cp -r ../../node_modules/react-native-webrtc/ios/WebRTC.dSYM ${DWARF_DSYM_FOLDER_PATH}/\nfi\n";
|
||||
};
|
||||
DE4F6D6E22005C0400DE699E /* Setup Dropbox */ = {
|
||||
isa = PBXShellScriptBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
@@ -652,7 +622,8 @@
|
||||
PRODUCT_NAME = "$(TARGET_NAME)";
|
||||
SDKROOT = watchos;
|
||||
SKIP_INSTALL = YES;
|
||||
SWIFT_OPTIMIZATION_LEVEL = "-Owholemodule";
|
||||
SWIFT_COMPILATION_MODE = wholemodule;
|
||||
SWIFT_OPTIMIZATION_LEVEL = "-O";
|
||||
SWIFT_VERSION = 5.0;
|
||||
TARGETED_DEVICE_FAMILY = 4;
|
||||
WATCHOS_DEPLOYMENT_TARGET = 4.0;
|
||||
@@ -679,7 +650,11 @@
|
||||
DEVELOPMENT_TEAM = FC967L3QRG;
|
||||
GCC_C_LANGUAGE_STANDARD = gnu11;
|
||||
INFOPLIST_FILE = watchos/extension/Info.plist;
|
||||
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @executable_path/../../Frameworks";
|
||||
LD_RUNPATH_SEARCH_PATHS = (
|
||||
"$(inherited)",
|
||||
"@executable_path/Frameworks",
|
||||
"@executable_path/../../Frameworks",
|
||||
);
|
||||
PRODUCT_BUNDLE_IDENTIFIER = org.jitsi.meet.watchkit.extension;
|
||||
PRODUCT_NAME = "${TARGET_NAME}";
|
||||
SDKROOT = watchos;
|
||||
@@ -713,12 +688,17 @@
|
||||
DEVELOPMENT_TEAM = FC967L3QRG;
|
||||
GCC_C_LANGUAGE_STANDARD = gnu11;
|
||||
INFOPLIST_FILE = watchos/extension/Info.plist;
|
||||
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @executable_path/../../Frameworks";
|
||||
LD_RUNPATH_SEARCH_PATHS = (
|
||||
"$(inherited)",
|
||||
"@executable_path/Frameworks",
|
||||
"@executable_path/../../Frameworks",
|
||||
);
|
||||
PRODUCT_BUNDLE_IDENTIFIER = org.jitsi.meet.watchkit.extension;
|
||||
PRODUCT_NAME = "${TARGET_NAME}";
|
||||
SDKROOT = watchos;
|
||||
SKIP_INSTALL = YES;
|
||||
SWIFT_OPTIMIZATION_LEVEL = "-Owholemodule";
|
||||
SWIFT_COMPILATION_MODE = wholemodule;
|
||||
SWIFT_OPTIMIZATION_LEVEL = "-O";
|
||||
SWIFT_VERSION = 5.0;
|
||||
TARGETED_DEVICE_FAMILY = 4;
|
||||
WATCHOS_DEPLOYMENT_TARGET = 4.0;
|
||||
@@ -729,7 +709,6 @@
|
||||
isa = XCBuildConfiguration;
|
||||
baseConfigurationReference = 4670A512A688E2DC34528282 /* Pods-jitsi-meet.debug.xcconfig */;
|
||||
buildSettings = {
|
||||
ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES;
|
||||
ASSETCATALOG_COMPILER_APPICON_NAME = AppIconDebug;
|
||||
CODE_SIGN_ENTITLEMENTS = app.entitlements;
|
||||
CODE_SIGN_IDENTITY = "iPhone Developer";
|
||||
@@ -738,16 +717,11 @@
|
||||
DEAD_CODE_STRIPPING = NO;
|
||||
DEVELOPMENT_TEAM = FC967L3QRG;
|
||||
ENABLE_BITCODE = NO;
|
||||
FRAMEWORK_SEARCH_PATHS = (
|
||||
"$(inherited)",
|
||||
"../../node_modules/react-native-webrtc/ios",
|
||||
);
|
||||
HEADER_SEARCH_PATHS = (
|
||||
"$(inherited)",
|
||||
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include,
|
||||
);
|
||||
INFOPLIST_FILE = src/Info.plist;
|
||||
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
|
||||
LD_RUNPATH_SEARCH_PATHS = (
|
||||
"$(inherited)",
|
||||
"@executable_path/Frameworks",
|
||||
);
|
||||
LIBRARY_SEARCH_PATHS = "$(inherited)";
|
||||
OTHER_LDFLAGS = (
|
||||
"$(inherited)",
|
||||
@@ -764,7 +738,6 @@
|
||||
isa = XCBuildConfiguration;
|
||||
baseConfigurationReference = 09AA3B93E4CC62D84B424690 /* Pods-jitsi-meet.release.xcconfig */;
|
||||
buildSettings = {
|
||||
ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES;
|
||||
ASSETCATALOG_COMPILER_APPICON_NAME = AppIconRelease;
|
||||
CODE_SIGN_ENTITLEMENTS = app.entitlements;
|
||||
CODE_SIGN_IDENTITY = "iPhone Developer";
|
||||
@@ -772,16 +745,11 @@
|
||||
CURRENT_PROJECT_VERSION = 1;
|
||||
DEVELOPMENT_TEAM = FC967L3QRG;
|
||||
ENABLE_BITCODE = YES;
|
||||
FRAMEWORK_SEARCH_PATHS = (
|
||||
"$(inherited)",
|
||||
"../../node_modules/react-native-webrtc/ios",
|
||||
);
|
||||
HEADER_SEARCH_PATHS = (
|
||||
"$(inherited)",
|
||||
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include,
|
||||
);
|
||||
INFOPLIST_FILE = src/Info.plist;
|
||||
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
|
||||
LD_RUNPATH_SEARCH_PATHS = (
|
||||
"$(inherited)",
|
||||
"@executable_path/Frameworks",
|
||||
);
|
||||
LIBRARY_SEARCH_PATHS = "$(inherited)";
|
||||
OTHER_LDFLAGS = (
|
||||
"$(inherited)",
|
||||
|
||||
@@ -45,6 +45,8 @@
|
||||
#endif
|
||||
}];
|
||||
|
||||
[jitsiMeet application:application didFinishLaunchingWithOptions:launchOptions];
|
||||
|
||||
// Initialize Crashlytics and Firebase if a valid GoogleService-Info.plist file was provided.
|
||||
if ([FIRUtilities appContainsRealServiceInfoPlist]) {
|
||||
NSLog(@"Enabling Firebase");
|
||||
@@ -53,7 +55,8 @@
|
||||
[[FIRCrashlytics crashlytics] setCrashlyticsCollectionEnabled:![jitsiMeet isCrashReportingDisabled]];
|
||||
}
|
||||
|
||||
[jitsiMeet application:application didFinishLaunchingWithOptions:launchOptions];
|
||||
ViewController *rootController = (ViewController *)self.window.rootViewController;
|
||||
[jitsiMeet showSplashScreen:rootController.view];
|
||||
|
||||
return YES;
|
||||
}
|
||||
|
||||
@@ -17,7 +17,7 @@
|
||||
<key>CFBundlePackageType</key>
|
||||
<string>APPL</string>
|
||||
<key>CFBundleShortVersionString</key>
|
||||
<string>20.5.0</string>
|
||||
<string>20.6.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.5.0</string>
|
||||
<string>20.6.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.5.0</string>
|
||||
<string>20.6.0</string>
|
||||
<key>CFBundleVersion</key>
|
||||
<string>1</string>
|
||||
<key>CLKComplicationPrincipalClass</key>
|
||||
|
||||
@@ -1,15 +0,0 @@
|
||||
#!/bin/bash
|
||||
|
||||
# This script will download a bitcode build of the WebRTC framework, if needed.
|
||||
|
||||
if [[ ! "$CONFIGURATION" = "Debug" ]]; then
|
||||
RN_WEBRTC="$SRCROOT/../../node_modules/react-native-webrtc"
|
||||
|
||||
if otool -arch arm64 -l $RN_WEBRTC/ios/WebRTC.framework/WebRTC | grep -q LLVM; then
|
||||
echo "WebRTC framework has bitcode"
|
||||
else
|
||||
echo "WebRTC framework has NO bitcode"
|
||||
$RN_WEBRTC/tools/downloadBitcode.sh
|
||||
fi
|
||||
fi
|
||||
|
||||
@@ -1,39 +0,0 @@
|
||||
#!/bin/bash
|
||||
|
||||
# This script gets executed from Xcode to fixup the embedded frameworks and
|
||||
# bundle the necessary architectures.
|
||||
|
||||
|
||||
APP_PATH="${TARGET_BUILD_DIR}/${WRAPPER_NAME}"
|
||||
|
||||
# This script loops through the frameworks embedded in the application and
|
||||
# removes unused architectures.
|
||||
find "$APP_PATH" -name '*.framework' -type d | while read -r FRAMEWORK
|
||||
do
|
||||
FRAMEWORK_EXECUTABLE_NAME=$(defaults read "$FRAMEWORK/Info.plist" CFBundleExecutable)
|
||||
FRAMEWORK_EXECUTABLE_PATH="$FRAMEWORK/$FRAMEWORK_EXECUTABLE_NAME"
|
||||
echo "Executable is $FRAMEWORK_EXECUTABLE_PATH"
|
||||
|
||||
EXTRACTED_ARCHS=()
|
||||
|
||||
for ARCH in $ARCHS
|
||||
do
|
||||
if lipo -info "$FRAMEWORK_EXECUTABLE_PATH" | grep -q -v "^Non-fat"
|
||||
then
|
||||
echo "Extracting $ARCH from $FRAMEWORK_EXECUTABLE_NAME"
|
||||
lipo -extract "$ARCH" "$FRAMEWORK_EXECUTABLE_PATH" -o "$FRAMEWORK_EXECUTABLE_PATH-$ARCH"
|
||||
EXTRACTED_ARCHS+=("$FRAMEWORK_EXECUTABLE_PATH-$ARCH")
|
||||
fi
|
||||
done
|
||||
|
||||
if [ -n "$EXTRACTED_ARCHS" ]
|
||||
then
|
||||
echo "Merging extracted architectures: ${ARCHS}"
|
||||
lipo -o "$FRAMEWORK_EXECUTABLE_PATH-merged" -create "${EXTRACTED_ARCHS[@]}"
|
||||
rm "${EXTRACTED_ARCHS[@]}"
|
||||
|
||||
echo "Replacing original executable with thinned version"
|
||||
rm "$FRAMEWORK_EXECUTABLE_PATH"
|
||||
mv "$FRAMEWORK_EXECUTABLE_PATH-merged" "$FRAMEWORK_EXECUTABLE_PATH"
|
||||
fi
|
||||
done
|
||||
@@ -24,8 +24,36 @@ popd
|
||||
|
||||
# Build the SDK
|
||||
pushd ${PROJECT_REPO}
|
||||
rm -rf ios/sdk/JitsiMeet.framework
|
||||
xcodebuild -workspace ios/jitsi-meet.xcworkspace -scheme JitsiMeet -destination='generic/platform=iOS' -configuration Release ENABLE_BITCODE=NO clean archive
|
||||
rm -rf ios/sdk/out
|
||||
xcodebuild clean \
|
||||
-workspace ios/jitsi-meet.xcworkspace \
|
||||
-scheme JitsiMeet
|
||||
xcodebuild archive \
|
||||
-workspace ios/jitsi-meet.xcworkspace \
|
||||
-scheme JitsiMeet \
|
||||
-configuration Release \
|
||||
-sdk iphonesimulator \
|
||||
-destination='generic/platform=iOS Simulator' \
|
||||
-archivePath ios/sdk/out/ios-simulator \
|
||||
VALID_ARCHS=x86_64 \
|
||||
ENABLE_BITCODE=NO \
|
||||
SKIP_INSTALL=NO \
|
||||
BUILD_LIBRARY_FOR_DISTRIBUTION=YES
|
||||
xcodebuild archive \
|
||||
-workspace ios/jitsi-meet.xcworkspace \
|
||||
-scheme JitsiMeet \
|
||||
-configuration Release \
|
||||
-sdk iphoneos \
|
||||
-destination='generic/platform=iOS' \
|
||||
-archivePath ios/sdk/out/ios-device \
|
||||
VALID_ARCHS=arm64 \
|
||||
ENABLE_BITCODE=NO \
|
||||
SKIP_INSTALL=NO \
|
||||
BUILD_LIBRARY_FOR_DISTRIBUTION=YES
|
||||
xcodebuild -create-xcframework \
|
||||
-framework ios/sdk/out/ios-device.xcarchive/Products/Library/Frameworks/JitsiMeet.framework \
|
||||
-framework ios/sdk/out/ios-simulator.xcarchive/Products/Library/Frameworks/JitsiMeet.framework \
|
||||
-output ios/sdk/out/JitsiMeet.xcframework
|
||||
if [[ $DO_GIT_TAG == 1 ]]; then
|
||||
git tag ios-sdk-${SDK_VERSION}
|
||||
fi
|
||||
@@ -34,12 +62,8 @@ popd
|
||||
pushd ${RELEASE_REPO}
|
||||
|
||||
# Put the new files in the repo
|
||||
cp -r ${PROJECT_REPO}/ios/sdk/JitsiMeet.framework Frameworks/
|
||||
cp -r ${PROJECT_REPO}/node_modules/react-native-webrtc/ios/WebRTC.framework Frameworks/
|
||||
|
||||
# Strip bitcode
|
||||
xcrun bitcode_strip -r Frameworks/JitsiMeet.framework/JitsiMeet -o Frameworks/JitsiMeet.framework/JitsiMeet
|
||||
xcrun bitcode_strip -r Frameworks/WebRTC.framework/WebRTC -o Frameworks/WebRTC.framework/WebRTC
|
||||
cp -a ${PROJECT_REPO}/ios/sdk/out/JitsiMeet.xcframework Frameworks/
|
||||
cp -a ${PROJECT_REPO}/node_modules/react-native-webrtc/apple/WebRTC.xcframework Frameworks/
|
||||
|
||||
# Add all files to git
|
||||
if [[ $DO_GIT_TAG == 1 ]]; then
|
||||
|
||||
@@ -81,8 +81,6 @@
|
||||
0BCA495C1EC4B6C600B793EE /* AudioMode.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = AudioMode.m; sourceTree = "<group>"; };
|
||||
0BCA495D1EC4B6C600B793EE /* POSIX.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = POSIX.m; sourceTree = "<group>"; };
|
||||
0BCA495E1EC4B6C600B793EE /* Proximity.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = Proximity.m; sourceTree = "<group>"; };
|
||||
0BCA49631EC4B76D00B793EE /* WebRTC.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = WebRTC.framework; path = "../../node_modules/react-native-webrtc/ios/WebRTC.framework"; sourceTree = "<group>"; };
|
||||
0BCA496B1EC4BBF900B793EE /* jitsi.ttf */ = {isa = PBXFileReference; lastKnownFileType = file; name = jitsi.ttf; path = ../../fonts/jitsi.ttf; sourceTree = "<group>"; };
|
||||
0BD906E51EC0C00300C8C18E /* JitsiMeet.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = JitsiMeet.framework; sourceTree = BUILT_PRODUCTS_DIR; };
|
||||
0BD906E81EC0C00300C8C18E /* JitsiMeet.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = JitsiMeet.h; sourceTree = "<group>"; };
|
||||
0BD906E91EC0C00300C8C18E /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
|
||||
@@ -153,7 +151,6 @@
|
||||
0BC4B8681F8C01E100CE8B21 /* CallKitIcon.png */,
|
||||
C6245F5B2053091D0040BE68 /* image-resize@2x.png */,
|
||||
C6245F5C2053091D0040BE68 /* image-resize@3x.png */,
|
||||
0BCA496B1EC4BBF900B793EE /* jitsi.ttf */,
|
||||
75635B0820751D6D00F29C9F /* joined.wav */,
|
||||
75635B0920751D6D00F29C9F /* left.wav */,
|
||||
C30F88D1CB0F4F5593216D24 /* liveStreamingOff.mp3 */,
|
||||
@@ -240,7 +237,6 @@
|
||||
0B93EF7A1EC608550030D24D /* CoreText.framework */,
|
||||
0BB9AD781F5EC6D7001C08DB /* Intents.framework */,
|
||||
03F2ADC957FF109849B7FCA1 /* libPods-JitsiMeet.a */,
|
||||
0BCA49631EC4B76D00B793EE /* WebRTC.framework */,
|
||||
);
|
||||
name = Frameworks;
|
||||
sourceTree = "<group>";
|
||||
@@ -321,7 +317,6 @@
|
||||
buildConfigurationList = 0BD906ED1EC0C00300C8C18E /* Build configuration list for PBXNativeTarget "JitsiMeet" */;
|
||||
buildPhases = (
|
||||
26796D8589142D80C8AFDA51 /* [CP] Check Pods Manifest.lock */,
|
||||
DE3D81D6228B50FB00A6C149 /* Bitcode */,
|
||||
0BD906E01EC0C00300C8C18E /* Sources */,
|
||||
0BD906E11EC0C00300C8C18E /* Frameworks */,
|
||||
0BD906E21EC0C00300C8C18E /* Headers */,
|
||||
@@ -454,24 +449,6 @@
|
||||
shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-JitsiMeet/Pods-JitsiMeet-resources.sh\"\n";
|
||||
showEnvVarsInLog = 0;
|
||||
};
|
||||
DE3D81D6228B50FB00A6C149 /* Bitcode */ = {
|
||||
isa = PBXShellScriptBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
);
|
||||
inputFileListPaths = (
|
||||
);
|
||||
inputPaths = (
|
||||
);
|
||||
name = Bitcode;
|
||||
outputFileListPaths = (
|
||||
);
|
||||
outputPaths = (
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
shellPath = /bin/sh;
|
||||
shellScript = "../scripts/bitcode.sh\n";
|
||||
};
|
||||
/* End PBXShellScriptBuildPhase section */
|
||||
|
||||
/* Begin PBXSourcesBuildPhase section */
|
||||
@@ -635,7 +612,6 @@
|
||||
baseConfigurationReference = 98E09B5C73D9036B4ED252FC /* Pods-JitsiMeet.debug.xcconfig */;
|
||||
buildSettings = {
|
||||
ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = NO;
|
||||
BUILD_LIBRARY_FOR_DISTRIBUTION = NO;
|
||||
CLANG_ENABLE_MODULES = YES;
|
||||
CODE_SIGN_IDENTITY = "";
|
||||
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "";
|
||||
@@ -646,7 +622,6 @@
|
||||
DYLIB_INSTALL_NAME_BASE = "@rpath";
|
||||
ENABLE_BITCODE = NO;
|
||||
INFOPLIST_FILE = src/Info.plist;
|
||||
INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks";
|
||||
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
|
||||
PRODUCT_BUNDLE_IDENTIFIER = org.jitsi.JitsiMeetSDK.ios;
|
||||
PRODUCT_NAME = "$(TARGET_NAME)";
|
||||
@@ -655,7 +630,6 @@
|
||||
SUPPORTS_MACCATALYST = NO;
|
||||
SWIFT_OBJC_BRIDGING_HEADER = "";
|
||||
SWIFT_OPTIMIZATION_LEVEL = "-Onone";
|
||||
SWIFT_SWIFT3_OBJC_INFERENCE = Default;
|
||||
SWIFT_VERSION = 5.0;
|
||||
};
|
||||
name = Debug;
|
||||
@@ -665,7 +639,6 @@
|
||||
baseConfigurationReference = 9C77CA3CC919B081F1A52982 /* Pods-JitsiMeet.release.xcconfig */;
|
||||
buildSettings = {
|
||||
ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = NO;
|
||||
BUILD_LIBRARY_FOR_DISTRIBUTION = YES;
|
||||
CLANG_ENABLE_MODULES = YES;
|
||||
CODE_SIGN_IDENTITY = "";
|
||||
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "";
|
||||
@@ -676,7 +649,6 @@
|
||||
DYLIB_INSTALL_NAME_BASE = "@rpath";
|
||||
ENABLE_BITCODE = YES;
|
||||
INFOPLIST_FILE = src/Info.plist;
|
||||
INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks";
|
||||
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
|
||||
PRODUCT_BUNDLE_IDENTIFIER = org.jitsi.JitsiMeetSDK.ios;
|
||||
PRODUCT_NAME = "$(TARGET_NAME)";
|
||||
@@ -684,7 +656,6 @@
|
||||
SKIP_INSTALL = YES;
|
||||
SUPPORTS_MACCATALYST = NO;
|
||||
SWIFT_OBJC_BRIDGING_HEADER = "";
|
||||
SWIFT_SWIFT3_OBJC_INFERENCE = Default;
|
||||
SWIFT_VERSION = 5.0;
|
||||
};
|
||||
name = Release;
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<Scheme
|
||||
LastUpgradeVersion = "1020"
|
||||
version = "1.7">
|
||||
version = "1.3">
|
||||
<BuildAction
|
||||
parallelizeBuildables = "YES"
|
||||
buildImplicitDependencies = "YES">
|
||||
@@ -72,23 +72,5 @@
|
||||
<ArchiveAction
|
||||
buildConfiguration = "Release"
|
||||
revealArchiveInOrganizer = "YES">
|
||||
<PostActions>
|
||||
<ExecutionAction
|
||||
ActionType = "Xcode.IDEStandardExecutionActionsCore.ExecutionActionType.ShellScriptAction">
|
||||
<ActionContent
|
||||
title = "Run Script"
|
||||
scriptText = "exec > /tmp/${PROJECT_NAME}_archive.log 2>&1 UNIVERSAL_OUTPUTFOLDER=${BUILD_DIR}/${CONFIGURATION}-universal if [ "true" == ${ALREADYINVOKED:-false} ] then echo "RECURSION: Detected, stopping" else export ALREADYINVOKED="true" # make sure the output directory exists mkdir -p "${UNIVERSAL_OUTPUTFOLDER}" echo "Building for iPhoneSimulator" xcodebuild -workspace "${WORKSPACE_PATH}" -scheme "${TARGET_NAME}" -configuration ${CONFIGURATION} -sdk iphonesimulator -destination 'platform=iOS Simulator,name=iPhone 8' ONLY_ACTIVE_ARCH=NO ARCHS='x86_64' BUILD_DIR="${BUILD_DIR}" BUILD_ROOT="${BUILD_ROOT}" ENABLE_BITCODE=YES OTHER_CFLAGS="-fembed-bitcode" BITCODE_GENERATION_MODE=bitcode build # Step 1. Copy the framework structure (from iphoneos build) to the universal folder echo "Copying to output folder" cp -R "${BUILD_DIR}/${CONFIGURATION}-iphoneos/${FULL_PRODUCT_NAME}" "${UNIVERSAL_OUTPUTFOLDER}/" # Step 2. Copy Swift modules from iphonesimulator build (if it exists) to the copied framework directory SIMULATOR_SWIFT_MODULES_DIR="${BUILD_DIR}/${CONFIGURATION}-iphonesimulator/${TARGET_NAME}.framework/Modules/${TARGET_NAME}.swiftmodule/." if [ -d "${SIMULATOR_SWIFT_MODULES_DIR}" ]; then cp -R "${SIMULATOR_SWIFT_MODULES_DIR}" "${UNIVERSAL_OUTPUTFOLDER}/${TARGET_NAME}.framework/Modules/${TARGET_NAME}.swiftmodule" fi # Step 3. Create universal binary file using lipo and place the combined executable in the copied framework directory echo "Combining executables" lipo -create -output "${UNIVERSAL_OUTPUTFOLDER}/${EXECUTABLE_PATH}" "${BUILD_DIR}/${CONFIGURATION}-iphonesimulator/${EXECUTABLE_PATH}" "${BUILD_DIR}/${CONFIGURATION}-iphoneos/${EXECUTABLE_PATH}" fi # Step 4. Convenience step to copy the framework to the project&apos;s directory echo "Copying to project dir&quot" yes | cp -Rf ${UNIVERSAL_OUTPUTFOLDER}/${FULL_PRODUCT_NAME} ${PROJECT_DIR} ">
|
||||
<EnvironmentBuildable>
|
||||
<BuildableReference
|
||||
BuildableIdentifier = "primary"
|
||||
BlueprintIdentifier = "0BD906E41EC0C00300C8C18E"
|
||||
BuildableName = "JitsiMeet.framework"
|
||||
BlueprintName = "JitsiMeet"
|
||||
ReferencedContainer = "container:sdk.xcodeproj">
|
||||
</BuildableReference>
|
||||
</EnvironmentBuildable>
|
||||
</ActionContent>
|
||||
</ExecutionAction>
|
||||
</PostActions>
|
||||
</ArchiveAction>
|
||||
</Scheme>
|
||||
|
||||
@@ -15,7 +15,7 @@
|
||||
<key>CFBundlePackageType</key>
|
||||
<string>FMWK</string>
|
||||
<key>CFBundleShortVersionString</key>
|
||||
<string>2.11.0</string>
|
||||
<string>2.12.0</string>
|
||||
<key>CFBundleVersion</key>
|
||||
<string>$(CURRENT_PROJECT_VERSION)</string>
|
||||
<key>NSPrincipalClass</key>
|
||||
|
||||
@@ -67,4 +67,6 @@
|
||||
|
||||
- (BOOL)isCrashReportingDisabled;
|
||||
|
||||
- (void)showSplashScreen:(UIView * _Nonnull) rootView;
|
||||
|
||||
@end
|
||||
|
||||
@@ -22,6 +22,7 @@
|
||||
#import "JitsiMeetView+Private.h"
|
||||
#import "RCTBridgeWrapper.h"
|
||||
#import "ReactUtils.h"
|
||||
#import "RNSplashScreen.h"
|
||||
|
||||
#import <RNGoogleSignin/RNGoogleSignin.h>
|
||||
#import <WebRTC/RTCLogging.h>
|
||||
@@ -183,6 +184,10 @@
|
||||
return nil;
|
||||
}
|
||||
|
||||
- (void)showSplashScreen:(UIView*)rootView {
|
||||
[RNSplashScreen showSplash:@"LaunchScreen" inRootView:rootView];
|
||||
}
|
||||
|
||||
#pragma mark - Property getter / setters
|
||||
|
||||
- (NSArray<NSString *> *)universalLinkDomains {
|
||||
|
||||
@@ -18,6 +18,29 @@
|
||||
import CallKit
|
||||
import Foundation
|
||||
|
||||
public protocol CXProviderProtocol: class {
|
||||
var configuration: CXProviderConfiguration { get set }
|
||||
func setDelegate(_ delegate: CXProviderDelegate?, queue: DispatchQueue?)
|
||||
func reportNewIncomingCall(with UUID: UUID, update: CXCallUpdate, completion: @escaping (Error?) -> Void)
|
||||
func reportCall(with UUID: UUID, updated update: CXCallUpdate)
|
||||
func reportCall(with UUID: UUID, endedAt dateEnded: Date?, reason endedReason: CXCallEndedReason)
|
||||
func reportOutgoingCall(with UUID: UUID, startedConnectingAt dateStartedConnecting: Date?)
|
||||
func reportOutgoingCall(with UUID: UUID, connectedAt dateConnected: Date?)
|
||||
func invalidate()
|
||||
}
|
||||
|
||||
public protocol CXCallControllerProtocol: class {
|
||||
var calls: [CXCall] { get }
|
||||
func request(_ transaction: CXTransaction, completion: @escaping (Error?) -> Swift.Void)
|
||||
}
|
||||
|
||||
extension CXProvider: CXProviderProtocol {}
|
||||
extension CXCallController: CXCallControllerProtocol {
|
||||
public var calls: [CXCall] {
|
||||
return callObserver.calls
|
||||
}
|
||||
}
|
||||
|
||||
/// JitsiMeet CallKit proxy
|
||||
// NOTE: The methods this class exposes are meant to be called in the UI thread.
|
||||
// All delegate methods called by JMCallKitEmitter will be called in the UI thread.
|
||||
@@ -26,11 +49,17 @@ import Foundation
|
||||
private override init() {}
|
||||
|
||||
// MARK: - CallKit proxy
|
||||
|
||||
public static var callKitProvider: CXProviderProtocol?
|
||||
public static var callKitCallController: CXCallControllerProtocol?
|
||||
|
||||
private static var provider: CXProvider = {
|
||||
let configuration = CXProviderConfiguration(localizedName: "")
|
||||
return CXProvider(configuration: configuration)
|
||||
}()
|
||||
private static var provider: CXProviderProtocol {
|
||||
callKitProvider ?? defaultProvider
|
||||
}
|
||||
|
||||
private static var callController: CXCallControllerProtocol {
|
||||
callKitCallController ?? defaultCallController
|
||||
}
|
||||
|
||||
private static var providerConfiguration: CXProviderConfiguration? {
|
||||
didSet {
|
||||
@@ -39,10 +68,15 @@ import Foundation
|
||||
provider.setDelegate(emitter, queue: nil)
|
||||
}
|
||||
}
|
||||
|
||||
private static let callController: CXCallController = {
|
||||
|
||||
private static let defaultCallController: CXCallController = {
|
||||
return CXCallController()
|
||||
}()
|
||||
|
||||
private static var defaultProvider: CXProvider = {
|
||||
let configuration = CXProviderConfiguration(localizedName: "")
|
||||
return CXProvider(configuration: configuration)
|
||||
}()
|
||||
|
||||
private static let emitter: JMCallKitEmitter = {
|
||||
return JMCallKitEmitter()
|
||||
@@ -52,10 +86,16 @@ import Foundation
|
||||
/// Defaults to enabled, set to false when you don't want to use CallKit.
|
||||
@objc public static var enabled: Bool = true {
|
||||
didSet {
|
||||
provider.invalidate()
|
||||
if callKitProvider == nil {
|
||||
provider.invalidate()
|
||||
}
|
||||
|
||||
if enabled {
|
||||
guard isProviderConfigured() else { return; }
|
||||
provider = CXProvider(configuration: providerConfiguration!)
|
||||
guard isProviderConfigured() else { return }
|
||||
if callKitProvider == nil {
|
||||
defaultProvider = CXProvider(configuration: providerConfiguration!)
|
||||
}
|
||||
|
||||
provider.setDelegate(emitter, queue: nil)
|
||||
} else {
|
||||
provider.setDelegate(nil, queue: nil)
|
||||
@@ -92,19 +132,18 @@ import Foundation
|
||||
}
|
||||
|
||||
@objc public static func hasActiveCallForUUID(_ callUUID: String) -> Bool {
|
||||
let activeCallForUUID = callController.callObserver.calls.first {
|
||||
let activeCallForUUID = callController.calls.first {
|
||||
$0.uuid == UUID(uuidString: callUUID)
|
||||
}
|
||||
guard activeCallForUUID != nil else { return false }
|
||||
return true
|
||||
}
|
||||
|
||||
@objc public static func reportNewIncomingCall(
|
||||
UUID: UUID,
|
||||
handle: String?,
|
||||
displayName: String?,
|
||||
hasVideo: Bool,
|
||||
completion: @escaping (Error?) -> Void) {
|
||||
@objc public static func reportNewIncomingCall(UUID: UUID,
|
||||
handle: String?,
|
||||
displayName: String?,
|
||||
hasVideo: Bool,
|
||||
completion: @escaping (Error?) -> Void) {
|
||||
guard enabled else { return }
|
||||
|
||||
let callUpdate = makeCXUpdate(handle: handle,
|
||||
@@ -132,7 +171,6 @@ import Foundation
|
||||
endedAt dateEnded: Date?,
|
||||
reason endedReason: CXCallEndedReason) {
|
||||
guard enabled else { return }
|
||||
|
||||
provider.reportCall(with: UUID,
|
||||
endedAt: dateEnded,
|
||||
reason: endedReason)
|
||||
@@ -142,7 +180,6 @@ import Foundation
|
||||
with UUID: UUID,
|
||||
startedConnectingAt dateStartedConnecting: Date?) {
|
||||
guard enabled else { return }
|
||||
|
||||
provider.reportOutgoingCall(with: UUID,
|
||||
startedConnectingAt: dateStartedConnecting)
|
||||
}
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
{
|
||||
"ar": "العربية",
|
||||
"en": "الإنجليزية",
|
||||
"af": "الأفريكانية",
|
||||
"bg": "البلغارية",
|
||||
@@ -38,5 +39,9 @@
|
||||
"sk": "السلوفاكية",
|
||||
"lt": "الليتوانية",
|
||||
"id": "الإندونيسية",
|
||||
"he": "العبرية"
|
||||
"he": "العبرية",
|
||||
"mr":"الماراثى",
|
||||
"kab": "قَبَلي",
|
||||
"ro": "الرومانية",
|
||||
"sl": "السلوفينية",
|
||||
}
|
||||
|
||||
@@ -1,27 +1,50 @@
|
||||
{
|
||||
"en": "Angličtina",
|
||||
"af": "",
|
||||
"az": "",
|
||||
"af": "Afrikánština",
|
||||
"ar": "Arabština",
|
||||
"az": "Ázerbájdžánština",
|
||||
"bg": "Bulharština",
|
||||
"cs": "",
|
||||
"ca": "Katalánština",
|
||||
"cs": "Čeština",
|
||||
"da": "Dánština",
|
||||
"de": "Němčina",
|
||||
"el": "",
|
||||
"el": "Řečtina",
|
||||
"enGB": "Angličtina (Spojené království)",
|
||||
"eo": "Esperanto",
|
||||
"es": "Španělština",
|
||||
"esUS": "Španělština (Latinská Amerika)",
|
||||
"et": "Estonština",
|
||||
"eu": "Baskičtina",
|
||||
"fi": "Finština",
|
||||
"fr": "Francouština",
|
||||
"frCA": "Francouzština (Kanada)",
|
||||
"he": "Hebrejština",
|
||||
"mr":"Maráthština",
|
||||
"hr": "Chorvatština",
|
||||
"hu": "Maďarština",
|
||||
"hy": "Arménština",
|
||||
"id": "Indonéština",
|
||||
"it": "Italština",
|
||||
"ja": "",
|
||||
"ko": "",
|
||||
"ja": "Japonština",
|
||||
"kab": "Kabylština",
|
||||
"ko": "Korejština",
|
||||
"lt": "Litevština",
|
||||
"nl": "Nizozemština",
|
||||
"nb": "Norština Bokmal",
|
||||
"oc": "Okcitánština",
|
||||
"pl": "Polština",
|
||||
"ptBR": "Portugalština (Brazilská)",
|
||||
"ptBR": "Portugalština (Brazílie)",
|
||||
"ru": "Ruština",
|
||||
"ro": "Rumunština",
|
||||
"sc": "Sardinština",
|
||||
"sk": "Slovenština",
|
||||
"sl": "Slovinština",
|
||||
"sr": "Srbština",
|
||||
"sv": "Švédština",
|
||||
"th": "Thajština",
|
||||
"tr": "Turečtina",
|
||||
"vi": "",
|
||||
"zhCN": "Čínština (Čína)"
|
||||
}
|
||||
"uk": "Ukrajinština",
|
||||
"vi": "Vietnamština",
|
||||
"zhCN": "Čínština (Čína)",
|
||||
"zhTW": "Čínština (Taiwan)"
|
||||
}
|
||||
|
||||
@@ -20,6 +20,7 @@
|
||||
"ru": "Russisch",
|
||||
"sk": "Slowakisch",
|
||||
"sl": "Slowenisch",
|
||||
"sr": "Serbish",
|
||||
"sv": "Schwedisch",
|
||||
"tr": "Türkisch",
|
||||
"vi": "Vietnamesisch",
|
||||
|
||||
@@ -20,6 +20,7 @@
|
||||
"ru": "Russian",
|
||||
"sk": "",
|
||||
"sl": "Slovenian",
|
||||
"sr": "Serbian",
|
||||
"sv": "Swedish",
|
||||
"tr": "Turkish",
|
||||
"vi": "Vietnamese",
|
||||
|
||||
@@ -20,6 +20,7 @@
|
||||
"ru": "Ruski",
|
||||
"sk": "Slovački",
|
||||
"sl": "Slovenski",
|
||||
"sr": "Srpski",
|
||||
"sv": "Švedski",
|
||||
"tr": "Turski",
|
||||
"vi": "Vijetnamski",
|
||||
|
||||
@@ -27,12 +27,12 @@
|
||||
"enGB": "Inglese (Regno Unito)",
|
||||
"da": "Danese",
|
||||
"ca": "Catalano",
|
||||
"zhTW": "",
|
||||
"nl": "",
|
||||
"hu": "",
|
||||
"hr": "",
|
||||
"frCA": "",
|
||||
"fi": "",
|
||||
"et": "",
|
||||
"esUS": ""
|
||||
"zhTW": "Cinese (Taiwan)",
|
||||
"nl": "Olandese",
|
||||
"hu": "Ungaro",
|
||||
"hr": "Croato",
|
||||
"frCA": "Francese (Canada)",
|
||||
"fi": "Finlandese",
|
||||
"et": "Etiope",
|
||||
"esUS": "Spagnolo (USA)"
|
||||
}
|
||||
|
||||
@@ -1,27 +1,48 @@
|
||||
{
|
||||
"en": "英語",
|
||||
"af": "アフリカーンス語",
|
||||
"az": "アゼルバイジャン語",
|
||||
"ar": "アラビア語",
|
||||
"bg": "ブルガリア語",
|
||||
"ca": "カタルーニャ語",
|
||||
"cs": "チェコ語",
|
||||
"da": "デンマーク語",
|
||||
"de": "ドイツ語",
|
||||
"el": "ギリシア語",
|
||||
"enGB": "英語 (英国)",
|
||||
"eo": "エスペラント語",
|
||||
"es": "スペイン語",
|
||||
"esUS": "スペイン語 (ラテンアメリカ)",
|
||||
"et": "エストニア語",
|
||||
"eu": "バスク語",
|
||||
"fi": "フィンランド語",
|
||||
"fr": "フランス語",
|
||||
"frCA": "フランス語 (カナダ)",
|
||||
"he": "ヘブライ語",
|
||||
"mr": "マラーティー語",
|
||||
"hr": "クロアチア語",
|
||||
"hu": "ハンガリー語",
|
||||
"hy": "アルメニア語",
|
||||
"id": "インドネシア語",
|
||||
"it": "イタリア語",
|
||||
"ja": "日本語",
|
||||
"kab": "カビル語",
|
||||
"ko": "韓国語",
|
||||
"nb": "ノルウェー語 (ブークモール)",
|
||||
"lt": "リトアニア語",
|
||||
"nl": "オランダ語",
|
||||
"oc": "オック語",
|
||||
"pl": "ポーランド語",
|
||||
"ptBR": "ポルトガル語 (ブラジル)",
|
||||
"ru": "ロシア語",
|
||||
"ro": "ルーマニア語",
|
||||
"sc": "サルデーニャ語",
|
||||
"sk": "スロバキア語",
|
||||
"sl": "スロベニア語",
|
||||
"sr": "セルビア語",
|
||||
"sv": "スウェーデン語",
|
||||
"th": "タイ語",
|
||||
"tr": "トルコ語",
|
||||
"uk": "ウクライナ語",
|
||||
"vi": "ベトナム語",
|
||||
"zhCN": "中国語 (中国)"
|
||||
}
|
||||
"zhCN": "中国語 (中国)",
|
||||
"zhTW": "中国語 (台湾)"
|
||||
}
|
||||
|
||||
36
lang/languages-ka.json
Normal file
@@ -0,0 +1,36 @@
|
||||
{
|
||||
"en": "ინგლისური",
|
||||
"af": "აფრიკული",
|
||||
"bg": "ბულგარული",
|
||||
"ca": "კატალონიური",
|
||||
"cs": "ჩეხური",
|
||||
"de": "გერმანული",
|
||||
"el": "ბერძნული",
|
||||
"enGB": "ინგლისური (დიდი ბრიტანეთი)",
|
||||
"eo": "ესტონური",
|
||||
"es": "ესპანური",
|
||||
"esUS": "ესპანური (ლათინური ამერიკა)",
|
||||
"fi": "ფინური",
|
||||
"fr": "ფრანგული",
|
||||
"frCA": "ფრანგული (კანადური)",
|
||||
"hr": "ხორვატიული",
|
||||
"hu": "უნგრული",
|
||||
"hy": "სომხური",
|
||||
"it": "იტალიური",
|
||||
"ja": "იაპონური",
|
||||
"ka": "ქართული",
|
||||
"ko": "კორეული",
|
||||
"nl": "ჰოლანდიური",
|
||||
"oc": "ოქსიტანური",
|
||||
"pl": "პოლონური",
|
||||
"ptBR": "პორტუგალიური (ბრაზილია)",
|
||||
"ru": "რუსული",
|
||||
"sr": "სერბული",
|
||||
"sv": "შვედური",
|
||||
"tr": "თურქული",
|
||||
"vi": "ვიეტნამური",
|
||||
"zhCN": "ჩინური (ჩინეთი)",
|
||||
"zhTW": "ჩინური (ტაივანი)",
|
||||
"et": "ესტონური",
|
||||
"da": "დანიური"
|
||||
}
|
||||
@@ -1,48 +1,50 @@
|
||||
{
|
||||
"en": "Anglés",
|
||||
"af": "Afrikaans",
|
||||
"ar": "Arabi",
|
||||
"bg": "Bulgar",
|
||||
"ca": "Catalan",
|
||||
"cs": "Chèc",
|
||||
"da": "Danés",
|
||||
"de": "Aleman",
|
||||
"el": "Grèc",
|
||||
"enGB": "Anglés (Reialme Unit)",
|
||||
"eo": "Esperanto",
|
||||
"es": "Castelhan",
|
||||
"esUS": "Espanhòl (America latina)",
|
||||
"et": "Estonian",
|
||||
"eu": "Basc",
|
||||
"fi": "Finés",
|
||||
"fr": "Francés",
|
||||
"frCA": "Francés (Canadian)",
|
||||
"he": "Ebrèu",
|
||||
"mr":"Marathi",
|
||||
"hr": "Croat",
|
||||
"hu": "Ongrés",
|
||||
"hy": "Armenian",
|
||||
"id": "Indonesian",
|
||||
"it": "Italian",
|
||||
"ja": "Japonés",
|
||||
"kab": "Cabil",
|
||||
"ko": "Corean",
|
||||
"lt": "Lituanian",
|
||||
"nl": "Neerlandés",
|
||||
"oc": "Occitan",
|
||||
"pl": "Polonés",
|
||||
"ptBR": "Portugués (Brasil)",
|
||||
"ru": "Rus",
|
||||
"ro": "Romanian",
|
||||
"sc": "Sarde",
|
||||
"sk": "Eslovac",
|
||||
"sl": "Eslovèn",
|
||||
"sr": "Sèrbe",
|
||||
"sv": "Suedés",
|
||||
"th": "Tai",
|
||||
"tr": "Turc",
|
||||
"uk": "Ucraïnian",
|
||||
"vi": "Vietnamian",
|
||||
"zhCN": "Chinés (China)",
|
||||
"zhTW": "Chinés (Taiwan)",
|
||||
"et": "Estonian",
|
||||
"da": "Danés",
|
||||
"uk": "Ucraïnian",
|
||||
"th": "Tai",
|
||||
"sk": "Eslovac",
|
||||
"sc": "Sarde",
|
||||
"lt": "Lituanian",
|
||||
"id": "Indonesian",
|
||||
"he": "Ebrèu",
|
||||
"eu": "Basc",
|
||||
"mr": "Marathi",
|
||||
"sl": "Eslovèn",
|
||||
"ro": "Romanian",
|
||||
"ar": "Arabi"
|
||||
"zhTW": "Chinés (Taiwan)"
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -24,6 +24,7 @@
|
||||
"pl": "Польский",
|
||||
"ptBR": "Португальский (Бразилия)",
|
||||
"ru": "Русский",
|
||||
"sr": "Сербский",
|
||||
"sv": "Шведский",
|
||||
"tr": "Турецкий",
|
||||
"vi": "Вьетнамский",
|
||||
|
||||
@@ -1,34 +1,39 @@
|
||||
{
|
||||
"en": "",
|
||||
"af": "",
|
||||
"bg": "",
|
||||
"ca": "",
|
||||
"cs": "",
|
||||
"da": "",
|
||||
"de": "",
|
||||
"el": "",
|
||||
"enGB": "",
|
||||
"eo": "",
|
||||
"es": "",
|
||||
"esUS": "",
|
||||
"et": "",
|
||||
"fi": "",
|
||||
"fr": "",
|
||||
"frCA": "",
|
||||
"hr": "",
|
||||
"hu": "",
|
||||
"hy": "",
|
||||
"it": "",
|
||||
"ja": "",
|
||||
"ko": "",
|
||||
"nl": "",
|
||||
"oc": "",
|
||||
"pl": "",
|
||||
"ptBR": "",
|
||||
"ru": "",
|
||||
"sv": "",
|
||||
"tr": "",
|
||||
"vi": "",
|
||||
"zhCN": "",
|
||||
"zhTW": ""
|
||||
"en": "Енглески",
|
||||
"af": "Африкански",
|
||||
"az": "Азербејџански",
|
||||
"bg": "Бугарски",
|
||||
"cs": "Чешки",
|
||||
"de": "Њемачки",
|
||||
"el": "Грчки",
|
||||
"eo": "Есперанто",
|
||||
"es": "Шпански",
|
||||
"fr": "Француски",
|
||||
"hy": "Јерменски",
|
||||
"it": "Италијански",
|
||||
"ja": "Јапански",
|
||||
"ko": "Корејски",
|
||||
"nb": "Норвешки Бокал",
|
||||
"oc": "Окцитански",
|
||||
"pl": "Пољски",
|
||||
"ptBR": "Португалски (Бразил)",
|
||||
"ru": "Руски",
|
||||
"sk": "Словачки",
|
||||
"sl": "Словенски",
|
||||
"sr": "Српски",
|
||||
"sv": "Шведски",
|
||||
"tr": "Турски",
|
||||
"vi": "Вијетнамски",
|
||||
"zhCN": "Кинески (Кина)",
|
||||
"zhTW": "Кинески (Тајван)",
|
||||
"nl": "Холандски",
|
||||
"hu": "Мађарски",
|
||||
"hr": "Хрватски",
|
||||
"frCA": "Француски (Канада)",
|
||||
"fi": "Фински",
|
||||
"et": "Естонски",
|
||||
"esUS": "Шпански (Латинска Америка)",
|
||||
"enGB": "Енглески (Велика Британија)",
|
||||
"da": "Дански",
|
||||
"ca": "Каталонски"
|
||||
}
|
||||
|
||||
@@ -1,32 +1,47 @@
|
||||
{
|
||||
"en": "英语",
|
||||
"af": "南非荷兰语",
|
||||
"ar": "阿拉伯语",
|
||||
"bg": "保加利亚语",
|
||||
"ca": "加泰罗尼亚语",
|
||||
"cs": "捷克语",
|
||||
"da": "丹麦语",
|
||||
"de": "德语",
|
||||
"el": "希腊语",
|
||||
"enGB": "英语(英国)",
|
||||
"eo": "世界语",
|
||||
"es": "西班牙语",
|
||||
"esUS": "西班牙语(拉丁美洲)",
|
||||
"et": "爱沙尼亚语",
|
||||
"eu": "巴斯克语",
|
||||
"fi": "芬兰语",
|
||||
"fr": "法语",
|
||||
"frCA": "法语(加拿大)",
|
||||
"he": "希伯来语",
|
||||
"mr":"马拉地语",
|
||||
"hr": "克罗地亚语",
|
||||
"hu": "匈牙利语",
|
||||
"hy": "亚美尼亚语",
|
||||
"id": "印度尼西亚语",
|
||||
"it": "意大利语",
|
||||
"ja": "日语",
|
||||
"kab": "卡比尔语",
|
||||
"ko": "韩语",
|
||||
"lt": "立陶宛语",
|
||||
"nl": "荷兰语",
|
||||
"oc": "欧西坦语",
|
||||
"pl": "波兰语",
|
||||
"ptBR": "葡萄牙语(巴西)",
|
||||
"ru": "俄语",
|
||||
"ro": "罗马尼亚语",
|
||||
"sc": "撒丁岛语",
|
||||
"sk": "斯洛伐克语",
|
||||
"sl": "斯洛文尼亚语",
|
||||
"sv": "瑞典语",
|
||||
"th": "泰语",
|
||||
"tr": "土耳其语",
|
||||
"uk": "乌克兰语",
|
||||
"vi": "越南语",
|
||||
"zhCN": "中文(中国)",
|
||||
"zhTW": "中文(台湾)"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -28,6 +28,8 @@
|
||||
"kab": "Kabyle",
|
||||
"ko": "Korean",
|
||||
"lt": "Lithuanian",
|
||||
"ml": "Malayalam",
|
||||
"lv": "Latvian",
|
||||
"nl": "Dutch",
|
||||
"oc": "Occitan",
|
||||
"pl": "Polish",
|
||||
@@ -37,6 +39,7 @@
|
||||
"sc": "Sardinian",
|
||||
"sk": "Slovak",
|
||||
"sl": "Slovenian",
|
||||
"sr": "Serbian",
|
||||
"sv": "Swedish",
|
||||
"th": "Thailand",
|
||||
"tr": "Turkish",
|
||||
|
||||
1377
lang/main-ar.json
@@ -99,9 +99,11 @@
|
||||
},
|
||||
"connectionindicator": {
|
||||
"address": "Adresse:",
|
||||
"audio_ssrc": "Audio-SSRC:",
|
||||
"bandwidth": "Geschätzte Bandbreite:",
|
||||
"bitrate": "Bitrate:",
|
||||
"bridgeCount": "Serverzahl: ",
|
||||
"codecs": "Codecs (A/V): ",
|
||||
"connectedTo": "Verbunden mit:",
|
||||
"e2e_rtt": "E2E RTT:",
|
||||
"framerate": "Bildwiederholrate:",
|
||||
@@ -125,9 +127,12 @@
|
||||
"remoteport": "Entfernter Port:",
|
||||
"remoteport_plural": "Entfernte Ports:",
|
||||
"resolution": "Auflösung:",
|
||||
"savelogs": "Logs speichern",
|
||||
"participant_id": "Teilnehmer-ID:",
|
||||
"status": "Verbindung:",
|
||||
"transport": "Protokoll:",
|
||||
"transport_plural": "Protokolle:"
|
||||
"transport_plural": "Protokolle:",
|
||||
"video_ssrc": "Video-SSRC:"
|
||||
},
|
||||
"dateUtils": {
|
||||
"earlier": "Früher",
|
||||
@@ -196,10 +201,7 @@
|
||||
"displayNameRequired": "Hallo! Wie ist Ihr Name?",
|
||||
"done": "Fertig",
|
||||
"e2eeDescription": "Ende-zu-Ende-Verschlüsselung ist derzeit noch EXPERIMENTELL. Bitte beachten Sie, dass das Aktivieren der Ende-zu-Ende-Verschlüsselung diverse serverseitige Funktionen deaktiviert: Aufnahmen, Livestreaming und Telefoneinwahl. Bitte beachten Sie außerdem, dass der Konferenz dann nur noch mit Browsern beigetreten werden kann, die Insertable Streams unterstützen.",
|
||||
"e2eeLabel": "E2EE-Schlüssel",
|
||||
"e2eeNoKey": "Keiner",
|
||||
"e2eeToggleSet": "Schlüssel festlegen",
|
||||
"e2eeSet": "Setzen",
|
||||
"e2eeLabel": "Ende-zu-Ende-Verschlüsselung aktivieren",
|
||||
"e2eeWarning": "WARNUNG: Nicht alle Teilnehmer dieser Konferenz scheinen Ende-zu-Ende-Verschlüsselung zu unterstützen. Wenn Sie diese aktivieren, können die entsprechenden Teilnehmer nichts mehr sehen oder hören.",
|
||||
"enterDisplayName": "Bitte geben Sie hier Ihren Namen ein",
|
||||
"error": "Fehler",
|
||||
@@ -364,7 +366,7 @@
|
||||
"password": "$t(lockRoomPasswordUppercase):",
|
||||
"title": "Teilen",
|
||||
"tooltip": "Freigabe-Link und Einwahlinformationen für dieses Meeting",
|
||||
"label": "Konferenzinformationen"
|
||||
"label": "Einwahlinformationen"
|
||||
},
|
||||
"inviteDialog": {
|
||||
"alertText": "Die Einladung einiger Teilnehmer ist fehlgeschlagen.",
|
||||
@@ -503,6 +505,7 @@
|
||||
"poweredby": "Betrieben von",
|
||||
"prejoin": {
|
||||
"audioAndVideoError": "Audio- und Videofehler:",
|
||||
"audioDeviceProblem": "Es gibt ein Problem mit Ihrem Audiogerät.",
|
||||
"audioOnlyError": "Audiofehler:",
|
||||
"audioTrackError": "Audiotrack konnte nicht erstellt werden.",
|
||||
"calling": "Rufaufbau",
|
||||
@@ -510,15 +513,35 @@
|
||||
"callMeAtNumber": "Mich unter dieser Nummer anrufen:",
|
||||
"configuringDevices": "Geräte werden eingerichtet …",
|
||||
"connectedWithAudioQ": "Sie sind mit Audio verbunden?",
|
||||
"connection": {
|
||||
"good": "Ihre Internetverbindung sieht gut aus!",
|
||||
"nonOptimal": "Ihre Internetverbindung ist nicht optimal.",
|
||||
"poor": "Sie haben eine schlechte Internetverbindung."
|
||||
},
|
||||
"connectionDetails": {
|
||||
"audioClipping": "Ihr Ton wird wahrscheinlich abgehackt sein.",
|
||||
"audioHighQuality": "Ihr Ton sollte exzellent klingen.",
|
||||
"audioLowNoVideo": "Ihr Ton wird wahrscheinlich schlecht klingen und es wird kein Video geben.",
|
||||
"goodQuality": "Großartig! Ihre Bild- und Tonqualität sollte super sein.",
|
||||
"noMediaConnectivity": "Es konnte für diesen Test keine Medienverbindung hergestellt werden. Das wird gewöhnlich durch eine Firewall oder ein NAT ausgelöst.",
|
||||
"noVideo": "Ihr Bild wird wahrscheinlich eine schlechte Qualität haben.",
|
||||
"undetectable": "Wenn Sie mit Ihrem Browser weiterhin Probleme in Konferenzen haben, sollten Sie die Verbindung und Funktion Ihrer Lautsprecher, Ihres Mikrofons und Ihrer Kamera überprüfen. Stellen Sie außerdem sicher, dass Ihr Browser die erforderlichen Rechte hat, auf das Mikrofon und die Kamera zuzugreifen, und dass Sie die neuste Browserversion installiert haben. Sollten Sie immer noch Probleme haben, kontaktieren Sie bitte den Entwickler der Webanwendung.",
|
||||
"veryPoorConnection": "Ihre Konferenzqualität wird wahrscheinlich sehr schlecht sein.",
|
||||
"videoFreezing": "Ihr Bild wird wahrscheinlich einfrieren, schwarz werden und eine geringe Auflösung haben.",
|
||||
"videoHighQuality": "Ihr Bild sollte sehr gut aussehen.",
|
||||
"videoLowQuality": "Ihr Bild wird wahrscheinlich eine geringe Auflösung und Bildrate haben.",
|
||||
"videoTearing": "Ihr Bild wird wahrscheinlich eine geringe Auflösung haben oder Artefakte aufweisen."
|
||||
},
|
||||
"copyAndShare": "Konferenzlink kopieren & teilen",
|
||||
"dialInMeeting": "Telefoneinwahl",
|
||||
"dialInPin": "In die Konferenz einwählen und PIN eingeben:",
|
||||
"dialing": "Wählen",
|
||||
"doNotShow": "Nicht mehr anzeigen",
|
||||
"doNotShow": "Diesen Bildschirm nicht mehr anzeigen",
|
||||
"errorDialOut": "Anruf fehlgeschlagen",
|
||||
"errorDialOutDisconnected": "Anruf fehlgeschlagen. Verbindungsabbruch",
|
||||
"errorDialOutFailed": "Anruf fehlgeschlagen. Anruf fehlgeschlagen",
|
||||
"errorDialOutStatus": "Fehler beim Abrufen des Anrufstatus",
|
||||
"errorMissingName": "Bitte geben Sie Ihren Namen ein, um der Konferenz beizutreten.",
|
||||
"errorStatusCode": "Anruf fehlgeschlagen. Statuscode: {{status}}",
|
||||
"errorValidation": "Nummerverifikation fehlgeschlagen",
|
||||
"iWantToDialIn": "Ich möchte mich einwählen",
|
||||
@@ -675,7 +698,6 @@
|
||||
"document": "Geteiltes Dokument schließen",
|
||||
"download": "Unsere Apps herunterladen",
|
||||
"embedMeeting": "Konferenz einbetten",
|
||||
"e2ee": "Ende-zu-Ende-Verschlüsselung",
|
||||
"feedback": "Feedback hinterlassen",
|
||||
"fullScreen": "Vollbildmodus ein-/ausschalten",
|
||||
"grantModerator": "Zum Moderator machen",
|
||||
@@ -685,7 +707,7 @@
|
||||
"kick": "Teilnehmer entfernen",
|
||||
"lobbyButton": "Lobbymodus ein-/ausschalten",
|
||||
"localRecording": "Lokale Aufzeichnungssteuerelemente ein-/ausschalten",
|
||||
"lockRoom": "Konferenzpasswort ein-/auschalten",
|
||||
"lockRoom": "Konferenzpasswort ein-/ausschalten",
|
||||
"moreActions": "Menü „Weitere Aktionen“ ein-/ausschalten",
|
||||
"moreActionsMenu": "Menü „Weitere Aktionen“",
|
||||
"moreOptions": "Menü „Weitere Optionen“",
|
||||
@@ -842,7 +864,7 @@
|
||||
"join": "Zum Teilnehmen tippen",
|
||||
"roomname": "Konferenzname eingeben"
|
||||
},
|
||||
"appDescription": "Auf geht's! Starten Sie eine Videokonferenz mit ihrem Team oder besser noch: Laden Sie alle ein, die Sie kennen. {{app}} ist eine vollständig verschlüsselte und 100 % quelloffene Videokonferenzlösung, die Sie immer und überall kostenlos verwenden können – ohne Registrierung.",
|
||||
"appDescription": "Auf geht's! Starten Sie eine Videokonferenz mit Ihrem Team oder besser noch: Laden Sie alle ein, die Sie kennen. {{app}} ist eine vollständig verschlüsselte und 100 % quelloffene Videokonferenzlösung, die Sie immer und überall kostenlos verwenden können – ohne Registrierung.",
|
||||
"audioVideoSwitch": {
|
||||
"audio": "Audio",
|
||||
"video": "Video"
|
||||
@@ -854,12 +876,12 @@
|
||||
"getHelp": "Hilfe",
|
||||
"go": "Los",
|
||||
"goSmall": "Los",
|
||||
"info": "Informationen",
|
||||
"info": "Einwahlinformationen",
|
||||
"join": "ERSTELLEN / BEITRETEN",
|
||||
"moderatedMessage": "Oder <a href=\"{{url}}\" rel=\"noopener noreferrer\" target=\"_blank\">reservieren Sie sich eine Konferenz-URL</a>, unter der Sie der einzige Moderator sind.",
|
||||
"privacy": "Datenschutz",
|
||||
"recentList": "Verlauf",
|
||||
"recentListDelete": "Löschen",
|
||||
"recentListDelete": "Eintrag löschen",
|
||||
"recentListEmpty": "Ihr Konferenzverlauf ist derzeit leer. Reden Sie mit Ihrem Team und Ihre vergangenen Konferenzen landen hier.",
|
||||
"reducedUIText": "Willkommen bei {{app}}!",
|
||||
"roomNameAllowedChars": "Der Konferenzname sollte keines der folgenden Zeichen enthalten: ?, &, :, ', \", %, #.",
|
||||
|
||||
@@ -53,7 +53,7 @@
|
||||
"join": "Joindre",
|
||||
"joinTooltip": "Rejoindre la réunion",
|
||||
"nextMeeting": "prochaine réunion",
|
||||
"noEvents": "Il n'y a pas d’événement à venir.",
|
||||
"noEvents": "Il n'y a pas d'événement à venir.",
|
||||
"ongoingMeeting": "La réunion en cours",
|
||||
"permissionButton": "Afficher les réglages",
|
||||
"permissionMessage": "La permission du calendrier est requise pour afficher vos réunions dans l'application.",
|
||||
@@ -80,7 +80,7 @@
|
||||
"dontShowAgain": "Ne plus me montrer ceci"
|
||||
},
|
||||
"connectingOverlay": {
|
||||
"joiningRoom": "Connexion à la réunion…"
|
||||
"joiningRoom": "Connexion à la réunion ..."
|
||||
},
|
||||
"connection": {
|
||||
"ATTACHED": "Attachée",
|
||||
@@ -92,25 +92,29 @@
|
||||
"DISCONNECTED": "Déconnecté",
|
||||
"DISCONNECTING": "Déconnexion en cours",
|
||||
"ERROR": "Erreur",
|
||||
"RECONNECTING": "Un problème réseau est survenue. Reconnexion en cours...",
|
||||
"FETCH_SESSION_ID": "Obtention d’un identifiant de session…",
|
||||
"GET_SESSION_ID_ERROR": "Obtenir une erreur d’identifiant de session : {{code}}",
|
||||
"GOT_SESSION_ID": "Obtention d’un identifiant de session… Terminée",
|
||||
"RECONNECTING": "Un problème réseau est survenue. Reconnexion en cours ...",
|
||||
"FETCH_SESSION_ID": "Obtention d'un identifiant de session ...",
|
||||
"GET_SESSION_ID_ERROR": "Obtenir une erreur d'identifiant de session : {{code}}",
|
||||
"GOT_SESSION_ID": "Obtention d'un identifiant de session ... Terminée",
|
||||
"LOW_BANDWIDTH": "La vidéo de {{displayName}} a été désactivée pour économiser de la bande passante"
|
||||
},
|
||||
"connectionindicator": {
|
||||
"address": "Adresse :",
|
||||
"audio_ssrc": "Audio SSRC :",
|
||||
"bandwidth": "Bande passante estimée :",
|
||||
"bitrate": "Débit :",
|
||||
"bridgeCount": "Nombre de serveurs : ",
|
||||
"bridgeCount": "Nombre de serveurs :",
|
||||
"codecs": "Codecs (A/V) :",
|
||||
"e2e_rtt": "E2E RTT :",
|
||||
"connectedTo": "Connecté à :",
|
||||
"framerate": "Images par seconde :",
|
||||
"less": "Cacher le détail",
|
||||
"less": "Cacher les détails",
|
||||
"localaddress": "Adresse locale :",
|
||||
"localaddress_plural": "Adresses locales :",
|
||||
"localport": "Port local :",
|
||||
"localport_plural": "Ports locaux :",
|
||||
"more": "Montrer le détail",
|
||||
"maxEnabledResolution": "débit max",
|
||||
"more": "Montrer les détails",
|
||||
"packetloss": "Perte de paquets :",
|
||||
"quality": {
|
||||
"good": "Bien",
|
||||
@@ -124,10 +128,11 @@
|
||||
"remoteport": "Port distant :",
|
||||
"remoteport_plural": "Ports distants :",
|
||||
"resolution": "Résolution :",
|
||||
"savelogs": "Enregistrer les logs",
|
||||
"status": "Connexion :",
|
||||
"transport": "Transport :",
|
||||
"transport_plural": "Transports :",
|
||||
"e2e_rtt": "E2E RTT :"
|
||||
"video_ssrc": "Video SSRC :"
|
||||
},
|
||||
"dateUtils": {
|
||||
"earlier": "Plus tôt",
|
||||
@@ -144,7 +149,7 @@
|
||||
"joinInApp": "Rejoindre la réunion en utilisant l'application",
|
||||
"launchWebButton": "Lancer dans le navigateur",
|
||||
"openApp": "Continuer vers l'application",
|
||||
"title": "Lancement de votre réunion dans {{app}} en cours...",
|
||||
"title": "Lancement de votre réunion dans {{app}} en cours ...",
|
||||
"tryAgainButton": "Réessayez sur le bureau"
|
||||
},
|
||||
"defaultLink": "ex. {{url}}",
|
||||
@@ -180,41 +185,45 @@
|
||||
"cameraUnsupportedResolutionError": "Votre appareil ne prend pas en charge la résolution vidéo requise.",
|
||||
"Cancel": "Annuler",
|
||||
"close": "Fermer",
|
||||
"conferenceDisconnectMsg": "Veuillez vérifier votre connexion réseau. Reconnexion dans {{seconds}} sec...",
|
||||
"conferenceDisconnectMsg": "Veuillez vérifier votre connexion réseau. Reconnexion dans {{seconds}} sec ...",
|
||||
"conferenceDisconnectTitle": "Vous avez été déconnecté.",
|
||||
"conferenceReloadMsg": "On essaie d'arranger ça. Reconnexion dans {{seconds}} secondes...",
|
||||
"conferenceReloadMsg": "On essaie d'arranger ça. Reconnexion dans {{seconds}} secondes ...",
|
||||
"conferenceReloadTitle": "Malheureusement, un problème est survenu",
|
||||
"confirm": "Confirmer",
|
||||
"confirmNo": "Non",
|
||||
"confirmYes": "Oui",
|
||||
"connectError": "Oups ! Un problème est survenu et la connexion à la conférence est impossible.",
|
||||
"connectErrorWithMsg": "Oups ! Un problème est survenu et la connexion à la conférence est impossible : {{msg}}",
|
||||
"connectError": "Oups ! Un problème est survenu et la connexion à la conférence est impossible.",
|
||||
"connectErrorWithMsg": "Oups ! Un problème est survenu et la connexion à la conférence est impossible : {{msg}}",
|
||||
"connecting": "Connexion en cours",
|
||||
"contactSupport": "Contacter le support",
|
||||
"copied": "Copié",
|
||||
"copy": "Copier",
|
||||
"dismiss": "Rejeter",
|
||||
"displayNameRequired": "Bonjour! Quel est votre nom ?",
|
||||
"displayNameRequired": "Bonjour ! Quel est votre nom ?",
|
||||
"done": "Terminé",
|
||||
"e2eeDescription": "Le cryptage de Bout-en-Bout est actuellement EXPERIMENTAL. Veuillez garder à l'esprit que l'activation du cryptage de Bout-en-Bout désactivera les services fournis côté serveur tels que : l'enregistrement, la diffusion en direct et la participation par téléphone. Gardez également à l'esprit que la réunion ne fonctionnera que pour les personnes qui se joignent à partir de navigateurs prenant en charge les flux insérables.",
|
||||
"e2eeLabel": "Activer le cryptage de Bout-en-Bout",
|
||||
"e2eeWarning": "ATTENTION : Tous les participants de cette réunion ne semblent pas prendre en charge le chiffrement de Bout-en-Bout. Si vous activez le cryptage, ils ne pourront ni vous voir, ni vous entendre.",
|
||||
"enterDisplayName": "Merci de saisir votre nom ici",
|
||||
"error": "Erreur",
|
||||
"grantModeratorDialog": "Êtes-vous sûr de vouloir rendre ce participant modérateur?",
|
||||
"grantModeratorTitle": "Nommer modérateur",
|
||||
"externalInstallationMsg": "Vous devez installer notre extension de partage de bureau.",
|
||||
"externalInstallationTitle": "Extension requise",
|
||||
"goToStore": "Aller sur le webstore",
|
||||
"gracefulShutdown": "Le service est actuellement en maintenance. Réessayez plus tard.",
|
||||
"IamHost": "Je suis l’hôte",
|
||||
"gracefulShutdown": "Notre service est actuellement en maintenance. Veuillez réessayer plus tard.",
|
||||
"grantModeratorDialog": "Êtes-vous sûr de vouloir rendre ce participant modérateur ?",
|
||||
"grantModeratorTitle": "Nommer modérateur",
|
||||
"IamHost": "Je suis l'hôte",
|
||||
"incorrectRoomLockPassword": "Mot de passe incorrect",
|
||||
"incorrectPassword": "Nom d'utilisateur ou mot de passe incorrect",
|
||||
"inlineInstallationMsg": "Vous devez installer notre extension de partage de bureau.",
|
||||
"inlineInstallExtension": "Installer maintenant",
|
||||
"internalError": "Oups ! Quelque chose s'est mal passée. L'erreur suivante s'est produite : {{error}}",
|
||||
"internalError": "Oups ! Quelque chose s'est mal passée. L'erreur suivante s'est produite : {{error}}",
|
||||
"internalErrorTitle": "Erreur interne",
|
||||
"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 ?",
|
||||
"kickTitle": "Oups! vous avez été expulsé(e) par {{participantDisplayName}}",
|
||||
"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é",
|
||||
@@ -223,7 +232,7 @@
|
||||
"lockTitle": "Échec du verrouillage",
|
||||
"logoutQuestion": "Voulez-vous vraiment vous déconnecter et arrêter la conférence ?",
|
||||
"logoutTitle": "Déconnexion",
|
||||
"maxUsersLimitReached": "Le nombre maximal de participant est atteint. Le conférence est complète. Merci de contacter l'organisateur de la réunion ou réessayer plus tard!",
|
||||
"maxUsersLimitReached": "Le nombre maximal de participant est atteint. Le conférence est complète. Merci de contacter l'organisateur de la réunion ou réessayer plus tard !",
|
||||
"maxUsersLimitReachedTitle": "Le nombre maximal de participants est atteint",
|
||||
"micConstraintFailedError": "Votre microphone ne satisfait pas certaines des contraintes nécessaires.",
|
||||
"micNotFoundError": "Le microphone n'a pas été détecté.",
|
||||
@@ -248,16 +257,17 @@
|
||||
"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",
|
||||
"readMore": "plus",
|
||||
"recording": "Enregistrement",
|
||||
"recordingDisabledForGuestTooltip": "Les invités ne peuvent enregistrer.",
|
||||
"recordingDisabledTooltip": "L'enregistrement est désactivé.",
|
||||
"rejoinNow": "Rejoindre maintenant",
|
||||
"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}} !",
|
||||
"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!",
|
||||
"remoteControlStopMessage": "La prise en main à distance est terminée !",
|
||||
"remoteControlTitle": "Contrôle de bureau à distance",
|
||||
"Remove": "Supprimer",
|
||||
"removePassword": "Supprimer le $t(lockRoomPassword)",
|
||||
@@ -266,11 +276,15 @@
|
||||
"reservationError": "Erreur du système de réservation",
|
||||
"reservationErrorMsg": "Code d'erreur: {{code}}, message: {{msg}}",
|
||||
"retry": "Réessayer",
|
||||
"screenSharingFailedToInstall": "Oups! Votre extension de partage d'écran n'a pas pu être installée.",
|
||||
"screenSharingAudio": "Partager l'audio",
|
||||
"screenSharingFailed": "Oops ! Quelque chose s'est mal passée, nous n'avons pas pu démarrer le partage d'écran !",
|
||||
"screenSharingFailedTitle": "Echec du partage d'écran !",
|
||||
"screenSharingPermissionDeniedError": "Oops ! Un problème est survenu avec vos autorisations de partage d'écran. Veuillez réessayer.",
|
||||
"screenSharingFailedToInstall": "Oups ! Votre extension de partage d'écran n'a pas pu être installée.",
|
||||
"screenSharingFailedToInstallTitle": "L'extension de partage d'écran n'a pas pu être installée",
|
||||
"screenSharingFirefoxPermissionDeniedError": "Quelque chose s'est mal passé pendant que nous essayions de partager votre écran. S'il vous plaît assurez-vous que vous nous avez donné la permission de le faire. ",
|
||||
"screenSharingFirefoxPermissionDeniedTitle": "Oups! Nous ne pouvions pas démarrer le partage d'écran !",
|
||||
"screenSharingPermissionDeniedError": "Oups! Une erreur s'est produite avec vos autorisations d'extension de partage d'écran. Veuillez rafraîchir et réessayer.",
|
||||
"screenSharingFirefoxPermissionDeniedTitle": "Oups ! Nous ne pouvions pas démarrer le partage d'écran !",
|
||||
"screenSharingPermissionDeniedError": "Oups ! Une erreur s'est produite avec vos autorisations d'extension de partage d'écran. Veuillez rafraîchir et réessayer.",
|
||||
"sendPrivateMessage": "Vous avez récemment reçu un message privé. Aviez-vous l'intention d'y répondre en privé, ou vouliez-vous envoyer votre message au groupe ?",
|
||||
"sendPrivateMessageCancel": "Envoyer au groupe",
|
||||
"sendPrivateMessageOk": "Envoyer en privé",
|
||||
@@ -278,14 +292,14 @@
|
||||
"serviceUnavailable": "Service indisponible",
|
||||
"sessTerminated": "Appel terminé",
|
||||
"Share": "Partager",
|
||||
"shareVideoLinkError": "Fournissez s'il vous plaît un lien Youtube fonctionnel.",
|
||||
"shareVideoLinkError": "Veuillez renseigner un lien Youtube fonctionnel.",
|
||||
"shareVideoTitle": "Partager une vidéo",
|
||||
"shareYourScreen": "Partagez votre écran",
|
||||
"shareYourScreenDisabled": "Le partage d’écran est désactivé.",
|
||||
"shareYourScreenDisabledForGuest": "Les invités ne peuvent partager l'écran.",
|
||||
"shareYourScreen": "Partager votre écran",
|
||||
"shareYourScreenDisabled": "Le partage d'écran est désactivé.",
|
||||
"shareYourScreenDisabledForGuest": "Les invités ne peuvent pas partager leur écran.",
|
||||
"startLiveStreaming": "Démarrer la diffusion en direct",
|
||||
"startRecording": "Commencer l'enregistrement",
|
||||
"startRemoteControlErrorMessage": "Une erreur est survenue lors de la tentative de démarrage de la session de contrôle à distance!",
|
||||
"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 ?",
|
||||
@@ -303,8 +317,7 @@
|
||||
"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.",
|
||||
"WaitingForHost": "En attente de l'hôte ...",
|
||||
"Yes": "Oui",
|
||||
"yourEntireScreen": "Votre écran entier",
|
||||
"screenSharingAudio": "Partager l’audio"
|
||||
"yourEntireScreen": "Votre écran entier"
|
||||
},
|
||||
"dialOut": {
|
||||
"statusMessage": "est maintenant {{status}}"
|
||||
@@ -312,6 +325,12 @@
|
||||
"documentSharing": {
|
||||
"title": "Document partagé"
|
||||
},
|
||||
"e2ee": {
|
||||
"labelToolTip": "L'audio et la vidéo de cette conférence sont cryptés de Bout-en-Bout"
|
||||
},
|
||||
"embedMeeting": {
|
||||
"title": "Intégrer cette réunion"
|
||||
},
|
||||
"feedback": {
|
||||
"average": "Moyen",
|
||||
"bad": "Mauvais",
|
||||
@@ -346,7 +365,7 @@
|
||||
"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",
|
||||
"inviteURLSecondPart": "\nRejoindre la réunion :\n{{url}}\n",
|
||||
"liveStreamURL": "Diffusion en direct :",
|
||||
"moreNumbers": "Plus de numéros ",
|
||||
"noNumbers": "Numéros non trouvés",
|
||||
@@ -403,15 +422,17 @@
|
||||
"errorLiveStreamNotEnabled": "La diffusion en direct n'est pas activée pour {{email}}. Merci de l'activer ou de vous connecter avec un compte où elle est déjà activée.",
|
||||
"expandedOff": "La diffusion en direct a été arrêtée",
|
||||
"expandedOn": "La conférence est en cours de diffusion sur YouTube.",
|
||||
"expandedPending": "La diffusion en direct a commencé...",
|
||||
"expandedPending": "La diffusion en direct a commencé ...",
|
||||
"failedToStart": "La diffusion n'as pas réussi à démarrer",
|
||||
"getStreamKeyManually": "Nous n'avons pu récupérer aucun flux en direct. Essayez d’obtenir votre clé de diffusion en direct sur YouTube.",
|
||||
"getStreamKeyManually": "Nous n'avons pu récupérer aucun flux en direct. Essayez d'obtenir votre clé de diffusion en direct sur YouTube.",
|
||||
"invalidStreamKey": "La clé de diffusion en direct n'est peut-être pas correcte.",
|
||||
"limitNotificationDescriptionWeb": "En raison de la forte demande, votre diffusion sera limitée à {{limit}} min. Pour un streaming illimité, essayez <a href={{url}} rel='noopener noreferrer' target='_blank'> {{app}} </a>.",
|
||||
"limitNotificationDescriptionNative": "Votre diffusion sera limitée à {{limit}} min. Pour un streaming illimité, essayez {{app}}.",
|
||||
"off": "Le Streaming a été arrêté",
|
||||
"offBy": "{{name}} a arrêté la diffusion en continu",
|
||||
"on": "Direct",
|
||||
"onBy": "{{name}} démarré la diffusion en continu",
|
||||
"pending": "Commencer le direct...",
|
||||
"on": "En direct",
|
||||
"onBy": "{{name}} a démarré la diffusion en continu",
|
||||
"pending": "Lancement du direct ...",
|
||||
"serviceName": "Service de diffusion en direct",
|
||||
"signedInAs": "Vous êtes connecté en tant que :",
|
||||
"signIn": "Se connecter avec Google",
|
||||
@@ -420,7 +441,7 @@
|
||||
"start": "Démarrer la diffusion en direct",
|
||||
"streamIdHelp": "Qu'est-ce que c'est ?",
|
||||
"unavailableTitle": "La diffusion est indisponible",
|
||||
"youtubeTerms": "Conditions d’utilisation de YouTube",
|
||||
"youtubeTerms": "Conditions d'utilisation de YouTube",
|
||||
"googlePrivacyPolicy": "Politique de confidentialité de Google"
|
||||
},
|
||||
"localRecording": {
|
||||
@@ -471,20 +492,24 @@
|
||||
"moderator": "Droits modérateur accordés !",
|
||||
"muted": "Vous avez commencé la conversation en muet.",
|
||||
"mutedTitle": "Vous êtes en muet !",
|
||||
"mutedRemotelyTitle": "Votre micro a été coupé par {{participantDisplayName}} !",
|
||||
"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": "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 !",
|
||||
"startSilentTitle": "Vous avez rejoint sans sortie audio !",
|
||||
"startSilentDescription": "Rejoignez la réunion de nouveau pour activer l'audio",
|
||||
"suboptimalBrowserWarning": "Nous craignons que votre expérience de réunion en ligne ne soit bonne ici. Nous cherchons des moyens d’améliorer cela, mais d’ici-là, essayez d’utiliser l’un des <a href='{{recommendedBrowserPageLink}}' target='_blank'>navigateurs supportés</a>.",
|
||||
"suboptimalBrowserWarning": "Nous craignons que votre expérience de réunion en ligne ne soit bonne ici. Nous cherchons des moyens d'améliorer cela, mais d'ici-là, essayez d'utiliser l'un des <a href='{{recommendedBrowserPageLink}}' target='_blank'>navigateurs supportés</a>.",
|
||||
"suboptimalExperienceTitle": "Avertissement du navigateur",
|
||||
"unmute": "Rétablir le son",
|
||||
"newDeviceCameraTitle": "Nouvelle caméra détectée",
|
||||
"newDeviceAudioTitle": "Nouveau périphérique audio détecté",
|
||||
"newDeviceAction": "Utiliser"
|
||||
"newDeviceAction": "Utiliser",
|
||||
"OldElectronAPPTitle": "Vulnérabilité de sécurité !",
|
||||
"oldElectronClientDescription1": "Vous semblez utiliser une ancienne version du client Jitsi Meet qui présente des vulnérabilités de sécurité connues. Veuillez vous assurer de mettre à jour vers notre ",
|
||||
"oldElectronClientDescription2": "dernière build",
|
||||
"oldElectronClientDescription3": " rapidement !"
|
||||
},
|
||||
"passwordSetRemotely": "défini par un autre participant",
|
||||
"passwordDigitsOnly": "Jusqu'à {{number}} chiffres",
|
||||
@@ -493,19 +518,40 @@
|
||||
"audioAndVideoError": "Erreur audio et video:",
|
||||
"audioOnlyError": "Erreur audio:",
|
||||
"audioTrackError": "N'a pas pu créer la piste audio.",
|
||||
"calling": "Appel",
|
||||
"callMe": "Appelez-moi",
|
||||
"callMeAtNumber": "Appelez-moi à ce numéro:",
|
||||
"configuringDevices": "Configuration des appareils...",
|
||||
"connectedWithAudioQ": "Êtes-vous connecté avec le microphone?",
|
||||
"callMeAtNumber": "Appelez-moi à ce numéro :",
|
||||
"configuringDevices": "Configuration des appareils ...",
|
||||
"connectedWithAudioQ": "Êtes-vous connecté avec le microphone ?",
|
||||
"connection": {
|
||||
"good": "Votre connexion Internet est bonne !",
|
||||
"nonOptimal": "Votre connexion n'est pas optimale",
|
||||
"poor": "Vous avez une mauvaise connexion"
|
||||
},
|
||||
"connectionDetails": {
|
||||
"audioClipping": "Attendez vous à ce que votre audio soit coupé.",
|
||||
"audioHighQuality": "Votre audio sera de bonne qualité.",
|
||||
"audioLowNoVideo": "Attendez vous à une faible qualité audio et aucune vidéo",
|
||||
"goodQuality": "Impressionnant ! La qualité de vos médias sera excellente",
|
||||
"noMediaConnectivity": "Nous n'avons pas pu trouver un moyen d'établir une connectivité multimédia pour ce test. Cela est généralement causé par un pare-feu ou un NAT.",
|
||||
"noVideo": "Attendez vous à ce que votre qualité vidéo soit très mauvaise.",
|
||||
"undetectable": "Si vous ne parvenez toujours pas à passer des appels dans le navigateur, nous vous recommandons de vous assurer que vos haut-parleurs, microphone et caméra sont correctement configurés, que vous avez accordé à votre navigateur les droits d'utiliser votre microphone et votre caméra et que la version de votre navigateur est à jour. Si vous rencontrez toujours des difficultés pour appeler, vous devez contacter le développeur de l'application Web.",
|
||||
"veryPoorConnection": "Attendez vous à ce que la qualité de votre appel soit très mauvaise",
|
||||
"videoFreezing": "Attendez vous à ce que votre vidéo saute, soit noire, et pixelisée.",
|
||||
"videoHighQuality": "Votre vidéo sera de bonne qualité",
|
||||
"videoLowQuality": "Votre vidéo sera de basse qualité en terme d'images par seconde et de résolution.",
|
||||
"videoTearing": "Attendez vous à ce que votre vidéo soit pixélisée ou contienne des artefacts visuels."
|
||||
},
|
||||
"copyAndShare": "Copier & partager le lien",
|
||||
"dialInMeeting": "Participez à la réunion",
|
||||
"dialInPin": "Participez à la réunion et saisir le code PIN:",
|
||||
"dialInPin": "Participez à la réunion et saisir le code PIN :",
|
||||
"dialing": "Numérotation",
|
||||
"doNotShow": "Ne plus afficher ceci",
|
||||
"errorDialOut": "Impossible de composer le numéro",
|
||||
"errorDialOutDisconnected": "Impossible de composer le numéro. Déconnecté",
|
||||
"errorDialOutFailed": "Impossible de composer le numéro. L'appel a échoué",
|
||||
"errorDialOutStatus": "Erreur lors de l'obtention de l'état d'appel sortant",
|
||||
"errorMissingName": "Veuillez entrer votre nom pour entrer en conférence",
|
||||
"errorStatusCode": "Erreur de numérotation, code d'état: {{status}}",
|
||||
"errorValidation": "La validation du numéro a échoué",
|
||||
"iWantToDialIn": "Je veux me connecter",
|
||||
@@ -517,6 +563,8 @@
|
||||
"lookGood": "Il semble que votre microphone fonctionne correctement",
|
||||
"or": "ou",
|
||||
"calling": "Appel",
|
||||
"premeeting": "Pré-séance",
|
||||
"showScreen": "Activer l'écran de pré-séance",
|
||||
"startWithPhone": "Commencez avec l'audio du téléphone",
|
||||
"screenSharingError": "Erreur de partage d'écran:",
|
||||
"videoOnlyError": "Erreur vidéo:",
|
||||
@@ -525,17 +573,17 @@
|
||||
},
|
||||
"presenceStatus": {
|
||||
"busy": "Occupé",
|
||||
"calling": "Appel...",
|
||||
"calling": "Appel ...",
|
||||
"connected": "Connecté",
|
||||
"connecting": "Connexion en cours...",
|
||||
"connecting2": "Connexion en cours*...",
|
||||
"connecting": "Connexion en cours ...",
|
||||
"connecting2": "Connexion en cours* ...",
|
||||
"disconnected": "Déconnecté",
|
||||
"expired": "Expiré",
|
||||
"ignored": "Ignoré",
|
||||
"initializingCall": "Lancement de l'appel...",
|
||||
"initializingCall": "Lancement de l'appel ...",
|
||||
"invited": "Invité(e)",
|
||||
"rejected": "Rejeté",
|
||||
"ringing": "Appel en cours..."
|
||||
"ringing": "Appel en cours ..."
|
||||
},
|
||||
"profile": {
|
||||
"setDisplayNameLabel": "Choisissez un pseudo",
|
||||
@@ -546,37 +594,45 @@
|
||||
"raisedHand": "Aimerait prendre la parole",
|
||||
"recording": {
|
||||
"authDropboxText": "Téléchargement vers Dropbox",
|
||||
"availableSpace": "Espace disponible : {{spaceLeft}} Mo (approximativement {{duration}} minutes d'enregistrement)",
|
||||
"availableSpace": "Espace disponible : {{spaceLeft}} Mo (approximativement {{duration}} minutes d'enregistrement)",
|
||||
"beta": "BETA",
|
||||
"busy": "Nous sommes en train de libérer les ressources d'enregistrement. Réessayez dans quelques minutes.",
|
||||
"busyTitle": "Tous les enregistreurs sont actuellement occupés",
|
||||
"error": "Échec de l'enregistrement. Veuillez réessayer.",
|
||||
"expandedOff": "L'enregistrement a été arrêté",
|
||||
"expandedOn": "Cette conférence est actuellement en cours d'enregistrement.",
|
||||
"expandedPending": "Démarrage de l'enregistrement...",
|
||||
"expandedPending": "Démarrage de l'enregistrement ...",
|
||||
"failedToStart": "L'enregistrement n'as pas réussi à démarrer",
|
||||
"fileSharingdescription": "Partager l'enregistrement avec les participants de la réunion",
|
||||
"limitNotificationDescriptionWeb": "En raison d'une forte demande, votre enregistrement sera limité à {{limit}} min. Pour des enregistrements illimités, essayez <a href={{url}} rel='noopener noreferrer' target='_blank'> {{app}} </a>.",
|
||||
"limitNotificationDescriptionNative": "En raison d'une forte demande, votre enregistrement sera limité à {{limit}} min. Pour des enregistrements illimités, essayez <3> {{app}} </3>.",
|
||||
"live": "DIRECT",
|
||||
"loggedIn": "Connecté en tant que {{userName}}",
|
||||
"off": "Enregistrement arrêté",
|
||||
"offBy": "{{name}} a arrêté l'enregistrement",
|
||||
"on": "Enregistrement",
|
||||
"onBy": "{{name}} a démarré l'enregistrement",
|
||||
"pending": "Préparation de l'enregistrement de la réunion...",
|
||||
"pending": "Préparation de l'enregistrement de la réunion ...",
|
||||
"rec": "REC",
|
||||
"serviceDescription": "Votre enregistrement sera enregistré par le service dédié",
|
||||
"serviceName": "Service d'enregistrement",
|
||||
"signIn": "Se connecter",
|
||||
"signOut": "Se déconnecter",
|
||||
"unavailable": "Oups! Le {{serviceName}} est actuellement indisponible. Nous tentons de résoudre le problème. Veuillez réessayer plus tard.",
|
||||
"unavailable": "Oups ! Le {{serviceName}} est actuellement indisponible. Nous tentons de résoudre le problème. Veuillez réessayer plus tard.",
|
||||
"unavailableTitle": "Enregistrement indisponible"
|
||||
},
|
||||
"sectionList": {
|
||||
"pullToRefresh": "Tirer pour recharger"
|
||||
},
|
||||
"security": {
|
||||
"about": "Vous pouvez ajouter un mot de passe à votre réunion. Les participants devront fournir le mot de passe avant qu'ils soient autorisés à rejoindre la réunion.",
|
||||
"aboutReadOnly": "Les modérateurs peuvent ajouter un mot de passe à la réunion. Les participants devront fournir le mot de passe avant qu'ils soient autorisés à rejoindre la réunion.",
|
||||
"insecureRoomNameWarning": "Le nom de la salle est peu sûr. Des participants non désirés peuvent rejoindre votre réunion. Pensez à sécuriser votre réunion en cliquant sur le bouton de sécurité.",
|
||||
"securityOptions": "Options de sécurité"
|
||||
},
|
||||
"settings": {
|
||||
"calendar": {
|
||||
"about": "L'intégration de {{appName}} avec votre calendrier permet d’accéder de manière sécurisée aux événement à venir.",
|
||||
"about": "L'intégration de {{appName}} avec votre calendrier permet d'accéder de manière sécurisée aux événement à venir.",
|
||||
"disconnect": "Se déconnecter",
|
||||
"microsoftSignIn": "Se connecter avec Microsoft",
|
||||
"signedIn": "Accès aux événements du calendrier {{email}}. Cliquez sur le bouton se déconnecter ci-dessous pour arrêter l'accès aux événements du calendrier.",
|
||||
@@ -586,6 +642,7 @@
|
||||
"followMe": "Tout le monde me suit",
|
||||
"language": "Langue",
|
||||
"loggedIn": "Connecté en tant que {{name}}",
|
||||
"microphones": "Microphones",
|
||||
"moderator": "Modérateur",
|
||||
"more": "Plus",
|
||||
"name": "Nom",
|
||||
@@ -593,21 +650,23 @@
|
||||
"selectAudioOutput": "Sortie audio",
|
||||
"selectCamera": "Caméra",
|
||||
"selectMic": "Microphone",
|
||||
"speakers": "Intervenants",
|
||||
"startAudioMuted": "Tout le monde commence en muet",
|
||||
"startVideoMuted": "Tout le monde commence sans vidéo",
|
||||
"title": "Paramètres",
|
||||
"microphones": "Microphones",
|
||||
"speakers": "Intervenants"
|
||||
"title": "Paramètres"
|
||||
},
|
||||
"settingsView": {
|
||||
"advanced": "Avancé",
|
||||
"alertOk": "D'accord",
|
||||
"alertCancel": "Annuler",
|
||||
"alertTitle": "Avertissement",
|
||||
"alertURLText": "L'URL du serveur est invalide",
|
||||
"buildInfoSection": "Informations de build",
|
||||
"conferenceSection": "Conférence",
|
||||
"disableCallIntegration": "Désactiver l'intégration d'appels native",
|
||||
"disableP2P": "Désactiver le mode pair à pair",
|
||||
"disableCrashReporting": "Désactiver les rapports de plantage",
|
||||
"disableCrashReportingWarning": "Etes-vous certain de vouloir désactiver les rapports de plantage ? Le paramètre sera effectif après le redémarrage de l'application.",
|
||||
"displayName": "Pseudo",
|
||||
"email": "Email",
|
||||
"header": "Paramètres",
|
||||
@@ -633,6 +692,7 @@
|
||||
},
|
||||
"startupoverlay": {
|
||||
"policyText": " ",
|
||||
"genericTitle": "La conférence a besoin d'utiliser votre microphone et votre caméra.",
|
||||
"title": "{{app}} a besoin d'accéder à votre microphone et votre caméra."
|
||||
},
|
||||
"suspendedoverlay": {
|
||||
@@ -649,37 +709,41 @@
|
||||
"chat": "Afficher/masquer la discussion instantanée",
|
||||
"document": "Activer/désactiver le document partagé",
|
||||
"download": "Télécharger nos applications",
|
||||
"embedMeeting": "Intégrer la réunion",
|
||||
"feedback": "Laisser des commentaires",
|
||||
"fullScreen": "Activer/désactiver le plein écran",
|
||||
"grantModerator": "Nommer modérateur",
|
||||
"hangup": "Quitter la conversation",
|
||||
"help": "Aide",
|
||||
"invite": "Inviter des participants",
|
||||
"kick": "Expulser le participant",
|
||||
"lobbyButton": "Activer / désactiver le mode lobby",
|
||||
"localRecording": "Activer/désactiver les contrôles d'enregistrement local",
|
||||
"lockRoom": "Activer/Désactiver le mot de passe de la réunion",
|
||||
"moreActions": "Activer/désactiver le menu d'actions supplémentaires",
|
||||
"moreActionsMenu": "Menu d'actions supplémentaires",
|
||||
"moreOptions": "Voir plus d'options",
|
||||
"mute": "Activer/désactiver l'audio",
|
||||
"muteEveryone": "Rendre muet tout le monde",
|
||||
"pip": "Activer/désactiver le mode Picture in Picture",
|
||||
"privateMessage": "Envoyer un message privé",
|
||||
"profile": "Éditer votre profil",
|
||||
"raiseHand": "Lever/baisser la main",
|
||||
"recording": "Activer/désactiver l'enregistrement",
|
||||
"remoteMute": "Désactiver le micro du participant",
|
||||
"security": "Options de sécurité",
|
||||
"Settings": "Afficher/masquer le menu des paramètres",
|
||||
"sharedvideo": "Démarrer/arrêter le partage de vidéo YouTube",
|
||||
"shareRoom": "Inviter quelqu'un",
|
||||
"shareYourScreen": "Activer/désactiver le partage d’écran",
|
||||
"shareYourScreen": "Activer/désactiver le partage d'écran",
|
||||
"shortcuts": "Afficher/masquer les raccourcis",
|
||||
"show": "Afficher en premier plan",
|
||||
"speakerStats": "Afficher/cacher les statistiques de parole",
|
||||
"tileView": "Activer/désactiver la vue mosaïque",
|
||||
"toggleCamera": "Changer de caméra",
|
||||
"toggleFilmstrip": "Basculer de pellicule",
|
||||
"videomute": "Activer/désactiver la vidéo",
|
||||
"videoblur": "Activer/désactiver le flou de la vidéo",
|
||||
"muteEveryone": "Mettre tout le monde en sourdine",
|
||||
"moreOptions": "Afficher plus d'options",
|
||||
"toggleFilmstrip": "Basculer la bande de film"
|
||||
"videoblur": "Activer/désactiver le flou de la vidéo"
|
||||
},
|
||||
"addPeople": "Ajouter des personnes à votre appel",
|
||||
"audioOnlyOff": "Désactiver le mode bande passante réduite",
|
||||
@@ -692,6 +756,8 @@
|
||||
"documentClose": "Fermer le document partagé",
|
||||
"documentOpen": "Ouvrir le document partagé",
|
||||
"download": "Télécharger nos applications",
|
||||
"e2ee": "Cryptage de Bout-en-Bout",
|
||||
"embedMeeting": "Intégrer la réunion",
|
||||
"enterFullScreen": "Afficher en plein écran",
|
||||
"enterTileView": "Accéder au mode mosaïque",
|
||||
"exitFullScreen": "Quitter le mode plein écran",
|
||||
@@ -712,6 +778,8 @@
|
||||
"noAudioSignalTitle": "Il n'y a pas de signal 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 de périphérique utilisé.",
|
||||
"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 :",
|
||||
"noAudioSignalDialInDesc": "Vous pouvez également appeler en utilisant :",
|
||||
"noAudioSignalDialInLinkDesc": "Numéros d'appel",
|
||||
"noisyAudioInputTitle": "Votre microphone semble être bruyant !",
|
||||
"noisyAudioInputDesc": "Il semble que votre microphone fasse du bruit, veuillez le couper ou changer de périphérique.",
|
||||
"openChat": "Ouvrir le chat",
|
||||
@@ -720,6 +788,7 @@
|
||||
"profile": "Éditer votre profil",
|
||||
"raiseHand": "Lever / Baisser la main",
|
||||
"raiseYourHand": "Lever la main",
|
||||
"security": "Options de sécurité",
|
||||
"Settings": "Paramètres",
|
||||
"sharedvideo": "Partager une vidéo YouTube",
|
||||
"shareRoom": "Inviter quelqu'un",
|
||||
@@ -730,14 +799,12 @@
|
||||
"stopScreenSharing": "Arrêter le partage d'écran",
|
||||
"stopSubtitles": "Désactiver les sous-titres",
|
||||
"stopSharedVideo": "Arrêter la vidéo YouTube",
|
||||
"talkWhileMutedPopup": "Vous voulez parler ? Vôtre micro est coupé.",
|
||||
"talkWhileMutedPopup": "Vous voulez parler ? Votre micro est coupé.",
|
||||
"tileViewToggle": "Activer/désactiver la vue mosaïque",
|
||||
"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",
|
||||
"noAudioSignalDialInDesc": "Vous pouvez également composer un numéro en utilisant :",
|
||||
"noAudioSignalDialInLinkDesc": "Numéros d'appel"
|
||||
"stopvideoblur": "Désactiver le flou d'arrière-plan"
|
||||
},
|
||||
"transcribing": {
|
||||
"ccButtonTooltip": "Activer/Désactiver les sous-titres",
|
||||
@@ -746,7 +813,7 @@
|
||||
"failedToStart": "Échec de démarrage de la transcription",
|
||||
"labelToolTip": "La transcription de la réunion est en cours",
|
||||
"off": "La transcription désactivée",
|
||||
"pending": "Préparation de la transcription de la réunion...",
|
||||
"pending": "Préparation de la transcription de la réunion ...",
|
||||
"start": "Afficher/masquer les sous-titres",
|
||||
"stop": "Désactiver le sous-titrage",
|
||||
"tr": "TR"
|
||||
@@ -769,13 +836,13 @@
|
||||
"errorAlreadyInvited": "{{displayName}} est déjà invité(e)",
|
||||
"errorInvite": "La conférence n'est pas encore établie. Veuillez réessayer plus tard.",
|
||||
"errorInviteFailed": "Nous tentons de résoudre le problème. Veuillez réessayer plus tard.",
|
||||
"errorInviteFailedTitle": "l'invitation de {{displayName}} a échoué",
|
||||
"errorInviteFailedTitle": "L'invitation de {{displayName}} a échoué",
|
||||
"errorInviteTitle": "Erreur lors de l'invitation",
|
||||
"pending": "{{displayName}} a été invité(e)"
|
||||
},
|
||||
"videoStatus": {
|
||||
"audioOnly": "VOIX",
|
||||
"audioOnlyExpanded": "Vous êtes en mode bande passante réduite. Dans ce mode, vous ne recevrez que le partage audio et le partage d’écran.",
|
||||
"audioOnlyExpanded": "Vous êtes en mode bande passante réduite. Dans ce mode, vous ne recevrez que le partage audio et le partage d'écran.",
|
||||
"callQuality": "Qualité vidéo",
|
||||
"hd": "HD",
|
||||
"hdTooltip": "Regardez la vidéo en haute définition",
|
||||
@@ -809,7 +876,7 @@
|
||||
"join": "Touchez pour rejoindre",
|
||||
"roomname": "Saisissez un nom de salle"
|
||||
},
|
||||
"appDescription": "Foncez tchater en vidéo avec toute le monde. En fait, vous pouvez inviter tout ceux que vous connaissez. {{app}} est une solution de visioconférence entièrement chiffrée et 100% libre que vous pouvez utiliser en permanence, chaque jours, et sans aucun compte requis.",
|
||||
"appDescription": "Foncez tchater en vidéo avec toute le monde. En fait, vous pouvez inviter tout ceux que vous connaissez. {{app}} est une solution de visioconférence entièrement chiffrée et 100% libre que vous pouvez utiliser en permanence, chaque jour, et sans aucun compte requis.",
|
||||
"audioVideoSwitch": {
|
||||
"audio": "Voix",
|
||||
"video": "Vidéo"
|
||||
@@ -818,22 +885,27 @@
|
||||
"connectCalendarButton": "Connecter votre calendrier",
|
||||
"connectCalendarText": "Connectez-vous à votre calendrier pour afficher toutes les réunions {{app}}. Ajoutez également les réunions de {{provider}} à votre calendrier et démarrez-les d'un simple clic.",
|
||||
"enterRoomTitle": "Démarrer une nouvelle réunion",
|
||||
"roomNameAllowedChars": "Le nom de la réunion ne doit contenir aucun de ces caractères : ?, &, :, ', \", %, #.",
|
||||
"getHelp": "Obtenir de l'aide",
|
||||
"go": "Créer",
|
||||
"goSmall": "Créer",
|
||||
"join": "CRÉER / REJOINDRE",
|
||||
"headerTitle": "Jitsi Meet",
|
||||
"headerSubtitle": "Conférences sécurisées et de haute qualité",
|
||||
"info": "Infos",
|
||||
"join": "CRÉER / REJOINDRE",
|
||||
"jitsiOnMobile": "Jitsi sur mobile – télécharger notre application et démarrez des conférences de n'import où",
|
||||
"moderatedMessage": "Ou <a href=\"{{url}}\" rel=\"noopener noreferrer\" target=\"_blank\">réserver une URL de réunion</a> à l'avance et où vous êtes le seul modérateur.",
|
||||
"privacy": "Confidentialité",
|
||||
"recentList": "Récent",
|
||||
"recentListDelete": "Supprimer",
|
||||
"recentListEmpty": "Votre liste récente est actuellement vide. Discuter avec votre équipe et vous trouverez toutes vos réunions récentes ici.",
|
||||
"reducedUIText": "Bienvenue sur {{app}} !",
|
||||
"reducedUIText": "Bienvenue sur {{app}} !",
|
||||
"roomNameAllowedChars": "Le nom de la réunion ne doit contenir aucun de ces caractères : ?, &, :, ', \", %, #.",
|
||||
"roomname": "Saisissez un nom de salle",
|
||||
"roomnameHint": "Entrez le nom ou l'URL de la salle que vous souhaitez rejoindre. Vous pouvez faire un nom, laissez les gens que vous rencontrerez le savoir afin qu'ils entrent le même nom.",
|
||||
"sendFeedback": "Envoyer votre avis",
|
||||
"startMeeting": "Démarrer la conférence",
|
||||
"terms": "Termes",
|
||||
"title": "Système de vidéoconférence sécurisé, riche en fonctionnalités et gratuit",
|
||||
"getHelp": "Obtenir de l'aide"
|
||||
"title": "Système de vidéoconférence sécurisé, riche en fonctionnalités et gratuit"
|
||||
},
|
||||
"lonelyMeetingExperience": {
|
||||
"button": "Inviter d'autres personnes",
|
||||
@@ -843,37 +915,36 @@
|
||||
"header": "Centre d'aide"
|
||||
},
|
||||
"lobby": {
|
||||
"knockingParticipantList" : "Liste des participants en attente",
|
||||
"knockingParticipantList": "Liste des participants en attente",
|
||||
"allow": "Autoriser",
|
||||
"backToKnockModeButton": "Aucun mot de passe, demander à rejoindre plutôt",
|
||||
"dialogTitle": "Mode lobby",
|
||||
"disableDialogContent": "Le mode lobby est actuellement activé. Cette fonctionnalité garantit que les participants indésirables ne peuvent pas rejoindre votre réunion. Souhaitez-vous la désactiver?",
|
||||
"dialogTitle": "Mode salle d'attente",
|
||||
"disableDialogContent": "Le mode salle d'attente est actuellement activé. Cette fonctionnalité garantit que les participants indésirables ne peuvent pas rejoindre votre réunion. Souhaitez-vous la désactiver ?",
|
||||
"disableDialogSubmit": "Désactiver",
|
||||
"emailField": "Saisissez votre adresse email",
|
||||
"enableDialogPasswordField": "Définir le mot de passe (optionel)",
|
||||
"enableDialogPasswordField": "Définir le mot de passe (optionnel)",
|
||||
"enableDialogSubmit": "Activer",
|
||||
"enableDialogText": "Le mode lobby vous permet de protéger votre réunion en autorisant les personnes à entrer qu'après l'approbation formelle d'un modérateur.",
|
||||
"enableDialogText": "Le mode salle d'attente vous permet de protéger votre réunion en autorisant les personnes à entrer qu'après l'approbation formelle d'un modérateur.",
|
||||
"enterPasswordButton": "Saisissez un mot de passe de réunion",
|
||||
"enterPasswordTitle": "Saisissez le mot de passe pour rejoindre la réunion",
|
||||
"invalidPassword": "Mot de passe invalide",
|
||||
"joiningMessage": "Vous allez rejoindre une réunion dès que quelqu'un aura accepté votre demande",
|
||||
"joinWithPasswordMessage": "Tentative de rejoindre avec mot de passe, patientez s'il vous plait...",
|
||||
"joinWithPasswordMessage": "Tentative de rejoindre avec mot de passe, patientez s'il vous plait ...",
|
||||
"joinRejectedMessage": "Votre requête pour rejoindre une réunion a été refusée par un modérateur.",
|
||||
"joinTitle": "Rejoindre une réunion",
|
||||
"joiningTitle": "Demander à rejoindre une réunion...",
|
||||
"joiningWithPasswordTitle": "Rejoindre avec mot de passe...",
|
||||
"joiningTitle": "Demander à rejoindre une réunion ...",
|
||||
"joiningWithPasswordTitle": "Rejoindre avec mot de passe ...",
|
||||
"knockButton": "Demander à rejoindre",
|
||||
"knockTitle": "Quelqu'un souhaite rejoindre la réunion",
|
||||
"nameField": "Saisissez votre nom",
|
||||
"notificationLobbyAccessDenied": "{{targetParticipantName}} a été refusé par {{originParticipantName}}",
|
||||
"notificationLobbyAccessGranted": "{{targetParticipantName}} a été accepté par {{originParticipantName}}",
|
||||
"notificationLobbyDisabled": "Lobby a été désactivé par {{originParticipantName}}",
|
||||
"notificationLobbyEnabled": "Lobby a été activé par {{originParticipantName}}",
|
||||
"notificationTitle": "Lobby",
|
||||
"passwordField": "Saisissez le mot de passe de la réunion",
|
||||
"passwordJoinButton": "Rejoindre",
|
||||
"reject": "Refuser",
|
||||
"toggleLabel": "Activer le lobby"
|
||||
},
|
||||
"security": {
|
||||
"about": "Vous pouvez ajouter un mot de passe à votre réunion. Les participants devront fournir le mot de passe avant qu'ils soient autorisés à rejoindre la réunion.",
|
||||
"aboutReadOnly": "Les modérateurs peuvent ajouter un mot de passe à la réunion. Les participants devront fournir le mot de passe avant qu'ils soient autorisés à rejoindre la réunion.",
|
||||
"insecureRoomNameWarning": "Le nom de la salle est peu sûr. Des participants non désirés peuvent rejoindre votre réunion. Pensez à sécuriser votre réunion en cliquant sur le bouton de sécurité.",
|
||||
"securityOptions": "Options de sécurité"
|
||||
"toggleLabel": "Activer la salle d'attente"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,27 +1,43 @@
|
||||
{
|
||||
"addPeople": {
|
||||
"add": "Invita",
|
||||
"addContacts": "Invita tuoi contatti",
|
||||
"copyInvite": "Copia invito della riunione",
|
||||
"copyLink": "Copia collegamento della riunione",
|
||||
"copyStream": "Copia collegamento della diretta",
|
||||
"countryNotSupported": "Non supportiamo ancora questa destinazione.",
|
||||
"countryReminder": "Stai chiamando fuori dagli Stati Uniti? Assicurati d'inserire il prefisso internazionale!",
|
||||
"defaultEmail": "Tua Email di default",
|
||||
"disabled": "Non puoi invitare persone.",
|
||||
"failedToAdd": "L'aggiunta di nuove persone è fallita",
|
||||
"footerText": "La chiamata all'esterno è disabilitata.",
|
||||
"googleEmail": "Email Google",
|
||||
"inviteMoreHeader": "Sei l'unico presente alla riunione",
|
||||
"inviteMoreMailSubject": "Unisciti alla riunione {{appName}}",
|
||||
"inviteMorePrompt": "Invita altra gente",
|
||||
"linkCopied": "Collegamento copiato negli appunti",
|
||||
"loading": "Sto cercando persone e numeri di telefono",
|
||||
"loadingNumber": "Sto validando il numero di telefono",
|
||||
"loadingPeople": "Sto cercando le persone da invitare",
|
||||
"noResults": "Nessun risultato corrispondente",
|
||||
"noValidNumbers": "Per favore inserire un numero di telefono",
|
||||
"outlookEmail": "Email Outlook",
|
||||
"searchNumbers": "Aggiungi numeri di telefono",
|
||||
"searchPeople": "Cerca persone",
|
||||
"searchPeopleAndNumbers": "Cerca persone o aggiungi i loro numeri di telefono",
|
||||
"shareInvite": "Condividi invito alla riunione",
|
||||
"shareLink": "Condividi il collegamento alla riunione per invitare altri",
|
||||
"shareStream": "Condividi il collegamento alla diretta",
|
||||
"telephone": "Telefono: {{number}}",
|
||||
"title": "Invita persone a questo meeting"
|
||||
"title": "Invita persone a questa riunione",
|
||||
"yahooEmail": "Email Yahoo"
|
||||
},
|
||||
"audioDevices": {
|
||||
"bluetooth": "Bluetooth",
|
||||
"headphones": "Cuffie",
|
||||
"phone": "Telefono",
|
||||
"speaker": "Vivavoce"
|
||||
"speaker": "Vivavoce",
|
||||
"none": "Nessun disposistivo audio esistente"
|
||||
},
|
||||
"audioOnly": {
|
||||
"audioOnly": "Solo audio"
|
||||
@@ -46,15 +62,25 @@
|
||||
},
|
||||
"chat": {
|
||||
"error": "Errore: il tuo messaggio “{{originalText}}” non e’ stato inviato. Motivo: {{error}}",
|
||||
"fieldPlaceHolder": "Scrivi qui il tuo messaggio",
|
||||
"messagebox": "Digitare un messaggio",
|
||||
"messageTo": "Messaggio privato per {{recipient}}",
|
||||
"noMessagesMessage": "Non ci sono ancora messaggi nella riunione. Comincia una conversazione, qui!",
|
||||
"nickname": {
|
||||
"popover": "Scegli un nickname",
|
||||
"title": "Inserire un nickname per utilizzare la chat"
|
||||
},
|
||||
"title": "Chat"
|
||||
"privateNotice": "Messaggio privato per {{recipient}}",
|
||||
"title": "Chat",
|
||||
"you": "tu"
|
||||
},
|
||||
"chromeExtensionBanner": {
|
||||
"installExtensionText": "Installa un'estensione per integrare Google Calendar e Office 365",
|
||||
"buttonText": "Installa l'estensione Chrome",
|
||||
"dontShowAgain": "Non mostrare più questo messaggio"
|
||||
},
|
||||
"connectingOverlay": {
|
||||
"joiningRoom": "Collegamento al tuo meeting in corso…"
|
||||
"joiningRoom": "Collegamento alla riunione in corso…"
|
||||
},
|
||||
"connection": {
|
||||
"ATTACHED": "Collegato",
|
||||
@@ -66,20 +92,27 @@
|
||||
"DISCONNECTED": "Disconnesso",
|
||||
"DISCONNECTING": "Disconnessione in corso",
|
||||
"ERROR": "Errore",
|
||||
"RECONNECTING": "Si è verificato un problema di rete. Riconnessione..."
|
||||
"FETCH_SESSION_ID": "Sto ottenendo ID di sessione...",
|
||||
"GET_SESSION_ID_ERROR": "Id dell'errore di sessione: {{code}}",
|
||||
"GOT_SESSION_ID": "Ricevuto ID di sessione",
|
||||
"LOW_BANDWIDTH": "Il video per {{displayName}} è stato interrotto per risparmiare banda"
|
||||
},
|
||||
"connectionindicator": {
|
||||
"address": "Indirizzo:",
|
||||
"audio_ssrc": "Audio SSRC:",
|
||||
"bandwidth": "Banda stimata:",
|
||||
"bitrate": "Bitrate:",
|
||||
"bridgeCount": "Contatore server:",
|
||||
"codecs": "Codec (A/V): ",
|
||||
"connectedTo": "Connesso a:",
|
||||
"e2e_rtt": "E2E RTT:",
|
||||
"framerate": "Fotogrammi al secondo:",
|
||||
"less": "Mostra meno",
|
||||
"localaddress": "Indirizzo locale:",
|
||||
"localaddress_plural": "Indirizzi locali:",
|
||||
"localport": "Porta locale:",
|
||||
"localport_plural": "Porte locali:",
|
||||
"maxEnabledResolution": "manda max",
|
||||
"more": "Mostra di più",
|
||||
"packetloss": "Perdita pacchetti:",
|
||||
"quality": {
|
||||
@@ -94,9 +127,12 @@
|
||||
"remoteport": "Porta remota:",
|
||||
"remoteport_plural": "Porte remote:",
|
||||
"resolution": "Risoluzione:",
|
||||
"savelogs": "Salva log",
|
||||
"participant_id": "Id participante:",
|
||||
"status": "Connessione:",
|
||||
"transport": "Trasporto:",
|
||||
"turn": "(ruota)"
|
||||
"transport_plural": "Trasporti:",
|
||||
"video_ssrc": "Video SSRC:"
|
||||
},
|
||||
"dateUtils": {
|
||||
"earlier": "Prima",
|
||||
@@ -106,14 +142,17 @@
|
||||
"deepLinking": {
|
||||
"appNotInstalled": "Per partecipare a questo meeting sul tuo telefono ti serve l'app mobile di {{app}}",
|
||||
"description": "Non è successo nulla? Abbiamo provato ad avviare la tua videoconferenza sull'app desktop di {{app}}. Prova di nuovo o avviala nell'app web di {{app}}.",
|
||||
"descriptionWithoutWeb": "",
|
||||
"descriptionWithoutWeb": "Non è successo niente? Abbiamo provato ad avviare la riunione nell'app per desktop {{app}}",
|
||||
"downloadApp": "Scarica l'app",
|
||||
"ifDoNotHaveApp": "Se non hai ancora l'app:",
|
||||
"ifHaveApp": "Se hai già l'app:",
|
||||
"joinInApp": "Entra in riunione usando l'app",
|
||||
"launchWebButton": "Avvia sul web",
|
||||
"openApp": "Prosegui verso l'app",
|
||||
"title": "Sto avviando la tua videoconferenza su {{app}}…",
|
||||
"tryAgainButton": "Prova di nuovo sul desktop"
|
||||
},
|
||||
"defaultLink": "es. {{url}}",
|
||||
"defaultNickname": "es. Anna Rossi",
|
||||
"deviceError": {
|
||||
"cameraError": "Impossibile accedere alla videocamera",
|
||||
"cameraPermission": "Errore nell'ottenere i permessi per la videocamera",
|
||||
@@ -128,8 +167,9 @@
|
||||
},
|
||||
"dialog": {
|
||||
"accessibilityLabel": {
|
||||
"liveStreaming": "Diretta"
|
||||
"liveStreaming": "Diretta streaming"
|
||||
},
|
||||
"add": "Aggiungi",
|
||||
"allow": "Consenti",
|
||||
"alreadySharedVideoMsg": "Un altro utente sta condividendo un video. Questa conferenza permette di condividere un solo video alla volta.",
|
||||
"alreadySharedVideoTitle": "È permesso un solo video alla volta",
|
||||
@@ -155,29 +195,30 @@
|
||||
"connectErrorWithMsg": "Oops! Qualcosa è andato storto e non ti puoi collegare alla conferenza: {{msg}}",
|
||||
"connecting": "Connessione",
|
||||
"contactSupport": "Contatta il supporto",
|
||||
"copied": "Copiato",
|
||||
"copy": "Copia",
|
||||
"dismiss": "Scarta",
|
||||
"displayNameRequired": "Tutti devono avere un nome",
|
||||
"done": "Fatto",
|
||||
"enterDisplayName": "Inserisci il nome da visualizzare",
|
||||
"e2eeDescription": "La crittografia punto-a-punto al momento è SPERIMENTALE. Tieni presente che attivandola disabiliterai i servizi svolti dal server, come: la registrazione su Dropobox, le dirette streaming e la partecipazione usando solo telefoni. Tieni anche presente che la riunione funzionerà solo per chi si collega usando browser che supportano flussi inseribili (insertable streams).",
|
||||
"e2eeLabel": "Attiva la crittografia punto-a-punto",
|
||||
"e2eeWarning": "ATTENZIONE: non tutti i partecipanti a questa riunione sembrano supportare le funzionalità di crittografia punto-a-punto. Se la attivi, non potranno sentirti, o vederti.",
|
||||
"enterDisplayName": "Inserisci qui il tuo nome",
|
||||
"error": "Errore",
|
||||
"externalInstallationMsg": "Devi installare la nostra estensione per la condivisione desktop.",
|
||||
"externalInstallationTitle": "Richiesta estensione",
|
||||
"goToStore": "Vai al negozio on-line",
|
||||
"gracefulShutdown": "Il nostro servizio è al momento spento per manutenzione. Si prega di riprovare più tardi.",
|
||||
"grantModeratorDialog": "Sei sicuro di voler rendere moderatore questo partecipante?",
|
||||
"grantModeratorTitle": "Autorizza moderatore",
|
||||
"IamHost": "Sono l'organizzatore",
|
||||
"incorrectRoomLockPassword": "",
|
||||
"incorrectRoomLockPassword": "Password errata",
|
||||
"incorrectPassword": "Nome utente o password errati",
|
||||
"inlineInstallationMsg": "Devi installare la nostra estensione per la condivisione desktop.",
|
||||
"inlineInstallExtension": "Installa adesso",
|
||||
"internalError": "Ops! Qualcosa è andato storto. Questo è l'errore: {{error}}",
|
||||
"internalErrorTitle": "Errore interno",
|
||||
"kickMessage": "Acc! Sei stato espulso dal meeting!",
|
||||
"kickParticipantButton": "Espelli",
|
||||
"kickParticipantButton": "Butta fuori",
|
||||
"kickParticipantDialog": "Sei sicuro di voler espellere questo partecipante?",
|
||||
"kickParticipantTitle": "Espellere questi partecipante?",
|
||||
"kickTitle": "Espulso dal meeting",
|
||||
"liveStreaming": "Live Streaming",
|
||||
"liveStreaming": "Diretta",
|
||||
"liveStreamingDisabledForGuestTooltip": "Gli ospiti non possono avviare una diretta.",
|
||||
"liveStreamingDisabledTooltip": "Trasmissioni in diretta disabilitate.",
|
||||
"lockMessage": "Impossibile bloccare la conferenza.",
|
||||
@@ -189,21 +230,28 @@
|
||||
"maxUsersLimitReachedTitle": "Raggiunto limite partecipanti",
|
||||
"micConstraintFailedError": "Il tuo microfono non soddisfa alcuni dei requisiti richiesti.",
|
||||
"micNotFoundError": "Microfono non trovato.",
|
||||
"micNotSendingData": "Non riusciamo a ricevere suoni dal microfono scelto. Prova a selezionare nelle impostazioni un microfono diverso, o a riavvare l'applicazione.",
|
||||
"micNotSendingData": "Non riusciamo a ricevere suoni dal microfono scelto. Prova a selezionare nelle impostazioni un microfono diverso, o a riavviare l'applicazione.",
|
||||
"micNotSendingDataTitle": "Impossibile accedere al microfono",
|
||||
"micPermissionDeniedError": "Non hai concesso il permesso di usare il microfono. Puoi comunque partecipare alla conferenza ma gli altri non potranno sentirti. Usa il bottone a forma di telecamera nella barra degli indirizzi per cambiare impostazioni.",
|
||||
"micUnknownError": "Impossibile usare il microfono per un motivo sconosciuto.",
|
||||
"muteParticipantBody": "Tu non sarai in grado di riattivare il loro audio, ma loro potranno riattivarlo in qualsiasi momento.",
|
||||
"muteParticipantButton": "Silenzia partecipante",
|
||||
"muteParticipantDialog": "Sei sicuro di voler disattivare l'audio di questo partecipante? Saranno loro a doversi riattivare l'audio, per parlare.",
|
||||
"muteParticipantTitle": "Silenzio questo partecipante?",
|
||||
"Ok": "Ok",
|
||||
"passwordLabel": "",
|
||||
"passwordNotSupported": "Le password per le videoconferenze non sono supportate.",
|
||||
"passwordNotSupportedTitle": "",
|
||||
"passwordRequired": "",
|
||||
"popupError": "Il tuo browser sta bloccando i pop-up da questo sito. Per favore abilità i pop-up dalle impostazioni di sicurezza del browser e riprova.",
|
||||
"muteEveryoneElseDialog": "Una volta zittiti, non potrai riattivargli i microfoni, ma loro potranno farlo in qualsiasi momento.",
|
||||
"muteEveryoneElseTitle": "Zittisco tutti eccetto {{whom}}?",
|
||||
"muteEveryoneDialog": "Sei sicuro di voler zittire tutti? Non potrai riattivar loro il microfono, ma loro potranno farlo in qualsiasi momento.",
|
||||
"muteEveryoneTitle": "Zittisco tutti?",
|
||||
"muteEveryoneSelf": "te stesso",
|
||||
"muteEveryoneStartMuted": "Tutti cominciano a microfono spento, d'adessp in avanti",
|
||||
"muteParticipantBody": "Non sarai in grado di riattivare il loro microfono, ma loro potranno riattivarlo in qualsiasi momento.",
|
||||
"muteParticipantButton": "Zittisci",
|
||||
"muteParticipantDialog": "Sei sicuro di voler zittire questo partecipante? Saranno lui a doversi riattivare l'audio, per parlare.",
|
||||
"muteParticipantTitle": "Zittisco questo partecipante?",
|
||||
"Ok": "OK",
|
||||
"passwordLabel": "La riunione è stata bloccata da un partecipante. Immetti la $t(lockRoomPassword) per collegarti, per favore.",
|
||||
"passwordNotSupported": "Le password per le riunioni non sono supportate.",
|
||||
"passwordNotSupportedTitle": "$t(lockRoomPasswordUppercase) non supportato",
|
||||
"passwordRequired": "E' richiesto $t(lockRoomPasswordUppercase)",
|
||||
"popupError": "Il tuo browser sta bloccando i pop-up da questo sito. Per favore abilita i pop-up dalle impostazioni di sicurezza del browser e riprova.",
|
||||
"popupErrorTitle": "Pop-up bloccato",
|
||||
"readMore": "altro",
|
||||
"recording": "Registrazione",
|
||||
"recordingDisabledForGuestTooltip": "Gli ospiti non possono avviare una registrazione.",
|
||||
"recordingDisabledTooltip": "Registrazione disabilitata.",
|
||||
@@ -222,11 +270,14 @@
|
||||
"reservationError": "Errore di sistema in prenotazione",
|
||||
"reservationErrorMsg": "Codice di errore: {{code}}, messaggio: {{msg}}",
|
||||
"retry": "Riprova",
|
||||
"screenSharingFailedToInstall": "Oh! Non è stato possibile installare l'estensione per la condivisione schermo.",
|
||||
"screenSharingFailedToInstallTitle": "Impossibile installare l'estensione per la condivisione schermo",
|
||||
"screenSharingFirefoxPermissionDeniedError": "Qualcosa è andato storto mentre cercavamo di condividere il tuo schermo. Assicurati di averci dato il premesso di condivisione.",
|
||||
"screenSharingFirefoxPermissionDeniedTitle": "Ops! Non siamo stati in grado di avviare la condivisione schermo!",
|
||||
"screenSharingPermissionDeniedError": "Oops! Qualcosa è andato storto con le impostazioni dell'estensione per la condivisione dello schermo. Ricarica la pagina e prova di nuovo.",
|
||||
"screenSharingAudio": "Condividi audio",
|
||||
"screenSharingFailed": "Ops! Non è stato possibile avviare la condivisione dello schermo!",
|
||||
"screenSharingFailedTitle": "Condivisione dello schermo fallita!",
|
||||
"screenSharingPermissionDeniedError": "Qualcosa non funziona nei permessi di condivisione dello schermo. Ricarica e prova ancora, autorizzando la condivisione.",
|
||||
"sendPrivateMessage": "Hai ricevuto un messaggio privato, poco fa. Vorresti rispondergli privatamente, o vuoi mandare la risposta al gruppo?",
|
||||
"sendPrivateMessageCancel": "Invia al gruppo",
|
||||
"sendPrivateMessageOk": "Invia privatamente",
|
||||
"sendPrivateMessageTitle": "Mando privatamente?",
|
||||
"serviceUnavailable": "Servizio non disponibile",
|
||||
"sessTerminated": "Chiamata terminata",
|
||||
"Share": "Condividi",
|
||||
@@ -234,14 +285,13 @@
|
||||
"shareVideoTitle": "Condividi un video",
|
||||
"shareYourScreen": "Condividi schermo",
|
||||
"shareYourScreenDisabled": "Condivisione schermo disabilitata.",
|
||||
"shareYourScreenDisabledForGuest": "Gli ospiti non possono condividere lo schermo.",
|
||||
"startLiveStreaming": "Inizia una diretta",
|
||||
"startRecording": "Inizia a registrare",
|
||||
"startRemoteControlErrorMessage": "Si è verificato un errore cercando di avviare la sessione di controllo remoto!",
|
||||
"stopLiveStreaming": "Ferma la diretta",
|
||||
"stopRecording": "Ferma registrazione",
|
||||
"stopRecordingWarning": "Sei sicuro di voler interrompere la registrazione?",
|
||||
"stopStreamingWarning": "Sei sicuro di voler interrompere il live streaming?",
|
||||
"stopStreamingWarning": "Sei sicuro di voler interrompere la diretta?",
|
||||
"streamKey": "Chiave per trasmissione in diretta",
|
||||
"Submit": "Invia",
|
||||
"thankYou": "Grazie per aver usato {{appName}}!",
|
||||
@@ -258,7 +308,16 @@
|
||||
"yourEntireScreen": "Schermo intero"
|
||||
},
|
||||
"dialOut": {
|
||||
"statusMessage": "è ora {{status}}"
|
||||
"statusMessage": "è {{status}}"
|
||||
},
|
||||
"documentSharing": {
|
||||
"title": "Documento condiviso"
|
||||
},
|
||||
"e2ee": {
|
||||
"labelToolTip": "Le comunicazioni audio e video di questa chiamata, sono crittografate dall'origine alla destinazione"
|
||||
},
|
||||
"embedMeeting": {
|
||||
"title": "Incorpora questa riunione altrove"
|
||||
},
|
||||
"feedback": {
|
||||
"average": "Media",
|
||||
@@ -284,14 +343,14 @@
|
||||
"country": "Paese",
|
||||
"dialANumber": "Per collegarti telefonicamente al meeting, chiama uno di questi numeri e metti il pin.",
|
||||
"dialInConferenceID": "PIN:",
|
||||
"dialInNotSupported": "Spiacenti, la partecipazionne solo telefonica non è supportata attualmente",
|
||||
"dialInNotSupported": "Spiacenti, la partecipazione solo telefonica non è supportata attualmente",
|
||||
"dialInNumber": "Componi:",
|
||||
"dialInSummaryError": "Errore nella ricerca dei numeri telefonici. Riprova più tardi.",
|
||||
"dialInTollFree": "Numero verde",
|
||||
"genericError": "Ops, qualcosa è andato storto.",
|
||||
"inviteLiveStream": "Per vedere la diretta di questo meeting, clicca su questo link: {{url}}",
|
||||
"invitePhone": "Per seguire solo telefonicamente, clicca: {{number}},,{{conferenceID}}#",
|
||||
"invitePhoneAlternatives": "",
|
||||
"invitePhone": "ATTENZIONE E' UNA CHIAMATA INTERNAZIONALE A PAGAMENTO! NON E' GRATUITA. Per seguire solo telefonicamente, clicca: {{number}},,{{conferenceID}}#",
|
||||
"invitePhoneAlternatives": "Cerchi un numero diverso da chiamare?\nEcco dei numeri telefonici per collegarsi alle riunioni: {{url}}\n\n\nSe entri in riunione anche col computer, entra senza attivare l'audio: {{silentUrl}}",
|
||||
"inviteURLFirstPartGeneral": "Invito a connettersi ad una conferenza.",
|
||||
"inviteURLFirstPartPersonal": "{{name}} ti sta invitando ad un meeting.\n",
|
||||
"inviteURLSecondPart": "\nPartecipa al meeting:\n{{url}}\n",
|
||||
@@ -307,12 +366,12 @@
|
||||
"label": "Informazioni meeting"
|
||||
},
|
||||
"inviteDialog": {
|
||||
"alertText": "",
|
||||
"alertText": "Errore nell'invitare alcuni partecipanti.",
|
||||
"header": "Invita",
|
||||
"searchCallOnlyPlaceholder": "Inserisci numero di telefono",
|
||||
"searchPeopleOnlyPlaceholder": "",
|
||||
"searchPlaceholder": "",
|
||||
"send": ""
|
||||
"searchPeopleOnlyPlaceholder": "Cerca partecipanti",
|
||||
"searchPlaceholder": "Partecipante o numero di telefono",
|
||||
"send": "Invia"
|
||||
},
|
||||
"inlineDialogFailure": {
|
||||
"msg": "Un piccolo inconveniente.",
|
||||
@@ -334,27 +393,32 @@
|
||||
"toggleFilmstrip": "Mostra o nascondi anteprime video",
|
||||
"toggleScreensharing": "Cambia modalità tra videocamera e condivisione schermo",
|
||||
"toggleShortcuts": "Mostra o nascondi le scorciatoie",
|
||||
"videoMute": "Accendo o spegni la videocamera"
|
||||
"videoMute": "Accendo o spegni la videocamera",
|
||||
"videoQuality": "Imposta qualità della telefonata"
|
||||
},
|
||||
"liveStreaming": {
|
||||
"busy": "Stiamo cercando di liberare risorse per lo streaming. Riprova tra qualche minuto.",
|
||||
"limitNotificationDescriptionWeb": "Data l'alta domanda la tua diretta sarà limitata a {{limit}} minuti. Per dirette illimitate, prova <a href={{url}} rel='noopener noreferrer' target='_blank'>{{app}}</a>.",
|
||||
"limitNotificationDescriptionNative": "La tua diretta sarà limitata a {{limit}} minuti. Per dirette illimitate, prova {{app}}.",
|
||||
"busy": "Stiamo cercando di liberare risorse per la diretta. Riprova tra qualche minuto.",
|
||||
"busyTitle": "Tutti gli streamer sono impegnati al momento",
|
||||
"changeSignIn": "Cambia account",
|
||||
"choose": "Scegli una trasmissione in diretta",
|
||||
"chooseCTA": "Scegli un'opzione di trasmissione. Attualmente sei loggato come {{email}}.",
|
||||
"enterStreamKey": "Inserisci qui la tua chiave YouTube per le trasmissioni in diretta.",
|
||||
"error": "Live streaming fallito. Prova di nuovo.",
|
||||
"error": "Diretta fallita. Prova di nuovo.",
|
||||
"errorAPI": "Si è verificato un errore durante l'accesso ai tuoi broadcast YouTube. Prova a effettuare nuovamente il login.",
|
||||
"errorLiveStreamNotEnabled": "La diretta non è attivata su {{email}}. Per favore abilita la diretta o effettua l'accesso con un account abilitato alle dirette.",
|
||||
"expandedOff": "La diretta è stata interrotta",
|
||||
"expandedOn": "La conferenza è attualmente in diretta su YouTube.",
|
||||
"expandedPending": "La diretta è in fase di avvio...",
|
||||
"expandedOff": "La diretta è stata interrotta",
|
||||
"expandedOn": "La conferenza è attualmente in diretta su YouTube.",
|
||||
"expandedPending": "La diretta è in fase di avvio...",
|
||||
"failedToStart": "Avvio trasmissione in diretta fallito",
|
||||
"getStreamKeyManually": "Non siamo stati in grado di trovare nessuna trasmissione dal vivo. Prova ad ottenere una chiave stream da Youtube",
|
||||
"invalidStreamKey": "La chiave stream potrebbe non essere corretta.",
|
||||
"off": "La diretta si è interrotta",
|
||||
"offBy": "{{name}} ha fermato la diretta",
|
||||
"on": "Trasmissione in diretta",
|
||||
"pending": "Avvio live stream...",
|
||||
"onBy": "{{name}} ha iniziato la diretta",
|
||||
"pending": "Avvio diretta...",
|
||||
"serviceName": "Servizio live streaming",
|
||||
"signedInAs": "Sei attualmente collegato come:",
|
||||
"signIn": "Registrati con Google",
|
||||
@@ -362,7 +426,9 @@
|
||||
"signOut": "Esci",
|
||||
"start": "Inizia una diretta",
|
||||
"streamIdHelp": "Cos'è questo?",
|
||||
"unavailableTitle": "Live streaming non disponibile"
|
||||
"unavailableTitle": "La diretta non è disponibile",
|
||||
"youtubeTerms": "YouTube terms of services",
|
||||
"googlePrivacyPolicy": "Google Privacy Policy"
|
||||
},
|
||||
"localRecording": {
|
||||
"clientState": {
|
||||
@@ -380,8 +446,8 @@
|
||||
"me": "io",
|
||||
"messages": {
|
||||
"engaged": "Registrazione locale avviata.",
|
||||
"finished": "La registrazione della sessione {{token}} è terminata. Invia il file della registrazione al moderatore.",
|
||||
"finishedModerator": "La registrazione della sessione {{token}} è terminata. Il file della traccia local è stato salvato. Richiedere ai partecipanti di inviare le loro registrazioni.",
|
||||
"finished": "La registrazione della sessione {{token}} è terminata. Invia il file della registrazione al moderatore.",
|
||||
"finishedModerator": "La registrazione della sessione {{token}} è terminata. Il file della traccia local è stato salvato. Richiedere ai partecipanti di inviare le loro registrazioni.",
|
||||
"notModerator": "Non sei un moderatore. Non puoi avviare o interrompere la registrazione"
|
||||
},
|
||||
"moderator": "Moderatore",
|
||||
@@ -413,23 +479,84 @@
|
||||
"muted": "Hai iniziato la conversazione con l'audio disattivato.",
|
||||
"mutedTitle": "Hai l'audio disattivato!",
|
||||
"mutedRemotelyTitle": "Ti è stato disattivato l'audio da {{participantDisplayName}}!",
|
||||
"mutedRemotelyDescription": "",
|
||||
"passwordRemovedRemotely": "",
|
||||
"passwordSetRemotely": "",
|
||||
"mutedRemotelyDescription": "Puoi sempre attivare il microfono, quando vuoi parlare. Spegni il microfono quando hai finito, per non introdurre rumori di fondo nella riunione.",
|
||||
"passwordRemovedRemotely": "$t(lockRoomPasswordUppercase) è stata tolta da un altro partecipante",
|
||||
"passwordSetRemotely": "$t(lockRoomPasswordUppercase) è stata messa da un altro partecipante",
|
||||
"raisedHand": "{{name}} vorrebbe intervenire.",
|
||||
"somebody": "Qualcuno",
|
||||
"startSilentTitle": "",
|
||||
"startSilentDescription": "",
|
||||
"startSilentTitle": "Sei entrato in riunione senza aver scelto un dispositivo audio per sentire!",
|
||||
"startSilentDescription": "Entra di nuovo in riunione, per attivare l'audio",
|
||||
"suboptimalExperienceDescription": "Ehm... temiamo che la tua esperienza con {{appName}} non sarà granché su questo browser. Stiamo cercando di migliorare la situazione ma, per il momento, prova ad utilizzare uno di questi <a href='{{recommendedBrowserPageLink}}' target='_blank'>browser supportati</a>.",
|
||||
"suboptimalExperienceTitle": "Problemi con il browser",
|
||||
"unmute": "",
|
||||
"unmute": "Accendi microfono",
|
||||
"newDeviceCameraTitle": "Trovata nuova videocamera",
|
||||
"newDeviceAudioTitle": "Trovata nuova origine audio",
|
||||
"newDeviceAction": "Usala"
|
||||
"newDeviceAction": "OK, usala",
|
||||
"OldElectronAPPTitle": "Falla di sicurezza!",
|
||||
"oldElectronClientDescription1": "Sembri stare usando una versione obsoleta di Jitsi Meet che ha delle falle di sicurezza note. Assicurati di aggiornarla presso il nostro ",
|
||||
"oldElectronClientDescription2": "ultima build",
|
||||
"oldElectronClientDescription3": " ora!"
|
||||
},
|
||||
"passwordSetRemotely": "definita da altro utente",
|
||||
"passwordDigitsOnly": "Fino a {{number}} cifre",
|
||||
"poweredby": "offerto da",
|
||||
"prejoin": {
|
||||
"audioAndVideoError": "Errore audio e video:",
|
||||
"audioDeviceProblem": "C'è un problema con il tuo microfono",
|
||||
"audioOnlyError": "Errore audio:",
|
||||
"audioTrackError": "Impossibile creare traccia audio.",
|
||||
"calling": "Chiamando",
|
||||
"callMe": "Chiamami",
|
||||
"callMeAtNumber": "Chiamami a questo numero:",
|
||||
"configuringDevices": "Configurazione dispositivi...",
|
||||
"connectedWithAudioQ": "Sei connesso con l'audio?",
|
||||
"connection": {
|
||||
"good": "La tua connessione Internet sembra buona!",
|
||||
"nonOptimal": "La tua connessione Internet non è ottimale",
|
||||
"poor": "La tua connessione Internet è scarsa"
|
||||
},
|
||||
"connectionDetails": {
|
||||
"audioClipping": "Ci aspettiamo che il tuo audio sarà a sighiozzo.",
|
||||
"audioHighQuality": "Ci aspettiamo che il tuo audio sarà di eccellente qualità.",
|
||||
"audioLowNoVideo": "Ci aspettiamo una bassa qualità audio e che il video sia assente.",
|
||||
"goodQuality": "Ottimo! La tue funzioni multimediali andranno alla grande.",
|
||||
"noMediaConnectivity": "Non siamo riusciti a stabilire una connessione multimediale per fare questo test. Questo è tipicamente causato da un firewall o dal NAT.",
|
||||
"noVideo": "Ci aspettiamo una pessima qualità video.",
|
||||
"undetectable": "Se non riesci ancora a fare chiamate nel browser, ti consigliamo di verificare che il microfono e la tua videocamera siano configurate correttamente, che tu abbia dato al browser i permessi di usare microfono e videocamera, e che il tuo browser sia aggiornato all'ultima versione. Se hai ancora problemi, dovresti contattare lo sviluppatore dell'applicazione web.",
|
||||
"veryPoorConnection": "Ci aspettiamo una qualità della chiamata davvero terribile.",
|
||||
"videoFreezing": "Ci aspettiamo che il video si blocchi, sparisca, o sia molto pixelato.",
|
||||
"videoHighQuality": "Ci aspettiamo che il video sia di buona qualità.",
|
||||
"videoLowQuality": "Ci aspettiamo che il video abbia pochi fotogrammi al secondo e sia a bassa risoluzione.",
|
||||
"videoTearing": "Ci aspettiamo che il video sia pixelato e abbia deformazioni visive."
|
||||
},
|
||||
"copyAndShare": "Copia e condividi il collegamento della riunione",
|
||||
"dialInMeeting": "Chiama e collegati alla riunione",
|
||||
"dialInPin": "Chiama e inserisci il PIN per entrare nella riunione:",
|
||||
"dialing": "Chiamata",
|
||||
"doNotShow": "Non mostrare più questa finestra",
|
||||
"errorDialOut": "Impossibile fare la chiamata",
|
||||
"errorDialOutDisconnected": "Impossibile fare la chiamata. Occupato",
|
||||
"errorDialOutFailed": "Impossibile fare la chiamata. Chiamata fallita",
|
||||
"errorDialOutStatus": "Errore nel ricevere lo stato della rete",
|
||||
"errorMissingName": "Inserire il proprio nome, per accedere alla riunione",
|
||||
"errorStatusCode": "Errore nella chiamata, codice: {{status}}",
|
||||
"errorValidation": "Numero inesistente",
|
||||
"iWantToDialIn": "Voglio chiamare il numero",
|
||||
"joinAudioByPhone": "Collegati usando un telefono, per parlare",
|
||||
"joinMeeting": "Collegati alla riunione",
|
||||
"joinWithoutAudio": "Collegati senza poter parlare",
|
||||
"initiated": "Chiamata avviata",
|
||||
"linkCopied": "Collegamento copiato negli appunti",
|
||||
"lookGood": "Sembra che il tuo microfono funzioni correttamente",
|
||||
"or": "o",
|
||||
"premeeting": "Attesa riunione",
|
||||
"showScreen": "Avvia la schermata d'attesa della riunione",
|
||||
"startWithPhone": "Avvia usando il telefono, per parlare",
|
||||
"screenSharingError": "Errore di condivisione dello schermo:",
|
||||
"videoOnlyError": "Errore video:",
|
||||
"videoTrackError": "Impossibile creare la traccia video.",
|
||||
"viewAllNumbers": "vedi tutti i numeri"
|
||||
},
|
||||
"presenceStatus": {
|
||||
"busy": "Occupato",
|
||||
"calling": "Chiamata…",
|
||||
@@ -450,7 +577,10 @@
|
||||
"setEmailLabel": "Imposta la mail gravatar",
|
||||
"title": "Profilo"
|
||||
},
|
||||
"raisedHand": "Vorrebbe parlare",
|
||||
"recording": {
|
||||
"limitNotificationDescriptionWeb": "Data l'alta domanda la tua registrazione sarà limitata a {{limit}} minuti. Per registrazioni illimitate, prova <a href={{url}} rel='noopener noreferrer' target='_blank'>{{app}}</a>.",
|
||||
"limitNotificationDescriptionNative": "La tua registrazione sarà limitata a {{limit}} minuti. Per registrazioni illimitate, prova <3>{{app}}</3>.",
|
||||
"authDropboxText": "Carica su Dropbox",
|
||||
"availableSpace": "Spazio disponibile: {{spaceLeft}} MB (rimangono approssimativamente {{duration}} minuti di registrazione)",
|
||||
"beta": "BETA",
|
||||
@@ -461,14 +591,16 @@
|
||||
"expandedOn": "La registrazione della conferenza è attiva.",
|
||||
"expandedPending": "La registrazione è in fase di avvio…",
|
||||
"failedToStart": "Non è stato possibile avviare la registrazione",
|
||||
"fileSharingdescription": "",
|
||||
"fileSharingdescription": "Condividi la registrazione con i partecipanti alla riunione",
|
||||
"live": "DIRETTA",
|
||||
"loggedIn": "Accesso effettuato come {{userName}}",
|
||||
"off": "Registrazione interrotta",
|
||||
"offBy": "{{name}} registrazione fermata",
|
||||
"on": "Registrazione",
|
||||
"onBy": "{{name}} registrazione iniziata",
|
||||
"pending": "In preparazione alla registrazione della conferenza…",
|
||||
"rec": "REC",
|
||||
"serviceDescription": "",
|
||||
"serviceDescription": "La tua registrazione verrà salvata dal servizio di registrazione che hai scelto",
|
||||
"serviceName": "Servizio di registrazione",
|
||||
"signIn": "Entra",
|
||||
"signOut": "Esci",
|
||||
@@ -478,6 +610,12 @@
|
||||
"sectionList": {
|
||||
"pullToRefresh": "Trascina per aggiornare"
|
||||
},
|
||||
"security": {
|
||||
"about": "Puoi aggiungere alla riunione una $t(lockRoomPassword). I partecipanti dovranno fornire la $t(lockRoomPassword) per essere autorizzati a partecipare alla riunione.",
|
||||
"aboutReadOnly": "I moderatori della riunione possono aggiungere $t(lockRoomPassword). I partecipanti dovranno fornire la $t(lockRoomPassword) per essere autorizzati a partecipare alla riunione.",
|
||||
"insecureRoomNameWarning": "La riunione non è protetta. Dei partecipanti indesiderati potrebbero unirsi alla riunione. Puoi proteggere l'accesso alla riunione col bottone sicurezza.",
|
||||
"securityOptions": "Impostazioni sicurezza"
|
||||
},
|
||||
"settings": {
|
||||
"calendar": {
|
||||
"about": "L’integrazione del calendario con {{appName}} e’ consigliata per accedere in sicurezza al proprio calendario per poter leggere i prossimi appuntamenti ",
|
||||
@@ -499,19 +637,28 @@
|
||||
"selectMic": "Microfono",
|
||||
"startAudioMuted": "Tutti cominciano con il microfono disattivato",
|
||||
"startVideoMuted": "Tutti cominciano con il video disattivato",
|
||||
"title": "Impostazioni"
|
||||
"title": "Impostazioni",
|
||||
"speakers": "Altoparlanti",
|
||||
"microphones": "Microfoni"
|
||||
},
|
||||
"settingsView": {
|
||||
"advanced": "Avanzate",
|
||||
"alertOk": "OK",
|
||||
"alertCancel": "Annulla",
|
||||
"alertTitle": "Attenzione",
|
||||
"alertURLText": "L'URL del server inserito non è valido",
|
||||
"buildInfoSection": "Versione",
|
||||
"conferenceSection": "Conferenza",
|
||||
"disableCallIntegration": "Disattiva l'integrazione delle chiamate native",
|
||||
"disableP2P": "Disattiva la modalità punto-punto",
|
||||
"disableCrashReporting": "Disattiva la diagnostica dei crash",
|
||||
"disableCrashReportingWarning": "Sei sicuro di voler disattivare la diagnostica dei crash? Quest'impostazione verrà eseguita al prossimo avvio dell'app.",
|
||||
"displayName": "Nome visualizzato",
|
||||
"email": "Email",
|
||||
"header": "Impostazioni",
|
||||
"profileSection": "Profilo",
|
||||
"serverURL": "URL del server",
|
||||
"showAdvanced": "Impostazioni avanzate",
|
||||
"startWithAudioMuted": "Inizia con l'audio disattivato",
|
||||
"startWithVideoMuted": "Avvia con il video disattivato",
|
||||
"version": "Versione"
|
||||
@@ -526,50 +673,61 @@
|
||||
"minutes": "{{count}}m",
|
||||
"name": "Nome",
|
||||
"seconds": "{{count}}s",
|
||||
"speakerStats": "Statistiche del relatore",
|
||||
"speakerTime": "Tempo del relatore"
|
||||
"speakerStats": "Statistiche",
|
||||
"speakerTime": "Tempo"
|
||||
},
|
||||
"startupoverlay": {
|
||||
"policyText": " ",
|
||||
"title": "{{app}} chiede di usare il tuo microfono e la tua videocamera."
|
||||
"genericTitle": "Per la riunione devono essere usati il tuo microfono e la tua videocamera.",
|
||||
"title": "{{app}} ha bisogno di usare il tuo microfono e la tua videocamera."
|
||||
},
|
||||
"suspendedoverlay": {
|
||||
"rejoinKeyTitle": "Ricollegati",
|
||||
"text": "Premi il pulsante <i>Ricollegati</i> per ricollegarti.",
|
||||
"title": "La video chiamata si è interrotta perchè il computer è stato sospeso."
|
||||
"title": "La video chiamata si è interrotta perché il computer è stato sospeso."
|
||||
},
|
||||
"toolbar": {
|
||||
"accessibilityLabel": {
|
||||
"audioOnly": "Attiva/disattiva solo audio",
|
||||
"audioRoute": "Scegli l'uscita audio",
|
||||
"callQuality": "Gestisci qualità della chiamata",
|
||||
"callQuality": "Imposta qualità della chiamata",
|
||||
"cc": "Attiva/disattiva sottotitoli",
|
||||
"chat": "Attiva/disattiva la chat",
|
||||
"document": "Attiva/disattiva documento condiviso",
|
||||
"download": "Scarica le nostre app",
|
||||
"embedMeeting": "Incorpora riunione altrove",
|
||||
"feedback": "Lascia un feedback",
|
||||
"fullScreen": "Attiva/disattiva schermo intero",
|
||||
"grantModerator": "Autorizza Moderator",
|
||||
"hangup": "Lascia la conferenza",
|
||||
"help": "Aiuto",
|
||||
"invite": "Invita persone",
|
||||
"kick": "Espelli partecipante",
|
||||
"lobbyButton": "Attiva/disattiva sala d'attesa",
|
||||
"localRecording": "Abilita controlli di registrazione locale",
|
||||
"lockRoom": "Attiva o disattiva password",
|
||||
"moreActions": "Attiva o disattiva menu avanzato",
|
||||
"moreActionsMenu": "Menu avanzato",
|
||||
"moreOptions": "Più opzioni",
|
||||
"mute": "Attiva/disattiva audio",
|
||||
"muteEveryone": "Zittisci tutti",
|
||||
"pip": "Attiva/disattiva immagine nell’immagine",
|
||||
"privateMessage": "Invia messaggio privato",
|
||||
"profile": "Modifica profilo",
|
||||
"raiseHand": "Attiva/disattiva alzata di mano",
|
||||
"recording": "Attiva/disattiva registrazione",
|
||||
"remoteMute": "Disattiva audio partecipante",
|
||||
"remoteMute": "Zittisci partecipante",
|
||||
"security": "Impostazioni sicurezza",
|
||||
"Settings": "Attiva/disattiva impostazioni",
|
||||
"sharedvideo": "Attiva/disattiva condivisione YouTube",
|
||||
"shareRoom": "Invita qualcuno",
|
||||
"shareYourScreen": "Attiva/disattiva condivisione schermo",
|
||||
"shortcuts": "Attiva/disattiva scorciatoie",
|
||||
"show": "",
|
||||
"show": "Mostra in primo piano",
|
||||
"speakerStats": "Attiva/disattiva statistiche relatore",
|
||||
"tileView": "Vedi tutti i partecipanti insieme, o uno solo",
|
||||
"toggleCamera": "Cambia videocamera",
|
||||
"toggleFilmstrip": "Attiva/disattiva pellicola",
|
||||
"videomute": "Attiva/disattiva videocamera",
|
||||
"videoblur": "Attiva/disattiva offuscamento video"
|
||||
},
|
||||
@@ -578,34 +736,50 @@
|
||||
"audioOnlyOn": "Solo audio",
|
||||
"audioRoute": "Scegli l'uscita audio",
|
||||
"authenticate": "Autenticazione",
|
||||
"callQuality": "Gestisci qualità della chiamata",
|
||||
"callQuality": "Imposta qualità della chiamata",
|
||||
"chat": "Apri / Chiudi chat",
|
||||
"closeChat": "Chiudi chat",
|
||||
"documentClose": "Chiudi documento condiviso",
|
||||
"documentOpen": "Apri documento condiviso",
|
||||
"download": "Scarica le nostre app",
|
||||
"e2ee": "Crittografia punto-punto",
|
||||
"embedMeeting": "Incorpora riunione altrove",
|
||||
"enterFullScreen": "Visualizza a schermo intero",
|
||||
"enterTileView": "Vedi tutti i partecipanti",
|
||||
"exitFullScreen": "Esci da schermo intero",
|
||||
"exitTileView": "Vedi una persona sola",
|
||||
"feedback": "Lascia un feedback",
|
||||
"hangup": "Esci",
|
||||
"hangup": "Butta giù",
|
||||
"help": "Aiuto",
|
||||
"invite": "Invita persone",
|
||||
"lobbyButtonDisable": "Disabilita sala d'attesa",
|
||||
"lobbyButtonEnable": "Abilita sala d'attesa",
|
||||
"login": "Login",
|
||||
"logout": "Logout",
|
||||
"lowerYourHand": "Abbassa la mano",
|
||||
"moreActions": "Più azioni",
|
||||
"moreOptions": "Più opzioni",
|
||||
"mute": "Microfono Attiva / Disattiva",
|
||||
"mute": "Attiva / Disattiva microfono",
|
||||
"muteEveryone": "Zittisci tutti",
|
||||
"noAudioSignalTitle": "Non arrivano suoni dal tuo microfono!",
|
||||
"noAudioSignalDesc": "Se non l'hai disabilitato intenzionalmente nelle impostazioni, prova a cambiare dispositivo di input.",
|
||||
"noAudioSignalDescSuggestion": "Se non l'hai disabilitato intenzionalmente nelle impostazioni, prova a scegliere il dispositivo consigliato.",
|
||||
"noAudioSignalDialInDesc": "Puoi anche chiamare usando:",
|
||||
"noAudioSignalDialInLinkDesc": "Numberi di telefono",
|
||||
"noisyAudioInputTitle": "Il tuo microfono sembra rumoroso!",
|
||||
"noisyAudioInputDesc": "Sembra che il tuo microfono faccia dei rumori, prova a spegnerlo o cambiarlo per favore.",
|
||||
"openChat": "Apri una chat",
|
||||
"pip": "Abilita visualizzazione immagine nell’immagine",
|
||||
"privateMessage": "invia un messaggio privato",
|
||||
"profile": "Modifica profilo",
|
||||
"raiseHand": "Alza / Abbassa la mano",
|
||||
"raiseYourHand": "Alza la mano",
|
||||
"security": "Impostazioni sicurezza",
|
||||
"Settings": "Impostazioni",
|
||||
"sharedvideo": "Condividi un video Youtube",
|
||||
"shareRoom": "Invita partecipante",
|
||||
"shortcuts": "Visualizza scorciatoie",
|
||||
"speakerStats": "Statistiche dell'interlocutore",
|
||||
"speakerStats": "Statistiche",
|
||||
"startScreenSharing": "Inizia la condivisione dello schermo",
|
||||
"startSubtitles": "Avvia sottotitoli",
|
||||
"stopScreenSharing": "Ferma la condivisione dello schermo",
|
||||
@@ -654,34 +828,37 @@
|
||||
},
|
||||
"videoStatus": {
|
||||
"audioOnly": "AUD",
|
||||
"audioOnlyExpanded": "Hai attivato la modalità solo audio. Questa modalità permette di rispamiare banda, ma non vedrai gli altri partecipanti.",
|
||||
"audioOnlyExpanded": "Hai attivato la modalità solo audio. Questa modalità permette di risparmiare banda, ma non vedrai gli altri partecipanti.",
|
||||
"callQuality": "Qualità video",
|
||||
"hd": "HD",
|
||||
"hdTooltip": "Stai vedendo in alta definizione",
|
||||
"highDefinition": "Alta definizione",
|
||||
"labelTooiltipNoVideo": "Nessun video",
|
||||
"labelTooltipAudioOnly": "Hai attivato la modalità solo audio",
|
||||
"ld": "LD",
|
||||
"ldTooltip": "Stai vedendo a bassa definizione",
|
||||
"lowDefinition": "Bassa definizione",
|
||||
"onlyAudioAvailable": "È disponibile solo l'audio",
|
||||
"onlyAudioSupported": "Per questo browser è supportato solo l'audio.",
|
||||
"sd": "SD",
|
||||
"sdTooltip": "Stai vedendo a definizione standard",
|
||||
"standardDefinition": "Definizione standard"
|
||||
},
|
||||
"videothumbnail": {
|
||||
"domute": "Disattiva audio",
|
||||
"domuteOthers": "Zittisci tutti gli altri",
|
||||
"flip": "Rifletti",
|
||||
"kick": "Espelli",
|
||||
"grantModerator": "Autorizza moderatore",
|
||||
"kick": "Butta fuori",
|
||||
"moderator": "Moderatore",
|
||||
"mute": "Il partecipante è in muto",
|
||||
"mute": "Il partecipante ha il microfono spento",
|
||||
"muted": "Audio disattivato",
|
||||
"remoteControl": "Controllo remoto",
|
||||
"show": "",
|
||||
"videomute": "Silenzia il video"
|
||||
"show": "Mostra in primo piano",
|
||||
"videomute": "Il partecipante ha la videocamera spenta"
|
||||
},
|
||||
"welcomepage": {
|
||||
"accessibilityLabel": {
|
||||
"join": "Tap per accedere",
|
||||
"roomname": "Inserisci Nome Stanza"
|
||||
"roomname": "Inserisci nome stanza"
|
||||
},
|
||||
"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": {
|
||||
@@ -690,24 +867,68 @@
|
||||
},
|
||||
"calendar": "Calendario",
|
||||
"connectCalendarButton": "Collega calendario",
|
||||
"connectCalendarText": "",
|
||||
"connectCalendarText": "Connetti il tuo calendario per vedere tutte le riunione dentro {{app}}. Poi, aggiungi {{provider}} di riunioni al tuo calendario, per avviarle con un clic.",
|
||||
"enterRoomTitle": "Avvia una nuova conferenza",
|
||||
"getHelp": "Trova aiuto",
|
||||
"go": "VAI",
|
||||
"goSmall": "VAI",
|
||||
"headerTitle": "Jitsi Meet",
|
||||
"headerSubtitle": "Secure and high quality meetings",
|
||||
"info": "Informazioni chiamata",
|
||||
"join": "UNISCITI",
|
||||
"info": "Informazioni",
|
||||
"jitsiOnMobile": "Jitsi su mobile – scarica le nostre app e dai inizio ad una riunione dovunque tu sia",
|
||||
"moderatedMessage": "O <a href=\"{{url}}\" rel=\"noopener noreferrer\" target=\"_blank\">prepara una URL</a> in anticipo, per le riunioni di cui sei il moderatore.",
|
||||
"privacy": "Privacy",
|
||||
"recentList": "Recente",
|
||||
"recentListDelete": "Cancella",
|
||||
"recentListEmpty": "La tua lista è vuota. Chatta con qualcuno del tuo team e lo vedrai apparire nella lista di meeting recenti.",
|
||||
"reducedUIText": "",
|
||||
"roomname": "Inserisci Nome Stanza",
|
||||
"recentListEmpty": "La tua lista è vuota. Chatta con qualcuno del tuo team e lo vedrai apparire nella lista di meeting recenti.",
|
||||
"reducedUIText": "Benvenuto in {{app}}!",
|
||||
"roomNameAllowedChars": "Il nome della riunione non deve contenere questi caratteri: ?, &, :, ', \", %, #.",
|
||||
"roomname": "Inserisci nome stanza",
|
||||
"roomnameHint": "Inserisci il nome o l'URL della stanza alla quale vuoi accedere. Puoi anche inventarti un nome, assicurati solo che le persone che vuoi contattare lo sappiano, così che possano inserire lo stesso nome.",
|
||||
"sendFeedback": "Invia feedback",
|
||||
"startMeeting": "Inizia riunione",
|
||||
"terms": "Termini di utilizzo",
|
||||
"title": "Il sistema di conferenza sicuro, funzionale e completamente gratuito."
|
||||
"title": "Il sistema di videoconferenza sicuro, funzionale e completamente gratuito."
|
||||
},
|
||||
"lonelyMeetingExperience": {
|
||||
"button": "Invita gli altri",
|
||||
"button": "invita altri",
|
||||
"youAreAlone": "Sei l'unico in riunione"
|
||||
},
|
||||
"helpView": {
|
||||
"header": "Aiuto"
|
||||
},
|
||||
"lobby": {
|
||||
"knockingParticipantList": "Lista dei partecipanti in attesa",
|
||||
"allow": "Autorizza",
|
||||
"backToKnockModeButton": "No password, ask to join instead",
|
||||
"dialogTitle": "Sala d'attesa",
|
||||
"disableDialogContent": "Sala d'attesa attiva. Questa funzione ti permette di non dare accesso alla riunione a partecipanti indesiderati. Vuoi disattivarla?",
|
||||
"disableDialogSubmit": "Disattiva",
|
||||
"emailField": "Inserisci il tuo indirizzo Email",
|
||||
"enableDialogPasswordField": "Imposta password (opzionale)",
|
||||
"enableDialogSubmit": "Attiva",
|
||||
"enableDialogText": "La sala d'attesa ti permette di proteggere la tua riunione concedendo l'ingresso solo alle persone autorizzate da un moderatore.",
|
||||
"enterPasswordButton": "Inserisci password riunione",
|
||||
"enterPasswordTitle": "Inserisci la password per entrare nella riunione",
|
||||
"invalidPassword": "Password errata",
|
||||
"joiningMessage": "Entrerai nella riunione, non appena qualcuno approva la tua richiesta",
|
||||
"joinWithPasswordMessage": "Ho inviato la password per entrare, attendi...",
|
||||
"joinRejectedMessage": "La tua richiesta d'accesso è stata respinta da un moderatore.",
|
||||
"joinTitle": "Entra in riunione",
|
||||
"joiningTitle": "Richiesta inviata...",
|
||||
"joiningWithPasswordTitle": "Entrando con la password...",
|
||||
"knockButton": "Chiedi d'entrare",
|
||||
"knockTitle": "Qualcuno vuole entrare in riunione",
|
||||
"nameField": "Scrivi il tuo nome",
|
||||
"notificationLobbyAccessDenied": "{{targetParticipantName}} è stato respinto da {{originParticipantName}}",
|
||||
"notificationLobbyAccessGranted": "{{targetParticipantName}} è stato autorizzato ad entrare da {{originParticipantName}}",
|
||||
"notificationLobbyDisabled": "La sala d'attesa è stata disattivata da {{originParticipantName}}",
|
||||
"notificationLobbyEnabled": "La sala d'attesa è stata attivata da {{originParticipantName}}",
|
||||
"notificationTitle": "Sala d'attesa",
|
||||
"passwordField": "Inserisci la password della riunione",
|
||||
"passwordJoinButton": "Entra",
|
||||
"reject": "Respingi",
|
||||
"toggleLabel": "Attiva sala d'attesa"
|
||||
}
|
||||
}
|
||||
|
||||
930
lang/main-ml.json
Normal file
@@ -0,0 +1,930 @@
|
||||
{
|
||||
"addPeople": {
|
||||
"add": "ക്ഷണിക്കുക ",
|
||||
"addContacts": "നിങ്ങളുടെ കോണ്ടാക്ടുകളെ ക്ഷണിക്കുക ",
|
||||
"copyInvite": "മീറ്റിംഗ് ക്ഷണം പകർത്തുക",
|
||||
"copyLink": "മീറ്റിംഗ് ലിങ്ക് പകർത്തുക",
|
||||
"copyStream": "തത്സമയ സ്ട്രീമിംഗ് ലിങ്ക് പകർത്തുക",
|
||||
"countryNotSupported": "ഞങ്ങൾ ഇതുവരെ ഈ ലക്ഷ്യസ്ഥാനത്തെ പിന്തുണയ്ക്കുന്നില്ല.",
|
||||
"countryReminder": "യുഎസിന് പുറത്ത് വിളിക്കുന്നുണ്ടോ? നിങ്ങൾ രാജ്യ കോഡിലാണ് ആരംഭിക്കുന്നതെന്ന് ഉറപ്പാക്കുക!",
|
||||
"defaultEmail": "നിങ്ങളുടെ സ്ഥിരസ്ഥിതി ഇമെയിൽ",
|
||||
"disabled": "നിങ്ങൾക്ക് ആളുകളെ ക്ഷണിക്കാൻ കഴിയില്ല.",
|
||||
"failedToAdd": "പങ്കെടുക്കുന്നവരെ ചേർക്കുന്നതിൽ പരാജയപ്പെട്ടു",
|
||||
"footerText": "ഡയൽ ചെയ്യുന്നത് പ്രവർത്തനരഹിതമാക്കി.",
|
||||
"googleEmail": "Google Email",
|
||||
"inviteMoreHeader": "മീറ്റിംഗിൽ നിങ്ങൾ മാത്രമേയുള്ളൂ ",
|
||||
"inviteMoreMailSubject": "Join {{appName}} meeting",
|
||||
"inviteMorePrompt": "കൂടുതൽ ആളുകളെ ക്ഷണിക്കുക",
|
||||
"linkCopied": "ലിങ്ക് ക്ലിപ്പ്ബോർഡിലേക്ക് പകർത്തി",
|
||||
"loading": "ആളുകൾക്കും ഫോൺ നമ്പറുകൾക്കുമായി തിരയുന്നു",
|
||||
"loadingNumber": "ഫോൺ നമ്പർ സാധൂകരിക്കുന്നു",
|
||||
"loadingPeople": "ആളുകളെ ക്ഷണിക്കാൻ തിരയുന്നു ",
|
||||
"noResults": "പൊരുത്തപ്പെടുന്ന തിരയൽ ഫലങ്ങളൊന്നുമില്ല",
|
||||
"noValidNumbers": "ഒരു ഫോൺ നമ്പർ നൽകുക",
|
||||
"outlookEmail": "Outlook Email",
|
||||
"searchNumbers": "ഫോൺ നമ്പറുകൾ ചേർക്കുക",
|
||||
"searchPeople": "ആളുകൾക്കായി തിരയുക",
|
||||
"searchPeopleAndNumbers": "ആളുകൾക്കായി തിരയുക അല്ലെങ്കിൽ അവരുടെ ഫോൺ നമ്പറുകൾ ചേർക്കുക",
|
||||
"shareInvite": "മീറ്റിംഗ് ക്ഷണം പങ്കിടുക",
|
||||
"shareLink": "മറ്റുള്ളവരെ ക്ഷണിക്കുന്നതിന് മീറ്റിംഗ് ലിങ്ക് പങ്കിടുക",
|
||||
"shareStream": "തത്സമയ സ്ട്രീമിംഗ് ലിങ്ക് പങ്കിടുക",
|
||||
"telephone": "Telephone: {{number}}",
|
||||
"title": "ഈ മീറ്റിംഗിലേക്ക് ആളുകളെ ക്ഷണിക്കുക",
|
||||
"yahooEmail": "Yahoo Email"
|
||||
},
|
||||
"audioDevices": {
|
||||
"bluetooth": "Bluetooth",
|
||||
"headphones": "ഹെഡ്ഫോണുകൾ",
|
||||
"phone": "ഫോൺ",
|
||||
"speaker": "സ്പീക്കർ",
|
||||
"none": "ഓഡിയോ ഉപകരണങ്ങളൊന്നും ലഭ്യമല്ല"
|
||||
},
|
||||
"audioOnly": {
|
||||
"audioOnly": "കുറഞ്ഞ ബാൻഡ്വിഡ്ത്ത്"
|
||||
},
|
||||
"calendarSync": {
|
||||
"addMeetingURL": "ഒരു മീറ്റിംഗ് ലിങ്ക് ചേർക്കുക",
|
||||
"confirmAddLink": "ഈ ഇവന്റിലേക്ക് Jitsi ലിങ്ക് ചേർക്കാൻ നിങ്ങൾ ആഗ്രഹിക്കുന്നുണ്ടോ?",
|
||||
"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": "ചേരുക",
|
||||
"joinTooltip": "മീറ്റിംഗിൽ ചേരുക",
|
||||
"nextMeeting": "അടുത്ത മീറ്റിംഗ്",
|
||||
"noEvents": "വരാനിരിക്കുന്ന ഇവന്റുകളൊന്നും ഷെഡ്യൂൾ ചെയ്തിട്ടില്ല.",
|
||||
"ongoingMeeting": "നടന്നുകൊണ്ടിരിക്കുന്ന മീറ്റിംഗ്",
|
||||
"permissionButton": "ക്രമീകരണങ്ങൾ തുറക്കുക",
|
||||
"permissionMessage": "അപ്ലിക്കേഷനിൽ നിങ്ങളുടെ മീറ്റിംഗുകൾ കാണാൻ കലണ്ടർ അനുമതി ആവശ്യമാണ്.",
|
||||
"refresh": "കലണ്ടർ പുതുക്കുക",
|
||||
"today": "ഇന്ന്"
|
||||
},
|
||||
"chat": {
|
||||
"error": "പിശക്: നിങ്ങളുടെ മെസ്സേജ് അയച്ചില്ല. കാരണം: {{error}}",
|
||||
"fieldPlaceHolder": "നിങ്ങളുടെ മെസ്സേജ് ഇവിടെ ടൈപ്പുചെയ്യുക",
|
||||
"messagebox": "ഒരു മെസ്സേജ് ടൈപ്പുചെയ്യുക",
|
||||
"messageTo": "{{recipient}}-ലേക്കുള്ള സ്വകാര്യ സന്ദേശം",
|
||||
"noMessagesMessage": "മീറ്റിംഗിൽ ഇതുവരെ മെസ്സേജുകളൊന്നുമില്ല. ഇവിടെ ഒരു സംഭാഷണം ആരംഭിക്കുക!",
|
||||
"nickname": {
|
||||
"popover": "ഒരു വിളിപ്പേര് തിരഞ്ഞെടുക്കുക",
|
||||
"title": "ചാറ്റ് ഉപയോഗിക്കുന്നതിന് ഒരു വിളിപ്പേര് നൽകുക"
|
||||
},
|
||||
"privateNotice": " {{recipient}}-ലേക്കുള്ള സ്വകാര്യ സന്ദേശം",
|
||||
"title": "Chat",
|
||||
"you": "നിങ്ങൾ"
|
||||
},
|
||||
"chromeExtensionBanner": {
|
||||
"installExtensionText": "Install the extension for Google Calendar and Office 365 integration",
|
||||
"buttonText": "Chrome എക്സ്റ്റൻഷൻ ഇൻസ്റ്റാൾ ചെയ്യുക",
|
||||
"dontShowAgain": "ഇത് എന്നെ വീണ്ടും കാണിക്കരുത്"
|
||||
},
|
||||
"connectingOverlay": {
|
||||
"joiningRoom": "നിങ്ങളുടെ മീറ്റിംഗിലേക്ക് നിങ്ങളെ ബന്ധിപ്പിക്കുന്നു ..."
|
||||
},
|
||||
"connection": {
|
||||
"ATTACHED": "അറ്റാച്ചുചെയ്തു",
|
||||
"AUTHENTICATING": "പ്രാമാണീകരിക്കുന്നു",
|
||||
"AUTHFAIL": "പ്രാമാണീകരണം പരാജയപ്പെട്ടു",
|
||||
"CONNECTED": "Connected",
|
||||
"CONNECTING": "Connecting",
|
||||
"CONNFAIL": "Connection failed",
|
||||
"DISCONNECTED": "Disconnected",
|
||||
"DISCONNECTING": "ഡിസ്കണനെക്ട ചെയ്യുന്നു ",
|
||||
"ERROR": "Error",
|
||||
"FETCH_SESSION_ID": "സെഷൻ ഐഡി നേടുന്നു ...",
|
||||
"GET_SESSION_ID_ERROR": "Get session-id error: {{code}}",
|
||||
"GOT_SESSION_ID": "സെഷൻ ഐഡി നേടുന്നു... ചെയ്തു",
|
||||
"LOW_BANDWIDTH": "Video for {{displayName}} has been turned off to save bandwidth"
|
||||
},
|
||||
"connectionindicator": {
|
||||
"address": "Address:",
|
||||
"bandwidth": "Estimated bandwidth:",
|
||||
"bitrate": "Bitrate:",
|
||||
"bridgeCount": "Server count: ",
|
||||
"codecs": "Codecs (A/V): ",
|
||||
"connectedTo": "Connected to:",
|
||||
"e2e_rtt": "E2E RTT:",
|
||||
"framerate": "Frame rate:",
|
||||
"less": "Show less",
|
||||
"localaddress": "Local address:",
|
||||
"localaddress_plural": "Local addresses:",
|
||||
"localport": "Local port:",
|
||||
"localport_plural": "Local ports:",
|
||||
"maxEnabledResolution": "send max",
|
||||
"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:"
|
||||
},
|
||||
"dateUtils": {
|
||||
"earlier": "നേരത്തെ",
|
||||
"today": "ഇന്ന്",
|
||||
"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": "Nothing happened? We tried launching your meeting in the {{app}} desktop app.",
|
||||
"downloadApp": "ആപ്പ് ഡൌൺലോഡ് ചെയ്യുക ",
|
||||
"ifDoNotHaveApp": "If you don't have the app yet:",
|
||||
"ifHaveApp": "നിങ്ങൾക്ക് അപ്ലിക്കേഷൻ ഉണ്ടെങ്കിൽ:",
|
||||
"joinInApp": "അപ്ലിക്കേഷൻ ഉപയോഗിച്ച് ഈ മീറ്റിംഗിൽ ചേരുക",
|
||||
"launchWebButton": "വെബിൽ സമാരംഭിക്കുക",
|
||||
"title": "Launching your meeting in {{app}}...",
|
||||
"tryAgainButton": "ഡെസ്ക്ടോപ്പിൽ വീണ്ടും ശ്രമിക്കുക"
|
||||
},
|
||||
"defaultLink": "e.g. {{url}}",
|
||||
"defaultNickname": "ex. Jane Pink",
|
||||
"deviceError": {
|
||||
"cameraError": "നിങ്ങളുടെ ക്യാമറ ആക്സസ് ചെയ്യുന്നതിൽ പരാജയപ്പെട്ടു",
|
||||
"cameraPermission": "ക്യാമറ അനുമതി നേടുന്നതിൽ പിശക്",
|
||||
"microphoneError": "നിങ്ങളുടെ മൈക്രോഫോൺ ആക്സസ് ചെയ്യുന്നതിൽ പരാജയപ്പെട്ടു",
|
||||
"microphonePermission": "മൈക്രോഫോൺ അനുമതി നേടുന്നതിൽ പിശക്"
|
||||
},
|
||||
"deviceSelection": {
|
||||
"noPermission": "അനുമതി നൽകിയിട്ടില്ല",
|
||||
"previewUnavailable": "പ്രിവ്യൂ ലഭ്യമല്ല",
|
||||
"selectADevice": "ഒരു ഉപകരണം തിരഞെടുക്കുക ",
|
||||
"testAudio": "ഒരു ടെസ്റ്റ് ശബ്ദം പ്ലേ ചെയ്യുക"
|
||||
},
|
||||
"dialog": {
|
||||
"accessibilityLabel": {
|
||||
"liveStreaming": "തത്സമയ സംപ്രേക്ഷണം"
|
||||
},
|
||||
"add": "ചേർക്കുക",
|
||||
"allow": "അനുവദിക്കുക",
|
||||
"alreadySharedVideoMsg": "Another participant 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": "റദ്ദാക്കുക",
|
||||
"close": "അടയ്ക്കുക",
|
||||
"conferenceDisconnectMsg": "You may want to check your network connection. Reconnecting in {{seconds}} sec...",
|
||||
"conferenceDisconnectTitle": "You have been disconnected.",
|
||||
"conferenceReloadMsg": "ഞങ്ങൾ ഇത് പരിഹരിക്കാൻ ശ്രമിക്കുകയാണ്. {{seconds}} സെക്കൻഡിൽ വീണ്ടും കണക്റ്റുചെയ്യുന്നു ...",
|
||||
"conferenceReloadTitle": "നിർഭാഗ്യവശാൽ, എന്തോ കുഴപ്പം സംഭവിച്ചു.",
|
||||
"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",
|
||||
"copied": "Copied",
|
||||
"copy": "Copy",
|
||||
"dismiss": "Dismiss",
|
||||
"displayNameRequired": "ഹായ്! താങ്കളുടെ പേരെന്താണ്?",
|
||||
"done": "ചെയ്തു",
|
||||
"e2eeDescription": "End-to-End Encryption is currently EXPERIMENTAL. Please keep in mind that turning on end-to-end encryption will effectively disable server-side provided services such as: recording, live streaming and phone participation. Also keep in mind that the meeting will only work for people joining from browsers with support for insertable streams.",
|
||||
"e2eeLabel": "Enable End-to-End Encryption",
|
||||
"e2eeWarning": "WARNING: Not all participants in this meeting seem to have support for End-to-End encryption. If you enable it they won't be able to see nor hear you.",
|
||||
"enterDisplayName": "നിങ്ങളുടെ പേര് ഇവിടെ നൽകുക",
|
||||
"error": "Error",
|
||||
"gracefulShutdown": "Our service is currently down for maintenance. Please try again later.",
|
||||
"grantModeratorDialog": "Are you sure you want to make this participant a moderator?",
|
||||
"grantModeratorTitle": "Grant moderator",
|
||||
"IamHost": "ഞാൻ ഹോസ്റ്റാണ് ",
|
||||
"incorrectRoomLockPassword": "പാസ്വേഡ് തെറ്റാണ്",
|
||||
"incorrectPassword": "തെറ്റായ ഉപയോക്തൃ നാമം അല്ലെങ്കിൽ പാസ്വേഡ്",
|
||||
"internalError": "Oops! Something went wrong. The following error occurred: {{error}}",
|
||||
"internalErrorTitle": "Internal error",
|
||||
"kickMessage": "You can contact {{participantDisplayName}} for more details.",
|
||||
"kickParticipantButton": "പുറത്താക്കുക ",
|
||||
"kickParticipantDialog": "ഈ പങ്കാളിയെ പുറത്താക്കണമെന്ന് നിങ്ങൾക്ക് ഉറപ്പാണോ?",
|
||||
"kickParticipantTitle": "ഈ പങ്കാളിയെ പുറത്താക്കണോ?",
|
||||
"kickTitle": "ശൊ! {{participantDisplayName}} നിങ്ങളെ പുറത്താക്കി",
|
||||
"liveStreaming": "തത്സമയ സംപ്രേക്ഷണം",
|
||||
"liveStreamingDisabledBecauseOfActiveRecordingTooltip": "റെക്കോർഡിംഗ് സജീവമായിരിക്കുമ്പോൾ സാധ്യമല്ല",
|
||||
"liveStreamingDisabledForGuestTooltip": "അതിഥികൾക്ക് തത്സമയ സ്ട്രീം ആരംഭിക്കാൻ കഴിയില്ല",
|
||||
"liveStreamingDisabledTooltip": "തത്സമയ സ്ട്രീം തുടങ്ങുക പ്രവർത്തനരഹിതമാക്കി.",
|
||||
"lockMessage": "കോൺഫറൻസ് ലോക്ക് ചെയ്യുന്നതിൽ പരാജയപ്പെട്ടു.",
|
||||
"lockRoom": "മീറ്റിംഗ് ചേർക്കുക $t(lockRoomPasswordUppercase)",
|
||||
"lockTitle": "ലോക്ക് പരാജയപ്പെട്ടു",
|
||||
"logoutQuestion": "ലോഗൗട്ട് ചെയ്യാനും കോൺഫറൻസ് നിർത്താനും നിങ്ങൾ ആഗ്രഹിക്കുന്നുണ്ടോ?",
|
||||
"logoutTitle": "ലോഗൗട്ട്",
|
||||
"maxUsersLimitReached": "പങ്കെടുക്കുന്നവരുടെ പരമാവധി എണ്ണം പരിധിയിലെത്തി. സമ്മേളനം നിറഞ്ഞു. മീറ്റിംഗ് ഉടമയുമായി ബന്ധപ്പെടുക അല്ലെങ്കിൽ പിന്നീട് വീണ്ടും ശ്രമിക്കുക!",
|
||||
"maxUsersLimitReachedTitle": "പങ്കെടുക്കുന്നവരുടെ പരമാവധി പരിധി എത്തി",
|
||||
"micConstraintFailedError": "നിങ്ങളുടെ മൈക്രോഫോൺ ആവശ്യമായ ചില പരിമിതികളെ തൃപ്തിപ്പെടുത്തുന്നില്ല.",
|
||||
"micNotFoundError": "മൈക്രോഫോൺ കണ്ടെത്തിയില്ല.",
|
||||
"micNotSendingData": "Go to your computer's settings to unmute your mic and adjust its level",
|
||||
"micNotSendingDataTitle": "നിങ്ങളുടെ സിസ്റ്റം ക്രമീകരണങ്ങളാൽ മൈക്ക് മ്യൂട്ട് ആണ്.",
|
||||
"micPermissionDeniedError": "നിങ്ങളുടെ മൈക്രോഫോൺ ഉപയോഗിക്കാൻ അനുമതി നൽകിയിട്ടില്ല. നിങ്ങൾക്ക് കോൺഫറൻസിൽ ചേരാനാകും, പക്ഷേ മറ്റുള്ളവർക്ക് നിങ്ങളെ കേൾക്കാനാകില്ല. ഇത് പരിഹരിക്കാൻ താഴേയുള്ള ക്യാമറ ബട്ടൺ ഉപയോഗിക്കുക.",
|
||||
"micUnknownError": "അജ്ഞാതമായ കാരണത്താൽ മൈക്രോഫോൺ ഉപയോഗിക്കാൻ കഴിയില്ല.",
|
||||
"muteEveryoneElseDialog": "അവരെ നിശബ്ദമാക്കിയാൽ, നിങ്ങൾക്ക് അവയെ അൺമ്യൂട്ട് ചെയ്യാൻ കഴിയില്ല, എന്നാൽ അവർക്ക് എപ്പോൾ വേണമെങ്കിലും സ്വയം അൺമ്യൂട്ട് ചെയ്യാൻ കഴിയും.",
|
||||
"muteEveryoneElseTitle": "{{whom}} ഒഴികെ എല്ലാവരെയും നിശബ്ദമാക്കുക?",
|
||||
"muteEveryoneDialog": "എല്ലാവരേയും നിശബ്ദമാക്കണമെന്ന് നിങ്ങൾക്ക് ഉറപ്പാണോ? നിങ്ങൾക്ക് അവയെ അൺമ്യൂട്ട് ചെയ്യാൻ കഴിയില്ല, എന്നാൽ അവർക്ക് എപ്പോൾ വേണമെങ്കിലും സ്വയം അൺമ്യൂട്ട് ചെയ്യാൻ കഴിയും.",
|
||||
"muteEveryoneTitle": "എല്ലാവരേയും നിശബ്ദമാക്കണോ?",
|
||||
"muteEveryoneSelf": "നിങ്ങൾ സ്വയം",
|
||||
"muteEveryoneStartMuted": "എല്ലാവരെയും ഇപ്പോൾ മുതൽ നിശബ്ദമാക്കാൻ തുടങ്ങും ",
|
||||
"muteParticipantBody": "നിങ്ങൾക്ക് അവയെ അൺമ്യൂട്ട് ചെയ്യാൻ കഴിയില്ല, എന്നാൽ അവർക്ക് എപ്പോൾ വേണമെങ്കിലും സ്വയം അൺമ്യൂട്ട് ചെയ്യാൻ കഴിയും.",
|
||||
"muteParticipantButton": "നിശബ്ദമാക്കുക",
|
||||
"muteParticipantDialog": "ഈ പങ്കാളിയെ നിശബ്ദമാക്കണമെന്ന് നിങ്ങൾക്ക് ഉറപ്പാണോ? നിങ്ങൾക്ക് അവയെ അൺമ്യൂട്ട് ചെയ്യാൻ കഴിയില്ല, എന്നാൽ അവർക്ക് എപ്പോൾ വേണമെങ്കിലും സ്വയം അൺമ്യൂട്ട് ചെയ്യാൻ കഴിയും.",
|
||||
"muteParticipantTitle": "ഈ പങ്കാളിയെ നിശബ്ദമാക്കണോ?",
|
||||
"Ok": "OK",
|
||||
"passwordLabel": "The meeting has been locked by a participant. Please enter the $t(lockRoomPassword) to join.",
|
||||
"passwordNotSupported": "Setting a meeting $t(lockRoomPassword) is not supported.",
|
||||
"passwordNotSupportedTitle": "$t(lockRoomPasswordUppercase) not supported",
|
||||
"passwordRequired": "$t(lockRoomPasswordUppercase) 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",
|
||||
"readMore": "more",
|
||||
"recording": "Recording",
|
||||
"recordingDisabledBecauseOfActiveLiveStreamingTooltip": "Not possible while a live stream is active",
|
||||
"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 $t(lockRoomPassword)",
|
||||
"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",
|
||||
"screenSharingAudio": "Share audio",
|
||||
"screenSharingFailed": "Oops! Something went wrong, we weren’t able to start screen sharing!",
|
||||
"screenSharingFailedTitle": "Screen sharing failed!",
|
||||
"screenSharingPermissionDeniedError": "Oops! Something went wrong with your screen sharing permissions. Please reload and try again.",
|
||||
"sendPrivateMessage": "You recently received a private message. Did you intend to reply to that privately, or you want to send your message to the group?",
|
||||
"sendPrivateMessageCancel": "Send to the group",
|
||||
"sendPrivateMessageOk": "Send privately",
|
||||
"sendPrivateMessageTitle": "Send privately?",
|
||||
"serviceUnavailable": "Service unavailable",
|
||||
"sessTerminated": "Call terminated",
|
||||
"Share": "Share",
|
||||
"shareVideoLinkError": "Please provide a correct youtube link.",
|
||||
"shareVideoTitle": "Share a video",
|
||||
"shareYourScreen": "Share your screen",
|
||||
"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": "സമർപ്പിക്കുക",
|
||||
"thankYou": "{{appName}} ഉപയോഗിച്ചതിന് നന്ദി!",
|
||||
"token": "token",
|
||||
"tokenAuthFailed": "ക്ഷമിക്കണം, ഈ കോളിൽ ചേരാൻ നിങ്ങളെ അനുവദിച്ചിട്ടില്ല.",
|
||||
"tokenAuthFailedTitle": "പ്രാമാണീകരണം പരാജയപ്പെട്ടു",
|
||||
"transcribing": "ട്രാൻസ്ക്രൈബുചെയ്യുന്നു",
|
||||
"unlockRoom": "Remove meeting $t(lockRoomPassword)",
|
||||
"userPassword": "ഉപയോക്തൃ പാസ്വേഡ്",
|
||||
"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": "ഹോസ്റ്റിനായി കാത്തിരിക്കുന്നു ...",
|
||||
"Yes": "Yes",
|
||||
"yourEntireScreen": "നിങ്ങളുടെ മുഴുവൻ സ്ക്രീനും "
|
||||
},
|
||||
"dialOut": {
|
||||
"statusMessage": "is now {{status}}"
|
||||
},
|
||||
"documentSharing": {
|
||||
"title": "പങ്കിട്ട പ്രമാണം"
|
||||
},
|
||||
"e2ee": {
|
||||
"labelToolTip": "ഈ കോളിലെ ഓഡിയോ, വീഡിയോ ആശയവിനിമയം എൻഡ്-ടു-എൻഡ് എൻക്രിപ്റ്റ് ചെയ്തിരിക്കുന്നു"
|
||||
},
|
||||
"embedMeeting": {
|
||||
"title": "ഈ മീറ്റിംഗ് എംബെഡ് ചെയ്യുക "
|
||||
},
|
||||
"feedback": {
|
||||
"average": "ശരാശരി",
|
||||
"bad": " മോശം",
|
||||
"detailsLabel": "ഇതിനെക്കുറിച്ച് കൂടുതൽ ഞങ്ങളോട് പറയുക.",
|
||||
"good": "നല്ലത്",
|
||||
"rateExperience": "നിങ്ങളുടെ മീറ്റിംഗ് അനുഭവം റേറ്റുചെയ്യുക",
|
||||
"veryBad": "വളരെ മോശം",
|
||||
"veryGood": "വളരെ നല്ലത്"
|
||||
},
|
||||
"incomingCall": {
|
||||
"answer": "കോളിന് മറുപടി നൽകുക",
|
||||
"audioCallTitle": "ഇൻകമിംഗ് കോൾ",
|
||||
"decline": "നിരസിക്കുക",
|
||||
"productLabel": "Jitsi Meet-ൽ നിന്ന്",
|
||||
"videoCallTitle": "ഇൻകമിംഗ് വീഡിയോ കോൾ"
|
||||
},
|
||||
"info": {
|
||||
"accessibilityLabel": "Show info",
|
||||
"addPassword": "Add $t(lockRoomPassword)",
|
||||
"cancelPassword": "Cancel $t(lockRoomPassword)",
|
||||
"conferenceURL": "Link:",
|
||||
"country": "Country",
|
||||
"dialANumber": "To join your meeting, dial one of these numbers and then enter the pin.",
|
||||
"dialInConferenceID": "PIN:",
|
||||
"dialInNotSupported": "Sorry, dialing 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": "To join by phone instead, tap this: {{number}},,{{conferenceID}}#\n",
|
||||
"invitePhoneAlternatives": "Looking for a different dial-in number?\nSee meeting dial-in numbers: {{url}}\n\n\nIf also dialing-in through a room phone, join without connecting to audio: {{silentUrl}}",
|
||||
"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": "$t(lockRoomPasswordUppercase):",
|
||||
"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": "Mute or unmute your microphone",
|
||||
"pushToTalk": "Push to talk",
|
||||
"raiseHand": "Raise or lower your hand",
|
||||
"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",
|
||||
"videoQuality": "Manage call quality"
|
||||
},
|
||||
"liveStreaming": {
|
||||
"limitNotificationDescriptionWeb": "Due to high demand your streaming will be limited to {{limit}} min. For unlimited streaming try <a href={{url}} rel='noopener noreferrer' target='_blank'>{{app}}</a>.",
|
||||
"limitNotificationDescriptionNative": "Your streaming will be limited to {{limit}} min. For unlimited streaming try {{app}}.",
|
||||
"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",
|
||||
"offBy": "{{name}} stopped the live streaming",
|
||||
"on": "Live Streaming",
|
||||
"onBy": "{{name}} started the 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",
|
||||
"youtubeTerms": "YouTube terms of services",
|
||||
"googlePrivacyPolicy": "Google Privacy Policy"
|
||||
},
|
||||
"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": "You can always unmute when you're ready to speak. Mute back when you're done to keep noise away from the meeting.",
|
||||
"passwordRemovedRemotely": "$t(lockRoomPasswordUppercase) removed by another participant",
|
||||
"passwordSetRemotely": "$t(lockRoomPasswordUppercase) set by another participant",
|
||||
"raisedHand": "{{name}} would like to speak.",
|
||||
"somebody": "Somebody",
|
||||
"startSilentTitle": "You joined with no audio output!",
|
||||
"startSilentDescription": "Rejoin the meeting to enable audio",
|
||||
"suboptimalBrowserWarning": "We are afraid your meeting experience 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='{{recommendedBrowserPageLink}}' target='_blank'>fully supported browsers</a>.",
|
||||
"suboptimalExperienceTitle": "Browser Warning",
|
||||
"unmute": "Unmute",
|
||||
"newDeviceCameraTitle": "New camera detected",
|
||||
"newDeviceAudioTitle": "New audio device detected",
|
||||
"newDeviceAction": "Use",
|
||||
"OldElectronAPPTitle": "Security vulnerability!",
|
||||
"oldElectronClientDescription1": "You appear to be using an old version 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",
|
||||
"poweredby": "powered by",
|
||||
"prejoin": {
|
||||
"audioAndVideoError": "Audio and video error:",
|
||||
"audioDeviceProblem": "There is a problem with your audio device",
|
||||
"audioOnlyError": "Audio error:",
|
||||
"audioTrackError": "Could not create audio track.",
|
||||
"calling": "Calling",
|
||||
"callMe": "Call me",
|
||||
"callMeAtNumber": "Call me at this number:",
|
||||
"configuringDevices": "Configuring devices...",
|
||||
"connectedWithAudioQ": "You’re connected with audio?",
|
||||
"connection": {
|
||||
"good": "Your internet connection looks good!",
|
||||
"nonOptimal": "Your internet connection is not optimal",
|
||||
"poor": "You have a poor internet connection"
|
||||
},
|
||||
"connectionDetails": {
|
||||
"audioClipping": "We expect your audio to be clipped.",
|
||||
"audioHighQuality": "We expect your audio to have excellent quality.",
|
||||
"audioLowNoVideo": "We expect your audio quality to be low and no video.",
|
||||
"goodQuality": "Awesome! Your media quality is going to be great.",
|
||||
"noMediaConnectivity": "We could not find a way to establish media connectivity for this test. This is typically caused by a firewall or NAT.",
|
||||
"noVideo": "We expect that your video will be terrible.",
|
||||
"undetectable": "If you still can not make calls in browser, we recommend that you make sure your speakers, microphone and camera are properly set up, that you have granted your browser rights to use your microphone and camera, and that your browser version is up-to-date. If you still have trouble calling, you should contact the web application developer.",
|
||||
"veryPoorConnection": "We expect your call quality to be really terrible.",
|
||||
"videoFreezing": "We expect your video to freeze, turn black, and be pixelated.",
|
||||
"videoHighQuality": "We expect your video to have good quality.",
|
||||
"videoLowQuality": "We expect your video to have low quality in terms of frame rate and resolution.",
|
||||
"videoTearing": "We expect your video to be pixelated or have visual artefacts."
|
||||
},
|
||||
"copyAndShare": "Copy & share meeting link",
|
||||
"dialInMeeting": "Dial into the meeting",
|
||||
"dialInPin": "Dial into the meeting and enter PIN code:",
|
||||
"dialing": "Dialing",
|
||||
"doNotShow": "Don't show this again",
|
||||
"errorDialOut": "Could not dial out",
|
||||
"errorDialOutDisconnected": "Could not dial out. Disconnected",
|
||||
"errorDialOutFailed": "Could not dial out. Call failed",
|
||||
"errorDialOutStatus": "Error getting dial out status",
|
||||
"errorMissingName": "Please enter your name to join the meeting",
|
||||
"errorStatusCode": "Error dialing out, status code: {{status}}",
|
||||
"errorValidation": "Number validation failed",
|
||||
"iWantToDialIn": "I want to dial in",
|
||||
"joinAudioByPhone": "Join with phone audio",
|
||||
"joinMeeting": "Join meeting",
|
||||
"joinWithoutAudio": "Join without audio",
|
||||
"initiated": "Call initiated",
|
||||
"linkCopied": "Link copied to clipboard",
|
||||
"lookGood": "It sounds like your microphone is working properly",
|
||||
"or": "or",
|
||||
"premeeting": "Pre meeting",
|
||||
"showScreen": "Enable pre meeting screen",
|
||||
"startWithPhone": "Start with phone audio",
|
||||
"screenSharingError": "Screen sharing error:",
|
||||
"videoOnlyError": "Video error:",
|
||||
"videoTrackError": "Could not create video track.",
|
||||
"viewAllNumbers": "view all numbers"
|
||||
},
|
||||
"presenceStatus": {
|
||||
"busy": "തിരക്ക്",
|
||||
"calling": "വിളിക്കുന്നു ...",
|
||||
"connected": "Connected",
|
||||
"connecting": "Connecting...",
|
||||
"connecting2": "Connecting*...",
|
||||
"disconnected": "Disconnected",
|
||||
"expired": "Expired",
|
||||
"ignored": "Ignored",
|
||||
"initializingCall": "Initializing Call...",
|
||||
"invited": "Invited",
|
||||
"rejected": "Rejected",
|
||||
"ringing": "Ringing..."
|
||||
},
|
||||
"profile": {
|
||||
"setDisplayNameLabel": "Set your display name",
|
||||
"setEmailInput": "Enter e-mail",
|
||||
"setEmailLabel": "Set your gravatar email",
|
||||
"title": "Profile"
|
||||
},
|
||||
"raisedHand": "Would like to speak",
|
||||
"recording": {
|
||||
"limitNotificationDescriptionWeb": "Due to high demand your recording will be limited to {{limit}} min. For unlimited recordings try <a href={{url}} rel='noopener noreferrer' target='_blank'>{{app}}</a>.",
|
||||
"limitNotificationDescriptionNative": "Due to high demand your recording will be limited to {{limit}} min. For unlimited recordings try <3>{{app}}</3>.",
|
||||
"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",
|
||||
"offBy": "{{name}} stopped the recording",
|
||||
"on": "Recording",
|
||||
"onBy": "{{name}} started the 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"
|
||||
},
|
||||
"security": {
|
||||
"about": "You can add a $t(lockRoomPassword) to your meeting. Participants will need to provide the $t(lockRoomPassword) before they are allowed to join the meeting.",
|
||||
"aboutReadOnly": "Moderator participants can add a $t(lockRoomPassword) to the meeting. Participants will need to provide the $t(lockRoomPassword) before they are allowed to join the meeting.",
|
||||
"insecureRoomNameWarning": "The room name is unsafe. Unwanted participants may join your conference. Consider securing your meeting using the security button.",
|
||||
"securityOptions": "Security options"
|
||||
},
|
||||
"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}}",
|
||||
"microphones": "Microphones",
|
||||
"moderator": "Moderator",
|
||||
"more": "More",
|
||||
"name": "Name",
|
||||
"noDevice": "None",
|
||||
"selectAudioOutput": "Audio output",
|
||||
"selectCamera": "Camera",
|
||||
"selectMic": "Microphone",
|
||||
"speakers": "Speakers",
|
||||
"startAudioMuted": "Everyone starts muted",
|
||||
"startVideoMuted": "Everyone starts hidden",
|
||||
"title": "Settings"
|
||||
},
|
||||
"settingsView": {
|
||||
"advanced": "Advanced",
|
||||
"alertOk": "OK",
|
||||
"alertCancel": "Cancel",
|
||||
"alertTitle": "Warning",
|
||||
"alertURLText": "The entered server URL is invalid",
|
||||
"buildInfoSection": "Build Information",
|
||||
"conferenceSection": "Conference",
|
||||
"disableCallIntegration": "Disable native call integration",
|
||||
"disableP2P": "Disable Peer-To-Peer mode",
|
||||
"disableCrashReporting": "Disable crash reporting",
|
||||
"disableCrashReportingWarning": "Are you sure you want to disable crash reporting? The setting will be applied after you restart the app.",
|
||||
"displayName": "Display name",
|
||||
"email": "Email",
|
||||
"header": "Settings",
|
||||
"profileSection": "Profile",
|
||||
"serverURL": "Server URL",
|
||||
"showAdvanced": "Show advanced settings",
|
||||
"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 video quality",
|
||||
"cc": "Toggle subtitles",
|
||||
"chat": "Toggle chat window",
|
||||
"document": "Toggle shared document",
|
||||
"download": "Download our apps",
|
||||
"embedMeeting": "Embed meeting",
|
||||
"feedback": "Leave feedback",
|
||||
"fullScreen": "Toggle full screen",
|
||||
"grantModerator": "Grant Moderator",
|
||||
"hangup": "Leave the call",
|
||||
"help": "Help",
|
||||
"invite": "Invite people",
|
||||
"kick": "Kick participant",
|
||||
"lobbyButton": "Enable/disable lobby mode",
|
||||
"localRecording": "Toggle local recording controls",
|
||||
"lockRoom": "Toggle meeting password",
|
||||
"moreActions": "Toggle more actions menu",
|
||||
"moreActionsMenu": "More actions menu",
|
||||
"moreOptions": "Show more options",
|
||||
"mute": "Toggle mute audio",
|
||||
"muteEveryone": "Mute everyone",
|
||||
"pip": "Toggle Picture-in-Picture mode",
|
||||
"privateMessage": "Send private message",
|
||||
"profile": "Edit your profile",
|
||||
"raiseHand": "Toggle raise hand",
|
||||
"recording": "Toggle recording",
|
||||
"remoteMute": "Mute participant",
|
||||
"security": "Security options",
|
||||
"Settings": "Toggle settings",
|
||||
"sharedvideo": "Toggle Youtube video sharing",
|
||||
"shareRoom": "Invite someone",
|
||||
"shareYourScreen": "Toggle screenshare",
|
||||
"shortcuts": "Toggle shortcuts",
|
||||
"show": "Show on stage",
|
||||
"speakerStats": "Toggle speaker statistics",
|
||||
"tileView": "Toggle tile view",
|
||||
"toggleCamera": "Toggle camera",
|
||||
"toggleFilmstrip": "Toggle filmstrip",
|
||||
"videomute": "Toggle mute video",
|
||||
"videoblur": "Toggle video blur"
|
||||
},
|
||||
"addPeople": "Add people to your call",
|
||||
"audioOnlyOff": "Disable low bandwidth mode",
|
||||
"audioOnlyOn": "Enable low bandwidth mode",
|
||||
"audioRoute": "Select the sound device",
|
||||
"authenticate": "Authenticate",
|
||||
"callQuality": "Manage video quality",
|
||||
"chat": "Open / Close chat",
|
||||
"closeChat": "Close chat",
|
||||
"documentClose": "Close shared document",
|
||||
"documentOpen": "Open shared document",
|
||||
"download": "Download our apps",
|
||||
"e2ee": "End-to-End Encryption",
|
||||
"embedMeeting": "Embed meeting",
|
||||
"enterFullScreen": "View full screen",
|
||||
"enterTileView": "Enter tile view",
|
||||
"exitFullScreen": "Exit full screen",
|
||||
"exitTileView": "Exit tile view",
|
||||
"feedback": "Leave feedback",
|
||||
"hangup": "Leave",
|
||||
"help": "Help",
|
||||
"invite": "Invite people",
|
||||
"lobbyButtonDisable": "Disable lobby mode",
|
||||
"lobbyButtonEnable": "Enable lobby mode",
|
||||
"login": "Login",
|
||||
"logout": "Logout",
|
||||
"lowerYourHand": "Lower your hand",
|
||||
"moreActions": "More actions",
|
||||
"moreOptions": "More options",
|
||||
"mute": "Mute / Unmute",
|
||||
"muteEveryone": "Mute everyone",
|
||||
"noAudioSignalTitle": "There is no input coming from your mic!",
|
||||
"noAudioSignalDesc": "If you did not purposely mute it from system settings or hardware, consider switching the device.",
|
||||
"noAudioSignalDescSuggestion": "If you did not purposely mute it from system settings or hardware, consider switching to the suggested device.",
|
||||
"noAudioSignalDialInDesc": "You can also dial-in using:",
|
||||
"noAudioSignalDialInLinkDesc": "Dial-in numbers",
|
||||
"noisyAudioInputTitle": "Your microphone appears to be noisy!",
|
||||
"noisyAudioInputDesc": "It sounds like your microphone is making noise, please consider muting or changing the device.",
|
||||
"openChat": "Open chat",
|
||||
"pip": "Enter Picture-in-Picture mode",
|
||||
"privateMessage": "Send private message",
|
||||
"profile": "Edit your profile",
|
||||
"raiseHand": "Raise / Lower your hand",
|
||||
"raiseYourHand": "Raise your hand",
|
||||
"security": "Security options",
|
||||
"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": "Blur my background",
|
||||
"stopvideoblur": "Disable background blur"
|
||||
},
|
||||
"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 low bandwidth mode. In this mode you will receive only audio and screen sharing.",
|
||||
"callQuality": "Video Quality",
|
||||
"hd": "HD",
|
||||
"hdTooltip": "Viewing high definition video",
|
||||
"highDefinition": "High definition",
|
||||
"labelTooiltipNoVideo": "No video",
|
||||
"labelTooltipAudioOnly": "Low bandwidth mode enabled",
|
||||
"ld": "LD",
|
||||
"ldTooltip": "Viewing low definition video",
|
||||
"lowDefinition": "Low definition",
|
||||
"onlyAudioAvailable": "Only audio is available",
|
||||
"onlyAudioSupported": "We only support audio in this browser.",
|
||||
"sd": "SD",
|
||||
"sdTooltip": "Viewing standard definition video",
|
||||
"standardDefinition": "Standard definition"
|
||||
},
|
||||
"videothumbnail": {
|
||||
"domute": "Mute",
|
||||
"domuteOthers": "Mute everyone else",
|
||||
"flip": "Flip",
|
||||
"grantModerator": "Grant Moderator",
|
||||
"kick": "Kick out",
|
||||
"moderator": "Moderator",
|
||||
"mute": "Participant is muted",
|
||||
"muted": "Muted",
|
||||
"remoteControl": "Start / Stop remote control",
|
||||
"show": "Show on stage",
|
||||
"videomute": "Participant 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": "Connect your calendar to view all your meetings in {{app}}. Plus, add {{provider}} meetings to your calendar and start them with one click.",
|
||||
"enterRoomTitle": "Start a new meeting",
|
||||
"getHelp": "Get help",
|
||||
"go": "GO",
|
||||
"goSmall": "GO",
|
||||
"info": "Info",
|
||||
"join": "CREATE / JOIN",
|
||||
"moderatedMessage": "Or <a href=\"{{url}}\" rel=\"noopener noreferrer\" target=\"_blank\">book a meeting URL</a> in advance where you are the only moderator.",
|
||||
"privacy": "സ്വകാര്യത",
|
||||
"recentList": "സമീപകാലം",
|
||||
"recentListDelete": "ഇല്ലാതാക്കുക",
|
||||
"recentListEmpty": "Your recent list is currently empty. Chat with your team and you will find all your recent meetings here.",
|
||||
"reducedUIText": "Welcome to {{app}}!",
|
||||
"roomNameAllowedChars": "Meeting name should not contain any of these characters: ?, &, :, ', \", %, #.",
|
||||
"roomname": "റൂമിന്റെ പേര് നൽകുക",
|
||||
"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": "ഫീഡ്ബാക്ക് അയയ്ക്കുക",
|
||||
"terms": "നിബന്ധനകൾ",
|
||||
"title": "സുരക്ഷിതവും പൂർണ്ണമായും സൗജന്യ വീഡിയോ കോൺഫറൻസിംഗും"
|
||||
},
|
||||
"lonelyMeetingExperience": {
|
||||
"button": "മറ്റുള്ളവരെ ക്ഷണിക്കുക",
|
||||
"youAreAlone": "മീറ്റിംഗിൽ നിങ്ങൾ മാത്രമേയുള്ളൂ "
|
||||
},
|
||||
"helpView": {
|
||||
"header": "സഹായകേന്ദ്രം"
|
||||
},
|
||||
"lobby": {
|
||||
"knockingParticipantList": "Knocking participant list",
|
||||
"allow": "അനുവദിക്കുക",
|
||||
"backToKnockModeButton": "പാസ്വേഡ് ഇല്ല, പകരം ചേരാൻ ആവശ്യപ്പെടുക",
|
||||
"dialogTitle": "ലോബി മോഡ്",
|
||||
"disableDialogContent": "ലോബി മോഡ് നിലവിൽ പ്രാപ്തമാക്കി. അനാവശ്യ പങ്കാളികൾക്ക് നിങ്ങളുടെ മീറ്റിംഗിൽ ചേരാനാവില്ലെന്ന് ഈ സവിശേഷത ഉറപ്പാക്കുന്നു. ഇത് പ്രവർത്തനരഹിതമാക്കാൻ നിങ്ങൾ ആഗ്രഹിക്കുന്നുണ്ടോ?",
|
||||
"disableDialogSubmit": "പ്രവർത്തനരഹിതമാക്കുക",
|
||||
"emailField": "നിങ്ങളുടെ ഇമെയിൽ വിലാസം നൽകുക",
|
||||
"enableDialogPasswordField": "പാസ്വേഡ് സജ്ജമാക്കുക (ഓപ്ഷണൽ)",
|
||||
"enableDialogSubmit": "പ്രവർത്തനക്ഷമമാക്കുക",
|
||||
"enableDialogText": "Lobby mode lets you protect your meeting by only allowing people to enter after a formal approval by a moderator.",
|
||||
"enterPasswordButton": "മീറ്റിംഗ് പാസ്വേഡ് നൽകുക ",
|
||||
"enterPasswordTitle": "മീറ്റിംഗിൽ ചേരാൻ പാസ്വേഡ് നൽകുക",
|
||||
"invalidPassword": "പാസ്വേഡ് അസാധുവാണ്",
|
||||
"joiningMessage": "ആരെങ്കിലും നിങ്ങളുടെ അഭ്യർത്ഥന സ്വീകരിച്ചാലുടൻ നിങ്ങൾ മീറ്റിംഗിൽ ചേരും",
|
||||
"joinWithPasswordMessage": "പാസ്വേഡുമായി ചേരാൻ ശ്രമിക്കുന്നു, ദയവായി കാത്തിരിക്കുക ...",
|
||||
"joinRejectedMessage": "നിങ്ങളുടെ ചേരൽ അഭ്യർത്ഥന ഒരു മോഡറേറ്റർ നിരസിച്ചു.",
|
||||
"joinTitle": "മീറ്റിംഗിൽ ചേരുക",
|
||||
"joiningTitle": "മീറ്റിംഗിൽ ചേരാൻ ആവശ്യപ്പെടുന്നു ...",
|
||||
"joiningWithPasswordTitle": "പാസ്വേഡുമായി ചേരുന്നു ...",
|
||||
"knockButton": "ചേരാൻ ആവശ്യപ്പെടുക",
|
||||
"knockTitle": "ആരോ മീറ്റിംഗിൽ ചേരാൻ ശ്രമിക്കുന്നു ",
|
||||
"nameField": "നിങ്ങളുടെ പേര് നൽകുക",
|
||||
"notificationLobbyAccessDenied": "{{targetParticipantName}} has been rejected to join by {{originParticipantName}}",
|
||||
"notificationLobbyAccessGranted": "{{targetParticipantName}} has been allowed to join by {{originParticipantName}}",
|
||||
"notificationLobbyDisabled": "Lobby has been disabled by {{originParticipantName}}",
|
||||
"notificationLobbyEnabled": "{{originParticipantName}} ലോബി പ്രാപ്തമാക്കി",
|
||||
"notificationTitle": "ലോബി",
|
||||
"passwordField": "മീറ്റിംഗ് പാസ്വേഡ് നൽകുക",
|
||||
"passwordJoinButton": "ചേരുക",
|
||||
"reject": "നിരസിക്കുക",
|
||||
"toggleLabel": "ലോബി പ്രവർത്തനക്ഷമമാക്കുക"
|
||||
}
|
||||
}
|
||||
@@ -104,7 +104,7 @@
|
||||
},
|
||||
"deepLinking": {
|
||||
"downloadApp": "Last ned programmet",
|
||||
"openApp": "Fortsett til programmet",
|
||||
"openApp": "Fortsett til programmet"
|
||||
},
|
||||
"defaultLink": "f.eks.",
|
||||
"deviceError": {
|
||||
|
||||
@@ -122,7 +122,13 @@
|
||||
"status": "Connexion :",
|
||||
"transport": "Transpòrt :",
|
||||
"transport_plural": "Transpòrts :",
|
||||
"e2e_rtt": "E2E RTT :"
|
||||
"e2e_rtt": "E2E RTT :",
|
||||
"codecs": "Codecs (A/V) : ",
|
||||
"video_ssrc": "Vidèo SSRC :",
|
||||
"maxEnabledResolution": "enviar max",
|
||||
"savelogs": "Enregistrar jornals",
|
||||
"participant_id": "Id participant :",
|
||||
"audio_ssrc": "Àudio SSRC :"
|
||||
},
|
||||
"dateUtils": {
|
||||
"earlier": "Mai d’ora",
|
||||
@@ -295,7 +301,20 @@
|
||||
"muteEveryoneSelf": "vos",
|
||||
"muteEveryoneTitle": "Rendre mut tot lo monde ?",
|
||||
"muteEveryoneDialog": "Volètz vertadièrament copar lo son a tot lo monde ? Poiretz pas lo restablir, mas eles poiràn o far quora que vòlgan.",
|
||||
"muteEveryoneElseTitle": "Copar lo son a totes levat {{whom}} ?"
|
||||
"muteEveryoneElseTitle": "Copar lo son a totes levat {{whom}} ?",
|
||||
"add": "Ajustar",
|
||||
"copied": "Copiat",
|
||||
"grantModeratorDialog": "Volètz vertadièrament far venir aqueste participant moderator ?",
|
||||
"readMore": "mai",
|
||||
"recordingDisabledBecauseOfActiveLiveStreamingTooltip": "Impossible pendent una difusion activa",
|
||||
"screenSharingFailedTitle": "Fracàs del partiment d'ecran !",
|
||||
"e2eeLabel": "Activar lo chiframant del cap a la fin",
|
||||
"grantModeratorTitle": "Passar moderator",
|
||||
"liveStreamingDisabledBecauseOfActiveRecordingTooltip": "Impossible pendent un enregistrament actiu",
|
||||
"e2eeDescription": "Lo chiframent del cap a la fin es actualament EXPERIMENTALA. Mercés de gardar a l'esperit qu'activar lo chiframent del cap a la fin desactivarà en efièch los servicis costat servidor coma : l'enregistrament, la difusion en dirècte e las participacions telefonicas. Remembratz tanben que la conferéncia foncionarà pas que per lo monde que participan amb un navigador compatible amb los fluxes inseribles.",
|
||||
"screenSharingFailed": "Ops ! Quicòm a trucat, avèm pas pogut començar lo partiment d'ecran!",
|
||||
"e2eeWarning": "AVERTIMENT : pas totes los participants d'aquesta conferéncia semblan poder suportar lo chiframent del cap a la fin. Se l'activatz poiràn pas vos veire nimai vos entendre.",
|
||||
"muteEveryoneElseDialog": "Un còp mut, poiretz pas mai lo tornar la paraula, mas la se pòdon tornar quora vòlgan."
|
||||
},
|
||||
"dialOut": {
|
||||
"statusMessage": "ara es {{status}}"
|
||||
@@ -410,7 +429,9 @@
|
||||
"streamIdHelp": "Qu’es aquò ?",
|
||||
"unavailableTitle": "Difusion en dirècte indisponibla",
|
||||
"googlePrivacyPolicy": "Politica de confidencialitat de Google",
|
||||
"youtubeTerms": "Condicions d’utilizacion de YouTube"
|
||||
"youtubeTerms": "Condicions d’utilizacion de YouTube",
|
||||
"limitNotificationDescriptionWeb": "A causa d'una brava demanda vòstra difusion serà limitada a {{limit}} min. Per de difusion illimitada ensajatz <a href={{url}} rel='noopener noreferrer' target='_blank'>{{app}}</a>.",
|
||||
"limitNotificationDescriptionNative": "Vòstra difusion serà limitada a {{limit}} min. Per de difusions illimitada ensajatz {{app}}."
|
||||
},
|
||||
"localRecording": {
|
||||
"clientState": {
|
||||
@@ -642,7 +663,10 @@
|
||||
"muteEveryone": "Rendre mut tot lo monde",
|
||||
"moreOptions": "Mostrar mai d’opcions",
|
||||
"e2ee": "Chiframent del cap a la fin",
|
||||
"security": "Opcions de seguretat"
|
||||
"security": "Opcions de seguretat",
|
||||
"embedMeeting": "Conferéncia integrada",
|
||||
"grantModerator": "Passar moderator",
|
||||
"lobbyButton": "Activar/Desactivar mòde sala d'espèra"
|
||||
},
|
||||
"addPeople": "Ajustar de monde a vòstra sonada",
|
||||
"audioOnlyOff": "Desactivar lo mòde connexion febla",
|
||||
@@ -693,14 +717,17 @@
|
||||
"videomute": "Aviar / Arrestar la camèra",
|
||||
"startvideoblur": "Trebolar mon rèire-plan",
|
||||
"stopvideoblur": "Desactivar lo borrolatge del rèire-plan",
|
||||
"noisyAudioInputDesc": "",
|
||||
"noisyAudioInputDesc": "Sembla que vòstre microfòn mene bruch, pensatz de lo copar o de lo cambiar.",
|
||||
"noisyAudioInputTitle": "Vòstre microfòn sembla brusent !",
|
||||
"noAudioSignalDialInLinkDesc": "",
|
||||
"noAudioSignalDialInDesc": "",
|
||||
"muteEveryone": "Rendre mut tot lo monde",
|
||||
"moreOptions": "Autras opcions",
|
||||
"e2ee": "Chiframent del cap a la fin",
|
||||
"security": "Opcions de seguretat"
|
||||
"security": "Opcions de seguretat",
|
||||
"embedMeeting": "Integrar conferéncia",
|
||||
"lobbyButtonDisable": "Desactivar lo mòde sala d'espèra",
|
||||
"lobbyButtonEnable": "Activar mòde sala d'espèra"
|
||||
},
|
||||
"transcribing": {
|
||||
"ccButtonTooltip": "Aviar / Arrestat los sostítols",
|
||||
@@ -795,7 +822,12 @@
|
||||
"sendFeedback": "Mandar vòstra opinion",
|
||||
"terms": "Tèrmes",
|
||||
"title": "Conferéncias vidèo securizadas amb plen de foncionalitats e complètament gratuitas",
|
||||
"getHelp": "Obténer d’ajuda"
|
||||
"getHelp": "Obténer d’ajuda",
|
||||
"startMeeting": "Començar la reünion",
|
||||
"jitsiOnMobile": "Jitsi sus mobil –telecargatz nòstra aplicacion e començatz de conferéncias de pertot",
|
||||
"moderatedMessage": "O <a href=\"{{url}}\" rel=\"noopener noreferrer\" target=\"_blank\">reservatz una URL de conferéncia</a> a l'avança ont sètz l'unic moderator.",
|
||||
"jitsiMeet": "Jitsi Meet",
|
||||
"secureMeetings": "Conferéncias seguras e de nauta qualitat"
|
||||
},
|
||||
"helpView": {
|
||||
"header": "Centre d’ajuda"
|
||||
@@ -832,7 +864,27 @@
|
||||
"initiated": "Sonada aviada",
|
||||
"joinWithoutAudio": "Rejónher sens àudio",
|
||||
"joinMeeting": "Rejónher la conferéncia",
|
||||
"joinAudioByPhone": "Rejónher amb l’àudio del telefòn"
|
||||
"joinAudioByPhone": "Rejónher amb l’àudio del telefòn",
|
||||
"audioDeviceProblem": "I a un problèma amb vòstre periferic àudio",
|
||||
"showScreen": "Activar l'ecran de preconferéncia",
|
||||
"connection": {
|
||||
"good": "Vòstra connexion Internet sembla bona !",
|
||||
"nonOptimal": "Vòstra connexion Internet es pas optimala",
|
||||
"poor": "Vòstra connexion Internet es febla"
|
||||
},
|
||||
"connectionDetails": {
|
||||
"videoHighQuality": "Nos esperam a trobar vòstra qualitat vidèo de bona qualitat.",
|
||||
"audioClipping": "Nos esperam a trobar vòstre àudio troncat.",
|
||||
"audioHighQuality": "Nos esperam a trobar vòstra qualitat àudio excellenta.",
|
||||
"audioLowNoVideo": "Nos esperam a trobar vòstra qualitat àudio febla e cap de vidèo.",
|
||||
"goodQuality": "Crane ! Vòstra qualitat serà geniala.",
|
||||
"noMediaConnectivity": "Avèm pas trobat cap de biais d'establir una connectivitat mèdia per aquesta pròva. Sovent es a causat d'un parafòc o un NAT.",
|
||||
"noVideo": "Nos esperam a trobat vòstra qualitat vidèo òrra.",
|
||||
"veryPoorConnection": "Nos esperam a trobar vòstra qualitat vidèo plan òrra.",
|
||||
"videoFreezing": "Nos esperam a veire vòstra vidèo se gelar, venir negra e se pixelizar."
|
||||
},
|
||||
"premeeting": "Preconferéncia",
|
||||
"errorMissingName": "Mercés de picar vòstre nom per rejónher la conferéncia"
|
||||
},
|
||||
"lobby": {
|
||||
"reject": "Regetar",
|
||||
@@ -855,7 +907,15 @@
|
||||
"emailField": "Picata vòstra adreça electronica",
|
||||
"disableDialogSubmit": "Desactivar",
|
||||
"backToKnockModeButton": "Cap de senhal, demandar a participar a la plaça",
|
||||
"allow": "Autorizar"
|
||||
"allow": "Autorizar",
|
||||
"knockingParticipantList": "Lista de participants en espèra",
|
||||
"dialogTitle": "Mòde sala d'espèra",
|
||||
"notificationLobbyDisabled": "Lo mòde sala d'espèra es estat desactivat per {{originParticipantName}}",
|
||||
"notificationLobbyEnabled": "Lo mòde sala d'espèra activat per {{originParticipantName}}",
|
||||
"notificationTitle": "Sala d'espèra",
|
||||
"toggleLabel": "Activar la sala d'espèra",
|
||||
"notificationLobbyAccessDenied": "{{originParticipantName}} a decidit de regetar la demanda de {{targetParticipantName}}",
|
||||
"notificationLobbyAccessGranted": "{{originParticipantName}} a autorizat {{targetParticipantName}} a dintrar"
|
||||
},
|
||||
"security": {
|
||||
"securityOptions": "Opcions de seguretat",
|
||||
@@ -865,7 +925,8 @@
|
||||
},
|
||||
"e2ee": {
|
||||
"labelToolTip": "La comunicacion àudio e vidèo d’aquesta sonada es chifrada del cap a la fin"
|
||||
},
|
||||
"embedMeeting": {
|
||||
"title": "Integrar aquesta conferéncia"
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -1,21 +1,36 @@
|
||||
{
|
||||
"addPeople": {
|
||||
"add": "Convidar",
|
||||
"addContacts": "Convide seus contatos",
|
||||
"copyInvite": "Copiar convite da reunião",
|
||||
"copyLink": "Copiar link da reunião",
|
||||
"copyStream": "Copiar link da transmissão ao vivo",
|
||||
"countryNotSupported": "Ainda não suportamos este destino.",
|
||||
"countryReminder": "Ligando de fora dos EUA? Por favor, certifique-se de começar com o código do país!",
|
||||
"defaultEmail": "Seu email padrão",
|
||||
"disabled": "Você não pode convidar pessoas.",
|
||||
"failedToAdd": "Falha em adicionar participantes",
|
||||
"footerText": "Discagem está desativada.",
|
||||
"googleEmail": "E-mail Google",
|
||||
"inviteMoreHeader": "Você é o único na reunião",
|
||||
"inviteMoreMailSubject": "Entre na reunião {{appName}}",
|
||||
"inviteMorePrompt": "Convide mais pessoas",
|
||||
"linkCopied": "Link copiado para a área de transferência",
|
||||
"loading": "Procurando por pessoas e números de telefone",
|
||||
"loadingNumber": "Validando o número de telefone",
|
||||
"loadingPeople": "Procurando por pessoas para convidar",
|
||||
"noResults": "Nenhum resultado de busca correspondente",
|
||||
"noValidNumbers": "Por favor, digite um número de telefone",
|
||||
"outlookEmail": "E-mail Outlook ",
|
||||
"searchNumbers": "Adicionar números de telefone",
|
||||
"searchPeople": "Pesquisar pessoas",
|
||||
"searchPeopleAndNumbers": "Pesquisar por pessoas ou adicionar seus números de telefone",
|
||||
"shareInvite": "Compartilhar convite da reunião",
|
||||
"shareLink": "Compartilhando o link da reunião",
|
||||
"shareStream": "Compartilhar o link da transmissão ao vivo",
|
||||
"telephone": "Telefone: {{number}}",
|
||||
"title": "Convide pessoas para sua reunião"
|
||||
"title": "Convide pessoas para sua reunião",
|
||||
"yahooEmail": "E-mail Yahoo"
|
||||
},
|
||||
"audioDevices": {
|
||||
"bluetooth": "Bluetooth",
|
||||
@@ -59,6 +74,11 @@
|
||||
"title": "Bate-papo",
|
||||
"you": "você"
|
||||
},
|
||||
"chromeExtensionBanner": {
|
||||
"installExtensionText": "Instale a extensão para integrar com Google Calendar e Office 365",
|
||||
"buttonText": "Instalar extensão do Chrome",
|
||||
"dontShowAgain": "Não me mostre isso de novo"
|
||||
},
|
||||
"connectingOverlay": {
|
||||
"joiningRoom": "Conectando você à reunião…"
|
||||
},
|
||||
@@ -72,24 +92,27 @@
|
||||
"DISCONNECTED": "Desconectado",
|
||||
"DISCONNECTING": "Desconectando",
|
||||
"ERROR": "Erro",
|
||||
"RECONNECTING": "Ocorreu um problema de rede. Reconectando...",
|
||||
"LOW_BANDWIDTH": "O vídeo de {{displayName}} foi desativado para economizar largura de banda",
|
||||
"GOT_SESSION_ID": "Obtendo ID da sessão... Feito",
|
||||
"FETCH_SESSION_ID": "Obtendo ID da sessão...",
|
||||
"GET_SESSION_ID_ERROR": "Erro ao obter o ID da sessão: {{code}}",
|
||||
"FETCH_SESSION_ID": "Obtendo ID da sessão..."
|
||||
"GOT_SESSION_ID": "Obtendo ID da sessão... Feito",
|
||||
"LOW_BANDWIDTH": "O vídeo de {{displayName}} foi desativado para economizar largura de banda"
|
||||
},
|
||||
"connectionindicator": {
|
||||
"address": "Endereço:",
|
||||
"audio_ssrc": "Aúdio SSRC:",
|
||||
"bandwidth": "Largura de banda estimada:",
|
||||
"bitrate": "Taxa de bits:",
|
||||
"bridgeCount": "Servidores: ",
|
||||
"codecs": "Codecs (A/V): ",
|
||||
"connectedTo": "Conectado a:",
|
||||
"e2e_rtt": "E2E RTT:",
|
||||
"framerate": "Taxa de quadros:",
|
||||
"less": "Mostrar menos",
|
||||
"localaddress": "Endereço local:",
|
||||
"localaddress_plural": "Endereços locais:",
|
||||
"localport": "Porta local:",
|
||||
"localport_plural": "Portas locais:",
|
||||
"maxEnabledResolution": "envio máx",
|
||||
"more": "Mostrar mais",
|
||||
"packetloss": "Perda de pacote:",
|
||||
"quality": {
|
||||
@@ -104,10 +127,12 @@
|
||||
"remoteport": "Porta remota:",
|
||||
"remoteport_plural": "Portas remotas:",
|
||||
"resolution": "Resolução:",
|
||||
"savelogs": "Grave os logs",
|
||||
"participant_id": "Id participante:",
|
||||
"status": "Conexão:",
|
||||
"transport": "Transporte:",
|
||||
"transport_plural": "Transportes:",
|
||||
"e2e_rtt": "E2E RTT:"
|
||||
"video_ssrc": "Video SSRC:"
|
||||
},
|
||||
"dateUtils": {
|
||||
"earlier": "Mais cedo",
|
||||
@@ -119,8 +144,10 @@
|
||||
"description": "Nada acontece? Estamos tentando iniciar sua reunião no aplicativo desktop {{app}}. Tente novamente ou inicie ele na aplicação web {{app}}.",
|
||||
"descriptionWithoutWeb": "Nada aconteceu? Tentamos iniciar sua reunião no aplicativo de desktop {{app}}.",
|
||||
"downloadApp": "Baixe o Aplicativo",
|
||||
"ifDoNotHaveApp": "Se você não tem o app ainda:",
|
||||
"ifHaveApp": "Se você já tem o app:",
|
||||
"joinInApp": "Entrar na reunião usando o app",
|
||||
"launchWebButton": "Iniciar na web",
|
||||
"openApp": "Continue na aplicação",
|
||||
"title": "Iniciando sua reunião no {{app}}...",
|
||||
"tryAgainButton": "Tente novamente no desktop"
|
||||
},
|
||||
@@ -142,6 +169,7 @@
|
||||
"accessibilityLabel": {
|
||||
"liveStreaming": "Transmissão ao vivo"
|
||||
},
|
||||
"add": "Adicionar",
|
||||
"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",
|
||||
@@ -167,21 +195,22 @@
|
||||
"connectErrorWithMsg": "Oops! Alguma coisa está errada e não podemos conectar à conferência: {{msg}}",
|
||||
"connecting": "Conectando",
|
||||
"contactSupport": "Contate o suporte",
|
||||
"copied": "Copiado",
|
||||
"copy": "Copiar",
|
||||
"dismiss": "Dispensar",
|
||||
"displayNameRequired": "Oi! Qual o seu nome?",
|
||||
"done": "Feito",
|
||||
"e2eeDescription": "Encriptação ponto-a-ponto é, no momento, EXPERIMENTAL. Por favor tenha em mente que habilitar a encriptação ponto-a-ponto irá desativar os serviços disponíveis no servidor como: gravação, transmissão ao vivo e telefonar participantes. Além disso a reunião só irá funcionar para os participantes entrando em browsers com suporte a funcionalidade.",
|
||||
"e2eeLabel": "Enable End-to-End Encryption",
|
||||
"e2eeWarning": "WARNING: Not all participants in this meeting seem to have support for End-to-End encryption. If you enable it they won't be able to see nor hear you.",
|
||||
"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.",
|
||||
"gracefulShutdown": "Nosso serviço está em manutenção. Tente novamente mais tarde.",
|
||||
"grantModeratorDialog": "Tem certeza que quer participar como moderador da reunião?",
|
||||
"grantModeratorTitle": "Permitir moderador",
|
||||
"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.",
|
||||
@@ -190,6 +219,7 @@
|
||||
"kickParticipantTitle": "Chutar este participante?",
|
||||
"kickTitle": "Ai! {{participantDisplayName}} expulsou você da reunião",
|
||||
"liveStreaming": "Transmissão ao Vivo",
|
||||
"liveStreamingDisabledBecauseOfActiveRecordingTooltip": "Não é possível transmitir enquanto a gravação está ativa",
|
||||
"liveStreamingDisabledForGuestTooltip": "Visitantes não podem iniciar transmissão ao vivo.",
|
||||
"liveStreamingDisabledTooltip": "Iniciar transmissão ao vivo desativada.",
|
||||
"lockMessage": "Falha ao travar a conferência.",
|
||||
@@ -205,6 +235,12 @@
|
||||
"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.",
|
||||
"muteEveryoneElseDialog": "Uma vez silenciados, você não poderá reativar o som deles, mas eles poderão reativar o som a qualquer momento.",
|
||||
"muteEveryoneElseTitle": "Silenciar todo mundo exceto {{whom}}?",
|
||||
"muteEveryoneDialog": "Tem certeza que deseja silenciar todos? Você não poderá ativar o som deles, mas eles podem ativar o som eles mesmo a qualquer momento.",
|
||||
"muteEveryoneTitle": "Silenciar todos?",
|
||||
"muteEveryoneSelf": "a si próprio",
|
||||
"muteEveryoneStartMuted": "Todos iniciam silenciados daqui para frente",
|
||||
"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.",
|
||||
@@ -216,7 +252,9 @@
|
||||
"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",
|
||||
"readMore": "mais...",
|
||||
"recording": "Gravando",
|
||||
"recordingDisabledBecauseOfActiveLiveStreamingTooltip": "Não é possível transmitir enquanto a gravação está ativa",
|
||||
"recordingDisabledForGuestTooltip": "Visitantes não podem iniciar gravações.",
|
||||
"recordingDisabledTooltip": "Iniciar gravação desativada.",
|
||||
"rejoinNow": "Reconectar agora",
|
||||
@@ -228,16 +266,15 @@
|
||||
"remoteControlStopMessage": "A sessão de controle remoto terminou!",
|
||||
"remoteControlTitle": "Conexão de área de trabalho remota",
|
||||
"Remove": "Remover",
|
||||
"removePassword": "Remove $t(lockRoomPassword)",
|
||||
"removePassword": "Remover $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!",
|
||||
"screenSharingAudio": "Compartilha áudio",
|
||||
"screenSharingFailed": "Oops! Alguma coisa de errado aconteceu, não é possível habilitar o compartilhamento de tela!",
|
||||
"screenSharingFailedTitle": "Falha ao compartilhar a 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",
|
||||
@@ -271,21 +308,20 @@
|
||||
"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 anfitrião...",
|
||||
"Yes": "Sim",
|
||||
"yourEntireScreen": "Toda sua tela",
|
||||
"screenSharingAudio": "Compartilhar áudio",
|
||||
"muteEveryoneStartMuted": "Todos iniciam silenciados daqui para frente",
|
||||
"muteEveryoneSelf": "a si próprio",
|
||||
"muteEveryoneDialog": "Tem certeza que deseja silenciar todos? Você não poderá ativar o som deles, mas eles podem ativar o som eles mesmo a qualquer momento.",
|
||||
"muteEveryoneTitle": "Silenciar todos?",
|
||||
"muteEveryoneElseTitle": "Silenciar todo mundo exceto {{whom}}?",
|
||||
"muteEveryoneElseDialog": "Uma vez silenciados, você não poderá reativar o som deles, mas eles poderão reativar o som a qualquer momento."
|
||||
},
|
||||
"yourEntireScreen": "Toda sua tela"
|
||||
},
|
||||
"dialOut": {
|
||||
"statusMessage": "está agora {{status}}"
|
||||
},
|
||||
"documentSharing": {
|
||||
"title": "Documento compartilhado"
|
||||
},
|
||||
"e2ee": {
|
||||
"labelToolTip": "Comunição de áudio e vídeo da reunião encriptados ponto a ponto"
|
||||
},
|
||||
"embedMeeting": {
|
||||
"title": "Reunião em formato compacto"
|
||||
},
|
||||
"feedback": {
|
||||
"average": "Média",
|
||||
"bad": "Ruim",
|
||||
@@ -364,6 +400,8 @@
|
||||
"videoQuality": "Gerenciar qualidade da chamada"
|
||||
},
|
||||
"liveStreaming": {
|
||||
"limitNotificationDescriptionWeb": "Devido a alta demanda sua transmissão será limitada a {{limit}} minutos. Para transmissão ilimitada tente <a href={{url}} rel='noopener noreferrer' target='_blank'>{{app}}</a>.",
|
||||
"limitNotificationDescriptionNative": "Sua transmissão será limitada a {{limit}} minutos. Para transmissão ilimitada tente {{app}}.",
|
||||
"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.",
|
||||
@@ -392,8 +430,8 @@
|
||||
"start": "Iniciar uma transmissão ao vivo",
|
||||
"streamIdHelp": "O que é isso?",
|
||||
"unavailableTitle": "Transmissão ao vivo indisponível",
|
||||
"googlePrivacyPolicy": "Política de Privacidade do Google",
|
||||
"youtubeTerms": "Termos de serviços do YouTube"
|
||||
"youtubeTerms": "Termos de serviços do YouTube",
|
||||
"googlePrivacyPolicy": "Política de Privacidade do Google"
|
||||
},
|
||||
"localRecording": {
|
||||
"clientState": {
|
||||
@@ -456,11 +494,72 @@
|
||||
"unmute": "Ativar som",
|
||||
"newDeviceCameraTitle": "Nova câmera detectada",
|
||||
"newDeviceAudioTitle": "Novo dispositivo de áudio detectado",
|
||||
"newDeviceAction": "Usar"
|
||||
"newDeviceAction": "Usar",
|
||||
"OldElectronAPPTitle": "Vulnerabilidade de segurança!",
|
||||
"oldElectronClientDescription1": "Você está usando um versão antiga do cliente Jitsi Meet que possui uma conhecida vulnerabilidade de segurança. Por favor tenha certeza de atulizar para a nossa ",
|
||||
"oldElectronClientDescription2": "última versão",
|
||||
"oldElectronClientDescription3": " agora!"
|
||||
},
|
||||
"passwordSetRemotely": "Definido por outro participante",
|
||||
"passwordDigitsOnly": "Até {{number}} dígitos",
|
||||
"poweredby": "distribuído por",
|
||||
"prejoin": {
|
||||
"audioAndVideoError": "Erro de áudio e vídeo error:",
|
||||
"audioDeviceProblem": "Tem um problema com seu dispositivo de áudio",
|
||||
"audioOnlyError": "Erro de áudio:",
|
||||
"audioTrackError": "Não é possível criar a faixa de áudio.",
|
||||
"calling": "Ligando",
|
||||
"callMe": "Me ligue",
|
||||
"callMeAtNumber": "Me ligue nesse número:",
|
||||
"configuringDevices": "Configurando dispositivos...",
|
||||
"connectedWithAudioQ": "Você está conectado com áudio?",
|
||||
"connection": {
|
||||
"good": "Sua conexão com a internet parece boa!",
|
||||
"nonOptimal": "Sua conexão com a internet não é boa",
|
||||
"poor": "Você tem uma conexão a internet ruim"
|
||||
},
|
||||
"connectionDetails": {
|
||||
"audioClipping": "Espera-se um áudio que pique.",
|
||||
"audioHighQuality": "Espera-se um áudio de excelente qualidade.",
|
||||
"audioLowNoVideo": "Espera-se uma qualidade baixa de áudio e sem vídeo.",
|
||||
"goodQuality": "Muito bom! Qualidade da mídia será muito boa.",
|
||||
"noMediaConnectivity": "Não conseguimos estabelcer conexão com as mídias para o teste. Normalmente é um problema de firewall ou NAT.",
|
||||
"noVideo": "Espera-se um vídeo de qualidade ruim.",
|
||||
"undetectable": "Se você continuar fazendo a chamada no browser, recomenda-se que o alto-falante, microfones e câmera estejam corretamente configurados, que você permitiu que o browser acesse seu microfone e câmera, e o browser esteja atualizado. Se ainda assim tenha problemas na chamada, contacte o desenvolvedor da aplicação.",
|
||||
"veryPoorConnection": "Espera-se que a qualidade da chamada seja ruim.",
|
||||
"videoFreezing": "Espera-se um vídeo congelado, preto ou pixelado.",
|
||||
"videoHighQuality": "Espera-se um vídeo de boa qualidade.",
|
||||
"videoLowQuality": "Espera-se um vídeo de baixa qualidade em termos de taxa de frame e resolução.",
|
||||
"videoTearing": "Espera-se um vídeo pixelado ou com artefatos visuais."
|
||||
},
|
||||
"copyAndShare": "Copiar e compartilhar o link da reunião",
|
||||
"dialInMeeting": "Discar para a reunião",
|
||||
"dialInPin": "Discar para a reunião e inserir o código PIN:",
|
||||
"dialing": "Discando",
|
||||
"doNotShow": "Não mostre esta tela novamente",
|
||||
"errorDialOut": "Não é possível discar",
|
||||
"errorDialOutDisconnected": "Não é possível discar. Desconectando",
|
||||
"errorDialOutFailed": "Não é possível discar. Chamada finalizada",
|
||||
"errorDialOutStatus": "Erro ao tentar discar",
|
||||
"errorMissingName": "Por favor entre com seu nome para participar da reunião",
|
||||
"errorStatusCode": "Erro ao discar, código de estado: {{status}}",
|
||||
"errorValidation": "Validação do número falhou",
|
||||
"iWantToDialIn": "Eu quere discar",
|
||||
"joinAudioByPhone": "Participar com o áudio via ligação",
|
||||
"joinMeeting": "Particar da reunião",
|
||||
"joinWithoutAudio": "Particar sem áudio",
|
||||
"initiated": "Chamada iniciada",
|
||||
"linkCopied": "Link copiado para a área de transferência",
|
||||
"lookGood": "Seu microfone está funcionando corretamente",
|
||||
"or": "ou",
|
||||
"premeeting": "Pré-reunião",
|
||||
"showScreen": "Habiltar tela pré-reunião",
|
||||
"startWithPhone": "Iniciar com o áudio da ligação",
|
||||
"screenSharingError": "Erro de compartilhamento de tela:",
|
||||
"videoOnlyError": "Erro de vídeo:",
|
||||
"videoTrackError": "Não é possível criar faixa de vídeo.",
|
||||
"viewAllNumbers": "veja todos os números"
|
||||
},
|
||||
"presenceStatus": {
|
||||
"busy": "Ocupado",
|
||||
"calling": "Chamando...",
|
||||
@@ -483,6 +582,8 @@
|
||||
},
|
||||
"raisedHand": "Gostaria de falar",
|
||||
"recording": {
|
||||
"limitNotificationDescriptionWeb": "Devido a demanda, sua gravação ficará limitada a {{limit}} minutos. Para gravação ilimitada tente <a href={{url}} rel='noopener noreferrer' target='_blank'>{{app}}</a>.",
|
||||
"limitNotificationDescriptionNative": "Devido a demanda, sua gravação ficará limitada a {{limit}} minutos. Para gravação ilimitada tente <3>{{app}}</3>.",
|
||||
"authDropboxText": "Enviar para o Dropbox",
|
||||
"availableSpace": "Espaço disponível: {{spaceLeft}} MB (aproximadamente {{duration}} minutos de gravação)",
|
||||
"beta": "BETA",
|
||||
@@ -512,6 +613,12 @@
|
||||
"sectionList": {
|
||||
"pullToRefresh": "Puxe para atualizar"
|
||||
},
|
||||
"security": {
|
||||
"about": "Voce pode adicionar $t(lockRoomPassword) a sua reunião. Participantes terão que fornecer $t(lockRoomPassword) antes de entrar na reunião.",
|
||||
"aboutReadOnly": "Moderadores podem adicionar $t(lockRoomPassword) à reunião. Participantes terão que fornecer $t(lockRoomPassword) antes de entrar na reunião.",
|
||||
"insecureRoomNameWarning": "A sala é insegura. Participantes não desejados podem entrar na reunião. Considere adicionar seguança no botão segurança.",
|
||||
"securityOptions": "Opções de segurança"
|
||||
},
|
||||
"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.",
|
||||
@@ -524,6 +631,7 @@
|
||||
"followMe": "Todos me seguem",
|
||||
"language": "Idioma",
|
||||
"loggedIn": "Conectado como {{name}}",
|
||||
"microphones": "Microfones",
|
||||
"moderator": "Moderador",
|
||||
"more": "Mais",
|
||||
"name": "Nome",
|
||||
@@ -531,21 +639,23 @@
|
||||
"selectAudioOutput": "Saída de áudio",
|
||||
"selectCamera": "Câmera",
|
||||
"selectMic": "Microfone",
|
||||
"speakers": "Alto-faltantes",
|
||||
"startAudioMuted": "Todos iniciam mudos",
|
||||
"startVideoMuted": "Todos iniciam ocultos",
|
||||
"title": "Configurações",
|
||||
"speakers": "Alto-faltantes",
|
||||
"microphones": "Microfones"
|
||||
"title": "Configurações"
|
||||
},
|
||||
"settingsView": {
|
||||
"advanced": "Avançado",
|
||||
"alertOk": "OK",
|
||||
"alertCancel": "Cancelar",
|
||||
"alertTitle": "Atenção",
|
||||
"alertURLText": "A URL digitada do servidor é inválida",
|
||||
"buildInfoSection": "Informações de compilação",
|
||||
"conferenceSection": "Conferência",
|
||||
"disableCallIntegration": "Desativar integração de chamada nativa",
|
||||
"disableP2P": "Desativar modo ponto a ponto",
|
||||
"disableCrashReporting": "Desabilitar aviso de falha",
|
||||
"disableCrashReportingWarning": "Tem certeza eue quer desabilitar o aviso de falha? A opção será habilitada após reiniciar o app.",
|
||||
"displayName": "Nome de exibição",
|
||||
"email": "E-mail",
|
||||
"header": "Configurações",
|
||||
@@ -587,23 +697,29 @@
|
||||
"chat": "Alternar para janela de chat",
|
||||
"document": "Alternar para documento compartilhado",
|
||||
"download": "Baixe nossos aplicativos",
|
||||
"embedMeeting": "Reunião em modo compacto",
|
||||
"feedback": "Deixar feedback",
|
||||
"fullScreen": "Alternar para tela cheia",
|
||||
"grantModerator": "Atribuir Moderador",
|
||||
"hangup": "Sair da chamada",
|
||||
"help": "Ajuda",
|
||||
"invite": "Convidar pessoas",
|
||||
"kick": "Remover participante",
|
||||
"lobbyButton": "Habilitar/desabilitar sala de espera",
|
||||
"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",
|
||||
"moreOptions": "Mostrar mais opções",
|
||||
"mute": "Alternar mudo do áudio",
|
||||
"muteEveryone": "Silenciar todos",
|
||||
"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",
|
||||
"security": "Opções de segurança",
|
||||
"Settings": "Alternar configurações",
|
||||
"sharedvideo": "Alternar compartilhamento de vídeo do YouTube",
|
||||
"shareRoom": "Convidar alguém",
|
||||
@@ -613,11 +729,9 @@
|
||||
"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",
|
||||
"toggleFilmstrip": "Alterar tira de filme",
|
||||
"muteEveryone": "Silenciar todos",
|
||||
"moreOptions": "Mostrar mais opções"
|
||||
"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",
|
||||
@@ -630,6 +744,8 @@
|
||||
"documentClose": "Fechar documento compartilhado",
|
||||
"documentOpen": "Abrir documento compartilhado",
|
||||
"download": "Baixe nossos aplicativos",
|
||||
"e2ee": "Encriptação ponto a ponto",
|
||||
"embedMeeting": "Reunião em formato compacto",
|
||||
"enterFullScreen": "Ver em tela cheia",
|
||||
"enterTileView": "Entrar em exibição de bloco",
|
||||
"exitFullScreen": "Sair da tela cheia",
|
||||
@@ -638,20 +754,29 @@
|
||||
"hangup": "Sair",
|
||||
"help": "Ajuda",
|
||||
"invite": "Convidar pessoas",
|
||||
"lobbyButtonDisable": "Desabilitar sala de espera",
|
||||
"lobbyButtonEnable": "Habilitar sala de espera",
|
||||
"login": "Iniciar sessão",
|
||||
"logout": "Encerrar sessão",
|
||||
"lowerYourHand": "Baixar a mão",
|
||||
"moreActions": "Mais ações",
|
||||
"moreOptions": "Mais opções",
|
||||
"mute": "Mudo / Não mudo",
|
||||
"muteEveryone": "Silenciar todos",
|
||||
"noAudioSignalTitle": "Não há entrada de áudio vindo do seu microfone!",
|
||||
"noAudioSignalDesc": "Se você não o desativou propositalmente das configurações do sistema ou do hardware, considere trocar o dispositivo.",
|
||||
"noAudioSignalDescSuggestion": "Se você não o desativou propositalmente das configurações do sistema ou do hardware, considere trocar para o dispositivo sugerido.",
|
||||
"noAudioSignalDialInDesc": "Você também pode discar usando:",
|
||||
"noAudioSignalDialInLinkDesc": "Discar números",
|
||||
"noisyAudioInputTitle": "O seu microfone parece estar barulhento!",
|
||||
"noisyAudioInputDesc": "Parece que o microfone está fazendo barulho, considere silenciar ou alterar o dispositivo.",
|
||||
"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",
|
||||
"security": "Opções de segurança",
|
||||
"Settings": "Configurações",
|
||||
"sharedvideo": "Compartilhar um vídeo do YouTube",
|
||||
"shareRoom": "Convidar alguém",
|
||||
@@ -667,13 +792,7 @@
|
||||
"toggleCamera": "Alternar câmera",
|
||||
"videomute": "Iniciar ou parar a câmera",
|
||||
"startvideoblur": "Desfocar meu plano de fundo",
|
||||
"stopvideoblur": "Desativar desfoque de fundo",
|
||||
"noisyAudioInputDesc": "Parece que o microfone está fazendo barulho, considere silenciar ou alterar o dispositivo.",
|
||||
"noisyAudioInputTitle": "O seu microfone parece estar barulhento!",
|
||||
"noAudioSignalDialInLinkDesc": "Discar números",
|
||||
"noAudioSignalDialInDesc": "Você também pode discar usando:",
|
||||
"muteEveryone": "Silenciar todos",
|
||||
"moreOptions": "Mais opções"
|
||||
"stopvideoblur": "Desativar desfoque de fundo"
|
||||
},
|
||||
"transcribing": {
|
||||
"ccButtonTooltip": "Iniciar/parar legendas",
|
||||
@@ -729,15 +848,16 @@
|
||||
},
|
||||
"videothumbnail": {
|
||||
"domute": "Mudo",
|
||||
"domuteOthers": "Silenciar todos os demais",
|
||||
"flip": "Inverter",
|
||||
"grantModerator": "Atribuir Moderador",
|
||||
"kick": "Expulsar",
|
||||
"moderator": "Moderador",
|
||||
"mute": "Participante está mudo",
|
||||
"muted": "Mudo",
|
||||
"remoteControl": "Controle remoto",
|
||||
"show": "Mostrar no palco",
|
||||
"videomute": "O participante parou a câmera",
|
||||
"domuteOthers": "Silenciar todos os demais"
|
||||
"videomute": "O participante parou a câmera"
|
||||
},
|
||||
"welcomepage": {
|
||||
"accessibilityLabel": {
|
||||
@@ -753,36 +873,33 @@
|
||||
"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: ?. &, :, ', \", %, #.",
|
||||
"getHelp": "Obter ajuda",
|
||||
"go": "IR",
|
||||
"goSmall": "IR",
|
||||
"join": "CRIAR / ENTRAR",
|
||||
"info": "Informações",
|
||||
"moderatedMessage": "Ou <a href=\"{{url}}\" rel=\"noopener noreferrer\" target=\"_blank\">agende uma URL de reunião</a> antes, onde você é o único moderador.",
|
||||
"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}}!",
|
||||
"roomNameAllowedChars": "Nome da reunião não deve conter qualquer um destes caracteres: ?. &, :, ', \", %, #.",
|
||||
"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",
|
||||
"getHelp": "Obter ajuda"
|
||||
},
|
||||
"helpView": {
|
||||
"header": "Centro de ajuda"
|
||||
"title": "Videoconferências mais seguras, flexíveis e totalmente gratuitas"
|
||||
},
|
||||
"lonelyMeetingExperience": {
|
||||
"youAreAlone": "Você é o único na reunião",
|
||||
"button": "Convidar outros"
|
||||
},
|
||||
"chromeExtensionBanner": {
|
||||
"dontShowAgain": "Não me mostre isso de novo",
|
||||
"buttonText": "Instalar extensão do Chrome",
|
||||
"installExtensionText": "Instale a extensão para integrar com Google Calendar e Office 365"
|
||||
"helpView": {
|
||||
"header": "Centro de ajuda"
|
||||
},
|
||||
"lobby": {
|
||||
"knockingParticipantList": "Remover lista de participantes",
|
||||
"allow": "Permitir",
|
||||
"backToKnockModeButton": "Sem senha, peça para se juntar",
|
||||
"dialogTitle": "modo Lobby",
|
||||
@@ -804,6 +921,11 @@
|
||||
"knockButton": "Peça para participar",
|
||||
"knockTitle": "Alguém deseja participar da conferência",
|
||||
"nameField": "Informe seu nome",
|
||||
"notificationLobbyAccessDenied": "{{targetParticipantName}} foi rejeitado por {{originParticipantName}}",
|
||||
"notificationLobbyAccessGranted": "{{targetParticipantName}} foi aceito por {{originParticipantName}}",
|
||||
"notificationLobbyDisabled": "Sala de Espera foi desabilitada por {{originParticipantName}}",
|
||||
"notificationLobbyEnabled": "Sala de Espera foi habilitada por {{originParticipantName}}",
|
||||
"notificationTitle": "Sala de espera",
|
||||
"passwordField": "Informe a senha da conferência",
|
||||
"passwordJoinButton": "Solicitar",
|
||||
"reject": "Rejeitar",
|
||||
|
||||
@@ -149,7 +149,10 @@
|
||||
"launchWebButton": "Запустить в браузере",
|
||||
"openApp": "Перейти к приложению",
|
||||
"title": "Запуск вашей встречи в {{app}}...",
|
||||
"tryAgainButton": "Повторите в настольном приложении"
|
||||
"tryAgainButton": "Повторите в настольном приложении",
|
||||
"joinInApp": "Присоединиться к этой встрече с помощью приложения",
|
||||
"ifHaveApp": "Если у Вас уже есть приложение:",
|
||||
"ifDoNotHaveApp": "Если у Вас ещё нет приложения:"
|
||||
},
|
||||
"defaultLink": "напр. {{url}}",
|
||||
"defaultNickname": "напр. Яна Цветкова",
|
||||
@@ -821,7 +824,7 @@
|
||||
"stopvideoblur": "Отключить размытие фона",
|
||||
"talkWhileMutedPopup": "Пытаетесь говорить? У вас отключен звук.",
|
||||
"tileViewToggle": "Вкл/выкл плитку",
|
||||
"toggleCamera": "Вкл/выкл камеру",
|
||||
"toggleCamera": "Переключить камеру",
|
||||
"videomute": "Камера"
|
||||
},
|
||||
"transcribing": {
|
||||
|
||||
@@ -1,62 +1,77 @@
|
||||
{
|
||||
"addPeople": {
|
||||
"add": "Pozvať",
|
||||
"addContacts": "Pozvať kontakty",
|
||||
"copyInvite": "Skopírovať pozvánku",
|
||||
"copyLink": "Skopírovať odkaz na konferenciu",
|
||||
"copyStream": "Skopírovať odkaz na živé vysielanie",
|
||||
"countryNotSupported": "Zatiaľ nepodporujeme túto krajinu.",
|
||||
"countryReminder": "Medzinárodný hovor? Prosím skontrolujte, či telefónne číslo začína smerovým číslo krajiny.",
|
||||
"disabled": "Nemôžete pozvať ďalších účastníkov.",
|
||||
"defaultEmail": "Predvolený email",
|
||||
"disabled": "Nemôžete pozvať ďalších ľudí.",
|
||||
"failedToAdd": "Nepodarilo sa pridať účastníka.",
|
||||
"footerText": "Odchádzajúce hovory sú zablokované.",
|
||||
"loading": "Hľadanie účastníkov a telefónnych čísiel",
|
||||
"googleEmail": "Google email",
|
||||
"inviteMoreHeader": "Ste sám v tejto konferencii",
|
||||
"inviteMoreMailSubject": "Pozvánka do konferencie {{appName}}",
|
||||
"inviteMorePrompt": "Pozvať ľudí",
|
||||
"linkCopied": "Odkaz skopírovaný do schránky",
|
||||
"loading": "Hľadanie ľudí a telefónnych čísiel",
|
||||
"loadingNumber": "Kontrola telefónneho čísla",
|
||||
"loadingPeople": "Hľadanie účastníkov na pozvanie",
|
||||
"loadingPeople": "Hľadanie ľudí na pozvanie",
|
||||
"noResults": "Žiadne výsledky hľadania",
|
||||
"noValidNumbers": "Prosím zadajte telefónne číslo",
|
||||
"outlookEmail": "Outlook email",
|
||||
"searchNumbers": "Zadajte telefónne čísla",
|
||||
"searchPeople": "Hľadanie účastníkov",
|
||||
"searchPeopleAndNumbers": "Hľadanie účastníkov alebo pridávanie telefónny čísel",
|
||||
"searchPeople": "Hľadanie ľudí",
|
||||
"searchPeopleAndNumbers": "Hľadať ľudí alebo pridať ich telefónne čísla",
|
||||
"shareInvite": "Zdieľať pozvánku do konferencie",
|
||||
"shareLink": "Zdieľať odkaz na pozvanie",
|
||||
"shareStream": "Zdieľať odkaz na živé vysielanie",
|
||||
"telephone": "Telefón: {{number}}",
|
||||
"title": "Pozvať účastníkov do tejto konferencie"
|
||||
"title": "Pozvať ľudí do tejto konferencie",
|
||||
"yahooEmail": "Yahoo email"
|
||||
},
|
||||
"audioDevices": {
|
||||
"bluetooth": "Bluetooth",
|
||||
"headphones": "Sluchátka",
|
||||
"headphones": "Slúchadlá",
|
||||
"phone": "Telefón",
|
||||
"speaker": "Rečník",
|
||||
"speaker": "Reproduktor",
|
||||
"none": "Žiadne zvukové zariadenia"
|
||||
},
|
||||
"audioOnly": {
|
||||
"audioOnly": "Iba zvuk"
|
||||
},
|
||||
"calendarSync": {
|
||||
"addMeetingURL": "Pridať odkaz na stretnutie",
|
||||
"addMeetingURL": "Pridať odkaz na konferenciu",
|
||||
"confirmAddLink": "Chcete pridal Jitsi odkaz do tejto udalosti?",
|
||||
"error": {
|
||||
"appConfiguration": "Integrácia s kalendárom nie je správne nastavená.",
|
||||
"generic": "Stala sa chyba. Skontrolujte si nastavenia kalendáru a skúste aktualizovať kalendár. ",
|
||||
"notSignedIn": "Stala sa chyba počas autentifikácie pre zobrazovanie kaledárových udalosti. Skontrolujte si nastavenia kalendáru a skúste sa znovu prihlásiť."
|
||||
"generic": "Stala sa chyba. Skontrolujte nastavenia kalendára a skúste obnoviť kalendár.",
|
||||
"notSignedIn": "Stala sa chyba počas autentifikácie pre zobrazenie kaledárových udalosti. Skontrolujte nastavenia kalendára a skúste sa znovu prihlásiť."
|
||||
},
|
||||
"join": "Zúčastniť sa",
|
||||
"joinTooltip": "Zúčastniť sa stretnutia",
|
||||
"nextMeeting": "nasledujúce stretnutie",
|
||||
"noEvents": "Niesú naplánované žiadne ďalšie udalosti.",
|
||||
"ongoingMeeting": "prebiehajúce stretnutie",
|
||||
"joinTooltip": "Zúčastniť sa konferencie",
|
||||
"nextMeeting": "nasledujúca konferencia",
|
||||
"noEvents": "Nie sú naplánované žiadne ďalšie udalosti.",
|
||||
"ongoingMeeting": "prebiehajúca konferencia",
|
||||
"permissionButton": "Otvoriť nastavenia",
|
||||
"permissionMessage": "Aplikácia potrebuje kalendárové oprávnenie pre zobranie termínov a stretnutí ",
|
||||
"refresh": "Aktualizovať kalendár",
|
||||
"permissionMessage": "Aplikácia potrebuje kalendárové oprávnenie pre zobranie termínov a stretnutí.",
|
||||
"refresh": "Obnoviť kalendár",
|
||||
"today": "Dnes"
|
||||
},
|
||||
"chat": {
|
||||
"error": "Chyba: vaša správa \"{{originalText}}\" nebola poslaná. Dôvod: {{error}}",
|
||||
"fieldPlaceHolder": "Zadajte sem vašu správu",
|
||||
"messagebox": "Napíšte správu",
|
||||
"messageTo": "Správa pre {{recipient}}",
|
||||
"noMessagesMessage": "V tejto konferencií ešte nie je žiadna správa. Začnite tu vašu diskusiu!",
|
||||
"messageTo": "Súkromná správa pre {{recipient}}",
|
||||
"noMessagesMessage": "V tejto konferencii ešte nie je žiadna správa. Začnite tu vašu diskusiu!",
|
||||
"nickname": {
|
||||
"popover": "Zvoľte meno",
|
||||
"title": "Zadajte sem vašu prezývku"
|
||||
"title": "Zadajte vašu prezývku"
|
||||
},
|
||||
"privateNotice": "Súkromná správa pre {{recipient}}",
|
||||
"title": "Písanie",
|
||||
"title": "Chat",
|
||||
"you": "Vy"
|
||||
},
|
||||
"chromeExtensionBanner": {
|
||||
@@ -65,54 +80,54 @@
|
||||
"dontShowAgain": "Upozornenie viac nezobrazovať"
|
||||
},
|
||||
"connectingOverlay": {
|
||||
"joiningRoom": "Vytvára sa spojenie do vašej konferencie…"
|
||||
"joiningRoom": "Pripájanie do konferencie..."
|
||||
},
|
||||
"connection": {
|
||||
"ATTACHED": "Priložený",
|
||||
"AUTHENTICATING": "Overujem",
|
||||
"AUTHENTICATING": "Overovanie",
|
||||
"AUTHFAIL": "Overenie zlyhalo",
|
||||
"CONNECTED": "Pripojený",
|
||||
"CONNECTING": "Pripájam",
|
||||
"CONNECTING": "Pripájanie",
|
||||
"CONNFAIL": "Spojenie zlyhalo",
|
||||
"DISCONNECTED": "Odpojený",
|
||||
"DISCONNECTING": "Odpájam",
|
||||
"DISCONNECTING": "Odpájanie",
|
||||
"ERROR": "Chyba",
|
||||
"RECONNECTING": "Chyba siete. Skúšam sa znova pripojiť ...",
|
||||
"FETCH_SESSION_ID": "Získavanie session-id...",
|
||||
"GET_SESSION_ID_ERROR": "Chyba pri získavaní session-id: {{code}}",
|
||||
"GOT_SESSION_ID": "Získavanie session-id... Hotovo",
|
||||
"LOW_BANDWIDTH": "Video pre {{displayName}} bolo vypnuté, aby sa ušetrila prenosová kapacita"
|
||||
},
|
||||
"connectionindicator": {
|
||||
"address": "Adresa:",
|
||||
"bandwidth": "Predpokladaný dat. tok:",
|
||||
"bitrate": "Prenos. rýchlosť",
|
||||
"bridgeCount": "Počet serverov:",
|
||||
"bandwidth": "Dátový tok:",
|
||||
"bitrate": "Prenos. rýchlosť:",
|
||||
"bridgeCount": "Počet serverov: ",
|
||||
"connectedTo": "Spojenie s:",
|
||||
"e2e_rtt": "E2E RTT:",
|
||||
"framerate": "Rýchlosť snímkovania:",
|
||||
"less": "Zobraz menej",
|
||||
"localaddress_0": "Lokálna adresa:",
|
||||
"localaddress_1": "Lokálne adresy:",
|
||||
"localaddress_2": "",
|
||||
"localport_0": "Lokálny port:",
|
||||
"localport_1": "Lokálne porty:",
|
||||
"localport_2": "",
|
||||
"more": "Zobraz viac",
|
||||
"packetloss": "Strata packetov:",
|
||||
"less": "Zobraziť menej",
|
||||
"localaddress": "Lokálna adresa:",
|
||||
"localaddress_plural": "Lokálne adresy:",
|
||||
"localport": "Lokálny port:",
|
||||
"localport_plural": "Lokálne porty:",
|
||||
"maxEnabledResolution": "send max",
|
||||
"more": "Zobraziť viac",
|
||||
"packetloss": "Strata paketov:",
|
||||
"quality": {
|
||||
"good": "Dobré",
|
||||
"inactive": "Neaktívne",
|
||||
"lost": "Stratené",
|
||||
"nonoptimal": "Nie je optimálne",
|
||||
"nonoptimal": "Neoptimálne",
|
||||
"poor": "Slabé"
|
||||
},
|
||||
"remoteaddress_0": "Vzdialená adresa:",
|
||||
"remoteaddress_1": "Vzdialené adresy:",
|
||||
"remoteaddress_2": "",
|
||||
"remoteport_0": "Vzdialený port:",
|
||||
"remoteport_1": "Vzdialené porty:",
|
||||
"remoteport_2": "",
|
||||
"remoteaddress": "Vzdialená adresa:",
|
||||
"remoteaddress_plural": "Vzdialené adresy:",
|
||||
"remoteport": "Vzdialený port:",
|
||||
"remoteport_plural": "Vzdialené porty:",
|
||||
"resolution": "Rozlíšenie:",
|
||||
"status": "Spojenie:",
|
||||
"transport": "Prenos:"
|
||||
"transport": "Prenos:",
|
||||
"transport_plural": "Prenosy:"
|
||||
},
|
||||
"dateUtils": {
|
||||
"earlier": "Skôr",
|
||||
@@ -121,16 +136,18 @@
|
||||
},
|
||||
"deepLinking": {
|
||||
"appNotInstalled": "Potrebujete aplikáciu {{app}}, aby ste sa mohli pripojiť do tejto konferencie na vašom telefóne.",
|
||||
"description": "Nič sa nestalo? Snažili sme sa otvoriť konferenciu v {{app}}. Skúste to znovu, alebo sa pripojte na konferenciu v {{app}} cez Web.",
|
||||
"descriptionWithoutWeb": "Nič sa nestalo? Snažili sme sa spustiť váš rozhovor v desktopovej aplikácií {{app}}.",
|
||||
"description": "Nič sa nestalo? Snažili sme sa otvoriť konferenciu v {{app}}. Skúste to znovu, alebo sa pripojte na konferenciu v {{app}} cez web.",
|
||||
"descriptionWithoutWeb": "Nič sa nestalo? Snažili sme sa spustiť konferenciu v desktopovej aplikácií {{app}}.",
|
||||
"downloadApp": "Stiahnutie aplikácie",
|
||||
"ifDoNotHaveApp": "Ak nemáte aplikáciu:",
|
||||
"ifHaveApp": "Ak máte aplikáciu:",
|
||||
"joinInApp": "Vstúpiť do konferencie cez aplikáciu",
|
||||
"launchWebButton": "Otvoriť na webe",
|
||||
"openApp": "Pokračovať na aplikáciu",
|
||||
"title": "Konferencia sa otvára v {{app}}...",
|
||||
"tryAgainButton": "Skúsiť znova s natívnou aplikáciou"
|
||||
},
|
||||
"defaultLink": "napr. {{url}}",
|
||||
"defaultNickname": "napr. Jane Pink",
|
||||
"defaultNickname": "napr. Ján Kováč",
|
||||
"deviceError": {
|
||||
"cameraError": "Chyba pri prístupe ku kamere",
|
||||
"cameraPermission": "Aplikácia nemá oprávnenie pristupovať ku kamere",
|
||||
@@ -140,79 +157,84 @@
|
||||
"deviceSelection": {
|
||||
"noPermission": "Oprávnenie nie je poskytnuté",
|
||||
"previewUnavailable": "Náhľad nie je dostupný",
|
||||
"selectADevice": "Vyberte zvukové zariadenie",
|
||||
"selectADevice": "Vybrať zariadenie",
|
||||
"testAudio": "Vyskúšať zvuk"
|
||||
},
|
||||
"dialog": {
|
||||
"accessibilityLabel": {
|
||||
"liveStreaming": "Živé vysielanie"
|
||||
},
|
||||
"add": "Pridať",
|
||||
"allow": "Povoliť",
|
||||
"alreadySharedVideoMsg": "Iný účastník už poskytuje video. Pri tejto konferencií môže poskytovať súčasne iba jeden účastník.",
|
||||
"alreadySharedVideoTitle": "Naraz sa dá poskytovať iba jedno video",
|
||||
"alreadySharedVideoMsg": "Iný účastník už zdieľa video. Pri tejto konferencií môže zdieľať video iba jeden účastník.",
|
||||
"alreadySharedVideoTitle": "Je možné zdieľať iba jedno video",
|
||||
"applicationWindow": "Okno aplikácie",
|
||||
"Back": "Späť",
|
||||
"cameraConstraintFailedError": "Vaša kamera nespĺňa potrebné požiadavky.",
|
||||
"cameraNotFoundError": "Kamera nebola nájdená.",
|
||||
"cameraNotSendingData": "Kamera nie je dostupná. Skontrolujte či iná aplikácia používa kameru, vyberte inú kameru v nastaveniach ale znovu spustite aplikáciu.",
|
||||
"cameraNotSendingData": "Kamera nie je dostupná. Skontrolujte či iná aplikácia používa kameru, vyberte inú kameru v nastaveniach alebo znovu spustite aplikáciu.",
|
||||
"cameraNotSendingDataTitle": "Prístup na kameru nie je možný.",
|
||||
"cameraPermissionDeniedError": "Nebolo udelené oprávnenie používať kameru. Napriek tomu sa môže zúčastniť na konferencií, ale ostatný účastníci vás nebudu vidieť. Pre pridelenie oprávnenia môžete použiť ikonu kamery na adresnej lište.",
|
||||
"cameraPermissionDeniedError": "Nebolo udelené oprávnenie používať kameru. Napriek tomu sa môže zúčastniť na konferencií, ale ostatní účastníci vás nebudu vidieť. Pre pridelenie oprávnenia môžete použiť ikonu kamery na adresnej lište.",
|
||||
"cameraUnknownError": "Z neznámeho dôvodu sa kamera nedá použiť.",
|
||||
"cameraUnsupportedResolutionError": "Táto kamera nepodporuje požadované rozlíšenie.",
|
||||
"cameraUnsupportedResolutionError": "Kamera nepodporuje požadované rozlíšenie.",
|
||||
"Cancel": "Zrušiť",
|
||||
"close": "Zatvoriť",
|
||||
"conferenceDisconnectMsg": "Skontrolujte prípadne vaše sieťové pripojenie. Pripájam znovu o {{seconds}} sekúnd...",
|
||||
"conferenceDisconnectTitle": "Vaše spojenie bolo prerušené.",
|
||||
"conferenceReloadMsg": "Snažíme sa to napraviť. Pripájam znovu o {{seconds}} sekund...",
|
||||
"conferenceReloadTitle": "Žiaľ niečo sa nepodarilo.",
|
||||
"conferenceReloadTitle": "Spojenie sa prerušilo.",
|
||||
"confirm": "Potvrdiť",
|
||||
"confirmNo": "Nie",
|
||||
"confirmYes": "Áno",
|
||||
"connectError": "Oops! Niečo je zle a nemôžem sa pripojiť do konferencie.",
|
||||
"connectErrorWithMsg": "Oops! Niečo je zle a nemôžem sa pripojiť do konferencie. Správa: {{msg}}",
|
||||
"connectError": "Niečo je zle a nemôžem sa pripojiť do konferencie.",
|
||||
"connectErrorWithMsg": "Niečo je zle a nemôžem sa pripojiť do konferencie. Správa: {{msg}}",
|
||||
"connecting": "Pripájam",
|
||||
"contactSupport": "Spojiť sa s podporou",
|
||||
"copy": "Kopírovať",
|
||||
"dismiss": "Zavrieť",
|
||||
"displayNameRequired": "Ahoj! Ako sa voláš?",
|
||||
"done": "Hotovo",
|
||||
"e2eeDescription": "Koncové šifrovanie (End-to-End Encryption, E2EE) je momentálne EXPERIMENTÁLNE. Zapnutie koncového šifrovania znemožní použitie serverových služieb ako: nahrávanie, živé vysielanie a účasť cez telefón. Do konferencie je možné vstúpiť len s prehliadačom, ktorý podporuje vložiteľné prúdy (insertable streams).",
|
||||
"e2eeLabel": "E2EE kľúč",
|
||||
"e2eeNoKey": "žiadny",
|
||||
"e2eeToggleSet": "Nastaviť kľúč",
|
||||
"e2eeSet": "Nastaviť",
|
||||
"e2eeWarning": "VAROVANIE: NIektorí účastníci nemajú podporu pre koncové šifrovanie. Ak ho zapnete, nebudú Vás vidieť ani počuť.",
|
||||
"enterDisplayName": "Prosím zadajte sem vaše meno",
|
||||
"error": "Chyba",
|
||||
"externalInstallationMsg": "Zlyhanie pri inštalácií rozšírenia pre zdieľanie prac. plochy",
|
||||
"externalInstallationTitle": "Potrebné rozšírenie:",
|
||||
"goToStore": "",
|
||||
"gracefulShutdown": "Naša služba je momentálne vypnutá pre údržbu. Skúste to neskor.",
|
||||
"gracefulShutdown": "Služba je momentálne vypnutá pre údržbu. Skúste to neskor.",
|
||||
"grantModeratorDialog": "Chcete naozaj tohoto účastníka urobiť moderatorom?",
|
||||
"grantModeratorTitle": "Urobiť moderatorom",
|
||||
"IamHost": "Ja som hostiteľ",
|
||||
"incorrectRoomLockPassword": "Nesprávne heslo",
|
||||
"incorrectPassword": "Používateľské meno alebo heslo je nesprávne",
|
||||
"inlineInstallationMsg": "Musí byť nainštalované rozšírenie pre zdieľanie pracovnej prochy.",
|
||||
"inlineInstallExtension": "Teraz inštalovať",
|
||||
"internalError": "Ups! Niečo nefunguje. Vyskytla sa nasledujúca chyba: {{error}}",
|
||||
"internalErrorTitle": "Interná chyba",
|
||||
"kickMessage": "Pre podrobnosti sa môžete spojiť s {{participantDisplayName}}.",
|
||||
"kickParticipantButton": "Odstrániť",
|
||||
"kickParticipantDialog": "Skutočne chcete odstrániť tohto účastnika?",
|
||||
"kickParticipantTitle": "Odstrániť účastníka?",
|
||||
"kickTitle": "Ouch! {{participantDisplayName}} vás odstránil zo stretnutia.",
|
||||
"kickTitle": "{{participantDisplayName}} vás odstránil z konferencie.",
|
||||
"liveStreaming": "Živé vysielanie",
|
||||
"liveStreamingDisabledBecauseOfActiveRecordingTooltip": "Nie je možné keď je aktívne nahrávanie",
|
||||
"liveStreamingDisabledForGuestTooltip": "Hostia nemôžu začať živé vysielanie.",
|
||||
"liveStreamingDisabledTooltip": "Štartovanie živého vysielania je vypnuté.",
|
||||
"liveStreamingDisabledTooltip": "Spustenie živého vysielania je zakázané.",
|
||||
"lockMessage": "Zlyhanie pri pokuse o zabezpečenie konferencie.",
|
||||
"lockRoom": "Pridať stretnutie $t(lockRoomPasswordUppercase)",
|
||||
"lockRoom": "Pridať $t(lockRoomPassword)",
|
||||
"lockTitle": "Zabezpečenie zlyhalo",
|
||||
"logoutQuestion": "Ste si istý, že sa chcete odhlásiť a skončiť konferenciu?",
|
||||
"logoutTitle": "Odhlásiť",
|
||||
"maxUsersLimitReached": "Bol dosiahnutý maximálny počet účastníkov. Konferencia je plná. Spojte sa prosím s organizátorom stretnutia, alebo to skúste neskôr.",
|
||||
"maxUsersLimitReached": "Bol dosiahnutý maximálny počet účastníkov. Konferencia je plná. Spojte sa prosím s organizátorom konferencie, alebo to skúste neskôr.",
|
||||
"maxUsersLimitReachedTitle": "Dosiahnutý maximálny počet účastníkov",
|
||||
"micConstraintFailedError": "Váš mikrofón nespĺňa potrebné požiadavky.",
|
||||
"micNotFoundError": "Mikrofón nebol nájdený.",
|
||||
"micNotSendingData": "Choďte do nastavení vašeho počítača, aby ste odblokovali stlmenie vášho mikrofónu a upravte jeho úroveň.",
|
||||
"micNotSendingDataTitle": "Mikrofón je stlmený vašimi systémovými nastaveniami.",
|
||||
"micPermissionDeniedError": "Nebolo udelené oprávnenie používať mikrofón. Napriek tomu sa môže zúčastniť na konferencií, ale ostatný účastníci vás nebudú počuť. Pre pridelenie oprávnenia môžete použiť ikonu kamery na adresnej lište.",
|
||||
"micPermissionDeniedError": "Nebolo udelené oprávnenie používať mikrofón. Napriek tomu sa môže zúčastniť na konferencií, ale ostatní účastníci vás nebudú počuť. Pre pridelenie oprávnenia môžete použiť ikonu kamery na adresnej lište.",
|
||||
"micUnknownError": "Mikrofón sa nedá použiť z neznámeho dôvodu.",
|
||||
"muteEveryoneElseDialog": "Keď všetkým vypnete mikrofón, nedokážete spať zapnuť mikrofóny. Účastníci si ale môžu zapnúť mikrofóny sami.",
|
||||
"muteEveryoneElseDialog": "Keď všetkým vypnete mikrofóny, nedokážete ich späť zapnúť. Účastníci si ale môžu zapnúť mikrofóny sami.",
|
||||
"muteEveryoneElseTitle": "Vypnúť mikrofón všetkým okrem {{whom}}?",
|
||||
"muteEveryoneDialog": "Chcete naozaj všetkým vypnúť mikrofón. Keď všetkým vypnete mikrofón, nedokážete spať zapnúť mikrofóny. Účastníci si ale môžu zapnúť mikrofóny sami.",
|
||||
"muteEveryoneDialog": "Chcete naozaj všetkým vypnúť mikrofón. Keď všetkým vypnete mikrofóny, nedokážete ich späť zapnúť. Účastníci si ale môžu zapnúť mikrofóny sami.",
|
||||
"muteEveryoneTitle": "Všetkým vypnúť mikrofón?",
|
||||
"muteEveryoneSelf": "seba samého",
|
||||
"muteEveryoneStartMuted": "Všetci odteraz začínajú s vypnutým mikrofónom",
|
||||
@@ -222,33 +244,34 @@
|
||||
"muteParticipantTitle": "Vypnúť účastníkovi mikrofón?",
|
||||
"Ok": "Ok",
|
||||
"passwordLabel": "$t(lockRoomPasswordUppercase)",
|
||||
"passwordNotSupported": "Nastavovanie $t(lockRoomPassword) nie je podporované.",
|
||||
"passwordNotSupported": "$t(lockRoomPasswordUppercase) nie je podporované.",
|
||||
"passwordNotSupportedTitle": "$t(lockRoomPasswordUppercase) nie je podporované",
|
||||
"passwordRequired": "$t(lockRoomPasswordUppercase) je potrebné",
|
||||
"popupError": "Váš prehliadať blokuje vyskakovacie okná tejto stránky. Prosím aktivujte vyskakovacie okná v bezpečnostných nastaveniach vašeho prehliadača a skúste znovu.",
|
||||
"passwordRequired": "Prihlásenie",
|
||||
"popupError": "Váš prehliadač blokuje vyskakovacie okná tejto stránky. Prosím aktivujte vyskakovacie okná v bezpečnostných nastaveniach vašeho prehliadača a skúste znovu.",
|
||||
"popupErrorTitle": "Vyskakovacie okná sú zablokované",
|
||||
"readMore": "viac",
|
||||
"recording": "Nahrávanie",
|
||||
"recordingDisabledBecauseOfActiveLiveStreamingTooltip": "Nie je možné keď je aktívny živý prenos",
|
||||
"recordingDisabledForGuestTooltip": "Hostia nemôžu začať nahrávanie.",
|
||||
"recordingDisabledTooltip": "Štartovanie nahrávania je vypnuté.",
|
||||
"rejoinNow": "Teraz sa znovu pridať.",
|
||||
"recordingDisabledTooltip": "Spustenie nahrávania je zakázané.",
|
||||
"rejoinNow": "Pripojiť hneď",
|
||||
"remoteControlAllowedMessage": "{{user}} prijal požiadavku o vzdialené ovládanie.",
|
||||
"remoteControlDeniedMessage": "{{user}} odmietol prijal požiadavku o vzdialené ovládanie.",
|
||||
"remoteControlDeniedMessage": "{{user}} odmietol požiadavku o vzdialené ovládanie.",
|
||||
"remoteControlErrorMessage": "Stala sa chyba počas žiadania o vzdialené ovládanie od {{user}}",
|
||||
"remoteControlRequestMessage": "Povolíte {{user}} ovládať vášu pracovnú plochu?",
|
||||
"remoteControlShareScreenWarning": "Pozor, keď povolíte požiadavku budete zdielať vašu obrazovku!",
|
||||
"remoteControlStopMessage": "Vzdialené ovládanie bolo ukončené.",
|
||||
"remoteControlTitle": "Vzdialené ovládanie",
|
||||
"Remove": "Odstrániť",
|
||||
"removePassword": "$t(lockRoomPassword) odstránené",
|
||||
"removeSharedVideoMsg": "Ste si istý že chcete odstrániť zdielané video?",
|
||||
"removeSharedVideoTitle": "Odstrániť zdielané video",
|
||||
"removePassword": "$t(lockRoomPasswordUppercase) odstránené",
|
||||
"removeSharedVideoMsg": "Naozaj chcete odstrániť zdieľané video?",
|
||||
"removeSharedVideoTitle": "Odstrániť zdieľané video",
|
||||
"reservationError": "Systémová chyba rezervácie",
|
||||
"reservationErrorMsg": "Chyba: {{code}}, správa: {{msg}}",
|
||||
"retry": "Skúsiť znovu",
|
||||
"screenSharingFailedToInstall": "Ups! Nepodarilo sa nainštalovať rozšírenie pre zdieľanie obrazovky.",
|
||||
"screenSharingFailedToInstallTitle": "Chyba v inštalácii rozšírenie pre zdieľanie obrazovky",
|
||||
"screenSharingFirefoxPermissionDeniedError": "Niečo sa nepodarilo pri pokuse o zdielanie obrazovky. Skontrolujte prosím či ste dali oprávnenie v prehliadači.",
|
||||
"screenSharingFirefoxPermissionDeniedTitle": "Nepodarilo sa zdielať obrazovku",
|
||||
"screenSharingAudio": "Zdieľať zvuk",
|
||||
"screenSharingFailed": "Nie je možné spustiť zdieľanie obrazovky!",
|
||||
"screenSharingFailedTitle": "Zdieľanie obrazovky zlyhalo!",
|
||||
"screenSharingPermissionDeniedError": "Ups! Niečo sa nepodarilo pri žiadaní o oprávnenie zdielať obrazovku. Prosím aktualizovať a skúsiť znovu.",
|
||||
"sendPrivateMessage": "Dostali ste súkromnú správu. Chceli ste na ňu odpovedať súkromne, alebo chcete poslať správu skupine?",
|
||||
"sendPrivateMessageCancel": "Poslať skupine",
|
||||
@@ -258,26 +281,26 @@
|
||||
"sessTerminated": "Volanie ukončené",
|
||||
"Share": "Zdieľať",
|
||||
"shareVideoLinkError": "Prosím, zadajte správny Youtube odkaz.",
|
||||
"shareVideoTitle": "Zdielať video",
|
||||
"shareVideoTitle": "Zdieľať video",
|
||||
"shareYourScreen": "Zdielať obrazovku",
|
||||
"shareYourScreenDisabled": "Zdieľanie obrazovky vypnuté.",
|
||||
"shareYourScreenDisabledForGuest": "Hostia nemôžu zdielať obrazovku.",
|
||||
"startLiveStreaming": "Spustiť priamy prenos",
|
||||
"startLiveStreaming": "Spustiť živý prenos",
|
||||
"startRecording": "Začať záznam",
|
||||
"startRemoteControlErrorMessage": "Chyba pri pokuse o začatie vzdialeného riadenia!",
|
||||
"stopLiveStreaming": "Prerušiť priamy prenos",
|
||||
"startRemoteControlErrorMessage": "Chyba pri pokuse o začatie vzdialeného ovládania!",
|
||||
"stopLiveStreaming": "Zastaviť živý prenos",
|
||||
"stopRecording": "Zastaviť záznam",
|
||||
"stopRecordingWarning": "Chcete zastaviť záznam?",
|
||||
"stopStreamingWarning": "Chcete prerušiť priamy prenos",
|
||||
"streamKey": "Klúč živého vysielania",
|
||||
"stopStreamingWarning": "Chcete zastaviť priamy prenos?",
|
||||
"streamKey": "Kľúč živého vysielania",
|
||||
"Submit": "OK",
|
||||
"thankYou": "Ďakujeme vám za používanie {{appName}}!",
|
||||
"thankYou": "Ďakujeme za používanie {{appName}}!",
|
||||
"token": "token",
|
||||
"tokenAuthFailed": "Prepáčte, nie ste oprávnený zúčastniť tejto sa konferencie.",
|
||||
"tokenAuthFailedTitle": "Overenie zlyhalo",
|
||||
"transcribing": "",
|
||||
"unlockRoom": "Odstrániť stretnutie $t(lockRoomPassword)",
|
||||
"userPassword": "užívateľské heslo",
|
||||
"unlockRoom": "Odstrániť $t(lockRoomPassword)",
|
||||
"userPassword": "heslo",
|
||||
"WaitForHostMsg": "Konferencia <b>{{room}}</b> sa ešte nezačala. Autorizujte sa prosím ak ste hostiteľ. V opačnom prípade čakajte na hostiteľa.",
|
||||
"WaitForHostMsgWOk": "Konferencia <b>{{room}}</b> sa ešte nezačala. Ak ste hostiteľ autorizujte sa stlačením Ok. V opačnom prípade čakajte na hostiteľa.",
|
||||
"WaitingForHost": "Čakám na hostiteľa ...",
|
||||
@@ -288,7 +311,10 @@
|
||||
"statusMessage": "je teraz {{status}}"
|
||||
},
|
||||
"documentSharing": {
|
||||
"title": "Zdielaný dokument"
|
||||
"title": "Zdieľaný dokument"
|
||||
},
|
||||
"e2ee": {
|
||||
"labelToolTip": "Zvuková a obrazová komunikácia je koncovo šifrovaná"
|
||||
},
|
||||
"feedback": {
|
||||
"average": "Priemerný",
|
||||
@@ -308,8 +334,8 @@
|
||||
},
|
||||
"info": {
|
||||
"accessibilityLabel": "Zobraziť informácie",
|
||||
"addPassword": "$t(lockRoomPassword) pridať",
|
||||
"cancelPassword": "$t(lockRoomPassword) zmazať",
|
||||
"addPassword": "Nastaviť $t(lockRoomPassword)",
|
||||
"cancelPassword": "Zrušiť $t(lockRoomPassword)",
|
||||
"conferenceURL": "Odkaz:",
|
||||
"country": "Krajina",
|
||||
"dialANumber": "Aby ste sa zúčastnili stretnutia, zavolajte jedno z týchto čísel a zadajte pin.",
|
||||
@@ -322,9 +348,9 @@
|
||||
"inviteLiveStream": "Kliknite túto linku {{url}}, pre zobrazenie živého vysielania z tohto stretnutia.",
|
||||
"invitePhone": "Keď sa chcete pripojiť cez telefón, klikni na: {{number}},,{{conferenceID}}#\n",
|
||||
"invitePhoneAlternatives": "Hľadáte iné pripojovacie číslo? Pripojovacie čísla pre konferenciu: {{{url}}\n\n\n\nTaktiež pokiaľ sa telefonicky pripájate cez konferenčný celomiestnostný telefón pripojte sa bez prenosu zvuku {{silentUrl}}",
|
||||
"inviteURLFirstPartGeneral": "Ste pozývaný pripojiť sa na stretnutie.",
|
||||
"inviteURLFirstPartPersonal": "{{name}} vás pozýva na stretnutie.",
|
||||
"inviteURLSecondPart": "\n Zúčastniť sa stretnutia:\n{{url}}\n",
|
||||
"inviteURLFirstPartGeneral": "Ste pozvaný do konferencie.",
|
||||
"inviteURLFirstPartPersonal": "{{name}} vás pozýva do konferencie.\n",
|
||||
"inviteURLSecondPart": "\nVstúpiť do konferencie:\n{{url}}\n",
|
||||
"liveStreamURL": "Živý prenos:",
|
||||
"moreNumbers": "Ďalšie telefónne čísla",
|
||||
"noNumbers": "Žiadne pripojovacie telefónne čísla.",
|
||||
@@ -368,6 +394,8 @@
|
||||
"videoQuality": "Nastavenie kvality volania"
|
||||
},
|
||||
"liveStreaming": {
|
||||
"limitNotificationDescriptionWeb": "Živé vysielanie je obmedzené na {{limit}} minút. Pre neobmedzené vysielanie skúste <a href={{url}} rel='noopener noreferrer' target='_blank'>{{app}}</a>.",
|
||||
"limitNotificationDescriptionNative": "Živé vysielanie je obmedzené na {{limit}} minút. Pre neobmedzené vysielanie skúste {{app}}.",
|
||||
"busy": "Chystajú sa zdroje pre vysielanie. Skúste znova za pár minút.",
|
||||
"busyTitle": "Všetky vysielacie inštancie sú obsadené",
|
||||
"changeSignIn": "Prepnúť konto",
|
||||
@@ -375,19 +403,19 @@
|
||||
"chooseCTA": "Vyberte vysielaciu možnosť. Ste prihlásený ako {{email}}",
|
||||
"enterStreamKey": "Zadajte meno/heslo pre YouTube vysielanie.",
|
||||
"error": "Živé vysielanie zlyhalo. Prosím skúste to znovu.",
|
||||
"errorAPI": "Došlo chybe pri prístupe k vašemu YouTube vysielaniu. Prosím skúste sa znovu prihlásiť.",
|
||||
"errorAPI": "Došlo k chybe pri prístupe k vašemu YouTube vysielaniu. Prosím skúste sa znovu prihlásiť.",
|
||||
"errorLiveStreamNotEnabled": "Živé vysielanie pre {{email}} nie je aktivované. Aktivujte živé vysielanie, alebo sa prihláste pomocou konta s aktivovaným živým vysielaním.",
|
||||
"expandedOff": "Živé vysielanie bolo zastavené",
|
||||
"expandedOn": "Stretnutie je momentálne vysielané na YouTube.",
|
||||
"expandedPending": "Spúšťa živé vysielanie...",
|
||||
"failedToStart": "Nepodarilo sa naštartovať živé vysielanie",
|
||||
"failedToStart": "Nepodarilo sa spustiť živé vysielanie",
|
||||
"getStreamKeyManually": "Nepodarilo sa získať žiadne živé vysielania. Skúste získať kľúč pre živé vysielanie z YouTube.",
|
||||
"invalidStreamKey": "Kľúč pre živé vysielanie je nesprávny.",
|
||||
"off": "Živé vysielanie ukončené",
|
||||
"offBy": "{{name}} ukončil živé vysielanie",
|
||||
"on": "Živé vysielanie",
|
||||
"onBy": "{{name}} začal živé vysielanie",
|
||||
"pending": "Štartuje sa živé vysielanie...",
|
||||
"pending": "Spúšťa sa živé vysielanie...",
|
||||
"serviceName": "Služba pre živé vysielanie",
|
||||
"signedInAs": "Ste prihlásený ako:",
|
||||
"signIn": "Prihlásiť sa pomocou Google",
|
||||
@@ -395,7 +423,9 @@
|
||||
"signOut": "Odhlásiť",
|
||||
"start": "Začať živé vysielanie",
|
||||
"streamIdHelp": "Čo je to?",
|
||||
"unavailableTitle": "Živé vysielanie nie je k dispozícií"
|
||||
"unavailableTitle": "Živé vysielanie nie je k dispozícií",
|
||||
"youtubeTerms": "Podmienky poskytovania služby YouTube",
|
||||
"googlePrivacyPolicy": "Pravidlá ochrany súkromia Google"
|
||||
},
|
||||
"localRecording": {
|
||||
"clientState": {
|
||||
@@ -403,19 +433,19 @@
|
||||
"on": "Zapnutý",
|
||||
"unknown": "Neznámy"
|
||||
},
|
||||
"dialogTitle": "Lokálne ovládacie prvky nahrávania",
|
||||
"dialogTitle": "Ovládacie prvky lokálneho nahrávania",
|
||||
"duration": "Dĺžka",
|
||||
"durationNA": "neznáma",
|
||||
"encoding": "Kódovanie",
|
||||
"label": "",
|
||||
"labelToolTip": "Lokálny nahrávanie je aktivovaný",
|
||||
"labelToolTip": "Lokálne nahrávanie je aktivovaný",
|
||||
"localRecording": "Lokálne nahrávanie",
|
||||
"me": "Ja",
|
||||
"messages": {
|
||||
"engaged": "Lokálne nahrávanie je spustené",
|
||||
"finished": "Nahrávanie sedenia {{token}} je ukončené. Prosím pošlite nahratý súbor moderátorovi.",
|
||||
"finishedModerator": "Nahrávanie sedenia {{token}} je ukončené. Bola uložená nahrávka lokálnej stopy. Poproste ostatných účastníkov, aby vám poslali ich nahrávky.",
|
||||
"notModerator": "Nieste moderátor. Nemôže začať, alebo skončiť lokálne nahrávanie."
|
||||
"notModerator": "Nie ste moderátor. Nemôže začať, alebo skončiť lokálne nahrávanie."
|
||||
},
|
||||
"moderator": "Moderátor",
|
||||
"no": "Nie",
|
||||
@@ -438,17 +468,17 @@
|
||||
"focusFail": "{{component}} je nedostupný - skúste znova za {{ms}} sek",
|
||||
"grantedTo": "Práva moderátora boli udelené {{to}}!",
|
||||
"invitedOneMember": "{{displayName}} bol pozvaný",
|
||||
"invitedThreePlusMembers": "{{name}} a {{count}} ďalší boli pozvaný",
|
||||
"invitedTwoMembers": "{{first}} a {{second}} boli pozvaný",
|
||||
"kickParticipant": "Pre ďalšie podrobnosti sa môže obrátiť na {{participantDisplayName}}",
|
||||
"invitedThreePlusMembers": "{{name}} a {{count}} ďalší boli pozvaní",
|
||||
"invitedTwoMembers": "{{first}} a {{second}} boli pozvaní",
|
||||
"kickParticipant": "{{kicked}} bol odstránený účastníkom {{kicker}}",
|
||||
"me": "Ja",
|
||||
"moderator": "Boli vám udelené práva moderátora!",
|
||||
"muted": "Začali ste rozhovor s vypnutým mikrofónom.",
|
||||
"mutedTitle": "Boli ste stíšený!",
|
||||
"mutedRemotelyTitle": "{{participantDisplayName}} vás stíšil",
|
||||
"mutedRemotelyTitle": "{{participantDisplayName}} vám vypol mikrofón",
|
||||
"mutedRemotelyDescription": "Kedykoľvek môžete stíšenie zrušiť, keď ste prichystaný rozprávať. Keď skončite môžete sa znova stíšiť, aby ste znížili hluk na stretnutí.",
|
||||
"passwordRemovedRemotely": "$t(lockRoomPasswordUppercase) bolo odstránené iným účastníkom",
|
||||
"passwordSetRemotely": "$t(lockRoomPasswordUppercase) bolo nastavené iným účastníkom",
|
||||
"passwordRemovedRemotely": "Iný účastník odstránil $t(lockRoomPassword)",
|
||||
"passwordSetRemotely": "Iný účastník nastavil $t(lockRoomPassword)",
|
||||
"raisedHand": "{{name}} chce hovoriť",
|
||||
"somebody": "Niekto",
|
||||
"startSilentTitle": "Pripojili ste sa bez zvukového výstupu!",
|
||||
@@ -458,11 +488,49 @@
|
||||
"unmute": "Zapnúť mikrofón",
|
||||
"newDeviceCameraTitle": "Bola zistená nová kamera",
|
||||
"newDeviceAudioTitle": "Bolo zistené nové audio zariadenie",
|
||||
"newDeviceAction": "Použiť"
|
||||
"newDeviceAction": "Použiť",
|
||||
"OldElectronAPPTitle": "Bezpečnostná hrozba!",
|
||||
"oldElectronClientDescription1": "Používate starú verziu klienta Jitsi Meet, ktorá má známe zraniteľnosti. Aktualizujte na ",
|
||||
"oldElectronClientDescription2": "najnovšiu verziu",
|
||||
"oldElectronClientDescription3": " teraz!"
|
||||
},
|
||||
"passwordSetRemotely": "nastavené iným účastníkom",
|
||||
"passwordDigitsOnly": "až {{number}} číslic",
|
||||
"poweredby": "založené na",
|
||||
"prejoin": {
|
||||
"audioAndVideoError": "Chyba zvuku a videa:",
|
||||
"audioOnlyError": "Chyba zvuku:",
|
||||
"audioTrackError": "Nemôžem vytvoriť zvukovú stopu.",
|
||||
"callMe": "Zavolať mi",
|
||||
"callMeAtNumber": "Zavolajte mi na toto číslo:",
|
||||
"configuringDevices": "Konfigurácia zariedení...",
|
||||
"connectedWithAudioQ": "Ste pripojení so zvukom?",
|
||||
"copyAndShare": "Kopírovať a zdieľať odkaz",
|
||||
"dialInMeeting": "Volanie dnu do konferencie",
|
||||
"dialInPin": "Volajte dnu do konferencie a zadajte PIN kód:",
|
||||
"dialing": "Vytáčanie",
|
||||
"doNotShow": "Viac nezobrazovať",
|
||||
"errorDialOut": "Nemôžem volať von",
|
||||
"errorDialOutDisconnected": "Nemôžem volať von. Odpojené",
|
||||
"errorDialOutFailed": "Nemôžem volať von. Volanie zlyhalo",
|
||||
"errorDialOutStatus": "Chyba pri získavaní stavu volania",
|
||||
"errorStatusCode": "Chyba volania von, kód: {{status}}",
|
||||
"errorValidation": "Overenie čísla zlyhalo",
|
||||
"iWantToDialIn": "Chcem volať dnu",
|
||||
"joinAudioByPhone": "Vstúpiť so zvukom cez telefón",
|
||||
"joinMeeting": "Vstúpiť do konferencie",
|
||||
"joinWithoutAudio": "Vstúpiť bez zvuku",
|
||||
"initiated": "Hovor začatý",
|
||||
"linkCopied": "Odkaz skopírovaný do schránky",
|
||||
"lookGood": "Váš mikrofón funguje správne",
|
||||
"or": "alebo",
|
||||
"calling": "Volanie",
|
||||
"startWithPhone": "Začať so zvukom cez telefón",
|
||||
"screenSharingError": "Chyba pri zdieľaní obrazovky:",
|
||||
"videoOnlyError": "Chyba videa:",
|
||||
"videoTrackError": "Nemôžem vytvoriť video stopu.",
|
||||
"viewAllNumbers": "zobraziť všetky čísla"
|
||||
},
|
||||
"presenceStatus": {
|
||||
"busy": "Obsadený",
|
||||
"calling": "Je volaný",
|
||||
@@ -485,6 +553,8 @@
|
||||
},
|
||||
"raisedHand": "Chcel by som hovoriť",
|
||||
"recording": {
|
||||
"limitNotificationDescriptionWeb": "Nahrávanie je obmedzené na {{limit}} minút. Pre neobmedzené nahrávanie skúste <a href={{url}} rel='noopener noreferrer' target='_blank'>{{app}}</a>.",
|
||||
"limitNotificationDescriptionNative": "Nahrávanie je obmedzené na {{limit}} minút. Pre neobmedzené nahrávanie skúste <3>{{app}}</3>.",
|
||||
"authDropboxText": "Nahrať na Dropbox",
|
||||
"availableSpace": "Dostupná kapacita {{spaceLeft}} MB (ca. {{duration}} minút nahrávania)",
|
||||
"beta": "BETA",
|
||||
@@ -514,6 +584,12 @@
|
||||
"sectionList": {
|
||||
"pullToRefresh": "Potiahnuť pre aktualizáciu"
|
||||
},
|
||||
"security": {
|
||||
"about": "Môžete nastaviť $t(lockRoomPassword) pre konferenciu. Účastníci budú musieť zadať $t(lockRoomPassword), aby mohli vstúpiť.",
|
||||
"aboutReadOnly": "Moderátor može nastaviť $t(lockRoomPassword) pre konferenciu. Účastníci budú musieť zadať $t(lockRoomPassword), aby mohli vstúpiť.",
|
||||
"insecureRoomNameWarning": "Názov konferencie nie je bezpečný. Môžu do nej vstúpiť neželaní účastníci. Zvážte zabezpečenie konferencie tlačidlom.",
|
||||
"securityOptions": "Nastavenie zabezpečenia"
|
||||
},
|
||||
"settings": {
|
||||
"calendar": {
|
||||
"about": "Používa sa kalendárová integrácia {{appName}} pre zabezpečený prístup ku vašemu kalendáru.",
|
||||
@@ -526,6 +602,7 @@
|
||||
"followMe": "Všetci sledujú mňa",
|
||||
"language": "Jazyk",
|
||||
"loggedIn": "Prihlásený ako {{name}}",
|
||||
"microphones": "Mikrofóny",
|
||||
"moderator": "Moderátor",
|
||||
"more": "Viac",
|
||||
"name": "Meno",
|
||||
@@ -533,6 +610,7 @@
|
||||
"selectAudioOutput": "Zvukový výstup",
|
||||
"selectCamera": "Kamera",
|
||||
"selectMic": "Mikrofón",
|
||||
"speakers": "Reproduktory",
|
||||
"startAudioMuted": "Pri pripojení všetkým stlmiť zvuk",
|
||||
"startVideoMuted": "Pri pripojení všetkým vypnúť video",
|
||||
"title": "Nastavenia"
|
||||
@@ -540,12 +618,15 @@
|
||||
"settingsView": {
|
||||
"advanced": "Rozšírené",
|
||||
"alertOk": "OK",
|
||||
"alertCancel": "Zrušiť",
|
||||
"alertTitle": "Upozornenie",
|
||||
"alertURLText": "Zadaná serverový URL je neplatná",
|
||||
"alertURLText": "Zadaná serverová URL je neplatná",
|
||||
"buildInfoSection": "informácie o kompilácií",
|
||||
"conferenceSection": "Konferencia",
|
||||
"disableCallIntegration": "Deaktivovať integráciu s natívnymi volaniami",
|
||||
"disableP2P": "Deaktivovať mód s koncovými zariadeniami",
|
||||
"disableCrashReporting": "Vypnúť oznamovanie pádov",
|
||||
"disableCrashReportingWarning": "Naozak chcete vypnúť oznamovanie pádov? Nastavenie bude aktívne po reštartovaní aplikácie.",
|
||||
"displayName": "Ukázať",
|
||||
"email": "E-mail",
|
||||
"header": "Nastavenia",
|
||||
@@ -562,10 +643,10 @@
|
||||
},
|
||||
"speaker": "Rečník",
|
||||
"speakerStats": {
|
||||
"hours": "",
|
||||
"minutes": "",
|
||||
"hours": "{{count}}h",
|
||||
"minutes": "{{count}}m",
|
||||
"name": "Meno",
|
||||
"seconds": "",
|
||||
"seconds": "{{count}}s",
|
||||
"speakerStats": "Štatistiky rečníka",
|
||||
"speakerTime": "Čas rečníka"
|
||||
},
|
||||
@@ -576,7 +657,7 @@
|
||||
"suspendedoverlay": {
|
||||
"rejoinKeyTitle": "Znovu pripojiť",
|
||||
"text": "Stlačte tlačidlo <i>Znovu pripojiť</i> na opätovné spojenie.",
|
||||
"title": "Konferencia sa prerušila lebo váš počítač bol uspaní."
|
||||
"title": "Konferencia sa prerušila lebo váš počítač bol uspaný."
|
||||
},
|
||||
"toolbar": {
|
||||
"accessibilityLabel": {
|
||||
@@ -587,14 +668,17 @@
|
||||
"chat": "Zapnúť/vypnúť textovú diskusiu",
|
||||
"document": "Zatvoriť zdielaný dokument",
|
||||
"download": "Stiahnuť našu aplikáciu",
|
||||
"e2ee": "Koncové šifrovanie",
|
||||
"feedback": "Zanechať spätnú väzbu",
|
||||
"fullScreen": "Zapnúť/vypnúť zobrazenie na celú obrazovku",
|
||||
"grantModerator": "Urobiť moderátorom",
|
||||
"hangup": "Ukončiť volanie",
|
||||
"help": "Pomoc",
|
||||
"invite": "Pozvať účastníka",
|
||||
"kick": "Odstrániť účastníka",
|
||||
"lobbyButton": "Zapnúť/vypnúť čakáreň",
|
||||
"localRecording": "Zapnúť/vypnúť ovládanie lokálneho nahrávania",
|
||||
"lockRoom": "Zapnúť/vypnúť heslo pre stretnutie",
|
||||
"lockRoom": "Zapnúť/vypnúť heslo",
|
||||
"moreActions": "Menu „Ďalšie akcie“ zapnúť/vypnúť",
|
||||
"moreActionsMenu": "Menu „Ďalšie akcie“",
|
||||
"moreOptions": "Zobraz viac možností",
|
||||
@@ -606,6 +690,7 @@
|
||||
"raiseHand": "„Ohlásiť sa“ zapnúť/vypnúť",
|
||||
"recording": "Nahrávanie zapnúť/vypnúť",
|
||||
"remoteMute": "Účastníka stlmiť",
|
||||
"security": "Nastavenie zabezpečenia",
|
||||
"Settings": "Nastavenia zapnúť/vypnúť",
|
||||
"sharedvideo": "Zdieľanie YouTube videa zapnúť/vypnúť",
|
||||
"shareRoom": "Pozvať osobu",
|
||||
@@ -615,6 +700,7 @@
|
||||
"speakerStats": "Štatistiky rečníka zobraziť/skryť",
|
||||
"tileView": "Prepnúť dlaždicové zobrazenie",
|
||||
"toggleCamera": "Zmeniť kameru",
|
||||
"toggleFilmstrip": "Zapnúť/vypnúť video náhľady",
|
||||
"videomute": "„Video odpojiť“ zapnúť/vypnúť",
|
||||
"videoblur": "Rozmazanie pozadia zapnúť/vypnúť"
|
||||
},
|
||||
@@ -622,21 +708,24 @@
|
||||
"audioOnlyOff": "Mód „Iba zvuk“ deaktivovať",
|
||||
"audioOnlyOn": "Mód „Iba zvuk“ aktivovať",
|
||||
"audioRoute": "Vybrať zvukové zariadenie",
|
||||
"authenticate": "Overiť",
|
||||
"authenticate": "Autentifikácia",
|
||||
"callQuality": "Spravovať kvalitu videa",
|
||||
"chat": "Otvoriť / Zatvoriť chat",
|
||||
"closeChat": "Chat zatvoriť",
|
||||
"documentClose": "Zdielaný dokument zatvoriť",
|
||||
"documentOpen": "Zdielaný dokument otvoriť",
|
||||
"documentClose": "Zatvoriť zdieľaný dokument",
|
||||
"documentOpen": "Otvoriť zdieľaný dokument",
|
||||
"download": "Stiahnuť našu aplikáciu",
|
||||
"e2ee": "Koncové šifrovanie",
|
||||
"enterFullScreen": "Zobraziť na celú obrazovku",
|
||||
"enterTileView": "Kachličkové zobrazenie",
|
||||
"enterTileView": "Dlaždicové zobrazenie",
|
||||
"exitFullScreen": "Opustiť celú obrazovku",
|
||||
"exitTileView": "Kachličkové zobrazenie vypnúť",
|
||||
"exitTileView": "Zrušiť dlaždicové zobrazenie",
|
||||
"feedback": "Nechať spätnú väzbu",
|
||||
"hangup": "Odísť",
|
||||
"help": "Pomoc",
|
||||
"invite": "Pozvať účastníkov",
|
||||
"invite": "Pozvať ľudí",
|
||||
"lobbyButtonDisable": "Vypnúť čakáreň",
|
||||
"lobbyButtonEnable": "Zapnúť čakáreň",
|
||||
"login": "Prihlásiť",
|
||||
"logout": "Odhlásiť",
|
||||
"lowerYourHand": "Dať dole ruku",
|
||||
@@ -645,10 +734,10 @@
|
||||
"mute": "Vypnúť / Zapnúť mikrofón",
|
||||
"muteEveryone": "Všetkých stlmiť",
|
||||
"noAudioSignalTitle": "Neprichádza žiaden vstup z vašeho mikrofónu!",
|
||||
"noAudioSignalDesc": "Pokiaľ ste zámerne nestlmili váš mikrofón v systémových nastavenia alebo hardvery, pouvažujte nad prepnutím zariadenia.",
|
||||
"noAudioSignalDescSuggestion": "Pokiaľ ste zámerne nestlmili váš mikrofón v systémových nastavenia alebo hardvery, pouvažujte nad prepnutím na odporúčané zariadenie.",
|
||||
"noAudioSignalDesc": "Pokiaľ ste zámerne nestlmili váš mikrofón v systémových nastaveniach alebo hardvéri, pouvažujte nad prepnutím zariadenia.",
|
||||
"noAudioSignalDescSuggestion": "Pokiaľ ste zámerne nestlmili váš mikrofón v systémových nastaveniach alebo hardvéri, pouvažujte nad prepnutím na odporúčané zariadenie.",
|
||||
"noAudioSignalDialInDesc": "Môže zavolať pomocou:",
|
||||
"noAudioSignalDialInLinkDesc" : "Pripojovacie telefónne čísla",
|
||||
"noAudioSignalDialInLinkDesc": "Pripojovacie telefónne čísla",
|
||||
"noisyAudioInputTitle": "Váš mikrofón vyzerá byť zašumený!",
|
||||
"noisyAudioInputDesc": "Vyzerá, že váš mikrofón je zašumený, skúste ho vypnuť, alebo zmeňte zariadenie.",
|
||||
"openChat": "Otvoriť chat",
|
||||
@@ -657,6 +746,7 @@
|
||||
"profile": "Úprava profilu",
|
||||
"raiseHand": "Prihlásiť / Odhlásiť sa o slovo",
|
||||
"raiseYourHand": "Prihlásiť sa o slovo",
|
||||
"security": "Nastavenie zabezpečenia",
|
||||
"Settings": "Nastavenia",
|
||||
"sharedvideo": "Zdielať YouTube video",
|
||||
"shareRoom": "Pozvať niekoho",
|
||||
@@ -684,7 +774,7 @@
|
||||
"pending": "Pripravuje sa prepisovanie stretnutia...",
|
||||
"start": "Začni zobrazovať titulky",
|
||||
"stop": "Skonči zobrazovať titulky",
|
||||
"tr": ""
|
||||
"tr": "TR"
|
||||
},
|
||||
"userMedia": {
|
||||
"androidGrantPermissions": "Vyberte <b><i>Povoliť</i></b> keď sa prehliadač bude pýtať na povolenie.",
|
||||
@@ -699,14 +789,14 @@
|
||||
"safariGrantPermissions": "Vyberte <b><i>OK</i></b> keď sa prehliadač bude pýtať na povolenie."
|
||||
},
|
||||
"videoSIPGW": {
|
||||
"busy": "",
|
||||
"busyTitle": "",
|
||||
"errorAlreadyInvited": "",
|
||||
"errorInvite": "",
|
||||
"errorInviteFailed": "",
|
||||
"errorInviteFailedTitle": "",
|
||||
"errorInviteTitle": "",
|
||||
"pending": ""
|
||||
"busy": "Všetky zdroje sú obsadené, skúste znovu o pár minút.",
|
||||
"busyTitle": "Služba je obsadená",
|
||||
"errorAlreadyInvited": "{{displayName}} už bol pozvaný",
|
||||
"errorInvite": "Konferencia sa ešte nezačala, skúste neskôr.",
|
||||
"errorInviteFailed": "Skúste znovu neskôr.",
|
||||
"errorInviteFailedTitle": "Pozývanie {{displayName}} zlyhalo",
|
||||
"errorInviteTitle": "Chyba pozývania",
|
||||
"pending": "{{displayName}} bol pozvaný"
|
||||
},
|
||||
"videoStatus": {
|
||||
"audioOnly": "AUD",
|
||||
@@ -728,8 +818,10 @@
|
||||
},
|
||||
"videothumbnail": {
|
||||
"domute": "Vypnúť mikrofón",
|
||||
"domuteOthers": "Vypnúť mikrofóny ostatným",
|
||||
"flip": "Prevrátiť",
|
||||
"kick": "Vyhodiť",
|
||||
"grantModerator": "Urobiť moderátorom",
|
||||
"kick": "Odstrániť",
|
||||
"moderator": "Moderátor",
|
||||
"mute": "Účastník s vypnutým mikrofónom",
|
||||
"muted": "Vypnutý mikrofón",
|
||||
@@ -751,20 +843,62 @@
|
||||
"connectCalendarButton": "Pripojte váš kalendár",
|
||||
"connectCalendarText": "",
|
||||
"enterRoomTitle": "Začať nové stretnutie",
|
||||
"roomNameAllowedChars": "Meno stretnutia by nemalo obsahovať žiaden z týchto znakov: ?, &, :, ', \", %, #.",
|
||||
"getHelp": "Získať pomoc",
|
||||
"go": "Začať",
|
||||
"goSmall": "Začať",
|
||||
"join": "Pripojiť",
|
||||
"info": "Info",
|
||||
"join": "Pripojiť",
|
||||
"moderatedMessage": "Alebo si <a href=\"{{url}}\" rel=\"noopener noreferrer\" target=\"_blank\">rezervujte vopred URL</a> pre konferenciu, kde budete jediný moderátor.",
|
||||
"privacy": "Súkromie",
|
||||
"recentList": "Posledné",
|
||||
"recentListDelete": "Vymazať",
|
||||
"recentListEmpty": "Váš zoznam posledných hovorov je prázdny. Spojte sa s kolegami z Vášho tímu a potom tu nájdete všetky vaše stretnutia.",
|
||||
"reducedUIText": "Vítajte v {{app}}!",
|
||||
"reducedUIText": "Vitajte v {{app}}!",
|
||||
"roomNameAllowedChars": "Názov miestnosti by nemal obsahovať žiaden z týchto znakov: ?, &, :, ', \", %, #.",
|
||||
"roomname": "Zadajte názov miestnosti",
|
||||
"roomnameHint": "Zadajte názov alebo URL odkaz miestnosti ku ktorej sa chcete pripojiť. Pokial ste miestnosť vytvorili, uistite sa, že ostatný účastníci schôdzky zadajú rovnaké meno ako vy.",
|
||||
"roomnameHint": "Zadajte názov alebo URL odkaz miestnosti ku ktorej sa chcete pripojiť. Názov si môžete vymyslieť - dajte ho vedieť ostatným účastníkom konferencie, ktorí ho sem zadajú.",
|
||||
"sendFeedback": "Odoslať spätnú väzbu",
|
||||
"terms": "Podmienky používania",
|
||||
"title": "Zabezpečené, plnohodnotné a úplne bezplatné videokonferencie"
|
||||
},
|
||||
"lonelyMeetingExperience": {
|
||||
"button": "Pozvať ďalších",
|
||||
"youAreAlone": "Ste sám v tejto konferencii"
|
||||
},
|
||||
"helpView": {
|
||||
"header": "Centrum pomoci"
|
||||
},
|
||||
"lobby": {
|
||||
"knockingParticipantList": "Zoznam čakajúcich účastníkov",
|
||||
"allow": "Povoliť",
|
||||
"backToKnockModeButton": "Žiadne heslo, požiadať o vstup",
|
||||
"dialogTitle": "Čakáreň",
|
||||
"disableDialogContent": "Čakáreň je zapnutá. Táto funkcia zabezpečuje, že do konferencie nemôžu vstúpiť neželaní účastníci. Chcete ju vypnúť?",
|
||||
"disableDialogSubmit": "Vypnúť",
|
||||
"emailField": "Zadajte vašu e-mailovú adresu",
|
||||
"enableDialogPasswordField": "Nastaviť heslo (voliteľné)",
|
||||
"enableDialogSubmit": "Zapnúť",
|
||||
"enableDialogText": "Čakáreň umožňuje zabezpečiť konferenciu tým, že účastníci môžu do konferencie vstúpiť len po schválení moderátorom.",
|
||||
"enterPasswordButton": "Zadať heslo do konferencie",
|
||||
"enterPasswordTitle": "Zadajte heslo pre vstup do konferencie",
|
||||
"invalidPassword": "Nesprávne heslo",
|
||||
"joiningMessage": "Vstúpite do konferencie, keď niekto schváli vašu žiadosť",
|
||||
"joinWithPasswordMessage": "Vstupujem s heslom...",
|
||||
"joinRejectedMessage": "Vaša žiadosť bola zamietnutá moderátorom.",
|
||||
"joinTitle": "Vstup do konferencie",
|
||||
"joiningTitle": "Žiadam o vstup do konferencie...",
|
||||
"joiningWithPasswordTitle": "Vstupujem s heslom...",
|
||||
"knockButton": "Požiadať o vstup",
|
||||
"knockTitle": "Niekto žiada o vstup do konferencie",
|
||||
"nameField": "Zadajte vaše meno",
|
||||
"notificationLobbyAccessDenied": "Žiadosť {{targetParticipantName}} o vstup bola zamietnutá účastníkom {{originParticipantName}}",
|
||||
"notificationLobbyAccessGranted": "Žiadosť {{targetParticipantName}} o vstup bola povolená účastníkom {{originParticipantName}}",
|
||||
"notificationLobbyDisabled": "Účastník {{originParticipantName}} vypol čakáreň",
|
||||
"notificationLobbyEnabled": "Účastník {{originParticipantName}} zapol čakáreň",
|
||||
"notificationTitle": "Čakáreň",
|
||||
"passwordField": "Zadajte heslo do konferencie",
|
||||
"passwordJoinButton": "Vstúpiť",
|
||||
"reject": "Odmietnuť",
|
||||
"toggleLabel": "Zapnúť čakáreň"
|
||||
}
|
||||
}
|
||||
|
||||
1520
lang/main-sr.json
@@ -320,7 +320,7 @@
|
||||
"liveStreamURL": "Livesändning:",
|
||||
"moreNumbers": "Fler nummer",
|
||||
"noNumbers": "Inga inringningsnummer.",
|
||||
"noPassword": "Inga enheter",
|
||||
"noPassword": "Inget lösenord",
|
||||
"noRoom": "Inget rum specificerades för inringning.",
|
||||
"numbers": "Inringningsnummer",
|
||||
"password": "$t(lockRoomPasswordUppercase):",
|
||||
|
||||