Compare commits

..

7 Commits

Author SHA1 Message Date
Hristo Terezov
61d483ce1a fix(trackOpQueue):setEffect &_turnScreenSharingOff 2022-12-12 15:53:18 -06:00
Hristo Terezov
1e2f9160b5 fix: review comments. 2022-12-07 18:27:26 -06:00
Hristo Terezov
4daddd341d docs(conference.js): Add JSDoc for startConference 2022-12-07 14:37:56 -06:00
Hristo Terezov
15cd83387a fix(conference):useAudioVideo remove unused promise 2022-12-07 10:04:29 -06:00
Hristo Terezov
8303e261b2 fix: review comments 2022-12-07 09:56:11 -06:00
Hristo Terezov
d3c45a5dea fix(conference): started muted from jicofo 2022-12-07 09:56:11 -06:00
Hristo Terezov
0d6f00abf3 feat(tracks): Synchronize track operations. 2022-12-07 09:56:09 -06:00
745 changed files with 16918 additions and 23325 deletions

View File

@@ -1,25 +0,0 @@
name: Lua CI
on: [pull_request]
jobs:
luacheck:
name: Luacheck
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: Install luarocks
run: sudo apt-get --install-recommends -y install luarocks
- name: Install luacheck
run: sudo luarocks install luacheck
- name: Check lua codes
run: |
set -o pipefail && luacheck . | awk -F: '
{
print $0
printf "::warning file=%s,line=%s,col=%s::%s\n", $1, $2, $3, $4
}
'

View File

@@ -7,7 +7,7 @@ jobs:
name: Lint
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v2
- uses: actions/setup-node@v3
with:
node-version: 16
@@ -20,11 +20,12 @@ jobs:
- name: Check if the git repository is clean
run: $(exit $(git status --porcelain --untracked-files=no | head -255 | wc -l)) || (echo "Dirty git tree"; git diff; exit 1)
- run: npm run lint:ci
- run: for file in lang/*.json; do npx --yes jsonlint -q $file || exit 1; done
linux-build:
name: Build Frontend (Linux)
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v2
- uses: actions/setup-node@v3
with:
node-version: 16
@@ -35,32 +36,10 @@ jobs:
name: Build Frontend (macOS)
runs-on: macOS-latest
steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v2
- uses: actions/setup-node@v3
with:
node-version: 16
cache: 'npm'
- run: npm install
- run: make
android-build:
name: Build mobile bundle (Android)
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: actions/setup-node@v3
with:
node-version: 16
cache: 'npm'
- run: npm install
- run: npx react-native bundle --entry-file react/index.native.js --platform android --bundle-output /tmp/android.bundle --reset-cache
ios-build:
name: Build mobile bundle (iOS)
runs-on: macOS-latest
steps:
- uses: actions/checkout@v3
- uses: actions/setup-node@v3
with:
node-version: 16
cache: 'npm'
- run: npm install
- run: npx react-native bundle --entry-file react/index.native.js --platform ios --bundle-output /tmp/ios.bundle --reset-cache

View File

@@ -1,8 +0,0 @@
global = false
unused = false
redefined = false
ignore = { "581" }
max_line_length = false
color = false
formatter = "plain"
quiet = 1

View File

@@ -141,7 +141,7 @@ react/features/sample/
```
The middleware must be imported in `react/features/app/` specifically
in `middlewares.any.ts`, `middlewares.native.ts` or `middlewares.web.ts` where appropriate.
in `middlewares.any`, `middlewares.native.js` or `middlewares.web.js` where appropriate.
Likewise for the reducer.
An `index.js` file must not be provided for exporting actions, action types and

View File

@@ -44,8 +44,12 @@ deploy-appbundle:
cp \
$(BUILD_DIR)/app.bundle.min.js \
$(BUILD_DIR)/app.bundle.min.js.map \
$(BUILD_DIR)/do_external_connect.min.js \
$(BUILD_DIR)/do_external_connect.min.js.map \
$(BUILD_DIR)/external_api.min.js \
$(BUILD_DIR)/external_api.min.js.map \
$(BUILD_DIR)/dial_in_info_bundle.min.js \
$(BUILD_DIR)/dial_in_info_bundle.min.js.map \
$(BUILD_DIR)/alwaysontop.min.js \
$(BUILD_DIR)/alwaysontop.min.js.map \
$(OUTPUT_DIR)/analytics-ga.js \
@@ -66,6 +70,7 @@ deploy-lib-jitsi-meet:
$(LIBJITSIMEET_DIR)/dist/umd/lib-jitsi-meet.min.js \
$(LIBJITSIMEET_DIR)/dist/umd/lib-jitsi-meet.min.map \
$(LIBJITSIMEET_DIR)/dist/umd/lib-jitsi-meet.e2ee-worker.js \
$(LIBJITSIMEET_DIR)/connection_optimization/external_connect.js \
$(LIBJITSIMEET_DIR)/modules/browser/capabilities.json \
$(DEPLOY_DIR)
@@ -126,7 +131,7 @@ dev: deploy-init deploy-css deploy-rnnoise-binary deploy-tflite deploy-meet-mode
source-package:
mkdir -p source_package/jitsi-meet/css && \
cp -r *.js *.html resources/*.txt favicon.ico fonts images libs static sounds LICENSE lang source_package/jitsi-meet && \
cp -r *.js *.html resources/*.txt connection_optimization favicon.ico fonts images libs static sounds LICENSE lang source_package/jitsi-meet && \
cp css/all.css source_package/jitsi-meet/css && \
(cd source_package ; tar cjf ../jitsi-meet.tar.bz2 jitsi-meet) && \
rm -rf source_package

Binary file not shown.

After

Width:  |  Height:  |  Size: 659 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 379 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 960 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.4 KiB

View File

@@ -1,70 +0,0 @@
<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 android:scaleX="0.75" android:scaleY="0.75" android:translateX="35" android:translateY="35">
<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>

View File

@@ -2,5 +2,4 @@
<adaptive-icon xmlns:android="http://schemas.android.com/apk/res/android">
<background android:drawable="@color/ic_launcher_background"/>
<foreground android:drawable="@mipmap/ic_launcher_foreground"/>
<monochrome android:drawable="@drawable/ic_launcher_monochrome"/>
</adaptive-icon>

View File

@@ -2,5 +2,4 @@
<adaptive-icon xmlns:android="http://schemas.android.com/apk/res/android">
<background android:drawable="@color/ic_launcher_background"/>
<foreground android:drawable="@mipmap/ic_launcher_foreground"/>
<monochrome android:drawable="@drawable/ic_launcher_monochrome"/>
</adaptive-icon>

View File

@@ -76,6 +76,7 @@ dependencies {
implementation project(':react-native-get-random-values')
implementation project(':react-native-immersive')
implementation project(':react-native-keep-awake')
implementation project(':react-native-masked-view_masked-view')
implementation project(':react-native-orientation-locker')
implementation project(':react-native-pager-view')
implementation project(':react-native-performance')

View File

@@ -81,8 +81,6 @@ public class JitsiMeetView extends FrameLayout {
result.putBoolean(key, (Boolean)bValue);
} else if (valueType.contentEquals("String")) {
result.putString(key, (String)bValue);
} else if (valueType.contentEquals("Integer")) {
result.putInt(key, (int)bValue);
} else if (valueType.contentEquals("Bundle")) {
result.putBundle(key, mergeProps((Bundle)aValue, (Bundle)bValue));
} else {

View File

@@ -73,6 +73,7 @@ class ReactInstanceManagerHolder {
new SplashScreenModule(reactContext),
new PictureInPictureModule(reactContext),
new ProximityModule(reactContext),
new WiFiStatsModule(reactContext),
new org.jitsi.meet.sdk.net.NAT64AddrInfoModule(reactContext)));
if (AudioModeModule.useConnectionService()) {
@@ -119,10 +120,11 @@ class ReactInstanceManagerHolder {
new com.oblador.performance.PerformancePackage(),
new com.reactnativecommunity.slider.ReactSliderPackage(),
new com.brentvatne.react.ReactVideoPackage(),
new org.reactnative.maskedview.RNCMaskedViewPackage(),
new com.reactnativecommunity.webview.RNCWebViewPackage(),
new com.kevinresol.react_native_default_preference.RNDefaultPreferencePackage(),
new com.learnium.RNDeviceInfo.RNDeviceInfo(),
new com.swmansion.gesturehandler.RNGestureHandlerPackage(),
new com.swmansion.gesturehandler.react.RNGestureHandlerPackage(),
new org.linusu.RNGetRandomValuesPackage(),
new com.rnimmersive.RNImmersivePackage(),
new com.swmansion.rnscreens.RNScreensPackage(),

View File

@@ -0,0 +1,203 @@
/*
* Copyright @ 2017-present Atlassian Pty Ltd
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package org.jitsi.meet.sdk;
import android.content.Context;
import android.net.wifi.WifiInfo;
import android.net.wifi.WifiManager;
import com.facebook.react.bridge.Promise;
import com.facebook.react.bridge.ReactApplicationContext;
import com.facebook.react.bridge.ReactContextBaseJavaModule;
import com.facebook.react.bridge.ReactMethod;
import com.facebook.react.module.annotations.ReactModule;
import org.jitsi.meet.sdk.log.JitsiMeetLogger;
import org.json.JSONArray;
import org.json.JSONObject;
import java.net.InetAddress;
import java.net.NetworkInterface;
import java.net.SocketException;
import java.net.UnknownHostException;
import java.util.Enumeration;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
/**
* Module exposing WiFi statistics.
*
* Gathers rssi, signal in percentage, timestamp and the addresses of the wifi
* device.
*/
@ReactModule(name = WiFiStatsModule.NAME)
class WiFiStatsModule
extends ReactContextBaseJavaModule {
public static final String NAME = "WiFiStats";
/**
* The {@code Log} tag {@code WiFiStatsModule} is to log messages with.
*/
static final String TAG = NAME;
/**
* The scale used for the signal value. A level of the signal, given in the
* range of 0 to SIGNAL_LEVEL_SCALE-1 (both inclusive).
*/
public final static int SIGNAL_LEVEL_SCALE = 101;
/**
* {@link ExecutorService} for running all operations on a dedicated thread.
*/
private static final ExecutorService executor
= Executors.newSingleThreadExecutor();
/**
* Initializes a new module instance. There shall be a single instance of
* this module throughout the lifetime of the application.
*
* @param reactContext the {@link ReactApplicationContext} where this module
* is created.
*/
public WiFiStatsModule(ReactApplicationContext reactContext) {
super(reactContext);
}
/**
* Gets the name for this module to be used in the React Native bridge.
*
* @return a string with the module name.
*/
@Override
public String getName() {
return NAME;
}
/**
* Returns the {@link InetAddress} represented by this int.
*
* @param value the int representation of the ip address.
* @return the {@link InetAddress}.
* @throws UnknownHostException - if IP address is of illegal length.
*/
public static InetAddress toInetAddress(int value)
throws UnknownHostException {
return InetAddress.getByAddress(
new byte[] {
(byte) value,
(byte) (value >> 8),
(byte) (value >> 16),
(byte) (value >> 24)
});
}
/**
* Public method to retrieve WiFi stats.
*
* @param promise a {@link Promise} which will be resolved if WiFi stats are
* retrieved successfully, and it will be rejected otherwise.
*/
@ReactMethod
public void getWiFiStats(final Promise promise) {
Runnable r = new Runnable() {
@Override
public void run() {
try {
Context context
= getReactApplicationContext().getApplicationContext();
WifiManager wifiManager
= (WifiManager) context
.getSystemService(Context.WIFI_SERVICE);
if (!wifiManager.isWifiEnabled()) {
promise.reject(new Exception("Wifi not enabled"));
return;
}
WifiInfo wifiInfo = wifiManager.getConnectionInfo();
if (wifiInfo.getNetworkId() == -1) {
promise.reject(new Exception("Wifi not connected"));
return;
}
int rssi = wifiInfo.getRssi();
int signalLevel
= WifiManager.calculateSignalLevel(
rssi, SIGNAL_LEVEL_SCALE);
JSONObject result = new JSONObject();
result.put("rssi", rssi)
.put("signal", signalLevel)
.put("timestamp", System.currentTimeMillis());
JSONArray addresses = new JSONArray();
InetAddress wifiAddress
= toInetAddress(wifiInfo.getIpAddress());
try {
Enumeration<NetworkInterface> e
= NetworkInterface.getNetworkInterfaces();
while (e.hasMoreElements()) {
NetworkInterface networkInterface = e.nextElement();
boolean found = false;
// first check whether this is the desired interface
Enumeration<InetAddress> as
= networkInterface.getInetAddresses();
while (as.hasMoreElements()) {
InetAddress a = as.nextElement();
if(a.equals(wifiAddress)) {
found = true;
break;
}
}
if (found) {
// interface found let's put addresses
// to the result object
as = networkInterface.getInetAddresses();
while (as.hasMoreElements()) {
InetAddress a = as.nextElement();
if (a.isLinkLocalAddress())
continue;
addresses.put(a.getHostAddress());
}
}
}
} catch (SocketException e) {
JitsiMeetLogger.e(e, TAG + " Unable to NetworkInterface.getNetworkInterfaces()");
}
result.put("addresses", addresses);
promise.resolve(result.toString());
JitsiMeetLogger.d(TAG + " WiFi stats: " + result.toString());
} catch (Throwable e) {
JitsiMeetLogger.e(e, TAG + " Failed to obtain wifi stats");
promise.reject(
new Exception("Failed to obtain wifi stats"));
}
}
};
executor.execute(r);
}
}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 699 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 406 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.1 KiB

View File

@@ -31,6 +31,8 @@ include ':react-native-immersive'
project(':react-native-immersive').projectDir = new File(rootProject.projectDir, '../node_modules/react-native-immersive/android')
include ':react-native-keep-awake'
project(':react-native-keep-awake').projectDir = new File(rootProject.projectDir, '../node_modules/react-native-keep-awake/android')
include ':react-native-masked-view_masked-view'
project(':react-native-masked-view_masked-view').projectDir = new File(rootProject.projectDir, '../node_modules/@react-native-masked-view/masked-view/android')
include ':react-native-orientation-locker'
project(':react-native-orientation-locker').projectDir = new File(rootProject.projectDir, '../node_modules/react-native-orientation-locker/android')
include ':react-native-pager-view'

11
app.js
View File

@@ -33,6 +33,17 @@ window.APP = {
API,
conference,
// Used by do_external_connect.js if we receive the attach data after
// connect was already executed. status property can be 'initialized',
// 'ready', or 'connecting'. We are interested in 'ready' status only which
// means that connect was executed but we have to wait for the attach data.
// In status 'ready' handler property will be set to a function that will
// finish the connect process when the attach data or error is received.
connect: {
handler: null,
status: 'initialized'
},
// Used for automated performance tests.
connectionTimes: {
'index.loaded': window.indexLoadedTime

File diff suppressed because it is too large Load Diff

180
config.js
View File

@@ -46,9 +46,9 @@ var config = {
},
// BOSH URL. FIXME: use XEP-0156 to discover it.
bosh: 'https://jitsi-meet.example.com/' + subdir + 'http-bind',
bosh: '//jitsi-meet.example.com/' + subdir + 'http-bind',
// Websocket URL (XMPP)
// Websocket URL
// websocket: 'wss://jitsi-meet.example.com/' + subdir + 'xmpp-websocket',
// The real JID of focus participant - can be overridden here
@@ -56,19 +56,6 @@ var config = {
// https://github.com/jitsi/jitsi-meet/issues/7376
// focusUserJid: 'focus@auth.jitsi-meet.example.com',
// Options related to the bridge (colibri) data channel
bridgeChannel: {
// If the backend advertises multiple colibri websockets, this options allows
// to filter some of them out based on the domain name. We use the first URL
// which does not match ignoreDomain, falling back to the first one that matches
// ignoreDomain. Has no effect if undefined.
// ignoreDomain: 'example.com',
// Prefer SCTP (WebRTC data channels over the media path) over a colibri websocket.
// If SCTP is available in the backend it will be used instead of a WS. Defaults to
// false (SCTP is used only if available and no WS are available).
// preferSctp: false
},
// Testing / experimental features.
//
@@ -92,6 +79,11 @@ var config = {
// This is useful when the client runs on a host with limited resources.
// noAutoPlayVideo: false,
// Whether to use fake constraints (height: 99999, width: 99999) when calling getDisplayMedia on
// Chromium based browsers. This is intended as a workaround for
// https://bugs.chromium.org/p/chromium/issues/detail?id=1056311
// setScreenSharingResolutionConstraints: true,
// Enable callstats only for a percentage of users.
// This takes a value between 0 and 100 which determines the probability for
// the callstats to be enabled.
@@ -197,22 +189,6 @@ var config = {
// enableOpusDtx: false,
// },
// Noise suppression configuration. By default rnnoise is used. Optionally Krisp
// can be used by enabling it below, but the Krisp JS SDK files must be supplied in your
// installation. Specifically, these files are needed:
// - https://meet.example.com/libs/krisp/krisp.mjs
// - https://meet.example.com/libs/krisp/models/model_8.kw
// - https://meet.example.com/libs/krisp/models/model_16.kw
// - https://meet.example.com/libs/krisp/models/model_32.kw
// NOTE: Krisp JS SDK v1.0.9 was tested.
// noiseSuppression: {
// krisp: {
// enabled: false,
// logProcessStats: false,
// debugLogs: false,
// },
// },
// Video
// Sets the preferred resolution (height) for local video. Defaults to 720.
@@ -286,6 +262,17 @@ var config = {
// applied locally. FIXME: having these 2 options is confusing.
// startWithVideoMuted: false,
// If set to true, prefer to use the H.264 video codec (if supported).
// Note that it's not recommended to do this because simulcast is not
// supported when using H.264. For 1-to-1 calls this setting is enabled by
// default and can be toggled in the p2p section.
// This option has been deprecated, use preferredCodec under videoQuality section instead.
// preferH264: true,
// If set to true, disable H.264 video codec by stripping it out of the
// SDP.
// disableH264: false,
// Desktop sharing
// Optional desktop sharing frame rate options. Default value: min:5, max:5.
@@ -447,6 +434,12 @@ var config = {
// 90: 2,
// },
// Provides a way to translate the legacy bridge signaling messages, 'LastNChangedEvent',
// 'SelectedEndpointsChangedEvent' and 'ReceiverVideoConstraint' into the new 'ReceiverVideoConstraints' message
// that invokes the new bandwidth allocation algorithm in the bridge which is described here
// - https://github.com/jitsi/jitsi-videobridge/blob/master/doc/allocation.md.
// useNewBandwidthAllocationStrategy: false,
// Specify the settings for video quality optimizations on the client.
// videoQuality: {
// // Provides a way to prevent a video codec from being negotiated on the JVB connection. The codec specified
@@ -571,15 +564,12 @@ var config = {
// Disables responsive tiles.
// disableResponsiveTiles: false,
// DEPRECATED. Please use `securityUi?.hideLobbyButton` instead.
// Hides lobby button.
// Hides lobby button
// hideLobbyButton: false,
// DEPRECATED. Please use `lobby?.autoKnock` instead.
// If Lobby is enabled starts knocking automatically.
// autoKnockLobby: false,
// DEPRECATED. Please use `lobby?.enableChat` instead.
// Enable lobby chat.
// enableLobbyChat: true,
@@ -590,38 +580,9 @@ var config = {
// Require users to always specify a display name.
// requireDisplayName: true,
// Enables webhid functionality for Audio.
// enableWebHIDFeature: false,
// DEPRECATED! Use 'welcomePage.disabled' instead.
// Whether to use a welcome page or not. In case it's false a random room
// will be joined when no room is specified.
// enableWelcomePage: true,
// Configs for welcome page.
// welcomePage: {
// // Whether to disable welcome page. In case it's disabled a random room
// // will be joined when no room is specified.
// disabled: false,
// // If set,landing page will redirect to this URL.
// customUrl: ''
// },
// Configs for the lobby screen.
// lobby {
// // If Lobby is enabled, it starts knocking automatically. Replaces `autoKnockLobby`.
// autoKnock: false,
// // Enables the lobby chat. Replaces `enableLobbyChat`.
// enableChat: true,
// },
// Configs for the security related UI elements.
// securityUi: {
// // Hides the lobby button. Replaces `hideLobbyButton`.
// hideLobbyButton: false,
// // Hides the possibility to set and enter a lobby password.
// disableLobbyPassword: false,
// },
enableWelcomePage: true,
// Disable app shortcuts that are registered upon joining a conference
// disableShortcuts: false,
@@ -740,6 +701,7 @@ var config = {
// 'chat',
// 'closedcaptions',
// 'desktop',
// 'dock-iframe',
// 'download',
// 'embedmeeting',
// 'etherpad',
@@ -767,6 +729,7 @@ var config = {
// 'stats',
// 'tileview',
// 'toggle-camera',
// 'undock-iframe',
// 'videoquality',
// 'whiteboard',
// ],
@@ -850,14 +813,6 @@ var config = {
// 'microphone', 'camera', 'select-background', 'invite', 'settings'
// hiddenPremeetingButtons: [],
// An array with custom option buttons for the participant context menu
// type: Array<{ icon: string; id: string; text: string; }>
// customParticipantMenuButtons: [],
// An array with custom option buttons for the toolbar
// type: Array<{ icon: string; id: string; text: string; }>
// customToolbarButtons: [],
// Stats
//
@@ -960,10 +915,18 @@ var config = {
// If not set, the effective value is 'all'.
// iceTransportPolicy: 'all',
// If set to true, it will prefer to use H.264 for P2P calls (if H.264
// is supported). This setting is deprecated, use preferredCodec instead.
// preferH264: true,
// Provides a way to set the video codec preference on the p2p connection. Acceptable
// codec values are 'VP8', 'VP9' and 'H264'.
// preferredCodec: 'H264',
// If set to true, disable H.264 video codec by stripping it out of the
// SDP. This setting is deprecated, use disabledCodec instead.
// disableH264: false,
// Provides a way to prevent a video codec from being negotiated on the p2p connection.
// disabledCodec: '',
@@ -1120,71 +1083,10 @@ var config = {
// use only.
// _desktopSharingSourceDevice: 'sample-id-or-label',
// DEPRECATED! Use deeplinking.disabled instead.
// If true, any checks to handoff to another application will be prevented
// and instead the app will continue to display in the current browser.
// disableDeepLinking: false,
// The deeplinking config.
// For information about the properties of
// deeplinking.[ios/android].dynamicLink check:
// https://firebase.google.com/docs/dynamic-links/create-manually
// deeplinking: {
//
// // The desktop deeplinking config.
// desktop: {
// appName: 'Jitsi Meet'
// },
// // If true, any checks to handoff to another application will be prevented
// // and instead the app will continue to display in the current browser.
// disabled: false,
// // whether to hide the logo on the deep linking pages.
// hideLogo: false,
// // The ios deeplinking config.
// ios: {
// appName: 'Jitsi Meet',
// // Specify mobile app scheme for opening the app from the mobile browser.
// appScheme: 'org.jitsi.meet',
// // Custom URL for downloading ios mobile app.
// downloadLink: 'https://itunes.apple.com/us/app/jitsi-meet/id1165103905',
// dynamicLink: {
// apn: 'org.jitsi.meet',
// appCode: 'w2atb',
// customDomain: undefined,
// ibi: 'com.atlassian.JitsiMeet.ios',
// isi: '1165103905'
// }
// },
// // The android deeplinking config.
// android: {
// appName: 'Jitsi Meet',
// // Specify mobile app scheme for opening the app from the mobile browser.
// appScheme: 'org.jitsi.meet',
// // Custom URL for downloading android mobile app.
// downloadLink: 'https://play.google.com/store/apps/details?id=org.jitsi.meet',
// // Android app package name.
// appPackage: 'org.jitsi.meet',
// fDroidUrl: 'https://f-droid.org/en/packages/org.jitsi.meet/',
// dynamicLink: {
// apn: 'org.jitsi.meet',
// appCode: 'w2atb',
// customDomain: undefined,
// ibi: 'com.atlassian.JitsiMeet.ios',
// isi: '1165103905'
// }
// }
// },
// // The terms, privacy and help centre URL's.
// legalUrls: {
// helpCentre: 'https://web-cdn.jitsi.net/faq/meet-faq.html',
// privacy: 'https://jitsi.org/meet/privacy',
// terms: 'https://jitsi.org/meet/terms'
// },
// A property to disable the right click context menu for localVideo
// the menu has option to flip the locally seen video for local presentations
// disableLocalVideoFlip: false,
@@ -1401,9 +1303,9 @@ var config = {
deploymentInfo
dialOutAuthUrl
dialOutCodesUrl
dialOutRegionUrl
disableRemoteControl
displayJids
externalConnectUrl
e2eeLabels
firefox_fake_device
googleApiApplicationClientID
@@ -1581,8 +1483,6 @@ var config = {
// tileTime: 5000,
// // Limit results by rating: g, pg, pg-13, r. Default value: g.
// rating: 'pg',
// // The proxy server url for giphy requests in the web app.
// proxyUrl: 'https://giphy-proxy.example.com',
// },
// Logging
@@ -1612,12 +1512,6 @@ var config = {
// },
};
// Temporary backwards compatibility with old mobile clients.
config.flags = config.flags || {};
config.flags.sourceNameSignaling = true;
config.flags.sendMultipleVideoStreams = true;
config.flags.receiveMultipleVideoStreams = true;
// Set the default values for JaaS customers
if (enableJaaS) {
config.dialInNumbersUrl = 'https://conference-mapper.jitsi.net/v1/access/dids';

View File

@@ -32,6 +32,54 @@ const logger = Logger.getLogger(__filename);
*/
export const DISCO_JIBRI_FEATURE = 'http://jitsi.org/protocol/jibri';
/**
* Checks if we have data to use attach instead of connect. If we have the data
* executes attach otherwise check if we have to wait for the data. If we have
* to wait for the attach data we are setting handler to APP.connect.handler
* which is going to be called when the attach data is received otherwise
* executes connect.
*
* @param {string} [id] user id
* @param {string} [password] password
* @param {string} [roomName] the name of the conference.
*/
function checkForAttachParametersAndConnect(id, password, connection) {
if (window.XMPPAttachInfo) {
APP.connect.status = 'connecting';
// When connection optimization is not deployed or enabled the default
// value will be window.XMPPAttachInfo.status = "error"
// If the connection optimization is deployed and enabled and there is
// a failure the value will be window.XMPPAttachInfo.status = "error"
if (window.XMPPAttachInfo.status === 'error') {
connection.connect({
id,
password
});
return;
}
const attachOptions = window.XMPPAttachInfo.data;
if (attachOptions) {
connection.attach(attachOptions);
delete window.XMPPAttachInfo.data;
} else {
connection.connect({
id,
password
});
}
} else {
APP.connect.status = 'ready';
APP.connect.handler
= checkForAttachParametersAndConnect.bind(
null,
id, password, connection);
}
}
/**
* Try to open connection using provided credentials.
* @param {string} [id]
@@ -134,10 +182,7 @@ export async function connect(id, password) {
APP.store.dispatch(setPrejoinDisplayNameRequired());
}
connection.connect({
id,
password
});
checkForAttachParametersAndConnect(id, password, connection);
});
}

View File

@@ -0,0 +1,3 @@
module.exports = {
'extends': '../react/.eslintrc.js'
};

View File

@@ -0,0 +1,86 @@
/* global config, createConnectionExternally */
import getRoomName from '../react/features/base/config/getRoomName';
import { parseURLParams } from '../react/features/base/util/parseURLParams';
/**
* Implements external connect using createConnectionExternally function defined
* in external_connect.js for Jitsi Meet. Parses the room name and JSON Web
* Token (JWT) from the URL and executes createConnectionExternally.
*
* NOTE: If you are using lib-jitsi-meet without Jitsi Meet, you should use this
* file as reference only because the implementation is Jitsi Meet-specific.
*
* NOTE: For optimal results this file should be included right after
* external_connect.js.
*/
if (typeof createConnectionExternally === 'function') {
// URL params have higher priority than config params.
// Do not use external connect if websocket is enabled.
let url
= parseURLParams(window.location, true, 'hash')[
'config.externalConnectUrl']
|| config.websocket ? undefined : config.externalConnectUrl;
const isRecorder
= parseURLParams(window.location, true, 'hash')['config.iAmRecorder'];
let roomName;
if (url && (roomName = getRoomName()) && !isRecorder) {
url += `?room=${roomName}`;
const token = parseURLParams(window.location, true, 'search').jwt;
if (token) {
url += `&token=${token}`;
}
createConnectionExternally(
url,
connectionInfo => {
// Sets that global variable to be used later by connect method
// in connection.js.
window.XMPPAttachInfo = {
status: 'success',
data: connectionInfo
};
checkForConnectHandlerAndConnect();
},
errorCallback);
} else {
errorCallback();
}
} else {
errorCallback();
}
/**
* Check if connect from connection.js was executed and executes the handler
* that is going to finish the connect work.
*
* @returns {void}
*/
function checkForConnectHandlerAndConnect() {
window.APP
&& window.APP.connect.status === 'ready'
&& window.APP.connect.handler();
}
/**
* Implements a callback to be invoked if anything goes wrong.
*
* @param {Error} error - The specifics of what went wrong.
* @returns {void}
*/
function errorCallback(error) {
// The value of error is undefined if external connect is disabled.
error && console.warn(error);
// Sets that global variable to be used later by connect method in
// connection.js.
window.XMPPAttachInfo = {
status: 'error'
};
checkForConnectHandlerAndConnect();
}

View File

@@ -16,6 +16,14 @@
border-radius: 0;
}
/**
* Move the @atlaskit/flag container up a little bit so it does not cover the
* toolbar with the first notification.
*/
.atlaskit-portal > #notifications-container {
bottom: calc(#{$newToolbarSizeWithPadding}) !important;
}
/**
* Keep overflow menu within screen vertical bounds and make it scrollable.

View File

@@ -2,13 +2,13 @@
display: inline-block;
&-content {
position: relative;
right: auto;
margin-bottom: 4px;
max-height: calc(100vh - 100px);
background: $menuBG;
border-radius: 3px;
font-size: 14px;
line-height: 24px;
max-height: 456px;
overflow: auto;
width: 300px;
&-ul {
margin:0;
padding:0;
@@ -16,33 +16,90 @@
}
}
&-header:hover {
background-color: initial;
cursor: initial;
&-header {
color: #fff;
align-items: center;
display: flex;
margin-top: 8px;
padding: 8px 16px;
&-icon {
display: inline-block;
svg {
fill: #fff;
}
}
&--bordered {
border-bottom: 1px solid #4C4D50;
}
&-text {
margin-left: 12px;
}
}
&-entry-text {
max-width: 213px;
&-entry {
align-items: center;
color: #fff;
cursor: pointer;
display: flex;
padding: 8px 0;
margin-left: 48px;
&.left-margin {
margin-left: 36px;
&--selected {
background: #131519;
cursor: initial;
margin-left: 0;
padding-left: 18px;
}
&-text {
color: #fff;
display: inline-block;
line-height: 24px;
text-overflow: ellipsis;
max-width: 213px;
overflow: hidden;
white-space: nowrap;
}
}
&-speaker {
position: relative;
&-ul {
margin:0;
padding:0;
list-style-type: none;
}
&:hover, &:focus-within, &:focus {
.audio-preview-entry {
background: #36383C;
margin-left: 0;
padding-left: 48px;
&--selected {
padding-left: 18px;
background: $newToolbarBackgroundColor;
}
}
.audio-preview-test-button {
display: inline-block;
}
.audio-preview-entry-text {
max-width: 178px;
margin-right: 0;
}
}
&:last-child {
padding-bottom: 8px;
}
.audio-preview-entry-text {
max-width: 238px;
}
@@ -51,6 +108,19 @@
&-microphone {
position: relative;
&:hover {
.audio-preview-entry {
background: #36383C;
margin-left: 0;
padding-left: 48px;
&--selected {
background: $newToolbarBackgroundColor;
padding-left: 18px;
}
}
}
&--nometer {
.audio-preview-entry-text {
max-width: 238px;
@@ -70,21 +140,42 @@
display: inline-block;
width: 14px;
& svg {
fill: #1C2025;
}
&--check {
background: #31B76A;
margin-right: 16px;
}
&--exclamation {
margin-left: 6px;
& svg {
fill: #E54B4B;
}
}
}
&-hr {
border-top: 1px solid #4C4D50;
border-bottom: 0;
}
&-test-button {
display: none;
padding: 4px 10px;
background: #FFF;
border: 1px solid #D1DBE8;
border-radius: 3px;
color: #1C2025;
cursor: pointer;
font-weight: 600;
font-size: 0.8rem;
line-height: 24px;
padding: 2px 8px;
position: absolute;
right: 16px;
top: 6px;
top: 5px;
}
&-meter-mic {
@@ -93,7 +184,9 @@
top: 14px;
}
&-checkbox-container {
padding: 10px 16px;
// Override @atlaskit/InlineDialog container which is made with styled components
& > div:nth-child(2) {
outline: none;
padding: 0;
}
}

View File

@@ -126,12 +126,6 @@ form {
background-size: contain;
}
.leftwatermarknomargin {
background-position: center left;
background-repeat: no-repeat;
background-size: contain;
}
.rightwatermark {
right: 32px;
top: 32px;

View File

@@ -32,7 +32,7 @@
#chat-conversation-container {
// extract message input height
height: calc(100% - 64px);
height: calc(100% - 68px);
overflow: hidden;
position: relative;
}
@@ -76,6 +76,32 @@
}
}
#chat-recipient {
align-items: center;
background-color: $chatPrivateMessageBackgroundColor;
display: flex;
flex-direction: row;
font-weight: 100;
padding: 10px;
span {
color: white;
display: flex;
flex: 1;
}
div {
svg {
cursor: pointer;
fill: white;
}
}
&.lobby-chat-recipient {
background-color: $chatLobbyMessageBackgroundColor;
}
}
.chat-header {
height: 70px;
@@ -98,12 +124,13 @@
}
.chat-input-container {
padding: 0 16px 24px;
padding: 0 16px 16px;
}
#chat-input {
display: flex;
align-items: flex-end;
padding: 4px;
position: relative;
}
@@ -236,6 +263,15 @@
-webkit-user-select: text;
user-select: text;
}
.display-name {
font-size: 12px;
font-weight: 600;
margin-bottom: 5px;
white-space: nowrap;
text-overflow: ellipsis;
overflow: hidden;
}
}
.sr-only {
@@ -252,11 +288,24 @@
}
.chatmessage {
background-color: $chatRemoteMessageBackgroundColor;
border-radius: 0px 6px 6px 6px;
box-sizing: border-box;
color: white;
margin-top: 3px;
max-width: 100%;
position: relative;
&.localuser {
background-color: $chatLocalMessageBackgroundColor;
border-radius: 6px 0px 6px 6px;
}
.usermessage {
white-space: pre-wrap;
font-size: 14px;
}
&.error {
border-radius: 0px;
@@ -271,12 +320,22 @@
}
}
.privatemessagenotice {
font-size: 11px;
font-weight: 100;
}
.messagecontent {
margin: 8px;
max-width: 100%;
overflow: hidden;
}
}
.timestamp {
color: #757575;
}
#smileys {
font-size: 20pt;
margin: auto;
@@ -350,9 +409,24 @@
}
.chat-message-group {
display: flex;
flex-direction: column;
&.local {
align-items: flex-end;
.chatmessage {
background-color: $chatLocalMessageBackgroundColor;
border-radius: 6px 0px 6px 6px;
&.privatemessage {
background-color: $chatPrivateMessageBackgroundColor;
}
&.lobbymessage {
background-color: $chatLobbyMessageBackgroundColor;
}
}
.display-name {
display: none;
}
@@ -363,10 +437,58 @@
}
&.error {
.chatmessage {
background-color: $defaultWarningColor;
border-radius: 0px;
font-weight: 100;
}
.display-name {
display: none;
}
}
.chatmessage-wrapper {
max-width: 100%;
.replywrapper {
display: flex;
flex-direction: row;
align-items: center;
.messageactions {
align-self: stretch;
border-left: 1px solid $chatActionsSeparatorColor;
display: flex;
flex-direction: column;
justify-content: center;
padding: 5px;
&.lobbychatmessageactions {
border-left-color: $chatLobbyActionsSeparatorColor;
}
.toolbox-icon {
cursor: pointer;
}
}
}
}
.chatmessage {
background-color: $chatRemoteMessageBackgroundColor;
border-radius: 0px 6px 6px 6px;
display: inline-block;
margin-top: 3px;
color: white;
&.privatemessage {
background-color: $chatPrivateMessageBackgroundColor;
}
&.lobbymessage {
background-color: $chatLobbyMessageBackgroundColor;
}
}
}
.chat-dialog {

View File

@@ -82,7 +82,6 @@
}
.left-column {
order: -1;
display: flex;
flex-direction: column;
flex-grow: 0;
@@ -93,7 +92,6 @@
.right-column {
display: flex;
flex-direction: column;
align-items: flex-start;
flex-grow: 1;
padding-left: 16px;
padding-top: 13px;
@@ -101,11 +99,11 @@
}
.title {
font-size: 12px;
font-weight: 600;
line-height: 16px;
margin-bottom: 4px;
}
font-size: 12px;
font-weight: 600;
line-height: 16px;
padding-bottom: 4px;
}
.subtitle {
color: #5E6D7A;
@@ -127,7 +125,8 @@
cursor: pointer;
}
&.with-click-handler:hover {
&.with-click-handler:hover,
&.with-click-handler:focus {
background-color: #c7ddff;
}

View File

@@ -3,28 +3,28 @@
display: inline-block;
& > svg {
fill: #525252;
fill: #4E5E6C;
width: 38px;
}
}
&.metr--disabled {
& > svg {
fill: #525252;
fill: #4E5E6C;
}
}
}
.metr-l-0 {
rect:first-child {
fill: #1EC26A;
fill: #31B76A;
}
}
@for $i from 1 through 7 {
.metr-l-#{$i} {
rect:nth-child(-n+#{$i+1}) {
fill: #1EC26A;
fill: #31B76A;
}
}
}

View File

@@ -1,3 +1,353 @@
.polls-panel {
.poll-dialog {
font-size: 14px;
font-weight: 400;
line-height: 20px;
h1, span, li, strong {
color: #bce;
}
ol {
margin: 0;
}
}
.poll-question-field {
padding: 8px 16px;
padding-bottom: 24px;
border-bottom: 1px solid #525252;
}
.poll-header {
margin-bottom: 8px;
}
.poll-creator {
color: #C2C2C2;
font-weight: 600;
margin: 4px 0 16px 0;
}
.poll-answer-container {
display: flex;
padding: 4px;
background: #3D3D3D;
border-radius: 3px;
margin-bottom: 8px;
@media (max-width: 580px) {
&> span {
padding: 8px 0;
}
svg {
margin-top: 6px;
}
}
}
.poll-answer-field-list, .poll-answer-list, .poll-result-list {
list-style-type: none;
padding: 0;
margin: 0;
}
.poll-answer-field-list {
padding: 0 16px;
}
ol.poll-result-list {
margin-bottom: 1.5em;
}
.poll-result-list > li {
margin-bottom: 16px;
}
.poll-answer-field {
flex-direction: column;
align-items: stretch;
margin-bottom: 16;
}
.poll-answer-field:last-child {
margin-bottom: 0;
}
.poll-create-option-row {
display: flex;
margin-bottom: 4;
}
// Needed to override atlaskit default blue color
.poll-create-container .jsYMHu {
background: #292929;
border-color: #808090;
color: #fff // #808090
}
.poll-add-button {
display: flex;
justify-content: center;
padding: 8px 16px;
}
.poll-remove-option-button {
background: 0 0;
border: none;
color: #E04757;
padding-left: 0;
}
.poll-create-add-option {
border: none;
background-color: #292929;
padding: 3px;
width: 100%;
}
.poll-icon-button, .poll-drag-handle {
.jitsi-icon svg {
fill: #929292;
}
}
.poll-drag-handle {
background-color: transparent;
border: none;
cursor: grab;
padding-left: 8;
padding-top: 8px;
display: flex;
}
.poll-question {
font-size: 16px;
font-weight: 600;
line-height: 26px;
}
.poll-answer-voters {
font-weight: lighter;
list-style-type: none;
border: #616161 solid 1px;
border-radius: 3px;
padding: 2px 6px;
margin: 4px 0px 12px;
background-color: #616161;
}
.poll-answer-header {
display: flex;
justify-content: space-between;
}
.poll-answer-vote-name {
flex-shrink: 1;
overflow-wrap: anywhere
}
.poll-answer-vote-count-container{
display: flex;
}
.poll-answer-vote-count {
margin-left: 10px;
white-space: nowrap;
flex: 1;
text-align: right;
}
.poll-answer-short-results{
display: flex;
min-width: 10em;
justify-content: space-between;
align-items: center;
}
.poll-bar-container, .poll-bar {
border-radius: 3px;
height: 6px;
}
.poll-bar-container {
background-color: #616161;
max-width: 160px;
margin-top: 3px;
flex: 1;
}
.poll-bar {
background-color: #246FE5;
}
.poll-message-footer {
display: flex;
justify-content: space-between;
align-items: center;
font-size: 12px;
margin-top: 5px;
}
.poll-notice {
font-weight: 100;
margin-right: 10px;
}
.poll-show-details {
background-color: transparent;
border: none;
&:hover {
text-decoration: underline;
}
}
.poll-result-links {
display: flex;
flex-direction: row;
justify-content: space-between;
a.poll-detail-link, a.poll-change-vote-link {
color: #669AEC;
cursor: pointer;
font-weight: 600;
text-decoration: none;
&:hover {
color: #669AEC;
}
&:visited {
color: #669AEC;
}
}
}
.polls-pane-content {
height: 100%;
position: relative;
}
.pane-content{
display: flex;
flex-direction: column;
height: 100%;
justify-content: center;
align-items: center;
width: 100%;
}
.empty-pane-icon {
width: 50%;
padding: 24px;
}
.empty-pane-icon svg {
fill: #3D3D3D;
width: 100%;
height: auto;
}
.empty-pane-message {
color: #fff;
padding: 0 16px;
text-align: center;
}
.poll-results, .poll-answer {
background: #292929;
border-radius: 8px;
border: 1px solid #666666;
margin: 16px;
padding: 16px;
word-break: break-word;
}
.poll-results {
color: #fff;
}
.poll-answer {
h1, strong ,span {
color: #fff;
}
button > span {
color: inherit;
}
}
.poll-create-label {
color: #C2C2C2;
display: flex;
font-weight: 400;
margin-bottom: 4;
}
.expandable-input{
line-height: 18px;
resize: none;
width: 100%;
height: 40px;
box-sizing: border-box;
overflow: hidden;
border: 1px solid #666666;
background-color: #141414;
color: #FFF;
border-radius: 6px;
padding: 10px 16px;
}
#polls-panel {
height: calc(100% - 119px);
}
.poll-container {
font-size: 14px;
font-weight: 600;
height: calc(100% - 88px);
line-height: 20px;
overflow-y: auto;
position: relative;
& > * + *:not(.ignore-child) {
margin-top: 16px;
}
@media (max-width: 580px) {
height: calc(100% - 102px);
}
}
.poll-create-header {
color: #fff;
font-size: 20px;
line-height: 28px;
margin: 20px 16px;
font-weight: 600;
}
.poll-create-container {
padding: 8px 0;
}
.poll-create-footer {
background-color: #141414;
bottom: 0;
position: absolute;
width: calc(100% - 32px);
}
.poll-footer {
display: flex;
justify-content: space-between;
padding: 0 16px 16px 16px;
}
.poll-answer-footer {
padding: 8px 0 0 0;
}

View File

@@ -1,27 +1,49 @@
/**
* Mousemove padding styles are used to add invisible elements to the popover
* to allow mouse movement from the popover trigger to the popover itself
* without triggering a mouseleave event.
*/
%vertical-popover-padding {
height: 100%;
position: absolute;
top: 0;
width: 20px;
padding: 20px 0;
top: -20px;
}
%horizontal-popover-padding {
height: 25px;
position: absolute;
right: 0;
width: 100%;
padding: 0 35px;
left: -35px;
}
.popover-mousemove-padding-left {
@extend %vertical-popover-padding;
left: -35px;
}
.popover-mousemove-padding-right {
@extend %vertical-popover-padding;
right: -35px;
}
.popover-mousemove-padding-bottom {
@extend %horizontal-popover-padding;
bottom: -40px;
}
.popover-mousemove-padding-top {
@extend %horizontal-popover-padding;
top: -40px;
}
.popover {
margin: -16px -24px;
z-index: $popoverZ;
.popover-content {
margin: 16px 24px;
position: relative;
&.top {
bottom: 8px;
}
&.bottom {
top: 8px;
}
&.left {
right: 8px;
}
&.right {
left: 8px;
}
}
}
.excalidraw .popover {

View File

@@ -5,15 +5,15 @@
.popupmenu__contents {
.popupmenu__volume-slider {
&::-webkit-slider-runnable-track {
background-color: #246FE5;
background-color: $popupSliderColor;
}
&::-moz-range-track {
background-color: #246FE5;
background-color: $popupSliderColor;
}
&::-ms-fill-lower {
background-color: #246FE5;
background-color: $popupSliderColor;
}
}
}

View File

@@ -4,7 +4,7 @@
width: 280px;
background: $menuBG;
box-shadow: 0px 3px 16px rgba(0, 0, 0, 0.6), 0px 0px 4px 1px rgba(0, 0, 0, 0.25);
border-radius: 6px;
border-radius: 3px;
padding: 16px;
&.with-gif {
@@ -104,6 +104,10 @@
}
}
.reactions-menu-container {
padding-bottom: 6px;
}
.reactions-animations-container {
position: absolute;
width: 20%;

View File

@@ -18,7 +18,6 @@
align-items: center;
font-size: 14px;
margin-left: 16px;
max-width: 70%;
}
&.space-top {
@@ -83,7 +82,7 @@
background-color: #FFFFFF;
border-radius: 4px;
height: 40px;
width: 40px;
width: 56px;
}
.jitsi-content-recording-icon-container-without-switch {

View File

@@ -3,37 +3,38 @@
display: block;
#enter_room {
position: relative;
height: 42px;
.welcome-page-button {
font-size: 16px;
left: 0;
text-align: center;
width: 100%;
font-size: 16px;
left: 0;
position: absolute;
top: 68px;
text-align: center;
width: 100%;
}
}
.header {
background-color: #002637;
.insecure-room-name-warning {
width: 100%;
}
#enter_room {
width: 100%;
.join-meeting-container {
padding: 0;
flex-direction: column;
background: transparent;
}
.enter-room-input-container {
padding-right: 0;
margin-bottom: 10px;
}
.warning-without-link,
.warning-with-link {
top: 120px;
}
}
}
.welcome-tabs {
display: none;
}
.header-text-title {
text-align: center;
}
@@ -55,6 +56,13 @@
.welcome-footer-row-block {
display: block;
}
.welcome-badge {
margin-right: 16px;
}
.welcome-footer {
display: none;
}
}
}

View File

@@ -30,24 +30,24 @@
right: -4px;
top: -3px;
&:hover {
&:hover {
background: #F2F3F4;
box-shadow: 0px 4px 4px rgba(0, 0, 0, 0.25), 0px 0px 0px 1px rgba(0, 0, 0, 0.1);
& svg {
fill: #040404;
&> svg {
fill: #000;
}
&.settings-button-small-icon--disabled {
background: #36383C;
& svg {
fill: #929292;
}
&> svg {
fill: #929292;
}
}
}
& svg {
&> svg {
fill: #fff;
}
@@ -55,7 +55,7 @@
background-color: #36383c;
cursor: default;
& svg {
&> svg {
fill: #929292;
}
}

View File

@@ -12,6 +12,7 @@
&#autoHide.with-always-on {
overflow: hidden;
animation: hideSubject forwards .6s ease-out;
margin-left: 4px;
& > .subject-info-container {
justify-content: flex-start;
@@ -42,6 +43,42 @@
height: 28px;
}
.subject-text {
background: rgba(0, 0, 0, 0.6);
border-radius: 3px 0px 0px 3px;
box-sizing: border-box;
font-size: 14px;
line-height: 28px;
padding: 0 16px;
height: 28px;
max-width: 324px;
@media (max-width: 300px) {
display: none;
}
&--content {
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}
}
.subject-timer {
background: rgba(0, 0, 0, 0.8);
border-radius: 0px 3px 3px 0px;
box-sizing: border-box;
font-size: 12px;
line-height: 28px;
min-width: 34px;
padding: 0 8px;
height: 28px;
@media (max-width: 300px) {
display: none;
}
}
.details-container {
width: 100%;
display: flex;

View File

@@ -120,16 +120,12 @@
margin: 8px 0;
}
div.hangup-button {
background-color: #CB2233;
.hangup-button {
background-color: $hangupColor;
@media (hover: hover) and (pointer: fine) {
&:hover {
background-color: #E04757;
}
&:active {
background-color: #A21B29;
background-color: $hangupHoverColor;
}
}
@@ -138,16 +134,12 @@ div.hangup-button {
}
}
div.hangup-menu-button {
background-color: #CB2233;
.hangup-menu-button {
background-color: $hangupMenuButtonColor;
@media (hover: hover) and (pointer: fine) {
&:hover {
background-color: #E04757;
}
&:active {
background-color: #A21B29;
background-color: $hangupMenuButtonHoverColor;
}
}

View File

@@ -4,6 +4,10 @@
* Style variables
*/
$baseFontFamily: -apple-system, BlinkMacSystemFont, 'open_sanslight', 'Helvetica Neue', Helvetica, Arial, sans-serif;
$hangupColor:#DD3849;
$hangupHoverColor: #F25363;
$hangupMenuButtonColor:#0056E0;;
$hangupMenuButtonHoverColor: #246FE5;
/**
* Size variables.
@@ -75,6 +79,7 @@ $modalTextColor: #333;
$chatActionsSeparatorColor: rgb(173, 105, 112);
$chatBackgroundColor: #131519;
$chatInputSeparatorColor: #A4B8D1;
$chatLobbyMessageBackgroundColor: #6A50D3;
$chatLobbyActionsSeparatorColor: #6A50D3;
$chatLocalMessageBackgroundColor: #484A4F;
$chatPrivateMessageBackgroundColor: rgb(153, 69, 77);
@@ -161,13 +166,12 @@ $welcomePageHeaderBackground: linear-gradient(0deg, rgba(0, 0, 0, 0.2), rgba(0,
$welcomePageHeaderBackgroundPosition: center;
$welcomePageHeaderBackgroundRepeat: none;
$welcomePageHeaderBackgroundSize: cover;
$welcomePageHeaderPaddingBottom: 15px;
$welcomePageHeaderPaddingBottom: 0px;
$welcomePageHeaderTitleMaxWidth: initial;
$welcomePageHeaderTextAlign: center;
$welcomePageHeaderContainerMarginTop: 104px;
$welcomePageHeaderContainerDisplay: flex;
$welcomePageHeaderContainerMargin: $welcomePageHeaderContainerMarginTop auto 0;
$welcomePageHeaderContainerMargin: 104px 32px 0 32px;
$welcomePageHeaderTextTitleMarginBottom: 0;
$welcomePageHeaderTextTitleFontSize: 42px;
@@ -201,6 +205,11 @@ $deepLinkingDialInConferenceIdPadding: inherit;
$deepLinkingDialInConferenceIdBackgroundColor: inherit;
$deepLinkingDialInConferenceIdBorderRadius: inherit;
$deepLinkingDialInConferenceNameFontSize: inherit;
$deepLinkingDialInConferenceNameLineHeight: inherit;
$deepLinkingDialInConferenceNameMarginBottom: none;
$deepLinkingDialInConferenceNameFontWeight: inherit;
$deepLinkingDialInConferenceDescriptionFontSize: 0.8em;
$deepLinkingDialInConferenceDescriptionLineHeight: inherit;
$deepLinkingDialInConferenceDescriptionMarginBottom: none;

View File

@@ -3,38 +3,49 @@
display: inline-block;
&-container {
max-height: 456px;
max-height: 344px;
background: $menuBG;
border-radius: 3px;
overflow: auto;
margin-bottom: 4px;
position: relative;
right: auto;
padding: 8px;
margin-bottom: 8px;
}
&-entry {
cursor: pointer;
height: 138px;
width: 244px;
height: 168px;
margin-bottom: 8px;
position: relative;
margin: 0 7px 4px;
border-radius: 6px;
box-sizing: border-box;
overflow: hidden;
width: 284px;
&:last-child {
margin-bottom: 0;
}
&--selected {
border: 2px solid #4687ED;
border: 3px solid #31B76A;
border-radius: 3px;
cursor: default;
height: 162px;
width: 278px;
}
}
&-video {
border-radius: 3px;
height: 100%;
object-fit: cover;
width: 100%;
}
&-overlay {
background: rgba(42, 58, 75, 0.6);
height: 100%;
position: absolute;
width: 100%;
z-index: 1;
}
&-error {
align-items: center;
display: flex;
@@ -45,22 +56,23 @@
}
&-label {
bottom: 8px;
color: #fff;
position: absolute;
bottom: 0;
left: 0;
right: 0;
max-width: 100%;
padding: 8px;
width: 100%;
z-index: 2;
&-container {
margin: 0 16px;
}
&-text {
background-color: rgba(0, 0, 0, 0.7);
border-radius: 4px;
padding: 4px 8px;
color: #fff;
font-size: 12px;
line-height: 16px;
font-weight: 600;
background-color: #131519;
border-radius: 3px;
padding: 2px 8px;
font-size: 13px;
line-height: 20px;
margin: 0 auto;
max-width: calc(100% - 16px);
overflow: hidden;
text-overflow: ellipsis;
@@ -68,8 +80,8 @@
white-space: nowrap;
}
}
&-checkbox-container {
padding: 10px 14px;
// Override @atlaskit/InlineDialog container which is made with styled components
& > div:nth-child(2) {
padding: 0;
}
}

View File

@@ -20,6 +20,7 @@ body.welcome-page {
background-size: $welcomePageHeaderBackgroundSize;
padding-bottom: $welcomePageHeaderPaddingBottom;
background-color: #131519;
height: 400px;
overflow: hidden;
position: relative;
@@ -28,16 +29,6 @@ body.welcome-page {
flex-direction: column;
margin: $welcomePageHeaderContainerMargin;
z-index: $zindex2;
align-items: center;
position: relative;
max-width: 688px;
}
.header-watermark-container {
position: absolute;
width: 100%;
height: 100%;
margin-top: calc(20px - #{$welcomePageHeaderContainerMarginTop});
}
.header-text-title {
@@ -61,58 +52,26 @@ body.welcome-page {
}
.insecure-room-name-warning {
align-items: center;
color: $defaultWarningColor;
font-weight: 600;
display: flex;
flex-direction: row;
margin-top: 15px;
max-width: 480px;
width: $welcomePageEnterRoomWidth;
.jitsi-icon {
margin-right: 15px;
svg {
fill: $defaultWarningColor;
& > *:first-child {
fill: none !important;
}
}
}
}
::placeholder {
color: #253858;
}
#enter_room {
display: $welcomePageEnterRoomDisplay;
align-items: center;
max-width: 480px;
width: $welcomePageEnterRoomWidth;
z-index: $zindex2;
height: fit-content;
.join-meeting-container {
margin: $welcomePageEnterRoomMargin;
padding: $welcomePageEnterRoomPadding;
border-radius: 4px;
background-color: #fff;
display: flex;
width: 100%;
text-align: left;
color: #253858;
}
background-color: #fff;
padding: $welcomePageEnterRoomPadding;
border-radius: 4px;
margin: $welcomePageEnterRoomMargin;
.enter-room-input-container {
text-align: left;
color: #253858;
flex-grow: 1;
height: fit-content;
padding-right: 4px;
position: relative;
.enter-room-input {
border-radius: 4px;
border: 0;
background: #fff;
display: inline-block;
@@ -121,23 +80,59 @@ body.welcome-page {
font-size: 14px;
padding-left: 10px;
&.focus-visible {
&:focus {
outline: auto 2px #005fcc;
}
}
.insecure-room-name-warning {
align-items: center;
color: $defaultWarningColor;
display: flex;
flex-direction: row;
margin-top: 15px;
.jitsi-icon {
margin-right: 15px;
svg {
fill: $defaultWarningColor
}
}
}
::placeholder {
color: #253858;
}
}
.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 0;
padding: 16px 0 39px 0;
width: $welcomePageEnterRoomWidth;
text-align: center;
a {
color: inherit;
font-weight: 600;
p {
color: $welcomePageDescriptionColor;
float: left;
text-align: $welcomePageHeaderTextAlign;
a {
color: inherit;
font-weight: 600;
}
}
}
}
@@ -167,7 +162,7 @@ body.welcome-page {
margin: 4px;
display: $welcomePageTabButtonsDisplay;
[role="tab"] {
.tab {
background-color: #c7ddff;
border-radius: 7px;
cursor: pointer;
@@ -176,10 +171,8 @@ body.welcome-page {
margin: 2px;
padding: 7px 0;
text-align: center;
color: inherit;
border: 0;
&[aria-selected="true"] {
&.selected {
background-color: #FFF;
}
}
@@ -207,8 +200,8 @@ body.welcome-page {
color: $welcomePageDescriptionColor;
padding: 4px;
position: absolute;
top: calc(35px - #{$welcomePageHeaderContainerMarginTop});
right: 0;
top: 32px;
right: 32px;
z-index: $zindex2;
* {
@@ -231,11 +224,6 @@ body.welcome-page {
width: $welcomePageWatermarkWidth;
height: $welcomePageWatermarkHeight;
}
.watermark.leftwatermarknomargin {
width: $welcomePageWatermarkWidth;
height: $welcomePageWatermarkHeight;
}
}
&.without-content {
@@ -254,17 +242,10 @@ body.welcome-page {
padding-top: 40px;
}
.welcome-card-column {
.welcome-card-row {
display: flex;
justify-content: center;
flex-direction: column;
align-items: center;
max-width: 688px;
margin: auto;
> div {
margin-bottom: 16px;
}
padding: 0 32px;
}
.welcome-card-text {
@@ -272,7 +253,7 @@ body.welcome-page {
}
.welcome-card {
width: 100%;
width: 49%;
border-radius: 8px;
&--dark {
@@ -287,6 +268,10 @@ body.welcome-page {
&--grey {
background: #F2F3F4;
}
&--shadow {
box-shadow: 0px 4px 30px rgba(0, 0, 0, 0.15);
}
}
.welcome-footer {

View File

@@ -67,13 +67,6 @@
font-size: 1em;
}
.dial-in-conference-id {
text-align: center;
min-width: 200px;
margin-top: 40px;
}
.dial-in-conference-id {
margin: $deepLinkingDialInConferenceIdMargin;
padding: $deepLinkingDialInConferenceIdPadding;
@@ -81,12 +74,24 @@
border-radius: $deepLinkingDialInConferenceIdBorderRadius;
}
.dial-in-conference-name {
font-size: $deepLinkingDialInConferenceNameFontSize;
line-height: $deepLinkingDialInConferenceNameLineHeight;
margin-bottom: $deepLinkingDialInConferenceNameMarginBottom;
font-weight: $deepLinkingDialInConferenceNameFontWeight;
}
.dial-in-conference-description {
font-size: $deepLinkingDialInConferenceDescriptionFontSize;
line-height: $deepLinkingDialInConferenceDescriptionLineHeight;
margin-bottom: $deepLinkingDialInConferenceDescriptionMarginBottom;
}
.dial-in-conference-pin {
font-size: $deepLinkingDialInConferencePinFontSize;
line-height: $deepLinkingDialInConferencePinLineHeight;
}
.toll-free-list {
min-width: 80px;
}

View File

@@ -33,6 +33,7 @@ $flagsImagePath: "../images/";
@import 'reload_overlay/reload_overlay';
@import 'mini_toolbox';
@import 'modals/desktop-picker/desktop-picker';
@import 'modals/device-selection/device-selection';
@import 'modals/dialog';
@import 'modals/embed-meeting/embed-meeting';
@import 'modals/feedback/feedback';

View File

@@ -63,8 +63,3 @@
.desktop-source-preview-image-container {
padding: 10px;
}
.desktop-picker-tabs-container {
width: 65%;
margin-top: 3px;
}

View File

@@ -0,0 +1,148 @@
.device-selection {
.device-selectors {
font-size: 14px;
> div {
display: block;
margin-bottom: 4px;
}
.device-selector-icon {
align-self: center;
color: inherit;
font-size: 20px;
margin-left: 3px;
}
.device-selector-label {
margin-bottom: 1px;
}
/* device-selector-trigger stylings attempt to mimic AtlasKit button */
.device-selector-trigger {
background-color: #0E1624;
border: 1px solid #455166;
border-radius: 5px;
display: flex;
height: 2.3em;
justify-content: space-between;
line-height: 2.3em;
overflow: hidden;
padding: 0 8px;
}
.device-selector-trigger-disabled {
.device-selector-trigger {
color: #a5adba;
cursor: default;
}
}
.device-selector-trigger-text {
overflow: hidden;
text-align: center;
text-overflow: ellipsis;
white-space: nowrap;
width: 100%;
}
}
.device-selection-column {
box-sizing: border-box;
display: inline-block;
vertical-align: top;
&.column-selectors {
margin-left: 15px;
width: 45%;
}
&.column-video {
width: 50%;
}
}
.device-selection-video-container {
border-radius: 3px;
margin-bottom: 5px;
.video-input-preview {
margin-top: 2px;
position: relative;
> video {
border-radius: 3px;
}
.video-input-preview-error {
color: $participantNameColor;
display: none;
left: 0;
position: absolute;
right: 0;
text-align: center;
top: 50%;
}
&.video-preview-has-error {
background: black;
.video-input-preview-error {
display: block;
}
}
.video-input-preview-display {
height: auto;
overflow: hidden;
width: 100%;
}
}
}
.audio-output-preview {
font-size: 14px;
a {
color: #6FB1EA;
cursor: pointer;
text-decoration: none;
}
a:hover {
color: #B3D4FF;
}
}
.audio-input-preview {
background: #1B2638;
border-radius: 5px;
height: 8px;
.audio-input-preview-level {
background: #75B1FF;
border-radius: 5px;
height: 100%;
-webkit-transition: width .1s ease-in-out;
-moz-transition: width .1s ease-in-out;
-o-transition: width .1s ease-in-out;
transition: width .1s ease-in-out;
}
}
}
.device-selection.video-hidden {
display: flex;
flex-direction: column;
width: 100%;
.column-selectors {
width: 100%;
margin-left: 0;
}
.column-video {
order: 1;
width: 100%;
margin-top: 8px;
}
}

View File

@@ -44,3 +44,61 @@
-webkit-animation-timing-function: ease-in-out;
animation-timing-function: ease-in-out
}
.feedback-dialog {
margin-bottom: 5px;
.details {
textarea {
min-height: 100px;
}
}
.input-control {
background-color: $feedbackInputBg;
color: $feedbackInputTextColor;
&::-webkit-input-placeholder {
color: $feedbackInputPlaceholderColor;
}
&::-moz-placeholder { /* Firefox 19+ */
color: $feedbackInputPlaceholderColor;
}
&:-ms-input-placeholder {
color: $feedbackInputPlaceholderColor;
}
}
.rating {
line-height: 1.2;
margin-top: 10px;
text-align: center;
.star-label {
font-size: 14px;
height: 16px;
}
.star-btn {
color: inherit;
cursor: pointer;
display: inline-block;
font-size: 34px;
outline: none;
position: relative;
text-decoration: none;
@include transition(all .2s ease);
&.active,
&:hover,
&.starHover {
color: #36B37E;
};
}
.star-btn:focus,
.star-btn:active {
outline: 1px solid #B8C7E0;
}
}
}

View File

@@ -50,8 +50,6 @@
}
.dial-in-numbers-list {
max-width: 334px;
width: 100%;
margin-top: 20px;
font-size: 12px;
line-height: 24px;
@@ -61,6 +59,10 @@
text-align: left;
}
tr {
border-bottom: 1px solid #d1dbe8;
}
.flag-cell {
vertical-align: top;
width: 30px;
@@ -89,7 +91,6 @@
font-weight: bold;
list-style: none;
vertical-align: top;
text-align: right;
}
li.toll-free:empty:before {
@@ -118,6 +119,11 @@
margin-top: 40px;
}
.dial-in-conference-name,
.dial-in-conference-pin {
font-size: 18px;
}
.dial-in-conference-description {
margin: 12px;
}

View File

@@ -2,9 +2,7 @@ $sidePanelWidth: 300px;
.prejoin-third-party {
flex-direction: column-reverse;
z-index: auto;
align-items: center;
.content {
height: auto;
margin: 0 auto;

View File

@@ -41,28 +41,20 @@
&-dropdown-btns {
padding: 8px 0;
}
&-dropdown-container {
position: relative;
width: 100%;
/**
* Override default InlineDialog behaviour, since it does not play nicely with relative widths
*/
& > div:nth-child(2) {
background: #E0E0E0;
background: #fff;
padding: 0;
position: absolute !important;
width: 100%;
}
}
}
.prejoin-input {
margin-bottom: 16px;
width: 100%;
& input {
text-align: center;
}
}
}

View File

@@ -1,4 +1,14 @@
.premeeting-screen {
.premeeting-screen {
background: #292929;
bottom: 0;
display: flex;
font-size: 1.3em;
left: 0;
position: absolute;
right: 0;
top: 0;
z-index: $toolbarZ + 2;
.action-btn {
border-radius: 6px;
box-sizing: border-box;
@@ -65,44 +75,139 @@
}
}
#new-toolbox {
bottom: 0;
.content {
align-items: center;
box-sizing: border-box;
display: flex;
flex-direction: column;
flex-shrink: 0;
height: 100%;
margin: 0 30px;
padding: 24px 0 16px;
position: relative;
transition: none;
width: $prejoinDefaultContentWidth;
z-index: $toolbarZ + 2;
.toolbox-content {
margin-bottom: 4px;
}
.toolbox-content-items {
@include ltr;
background: transparent;
box-shadow: none;
&-controls {
align-items: center;
display: flex;
justify-content: space-between;
padding: 8px 0;
}
flex-direction: column;
margin: auto;
width: 100%;
.toolbox-content,
.toolbox-content-wrapper,
.toolbox-content-items {
box-sizing: border-box;
width: auto;
.title {
color: #fff;
font-size: 28px;
font-weight: 600;
letter-spacing: -0.015;
line-height: 36px;
margin-bottom: 16px;
text-align: center;
}
input.field {
background-color: white;
border: none;
outline: none;
border-radius: 6px;
font-size: 14px;
line-height: 20px;
margin-bottom: 16px;
color: #1C2025;
padding: 10px 16px;
text-align: center;
width: 100%;
&.error {
border: 1px solid #E04757;
}
&.focused {
box-shadow: 0px 0px 1px 1.5px black, 0px 0px 1.3px 4px white;
}
}
#new-toolbox {
bottom: 0;
position: relative;
transition: none;
.toolbox-content {
margin-bottom: 4px;
}
.toolbox-content-items {
@include ltr;
background: transparent;
box-shadow: none;
display: flex;
justify-content: space-evenly;
padding: 8px 0;
}
.toolbox-content,
.toolbox-content-wrapper,
.toolbox-content-items {
box-sizing: border-box;
width: 100%;
}
}
}
}
@media (max-width: 720px) {
flex-direction: column-reverse;
.content {
height: auto;
margin: 0 auto;
}
}
// mobile phone landscape
@media (max-height: 420px) {
div.content {
padding: 16px 16px 0 16px;
}
}
@media (max-width: 400px) {
.content {
padding: 16px;
width: 100%;
&-controls {
input.field {
font-size: 16px;
padding: 14px 16px;
}
}
.title {
display: none;
}
}
.device-status-error {
border-radius: 0;
margin: 0 -16px;
}
input.field {
font-size: 16px;
padding: 14px 16px;
}
.action-btn {
font-size: 16px;
margin-bottom: 8px;
padding: 11px 16px;
}
}
input::placeholder {
color: #040404;
}
}
#preview {

View File

@@ -65,6 +65,7 @@ $errorColor: #c61600;
// Popover colors
$popoverFontColor: #ffffff !important;
$popupSliderColor: #0376da;
// Toolbar
$toolbarBackground: rgba(0, 0, 0, 0.5);

View File

@@ -44,7 +44,12 @@ case "$1" in
fi
JVB_SECRET="$RET"
JICOFO_AUTH_USER="focus"
db_get jicofo/jicofo-authuser
if [ -z "$RET" ] ; then
db_input critical jicofo/jicofo-authuser || true
db_go
fi
JICOFO_AUTH_USER="$RET"
db_get jicofo/jicofo-authpassword
if [ -z "$RET" ] ; then

View File

@@ -13,6 +13,12 @@ Type: password
_Description: Jitsi Videobridge Component secret:
The secret used by Jitsi Videobridge to connect to xmpp server as component.
Template: jicofo/jicofo-authuser
Type: string
Default: focus
_Description: Jicofo username:
The jicofo needs an authenticated admin user to connect to xmpp server.
Template: jicofo/jicofo-authpassword
Type: password
_Description: Jicofo user password:

View File

@@ -176,11 +176,6 @@ case "$1" in
fi
# Fixes multi-stream flags to workaround problem with mobile joining a multi-stream call with multi-stream disabled
FIX_MSG="// Temporary backwards compatibility with old mobile clients."
if ! grep -q "^${FIX_MSG}" $JITSI_MEET_CONFIG; then
echo $FIX_MSG >> $JITSI_MEET_CONFIG
echo "config.flags = config.flags || {};" >> $JITSI_MEET_CONFIG
fi
if ! grep -q "^config.flags.sourceNameSignaling*" $JITSI_MEET_CONFIG; then
echo "config.flags.sourceNameSignaling = true;" >> $JITSI_MEET_CONFIG
fi

View File

@@ -8,6 +8,7 @@ sounds /usr/share/jitsi-meet/
fonts /usr/share/jitsi-meet/
images /usr/share/jitsi-meet/
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/

View File

@@ -15,17 +15,6 @@ upstream jvb1 {
server 127.0.0.1:9090;
keepalive 2;
}
map $arg_vnode $prosody_node {
default prosody;
v1 v1;
v2 v2;
v3 v3;
v4 v4;
v5 v5;
v6 v6;
v7 v7;
v8 v8;
}
server {
listen 80;
listen [::]:80;
@@ -93,7 +82,7 @@ server {
}
# ensure all static content can always be found first
location ~ ^/(libs|css|static|images|fonts|lang|sounds|.well-known)/(.*)$
location ~ ^/(libs|css|static|images|fonts|lang|sounds|connection_optimization|.well-known)/(.*)$
{
add_header 'Access-Control-Allow-Origin' '*';
alias /usr/share/jitsi-meet/$1/$2;
@@ -106,7 +95,7 @@ server {
# BOSH
location = /http-bind {
proxy_pass http://$prosody_node/http-bind?prefix=$prefix&$args;
proxy_pass http://prosody/http-bind?prefix=$prefix&$args;
proxy_http_version 1.1;
proxy_set_header X-Forwarded-For $remote_addr;
proxy_set_header Host $http_host;
@@ -115,7 +104,7 @@ server {
# xmpp websockets
location = /xmpp-websocket {
proxy_pass http://$prosody_node/xmpp-websocket?prefix=$prefix&$args;
proxy_pass http://prosody/xmpp-websocket?prefix=$prefix&$args;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";

1
globals.d.ts vendored
View File

@@ -24,7 +24,6 @@ declare global {
JITSI_MEET_LITE_SDK?: boolean;
interfaceConfig?: any;
JitsiMeetJS?: any;
JitsiMeetElectron?: any;
}
const config: IConfig;

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.3 KiB

After

Width:  |  Height:  |  Size: 18 KiB

View File

@@ -182,6 +182,8 @@
'error', loadErrHandler, true /* capture phase type of listener */);
</script>
<script><!--#include virtual="/config.js" --></script><!-- adapt to your needs, i.e. set hosts and bosh path -->
<!--#include virtual="connection_optimization/connection_optimization.html" -->
<script src="libs/do_external_connect.min.js?v=1"></script>
<script><!--#include virtual="/interface_config.js" --></script>
<script src="libs/lib-jitsi-meet.min.js?v=139"></script>
<script src="libs/app.bundle.min.js?v=139"></script>

View File

@@ -76,6 +76,11 @@ var interfaceConfig = {
GENERATE_ROOMNAMES_ON_WELCOME_PAGE: true,
/**
* Hide the logo on the deep linking pages.
*/
HIDE_DEEP_LINKING_LOGO: false,
/**
* Hide the invite prompt in the header when alone in the meeting.
*/
@@ -103,6 +108,23 @@ 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
// has a suboptimal experience. Browsers which are not listed as optimal or
// unsupported are considered suboptimal. Valid values are:
@@ -137,6 +159,7 @@ var interfaceConfig = {
*/
SHOW_CHROME_EXTENSION_BANNER: false,
SHOW_DEEP_LINKING_IMAGE: false,
SHOW_JITSI_WATERMARK: true,
SHOW_POWERED_BY: false,
SHOW_PROMOTIONAL_CLOSE_PAGE: false,
@@ -177,31 +200,6 @@ var interfaceConfig = {
*/
// TILE_VIEW_MAX_COLUMNS: 5,
// List of undocumented settings
/**
INDICATOR_FONT_SIZES
PHONE_NUMBER_REGEX
*/
// -----------------DEPRECATED CONFIGS BELOW THIS LINE-----------------------------
/**
* Specify URL for downloading ios mobile app.
*/
// MOBILE_DOWNLOAD_LINK_IOS: 'https://itunes.apple.com/us/app/jitsi-meet/id1165103905',
/**
* Specify custom URL for downloading android mobile app.
*/
// MOBILE_DOWNLOAD_LINK_ANDROID: 'https://play.google.com/store/apps/details?id=org.jitsi.meet',
/**
* Specify mobile app scheme for opening the app from the mobile browser.
*/
// APP_SCHEME: 'org.jitsi.meet',
// NATIVE_APP_NAME: 'Jitsi Meet',
/**
* Specify Firebase dynamic link properties for the mobile apps.
*/
@@ -214,19 +212,22 @@ var interfaceConfig = {
// },
/**
* Hide the logo on the deep linking pages.
* Specify mobile app scheme for opening the app from the mobile browser.
*/
// HIDE_DEEP_LINKING_LOGO: false,
// APP_SCHEME: 'org.jitsi.meet',
/**
* Specify the Android app package name.
*/
// ANDROID_APP_PACKAGE: 'org.jitsi.meet',
// List of undocumented settings
/**
* Specify custom URL for downloading f droid app.
*/
// MOBILE_DOWNLOAD_LINK_F_DROID: 'https://f-droid.org/en/packages/org.jitsi.meet/',
INDICATOR_FONT_SIZES
PHONE_NUMBER_REGEX
*/
// -----------------DEPRECATED CONFIGS BELOW THIS LINE-----------------------------
// Connection indicators (
// CONNECTION_INDICATOR_AUTO_HIDE_ENABLED,

View File

@@ -13,14 +13,14 @@ PODS:
- CocoaLumberjack/Core (= 3.7.2)
- CocoaLumberjack/Core (3.7.2)
- DoubleConversion (1.1.6)
- FBLazyVector (0.68.6)
- FBReactNativeSpec (0.68.6):
- FBLazyVector (0.68.5)
- FBReactNativeSpec (0.68.5):
- RCT-Folly (= 2021.06.28.00-v2)
- RCTRequired (= 0.68.6)
- RCTTypeSafety (= 0.68.6)
- React-Core (= 0.68.6)
- React-jsi (= 0.68.6)
- ReactCommon/turbomodule/core (= 0.68.6)
- RCTRequired (= 0.68.5)
- RCTTypeSafety (= 0.68.5)
- React-Core (= 0.68.5)
- React-jsi (= 0.68.5)
- ReactCommon/turbomodule/core (= 0.68.5)
- Firebase/Analytics (8.15.0):
- Firebase/Core
- Firebase/Core (8.15.0):
@@ -163,201 +163,201 @@ PODS:
- DoubleConversion
- fmt (~> 6.2.1)
- glog
- RCTRequired (0.68.6)
- RCTTypeSafety (0.68.6):
- FBLazyVector (= 0.68.6)
- RCTRequired (0.68.5)
- RCTTypeSafety (0.68.5):
- FBLazyVector (= 0.68.5)
- RCT-Folly (= 2021.06.28.00-v2)
- RCTRequired (= 0.68.6)
- React-Core (= 0.68.6)
- React (0.68.6):
- React-Core (= 0.68.6)
- React-Core/DevSupport (= 0.68.6)
- React-Core/RCTWebSocket (= 0.68.6)
- React-RCTActionSheet (= 0.68.6)
- React-RCTAnimation (= 0.68.6)
- React-RCTBlob (= 0.68.6)
- React-RCTImage (= 0.68.6)
- React-RCTLinking (= 0.68.6)
- React-RCTNetwork (= 0.68.6)
- React-RCTSettings (= 0.68.6)
- React-RCTText (= 0.68.6)
- React-RCTVibration (= 0.68.6)
- React-callinvoker (0.68.6)
- React-Codegen (0.68.6):
- FBReactNativeSpec (= 0.68.6)
- RCTRequired (= 0.68.5)
- React-Core (= 0.68.5)
- React (0.68.5):
- React-Core (= 0.68.5)
- React-Core/DevSupport (= 0.68.5)
- React-Core/RCTWebSocket (= 0.68.5)
- React-RCTActionSheet (= 0.68.5)
- React-RCTAnimation (= 0.68.5)
- React-RCTBlob (= 0.68.5)
- React-RCTImage (= 0.68.5)
- React-RCTLinking (= 0.68.5)
- React-RCTNetwork (= 0.68.5)
- React-RCTSettings (= 0.68.5)
- React-RCTText (= 0.68.5)
- React-RCTVibration (= 0.68.5)
- React-callinvoker (0.68.5)
- React-Codegen (0.68.5):
- FBReactNativeSpec (= 0.68.5)
- RCT-Folly (= 2021.06.28.00-v2)
- RCTRequired (= 0.68.6)
- RCTTypeSafety (= 0.68.6)
- React-Core (= 0.68.6)
- React-jsi (= 0.68.6)
- React-jsiexecutor (= 0.68.6)
- ReactCommon/turbomodule/core (= 0.68.6)
- React-Core (0.68.6):
- RCTRequired (= 0.68.5)
- RCTTypeSafety (= 0.68.5)
- React-Core (= 0.68.5)
- React-jsi (= 0.68.5)
- React-jsiexecutor (= 0.68.5)
- ReactCommon/turbomodule/core (= 0.68.5)
- React-Core (0.68.5):
- glog
- RCT-Folly (= 2021.06.28.00-v2)
- React-Core/Default (= 0.68.6)
- React-cxxreact (= 0.68.6)
- React-jsi (= 0.68.6)
- React-jsiexecutor (= 0.68.6)
- React-perflogger (= 0.68.6)
- React-Core/Default (= 0.68.5)
- React-cxxreact (= 0.68.5)
- React-jsi (= 0.68.5)
- React-jsiexecutor (= 0.68.5)
- React-perflogger (= 0.68.5)
- Yoga
- React-Core/CoreModulesHeaders (0.68.6):
- React-Core/CoreModulesHeaders (0.68.5):
- glog
- RCT-Folly (= 2021.06.28.00-v2)
- React-Core/Default
- React-cxxreact (= 0.68.6)
- React-jsi (= 0.68.6)
- React-jsiexecutor (= 0.68.6)
- React-perflogger (= 0.68.6)
- React-cxxreact (= 0.68.5)
- React-jsi (= 0.68.5)
- React-jsiexecutor (= 0.68.5)
- React-perflogger (= 0.68.5)
- Yoga
- React-Core/Default (0.68.6):
- React-Core/Default (0.68.5):
- glog
- RCT-Folly (= 2021.06.28.00-v2)
- React-cxxreact (= 0.68.6)
- React-jsi (= 0.68.6)
- React-jsiexecutor (= 0.68.6)
- React-perflogger (= 0.68.6)
- React-cxxreact (= 0.68.5)
- React-jsi (= 0.68.5)
- React-jsiexecutor (= 0.68.5)
- React-perflogger (= 0.68.5)
- Yoga
- React-Core/DevSupport (0.68.6):
- React-Core/DevSupport (0.68.5):
- glog
- RCT-Folly (= 2021.06.28.00-v2)
- React-Core/Default (= 0.68.6)
- React-Core/RCTWebSocket (= 0.68.6)
- React-cxxreact (= 0.68.6)
- React-jsi (= 0.68.6)
- React-jsiexecutor (= 0.68.6)
- React-jsinspector (= 0.68.6)
- React-perflogger (= 0.68.6)
- React-Core/Default (= 0.68.5)
- React-Core/RCTWebSocket (= 0.68.5)
- React-cxxreact (= 0.68.5)
- React-jsi (= 0.68.5)
- React-jsiexecutor (= 0.68.5)
- React-jsinspector (= 0.68.5)
- React-perflogger (= 0.68.5)
- Yoga
- React-Core/RCTActionSheetHeaders (0.68.6):
- React-Core/RCTActionSheetHeaders (0.68.5):
- glog
- RCT-Folly (= 2021.06.28.00-v2)
- React-Core/Default
- React-cxxreact (= 0.68.6)
- React-jsi (= 0.68.6)
- React-jsiexecutor (= 0.68.6)
- React-perflogger (= 0.68.6)
- React-cxxreact (= 0.68.5)
- React-jsi (= 0.68.5)
- React-jsiexecutor (= 0.68.5)
- React-perflogger (= 0.68.5)
- Yoga
- React-Core/RCTAnimationHeaders (0.68.6):
- React-Core/RCTAnimationHeaders (0.68.5):
- glog
- RCT-Folly (= 2021.06.28.00-v2)
- React-Core/Default
- React-cxxreact (= 0.68.6)
- React-jsi (= 0.68.6)
- React-jsiexecutor (= 0.68.6)
- React-perflogger (= 0.68.6)
- React-cxxreact (= 0.68.5)
- React-jsi (= 0.68.5)
- React-jsiexecutor (= 0.68.5)
- React-perflogger (= 0.68.5)
- Yoga
- React-Core/RCTBlobHeaders (0.68.6):
- React-Core/RCTBlobHeaders (0.68.5):
- glog
- RCT-Folly (= 2021.06.28.00-v2)
- React-Core/Default
- React-cxxreact (= 0.68.6)
- React-jsi (= 0.68.6)
- React-jsiexecutor (= 0.68.6)
- React-perflogger (= 0.68.6)
- React-cxxreact (= 0.68.5)
- React-jsi (= 0.68.5)
- React-jsiexecutor (= 0.68.5)
- React-perflogger (= 0.68.5)
- Yoga
- React-Core/RCTImageHeaders (0.68.6):
- React-Core/RCTImageHeaders (0.68.5):
- glog
- RCT-Folly (= 2021.06.28.00-v2)
- React-Core/Default
- React-cxxreact (= 0.68.6)
- React-jsi (= 0.68.6)
- React-jsiexecutor (= 0.68.6)
- React-perflogger (= 0.68.6)
- React-cxxreact (= 0.68.5)
- React-jsi (= 0.68.5)
- React-jsiexecutor (= 0.68.5)
- React-perflogger (= 0.68.5)
- Yoga
- React-Core/RCTLinkingHeaders (0.68.6):
- React-Core/RCTLinkingHeaders (0.68.5):
- glog
- RCT-Folly (= 2021.06.28.00-v2)
- React-Core/Default
- React-cxxreact (= 0.68.6)
- React-jsi (= 0.68.6)
- React-jsiexecutor (= 0.68.6)
- React-perflogger (= 0.68.6)
- React-cxxreact (= 0.68.5)
- React-jsi (= 0.68.5)
- React-jsiexecutor (= 0.68.5)
- React-perflogger (= 0.68.5)
- Yoga
- React-Core/RCTNetworkHeaders (0.68.6):
- React-Core/RCTNetworkHeaders (0.68.5):
- glog
- RCT-Folly (= 2021.06.28.00-v2)
- React-Core/Default
- React-cxxreact (= 0.68.6)
- React-jsi (= 0.68.6)
- React-jsiexecutor (= 0.68.6)
- React-perflogger (= 0.68.6)
- React-cxxreact (= 0.68.5)
- React-jsi (= 0.68.5)
- React-jsiexecutor (= 0.68.5)
- React-perflogger (= 0.68.5)
- Yoga
- React-Core/RCTSettingsHeaders (0.68.6):
- React-Core/RCTSettingsHeaders (0.68.5):
- glog
- RCT-Folly (= 2021.06.28.00-v2)
- React-Core/Default
- React-cxxreact (= 0.68.6)
- React-jsi (= 0.68.6)
- React-jsiexecutor (= 0.68.6)
- React-perflogger (= 0.68.6)
- React-cxxreact (= 0.68.5)
- React-jsi (= 0.68.5)
- React-jsiexecutor (= 0.68.5)
- React-perflogger (= 0.68.5)
- Yoga
- React-Core/RCTTextHeaders (0.68.6):
- React-Core/RCTTextHeaders (0.68.5):
- glog
- RCT-Folly (= 2021.06.28.00-v2)
- React-Core/Default
- React-cxxreact (= 0.68.6)
- React-jsi (= 0.68.6)
- React-jsiexecutor (= 0.68.6)
- React-perflogger (= 0.68.6)
- React-cxxreact (= 0.68.5)
- React-jsi (= 0.68.5)
- React-jsiexecutor (= 0.68.5)
- React-perflogger (= 0.68.5)
- Yoga
- React-Core/RCTVibrationHeaders (0.68.6):
- React-Core/RCTVibrationHeaders (0.68.5):
- glog
- RCT-Folly (= 2021.06.28.00-v2)
- React-Core/Default
- React-cxxreact (= 0.68.6)
- React-jsi (= 0.68.6)
- React-jsiexecutor (= 0.68.6)
- React-perflogger (= 0.68.6)
- React-cxxreact (= 0.68.5)
- React-jsi (= 0.68.5)
- React-jsiexecutor (= 0.68.5)
- React-perflogger (= 0.68.5)
- Yoga
- React-Core/RCTWebSocket (0.68.6):
- React-Core/RCTWebSocket (0.68.5):
- glog
- RCT-Folly (= 2021.06.28.00-v2)
- React-Core/Default (= 0.68.6)
- React-cxxreact (= 0.68.6)
- React-jsi (= 0.68.6)
- React-jsiexecutor (= 0.68.6)
- React-perflogger (= 0.68.6)
- React-Core/Default (= 0.68.5)
- React-cxxreact (= 0.68.5)
- React-jsi (= 0.68.5)
- React-jsiexecutor (= 0.68.5)
- React-perflogger (= 0.68.5)
- Yoga
- React-CoreModules (0.68.6):
- React-CoreModules (0.68.5):
- RCT-Folly (= 2021.06.28.00-v2)
- RCTTypeSafety (= 0.68.6)
- React-Codegen (= 0.68.6)
- React-Core/CoreModulesHeaders (= 0.68.6)
- React-jsi (= 0.68.6)
- React-RCTImage (= 0.68.6)
- ReactCommon/turbomodule/core (= 0.68.6)
- React-cxxreact (0.68.6):
- RCTTypeSafety (= 0.68.5)
- React-Codegen (= 0.68.5)
- React-Core/CoreModulesHeaders (= 0.68.5)
- React-jsi (= 0.68.5)
- React-RCTImage (= 0.68.5)
- ReactCommon/turbomodule/core (= 0.68.5)
- React-cxxreact (0.68.5):
- boost (= 1.76.0)
- DoubleConversion
- glog
- RCT-Folly (= 2021.06.28.00-v2)
- React-callinvoker (= 0.68.6)
- React-jsi (= 0.68.6)
- React-jsinspector (= 0.68.6)
- React-logger (= 0.68.6)
- React-perflogger (= 0.68.6)
- React-runtimeexecutor (= 0.68.6)
- React-jsi (0.68.6):
- React-callinvoker (= 0.68.5)
- React-jsi (= 0.68.5)
- React-jsinspector (= 0.68.5)
- React-logger (= 0.68.5)
- React-perflogger (= 0.68.5)
- React-runtimeexecutor (= 0.68.5)
- React-jsi (0.68.5):
- boost (= 1.76.0)
- DoubleConversion
- glog
- RCT-Folly (= 2021.06.28.00-v2)
- React-jsi/Default (= 0.68.6)
- React-jsi/Default (0.68.6):
- React-jsi/Default (= 0.68.5)
- React-jsi/Default (0.68.5):
- boost (= 1.76.0)
- DoubleConversion
- glog
- RCT-Folly (= 2021.06.28.00-v2)
- React-jsiexecutor (0.68.6):
- React-jsiexecutor (0.68.5):
- DoubleConversion
- glog
- RCT-Folly (= 2021.06.28.00-v2)
- React-cxxreact (= 0.68.6)
- React-jsi (= 0.68.6)
- React-perflogger (= 0.68.6)
- React-jsinspector (0.68.6)
- React-logger (0.68.6):
- React-cxxreact (= 0.68.5)
- React-jsi (= 0.68.5)
- React-perflogger (= 0.68.5)
- React-jsinspector (0.68.5)
- React-logger (0.68.5):
- glog
- react-native-background-timer (2.4.1):
- React-Core
@@ -373,12 +373,8 @@ PODS:
- React-Core
- react-native-performance (2.1.0):
- React-Core
- react-native-safe-area-context (4.4.1):
- RCT-Folly
- RCTRequired
- RCTTypeSafety
- react-native-safe-area-context (3.3.2):
- React-Core
- ReactCommon/turbomodule/core
- react-native-slider (4.1.12):
- React-Core
- react-native-splash-screen (3.3.0):
@@ -389,87 +385,89 @@ PODS:
- react-native-video/Video (6.0.0-alpha.1):
- PromisesSwift
- React-Core
- react-native-webrtc (106.0.7):
- react-native-webrtc (1.106.1):
- JitsiWebRTC (~> 106.0.0)
- React-Core
- react-native-webview (11.15.1):
- React-Core
- React-perflogger (0.68.6)
- React-RCTActionSheet (0.68.6):
- React-Core/RCTActionSheetHeaders (= 0.68.6)
- React-RCTAnimation (0.68.6):
- React-perflogger (0.68.5)
- React-RCTActionSheet (0.68.5):
- React-Core/RCTActionSheetHeaders (= 0.68.5)
- React-RCTAnimation (0.68.5):
- RCT-Folly (= 2021.06.28.00-v2)
- RCTTypeSafety (= 0.68.6)
- React-Codegen (= 0.68.6)
- React-Core/RCTAnimationHeaders (= 0.68.6)
- React-jsi (= 0.68.6)
- ReactCommon/turbomodule/core (= 0.68.6)
- React-RCTBlob (0.68.6):
- RCTTypeSafety (= 0.68.5)
- React-Codegen (= 0.68.5)
- React-Core/RCTAnimationHeaders (= 0.68.5)
- React-jsi (= 0.68.5)
- ReactCommon/turbomodule/core (= 0.68.5)
- React-RCTBlob (0.68.5):
- RCT-Folly (= 2021.06.28.00-v2)
- React-Codegen (= 0.68.6)
- React-Core/RCTBlobHeaders (= 0.68.6)
- React-Core/RCTWebSocket (= 0.68.6)
- React-jsi (= 0.68.6)
- React-RCTNetwork (= 0.68.6)
- ReactCommon/turbomodule/core (= 0.68.6)
- React-RCTImage (0.68.6):
- React-Codegen (= 0.68.5)
- React-Core/RCTBlobHeaders (= 0.68.5)
- React-Core/RCTWebSocket (= 0.68.5)
- React-jsi (= 0.68.5)
- React-RCTNetwork (= 0.68.5)
- ReactCommon/turbomodule/core (= 0.68.5)
- React-RCTImage (0.68.5):
- RCT-Folly (= 2021.06.28.00-v2)
- RCTTypeSafety (= 0.68.6)
- React-Codegen (= 0.68.6)
- React-Core/RCTImageHeaders (= 0.68.6)
- React-jsi (= 0.68.6)
- React-RCTNetwork (= 0.68.6)
- ReactCommon/turbomodule/core (= 0.68.6)
- React-RCTLinking (0.68.6):
- React-Codegen (= 0.68.6)
- React-Core/RCTLinkingHeaders (= 0.68.6)
- React-jsi (= 0.68.6)
- ReactCommon/turbomodule/core (= 0.68.6)
- React-RCTNetwork (0.68.6):
- RCTTypeSafety (= 0.68.5)
- React-Codegen (= 0.68.5)
- React-Core/RCTImageHeaders (= 0.68.5)
- React-jsi (= 0.68.5)
- React-RCTNetwork (= 0.68.5)
- ReactCommon/turbomodule/core (= 0.68.5)
- React-RCTLinking (0.68.5):
- React-Codegen (= 0.68.5)
- React-Core/RCTLinkingHeaders (= 0.68.5)
- React-jsi (= 0.68.5)
- ReactCommon/turbomodule/core (= 0.68.5)
- React-RCTNetwork (0.68.5):
- RCT-Folly (= 2021.06.28.00-v2)
- RCTTypeSafety (= 0.68.6)
- React-Codegen (= 0.68.6)
- React-Core/RCTNetworkHeaders (= 0.68.6)
- React-jsi (= 0.68.6)
- ReactCommon/turbomodule/core (= 0.68.6)
- React-RCTSettings (0.68.6):
- RCTTypeSafety (= 0.68.5)
- React-Codegen (= 0.68.5)
- React-Core/RCTNetworkHeaders (= 0.68.5)
- React-jsi (= 0.68.5)
- ReactCommon/turbomodule/core (= 0.68.5)
- React-RCTSettings (0.68.5):
- RCT-Folly (= 2021.06.28.00-v2)
- RCTTypeSafety (= 0.68.6)
- React-Codegen (= 0.68.6)
- React-Core/RCTSettingsHeaders (= 0.68.6)
- React-jsi (= 0.68.6)
- ReactCommon/turbomodule/core (= 0.68.6)
- React-RCTText (0.68.6):
- React-Core/RCTTextHeaders (= 0.68.6)
- React-RCTVibration (0.68.6):
- RCTTypeSafety (= 0.68.5)
- React-Codegen (= 0.68.5)
- React-Core/RCTSettingsHeaders (= 0.68.5)
- React-jsi (= 0.68.5)
- ReactCommon/turbomodule/core (= 0.68.5)
- React-RCTText (0.68.5):
- React-Core/RCTTextHeaders (= 0.68.5)
- React-RCTVibration (0.68.5):
- RCT-Folly (= 2021.06.28.00-v2)
- React-Codegen (= 0.68.6)
- React-Core/RCTVibrationHeaders (= 0.68.6)
- React-jsi (= 0.68.6)
- ReactCommon/turbomodule/core (= 0.68.6)
- React-runtimeexecutor (0.68.6):
- React-jsi (= 0.68.6)
- ReactCommon/turbomodule/core (0.68.6):
- React-Codegen (= 0.68.5)
- React-Core/RCTVibrationHeaders (= 0.68.5)
- React-jsi (= 0.68.5)
- ReactCommon/turbomodule/core (= 0.68.5)
- React-runtimeexecutor (0.68.5):
- React-jsi (= 0.68.5)
- ReactCommon/turbomodule/core (0.68.5):
- DoubleConversion
- glog
- RCT-Folly (= 2021.06.28.00-v2)
- React-callinvoker (= 0.68.6)
- React-Core (= 0.68.6)
- React-cxxreact (= 0.68.6)
- React-jsi (= 0.68.6)
- React-logger (= 0.68.6)
- React-perflogger (= 0.68.6)
- React-callinvoker (= 0.68.5)
- React-Core (= 0.68.5)
- React-cxxreact (= 0.68.5)
- React-jsi (= 0.68.5)
- React-logger (= 0.68.5)
- React-perflogger (= 0.68.5)
- RNCalendarEvents (2.2.0):
- React
- RNCAsyncStorage (1.17.3):
- React-Core
- RNCClipboard (1.5.1):
- React-Core
- RNCMaskedView (0.2.6):
- React-Core
- RNDefaultPreference (1.4.4):
- React-Core
- RNDeviceInfo (8.4.8):
- React-Core
- RNGestureHandler (2.9.0):
- RNGestureHandler (2.1.0):
- React-Core
- RNGoogleSignin (7.0.4):
- GoogleSignIn (~> 6.0.0)
@@ -545,6 +543,7 @@ DEPENDENCIES:
- RNCalendarEvents (from `../node_modules/react-native-calendar-events`)
- "RNCAsyncStorage (from `../node_modules/@react-native-async-storage/async-storage`)"
- "RNCClipboard (from `../node_modules/@react-native-community/clipboard`)"
- "RNCMaskedView (from `../node_modules/@react-native-masked-view/masked-view`)"
- RNDefaultPreference (from `../node_modules/react-native-default-preference`)
- RNDeviceInfo (from `../node_modules/react-native-device-info`)
- RNGestureHandler (from `../node_modules/react-native-gesture-handler`)
@@ -679,6 +678,8 @@ EXTERNAL SOURCES:
:path: "../node_modules/@react-native-async-storage/async-storage"
RNCClipboard:
:path: "../node_modules/@react-native-community/clipboard"
RNCMaskedView:
:path: "../node_modules/@react-native-masked-view/masked-view"
RNDefaultPreference:
:path: "../node_modules/react-native-default-preference"
RNDeviceInfo:
@@ -705,8 +706,8 @@ SPEC CHECKSUMS:
boost: a7c83b31436843459a1961bfd74b96033dc77234
CocoaLumberjack: b7e05132ff94f6ae4dfa9d5bce9141893a21d9da
DoubleConversion: 831926d9b8bf8166fd87886c4abab286c2422662
FBLazyVector: 74b042924fe14da854ac4e87cefc417f583b22b1
FBReactNativeSpec: cc0037b9914b9b1d92a15f179bc3e2e2c7cc0c6f
FBLazyVector: 2b47ff52037bd9ae07cc9b051c9975797814b736
FBReactNativeSpec: 0e0d384ef17a33b385f13f0c7f97702c7cd17858
Firebase: 5f8193dff4b5b7c5d5ef72ae54bb76c08e2b841d
FirebaseAnalytics: 7761cbadb00a717d8d0939363eb46041526474fa
FirebaseCore: 5743c5785c074a794d35f2fff7ecc254a91e08b1
@@ -731,18 +732,18 @@ SPEC CHECKSUMS:
PromisesObjC: ab77feca74fa2823e7af4249b8326368e61014cb
PromisesSwift: 99fddfe4a0ec88a56486644c0da106694c92a604
RCT-Folly: 4d8508a426467c48885f1151029bc15fa5d7b3b8
RCTRequired: 92cbd71369a2de6add25fd2403ac39838f1b694f
RCTTypeSafety: 494e8af41d7410ed0b877210859ee3984f37e6b4
React: 59989499c0e8926a90d34a9ae0bdb2d1b5b53406
React-callinvoker: 8187db1c71cf2c1c66e8f7328a0cf77a2b255d94
React-Codegen: e806dc2f10ddae645d855cb58acf73ce41eb8ea5
React-Core: fc7339b493e368ae079850a4721bdf716cf3dba2
React-CoreModules: 2f54f6bbf2764044379332089fcbdaf79197021e
React-cxxreact: ee119270006794976e1ab271f0111a5a88b16bcf
React-jsi: ec691b2a475d13b1fd39f697145a526eeeb6661c
React-jsiexecutor: b4ce4afc5dd9c8fdd2ac59049ccf420f288ecef7
React-jsinspector: e396d5e56af08fce39f50571726b68a40f1e302d
React-logger: cec52b3f8fb0be0d47b2cb75dec69de60f2de3b6
RCTRequired: 0f06b6068f530932d10e1a01a5352fad4eaacb74
RCTTypeSafety: b0ee81f10ef1b7d977605a2b266823dabd565e65
React: 3becd12bd51ea8a43bdde7e09d0f40fba7820e03
React-callinvoker: 11abfff50e6bf7a55b3a90b4dc2187f71f224593
React-Codegen: f8946ce0768fb8e92e092e30944489c4b2955b2d
React-Core: 203cdb6ee2657b198d97d41031c249161060e6ca
React-CoreModules: 6eb0c06a4a223fde2cb6a8d0f44f58b67e808942
React-cxxreact: afb0c6c07d19adbd850747fedeac20c6832d40b9
React-jsi: 14d37a6db2af2c1a49f6f5c2e4ee667c364ae45c
React-jsiexecutor: 45c0496ca8cef6b02d9fa0274c25cf458fe91a56
React-jsinspector: eb202e43b3879aba9a14f3f65788aec85d4e1ea9
React-logger: 98f663b292a60967ebbc6d803ae96c1381183b6d
react-native-background-timer: 17ea5e06803401a379ebf1f20505b793ac44d0fe
react-native-get-random-values: 30b3f74ca34e30e2e480de48e4add2706a40ac8f
react-native-keep-awake: afad8a51dfef9fe9655a6344771be32c8596d774
@@ -750,36 +751,37 @@ SPEC CHECKSUMS:
react-native-orientation-locker: 851f6510d8046ea2f14aa169b1e01fcd309a94ba
react-native-pager-view: 3ee7d4c7697fb3ef788346e834a60cca97ed8540
react-native-performance: f4b6604a9d5a8a7407e34a82fab6c641d9a3ec12
react-native-safe-area-context: 99b24a0c5acd0d5dcac2b1a7f18c49ea317be99a
react-native-safe-area-context: 584dc04881deb49474363f3be89e4ca0e854c057
react-native-slider: 6e9b86e76cce4b9e35b3403193a6432ed07e0c81
react-native-splash-screen: 4312f786b13a81b5169ef346d76d33bc0c6dc457
react-native-video: bb6f12a7198db53b261fefb5d609dc77417acc8b
react-native-webrtc: 0df36747802476e758af6b6dceccdeaed8c826c2
react-native-webrtc: 4a4c31be61f88d1d3356526eebce72f462a6760e
react-native-webview: ea4899a1056c782afa96dd082179a66cbebf5504
React-perflogger: 46620fc6d1c3157b60ed28434e08f7fd7f3f3353
React-RCTActionSheet: b1f7e72a0ba760ec684df335c61f730b5179f5ff
React-RCTAnimation: d73b62d42867ab608dfb10e100d8b91106275b18
React-RCTBlob: b5f59693721d50967c35598158e6ca01b474c7de
React-RCTImage: 37cf34d0c2fbef2e0278d42a7c5e8ea06a9fed6b
React-RCTLinking: a11dced20019cf1c2ec7fd120f18b08f2851f79e
React-RCTNetwork: ba097188e5eac42e070029e7cedd9b978940833a
React-RCTSettings: 147073708a1c1bde521cf3af045a675682772726
React-RCTText: 23f76ebfb2717d181476432e5ecf1c6c4a104c5e
React-RCTVibration: be5f18ffc644f96f904e0e673ab639ca5d673ee8
React-runtimeexecutor: d5498cfb7059bf8397b6416db4777843f3f4c1e7
ReactCommon: 1974dab5108c79b40199f12a4833d2499b9f6303
React-perflogger: 0458a87ea9a7342079e7a31b0d32b3734fb8415f
React-RCTActionSheet: 22538001ea2926dea001111dd2846c13a0730bc9
React-RCTAnimation: 732ce66878d4aa151d56a0d142b1105aa12fd313
React-RCTBlob: 9cb9e3e9a41d27be34aaf89b0e0f52c7ca415d57
React-RCTImage: 6bd16627eb9c4bb79903c4cdec7c551266ee1a5b
React-RCTLinking: e9edfc8919c8fa9a3f3c7b34362811f58a2ebba4
React-RCTNetwork: 880eccd21bbe2660a0b63da5ccba75c46eceeaa6
React-RCTSettings: 8c85d8188c97d6c6bd470af6631a6c4555b79bb3
React-RCTText: bbd275ee287730c5acbab1aadc0db39c25c5c64e
React-RCTVibration: 9819a3bf6230e4b2a99877c21268b0b2416157a1
React-runtimeexecutor: b1f1995089b90696dbc2a7ffe0059a80db5c8eb1
ReactCommon: 149e2c0acab9bac61378da0db5b2880a1b5ff59b
RNCalendarEvents: 7e65eb4a94f53c1744d1e275f7fafcfaa619f7a3
RNCAsyncStorage: 005c0e2f09575360f142d0d1f1f15e4ec575b1af
RNCClipboard: 41d8d918092ae8e676f18adada19104fa3e68495
RNCMaskedView: c298b644a10c0c142055b3ae24d83879ecb13ccd
RNDefaultPreference: 08bdb06cfa9188d5da97d4642dac745218d7fb31
RNDeviceInfo: 0400a6d0c94186d1120c3cbd97b23abc022187a9
RNGestureHandler: 071d7a9ad81e8b83fe7663b303d132406a7d8f39
RNGestureHandler: e5c7cab5f214503dcefd6b2b0cefb050e1f51c4a
RNGoogleSignin: c4381751eefd73c552b923ba347a9bfc6f18771c
RNScreens: 40a2cb40a02a609938137a1e0acfbf8fc9eebf19
RNSound: 27e8268bdb0a1f191f219a33267f7e0445e8d62f
RNSVG: f3b60aeeaa81960e2e0536c3a9eef50b667ef3a9
RNWatch: dae6c858a2051dbdcfb00b9a86cf4d90400263b4
Yoga: 7929b92b1828675c1bebeb114dae8cb8fa7ef6a3
Yoga: c4d61225a466f250c35c1ee78d2d0b3d41fe661c
PODFILE CHECKSUM: e671cdcdb80fab67e305861c36bfae8ed5a5b0ef

View File

@@ -40,10 +40,19 @@ static NSString *const PiPEnabledFeatureFlag = @"pip.enabled";
#pragma mark Initializers
- (instancetype)init {
self = [super init];
if (self) {
[self initWithXXX];
}
return self;
}
- (instancetype)initWithCoder:(NSCoder *)coder {
self = [super initWithCoder:coder];
if (self) {
[self doInitialize];
[self initWithXXX];
}
return self;
@@ -52,7 +61,7 @@ static NSString *const PiPEnabledFeatureFlag = @"pip.enabled";
- (instancetype)initWithFrame:(CGRect)frame {
self = [super initWithFrame:frame];
if (self) {
[self doInitialize];
[self initWithXXX];
}
return self;
@@ -62,9 +71,9 @@ static NSString *const PiPEnabledFeatureFlag = @"pip.enabled";
* Internal initialization:
*
* - sets the background color
* - registers necessary observers
* - initializes the external API scope
*/
- (void)doInitialize {
- (void)initWithXXX {
// Set a background color which is in accord with the JavaScript and Android
// parts of the application and causes less perceived visual flicker than
// the default background color.

View File

@@ -7,7 +7,6 @@
"cs": "Čeština",
"da": "Dansk",
"de": "Deutsch",
"dsb": "Dolnoserbšćina",
"el": "Ελληνικά",
"en": "English",
"enGB": "English (United Kingdom)",

View File

@@ -1061,6 +1061,7 @@
"chat": "اظهِر/اخفِ نافذة الدردشة",
"clap": "تصفيق",
"collapse": "قلّص",
"dock": "إرساء في النافذة الرئيسية",
"document": "اظهِر/اخفِ الملف المشارك",
"download": "نزِّل التطبيق",
"embedMeeting": "ضمِّن المُلتقى",
@@ -1114,6 +1115,7 @@
"tileView": "اظهِر/اخفِ عرض العنوان",
"toggleCamera": "بدِّل الكاميرا",
"toggleFilmstrip": "بدِّل وضع الشريط السينمائي (filmstrip)",
"undock": "فك في نافذة منفصلة",
"videoblur": "استعمل/اخرج من وضع تغبيش خلفية الفيديو",
"videomute": "بدِّل وضع اخفاء الفيديو"
},
@@ -1131,6 +1133,7 @@
"closeReactionsMenu": "إغلاق قائمة ردود الفعل",
"disableNoiseSuppression": "قم بتعطيل خاصية منع الضوضاء",
"disableReactionSounds": "يمكنك تعطيل أصوات ردود الفعل لهذا المُلتقى",
"dock": "إرساء في النافذة الرئيسية",
"documentClose": "أغلق الملف المشارك",
"documentOpen": "افتح الملف المشارك",
"download": "نزِّل التطبيق",
@@ -1202,6 +1205,7 @@
"talkWhileMutedPopup": "أتحاول التحدث؟ الميكروفون لديك مكتوم.",
"tileViewToggle": "بدِّل عنوان العرض",
"toggleCamera": "بدِّل الكاميرا",
"undock": "فك في نافذة منفصلة",
"videoSettings": "اعدادات الفيديو",
"videomute": "استعمل / أوقف الكاميرا"
},

View File

@@ -11,6 +11,7 @@
"defaultEmail": "La vostra adreça de correu electrònic predeterminada",
"disabled": "No podeu convidar-hi persones.",
"failedToAdd": "No s'han pogut afegir-hi participants",
"footerText": "La marcació està desactivada.",
"googleEmail": "Correu de Google",
"inviteMoreHeader": "Sou l'única persona en la reunió",
"inviteMoreMailSubject": "Entra a la reunió {{appName}}",
@@ -96,7 +97,6 @@
"messageAccessibleTitleMe": "jo dic:",
"messageTo": "Missatge privat per a {{recipient}}",
"messagebox": "Escriviu un missatge",
"newMessages": "Missatges nous",
"nickname": {
"popover": "Trieu un sobrenom",
"title": "Introduïu un sobrenom per a usar el xat",
@@ -116,7 +116,6 @@
},
"chromeExtensionBanner": {
"buttonText": "Instal·la l'extensió de Chrome",
"buttonTextEdge": "Instal·la l'extensió d'Edge",
"close": "Tanca",
"dontShowAgain": "No m'ho mostris més",
"installExtensionText": "Instal·la l'extensió per a la integració amb Google Calendar i Office 365"
@@ -207,9 +206,6 @@
"selectADevice": "Seleccioneu un aparell",
"testAudio": "Reprodueix un so de prova"
},
"dialIn": {
"screenTitle": "Resum de la trucada"
},
"dialOut": {
"statusMessage": "ara és {{status}}"
},
@@ -271,7 +267,6 @@
"gracefulShutdown": "El nostre servei ara mateix és en manteniment. Torneu-ho a intentar més tard.",
"grantModeratorDialog": "Esteu segur que voleu concedir drets de moderador a {{participantName}}?",
"grantModeratorTitle": "Concedeix drets de moderador",
"hide": "Amaga",
"hideShareAudioHelper": "No tornis a mostrar aquest diàleg",
"incorrectPassword": "El nom o la contrasenya no són correctes",
"incorrectRoomLockPassword": "La contrasenya no és correcta",
@@ -286,6 +281,7 @@
"linkMeetingTitle": "Enllaça la reunió a Salesforce",
"liveStreaming": "Transmissió en directe",
"liveStreamingDisabledBecauseOfActiveRecordingTooltip": "No és possible mentre l'enregistrament estigui actiu",
"liveStreamingDisabledTooltip": "No es pot iniciar la transmissió en directe.",
"localUserControls": "Controls locals d'usuari",
"lockMessage": "No s'ha pogut blocar la conferència.",
"lockRoom": "Afegeix una $t(lockRoomPassword) de reunió",
@@ -340,6 +336,7 @@
"recentlyUsedObjects": "Els objectes que heu usat recentment",
"recording": "Enregistrament",
"recordingDisabledBecauseOfActiveLiveStreamingTooltip": "No és possible mentre hi ha una transmissió en directe activa",
"recordingDisabledTooltip": "No es pot enregistrar.",
"rejoinNow": "Torna a entrar ara",
"remoteControlAllowedMessage": "{{user}} ha acceptat la petició de control remot!",
"remoteControlDeniedMessage": "{{user}} ha rebutjat la petició de control remot!",
@@ -389,7 +386,6 @@
"shareYourScreenDisabled": "S'ha inhabilitat la compartició de pantalla.",
"sharedVideoDialogError": "Error: URL no vàlid",
"sharedVideoLinkPlaceholder": "Enllaç de YouTube o enllaç directe del vídeo",
"show": "Mostra",
"start": "Inicia",
"startLiveStreaming": "Inicia la transmissió en directe",
"startRecording": "Inicia l'enregistrament",
@@ -480,11 +476,9 @@
"noRoom": "No s'ha indicat cap sala a què marcar.",
"numbers": "Números de marcatge",
"password": "$t(lockRoomPasswordUppercase): ",
"reachedLimit": "Heu arribat al límit del vostre pla.",
"sip": "Adreça SIP",
"title": "Comparteix",
"tooltip": "Comparteix l'enllaç i la informació de marcatge d'aquesta reunió",
"upgradeOptions": "Vegeu les opcions d'actualització"
"tooltip": "Comparteix l'enllaç i la informació de marcatge d'aquesta reunió"
},
"inlineDialogFailure": {
"msg": "Vam ensopegar una mica.",
@@ -519,10 +513,6 @@
"toggleShortcuts": "Mostra o amaga les dreceres de teclat",
"videoMute": "Inicia o atura la càmera"
},
"largeVideo": {
"screenIsShared": "Esteu compartint la pantalla",
"showMeWhatImSharing": "Mostra'm què estic compartint"
},
"liveStreaming": {
"busy": "Treballem per a alliberar recursos de transmissió. Torneu-ho a intentar en uns minuts.",
"busyTitle": "Ara mateix, tots els reproductors són ocupats",
@@ -626,7 +616,6 @@
"no": "No",
"participant": "Participant",
"participantStats": "Estadístiques del participant",
"selectTabTitle": "🎥 Trieu aquesta pestanya per a enregistrar",
"sessionToken": "Identificador de la sessió",
"start": "Inicia l'enregistrament",
"stop": "Atura l'enregistrament",
@@ -649,8 +638,6 @@
"connectedOneMember": "{{name}} s'ha unit a la reunió",
"connectedThreePlusMembers": "{{name}} i molts altres s'han unit a la reunió",
"connectedTwoMembers": "{{first}} i {{second}} s'han unit a la reunió",
"dataChannelClosed": "Qualitat del vídeo deteriorada",
"dataChannelClosedDescription": "El canal pont s'ha desconnectat i per la qualitat de vídeo està limitada al valor inferior.",
"disconnected": "desconnectat",
"displayNotifications": "Mostra les notificacions sobre",
"focus": "Focus de la conferència",
@@ -671,8 +658,6 @@
"linkToSalesforceKey": "Enllaça aquesta reunió",
"linkToSalesforceProgress": "S'està enllaçant la reunió a Salesforce...",
"linkToSalesforceSuccess": "La reunió s'ha enllaçat a Salesforce",
"localRecordingStarted": "{{name}} ha iniciat un enregistrament local.",
"localRecordingStopped": "{{name}} ha aturat has stopped a local recording.",
"me": "Jo",
"moderationInEffectCSDescription": "Aixequeu la mà si voleu compartir la pantalla.",
"moderationInEffectCSTitle": "El moderador ha blocat la compartició de pantalla",
@@ -693,10 +678,6 @@
"newDeviceAction": "Usa",
"newDeviceAudioTitle": "S'ha detectat un aparell d'àudio nou",
"newDeviceCameraTitle": "S'ha detectat una càmera nova",
"noiseSuppressionDesktopAudioDescription": "La supressió de soroll no es pot activar mentre es comparteix l'àudio de l'escriptori. Desactiveu-lo i proveu una altra vegada.",
"noiseSuppressionFailedTitle": "No s'ha pogut iniciar la supressió de soroll",
"noiseSuppressionNoTrackDescription": "Abans, activeu el vostre micròfon.",
"noiseSuppressionStereoDescription": "Ara per ara, no és possible la supressió de soroll d'àudio en estèreo",
"oldElectronClientDescription1": "Sembla que useu una versió antiga del client Jitsi Meet, que té vulnerabilitats de seguretat conegudes. Assegureu-vos d'actualitzar-lo",
"oldElectronClientDescription2": "última construcció",
"oldElectronClientDescription3": "ara!",
@@ -832,7 +813,6 @@
"initiated": "S'ha iniciat la trucada",
"joinAudioByPhone": "Entra amb àudio de telèfon",
"joinMeeting": "Entra a la reunió",
"joinMeetingInLowBandwidthMode": "Uneix-t'hi en mode de poca amplada de banda",
"joinWithoutAudio": "Entra sense àudio",
"keyboardShortcuts": "Activa les dreceres del teclat",
"linkCopied": "L'enllaç s'ha copiat al porta-retalls",
@@ -908,23 +888,13 @@
"limitNotificationDescriptionWeb": "A causa de la gran demanda, l'enregistrament es limitarà a {{limit}} min. Per a enregistraments il·limitats, proveu <a href={{url}} rel='noopener noreferrer' target='_blank'>{{app}}</a>.",
"linkGenerated": "S'ha generat un enllaç a l'enregistrament.",
"live": "EN DIRECTE",
"localRecordingNoNotificationWarning": "L'enregistrament no s'anunciarà als altres participants. Els haureu d'informar que la reunió s'està enregistrant.",
"localRecordingNoVideo": "El vídeo no s'està enregistrant",
"localRecordingStartWarning": "Assegureu-vos que atureu l'enregistrament abans de sortir de la reunió per a poder-lo desar.",
"localRecordingStartWarningTitle": "Atura l'enregistrament per a desar-lo",
"localRecordingVideoStop": "Aturar el vídeo també aturarà l'enregistrament local. Segur que voleu continuar?",
"localRecordingVideoWarning": "Per a enregistrar el vostre vídeo, cal que ho feu en començar l'enregistrament",
"localRecordingWarning": "Assegureu-vos de triar la pestanya actual per a poder usar el vídeo i àudios correctes. L'enregistrament actualment està limitat a 1 GB. Això són, aproximadament, 100 minuts.",
"loggedIn": "Sessió iniciada com a {{userName}}",
"noStreams": "No s'ha detectat flux d'àudio ni vídeo.",
"off": "S'ha aturat l'enregistrament",
"offBy": "{{name}} ha aturat l'enregistrament",
"on": "L'enregistrament ha començat",
"onBy": "{{name}} ha iniciat l'enregistrament",
"onlyRecordSelf": "Enregistra només el meu àudio i vídeo",
"pending": "S'està preparant per a enregistrar la reunió...",
"rec": "ENREG",
"saveLocalRecording": "Desa el fitxer de l'enregistrament en local (beta)",
"serviceDescription": "El servei d'enregistrament desarà el vostre enregistrament",
"serviceDescriptionCloud": "Enregistrament al núvol",
"serviceDescriptionCloudInfo": "Les reunions enregistrades s'esborren automàticament 24 hores després de l'enregistrament.",
@@ -932,7 +902,6 @@
"sessionAlreadyActive": "Aquesta sessió ja s'està enregistrant o emetent en directe.",
"signIn": "Inicia la sessió",
"signOut": "Tanca la sessió",
"surfaceError": "Trieu la pestanya actual.",
"title": "Enregistrament",
"unavailable": "Vaja! El servei {{serviceName}} ara mateix no és disponible. Treballem per a resoldre el problema. Torneu-ho a intentar més tard.",
"unavailableTitle": "L'enregistrament no és disponible",
@@ -949,7 +918,6 @@
"title": "Opcions de seguretat"
},
"settings": {
"buttonLabel": "Paràmetres",
"calendar": {
"about": "La integració de l'agenda {{appName}} s'usa per a accedir de forma segura a la vostra agenda perquè pugui llegir els esdeveniments pròxims.",
"disconnect": "Desconnectat",
@@ -973,7 +941,6 @@
"name": "Nom",
"noDevice": "Cap",
"participantJoined": "S'ha unit un participant",
"participantKnocking": "El participant ha entrat a la sala d'espera",
"participantLeft": "Un participant ha sortit de la reunió",
"playSounds": "Reprodueix el so",
"reactions": "Reaccions de la reunió",
@@ -1003,21 +970,13 @@
"disableCrashReportingWarning": "Esteu segur que voleu desactivar l'informe de fallades? La configuració s'aplicarà després de reiniciar l'aplicació.",
"disableP2P": "Desactiva el mode d'igual a igual",
"displayName": "Nom visible",
"displayNamePlaceholderText": "P. ex.: Pere Cullera",
"email": "Adreça electrònica",
"emailPlaceholderText": "email@example.com",
"goTo": "Ves a",
"header": "Configuració",
"help": "Ajuda",
"links": "Enllaços",
"privacy": "Privadesa",
"profileSection": "Perfil",
"serverURL": "URL del servidor",
"showAdvanced": "Mostra la configuració avançada",
"startCarModeInLowBandwidthMode": "Inicia el mode cotxe en el mode d'amplada de banda baixa",
"startWithAudioMuted": "Comença amb l'àudio silenciat",
"startWithVideoMuted": "Comença amb el vídeo desactivat",
"terms": "Condicions",
"version": "Versió"
},
"share": {
@@ -1044,7 +1003,6 @@
},
"startupoverlay": {
"genericTitle": "La reunió requereix usar el micròfon i la càmera.",
"policyText": "",
"title": "{{app}} requereix usar el micròfon i la càmera."
},
"suspendedoverlay": {
@@ -1055,7 +1013,6 @@
"termsView": {
"title": "Condicions"
},
"toggleTopPanelLabel": "Mostra o amaga el panell superior",
"toolbar": {
"Settings": "Configuració",
"accessibilityLabel": {
@@ -1070,10 +1027,10 @@
"chat": "Obre o tanca el xat",
"clap": "Picament de mans",
"collapse": "Col·lapsa",
"dock": "Acobla a la finestra principal",
"document": "Activa o desactiva el document compartit",
"download": "Baixeu les nostres aplicacions",
"embedMeeting": "Insereix la reunió",
"endConference": "Finalitza la reunió per a tothom",
"expand": "Expandeix",
"feedback": "Deixa comentaris",
"fullScreen": "Activa o desactiva la pantalla completa",
@@ -1098,7 +1055,6 @@
"muteEveryoneElse": "Silencia tots els altres participants",
"muteEveryoneElsesVideoStream": "Atura el vídeo a tots els altres",
"muteEveryonesVideoStream": "Atura el vídeo a tothom",
"noiseSuppression": "Supressió de soroll",
"participants": "Participants",
"pip": "Activa o desactiva el mode imatge en imatge",
"privateMessage": "Envia un missatge privat",
@@ -1123,9 +1079,9 @@
"tileView": "Activa o desactiva el mode mosaic",
"toggleCamera": "Activa o desactiva la càmera",
"toggleFilmstrip": "Mostra o amaga la cinta",
"undock": "Desacobla en una finestra separada",
"videoblur": "Activa o desactiva el desenfocament del vídeo",
"videomute": "Activa o desactiva la càmera",
"whiteboard": "Mostra o amaga la pissarra"
"videomute": "Activa o desactiva la càmera"
},
"addPeople": "Afegeix persones a la trucada",
"audioOnlyOff": "Desactiva el mode de poca amplada de banda",
@@ -1139,14 +1095,13 @@
"clap": "Picament de mans",
"closeChat": "Tanca el xat",
"closeReactionsMenu": "Tanca el menú de reaccions",
"disableNoiseSuppression": "Desactiva la supressió de soroll",
"disableReactionSounds": "Podeu desactivar els sons de reacció per a aquesta reunió",
"dock": "Acobla en la finestra principal",
"documentClose": "Tanca el document compartit",
"documentOpen": "Obre el document compartit",
"download": "Baixeu les nostres aplicacions",
"e2ee": "Xifratge d'extrem a extrem",
"embedMeeting": "Insereix la reunió",
"endConference": "Finalitza la reunió per a tothom",
"enterFullScreen": "Mostra en pantalla completa",
"enterTileView": "Mostra en mode mosaic",
"exitFullScreen": "Surt de la pantalla completa",
@@ -1155,7 +1110,6 @@
"giphy": "Mostra o amaga el menú GIPHY",
"hangup": "Surt la reunió",
"help": "Ajuda",
"hideWhiteboard": "Amaga la pissarra",
"invite": "Convida-hi persones",
"joinBreakoutRoom": "Entra a la sala de descans",
"laugh": "Riure",
@@ -1178,7 +1132,6 @@
"noAudioSignalDialInDesc": "També podeu marcar usant:",
"noAudioSignalDialInLinkDesc": "Números de marcatge",
"noAudioSignalTitle": "No entra cap so pel vostre micròfon!",
"noiseSuppression": "Supressió de soroll",
"noisyAudioInputDesc": "Sembla que el vostre micròfon fa soroll, considereu de silenciar-lo o canviar l'aparell.",
"noisyAudioInputTitle": "Sembla que el micròfon fa soroll!",
"openChat": "Obre el xat",
@@ -1201,7 +1154,6 @@
"shareaudio": "Comparteix l'àudio",
"sharedvideo": "Comparteix el vídeo",
"shortcuts": "Mostra les dreceres",
"showWhiteboard": "Mostra la pissarra",
"silence": "Silenci",
"speakerStats": "Estadístiques de l'interlocutor",
"startScreenSharing": "Atura la compartició de la pantalla",
@@ -1214,6 +1166,7 @@
"talkWhileMutedPopup": "Intenteu parlar? Esteu silenciat.",
"tileViewToggle": "Activa o desactiva el mode mosaic",
"toggleCamera": "Activa o desactiva la càmera",
"undock": "Desacobla en una finestra principal",
"videoSettings": "Paràmetres de vídeo",
"videomute": "Inicia o atura la càmera"
},
@@ -1225,12 +1178,8 @@
"labelToolTip": "La reunió s'està transcrivint",
"off": "La transcripció s'ha aturat",
"pending": "S'està preparant per a enregistrar la reunió...",
"sourceLanguageDesc": "La llengua actual de la reunió és <b>{{sourceLanguage}}</b>. <br/> Podeu canviar-la",
"sourceLanguageHere": "aquí",
"start": "Activa els subtítols",
"stop": "Desactiva els subtítols",
"subtitles": "Subtítols",
"subtitlesOff": "Inactiu",
"tr": "TR"
},
"userMedia": {
@@ -1366,7 +1315,6 @@
"roomname": "Introduïu el nom de la sala",
"roomnameHint": "Introduïu el nom o l'URL de la sala on voleu entrar. Podeu crear un nom, només cal que les persones amb qui us reuniu el coneguin i introdueixin el mateix nom.",
"sendFeedback": "Envia comentaris",
"settings": "Paràmetres",
"startMeeting": "Inicia la reunió",
"terms": "Condicions",
"title": "Videoconferència segura, plena de funcionalitats i completament gratuïta i lliure"

View File

@@ -1060,6 +1060,7 @@
"chat": "Přepnout okno zpráv",
"clap": "Tleskat",
"collapse": "Zabalit",
"dock": "Dokovat v hlavním okně",
"document": "Přepnout sdílený dokument",
"download": "Stáhnout naše aplikace",
"embedMeeting": "Vložit setkání",
@@ -1113,6 +1114,7 @@
"tileView": "Přepnout dlaždicové zobrazení",
"toggleCamera": "Přepnout kameru",
"toggleFilmstrip": "Přepnout video náhledy",
"undock": "Oddokovat do samostatného okna",
"videoblur": "Přepnout rozmazání videa",
"videomute": "Přepnout ztišení videa"
},
@@ -1130,6 +1132,7 @@
"closeReactionsMenu": "Zavrít menu reakcí",
"disableNoiseSuppression": "Vypnout potlačení šumu",
"disableReactionSounds": "Vypnout zvuky reakcí",
"dock": "Dokovat v hlavním okně",
"documentClose": "Zavřít sdílený dokument",
"documentOpen": "Otevřít sdílený dokument",
"download": "Stáhnout naše aplikace",
@@ -1201,6 +1204,7 @@
"talkWhileMutedPopup": "Snažíte se mluvit? Máte ztišený mikrofon.",
"tileViewToggle": "Přepnout dlaždicové zobrazení",
"toggleCamera": "Přepnout kameru",
"undock": "",
"videoSettings": "",
"videomute": "Zapnout / Vypnout kameru"
},

View File

@@ -147,7 +147,6 @@
"bridgeCount": "Serverzahl: ",
"codecs": "Codecs (A/V): ",
"connectedTo": "Verbunden mit:",
"e2eeVerified": "E2EE verifiziert:",
"framerate": "Bildwiederholrate:",
"less": "Weniger anzeigen",
"localaddress": "Lokale Adresse:",
@@ -184,21 +183,13 @@
"deepLinking": {
"appNotInstalled": "Sie benötigen die „{{app}}“-App, um der Konferenz auf dem Smartphone beizutreten.",
"description": "Nichts passiert? Wir haben versucht, die Konferenz in {{app}} zu öffnen. Versuchen Sie es erneut oder treten Sie der Konferenz in {{app}} im Web bei.",
"descriptionNew": "Nichts passiert? Wir haben versucht, die Konferenz in {{app}} zu öffnen. <br /><br /> Versuchen Sie es erneut oder treten Sie der Konferenz im Web bei.",
"descriptionWithoutWeb": "Ist nichts passiert? Wir haben versucht, Ihre Besprechung in der „{{app}}“-Desktop-App zu starten.",
"downloadApp": "App herunterladen",
"downloadMobileApp": "Aus dem App Store herunterladen",
"ifDoNotHaveApp": "Wenn Sie die App noch nicht haben:",
"ifHaveApp": "Wenn Sie die App bereits haben:",
"joinInApp": "Mit der App am Meeting teilnehmen",
"joinInAppNew": "Mit der App",
"joinInBrowser": "Im Browser",
"launchMeetingLabel": "Wie möchten Sie an der Konferenz teilnehmen?",
"launchWebButton": "Im Web öffnen",
"noMobileApp": "Sie haben die App noch nicht installiert?",
"termsAndConditions": "Indem Sie fortfahren, stimmen Sie underen<a href='{{termsAndConditionsLink}}' rel='noopener noreferrer' target='_blank'>Nutzungsbedingungen</a> zu.",
"title": "Die Konferenz wird in {{app}} geöffnet …",
"titleNew": "Konferenz starten ...",
"tryAgainButton": "Erneut mit der nativen Applikation versuchen",
"unsupportedBrowser": "Sie verwenden einen Browser, der noch nicht unterstützt wird."
},
@@ -211,12 +202,6 @@
"microphonePermission": "Fehler beim Bezug der Mikrofon-Zugriffsberechtigungen"
},
"deviceSelection": {
"hid": {
"callControl": "Anrufsteuerung",
"connectedDevices": "Verbundene Geräte:",
"deleteDevice": "Gerät löschen",
"pairDevice": "Gerät verbinden"
},
"noPermission": "Berechtigungen nicht erteilt",
"previewUnavailable": "Keine Vorschau verfügbar",
"selectADevice": "Ein Gerät wählen",
@@ -240,9 +225,7 @@
"WaitingForHostTitle": "Warten auf den Beginn der Konferenz …",
"Yes": "Ja",
"accessibilityLabel": {
"close": "Popup schließen",
"liveStreaming": "Livestream",
"sharingTabs": "Optionen zum Teilen"
"liveStreaming": "Livestream"
},
"add": "Hinzufügen",
"addMeetingNote": "Notiz zu dieser Konferenz hinzufügen",
@@ -425,10 +408,6 @@
"user": "Anmeldename",
"userIdentifier": "Benutzername",
"userPassword": "Passwort",
"verifyParticipantConfirm": "Sie stimmen überein",
"verifyParticipantDismiss": "Sie stimmen nicht überein",
"verifyParticipantQuestion": "EXPERIMENTELL: Frage Person {{participantName}} ob sie den selben Inhalt in der selben Reihenfolge sieht.",
"verifyParticipantTitle": "Personsverifikation",
"videoLink": "Video-Link",
"viewUpgradeOptions": "Upgradeoptionen anzeigen",
"viewUpgradeOptionsContent": "Sie müssen Ihren Tarif erweitern, um Premium-Features wie Aufnahme, Transkription, RTMP-Streaming und mehr zu nutzen.",
@@ -454,15 +433,13 @@
"veryBad": "Sehr schlecht",
"veryGood": "Sehr gut"
},
"filmstrip": {
"accessibilityLabel": {
"heading": "Videominiaturen"
}
},
"giphy": {
"noResults": "Keine Ergebnisse :(",
"search": "GIPHY durchsuchen"
},
"helpView": {
"title": "Hilfecenter"
},
"incomingCall": {
"answer": "Antworten",
"audioCallTitle": "Eingehender Anruf",
@@ -586,6 +563,7 @@
"lobby": {
"admit": "Zulassen",
"admitAll": "Alle zulassen",
"allow": "Annehmen",
"backToKnockModeButton": "Kein Passwort, stattdessen Beitritt anfragen",
"chat": "Chat",
"dialogTitle": "Lobbymodus",
@@ -671,11 +649,8 @@
"connectedOneMember": "{{name}} nimmt am Meeting teil",
"connectedThreePlusMembers": "{{name}} und {{count}} andere Personen nehmen am Meeting teil",
"connectedTwoMembers": "{{first}} und {{second}} nehmen am Meeting teil",
"dataChannelClosed": "Schlechte Videoqualität",
"dataChannelClosedDescription": "Die Steuerungsverbindung (Bridge Channel) wurde unterbrochen, daher ist die Videoqulität auf die schlechteste Stufe limitiert.",
"disconnected": "getrennt",
"displayNotifications": "Benachrichtigungen anzeigen für",
"dontRemindMe": "Nicht erinnern",
"focus": "Konferenzleitung",
"focusFail": "{{component}} ist im Moment nicht verfügbar wiederholen in {{ms}} Sekunden",
"gifsMenu": "GIPHY",
@@ -684,7 +659,6 @@
"invitedOneMember": "{{name}} wurde eingeladen",
"invitedThreePlusMembers": "{{name}} und {{count}} andere wurden eingeladen",
"invitedTwoMembers": "{{first}} und {{second}} wurden eingeladen",
"joinMeeting": "Beitreten",
"kickParticipant": "{{kicked}} wurde von {{kicker}} ausgewiesen",
"leftOneMember": "{{name}} hat die Konferenz verlassen",
"leftThreePlusMembers": "{{name}} und Weitere haben die Konferenz verlassen",
@@ -735,8 +709,6 @@
"reactionSoundsForAll": "Interaktionstöne für alle deaktivieren",
"screenShareNoAudio": "Die Option \"Audio freigeben\" wurde bei der Auswahl des Fensters nicht ausgewählt.",
"screenShareNoAudioTitle": "Share audio was not checked",
"screenSharingAudioOnlyDescription": "Durch die Bildschirmfreigabe wird der Modus \"Beste Leistung\" beeinflusst und daher mehr Datenrate benötigt.",
"screenSharingAudioOnlyTitle": "Modus \"Beste Leistung\"",
"selfViewTitle": "Sie können die eigene Ansicht immer in den Einstellungen reaktivieren",
"somebody": "Jemand",
"startSilentDescription": "Treten Sie dem Meeting noch einmal bei, um Ihr Audio zu aktivieren",
@@ -774,7 +746,6 @@
"headings": {
"lobby": "Lobby ({{count}})",
"participantsList": "Anwesende ({{count}})",
"visitors": "Gäste ({{count}})",
"waitingLobby": "In der Lobby ({{count}})"
},
"search": "Suche Anwesende",
@@ -782,7 +753,6 @@
},
"passwordDigitsOnly": "Bis zu {{number}} Ziffern",
"passwordSetRemotely": "von einer anderen Person gesetzt",
"pinParticipant": "{{participantName}} - anheften",
"pinnedParticipant": "Die Person ist angeheftet",
"polls": {
"answer": {
@@ -888,6 +858,9 @@
"rejected": "Abgelehnt",
"ringing": "Es klingelt …"
},
"privacyView": {
"title": "Datenschutz"
},
"profile": {
"avatar": "Benutzerbild",
"setDisplayNameLabel": "Anzeigename festlegen",
@@ -941,7 +914,6 @@
"localRecordingVideoWarning": "Um Ihr eigenes Kamerabild aufzuzeichnen, müssen Sie Ihre Kamera beim Start der Aufnahme einschalten",
"localRecordingWarning": "Bitte prüfen Sie, dass das aktuelle Tab auswählen, um Bild und Ton aufzuzeichnen. Die Länge der Aufzeichnung ist aktuell auf 1GB beschränkt, was ungefähr 100 Minuten entspricht.",
"loggedIn": "Als {{userName}} angemeldet",
"noMicPermission": "Zugriff auf Mikrofon fehlgeschlagen. Bitte erlauben Sie den Zugriff auf das Mikrofon.",
"noStreams": "Kein Ton oder Video erkannt.",
"off": "Aufnahme gestoppt",
"offBy": "{{name}} stoppte die Aufnahme",
@@ -975,7 +947,6 @@
"title": "Sicherheitsoptionen"
},
"settings": {
"audio": "Audio",
"buttonLabel": "Einstellungen",
"calendar": {
"about": "Die Kalenderintegration von {{appName}} wird verwendet, um ein sicheres Zugreifen auf Ihren Kalender und Auslesen der bevorstehenden Termine zu ermöglichen.",
@@ -996,11 +967,9 @@
"maxStageParticipants": "Maximale Anzahl an Personen, die zur Hauptansicht angeheftet werden können",
"microphones": "Mikrofon",
"moderator": "Moderation",
"moderatorOptions": "Moderationseinstellungen",
"more": "Mehr",
"name": "Name",
"noDevice": "Kein",
"notifications": "Benachrichtigungen",
"participantJoined": "Neue Person nimmt teil",
"participantKnocking": "Person hat Lobby betreten",
"participantLeft": "Person verlässt die Konferenz",
@@ -1011,14 +980,13 @@
"selectCamera": "Kamera",
"selectMic": "Mikrofon",
"selfView": "Eigene Ansicht",
"shortcuts": "Tastaturkürzel",
"sounds": "Hinweistöne",
"speakers": "Lautsprecher",
"startAudioMuted": "Alle Personen treten stummgeschaltet bei",
"startReactionsMuted": "Interaktionstöne für alle deaktivieren",
"startVideoMuted": "Alle Personen treten ohne Video bei",
"talkWhileMuted": "Wenn bei Stummschaltung gesprochen wird",
"title": "Einstellungen",
"video": "Kamera"
"title": "Einstellungen"
},
"settingsView": {
"advanced": "Erweitert",
@@ -1035,7 +1003,6 @@
"displayName": "Anzeigename",
"displayNamePlaceholderText": "z.B. Erika Musterfrau",
"email": "E-Mail",
"emailPlaceholderText": "email@beispiel.de",
"goTo": "Gehe zu",
"header": "Einstellungen",
"help": "Hilfe",
@@ -1044,7 +1011,6 @@
"profileSection": "Profil",
"serverURL": "Server-URL",
"showAdvanced": "Erweiterte Einstellungen anzeigen",
"startCarModeInLowBandwidthMode": "Automodus mit Datensparmodus starten",
"startWithAudioMuted": "Stumm beitreten",
"startWithVideoMuted": "Ohne Video beitreten",
"terms": "Nutzungsbedingungen",
@@ -1099,29 +1065,19 @@
"cc": "Untertitel ein-/ausschalten",
"chat": "Chatfenster öffnen / schließen",
"clap": "Klatschen",
"closeChat": "Chat schließen",
"closeMoreActions": "„Weitere Einstellungen“ schließen",
"closeParticipantsPane": "Anwesendenliste schließen",
"collapse": "Einklappen",
"dock": "In Hauptfenster einbinden",
"document": "Geteiltes Dokument schließen",
"documentClose": "Geteiltes Dokument schließen",
"documentOpen": "Geteiltes Dokument öffnen",
"download": "Unsere Apps herunterladen",
"embedMeeting": "Konferenz einbetten",
"endConference": "Konferenz für alle beenden",
"enterFullScreen": "Vollbildmodus einschalten",
"enterTileView": "Kachelansicht einschalten",
"exitFullScreen": "Vollbildansicht ausschalten",
"exitTileView": "Kachelansicht ausschalten",
"expand": "Ausklappen",
"feedback": "Feedback hinterlassen",
"fullScreen": "Vollbildmodus ein-/ausschalten",
"giphy": "GIPHY ein-/ausschalten",
"grantModerator": "Moderationsrechte vergeben",
"hangup": "Konferenz verlassen",
"heading": "Toolbar",
"help": "Hilfe",
"hideWhiteboard": "Whiteboard ausblenden",
"invite": "Person einladen",
"kick": "Person entfernen",
"laugh": "Lachen",
@@ -1131,7 +1087,6 @@
"lobbyButton": "Lobbymodus ein-/ausschalten",
"localRecording": "Lokale Aufzeichnungssteuerelemente ein-/ausschalten",
"lockRoom": "Konferenzpasswort ein-/ausschalten",
"lowerHand": "Hand senken",
"moreActions": "Menü „Weitere Einstellungen“ ein-/ausschalten",
"moreActionsMenu": "Menü „Weitere Einstellungen“",
"moreOptions": "Menü „Weitere Optionen“",
@@ -1141,7 +1096,6 @@
"muteEveryoneElsesVideoStream": "Alle anderen Kameras ausschalten",
"muteEveryonesVideoStream": "Alle Kameras ausschalten",
"noiseSuppression": "Rauschunterdrückung",
"openChat": "Chat öffnen",
"participants": "Anwesende",
"pip": "Bild-in-Bild-Modus ein-/ausschalten",
"privateMessage": "Private Nachricht senden",
@@ -1160,19 +1114,16 @@
"sharedvideo": "Videofreigabe ein-/ausschalten",
"shortcuts": "Tastenkombinationen ein-/ausblenden",
"show": "Im Vordergrund anzeigen",
"showWhiteboard": "Whiteboard anzeigen",
"silence": "Stille",
"speakerStats": "Sprechstatistik ein-/ausblenden",
"stopScreenSharing": "Bildschirmfreigabe beenden",
"stopSharedVideo": "Videofreigabe beenden",
"surprised": "Überrascht",
"tileView": "Kachelansicht ein-/ausschalten",
"toggleCamera": "Kamera wechseln",
"toggleFilmstrip": "Miniaturansichten ein-/ausschalten",
"unmute": "Stummschaltung aufheben",
"undock": "In eigenem Fenster anzeigen",
"videoblur": "Unscharfer Hintergrund ein-/ausschalten",
"videomute": "„Video stummschalten“ ein-/ausschalten",
"videounmute": "Kamera einschalten"
"whiteboard": "Whiteboard ein-/ausschalten"
},
"addPeople": "Personen zur Konferenz hinzufügen",
"audioOnlyOff": "Modus „Nur Audio“ deaktivieren",
@@ -1185,16 +1136,15 @@
"chat": "Chat öffnen / schließen",
"clap": "Klatschen",
"closeChat": "Chat schließen",
"closeParticipantsPane": "Anwesenheitsliste schließen",
"closeReactionsMenu": "Interaktionsmenü schließen",
"disableNoiseSuppression": "Rauschunterdrückung deaktivieren",
"disableReactionSounds": "Sie können die Interaktionstöne für diese Konferenz deaktivieren",
"dock": "In Hauptfenster einbinden",
"documentClose": "Geteiltes Dokument schließen",
"documentOpen": "Geteiltes Dokument öffnen",
"download": "Unsere Apps herunterladen",
"e2ee": "Ende-zu-Ende-Verschlüsselung",
"embedMeeting": "Konferenz einbetten",
"enableNoiseSuppression": "Rauschunterdrückung einschalten",
"endConference": "Konferenz für alle beenden",
"enterFullScreen": "Vollbildmodus",
"enterTileView": "Kachelansicht einschalten",
@@ -1219,7 +1169,7 @@
"lowerYourHand": "Hand senken",
"moreActions": "Weitere Einstellungen",
"moreOptions": "Weitere Optionen",
"mute": "Stummschalten",
"mute": "Mikrofon aktivieren / deaktivieren",
"muteEveryone": "Alle stummschalten",
"muteEveryonesVideo": "Alle Kameras ausschalten",
"noAudioSignalDesc": "Wenn Sie das Gerät nicht absichtlich über die Systemeinstellungen oder die Hardware stumm geschaltet haben, sollten Sie einen Wechsel des Geräts in Erwägung ziehen.",
@@ -1263,10 +1213,9 @@
"talkWhileMutedPopup": "Versuchen Sie zu sprechen? Ihr Mikrofon ist stummgeschaltet.",
"tileViewToggle": "Kachelansicht ein-/ausschalten",
"toggleCamera": "Kamera wechseln",
"unmute": "Stummschaltung aufheben",
"undock": "In eigenem Fenster anzeigen",
"videoSettings": "Kameraeinstellungen",
"videomute": "Kamera stoppen",
"videounmute": "Kamera einschalten"
"videomute": "Kamera starten / stoppen"
},
"transcribing": {
"ccButtonTooltip": "Untertitel ein-/ausschalten",
@@ -1284,7 +1233,6 @@
"subtitlesOff": "Ausschalten",
"tr": "TR"
},
"unpinParticipant": "{{participantName}} - Nicht mehr anheften",
"userMedia": {
"androidGrantPermissions": "Wählen Sie <b><i>Zulassen</i></b>, wenn der Browser um Berechtigungen bittet.",
"chromeGrantPermissions": "Wählen Sie <b><i>Zulassen</i></b>, wenn der Browser um Berechtigungen bittet.",
@@ -1323,11 +1271,9 @@
"ldTooltip": "Video wird in niedriger Auflösung angezeigt",
"lowDefinition": "Niedrige Auflösung",
"performanceSettings": "Qualitätseinstellungen",
"recording": "Aufnahme läuft",
"sd": "SD",
"sdTooltip": "Video wird in Standardauflösung angezeigt",
"standardDefinition": "Standardauflösung",
"streaming": "Streaming läuft"
"standardDefinition": "Standardauflösung"
},
"videothumbnail": {
"connectionInfo": "Verbindungsinformationen",
@@ -1339,7 +1285,6 @@
"grantModerator": "Moderationsrechte vergeben",
"hideSelfView": "Eigene Ansicht ausblenden",
"kick": "Hinauswerfen",
"mirrorVideo": "Mein Video spiegeln",
"moderator": "Moderation",
"mute": "Person ist stumm geschaltet",
"muted": "Stummgeschaltet",
@@ -1349,7 +1294,6 @@
"show": "Im Vordergrund anzeigen",
"showSelfView": "Eigene Ansicht anzeigen",
"unpinFromStage": "Lösen",
"verify": "Person verifizieren",
"videoMuted": "Kamera ausgeschaltet",
"videomute": "Person hat die Kamera angehalten"
},
@@ -1377,7 +1321,6 @@
"webAssemblyWarning": "WebAssembly wird nicht unterstützt",
"webAssemblyWarningDescription": "WebAssembly ist deaktiviert oder wird in diesem Browser nicht unterstützt"
},
"visitorsLabel": "Anzahl Gäste: {{count}}",
"volumeSlider": "Lautstärkeregler",
"welcomepage": {
"accessibilityLabel": {
@@ -1410,7 +1353,6 @@
"microsoftLogo": "Microsoft Logo",
"policyLogo": "Richtlinienlogo"
},
"meetingsAccessibilityLabel": "Konferenzen",
"mobileDownLoadLinkAndroid": "Android App Download",
"mobileDownLoadLinkFDroid": "F-Droid App Download",
"mobileDownLoadLinkIos": "iOS App Download",
@@ -1419,7 +1361,6 @@
"recentList": "Verlauf",
"recentListDelete": "Eintrag löschen",
"recentListEmpty": "Ihr Konferenzverlauf ist derzeit leer. Reden Sie mit Ihrem Team und Ihre vergangenen Konferenzen landen hier.",
"recentMeetings": "Ihre letzten Konferenzen",
"reducedUIText": "Willkommen bei {{app}}!",
"roomNameAllowedChars": "Der Konferenzname sollte keines der folgenden Zeichen enthalten: ?, &, :, ', \", %, #.",
"roomname": "Konferenzname eingeben",
@@ -1428,12 +1369,6 @@
"settings": "Einstellungen",
"startMeeting": "Meeting starten",
"terms": "AGB",
"title": "Sichere, voll funktionale und komplett kostenlose Videokonferenzen",
"upcomingMeetings": "Ihre zukünftigen Konferenzen"
},
"whiteboard": {
"accessibilityLabel": {
"heading": "Whiteboard"
}
"title": "Sichere, voll funktionale und komplett kostenlose Videokonferenzen"
}
}

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -838,7 +838,7 @@
"selectCamera": "Cámara",
"selectMic": "Micrófono",
"sounds": "Sonidos",
"speakers": "Altavoces",
"speakers": "Parlantes",
"startAudioMuted": "Todos inician silenciados",
"startVideoMuted": "Todos inician con cámara desactivada",
"talkWhileMuted": "Hablar en silencio",

View File

@@ -429,12 +429,7 @@
"startSilentTitle": "",
"suboptimalExperienceDescription": "Valitettavasti {{appName}} ei taida toimia kovin hyvin täällä. Yritämme löytää parannuskeinoja, mutta sillä välin kannattaa käyttää jotain <a href='{{recommendedBrowserPageLink}}' target='_blank'>täysin tuettua selainta</a>.",
"suboptimalExperienceTitle": "Selainvaroitus",
"unmute": "Poista mykistys"
},
"participantsPane": {
"actions": {
"muteEveryoneElse": "Mykistä kaikki muut"
}
"unmute": ""
},
"passwordDigitsOnly": "",
"passwordSetRemotely": "",
@@ -568,13 +563,11 @@
"moreActions": "Säädä Lisää toimintoja -valikkoa",
"moreActionsMenu": "Lisää toimintoja -valikko",
"mute": "Säädä äänen mykistystä",
"muteEveryoneElse": "Mykistä kaikki muut",
"pip": "Säädä Kuva kuvassa (PiP) -tilaa",
"profile": "Muokkaa profiilia",
"raiseHand": "Säädä käden nostoa",
"recording": "Säädä nauhoitusta",
"remoteMute": "Mykistä osanottaja",
"selectBackground": "Valitse tausta",
"shareRoom": "Kutsu joku",
"shareYourScreen": "Säädä näytön jakoa",
"sharedvideo": "Säädä videon jakoa",
@@ -664,37 +657,29 @@
"pending": "{{displayName}} on kutsuttu"
},
"videoStatus": {
"adjustFor": "Muokkaa:",
"audioOnly": "ÄÄNI",
"audioOnlyExpanded": "Käytössäsi on Vain ääni -tila. Se säästää kaistanleveyttä, mutta et näe muiden videoita.",
"bestPerformance": "Paras suorituskyky",
"callQuality": "Videon laatu",
"callQuality": "",
"hd": "HD",
"highDefinition": "Teräväpiirto",
"highestQuality": "Korkein laatu",
"labelTooiltipNoVideo": "Ei videota",
"labelTooltipAudioOnly": "Vain ääni -tila käytössä",
"ld": "LD",
"lowDefinition": "Alhainen kuvanlaatu",
"onlyAudioAvailable": "Vain ääni -tila on käytettävissä",
"onlyAudioSupported": "Tässä selaimessa tuemme vain ääntä.",
"performanceSettings": "Suorituskykyasetukset",
"sd": "SD",
"standardDefinition": "Vakiopiirto"
},
"videothumbnail": {
"domute": "Mykistä",
"domuteOthers": "Mykistä kaikki muut",
"domuteVideoOfOthers": "Estä muiden kamera",
"flip": "Käännä",
"kick": "Poista",
"moderator": "Valvoja",
"mute": "Osallistuja on mykistetty",
"mute": "",
"muted": "Mykistetty",
"pinToStage": "Kiinnitä ruutuun",
"remoteControl": "Etäkäyttö",
"show": "Näytä ruudulla",
"unpinFromStage": "Irroita kiinnitys",
"show": "",
"videomute": ""
},
"welcomepage": {

View File

@@ -11,6 +11,7 @@
"defaultEmail": "Votre email par défaut",
"disabled": "Vous ne pouvez pas inviter quelqu'un.",
"failedToAdd": "Erreur lors de l'ajout des participants",
"footerText": "Appels sortants désactivés.",
"googleEmail": "Gmail",
"inviteMoreHeader": "Vous êtes seul(e) dans la réunion",
"inviteMoreMailSubject": "Rejoindre une réunion {{appName}}",
@@ -30,7 +31,6 @@
},
"audioDevices": {
"bluetooth": "Bluetooth",
"car": "Système audio du véhicule",
"headphones": "Écouteurs",
"none": "Aucune source audio n'est disponible",
"phone": "Téléphone",
@@ -76,16 +76,6 @@
"refresh": "Rafraîchir le calendrier",
"today": "Aujourd'hui"
},
"carmode": {
"actions": {
"selectSoundDevice": "Sélectionnez le dispositif audio"
},
"labels": {
"buttonLabel": "Mode voiture",
"title": "Mode voiture",
"videoStopped": "Votre vidéo est arrêtée"
}
},
"chat": {
"enter": "Entrez dans le salon",
"error": "Erreur : votre message n'a pas été envoyé. Raison : {{error}}",
@@ -96,7 +86,6 @@
"messageAccessibleTitleMe": "Je dis: ",
"messageTo": "Message privé à {{recipient}}",
"messagebox": "Saisissez un message",
"newMessages": "Nouveaux messages",
"nickname": {
"popover": "Choisissez un pseudonyme",
"title": "Entrez un pseudonyme pour utiliser le chat",
@@ -116,7 +105,6 @@
},
"chromeExtensionBanner": {
"buttonText": "Installer l'extension Chrome",
"buttonTextEdge": "Installer lextension Edge",
"close": "Fermer",
"dontShowAgain": "Ne plus me montrer ceci",
"installExtensionText": "Installer l'extension pour l'intégration de Google Calendar et Office 365"
@@ -147,7 +135,6 @@
"bridgeCount": "Nombre de serveurs :",
"codecs": "Codecs (A/V) :",
"connectedTo": "Connecté à :",
"e2eeVerified": "E2EE vérifié",
"framerate": "Images par seconde :",
"less": "Cacher les détails",
"localaddress": "Adresse locale :",
@@ -184,21 +171,13 @@
"deepLinking": {
"appNotInstalled": "Vous avez besoin de l'application mobile {{app}} pour participer à cette réunion avec votre téléphone.",
"description": "Rien ne s'est passé ? Nous avons essayé de lancer votre réunion dans l'application de bureau {{app}}. Essayez à nouveau ou lancez-la dans l'application web {{app}}.",
"descriptionNew": "Rien ne s'est passé ? Nous avons essayé de lancer votre réunion dans l'application de bureau {{app}}. <br /><br /> Vous pouvez essayer à nouveau ou la lancer dans l'application web.",
"descriptionWithoutWeb": "Rien ne s'est passé ? Nous avons essayé de démarrer votre réunion dans l'application bureau {{app}}.",
"downloadApp": "Télécharger l'application",
"downloadMobileApp": "Télécharger l'application depuis le Store",
"ifDoNotHaveApp": "Si vous n'avez pas encore l'application:",
"ifHaveApp": "Si vous avez déjà installé l'application:",
"joinInApp": "Rejoindre la réunion en utilisant l'application",
"joinInAppNew": "Rejoindre depuis lapplication",
"joinInBrowser": "Rejoindre depuis le navigateur",
"launchMeetingLabel": "Comment voulez-vous rejoindre la réunion ?",
"launchWebButton": "Lancer dans le navigateur",
"noMobileApp": "Vous navez pas lapplication ?",
"termsAndConditions": "En continuant, vous acceptez nos <a href='{{termsAndConditionsLink}}' rel='noopener noreferrer' target='_blank'>conditions générales dutilisation.</a>",
"title": "Lancement de votre réunion dans {{app}} en cours ...",
"titleNew": "Lancement de votre réunion ...",
"tryAgainButton": "Réessayez sur le bureau",
"unsupportedBrowser": "Il semble que vous utilisez un navigateur non supporté."
},
@@ -211,20 +190,11 @@
"microphonePermission": "Erreur lors de l'obtention de la permission du microphone"
},
"deviceSelection": {
"hid": {
"callControl": "Contrôle des appels",
"connectedDevices": "Appareils connectés",
"deleteDevice": "Supprimer un appareil",
"pairDevice": "Connecter un appareil"
},
"noPermission": "Permission non accordée",
"previewUnavailable": "Aperçu non disponible",
"selectADevice": "Sélectionner un périphérique",
"testAudio": "Tester la sortie audio"
},
"dialIn": {
"screenTitle": "Bilan des appels"
},
"dialOut": {
"statusMessage": "est maintenant {{status}}"
},
@@ -240,9 +210,7 @@
"WaitingForHostTitle": "En attente de l'hôte ...",
"Yes": "Oui",
"accessibilityLabel": {
"close": "Fermer la popup",
"liveStreaming": "Diffusion en direct",
"sharingTabs": "Options de partage"
"liveStreaming": "Diffusion en direct"
},
"add": "Ajouter",
"addMeetingNote": "Ajouter une note à cette conférence",
@@ -288,7 +256,6 @@
"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",
"hide": "Cacher",
"hideShareAudioHelper": "Ne pas montrer ce dialogue à nouveau",
"incorrectPassword": "Nom d'utilisateur ou mot de passe incorrect",
"incorrectRoomLockPassword": "Mot de passe incorrect",
@@ -303,6 +270,7 @@
"linkMeetingTitle": "Relier la conférence à Salesforce",
"liveStreaming": "Direct",
"liveStreamingDisabledBecauseOfActiveRecordingTooltip": "Impossible durant l'enregistrement",
"liveStreamingDisabledTooltip": "La diffusion en direct est désactivée",
"localUserControls": "Contrôles de l'utilisateur local",
"lockMessage": "Impossible de verrouiller la conférence.",
"lockRoom": "Ajouter un $t(lockRoomPassword) à la réunion ",
@@ -357,6 +325,7 @@
"recentlyUsedObjects": "Vos objets récemment utilisés",
"recording": "Enregistrement",
"recordingDisabledBecauseOfActiveLiveStreamingTooltip": "Impossible durant le direct",
"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 !",
@@ -406,7 +375,6 @@
"shareYourScreenDisabled": "Le partage d'écran est désactivé.",
"sharedVideoDialogError": "Erreur: URL invalide",
"sharedVideoLinkPlaceholder": "lien YouTube ou lien vidéo direct",
"show": "Afficher",
"start": "Démarrer ",
"startLiveStreaming": "Démarrer la diffusion en direct",
"startRecording": "Commencer l'enregistrement",
@@ -425,10 +393,6 @@
"user": "Utilisateur",
"userIdentifier": "Identifiant utilisateur",
"userPassword": "mot de passe utilisateur",
"verifyParticipantConfirm": "Ils correspondent",
"verifyParticipantDismiss": "Ils ne correspondent pas",
"verifyParticipantQuestion": "EXPÉRIMENTAL: Demander au participant {{participantName}} s'il voit le même contenu dans le même ordre. ",
"verifyParticipantTitle": "Vérification utilisateur",
"videoLink": "Lien de la vidéo",
"viewUpgradeOptions": "Voir les options de mise à jour",
"viewUpgradeOptionsContent": "Pour obtenir un accès illimité à des capacités premium comme l'enregistrement, les transcriptions, diffusion RTMP et plus, vous devez mettre à jour votre plan.",
@@ -454,15 +418,13 @@
"veryBad": "Très mauvais",
"veryGood": "Très bon"
},
"filmstrip": {
"accessibilityLabel": {
"heading": "Vignettes vidéos"
}
},
"giphy": {
"noResults": "Aucun résultat de recherche :(",
"search": "Rechercher dans GIPHY"
},
"helpView": {
"title": "Centre d'aide"
},
"incomingCall": {
"answer": "Répondre",
"audioCallTitle": "Appel entrant",
@@ -503,11 +465,9 @@
"noRoom": "Aucune réunion n'a été spécifiée pour l'appel entrant.",
"numbers": "Numéros d'appel",
"password": "$t(lockRoomPasswordUppercase) :",
"reachedLimit": "Vous avez atteint la limite de votre abonnement.",
"sip": "adresse SIP",
"title": "Partager",
"tooltip": "Partager le lien et les informations de connexion pour cette conférence",
"upgradeOptions": "Veuillez vérifier les options de mise à niveau"
"tooltip": "Partager le lien et les informations de connexion pour cette conférence"
},
"inlineDialogFailure": {
"msg": "Il y a eu un petit problème.",
@@ -542,10 +502,6 @@
"toggleShortcuts": "Afficher / Masquer les raccourcis clavier",
"videoMute": "Démarrer / Arrêter votre caméra"
},
"largeVideo": {
"screenIsShared": "Vous êtes en train de partager votre écran",
"showMeWhatImSharing": "Me montrer ce que je partage"
},
"liveStreaming": {
"busy": "Nous tentons de libérer des ressources de diffusion. Veuillez réessayez dans quelques minutes.",
"busyTitle": "Tous les flux sont actuellement occupés",
@@ -586,6 +542,7 @@
"lobby": {
"admit": "Accepter",
"admitAll": "Tout accepter",
"allow": "Autoriser",
"backToKnockModeButton": "Aucun mot de passe, demander à rejoindre plutôt",
"chat": "Chat",
"dialogTitle": "Mode salle d'attente",
@@ -648,7 +605,6 @@
"no": "Non",
"participant": "Participant(e)",
"participantStats": "Statistiques du participant",
"selectTabTitle": "🎥 Veuillez sélectionner cet onglet pour enregistrer",
"sessionToken": "Token de la session",
"start": "Démarrer l'enregistrement",
"stop": "Arrêter l'enregistrement",
@@ -671,8 +627,6 @@
"connectedOneMember": "{{name}} a rejoint la réunion",
"connectedThreePlusMembers": "{{name}} et {{count}} autres personnes ont rejoint la réunion",
"connectedTwoMembers": "{{first}} et {{second}} ont rejoint la réunion",
"dataChannelClosed": "Qualité vidéo dégradée",
"dataChannelClosedDescription": "Le canal de communication avec le Bridge a été interrompu, la qualité vidéo se trouve limitée à sa valeur la plus faible.",
"disconnected": "déconnecté",
"displayNotifications": "Afficher les notifications pour",
"focus": "Focus de conférence",
@@ -693,8 +647,6 @@
"linkToSalesforceKey": "Relier cette conférence",
"linkToSalesforceProgress": "Liaison de la conférence à Salesforce...",
"linkToSalesforceSuccess": "La conférence a été reliée à Salesforce",
"localRecordingStarted": "{{name}} a commencé un enregistrement local.",
"localRecordingStopped": "{{name}} a arrêté un enregistrement local.",
"me": "Moi",
"moderationInEffectCSDescription": "Merci de lever la main si vous voulez partager votre écran.",
"moderationInEffectCSTitle": "Le partage d'écran est interdit par le modérateur",
@@ -715,10 +667,6 @@
"newDeviceAction": "Utiliser",
"newDeviceAudioTitle": "Nouveau périphérique audio détecté",
"newDeviceCameraTitle": "Nouvelle caméra détectée",
"noiseSuppressionDesktopAudioDescription": "La suppression de bruit ne peut pas être activée en même temps que la partage audio du système, veuillez le désactiver et réessayer.",
"noiseSuppressionFailedTitle": "Échec du démarrage de la suppression de bruit",
"noiseSuppressionNoTrackDescription": "Veuillez activer votre microphone d'abord.",
"noiseSuppressionStereoDescription": "La suppression de bruit dune source stéréo nest pas encore supportée.",
"oldElectronClientDescription1": "Vous semblez utiliser une ancienne version du client Jitsi Meet qui présente des failles de sécurité connues. Veuillez vous assurer de mettre à jour vers notre ",
"oldElectronClientDescription2": "dernière build",
"oldElectronClientDescription3": " rapidement !",
@@ -733,8 +681,6 @@
"reactionSoundsForAll": "Bloquer les réactions sonores pour tous",
"screenShareNoAudio": " La case Partager l'audio n'a pas été cochée dans l'écran de sélection de la fenêtre.",
"screenShareNoAudioTitle": "La case Partager l'audio n'a pas été cochée",
"screenSharingAudioOnlyDescription": "Veuillez noter quen partageant votre écran, vous impactez le mode “Meilleure Performance” et vous utilisez plus de bande passante.",
"screenSharingAudioOnlyTitle": "Mode \"Meilleure Performance\"",
"selfViewTitle": "Vous pouvez toujours rétablir l'affichage de votre propre vidéo dans les paramètres",
"somebody": "Quelqu'un",
"startSilentDescription": "Rejoignez la réunion de nouveau pour activer l'audio",
@@ -772,7 +718,6 @@
"headings": {
"lobby": "Salle d'attente ({{count}})",
"participantsList": "Participants de la réunion ({{count}})",
"visitors": "Visiteurs {{count}}",
"waitingLobby": "Dans la salle d'attente ({{count}})"
},
"search": "Rechercher des participants",
@@ -780,7 +725,6 @@
},
"passwordDigitsOnly": "Jusqu'à {{number}} chiffres",
"passwordSetRemotely": "défini par un autre participant",
"pinParticipant": "Épingler - {{participantName}}",
"pinnedParticipant": "Participant toujours affiché",
"polls": {
"answer": {
@@ -858,7 +802,6 @@
"initiated": "Appel lancé",
"joinAudioByPhone": "Rejoindre avec l'audio du téléphone",
"joinMeeting": "Rejoindre la réunion",
"joinMeetingInLowBandwidthMode": "Rejoindre en mode bande passante réduite",
"joinWithoutAudio": "Rejoignez sans microphone",
"keyboardShortcuts": "Activer les raccourcis clavier",
"linkCopied": "Lien copié dans le presse-papiers",
@@ -886,6 +829,9 @@
"rejected": "Rejeté",
"ringing": "Appel en cours ..."
},
"privacyView": {
"title": "Confidentialité"
},
"profile": {
"avatar": "avatar",
"setDisplayNameLabel": "Choisissez un pseudo",
@@ -931,24 +877,13 @@
"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>.",
"linkGenerated": "Nous avons généré un lien à votre enregistrement.",
"live": "DIRECT",
"localRecordingNoNotificationWarning": "Le démarrage de lenregistrement ne sera pas annoncé aux autres participants. Vous devrez les informer par vous-même que la réunion sera enregistrée.",
"localRecordingNoVideo": "La vidéo n'est pas en cours denregistrement",
"localRecordingStartWarning": "Assurez-vous darrêter lenregistrement vidéo avant de quitter la réunion afin de pouvoir le sauvegarder.",
"localRecordingStartWarningTitle": "Arrêter lenregistrement pour le sauvegarder",
"localRecordingVideoStop": "Arrêter votre vidéo va aussi arrêter votre enregistrement local. Êtes-vous sûrs de vouloir continuer ?",
"localRecordingVideoWarning": "Pour enregistrer votre vidéo, vous devez avoir celle-ci active au moment de commencer lenregistrement.",
"localRecordingWarning": "Assurez-vous de sélectionner longlet courant pour utiliser le bon son et la bonne vidéo. Lenregistrement est pour le moment limité à 1Go, soit approximativement 100 minutes.",
"loggedIn": "Connecté en tant que {{userName}}",
"noMicPermission": "La piste microphone ne peut pas être créée. Veuillez autoriser lutilisation du microphone.",
"noStreams": "Aucun flux audio ou vidéo détectés.",
"off": "Enregistrement arrêté",
"offBy": "{{name}} a arrêté l'enregistrement",
"on": "Enregistrement",
"onBy": "{{name}} a démarré l'enregistrement",
"onlyRecordSelf": "Enregistrer seulement mon audio et ma vidéo.",
"pending": "Préparation de l'enregistrement de la réunion ...",
"rec": "REC",
"saveLocalRecording": "Sauvegarder lenregistrement local (Beta)",
"serviceDescription": "Votre enregistrement sera enregistré par le service dédié",
"serviceDescriptionCloud": "Enregistrement Cloud",
"serviceDescriptionCloudInfo": "Les conférences enregistrées sont automatiquement supprimées 24h après leur heure d'enregistrement.",
@@ -956,13 +891,11 @@
"sessionAlreadyActive": "Cette session est déjà en cours d'enregistrement ou de diffusion.",
"signIn": "Se connecter",
"signOut": "Se déconnecter",
"surfaceError": "Veuillez sélectionner longlet courant.",
"title": "Enregistrement",
"unavailable": "Oups ! Le {{serviceName}} est actuellement indisponible. Nous tentons de résoudre le problème. Veuillez réessayer plus tard.",
"unavailableTitle": "Enregistrement indisponible",
"uploadToCloud": "Envoyer vers le cloud"
},
"screenshareDisplayName": "Écran {{name}}",
"sectionList": {
"pullToRefresh": "Tirer pour recharger"
},
@@ -973,8 +906,6 @@
"title": "Options de sécurité"
},
"settings": {
"audio": "Audio",
"buttonLabel": "Paramètres",
"calendar": {
"about": "L'intégration de {{appName}} avec votre calendrier permet d'accéder de manière sécurisée aux événements à venir.",
"disconnect": "Se déconnecter",
@@ -991,16 +922,12 @@
"incomingMessage": "un message arrive",
"language": "Langue",
"loggedIn": "Connecté en tant que {{name}}",
"maxStageParticipants": "Nombre maximum de participants pouvant être épinglé sur laffichage principal (EXPÉRIMENTAL)",
"microphones": "Microphones",
"moderator": "Modérateur",
"moderatorOptions": "Options de modérateur",
"more": "Plus",
"name": "Nom",
"noDevice": "Aucun",
"notifications": "Notifications",
"participantJoined": "un participant arrive",
"participantKnocking": "un participant en salle dattente",
"participantLeft": "un participant quitte",
"playSounds": "Jouer un son quand",
"reactions": "il y a une réaction à la réunion",
@@ -1009,14 +936,13 @@
"selectCamera": "Caméra",
"selectMic": "Microphone",
"selfView": "Affichage de votre propre vidéo",
"shortcuts": "Raccourcis",
"sounds": "Sons",
"speakers": "Haut-parleurs",
"startAudioMuted": "Tout le monde commence en muet",
"startReactionsMuted": "Tout le monde commence avec les réactions sonores bloquées",
"startVideoMuted": "Tout le monde commence sans vidéo",
"talkWhileMuted": "vous parlez en étant muet",
"title": "Paramètres",
"video": "Vidéo"
"title": "Paramètres"
},
"settingsView": {
"advanced": "Avancé",
@@ -1031,21 +957,13 @@
"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.",
"disableP2P": "Désactiver le mode pair à pair",
"displayName": "Pseudo",
"displayNamePlaceholderText": "Ex : Jean Dupond",
"email": "Email",
"emailPlaceholderText": "email@example..com",
"goTo": "Aller à",
"header": "Paramètres",
"help": "Aide",
"links": "Liens",
"privacy": "Confidentialité",
"profileSection": "Profil",
"serverURL": "URL du serveur",
"showAdvanced": "Afficher les paramètres avancés",
"startCarModeInLowBandwidthMode": "Commencer le mode voiture en mode bande passante réduite",
"startWithAudioMuted": "Commencez avec l'audio en sourdine",
"startWithVideoMuted": "Commencez avec la vidéo en sourdine",
"terms": "Conditions dutilisations",
"version": "Version"
},
"share": {
@@ -1083,7 +1001,6 @@
"termsView": {
"title": "Conditions d'utilisation"
},
"toggleTopPanelLabel": "Basculer le panneau supérieur",
"toolbar": {
"Settings": "Paramètres",
"accessibilityLabel": {
@@ -1093,7 +1010,6 @@
"boo": "Hou",
"breakoutRoom": "Rejoindre/quitter une salle annexe",
"callQuality": "Ajuster la qualité vidéo",
"carmode": "Mode voiture",
"cc": "Activer / Désactiver les sous-titres",
"chat": "Afficher / Masquer la discussion instantanée",
"clap": "Applaudir",
@@ -1101,19 +1017,16 @@
"document": "Activer / Désactiver le document partagé",
"download": "Télécharger nos applications",
"embedMeeting": "Intégrer la réunion",
"endConference": "Terminer la réunion pour tout le monde",
"expand": "Développer",
"feedback": "Laisser des commentaires",
"fullScreen": "Activer / Désactiver le plein écran",
"giphy": "Activer/désactiver le menu GIPHY",
"grantModerator": "donner des droits de modérateur",
"hangup": "Quitter la conversation",
"heading": "Barre d'outils",
"help": "Aide",
"invite": "Inviter des participants",
"kick": "Expulser le participant",
"laugh": "Rire",
"leaveConference": "Quitter la réunion",
"like": "Approuver",
"linkToSalesforce": "Lien à Salesforce",
"lobbyButton": "Activer / Désactiver le mode salle d'attente",
@@ -1127,7 +1040,6 @@
"muteEveryoneElse": "Couper le micro de tous les autres",
"muteEveryoneElsesVideoStream": "Couper la caméra de tous les autres",
"muteEveryonesVideoStream": "Couper la caméra de tout le monde",
"noiseSuppression": "Suppression du bruit",
"participants": "Participants",
"pip": "Activer / Désactiver le mode Picture in Picture",
"privateMessage": "Envoyer un message privé",
@@ -1153,8 +1065,7 @@
"toggleCamera": "Changer de caméra",
"toggleFilmstrip": "Afficher ou masquer les vignettes vidéo",
"videoblur": "Activer / désactiver le floutage",
"videomute": "Activer / Couper la vidéo",
"whiteboard": "Afficher / Cacher le tableau blanc"
"videomute": "Activer / Couper la vidéo"
},
"addPeople": "Ajouter des personnes à votre appel",
"audioOnlyOff": "Désactiver le mode bande passante réduite",
@@ -1168,15 +1079,12 @@
"clap": "Applaudir",
"closeChat": "Fermer le chat",
"closeReactionsMenu": "Fermer le menu réactions",
"disableNoiseSuppression": "Arrêter la suppression du bruit",
"disableReactionSounds": "Vous pouvez interdire les réactions sonores à cette réunion",
"documentClose": "Fermer le document partagé",
"documentOpen": "Ouvrir le document partagé",
"download": "Télécharger nos applications",
"e2ee": "Chiffrement de Bout-en-Bout",
"embedMeeting": "Intégrer la réunion",
"enableNoiseSuppression": "Activer la suppression du bruit",
"endConference": "Terminer la réunion pour tout le monde",
"enterFullScreen": "Afficher en plein écran",
"enterTileView": "Accéder au mode mosaïque",
"exitFullScreen": "Quitter le mode plein écran",
@@ -1185,12 +1093,10 @@
"giphy": "Activer/désactiver le menu GIPHY",
"hangup": "Quitter",
"help": "Aide",
"hideWhiteboard": "Cacher le tableau blanc",
"invite": "Inviter des participants",
"joinBreakoutRoom": "Rejoindre salle annexe",
"laugh": "Rire",
"leaveBreakoutRoom": "Quitter salle annexe",
"leaveConference": "Quitter la réunion",
"like": "Approuver",
"linkToSalesforce": "Lien à Salesforce",
"lobbyButtonDisable": "Désactiver le mode salle d'attente / contrôle des participant(e)s",
@@ -1208,7 +1114,6 @@
"noAudioSignalDialInDesc": "Vous pouvez également appeler en utilisant :",
"noAudioSignalDialInLinkDesc": "Numéros d'appel",
"noAudioSignalTitle": "Il n'y a pas de signal provenant de votre micro !",
"noiseSuppression": "Suppression du bruit",
"noisyAudioInputDesc": "Il semble que votre microphone soit bruyant, veuillez le couper ou changer de périphérique.",
"noisyAudioInputTitle": "Votre microphone semble être bruyant !",
"openChat": "Ouvrir le chat",
@@ -1231,7 +1136,6 @@
"shareaudio": "Partager l'audio",
"sharedvideo": "Partager une vidéo",
"shortcuts": "Afficher les raccourcis",
"showWhiteboard": "Afficher le tableau blanc",
"silence": "Silence",
"speakerStats": "Statistiques de l'interlocuteur",
"startScreenSharing": "Démarrer le partage d'écran",
@@ -1255,15 +1159,10 @@
"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 ...",
"sourceLanguageDesc": "Actuellement, la langue de la réunion est sélectionnée à <b>{{sourceLanguage}}</b>. <br/> Vous pouvez la changer à partir de ",
"sourceLanguageHere": "ici",
"start": "Activer les sous-titres",
"stop": "Désactiver les sous-titres",
"subtitles": "sous-titres",
"subtitlesOff": "off",
"tr": "TR"
},
"unpinParticipant": "Désépingler - {{participantName}}",
"userMedia": {
"androidGrantPermissions": "Sélectionnez <b><i>Autoriser</i></b> lorsque votre navigateur demande votre autorisation.",
"chromeGrantPermissions": "Sélectionnez <b><i>Autoriser</i></b> lorsque votre navigateur demande votre autorisation.",
@@ -1302,11 +1201,9 @@
"ldTooltip": "Regardez la vidéo en basse définition",
"lowDefinition": "Basse définition",
"performanceSettings": "Paramètres de performance",
"recording": "Enregistrement en cours",
"sd": "MD",
"sdTooltip": "Regardez la vidéo en définition standard",
"standardDefinition": "Moyenne Définition",
"streaming": "Diffusion en direct en cours"
"standardDefinition": "Moyenne Définition"
},
"videothumbnail": {
"connectionInfo": "Informations de la connexion",
@@ -1318,7 +1215,6 @@
"grantModerator": "Donner des droits de modérateur",
"hideSelfView": "Cacher l'affichage de votre propre vidéo",
"kick": "Exclure",
"mirrorVideo": "Inverser ma vidéo",
"moderator": "Modérateur",
"mute": "Le participant a coupé son micro",
"muted": "Muet",
@@ -1328,7 +1224,6 @@
"show": "Afficher en premier plan",
"showSelfView": "Montrer votre propre vidéo",
"unpinFromStage": "Ne plus garder affiché",
"verify": "Vérifier le participant",
"videoMuted": "Caméra coupée",
"videomute": "Le participant a arrêté la caméra"
},
@@ -1356,7 +1251,6 @@
"webAssemblyWarning": "WebAssembly non supporté",
"webAssemblyWarningDescription": "WebAssembly invalidé ou non supporté par ce navigateur"
},
"visitorsLabel": "Nombre de visiteurs: {{count}}",
"volumeSlider": "Curseur de volume",
"welcomepage": {
"accessibilityLabel": {
@@ -1389,7 +1283,6 @@
"microsoftLogo": "Logo Microsoft",
"policyLogo": "Logo de la politique"
},
"meetingsAccessibilityLabel": "Réunions",
"mobileDownLoadLinkAndroid": "Télécharger l'application mobile sur Android",
"mobileDownLoadLinkFDroid": "Télécharger l'application mobile sur F-Droid",
"mobileDownLoadLinkIos": "Télécharger l'application mobile sur iOS",
@@ -1398,21 +1291,13 @@
"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.",
"recentMeetings": "Vos réunions récentes",
"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",
"settings": "Paramètres",
"startMeeting": "Démarrer la conférence",
"terms": "Termes",
"title": "Système de vidéoconférence sécurisé, riche en fonctionnalités et gratuit",
"upcomingMeetings": "Vos réunions à venir"
},
"whiteboard": {
"accessibilityLabel": {
"heading": "Tableau blanc"
}
"title": "Système de vidéoconférence sécurisé, riche en fonctionnalités et gratuit"
}
}

View File

@@ -1067,6 +1067,7 @@
"chat": "Otvori/Zatvori chat",
"clap": "Plješći",
"collapse": "Sklopi",
"dock": "Prikvači u glavni prozor",
"document": "Uključi/Isključi dijeljeni dokument",
"download": "Preuzmi naše aplikacije",
"embedMeeting": "Ugradi sastanak",
@@ -1120,6 +1121,7 @@
"tileView": "Uključi/Isključi pločasti prikaz",
"toggleCamera": "Uključi/Isključi kameru",
"toggleFilmstrip": "Uključi/Isključi slike videa",
"undock": "Odspoji u zasebni prozor",
"videoblur": "Uključi/Isključi zamućenje videa",
"videomute": "Pokreni/Prekini kameru",
"whiteboard": "Pokaži/Sakrij ploču za prezentacije"
@@ -1138,6 +1140,7 @@
"closeReactionsMenu": "Zatvori izbornik reakcija",
"disableNoiseSuppression": "Isključi suzbijanje šumova",
"disableReactionSounds": "Za ovaj sastanak možeš isključiti zvukove reakcija",
"dock": "Prikvači u glavni prozor",
"documentClose": "Zatvori dijeljeni dokument",
"documentOpen": "Otvori dijeljeni dokument",
"download": "Preuzmi naše aplikacije",
@@ -1211,6 +1214,7 @@
"talkWhileMutedPopup": "Pokušavaš govoriti? Tvoj zvuk je isključen.",
"tileViewToggle": "Uključi/Isključi pločasti prikaz",
"toggleCamera": "Uključi/Isključi kameru",
"undock": "Odspoji u zasebni prozor",
"videoSettings": "Videopostavke",
"videomute": "Pokreni/Prekini kameru"
},

View File

@@ -1033,6 +1033,7 @@
"chat": "chat-woknješko pokazać/schować",
"clap": "placać",
"collapse": "pomjeńšić",
"dock": "we hłownej wobrazowce fiksěrować",
"document": "dźěleny dokument začinić",
"download": "naše aplikacije downloadować ",
"embedMeeting": "konferencu integrować",
@@ -1084,6 +1085,7 @@
"tileView": "kachlicowy napohlad zapnyć/hasnyć",
"toggleCamera": "kameru měnić",
"toggleFilmstrip": "miniaturowy napohlad zapnyć/hasnyć ",
"undock": "rozwjazać",
"videoblur": "njejasny widejo zapnyć/hasnyć ",
"videomute": "„něme šaltowanje wideja zapnyć/hasnyć "
},
@@ -1100,6 +1102,7 @@
"closeChat": "chat začinić",
"closeReactionsMenu": "meni za interakcije začinić",
"disableReactionSounds": "Móžeće zwuki za interakcije za tutu konferencu deaktiwěrować.",
"dock": "fiksěrować",
"documentClose": "dźěleny dokument začinić",
"documentOpen": "dźěleny dokument wočinić",
"download": "naše aplikacije downloadować",
@@ -1169,6 +1172,7 @@
"talkWhileMutedPopup": "Spytaće Wy rěčeć? Waš mikrofon je němy.",
"tileViewToggle": " kachlicowy napohlad zapnyć/hasnyć ",
"toggleCamera": "kameru měnić",
"undock": "rozwjazać",
"videoSettings": "nastajenja za widejo",
"videomute": "kameru startować/hasnyć"
},

View File

@@ -1067,6 +1067,7 @@
"chat": "Conversazione",
"clap": "Applaudi",
"collapse": "Riduci",
"dock": "Aggancia alla finestra principale",
"document": "Documenti condivisi",
"download": "Scarica le nostre app",
"embedMeeting": "Incorpora riunione altrove",
@@ -1120,6 +1121,7 @@
"tileView": "Vedi tutti i partecipanti, o uno solo",
"toggleCamera": "Cambia videocamera",
"toggleFilmstrip": "Pellicola",
"undock": "Sgancia in una finestra separata",
"videoblur": "Sfoca video",
"videomute": "Videocamera",
"whiteboard": "Usa lavagna"
@@ -1138,6 +1140,7 @@
"closeReactionsMenu": "Chiudi il menù reazioni",
"disableNoiseSuppression": "Interrompi riduzione rumore",
"disableReactionSounds": "Puoi disattivare i suoni delle reaction, in questa riunione",
"dock": "Aggancia nella finestra principale",
"documentClose": "Chiudi documento condiviso",
"documentOpen": "Apri documento condiviso",
"download": "Scarica le nostre app",
@@ -1211,6 +1214,7 @@
"talkWhileMutedPopup": "Stai provando a parlare? Il microfono è disattivato.",
"tileViewToggle": "Vedi tutti i partecipanti insieme, o uno solo",
"toggleCamera": "Cambia videocamera",
"undock": "Sgancia in una finestra separata",
"videoSettings": "Impostazioni video",
"videomute": "Videocamera"
},

View File

@@ -882,7 +882,6 @@
"document": "Gedeeld document in- of uitschakelen",
"download": "Download onze apps",
"embedMeeting": "Vergadering embedden",
"endConference": "Vergadering voor iedereen beëindigen",
"feedback": "Feedback achterlaten",
"fullScreen": "Volledig scherm in- of uitschakelen",
"grantModerator": "Moderatorrechten verlenen",
@@ -890,7 +889,6 @@
"help": "Hulp",
"invite": "Personen uitnodigen",
"kick": "Deelnemer verwijderen",
"leaveConference": "Vergadering verlaten",
"lobbyButton": "Lobby-modus in- of uitschakelen",
"localRecording": "Besturingselementen voor lokale opname in- of uitschakelen",
"lockRoom": "Wachtwoord voor vergadering in- of uitschakelen",
@@ -940,7 +938,6 @@
"download": "Download onze apps",
"e2ee": "Eind-tot-eind-versleuteling",
"embedMeeting": "Vergadering embedden",
"endConference": "Vergadering voor iedereen beëindigen",
"enterFullScreen": "Volledig scherm weergeven",
"enterTileView": "Tegelweergave openen",
"exitFullScreen": "Volledig scherm sluiten",
@@ -951,7 +948,6 @@
"invite": "Personen uitnodigen",
"joinBreakoutRoom": "Deelnemen aan aparte vergaderruimte",
"leaveBreakoutRoom": "Aparte vergaderruimte verlaten",
"leaveConference": "Vergadering verlaten",
"lobbyButtonDisable": "Schakel lobby-modus uit",
"lobbyButtonEnable": "Schakel lobby-modus in",
"login": "Aanmelden",

View File

@@ -1057,6 +1057,7 @@
"chat": "Przełączanie okna rozmowy",
"clap": "Klaskanie",
"collapse": "Zwiń",
"dock": "Zadokuj w głównym oknie",
"document": "Przełączanie wspólnego dokumentu",
"download": "Pobierz nasze aplikacje",
"embedMeeting": "Osadź spotkanie",
@@ -1108,6 +1109,7 @@
"tileView": "Przełącz widok kafelkowy",
"toggleCamera": "Przełączanie kamery",
"toggleFilmstrip": "Przełącz filmstrip",
"undock": "Oddokuj w osobnym oknie",
"videoblur": "Przełącz rozmazanie obrazu",
"videomute": "Przełączanie wyciszonego filmu wideo"
},
@@ -1125,6 +1127,7 @@
"closeReactionsMenu": "Zamknij reakcje",
"disableNoiseSuppression": "Wyłącz tłumienie szumów",
"disableReactionSounds": "Wyłącz dźwięki reakcji dla tego spotkania",
"dock": "Zadokuj w głównym oknie",
"documentClose": "Zamknij udostępniony dokument",
"documentOpen": "Otwarty udostępniony dokument",
"download": "Pobierz nasze aplikacje",
@@ -1194,6 +1197,7 @@
"talkWhileMutedPopup": "Próbujesz mówić? Jesteś wyciszony.",
"tileViewToggle": "Przełączanie kafelkowego widoku",
"toggleCamera": "Przełączanie kamery",
"undock": "Oddokuj w osobnym oknie",
"videoSettings": "Ustawienia video",
"videomute": "Włącz / Wyłącz kamerę"
},

View File

@@ -68,9 +68,9 @@
},
"join": "Participar",
"joinTooltip": "Participar na reunião",
"nextMeeting": "Próxima reunião",
"nextMeeting": "próxima reunião",
"noEvents": "Não há eventos próximos agendados.",
"ongoingMeeting": "Reunião a decorrer",
"ongoingMeeting": "reunião a decorrer",
"permissionButton": "Abrir configurações",
"permissionMessage": "Permissão do calendário é requerida para ver as suas reuniões na aplicação.",
"refresh": "Atualizar calendário",
@@ -89,7 +89,7 @@
"chat": {
"enter": "Entrar na sala",
"error": "Erro: a sua mensagem não foi enviada. Motivo: {{error}}",
"fieldPlaceHolder": "Aa",
"fieldPlaceHolder": "Escreva aqui a sua mensagem",
"lobbyChatMessageTo": "Mensagem de chat na sala de espera para {{recipient}}",
"message": "Mensagem",
"messageAccessibleTitle": "{{user}} disse:",
@@ -147,7 +147,6 @@
"bridgeCount": "Servidores: ",
"codecs": "Codecs (A/V): ",
"connectedTo": "Ligado a:",
"e2eeVerified": "E2EE verificada:",
"framerate": "Taxa de frames:",
"less": "Mostrar menos",
"localaddress": "Endereço local:",
@@ -183,24 +182,16 @@
},
"deepLinking": {
"appNotInstalled": "Precisa da aplicação móvel {{app}} para participar na reunião com o seu telefone.",
"description": "Não aconteceu nada? Tentámos iniciar a sua reunião na aplicação desktop {{app}}. Tente novamente ou inicie-a na aplicação web {{app}}.",
"descriptionNew": "Não aconteceu nada? Tentámos iniciar a sua reunião na aplicação desktop {{app}}. <br /><br /> Pode tentar novamente ou iniciá-la na web.",
"description": "Não acontece nada? Estamos a tentar iniciar a sua reunião na aplicação desktop {{app}}. Tente novamente ou inicie na aplicação web {{app}}.",
"descriptionWithoutWeb": "Não aconteceu nada? Tentamos iniciar a sua reunião na aplicação desktop {{app}}.",
"downloadApp": "Descarregar a aplicação",
"downloadMobileApp": "Descarregar da App Store",
"downloadApp": "Transfira a aplicação",
"ifDoNotHaveApp": "Se ainda não tem a aplicação:",
"ifHaveApp": "Se já tem a aplicação:",
"joinInApp": "Participe nesta reunião utilizando a aplicação",
"joinInAppNew": "Entrar pela aplicação",
"joinInBrowser": "Entrar pelo navegador de Internet",
"launchMeetingLabel": "Como deseja entrar nesta reunião?",
"launchWebButton": "Iniciar pelo navegador de Internet",
"noMobileApp": "Não tem a aplicação?",
"termsAndConditions": "Ao continuar, concorda com os nossos <a href='{{termsAndConditionsLink}}' rel='noopener noreferrer' target='_blank'>termos & condições.</a>",
"title": "Iniciando a sua reunião na {{app}}...",
"titleNew": "Iniciando a sua reunião ...",
"launchWebButton": "Iniciar na web",
"title": "A iniciar a sua reunião na {{app}}...",
"tryAgainButton": "Tente novamente no desktop",
"unsupportedBrowser": "Parece que está a usar um navegador que não suportamos."
"unsupportedBrowser": "Parece que está a usar um browser que não suportamos."
},
"defaultLink": "ex.: {{url}}",
"defaultNickname": "ex.: João Dias",
@@ -211,16 +202,10 @@
"microphonePermission": "Erro ao obter permissão para o microfone"
},
"deviceSelection": {
"hid": {
"callControl": "Controlo de chamadas",
"connectedDevices": "Dispositivos ligados:",
"deleteDevice": "Apagar dispositivo",
"pairDevice": "Emparelhar dispositivo"
},
"noPermission": "Permissão não concedida",
"previewUnavailable": "Visualização indisponível",
"selectADevice": "Selecione um dispositivo",
"testAudio": "Teste"
"testAudio": "Tocar um som de teste"
},
"dialIn": {
"screenTitle": "Resumo da marcação"
@@ -240,9 +225,7 @@
"WaitingForHostTitle": "À espera do anfitrião ...",
"Yes": "Sim",
"accessibilityLabel": {
"close": "Fechar caixa de diálogo",
"liveStreaming": "Transmissão em direto",
"sharingTabs": "Opções de partilha"
"liveStreaming": "Transmissão em direto"
},
"add": "Adicionar",
"addMeetingNote": "Acrescentar uma nota sobre esta reunião",
@@ -283,7 +266,7 @@
"e2eeWarning": "AVISO: Nem todos os participantes neste encontro parecem ter apoio para a encriptação de ponta a ponta. Se o permitir, eles não o poderão ver nem ouvir.",
"e2eeWillDisableDueToMaxModeDescription": "AVISO: A encriptação de ponta a ponta será automaticamente desativada se mais participantes aderirem à conferência.",
"embedMeeting": "Embutir reunião",
"enterDisplayName": "Digite o seu nome",
"enterDisplayName": "Digite o seu nome aqui",
"error": "Erro",
"gracefulShutdown": "O nosso serviço está atualmente em manutenção. Por favor, tente novamente mais tarde.",
"grantModeratorDialog": "Tem a certeza que quer conceder direitos de moderador a {{participantName}}?",
@@ -425,10 +408,6 @@
"user": "Utilizador",
"userIdentifier": "Identificador do utilizador",
"userPassword": "Palavra-passe do utilizador",
"verifyParticipantConfirm": "Coincidem",
"verifyParticipantDismiss": "Não coincidem",
"verifyParticipantQuestion": "EXPERIMENTAL: Perguntar ao participante {{participantName}} se vêem o mesmo conteúdo, na mesma ordem.",
"verifyParticipantTitle": "Verificação pelo utilizador",
"videoLink": "Link do vídeo",
"viewUpgradeOptions": "Ver opções de actualização",
"viewUpgradeOptionsContent": "Para obter acesso ilimitado a funcionalidades premium como gravação, transcrições, RTMP Streaming & mais, terá de actualizar o seu plano.",
@@ -454,15 +433,13 @@
"veryBad": "Muito má",
"veryGood": "Muito boa"
},
"filmstrip": {
"accessibilityLabel": {
"heading": "Miniaturas de vídeo"
}
},
"giphy": {
"noResults": "Não foram encontrados resultados :(",
"search": "Procurar no GIPHY"
},
"helpView": {
"title": "Centro de ajuda"
},
"incomingCall": {
"answer": "Responder",
"audioCallTitle": "Chamada recebida",
@@ -586,6 +563,7 @@
"lobby": {
"admit": "Aceitar",
"admitAll": "Aceitar todos",
"allow": "Permitir",
"backToKnockModeButton": "Peça para aderir",
"chat": "Chat",
"dialogTitle": "Modo sala de espera",
@@ -671,8 +649,6 @@
"connectedOneMember": "{{name}} entrou na reunião",
"connectedThreePlusMembers": "{{name}} e muitos outros entraram na reunião",
"connectedTwoMembers": "{{first}} e {{second}} entraram na reunião",
"dataChannelClosed": "Deficiência na qualidade do vídeo",
"dataChannelClosedDescription": "O canal de ponte foi desconectado e, portanto, a qualidade do vídeo está limitada à sua configuração mais baixa.",
"disconnected": "desconectado",
"displayNotifications": "Mostrar notificações para",
"focus": "Foco da conferência",
@@ -683,7 +659,6 @@
"invitedOneMember": "{{displayName}} foi convidado",
"invitedThreePlusMembers": "{{name}} e {{count}} outros foram convidados",
"invitedTwoMembers": "{{first}} e {{second}} foram convidados",
"joinMeeting": "Entrar",
"kickParticipant": "{{kicked}} foi expulso por {{kicker}}",
"leftOneMember": "{{name}} deixou a reunião",
"leftThreePlusMembers": "{{name}} e muitos outros deixaram a reunião",
@@ -709,8 +684,8 @@
"moderationStoppedTitle": "A moderação parou",
"moderationToggleDescription": "pelo {{participantDisplayName}}",
"moderator": "É agora um moderador",
"muted": "Iniciou uma conversa com o microfone desligado.",
"mutedRemotelyDescription": "Pode sempre voltar a ligar o microfone quando estiver pronto para falar. Silencie de volta quando estiver pronto para manter o barulho afastado da reunião.",
"muted": "Iniciou uma conversa com o microfone desativado.",
"mutedRemotelyDescription": "Pode sempre voltar a ativar o microfone quando estiver pronto para falar. Silencie de volta quando estiver pronto para manter o barulho afastado da reunião.",
"mutedRemotelyTitle": "Foi silenciado pelo {{participantDisplayName}}",
"mutedTitle": "Está silenciado!",
"newDeviceAction": "Usar",
@@ -734,15 +709,13 @@
"reactionSoundsForAll": "Desativar sons para todos",
"screenShareNoAudio": "A caixa de compartilhar áudio não foi marcada no ecrã de seleção da janela.",
"screenShareNoAudioTitle": "Não foi possível partilhar o áudio do sistema!",
"screenSharingAudioOnlyDescription": "Note por favor que ao partilhar o seu ecrã está a afectar o modo \"Melhor desempenho\" e irá utilizar mais largura de banda.",
"screenSharingAudioOnlyTitle": "Modo \"Melhor desempenho\"",
"selfViewTitle": "Pode sempre reexibir a autovisualização a partir das definições",
"somebody": "Alguém",
"startSilentDescription": "Volte à reunião para habilitar o áudio",
"startSilentTitle": "Entrou sem áudio!",
"suboptimalBrowserWarning": "Tememos que sua experiência de reunião não seja tão boa aqui. Estamos procurando maneiras de melhorar isso, mas até então, tente usar um dos <a href='{{recommendedBrowserPageLink}}' target='_blank'>navegadores completamente suportados</a>.",
"suboptimalExperienceTitle": "Alerta do navegador",
"unmute": "Ligar microfone",
"unmute": "Ativar som",
"videoMutedRemotelyDescription": "Pode sempre ligá-la novamente.",
"videoMutedRemotelyTitle": "A sua câmara foi desligada pelo {{participantDisplayName}}.",
"videoUnmuteBlockedDescription": "A operação de ligar a câmara e partilhar o ambiente de trabalho foi temporariamente bloqueada devido aos limites do sistema.",
@@ -773,7 +746,6 @@
"headings": {
"lobby": "Sala de espera ({{count}})",
"participantsList": "Participantes da reunião ({{count}})",
"visitors": "Visitantes ({{count}})",
"waitingLobby": "Aguardam na sala de espera ({{count}})"
},
"search": "Pesquisar participantes",
@@ -781,7 +753,6 @@
},
"passwordDigitsOnly": "Até {{number}} dígitos",
"passwordSetRemotely": "Definido por outro participante",
"pinParticipant": "{{participantName}} - Afixar",
"pinnedParticipant": "O participante está afixado",
"polls": {
"answer": {
@@ -863,7 +834,7 @@
"joinWithoutAudio": "Entrar sem áudio",
"keyboardShortcuts": "Ativar os atalhos de teclado",
"linkCopied": "Link copiado para a área de transferência",
"lookGood": "O seu microfone funciona corretamente",
"lookGood": "O microfone está a funcionar corretamente",
"or": "ou",
"premeeting": "Pré-reunião",
"screenSharingError": "Erro de partilha de ecrã:",
@@ -887,11 +858,14 @@
"rejected": "Rejeitado",
"ringing": "Tocando..."
},
"privacyView": {
"title": "Privacidade"
},
"profile": {
"avatar": "avatar",
"setDisplayNameLabel": "Nome",
"setDisplayNameLabel": "Definir seu nome de exibição",
"setEmailInput": "Digite email",
"setEmailLabel": "Email de gravatar",
"setEmailLabel": "Definir seu email de gravatar",
"title": "Perfil"
},
"raisedHand": "Gostaria de falar",
@@ -940,7 +914,6 @@
"localRecordingVideoWarning": "Para gravar o seu vídeo deve tê-lo ligado quando iniciar a gravação",
"localRecordingWarning": "Certifique-se de selecionar o separador actual a fim de utilizar o vídeo e áudio corretos. A gravação está actualmente limitada a 1 GB, o que é cerca de 100 minutos.",
"loggedIn": "Conectado como {{userName}}",
"noMicPermission": "Não foi possível criar a faixa de microfone. Por favor, conceda permissão para utilizar o microfone.",
"noStreams": "Não foi detetado nenhum sinal áudio ou vídeo.",
"off": "Gravação parada",
"offBy": "{{name}} parou a gravação",
@@ -974,7 +947,6 @@
"title": "Opções de segurança"
},
"settings": {
"audio": "Áudio",
"buttonLabel": "Definições",
"calendar": {
"about": "A integração do calendário {{appName}} é utilizada para aceder com segurança ao seu calendário para que este possa ler os próximos eventos.",
@@ -992,32 +964,29 @@
"incomingMessage": "Receber uma mensagem",
"language": "Idioma",
"loggedIn": "Sessão iniciada como {{name}}",
"maxStageParticipants": "Número máximo de participantes que podem ser afixados (EXPERIMENTAL)",
"maxStageParticipants": "Número máximo de participantes que podem ser afixados",
"microphones": "Microfones",
"moderator": "Moderador",
"moderatorOptions": "Opções de moderador",
"more": "Geral",
"more": "Mais",
"name": "Nome",
"noDevice": "Nenhum",
"notifications": "Notificações",
"participantJoined": "Entrar um participante",
"participantKnocking": "Entrar um participante na sala de espera",
"participantLeft": "Sair um participante",
"playSounds": "Reproduzir som quando",
"reactions": "Existir uma reação na reunião",
"reactions": " uma reação na reunião",
"sameAsSystem": "O mesmo que o sistema ({{label}})",
"selectAudioOutput": "Saída de áudio",
"selectCamera": "Câmara",
"selectMic": "Microfone",
"selfView": "Autovisualização",
"shortcuts": "Atalhos",
"speakers": "Altifalantes",
"sounds": "Sons",
"speakers": "Participantes",
"startAudioMuted": "Todos começam com microfone desligado",
"startReactionsMuted": "Todos começam com os sons de reação desativados",
"startReactionsMuted": "Sons de reação silenciados para todos",
"startVideoMuted": "Todos começam com câmara desligada",
"talkWhileMuted": "Falar com o microfone desligado",
"title": "Definições",
"video": "Vídeo"
"title": "Definições"
},
"settingsView": {
"advanced": "Avançado",
@@ -1034,7 +1003,6 @@
"displayName": "Nome de exibição",
"displayNamePlaceholderText": "Ex: João Dias",
"email": "Email",
"emailPlaceholderText": "email@example.com",
"goTo": "Ir para",
"header": "Configurações",
"help": "Ajuda",
@@ -1098,29 +1066,19 @@
"cc": "Mudar legendas",
"chat": "Abrir / Fechar chat",
"clap": "Aplausos",
"closeChat": "Fechar chat",
"closeMoreActions": "Fechar menu de mais ações",
"closeParticipantsPane": "Fechar painel de participantes",
"collapse": "Colapsar",
"dock": "Ancorar na janela principal",
"document": "Mudar para documento partilhado",
"documentClose": "Fechar documento partilhado",
"documentOpen": "Abrir documento partilhado",
"download": "Descarregar as nossas aplicações",
"embedMeeting": "Reunião incorporada",
"endConference": "Terminar reunião para todos",
"enterFullScreen": "Ver ecrã inteiro",
"enterTileView": "Entrar na vista em quadrícula",
"exitFullScreen": "Sair de ecrã inteiro",
"exitTileView": "Sair da vista em quadrícula",
"expand": "Expandir",
"feedback": "Deixar comentários",
"fullScreen": "Mudar para ecrã completo",
"giphy": "Ativar/Desativar o menu GIPHY",
"grantModerator": "Conceder direitos de moderador",
"hangup": "Sair da reunião",
"heading": "Barra de ferramentas",
"help": "Ajuda",
"hideWhiteboard": "Esconder quadro branco",
"invite": "Convidar pessoas",
"kick": "Remover participante",
"laugh": "Risos",
@@ -1130,23 +1088,21 @@
"lobbyButton": "Ativar/desativar sala de espera",
"localRecording": "Mudar os controlos locais de gravação",
"lockRoom": "Mudar palavra-chave de reunião",
"lowerHand": "Baixar a mão",
"moreActions": "Mais ações",
"moreActionsMenu": "Menu de mais ações",
"moreOptions": "Mostrar mais opções",
"mute": "Desligar microfone",
"mute": "Ativar / Desativar microfone",
"muteEveryone": "Silenciar a todos",
"muteEveryoneElse": "Silenciar todos os outros",
"muteEveryoneElsesVideo": "Parar o vídeo de todos os outros",
"muteEveryonesVideo": "Parar o vídeo de todos",
"noiseSuppression": "Supressão de ruído",
"openChat": "Abrir chat",
"participants": "Abrir painel de participantes",
"participants": "Participantes",
"pip": "Mudar para o modo Picture-in-Picture",
"privateMessage": "Enviar mensagem privada",
"profile": "Editar o seu perfil",
"raiseHand": "Levantar a mão",
"reactionsMenu": "Menu de reações",
"raiseHand": "Levantar / Baixar a mão",
"reactionsMenu": "Abrir / Fechar menu de reações",
"recording": "Mudar gravação",
"remoteMute": "Participante sem som",
"remoteVideoMute": "Desativar a câmara do participante",
@@ -1154,24 +1110,21 @@
"selectBackground": "Selecionar plano de fundo",
"selfView": "Mudar a autovisualização",
"shareRoom": "Convidar alguém",
"shareYourScreen": "Iniciar partilha de ecrã",
"shareYourScreen": "Iniciar / Parar partilha de ecrã",
"shareaudio": "Partilhar áudio",
"sharedvideo": "Partilhar vídeo",
"sharedvideo": "Mudar a partilha de vídeos",
"shortcuts": "Mostrar / Esconder atalhos",
"show": "Mostrar no palco",
"showWhiteboard": "Mostrar quadro branco",
"silence": "Silêncio",
"speakerStats": "Mostrar / Esconder estatísticas dos participantes",
"stopScreenSharing": "Parar de partilhar o seu ecrã",
"stopSharedVideo": "Parar vídeo",
"surprised": "Surpreendido",
"tileView": "Mudar a vista em quadrícula",
"toggleCamera": "Mudar a câmara",
"toggleFilmstrip": "Mudar a película de filme",
"unmute": "Ligar microfone",
"undock": "Desancorar numa janela separada",
"videoblur": "Mudar o desfoque de vídeo",
"videomute": "Parar câmara",
"videounmute": "Iniciar câmara"
"videomute": "Iniciar / Parar câmara",
"whiteboard": "Mostrar / Esconder quadro branco"
},
"addPeople": "Adicione pessoas à sua chamada",
"audioOnlyOff": "Desativar modo de largura de banda baixa",
@@ -1184,16 +1137,15 @@
"chat": "Abrir / Fechar chat",
"clap": "Aplausos",
"closeChat": "Fechar chat",
"closeParticipantsPane": "Fechar painel de participantes",
"closeReactionsMenu": "Fechar menu de reações",
"disableNoiseSuppression": "Desativar a supressão de ruído",
"disableReactionSounds": "Pode desactivar os sons de reacção para esta reunião",
"dock": "Ancorar na janela principal",
"documentClose": "Fechar documento partilhado",
"documentOpen": "Abrir documento partilhado",
"download": "Descarregar as nossas aplicações",
"e2ee": "Criptografia ponta a ponta",
"embedMeeting": "Incorporar reunião",
"enableNoiseSuppression": "Ativar a supressão de ruído",
"endConference": "Terminar reunião para todos",
"enterFullScreen": "Ver em ecrã completo",
"enterTileView": "Ver em quadrícula",
@@ -1218,7 +1170,7 @@
"lowerYourHand": "Baixar a mão",
"moreActions": "Mais ações",
"moreOptions": "Mais opções",
"mute": "Desligar microfone",
"mute": "Ativar / Desativar microfone",
"muteEveryone": "Silenciar todos",
"muteEveryonesVideo": "Desativar a câmara de todos",
"noAudioSignalDesc": "Se não o silenciou propositadamente a partir de configurações do sistema ou hardware, considere mudar de dispositivo.",
@@ -1235,7 +1187,7 @@
"pip": "Entrar no modo Picture-in-Picture",
"privateMessage": "Enviar mensagem privada",
"profile": "Editar o seu perfil",
"raiseHand": "Levantar a mão",
"raiseHand": "Levantar / Baixar a mão",
"raiseYourHand": "Levantar a mão",
"reactionBoo": "Enviar reação de vaia",
"reactionClap": "Enviar reação de aplausos",
@@ -1259,13 +1211,12 @@
"stopSharedVideo": "Parar vídeo",
"stopSubtitles": "Parar legendas",
"surprised": "Surpreendido",
"talkWhileMutedPopup": "Está a tentar falar? Está com o microfone desligado.",
"talkWhileMutedPopup": "Está a tentar falar? Está com o microfone desativado.",
"tileViewToggle": "Mudar para vista em quadrícula",
"toggleCamera": "Mudar a câmara",
"unmute": "Ligar microfone",
"undock": "Desancorar numa janela separada",
"videoSettings": "Definições de vídeo",
"videomute": "Parar câmara",
"videounmute": "Iniciar câmara"
"videomute": "Iniciar / Parar câmara"
},
"transcribing": {
"ccButtonTooltip": "Iniciar/parar legendas",
@@ -1283,7 +1234,6 @@
"subtitlesOff": "Desligado",
"tr": "TR"
},
"unpinParticipant": "{{participantName}} - Desafixar",
"userMedia": {
"androidGrantPermissions": "Selecione <b><i>Permitir</i></b> quando o seu navegador perguntar pelas permissões.",
"chromeGrantPermissions": "Selecione <b><i>Permitir</i></b> quando o seu navegador perguntar pelas permissões.",
@@ -1322,11 +1272,9 @@
"ldTooltip": "Ver vídeo em baixa definição",
"lowDefinition": "Baixa definição (LD)",
"performanceSettings": "Definições de desempenho",
"recording": "Gravação em curso",
"sd": "SD",
"sdTooltip": "Ver vídeo em definição padrão",
"standardDefinition": "Definição padrão",
"streaming": "Transmissão em curso"
"standardDefinition": "Definição padrão"
},
"videothumbnail": {
"connectionInfo": "Informações sobre a ligação",
@@ -1338,7 +1286,6 @@
"grantModerator": "Conceder direitos de moderador",
"hideSelfView": "Ocultar a autovisualização",
"kick": "Expulsar",
"mirrorVideo": "Espelhar o meu vídeo",
"moderator": "Moderador",
"mute": "Participante está sem som",
"muted": "Sem som",
@@ -1348,7 +1295,6 @@
"show": "Mostrar no palco",
"showSelfView": "Mostrar autovisualização",
"unpinFromStage": "Desafixar",
"verify": "Verificar participante",
"videoMuted": "Câmara desativada",
"videomute": "Participante parou a câmara"
},
@@ -1356,7 +1302,7 @@
"addBackground": "Adicionar imagem de fundo",
"apply": "Aplicar",
"backgroundEffectError": "Falha ao aplicar efeito de fundo.",
"blur": "Esbatido",
"blur": "Desfocagem",
"deleteImage": "Apagar imagem",
"desktopShare": "Partilhar área de trabalho",
"desktopShareError": "Não foi possível partilhar a área de trabalho",
@@ -1370,13 +1316,12 @@
"none": "Nenhum",
"pleaseWait": "Por favor aguarde...",
"removeBackground": "Remover imagem de fundo",
"slightBlur": "Ligeiro esbatido",
"title": "Fundos virtuais",
"slightBlur": "Desfocagem ligeira",
"title": "Planos de fundo virtuais",
"uploadedImage": "Imagem carregada {{index}}",
"webAssemblyWarning": "WebAssembly não suportado",
"webAssemblyWarningDescription": "WebAssembly desactivado ou não suportado por este navegador"
},
"visitorsLabel": "Número de visitantes: {{count}}",
"volumeSlider": "Controlo de volume",
"welcomepage": {
"accessibilityLabel": {
@@ -1409,7 +1354,6 @@
"microsoftLogo": "Logo da Microsoft",
"policyLogo": "Logo da Política de Privacidade"
},
"meetingsAccessibilityLabel": "Reuniões",
"mobileDownLoadLinkAndroid": "Descarregar aplicação móvel para Android",
"mobileDownLoadLinkFDroid": "Descarregar aplicação móvel para F-Droid",
"mobileDownLoadLinkIos": "Descarregar aplicação móvel para iOS",
@@ -1418,7 +1362,6 @@
"recentList": "Recente",
"recentListDelete": "Remover",
"recentListEmpty": "A sua lista recente está atualmente vazia. Converse com a sua equipa e encontrará aqui todas as suas reuniões recentes.",
"recentMeetings": "As suas reuniões recentes",
"reducedUIText": "Bem-vindo ao {{app}}!",
"roomNameAllowedChars": "Nome da reunião não deve conter qualquer um destes caracteres: ?. &, :, ', \", %, #.",
"roomname": "Digite o nome da sala",
@@ -1427,12 +1370,6 @@
"settings": "Definições",
"startMeeting": "Iniciar reunião",
"terms": "Termos",
"title": "Videoconferências mais seguras, flexíveis e totalmente gratuitas",
"upcomingMeetings": "As suas próximas reuniões"
},
"whiteboard": {
"accessibilityLabel": {
"heading": "Quadro branco"
}
"title": "Videoconferências mais seguras, flexíveis e totalmente gratuitas"
}
}

File diff suppressed because it is too large Load Diff

View File

@@ -11,6 +11,7 @@
"defaultEmail": "Email-i Juaj Parazgjedhje",
"disabled": "Smund të ftoni persona.",
"failedToAdd": "Su arrit të shtohen pjesëmarrës",
"footerText": "Formimi i numrave është i çaktivizuar.",
"googleEmail": "Email Google",
"inviteMoreHeader": "Në takim jeni vetëm ju",
"inviteMoreMailSubject": "Merrni pjesë në takim me {{appName}}",
@@ -30,7 +31,6 @@
},
"audioDevices": {
"bluetooth": "Bluetooth",
"car": "Audio Automjeti",
"headphones": "Kufje",
"none": "Ska pajisje audio",
"phone": "Telefon",
@@ -39,6 +39,9 @@
"audioOnly": {
"audioOnly": "Gjerësi e ulët bande"
},
"blankPage": {
"meetingEnded": "Takimi përfundoi."
},
"breakoutRooms": {
"actions": {
"add": "Shtoni aneks konsultimesh",
@@ -76,27 +79,15 @@
"refresh": "Rifresko kalendarin",
"today": "Sot"
},
"carmode": {
"actions": {
"selectSoundDevice": "Përzgjidhni pajisje zëri"
},
"labels": {
"buttonLabel": "Mënyra automjet",
"title": "Mënyra automjet",
"videoStopped": "Videoja juaj është ndalur"
}
},
"chat": {
"enter": "Hyni në fjalosje",
"error": "Gabim: mesazhi juaj su dërgua. Arsye: {{error}}",
"fieldPlaceHolder": "Shtypni këtu mesazhin tuaj",
"lobbyChatMessageTo": "Mesazh fjalosjeje në holl për {{recipient}}",
"message": "Mesazh",
"messageAccessibleTitle": "{{user}} thotë:",
"messageAccessibleTitleMe": "unë them:",
"messageTo": "Mesazh privat për {{recipient}}",
"messagebox": "Shtypni një mesazh",
"newMessages": "Mesazhe të rinj",
"nickname": {
"popover": "Zgjidhni një nofkë",
"title": "Që të përdorni fjalosjen, jepni një nofkë",
@@ -105,7 +96,7 @@
"noMessagesMessage": "Te takimi ska ende mesazhe. Nisni një bisedë këtu!",
"privateNotice": "Mesazh privat për {{recipient}}",
"sendButton": "Dërgoje",
"smileysPanel": "Panel emoxhish",
"smileysPanel": "Panel emoji-sh",
"tabs": {
"chat": "Fjalosje",
"polls": "Pyetësorë"
@@ -116,7 +107,6 @@
},
"chromeExtensionBanner": {
"buttonText": "Instaloni Zgjerimin për Chrome",
"buttonTextEdge": "Instaloni Zgjerimin Edge",
"close": "Mbylle",
"dontShowAgain": "Mos ma shfaq sërish këtë",
"installExtensionText": "Instaloni zgjerimin për integrim të Google Calendar-it dhe Office 365-s"
@@ -147,7 +137,6 @@
"bridgeCount": "Numër shërbyesish: ",
"codecs": "Kodekë (A/V): ",
"connectedTo": "Lidhur te:",
"e2eeVerified": "I verifikuar si E2EE:",
"framerate": "Shpejtësi kuadrosh:",
"less": "Shfaq më pak",
"localaddress": "Adresë vendore:",
@@ -183,22 +172,14 @@
},
"deepLinking": {
"appNotInstalled": "Që të merrni pjesë në këtë takim që nga telefoni juaj, ju duhet aplikacioni për celular {{app}}.",
"description": "Sngjau gjë? Provuam të nisim takimin tuaj te aplikacioni për desktop {{app}}. Riprovoni, ose niseni nga aplikacioni web {{app}}.",
"descriptionNew": "Sngjau gjë? Provuam nisjen e takimit tuaj te aplikacioni për desktop {{app}}. <br /><br /> Mund të riprovoni, ose ta nisni në web.",
"description": "Sngjau gjë? Provuam të nisim takimin tuaj te aplikacioni për desktop {{app}}. Rorpovoni, ose niseni nga aplikacioni web {{app}}.",
"descriptionWithoutWeb": "Sngjau gjë? Provuam nisjen e takimit tuaj te aplikacioni për desktop {{app}}.",
"downloadApp": "Shkarkoni aplikacionin",
"downloadMobileApp": "Shkarkojeni prej App Store",
"ifDoNotHaveApp": "Nëse se keni ende aplikacionin:",
"ifHaveApp": "Nëse e keni tashmë aplikacionin:",
"joinInApp": "Merrni pjesë në këtë takim duke përdorur aplikacionin",
"joinInAppNew": "Hyni që nga aplikacioni",
"joinInBrowser": "Hyni që nga shfletues",
"launchMeetingLabel": "Si doni të hyhet në këtë takim?",
"launchWebButton": "Nise në web",
"noMobileApp": "Se keni aplikacionin?",
"termsAndConditions": "Duke vazhduar, pajtoheni me <a href='{{termsAndConditionsLink}}' rel='noopener noreferrer' target='_blank'>terms & conditions.</a> tona",
"title": "Po niset takimi juaj në {{app}}…",
"titleNew": "Po niset takimi juaj…",
"tryAgainButton": "Riprovoni në desktop",
"unsupportedBrowser": "Duket se përdorni një shfletues që se mbulojmë."
},
@@ -211,20 +192,11 @@
"microphonePermission": "Gabim në marrje lejesh mbi mikrofonin"
},
"deviceSelection": {
"hid": {
"callControl": "Kontroll thirrjesh",
"connectedDevices": "Pajisje të lidhura:",
"deleteDevice": "Fshije pajisjen",
"pairDevice": "Çiftoni pajisje"
},
"noPermission": "Su akordua leje",
"previewUnavailable": "Sbëhet dot paraparje",
"selectADevice": "Përzgjidhni një pajisje",
"testAudio": "Luaj një tingull, për provë"
},
"dialIn": {
"screenTitle": "Përmbledhje rënieje numrash"
},
"dialOut": {
"statusMessage": "tani është {{status}}"
},
@@ -243,8 +215,6 @@
"liveStreaming": "Transmetim i Drejtpërdrejtë"
},
"add": "Shtoni",
"addMeetingNote": "Shtoni një shënim rreth këtij takimi",
"addOptionalNote": "Shtoni një shënim (në daçi):",
"allow": "Lejoje",
"alreadySharedVideoMsg": "Një tjetër pjesëmarrës po ndan me të tjerët një video. Kjo konferencë lejon vetëm një ndarje videoje në herë.",
"alreadySharedVideoTitle": "Lejohet vetëm një ndarje videoje me të tjerët në herë",
@@ -286,7 +256,6 @@
"gracefulShutdown": "Shërbimi ynë është aktualisht i ndërprerë, për punë mirëmbajtjeje. Ju lutemi, riprovoni më vonë.",
"grantModeratorDialog": "Jeni i sigurt se doni të akordohen të drejta moderatori për {{participantName}}?",
"grantModeratorTitle": "Akordoni të drejta moderatori",
"hide": "Fshihe",
"hideShareAudioHelper": "Mos e shfaq më këtë dialog",
"incorrectPassword": "Emër përdoruesi ose fjalëkalim i pasaktë",
"incorrectRoomLockPassword": "Fjalëkalim i pasaktë",
@@ -297,10 +266,9 @@
"kickParticipantDialog": "Jeni i sigurt se doni të përzihet ky pjesëmarrës?",
"kickParticipantTitle": "Të përzihet ky pjesëmarrës?",
"kickTitle": "Ooh! {{participantDisplayName}} ju përzuri nga takimi",
"linkMeeting": "Lidheni takimin",
"linkMeetingTitle": "Lidheni takimin me Salesforce",
"liveStreaming": "Transmetim i Drejtpërdrejtë",
"liveStreamingDisabledBecauseOfActiveRecordingTooltip": "Jo e mundshme, kur është aktiv regjistrimi",
"liveStreamingDisabledTooltip": "Nisje transmetimesh të drejtpërdrejta e çaktivizuar.",
"localUserControls": "Kontrolle vendore përdoruesi",
"lockMessage": "Su arrit të kyçej konferenca.",
"lockRoom": "Shtoni takim $t(lockRoomPasswordUppercase)",
@@ -312,7 +280,7 @@
"maxUsersLimitReachedTitle": "U mbërrit në kufi numri maksimum pjesëmarrësish",
"micConstraintFailedError": "Mikrofoni juaj splotëson disa nga kufizimet e domosdoshme.",
"micNotFoundError": "Su gjet mikrofon.",
"micNotSendingData": "Kaloni te rregullimet e kompjuterit tuaj, që ti hiqni mikrofonit heshtimin dhe të ujdisni volumin për të",
"micNotSendingData": "Kaloni te rregullimet e kompjuterit tuaj që ti hiqni mikrofonit heshtimin dhe të ujdisni volumin për të",
"micNotSendingDataTitle": "Mikrofoni juaj është heshtuar nga rregullimet e sistemit tuaj",
"micPermissionDeniedError": "Skeni akorduar leje për tu përdorur mikrofoni juaj. Mundeni prapëseprapë të merrni pjesë te konferenca, por të tjerët sdo tju dëgjojnë. Përdorni butonin e kamerës, te shtylla e adresave, për ta ndrequr këtë gjë.",
"micTimeoutError": "Su nis dot burim audio. Ndodhi mbarim kohe!",
@@ -352,15 +320,15 @@
"popupError": "Shfletuesi juaj i bllokon dritaret flluskë prej këtij sajti. Ju lutemi, aktivizoni flluskat te rregullimet e sigurisë të shfletuesit tuaj dhe riprovoni.",
"popupErrorTitle": "Flluska u bllokua",
"readMore": "më tepër",
"recentlyUsedObjects": "Së fundi përdorët objekte",
"recording": "Regjistrim",
"recordingDisabledBecauseOfActiveLiveStreamingTooltip": "Jo i mundshëm kur ka aktiv një transmetim të drejtpërdrejtë",
"recordingDisabledTooltip": "Nisja e regjistrimit është çaktivizuar.",
"rejoinNow": "Rihyni tani",
"remoteControlAllowedMessage": "{{user}} pranoi kërkesën tuaj për kontroll së largëti!",
"remoteControlDeniedMessage": "{{user}} hodhi poshtë kërkesën tuaj për kontroll së largëti!",
"remoteControlErrorMessage": "Ndodhi një gabim teksa provohej të kërkoheshin leje kontrolli së largëti nga {{user}}!",
"remoteControlRequestMessage": "A do ta lejoni {{user}} të kontrollojë së largëti desktopin tuaj?",
"remoteControlShareScreenWarning": "Mbani parasysh se nëse shtypni Lejoje, do tu tregoni ekranin tuaj!",
"remoteControlShareScreenWarning": "Mbani parasysh se nëse shtypni \"Lejoje\", do tu tregoni ekranin tuaj!",
"remoteControlStopMessage": "Sesioni me kontroll së largëti përfundoi!",
"remoteControlTitle": "Kontroll desktopi së largëti",
"remoteUserControls": "Kontrolle përdoruesi së largëti të {{username}}",
@@ -374,12 +342,6 @@
"screenSharingFailed": "Hëm! Diç shkoi ters, sqemë në gjendje të nisnim tregim ekrani!",
"screenSharingFailedTitle": "Tregimi i ekrani dështoi!",
"screenSharingPermissionDeniedError": "Hëm! Diç shkoi ters me lejet tuaja për tregim ekrani. Ju lutemi, ringarkojeni dhe riprovoni.",
"searchInSalesforce": "Kërkoni në Salesforce",
"searchResults": "Përfundime kërkimi({{count}})",
"searchResultsDetailsError": "Diç shkoi ters teksa provohej të merreshin të dhënat e të zotit.",
"searchResultsError": "Diç shkoi ters teksa provohej të merreshin të dhëna.",
"searchResultsNotFound": "Su gjetën përfundime kërkimi.",
"searchResultsTryAgain": "Provoni duke përdorur terma alternativë.",
"sendPrivateMessage": "Tani së fundi morët një mesazh privat. Kishit ndërmend ti përgjigjeni privatisht, apo doni tia dërgoni mesazhin grupit?",
"sendPrivateMessageCancel": "Dërgoja grupit",
"sendPrivateMessageOk": "Dërgoje privatisht",
@@ -390,12 +352,12 @@
"shareAudio": "Vazhdo",
"shareAudioTitle": "Si të ndahet audio me të tjerë",
"shareAudioWarningD1": "lypset të ndalni tregim ekrani, para se të ndani audion tuaj me të tjerë.",
"shareAudioWarningD2": "lypset të rinisni tregimin e ekranit tuaj dhe ti vini shenjë mundësisë ndani audio me të tjerë.",
"shareAudioWarningD2": "lypset të rinisni tregimin e ekranit tuaj dhe ti vini shenjë mundësisë \"ndani audio me të tjerë\".",
"shareAudioWarningH1": "Nëse doni të ndani vetëm audio me të tjerë:",
"shareAudioWarningTitle": "Lypset të ndalni tregimin e ekranit, para se të ndani audio me të tjerë",
"shareMediaWarningGenericH2": "Nëse doni të tregoni ekranin dhe të ndani audio me të tjerë",
"shareScreenWarningD1": "lypset të ndalni ndarjen e audios me të tjerë, para se të tregoni ekranin tuaj.",
"shareScreenWarningD2": "lypset të ndalni ndarjen e audios me të tjerë, të nisni tregimin e ekranit dhe ti vini shenjë mundësisë ndani audio me të tjerë.",
"shareScreenWarningD2": "lypset të ndalni ndarjen e audios me të tjerë, të nisni tregimin e ekranit dhe ti vini shenjë mundësisë \"ndani audio me të tjerë\".",
"shareScreenWarningH1": "Nëse thjesht doni të tregoni ekranin tuaj:",
"shareScreenWarningTitle": "Lypset të ndalni ndarjen e audios me të tjerë, para tregimit të ekranit tuaj",
"shareVideoLinkError": "Ju lutemi, jepni një lidhje të saktë videoje.",
@@ -404,8 +366,6 @@
"shareYourScreenDisabled": "Tregimi i ekranit është i çaktivizuar.",
"sharedVideoDialogError": "Gabim: URL e pavlefshme",
"sharedVideoLinkPlaceholder": "Lidhje YouTube ose lidhje e drejtpërdrejtë për video",
"show": "Shfaqe",
"start": "Fillo ",
"startLiveStreaming": "Nisni transmetim të drejtpërdrejtë",
"startRecording": "Fillo regjistrim",
"startRemoteControlErrorMessage": "Ndodhi një gabim teksa provohej të nisej sesioni i kontrollit së largëti!",
@@ -423,10 +383,6 @@
"user": "Përdorues",
"userIdentifier": "Identifikues përdoruesi",
"userPassword": "Fjalëkalim përdoruesi",
"verifyParticipantConfirm": "Përputhen",
"verifyParticipantDismiss": "Nuk përputhen",
"verifyParticipantQuestion": "EKSPERIMENTALE: Pyeteni pjesëmarrësin {{participantName}} nëse sheh të njëjtën lëndë, sipas të njëjtës radhë.",
"verifyParticipantTitle": "Verifikim përdoruesi",
"videoLink": "Lidhje videoje",
"viewUpgradeOptions": "Shihni mundësi përmirësimi",
"viewUpgradeOptionsContent": "Që të përfitoni përdorim të pakufizuar veçorish me pagesë, të tilla si regjistrimi, transcriptime, RTMP Streaming & etj, duhet të përmirësoni planin tuaj.",
@@ -452,14 +408,8 @@
"veryBad": "Shumë i Dobët",
"veryGood": "Shumë i Mirë"
},
"filmstrip": {
"accessibilityLabel": {
"heading": "Miniatura videosh"
}
},
"giphy": {
"noResults": "Su gjetën përfundime :(",
"search": "Kërkoni në GIPHY"
"helpView": {
"title": "Qendër ndihme"
},
"incomingCall": {
"answer": "Përgjigjuni",
@@ -501,11 +451,9 @@
"noRoom": "Su dha dhomë për të cilën të formësohet numri.",
"numbers": "Numra Për Tu Përdorur",
"password": "$t(lockRoomPasswordUppercase): ",
"reachedLimit": "Keni mbërritur në kufijtë e planit tuaj.",
"sip": "Adresë SIP",
"title": "Ndani me të tjerë",
"tooltip": "Ndani me të tjerë lidhje dhe hollësi numrash për këtë takim",
"upgradeOptions": "Ju lutemi, shihni mundësitë e përmirësimit, te"
"tooltip": "Ndani me të tjerë lidhje dhe hollësi numrash për këtë takim"
},
"inlineDialogFailure": {
"msg": "Ngecëm pak.",
@@ -526,11 +474,10 @@
"focusLocal": "Fokusi te videoja juaj",
"focusRemote": "Fokusi te videoja e një personi tjetër",
"fullScreen": "Hyni ose dilni në mënyrën “Sa krejt ekrani”",
"giphyMenu": "Shfaq/Fshish menu GIPHY",
"keyboardShortcuts": "Shkurtore tastiere",
"localRecording": "Shfaqni ose fshini kontrolle regjistrimi lokal",
"mute": "Mbyllni ose hapni mikrofonin tuaj",
"pushToTalk": " të flisni, shtypni",
"pushToTalk": "Për të folur, shtypeni",
"raiseHand": "Ngrini ose ulni dorën",
"showSpeakerStats": "Shfaq statistika folësish",
"toggleChat": "Hapni ose mbyllni fjalosjen",
@@ -540,10 +487,6 @@
"toggleShortcuts": "Shfaqni ose fshihni shkurtore tastiere",
"videoMute": "Vini në punë ose ndalni kamerën tuaj"
},
"largeVideo": {
"screenIsShared": "Po u tregoni ekranin tuaj",
"showMeWhatImSharing": "Tregomë çpo u tregoj"
},
"liveStreaming": {
"busy": "Po përpiqemi të lirojmë burime transmetimi. Ju lutemi, riprovoni pas pak minutash.",
"busyTitle": "Krejt transmetuesit janë aktualisht të zënë",
@@ -584,8 +527,8 @@
"lobby": {
"admit": "Pranoje",
"admitAll": "Pranoji të tërë",
"allow": "Lejoje",
"backToKnockModeButton": "Kërkoji të marrë pjesë",
"chat": "Fjalosje",
"dialogTitle": "Mënyra holl",
"disableDialogContent": "Mënyra holl është aktualisht e aktivizuar. Kjo veçori siguron që pjesëmarrës të padëshiruar të mos mund të hyjnë në takimin tuaj. Doni të çaktivizohet?",
"disableDialogSubmit": "Çaktivizoje",
@@ -598,7 +541,6 @@
"errorMissingPassword": "Ju lutemi, jepni fjalëkalimin e takimit",
"invalidPassword": "Fjalëkalim i pavlefshëm",
"joinRejectedMessage": "Kërkesa juaj për hyrje u hodh poshtë nga një moderator.",
"joinRejectedTitle": "Kërkesa për pjesëmarrje u hodh poshtë.",
"joinTitle": "Merrni Pjesë Në Takim",
"joinWithPasswordMessage": "Po provohet të hyhet me fjalëkalim, ju lutemi, pritni…",
"joiningMessage": "Do të hyni në takim sapo dikush të pranojë kërkesën tuaj",
@@ -607,8 +549,6 @@
"knockButton": "Kërko të Hyhet",
"knockTitle": "Dikush dëshiron të hyjë në takim",
"knockingParticipantList": "Listë pjesëmarrësish që duan të hyjnë",
"lobbyChatStartedNotification": "{{moderator}} filloi një fjalosje në holl me {{attendee}}",
"lobbyChatStartedTitle": "{{moderator}} ka filluar një fjalosje në holl me ju.",
"nameField": "Jepni emrin tuaj",
"notificationLobbyAccessDenied": "Hyrja e {{targetParticipantName}} është hedhur poshtë nga {{originParticipantName}}",
"notificationLobbyAccessGranted": "{{targetParticipantName}} është lejuar të hyjë nga {{originParticipantName}}",
@@ -646,7 +586,6 @@
"no": "Jo",
"participant": "Pjesëmarrës",
"participantStats": "Statistika Pjesëmarrësish",
"selectTabTitle": "🎥 Ju lutemi, për regjistrim përzgjidhni këtë skedë",
"sessionToken": "Token Sesioni",
"start": "Nis Regjistrim",
"stop": "Ndale Regjistrimin",
@@ -669,13 +608,10 @@
"connectedOneMember": "{{name}} nisi takimin",
"connectedThreePlusMembers": "{{name}} dhe mjaft të tjerë tjerë hynë në takim",
"connectedTwoMembers": "{{first}} dhe {{second}} tjetër hynë në takim",
"dataChannelClosed": "Rënie cilësie videoje",
"dataChannelClosedDescription": "Kanali urë u shkëput, kështu që cilësia e videos është kufizuar te vlera më e ulët.",
"disconnected": "u shkëput",
"displayNotifications": "Shfaq njoftime për",
"focus": "Fokusi te konferenca",
"focusFail": "{{component}} jo i passhëm - riprovoni pas {{ms}} sekondash",
"gifsMenu": "GIPHY",
"groupTitle": "Njoftime",
"hostAskedUnmute": "Moderatori do të donte të flisnit",
"invitedOneMember": "{{name}} u ftua",
@@ -685,14 +621,6 @@
"leftOneMember": "{{name}} doli nga takimi",
"leftThreePlusMembers": "{{name}} dhe mjaft të tjerë dolën nga takimi",
"leftTwoMembers": "{{first}} dhe {{second}} dolën nga takimi",
"linkToSalesforce": "Lidheni te Salesforce",
"linkToSalesforceDescription": "Mund ta lidhni përmbledhjen e takimit te një objekt Salesforce.",
"linkToSalesforceError": "Su arrit të lidhe takimi te Salesforce",
"linkToSalesforceKey": "Lidheni këtë takim",
"linkToSalesforceProgress": "Po lidhet takimi te Salesforce…",
"linkToSalesforceSuccess": "Takimi u lidh te Salesforce",
"localRecordingStarted": "{{name}} ka filluar një regjistrim vendor.",
"localRecordingStopped": "{{name}} ka ndalur një regjistrim vendor.",
"me": "Unë",
"moderationInEffectCSDescription": "Ju lutemi, ngrini dorën, nëse doni të tregoni ekranin tuaj.",
"moderationInEffectCSTitle": "Tregimi i ekranit është bllokuar nga moderatori",
@@ -713,11 +641,7 @@
"newDeviceAction": "Përdore",
"newDeviceAudioTitle": "U pikas pajisje audio e re",
"newDeviceCameraTitle": "U pikas kamerë e re",
"noiseSuppressionDesktopAudioDescription": "Mbytja e zhurmave smund të aktivizohet teksa ndahet me të tjerët audioja e desktopit, ju lutemi, çaktivizojeni dhe riprovoni.",
"noiseSuppressionFailedTitle": "Su arrit të nisej mbytja e zhurmave",
"noiseSuppressionNoTrackDescription": "Ju lutemi, së pari, çheshtoni mikrofonin tuaj.",
"noiseSuppressionStereoDescription": "Aktualisht nuk mbulohet mbytje zhurmash audioje stereo.",
"oldElectronClientDescription1": "Duket se përdorni një version të vjetër të klientit Jitsi Meet, i cili ka cenueshmëri të ditura sigurie. Ju lutemi, siguroni përditësimin me ",
"oldElectronClientDescription1": "Duket se përdorni një version të vjetër të klientit Jitsi Meet, i cili ka cenueshmëri sigurie që njihen. Ju lutemi, siguroni përditësimin me ",
"oldElectronClientDescription2": "montimin tonë më të ri",
"oldElectronClientDescription3": " që tani!",
"participantWantsToJoin": "Dëshiron të hyjë në takim",
@@ -731,8 +655,6 @@
"reactionSoundsForAll": "Çaktivizoji tingujt për të tërë",
"screenShareNoAudio": "Kutizës për ndarje audioje me të tjerë si është vënë shenjë te skena e përzgjedhjes së dritares.",
"screenShareNoAudioTitle": "Su nda dot me të tjerë audioja e sistemit!",
"screenSharingAudioOnlyDescription": "Ju lutemi, kini parasysh se duke dhënë ekranin tuaj, ndikoni te mënyra “Punimi më i mirë” dhe do të përdorni më tepër gjerësi bande",
"screenSharingAudioOnlyTitle": "Mënyra “”Punimi më i mirë",
"selfViewTitle": "Mundeni përherë të hiqni fshehjen e pamjes së vetes, që nga rregullimet",
"somebody": "Dikush",
"startSilentDescription": "Që të aktivizohet audioja, rihyni në takim",
@@ -752,7 +674,7 @@
"allow": "Lejoju pjesëmarrësve të:",
"allowVideo": "Çaktivizoni videon",
"askUnmute": "Kërkoni heqje heshtimi",
"audioModeration": "Heqin heshtim të vetes",
"audioModeration": "Hiqni heshtim të vetes",
"blockEveryoneMicCamera": "Bllokoni mikrofonin dhe kamerën e gjithkujt",
"invite": "Ftoni Dikë",
"moreModerationActions": "Më tepër mundësi moderimi",
@@ -764,13 +686,12 @@
"stopEveryonesVideo": "Ndal videon e gjithkujt",
"stopVideo": "Ndale videon",
"unblockEveryoneMicCamera": "Zhblloko mikrofonin dhe kamerën e gjithkujt",
"videoModeration": "Nisin videon e vetes"
"videoModeration": "Nis videon e vet"
},
"close": "Mbylle",
"headings": {
"lobby": "Holli ({{count}})",
"participantsList": "Pjesëmarrës në takim ({{count}})",
"visitors": "Vizitorë ({{count}})",
"waitingLobby": "Duke pritur në holl ({{count}})"
},
"search": "Kërkoni te pjesëmarrësit",
@@ -778,8 +699,6 @@
},
"passwordDigitsOnly": "Deri në {{number}} shifra",
"passwordSetRemotely": "Caktuar nga një tjetër pjesëmarrës",
"pinParticipant": "{{participantName}} - Fiksoje",
"pinnedParticipant": "Pjesëmarrësi është fiksuar",
"polls": {
"answer": {
"skip": "Anashkaloje",
@@ -856,7 +775,6 @@
"initiated": "U nis thirrja",
"joinAudioByPhone": "Merrni pjesë me audio telefoni",
"joinMeeting": "Merrni pjesë në takim",
"joinMeetingInLowBandwidthMode": "Merrni pjesë nën mënyrën “gjerësi e ulët bande”",
"joinWithoutAudio": "Merrni pjesë pa audio",
"keyboardShortcuts": "Aktivizo shkurtore tastiere",
"linkCopied": "Lidhja u kopjua në të papastër",
@@ -884,6 +802,9 @@
"rejected": "Hedhur poshtë",
"ringing": "Po i bihet ziles…"
},
"privacyView": {
"title": "Privatësi"
},
"profile": {
"avatar": "avatar",
"setDisplayNameLabel": "Caktoni emrin tuaj për në ekran",
@@ -893,18 +814,6 @@
},
"raisedHand": "Do të donte të fliste",
"raisedHandsLabel": "Numër duarsh të ngritura",
"record": {
"already": {
"linked": "Takimi është i lidhur tashmë te ky objekt Salesforce."
},
"type": {
"account": "Llogari",
"contact": "Kontakt",
"lead": "Lead",
"opportunity": "Mundësi",
"owner": "Zotërues"
}
},
"recording": {
"authDropboxText": "Ngarkoje në Dropbox",
"availableSpace": "Hapësirë e gatshme: {{spaceLeft}} MB (afërsisht {{duration}} minuta regjistrim)",
@@ -919,48 +828,29 @@
"expandedPending": "Po niset regjistrimi…",
"failedToStart": "Su arrit të niset regjistrimi",
"fileSharingdescription": "Ndajeni regjistrimin me pjesëmarrësit në takim",
"highlight": "Nxjerrje në pah",
"highlightMoment": "Nxirni në pah një çast",
"highlightMomentDisabled": "Mund të nxirrni në pah çaste kur fillon regjistrimi",
"highlightMomentSuccess": "Çasti u nxorr në pah",
"highlightMomentSucessDescription": "Çasti i nxjerrë në pah nga ju do të shtohet te përmbledhja e takimit.",
"inProgress": "Regjistrim ose transmetim drejtpërsëdrejti në ecuri e sipër",
"limitNotificationDescriptionNative": "Për shkak kërkesash të shumta, regjistrimi juaj do të kufizohet në {{limit}} min. Për regjistrime të pakufizuara provoni <3>{{app}}</3>.",
"limitNotificationDescriptionWeb": "Për shkak kërkesash të shumta, regjistrimi juaj do të kufizohet në {{limit}} min. Për regjistrime të pakufizuara provoni <a href={{url}} rel='noopener noreferrer' target='_blank'>{{app}}</a>.",
"linkGenerated": "Kemi prodhuar një lidhje për te regjistrimi juaj.",
"live": "DREJTPËRSËDREJTI",
"localRecordingNoNotificationWarning": "Regjistrimi sdo tu njoftohet pjesëmarrësve të tjerë. Do tju duhet ti vini në dijeni se takimi po regjistrohet.",
"localRecordingNoVideo": "Videoja nuk po regjistrohet",
"localRecordingStartWarning": "Ju lutemi, sigurohuni se e ndalni regjistrimin para se dilni nga takimi, që të mund ta ruani.",
"localRecordingStartWarningTitle": "Ndaleni regjistrimin që ta ruani",
"localRecordingVideoStop": "Ndalja e videos tuaj do të ndalë gjithashtu edhe regjistrimin vendor. Jeni i sigurt se doni të vazhdohet?",
"localRecordingVideoWarning": "Që ta regjistroni, videon tuaj duhet ta keni të hapur, kur niset regjistrimi",
"localRecordingWarning": "Sigurohuni se përzgjidhni skedën e tanishme, që të mund të përdoret videoja dhe audioja e saktë. Regjistrimi aktualisht është i kufizuar deri në 1GB, çka është aty afër 100 minutave.",
"loggedIn": "I futur si {{userName}}",
"noMicPermission": "Su krijua dot pistë mikrofoni. Ju lutemi, akordoni leje për përdorim të mikrofonit.",
"noStreams": "Su pikas rrjedhë audio ose video.",
"off": "Regjistrimi u ndal",
"offBy": "{{name}} ndali regjistrimin",
"on": "Regjistrimi nisi",
"onBy": "{{name}} nisi regjistrimin",
"onlyRecordSelf": "Regjistro vetëm rrjedhat e mia audio dhe video",
"pending": "Po përgatitet të regjistrohet takimi…",
"rec": "REC",
"saveLocalRecording": "Ruajeni lokalisht kartelën e regjistrimit (Beta)",
"serviceDescription": "Regjistrimi juaj do të ruhet nga shërbimi i regjistrimit",
"serviceDescriptionCloud": "Regjistrim në re",
"serviceDescriptionCloudInfo": "Takimet e regjistruara spastrohen automatikisht 24h pas kohës së regjistrimit të tyre.",
"serviceName": "Shërbim regjistrimi",
"sessionAlreadyActive": "Ky sesion po regjistrohet ose transmetohet drejtpërsëdrejti tashmë.",
"signIn": "Hyni",
"signOut": "Dilni",
"surfaceError": "Ju lutemi, përdorni skedën e tanishme.",
"title": "Regjistrim",
"unavailable": "Hëm! {{serviceName}} sështë i passhëm aktualisht. Po punojmë për të zgjidhur problemin. Ju lutemi, riprovoni më vonë.",
"unavailableTitle": "Regjistrim jo i passhëm",
"uploadToCloud": "Ngarkojeni te reja"
},
"screenshareDisplayName": "Skena e {{name}}",
"sectionList": {
"pullToRefresh": "Tërhiqeni që të rifreskohet"
},
@@ -971,9 +861,8 @@
"title": "Mundësi Sigurie"
},
"settings": {
"buttonLabel": "Rregullime",
"calendar": {
"about": "Integrimi me kalendar {{appName}} përdoret për të hyrë me sukses te kalendari juaj, që kështu të mund të lexohen veprimtari të ardhshme.",
"about": "Integrimi i me kalendar {{appName}} përdoret për të hyrë me sukses te kalendari juaj, që kështu të mund të lexohen veprimtari të ardhshme.",
"disconnect": "Shkëputu",
"microsoftSignIn": "Hyni me Microsoft",
"signedIn": "Aktualisht po shihen veprimtari kalendari për {{email}}. Klikoni mbi butonin Shkëputu më poshtë që të ndalni parjen e veprimtarive të kalendarit.",
@@ -988,14 +877,12 @@
"incomingMessage": "Mesazh ardhës",
"language": "Gjuhë",
"loggedIn": "I futur si {{name}}",
"maxStageParticipants": "Numër maksimum pjesëmarrësish që mund të fiksohen te skena kryesore (EKSPERIMENTALe)",
"microphones": "Mikrofona",
"moderator": "Moderator",
"more": "Më tepër",
"name": "Emër",
"noDevice": "Asnjë",
"participantJoined": "Hyri Pjesëmarrës",
"participantKnocking": "Pjesëmarrës hyri në holl",
"participantLeft": "Doli Pjesëmarrës",
"playSounds": "Luaj tingull kur",
"reactions": "Reagime takimi",
@@ -1025,21 +912,13 @@
"disableCrashReportingWarning": "Jeni i sigurt se doni të çaktivizohet raportim vithisjesh? Rregullimi do të vihet në punë pasi të rinisni aplikacionin.",
"disableP2P": "Çaktivizo mënyrë Tek-Për-Tek",
"displayName": "Emër në ekrani",
"displayNamePlaceholderText": "P.sh.: Zamir Gjoli",
"email": "Email",
"emailPlaceholderText": "email@example.com",
"goTo": "Kalo te",
"header": "Rregullime",
"help": "Ndihmë",
"links": "Lidhje",
"privacy": "Privatësi",
"profileSection": "Profil",
"serverURL": "URL Shërbyesi",
"showAdvanced": "Shfaq rregullime të mëtejshme",
"startCarModeInLowBandwidthMode": "Nën mënyrën “gjerësi e ulët bande” nis mënyrën automjet",
"startWithAudioMuted": "Fillo me audio të mbyllur",
"startWithVideoMuted": "Fillo me video të mbyllur",
"terms": "Terma",
"version": "Version"
},
"share": {
@@ -1077,7 +956,6 @@
"termsView": {
"title": "Terma"
},
"toggleTopPanelLabel": "Shfaq/fshih panelin e epërm",
"toolbar": {
"Settings": "Rregullime",
"accessibilityLabel": {
@@ -1087,7 +965,6 @@
"boo": "Ya",
"breakoutRoom": "Hyni/Dilni nga dhomë aneks konsultimesh",
"callQuality": "Administroni cilësi videoje",
"carmode": "Mënyra Automjet",
"cc": "Shfaq/Fshih titra",
"chat": "Hapni / Mbyllni fjalosje",
"clap": "Duartrokitje",
@@ -1095,21 +972,16 @@
"document": "Shfaq/Fshih dokument të ndarë",
"download": "Shkarkoni aplikacionet tona",
"embedMeeting": "Trupëzoni takimin",
"endConference": "Përfundoje takimin për të tërë",
"expand": "Zgjeroje",
"feedback": "Lini përshtypje",
"fullScreen": "Kalo nën/Dil nga mënyra “Sa krejt ekrani”",
"giphy": "Shfaq/fshih menunë GIPHY",
"fullScreen": "Kalo/Dil nga mënyra “Sa krejt ekrani”",
"grantModerator": "Akordoji të Drejta Moderatori",
"hangup": "Braktiseni takimin",
"heading": "Panel",
"help": "Ndihmë",
"invite": "Ftoni njerëz",
"kick": "Përzëre pjesëmarrësin",
"laugh": "E qeshur",
"leaveConference": "Dilni nga takimi",
"like": "Thumbs Up",
"linkToSalesforce": "Lidhje për te Salesforce",
"lobbyButton": "Aktivizo/Çaktivizoni mënyrën holl",
"localRecording": "Shfaq/Fshih kontrolle regjistrimi vendor",
"lockRoom": "Aktivizo/Çaktivizo fjalëkalim takimi",
@@ -1121,7 +993,6 @@
"muteEveryoneElse": "Heshto gjithkënd tjetër",
"muteEveryoneElsesVideoStream": "Ndal videon e gjithkujt tjetër",
"muteEveryonesVideoStream": "Ndal videon e gjithkujt",
"noiseSuppression": "Mbytje zhurmash",
"participants": "Pjesëmarrës",
"pip": "Aktivizo/Çaktivizo mënyrën “Picture-in-Picture”",
"privateMessage": "Dërgoni mesazh privat",
@@ -1133,7 +1004,7 @@
"remoteVideoMute": "Çaktivizo kamerën e pjesëmarrësit",
"security": "Mundësi sigurie",
"selectBackground": "Përzgjidhni Sfond",
"selfView": "Shfaq/Fshih pamje vetes",
"selfView": "Shfaq/Fshih pamje veteje",
"shareRoom": "Ftoni dikë",
"shareYourScreen": "Nisni / Ndalni tregimin e ekranit tuaj",
"shareaudio": "Ndani audio me të tjerë",
@@ -1143,12 +1014,11 @@
"silence": "Heshtje",
"speakerStats": "Shfaq/Fshih statistika folësi",
"surprised": "I befasuar",
"tileView": "Kalo/Dil nga mënyra mozaik",
"tileView": "Kalo/Dil nga mënyra mozaik",
"toggleCamera": "Hap/Mbyll kamerën",
"toggleFilmstrip": "Shfaq/Fshih shirit filmi",
"videoblur": "Aktivizo/Çaktivizo turbullim videoje",
"videomute": "Nis / Ndal kamerën",
"whiteboard": "Shfaq / Fshih tabelën"
"videomute": "Nis / Ndal kamerën"
},
"addPeople": "Shtoni persona te thirrja juaj",
"audioOnlyOff": "Çaktivizo mënyrën “Sasi e ulët të dhënash trafiku”",
@@ -1162,30 +1032,24 @@
"clap": "Duartrokitje",
"closeChat": "Mbyll fjalosjen",
"closeReactionsMenu": "Mbyll menu reagimesh",
"disableNoiseSuppression": "Çaktivizo mbytje zhurmash",
"disableReactionSounds": "Mund të çaktivizoni tinguj reagimesh për këtë takim",
"documentClose": "Mbylle dokumentin e ndarë",
"documentOpen": "Hape dokumentin e ndarë",
"download": "Shkarkoni aplikacione tonat",
"e2ee": "Fshehtëzim Skaj-Më-Skaj",
"embedMeeting": "Trupëzoni takim",
"endConference": "Përfundoje takimin për të tërë",
"enterFullScreen": "Shiheni sa krejt ekrani",
"enterTileView": "Kalo te pamja me kuadrate",
"exitFullScreen": "Dil nga mënyra sa krejt ekrani",
"exitTileView": "Dil nga pamja me kuadrate",
"feedback": "Lini përshtypje",
"giphy": "Shfaq/Fshih menunë GIPHY",
"hangup": "Braktisni takimin",
"help": "Ndihmë",
"hideWhiteboard": "Fshihe tabelën",
"invite": "Ftoni persona",
"joinBreakoutRoom": "Hyni në dhomë aneks konsultimesh",
"laugh": "Qeshje",
"leaveBreakoutRoom": "Dilni nga dhomë aneks konsultimesh",
"leaveConference": "Dilni nga takimi",
"like": "Thumbs Up",
"linkToSalesforce": "Lidhje për te Salesforce",
"lobbyButtonDisable": "Çaktivizo mënyrën holl",
"lobbyButtonEnable": "Aktivizo mënyrën holl",
"login": "Hyrje",
@@ -1201,7 +1065,6 @@
"noAudioSignalDialInDesc": "Mund ti bini numrit edhe duke përdorur:",
"noAudioSignalDialInLinkDesc": "Numra thirrjeje",
"noAudioSignalTitle": "Ska sinjal që vjen nga mikrofoni juaj!",
"noiseSuppression": "Mbytje zhurmash",
"noisyAudioInputDesc": "Dëgjohet sikur mikrofoni juaj prodhon zhurmë, ju lutemi, shihni mundësinë e heshtimit të tij, ose të ndërrimit të pajisjes.",
"noisyAudioInputTitle": "Mikrofoni juaj duket të jetë i zhurmshëm!",
"openChat": "Hapni fjalosje",
@@ -1212,19 +1075,18 @@
"profile": "Përpunoni profilin tuaj",
"raiseHand": "Ngrini / Ulni dorën",
"raiseYourHand": "Ngrini dorën",
"reactionBoo": "Dërgoni reagim me ya",
"reactionClap": "Dërgoni reagim me duartrokitje",
"reactionLaugh": "Dërgoni reagim me qeshje",
"reactionLike": "Dërgoni reagim me “thumbs up”",
"reactionSilence": "Dërgoni reagim me heshtje",
"reactionSurprised": "Dërgoni reagim të befasuari",
"reactionBoo": "Dërgo reagim me ya",
"reactionClap": "Dërgo reagim me duartrokitje",
"reactionLaugh": "Dërgo reagim me qeshje",
"reactionLike": "Dërgo reagim me “thumbs up”",
"reactionSilence": "Dërgo reagim me heshtje",
"reactionSurprised": "Dërgo reagim të befasuari",
"security": "Mundësi sigurie",
"selectBackground": "Përzgjidhni sfond",
"shareRoom": "Ftoni dikë",
"shareaudio": "Ndani audio me të tjerë",
"sharedvideo": "Ndani video me të tjerë",
"shortcuts": "Shihni shkurtore",
"showWhiteboard": "Shfaq tabelë",
"silence": "Heshtje",
"speakerStats": "Statistika folësi",
"startScreenSharing": "Nise tregimin e ekranit",
@@ -1235,7 +1097,7 @@
"stopSubtitles": "Ndali titrat",
"surprised": "I befasuar",
"talkWhileMutedPopup": "Po provoni të flisni? Jeni i heshtuar.",
"tileViewToggle": "Kalo/Dil nga mënyra mozaik",
"tileViewToggle": "Kaloni/Dilni nga mënyra mozaik",
"toggleCamera": "Hapni/Mbyllni kamerën",
"videoSetting": "Rregullime videoje",
"videomute": "Nisni / Ndalni kamerën"
@@ -1248,15 +1110,10 @@
"labelToolTip": "Takimit po i bëhet transkriptim",
"off": "Transkriptimi u ndal",
"pending": "Po përgatitet të transkriptohet takimi…",
"sourceLanguageDesc": "Aktualisht si gjuhë takimi është caktuar <b>{{sourceLanguage}}</b>. <br/> Mund ta ndryshoni që nga ",
"sourceLanguageHere": "këtu",
"start": "Fillo shfaqje titrash",
"stop": "Ndal shfaqje titrash",
"subtitles": "Titra",
"subtitlesOff": "Off",
"tr": "TR"
},
"unpinParticipant": "{{participantName}} - Hiqja fiksimin",
"userMedia": {
"androidGrantPermissions": "Kur shfletuesi juaj të kërkojë leje, përzgjidhni <b><i>Lejoje</i></b>.",
"chromeGrantPermissions": "Kur shfletuesi juaj të kërkojë leje, përzgjidhni <b><i>Lejoje</i></b>.",
@@ -1295,11 +1152,9 @@
"ldTooltip": "Po shihet video në cilësi të ulët",
"lowDefinition": "Cilësi e ulët",
"performanceSettings": "Rregullime funksionimi",
"recording": "Regjistrim në kryerje e sipër",
"sd": "CS",
"sdTooltip": "Po shihet video në cilësi standarde",
"standardDefinition": "Cilësi standarde",
"streaming": "Transmetim në kryerje e sipër"
"standardDefinition": "Cilësi standarde"
},
"videothumbnail": {
"connectionInfo": "Hollësi Lidhjeje",
@@ -1311,17 +1166,13 @@
"grantModerator": "Akordoji të Drejta Moderatori",
"hideSelfView": "Fshihe pamjen e vetes",
"kick": "Përzëre",
"mirrorVideo": "Pasqyro videon time",
"moderator": "Moderator",
"mute": "Pjesëmarrësi është heshtuar",
"muted": "I heshtuar",
"pinToStage": "Fiksoje në skenë",
"remoteControl": "Nis / Ndal kontroll së largëti",
"screenSharing": "Pjesëmarrësi po tregon ekranin e vet",
"show": "Shfaqe në skenë",
"showSelfView": "Shfaq pamje të vetes",
"unpinFromStage": "Çfiksoje",
"verify": "Verifikoni pjesëmarrës",
"videoMuted": "Kamera e çaktivizuar",
"videomute": "Pjesëmarrësi ka ndalur kamerën"
},
@@ -1332,7 +1183,7 @@
"blur": "Turbulloje",
"deleteImage": "Fshije figurën",
"desktopShare": "Tregim desktopi",
"desktopShareError": "Su formua dot tregim desktopi",
"desktopShareError": "Su krijua dot tregim desktopi",
"image1": "Plazh",
"image2": "Mur i bardhë asnjanës",
"image3": "Dhomë e bardhë e zbrazët",
@@ -1349,7 +1200,6 @@
"webAssemblyWarning": "Nuk mbulohet WebAssembly",
"webAssemblyWarningDescription": "WebAssembly e çaktivizuar ose e pambuluar nga ky shfletues"
},
"visitorsLabel": "Numër vizitorësh: {{count}}",
"volumeSlider": "Rrëshqitës volumi",
"welcomepage": {
"accessibilityLabel": {
@@ -1390,21 +1240,13 @@
"recentList": "Së fundi",
"recentListDelete": "Fshije zërin",
"recentListEmpty": "Lista juaj për “së fundi” aktualisht është e zbrazët. Bisedoni me ekipin tuaj dhe do të gjeni këtu krejt takimet tuaj së fundi.",
"recentMeetings": "Takimet tuaja së fundi",
"reducedUIText": "Mirë se vini në {{app}}!",
"roomNameAllowedChars": "Emri i takimit sduhet të përmbajë ndonjë nga këto shenja: ?, &, :, ', \", %, #.",
"roomname": "Jepni emër dhome",
"roomnameHint": "Jepni emrin ose URL-në e dhomës ku doni të hyhet. Emrin mund ta vini si të doni, thjesht tregojuani personave me të cilët po takoheni, që të japin të njëjtin emër.",
"sendFeedback": "Dërgoni përshtypje",
"settings": "Rregullime",
"startMeeting": "Nisni takim",
"terms": "Kushte",
"title": "Konferenca video të parrezik, me të gjitha veçoritë dhe plotësisht të lira",
"upcomingMeetings": "Takimet tuaja safërmi"
},
"whiteboard": {
"accessibilityLabel": {
"heading": "Tabelë shënimesh"
}
"title": "Konferenca video të parrezik, me të gjitha veçoritë dhe plotësisht të lira"
}
}

View File

@@ -1067,6 +1067,7 @@
"chat": "Öppna eller stäng chattfönster",
"clap": "Klappa",
"collapse": "Kollaps",
"dock": "Docka i huvudfönstret",
"document": "Öppna eller stäng delat dokument",
"download": "Ladda ner app",
"embedMeeting": "Bädda in möte",
@@ -1120,6 +1121,7 @@
"tileView": "Öppna eller stäng panelvyn",
"toggleCamera": "Växla kamera",
"toggleFilmstrip": "Växla filmremsa",
"undock": "Lossa till ett separat fönster",
"videoblur": "Växla videooskärpa",
"videomute": "Sätt på eller stäng av mikrofonen",
"whiteboard": "Visa/dölj whiteboardtavlan"
@@ -1138,6 +1140,7 @@
"closeReactionsMenu": "Stäng meny för reaktioner",
"disableNoiseSuppression": "Inaktivera brusreducering",
"disableReactionSounds": "Du kan inaktivera reaktionsljud för det här mötet",
"dock": "Docka i huvudfönstret",
"documentClose": "Stäng delat dokument",
"documentOpen": "Öppna delat dokument",
"download": "Ladda ner vår app",
@@ -1211,6 +1214,7 @@
"talkWhileMutedPopup": "Försöker du tala? Din mikrofon är tystad.",
"tileViewToggle": "Öppna eller stäng panelvyn",
"toggleCamera": "Byta kamera",
"undock": "Lossa till ett separat fönster",
"videoSettings": "Video inställningar",
"videomute": "Aktivera / avaktivera kameran"
},

View File

@@ -1067,6 +1067,7 @@
"chat": "Mesajlaşma penceresini aç/kapat",
"clap": "Alkış",
"collapse": "Daralt",
"dock": "Ana pencerede sabitleyin",
"document": "Paylaşılan dokümanı aç/kapat",
"download": "Uygulamalarımızı indirin",
"embedMeeting": "Toplantıyı yerleştir",
@@ -1120,6 +1121,7 @@
"tileView": "Döşeme görünümünü aç/kapat",
"toggleCamera": "Kamerayı değiştir",
"toggleFilmstrip": "Film şeridini aç/kapat",
"undock": "Ayrı pencereye çıkarın",
"videoblur": "Video bulanıklaştırma aç/kapat",
"videomute": "Sessiz videoyu aç/kapat",
"whiteboard": "Beyaztahtayı Göster / Gizle"
@@ -1138,6 +1140,7 @@
"closeReactionsMenu": "Reaksiyon menüsünü kapat",
"disableNoiseSuppression": "",
"disableReactionSounds": "Toplantı için reaksiyon seslerini devre dışı bırak",
"dock": "Ana pencerede sabitleyin",
"documentClose": "Paylaşılan dokümanı kapat",
"documentOpen": "Paylaşılan dokümanı aç",
"download": "Uygulamalarımızı indirin",
@@ -1211,6 +1214,7 @@
"talkWhileMutedPopup": "Bir şey mi dediniz? Mikrofonunuz kapalı.",
"tileViewToggle": "Döşeme görünümünü aç/kapat",
"toggleCamera": "Kamerayı değiştir",
"undock": "Ayrı pencereye çıkarın",
"videoSettings": "Video ayarları",
"videomute": "Kamera başlat / durdur"
},

View File

@@ -1067,6 +1067,7 @@
"chat": "Показати/приховати чат",
"clap": "Овації",
"collapse": "Згорнути",
"dock": "Закріпити в головному вікні",
"document": "Відкрити/закрити спільний документ",
"download": "Звантажити мобільний застосунок",
"embedMeeting": "Вставити зустріч",
@@ -1120,6 +1121,7 @@
"tileView": "Увімкнути/вимкнути плитки",
"toggleCamera": "Увімкнути/вимкнути камеру",
"toggleFilmstrip": "Показати/приховати панель видів",
"undock": "Відкріпити в окремому вікні",
"videoblur": "Увімкнути/вимкнути розмиття фону",
"videomute": "Увімкнути/вимкнути камеру",
"whiteboard": "Показати/приховати дошку"
@@ -1138,6 +1140,7 @@
"closeReactionsMenu": "Закрити меню реакцій",
"disableNoiseSuppression": "Вимкнути придушення шуму",
"disableReactionSounds": "Ви можете вимкнути звуки реакції для цієї зустрічі",
"dock": "Закріпити в головному вікні",
"documentClose": "Закрити спільний документ",
"documentOpen": "Відкрити спільний документ",
"download": "Звантажити мобільний застосунок",
@@ -1211,6 +1214,7 @@
"talkWhileMutedPopup": "Намагаєтесь говорити? Ваш мікрофон вимкнено.",
"tileViewToggle": "Плитки",
"toggleCamera": "Увімкнути/вимкнути камеру",
"undock": "Відкріпити в окремому вікні",
"videoSettings": "Налаштування камери",
"videomute": "Камера"
},

View File

@@ -1067,6 +1067,7 @@
"chat": "打开/关闭聊天窗口",
"clap": "鼓掌",
"collapse": "收起",
"dock": "在主窗口停靠",
"document": "开启/关闭文件共享",
"download": "下载应用",
"embedMeeting": "嵌入会议",
@@ -1120,6 +1121,7 @@
"tileView": "开启/关闭画廊视图",
"toggleCamera": "开启/关闭摄像头",
"toggleFilmstrip": "开启/关闭幻灯片",
"undock": "取消停靠到单独的窗口",
"videoblur": "开启/关闭视频模糊",
"videomute": "启动/停止摄像头",
"whiteboard": "显示/隐藏白板"
@@ -1138,6 +1140,7 @@
"closeReactionsMenu": "关闭反应菜单",
"disableNoiseSuppression": "关闭噪音抑制",
"disableReactionSounds": "你可以禁用此会议的反应声音",
"dock": "在主窗口停靠",
"documentClose": "关闭文件共享",
"documentOpen": "开启文件共享",
"download": "下载我们的APP",
@@ -1211,6 +1214,7 @@
"talkWhileMutedPopup": "你在尝试发言吗? 当前你是静音状态。",
"tileViewToggle": "画面模式",
"toggleCamera": "开启/关闭摄像头",
"undock": "取消停靠到单独的窗口",
"videoSettings": "视频设置",
"videomute": "开启/关闭摄像头"
},

View File

@@ -1067,6 +1067,7 @@
"chat": "打開/關閉聊天視窗",
"clap": "鼓掌",
"collapse": "收回",
"dock": "停靠在主視窗中",
"document": "啟用/停用分享文檔",
"download": "下載我們的應用程式",
"embedMeeting": "嵌入會議",
@@ -1120,6 +1121,7 @@
"tileView": "啟用/停用畫廊檢視",
"toggleCamera": "啟用/停用網路攝影機",
"toggleFilmstrip": "啟用/停用簡報",
"undock": "取消停靠到單獨的视窗",
"videoblur": "啟用/停用畫面模糊",
"videomute": "啟用/停用網路攝影機",
"whiteboard": "啟用/停用白板"
@@ -1138,6 +1140,7 @@
"closeReactionsMenu": "關閉反應選單",
"disableNoiseSuppression": "停用雜訊抑制",
"disableReactionSounds": "您可以停用此會議的反應音效",
"dock": "停靠在主視窗中",
"documentClose": "關閉分享檔案欄",
"documentOpen": "開啟分享檔案欄",
"download": "下載我們的應用程式",
@@ -1211,6 +1214,7 @@
"talkWhileMutedPopup": "您要發言嗎?目前您處於靜音。",
"tileViewToggle": "啟動/停用畫廊檢視",
"toggleCamera": "啟動/停用網路攝影機",
"undock": "取消停靠到單獨的视窗",
"videoSettings": "視訊設定",
"videomute": "啟動/停用網路攝影機"
},

View File

@@ -68,9 +68,9 @@
},
"join": "Join",
"joinTooltip": "Join the meeting",
"nextMeeting": "Next meeting",
"nextMeeting": "next meeting",
"noEvents": "There are no upcoming events scheduled.",
"ongoingMeeting": "Ongoing meeting",
"ongoingMeeting": "ongoing meeting",
"permissionButton": "Open settings",
"permissionMessage": "The Calendar permission is required to see your meetings in the app.",
"refresh": "Refresh calendar",
@@ -184,21 +184,13 @@
"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.",
"descriptionNew": "Nothing happened? We tried launching your meeting in the {{app}} desktop app. <br /><br /> You can try again or launch it on web.",
"descriptionWithoutWeb": "Nothing happened? We tried launching your meeting in the {{app}} desktop app.",
"downloadApp": "Download the app",
"downloadMobileApp": "Download from App Store",
"ifDoNotHaveApp": "If you don't have the app yet:",
"ifHaveApp": "If you already have the app:",
"joinInApp": "Join this meeting using the app",
"joinInAppNew": "Join in app",
"joinInBrowser": "Join in browser",
"launchMeetingLabel": "How do you want to join this meeting?",
"launchWebButton": "Launch in web",
"noMobileApp": "You dont have the app?",
"termsAndConditions": "By continuing you agree to our <a href='{{termsAndConditionsLink}}' rel='noopener noreferrer' target='_blank'>terms & conditions.</a>",
"title": "Launching your meeting in {{app}}...",
"titleNew": "Launching your meeting ...",
"tryAgainButton": "Try again in desktop",
"unsupportedBrowser": "It looks like you're using a browser we don't support."
},
@@ -211,16 +203,10 @@
"microphonePermission": "Error obtaining microphone permission"
},
"deviceSelection": {
"hid": {
"callControl": "Call control",
"connectedDevices": "Connected devices:",
"deleteDevice": "Delete device",
"pairDevice": "Pair device"
},
"noPermission": "Permission not granted",
"previewUnavailable": "Preview unavailable",
"selectADevice": "Select a device",
"testAudio": "Test"
"testAudio": "Play a test sound"
},
"dialIn": {
"screenTitle": "Dial-in summary"
@@ -240,9 +226,7 @@
"WaitingForHostTitle": "Waiting for the host ...",
"Yes": "Yes",
"accessibilityLabel": {
"close": "Close dialog",
"liveStreaming": "Live Stream",
"sharingTabs": "Sharing options"
"liveStreaming": "Live Stream"
},
"add": "Add",
"addMeetingNote": "Add a note about this meeting",
@@ -454,15 +438,13 @@
"veryBad": "Very Bad",
"veryGood": "Very Good"
},
"filmstrip": {
"accessibilityLabel": {
"heading": "Video thumbnails"
}
},
"giphy": {
"noResults": "No results found :(",
"search": "Search GIPHY"
},
"helpView": {
"title": "Help center"
},
"incomingCall": {
"answer": "Answer",
"audioCallTitle": "Incoming call",
@@ -675,7 +657,6 @@
"dataChannelClosedDescription": "The bridge channel has been disconnected and thus video quality is limited to its lowest setting.",
"disconnected": "disconnected",
"displayNotifications": "Display notifications for",
"dontRemindMe": "Do not remind me",
"focus": "Conference focus",
"focusFail": "{{component}} not available - retry in {{ms}} sec",
"gifsMenu": "GIPHY",
@@ -684,7 +665,6 @@
"invitedOneMember": "{{name}} has been invited",
"invitedThreePlusMembers": "{{name}} and {{count}} others have been invited",
"invitedTwoMembers": "{{first}} and {{second}} have been invited",
"joinMeeting": "Join",
"kickParticipant": "{{kicked}} was kicked by {{kicker}}",
"leftOneMember": "{{name}} left the meeting",
"leftThreePlusMembers": "{{name}} and many others left the meeting",
@@ -735,8 +715,6 @@
"reactionSoundsForAll": "Disable sounds for all",
"screenShareNoAudio": "Share audio box was not checked in the window selection screen.",
"screenShareNoAudioTitle": "Couldn't share system audio!",
"screenSharingAudioOnlyDescription": "Please note that by sharing your screen you're affecting the \"Best performance\" mode and you will use more bandwidth.",
"screenSharingAudioOnlyTitle": "\"Best performance\" mode",
"selfViewTitle": "You can always un-hide the self-view from settings",
"somebody": "Somebody",
"startSilentDescription": "Rejoin the meeting to enable audio",
@@ -774,7 +752,6 @@
"headings": {
"lobby": "Lobby ({{count}})",
"participantsList": "Meeting participants ({{count}})",
"visitors": "Visitors ({{count}})",
"waitingLobby": "Waiting in lobby ({{count}})"
},
"search": "Search participants",
@@ -782,7 +759,6 @@
},
"passwordDigitsOnly": "Up to {{number}} digits",
"passwordSetRemotely": "Set by another participant",
"pinParticipant": "{{participantName}} - Pin",
"pinnedParticipant": "The participant is pinned",
"polls": {
"answer": {
@@ -888,11 +864,14 @@
"rejected": "Rejected",
"ringing": "Ringing..."
},
"privacyView": {
"title": "Privacy"
},
"profile": {
"avatar": "avatar",
"setDisplayNameLabel": "Name",
"setDisplayNameLabel": "Set your display name",
"setEmailInput": "Enter email",
"setEmailLabel": "Gravatar email",
"setEmailLabel": "Set your gravatar email",
"title": "Profile"
},
"raisedHand": "Would like to speak",
@@ -941,7 +920,6 @@
"localRecordingVideoWarning": "To record your video you must have it on when starting the recording",
"localRecordingWarning": "Make sure you select the current tab in order to use the right video and audio. The recording is currently limited to 1GB, which is around 100 minutes.",
"loggedIn": "Logged in as {{userName}}",
"noMicPermission": "Microphone track could not be created. Please grant permission to use the microphone.",
"noStreams": "No audio or video stream detected.",
"off": "Recording stopped",
"offBy": "{{name}} stopped the recording",
@@ -975,7 +953,6 @@
"title": "Security Options"
},
"settings": {
"audio": "Audio",
"buttonLabel": "Settings",
"calendar": {
"about": "The {{appName}} calendar integration is used to securely access your calendar so it can read upcoming events.",
@@ -996,11 +973,9 @@
"maxStageParticipants": "Maximum number of participants who can be pinned to the main stage (EXPERIMENTAL)",
"microphones": "Microphones",
"moderator": "Moderator",
"moderatorOptions": "Moderator options",
"more": "General",
"more": "More",
"name": "Name",
"noDevice": "None",
"notifications": "Notifications",
"participantJoined": "Participant Joined",
"participantKnocking": "Participant entered lobby",
"participantLeft": "Participant Left",
@@ -1011,14 +986,13 @@
"selectCamera": "Camera",
"selectMic": "Microphone",
"selfView": "Self view",
"shortcuts": "Shortcuts",
"sounds": "Sounds",
"speakers": "Speakers",
"startAudioMuted": "Everyone starts muted",
"startReactionsMuted": "Mute reaction sounds for everyone",
"startVideoMuted": "Everyone starts hidden",
"talkWhileMuted": "Talk while muted",
"title": "Settings",
"video": "Video"
"title": "Settings"
},
"settingsView": {
"advanced": "Advanced",
@@ -1099,29 +1073,19 @@
"cc": "Toggle subtitles",
"chat": "Open / Close chat",
"clap": "Clap",
"closeChat": "Close chat",
"closeMoreActions": "Close more actions menu",
"closeParticipantsPane": "Close participants pane",
"collapse": "Collapse",
"dock": "Dock in main window",
"document": "Toggle shared document",
"documentClose": "Close shared document",
"documentOpen": "Open shared document",
"download": "Download our apps",
"embedMeeting": "Embed meeting",
"endConference": "End meeting for all",
"enterFullScreen": "View full screen",
"enterTileView": "Enter tile view",
"exitFullScreen": "Exit full screen",
"exitTileView": "Exit tile view",
"expand": "Expand",
"feedback": "Leave feedback",
"fullScreen": "Toggle full screen",
"giphy": "Toggle GIPHY menu",
"grantModerator": "Grant Moderator Rights",
"hangup": "Leave the meeting",
"heading": "Toolbar",
"help": "Help",
"hideWhiteboard": "Hide whiteboard",
"invite": "Invite people",
"kick": "Kick participant",
"laugh": "Laugh",
@@ -1131,23 +1095,21 @@
"lobbyButton": "Enable/disable lobby mode",
"localRecording": "Toggle local recording controls",
"lockRoom": "Toggle meeting password",
"lowerHand": "Lower your hand",
"moreActions": "More actions",
"moreActionsMenu": "More actions menu",
"moreOptions": "Show more options",
"mute": "Mute",
"mute": "Mute / Unmute",
"muteEveryone": "Mute everyone",
"muteEveryoneElse": "Mute everyone else",
"muteEveryoneElsesVideoStream": "Stop everyone else's video",
"muteEveryonesVideoStream": "Stop everyone's video",
"noiseSuppression": "Noise suppression",
"openChat": "Open chat",
"participants": "Open participants pane",
"participants": "Participants",
"pip": "Toggle Picture-in-Picture mode",
"privateMessage": "Send private message",
"profile": "Edit your profile",
"raiseHand": "Raise your hand",
"reactionsMenu": "Reactions menu",
"raiseHand": "Raise / Lower your hand",
"reactionsMenu": "Open / Close reactions menu",
"recording": "Toggle recording",
"remoteMute": "Mute participant",
"remoteVideoMute": "Disable camera of participant",
@@ -1155,24 +1117,21 @@
"selectBackground": "Select Background",
"selfView": "Toggle self view",
"shareRoom": "Invite someone",
"shareYourScreen": "Start sharing your screen",
"shareYourScreen": "Start / Stop sharing your screen",
"shareaudio": "Share audio",
"sharedvideo": "Share video",
"sharedvideo": "Toggle video sharing",
"shortcuts": "Toggle shortcuts",
"show": "Show on stage",
"showWhiteboard": "Show whiteboard",
"silence": "Silence",
"speakerStats": "Toggle participants statistics",
"stopScreenSharing": "Stop sharing your screen",
"stopSharedVideo": "Stop video",
"surprised": "Surprised",
"tileView": "Toggle tile view",
"toggleCamera": "Toggle camera",
"toggleFilmstrip": "Toggle filmstrip",
"unmute": "Unmute",
"undock": "Undock into separate window",
"videoblur": "Toggle video blur",
"videomute": "Stop camera",
"videounmute": "Start camera"
"videomute": "Start / Stop camera",
"whiteboard": "Show / Hide whiteboard"
},
"addPeople": "Add people to your call",
"audioOnlyOff": "Disable low bandwidth mode",
@@ -1185,16 +1144,15 @@
"chat": "Open / Close chat",
"clap": "Clap",
"closeChat": "Close chat",
"closeParticipantsPane": "Close participants pane",
"closeReactionsMenu": "Close reactions menu",
"disableNoiseSuppression": "Disable noise suppression",
"disableReactionSounds": "You can disable reaction sounds for this meeting",
"dock": "Dock in main window",
"documentClose": "Close shared document",
"documentOpen": "Open shared document",
"download": "Download our apps",
"e2ee": "End-to-End Encryption",
"embedMeeting": "Embed meeting",
"enableNoiseSuppression": "Enable noise suppression",
"endConference": "End meeting for all",
"enterFullScreen": "View full screen",
"enterTileView": "Enter tile view",
@@ -1219,7 +1177,7 @@
"lowerYourHand": "Lower your hand",
"moreActions": "More actions",
"moreOptions": "More options",
"mute": "Mute",
"mute": "Mute / Unmute",
"muteEveryone": "Mute everyone",
"muteEveryonesVideo": "Disable everyone's camera",
"noAudioSignalDesc": "If you did not purposely mute it from system settings or hardware, consider switching the device.",
@@ -1236,7 +1194,7 @@
"pip": "Enter Picture-in-Picture mode",
"privateMessage": "Send private message",
"profile": "Edit your profile",
"raiseHand": "Raise your hand",
"raiseHand": "Raise / Lower your hand",
"raiseYourHand": "Raise your hand",
"reactionBoo": "Send boo reaction",
"reactionClap": "Send clap reaction",
@@ -1263,10 +1221,9 @@
"talkWhileMutedPopup": "Trying to speak? You are muted.",
"tileViewToggle": "Toggle tile view",
"toggleCamera": "Toggle camera",
"unmute": "Unmute",
"undock": "Undock into separate window",
"videoSettings": "Video settings",
"videomute": "Stop camera",
"videounmute": "Start camera"
"videomute": "Start / Stop camera"
},
"transcribing": {
"ccButtonTooltip": "Start / Stop subtitles",
@@ -1284,7 +1241,6 @@
"subtitlesOff": "Off",
"tr": "TR"
},
"unpinParticipant": "{{participantName}} - Unpin",
"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.",
@@ -1323,11 +1279,9 @@
"ldTooltip": "Viewing low definition video",
"lowDefinition": "Low definition",
"performanceSettings": "Performance settings",
"recording": "Recording in progress",
"sd": "SD",
"sdTooltip": "Viewing standard definition video",
"standardDefinition": "Standard definition",
"streaming": "Streaming in progress"
"standardDefinition": "Standard definition"
},
"videothumbnail": {
"connectionInfo": "Connection Info",
@@ -1339,7 +1293,6 @@
"grantModerator": "Grant Moderator Rights",
"hideSelfView": "Hide self view",
"kick": "Kick out",
"mirrorVideo": "Mirror my video",
"moderator": "Moderator",
"mute": "Participant is muted",
"muted": "Muted",
@@ -1371,13 +1324,12 @@
"none": "None",
"pleaseWait": "Please wait...",
"removeBackground": "Remove background",
"slightBlur": "Half Blur",
"slightBlur": "Slight Blur",
"title": "Virtual backgrounds",
"uploadedImage": "Uploaded image {{index}}",
"webAssemblyWarning": "WebAssembly not supported",
"webAssemblyWarningDescription": "WebAssembly disabled or not supported by this browser"
},
"visitorsLabel": "Number of visitors: {{count}}",
"volumeSlider": "Volume slider",
"welcomepage": {
"accessibilityLabel": {
@@ -1410,7 +1362,6 @@
"microsoftLogo": "Microsoft logo",
"policyLogo": "Policy logo"
},
"meetingsAccessibilityLabel": "Meetings",
"mobileDownLoadLinkAndroid": "Download mobile app for Android",
"mobileDownLoadLinkFDroid": "Download mobile app for F-Droid",
"mobileDownLoadLinkIos": "Download mobile app for iOS",
@@ -1419,7 +1370,6 @@
"recentList": "Recent",
"recentListDelete": "Delete entry",
"recentListEmpty": "Your recent list is currently empty. Chat with your team and you will find all your recent meetings here.",
"recentMeetings": "Your recent meetings",
"reducedUIText": "Welcome to {{app}}!",
"roomNameAllowedChars": "Meeting name should not contain any of these characters: ?, &, :, ', \", %, #.",
"roomname": "Enter room name",
@@ -1428,12 +1378,6 @@
"settings": "Settings",
"startMeeting": "Start meeting",
"terms": "Terms",
"title": "Secure, fully featured, and completely free video conferencing",
"upcomingMeetings": "Your upcoming meetings"
},
"whiteboard": {
"accessibilityLabel": {
"heading": "Whiteboard"
}
"title": "Secure, fully featured, and completely free video conferencing"
}
}

View File

@@ -71,13 +71,8 @@ import {
import { appendSuffix } from '../../react/features/display-name';
import { isEnabled as isDropboxEnabled } from '../../react/features/dropbox';
import { setMediaEncryptionKey, toggleE2EE } from '../../react/features/e2ee/actions';
import {
addStageParticipant,
resizeFilmStrip,
setVolume,
togglePinStageParticipant
} from '../../react/features/filmstrip/actions.web';
import { getPinnedActiveParticipants, isStageFilmstripAvailable } from '../../react/features/filmstrip/functions.web';
import { addStageParticipant, resizeFilmStrip, setVolume } from '../../react/features/filmstrip/actions.web';
import { isStageFilmstripAvailable } from '../../react/features/filmstrip/functions.web';
import { invite } from '../../react/features/invite';
import {
selectParticipantInLargeVideo
@@ -106,8 +101,6 @@ import { startAudioScreenShareFlow, startScreenShareFlow } from '../../react/fea
import { isScreenAudioSupported } from '../../react/features/screen-share/functions';
import { toggleScreenshotCaptureSummary } from '../../react/features/screenshot-capture';
import { isScreenshotCaptureEnabled } from '../../react/features/screenshot-capture/functions';
import SettingsDialog from '../../react/features/settings/components/web/SettingsDialog';
import { SETTINGS_TABS } from '../../react/features/settings/constants';
import { playSharedVideo, stopSharedVideo } from '../../react/features/shared-video/actions.any';
import { extractYoutubeIdOrURL } from '../../react/features/shared-video/functions';
import { setRequestingSubtitles, toggleRequestingSubtitles } from '../../react/features/subtitles/actions';
@@ -115,6 +108,7 @@ import { isAudioMuteButtonDisabled } from '../../react/features/toolbox/function
import { setTileView, toggleTileView } from '../../react/features/video-layout';
import { muteAllParticipants } from '../../react/features/video-menu/actions';
import { setVideoQuality } from '../../react/features/video-quality';
import VirtualBackgroundDialog from '../../react/features/virtual-background/components/VirtualBackgroundDialog';
import { getJitsiMeetTransport } from '../transport';
import { API_ID, ENDPOINT_TEXT_MESSAGE_NAME } from './constants';
@@ -247,22 +241,6 @@ function initCommands() {
logger.debug('Pin participant command received');
const state = APP.store.getState();
// if id not provided, unpin everybody.
if (!id) {
if (isStageFilmstripAvailable(state)) {
const pinnedParticipants = getPinnedActiveParticipants(state);
pinnedParticipants?.forEach(p => {
APP.store.dispatch(togglePinStageParticipant(p.participantId));
});
} else {
APP.store.dispatch(pinParticipant());
}
return;
}
const participant = videoType === VIDEO_TYPE.DESKTOP
? getVirtualScreenshareParticipantByOwnerId(state, id) : getParticipantById(state, id);
@@ -276,7 +254,7 @@ function initCommands() {
const participantId = participant.id;
if (isStageFilmstripAvailable(state)) {
if (isStageFilmstripAvailable(APP.store.getState())) {
APP.store.dispatch(addStageParticipant(participantId, true));
} else {
APP.store.dispatch(pinParticipant(participantId));
@@ -666,15 +644,15 @@ function initCommands() {
}
let recordingConfig;
const { recordingService } = state['features/base/config'];
if (!recordingService.enabled && !dropboxToken) {
logger.error('Failed starting recording: the recording service is not enabled');
return;
}
if (mode === JitsiRecordingConstants.mode.FILE) {
const { recordingService } = state['features/base/config'];
if (!recordingService.enabled && !dropboxToken) {
logger.error('Failed starting recording: the recording service is not enabled');
return;
}
if (dropboxToken) {
recordingConfig = {
mode: JitsiRecordingConstants.mode.FILE,
@@ -799,8 +777,7 @@ function initCommands() {
APP.store.dispatch(overwriteConfig(whitelistedConfig));
},
'toggle-virtual-background': () => {
APP.store.dispatch(toggleDialog(SettingsDialog, {
defaultTab: SETTINGS_TABS.VIRTUAL_BACKGROUND }));
APP.store.dispatch(toggleDialog(VirtualBackgroundDialog));
},
'end-conference': () => {
APP.store.dispatch(endConference());
@@ -1231,22 +1208,6 @@ class API {
});
}
/**
* Notify the external app that a notification has been triggered.
*
* @param {string} title - The notification title.
* @param {string} description - The notification description.
*
* @returns {void}
*/
notifyNotificationTriggered(title: string, description: string) {
this._sendEvent({
description,
name: 'notification-triggered',
title
});
}
/**
* Notify external application that the video quality setting has changed.
*
@@ -1710,6 +1671,22 @@ class API {
});
}
/**
* Notify external application (if API is enabled) that the iframe
* docked state has been changed. The responsibility for implementing
* the dock / undock functionality lies with the external application.
*
* @param {boolean} docked - Whether or not the iframe has been set to
* be docked or undocked.
* @returns {void}
*/
notifyIframeDockStateChanged(docked: boolean) {
this._sendEvent({
name: 'iframe-dock-state-changed',
docked
});
}
/**
* Notify external application of a participant, remote or local, being
* removed from the conference by another participant.
@@ -1980,21 +1957,6 @@ class API {
});
}
/**
* Notify external application ( if API is enabled) that a participant menu button was clicked.
*
* @param {string} key - The key of the participant menu button.
* @param {string} participantId - The ID of the participant for with the participant menu button was clicked.
* @returns {void}
*/
notifyParticipantMenuButtonClicked(key, participantId) {
this._sendEvent({
name: 'participant-menu-button-clicked',
key,
participantId
});
}
/**
* Disposes the allocated resources.
*

View File

@@ -117,6 +117,7 @@ const events = {
'feedback-submitted': 'feedbackSubmitted',
'feedback-prompt-displayed': 'feedbackPromptDisplayed',
'filmstrip-display-changed': 'filmstripDisplayChanged',
'iframe-dock-state-changed': 'iframeDockStateChanged',
'incoming-message': 'incomingMessage',
'knocking-participant': 'knockingParticipant',
'log': 'log',
@@ -127,7 +128,6 @@ const events = {
'mouse-enter': 'mouseEnter',
'mouse-leave': 'mouseLeave',
'mouse-move': 'mouseMove',
'notification-triggered': 'notificationTriggered',
'outgoing-message': 'outgoingMessage',
'participant-joined': 'participantJoined',
'participant-kicked-out': 'participantKickedOut',
@@ -141,7 +141,6 @@ const events = {
'raise-hand-updated': 'raiseHandUpdated',
'recording-link-available': 'recordingLinkAvailable',
'recording-status-changed': 'recordingStatusChanged',
'participant-menu-button-clicked': 'participantMenuButtonClick',
'video-ready-to-close': 'readyToClose',
'video-conference-joined': 'videoConferenceJoined',
'video-conference-left': 'videoConferenceLeft',
@@ -390,17 +389,10 @@ export default class JitsiMeetExternalAPI extends EventEmitter {
this._frame = document.createElement('iframe');
this._frame.allow = 'camera; microphone; display-capture; autoplay; clipboard-write';
this._frame.src = this._url;
this._frame.name = frameName;
this._frame.id = frameName;
this._setSize(height, width);
this._frame.sandbox = [
'allow-scripts',
'allow-same-origin',
'allow-popups',
'allow-forms',
'allow-downloads',
'allow-top-navigation-by-user-activation'
].join(' ');
this._frame.setAttribute('allowFullScreen', 'true');
this._frame.style.border = 0;
@@ -411,8 +403,6 @@ export default class JitsiMeetExternalAPI extends EventEmitter {
}
this._frame = this._parentNode.appendChild(this._frame);
this._frame.src = this._url;
}
/**

View File

@@ -292,6 +292,17 @@ UI.showToolbar = timeout => APP.store.dispatch(showToolbox(timeout));
// Used by torture.
UI.dockToolbar = dock => APP.store.dispatch(dockToolbox(dock));
/**
* Updates the displayed avatar for participant.
*
* @param {string} id - User id whose avatar should be updated.
* @param {string} avatarURL - The URL to avatar image to display.
* @returns {void}
*/
UI.refreshAvatarDisplay = function(id) {
VideoLayout.changeUserAvatar(id);
};
/**
* Notify user that connection failed.
* @param {string} stropheErrorMsg raw Strophe error message

View File

@@ -8,6 +8,39 @@ import Filmstrip from '../videolayout/Filmstrip';
import LargeContainer from '../videolayout/LargeContainer';
import VideoLayout from '../videolayout/VideoLayout';
/**
*
*/
function bubbleIframeMouseMove(iframe) {
const existingOnMouseMove = iframe.contentWindow.onmousemove;
iframe.contentWindow.onmousemove = function(e) {
if (existingOnMouseMove) {
existingOnMouseMove(e);
}
const evt = document.createEvent('MouseEvents');
const boundingClientRect = iframe.getBoundingClientRect();
evt.initMouseEvent(
'mousemove',
true, // bubbles
false, // not cancelable
window,
e.detail,
e.screenX,
e.screenY,
e.clientX + boundingClientRect.left,
e.clientY + boundingClientRect.top,
e.ctrlKey,
e.altKey,
e.shiftKey,
e.metaKey,
e.button,
null // no related element
);
iframe.dispatchEvent(evt);
};
}
/**
* Default Etherpad frame width.
@@ -35,7 +68,7 @@ class Etherpad extends LargeContainer {
iframe.id = 'etherpadIFrame';
iframe.src = url;
iframe.style.border = 0;
iframe.frameBorder = 0;
iframe.scrolling = 'no';
iframe.width = DEFAULT_WIDTH;
iframe.height = DEFAULT_HEIGHT;
@@ -43,6 +76,26 @@ class Etherpad extends LargeContainer {
this.container.appendChild(iframe);
iframe.onload = function() {
// eslint-disable-next-line no-self-assign
document.domain = document.domain;
bubbleIframeMouseMove(iframe);
setTimeout(() => {
const doc = iframe.contentDocument;
// the iframes inside of the etherpad are
// not yet loaded when the etherpad iframe is loaded
const outer = doc.getElementsByName('ace_outer')[0];
bubbleIframeMouseMove(outer);
const inner = doc.getElementsByName('ace_inner')[0];
bubbleIframeMouseMove(inner);
}, 2000);
};
this.iframe = iframe;
}

View File

@@ -14,17 +14,16 @@ import { i18next } from '../../../react/features/base/i18n';
import { JitsiTrackEvents } from '../../../react/features/base/lib-jitsi-meet';
import { VIDEO_TYPE } from '../../../react/features/base/media';
import {
getLocalParticipant,
getParticipantById,
getParticipantDisplayName,
isLocalScreenshareParticipant,
isScreenShareParticipant
} from '../../../react/features/base/participants';
import { getHideSelfView } from '../../../react/features/base/settings/functions.any';
import {
getVideoTrackByParticipant,
trackStreamingStatusChanged
} from '../../../react/features/base/tracks';
import { createDeferred } from '../../../react/features/base/util/helpers';
import { CHAT_SIZE } from '../../../react/features/chat';
import {
isTrackStreamingStatusActive,
@@ -40,7 +39,6 @@ import { getParticipantsPaneOpen } from '../../../react/features/participants-pa
import { PresenceLabel } from '../../../react/features/presence-status';
import { shouldDisplayTileView } from '../../../react/features/video-layout';
/* eslint-enable no-unused-vars */
import { createDeferred } from '../../util/helpers';
import AudioLevels from '../audio_levels/AudioLevels';
import { VIDEO_CONTAINER_TYPE, VideoContainer } from './VideoContainer';
@@ -234,10 +232,6 @@ export default class LargeVideoManager {
preUpdate.then(() => {
const { id, stream, videoType, resolve } = this.newStreamData;
const state = APP.store.getState();
const shouldHideSelfView = getHideSelfView(state);
const localId = getLocalParticipant(state)?.id;
// FIXME this does not really make sense, because the videoType
// (camera or desktop) is a completely different thing than
@@ -251,16 +245,13 @@ export default class LargeVideoManager {
// eslint-disable-next-line no-shadow
const container = this.getCurrentContainer();
if (shouldHideSelfView && localId === id) {
return container.hide();
}
container.setStream(id, stream, videoType);
// change the avatar url on large
this.updateAvatar();
const isVideoMuted = !stream || stream.isMuted();
const state = APP.store.getState();
const participant = getParticipantById(state, id);
const videoTrack = getVideoTrackByParticipant(state, participant);

View File

@@ -6,8 +6,9 @@ import React from 'react';
import ReactDOM from 'react-dom';
import { browser } from '../../../react/features/base/lib-jitsi-meet';
import { isTestModeEnabled } from '../../../react/features/base/testing';
import { FILMSTRIP_BREAKPOINT } from '../../../react/features/filmstrip';
import { LargeVideoBackground, ORIENTATION } from '../../../react/features/large-video';
import { LargeVideoBackground, ORIENTATION, updateLastLargeVideoMediaEvent } from '../../../react/features/large-video';
import { setLargeVideoDimensions } from '../../../react/features/large-video/actions.any';
import { LAYOUTS, getCurrentLayout } from '../../../react/features/video-layout';
/* eslint-enable no-unused-vars */
@@ -21,6 +22,15 @@ export const VIDEO_CONTAINER_TYPE = 'camera';
const FADE_DURATION_MS = 300;
/**
* List of container events that we are going to process, will be added as listener to the
* container for every event in the list. The latest event will be stored in redux.
*/
const containerEvents = [
'abort', 'canplay', 'canplaythrough', 'emptied', 'ended', 'error', 'loadeddata', 'loadedmetadata', 'loadstart',
'pause', 'play', 'playing', 'ratechange', 'stalled', 'suspend', 'waiting'
];
/**
* Returns an array of the video dimensions, so that it keeps it's aspect
* ratio and fits available area with it's larger dimension. This method
@@ -256,6 +266,14 @@ export class VideoContainer extends LargeContainer {
this._resizeListeners = new Set();
this.$video[0].onresize = this._onResize.bind(this);
if (isTestModeEnabled(APP.store.getState())) {
const cb = name => APP.store.dispatch(updateLastLargeVideoMediaEvent(name));
containerEvents.forEach(event => {
this.$video[0].addEventListener(event, cb.bind(this, event));
});
}
}
/**

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