mirror of
https://gitcode.com/GitHub_Trending/ji/jitsi-meet.git
synced 2026-01-03 13:22:28 +00:00
Compare commits
695 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
3d30489cc4 | ||
|
|
7288a6dce4 | ||
|
|
697c41bffa | ||
|
|
0361830122 | ||
|
|
6bb984acc8 | ||
|
|
938d112f6b | ||
|
|
d8cca36181 | ||
|
|
c9add0a9ef | ||
|
|
aabc50da60 | ||
|
|
4aa4382d2b | ||
|
|
6bf1b46609 | ||
|
|
9d7237dc24 | ||
|
|
3745c19857 | ||
|
|
cd6419d826 | ||
|
|
a05e8fd2ef | ||
|
|
239e5743dd | ||
|
|
01a731ab4d | ||
|
|
3d56538c69 | ||
|
|
2dc135b80f | ||
|
|
4e81d4461b | ||
|
|
68b16d7bc8 | ||
|
|
45f6550d30 | ||
|
|
5c65446ef4 | ||
|
|
eee58b2945 | ||
|
|
c7cfb5218d | ||
|
|
b9017176a8 | ||
|
|
cad37306d4 | ||
|
|
83192435e7 | ||
|
|
f85d0e6469 | ||
|
|
3834f1e99c | ||
|
|
79ece5d4e5 | ||
|
|
b0ffc2cd69 | ||
|
|
5a45ebb877 | ||
|
|
dcea5332be | ||
|
|
4e72601bee | ||
|
|
ccd9386184 | ||
|
|
05a930e5f5 | ||
|
|
9bc0e7589c | ||
|
|
c0541c8737 | ||
|
|
c11147b583 | ||
|
|
ef992eaef3 | ||
|
|
0149b5f6e6 | ||
|
|
4d7c051dd0 | ||
|
|
f3324ab165 | ||
|
|
4d483f7846 | ||
|
|
478852c474 | ||
|
|
deb574a154 | ||
|
|
c2f4dd9dea | ||
|
|
67c3a50412 | ||
|
|
b303693198 | ||
|
|
a4a1619dc2 | ||
|
|
c95d1d7f7e | ||
|
|
97310b5ab5 | ||
|
|
e151be48b9 | ||
|
|
91e1007e5b | ||
|
|
8db769b174 | ||
|
|
260e5d11b9 | ||
|
|
b2fbf6d2a3 | ||
|
|
4df9087459 | ||
|
|
e0bf82aad8 | ||
|
|
91c48dfe03 | ||
|
|
a86542d650 | ||
|
|
9e9eac3e38 | ||
|
|
73cba3561e | ||
|
|
63e69c224d | ||
|
|
50e9413aad | ||
|
|
037a7c082c | ||
|
|
6af4d182d0 | ||
|
|
d438292d2c | ||
|
|
d45c108051 | ||
|
|
5cd7b9be38 | ||
|
|
aa1c3c0ad8 | ||
|
|
07810f8c2d | ||
|
|
96d41196e6 | ||
|
|
293a41d4aa | ||
|
|
def9555268 | ||
|
|
71de1d1e2d | ||
|
|
49cf63213d | ||
|
|
86d1bd3c78 | ||
|
|
122f5dffe8 | ||
|
|
da35c96afd | ||
|
|
e52c6e6b35 | ||
|
|
1e43bbbd95 | ||
|
|
2d77bf1da9 | ||
|
|
dc25a8dde4 | ||
|
|
ab51512088 | ||
|
|
956ca27b01 | ||
|
|
d7e2be200a | ||
|
|
459b5372d1 | ||
|
|
1a3dd699b7 | ||
|
|
04bee97682 | ||
|
|
aa506a7607 | ||
|
|
afac97e7d4 | ||
|
|
61a0247f30 | ||
|
|
7b4965f6b2 | ||
|
|
d78b980b35 | ||
|
|
103d1d9f35 | ||
|
|
6d3330a208 | ||
|
|
771f5af59d | ||
|
|
2c96880985 | ||
|
|
3fb968b3cb | ||
|
|
b2059060fc | ||
|
|
6ad2735efb | ||
|
|
e2a933ad92 | ||
|
|
12b682992b | ||
|
|
4f78dee708 | ||
|
|
7ff78313ff | ||
|
|
ac182c18f9 | ||
|
|
b562176062 | ||
|
|
437ed46349 | ||
|
|
f0e01da39a | ||
|
|
755ab2a108 | ||
|
|
c11f5d36ea | ||
|
|
ecf72273af | ||
|
|
960a08c066 | ||
|
|
390431f4d0 | ||
|
|
0636527146 | ||
|
|
66ba41992d | ||
|
|
036d783776 | ||
|
|
1f37e0ba8d | ||
|
|
2d15cc025e | ||
|
|
4b93cbbd8d | ||
|
|
939a9a45d3 | ||
|
|
dd859d2a26 | ||
|
|
39540531ff | ||
|
|
3d85202987 | ||
|
|
9fd6a6c822 | ||
|
|
ae00247632 | ||
|
|
2b719743d3 | ||
|
|
2b8cc89df0 | ||
|
|
b7eae6c0ca | ||
|
|
24ae69348b | ||
|
|
22f315ddfa | ||
|
|
a50d6dc0f4 | ||
|
|
15ba1bb280 | ||
|
|
3438e5d56a | ||
|
|
176e409af5 | ||
|
|
d09243c2c5 | ||
|
|
b0a050b66a | ||
|
|
26e283393f | ||
|
|
d9a0423687 | ||
|
|
39c9c24810 | ||
|
|
d6a42fbe43 | ||
|
|
808bc24d95 | ||
|
|
e04db24d15 | ||
|
|
c24c25849d | ||
|
|
d5269e881a | ||
|
|
5da69192e3 | ||
|
|
2413b8977e | ||
|
|
50b90933dc | ||
|
|
09d57972af | ||
|
|
8f1c63579c | ||
|
|
62856b0f58 | ||
|
|
a3617b042e | ||
|
|
6e13269ddb | ||
|
|
97930bfef2 | ||
|
|
7bb2f1eaad | ||
|
|
acc46c0c5f | ||
|
|
1152073b57 | ||
|
|
e328b15fcd | ||
|
|
bc21a462eb | ||
|
|
8d82c20319 | ||
|
|
574c61d3e5 | ||
|
|
9f73eb76a3 | ||
|
|
b620328861 | ||
|
|
085e6dd3b9 | ||
|
|
936fa55ce9 | ||
|
|
ede26956e8 | ||
|
|
b3742a3438 | ||
|
|
262cb0422c | ||
|
|
756c4afbdd | ||
|
|
4c9234ffec | ||
|
|
5ea2093a40 | ||
|
|
ab57a2999b | ||
|
|
7718c39319 | ||
|
|
01ef23402e | ||
|
|
15ddf04189 | ||
|
|
ac720034ab | ||
|
|
b989307c1e | ||
|
|
0fa02ff6ba | ||
|
|
d2afd5e54d | ||
|
|
7169143942 | ||
|
|
98020163ce | ||
|
|
6aa42f9850 | ||
|
|
d2ff136c15 | ||
|
|
79322f6a1f | ||
|
|
d755b9decb | ||
|
|
ad6e675b18 | ||
|
|
aa122c9652 | ||
|
|
b747fd3483 | ||
|
|
2d56dbe249 | ||
|
|
2364344046 | ||
|
|
32f9f8ba92 | ||
|
|
697ede207b | ||
|
|
c62f2f2790 | ||
|
|
1429e83a21 | ||
|
|
3f7c3b8fd2 | ||
|
|
5b4383d835 | ||
|
|
49fa243ef3 | ||
|
|
e9ca4b009a | ||
|
|
e6ccc35653 | ||
|
|
f59d04586c | ||
|
|
ec22c1fdda | ||
|
|
3441954f8b | ||
|
|
b0a87041da | ||
|
|
42586be533 | ||
|
|
65e94bd173 | ||
|
|
73c836fafb | ||
|
|
d6fa066e4d | ||
|
|
22bbf4939e | ||
|
|
ca195fd708 | ||
|
|
c3c0166731 | ||
|
|
fc94854b72 | ||
|
|
c55eb68cf2 | ||
|
|
80e08a112a | ||
|
|
896fc29af7 | ||
|
|
c88ffab370 | ||
|
|
445515da93 | ||
|
|
f5dbd6780b | ||
|
|
ba06121464 | ||
|
|
7115919206 | ||
|
|
1d95c30893 | ||
|
|
a5cd5e2733 | ||
|
|
8732675162 | ||
|
|
a074437d99 | ||
|
|
d2eb11fa5c | ||
|
|
b35200648c | ||
|
|
a8958019a5 | ||
|
|
200228339b | ||
|
|
ddc64ad687 | ||
|
|
2d2bae6ec1 | ||
|
|
fa6dc292c1 | ||
|
|
b5ac40b32a | ||
|
|
8299aa498b | ||
|
|
ce22adfe64 | ||
|
|
01bcccdd99 | ||
|
|
673a54adb1 | ||
|
|
f48c03e314 | ||
|
|
7641ddad68 | ||
|
|
26021b2dd0 | ||
|
|
a6457db819 | ||
|
|
8bfa65987d | ||
|
|
b1c0cc5322 | ||
|
|
67cbef0d7a | ||
|
|
b2e06c1c94 | ||
|
|
70a05e487e | ||
|
|
c2a446a79b | ||
|
|
56df23af35 | ||
|
|
1c12f5cf2a | ||
|
|
06b727ae1a | ||
|
|
a2aca30d57 | ||
|
|
68106feb57 | ||
|
|
3066fc1d31 | ||
|
|
4834fb7b6f | ||
|
|
1e101afe5a | ||
|
|
4d79bbb5d8 | ||
|
|
e31aff5afd | ||
|
|
7bc9913b29 | ||
|
|
2483d901d6 | ||
|
|
6ff7995cee | ||
|
|
5d563402d0 | ||
|
|
6727004930 | ||
|
|
c04000ea20 | ||
|
|
23be14697c | ||
|
|
ca07eed85f | ||
|
|
72779e5ba5 | ||
|
|
1b3b949218 | ||
|
|
d510390edc | ||
|
|
1de1381847 | ||
|
|
639114f2e1 | ||
|
|
411e9a2372 | ||
|
|
b4e4dd1aa9 | ||
|
|
81ba2331b0 | ||
|
|
50d84bfd2c | ||
|
|
60b4581cb5 | ||
|
|
2514617417 | ||
|
|
b242900619 | ||
|
|
3a40b52832 | ||
|
|
4a25b9722c | ||
|
|
dbbc7b2e89 | ||
|
|
a3c3b38993 | ||
|
|
94b6808ec6 | ||
|
|
1376f5909c | ||
|
|
74b02af318 | ||
|
|
de1e470c68 | ||
|
|
4ee613ed1f | ||
|
|
fb6a44a39b | ||
|
|
bde28105f4 | ||
|
|
782d46b4a6 | ||
|
|
160d6a4c52 | ||
|
|
767101497c | ||
|
|
889b37cedc | ||
|
|
4e727e9093 | ||
|
|
7fbf47c6f3 | ||
|
|
2d61c68615 | ||
|
|
d2ad3473a1 | ||
|
|
67f49815c4 | ||
|
|
2697eb1273 | ||
|
|
491f793530 | ||
|
|
eb0317fb8d | ||
|
|
59da1537be | ||
|
|
9e1e6237ce | ||
|
|
5c0b8467d5 | ||
|
|
b4a5e63d1d | ||
|
|
3ae50b6c4c | ||
|
|
bc9525a908 | ||
|
|
c6dcac47a8 | ||
|
|
f9f5cf87b9 | ||
|
|
b969fba433 | ||
|
|
f0fc63f573 | ||
|
|
d618175074 | ||
|
|
9ebe2c4395 | ||
|
|
e5189a5c1c | ||
|
|
f96592b4dc | ||
|
|
a11a281bf7 | ||
|
|
8ddab7464c | ||
|
|
9076fb3e4a | ||
|
|
d8079a4232 | ||
|
|
c992a8274c | ||
|
|
b5e059a0a9 | ||
|
|
0be3e2b103 | ||
|
|
ae138c1a15 | ||
|
|
0f8de50d26 | ||
|
|
ff7b6010bd | ||
|
|
270cdd017d | ||
|
|
f4cae6350b | ||
|
|
f0126a43f3 | ||
|
|
b5deb65815 | ||
|
|
6d9bbe0376 | ||
|
|
da634c211e | ||
|
|
61d96a5fd5 | ||
|
|
07e46b9399 | ||
|
|
3139111d36 | ||
|
|
205f88ec5a | ||
|
|
c8d6cdf6c8 | ||
|
|
7022243a95 | ||
|
|
b2ae72249d | ||
|
|
8ee6d179d5 | ||
|
|
bebcfa3fd7 | ||
|
|
d0130f9975 | ||
|
|
efd2db70ca | ||
|
|
befffa7e85 | ||
|
|
0368b4d671 | ||
|
|
acccd760d1 | ||
|
|
7696dbc347 | ||
|
|
e25ceebeec | ||
|
|
c7ee6280d2 | ||
|
|
796a2217aa | ||
|
|
e9bf1ada51 | ||
|
|
667b9fba67 | ||
|
|
bbf55e8476 | ||
|
|
11b48a9690 | ||
|
|
3b4554f4cf | ||
|
|
d5dd5e4560 | ||
|
|
46ea1f577c | ||
|
|
be06547cc4 | ||
|
|
bd631f5968 | ||
|
|
bc69a35cd6 | ||
|
|
75e7f64311 | ||
|
|
cdcb4cdbfb | ||
|
|
c31ef2ebc7 | ||
|
|
d49a419284 | ||
|
|
0913554af9 | ||
|
|
9af0003c63 | ||
|
|
3ecc16dc87 | ||
|
|
ef387c939a | ||
|
|
76e3608baf | ||
|
|
68384121cd | ||
|
|
2ed0418bd9 | ||
|
|
5eb4064390 | ||
|
|
3f943feb4a | ||
|
|
861b32367e | ||
|
|
cfca0aea4a | ||
|
|
43ae5915a6 | ||
|
|
7c22bcf827 | ||
|
|
1bb9b261dc | ||
|
|
a95adcdf41 | ||
|
|
6758d13335 | ||
|
|
10ab4df287 | ||
|
|
f3e4a7a9c8 | ||
|
|
854503aec2 | ||
|
|
353c3cdd34 | ||
|
|
8f7ab33508 | ||
|
|
383b534753 | ||
|
|
6691f56d0e | ||
|
|
50d4b6250c | ||
|
|
daa840564c | ||
|
|
2cdf77272c | ||
|
|
53299a19c2 | ||
|
|
e90b270b32 | ||
|
|
24ce8c5831 | ||
|
|
57bd074d00 | ||
|
|
843cdf05f5 | ||
|
|
ede8f7ece9 | ||
|
|
e5b736243d | ||
|
|
1d8a9c11c8 | ||
|
|
72d05bb969 | ||
|
|
2a5fc8cc4a | ||
|
|
aa9bd8c814 | ||
|
|
f279e634e4 | ||
|
|
3f7c8c204b | ||
|
|
375314cbbd | ||
|
|
62d0d25395 | ||
|
|
3047af4df6 | ||
|
|
6682b52a19 | ||
|
|
fee4151f83 | ||
|
|
25f2eb012e | ||
|
|
6976b45789 | ||
|
|
c69962675b | ||
|
|
2bb1d6dee3 | ||
|
|
43c1032b46 | ||
|
|
980153e299 | ||
|
|
d2b4043c7f | ||
|
|
ce727d87a8 | ||
|
|
b540452583 | ||
|
|
f995eb2698 | ||
|
|
393c78aad3 | ||
|
|
6452c998a2 | ||
|
|
038292305e | ||
|
|
aa04692e9b | ||
|
|
219e6ce1ca | ||
|
|
6b2d586aee | ||
|
|
28a9850111 | ||
|
|
d9ef9dc6a0 | ||
|
|
88b6cdf39b | ||
|
|
e3ab6c9f33 | ||
|
|
9bb27b83d9 | ||
|
|
d8b0710a19 | ||
|
|
b02b7ac769 | ||
|
|
b90e187a73 | ||
|
|
582bbf890b | ||
|
|
ce840cc7b6 | ||
|
|
cc03949b90 | ||
|
|
158e1a56e5 | ||
|
|
16597a2535 | ||
|
|
2f3cf9f530 | ||
|
|
347cc32ecc | ||
|
|
c0602abbca | ||
|
|
55e9136b91 | ||
|
|
da01ca23db | ||
|
|
b470c201b2 | ||
|
|
e3ee99754c | ||
|
|
b3e1865fd8 | ||
|
|
a4e3716632 | ||
|
|
5ed4b470e7 | ||
|
|
68f030bb7f | ||
|
|
1c25a370be | ||
|
|
36671d7c4f | ||
|
|
b54cec8d77 | ||
|
|
097d51ce10 | ||
|
|
9b16296581 | ||
|
|
a76f9d548b | ||
|
|
9fc89ba04e | ||
|
|
37024b4f1f | ||
|
|
b3312b5650 | ||
|
|
721bb4e4ba | ||
|
|
263bb7bcd0 | ||
|
|
03b3cd4778 | ||
|
|
7a1ad18bc5 | ||
|
|
38be09fc54 | ||
|
|
4e50546773 | ||
|
|
79891419af | ||
|
|
5282274856 | ||
|
|
11c445f993 | ||
|
|
3b546ea387 | ||
|
|
82fa1eb870 | ||
|
|
d1590db82b | ||
|
|
5247fbdc0f | ||
|
|
47598222ce | ||
|
|
79d216d91a | ||
|
|
ec423012b9 | ||
|
|
ffa704e7df | ||
|
|
2c6f4e27fc | ||
|
|
56eecaba2a | ||
|
|
bb49c92cc4 | ||
|
|
9b798b4514 | ||
|
|
9727951a77 | ||
|
|
643fc7e2a2 | ||
|
|
33db2bed34 | ||
|
|
fad58ae362 | ||
|
|
2f6d9d4b52 | ||
|
|
c7d5de2c77 | ||
|
|
f525fb1999 | ||
|
|
ffbaee065d | ||
|
|
c0f9024874 | ||
|
|
f5ab10cfba | ||
|
|
6db0f89707 | ||
|
|
6649c15232 | ||
|
|
5d84a4cc90 | ||
|
|
b79907f7a5 | ||
|
|
ffc6ae333f | ||
|
|
371b9a3e95 | ||
|
|
7fb66c906a | ||
|
|
b43379a0bc | ||
|
|
07a15f0121 | ||
|
|
c7e80b6780 | ||
|
|
ec5f2ca1c1 | ||
|
|
fdba9969b4 | ||
|
|
2734da0c66 | ||
|
|
cff14048cd | ||
|
|
a775dd178a | ||
|
|
d0f3104ed8 | ||
|
|
bb17337440 | ||
|
|
26e09acb8a | ||
|
|
d358dd8ec6 | ||
|
|
3d158fb2b4 | ||
|
|
b7785a9f91 | ||
|
|
86d869a107 | ||
|
|
1c81b93c1d | ||
|
|
052070a6c1 | ||
|
|
c531c0e65c | ||
|
|
e1055ebf9b | ||
|
|
467023f77a | ||
|
|
1249aa2dcb | ||
|
|
0c45d87d1a | ||
|
|
7140a90201 | ||
|
|
0a846606fc | ||
|
|
68dc111e3c | ||
|
|
c81184df69 | ||
|
|
9b0747a0d9 | ||
|
|
c8cd80a8df | ||
|
|
f1d4332668 | ||
|
|
55b3256dc4 | ||
|
|
aa8bb55f3e | ||
|
|
58b73e21de | ||
|
|
b1c955890a | ||
|
|
6ab945c2cb | ||
|
|
7291e1ef00 | ||
|
|
43e075d48e | ||
|
|
885e1afdaa | ||
|
|
e2ec4842a1 | ||
|
|
ea075d9bae | ||
|
|
68f7448624 | ||
|
|
954ef6df4f | ||
|
|
6a3c12b316 | ||
|
|
5be616a224 | ||
|
|
58d8f3be12 | ||
|
|
8ae6ba76cc | ||
|
|
a06c2e056c | ||
|
|
fa0b06b859 | ||
|
|
4c3512b375 | ||
|
|
92e3a1ff99 | ||
|
|
701e3d2b43 | ||
|
|
2626a894e2 | ||
|
|
a6f6b3a2d2 | ||
|
|
05aa48774a | ||
|
|
e82fc480f0 | ||
|
|
9f8662c0a1 | ||
|
|
5b860c20b1 | ||
|
|
a4c52b02e7 | ||
|
|
73952ee1f7 | ||
|
|
0a9f6c2e4d | ||
|
|
94f9ccfe1c | ||
|
|
ff9f767cfd | ||
|
|
5a5ec9e4d9 | ||
|
|
aff671b44a | ||
|
|
495b925fa0 | ||
|
|
2f6b11a6ac | ||
|
|
2b7052995b | ||
|
|
5c69baefbf | ||
|
|
8b25265f9e | ||
|
|
f43020f650 | ||
|
|
ba95ea3ac8 | ||
|
|
7dcd9c21bc | ||
|
|
990d21038e | ||
|
|
a4d53f271f | ||
|
|
2a1f472873 | ||
|
|
8679119677 | ||
|
|
b02c072ba7 | ||
|
|
e8317fccfe | ||
|
|
bbc9c64978 | ||
|
|
8d2b8bc772 | ||
|
|
52c2911350 | ||
|
|
a1ebcd559b | ||
|
|
5bc47ec16a | ||
|
|
e1ac7d1609 | ||
|
|
8a596f1ba2 | ||
|
|
38e7c65836 | ||
|
|
9602a939d8 | ||
|
|
07b01b1371 | ||
|
|
a1549086aa | ||
|
|
7e0b00ba5f | ||
|
|
3016853d81 | ||
|
|
ead27ace30 | ||
|
|
067bb653e6 | ||
|
|
ba20fc71a8 | ||
|
|
a7b2726ebe | ||
|
|
a98eef7eb3 | ||
|
|
895afbab65 | ||
|
|
1d6529af65 | ||
|
|
4d5fb719d2 | ||
|
|
4061a77af8 | ||
|
|
7f889b2028 | ||
|
|
6f49041d80 | ||
|
|
e73c3b6697 | ||
|
|
5a6b1d0b47 | ||
|
|
da9cded75b | ||
|
|
9b61ad3616 | ||
|
|
583725bf31 | ||
|
|
9e2244210d | ||
|
|
361b82a1ed | ||
|
|
0ed25cda7e | ||
|
|
73ee1205eb | ||
|
|
21f2c60638 | ||
|
|
fd062c40fb | ||
|
|
b87e6abc11 | ||
|
|
9f25726706 | ||
|
|
d5ee7f3069 | ||
|
|
ba1102100a | ||
|
|
e1ce83d0c3 | ||
|
|
78cf510c0b | ||
|
|
3f657c3ded | ||
|
|
2035cd7e62 | ||
|
|
6207e95cad | ||
|
|
40b63a187a | ||
|
|
6c40250e18 | ||
|
|
0268374b88 | ||
|
|
b1b60ec143 | ||
|
|
82c58178b3 | ||
|
|
46d15a9c5c | ||
|
|
248908f476 | ||
|
|
4a5ba0f05d | ||
|
|
b23f3b9e17 | ||
|
|
b6b77f55f1 | ||
|
|
b106c20fa2 | ||
|
|
fab61d8c32 | ||
|
|
9ac614cc4b | ||
|
|
a3bb1a3459 | ||
|
|
34abd279be | ||
|
|
ad6554a789 | ||
|
|
2be8377009 | ||
|
|
0a0b0a760e | ||
|
|
fec6de4536 | ||
|
|
29b2a519b3 | ||
|
|
831d39d447 | ||
|
|
35bc430549 | ||
|
|
77927f3f2e | ||
|
|
7f6d55f5f0 | ||
|
|
32f4767edd | ||
|
|
ba88fc0279 | ||
|
|
ba7ed83d48 | ||
|
|
5a96050973 | ||
|
|
7e8c1fd99a | ||
|
|
6e6433e2d9 | ||
|
|
4ff2422e3c | ||
|
|
cfbcfdc857 | ||
|
|
3074b1741f | ||
|
|
00503d163a | ||
|
|
f847a3e2e0 | ||
|
|
93d0ee710b | ||
|
|
0102efd2d0 | ||
|
|
8afdebca08 | ||
|
|
d2bfb464ba | ||
|
|
5f3233b9a6 | ||
|
|
3c32d9c552 | ||
|
|
f51d8d54e4 | ||
|
|
ac26dce0a5 | ||
|
|
7a23625752 | ||
|
|
4cb4a4db00 | ||
|
|
05e484c4aa | ||
|
|
5871e50a20 | ||
|
|
95ad04b19c | ||
|
|
36fab239cc | ||
|
|
92492dc482 | ||
|
|
51c3658205 | ||
|
|
418d333caf | ||
|
|
7f3f2f7034 | ||
|
|
bd3012f110 | ||
|
|
f8cef330f7 | ||
|
|
e00b6be06c | ||
|
|
9b7da0be2d | ||
|
|
3effbca700 | ||
|
|
cf1f97f486 | ||
|
|
9273022e8f | ||
|
|
5d35398b6b | ||
|
|
60d4b626a5 | ||
|
|
b8da93f64f | ||
|
|
c411d3352f | ||
|
|
33e38f95b1 | ||
|
|
9ae5677c00 | ||
|
|
06f434e924 | ||
|
|
caa1ef952b | ||
|
|
4f371dfacc | ||
|
|
b6447770c7 | ||
|
|
7aad0fd853 | ||
|
|
bae2a977d1 | ||
|
|
ed3f57385a | ||
|
|
c806a432f3 | ||
|
|
5966df96e8 | ||
|
|
6cd876078e | ||
|
|
b56073ea68 | ||
|
|
ee98841078 | ||
|
|
3816b9d20a | ||
|
|
e6096f5a6c | ||
|
|
68de287171 |
@@ -1,6 +0,0 @@
|
||||
|
||||
[android]
|
||||
target = Google Inc.:Google APIs:23
|
||||
|
||||
[maven_repositories]
|
||||
central = https://repo1.maven.org/maven2
|
||||
@@ -3,7 +3,7 @@
|
||||
"image": "mcr.microsoft.com/devcontainers/universal:2",
|
||||
"features": {
|
||||
"ghcr.io/devcontainers/features/node:1": {
|
||||
"version": "16"
|
||||
"version": "20"
|
||||
}
|
||||
},
|
||||
"hostRequirements": {
|
||||
|
||||
@@ -6,7 +6,7 @@ charset = utf-8
|
||||
end_of_line = lf
|
||||
indent_size = 4
|
||||
indent_style = space
|
||||
max_line_length = 80
|
||||
max_line_length = 120
|
||||
trim_trailing_whitespace = true
|
||||
|
||||
[*.md]
|
||||
|
||||
48
.github/ISSUE_TEMPLATE/1-bug-report.md
vendored
48
.github/ISSUE_TEMPLATE/1-bug-report.md
vendored
@@ -1,48 +0,0 @@
|
||||
---
|
||||
name: Bug report
|
||||
about: Create a report to help us improve
|
||||
|
||||
---
|
||||
|
||||
<!--
|
||||
|
||||
This issue tracker is only for reporting bugs and tracking issues related to the source code.
|
||||
|
||||
Before posting, please make sure to check if the same or similar bugs have already been discussed: https://github.com/jitsi/jitsi-meet/issues
|
||||
|
||||
General questions regarding usage, installation, etc. should be posted at https://community.jitsi.org. They will be closed if posted here.
|
||||
|
||||
-->
|
||||
|
||||
### Description:
|
||||
|
||||
<!-- Please describe the bug clearly and concisely. -->
|
||||
|
||||
### Steps to reproduce:
|
||||
|
||||
1. <!-- Open '...' -->
|
||||
2. <!-- Click on '...' -->
|
||||
3. <!-- and so on... -->
|
||||
|
||||
### Expected behavior:
|
||||
|
||||
<!-- Please describe what should happen. -->
|
||||
|
||||
### Actual behavior:
|
||||
|
||||
<!-- Please describe what actually happens. -->
|
||||
<!-- Please attach screenshot if possible. -->
|
||||
|
||||
### Server information:
|
||||
|
||||
- Jitsi Meet version:
|
||||
- Operating System:
|
||||
|
||||
### Client information:
|
||||
|
||||
- Browser / app version:
|
||||
- Operating System:
|
||||
|
||||
### Additional information:
|
||||
|
||||
<!-- Please provide additional information about the bug, if any. -->
|
||||
53
.github/ISSUE_TEMPLATE/1-bug.yml
vendored
Normal file
53
.github/ISSUE_TEMPLATE/1-bug.yml
vendored
Normal file
@@ -0,0 +1,53 @@
|
||||
name: Bug report
|
||||
description: File a bug report and help us improve
|
||||
body:
|
||||
- type: markdown
|
||||
attributes:
|
||||
value: |
|
||||
This issue tracker is only for reporting bugs and tracking issues related to the source code.
|
||||
|
||||
**Before posting, please make sure to check if the same or similar bugs have already been reported.**
|
||||
|
||||
⚠️ General questions regarding usage, installation, etc. should be posted in our [community forum](https://community.jitsi.org).
|
||||
- type: textarea
|
||||
attributes:
|
||||
label: What happened?
|
||||
description: Please describe the problem. Be as detailed as possible.
|
||||
validations:
|
||||
required: true
|
||||
- type: checkboxes
|
||||
attributes:
|
||||
label: Platform
|
||||
description: On what platforms can you reproduce the problem?
|
||||
options:
|
||||
- label: Chrome (or Chromium based)
|
||||
- label: Firefox
|
||||
- label: Safari
|
||||
- label: Other desktop browser
|
||||
- label: Android browser
|
||||
- label: iOS browser
|
||||
- label: Electron app
|
||||
- label: Android mobile app
|
||||
- label: iOS mobile app
|
||||
- label: Custom app using a mobile SDK
|
||||
- type: input
|
||||
attributes:
|
||||
label: Browser / app / sdk version
|
||||
description: Please provide the version of the browser / app / sdk where the problem manifests.
|
||||
validations:
|
||||
required: true
|
||||
- type: textarea
|
||||
attributes:
|
||||
label: Relevant log output
|
||||
description: Please copy and paste any relevant log output. The browser console JS logs (if applicable) is a good start. This will be automatically formatted into code, so no need for backticks.
|
||||
render: shell
|
||||
- type: checkboxes
|
||||
attributes:
|
||||
label: Reproducibility
|
||||
description: Does the problem reproduce on meet.jit.si using Chrome, Firefox or the official mobile apps?
|
||||
options:
|
||||
- label: The problem is reproducible on meet.jit.si
|
||||
- type: textarea
|
||||
attributes:
|
||||
label: More details?
|
||||
description: Please provide more details in case they apply (such as the Jitsi Meet version you are running, if you are hosting your own server).
|
||||
25
.github/ISSUE_TEMPLATE/2-feature-request.md
vendored
25
.github/ISSUE_TEMPLATE/2-feature-request.md
vendored
@@ -1,25 +0,0 @@
|
||||
---
|
||||
name: "Feature request"
|
||||
about: Suggest an idea for this project
|
||||
title: ''
|
||||
labels: 'feature-request'
|
||||
assignees: ''
|
||||
---
|
||||
|
||||
<!--
|
||||
Thank you for suggesting an idea to make Jitsi Meet better.
|
||||
|
||||
Please fill in as much of the template below as you're able.
|
||||
|
||||
Note that the ultimate decision for implementing features lies on the Jitsi team, not all feature requests shall be accepted.
|
||||
-->
|
||||
|
||||
**Is your feature request related to a problem you are facing?**
|
||||
Please describe the problem you are trying to solve.
|
||||
|
||||
**Describe the solution you'd like**
|
||||
Please describe the desired behavior.
|
||||
|
||||
**Describe alternatives you've considered**
|
||||
Please describe alternative solutions or features you have considered.
|
||||
|
||||
22
.github/ISSUE_TEMPLATE/2-feature.yml
vendored
Normal file
22
.github/ISSUE_TEMPLATE/2-feature.yml
vendored
Normal file
@@ -0,0 +1,22 @@
|
||||
name: Feature request
|
||||
description: Suggest an idea for Jitsi Meet
|
||||
labels: ["feature-request"]
|
||||
body:
|
||||
- type: markdown
|
||||
attributes:
|
||||
value: |
|
||||
Thank you for suggesting an idea to make Jitsi Meet better.
|
||||
|
||||
**Note**: the ultimate decision for implementing features lies on the Jitsi team, not all feature requests shall be accepted.
|
||||
- type: textarea
|
||||
attributes:
|
||||
label: What problem are you trying to solve?
|
||||
description: Tell us what problem your feature request would solve.
|
||||
- type: textarea
|
||||
attributes:
|
||||
label: What solution would you like to see?
|
||||
description: Please describe the desired behavior or feature.
|
||||
- type: textarea
|
||||
attributes:
|
||||
label: Is there an alternative?
|
||||
description: Please describe alternative solutions or features you have considered.
|
||||
4
.github/ISSUE_TEMPLATE/config.yml
vendored
4
.github/ISSUE_TEMPLATE/config.yml
vendored
@@ -1,5 +1,5 @@
|
||||
blank_issues_enabled: false
|
||||
contact_links:
|
||||
- name: Need help with Jitsi Meet?
|
||||
- name: Need help with your Jitsi Meet installation?
|
||||
url: https://community.jitsi.org
|
||||
about: Please ask it in our community.
|
||||
about: Please ask it in our community forum.
|
||||
|
||||
2
.github/workflows/ci-lua.yml
vendored
2
.github/workflows/ci-lua.yml
vendored
@@ -7,7 +7,7 @@ jobs:
|
||||
name: Luacheck
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v3
|
||||
- uses: actions/checkout@v4
|
||||
|
||||
- name: Install luarocks
|
||||
run: sudo apt-get --install-recommends -y install luarocks
|
||||
|
||||
161
.github/workflows/ci.yml
vendored
161
.github/workflows/ci.yml
vendored
@@ -7,11 +7,15 @@ jobs:
|
||||
name: Lint
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v3
|
||||
- uses: actions/setup-node@v3
|
||||
- uses: actions/checkout@v4
|
||||
- uses: actions/setup-node@v4
|
||||
with:
|
||||
node-version: 16
|
||||
node-version-file: '.nvmrc'
|
||||
cache: 'npm'
|
||||
- name: Check Node / npm versions
|
||||
run: |
|
||||
node -v
|
||||
npm -v
|
||||
- name: Get changed files
|
||||
id: changed-files
|
||||
uses: tj-actions/changed-files@v41
|
||||
@@ -30,59 +34,150 @@ 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 && npm run tsc:ci
|
||||
linux-build:
|
||||
name: Build Frontend (Linux)
|
||||
runs-on: ubuntu-latest
|
||||
frontend:
|
||||
name: Build Frontend
|
||||
runs-on: ${{ matrix.os }}
|
||||
strategy:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
os: [macos-latest, ubuntu-latest]
|
||||
steps:
|
||||
- uses: actions/checkout@v3
|
||||
- uses: actions/setup-node@v3
|
||||
- uses: actions/checkout@v4
|
||||
- uses: actions/setup-node@v4
|
||||
with:
|
||||
node-version: 16
|
||||
node-version-file: '.nvmrc'
|
||||
cache: 'npm'
|
||||
- name: Check Node / npm versions
|
||||
run: |
|
||||
node -v
|
||||
npm -v
|
||||
- run: npm install
|
||||
- run: make
|
||||
macos-ci:
|
||||
name: Build Frontend (macOS)
|
||||
runs-on: macOS-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v3
|
||||
- uses: actions/setup-node@v3
|
||||
with:
|
||||
node-version: 16
|
||||
cache: 'npm'
|
||||
- run: npm install
|
||||
- run: make
|
||||
android-build:
|
||||
- name: Check config.js syntax
|
||||
run: node config.js
|
||||
android-rn-bundle-build:
|
||||
name: Build mobile bundle (Android)
|
||||
runs-on: ubuntu-latest
|
||||
runs-on: macos-15
|
||||
steps:
|
||||
- uses: actions/checkout@v3
|
||||
- uses: actions/setup-node@v3
|
||||
- uses: actions/checkout@v4
|
||||
- uses: actions/setup-node@v4
|
||||
with:
|
||||
node-version: 16
|
||||
node-version-file: '.nvmrc'
|
||||
cache: 'npm'
|
||||
- name: Check Node / npm versions
|
||||
run: |
|
||||
node -v
|
||||
npm -v
|
||||
- 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:
|
||||
ios-rn-bundle-build:
|
||||
name: Build mobile bundle (iOS)
|
||||
runs-on: macOS-latest
|
||||
runs-on: macos-15
|
||||
steps:
|
||||
- uses: actions/checkout@v3
|
||||
- uses: actions/setup-node@v3
|
||||
- uses: actions/checkout@v4
|
||||
- uses: actions/setup-node@v4
|
||||
with:
|
||||
node-version: 16
|
||||
node-version-file: '.nvmrc'
|
||||
cache: 'npm'
|
||||
- name: Check Node / npm versions
|
||||
run: |
|
||||
node -v
|
||||
npm -v
|
||||
- run: npm install
|
||||
- name: setup Xcode
|
||||
run: |
|
||||
uname -a
|
||||
xcode-select -p
|
||||
sudo xcode-select -s /Applications/Xcode_16.0.app/Contents/Developer
|
||||
xcodebuild -version
|
||||
- name: setup-cocoapods
|
||||
uses: maxim-lobanov/setup-cocoapods@v1
|
||||
with:
|
||||
podfile-path: ios/Podfile.lock
|
||||
- name: Install Pods
|
||||
run: |
|
||||
pod --version
|
||||
cd ios
|
||||
pod install --repo-update --deployment
|
||||
- run: npx react-native bundle --entry-file react/index.native.js --platform ios --bundle-output /tmp/ios.bundle --reset-cache
|
||||
android-sdk-build:
|
||||
name: Build mobile SDK (Android)
|
||||
runs-on: ubuntu-latest
|
||||
container: reactnativecommunity/react-native-android:v13.0
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
- uses: actions/setup-node@v4
|
||||
with:
|
||||
node-version-file: '.nvmrc'
|
||||
cache: 'npm'
|
||||
- name: Check Node / npm versions
|
||||
run: |
|
||||
node -v
|
||||
npm -v
|
||||
- run: npm install
|
||||
- run: |
|
||||
cd android
|
||||
./gradlew :sdk:clean
|
||||
./gradlew :sdk:assembleRelease
|
||||
ios-sdk-build:
|
||||
name: Build mobile SDK (iOS)
|
||||
runs-on: macos-15
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
- uses: actions/setup-node@v4
|
||||
with:
|
||||
node-version-file: '.nvmrc'
|
||||
cache: 'npm'
|
||||
- name: Check Node / npm versions
|
||||
run: |
|
||||
node -v
|
||||
npm -v
|
||||
- run: npm install
|
||||
- name: setup Xcode
|
||||
run: |
|
||||
uname -a
|
||||
xcode-select -p
|
||||
sudo xcode-select -s /Applications/Xcode_16.0.app/Contents/Developer
|
||||
xcodebuild -version
|
||||
- name: setup-cocoapods
|
||||
uses: maxim-lobanov/setup-cocoapods@v1
|
||||
with:
|
||||
podfile-path: ios/Podfile.lock
|
||||
- name: Install Pods
|
||||
run: |
|
||||
pod --version
|
||||
cd ios
|
||||
pod install --repo-update --deployment
|
||||
- run: |
|
||||
xcodebuild clean \
|
||||
-workspace ios/jitsi-meet.xcworkspace \
|
||||
-scheme JitsiMeetSDK
|
||||
xcodebuild archive \
|
||||
-workspace ios/jitsi-meet.xcworkspace \
|
||||
-scheme JitsiMeetSDK \
|
||||
-configuration Release \
|
||||
-sdk iphoneos \
|
||||
-destination='generic/platform=iOS' \
|
||||
-archivePath ios/sdk/out/ios-device \
|
||||
SKIP_INSTALL=NO \
|
||||
BUILD_LIBRARY_FOR_DISTRIBUTION=YES
|
||||
xcodebuild -create-xcframework \
|
||||
-framework ios/sdk/out/ios-device.xcarchive/Products/Library/Frameworks/JitsiMeetSDK.framework \
|
||||
-output ios/sdk/out/JitsiMeetSDK.xcframework
|
||||
- run: ls -lR ios/sdk/out
|
||||
debian-build:
|
||||
name: Test Debian packages build
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v3
|
||||
- uses: actions/setup-node@v3
|
||||
- uses: actions/checkout@v4
|
||||
- uses: actions/setup-node@v4
|
||||
with:
|
||||
node-version: 16
|
||||
node-version-file: '.nvmrc'
|
||||
cache: 'npm'
|
||||
- name: Check Node / npm versions
|
||||
run: |
|
||||
node -v
|
||||
npm -v
|
||||
- run: npm install
|
||||
- run: make
|
||||
- run: sudo apt-get install -y debhelper
|
||||
|
||||
9
.gitignore
vendored
9
.gitignore
vendored
@@ -38,6 +38,7 @@ DerivedData
|
||||
*.dSYM.zip
|
||||
*.xcuserstate
|
||||
project.xcworkspace
|
||||
**/.xcode.env.local
|
||||
|
||||
# Android/IntelliJ
|
||||
#
|
||||
@@ -99,10 +100,7 @@ tsconfig.json
|
||||
#
|
||||
react-native-sdk/*.tgz
|
||||
react-native-sdk/android/src
|
||||
!react-native-sdk/android/src/main/java/org/jitsi/meet/sdk/JitsiMeetOngoingConferenceService.java
|
||||
!react-native-sdk/android/src/main/java/org/jitsi/meet/sdk/JitsiMeetReactNativePackage.java
|
||||
!react-native-sdk/android/src/main/java/org/jitsi/meet/sdk/JMOngoingConferenceModule.java
|
||||
!react-native-sdk/android/src/main/java/org/jitsi/meet/sdk/RNOngoingNotification.java
|
||||
react-native-sdk/images
|
||||
react-native-sdk/ios
|
||||
react-native-sdk/lang
|
||||
@@ -111,3 +109,8 @@ react-native-sdk/node_modules
|
||||
react-native-sdk/react
|
||||
react-native-sdk/service
|
||||
react-native-sdk/sounds
|
||||
|
||||
# tests
|
||||
tests/.env
|
||||
test-results
|
||||
|
||||
|
||||
@@ -1,6 +0,0 @@
|
||||
osx_image: xcode11.1
|
||||
language: objective-c
|
||||
script:
|
||||
- "./ios/travis-ci/build-ipa.sh"
|
||||
after_script:
|
||||
- sleep 10
|
||||
173
CONTRIBUTING.md
173
CONTRIBUTING.md
@@ -1,171 +1,14 @@
|
||||
# How to contribute
|
||||
We would love to have your help. Before you start working however, please read
|
||||
and follow this short guide.
|
||||
# Follow Our Updated Guide to See How You Can Contribute
|
||||
|
||||
# Reporting Issues
|
||||
Provide as much information as possible. Mention the version of Jitsi Meet,
|
||||
Jicofo and JVB you are using, and explain (as detailed as you can) how the
|
||||
problem can be reproduced.
|
||||
Hello there! 👋
|
||||
|
||||
# Code contributions
|
||||
Found a bug and know how to fix it? Great! Please read on.
|
||||
We're thrilled that you're eager to contribute to Jitsi Meet! ❤️
|
||||
|
||||
## Contributor License Agreement
|
||||
While the Jitsi projects are released under the
|
||||
[Apache License 2.0](https://github.com/jitsi/jitsi-meet/blob/master/LICENSE), the copyright
|
||||
holder and principal creator is [8x8](https://www.8x8.com/). To
|
||||
ensure that we can continue making these projects available under an Open Source license,
|
||||
we need you to sign our Apache-based contributor
|
||||
license agreement as either a [corporation](https://jitsi.org/ccla) or an
|
||||
[individual](https://jitsi.org/icla). If you cannot accept the terms laid out
|
||||
in the agreement, unfortunately, we cannot accept your contribution.
|
||||
Your interest in improving our platform means a lot to us. To ensure your contributions align seamlessly with our goals and processes, we've recently updated our guide. This guide will provide you with clear instructions on how to get involved effectively.
|
||||
|
||||
## Creating Pull Requests
|
||||
- Make sure your code passes the linter rules beforehand. The linter is executed
|
||||
automatically when committing code.
|
||||
- Perform **one** logical change per pull request.
|
||||
- Maintain a clean list of commits, squash them if necessary.
|
||||
- Rebase your topic branch on top of the master branch before creating the pull
|
||||
request.
|
||||
Ready to get started? Head over to our [Jitsi Meet Handbook](https://jitsi.github.io/handbook/docs/dev-guide/dev-guide-contributing/) and let's make Jitsi Meet even better together!
|
||||
|
||||
## Coding style
|
||||
### ❗️Additional Note
|
||||
Before sending us your code, double-check that it meets our coding standards. You can do this by running a command: `npm run lint`. If there are any issues, don't worry! You can fix them by running: `npm run lint-fix`. Once your code passes these checks, feel free to submit your pull request.
|
||||
|
||||
### Comments
|
||||
|
||||
* Comments documenting the source code are required.
|
||||
|
||||
* Comments from which documentation is automatically generated are **not**
|
||||
subject to case-by-case decisions. Such comments are used, for example, on
|
||||
types and their members. Examples of tools which automatically generate
|
||||
documentation from such comments include JSDoc, Javadoc, Doxygen.
|
||||
|
||||
* Comments which are not automatically processed are strongly encouraged. They
|
||||
are subject to case-by-case decisions. Such comments are often observed in
|
||||
function bodies.
|
||||
|
||||
* Comments should be formatted as proper English sentences. Such formatting pays
|
||||
attention to, for example, capitalization and punctuation.
|
||||
|
||||
### Duplication
|
||||
|
||||
* Don't copy-paste source code. Reuse it.
|
||||
|
||||
### Formatting
|
||||
|
||||
* Line length is limited to 120 characters.
|
||||
|
||||
* Sort by alphabetical order in order to make the addition of new entities as
|
||||
easy as looking a word up in a dictionary. Otherwise, one risks duplicate
|
||||
entries (with conflicting values in the cases of key-value pairs). For
|
||||
example:
|
||||
|
||||
* Within an `import` of multiple names from a module, sort the names in
|
||||
alphabetical order. (Of course, the default name stays first as required by
|
||||
the `import` syntax.)
|
||||
|
||||
````javascript
|
||||
import {
|
||||
DOMINANT_SPEAKER_CHANGED,
|
||||
JITSI_CLIENT_CONNECTED,
|
||||
JITSI_CLIENT_CREATED,
|
||||
JITSI_CLIENT_DISCONNECTED,
|
||||
JITSI_CLIENT_ERROR,
|
||||
JITSI_CONFERENCE_JOINED,
|
||||
MODERATOR_CHANGED,
|
||||
PEER_JOINED,
|
||||
PEER_LEFT,
|
||||
RTC_ERROR
|
||||
} from './actionTypes';
|
||||
````
|
||||
|
||||
* Within a group of imports (e.g. groups of imports delimited by an empty line
|
||||
may be: third-party modules, then project modules, and eventually the
|
||||
private files of a module), sort the module names in alphabetical order.
|
||||
|
||||
````javascript
|
||||
import React, { Component } from 'react';
|
||||
import { connect } from 'react-redux';
|
||||
````
|
||||
|
||||
### Indentation
|
||||
|
||||
* Align `switch` and `case`/`default`. Don't indent the `case`/`default` more
|
||||
than its `switch`.
|
||||
|
||||
````javascript
|
||||
switch (i) {
|
||||
case 0:
|
||||
...
|
||||
break;
|
||||
default:
|
||||
...
|
||||
}
|
||||
````
|
||||
|
||||
### Naming
|
||||
|
||||
* An abstraction should have one name within the project and across multiple
|
||||
projects. For example:
|
||||
|
||||
* The instance of lib-jitsi-meet's `JitsiConnection` type should be named
|
||||
`connection` or `jitsiConnection` in jitsi-meet, not `client`.
|
||||
|
||||
* The class `ReducerRegistry` should be defined in ReducerRegistry.js and its
|
||||
imports in other files should use the same name. Don't define the class
|
||||
`Registry` in ReducerRegistry.js and then import it as `Reducers` in other
|
||||
files.
|
||||
|
||||
* The names of global constants (including ES6 module-global constants) should
|
||||
be written in uppercase with underscores to separate words. For example,
|
||||
`BACKGROUND_COLOR`.
|
||||
|
||||
* The underscore character at the beginning of a name signals that the
|
||||
respective variable, function, property is non-public i.e. private, protected,
|
||||
or internal. In contrast, the lack of an underscore at the beginning of a name
|
||||
signals public API.
|
||||
|
||||
### Feature layout
|
||||
|
||||
When adding a new feature, this would be the usual layout.
|
||||
|
||||
```
|
||||
react/features/sample/
|
||||
├── actionTypes.ts
|
||||
├── actions.js
|
||||
├── components
|
||||
│ ├── AnotherComponent.js
|
||||
│ ├── OneComponent.js
|
||||
│ └── index.js
|
||||
├── middleware.js
|
||||
└── reducer.js
|
||||
```
|
||||
|
||||
The middleware must be imported in `react/features/app/` specifically
|
||||
in `middlewares.any.ts`, `middlewares.native.ts` or `middlewares.web.ts` where appropriate.
|
||||
Likewise for the reducer.
|
||||
|
||||
An `index.js` file must not be provided for exporting actions, action types and
|
||||
component. Features / files requiring those must import them explicitly.
|
||||
|
||||
This has not always been the case and the entire codebase hasn't been migrated to
|
||||
this model but new features should follow this new layout.
|
||||
|
||||
When working on an old feature, adding the necessary changes to migrate to the new
|
||||
model is encouraged.
|
||||
|
||||
|
||||
### Avoiding bundle bloat
|
||||
|
||||
When adding a new feature it's possible that it triggers a build failure due to the increased bundle size. We have safeguards inplace to avoid bundles growing disproportionatelly. While there are legit reasons for increasing the limits, please analyze the bundle first to make sure no unintended dependencies have been included, causing the increase in size.
|
||||
|
||||
First, make a production build with bundle-analysis enabled:
|
||||
|
||||
```
|
||||
npx webpack -p --analyze-bundle
|
||||
```
|
||||
|
||||
Then open the interactive bundle analyzer tool:
|
||||
|
||||
```
|
||||
npx webpack-bundle-analyzer build/app-stats.json
|
||||
```
|
||||
Happy coding!
|
||||
|
||||
7
Makefile
7
Makefile
@@ -24,9 +24,9 @@ else
|
||||
WEBPACK_DEV_SERVER = ./node_modules/.bin/webpack serve --mode development
|
||||
endif
|
||||
|
||||
all: compile deploy clean
|
||||
all: compile deploy
|
||||
|
||||
compile:
|
||||
compile: clean
|
||||
NODE_OPTIONS=--max-old-space-size=8192 \
|
||||
$(WEBPACK)
|
||||
|
||||
@@ -48,7 +48,6 @@ deploy-appbundle:
|
||||
$(BUILD_DIR)/external_api.min.js.map \
|
||||
$(BUILD_DIR)/alwaysontop.min.js \
|
||||
$(BUILD_DIR)/alwaysontop.min.js.map \
|
||||
$(OUTPUT_DIR)/analytics-ga.js \
|
||||
$(BUILD_DIR)/analytics-ga.min.js \
|
||||
$(BUILD_DIR)/analytics-ga.min.js.map \
|
||||
$(BUILD_DIR)/face-landmarks-worker.min.js \
|
||||
@@ -123,7 +122,7 @@ deploy-local:
|
||||
dev: deploy-init deploy-css deploy-rnnoise-binary deploy-tflite deploy-meet-models deploy-lib-jitsi-meet deploy-olm deploy-tf-wasm deploy-excalidraw-dev deploy-face-landmarks
|
||||
$(WEBPACK_DEV_SERVER)
|
||||
|
||||
source-package:
|
||||
source-package: compile deploy
|
||||
mkdir -p source_package/jitsi-meet/css && \
|
||||
cp -r *.js *.html resources/*.txt fonts images libs static sounds LICENSE lang source_package/jitsi-meet && \
|
||||
cp css/all.css source_package/jitsi-meet/css && \
|
||||
|
||||
@@ -4,6 +4,6 @@
|
||||
|
||||
We take security very seriously and develop all Jitsi projects to be secure and safe.
|
||||
|
||||
If you find (or simply suspect) a security issue in any of the Jitsi projects, please report it to us via [HackerOne](https://hackerone.com/8x8) or send us an email to security@jitsi.org.
|
||||
If you find (or simply suspect) a security issue in any of the Jitsi projects, please report it to us via [HackerOne](https://hackerone.com/8x8-bounty) or send us an email to security@jitsi.org.
|
||||
|
||||
**We encourage responsible disclosure for the sake of our users, so please reach out before posting in a public space.**
|
||||
|
||||
163
analytics-ga.js
163
analytics-ga.js
@@ -1,163 +0,0 @@
|
||||
/* global ga */
|
||||
|
||||
(function(ctx) {
|
||||
/**
|
||||
*
|
||||
*/
|
||||
function Analytics(options) {
|
||||
/* eslint-disable */
|
||||
|
||||
if (!options.googleAnalyticsTrackingId) {
|
||||
console.log(
|
||||
'Failed to initialize Google Analytics handler, no tracking ID');
|
||||
return;
|
||||
}
|
||||
|
||||
/**
|
||||
* Google Analytics
|
||||
* TODO: Keep this local, there's no need to add it to window.
|
||||
*/
|
||||
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
|
||||
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
|
||||
})(window,document,'script','//www.google-analytics.com/analytics.js','ga');
|
||||
ga('create', options.googleAnalyticsTrackingId, 'auto');
|
||||
ga('send', 'pageview');
|
||||
|
||||
/* eslint-enable */
|
||||
}
|
||||
|
||||
/**
|
||||
* Extracts the integer to use for a Google Analytics event's value field
|
||||
* from a lib-jitsi-meet analytics event.
|
||||
* @param {Object} event - The lib-jitsi-meet analytics event.
|
||||
* @returns {Object} - The integer to use for the 'value' of a Google
|
||||
* Analytics event.
|
||||
* @private
|
||||
*/
|
||||
Analytics.prototype._extractAction = function(event) {
|
||||
// Page events have a single 'name' field.
|
||||
if (event.type === 'page') {
|
||||
return event.name;
|
||||
}
|
||||
|
||||
// All other events have action, actionSubject, and source fields. All
|
||||
// three fields are required, and the often jitsi-meet and
|
||||
// lib-jitsi-meet use the same value when separate values are not
|
||||
// necessary (i.e. event.action == event.actionSubject).
|
||||
// Here we concatenate these three fields, but avoid adding the same
|
||||
// value twice, because it would only make the GA event's action harder
|
||||
// to read.
|
||||
let action = event.action;
|
||||
|
||||
if (event.actionSubject && event.actionSubject !== event.action) {
|
||||
// Intentionally use string concatenation as analytics needs to
|
||||
// work on IE but this file does not go through babel. For some
|
||||
// reason disabling this globally for the file does not have an
|
||||
// effect.
|
||||
// eslint-disable-next-line prefer-template
|
||||
action = event.actionSubject + '.' + action;
|
||||
}
|
||||
if (event.source && event.source !== event.action
|
||||
&& event.source !== event.action) {
|
||||
// eslint-disable-next-line prefer-template
|
||||
action = event.source + '.' + action;
|
||||
}
|
||||
|
||||
return action;
|
||||
};
|
||||
|
||||
/**
|
||||
* Extracts the integer to use for a Google Analytics event's value field
|
||||
* from a lib-jitsi-meet analytics event.
|
||||
* @param {Object} event - The lib-jitsi-meet analytics event.
|
||||
* @returns {Object} - The integer to use for the 'value' of a Google
|
||||
* Analytics event, or NaN if the lib-jitsi-meet event doesn't contain a
|
||||
* suitable value.
|
||||
* @private
|
||||
*/
|
||||
Analytics.prototype._extractValue = function(event) {
|
||||
let value = event && event.attributes && event.attributes.value;
|
||||
|
||||
// Try to extract an integer from the "value" attribute.
|
||||
value = Math.round(parseFloat(value));
|
||||
|
||||
return value;
|
||||
};
|
||||
|
||||
/**
|
||||
* Extracts the string to use for a Google Analytics event's label field
|
||||
* from a lib-jitsi-meet analytics event.
|
||||
* @param {Object} event - The lib-jitsi-meet analytics event.
|
||||
* @returns {string} - The string to use for the 'label' of a Google
|
||||
* Analytics event.
|
||||
* @private
|
||||
*/
|
||||
Analytics.prototype._extractLabel = function(event) {
|
||||
let label = '';
|
||||
|
||||
// The label field is limited to 500B. We will concatenate all
|
||||
// attributes of the event, except the user agent because it may be
|
||||
// lengthy and is probably included from elsewhere.
|
||||
for (const property in event.attributes) {
|
||||
if (property !== 'permanent_user_agent'
|
||||
&& property !== 'permanent_callstats_name'
|
||||
&& event.attributes.hasOwnProperty(property)) {
|
||||
// eslint-disable-next-line prefer-template
|
||||
label += property + '=' + event.attributes[property] + '&';
|
||||
}
|
||||
}
|
||||
|
||||
if (label.length > 0) {
|
||||
label = label.slice(0, -1);
|
||||
}
|
||||
|
||||
return label;
|
||||
};
|
||||
|
||||
/**
|
||||
* This is the entry point of the API. The function sends an event to
|
||||
* google analytics. The format of the event is described in
|
||||
* AnalyticsAdapter in lib-jitsi-meet.
|
||||
* @param {Object} event - the event in the format specified by
|
||||
* lib-jitsi-meet.
|
||||
*/
|
||||
Analytics.prototype.sendEvent = function(event) {
|
||||
if (!event || !ga) {
|
||||
return;
|
||||
}
|
||||
|
||||
const ignoredEvents
|
||||
= [ 'e2e_rtt', 'rtp.stats', 'rtt.by.region', 'available.device',
|
||||
'stream.switch.delay', 'ice.state.changed', 'ice.duration' ];
|
||||
|
||||
// Temporary removing some of the events that are too noisy.
|
||||
if (ignoredEvents.indexOf(event.action) !== -1) {
|
||||
return;
|
||||
}
|
||||
|
||||
const gaEvent = {
|
||||
'eventCategory': 'jitsi-meet',
|
||||
'eventAction': this._extractAction(event),
|
||||
'eventLabel': this._extractLabel(event)
|
||||
};
|
||||
const value = this._extractValue(event);
|
||||
|
||||
if (!isNaN(value)) {
|
||||
gaEvent.eventValue = value;
|
||||
}
|
||||
|
||||
ga('send', 'event', gaEvent);
|
||||
};
|
||||
|
||||
if (typeof ctx.JitsiMeetJS === 'undefined') {
|
||||
ctx.JitsiMeetJS = {};
|
||||
}
|
||||
if (typeof ctx.JitsiMeetJS.app === 'undefined') {
|
||||
ctx.JitsiMeetJS.app = {};
|
||||
}
|
||||
if (typeof ctx.JitsiMeetJS.app.analyticsHandlers === 'undefined') {
|
||||
ctx.JitsiMeetJS.app.analyticsHandlers = [];
|
||||
}
|
||||
ctx.JitsiMeetJS.app.analyticsHandlers.push(Analytics);
|
||||
})(window);
|
||||
/* eslint-enable prefer-template */
|
||||
@@ -16,10 +16,6 @@ android {
|
||||
compileSdkVersion rootProject.ext.compileSdkVersion
|
||||
buildToolsVersion rootProject.ext.buildToolsVersion
|
||||
|
||||
packagingOptions {
|
||||
exclude 'lib/*/libhermes*.so'
|
||||
}
|
||||
|
||||
defaultConfig {
|
||||
applicationId 'org.jitsi.meet'
|
||||
versionCode vcode
|
||||
@@ -72,12 +68,13 @@ android {
|
||||
sourceCompatibility JavaVersion.VERSION_1_8
|
||||
targetCompatibility JavaVersion.VERSION_1_8
|
||||
}
|
||||
namespace 'org.jitsi.meet'
|
||||
}
|
||||
|
||||
dependencies {
|
||||
implementation 'androidx.appcompat:appcompat:1.5.1'
|
||||
|
||||
debugImplementation 'com.squareup.leakcanary:leakcanary-android:2.7'
|
||||
debugImplementation 'com.squareup.leakcanary:leakcanary-android:2.13'
|
||||
|
||||
if (!rootProject.ext.libreBuild) {
|
||||
// Sync with react-native-google-signin
|
||||
|
||||
@@ -1,6 +1,5 @@
|
||||
<manifest
|
||||
xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
package="org.jitsi.meet"
|
||||
android:installLocation="auto">
|
||||
<application
|
||||
android:allowBackup="true"
|
||||
|
||||
@@ -35,10 +35,8 @@ import org.jitsi.meet.sdk.JitsiMeetActivity;
|
||||
import org.jitsi.meet.sdk.JitsiMeetConferenceOptions;
|
||||
|
||||
import java.lang.reflect.Method;
|
||||
import java.net.MalformedURLException;
|
||||
import java.net.URL;
|
||||
import java.util.Collection;
|
||||
import java.util.HashMap;
|
||||
|
||||
/**
|
||||
* The one and only Activity that the Jitsi Meet app needs. The
|
||||
@@ -75,7 +73,6 @@ public class MainActivity extends JitsiMeetActivity {
|
||||
*/
|
||||
private String defaultURL;
|
||||
|
||||
|
||||
// JitsiMeetActivity overrides
|
||||
//
|
||||
|
||||
@@ -147,12 +144,12 @@ public class MainActivity extends JitsiMeetActivity {
|
||||
}
|
||||
|
||||
private void setJitsiMeetConferenceDefaultOptions() {
|
||||
|
||||
// Set default options
|
||||
JitsiMeetConferenceOptions defaultOptions
|
||||
= new JitsiMeetConferenceOptions.Builder()
|
||||
.setServerURL(buildURL(defaultURL))
|
||||
.setFeatureFlag("welcomepage.enabled", true)
|
||||
.setFeatureFlag("resolution", 360)
|
||||
.setFeatureFlag("server-url-change.enabled", !configurationByRestrictions)
|
||||
.build();
|
||||
JitsiMeet.setDefaultConferenceOptions(defaultOptions);
|
||||
@@ -214,11 +211,6 @@ public class MainActivity extends JitsiMeetActivity {
|
||||
super.onPictureInPictureModeChanged(isInPictureInPictureMode);
|
||||
|
||||
Log.d(TAG, "Is in picture-in-picture mode: " + isInPictureInPictureMode);
|
||||
|
||||
if (!isInPictureInPictureMode) {
|
||||
this.startActivity(new Intent(this, getClass())
|
||||
.addFlags(Intent.FLAG_ACTIVITY_REORDER_TO_FRONT));
|
||||
}
|
||||
}
|
||||
|
||||
// Helper methods
|
||||
@@ -227,7 +219,7 @@ public class MainActivity extends JitsiMeetActivity {
|
||||
private @Nullable URL buildURL(String urlStr) {
|
||||
try {
|
||||
return new URL(urlStr);
|
||||
} catch (MalformedURLException e) {
|
||||
} catch (Exception e) {
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -10,22 +10,20 @@ buildscript {
|
||||
mavenCentral()
|
||||
}
|
||||
dependencies {
|
||||
classpath 'com.android.tools.build:gradle:7.3.1'
|
||||
classpath 'com.android.tools.build:gradle:7.4.2'
|
||||
classpath 'com.google.gms:google-services:4.4.0'
|
||||
classpath 'com.google.firebase:firebase-crashlytics-gradle:2.9.9'
|
||||
}
|
||||
}
|
||||
|
||||
ext {
|
||||
kotlinVersion = "1.7.0"
|
||||
buildToolsVersion = "33.0.2"
|
||||
compileSdkVersion = 33
|
||||
kotlinVersion = "1.9.24"
|
||||
buildToolsVersion = "34.0.0"
|
||||
compileSdkVersion = 34
|
||||
minSdkVersion = 24
|
||||
targetSdkVersion = 33
|
||||
targetSdkVersion = 34
|
||||
supportLibVersion = "28.0.0"
|
||||
|
||||
// We use NDK 23 which has both M1 support and is the side-by-side NDK version from AGP.
|
||||
ndkVersion = "23.1.7779620"
|
||||
ndkVersion = "26.1.10909125"
|
||||
|
||||
// The Maven artifact groupId of the third-party react-native modules which
|
||||
// Jitsi Meet SDK for Android depends on and which are not available in
|
||||
@@ -43,14 +41,12 @@ ext {
|
||||
|
||||
googleServicesEnabled = project.file('app/google-services.json').exists() && !libreBuild
|
||||
|
||||
//React Native Version
|
||||
rnVersion = "0.72.9"
|
||||
//React Native and Hermes Version
|
||||
rnVersion = "0.75.4"
|
||||
}
|
||||
|
||||
allprojects {
|
||||
repositories {
|
||||
// Android JSC is installed from npm.
|
||||
maven { url("$rootDir/../node_modules/jsc-android/dist") }
|
||||
mavenCentral()
|
||||
google()
|
||||
maven { url 'https://www.jitpack.io' }
|
||||
|
||||
@@ -11,7 +11,7 @@
|
||||
# The setting is particularly useful for tweaking memory settings.
|
||||
# Default value: -Xmx1024m -XX:MaxPermSize=256m
|
||||
|
||||
org.gradle.jvmargs=-Xmx2048m -XX:MaxPermSize=512m -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8
|
||||
org.gradle.jvmargs=-Xmx2048m -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8
|
||||
|
||||
# When configured, Gradle will run in incubating parallel mode.
|
||||
# This option should only be used with decoupled projects. More details, visit
|
||||
@@ -27,4 +27,4 @@ android.enableJetifier=true
|
||||
android.bundle.enableUncompressedNativeLibs=false
|
||||
|
||||
appVersion=99.0.0
|
||||
sdkVersion=99.0.0
|
||||
sdkVersion=0.0.0
|
||||
|
||||
@@ -9,8 +9,6 @@ THE_MVN_REPO=${MVN_REPO:-${1:-$DEFAULT_MVN_REPO}}
|
||||
MVN_HTTP=0
|
||||
DEFAULT_SDK_VERSION=$(grep sdkVersion ${THIS_DIR}/../gradle.properties | cut -d"=" -f2)
|
||||
SDK_VERSION=${OVERRIDE_SDK_VERSION:-${DEFAULT_SDK_VERSION}}
|
||||
JSC_VERSION="r"$(jq -r '.dependencies."jsc-android"' ${THIS_DIR}/../../node_modules/react-native/package.json | cut -d . -f 1 | cut -c 2-)
|
||||
DO_GIT_TAG=${GIT_TAG:-0}
|
||||
|
||||
if [[ $THE_MVN_REPO == http* ]]; then
|
||||
MVN_HTTP=1
|
||||
@@ -24,34 +22,7 @@ export MVN_REPO=$THE_MVN_REPO
|
||||
echo "Releasing Jitsi Meet SDK ${SDK_VERSION}"
|
||||
echo "Using ${MVN_REPO} as the Maven repo"
|
||||
|
||||
if [[ $MVN_HTTP == 1 ]]; then
|
||||
# Push JSC
|
||||
echo "Pushing JSC ${JSC_VERSION} to the Maven repo"
|
||||
pushd ${THIS_DIR}/../../node_modules/jsc-android/dist/org/webkit/android-jsc/${JSC_VERSION}
|
||||
mvn \
|
||||
deploy:deploy-file \
|
||||
-Durl=${MVN_REPO} \
|
||||
-DrepositoryId=${MVN_REPO_ID} \
|
||||
-Dfile=android-jsc-${JSC_VERSION}.aar \
|
||||
-Dpackaging=aar \
|
||||
-DgeneratePom=false \
|
||||
-DpomFile=android-jsc-${JSC_VERSION}.pom || true
|
||||
popd
|
||||
else
|
||||
# Push JSC, if necessary
|
||||
if [[ ! -d ${MVN_REPO}/org/webkit/android-jsc/${JSC_VERSION} ]]; then
|
||||
echo "Pushing JSC ${JSC_VERSION} to the Maven repo"
|
||||
pushd ${THIS_DIR}/../../node_modules/jsc-android/dist/org/webkit/android-jsc/${JSC_VERSION}
|
||||
mvn \
|
||||
deploy:deploy-file \
|
||||
-Durl=${MVN_REPO} \
|
||||
-Dfile=android-jsc-${JSC_VERSION}.aar \
|
||||
-Dpackaging=aar \
|
||||
-DgeneratePom=false \
|
||||
-DpomFile=android-jsc-${JSC_VERSION}.pom
|
||||
popd
|
||||
fi
|
||||
|
||||
if [[ $MVN_HTTP == 0 ]]; then
|
||||
# Check if an SDK with that same version has already been released
|
||||
if [[ -d ${MVN_REPO}/org/jitsi/react/jitsi-meet-sdk/${SDK_VERSION} ]]; then
|
||||
echo "There is already a release with that version in the Maven repo!"
|
||||
@@ -67,15 +38,12 @@ pushd ${THIS_DIR}/../
|
||||
./gradlew publish
|
||||
popd
|
||||
|
||||
if [[ $DO_GIT_TAG == 1 ]]; then
|
||||
# The artifacts are now on the Maven repo, commit them
|
||||
# The artifacts are now on the Maven repo, commit them
|
||||
if [[ $MVN_HTTP == 0 ]]; then
|
||||
pushd ${MVN_REPO_PATH}
|
||||
git add -A .
|
||||
git commit -m "Jitsi Meet SDK + dependencies: ${SDK_VERSION}"
|
||||
popd
|
||||
|
||||
# Tag the release
|
||||
git tag android-sdk-${SDK_VERSION}
|
||||
fi
|
||||
|
||||
# Done!
|
||||
|
||||
@@ -2,4 +2,4 @@
|
||||
|
||||
THIS_DIR=$(cd -P "$(dirname "$(readlink "${BASH_SOURCE[0]}" || echo "${BASH_SOURCE[0]}")")" && pwd)
|
||||
|
||||
exec ${THIS_DIR}/../../node_modules/react-native/scripts/launchPackager.command --reset-cache
|
||||
exec ${THIS_DIR}/../../node_modules/react-native/scripts/packager.sh --reset-cache
|
||||
|
||||
@@ -8,6 +8,7 @@ android {
|
||||
defaultConfig {
|
||||
minSdkVersion rootProject.ext.minSdkVersion
|
||||
targetSdkVersion rootProject.ext.targetSdkVersion
|
||||
buildConfigField "String", "SDK_VERSION", "\"$sdkVersion\""
|
||||
}
|
||||
|
||||
buildTypes {
|
||||
@@ -30,6 +31,7 @@ android {
|
||||
}
|
||||
}
|
||||
}
|
||||
namespace 'org.jitsi.meet.sdk'
|
||||
}
|
||||
|
||||
dependencies {
|
||||
@@ -40,13 +42,14 @@ dependencies {
|
||||
implementation 'androidx.swiperefreshlayout:swiperefreshlayout:1.1.0'
|
||||
|
||||
api "com.facebook.react:react-android:$rootProject.ext.rnVersion"
|
||||
api "com.facebook.react:hermes-android:$rootProject.ext.rnVersion"
|
||||
|
||||
//noinspection GradleDynamicVersion
|
||||
implementation 'org.webkit:android-jsc:+'
|
||||
|
||||
implementation 'com.facebook.fresco:animated-gif:2.5.0'
|
||||
implementation 'com.dropbox.core:dropbox-core-sdk:4.0.1'
|
||||
implementation 'com.jakewharton.timber:timber:4.7.1'
|
||||
implementation 'com.jakewharton.timber:timber:5.0.1'
|
||||
implementation 'com.squareup.duktape:duktape-android:1.3.0'
|
||||
implementation 'com.google.code.gson:gson:2.8.6'
|
||||
implementation 'androidx.startup:startup-runtime:1.1.0'
|
||||
@@ -55,7 +58,7 @@ dependencies {
|
||||
if (!rootProject.ext.libreBuild) {
|
||||
implementation project(':react-native-amplitude')
|
||||
implementation project(':react-native-giphy')
|
||||
implementation(project(":react-native-google-signin")) {
|
||||
implementation(project(':react-native-google-signin')) {
|
||||
exclude group: 'com.google.android.gms'
|
||||
exclude group: 'androidx'
|
||||
}
|
||||
@@ -137,8 +140,7 @@ android.libraryVariants.all { def variant ->
|
||||
// Run the bundler
|
||||
commandLine(
|
||||
"node",
|
||||
"node_modules/react-native/local-cli/cli.js",
|
||||
"bundle",
|
||||
"node_modules/react-native/scripts/bundle.js",
|
||||
"--platform", "android",
|
||||
"--dev", "${devEnabled}",
|
||||
"--reset-cache",
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:tools="http://schemas.android.com/tools"
|
||||
package="org.jitsi.meet.sdk">
|
||||
xmlns:tools="http://schemas.android.com/tools">
|
||||
<!-- XXX ACCESS_NETWORK_STATE is required by WebRTC. -->
|
||||
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
|
||||
<uses-permission android:name="android.permission.BLUETOOTH" />
|
||||
@@ -13,6 +12,10 @@
|
||||
<uses-permission android:name="android.permission.WAKE_LOCK" />
|
||||
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
|
||||
<uses-permission android:name="android.permission.FOREGROUND_SERVICE" />
|
||||
<uses-permission android:name="android.permission.FOREGROUND_SERVICE_MICROPHONE" />
|
||||
<uses-permission android:name="android.permission.FOREGROUND_SERVICE_MEDIA_PLAYBACK" />
|
||||
<uses-permission android:name="android.permission.FOREGROUND_SERVICE_MEDIA_PROJECTION" />
|
||||
<uses-permission android:name="android.permission.POST_NOTIFICATIONS" />
|
||||
|
||||
<uses-feature
|
||||
android:glEsVersion="0x00020000"
|
||||
@@ -48,7 +51,7 @@
|
||||
|
||||
<service
|
||||
android:name="org.jitsi.meet.sdk.JitsiMeetOngoingConferenceService"
|
||||
android:foregroundServiceType="mediaProjection" />
|
||||
android:foregroundServiceType="mediaPlayback|microphone" />
|
||||
|
||||
<provider
|
||||
android:name="com.reactnativecommunity.webview.RNCWebViewFileProvider"
|
||||
@@ -66,4 +69,4 @@
|
||||
|
||||
</application>
|
||||
|
||||
</manifest>
|
||||
</manifest>
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright @ 2017-present Atlassian Pty Ltd
|
||||
* Copyright @ 2017-present 8x8, Inc.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
@@ -37,6 +37,7 @@ class AppInfoModule
|
||||
public static final String NAME = "AppInfo";
|
||||
public static final boolean GOOGLE_SERVICES_ENABLED = getGoogleServicesEnabled();
|
||||
public static final boolean LIBRE_BUILD = getLibreBuild();
|
||||
public static final String SDK_VERSION = getSdkVersion();
|
||||
|
||||
public AppInfoModule(ReactApplicationContext reactContext) {
|
||||
super(reactContext);
|
||||
@@ -79,6 +80,7 @@ class AppInfoModule
|
||||
constants.put(
|
||||
"version",
|
||||
packageInfo == null ? "" : packageInfo.versionName);
|
||||
constants.put("sdkVersion", SDK_VERSION);
|
||||
constants.put("LIBRE_BUILD", LIBRE_BUILD);
|
||||
constants.put("GOOGLE_SERVICES_ENABLED", GOOGLE_SERVICES_ENABLED);
|
||||
|
||||
@@ -116,6 +118,19 @@ class AppInfoModule
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets the SDK version.
|
||||
*/
|
||||
private static String getSdkVersion() {
|
||||
Object sdkVersion = getBuildConfigValue("SDK_VERSION");
|
||||
|
||||
if (sdkVersion !=null) {
|
||||
return (String) sdkVersion;
|
||||
}
|
||||
|
||||
return "";
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets build config value of a certain field.
|
||||
*
|
||||
|
||||
@@ -87,6 +87,7 @@ class AudioDeviceHandlerGeneric implements
|
||||
devices.add(AudioModeModule.DEVICE_EARPIECE);
|
||||
break;
|
||||
case AudioDeviceInfo.TYPE_BUILTIN_SPEAKER:
|
||||
case AudioDeviceInfo.TYPE_HDMI:
|
||||
devices.add(AudioModeModule.DEVICE_SPEAKER);
|
||||
break;
|
||||
case AudioDeviceInfo.TYPE_WIRED_HEADPHONES:
|
||||
|
||||
@@ -89,7 +89,9 @@ public class BroadcastEvent {
|
||||
CHAT_MESSAGE_RECEIVED("org.jitsi.meet.CHAT_MESSAGE_RECEIVED"),
|
||||
CHAT_TOGGLED("org.jitsi.meet.CHAT_TOGGLED"),
|
||||
VIDEO_MUTED_CHANGED("org.jitsi.meet.VIDEO_MUTED_CHANGED"),
|
||||
READY_TO_CLOSE("org.jitsi.meet.READY_TO_CLOSE");
|
||||
READY_TO_CLOSE("org.jitsi.meet.READY_TO_CLOSE"),
|
||||
TRANSCRIPTION_CHUNK_RECEIVED("org.jitsi.meet.TRANSCRIPTION_CHUNK_RECEIVED"),
|
||||
CUSTOM_OVERFLOW_MENU_BUTTON_PRESSED("org.jitsi.meet.CUSTOM_OVERFLOW_MENU_BUTTON_PRESSED");
|
||||
|
||||
private static final String CONFERENCE_BLURRED_NAME = "CONFERENCE_BLURRED";
|
||||
private static final String CONFERENCE_FOCUSED_NAME = "CONFERENCE_FOCUSED";
|
||||
@@ -106,6 +108,8 @@ public class BroadcastEvent {
|
||||
private static final String CHAT_TOGGLED_NAME = "CHAT_TOGGLED";
|
||||
private static final String VIDEO_MUTED_CHANGED_NAME = "VIDEO_MUTED_CHANGED";
|
||||
private static final String READY_TO_CLOSE_NAME = "READY_TO_CLOSE";
|
||||
private static final String TRANSCRIPTION_CHUNK_RECEIVED_NAME = "TRANSCRIPTION_CHUNK_RECEIVED";
|
||||
private static final String CUSTOM_OVERFLOW_MENU_BUTTON_PRESSED_NAME = "CUSTOM_OVERFLOW_MENU_BUTTON_PRESSED";
|
||||
|
||||
private final String action;
|
||||
|
||||
@@ -158,6 +162,10 @@ public class BroadcastEvent {
|
||||
return VIDEO_MUTED_CHANGED;
|
||||
case READY_TO_CLOSE_NAME:
|
||||
return READY_TO_CLOSE;
|
||||
case TRANSCRIPTION_CHUNK_RECEIVED_NAME:
|
||||
return TRANSCRIPTION_CHUNK_RECEIVED;
|
||||
case CUSTOM_OVERFLOW_MENU_BUTTON_PRESSED_NAME:
|
||||
return CUSTOM_OVERFLOW_MENU_BUTTON_PRESSED;
|
||||
}
|
||||
|
||||
return null;
|
||||
|
||||
@@ -54,6 +54,8 @@ public class JitsiMeetActivity extends AppCompatActivity
|
||||
private static final String ACTION_JITSI_MEET_CONFERENCE = "org.jitsi.meet.CONFERENCE";
|
||||
private static final String JITSI_MEET_CONFERENCE_OPTIONS = "JitsiMeetConferenceOptions";
|
||||
|
||||
private boolean isReadyToClose;
|
||||
|
||||
private final BroadcastReceiver broadcastReceiver = new BroadcastReceiver() {
|
||||
@Override
|
||||
public void onReceive(Context context, Intent intent) {
|
||||
@@ -124,6 +126,8 @@ public class JitsiMeetActivity extends AppCompatActivity
|
||||
|
||||
@Override
|
||||
public void onDestroy() {
|
||||
JitsiMeetLogger.i("onDestroy()");
|
||||
|
||||
// Here we are trying to handle the following corner case: an application using the SDK
|
||||
// is using this Activity for displaying meetings, but there is another "main" Activity
|
||||
// with other content. If this Activity is "swiped out" from the recent list we will get
|
||||
@@ -131,7 +135,10 @@ public class JitsiMeetActivity extends AppCompatActivity
|
||||
// current meeting, but when our view is detached from React the JS <-> Native bridge won't
|
||||
// be operational so the external API won't be able to notify the native side that the
|
||||
// conference terminated. Thus, try our best to clean up.
|
||||
leave();
|
||||
if (!isReadyToClose) {
|
||||
JitsiMeetLogger.i("onDestroy(): leaving...");
|
||||
leave();
|
||||
}
|
||||
|
||||
this.jitsiView = null;
|
||||
|
||||
@@ -149,8 +156,12 @@ public class JitsiMeetActivity extends AppCompatActivity
|
||||
|
||||
@Override
|
||||
public void finish() {
|
||||
leave();
|
||||
if (!isReadyToClose) {
|
||||
JitsiMeetLogger.i("finish(): leaving...");
|
||||
leave();
|
||||
}
|
||||
|
||||
JitsiMeetLogger.i("finish(): finishing...");
|
||||
super.finish();
|
||||
}
|
||||
|
||||
@@ -170,8 +181,8 @@ public class JitsiMeetActivity extends AppCompatActivity
|
||||
}
|
||||
|
||||
public void join(JitsiMeetConferenceOptions options) {
|
||||
if (this.jitsiView != null) {
|
||||
this.jitsiView .join(options);
|
||||
if (this.jitsiView != null) {
|
||||
this.jitsiView.join(options);
|
||||
} else {
|
||||
JitsiMeetLogger.w("Cannot join, view is null");
|
||||
}
|
||||
@@ -252,9 +263,18 @@ public class JitsiMeetActivity extends AppCompatActivity
|
||||
|
||||
protected void onReadyToClose() {
|
||||
JitsiMeetLogger.i("SDK is ready to close");
|
||||
isReadyToClose = true;
|
||||
finish();
|
||||
}
|
||||
|
||||
// protected void onTranscriptionChunkReceived(HashMap<String, Object> extraData) {
|
||||
// JitsiMeetLogger.i("Transcription chunk received: " + extraData);
|
||||
// }
|
||||
|
||||
// protected void onCustomOverflowMenuButtonPressed(HashMap<String, Object> extraData) {
|
||||
// JitsiMeetLogger.i("Custom overflow menu button pressed: " + extraData);
|
||||
// }
|
||||
|
||||
// Activity lifecycle methods
|
||||
//
|
||||
|
||||
@@ -286,8 +306,8 @@ public class JitsiMeetActivity extends AppCompatActivity
|
||||
|
||||
@Override
|
||||
protected void onUserLeaveHint() {
|
||||
if (this.jitsiView != null) {
|
||||
this.jitsiView .enterPictureInPicture();
|
||||
if (this.jitsiView != null) {
|
||||
this.jitsiView.enterPictureInPicture();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -338,6 +358,12 @@ public class JitsiMeetActivity extends AppCompatActivity
|
||||
case READY_TO_CLOSE:
|
||||
onReadyToClose();
|
||||
break;
|
||||
// case TRANSCRIPTION_CHUNK_RECEIVED:
|
||||
// onTranscriptionChunkReceived(event.getData());
|
||||
// break;
|
||||
// case CUSTOM_OVERFLOW_MENU_BUTTON_PRESSED:
|
||||
// onCustomOverflowMenuButtonPressed(event.getData());
|
||||
// break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -21,6 +21,7 @@ import android.os.Parcel;
|
||||
import android.os.Parcelable;
|
||||
|
||||
import java.net.URL;
|
||||
import java.util.ArrayList;
|
||||
|
||||
|
||||
/**
|
||||
@@ -229,6 +230,12 @@ public class JitsiMeetConferenceOptions implements Parcelable {
|
||||
return this;
|
||||
}
|
||||
|
||||
public Builder setConfigOverride(String config, ArrayList<Bundle> arrayList) {
|
||||
this.config.putParcelableArrayList(config, arrayList);
|
||||
|
||||
return this;
|
||||
}
|
||||
|
||||
/**
|
||||
* Builds the immutable {@link JitsiMeetConferenceOptions} object with the configuration
|
||||
* that this {@link Builder} instance specified.
|
||||
@@ -263,11 +270,6 @@ public class JitsiMeetConferenceOptions implements Parcelable {
|
||||
Bundle asProps() {
|
||||
Bundle props = new Bundle();
|
||||
|
||||
// Android always has the PiP flag set by default.
|
||||
if (!featureFlags.containsKey("pip.enabled")) {
|
||||
featureFlags.putBoolean("pip.enabled", true);
|
||||
}
|
||||
|
||||
props.putBundle("flags", featureFlags);
|
||||
|
||||
Bundle urlProps = new Bundle();
|
||||
|
||||
@@ -16,6 +16,10 @@
|
||||
|
||||
package org.jitsi.meet.sdk;
|
||||
|
||||
import static android.Manifest.permission.POST_NOTIFICATIONS;
|
||||
import static android.Manifest.permission.RECORD_AUDIO;
|
||||
|
||||
import android.app.Activity;
|
||||
import android.app.Notification;
|
||||
import android.app.NotificationManager;
|
||||
import android.app.Service;
|
||||
@@ -23,15 +27,22 @@ import android.content.ComponentName;
|
||||
import android.content.Context;
|
||||
import android.content.Intent;
|
||||
import android.content.IntentFilter;
|
||||
import android.content.pm.PackageManager;
|
||||
import android.content.pm.ServiceInfo;
|
||||
import android.os.Build;
|
||||
import android.os.Bundle;
|
||||
import android.os.IBinder;
|
||||
|
||||
import androidx.localbroadcastmanager.content.LocalBroadcastManager;
|
||||
|
||||
import com.facebook.react.modules.core.PermissionListener;
|
||||
|
||||
import org.jitsi.meet.sdk.log.JitsiMeetLogger;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Random;
|
||||
|
||||
/**
|
||||
* This class implements an Android {@link Service}, a foreground one specifically, and it's
|
||||
@@ -40,25 +51,34 @@ import java.util.HashMap;
|
||||
*
|
||||
* See: https://developer.android.com/guide/components/services
|
||||
*/
|
||||
public class JitsiMeetOngoingConferenceService extends Service
|
||||
implements OngoingConferenceTracker.OngoingConferenceListener {
|
||||
public class JitsiMeetOngoingConferenceService extends Service implements OngoingConferenceTracker.OngoingConferenceListener {
|
||||
private static final String TAG = JitsiMeetOngoingConferenceService.class.getSimpleName();
|
||||
private static final String ACTIVITY_DATA_KEY = "activityDataKey";
|
||||
private static final String EXTRA_DATA_KEY = "extraDataKey";
|
||||
private static final String EXTRA_DATA_BUNDLE_KEY = "extraDataBundleKey";
|
||||
private static final String IS_AUDIO_MUTED_KEY = "isAudioMuted";
|
||||
|
||||
private static final int PERMISSIONS_REQUEST_CODE = (int) (Math.random() * Short.MAX_VALUE);
|
||||
|
||||
private final BroadcastReceiver broadcastReceiver = new BroadcastReceiver();
|
||||
|
||||
private boolean isAudioMuted;
|
||||
private Class tapBackActivity;
|
||||
|
||||
public static void launch(Context context, HashMap<String, Object> extraData) {
|
||||
OngoingNotification.createOngoingConferenceNotificationChannel();
|
||||
static final int NOTIFICATION_ID = new Random().nextInt(99999) + 10000;
|
||||
|
||||
private static void doLaunch(Context context, HashMap<String, Object> extraData) {
|
||||
Activity activity = (Activity) context;
|
||||
|
||||
OngoingNotification.createNotificationChannel(activity);
|
||||
|
||||
Intent intent = new Intent(context, JitsiMeetOngoingConferenceService.class);
|
||||
|
||||
Bundle extraDataBundle = new Bundle();
|
||||
extraDataBundle.putSerializable(EXTRA_DATA_KEY, extraData);
|
||||
|
||||
intent.putExtra(EXTRA_DATA_BUNDLE_KEY, extraDataBundle);
|
||||
intent.putExtra(ACTIVITY_DATA_KEY, activity.getClass().getCanonicalName());
|
||||
|
||||
ComponentName componentName;
|
||||
|
||||
@@ -80,6 +100,55 @@ public class JitsiMeetOngoingConferenceService extends Service
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
public static void launch(Context context, HashMap<String, Object> extraData) {
|
||||
List<String> permissionsList = new ArrayList<>();
|
||||
|
||||
PermissionListener listener = new PermissionListener() {
|
||||
@Override
|
||||
public boolean onRequestPermissionsResult(int i, String[] strings, int[] results) {
|
||||
int counter = 0;
|
||||
|
||||
if (results.length > 0) {
|
||||
for (int result : results) {
|
||||
if (result == PackageManager.PERMISSION_GRANTED) {
|
||||
counter++;
|
||||
}
|
||||
}
|
||||
|
||||
if (counter == results.length){
|
||||
doLaunch(context, extraData);
|
||||
JitsiMeetLogger.w(TAG + " Service launched, permissions were granted");
|
||||
} else {
|
||||
JitsiMeetLogger.w(TAG + " Couldn't launch service, permissions were not granted");
|
||||
}
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
};
|
||||
|
||||
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.TIRAMISU) {
|
||||
permissionsList.add(POST_NOTIFICATIONS);
|
||||
permissionsList.add(RECORD_AUDIO);
|
||||
}
|
||||
|
||||
String[] permissionsArray = new String[ permissionsList.size() ];
|
||||
permissionsArray = permissionsList.toArray( permissionsArray );
|
||||
|
||||
if (permissionsArray.length > 0) {
|
||||
JitsiMeetActivityDelegate.requestPermissions(
|
||||
(Activity) context,
|
||||
permissionsArray,
|
||||
PERMISSIONS_REQUEST_CODE,
|
||||
listener
|
||||
);
|
||||
} else {
|
||||
doLaunch(context, extraData);
|
||||
JitsiMeetLogger.w(TAG + " Service launched");
|
||||
}
|
||||
}
|
||||
|
||||
public static void abort(Context context) {
|
||||
Intent intent = new Intent(context, JitsiMeetOngoingConferenceService.class);
|
||||
context.stopService(intent);
|
||||
@@ -89,13 +158,18 @@ public class JitsiMeetOngoingConferenceService extends Service
|
||||
public void onCreate() {
|
||||
super.onCreate();
|
||||
|
||||
Notification notification = OngoingNotification.buildOngoingConferenceNotification(isAudioMuted);
|
||||
Notification notification = OngoingNotification.buildOngoingConferenceNotification(isAudioMuted, this, tapBackActivity);
|
||||
if (notification == null) {
|
||||
stopSelf();
|
||||
JitsiMeetLogger.w(TAG + " Couldn't start service, notification is null");
|
||||
} else {
|
||||
startForeground(OngoingNotification.NOTIFICATION_ID, notification);
|
||||
JitsiMeetLogger.i(TAG + " Service started");
|
||||
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.R) {
|
||||
startForeground(NOTIFICATION_ID, notification, ServiceInfo.FOREGROUND_SERVICE_TYPE_MEDIA_PLAYBACK | ServiceInfo.FOREGROUND_SERVICE_TYPE_MICROPHONE);
|
||||
} else if (Build.VERSION.SDK_INT == Build.VERSION_CODES.Q) {
|
||||
startForeground(NOTIFICATION_ID, notification, ServiceInfo.FOREGROUND_SERVICE_TYPE_MEDIA_PLAYBACK);
|
||||
} else {
|
||||
startForeground(NOTIFICATION_ID, notification);
|
||||
}
|
||||
}
|
||||
|
||||
OngoingConferenceTracker.getInstance().addListener(this);
|
||||
@@ -120,25 +194,37 @@ public class JitsiMeetOngoingConferenceService extends Service
|
||||
|
||||
@Override
|
||||
public int onStartCommand(Intent intent, int flags, int startId) {
|
||||
final String actionName = intent.getAction();
|
||||
final Action action = Action.fromName(actionName);
|
||||
|
||||
Boolean isAudioMuted = tryParseIsAudioMuted(intent);
|
||||
if (action != Action.HANGUP) {
|
||||
Boolean isAudioMuted = tryParseIsAudioMuted(intent);
|
||||
|
||||
if (isAudioMuted != null) {
|
||||
this.isAudioMuted = Boolean.parseBoolean(intent.getStringExtra("muted"));
|
||||
if (isAudioMuted != null) {
|
||||
this.isAudioMuted = Boolean.parseBoolean(intent.getStringExtra("muted"));
|
||||
}
|
||||
|
||||
Notification notification = OngoingNotification.buildOngoingConferenceNotification(isAudioMuted);
|
||||
if (tapBackActivity == null) {
|
||||
String targetActivityName = intent.getExtras().getString(ACTIVITY_DATA_KEY);
|
||||
Class<? extends Activity> targetActivity = null;
|
||||
try {
|
||||
targetActivity = Class.forName(targetActivityName).asSubclass(Activity.class);
|
||||
tapBackActivity = targetActivity;
|
||||
} catch (ClassNotFoundException e) {
|
||||
JitsiMeetLogger.w(TAG + " Could not find target Activity: " + targetActivityName);
|
||||
}
|
||||
}
|
||||
|
||||
Notification notification = OngoingNotification.buildOngoingConferenceNotification(this.isAudioMuted, this, tapBackActivity);
|
||||
if (notification == null) {
|
||||
stopSelf();
|
||||
JitsiMeetLogger.w(TAG + " Couldn't start service, notification is null");
|
||||
} else {
|
||||
NotificationManager notificationManager = (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE);
|
||||
notificationManager.notify(OngoingNotification.NOTIFICATION_ID, notification);
|
||||
notificationManager.notify(NOTIFICATION_ID, notification);
|
||||
}
|
||||
}
|
||||
|
||||
final String actionName = intent.getAction();
|
||||
final Action action = Action.fromName(actionName);
|
||||
|
||||
// When starting the service, there is no action passed in the intent
|
||||
if (action != null) {
|
||||
switch (action) {
|
||||
@@ -211,14 +297,15 @@ public class JitsiMeetOngoingConferenceService extends Service
|
||||
|
||||
@Override
|
||||
public void onReceive(Context context, Intent intent) {
|
||||
Class tapBackActivity = JitsiMeetOngoingConferenceService.this.tapBackActivity;
|
||||
isAudioMuted = Boolean.parseBoolean(intent.getStringExtra("muted"));
|
||||
Notification notification = OngoingNotification.buildOngoingConferenceNotification(isAudioMuted);
|
||||
Notification notification = OngoingNotification.buildOngoingConferenceNotification(isAudioMuted, context, tapBackActivity);
|
||||
if (notification == null) {
|
||||
stopSelf();
|
||||
JitsiMeetLogger.w(TAG + " Couldn't update service, notification is null");
|
||||
} else {
|
||||
NotificationManager notificationManager = (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE);
|
||||
notificationManager.notify(OngoingNotification.NOTIFICATION_ID, notification);
|
||||
notificationManager.notify(NOTIFICATION_ID, notification);
|
||||
|
||||
JitsiMeetLogger.i(TAG + " audio muted changed");
|
||||
}
|
||||
|
||||
@@ -1,10 +0,0 @@
|
||||
package org.jitsi.meet.sdk;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
public class NotificationChannels {
|
||||
static final String ONGOING_CONFERENCE_CHANNEL_ID = "JitsiOngoingConferenceChannel";
|
||||
|
||||
public static List<String> allIds = new ArrayList<String>() {{ add(ONGOING_CONFERENCE_CHANNEL_ID); }};
|
||||
}
|
||||
@@ -16,22 +16,21 @@
|
||||
|
||||
package org.jitsi.meet.sdk;
|
||||
|
||||
import static org.jitsi.meet.sdk.NotificationChannels.ONGOING_CONFERENCE_CHANNEL_ID;
|
||||
import org.jitsi.meet.sdk.log.JitsiMeetLogger;
|
||||
|
||||
import android.app.Notification;
|
||||
import android.app.Activity;
|
||||
import android.app.NotificationChannel;
|
||||
import android.app.NotificationManager;
|
||||
import android.app.Notification;
|
||||
import android.app.PendingIntent;
|
||||
import android.content.Context;
|
||||
import android.content.Intent;
|
||||
import android.os.Build;
|
||||
|
||||
import androidx.annotation.StringRes;
|
||||
import androidx.core.app.NotificationCompat;
|
||||
|
||||
import org.jitsi.meet.sdk.log.JitsiMeetLogger;
|
||||
import android.os.Build;
|
||||
|
||||
import java.util.Random;
|
||||
|
||||
/**
|
||||
* Helper class for creating the ongoing notification which is used with
|
||||
@@ -41,15 +40,15 @@ import java.util.Random;
|
||||
class OngoingNotification {
|
||||
private static final String TAG = OngoingNotification.class.getSimpleName();
|
||||
|
||||
static final int NOTIFICATION_ID = new Random().nextInt(99999) + 10000;
|
||||
private static long startingTime = 0;
|
||||
|
||||
static void createOngoingConferenceNotificationChannel() {
|
||||
static final String ONGOING_CONFERENCE_CHANNEL_ID = "JitsiOngoingConferenceChannel";
|
||||
|
||||
static void createNotificationChannel(Activity context) {
|
||||
if (Build.VERSION.SDK_INT < Build.VERSION_CODES.O) {
|
||||
return;
|
||||
}
|
||||
|
||||
Context context = ReactInstanceManagerHolder.getCurrentActivity();
|
||||
if (context == null) {
|
||||
JitsiMeetLogger.w(TAG + " Cannot create notification channel: no current context");
|
||||
return;
|
||||
@@ -60,12 +59,13 @@ class OngoingNotification {
|
||||
|
||||
NotificationChannel channel
|
||||
= notificationManager.getNotificationChannel(ONGOING_CONFERENCE_CHANNEL_ID);
|
||||
|
||||
if (channel != null) {
|
||||
// The channel was already created, no need to do it again.
|
||||
return;
|
||||
}
|
||||
|
||||
channel = new NotificationChannel(ONGOING_CONFERENCE_CHANNEL_ID, context.getString(R.string.ongoing_notification_action_unmute), NotificationManager.IMPORTANCE_DEFAULT);
|
||||
channel = new NotificationChannel(ONGOING_CONFERENCE_CHANNEL_ID, context.getString(R.string.ongoing_notification_channel_name), NotificationManager.IMPORTANCE_DEFAULT);
|
||||
channel.enableLights(false);
|
||||
channel.enableVibration(false);
|
||||
channel.setShowBadge(false);
|
||||
@@ -73,14 +73,13 @@ class OngoingNotification {
|
||||
notificationManager.createNotificationChannel(channel);
|
||||
}
|
||||
|
||||
static Notification buildOngoingConferenceNotification(boolean isMuted) {
|
||||
Context context = ReactInstanceManagerHolder.getCurrentActivity();
|
||||
static Notification buildOngoingConferenceNotification(Boolean isMuted, Context context, Class tapBackActivity) {
|
||||
if (context == null) {
|
||||
JitsiMeetLogger.w(TAG + " Cannot create notification: no current context");
|
||||
return null;
|
||||
}
|
||||
|
||||
Intent notificationIntent = new Intent(context, context.getClass());
|
||||
Intent notificationIntent = new Intent(context, tapBackActivity == null ? context.getClass() : tapBackActivity);
|
||||
PendingIntent pendingIntent = PendingIntent.getActivity(context, 0, notificationIntent, PendingIntent.FLAG_IMMUTABLE);
|
||||
|
||||
NotificationCompat.Builder builder = new NotificationCompat.Builder(context, ONGOING_CONFERENCE_CHANNEL_ID);
|
||||
|
||||
@@ -21,13 +21,13 @@ import android.util.Log;
|
||||
|
||||
import androidx.annotation.Nullable;
|
||||
|
||||
import com.facebook.hermes.reactexecutor.HermesExecutorFactory;
|
||||
import com.facebook.react.ReactInstanceManager;
|
||||
import com.facebook.react.ReactPackage;
|
||||
import com.facebook.react.bridge.NativeModule;
|
||||
import com.facebook.react.bridge.ReactApplicationContext;
|
||||
import com.facebook.react.bridge.ReactContext;
|
||||
import com.facebook.react.common.LifecycleState;
|
||||
import com.facebook.react.jscexecutor.JSCExecutorFactory;
|
||||
import com.facebook.react.modules.core.DeviceEventManagerModule;
|
||||
import com.facebook.react.uimanager.ViewManager;
|
||||
import com.oney.WebRTCModule.EglUtils;
|
||||
@@ -37,6 +37,7 @@ import com.oney.WebRTCModule.webrtcutils.H264AndSoftwareVideoEncoderFactory;
|
||||
|
||||
import org.devio.rn.splashscreen.SplashScreenModule;
|
||||
import org.webrtc.EglBase;
|
||||
import org.webrtc.Logging;
|
||||
|
||||
import java.lang.reflect.Constructor;
|
||||
import java.util.ArrayList;
|
||||
@@ -155,11 +156,6 @@ class ReactInstanceManagerHolder {
|
||||
return packages;
|
||||
}
|
||||
|
||||
static JSCExecutorFactory getReactNativeJSFactory() {
|
||||
// Keep on using JSC, the jury is out on Hermes.
|
||||
return new JSCExecutorFactory("", "");
|
||||
}
|
||||
|
||||
/**
|
||||
* Helper function to send an event to JavaScript.
|
||||
*
|
||||
@@ -204,18 +200,6 @@ class ReactInstanceManagerHolder {
|
||||
? reactContext.getNativeModule(nativeModuleClass) : null;
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets the current {@link Activity} linked to React Native.
|
||||
*
|
||||
* @return An activity attached to React Native.
|
||||
*/
|
||||
static Activity getCurrentActivity() {
|
||||
ReactContext reactContext
|
||||
= reactInstanceManager != null
|
||||
? reactInstanceManager.getCurrentReactContext() : null;
|
||||
return reactContext != null ? reactContext.getCurrentActivity() : null;
|
||||
}
|
||||
|
||||
static ReactInstanceManager getReactInstanceManager() {
|
||||
return reactInstanceManager;
|
||||
}
|
||||
@@ -240,6 +224,8 @@ class ReactInstanceManagerHolder {
|
||||
|
||||
options.videoDecoderFactory = new H264AndSoftwareVideoDecoderFactory(eglContext);
|
||||
options.videoEncoderFactory = new H264AndSoftwareVideoEncoderFactory(eglContext);
|
||||
options.enableMediaProjectionService = true;
|
||||
// options.loggingSeverity = Logging.Severity.LS_INFO;
|
||||
|
||||
Log.d(TAG, "initializing RN with Activity");
|
||||
|
||||
@@ -249,7 +235,7 @@ class ReactInstanceManagerHolder {
|
||||
.setCurrentActivity(activity)
|
||||
.setBundleAssetName("index.android.bundle")
|
||||
.setJSMainModulePath("index.android")
|
||||
.setJavaScriptExecutorFactory(getReactNativeJSFactory())
|
||||
.setJavaScriptExecutorFactory(new HermesExecutorFactory())
|
||||
.addPackages(getReactNativePackages())
|
||||
.setUseDeveloperSupport(BuildConfig.DEBUG)
|
||||
.setInitialLifecycleState(LifecycleState.RESUMED)
|
||||
|
||||
9
android/sdk/src/main/res/values-ru/strings.xml
Normal file
9
android/sdk/src/main/res/values-ru/strings.xml
Normal file
@@ -0,0 +1,9 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<resources>
|
||||
<string name="ongoing_notification_title">Текущая встреча</string>
|
||||
<string name="ongoing_notification_text">Нажмите, чтобы вернуться к встрече.</string>
|
||||
<string name="ongoing_notification_action_hang_up">Отключиться</string>
|
||||
<string name="ongoing_notification_action_mute">Отключить звук</string>
|
||||
<string name="ongoing_notification_action_unmute">Включить звук</string>
|
||||
<string name="ongoing_notification_channel_name">Ongoing Conference Notifications</string>
|
||||
</resources>
|
||||
@@ -1,6 +1,8 @@
|
||||
<resources>
|
||||
<string name="app_name">Jitsi Meet SDK</string>
|
||||
<string name="dropbox_app_key"></string>
|
||||
<string name="media_projection_notification_title">Media projection</string>
|
||||
<string name="media_projection_notification_text">You are currently sharing your screen.</string>
|
||||
<string name="ongoing_notification_title">Ongoing meeting</string>
|
||||
<string name="ongoing_notification_text">You are currently in a meeting. Tap to return to it.</string>
|
||||
<string name="ongoing_notification_action_hang_up">Hang up</string>
|
||||
|
||||
@@ -11,7 +11,7 @@ project(':react-native-background-timer').projectDir = new File(rootProject.proj
|
||||
include ':react-native-calendar-events'
|
||||
project(':react-native-calendar-events').projectDir = new File(rootProject.projectDir, '../node_modules/react-native-calendar-events/android')
|
||||
include ':react-native-community_clipboard'
|
||||
project(':react-native-community_clipboard').projectDir = new File(rootProject.projectDir, '../node_modules/@react-native-community/clipboard/android')
|
||||
project(':react-native-community_clipboard').projectDir = new File(rootProject.projectDir, '../node_modules/@react-native-clipboard/clipboard/android')
|
||||
include ':react-native-community_netinfo'
|
||||
project(':react-native-community_netinfo').projectDir = new File(rootProject.projectDir, '../node_modules/@react-native-community/netinfo/android')
|
||||
include ':react-native-default-preference'
|
||||
|
||||
@@ -5,5 +5,12 @@ module.exports = {
|
||||
plugins: [ 'react-native-paper/babel' ]
|
||||
}
|
||||
},
|
||||
plugins: [ 'optional-require' ]
|
||||
|
||||
// This happens because react native has conflict with @babel/plugin-transform-private-methods plugin
|
||||
// https://github.com/ethers-io/ethers.js/discussions/4309#discussioncomment-6694524
|
||||
plugins: [ 'optional-require',
|
||||
[ '@babel/plugin-transform-private-methods', {
|
||||
'loose': true
|
||||
} ]
|
||||
]
|
||||
};
|
||||
|
||||
717
conference.js
717
conference.js
File diff suppressed because it is too large
Load Diff
205
config.js
205
config.js
@@ -59,6 +59,10 @@ var config = {
|
||||
// https://github.com/jitsi/jitsi-meet/issues/7376
|
||||
// focusUserJid: 'focus@auth.jitsi-meet.example.com',
|
||||
|
||||
// Option to send conference requests to jicofo over http (requires nginx rule for it)
|
||||
// conferenceRequestUrl:
|
||||
// 'https://<!--# echo var="http_host" default="jitsi-meet.example.com" -->/' + subdir + 'conference-request/v1',
|
||||
|
||||
// Options related to the bridge (colibri) data channel
|
||||
bridgeChannel: {
|
||||
// If the backend advertises multiple colibri websockets, this options allows
|
||||
@@ -80,15 +84,8 @@ var config = {
|
||||
// Allows the setting of a custom bandwidth value from the UI.
|
||||
// assumeBandwidth: true,
|
||||
|
||||
// Disables the End to End Encryption feature. Useful for debugging
|
||||
// issues related to insertable streams.
|
||||
// disableE2EE: false,
|
||||
|
||||
// Enables supports for AV1 codec.
|
||||
// enableAv1: false,
|
||||
|
||||
// Enables XMPP WebSocket (as opposed to BOSH) for the given amount of users.
|
||||
// mobileXmppWsThreshold: 10, // enable XMPP WebSockets on mobile for 10% of the users
|
||||
// Enables the use of the codec selection API supported by the browsers .
|
||||
// enableCodecSelectionAPI: false,
|
||||
|
||||
// P2P test mode disables automatic switching to P2P when there are 2
|
||||
// participants in the conference.
|
||||
@@ -103,6 +100,9 @@ var config = {
|
||||
|
||||
// Experiment: Whether to skip interim transcriptions.
|
||||
// skipInterimTranscriptions: false,
|
||||
|
||||
// Dump transcripts to a <transcript> element for debugging.
|
||||
// dumpTranscript: false,
|
||||
},
|
||||
|
||||
// Disables moderator indicators.
|
||||
@@ -117,6 +117,9 @@ var config = {
|
||||
// Disables polls feature.
|
||||
// disablePolls: false,
|
||||
|
||||
// Disables demote button from self-view
|
||||
// disableSelfDemote: false,
|
||||
|
||||
// Disables self-view tile. (hides it from tile view and from filmstrip)
|
||||
// disableSelfView: false,
|
||||
|
||||
@@ -206,14 +209,45 @@ var config = {
|
||||
// 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.
|
||||
// - https://meet.example.com/libs/krisp/models/model_nc.kw
|
||||
// - https://meet.example.com/libs/krisp/models/model_bvc.kw
|
||||
// - https://meet.example.com/libs/krisp/assets/bvc-allowed.txt
|
||||
// In case when you have known BVC supported devices and you want to extend allowed devices list
|
||||
// - https://meet.example.com/libs/krisp/assets/bvc-allowed-ext.txt
|
||||
// In case when you have known BVC supported devices and you want to extend allowed devices list
|
||||
// - https://meet.example.com/libs/krisp/models/model_inbound_8.kw
|
||||
// - https://meet.example.com/libs/krisp/models/model_inbound_16.kw
|
||||
// In case when you want to use inbound noise suppression models
|
||||
// NOTE: Krisp JS SDK v2.0.0 was tested.
|
||||
// noiseSuppression: {
|
||||
// krisp: {
|
||||
// enabled: false,
|
||||
// logProcessStats: false,
|
||||
// debugLogs: false,
|
||||
// useBVC: false,
|
||||
// bufferOverflowMS: 1000,
|
||||
// inboundModels: {
|
||||
// modelInbound8: 'model_inbound_8.kef',
|
||||
// modelInbound16: 'model_inbound_16.kef',
|
||||
// },
|
||||
// preloadInboundModels: {
|
||||
// modelInbound8: 'model_inbound_8.kef',
|
||||
// modelInbound16: 'model_inbound_16.kef',
|
||||
// },
|
||||
// preloadModels: {
|
||||
// modelBVC: 'model_bvc.kef',
|
||||
// model8: 'model_8.kef',
|
||||
// modelNC: 'model_nc_mq.kef',
|
||||
// },
|
||||
// models: {
|
||||
// modelBVC: 'model_bvc.kef',
|
||||
// model8: 'model_8.kef',
|
||||
// modelNV: 'model_nc_mq.kef',
|
||||
// },
|
||||
// bvc: {
|
||||
// allowedDevices: 'bvc-allowed.txt',
|
||||
// allowedDevicesExt: 'bvc-allowed-ext.txt',
|
||||
// }
|
||||
// },
|
||||
// },
|
||||
|
||||
@@ -225,9 +259,26 @@ var config = {
|
||||
// Sets the preferred resolution (height) for local video. Defaults to 720.
|
||||
// resolution: 720,
|
||||
|
||||
// DEPRECATED. Please use raisedHands.disableRemoveRaisedHandOnFocus instead.
|
||||
// Specifies whether the raised hand will hide when someone becomes a dominant speaker or not
|
||||
// disableRemoveRaisedHandOnFocus: false,
|
||||
|
||||
// Specifies which raised hand related config should be set.
|
||||
// raisedHands: {
|
||||
// // Specifies whether the raised hand can be lowered by moderator.
|
||||
// disableLowerHandByModerator: false,
|
||||
|
||||
// // Specifies whether there is a notification before hiding the raised hand
|
||||
// // when someone becomes the dominant speaker.
|
||||
// disableLowerHandNotification: true,
|
||||
|
||||
// // Specifies whether there is a notification when you are the next speaker in line.
|
||||
// disableNextSpeakerNotification: false,
|
||||
|
||||
// // Specifies whether the raised hand will hide when someone becomes a dominant speaker or not.
|
||||
// disableRemoveRaisedHandOnFocus: false,
|
||||
// },
|
||||
|
||||
// speakerStats: {
|
||||
// // Specifies whether the speaker stats is enable or not.
|
||||
// disabled: false,
|
||||
@@ -324,6 +375,20 @@ var config = {
|
||||
// 'https://jitsi-meet.example.com/subfolder/static/oauth.html',
|
||||
// },
|
||||
|
||||
// configuration for all things recording related. Existing settings will be migrated here in the future.
|
||||
// recordings: {
|
||||
// // IF true (default) recording audio and video is selected by default in the recording dialog.
|
||||
// // recordAudioAndVideo: true,
|
||||
// // If true, shows a notification at the start of the meeting with a call to action button
|
||||
// // to start recording (for users who can do so).
|
||||
// // suggestRecording: true,
|
||||
// // If true, shows a warning label in the prejoin screen to point out the possibility that
|
||||
// // the call you're joining might be recorded.
|
||||
// // showPrejoinWarning: true,
|
||||
// // If true, the notification for recording start will display a link to download the cloud recording.
|
||||
// // showRecordingLink: true,
|
||||
// },
|
||||
|
||||
// recordingService: {
|
||||
// // When integrations like dropbox are enabled only that will be shown,
|
||||
// // by enabling fileRecordingsServiceEnabled, we show both the integrations
|
||||
@@ -413,11 +478,12 @@ var config = {
|
||||
// // ./src/react/features/transcribing/transcriber-langs.json.
|
||||
// preferredLanguage: 'en-US',
|
||||
|
||||
// // Disable start transcription for all participants.
|
||||
// disableStartForAll: false,
|
||||
|
||||
// // Enables automatic turning on transcribing when recording is started
|
||||
// autoTranscribeOnRecord: false,
|
||||
|
||||
// // Enables automatic request of subtitles when transcriber is present in the meeting, uses the default
|
||||
// // language that is set
|
||||
// autoCaptionOnTranscribe: false,
|
||||
// },
|
||||
|
||||
// Misc
|
||||
@@ -443,7 +509,16 @@ var config = {
|
||||
// videoQuality: {
|
||||
//
|
||||
// // Provides a way to set the codec preference on desktop based endpoints.
|
||||
// codecPreferenceOrder: [ 'VP9', 'VP8', 'H264' ],
|
||||
// codecPreferenceOrder: [ 'VP9', 'VP8', 'H264', 'AV1' ],
|
||||
//
|
||||
// // Provides a way to set the codec for screenshare.
|
||||
// screenshareCodec: 'AV1',
|
||||
// mobileScreenshareCodec: 'VP8',
|
||||
//
|
||||
// // Enables the adaptive mode in the client that will make runtime adjustments to selected codecs and received
|
||||
// // videos for a better user experience. This mode will kick in only when CPU overuse is reported in the
|
||||
// // WebRTC statistics for the outbound video streams.
|
||||
// enableAdaptiveMode: false,
|
||||
//
|
||||
// // Codec specific settings for scalability modes and max bitrates.
|
||||
// av1: {
|
||||
@@ -451,6 +526,8 @@ var config = {
|
||||
// low: 100000,
|
||||
// standard: 300000,
|
||||
// high: 1000000,
|
||||
// fullHd: 2000000,
|
||||
// ultraHd: 4000000,
|
||||
// ssHigh: 2500000
|
||||
// },
|
||||
// scalabilityModeEnabled: true,
|
||||
@@ -462,6 +539,8 @@ var config = {
|
||||
// low: 200000,
|
||||
// standard: 500000,
|
||||
// high: 1500000,
|
||||
// fullHd: 3000000,
|
||||
// ultraHd: 6000000,
|
||||
// ssHigh: 2500000
|
||||
// },
|
||||
// scalabilityModeEnabled: true
|
||||
@@ -471,6 +550,8 @@ var config = {
|
||||
// low: 200000,
|
||||
// standard: 500000,
|
||||
// high: 1500000,
|
||||
// fullHd: 3000000,
|
||||
// ultraHd: 6000000,
|
||||
// ssHigh: 2500000
|
||||
// },
|
||||
// scalabilityModeEnabled: false
|
||||
@@ -480,12 +561,14 @@ var config = {
|
||||
// low: 100000,
|
||||
// standard: 300000,
|
||||
// high: 1200000,
|
||||
// fullHd: 2500000,
|
||||
// ultraHd: 5000000,
|
||||
// ssHigh: 2500000
|
||||
// },
|
||||
// scalabilityModeEnabled: true,
|
||||
// useSimulcast: false,
|
||||
// useKSVC: true
|
||||
// }
|
||||
// },
|
||||
//
|
||||
// DEPRECATED! Use `codec specific settings` instead.
|
||||
// // Provides a way to configure the maximum bitrates that will be enforced on the simulcast streams for
|
||||
@@ -580,14 +663,6 @@ var config = {
|
||||
// Disables or enables REMB support in this client (default: enabled).
|
||||
// enableRemb: true,
|
||||
|
||||
// Enables ICE restart logic in LJM and displays the page reload overlay on
|
||||
// ICE failure. Current disabled by default because it's causing issues with
|
||||
// signaling when Octo is enabled. Also when we do an "ICE restart"(which is
|
||||
// not a real ICE restart), the client maintains the TCC sequence number
|
||||
// counter, but the bridge resets it. The bridge sends media packets with
|
||||
// TCC sequence numbers starting from 0.
|
||||
// enableIceRestart: false,
|
||||
|
||||
// Enables forced reload of the client when the call is migrated as a result of
|
||||
// the bridge going down.
|
||||
// enableForcedReload: true,
|
||||
@@ -640,7 +715,7 @@ var config = {
|
||||
// // 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.
|
||||
// // If set, landing page will redirect to this URL.
|
||||
// customUrl: ''
|
||||
// },
|
||||
|
||||
@@ -713,7 +788,7 @@ var config = {
|
||||
// Configs for prejoin page.
|
||||
// prejoinConfig: {
|
||||
// // When 'true', it shows an intermediate page before joining, where the user can configure their devices.
|
||||
// // This replaces `prejoinPageEnabled`.
|
||||
// // This replaces `prejoinPageEnabled`. Defaults to true.
|
||||
// enabled: true,
|
||||
// // Hides the participant name editing field in the prejoin screen.
|
||||
// // If requireDisplayName is also set as true, a name should still be provided through
|
||||
@@ -721,6 +796,11 @@ var config = {
|
||||
// hideDisplayName: false,
|
||||
// // List of buttons to hide from the extra join options dropdown.
|
||||
// hideExtraJoinButtons: ['no-audio', 'by-phone'],
|
||||
// // Configuration for pre-call test
|
||||
// // By setting preCallTestEnabled, you enable the pre-call test in the prejoin page.
|
||||
// // ICE server credentials need to be provided over the preCallTestICEUrl
|
||||
// preCallTestEnabled: false,
|
||||
// preCallTestICEUrl: ''
|
||||
// },
|
||||
|
||||
// When 'true', the user cannot edit the display name.
|
||||
@@ -824,6 +904,22 @@ var config = {
|
||||
// autoHideWhileChatIsOpen: false,
|
||||
// },
|
||||
|
||||
// Overrides the buttons displayed in the main toolbar. Depending on the screen size the number of displayed
|
||||
// buttons varies from 2 buttons to 8 buttons. Every array in the mainToolbarButtons array will replace the
|
||||
// corresponding default buttons configuration matched by the number of buttons specified in the array. Arrays with
|
||||
// more than 8 buttons or less then 2 buttons will be ignored. When there there isn't an override for a cerain
|
||||
// configuration (for example when 3 buttons are displayed) the default jitsi-meet configuration will be used.
|
||||
// The order of the buttons in the array is preserved.
|
||||
// mainToolbarButtons: [
|
||||
// [ 'microphone', 'camera', 'desktop', 'chat', 'raisehand', 'reactions', 'participants-pane', 'tileview' ],
|
||||
// [ 'microphone', 'camera', 'desktop', 'chat', 'raisehand', 'participants-pane', 'tileview' ],
|
||||
// [ 'microphone', 'camera', 'desktop', 'chat', 'raisehand', 'participants-pane' ],
|
||||
// [ 'microphone', 'camera', 'desktop', 'chat', 'participants-pane' ],
|
||||
// [ 'microphone', 'camera', 'chat', 'participants-pane' ],
|
||||
// [ 'microphone', 'camera', 'chat' ],
|
||||
// [ 'microphone', 'camera' ]
|
||||
// ],
|
||||
|
||||
// Toolbar buttons which have their click/tap event exposed through the API on
|
||||
// `toolbarButtonClicked`. Passing a string for the button key will
|
||||
// prevent execution of the click/tap routine; passing an object with `key` and
|
||||
@@ -1010,6 +1106,10 @@ var config = {
|
||||
// Provides a way to set the codec preference on desktop based endpoints.
|
||||
// codecPreferenceOrder: [ 'VP9', 'VP8', 'H264 ],
|
||||
|
||||
// Provides a way to set the codec for screenshare.
|
||||
// screenshareCodec: 'AV1',
|
||||
// mobileScreenshareCodec: 'VP8',
|
||||
|
||||
// How long we're going to wait, before going back to P2P after the 3rd
|
||||
// participant has left the conference (to filter out page reload).
|
||||
// backToP2PDelay: 5,
|
||||
@@ -1161,6 +1261,7 @@ var config = {
|
||||
// warning: '',
|
||||
// },
|
||||
// externallyManagedKey: false,
|
||||
// disabled: false,
|
||||
// },
|
||||
|
||||
// Options related to end-to-end (participant to participant) ping.
|
||||
@@ -1197,9 +1298,17 @@ var config = {
|
||||
// https://firebase.google.com/docs/dynamic-links/create-manually
|
||||
// deeplinking: {
|
||||
//
|
||||
// // The desktop deeplinking config.
|
||||
// // The desktop deeplinking config, disabled by default.
|
||||
// desktop: {
|
||||
// appName: 'Jitsi Meet'
|
||||
// appName: 'Jitsi Meet',
|
||||
// appScheme: 'jitsi-meet,
|
||||
// download: {
|
||||
// linux:
|
||||
// 'https://github.com/jitsi/jitsi-meet-electron/releases/latest/download/jitsi-meet-x86_64.AppImage',
|
||||
// macos: 'https://github.com/jitsi/jitsi-meet-electron/releases/latest/download/jitsi-meet.dmg',
|
||||
// windows: 'https://github.com/jitsi/jitsi-meet-electron/releases/latest/download/jitsi-meet.exe'
|
||||
// },
|
||||
// enabled: false
|
||||
// },
|
||||
// // If true, any checks to handoff to another application will be prevented
|
||||
// // and instead the app will continue to display in the current browser.
|
||||
@@ -1282,6 +1391,8 @@ var config = {
|
||||
// remoteVideoMenu: {
|
||||
// // Whether the remote video context menu to be rendered or not.
|
||||
// disabled: true,
|
||||
// // If set to true the 'Switch to visitor' button will be disabled.
|
||||
// disableDemote: true,
|
||||
// // If set to true the 'Kick out' button will be disabled.
|
||||
// disableKick: true,
|
||||
// // If set to true the 'Grant moderator' button will be disabled.
|
||||
@@ -1368,8 +1479,17 @@ var config = {
|
||||
*/
|
||||
// dynamicBrandingUrl: '',
|
||||
|
||||
// A list of allowed URL domains for shared video.
|
||||
//
|
||||
// NOTE:
|
||||
// '*' is allowed value and it will allow any URL to be used for shared video. We do not recommend using '*',
|
||||
// use it at your own risk!
|
||||
// sharedVideoAllowedURLDomains: [ ],
|
||||
|
||||
// Options related to the participants pane.
|
||||
// participantsPane: {
|
||||
// // Enables feature
|
||||
// enabled: true,
|
||||
// // Hides the moderator settings tab.
|
||||
// hideModeratorSettingsTab: false,
|
||||
// // Hides the more actions button.
|
||||
@@ -1395,9 +1515,6 @@ var config = {
|
||||
// Only the default ones from will be available.
|
||||
// disableAddingBackgroundImages: false,
|
||||
|
||||
// Disables using screensharing as virtual background.
|
||||
// disableScreensharingVirtualBackground: false,
|
||||
|
||||
// Sets the background transparency level. '0' is fully transparent, '1' is opaque.
|
||||
// backgroundAlpha: 1,
|
||||
|
||||
@@ -1424,7 +1541,6 @@ var config = {
|
||||
// 'conference-timer',
|
||||
// 'participants-count',
|
||||
// 'e2ee',
|
||||
// 'transcribing',
|
||||
// 'video-quality',
|
||||
// 'insecure-room',
|
||||
// 'highlight-moment',
|
||||
@@ -1493,6 +1609,17 @@ var config = {
|
||||
// and will automatically redirect to the token service to get the token for the meeting.
|
||||
// tokenAuthUrlAutoRedirect: false
|
||||
|
||||
// You can put an array of values to target different entity types in the invite dialog.
|
||||
// Valid values are "phone", "room", "sip", "user", "videosipgw" and "email"
|
||||
// peopleSearchQueryTypes: ["user", "email"],
|
||||
// Directory endpoint which is called for invite dialog autocomplete
|
||||
// peopleSearchUrl: "https://myservice.com/api/people",
|
||||
// Endpoint which is called to send invitation requests
|
||||
// inviteServiceUrl: "https://myservice.com/api/invite",
|
||||
|
||||
// For external entities (e. g. email), the localStorage key holding the token value for directory authentication
|
||||
// peopleSearchTokenLocation: "mytoken",
|
||||
|
||||
// List of undocumented settings used in jitsi-meet
|
||||
/**
|
||||
_immediateReloadThreshold
|
||||
@@ -1509,9 +1636,6 @@ var config = {
|
||||
iAmRecorder
|
||||
iAmSipGateway
|
||||
microsoftApiApplicationClientID
|
||||
peopleSearchQueryTypes
|
||||
peopleSearchUrl
|
||||
requireDisplayName
|
||||
*/
|
||||
|
||||
/**
|
||||
@@ -1632,7 +1756,7 @@ var config = {
|
||||
// 'toolbar.noAudioSignalTitle', // shown when a broken mic is detected
|
||||
// 'toolbar.noisyAudioInputTitle', // shown when noise is detected for the current microphone
|
||||
// 'toolbar.talkWhileMutedPopup', // shown when user tries to speak while muted
|
||||
// 'transcribing.failedToStart', // shown when transcribing fails to start
|
||||
// 'transcribing.failed', // shown when transcribing fails
|
||||
// ],
|
||||
|
||||
// List of notifications to be disabled. Works in tandem with the above setting.
|
||||
@@ -1691,8 +1815,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
|
||||
@@ -1722,7 +1844,7 @@ var config = {
|
||||
// // to control the performance.
|
||||
// userLimit: 25,
|
||||
// // The url for more info about the whiteboard and its usage limitations.
|
||||
// limitUrl: 'https://example.com/blog/whiteboard-limits,
|
||||
// limitUrl: 'https://example.com/blog/whiteboard-limits',
|
||||
// },
|
||||
|
||||
// The watchRTC initialize config params as described :
|
||||
@@ -1758,6 +1880,9 @@ var config = {
|
||||
// collectionInterval?: number;
|
||||
// logGetStats?: boolean;
|
||||
// },
|
||||
|
||||
// Hide login button on auth dialog, you may want to enable this if you are using JWT tokens to authenticate users
|
||||
// hideLoginButton: true,
|
||||
};
|
||||
|
||||
// Temporary backwards compatibility with old mobile clients.
|
||||
|
||||
@@ -1,5 +1,8 @@
|
||||
@use './variables';
|
||||
|
||||
#chat-conversation-container {
|
||||
// extract message input height
|
||||
box-sizing: border-box;
|
||||
height: calc(100% - 64px);
|
||||
overflow: hidden;
|
||||
position: relative;
|
||||
@@ -9,7 +12,7 @@
|
||||
box-sizing: border-box;
|
||||
flex: 1;
|
||||
font-size: 10pt;
|
||||
height: 100%;
|
||||
height: calc(100% - 10px);
|
||||
line-height: 20px;
|
||||
overflow: auto;
|
||||
padding: 16px;
|
||||
@@ -19,6 +22,13 @@
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
|
||||
&.focus-visible {
|
||||
outline: 0;
|
||||
margin: 4px;
|
||||
border-radius: 0 0 variables.$borderRadius variables.$borderRadius;
|
||||
box-shadow: 0px 0px 0px 2px #4687ed; // focus01/primary07
|
||||
}
|
||||
|
||||
& > :first-child {
|
||||
margin-top: auto;
|
||||
}
|
||||
@@ -102,7 +112,7 @@
|
||||
}
|
||||
|
||||
.usermessage {
|
||||
color: red;
|
||||
color: #ffffff;
|
||||
padding: 0;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,14 +1,14 @@
|
||||
@use 'sass:math';
|
||||
|
||||
.reactions-menu {
|
||||
width: 280px;
|
||||
width: 330px;
|
||||
background: #242528;
|
||||
box-shadow: 0px 3px 16px rgba(0, 0, 0, 0.6), 0px 0px 4px 1px rgba(0, 0, 0, 0.25);
|
||||
border-radius: 6px;
|
||||
padding: 16px;
|
||||
|
||||
&.with-gif {
|
||||
width: 328px;
|
||||
width: 380px;
|
||||
|
||||
.reactions-row .toolbox-button:last-of-type {
|
||||
top: 3px;
|
||||
@@ -104,7 +104,7 @@
|
||||
}
|
||||
}
|
||||
|
||||
.reactions-animations-container {
|
||||
.reactions-animations-overflow-container {
|
||||
position: absolute;
|
||||
width: 20%;
|
||||
bottom: 0;
|
||||
@@ -117,6 +117,13 @@
|
||||
position: relative;
|
||||
}
|
||||
|
||||
.reactions-animations-container {
|
||||
left: 50%;
|
||||
bottom: 0px;
|
||||
display: inline-block;
|
||||
position: absolute;
|
||||
}
|
||||
|
||||
$reactionCount: 20;
|
||||
|
||||
@function random($min, $max) {
|
||||
|
||||
@@ -41,7 +41,6 @@
|
||||
position: absolute;
|
||||
top: 0;
|
||||
height: 48px;
|
||||
max-width: calc(100% - 24px);
|
||||
}
|
||||
|
||||
@keyframes hideSubject {
|
||||
|
||||
@@ -1,26 +0,0 @@
|
||||
.transcription-subtitles {
|
||||
bottom: $newToolbarSize + 40px;
|
||||
font-size: 16px;
|
||||
font-weight: 1000;
|
||||
left: 50%;
|
||||
max-width: 50vw;
|
||||
opacity: 0.80;
|
||||
overflow-wrap: break-word;
|
||||
pointer-events: none;
|
||||
position: absolute;
|
||||
text-shadow: 0px 0px 1px rgba(0,0,0,0.3),
|
||||
0px 1px 1px rgba(0,0,0,0.3),
|
||||
1px 0px 1px rgba(0,0,0,0.3),
|
||||
0px 0px 1px rgba(0,0,0,0.3);
|
||||
transform: translateX(-50%);
|
||||
z-index: 7;
|
||||
|
||||
&.lifted {
|
||||
// Lift subtitle above toolbar+dominant speaker box.
|
||||
bottom: $newToolbarSize + 36px + 40px;
|
||||
}
|
||||
|
||||
span {
|
||||
background: black;
|
||||
}
|
||||
}
|
||||
@@ -18,8 +18,7 @@
|
||||
*/
|
||||
#dominantSpeaker,
|
||||
#largeVideoElementsContainer,
|
||||
#sharedVideo,
|
||||
.stage-participant-label {
|
||||
#sharedVideo {
|
||||
display: none;
|
||||
}
|
||||
|
||||
|
||||
@@ -36,6 +36,7 @@ $flagsImagePath: "../images/";
|
||||
@import 'modals/invite/info';
|
||||
@import 'modals/screen-share/share-audio';
|
||||
@import 'modals/screen-share/share-screen-warning';
|
||||
@import 'modals/whiteboard';
|
||||
@import 'videolayout_default';
|
||||
@import 'subject';
|
||||
@import 'popup_menu';
|
||||
@@ -60,7 +61,6 @@ $flagsImagePath: "../images/";
|
||||
@import 'filmstrip/vertical_filmstrip_overrides';
|
||||
@import 'unsupported-browser/main';
|
||||
@import 'deep-linking/main';
|
||||
@import 'transcription-subtitles';
|
||||
@import '_meetings_list.scss';
|
||||
@import 'navigate_section_list';
|
||||
@import 'third-party-branding/google';
|
||||
|
||||
7
css/modals/_whiteboard.scss
Normal file
7
css/modals/_whiteboard.scss
Normal file
@@ -0,0 +1,7 @@
|
||||
.whiteboard {
|
||||
|
||||
.excalidraw-wrapper {
|
||||
height: 100vh;
|
||||
width: 100vw;
|
||||
}
|
||||
}
|
||||
5
debian/control
vendored
5
debian/control
vendored
@@ -3,7 +3,7 @@ Section: net
|
||||
Priority: extra
|
||||
Maintainer: Jitsi Team <dev@jitsi.org>
|
||||
Uploaders: Emil Ivov <emcho@jitsi.org>, Damian Minkov <damencho@jitsi.org>
|
||||
Build-Depends: debhelper (>= 8.0.0), nodejs
|
||||
Build-Depends: debhelper (>= 8.0.0)
|
||||
Standards-Version: 3.9.6
|
||||
Homepage: https://jitsi.org/meet
|
||||
|
||||
@@ -20,7 +20,8 @@ Description: WebRTC JavaScript video conferences
|
||||
|
||||
Package: jitsi-meet-web-config
|
||||
Architecture: all
|
||||
Depends: openssl, nginx | nginx-full | nginx-extras | openresty | apache2, curl
|
||||
Pre-Depends: nginx | nginx-full | nginx-extras | openresty | apache2
|
||||
Depends: openssl, curl
|
||||
Description: Configuration for web serving of Jitsi Meet
|
||||
Jitsi Meet is a WebRTC JavaScript application that uses Jitsi
|
||||
Videobridge to provide high quality, scalable video conferences.
|
||||
|
||||
9
debian/jitsi-meet-prosody.postinst
vendored
9
debian/jitsi-meet-prosody.postinst
vendored
@@ -138,10 +138,8 @@ case "$1" in
|
||||
PROSODY_CONFIG_PRESENT="false"
|
||||
fi
|
||||
|
||||
USER_EXISTS_CHECK=`prosodyctl adduser jvb@$JICOFO_AUTH_DOMAIN < /dev/null || true`
|
||||
if [ ! "$USER_EXISTS_CHECK" = "That user already exists" ]; then
|
||||
prosodyctl register jvb $JICOFO_AUTH_DOMAIN $JVB_SECRET || true
|
||||
fi
|
||||
# creates the user if it does not exist
|
||||
echo -e "$JVB_SECRET\n$JVB_SECRET" | prosodyctl adduser jvb@$JICOFO_AUTH_DOMAIN > /dev/null || true
|
||||
|
||||
# Check whether prosody config has the internal muc, if not add it,
|
||||
# as we are migrating configs
|
||||
@@ -254,9 +252,10 @@ case "$1" in
|
||||
if [ "$PROSODY_CONFIG_PRESENT" = "false" ]; then
|
||||
invoke-rc.d prosody restart || true
|
||||
|
||||
# In case we had updated the certificates and restarted prosody, let's restart and the bridge if possible
|
||||
# In case we had updated the certificates and restarted prosody, let's restart and the bridge and jicofo if possible
|
||||
if [ -d /run/systemd/system ] && [ "$CERT_ADDED_TO_TRUST" = "true" ]; then
|
||||
systemctl restart jitsi-videobridge2.service >/dev/null || true
|
||||
systemctl restart jicofo.service >/dev/null || true
|
||||
fi
|
||||
fi
|
||||
;;
|
||||
|
||||
@@ -51,12 +51,10 @@ VirtualHost "jitmeet.example.com"
|
||||
}
|
||||
av_moderation_component = "avmoderation.jitmeet.example.com"
|
||||
speakerstats_component = "speakerstats.jitmeet.example.com"
|
||||
conference_duration_component = "conferenceduration.jitmeet.example.com"
|
||||
end_conference_component = "endconference.jitmeet.example.com"
|
||||
-- we need bosh
|
||||
modules_enabled = {
|
||||
"bosh";
|
||||
"pubsub";
|
||||
"ping"; -- Enable mod_ping
|
||||
"speakerstats";
|
||||
"external_services";
|
||||
@@ -121,8 +119,10 @@ Component "internal.auth.jitmeet.example.com" "muc"
|
||||
VirtualHost "auth.jitmeet.example.com"
|
||||
modules_enabled = {
|
||||
"limits_exception";
|
||||
"smacks";
|
||||
}
|
||||
authentication = "internal_hashed"
|
||||
smacks_hibernation_time = 15;
|
||||
|
||||
-- Proxy to jicofo's user JID, so that it doesn't have to register as a component.
|
||||
Component "focus.jitmeet.example.com" "client_proxy"
|
||||
@@ -131,9 +131,6 @@ Component "focus.jitmeet.example.com" "client_proxy"
|
||||
Component "speakerstats.jitmeet.example.com" "speakerstats_component"
|
||||
muc_component = "conference.jitmeet.example.com"
|
||||
|
||||
Component "conferenceduration.jitmeet.example.com" "conference_duration_component"
|
||||
muc_component = "conference.jitmeet.example.com"
|
||||
|
||||
Component "endconference.jitmeet.example.com" "end_conference"
|
||||
muc_component = "conference.jitmeet.example.com"
|
||||
|
||||
|
||||
@@ -150,6 +150,17 @@ server {
|
||||
# alias /usr/share/jitsi-meet/load-test/libs/$1;
|
||||
#}
|
||||
|
||||
location ~ ^/conference-request/v1(\/.*)?$ {
|
||||
proxy_pass http://127.0.0.1:8888/conference-request/v1$1;
|
||||
add_header "Cache-Control" "no-cache, no-store";
|
||||
add_header 'Access-Control-Allow-Origin' '*';
|
||||
add_header 'Access-Control-Allow-Methods' 'GET, POST, OPTIONS';
|
||||
add_header 'Access-Control-Allow-Headers' 'DNT,X-CustomHeader,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Content-Type';
|
||||
}
|
||||
location ~ ^/([^/?&:'"]+)/conference-request/v1(\/.*)?$ {
|
||||
rewrite ^/([^/?&:'"]+)/conference-request/v1(\/.*)?$ /conference-request/v1$2;
|
||||
}
|
||||
|
||||
location ~ ^/([^/?&:'"]+)$ {
|
||||
set $roomname "$1";
|
||||
try_files $uri @root_path;
|
||||
|
||||
@@ -38,9 +38,9 @@ apt install token-generator
|
||||
|
||||
mkdir -p /etc/jitsi/meet/jaas
|
||||
|
||||
VPASS_COOKIE=$(echo -n ${JAAS_KEY_ID}| cut -d/ -f1)
|
||||
VPAAS_COOKIE=$(echo -n ${JAAS_KEY_ID}| cut -d/ -f1)
|
||||
cp /usr/share/jitsi-meet-web-config/nginx-jaas.conf /etc/jitsi/meet/jaas
|
||||
sed -i "s/jaas_magic_cookie/${VPASS_COOKIE}/g" /etc/jitsi/meet/jaas/nginx-jaas.conf
|
||||
sed -i "s/jaas_magic_cookie/${VPAAS_COOKIE}/g" /etc/jitsi/meet/jaas/nginx-jaas.conf
|
||||
|
||||
cp /usr/share/jitsi-meet-web-config/8x8.vc-config.js /etc/jitsi/meet/jaas/
|
||||
echo "set \$config_js_location /etc/jitsi/meet/jaas/8x8.vc-config.js;" >> /etc/jitsi/meet/jaas/jaas-vars
|
||||
|
||||
1
globals.d.ts
vendored
1
globals.d.ts
vendored
@@ -21,6 +21,7 @@ declare global {
|
||||
JitsiMeetElectron?: any;
|
||||
PressureObserver?: any;
|
||||
PressureRecord?: any;
|
||||
ReactNativeWebView?: any;
|
||||
// selenium tests handler
|
||||
_sharedVideoPlayer: any;
|
||||
alwaysOnTop: { api: any };
|
||||
|
||||
4
globals.native.d.ts
vendored
4
globals.native.d.ts
vendored
@@ -19,6 +19,9 @@ interface IWindow {
|
||||
location: ILocation;
|
||||
PressureObserver?: any;
|
||||
PressureRecord?: any;
|
||||
ReactNativeWebView?: any;
|
||||
TextDecoder?: any;
|
||||
TextEncoder?: any;
|
||||
self: any;
|
||||
top: any;
|
||||
|
||||
@@ -37,6 +40,7 @@ interface IWindow {
|
||||
|
||||
interface INavigator {
|
||||
product: string;
|
||||
userAgent: string;
|
||||
}
|
||||
|
||||
declare global {
|
||||
|
||||
@@ -69,6 +69,11 @@
|
||||
|
||||
window.indexLoadedTime = window.performance.now();
|
||||
console.log("(TIME) index.html loaded:\t", indexLoadedTime);
|
||||
window.addEventListener('load', function() {
|
||||
window.loadedEventTime = window.performance.now();
|
||||
console.log("(TIME) window loaded event:\t", loadedEventTime);
|
||||
});
|
||||
|
||||
// XXX the code below listeners for errors and displays an error message
|
||||
// in the document body when any of the required files fails to load.
|
||||
// The intention is to prevent from displaying broken page.
|
||||
|
||||
2
ios/.xcode.env
Normal file
2
ios/.xcode.env
Normal file
@@ -0,0 +1,2 @@
|
||||
export NODE_BINARY=$(command -v node)
|
||||
export ENTRY_FILE="${PROJECT_DIR}/../../index.ios.js"
|
||||
44
ios/Podfile
44
ios/Podfile
@@ -5,19 +5,21 @@ require Pod::Executable.execute_command('node', ['-p',
|
||||
{paths: [process.argv[1]]},
|
||||
)', __dir__]).strip
|
||||
|
||||
platform :ios, '13.4'
|
||||
platform :ios, '15.1'
|
||||
workspace 'jitsi-meet'
|
||||
|
||||
install! 'cocoapods', :deterministic_uuids => false
|
||||
|
||||
use_modular_headers!
|
||||
def cocoa_utilities
|
||||
pod 'CocoaLumberjack', '3.7.4'
|
||||
end
|
||||
|
||||
target 'JitsiMeet' do
|
||||
project 'app/app.xcodeproj'
|
||||
|
||||
pod 'Firebase/Analytics', '~> 10.0'
|
||||
pod 'Firebase/Crashlytics', '~> 10.0'
|
||||
pod 'Firebase/DynamicLinks', '~> 10.0'
|
||||
pod 'Firebase/Analytics', '~> 8.0'
|
||||
pod 'Firebase/Crashlytics', '~> 8.0'
|
||||
pod 'Firebase/DynamicLinks', '~> 8.0'
|
||||
end
|
||||
|
||||
target 'JitsiMeetSDK' do
|
||||
@@ -30,7 +32,7 @@ target 'JitsiMeetSDK' do
|
||||
flags = get_default_flags()
|
||||
use_react_native!(
|
||||
:path => config[:reactNativePath],
|
||||
:hermes_enabled => false,
|
||||
:hermes_enabled => true,
|
||||
:fabric_enabled => false,
|
||||
# An absolute path to your application root.
|
||||
:app_path => "#{Pod::Config.instance.installation_root}/.."
|
||||
@@ -47,7 +49,7 @@ target 'JitsiMeetSDK' do
|
||||
# Native pod dependencies
|
||||
#
|
||||
|
||||
pod 'CocoaLumberjack', '3.7.2'
|
||||
cocoa_utilities
|
||||
pod 'ObjectiveDropboxOfficial', '6.2.3'
|
||||
end
|
||||
|
||||
@@ -63,7 +65,7 @@ target 'JitsiMeetSDKLite' do
|
||||
config = use_native_modules!
|
||||
use_react_native!(
|
||||
:path => config[:reactNativePath],
|
||||
:hermes_enabled => false,
|
||||
:hermes_enabled => true,
|
||||
:fabric_enabled => false,
|
||||
# An absolute path to your application root.
|
||||
:app_path => "#{Pod::Config.instance.installation_root}/.."
|
||||
@@ -72,16 +74,17 @@ target 'JitsiMeetSDKLite' do
|
||||
# Native pod dependencies
|
||||
#
|
||||
|
||||
pod 'CocoaLumberjack', '3.7.2'
|
||||
cocoa_utilities
|
||||
end
|
||||
|
||||
post_install do |installer|
|
||||
|
||||
PLIST_BUDDY_PATH = '/usr/libexec/PlistBuddy'
|
||||
react_native_post_install(
|
||||
installer,
|
||||
use_native_modules![:reactNativePath],
|
||||
:mac_catalyst_enabled => false
|
||||
)
|
||||
__apply_Xcode_12_5_M1_post_install_workaround(installer)
|
||||
installer.pods_project.targets.each do |target|
|
||||
# https://github.com/CocoaPods/CocoaPods/issues/11402
|
||||
if target.respond_to?(:product_type) and target.product_type == "com.apple.product-type.bundle"
|
||||
@@ -89,10 +92,29 @@ post_install do |installer|
|
||||
config.build_settings['CODE_SIGNING_ALLOWED'] = 'NO'
|
||||
end
|
||||
end
|
||||
|
||||
target.build_configurations.each do |config|
|
||||
config.build_settings['SUPPORTS_MACCATALYST'] = 'NO'
|
||||
config.build_settings['IPHONEOS_DEPLOYMENT_TARGET'] = '13.4'
|
||||
config.build_settings['IPHONEOS_DEPLOYMENT_TARGET'] = '15.1'
|
||||
config.build_settings['OTHER_SWIFT_FLAGS'] = '$(inherited) -no-verify-emitted-module-interface'
|
||||
end
|
||||
|
||||
# Can be removed when updated to RN 0.76
|
||||
# Issue https://github.com/facebook/react-native/issues/35863#issuecomment-1387465588
|
||||
if target.name == "hermes-engine"
|
||||
installer.pods_project.files.each do |fileref|
|
||||
if fileref.path.end_with? "hermes.xcframework"
|
||||
hermes_plist_file = "#{fileref.real_path}/Info.plist"
|
||||
# Patch Hermes to remove the debug symbols entry from the Info.plist (as it's not shipped with it)
|
||||
# This might be removed once Hermes starts to ship with Debug symbols or we remove our
|
||||
# direct dependency from the Main iOS target on "hermes.xcframework"
|
||||
Open3.capture3(PLIST_BUDDY_PATH, '-c', 'Delete :AvailableLibraries:0:DebugSymbolsPath', hermes_plist_file)
|
||||
Open3.capture3(PLIST_BUDDY_PATH, '-c', 'Delete :AvailableLibraries:1:DebugSymbolsPath', hermes_plist_file)
|
||||
Open3.capture3(PLIST_BUDDY_PATH, '-c', 'Delete :AvailableLibraries:2:DebugSymbolsPath', hermes_plist_file)
|
||||
Open3.capture3(PLIST_BUDDY_PATH, '-c', 'Delete :AvailableLibraries:3:DebugSymbolsPath', hermes_plist_file)
|
||||
Open3.capture3(PLIST_BUDDY_PATH, '-c', 'Delete :AvailableLibraries:4:DebugSymbolsPath', hermes_plist_file)
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
2429
ios/Podfile.lock
2429
ios/Podfile.lock
File diff suppressed because it is too large
Load Diff
39
ios/app/PrivacyInfo.xcprivacy
Normal file
39
ios/app/PrivacyInfo.xcprivacy
Normal file
@@ -0,0 +1,39 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
||||
<plist version="1.0">
|
||||
<dict>
|
||||
<key>NSPrivacyAccessedAPITypes</key>
|
||||
<array>
|
||||
<dict>
|
||||
<key>NSPrivacyAccessedAPIType</key>
|
||||
<string>NSPrivacyAccessedAPICategoryFileTimestamp</string>
|
||||
<key>NSPrivacyAccessedAPITypeReasons</key>
|
||||
<array>
|
||||
<string>C617.1</string>
|
||||
</array>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>NSPrivacyAccessedAPIType</key>
|
||||
<string>NSPrivacyAccessedAPICategoryUserDefaults</string>
|
||||
<key>NSPrivacyAccessedAPITypeReasons</key>
|
||||
<array>
|
||||
<string>1C8F.1</string>
|
||||
<string>C56D.1</string>
|
||||
<string>CA92.1</string>
|
||||
</array>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>NSPrivacyAccessedAPIType</key>
|
||||
<string>NSPrivacyAccessedAPICategorySystemBootTime</string>
|
||||
<key>NSPrivacyAccessedAPITypeReasons</key>
|
||||
<array>
|
||||
<string>35F9.1</string>
|
||||
</array>
|
||||
</dict>
|
||||
</array>
|
||||
<key>NSPrivacyCollectedDataTypes</key>
|
||||
<array/>
|
||||
<key>NSPrivacyTracking</key>
|
||||
<false/>
|
||||
</dict>
|
||||
</plist>
|
||||
@@ -3,7 +3,7 @@
|
||||
archiveVersion = 1;
|
||||
classes = {
|
||||
};
|
||||
objectVersion = 54;
|
||||
objectVersion = 60;
|
||||
objects = {
|
||||
|
||||
/* Begin PBXBuildFile section */
|
||||
@@ -24,6 +24,9 @@
|
||||
13B07FBF1A68108700A75B9A /* Images.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 13B07FB51A68108700A75B9A /* Images.xcassets */; };
|
||||
13B07FC11A68108700A75B9A /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = 13B07FB71A68108700A75B9A /* main.m */; };
|
||||
2681BB562C7A0B42CFBA6719 /* libPods-JitsiMeet.a in Frameworks */ = {isa = PBXBuildFile; fileRef = D6152FF9E9F7B0E86F70A21D /* libPods-JitsiMeet.a */; };
|
||||
361974E2A13624D7735D619D /* PrivacyInfo.xcprivacy in Resources */ = {isa = PBXBuildFile; fileRef = 5C1BE20ECD5DEEB48FED90B5 /* PrivacyInfo.xcprivacy */; };
|
||||
4341A9062CF0D63200940D93 /* hermes.xcframework in Frameworks */ = {isa = PBXBuildFile; fileRef = 4341A9052CF0D63200940D93 /* hermes.xcframework */; };
|
||||
4341A9072CF0D63200940D93 /* hermes.xcframework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 4341A9052CF0D63200940D93 /* hermes.xcframework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; };
|
||||
4E90F9402632D1AB001102D4 /* Atomic.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4E90F93F2632D1AB001102D4 /* Atomic.swift */; };
|
||||
4EB06024260E026600F524C5 /* ReplayKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 4EC49B8625BED71300E76218 /* ReplayKit.framework */; };
|
||||
4EB06027260E026600F524C5 /* SampleHandler.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4EB06026260E026600F524C5 /* SampleHandler.swift */; };
|
||||
@@ -74,6 +77,7 @@
|
||||
dstSubfolderSpec = 10;
|
||||
files = (
|
||||
DEA9F28A258A6EA800D4CD74 /* JitsiMeetSDK.framework in Embed Frameworks */,
|
||||
4341A9072CF0D63200940D93 /* hermes.xcframework in Embed Frameworks */,
|
||||
FD572B9927EDF32300A800FB /* GiphyUISDK.xcframework in Embed Frameworks */,
|
||||
DED016F228ECBC9D009D5E8D /* WebRTC.xcframework in Embed Frameworks */,
|
||||
);
|
||||
@@ -142,6 +146,7 @@
|
||||
13B07FB61A68108700A75B9A /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
|
||||
13B07FB71A68108700A75B9A /* main.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = main.m; sourceTree = "<group>"; };
|
||||
3E0F4ED943C0B12BE77F6B45 /* Pods-JitsiMeet.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-JitsiMeet.release.xcconfig"; path = "Target Support Files/Pods-JitsiMeet/Pods-JitsiMeet.release.xcconfig"; sourceTree = "<group>"; };
|
||||
4341A9052CF0D63200940D93 /* hermes.xcframework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.xcframework; name = hermes.xcframework; path = "../Pods/hermes-engine/destroot/Library/Frameworks/universal/hermes.xcframework"; sourceTree = "<group>"; };
|
||||
4E90F93F2632D1AB001102D4 /* Atomic.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Atomic.swift; sourceTree = "<group>"; };
|
||||
4EB06023260E026600F524C5 /* JitsiMeetBroadcastExtension.appex */ = {isa = PBXFileReference; explicitFileType = "wrapper.app-extension"; includeInIndex = 0; path = JitsiMeetBroadcastExtension.appex; sourceTree = BUILT_PRODUCTS_DIR; };
|
||||
4EB06026260E026600F524C5 /* SampleHandler.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SampleHandler.swift; sourceTree = "<group>"; };
|
||||
@@ -151,6 +156,8 @@
|
||||
4EB0603A260E09D000F524C5 /* DarwinNotificationCenter.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = DarwinNotificationCenter.swift; sourceTree = "<group>"; };
|
||||
4EB0603B260E09D000F524C5 /* SampleUploader.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = SampleUploader.swift; sourceTree = "<group>"; };
|
||||
4EC49B8625BED71300E76218 /* ReplayKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = ReplayKit.framework; path = System/Library/Frameworks/ReplayKit.framework; sourceTree = SDKROOT; };
|
||||
5C1BE20ECD5DEEB48FED90B5 /* PrivacyInfo.xcprivacy */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xml; path = PrivacyInfo.xcprivacy; sourceTree = "<group>"; };
|
||||
6132EF172BDFF13200BBE14D /* PrivacyInfo.xcprivacy */ = {isa = PBXFileReference; lastKnownFileType = text.xml; name = PrivacyInfo.xcprivacy; path = ../PrivacyInfo.xcprivacy; sourceTree = "<group>"; };
|
||||
756FCE06C08D9B947653C98A /* Pods-JitsiMeet.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-JitsiMeet.debug.xcconfig"; path = "Target Support Files/Pods-JitsiMeet/Pods-JitsiMeet.debug.xcconfig"; sourceTree = "<group>"; };
|
||||
B3B083EB1D4955FF0069CEE7 /* app.entitlements */ = {isa = PBXFileReference; lastKnownFileType = text.plist.entitlements; path = app.entitlements; sourceTree = "<group>"; };
|
||||
D6152FF9E9F7B0E86F70A21D /* libPods-JitsiMeet.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-JitsiMeet.a"; sourceTree = BUILT_PRODUCTS_DIR; };
|
||||
@@ -162,7 +169,7 @@
|
||||
DEFDBBDB25656E3B00344B23 /* WebRTC.xcframework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.xcframework; name = WebRTC.xcframework; path = "../../node_modules/react-native-webrtc/ios/WebRTC.xcframework"; sourceTree = "<group>"; };
|
||||
E58801132278944E008B0561 /* JitsiMeetContext.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = JitsiMeetContext.swift; sourceTree = "<group>"; };
|
||||
E5C97B62227A1EB400199214 /* JitsiMeetCommands.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = JitsiMeetCommands.swift; sourceTree = "<group>"; };
|
||||
FD572B9727EDF32300A800FB /* GiphyUISDK.xcframework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.xcframework; name = GiphyUISDK.xcframework; path = ../Pods/Giphy/GiphySDK/GiphyUISDK.xcframework; sourceTree = "<group>"; };
|
||||
FD572B9727EDF32300A800FB /* GiphyUISDK.xcframework */ = {isa = PBXFileReference; expectedSignature = "AppleDeveloperProgram:925PGC4MV7:Giphy, Inc."; lastKnownFileType = wrapper.xcframework; name = GiphyUISDK.xcframework; path = ../Pods/Giphy/GiphySDK/GiphyUISDK.xcframework; sourceTree = "<group>"; };
|
||||
/* End PBXFileReference section */
|
||||
|
||||
/* Begin PBXFrameworksBuildPhase section */
|
||||
@@ -181,6 +188,7 @@
|
||||
DEA9F289258A6EA800D4CD74 /* JitsiMeetSDK.framework in Frameworks */,
|
||||
FD572B9827EDF32300A800FB /* GiphyUISDK.xcframework in Frameworks */,
|
||||
2681BB562C7A0B42CFBA6719 /* libPods-JitsiMeet.a in Frameworks */,
|
||||
4341A9062CF0D63200940D93 /* hermes.xcframework in Frameworks */,
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
@@ -205,6 +213,7 @@
|
||||
0B26BE711EC5BC4D00EEFB41 /* Frameworks */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
4341A9052CF0D63200940D93 /* hermes.xcframework */,
|
||||
DED016F028ECBC9D009D5E8D /* WebRTC.xcframework */,
|
||||
FD572B9727EDF32300A800FB /* GiphyUISDK.xcframework */,
|
||||
DEA9F288258A6EA800D4CD74 /* JitsiMeetSDK.framework */,
|
||||
@@ -293,6 +302,8 @@
|
||||
0BEA5C351F7B8F73000D0AB4 /* WatchKit extension */,
|
||||
4EB06025260E026600F524C5 /* JitsiMeetBroadcast Extension */,
|
||||
CDD71F5E1157E9F283DF92A8 /* Pods */,
|
||||
6132EF172BDFF13200BBE14D /* PrivacyInfo.xcprivacy */,
|
||||
5C1BE20ECD5DEEB48FED90B5 /* PrivacyInfo.xcprivacy */,
|
||||
);
|
||||
indentWidth = 2;
|
||||
sourceTree = "<group>";
|
||||
@@ -367,13 +378,13 @@
|
||||
13B07F8C1A680F5B00A75B9A /* Frameworks */,
|
||||
13B07F8E1A680F5B00A75B9A /* Resources */,
|
||||
0B26BE701EC5BC3C00EEFB41 /* Embed Frameworks */,
|
||||
0BB7DA181EC9E695007AAE98 /* Adjust ATS */,
|
||||
DEF4813D224925A2002AD03A /* Copy Google Plist file */,
|
||||
DE11877A21EE09640078D059 /* Setup Google reverse URL handler */,
|
||||
DE4F6D6E22005C0400DE699E /* Setup Dropbox */,
|
||||
4E81688528A408E600F8FA9E /* Update App Entitlements */,
|
||||
0BEA5C491F7B8F73000D0AB4 /* Embed Watch Content */,
|
||||
4EC49B9025BED71300E76218 /* Embed App Extensions */,
|
||||
4E81688528A408E600F8FA9E /* Update App Entitlements */,
|
||||
DE11877A21EE09640078D059 /* Setup Google reverse URL handler */,
|
||||
0BB7DA181EC9E695007AAE98 /* Adjust ATS */,
|
||||
DE4F6D6E22005C0400DE699E /* Setup Dropbox */,
|
||||
E9D850368D253EFA8AB3B8D1 /* [CP] Copy Pods Resources */,
|
||||
);
|
||||
buildRules = (
|
||||
);
|
||||
@@ -411,7 +422,7 @@
|
||||
attributes = {
|
||||
LastSwiftUpdateCheck = 1240;
|
||||
LastUpgradeCheck = 1020;
|
||||
ORGANIZATIONNAME = Facebook;
|
||||
ORGANIZATIONNAME = Jitsi;
|
||||
TargetAttributes = {
|
||||
0BEA5C241F7B8F73000D0AB4 = {
|
||||
CreatedOnToolsVersion = 9.0;
|
||||
@@ -484,6 +495,7 @@
|
||||
0B412F211EDEE95300B1A0A6 /* Main.storyboard in Resources */,
|
||||
13B07FBF1A68108700A75B9A /* Images.xcassets in Resources */,
|
||||
13B07FBD1A68108700A75B9A /* LaunchScreen.xib in Resources */,
|
||||
361974E2A13624D7735D619D /* PrivacyInfo.xcprivacy in Resources */,
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
@@ -499,10 +511,12 @@
|
||||
/* Begin PBXShellScriptBuildPhase section */
|
||||
0BB7DA181EC9E695007AAE98 /* Adjust ATS */ = {
|
||||
isa = PBXShellScriptBuildPhase;
|
||||
alwaysOutOfDate = 1;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
);
|
||||
inputPaths = (
|
||||
$BUILT_PRODUCTS_DIR/$INFOPLIST_PATH,
|
||||
);
|
||||
name = "Adjust ATS";
|
||||
outputPaths = (
|
||||
@@ -513,6 +527,7 @@
|
||||
};
|
||||
0BBA83C41EC9F7600075A103 /* Run React packager */ = {
|
||||
isa = PBXShellScriptBuildPhase;
|
||||
alwaysOutOfDate = 1;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
);
|
||||
@@ -527,12 +542,14 @@
|
||||
};
|
||||
4E81688528A408E600F8FA9E /* Update App Entitlements */ = {
|
||||
isa = PBXShellScriptBuildPhase;
|
||||
alwaysOutOfDate = 1;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
);
|
||||
inputFileListPaths = (
|
||||
);
|
||||
inputPaths = (
|
||||
$PROJECT_DIR/app.entitlements,
|
||||
);
|
||||
name = "Update App Entitlements";
|
||||
outputFileListPaths = (
|
||||
@@ -567,12 +584,14 @@
|
||||
};
|
||||
DE11877A21EE09640078D059 /* Setup Google reverse URL handler */ = {
|
||||
isa = PBXShellScriptBuildPhase;
|
||||
alwaysOutOfDate = 1;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
);
|
||||
inputFileListPaths = (
|
||||
);
|
||||
inputPaths = (
|
||||
$BUILT_PRODUCTS_DIR/$INFOPLIST_PATH,
|
||||
);
|
||||
name = "Setup Google reverse URL handler";
|
||||
outputFileListPaths = (
|
||||
@@ -581,16 +600,18 @@
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
shellPath = /bin/sh;
|
||||
shellScript = "INFO_PLIST=\"$BUILT_PRODUCTS_DIR/$INFOPLIST_PATH\"\nGOOGLE_PLIST=\"$PROJECT_DIR/GoogleService-Info.plist\"\n\nif [[ -f $GOOGLE_PLIST ]]; then\n REVERSED_CLIENT_ID=$(/usr/libexec/PlistBuddy -c \"Print :REVERSED_CLIENT_ID:\" $GOOGLE_PLIST)\n /usr/libexec/PlistBuddy -c \"Set :CFBundleURLTypes:1:CFBundleURLSchemes:0 $REVERSED_CLIENT_ID\" $INFO_PLIST\nfi\n";
|
||||
shellScript = "GOOGLE_PLIST_NAME=\"GoogleService-Info.plist\"\nGOOGLE_PLIST=\"$PROJECT_DIR/$GOOGLE_PLIST_NAME\"\nBUILD_APP_DIR=\"$BUILT_PRODUCTS_DIR/$PRODUCT_NAME.app\"\nINFO_PLIST=\"$BUILT_PRODUCTS_DIR/$INFOPLIST_PATH\"\n\nif [[ -f $GOOGLE_PLIST ]]; then\n cp $GOOGLE_PLIST \"$BUILD_APP_DIR/$GOOGLE_PLIST_NAME\"\n REVERSED_CLIENT_ID=$(/usr/libexec/PlistBuddy -c \"Print :REVERSED_CLIENT_ID:\" $GOOGLE_PLIST)\n /usr/libexec/PlistBuddy -c \"Set :CFBundleURLTypes:1:CFBundleURLSchemes:0 $REVERSED_CLIENT_ID\" $INFO_PLIST\nfi\n";
|
||||
};
|
||||
DE4F6D6E22005C0400DE699E /* Setup Dropbox */ = {
|
||||
isa = PBXShellScriptBuildPhase;
|
||||
alwaysOutOfDate = 1;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
);
|
||||
inputFileListPaths = (
|
||||
);
|
||||
inputPaths = (
|
||||
$BUILT_PRODUCTS_DIR/$INFOPLIST_PATH,
|
||||
);
|
||||
name = "Setup Dropbox";
|
||||
outputFileListPaths = (
|
||||
@@ -601,23 +622,22 @@
|
||||
shellPath = /bin/sh;
|
||||
shellScript = "INFO_PLIST=\"$BUILT_PRODUCTS_DIR/$INFOPLIST_PATH\"\nDROPBOX_KEY_FILE=\"$PROJECT_DIR/dropbox.key\"\n\nif [[ -f $DROPBOX_KEY_FILE ]]; then\n /usr/libexec/PlistBuddy -c \"Delete :LSApplicationQueriesSchemes\" $INFO_PLIST\n /usr/libexec/PlistBuddy -c \"Add :LSApplicationQueriesSchemes array\" $INFO_PLIST\n /usr/libexec/PlistBuddy -c \"Add :LSApplicationQueriesSchemes:0 string 'dbapi-2'\" $INFO_PLIST\n /usr/libexec/PlistBuddy -c \"Add :LSApplicationQueriesSchemes:1 string 'dbapi-8-emm'\" $INFO_PLIST\n\n DROPBOX_KEY=$(head -n 1 $DROPBOX_KEY_FILE)\n /usr/libexec/PlistBuddy -c \"Add :CFBundleURLTypes:2:CFBundleURLName string dropbox\" $INFO_PLIST\n /usr/libexec/PlistBuddy -c \"Add :CFBundleURLTypes:2:CFBundleURLSchemes array\" $INFO_PLIST\n /usr/libexec/PlistBuddy -c \"Add :CFBundleURLTypes:2:CFBundleURLSchemes:0 string $DROPBOX_KEY\" $INFO_PLIST\nfi\n";
|
||||
};
|
||||
DEF4813D224925A2002AD03A /* Copy Google Plist file */ = {
|
||||
E9D850368D253EFA8AB3B8D1 /* [CP] Copy Pods Resources */ = {
|
||||
isa = PBXShellScriptBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
);
|
||||
inputFileListPaths = (
|
||||
"${PODS_ROOT}/Target Support Files/Pods-JitsiMeet/Pods-JitsiMeet-resources-${CONFIGURATION}-input-files.xcfilelist",
|
||||
);
|
||||
inputPaths = (
|
||||
);
|
||||
name = "Copy Google Plist file";
|
||||
name = "[CP] Copy Pods Resources";
|
||||
outputFileListPaths = (
|
||||
);
|
||||
outputPaths = (
|
||||
"${PODS_ROOT}/Target Support Files/Pods-JitsiMeet/Pods-JitsiMeet-resources-${CONFIGURATION}-output-files.xcfilelist",
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
shellPath = /bin/sh;
|
||||
shellScript = "GOOGLE_PLIST_NAME=\"GoogleService-Info.plist\"\nGOOGLE_PLIST=\"$PROJECT_DIR/$GOOGLE_PLIST_NAME\"\nBUILD_APP_DIR=\"$BUILT_PRODUCTS_DIR/$PRODUCT_NAME.app\"\n\nif [[ -f $GOOGLE_PLIST ]]; then\n cp $GOOGLE_PLIST \"$BUILD_APP_DIR/$GOOGLE_PLIST_NAME\"\nfi\n";
|
||||
shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-JitsiMeet/Pods-JitsiMeet-resources.sh\"\n";
|
||||
showEnvVarsInLog = 0;
|
||||
};
|
||||
/* End PBXShellScriptBuildPhase section */
|
||||
|
||||
@@ -848,7 +868,6 @@
|
||||
baseConfigurationReference = 756FCE06C08D9B947653C98A /* Pods-JitsiMeet.debug.xcconfig */;
|
||||
buildSettings = {
|
||||
ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES;
|
||||
ARCHS = "$(ARCHS_STANDARD_64_BIT)";
|
||||
ASSETCATALOG_COMPILER_APPICON_NAME = AppIconDebug;
|
||||
CODE_SIGN_ENTITLEMENTS = app.entitlements;
|
||||
CODE_SIGN_IDENTITY = "Apple Development";
|
||||
@@ -870,6 +889,11 @@
|
||||
PRODUCT_BUNDLE_IDENTIFIER = org.jitsi.meet;
|
||||
PRODUCT_NAME = "jitsi-meet";
|
||||
PROVISIONING_PROFILE_SPECIFIER = "";
|
||||
SUPPORTED_PLATFORMS = "iphoneos iphonesimulator";
|
||||
SUPPORTS_MACCATALYST = NO;
|
||||
SUPPORTS_MAC_DESIGNED_FOR_IPHONE_IPAD = NO;
|
||||
SUPPORTS_XR_DESIGNED_FOR_IPHONE_IPAD = NO;
|
||||
TARGETED_DEVICE_FAMILY = "1,2";
|
||||
};
|
||||
name = Debug;
|
||||
};
|
||||
@@ -878,7 +902,6 @@
|
||||
baseConfigurationReference = 3E0F4ED943C0B12BE77F6B45 /* Pods-JitsiMeet.release.xcconfig */;
|
||||
buildSettings = {
|
||||
ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES;
|
||||
ARCHS = "$(ARCHS_STANDARD_64_BIT)";
|
||||
ASSETCATALOG_COMPILER_APPICON_NAME = AppIconRelease;
|
||||
CODE_SIGN_ENTITLEMENTS = app.entitlements;
|
||||
CODE_SIGN_IDENTITY = "Apple Development";
|
||||
@@ -899,6 +922,11 @@
|
||||
PRODUCT_BUNDLE_IDENTIFIER = org.jitsi.meet;
|
||||
PRODUCT_NAME = "jitsi-meet";
|
||||
PROVISIONING_PROFILE_SPECIFIER = "";
|
||||
SUPPORTED_PLATFORMS = "iphoneos iphonesimulator";
|
||||
SUPPORTS_MACCATALYST = NO;
|
||||
SUPPORTS_MAC_DESIGNED_FOR_IPHONE_IPAD = NO;
|
||||
SUPPORTS_XR_DESIGNED_FOR_IPHONE_IPAD = NO;
|
||||
TARGETED_DEVICE_FAMILY = "1,2";
|
||||
};
|
||||
name = Release;
|
||||
};
|
||||
@@ -930,6 +958,10 @@
|
||||
PRODUCT_BUNDLE_IDENTIFIER = org.jitsi.meet.broadcast.extension;
|
||||
PRODUCT_NAME = "$(TARGET_NAME)";
|
||||
SKIP_INSTALL = YES;
|
||||
SUPPORTED_PLATFORMS = "iphoneos iphonesimulator";
|
||||
SUPPORTS_MACCATALYST = NO;
|
||||
SUPPORTS_MAC_DESIGNED_FOR_IPHONE_IPAD = NO;
|
||||
SUPPORTS_XR_DESIGNED_FOR_IPHONE_IPAD = NO;
|
||||
SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG;
|
||||
SWIFT_OPTIMIZATION_LEVEL = "-Onone";
|
||||
SWIFT_VERSION = 5.0;
|
||||
@@ -965,6 +997,10 @@
|
||||
PRODUCT_BUNDLE_IDENTIFIER = org.jitsi.meet.broadcast.extension;
|
||||
PRODUCT_NAME = "$(TARGET_NAME)";
|
||||
SKIP_INSTALL = YES;
|
||||
SUPPORTED_PLATFORMS = "iphoneos iphonesimulator";
|
||||
SUPPORTS_MACCATALYST = NO;
|
||||
SUPPORTS_MAC_DESIGNED_FOR_IPHONE_IPAD = NO;
|
||||
SUPPORTS_XR_DESIGNED_FOR_IPHONE_IPAD = NO;
|
||||
SWIFT_OPTIMIZATION_LEVEL = "-O";
|
||||
SWIFT_VERSION = 5.0;
|
||||
TARGETED_DEVICE_FAMILY = "1,2";
|
||||
@@ -975,8 +1011,9 @@
|
||||
isa = XCBuildConfiguration;
|
||||
buildSettings = {
|
||||
ALWAYS_SEARCH_USER_PATHS = NO;
|
||||
CC = "";
|
||||
CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED = YES;
|
||||
CLANG_CXX_LANGUAGE_STANDARD = "c++17";
|
||||
CLANG_CXX_LANGUAGE_STANDARD = "c++20";
|
||||
CLANG_CXX_LIBRARY = "libc++";
|
||||
CLANG_ENABLE_MODULES = YES;
|
||||
CLANG_ENABLE_OBJC_ARC = YES;
|
||||
@@ -1001,6 +1038,7 @@
|
||||
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
|
||||
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
|
||||
COPY_PHASE_STRIP = NO;
|
||||
CXX = "";
|
||||
ENABLE_STRICT_OBJC_MSGSEND = YES;
|
||||
ENABLE_TESTABILITY = YES;
|
||||
"EXCLUDED_ARCHS[sdk=iphonesimulator*]" = "";
|
||||
@@ -1024,18 +1062,19 @@
|
||||
"$(inherited)",
|
||||
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include,
|
||||
);
|
||||
IPHONEOS_DEPLOYMENT_TARGET = 12.4;
|
||||
IPHONEOS_DEPLOYMENT_TARGET = 15.1;
|
||||
LD = "";
|
||||
LDPLUSPLUS = "";
|
||||
MTL_ENABLE_DEBUG_INFO = YES;
|
||||
ONLY_ACTIVE_ARCH = YES;
|
||||
OTHER_CFLAGS = "$(inherited)";
|
||||
OTHER_CPLUSPLUSFLAGS = "$(inherited)";
|
||||
OTHER_LDFLAGS = (
|
||||
"$(inherited)",
|
||||
" ",
|
||||
);
|
||||
OTHER_LDFLAGS = "$(inherited)";
|
||||
REACT_NATIVE_PATH = "${PODS_ROOT}/../../node_modules/react-native";
|
||||
SDKROOT = iphoneos;
|
||||
SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) DEBUG";
|
||||
TARGETED_DEVICE_FAMILY = "1,2";
|
||||
USE_HERMES = true;
|
||||
};
|
||||
name = Debug;
|
||||
};
|
||||
@@ -1043,8 +1082,9 @@
|
||||
isa = XCBuildConfiguration;
|
||||
buildSettings = {
|
||||
ALWAYS_SEARCH_USER_PATHS = NO;
|
||||
CC = "";
|
||||
CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED = YES;
|
||||
CLANG_CXX_LANGUAGE_STANDARD = "c++17";
|
||||
CLANG_CXX_LANGUAGE_STANDARD = "c++20";
|
||||
CLANG_CXX_LIBRARY = "libc++";
|
||||
CLANG_ENABLE_MODULES = YES;
|
||||
CLANG_ENABLE_OBJC_ARC = YES;
|
||||
@@ -1069,6 +1109,7 @@
|
||||
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
|
||||
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
|
||||
COPY_PHASE_STRIP = YES;
|
||||
CXX = "";
|
||||
ENABLE_NS_ASSERTIONS = NO;
|
||||
ENABLE_STRICT_OBJC_MSGSEND = YES;
|
||||
"EXCLUDED_ARCHS[sdk=iphonesimulator*]" = "";
|
||||
@@ -1088,18 +1129,18 @@
|
||||
"$(inherited)",
|
||||
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include,
|
||||
);
|
||||
IPHONEOS_DEPLOYMENT_TARGET = 12.4;
|
||||
IPHONEOS_DEPLOYMENT_TARGET = 15.1;
|
||||
LD = "";
|
||||
LDPLUSPLUS = "";
|
||||
MTL_ENABLE_DEBUG_INFO = NO;
|
||||
OTHER_CFLAGS = "$(inherited)";
|
||||
OTHER_CPLUSPLUSFLAGS = "$(inherited)";
|
||||
OTHER_LDFLAGS = (
|
||||
"$(inherited)",
|
||||
" ",
|
||||
);
|
||||
OTHER_LDFLAGS = "$(inherited)";
|
||||
REACT_NATIVE_PATH = "${PODS_ROOT}/../../node_modules/react-native";
|
||||
SDKROOT = iphoneos;
|
||||
SWIFT_COMPILATION_MODE = wholemodule;
|
||||
TARGETED_DEVICE_FAMILY = "1,2";
|
||||
USE_HERMES = true;
|
||||
VALIDATE_PRODUCT = YES;
|
||||
};
|
||||
name = Release;
|
||||
|
||||
@@ -35,7 +35,6 @@
|
||||
|
||||
jitsiMeet.defaultConferenceOptions = [JitsiMeetConferenceOptions fromBuilder:^(JitsiMeetConferenceOptionsBuilder *builder) {
|
||||
[builder setFeatureFlag:@"welcomepage.enabled" withBoolean:YES];
|
||||
[builder setFeatureFlag:@"resolution" withValue:@(360)];
|
||||
[builder setFeatureFlag:@"ios.screensharing.enabled" withBoolean:YES];
|
||||
[builder setFeatureFlag:@"ios.recording.enabled" withBoolean:YES];
|
||||
}];
|
||||
|
||||
@@ -88,6 +88,10 @@
|
||||
[self _onJitsiMeetViewDelegateEvent:@"CONFERENCE_WILL_JOIN" withData:data];
|
||||
}
|
||||
|
||||
// - (void)customOverflowMenuButtonPressed:(NSDictionary *)data {
|
||||
// [self _onJitsiMeetViewDelegateEvent:@"CUSTOM_OVERFLOW_MENU_BUTTON_PRESSED" withData:data];
|
||||
// }
|
||||
|
||||
#if 0
|
||||
- (void)enterPictureInPicture:(NSDictionary *)data {
|
||||
[self _onJitsiMeetViewDelegateEvent:@"ENTER_PICTURE_IN_PICTURE" withData:data];
|
||||
@@ -98,6 +102,10 @@
|
||||
[self _onJitsiMeetViewDelegateEvent:@"READY_TO_CLOSE" withData:data];
|
||||
}
|
||||
|
||||
// - (void)transcriptionChunkReceived:(NSDictionary *)data {
|
||||
// [self _onJitsiMeetViewDelegateEvent:@"TRANSCRIPTION_CHUNK_RECEIVED" withData:data];
|
||||
// }
|
||||
|
||||
- (void)participantJoined:(NSDictionary *)data {
|
||||
NSLog(@"%@%@", @"Participant joined: ", data[@"participantId"]);
|
||||
}
|
||||
@@ -130,6 +138,7 @@
|
||||
NSLog(@"%@%@", @"Video muted changed: ", data[@"muted"]);
|
||||
}
|
||||
|
||||
|
||||
#pragma mark - Helpers
|
||||
|
||||
- (void)terminate {
|
||||
|
||||
@@ -1,18 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
||||
<plist version="1.0">
|
||||
<dict>
|
||||
<key>compileBitcode</key>
|
||||
<false/>
|
||||
<key>method</key>
|
||||
<string>development</string>
|
||||
<key>signingStyle</key>
|
||||
<string>automatic</string>
|
||||
<key>stripSwiftSymbols</key>
|
||||
<true/>
|
||||
<key>teamID</key>
|
||||
<string>YOUR_TEAM_ID</string>
|
||||
<key>thinning</key>
|
||||
<string><none></string>
|
||||
</dict>
|
||||
</plist>
|
||||
@@ -1,103 +0,0 @@
|
||||
#!/bin/bash
|
||||
set -e
|
||||
|
||||
# Mandatory arguments with no default values provided:
|
||||
# PR_REPO_SLUG - the Github name of the repo to be merged into the origin/master
|
||||
# PR_BRANCH - the branch to be merged, if set to "master" no merge will happen
|
||||
# IPA_DEPLOY_LOCATION - the location understandable by the "scp" command
|
||||
# executed at the end of the script to deploy the output .ipa file
|
||||
# LIB_JITSI_MEET_PKG (optional) - the npm package for lib-jitsi-meet which will
|
||||
# be put in place of the current version in the package.json file.
|
||||
#
|
||||
# Other than that the script requires the following env variables to be set:
|
||||
#
|
||||
# DEPLOY_SSH_CERT_URL - the SSH private key used by the 'scp' command to deploy
|
||||
# the .ipa. It is expected to be encrypted with the $ENCRYPTION_PASSWORD.
|
||||
# ENCRYPTION_PASSWORD - the password used to decrypt certificate/key files used
|
||||
# in the script.
|
||||
# IOS_TEAM_ID - the team ID inserted into build-ipa-.plist.template file in
|
||||
# place of "YOUR_TEAM_ID".
|
||||
|
||||
function echoAndExit1() {
|
||||
echo $1
|
||||
exit 1
|
||||
}
|
||||
|
||||
if [ -z $PR_REPO_SLUG ]; then
|
||||
echoAndExit1 "No PR_REPO_SLUG defined"
|
||||
fi
|
||||
if [ -z $PR_BRANCH ]; then
|
||||
echoAndExit1 "No PR_BRANCH defined"
|
||||
fi
|
||||
if [ -z $IPA_DEPLOY_LOCATION ]; then
|
||||
echoAndExit1 "No IPA_DEPLOY_LOCATION defined"
|
||||
fi
|
||||
|
||||
echo "PR_REPO_SLUG=${PR_REPO_SLUG} PR_BRANCH=${PR_BRANCH}"
|
||||
|
||||
# do the merge and git log
|
||||
|
||||
if [ $PR_BRANCH != "master" ]; then
|
||||
echo "Will merge ${PR_REPO_SLUG}/${PR_BRANCH} into master"
|
||||
git config remote.origin.fetch "+refs/heads/*:refs/remotes/origin/*"
|
||||
git fetch origin master
|
||||
git checkout master
|
||||
git pull https://github.com/${PR_REPO_SLUG}.git $PR_BRANCH --no-edit
|
||||
fi
|
||||
|
||||
# Link this lib-jitsi-meet checkout in jitsi-meet through the package.json
|
||||
if [ ! -z ${LIB_JITSI_MEET_PKG} ];
|
||||
then
|
||||
echo "Adjusting lib-jitsi-meet package in package.json to ${LIB_JITSI_MEET_PKG}"
|
||||
# escape for the sed
|
||||
LIB_JITSI_MEET_PKG=$(echo $LIB_JITSI_MEET_PKG | sed -e 's/\\/\\\\/g; s/\//\\\//g; s/&/\\\&/g')
|
||||
sed -i.bak -e "s/\"lib-jitsi-meet.*/\"lib-jitsi-meet\"\: \"${LIB_JITSI_MEET_PKG}\",/g" package.json
|
||||
echo "Package.json lib-jitsi-meet line:"
|
||||
grep lib-jitsi-meet package.json
|
||||
else
|
||||
echo "LIB_JITSI_MEET_PKG var not set - will not modify the package.json"
|
||||
fi
|
||||
|
||||
git log -20 --graph --pretty=format':%C(yellow)%h%Cblue%d%Creset %s %C(white) %an, %ar%Creset'
|
||||
|
||||
# certificates
|
||||
|
||||
CERT_DIR="ios/ci/certs"
|
||||
|
||||
mkdir -p $CERT_DIR
|
||||
|
||||
curl -L -o ${CERT_DIR}/id_rsa.enc ${DEPLOY_SSH_CERT_URL}
|
||||
openssl aes-256-cbc -k "$ENCRYPTION_PASSWORD" -in ${CERT_DIR}/id_rsa.enc -d -a -out ${CERT_DIR}/id_rsa
|
||||
chmod 0600 ${CERT_DIR}/id_rsa
|
||||
ssh-add ${CERT_DIR}/id_rsa
|
||||
|
||||
npm install
|
||||
|
||||
# Ever since the Apple Watch app has been added the bitcode for WebRTC needs to be downloaded in order to build successfully
|
||||
./node_modules/react-native-webrtc/tools/downloadBitcode.sh
|
||||
|
||||
cd ios
|
||||
pod install --repo-update --no-ansi
|
||||
cd ..
|
||||
|
||||
mkdir -p /tmp/jitsi-meet/
|
||||
|
||||
xcodebuild archive -quiet -workspace ios/jitsi-meet.xcworkspace -scheme jitsi-meet -configuration Release -archivePath /tmp/jitsi-meet/jitsi-meet.xcarchive
|
||||
|
||||
sed -e "s/YOUR_TEAM_ID/${IOS_TEAM_ID}/g" ios/ci/build-ipa.plist.template > ios/ci/build-ipa.plist
|
||||
|
||||
IPA_EXPORT_DIR=/tmp/jitsi-meet/jitsi-meet-ipa
|
||||
|
||||
xcodebuild -quiet -exportArchive -archivePath /tmp/jitsi-meet/jitsi-meet.xcarchive -exportPath $IPA_EXPORT_DIR -exportOptionsPlist ios/ci/build-ipa.plist
|
||||
|
||||
echo "Will try deploy the .ipa to: ${IPA_DEPLOY_LOCATION}"
|
||||
|
||||
if [ ! -z ${SCP_PROXY_HOST} ];
|
||||
then
|
||||
scp -o ProxyCommand="ssh -t -A -l %r ${SCP_PROXY_HOST} -o \"StrictHostKeyChecking no\" -o \"BatchMode yes\" -W %h:%p" -o StrictHostKeyChecking=no -o LogLevel=DEBUG "${IPA_EXPORT_DIR}/jitsi-meet.ipa" "${IPA_DEPLOY_LOCATION}"
|
||||
else
|
||||
scp -o StrictHostKeyChecking=no -o LogLevel=DEBUG "${IPA_EXPORT_DIR}/jitsi-meet.ipa" "${IPA_DEPLOY_LOCATION}"
|
||||
fi
|
||||
|
||||
rm -r /tmp/jitsi-meet/
|
||||
rm -r $CERT_DIR
|
||||
@@ -1,100 +0,0 @@
|
||||
# The script is based on tutorial written by Antonis Tsakiridis published at:
|
||||
# https://medium.com/@atsakiridis/continuous-deployment-for-ios-using-travis-ci-55dcea342d9
|
||||
#
|
||||
# APPLE_CERT_URL - the URL pointing to Apple certificate (set to
|
||||
# http://developer.apple.com/certificationauthority/AppleWWDRCA.cer by default)
|
||||
# DEPLOY_SSH_CERT_URL - the SSH private key used by the 'scp' command to deploy
|
||||
# the .ipa. It is expected to be encrypted with the $ENCRYPTION_PASSWORD.
|
||||
# ENCRYPTION_PASSWORD - the password used to decrypt certificate/key files used
|
||||
# in the script.
|
||||
# IOS_DEV_CERT_KEY_URL - URL pointing to provisioning profile certificate key
|
||||
# file (development-key.p12.enc from the tutorial) encrypted with the
|
||||
# $ENCRYPTION_PASSWORD.
|
||||
# IOS_DEV_CERT_URL - URL pointing to provisioning profile certificate file
|
||||
# (development-cert.cer.enc from the tutorial) encrypted with the
|
||||
# $ENCRYPTION_PASSWORD.
|
||||
# IOS_DEV_PROV_PROFILE_URL - URL pointing to provisioning profile file
|
||||
# (profile-development-olympus.mobileprovision.enc from the tutorial) encrypted
|
||||
# IOS_DEV_WATCH_PROV_PROFILE_URL - URL pointing to watch app provisioning profile file(encrypted).
|
||||
# with the $ENCRYPTION_PASSWORD.
|
||||
# IOS_SIGNING_CERT_PASSWORD - the password to the provisioning profile
|
||||
# certificate key (used to open development-key.p12 from the tutorial).
|
||||
|
||||
function echoAndExit1() {
|
||||
echo $1
|
||||
exit 1
|
||||
}
|
||||
|
||||
CERT_DIR=$1
|
||||
|
||||
if [ -z $CERT_DIR ]; then
|
||||
echoAndExit1 "First argument must be certificates directory"
|
||||
fi
|
||||
|
||||
if [ -z $APPLE_CERT_URL ]; then
|
||||
APPLE_CERT_URL="http://developer.apple.com/certificationauthority/AppleWWDRCA.cer"
|
||||
fi
|
||||
|
||||
if [ -z $DEPLOY_SSH_CERT_URL ]; then
|
||||
echoAndExit1 "DEPLOY_SSH_CERT_URL env var is not defined"
|
||||
fi
|
||||
|
||||
if [ -z $ENCRYPTION_PASSWORD ]; then
|
||||
echoAndExit1 "ENCRYPTION_PASSWORD env var is not defined"
|
||||
fi
|
||||
|
||||
if [ -z $IOS_DEV_CERT_KEY_URL ]; then
|
||||
echoAndExit1 "IOS_DEV_CERT_KEY_URL env var is not defined"
|
||||
fi
|
||||
|
||||
if [ -z $IOS_DEV_CERT_URL ]; then
|
||||
echoAndExit1 "IOS_DEV_CERT_URL env var is not defined"
|
||||
fi
|
||||
|
||||
if [ -z $IOS_DEV_PROV_PROFILE_URL ]; then
|
||||
echoAndExit1 "IOS_DEV_PROV_PROFILE_URL env var is not defined"
|
||||
fi
|
||||
|
||||
if [ -z $IOS_DEV_WATCH_PROV_PROFILE_URL ]; then
|
||||
echoAndExit1 "IOS_DEV_WATCH_PROV_PROFILE_URL env var is not defined"
|
||||
fi
|
||||
|
||||
if [ -z $IOS_SIGNING_CERT_PASSWORD ]; then
|
||||
echoAndExit1 "IOS_SIGNING_CERT_PASSWORD env var is not defined"
|
||||
fi
|
||||
|
||||
# certificates
|
||||
|
||||
curl -L -o ${CERT_DIR}/AppleWWDRCA.cer 'http://developer.apple.com/certificationauthority/AppleWWDRCA.cer'
|
||||
curl -L -o ${CERT_DIR}/dev-cert.cer.enc ${IOS_DEV_CERT_URL}
|
||||
curl -L -o ${CERT_DIR}/dev-key.p12.enc ${IOS_DEV_CERT_KEY_URL}
|
||||
curl -L -o ${CERT_DIR}/dev-profile.mobileprovision.enc ${IOS_DEV_PROV_PROFILE_URL}
|
||||
curl -L -o ${CERT_DIR}/dev-watch-profile.mobileprovision.enc ${IOS_DEV_WATCH_PROV_PROFILE_URL}
|
||||
|
||||
|
||||
openssl aes-256-cbc -k "$ENCRYPTION_PASSWORD" -in ${CERT_DIR}/dev-cert.cer.enc -d -a -out ${CERT_DIR}/dev-cert.cer
|
||||
openssl aes-256-cbc -k "$ENCRYPTION_PASSWORD" -in ${CERT_DIR}/dev-key.p12.enc -d -a -out ${CERT_DIR}/dev-key.p12
|
||||
openssl aes-256-cbc -k "$ENCRYPTION_PASSWORD" -in ${CERT_DIR}/dev-profile.mobileprovision.enc -d -a -out ${CERT_DIR}/dev-profile.mobileprovision
|
||||
openssl aes-256-cbc -k "$ENCRYPTION_PASSWORD" -in ${CERT_DIR}/dev-watch-profile.mobileprovision.enc -d -a -out ${CERT_DIR}/dev-watch-profile.mobileprovision
|
||||
|
||||
security create-keychain -p $ENCRYPTION_PASSWORD ios-build.keychain
|
||||
security default-keychain -s ios-build.keychain
|
||||
security unlock-keychain -p $ENCRYPTION_PASSWORD ios-build.keychain
|
||||
security set-keychain-settings -t 3600 -l ~/Library/Keychains/ios-build.keychain
|
||||
|
||||
echo "importing Apple cert"
|
||||
security import ${CERT_DIR}/AppleWWDRCA.cer -k ios-build.keychain -A
|
||||
echo "importing dev-cert.cer"
|
||||
security import ${CERT_DIR}/dev-cert.cer -k ios-build.keychain -A
|
||||
echo "importing dev-key.p12"
|
||||
security import ${CERT_DIR}/dev-key.p12 -k ios-build.keychain -P $IOS_SIGNING_CERT_PASSWORD -A
|
||||
|
||||
echo "will set-key-partition-list"
|
||||
# Fix for OS X Sierra that hangs in the codesign step
|
||||
security set-key-partition-list -S apple-tool:,apple: -s -k $ENCRYPTION_PASSWORD ios-build.keychain > /dev/null
|
||||
echo "done set-key-partition-list"
|
||||
|
||||
mkdir -p ~/Library/MobileDevice/Provisioning\ Profiles
|
||||
|
||||
cp "${CERT_DIR}/dev-profile.mobileprovision" ~/Library/MobileDevice/Provisioning\ Profiles/
|
||||
cp "${CERT_DIR}/dev-watch-profile.mobileprovision" ~/Library/MobileDevice/Provisioning\ Profiles/
|
||||
@@ -79,7 +79,8 @@ platform :ios do
|
||||
build_app(
|
||||
scheme: "JitsiMeet",
|
||||
include_symbols: true,
|
||||
export_xcargs: "-allowProvisioningUpdates"
|
||||
export_xcargs: "-allowProvisioningUpdates",
|
||||
xcodebuild_formatter: ""
|
||||
)
|
||||
|
||||
# Upload the build to TestFlight
|
||||
|
||||
@@ -1,14 +1,12 @@
|
||||
#!/bin/bash
|
||||
|
||||
set -e -u
|
||||
set -e -u -x
|
||||
|
||||
THIS_DIR=$(cd -P "$(dirname "$(readlink "${BASH_SOURCE[0]}" || echo "${BASH_SOURCE[0]}")")" && pwd)
|
||||
PROJECT_REPO=$(realpath ${THIS_DIR}/../..)
|
||||
RELEASE_REPO=$(realpath ${THIS_DIR}/../../../jitsi-meet-ios-sdk-releases)
|
||||
DEFAULT_SDK_VERSION=$(/usr/libexec/PlistBuddy -c "Print CFBundleShortVersionString" ${THIS_DIR}/../sdk/src/Lite-Info.plist)
|
||||
SDK_VERSION=${OVERRIDE_SDK_VERSION:-${DEFAULT_SDK_VERSION}}
|
||||
DO_GIT_TAG=${GIT_TAG:-0}
|
||||
|
||||
|
||||
echo "Releasing Jitsi Meet SDK Lite ${SDK_VERSION}"
|
||||
|
||||
@@ -50,22 +48,18 @@ xcodebuild -create-xcframework \
|
||||
-framework ios/sdk/out/ios-device.xcarchive/Products/Library/Frameworks/JitsiMeetSDK.framework \
|
||||
-framework ios/sdk/out/ios-simulator.xcarchive/Products/Library/Frameworks/JitsiMeetSDK.framework \
|
||||
-output ios/sdk/out/JitsiMeetSDK.xcframework
|
||||
if [[ $DO_GIT_TAG == 1 ]]; then
|
||||
git tag ios-sdk-lite-${SDK_VERSION}
|
||||
fi
|
||||
popd
|
||||
|
||||
pushd ${RELEASE_REPO}
|
||||
|
||||
# Put the new files in the repo
|
||||
cp -a ${PROJECT_REPO}/ios/sdk/out/JitsiMeetSDK.xcframework lite/Frameworks/
|
||||
cp -a ${PROJECT_REPO}/ios/sdk/out/hermes.xcframework lite/Frameworks/
|
||||
|
||||
# Add all files to git
|
||||
if [[ $DO_GIT_TAG == 1 ]]; then
|
||||
git add -A .
|
||||
git commit -m "${SDK_VERSION} lite"
|
||||
git tag "${SDK_VERSION}-lite"
|
||||
fi
|
||||
git add -A .
|
||||
git commit --allow-empty -m "${SDK_VERSION} lite"
|
||||
git tag "${SDK_VERSION}-lite"
|
||||
|
||||
popd
|
||||
|
||||
|
||||
@@ -1,14 +1,12 @@
|
||||
#!/bin/bash
|
||||
|
||||
set -e -u
|
||||
set -e -u -x
|
||||
|
||||
THIS_DIR=$(cd -P "$(dirname "$(readlink "${BASH_SOURCE[0]}" || echo "${BASH_SOURCE[0]}")")" && pwd)
|
||||
PROJECT_REPO=$(realpath ${THIS_DIR}/../..)
|
||||
RELEASE_REPO=$(realpath ${THIS_DIR}/../../../jitsi-meet-ios-sdk-releases)
|
||||
DEFAULT_SDK_VERSION=$(/usr/libexec/PlistBuddy -c "Print CFBundleShortVersionString" ${THIS_DIR}/../sdk/src/Info.plist)
|
||||
SDK_VERSION=${OVERRIDE_SDK_VERSION:-${DEFAULT_SDK_VERSION}}
|
||||
DO_GIT_TAG=${GIT_TAG:-0}
|
||||
|
||||
|
||||
echo "Releasing Jitsi Meet SDK ${SDK_VERSION}"
|
||||
|
||||
@@ -50,22 +48,18 @@ xcodebuild -create-xcframework \
|
||||
-framework ios/sdk/out/ios-device.xcarchive/Products/Library/Frameworks/JitsiMeetSDK.framework \
|
||||
-framework ios/sdk/out/ios-simulator.xcarchive/Products/Library/Frameworks/JitsiMeetSDK.framework \
|
||||
-output ios/sdk/out/JitsiMeetSDK.xcframework
|
||||
if [[ $DO_GIT_TAG == 1 ]]; then
|
||||
git tag ios-sdk-${SDK_VERSION}
|
||||
fi
|
||||
popd
|
||||
|
||||
pushd ${RELEASE_REPO}
|
||||
|
||||
# Put the new files in the repo
|
||||
cp -a ${PROJECT_REPO}/ios/sdk/out/JitsiMeetSDK.xcframework Frameworks/
|
||||
cp -a ${PROJECT_REPO}/ios/sdk/out/hermes.xcframework Frameworks/
|
||||
|
||||
# Add all files to git
|
||||
if [[ $DO_GIT_TAG == 1 ]]; then
|
||||
git add -A .
|
||||
git commit -m "${SDK_VERSION}"
|
||||
git tag ${SDK_VERSION}
|
||||
fi
|
||||
git add -A .
|
||||
git commit --allow-empty -m "${SDK_VERSION}"
|
||||
git tag "${SDK_VERSION}"
|
||||
|
||||
popd
|
||||
|
||||
|
||||
@@ -2,4 +2,4 @@
|
||||
|
||||
THIS_DIR=$(cd -P "$(dirname "$(readlink "${BASH_SOURCE[0]}" || echo "${BASH_SOURCE[0]}")")" && pwd)
|
||||
|
||||
exec ${THIS_DIR}/../../node_modules/react-native/scripts/launchPackager.command --reset-cache
|
||||
exec ${THIS_DIR}/../../node_modules/react-native/scripts/packager.sh --reset-cache
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
archiveVersion = 1;
|
||||
classes = {
|
||||
};
|
||||
objectVersion = 46;
|
||||
objectVersion = 54;
|
||||
objects = {
|
||||
|
||||
/* Begin PBXBuildFile section */
|
||||
@@ -145,6 +145,7 @@
|
||||
4ED4FFF12721B9B90074E620 /* JitsiAudioSession.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = JitsiAudioSession.h; sourceTree = "<group>"; };
|
||||
4ED4FFF22721B9B90074E620 /* JitsiAudioSession.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = JitsiAudioSession.m; sourceTree = "<group>"; };
|
||||
4ED4FFF52721BAE10074E620 /* JitsiAudioSession+Private.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "JitsiAudioSession+Private.h"; sourceTree = "<group>"; };
|
||||
6132EF172BDFF13200BBE14D /* PrivacyInfo.xcprivacy */ = {isa = PBXFileReference; lastKnownFileType = text.xml; name = PrivacyInfo.xcprivacy; path = ../PrivacyInfo.xcprivacy; sourceTree = "<group>"; };
|
||||
86389F55993FAAF6AEB3FA3E /* Pods-JitsiMeetSDKLite.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-JitsiMeetSDKLite.release.xcconfig"; path = "../Pods/Target Support Files/Pods-JitsiMeetSDKLite/Pods-JitsiMeetSDKLite.release.xcconfig"; sourceTree = "<group>"; };
|
||||
891FE43DAD30BC8976683100 /* Pods-JitsiMeetSDK.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-JitsiMeetSDK.release.xcconfig"; path = "../Pods/Target Support Files/Pods-JitsiMeetSDK/Pods-JitsiMeetSDK.release.xcconfig"; sourceTree = "<group>"; };
|
||||
8F48C340DE0D91D1012976C5 /* Pods-JitsiMeetSDKLite.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-JitsiMeetSDKLite.debug.xcconfig"; path = "../Pods/Target Support Files/Pods-JitsiMeetSDKLite/Pods-JitsiMeetSDKLite.debug.xcconfig"; sourceTree = "<group>"; };
|
||||
@@ -230,6 +231,7 @@
|
||||
0BD906E61EC0C00300C8C18E /* Products */,
|
||||
0BCA49681EC4BBE500B793EE /* Resources */,
|
||||
0BD906E71EC0C00300C8C18E /* src */,
|
||||
6132EF172BDFF13200BBE14D /* PrivacyInfo.xcprivacy */,
|
||||
);
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
@@ -629,7 +631,7 @@
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
shellPath = /bin/sh;
|
||||
shellScript = "export NODE_BINARY=node\nexport NODE_ARGS=\"--max_old_space_size=4096\"\n../../node_modules/react-native/scripts/react-native-xcode.sh\n";
|
||||
shellScript = "WITH_ENVIRONMENT=\"../../node_modules/react-native/scripts/xcode/with-environment.sh\"\nREACT_NATIVE_XCODE=\"../../node_modules/react-native/scripts/react-native-xcode.sh\"\n\n/bin/sh -c \"$WITH_ENVIRONMENT $REACT_NATIVE_XCODE\"\n";
|
||||
};
|
||||
DE9A016B289A9A9A00E41CBB /* [CP] Copy Pods Resources */ = {
|
||||
isa = PBXShellScriptBuildPhase;
|
||||
@@ -725,10 +727,11 @@
|
||||
isa = XCBuildConfiguration;
|
||||
buildSettings = {
|
||||
ALWAYS_SEARCH_USER_PATHS = NO;
|
||||
CC = "";
|
||||
CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED = YES;
|
||||
CLANG_ANALYZER_NONNULL = YES;
|
||||
CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE;
|
||||
CLANG_CXX_LANGUAGE_STANDARD = "c++17";
|
||||
CLANG_CXX_LANGUAGE_STANDARD = "c++20";
|
||||
CLANG_CXX_LIBRARY = "libc++";
|
||||
CLANG_ENABLE_MODULES = YES;
|
||||
CLANG_ENABLE_OBJC_ARC = YES;
|
||||
@@ -755,6 +758,7 @@
|
||||
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
|
||||
COPY_PHASE_STRIP = NO;
|
||||
CURRENT_PROJECT_VERSION = 1;
|
||||
CXX = "";
|
||||
DEBUG_INFORMATION_FORMAT = dwarf;
|
||||
ENABLE_STRICT_OBJC_MSGSEND = YES;
|
||||
ENABLE_TESTABILITY = YES;
|
||||
@@ -774,18 +778,19 @@
|
||||
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
|
||||
GCC_WARN_UNUSED_FUNCTION = YES;
|
||||
GCC_WARN_UNUSED_VARIABLE = YES;
|
||||
IPHONEOS_DEPLOYMENT_TARGET = 12.4;
|
||||
IPHONEOS_DEPLOYMENT_TARGET = 15.1;
|
||||
LD = "";
|
||||
LDPLUSPLUS = "";
|
||||
MTL_ENABLE_DEBUG_INFO = YES;
|
||||
ONLY_ACTIVE_ARCH = YES;
|
||||
OTHER_CFLAGS = "$(inherited)";
|
||||
OTHER_CPLUSPLUSFLAGS = "$(inherited)";
|
||||
OTHER_LDFLAGS = (
|
||||
"$(inherited)",
|
||||
" ",
|
||||
);
|
||||
OTHER_LDFLAGS = "$(inherited)";
|
||||
REACT_NATIVE_PATH = "${PODS_ROOT}/../../node_modules/react-native";
|
||||
SDKROOT = iphoneos;
|
||||
SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) DEBUG";
|
||||
TARGETED_DEVICE_FAMILY = "1,2";
|
||||
USE_HERMES = true;
|
||||
VERSIONING_SYSTEM = "apple-generic";
|
||||
VERSION_INFO_PREFIX = "";
|
||||
};
|
||||
@@ -795,10 +800,11 @@
|
||||
isa = XCBuildConfiguration;
|
||||
buildSettings = {
|
||||
ALWAYS_SEARCH_USER_PATHS = NO;
|
||||
CC = "";
|
||||
CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED = YES;
|
||||
CLANG_ANALYZER_NONNULL = YES;
|
||||
CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE;
|
||||
CLANG_CXX_LANGUAGE_STANDARD = "c++17";
|
||||
CLANG_CXX_LANGUAGE_STANDARD = "c++20";
|
||||
CLANG_CXX_LIBRARY = "libc++";
|
||||
CLANG_ENABLE_MODULES = YES;
|
||||
CLANG_ENABLE_OBJC_ARC = YES;
|
||||
@@ -825,6 +831,7 @@
|
||||
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
|
||||
COPY_PHASE_STRIP = NO;
|
||||
CURRENT_PROJECT_VERSION = 1;
|
||||
CXX = "";
|
||||
DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
|
||||
ENABLE_NS_ASSERTIONS = NO;
|
||||
ENABLE_STRICT_OBJC_MSGSEND = YES;
|
||||
@@ -841,18 +848,18 @@
|
||||
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
|
||||
GCC_WARN_UNUSED_FUNCTION = YES;
|
||||
GCC_WARN_UNUSED_VARIABLE = YES;
|
||||
IPHONEOS_DEPLOYMENT_TARGET = 12.4;
|
||||
IPHONEOS_DEPLOYMENT_TARGET = 15.1;
|
||||
LD = "";
|
||||
LDPLUSPLUS = "";
|
||||
MTL_ENABLE_DEBUG_INFO = NO;
|
||||
OTHER_CFLAGS = "$(inherited)";
|
||||
OTHER_CPLUSPLUSFLAGS = "$(inherited)";
|
||||
OTHER_LDFLAGS = (
|
||||
"$(inherited)",
|
||||
" ",
|
||||
);
|
||||
OTHER_LDFLAGS = "$(inherited)";
|
||||
REACT_NATIVE_PATH = "${PODS_ROOT}/../../node_modules/react-native";
|
||||
SDKROOT = iphoneos;
|
||||
SWIFT_COMPILATION_MODE = wholemodule;
|
||||
TARGETED_DEVICE_FAMILY = "1,2";
|
||||
USE_HERMES = true;
|
||||
VALIDATE_PRODUCT = YES;
|
||||
VERSIONING_SYSTEM = "apple-generic";
|
||||
VERSION_INFO_PREFIX = "";
|
||||
@@ -864,7 +871,6 @@
|
||||
baseConfigurationReference = 09A78016288AF50ACD28A10D /* Pods-JitsiMeetSDK.debug.xcconfig */;
|
||||
buildSettings = {
|
||||
ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = NO;
|
||||
ARCHS = "$(ARCHS_STANDARD_64_BIT)";
|
||||
CLANG_ENABLE_MODULES = YES;
|
||||
CODE_SIGN_IDENTITY = "";
|
||||
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "";
|
||||
@@ -875,16 +881,24 @@
|
||||
DYLIB_INSTALL_NAME_BASE = "@rpath";
|
||||
"EXCLUDED_ARCHS[sdk=iphonesimulator*]" = "";
|
||||
INFOPLIST_FILE = src/Info.plist;
|
||||
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
|
||||
LD_RUNPATH_SEARCH_PATHS = (
|
||||
"$(inherited)",
|
||||
"@executable_path/Frameworks",
|
||||
"@loader_path/Frameworks",
|
||||
);
|
||||
PRODUCT_BUNDLE_IDENTIFIER = org.jitsi.JitsiMeetSDK.ios;
|
||||
PRODUCT_NAME = "$(TARGET_NAME)";
|
||||
PROVISIONING_PROFILE_SPECIFIER = "";
|
||||
SKIP_INSTALL = YES;
|
||||
SUPPORTED_PLATFORMS = "iphoneos iphonesimulator";
|
||||
SUPPORTS_MACCATALYST = NO;
|
||||
SUPPORTS_MAC_DESIGNED_FOR_IPHONE_IPAD = NO;
|
||||
SUPPORTS_XR_DESIGNED_FOR_IPHONE_IPAD = NO;
|
||||
SWIFT_INSTALL_OBJC_HEADER = NO;
|
||||
SWIFT_OBJC_INTERFACE_HEADER_NAME = "";
|
||||
SWIFT_OPTIMIZATION_LEVEL = "-Onone";
|
||||
SWIFT_VERSION = 5.0;
|
||||
TARGETED_DEVICE_FAMILY = "1,2";
|
||||
};
|
||||
name = Debug;
|
||||
};
|
||||
@@ -893,7 +907,6 @@
|
||||
baseConfigurationReference = 891FE43DAD30BC8976683100 /* Pods-JitsiMeetSDK.release.xcconfig */;
|
||||
buildSettings = {
|
||||
ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = NO;
|
||||
ARCHS = "$(ARCHS_STANDARD_64_BIT)";
|
||||
CLANG_ENABLE_MODULES = YES;
|
||||
CODE_SIGN_IDENTITY = "";
|
||||
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "";
|
||||
@@ -904,15 +917,23 @@
|
||||
DYLIB_INSTALL_NAME_BASE = "@rpath";
|
||||
"EXCLUDED_ARCHS[sdk=iphonesimulator*]" = "";
|
||||
INFOPLIST_FILE = src/Info.plist;
|
||||
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
|
||||
LD_RUNPATH_SEARCH_PATHS = (
|
||||
"$(inherited)",
|
||||
"@executable_path/Frameworks",
|
||||
"@loader_path/Frameworks",
|
||||
);
|
||||
PRODUCT_BUNDLE_IDENTIFIER = org.jitsi.JitsiMeetSDK.ios;
|
||||
PRODUCT_NAME = "$(TARGET_NAME)";
|
||||
PROVISIONING_PROFILE_SPECIFIER = "";
|
||||
SKIP_INSTALL = YES;
|
||||
SUPPORTED_PLATFORMS = "iphoneos iphonesimulator";
|
||||
SUPPORTS_MACCATALYST = NO;
|
||||
SUPPORTS_MAC_DESIGNED_FOR_IPHONE_IPAD = NO;
|
||||
SUPPORTS_XR_DESIGNED_FOR_IPHONE_IPAD = NO;
|
||||
SWIFT_INSTALL_OBJC_HEADER = NO;
|
||||
SWIFT_OBJC_INTERFACE_HEADER_NAME = "";
|
||||
SWIFT_VERSION = 5.0;
|
||||
TARGETED_DEVICE_FAMILY = "1,2";
|
||||
};
|
||||
name = Release;
|
||||
};
|
||||
@@ -921,7 +942,6 @@
|
||||
baseConfigurationReference = 8F48C340DE0D91D1012976C5 /* Pods-JitsiMeetSDKLite.debug.xcconfig */;
|
||||
buildSettings = {
|
||||
ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = NO;
|
||||
ARCHS = "$(ARCHS_STANDARD_64_BIT)";
|
||||
CLANG_ENABLE_MODULES = YES;
|
||||
CODE_SIGN_IDENTITY = "";
|
||||
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "";
|
||||
@@ -937,16 +957,24 @@
|
||||
"JITSI_MEET_SDK_LITE=1",
|
||||
);
|
||||
INFOPLIST_FILE = "src/Lite-Info.plist";
|
||||
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
|
||||
LD_RUNPATH_SEARCH_PATHS = (
|
||||
"$(inherited)",
|
||||
"@executable_path/Frameworks",
|
||||
"@loader_path/Frameworks",
|
||||
);
|
||||
PRODUCT_BUNDLE_IDENTIFIER = org.jitsi.JitsiMeetSDK.ios;
|
||||
PRODUCT_NAME = JitsiMeetSDK;
|
||||
PROVISIONING_PROFILE_SPECIFIER = "";
|
||||
SKIP_INSTALL = YES;
|
||||
SUPPORTED_PLATFORMS = "iphoneos iphonesimulator";
|
||||
SUPPORTS_MACCATALYST = NO;
|
||||
SUPPORTS_MAC_DESIGNED_FOR_IPHONE_IPAD = NO;
|
||||
SUPPORTS_XR_DESIGNED_FOR_IPHONE_IPAD = NO;
|
||||
SWIFT_INSTALL_OBJC_HEADER = NO;
|
||||
SWIFT_OBJC_INTERFACE_HEADER_NAME = "";
|
||||
SWIFT_OPTIMIZATION_LEVEL = "-Onone";
|
||||
SWIFT_VERSION = 5.0;
|
||||
TARGETED_DEVICE_FAMILY = "1,2";
|
||||
};
|
||||
name = Debug;
|
||||
};
|
||||
@@ -955,7 +983,6 @@
|
||||
baseConfigurationReference = 86389F55993FAAF6AEB3FA3E /* Pods-JitsiMeetSDKLite.release.xcconfig */;
|
||||
buildSettings = {
|
||||
ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = NO;
|
||||
ARCHS = "$(ARCHS_STANDARD_64_BIT)";
|
||||
CLANG_ENABLE_MODULES = YES;
|
||||
CODE_SIGN_IDENTITY = "";
|
||||
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "";
|
||||
@@ -971,15 +998,23 @@
|
||||
JITSI_MEET_SDK_LITE,
|
||||
);
|
||||
INFOPLIST_FILE = "src/Lite-Info.plist";
|
||||
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
|
||||
LD_RUNPATH_SEARCH_PATHS = (
|
||||
"$(inherited)",
|
||||
"@executable_path/Frameworks",
|
||||
"@loader_path/Frameworks",
|
||||
);
|
||||
PRODUCT_BUNDLE_IDENTIFIER = org.jitsi.JitsiMeetSDK.ios;
|
||||
PRODUCT_NAME = JitsiMeetSDK;
|
||||
PROVISIONING_PROFILE_SPECIFIER = "";
|
||||
SKIP_INSTALL = YES;
|
||||
SUPPORTED_PLATFORMS = "iphoneos iphonesimulator";
|
||||
SUPPORTS_MACCATALYST = NO;
|
||||
SUPPORTS_MAC_DESIGNED_FOR_IPHONE_IPAD = NO;
|
||||
SUPPORTS_XR_DESIGNED_FOR_IPHONE_IPAD = NO;
|
||||
SWIFT_INSTALL_OBJC_HEADER = NO;
|
||||
SWIFT_OBJC_INTERFACE_HEADER_NAME = "";
|
||||
SWIFT_VERSION = 5.0;
|
||||
TARGETED_DEVICE_FAMILY = "1,2";
|
||||
};
|
||||
name = Release;
|
||||
};
|
||||
|
||||
@@ -62,7 +62,7 @@
|
||||
|
||||
// Initialize the one and only bridge for interfacing with React Native.
|
||||
_bridgeWrapper = [[RCTBridgeWrapper alloc] init];
|
||||
|
||||
|
||||
// Initialize the listener for handling start/stop screensharing notifications.
|
||||
_screenshareEventEmiter = [[ScheenshareEventEmiter alloc] init];
|
||||
|
||||
@@ -141,7 +141,7 @@
|
||||
if (_bridgeWrapper != nil) {
|
||||
return;
|
||||
};
|
||||
|
||||
|
||||
_bridgeWrapper = [[RCTBridgeWrapper alloc] init];
|
||||
}
|
||||
|
||||
@@ -231,7 +231,7 @@
|
||||
}
|
||||
|
||||
- (void)setDefaultConferenceOptions:(JitsiMeetConferenceOptions *)defaultConferenceOptions {
|
||||
if (defaultConferenceOptions != nil && _defaultConferenceOptions.room != nil) {
|
||||
if (defaultConferenceOptions != nil && defaultConferenceOptions.room != nil) {
|
||||
@throw [NSException exceptionWithName:@"RuntimeError"
|
||||
reason:@"'room' must be null in the default conference options"
|
||||
userInfo:nil];
|
||||
|
||||
@@ -26,7 +26,7 @@
|
||||
@property (nonatomic, nullable, weak) id<JitsiMeetViewDelegate> delegate;
|
||||
|
||||
/**
|
||||
* Joins the conference specified by the given options. The gievn options will
|
||||
* Joins the conference specified by the given options. The given options will
|
||||
* be merged with the defaultConferenceOptions (if set) in JitsiMeet. If there
|
||||
* is an already active conference it will be automatically left prior to
|
||||
* joining the new one.
|
||||
|
||||
@@ -116,4 +116,18 @@
|
||||
*/
|
||||
- (void)readyToClose:(NSDictionary *)data;
|
||||
|
||||
/**
|
||||
* Called when the transcription chunk was received.
|
||||
*
|
||||
* The `data` dictionary contains a `messageID`, `language`, `participant` key.
|
||||
*/
|
||||
- (void)transcriptionChunkReceived:(NSDictionary *)data;
|
||||
|
||||
/**
|
||||
* Called when the custom overflow menu button is pressed.
|
||||
*
|
||||
* The `data` dictionary contains a `id`, `text` key.
|
||||
*/
|
||||
- (void)customOverflowMenuButtonPressed:(NSDictionary *)data;
|
||||
|
||||
@end
|
||||
|
||||
@@ -26,6 +26,7 @@
|
||||
"hsb": "Hornjoserbšćina",
|
||||
"hu": "Magyar",
|
||||
"hy": "Հայերեն",
|
||||
"id": "Bahasa",
|
||||
"is": "Íslenska",
|
||||
"it": "Italiano",
|
||||
"ja": "日本語",
|
||||
|
||||
@@ -68,7 +68,7 @@
|
||||
"DISCONNECTED": "Ontkoppeld",
|
||||
"DISCONNECTING": "Ontkoppel tans",
|
||||
"ERROR": "Fout",
|
||||
"RECONNECTING": "’n Netwerkprobleem het voorgekom. Herkoppel tans..."
|
||||
"RECONNECTING": "’n Netwerkprobleem het voorgekom. Herkoppel tans…"
|
||||
},
|
||||
"connectionindicator": {
|
||||
"address": "Adres:",
|
||||
@@ -426,19 +426,24 @@
|
||||
"somebody": "Iemand",
|
||||
"startSilentDescription": "",
|
||||
"startSilentTitle": "",
|
||||
"suboptimalExperienceDescription": "Gits... ons is bevrees u ervaring met {{appName}} gaan nie so goed wees hier nie. Ons soek maniere om dit die hoof te bied, maar probeer intussen een van die <a href='{{recommendedBrowserPageLink}}' target='_blank'>volledig ondersteunde blaaiers</a>.",
|
||||
"suboptimalExperienceDescription": "Gits… ons is bevrees u ervaring met {{appName}} gaan nie so goed wees hier nie. Ons soek maniere om dit die hoof te bied, maar probeer intussen een van die <a href='{{recommendedBrowserPageLink}}' target='_blank'>volledig ondersteunde blaaiers</a>.",
|
||||
"suboptimalExperienceTitle": "Blaaierwaarskuwing",
|
||||
"unmute": ""
|
||||
},
|
||||
"passwordDigitsOnly": "",
|
||||
"passwordSetRemotely": "",
|
||||
"polls": {
|
||||
"errors": {
|
||||
"notUniqueOption": "Opsies moet uniek wees"
|
||||
}
|
||||
},
|
||||
"poweredby": "aangedryf deur",
|
||||
"presenceStatus": {
|
||||
"busy": "Besig",
|
||||
"calling": "Bel tans…",
|
||||
"connected": "Gekoppel",
|
||||
"connecting": "Koppel tans…",
|
||||
"connecting2": "Koppel tans*...",
|
||||
"connecting2": "Koppel tans*…",
|
||||
"disconnected": "Ontkoppeld",
|
||||
"expired": "Verval",
|
||||
"ignored": "Geïgnoreer",
|
||||
@@ -636,16 +641,7 @@
|
||||
"tr": ""
|
||||
},
|
||||
"userMedia": {
|
||||
"androidGrantPermissions": "Kies <b><i>Allow</i></b> wanneer die blaaier vir toestemming vra.",
|
||||
"chromeGrantPermissions": "Kies <b><i>Allow</i></b> wanneer die blaaier vir toestemming vra.",
|
||||
"edgeGrantPermissions": "Kies <b><i>Yes</i></b> wanneer die blaaier vir toestemming vra.",
|
||||
"electronGrantPermissions": "Gee asb. toestemming vir die gebruik van u kamera en mikrofoon",
|
||||
"firefoxGrantPermissions": "Kies <b><i>Deel gekose toestel</i></b> wanneer die blaaier vir toestemming vra.",
|
||||
"iexplorerGrantPermissions": "Kies <b><i>OK</i></b> wanneer die blaaier vir toestemming vra.",
|
||||
"nwjsGrantPermissions": "Gee asb. toestemming vir die gebruik van u kamera en mikrofoon",
|
||||
"operaGrantPermissions": "Kies <b><i>Allow</i></b> wanneer die blaaier vir toestemming vra.",
|
||||
"react-nativeGrantPermissions": "Kies <b><i>Allow</i></b> wanneer die blaaier vir toestemming vra.",
|
||||
"safariGrantPermissions": "Kies <b><i>OK</i></b> wanneer die blaaier vir toestemming vra."
|
||||
"grantPermissions": "Gee asb. toestemming vir die gebruik van u kamera en mikrofoon."
|
||||
},
|
||||
"videoSIPGW": {
|
||||
"busy": "Ons probeer tans hulpbronne vry te stel. Probeer gerus weer oor ’n paar minute.",
|
||||
|
||||
@@ -122,7 +122,7 @@
|
||||
"installExtensionText": "نزِّل الإضافة للدمج مع رزنامة غوغل ورزنامة أوفيس 365"
|
||||
},
|
||||
"connectingOverlay": {
|
||||
"joiningRoom": "قيد وصلك بالإجتماع..."
|
||||
"joiningRoom": "قيد وصلك بالإجتماع…"
|
||||
},
|
||||
"connection": {
|
||||
"ATTACHED": "رُبِط",
|
||||
@@ -134,7 +134,7 @@
|
||||
"DISCONNECTED": "فُصِل",
|
||||
"DISCONNECTING": "قيد الفصل",
|
||||
"ERROR": "خطأ",
|
||||
"FETCH_SESSION_ID": "قيد الحصول على مُعرِّف الجلسة...",
|
||||
"FETCH_SESSION_ID": "قيد الحصول على مُعرِّف الجلسة…",
|
||||
"GET_SESSION_ID_ERROR": "خطأ في الحصول على مُعرِّف الجلسة: {{code}}",
|
||||
"GOT_SESSION_ID": "جرى الحصول على مُعرِّف الجلسة",
|
||||
"LOW_BANDWIDTH": "أوقف فيديو {{displayName}} لتوفير كمية البيانات المتبادلة"
|
||||
@@ -189,7 +189,7 @@
|
||||
"ifHaveApp": "إن كان لديك التطبيق:",
|
||||
"joinInApp": "انضم للمُلتقى عبر تطبيق الجوال",
|
||||
"launchWebButton": "افتح تطبيق الويب",
|
||||
"title": "قيد عقد مُلتقىك في {{app}}...",
|
||||
"title": "قيد عقد مُلتقىك في {{app}}…",
|
||||
"tryAgainButton": "جرب مرة أخرى في تطبيق الحاسوب",
|
||||
"unsupportedBrowser": "يبدو أنك تستخدم متصفحًا لا ندعمه."
|
||||
},
|
||||
@@ -222,7 +222,7 @@
|
||||
"Share": "شارك",
|
||||
"Submit": "أرسل",
|
||||
"WaitForHostMsg": "لم يبدأ المؤتمر بعد. إن كنت المضيف والراعي، فنرجو تأكيد ذلك عبر الاستيثاق أو انتظر وصول المضيف رجاءً. ",
|
||||
"WaitingForHostTitle": "في انتظار المضيف ...",
|
||||
"WaitingForHostTitle": "في انتظار المضيف…",
|
||||
"Yes": "نعم",
|
||||
"accessibilityLabel": {
|
||||
"liveStreaming": "بث حي مباشر"
|
||||
@@ -244,9 +244,9 @@
|
||||
"cameraUnknownError": "يصعب استعمال الكاميرا لأسباب مجهولة.",
|
||||
"cameraUnsupportedResolutionError": "لا تدعم كاميرتك دقة الفيديو المطلوبة.",
|
||||
"close": "أغلق",
|
||||
"conferenceDisconnectMsg": "قد تضطر للتحقق من اتصال الشبكة لديك. سيعاد الاتصال خلال {{seconds}} ثانية...",
|
||||
"conferenceDisconnectMsg": "قد تضطر للتحقق من اتصال الشبكة لديك. سيعاد الاتصال خلال {{seconds}} ثانية…",
|
||||
"conferenceDisconnectTitle": "فُصِل الاتصال لديك.",
|
||||
"conferenceReloadMsg": "نحاول إصلاح الأمر. سيعاد الاتصال خلال {{seconds}} ثانية...",
|
||||
"conferenceReloadMsg": "نحاول إصلاح الأمر. سيعاد الاتصال خلال {{seconds}} ثانية…",
|
||||
"conferenceReloadTitle": "لم تسر الأمور على ما يرام، نأسف لذلك!",
|
||||
"confirm": "أكِّد",
|
||||
"confirmNo": "لا",
|
||||
@@ -531,7 +531,7 @@
|
||||
"errorLiveStreamNotEnabled": "البث الحي غير مفعَّل على على {{email}}. فعَّل البث الحي رجاءً، أو سجِّل الدخل إلى حسابٍ مُفعَّل فيه البث الحي",
|
||||
"expandedOff": "أُوقِف البث الحي",
|
||||
"expandedOn": "يجري بث المُلتقى على يوتيوب",
|
||||
"expandedPending": "تبدأ عملية البث الحي...",
|
||||
"expandedPending": "تبدأ عملية البث الحي…",
|
||||
"failedToStart": "فشلت عملية بدء البث الحي",
|
||||
"getStreamKeyManually": "لم نتمكن من الوصول إلى أي بث حي. جرب جلب مفتاح بث حي خاص بك من يوتيوب.",
|
||||
"googlePrivacyPolicy": "سياسية خصوصية غوغل",
|
||||
@@ -574,10 +574,10 @@
|
||||
"joinRejectedMessage": "رفض رئيس الجلسة منحك الإذن بالدخول إلى المُلتقى",
|
||||
"joinRejectedTitle": "تم رفض طلب الانضمام.",
|
||||
"joinTitle": "انضم للمُلتقى",
|
||||
"joinWithPasswordMessage": "الرجاء الانتظار أثناء محاولة الدخول دون كلمة مرور...",
|
||||
"joinWithPasswordMessage": "الرجاء الانتظار أثناء محاولة الدخول دون كلمة مرور…",
|
||||
"joiningMessage": "ستتمكن من الانضمام للمُلتقى بعد الموافقة على طلبك",
|
||||
"joiningTitle": "يجري طلب إذنٍ للدخول...",
|
||||
"joiningWithPasswordTitle": "الدخول مع كلمة مرور...",
|
||||
"joiningTitle": "يجري طلب إذنٍ للدخول…",
|
||||
"joiningWithPasswordTitle": "الدخول مع كلمة مرور…",
|
||||
"knockButton": "اطلب إذن الدخول",
|
||||
"knockTitle": "يريد أحدٌ الدخول إلى المُلتقى",
|
||||
"knockingParticipantList": "تنبيه قائمة المشاركين",
|
||||
@@ -658,7 +658,7 @@
|
||||
"linkToSalesforceDescription": "يمكنك ربط ملخص الاجتماع بكائن Salesforce.",
|
||||
"linkToSalesforceError": "فشل ربط المُلتقى بـ Salesforce",
|
||||
"linkToSalesforceKey": "ربط هذا المُلتقى",
|
||||
"linkToSalesforceProgress": "جارٍ ربط الاجتماع بـ Salesforce ...",
|
||||
"linkToSalesforceProgress": "جارٍ ربط الاجتماع بـ Salesforce…",
|
||||
"linkToSalesforceSuccess": "تم ربط الاجتماع بـ Salesforce",
|
||||
"localRecordingStarted": "بدأ {{name}} تسجيلًا محليًا.",
|
||||
"localRecordingStopped": "أوقف {{name}} التسجيل المحلي.",
|
||||
@@ -765,6 +765,9 @@
|
||||
"removeOption": "إزالة خيار",
|
||||
"send": "أرسل"
|
||||
},
|
||||
"errors": {
|
||||
"notUniqueOption": "يجب أن تكون الخيارات فريدة"
|
||||
},
|
||||
"notification": {
|
||||
"description": "افتح علامة تبويب الاقتراع للتصويت",
|
||||
"title": "تمت إضافة اقتراع جديد إلى هذا المُلتقى"
|
||||
@@ -786,7 +789,7 @@
|
||||
"callMe": "اتصل بي",
|
||||
"callMeAtNumber": "اتصل بي على هذا الرقم:",
|
||||
"calling": "قيد الاتصال",
|
||||
"configuringDevices": "يجري ضبط الأجهزة...",
|
||||
"configuringDevices": "يجري ضبط الأجهزة…",
|
||||
"connectedWithAudioQ": "هل متصل بجهاز صوت؟",
|
||||
"connection": {
|
||||
"good": "اتصال الإنترنت لديك جيد!",
|
||||
@@ -840,17 +843,17 @@
|
||||
},
|
||||
"presenceStatus": {
|
||||
"busy": "مشغول",
|
||||
"calling": "يتحدث...",
|
||||
"calling": "يتحدث…",
|
||||
"connected": "متصل",
|
||||
"connecting": "يتصل...",
|
||||
"connecting2": "يتصل...",
|
||||
"connecting": "يتصل…",
|
||||
"connecting2": "يتصل…",
|
||||
"disconnected": "غير الاتصال",
|
||||
"expired": "منتهي الصلاحية",
|
||||
"ignored": "مهمل",
|
||||
"initializingCall": "تهيئة مكالمة...",
|
||||
"initializingCall": "تهيئة مكالمة…",
|
||||
"invited": "مدعو",
|
||||
"rejected": "مرفوض",
|
||||
"ringing": "يرن..."
|
||||
"ringing": "يرن…"
|
||||
},
|
||||
"privacyView": {
|
||||
"title": "خصوصية"
|
||||
@@ -887,7 +890,7 @@
|
||||
"errorFetchingLink": "خطأ في جلب رابط التسجيل.",
|
||||
"expandedOff": "أوقٍف التسجيل",
|
||||
"expandedOn": "يُسجَّل المُلتقى الآن",
|
||||
"expandedPending": "بدء التسجيل...",
|
||||
"expandedPending": "بدء التسجيل…",
|
||||
"failedToStart": "فشل بدء التسجيل",
|
||||
"fileSharingdescription": "شارك التسجيل مع المشاركين للمُلتقى",
|
||||
"highlight": "تسليط الضوء",
|
||||
@@ -914,7 +917,7 @@
|
||||
"on": "تسجيل",
|
||||
"onBy": "بدأ {{name}} التسجيل",
|
||||
"onlyRecordSelf": "تسجيل فقط دفق الصوت والفيديو الخاصة بي",
|
||||
"pending": "التحضير لتسجيل المُلتقى...",
|
||||
"pending": "التحضير لتسجيل المُلتقى…",
|
||||
"rec": "تسجيل",
|
||||
"saveLocalRecording": "حفظ ملف التسجيل محليا",
|
||||
"serviceDescription": "ستحفظ خدمة التسجيل الفيديو المستجل",
|
||||
@@ -1212,7 +1215,7 @@
|
||||
"failedToStart": "فشلت عملية بدء الإذاعة",
|
||||
"labelToolTip": "يجري إذاعة المُلتقى",
|
||||
"off": "أوقفت الإذاعة",
|
||||
"pending": "التحضير لإذاعة المُلتقى...",
|
||||
"pending": "التحضير لإذاعة المُلتقى…",
|
||||
"start": "بدء إظهار الترجمة",
|
||||
"stop": "إيقاف عرض الترجمة",
|
||||
"subtitles": "ترجمات",
|
||||
@@ -1220,16 +1223,7 @@
|
||||
"tr": "يذاع"
|
||||
},
|
||||
"userMedia": {
|
||||
"androidGrantPermissions": "اختر <b><i>السماح</i></b> عندما يطلب المتصفح الأذونات.",
|
||||
"chromeGrantPermissions": "اختر <b><i>السماح</i></b> عندما يطلب المتصفح الأذونات.",
|
||||
"edgeGrantPermissions": "اختر <b><i>نعم</i></b> عندما يطلب المتصفح الأذونات.",
|
||||
"electronGrantPermissions": "امنح إذنًا باستعمال الكاميرا والمايكروفون.",
|
||||
"firefoxGrantPermissions": "اختر <b><i>مشاركة الجهاز المحدَّد</i></b> عندما يطل بالمتصفح الأذونات.",
|
||||
"iexplorerGrantPermissions": "اختر <b><i>تمام</i></b> عندما يطلب المتصفح الأذونات.",
|
||||
"nwjsGrantPermissions": "امنح إذنًا باستعمال الكاميرا والمايكروفون.",
|
||||
"operaGrantPermissions": "اختر <b><i>السماح</i></b> عندما يطلب المتصفح الأذونات.",
|
||||
"react-nativeGrantPermissions": "اختر <b><i>السماح</i></b> عندما يطلب المتصفح الأذونات.",
|
||||
"safariGrantPermissions": "اختر <b><i>تمام</i></b> عندما يطلب المتصفح الأذونات."
|
||||
"grantPermissions": "امنح إذنًا باستعمال الكاميرا والمايكروفون."
|
||||
},
|
||||
"videoSIPGW": {
|
||||
"busy": "نعمل على تحرير الموارد. حاول مرة أخرى لاحقًا بعد بضعة دقائق.",
|
||||
@@ -1299,7 +1293,7 @@
|
||||
"image6": "غابة",
|
||||
"image7": "شروق الشمس",
|
||||
"none": "بدون",
|
||||
"pleaseWait": "يرجى الانتظار...",
|
||||
"pleaseWait": "يرجى الانتظار…",
|
||||
"removeBackground": "إزالة خلفية",
|
||||
"slightBlur": "طمس طفيف",
|
||||
"title": "خلفيات افتراضية",
|
||||
|
||||
@@ -478,13 +478,18 @@
|
||||
},
|
||||
"passwordDigitsOnly": "Да {{number}} лічбаў",
|
||||
"passwordSetRemotely": "устаноўлены іншым удзельнікам",
|
||||
"polls": {
|
||||
"errors": {
|
||||
"notUniqueOption": "Варыянты павінны быць унікальнымі"
|
||||
}
|
||||
},
|
||||
"poweredby": "працуе на",
|
||||
"presenceStatus": {
|
||||
"busy": "Заняты",
|
||||
"calling": "Выклікаю…",
|
||||
"connected": "Падключана",
|
||||
"connecting": "Падлучэнне…",
|
||||
"connecting2": "Падлучэнне * ...",
|
||||
"connecting2": "Падлучэнне *…",
|
||||
"disconnected": "Адключана",
|
||||
"expired": "Скончыўся",
|
||||
"ignored": "праігнаравалі",
|
||||
@@ -709,16 +714,7 @@
|
||||
"tr": "TR"
|
||||
},
|
||||
"userMedia": {
|
||||
"androidGrantPermissions": "Калі ласка, пазначце <b> <i> Дазволіць </i> </b>, калі браўзэр спытае пра дазволы.",
|
||||
"chromeGrantPermissions": "Калі ласка, пазначце <b> <i> Дазволіць </i> </b>, калі браўзэр спытае пра дазволы.",
|
||||
"edgeGrantPermissions": "Калі ласка, пазначце <b> <i> Ды </i> </b>, калі браўзэр спытае пра дазволы.",
|
||||
"electronGrantPermissions": "Калі ласка, дайце дазвол на доступ да камеры і мікрафону",
|
||||
"firefoxGrantPermissions": "Калі ласка, пазначце <b> <i> Падзяліцца абраным прыладай </i> </b>, калі браўзэр спытае пра дазволы.",
|
||||
"iexplorerGrantPermissions": "Калі ласка, пазначце <b> <i> OK </i> </b>, калі браўзэр спытае пра дазволы.",
|
||||
"nwjsGrantPermissions": "Калі ласка, дайце дазвол на доступ да камеры і мікрафону",
|
||||
"operaGrantPermissions": "Калі ласка, пазначце <b> <i> Дазволіць </i> </b>, калі браўзэр спытае пра дазволы.",
|
||||
"react-nativeGrantPermissions": "Калі ласка, пазначце <b> <i> Дазволіць </i> </b>, калі браўзэр спытае пра дазволы.",
|
||||
"safariGrantPermissions": "Калі ласка, пазначце <b> <i> OK </i> </b>, калі браўзэр спытае пра дазволы."
|
||||
"grantPermissions": "Калі ласка, дайце дазвол на доступ да камеры і мікрафону."
|
||||
},
|
||||
"videoSIPGW": {
|
||||
"busy": "Мы працуем над вызваленнем рэсурсаў. Калі ласка, паспрабуйце праз некалькі хвілін.",
|
||||
|
||||
@@ -80,7 +80,7 @@
|
||||
"installExtensionText": "Инсталирайте разширенията за Google Calendar и Office 365"
|
||||
},
|
||||
"connectingOverlay": {
|
||||
"joiningRoom": "Свързване с вашата среща..."
|
||||
"joiningRoom": "Свързване с вашата среща…"
|
||||
},
|
||||
"connection": {
|
||||
"ATTACHED": "Прикрепен",
|
||||
@@ -92,11 +92,11 @@
|
||||
"DISCONNECTED": "Изключен",
|
||||
"DISCONNECTING": "Прекъсване на връзката",
|
||||
"ERROR": "Грешка",
|
||||
"FETCH_SESSION_ID": "Отваряне на сесия...",
|
||||
"FETCH_SESSION_ID": "Отваряне на сесия…",
|
||||
"GET_SESSION_ID_ERROR": "Грешка при отваряне на сесията: {{code}}",
|
||||
"GOT_SESSION_ID": "Отваряне на сесията... Готово",
|
||||
"GOT_SESSION_ID": "Отваряне на сесията… Готово",
|
||||
"LOW_BANDWIDTH": "Видеото на {{displayName}} беше изключено, поради слаба Интернет връзка",
|
||||
"RECONNECTING": "Появи се проблем с мрежата. Връзваме се наново..."
|
||||
"RECONNECTING": "Появи се проблем с мрежата. Връзваме се наново…"
|
||||
},
|
||||
"connectionindicator": {
|
||||
"address": "Адрес:",
|
||||
@@ -140,7 +140,7 @@
|
||||
"downloadApp": "Свалете приложението",
|
||||
"launchWebButton": "Заредете уеб страницата",
|
||||
"openApp": "Продължете към приложението",
|
||||
"title": "Зареждане на срещата в {{app}}...",
|
||||
"title": "Зареждане на срещата в {{app}}…",
|
||||
"tryAgainButton": "Пробвайте отново"
|
||||
},
|
||||
"defaultLink": "напр. {{url}}",
|
||||
@@ -169,7 +169,7 @@
|
||||
"Share": "Споделяне",
|
||||
"Submit": "Изпращане",
|
||||
"WaitForHostMsg": "Конференцията все още не е започнала. Ако сте домакинът, тогава се идентифицирайте. В противен случай изчакайте докато домакинът пристигне.",
|
||||
"WaitingForHost": "Чакаме домакина...",
|
||||
"WaitingForHost": "Чакаме домакина…",
|
||||
"Yes": "Да",
|
||||
"accessibilityLabel": {
|
||||
"liveStreaming": "Излъчване на живо"
|
||||
@@ -398,7 +398,7 @@
|
||||
"errorLiveStreamNotEnabled": "Предаването на живо не е пуснато за {{email}}. Моля, активирайте го или сменете акаунта.",
|
||||
"expandedOff": "Предаването на живо бе спряно",
|
||||
"expandedOn": "Срещата се излъчва на живо в YouTube.",
|
||||
"expandedPending": "Излъчването на живо се стартира...",
|
||||
"expandedPending": "Излъчването на живо се стартира…",
|
||||
"failedToStart": "Излъчването на живо не успя да започне",
|
||||
"getStreamKeyManually": "Не успяхме да открием никакво предаване на живо. Опитайте да вземете ключа за такова от YouTube.",
|
||||
"googlePrivacyPolicy": "Политика за поверителност на Google",
|
||||
@@ -433,10 +433,10 @@
|
||||
"invalidPassword": "Невалидна парола",
|
||||
"joinRejectedMessage": "Вашето желание за включване беше отхвърлено от модератор.",
|
||||
"joinTitle": "Включи се в срещата",
|
||||
"joinWithPasswordMessage": "Опит за включване с парола, моля изчакайте...",
|
||||
"joinWithPasswordMessage": "Опит за включване с парола, моля изчакайте…",
|
||||
"joiningMessage": "Ще влезете в срещата, когато някой ви приеме",
|
||||
"joiningTitle": "Изчаква одобрение...",
|
||||
"joiningWithPasswordTitle": "Включване с парола...",
|
||||
"joiningTitle": "Изчаква одобрение…",
|
||||
"joiningWithPasswordTitle": "Включване с парола…",
|
||||
"knockButton": "Поискай достъп",
|
||||
"knockTitle": "Някой желае да се включи в срещата",
|
||||
"knockingParticipantList": "Списък с чакащи участници",
|
||||
@@ -527,20 +527,25 @@
|
||||
},
|
||||
"passwordDigitsOnly": "До {{number}} цифри",
|
||||
"passwordSetRemotely": "зададена от друг участник",
|
||||
"polls": {
|
||||
"errors": {
|
||||
"notUniqueOption": "Опциите трябва да са уникални"
|
||||
}
|
||||
},
|
||||
"poweredby": "с подкрепата на",
|
||||
"presenceStatus": {
|
||||
"busy": "Зает",
|
||||
"calling": "Обаждане...",
|
||||
"calling": "Обаждане…",
|
||||
"connected": "Свързан",
|
||||
"connecting": "Свързване...",
|
||||
"connecting2": "Свързване*...",
|
||||
"connecting": "Свързване…",
|
||||
"connecting2": "Свързване*…",
|
||||
"disconnected": "Изключен",
|
||||
"expired": "Изтекъл",
|
||||
"ignored": "Пренебрегнат",
|
||||
"initializingCall": "Започване на обаждането...",
|
||||
"initializingCall": "Започване на обаждането…",
|
||||
"invited": "Поканен",
|
||||
"rejected": "Отхвърлен",
|
||||
"ringing": "Звъни..."
|
||||
"ringing": "Звъни…"
|
||||
},
|
||||
"profile": {
|
||||
"setDisplayNameLabel": "Задайте екранното си име",
|
||||
@@ -558,7 +563,7 @@
|
||||
"error": "Грешка при опит за запис. Моля, опитайте отново.",
|
||||
"expandedOff": "Записът спря",
|
||||
"expandedOn": "Срещата се записва в момента.",
|
||||
"expandedPending": "Записът започва...",
|
||||
"expandedPending": "Записът започва…",
|
||||
"failedToStart": "Неуспешен опит за записване",
|
||||
"fileSharingdescription": "Споделете записа с участниците в срещата",
|
||||
"live": "На Живо",
|
||||
@@ -567,7 +572,7 @@
|
||||
"offBy": "{{name}} спря записа",
|
||||
"on": "Запис",
|
||||
"onBy": "{{name}} пусна запис",
|
||||
"pending": "Стартира запис на срещата...",
|
||||
"pending": "Стартира запис на срещата…",
|
||||
"rec": "ЗАПИС",
|
||||
"serviceDescription": "Записът Ви ще се запише от специална записваща услуга",
|
||||
"serviceName": "Записваща услуга",
|
||||
@@ -759,22 +764,13 @@
|
||||
"failedToStart": "Транскрибирането не успя при пускане",
|
||||
"labelToolTip": "Тази среща се транскрибира",
|
||||
"off": "Транскрибирането спря",
|
||||
"pending": "Стартира се транскрибиране на срещата...",
|
||||
"pending": "Стартира се транскрибиране на срещата…",
|
||||
"start": "Започва показване на субтитри",
|
||||
"stop": "Спира показване на субтитри",
|
||||
"tr": "СУБ"
|
||||
},
|
||||
"userMedia": {
|
||||
"androidGrantPermissions": "Изберете <b><i>Разрешаване</i></b>, когато браузърът Ви помоли за разрешение.",
|
||||
"chromeGrantPermissions": "Изберете <b><i>Разрешаване</i></b>, когато браузърът Ви помоли за разрешение.",
|
||||
"edgeGrantPermissions": "Изберете <b><i>Да</i></b>, когато браузърът Ви помоли за разрешение.",
|
||||
"electronGrantPermissions": "Моля, разрешете използването на камерата и микрофона",
|
||||
"firefoxGrantPermissions": "Изберете <b><i>Споделяне на избраното устройство</i></b>, когато браузърът Ви помоли за разрешение.",
|
||||
"iexplorerGrantPermissions": "Изберете <b><i>Добре</i></b>, когато браузърът Ви помоли за разрешение.",
|
||||
"nwjsGrantPermissions": "Моля, разрешете използването на камерата и микрофона",
|
||||
"operaGrantPermissions": "Изберете <b><i>Разрешаване</i></b>, когато браузърът Ви помоли за разрешение.",
|
||||
"react-nativeGrantPermissions": "Изберете <b><i>Разрешаване</i></b>, когато браузърът Ви помоли за разрешение.",
|
||||
"safariGrantPermissions": "Изберете <b><i>Добре</i></b>, когато браузърът Ви помоли за разрешение."
|
||||
"grantPermissions": "Моля, разрешете използването на камерата и микрофона."
|
||||
},
|
||||
"videoSIPGW": {
|
||||
"busy": "Работим по освобождаване на ресурси. Моля, опитайте след няколко минути.",
|
||||
|
||||
@@ -19,7 +19,7 @@
|
||||
"noResults": "No s'ha trobat cap resultat coincident",
|
||||
"outlookEmail": "Correu d'Outlook",
|
||||
"phoneNumbers": "números de telèfon",
|
||||
"searching": "S'està cercant...",
|
||||
"searching": "S'està cercant…",
|
||||
"shareInvite": "Comparteix la invitació a la reunió",
|
||||
"shareLink": "Compartiu l'enllaç de la reunió per a convidar altres persones",
|
||||
"shareStream": "Comparteix l'enllaç de la transmissió en directe",
|
||||
@@ -122,7 +122,7 @@
|
||||
"installExtensionText": "Instal·la l'extensió per a la integració amb Google Calendar i Office 365"
|
||||
},
|
||||
"connectingOverlay": {
|
||||
"joiningRoom": "S'està connectat a la reunió..."
|
||||
"joiningRoom": "S'està connectat a la reunió…"
|
||||
},
|
||||
"connection": {
|
||||
"ATTACHED": "Adjunt",
|
||||
@@ -134,9 +134,9 @@
|
||||
"DISCONNECTED": "Desconnectat",
|
||||
"DISCONNECTING": "S'està desconnectant",
|
||||
"ERROR": "Error",
|
||||
"FETCH_SESSION_ID": "S'està obtenint un identificador de sessió...",
|
||||
"FETCH_SESSION_ID": "S'està obtenint un identificador de sessió…",
|
||||
"GET_SESSION_ID_ERROR": "S'ha produït un error en obtenir l'identificador de la sessió: {{code}}",
|
||||
"GOT_SESSION_ID": "Obtenció d'identificador de sessió.... Fet",
|
||||
"GOT_SESSION_ID": "Obtenció d'identificador de sessió…. Fet",
|
||||
"LOW_BANDWIDTH": "S'ha apagat el vídeo de {{displayName}} per a estalviar amplada de banda"
|
||||
},
|
||||
"connectionindicator": {
|
||||
@@ -189,7 +189,7 @@
|
||||
"ifHaveApp": "Si ja teniu l'aplicació:",
|
||||
"joinInApp": "Uniu-vos a aquesta reunió amb l'aplicació",
|
||||
"launchWebButton": "Inicia al web",
|
||||
"title": "S'està iniciant la reunió en {{app}}....",
|
||||
"title": "S'està iniciant la reunió en {{app}}….",
|
||||
"tryAgainButton": "Torna-ho a intentar en l'escriptori",
|
||||
"unsupportedBrowser": "Sembla que useu un navegador que no suportem."
|
||||
},
|
||||
@@ -222,7 +222,7 @@
|
||||
"Share": "Comparteix",
|
||||
"Submit": "Tramet",
|
||||
"WaitForHostMsg": "La conferència encara no ha començat. Si en sou l'amfitrió, autentiqueu-vos. Altrament, espereu que arribi l'amfitrió.",
|
||||
"WaitingForHostTitle": "S'està esperant l'amfitrió...",
|
||||
"WaitingForHostTitle": "S'està esperant l'amfitrió…",
|
||||
"Yes": "Sí",
|
||||
"accessibilityLabel": {
|
||||
"liveStreaming": "Transmissió en directe"
|
||||
@@ -244,9 +244,9 @@
|
||||
"cameraUnknownError": "Per algun motiu desconegut, no es pot usar la càmera.",
|
||||
"cameraUnsupportedResolutionError": "La vostra càmera no permet la resolució de vídeo requerida.",
|
||||
"close": "Tanca",
|
||||
"conferenceDisconnectMsg": "Potser voleu comprovar la connexió a la xarxa. Es tornarà a connectar en {{seconds}} segons...",
|
||||
"conferenceDisconnectMsg": "Potser voleu comprovar la connexió a la xarxa. Es tornarà a connectar en {{seconds}} segons…",
|
||||
"conferenceDisconnectTitle": "Esteu desconnectat.",
|
||||
"conferenceReloadMsg": "Intentem de corregir-ho. Tornem a connectar en {{seconds}} segons...",
|
||||
"conferenceReloadMsg": "Intentem de corregir-ho. Tornem a connectar en {{seconds}} segons…",
|
||||
"conferenceReloadTitle": "Malauradament, alguna cosa no ha anat bé.",
|
||||
"confirm": "Confirmo",
|
||||
"confirmNo": "No",
|
||||
@@ -535,7 +535,7 @@
|
||||
"errorLiveStreamNotEnabled": "La transmissió en directe no està activada a ̣{{email}}. Activeu-la o inicieu sessió en un compte que tingui la transmissió en directe activada.",
|
||||
"expandedOff": "S'ha aturat la transmissió en directe",
|
||||
"expandedOn": "Ara mateix, la reunió s'està transmetent a Youtube.",
|
||||
"expandedPending": "S'ha iniciat la transmissió en directe...",
|
||||
"expandedPending": "S'ha iniciat la transmissió en directe…",
|
||||
"failedToStart": "No s'ha pogut iniciar la transmissió en directe",
|
||||
"getStreamKeyManually": "No hem pogut obtenir cap transmissió en directe. Intenteu d'aconseguir la clau de transmissió en directe del YouTube.",
|
||||
"googlePrivacyPolicy": "Polítiques de privadesa de Google",
|
||||
@@ -547,7 +547,7 @@
|
||||
"offBy": "{{name}} ha aturat la transmissió en directe",
|
||||
"on": "Ha començat la transmissió en directe",
|
||||
"onBy": "{{name}} ha iniciat la transmissió en directe",
|
||||
"pending": "S'està iniciant la transmissió en directe...",
|
||||
"pending": "S'està iniciant la transmissió en directe…",
|
||||
"serviceName": "Servei de transmissió en directe",
|
||||
"sessionAlreadyActive": "Aquesta sessió ja s'està enregistrant o s'està emetent en directe.",
|
||||
"signIn": "Inicia sessió amb Google",
|
||||
@@ -578,10 +578,10 @@
|
||||
"joinRejectedMessage": "La vostra sol·licitud ha estat rebutjada per un moderador.",
|
||||
"joinRejectedTitle": "S'ha rebutjat la petició d'unir-s'hi.",
|
||||
"joinTitle": "Entra a la reunió",
|
||||
"joinWithPasswordMessage": "S'està intentant unir-s'hi amb contrasenya, espereu...",
|
||||
"joinWithPasswordMessage": "S'està intentant unir-s'hi amb contrasenya, espereu…",
|
||||
"joiningMessage": "Us unireu a la reunió de seguida que algú accepti la sol·licitud",
|
||||
"joiningTitle": "S'ha demanat per a entrar a la reunió...",
|
||||
"joiningWithPasswordTitle": "Afegeix-m'hi amb contrasenya...",
|
||||
"joiningTitle": "S'ha demanat per a entrar a la reunió…",
|
||||
"joiningWithPasswordTitle": "Afegeix-m'hi amb contrasenya…",
|
||||
"knockButton": "Demana d'unir-se",
|
||||
"knockTitle": "Algú vol unir-se a la reunió",
|
||||
"knockingParticipantList": "Llista de participants que piquen per a entrar",
|
||||
@@ -665,7 +665,7 @@
|
||||
"linkToSalesforceDescription": "Podeu enllaçar el resum de la reunió a un objecte Salesforce.",
|
||||
"linkToSalesforceError": "No s'ha pogut enllaçar la reunió a Salesforce",
|
||||
"linkToSalesforceKey": "Enllaça aquesta reunió",
|
||||
"linkToSalesforceProgress": "S'està enllaçant la reunió a Salesforce...",
|
||||
"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.",
|
||||
@@ -772,6 +772,9 @@
|
||||
"removeOption": "Elimina l'opció",
|
||||
"send": "Envia"
|
||||
},
|
||||
"errors": {
|
||||
"notUniqueOption": "Les opcions han de ser úniques"
|
||||
},
|
||||
"notification": {
|
||||
"description": "Obre la pestanya de les enquestes per a votar",
|
||||
"title": "S'ha afegit una nova enquesta en aquesta reunió"
|
||||
@@ -793,7 +796,7 @@
|
||||
"callMe": "Truca'm",
|
||||
"callMeAtNumber": "Truca'm a aquest número:",
|
||||
"calling": "S'està trucant",
|
||||
"configuringDevices": "S'estan configurant els aparells...",
|
||||
"configuringDevices": "S'estan configurant els aparells…",
|
||||
"connectedWithAudioQ": "Heu connectat amb àudio?",
|
||||
"connection": {
|
||||
"good": "La vostra connexió a internet sembla bona!",
|
||||
@@ -847,17 +850,17 @@
|
||||
},
|
||||
"presenceStatus": {
|
||||
"busy": "Ocupat",
|
||||
"calling": "S'està trucant...",
|
||||
"calling": "S'està trucant…",
|
||||
"connected": "Connectat",
|
||||
"connecting": "Està connectant...",
|
||||
"connecting2": "Està connectant*...",
|
||||
"connecting": "Està connectant…",
|
||||
"connecting2": "Està connectant*…",
|
||||
"disconnected": "Desconnectat",
|
||||
"expired": "Ha expirat",
|
||||
"ignored": "Ignorat",
|
||||
"initializingCall": "S'està inicialitzant la trucada...",
|
||||
"initializingCall": "S'està inicialitzant la trucada…",
|
||||
"invited": "Convidat",
|
||||
"rejected": "Rebutjat",
|
||||
"ringing": "Està sonat..."
|
||||
"ringing": "Està sonat…"
|
||||
},
|
||||
"privacyView": {
|
||||
"title": "Privadesa"
|
||||
@@ -894,7 +897,7 @@
|
||||
"errorFetchingLink": "S'ha produït un error en obtenir l'enllaç de l'enregistrament.",
|
||||
"expandedOff": "S'ha aturat l'enregistrament",
|
||||
"expandedOn": "S'està enregistrant la reunió.",
|
||||
"expandedPending": "S'ha iniciat l'enregistrament...",
|
||||
"expandedPending": "S'ha iniciat l'enregistrament…",
|
||||
"failedToStart": "No s'ha pogut iniciar l'enregistrament",
|
||||
"fileSharingdescription": "Compartiu l'enllaç de l'enregistrament de la reunió amb els participants",
|
||||
"highlight": "Destaca",
|
||||
@@ -921,7 +924,7 @@
|
||||
"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ó...",
|
||||
"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",
|
||||
@@ -1224,7 +1227,7 @@
|
||||
"failedToStart": "No s'ha pogut iniciar la transcripció",
|
||||
"labelToolTip": "La reunió s'està transcrivint",
|
||||
"off": "La transcripció s'ha aturat",
|
||||
"pending": "S'està preparant per a enregistrar la reunió...",
|
||||
"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",
|
||||
@@ -1234,16 +1237,7 @@
|
||||
"tr": "TR"
|
||||
},
|
||||
"userMedia": {
|
||||
"androidGrantPermissions": "Seleccioneu <b><i>Permet</i></b> si el navegador us sol·licita permisos.",
|
||||
"chromeGrantPermissions": "Seleccioneu <b><i>Permet</i></b> si el navegador us sol·licita permisos.",
|
||||
"edgeGrantPermissions": "Seleccioneu <b><i>Sí</i></b> si el navegador us sol·licita permisos.",
|
||||
"electronGrantPermissions": "S'està intentant accedir a la vostra càmera i micròfon",
|
||||
"firefoxGrantPermissions": "Seleccioneu <b><i>Comparteix l'aparell seleccionat</i></b> si el navegador us sol·licita permisos.",
|
||||
"iexplorerGrantPermissions": "Seleccioneu <b><i>D'acord</i></b> si el navegador us sol·licita permisos.",
|
||||
"nwjsGrantPermissions": "Concediu permisos per a usar la càmera i el micròfon",
|
||||
"operaGrantPermissions": "Seleccioneu <b><i>Permet</i></b> si el navegador us sol·licita permisos.",
|
||||
"react-nativeGrantPermissions": "Seleccioneu <b><i>Permet</i></b> si el navegador us sol·licita permisos.",
|
||||
"safariGrantPermissions": "Seleccioneu <b><i>D'acord</i></b> si el navegador us sol·licita permisos."
|
||||
"grantPermissions": "Concediu permisos per a usar la càmera i el micròfon."
|
||||
},
|
||||
"videoSIPGW": {
|
||||
"busy": "Treballem per a alliberar recursos. Torneu-ho a intentar en uns minuts.",
|
||||
@@ -1313,7 +1307,7 @@
|
||||
"image6": "Bosc",
|
||||
"image7": "Sortida de sol",
|
||||
"none": "Cap",
|
||||
"pleaseWait": "Espereu...",
|
||||
"pleaseWait": "Espereu…",
|
||||
"removeBackground": "Elimina el fons",
|
||||
"slightBlur": "Desenfocament lleu",
|
||||
"title": "Fons virtuals",
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -83,7 +83,7 @@
|
||||
"GET_SESSION_ID_ERROR": "Hent session-id fejl: {{code}}",
|
||||
"GOT_SESSION_ID": "Henter session-ID… Udført",
|
||||
"LOW_BANDWIDTH": "Video for {{displayName}} er slået fra for at spare båndbredde",
|
||||
"RECONNECTING": "Et netværksproblem opstod. Forbinder igen..."
|
||||
"RECONNECTING": "Et netværksproblem opstod. Forbinder igen…"
|
||||
},
|
||||
"connectionindicator": {
|
||||
"address": "Adresse:",
|
||||
@@ -458,19 +458,24 @@
|
||||
"somebody": "Nogen",
|
||||
"startSilentDescription": "",
|
||||
"startSilentTitle": "",
|
||||
"suboptimalExperienceDescription": "Hmmm... vi er bange for at din oplevelse med {{appName}} ikke vil være optimal. Vi arbejder på at forbedre dette, men indtil da forsøg venligst at bruge en af følgende <a href='{{recommendedBrowserPageLink}}' target='_blank'>fuldt understøttede internet browsere</a>.",
|
||||
"suboptimalExperienceDescription": "Hmmm… vi er bange for at din oplevelse med {{appName}} ikke vil være optimal. Vi arbejder på at forbedre dette, men indtil da forsøg venligst at bruge en af følgende <a href='{{recommendedBrowserPageLink}}' target='_blank'>fuldt understøttede internet browsere</a>.",
|
||||
"suboptimalExperienceTitle": "Browser-advarsel",
|
||||
"unmute": ""
|
||||
},
|
||||
"passwordDigitsOnly": "Op til {{number}} tal",
|
||||
"passwordSetRemotely": "Sat af et andet medlem",
|
||||
"polls": {
|
||||
"errors": {
|
||||
"notUniqueOption": "Valgmulighederne skal være unikke"
|
||||
}
|
||||
},
|
||||
"poweredby": "Powered by",
|
||||
"presenceStatus": {
|
||||
"busy": "Optaget",
|
||||
"calling": "Ringer op…",
|
||||
"connected": "Forbundet",
|
||||
"connecting": "Forbinder…",
|
||||
"connecting2": "Forbinder*...",
|
||||
"connecting2": "Forbinder*…",
|
||||
"disconnected": "Forbindelse afbrudt",
|
||||
"expired": "Udløbet",
|
||||
"ignored": "Ignoreret",
|
||||
@@ -692,16 +697,7 @@
|
||||
"tr": "TR"
|
||||
},
|
||||
"userMedia": {
|
||||
"androidGrantPermissions": "Vælg <b><i> Tillad</i> </b>, når din browser beder om tilladelser",
|
||||
"chromeGrantPermissions": "Vælg <b><i> Tillad</i> </b>, når din browser beder om tilladelser",
|
||||
"edgeGrantPermissions": "Vælg <b><i>Ja</i> </b>, når din browser beder om tilladelser",
|
||||
"electronGrantPermissions": "Giv tilladelse til at dit kamera og din mikrofon benyttes",
|
||||
"firefoxGrantPermissions": "Vælg <b> <i> Del valgt enhed </i> </b>, når din browser beder om tilladelser",
|
||||
"iexplorerGrantPermissions": "Vælg <b><i>OK</i> </b>, når din browser beder om tilladelser",
|
||||
"nwjsGrantPermissions": "Giv tilladelse til at dit kamera og din mikrofon benyttes",
|
||||
"operaGrantPermissions": "Vælg <b><i> Tillad</i> </b>, når din browser beder om tilladelser",
|
||||
"react-nativeGrantPermissions": "Vælg <b><i> Tillad</i> </b>, når din browser beder om tilladelser",
|
||||
"safariGrantPermissions": "Vælg <b><i>OK</i> </b>, når din browser beder om tilladelser"
|
||||
"grantPermissions": "Giv tilladelse til at dit kamera og din mikrofon benyttes."
|
||||
},
|
||||
"videoSIPGW": {
|
||||
"busy": "Vi arbejder på at frigøre ressourcer. Prøv igen om et par minutter",
|
||||
|
||||
@@ -22,7 +22,7 @@
|
||||
"noResults": "Keine passenden Ergebnisse",
|
||||
"outlookEmail": "Outlook-E-Mail",
|
||||
"phoneNumbers": "Telefonnummern",
|
||||
"searching": "Suche...",
|
||||
"searching": "Suche…",
|
||||
"shareInvite": "Einladung zur Versammlung teilen",
|
||||
"shareLink": "Teilen Sie den Konferenzlink, um andere einzuladen",
|
||||
"shareStream": "Den Livestreaminglink freigeben",
|
||||
@@ -68,6 +68,7 @@
|
||||
"sendToBreakoutRoom": "Anwesende in Breakout-Raum verschieben:"
|
||||
},
|
||||
"breakoutList": "Breakout-Liste",
|
||||
"buttonLabel": "Breakout-Räume",
|
||||
"defaultName": "Breakout-Raum #{{index}}",
|
||||
"hideParticipantList": "Teilnehmerliste ausblenden",
|
||||
"mainRoom": "Hauptraum",
|
||||
@@ -76,7 +77,8 @@
|
||||
"joinedMainRoom": "Hauptraum betreten",
|
||||
"joinedTitle": "Breakout-Räume"
|
||||
},
|
||||
"showParticipantList": "Teilnehmerliste anzeigen"
|
||||
"showParticipantList": "Teilnehmerliste anzeigen",
|
||||
"title": "Breakout-Räume"
|
||||
},
|
||||
"calendarSync": {
|
||||
"addMeetingURL": "Konferenzlink hinzufügen",
|
||||
@@ -126,6 +128,7 @@
|
||||
"privateNotice": "Private Nachricht an {{recipient}}",
|
||||
"sendButton": "Senden",
|
||||
"smileysPanel": "Emoji-Auswahl",
|
||||
"systemDisplayName": "System",
|
||||
"tabs": {
|
||||
"chat": "Chatten",
|
||||
"polls": "Umfragen"
|
||||
@@ -207,7 +210,7 @@
|
||||
"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.",
|
||||
"descriptionWithoutWeb": "Ist nichts passiert? Wir haben versucht, Ihre Konferenz in der „{{app}}“-Desktop-App zu starten.",
|
||||
"downloadApp": "App herunterladen",
|
||||
"downloadMobileApp": "Aus dem App Store herunterladen",
|
||||
"ifDoNotHaveApp": "Wenn Sie die App noch nicht haben:",
|
||||
@@ -217,11 +220,13 @@
|
||||
"joinInBrowser": "Im Browser",
|
||||
"launchMeetingLabel": "Wie möchten Sie an der Konferenz teilnehmen?",
|
||||
"launchWebButton": "Im Web öffnen",
|
||||
"noDesktopApp": "Sie haben die App noch nicht installiert?",
|
||||
"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.",
|
||||
"or": "oder",
|
||||
"termsAndConditions": "Indem Sie fortfahren, stimmen Sie unseren <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",
|
||||
"titleNew": "Konferenz starten…",
|
||||
"tryAgainButton": "Erneut versuchen",
|
||||
"unsupportedBrowser": "Sie verwenden einen Browser, der noch nicht unterstützt wird."
|
||||
},
|
||||
"defaultLink": "Bsp.: {{url}}",
|
||||
@@ -259,6 +264,7 @@
|
||||
"Share": "Teilen",
|
||||
"Submit": "OK",
|
||||
"WaitForHostMsg": "Die Konferenz wurde noch nicht gestartet. Falls Sie die Konferenz leiten, authentifizieren Sie sich bitte. Warten Sie andernfalls, bis die Konferenz gestartet wird.",
|
||||
"WaitForHostNoAuthMsg": "Die Konferenz wurde noch nicht gestartet. Bitte warten Sie, bis die Konferenz gestartet wird.",
|
||||
"WaitingForHostButton": "Auf Moderation warten",
|
||||
"WaitingForHostTitle": "Warten auf den Beginn der Konferenz …",
|
||||
"Yes": "Ja",
|
||||
@@ -301,6 +307,8 @@
|
||||
"contactSupport": "Support kontaktieren",
|
||||
"copied": "Kopiert",
|
||||
"copy": "Kopieren",
|
||||
"demoteParticipantDialog": "Sind Sie sicher, dass Sie diese Person zu den Gästen verschieben möchten?",
|
||||
"demoteParticipantTitle": "Zu Gästen verschieben",
|
||||
"dismiss": "OK",
|
||||
"displayNameRequired": "Hallo! Wie ist Ihr Name?",
|
||||
"done": "Fertig",
|
||||
@@ -312,6 +320,7 @@
|
||||
"embedMeeting": "Besprechung einbetten",
|
||||
"enterDisplayName": "Bitte geben Sie hier Ihren Namen ein",
|
||||
"error": "Fehler",
|
||||
"errorRoomCreationRestriction": "Sie haben versucht, zu schnell beizutreten, bitte versuchen Sie es gleich noch einmal.",
|
||||
"gracefulShutdown": "Der Dienst steht momentan wegen Wartungsarbeiten nicht zur Verfügung. Bitte versuchen Sie es später noch einmal.",
|
||||
"grantModeratorDialog": "Möchten Sie wirklich Moderationsrechte an diese Person vergeben?",
|
||||
"grantModeratorTitle": "Moderationsrechte vergeben",
|
||||
@@ -430,7 +439,10 @@
|
||||
"shareScreenWarningD2": "müssen Sie Ihre Audiofreigabe stoppen und dann die Bildschirmfreigabe mit der Option \"Audio freigeben\" starten.",
|
||||
"shareScreenWarningH1": "Wenn Sie Ihren Bildschirm freigeben wollen:",
|
||||
"shareScreenWarningTitle": "Sie müssen die Audiofreigabe beenden, bevor Sie den Bildschirm freigeben können",
|
||||
"shareVideoConfirmPlay": "Sie öffnen dazu eine externe Seite. Möchten Sie fortfahren?",
|
||||
"shareVideoConfirmPlayTitle": "{{name}} hat mit Ihnen ein Video geteilt.",
|
||||
"shareVideoLinkError": "Bitte einen gültigen Link angeben.",
|
||||
"shareVideoLinkStopped": "Das Video von {{name}} wurde gestoppt.",
|
||||
"shareVideoTitle": "Video teilen",
|
||||
"shareYourScreen": "Bildschirmfreigabe ein-/ausschalten",
|
||||
"shareYourScreenDisabled": "Bildschirmfreigabe deaktiviert.",
|
||||
@@ -481,6 +493,10 @@
|
||||
"viewUpgradeOptions": "Upgradeoptionen anzeigen",
|
||||
"viewUpgradeOptionsContent": "Sie müssen Ihren Tarif erweitern, um Premium-Features wie Aufnahme, Transkription, RTMP-Streaming und mehr zu nutzen.",
|
||||
"viewUpgradeOptionsTitle": "Sie haben ein Premium-Feature entdeckt!",
|
||||
"whiteboardLimitContent": "Die maximale Zahl an Nutzenden für das Whiteboard ist erreicht.",
|
||||
"whiteboardLimitReference": "Für weitere Informationen besuchen Sie bitte",
|
||||
"whiteboardLimitReferenceUrl": "unsere Webseite",
|
||||
"whiteboardLimitTitle": "Whiteboard-Nutzung beschränkt",
|
||||
"yourEntireScreen": "Ganzer Bildschirm"
|
||||
},
|
||||
"documentSharing": {
|
||||
@@ -528,7 +544,7 @@
|
||||
"conferenceURL": "Link:",
|
||||
"copyNumber": "Nummer kopieren",
|
||||
"country": "Land",
|
||||
"dialANumber": "Um am Meeting teilzunehmen, müssen Sie eine dieser Nummern wählen und dann die PIN eingeben.",
|
||||
"dialANumber": "Um an der Konferenz teilzunehmen, müssen Sie eine dieser Nummern wählen und dann die PIN eingeben.",
|
||||
"dialInConferenceID": "PIN:",
|
||||
"dialInNotSupported": "Entschuldigung, leider wird das Einwählen derzeit nicht unterstützt.",
|
||||
"dialInNumber": "Einwählen:",
|
||||
@@ -552,6 +568,7 @@
|
||||
"noNumbers": "Keine Telefonnummern verfügbar.",
|
||||
"noPassword": "Kein Passwort benötigt",
|
||||
"noRoom": "Keine Konferenz für die Einwahlinformationen angegeben.",
|
||||
"noWhiteboard": "Whiteboard konnte nicht geladen werden.",
|
||||
"numbers": "Einwahlnummern",
|
||||
"password": "$t(lockRoomPasswordUppercase):",
|
||||
"reachedLimit": "Sie haben die Grenzen Ihres Tarifs erreicht.",
|
||||
@@ -559,7 +576,8 @@
|
||||
"sipAudioOnly": "SIP-Adresse (nur Ton)",
|
||||
"title": "Teilen",
|
||||
"tooltip": "Freigabe-Link und Einwahlinformationen für dieses Meeting",
|
||||
"upgradeOptions": "Bitte prüfen Sie Ihre Upgrade-Optionen auf"
|
||||
"upgradeOptions": "Bitte prüfen Sie Ihre Upgrade-Optionen auf",
|
||||
"whiteboardError": "Whiteboard konnte nicht geladen werden. Bitte versuchen Sie es später erneut."
|
||||
},
|
||||
"inlineDialogFailure": {
|
||||
"msg": "Es ist ein Fehler aufgetreten.",
|
||||
@@ -723,7 +741,10 @@
|
||||
"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.",
|
||||
"dataChannelClosedDescriptionWithAudio": "Die Steuerungsverbindung (Bridge Channel) wurde unterbrochen, daher können Video- und Tonprobleme auftreten.",
|
||||
"dataChannelClosedWithAudio": "Ton- und Videoqualität können beeinträchtigt sein",
|
||||
"disabledIframe": "Die Einbettung ist nur für Demo-Zwecke vorgesehen. Diese Konferenz wird in {{timeout}} Minuten beendet.",
|
||||
"disabledIframeSecondary": "Die Einbettung von {{domain}} ist nur für Demo-Zwecke vorgesehen. Diese Konferenz wird in {{timeout}} Minuten beendet. Bitte nutzen Sie <a href='{{jaasDomain}}' rel='noopener noreferrer' target='_blank'>Jitsi as a Service</a> für produktive Zwecke!",
|
||||
"disconnected": "getrennt",
|
||||
"displayNotifications": "Benachrichtigungen anzeigen für",
|
||||
"dontRemindMe": "Nicht erinnern",
|
||||
@@ -744,7 +765,7 @@
|
||||
"linkToSalesforceDescription": "Sie können die Zusammenfassung der Konferenz mit einem Objekt bei Salesforce verlinken.",
|
||||
"linkToSalesforceError": "Konferenz konnte nicht mit Salesforce verlinkt werden",
|
||||
"linkToSalesforceKey": "Konferenz verlinken",
|
||||
"linkToSalesforceProgress": "Konferenz wird mit Salesforce verlinkt...",
|
||||
"linkToSalesforceProgress": "Konferenz wird mit Salesforce verlinkt…",
|
||||
"linkToSalesforceSuccess": "Die Konferenz wurde mit Salesforce verlinkt",
|
||||
"localRecordingStarted": "{{name}} hat eine lokale Aufzeichnung gestartet.",
|
||||
"localRecordingStopped": "{{name}} hat eine lokale Aufzeichnung gestoppt.",
|
||||
@@ -768,6 +789,7 @@
|
||||
"newDeviceAction": "Verwenden",
|
||||
"newDeviceAudioTitle": "Neues Audiogerät erkannt",
|
||||
"newDeviceCameraTitle": "Neue Kamera erkannt",
|
||||
"nextToSpeak": "Sie sind als Nächstes an der Reihe zu sprechen",
|
||||
"noiseSuppressionDesktopAudioDescription": "Die Rauschunterdrückung kann nicht genutzt werden, wenn der Computersound geteilt wird, bitte zuerst deaktivieren und dann nochmals versuchen.",
|
||||
"noiseSuppressionFailedTitle": "Rauschunterdrückung konnte nicht gestartet werden",
|
||||
"noiseSuppressionStereoDescription": "Rauschunterdrückung unterstützt aktuell keinen Stereoton.",
|
||||
@@ -793,13 +815,22 @@
|
||||
"startSilentTitle": "Sie sind ohne Audioausgabe beigetreten!",
|
||||
"suboptimalBrowserWarning": "Tut uns leid, aber die Konferenz wird mit {{appName}} kein großartiges Erlebnis. Wir versuchen immer die Situation zu verbessern, bis dahin empfehlen wir aber die Verwendung einer der <a href=\"{{recommendedBrowserPageLink}}\" target=\"_blank\">vollständig unterstützen Browser</a>.",
|
||||
"suboptimalExperienceTitle": "Browserwarnung",
|
||||
"suggestRecordingAction": "Starten",
|
||||
"suggestRecordingDescription": "Möchten Sie eine Aufzeichnung starten?",
|
||||
"suggestRecordingTitle": "Konferenz aufzeichnen",
|
||||
"unmute": "Stummschaltung aufheben",
|
||||
"videoMutedRemotelyDescription": "Sie können sie jederzeit wieder einschalten.",
|
||||
"videoMutedRemotelyTitle": "Ihre Kamera wurde von {{participantDisplayName}} ausgeschaltet!",
|
||||
"videoUnmuteBlockedDescription": "Die Kamera und Bildschirmfreigabe kann aus Überlastungsschutzgründen temporär nicht eingeschaltet werden.",
|
||||
"videoUnmuteBlockedTitle": "Kamera und Bildschirmfreigabe kann nicht aktiviert werden!",
|
||||
"viewLobby": "Lobby ansehen",
|
||||
"waitingParticipants": "{{waitingParticipants}} Personen"
|
||||
"viewParticipants": "Personen anzeigen",
|
||||
"viewVisitors": "Gäste anzeigen",
|
||||
"waitingParticipants": "{{waitingParticipants}} Personen",
|
||||
"waitingVisitors": "In der Lobby wartende Gäste: {{waitingVisitors}}",
|
||||
"waitingVisitorsTitle": "Die Konferenz wurde noch nicht gestartet!",
|
||||
"whiteboardLimitDescription": "Bitte speichern Sie Ihre Inhalte, da das Nutzungslimit bald erreicht wird und dann Ihr Whiteboard geschlossen wird.",
|
||||
"whiteboardLimitTitle": "Whiteboard-Nutzung"
|
||||
},
|
||||
"participantsPane": {
|
||||
"actions": {
|
||||
@@ -810,7 +841,11 @@
|
||||
"askUnmute": "Anfragen, Stummschaltung aufzuheben",
|
||||
"audioModeration": "Für sich selbst die Stummschaltung aufzuheben",
|
||||
"blockEveryoneMicCamera": "Kamera und Mikrofon von allen sperren",
|
||||
"breakoutRooms": "Breakout-Räume",
|
||||
"goLive": "Live gehen",
|
||||
"invite": "Person einladen",
|
||||
"lowerAllHands": "Alle Hände senken",
|
||||
"lowerHand": "Hand senken",
|
||||
"moreModerationActions": "Weitere Moderationsoptionen",
|
||||
"moreModerationControls": "Weitere Moderationsoptionen",
|
||||
"moreParticipantOptions": "Mehr Optionen für Anwesende",
|
||||
@@ -827,6 +862,8 @@
|
||||
"headings": {
|
||||
"lobby": "Lobby ({{count}})",
|
||||
"participantsList": "Anwesende ({{count}})",
|
||||
"visitorInQueue": " (Wartende Gäste {{count}})",
|
||||
"visitorRequests": " (Anfragen {{count}})",
|
||||
"visitors": "Gäste ({{count}})",
|
||||
"waitingLobby": "In der Lobby ({{count}})"
|
||||
},
|
||||
@@ -839,10 +876,13 @@
|
||||
"pinnedParticipant": "Die Person ist angeheftet",
|
||||
"polls": {
|
||||
"answer": {
|
||||
"edit": "Bearbeiten",
|
||||
"send": "Senden",
|
||||
"skip": "Überspringen",
|
||||
"submit": "Speichern"
|
||||
},
|
||||
"by": "Von {{ name }}",
|
||||
"closeButton": "Umfrage schließen",
|
||||
"create": {
|
||||
"addOption": "Antwort hinzufügen",
|
||||
"answerPlaceholder": "Antwort {{index}}",
|
||||
@@ -852,7 +892,11 @@
|
||||
"pollQuestion": "Frage",
|
||||
"questionPlaceholder": "Eine Frage stellen",
|
||||
"removeOption": "Antwort entfernen",
|
||||
"send": "Erstellen"
|
||||
"save": "Erstellen",
|
||||
"send": "Senden"
|
||||
},
|
||||
"errors": {
|
||||
"notUniqueOption": "Optionen müssen einzigartig sein"
|
||||
},
|
||||
"notification": {
|
||||
"description": "Öffnen Sie das Umfragen-Tab um abzustimmen",
|
||||
@@ -878,9 +922,11 @@
|
||||
"configuringDevices": "Geräte werden eingerichtet …",
|
||||
"connectedWithAudioQ": "Sie sind mit Audio verbunden?",
|
||||
"connection": {
|
||||
"failed": "Verbindungstest fehlgeschlagen!",
|
||||
"good": "Ihre Internetverbindung sieht gut aus!",
|
||||
"nonOptimal": "Ihre Internetverbindung ist nicht optimal.",
|
||||
"poor": "Sie haben eine schlechte Internetverbindung."
|
||||
"poor": "Sie haben eine schlechte Internetverbindung.",
|
||||
"running": "Verbindung wird getestet…"
|
||||
},
|
||||
"connectionDetails": {
|
||||
"audioClipping": "Ihr Ton wird wahrscheinlich abgehackt sein.",
|
||||
@@ -889,6 +935,7 @@
|
||||
"goodQuality": "Großartig! Ihre Bild- und Tonqualität sollte super sein.",
|
||||
"noMediaConnectivity": "Es konnte für diesen Test keine Medienverbindung hergestellt werden. Das wird gewöhnlich durch eine Firewall oder ein NAT ausgelöst.",
|
||||
"noVideo": "Ihr Bild wird wahrscheinlich eine schlechte Qualität haben.",
|
||||
"testFailed": "Der Verbindungstest ist fehlgeschlagen, dies beeinträchtigt evtl. Ihre Qualität.",
|
||||
"undetectable": "Wenn Sie mit Ihrem Browser weiterhin Probleme in Konferenzen haben, sollten Sie die Verbindung und Funktion Ihrer Lautsprecher, Ihres Mikrofons und Ihrer Kamera überprüfen. Stellen Sie außerdem sicher, dass Ihr Browser die erforderlichen Rechte hat, auf das Mikrofon und die Kamera zuzugreifen, und dass Sie die neuste Browserversion installiert haben. Sollten Sie immer noch Probleme haben, kontaktieren Sie bitte den Support der Webanwendung.",
|
||||
"veryPoorConnection": "Ihre Konferenzqualität wird wahrscheinlich sehr schlecht sein.",
|
||||
"videoFreezing": "Ihr Bild wird wahrscheinlich einfrieren, schwarz werden und eine geringe Auflösung haben.",
|
||||
@@ -921,6 +968,7 @@
|
||||
"or": "oder",
|
||||
"premeeting": "Vorschau",
|
||||
"proceedAnyway": "Trotzdem fortsetzen",
|
||||
"recordingWarning": "Diese Konferenz wird möglicherweise von anderen Personen aufgezeichnet",
|
||||
"screenSharingError": "Fehler bei Bildschirmfreigabe:",
|
||||
"showScreen": "Konferenzvorschau aktivieren",
|
||||
"startWithPhone": "Mit Telefonaudio starten",
|
||||
@@ -987,7 +1035,6 @@
|
||||
"limitNotificationDescriptionNative": "Wegen hoher Nachfrage ist Ihre Aufnahme auf {{limit}} Min. begrenzt. Für unlimitierte Aufnahmen nutzen Sie bitte <3>{{app}}</3>.",
|
||||
"limitNotificationDescriptionWeb": "Wegen hoher Nachfrage ist Ihre Aufnahme auf {{limit}} Min. begrenzt. Für unlimitierte Aufnahmen nutzen Sie bitte <a href={{url}} rel='noopener noreferrer' target='_blank'>{{app}}</a>.",
|
||||
"linkGenerated": "Link zur Aufzeichnung wurde generiert.",
|
||||
"live": "LIVE",
|
||||
"localRecordingNoNotificationWarning": "Die Aufzeichnung wird anderen Anwesenden nicht mitgeteilt. Sie müssen diese selbst darauf hinweisen, dass die Konferenz aufgezeichnet wird.",
|
||||
"localRecordingNoVideo": "Videos werden nicht aufgenommen",
|
||||
"localRecordingStartWarning": "Bitte beenden Sie die Aufzeichnung vor dem Verlassen der Konferenz, um die Aufzeichnung zu speichern.",
|
||||
@@ -1004,13 +1051,15 @@
|
||||
"onBy": "{{name}} startete die Aufnahme",
|
||||
"onlyRecordSelf": "Nur eigenes Kamerabild und Ton aufzeichnen",
|
||||
"pending": "Aufzeichnung des Meetings wird vorbereitet…",
|
||||
"rec": "AUFZ",
|
||||
"recordAudioAndVideo": "Kamera und Ton aufzeichnen",
|
||||
"recordTranscription": "Transkription aufzeichnen",
|
||||
"saveLocalRecording": "Aufzeichnung lokal abspeichern",
|
||||
"serviceDescription": "Ihre Aufzeichnung wird vom Aufzeichnungsdienst gespeichert",
|
||||
"serviceDescriptionCloud": "Cloud-Aufzeichnung",
|
||||
"serviceDescriptionCloudInfo": "Aufzeichnungen werden 24 Stunden nach Aufzeichnungsende automatisch gelöscht.",
|
||||
"serviceName": "Aufnahmedienst",
|
||||
"sessionAlreadyActive": "Diese Konferenz wird bereits aufgezeichnet.",
|
||||
"showAdvancedOptions": "Weitere Optionen",
|
||||
"signIn": "Anmelden",
|
||||
"signOut": "Abmelden",
|
||||
"surfaceError": "Bitte das aktuelle Tab auswählen.",
|
||||
@@ -1050,6 +1099,7 @@
|
||||
"desktopShareWarning": "Sie müssen die Bildschirmfreigabe neustarten, damit die Einstellung übernommen wird.",
|
||||
"devices": "Geräte",
|
||||
"followMe": "Follow-me für alle Personen",
|
||||
"followMeRecorder": "Aufnahme folgt mir",
|
||||
"framesPerSecond": "FPS",
|
||||
"incomingMessage": "Eingehende Nachricht",
|
||||
"language": "Sprache",
|
||||
@@ -1158,7 +1208,7 @@
|
||||
"audioOnly": "„Nur Audio“ ein-/ausschalten",
|
||||
"audioRoute": "Audiogerät auswählen",
|
||||
"boo": "Buhen",
|
||||
"breakoutRoom": "Breakout-Räume betreten/verlassen",
|
||||
"breakoutRooms": "Breakout-Räume",
|
||||
"callQuality": "Qualitätseinstellungen",
|
||||
"carmode": "Automodus",
|
||||
"cc": "Untertitel ein-/ausschalten",
|
||||
@@ -1196,6 +1246,7 @@
|
||||
"lobbyButton": "Lobbymodus ein-/ausschalten",
|
||||
"localRecording": "Lokale Aufzeichnungssteuerelemente ein-/ausschalten",
|
||||
"lockRoom": "Konferenzpasswort ein-/ausschalten",
|
||||
"love": "Herz",
|
||||
"lowerHand": "Hand senken",
|
||||
"moreActions": "Menü „Weitere Einstellungen“ ein-/ausschalten",
|
||||
"moreActionsMenu": "Menü „Weitere Einstellungen“",
|
||||
@@ -1213,6 +1264,7 @@
|
||||
"privateMessage": "Private Nachricht senden",
|
||||
"profile": "Profil bearbeiten",
|
||||
"raiseHand": "Hand heben",
|
||||
"react": "Chat-Interaktionen",
|
||||
"reactions": "Interaktionen",
|
||||
"reactionsMenu": "Interaktionsmenü öffnen / schließen",
|
||||
"recording": "Aufzeichnung ein-/ausschalten",
|
||||
@@ -1284,6 +1336,7 @@
|
||||
"lobbyButtonEnable": "Lobbymodus aktivieren",
|
||||
"login": "Anmelden",
|
||||
"logout": "Abmelden",
|
||||
"love": "Herz",
|
||||
"lowerYourHand": "Hand senken",
|
||||
"moreActions": "Weitere Einstellungen",
|
||||
"moreOptions": "Weitere Optionen",
|
||||
@@ -1309,6 +1362,7 @@
|
||||
"raiseYourHand": "Melden",
|
||||
"reactionBoo": "Buhen senden",
|
||||
"reactionClap": "Klatschen senden",
|
||||
"reactionHeart": "Herz senden",
|
||||
"reactionLaugh": "Lachen senden",
|
||||
"reactionLike": "Daumen hoch senden",
|
||||
"reactionSilence": "Stille senden",
|
||||
@@ -1334,19 +1388,16 @@
|
||||
"tileViewToggle": "Kachelansicht ein-/ausschalten",
|
||||
"toggleCamera": "Kamera wechseln",
|
||||
"unmute": "Stummschaltung aufheben",
|
||||
"videoSettings": "Kameraeinstellungen",
|
||||
"videoSettings": "Kamera-Einstellungen",
|
||||
"videomute": "Kamera stoppen",
|
||||
"videomuteGUMPending": "Verbinde Ihre Kamera",
|
||||
"videounmute": "Kamera einschalten"
|
||||
},
|
||||
"transcribing": {
|
||||
"ccButtonTooltip": "Untertitel ein-/ausschalten",
|
||||
"error": "Die Aufzeichnung ist fehlgeschlagen. Bitte versuchen Sie es erneut.",
|
||||
"expandedLabel": "Transkribieren ist derzeit eingeschaltet",
|
||||
"failedToStart": "Transkribieren konnte nicht gestartet werden",
|
||||
"failed": "Transkribieren fehlgeschlagen",
|
||||
"labelToolTip": "Das Meeting wird transkribiert",
|
||||
"off": "Transkribieren gestoppt",
|
||||
"pending": "Transkribieren des Meetings wird vorbereitet…",
|
||||
"sourceLanguageDesc": "Aktuell ist die Sprache der Konferenz auf <b>{{sourceLanguage}}</b> eingestellt. <br/> Sie könne dies hier ",
|
||||
"sourceLanguageHere": "ändern",
|
||||
"start": "Anzeige der Untertitel starten",
|
||||
@@ -1357,16 +1408,7 @@
|
||||
},
|
||||
"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.",
|
||||
"edgeGrantPermissions": "Wählen Sie <b><i>Ja</i></b>, wenn der Browser um Berechtigungen bittet.",
|
||||
"electronGrantPermissions": "Bitte Berechtigungen zur Verwendung der Kamera und des Mikrofons erteilen",
|
||||
"firefoxGrantPermissions": "Wählen Sie <b><i>Erlauben</i></b>, wenn der Browser um Berechtigungen bittet.",
|
||||
"iexplorerGrantPermissions": "Wählen Sie <b><i>OK</i></b>, wenn der Browser um Berechtigungen bittet.",
|
||||
"nwjsGrantPermissions": "Bitte Berechtigungen zur Verwendung der Kamera und des Mikrofons erteilen",
|
||||
"operaGrantPermissions": "Wählen Sie <b><i>Zulassen</i></b>, wenn der Browser um Berechtigungen bittet.",
|
||||
"react-nativeGrantPermissions": "Wählen Sie <b><i>Erlauben</i></b>, wenn der Browser um Berechtigungen bittet.",
|
||||
"safariGrantPermissions": "Wählen Sie <b><i>OK</i></b>, wenn der Browser um Berechtigungen bittet."
|
||||
"grantPermissions": "Bitte Berechtigungen zur Verwendung der Kamera und des Mikrofons erteilen."
|
||||
},
|
||||
"videoSIPGW": {
|
||||
"busy": "Es stehen keine freien Ressourcen zur Verfügung. Bitte versuchen Sie es später noch einmal.",
|
||||
@@ -1402,6 +1444,7 @@
|
||||
},
|
||||
"videothumbnail": {
|
||||
"connectionInfo": "Verbindungsinformationen",
|
||||
"demote": "Zu Gästen verschieben",
|
||||
"domute": "Stummschalten",
|
||||
"domuteOthers": "Alle anderen stummschalten",
|
||||
"domuteVideo": "Kamera ausschalten",
|
||||
@@ -1444,7 +1487,7 @@
|
||||
"image6": "Wald",
|
||||
"image7": "Sonnenaufgang",
|
||||
"none": "keiner",
|
||||
"pleaseWait": "Bitte warten...",
|
||||
"pleaseWait": "Bitte warten…",
|
||||
"removeBackground": "Hintergrund entfernen",
|
||||
"slightBlur": "Hintergrund leicht unscharf",
|
||||
"title": "Hintergründe",
|
||||
@@ -1454,11 +1497,22 @@
|
||||
},
|
||||
"visitors": {
|
||||
"chatIndicator": "(Gast)",
|
||||
"joinMeeting": {
|
||||
"description": "Sie beobachten derzeit diese Konferenz.",
|
||||
"raiseHand": "Hand heben",
|
||||
"title": "Konferenz wird beigetreten",
|
||||
"wishToSpeak": "Wenn Sie sprechen möchten, heben Sie bitte unten Ihre Hand und warten Sie auf die Zustimmung der Moderation"
|
||||
},
|
||||
"labelTooltip": "Anzahl Gäste: {{count}}",
|
||||
"notification": {
|
||||
"description": "Bitte melden Sie sich um teilzunehmen",
|
||||
"demoteDescription": "Hierhin verschoben von {{actor}}, bitte melden Sie sich um teilzunehmen",
|
||||
"noMainParticipantsDescription": "Eine Person muss die Konferenz starten. Bitte versuchen Sie es gleich noch einmal.",
|
||||
"noMainParticipantsTitle": "Diese Konferenz wurde noch nicht gestartet.",
|
||||
"noVisitorLobby": "Sie können nicht teilnehmen, solange die Lobby für diese Konferenz aktiviert ist.",
|
||||
"notAllowedPromotion": "Eine Person muss Ihre Anfrage erst erlauben.",
|
||||
"title": "Sie sind Gast in der Konferenz"
|
||||
}
|
||||
},
|
||||
"waitingMessage": "Sie werden der Konferenz beitreten, sobald sie gestartet ist!"
|
||||
},
|
||||
"volumeSlider": "Lautstärkeregler",
|
||||
"welcomepage": {
|
||||
@@ -1516,6 +1570,7 @@
|
||||
"whiteboard": {
|
||||
"accessibilityLabel": {
|
||||
"heading": "Whiteboard"
|
||||
}
|
||||
},
|
||||
"screenTitle": "Whiteboard"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -19,7 +19,7 @@
|
||||
"noResults": "Žedne se góźece rezulaty pytanja njedajo",
|
||||
"outlookEmail": "Outlook-e-mail",
|
||||
"phoneNumbers": "telefonowe numery",
|
||||
"searching": "Pytanje trajo...",
|
||||
"searching": "Pytanje trajo…",
|
||||
"shareInvite": "pśepšosenje na zgromaźinu spśistupniś",
|
||||
"shareLink": "Spśistupniśo link za konferencu, aby drugich pśepšosyli.",
|
||||
"shareStream": "link za livestream spśistupniś",
|
||||
@@ -666,7 +666,7 @@
|
||||
"linkToSalesforceDescription": "Wy móžośo wopowěsć wót konference pśez link z objektom pla Saleforce zwězaś.",
|
||||
"linkToSalesforceError": "Konferenz njejo mógła se ze Saleforce zwězaś.",
|
||||
"linkToSalesforceKey": "konferencu zalinkowaś",
|
||||
"linkToSalesforceProgress": "Zwězanje konference ze Salesforce se twari...",
|
||||
"linkToSalesforceProgress": "Zwězanje konference ze Salesforce se twari…",
|
||||
"linkToSalesforceSuccess": "Konferenca jo se ze Salesforce zwězała.",
|
||||
"localRecordingStarted": "{{name}} jo lokalne nagrawanje zachopił/-a.",
|
||||
"localRecordingStopped": "{{name}} jo lokalne nagrawanje dokóńcował/-a.",
|
||||
@@ -775,6 +775,9 @@
|
||||
"removeOption": "wótegrono wulašowaś",
|
||||
"send": "wótpósłaś"
|
||||
},
|
||||
"errors": {
|
||||
"notUniqueOption": "Opcije musy byś jedynsće"
|
||||
},
|
||||
"notification": {
|
||||
"description": "Wótcyńśo kórtu wopšašowanjow, aby zgłosowali",
|
||||
"title": "Za tu konferencu jo nowe wopšašowanje pśigótowane"
|
||||
@@ -1235,16 +1238,7 @@
|
||||
"tr": "TR"
|
||||
},
|
||||
"userMedia": {
|
||||
"androidGrantPermissions": "Wuzwólśo opciju <b><i>pśiwdaś</i></b>, gaž browser wó pšawa pšosy.",
|
||||
"chromeGrantPermissions": "Wuzwólśo opciju <b><i>pśiwdaś</i></b>, gaž browser wó pšawa pšosy.",
|
||||
"edgeGrantPermissions": "Wuzwólśo opciju <b><i>jo</i></b>, gaž browser wó pšawa pšosy.",
|
||||
"electronGrantPermissions": "pšawa k wužywanju Wašeje kamery a mikrofona wuźěliś",
|
||||
"firefoxGrantPermissions": "Wuzwólśo opciju <b><i>dowóliś</i></b>, gaž browser wó pšawa pšosy.",
|
||||
"iexplorerGrantPermissions": "Wuzwólśo opciju <b><i>OK</i></b>, gaž browser wó pšawa pšosy.",
|
||||
"nwjsGrantPermissions": "pšawa k wužywanju Wašeje kamery a mikrofona wuźěliś",
|
||||
"operaGrantPermissions": "Wuzwólśo opciju <b><i>pśiwdaś</i></b>, gaž browser wó pšawa pšosy.",
|
||||
"react-nativeGrantPermissions": "Wuzwólśo opciju <b><i>dowóliś</i></b>, gaž browser wó pšawa pšosy.",
|
||||
"safariGrantPermissions": "Wuzwólśo opciju <b><i>OK</i></b>, gaž browser wó pšawa pšosy."
|
||||
"grantPermissions": "pšawa k wužywanju Wašeje kamery a mikrofona wuźěliś."
|
||||
},
|
||||
"videoSIPGW": {
|
||||
"busy": "Źěłamy na tom, aby resurse se k dispoziciji stajili. Wopytajśo za pór minutow hyšći raz.",
|
||||
@@ -1316,7 +1310,7 @@
|
||||
"image6": "góla",
|
||||
"image7": "górjejhyśe słyńcka",
|
||||
"none": "žeden motiw",
|
||||
"pleaseWait": "Cakajśo...",
|
||||
"pleaseWait": "Cakajśo…",
|
||||
"removeBackground": "slězynu wótpóraś",
|
||||
"slightBlur": "slězyna pitśku njewótša",
|
||||
"title": "slězyny",
|
||||
|
||||
@@ -19,7 +19,7 @@
|
||||
"noResults": "Δε βρέθηκαν αποτελέσματα αναζήτησης",
|
||||
"outlookEmail": "Outlook Email",
|
||||
"phoneNumbers": "τηλεφωνικοί αριθμοί",
|
||||
"searching": "Αναζήτηση...",
|
||||
"searching": "Αναζήτηση…",
|
||||
"shareInvite": "Μοίρασε την πρόσκληση στη συνάντηση",
|
||||
"shareLink": "Μοίρασε αυτό το σύνδεσμο της συνάντησης για να προσκαλέσεις και άλλα άτομα",
|
||||
"shareStream": "Διαμοιρασμός του συνδέσμου ζωντανής μετάδοσης",
|
||||
@@ -122,7 +122,7 @@
|
||||
"installExtensionText": "Εγκατάσταση της επέκτασης για ενσωμάτωση του Google Calendar και του Office 365"
|
||||
},
|
||||
"connectingOverlay": {
|
||||
"joiningRoom": "Σύνδεση στη σύσκεψη σας..."
|
||||
"joiningRoom": "Σύνδεση στη σύσκεψη σας…"
|
||||
},
|
||||
"connection": {
|
||||
"ATTACHED": "Συνημμένο",
|
||||
@@ -134,9 +134,9 @@
|
||||
"DISCONNECTED": "Αποσυνδέθηκε",
|
||||
"DISCONNECTING": "Γίνεται αποσύνδεση",
|
||||
"ERROR": "Σφάλμα",
|
||||
"FETCH_SESSION_ID": "Απόκτηση session-id...",
|
||||
"FETCH_SESSION_ID": "Απόκτηση session-id…",
|
||||
"GET_SESSION_ID_ERROR": "Λήψη σφάλματος session-id: {{code}}",
|
||||
"GOT_SESSION_ID": "Απόκτηση session-id... Έγινε",
|
||||
"GOT_SESSION_ID": "Απόκτηση session-id… Έγινε",
|
||||
"LOW_BANDWIDTH": "Η εικόνα για {{displayName}} απενεργοποιήθηκε για εξοικονόμηση ταχύτητας"
|
||||
},
|
||||
"connectionindicator": {
|
||||
@@ -157,7 +157,7 @@
|
||||
"maxEnabledResolution": "αποστολή μέγιστης",
|
||||
"more": "Περισσότερα",
|
||||
"packetloss": "Απώλειες πακέτων:",
|
||||
"participant_id": "Id συμμετέχων:",
|
||||
"participant_id": "Id συμμετέχοντα:",
|
||||
"quality": {
|
||||
"good": "Καλή",
|
||||
"inactive": "Ανενεργό",
|
||||
@@ -182,7 +182,7 @@
|
||||
"yesterday": "Χθες"
|
||||
},
|
||||
"deepLinking": {
|
||||
"appNotInstalled": "Χρειάζεστε την εφαρμογή {{app}} για το κινητό σας για συμμετοχή σε αυτή τη σύσκεψη στο τηλέφωνό σας.",
|
||||
"appNotInstalled": "Χρειάζεστε την εφαρμογή {{app}} για το κινητό σας για συμμετοχή σε αυτή τη σύσκεψη μέσα από το τηλέφωνό σας.",
|
||||
"description": "Δεν έγινε τίποτα; Έγινε προσπάθεια να ξεκινήσει η σύσκεψη με την εφαρμογή desktop {{app}}. Προσπαθήστε ξανά ή μπείτε από το web το {{app}}.",
|
||||
"descriptionNew": "Δεν έγινε τίποτα; Έγινε προσπάθεια να ξεκινήσει η σύσκεψη με την εφαρμογή desktop {{app}}. <br /><br /> Προσπαθήστε ξανά ή μπείτε από το web.",
|
||||
"descriptionWithoutWeb": "Δεν έγινε τίποτα; Έγινε προσπάθεια να ξεκινήσει η σύσκεψη στην εφαρμογή desktop {{app}}.",
|
||||
@@ -197,8 +197,8 @@
|
||||
"launchWebButton": "Εκκίνηση στο web",
|
||||
"noMobileApp": "Δεν έχετε την εφαρμογή;",
|
||||
"termsAndConditions": "Με το να συνεχίσετε συμφωνείτε με τους <a href='{{termsAndConditionsLink}}' rel='noopener noreferrer' target='_blank'>όρους και συνθήκες.</a>",
|
||||
"title": "Έναρξη της σύσκεψης σας στο {{app}}...",
|
||||
"titleNew": "Δημιουργία της σύσκεψης σας...",
|
||||
"title": "Έναρξη της σύσκεψης σας στο {{app}}…",
|
||||
"titleNew": "Δημιουργία της σύσκεψης σας…",
|
||||
"tryAgainButton": "Προσπαθήστε ξανά στο desktop",
|
||||
"unsupportedBrowser": "Φαίνεται ότι χρησιμοποιείτε ένα browser που δεν υποστηρίζουμε."
|
||||
},
|
||||
@@ -236,8 +236,8 @@
|
||||
"Remove": "Αφαίρεση",
|
||||
"Share": "Μοιραστείτε",
|
||||
"Submit": "Υποβολή",
|
||||
"WaitForHostMsg": "Η σύσκεψη δεν έχει αρχίσει ακόμη. Αν είστε διοργανωτής, τότε παρακαλούμε να ταυτοποιήσετε τον εαυτό σας. Διαφορετικά, παρακαλώ αναμένατε να συνδεθεί κάποιος διοργανωτής.",
|
||||
"WaitingForHostTitle": "Αναμονή για διοργανωτή ...",
|
||||
"WaitForHostMsg": "Η σύσκεψη δεν έχει αρχίσει ακόμη. Αν είστε διοργανωτής, τότε παρακαλούμε να ταυτοποιήσετε τον εαυτό σας. Διαφορετικά, παρακαλώ αναμείνετε να συνδεθεί κάποιος διοργανωτής.",
|
||||
"WaitingForHostTitle": "Αναμονή για διοργανωτή…",
|
||||
"Yes": "Ναι",
|
||||
"accessibilityLabel": {
|
||||
"close": "Κλείσιμο",
|
||||
@@ -261,9 +261,9 @@
|
||||
"cameraUnknownError": "Αδυναμία χρήσης της κάμερας για κάποιο άγνωστο λόγο.",
|
||||
"cameraUnsupportedResolutionError": "Η κάμερα σας δεν υποστηρίζει την απαιτούμενη ανάλυση εικόνας.",
|
||||
"close": "Κλείσιμο",
|
||||
"conferenceDisconnectMsg": "Παρακαλώ ελέγξτε τη δικτυακή σύνδεση σας. Επανασύνδεση σε {{seconds}} δευτερόλεπτα...",
|
||||
"conferenceDisconnectMsg": "Παρακαλώ ελέγξτε τη δικτυακή σύνδεση σας. Επανασύνδεση σε {{seconds}} δευτερόλεπτα…",
|
||||
"conferenceDisconnectTitle": "Έχετε αποσυνδεθεί.",
|
||||
"conferenceReloadMsg": "Προσπαθούμε να το διορθώσουμε. Επανασύνδεση σε {{seconds}} δευτερόλεπτα...",
|
||||
"conferenceReloadMsg": "Προσπαθούμε να το διορθώσουμε. Επανασύνδεση σε {{seconds}} δευτερόλεπτα…",
|
||||
"conferenceReloadTitle": "Δυστυχώς, κάτι πήγε στραβά.",
|
||||
"confirm": "Επιβεβαίωση",
|
||||
"confirmNo": "Όχι",
|
||||
@@ -296,8 +296,8 @@
|
||||
"internalErrorTitle": "Εσωτερικό σφάλμα",
|
||||
"kickMessage": "Μπορείτε να επικοινωνήσετε με το {{participantDisplayName}} για περισσότερες λεπτομέρειες.",
|
||||
"kickParticipantButton": "Αποβολή",
|
||||
"kickParticipantDialog": "Σίγουρα θέλετε να αποβάλλεται αυτόν το συμμετέχων;",
|
||||
"kickParticipantTitle": "Αποβολή αυτού του συμμετέχων;",
|
||||
"kickParticipantDialog": "Σίγουρα θέλετε να αποβάλλετε αυτόν το συμμετέχοντα;",
|
||||
"kickParticipantTitle": "Αποβολή αυτού του συμμετέχοντα;",
|
||||
"kickTitle": "Ωχ! Ο/Η {{participantDisplayName}} σας απέβαλε από τη σύσκεψη",
|
||||
"linkMeeting": "Σύνδεση σύσκεψης",
|
||||
"linkMeetingTitle": "Σύνδεση σύσκεψης στο Salesforce",
|
||||
@@ -318,7 +318,7 @@
|
||||
"micNotSendingDataTitle": "Το μικρόφωνο είναι σε σίγηση στις ρυθμίσεις του συστήματός σας",
|
||||
"micPermissionDeniedError": "Δεν έχετε δώσει την άδεια για χρήση του μικροφώνου. Μπορείτε ακόμα να συμμετάσχετε στη σύσκεψη, αλλά οι άλλοι δεν θα μπορούν να σας ακούσουν. Χρησιμοποιήστε το κουμπί της κάμερας στη γραμμή διεύθυνσης για να το διορθώσετε.",
|
||||
"micTimeoutError": "Αδυναμία εκκίνησης της πηγής ήχου. Λήξη του χρονικού ορίου!",
|
||||
"micUnknownError": "Αδυναμία χρήσης του μικρόφωνου για ένα άγνωστο λόγο.",
|
||||
"micUnknownError": "Αδυναμία χρήσης του μικροφώνου για ένα άγνωστο λόγο.",
|
||||
"moderationAudioLabel": "Επιτρέψτε στους συμμετέχοντες να καταργούν τη σίγηση τους",
|
||||
"moderationVideoLabel": "Επιτρέψτε στους συμμετέχοντες να ξεκινούν το βίντεο τους",
|
||||
"muteEveryoneDialog": "Οι συμμετέχοντες μπορούν να καταργούν την σίγηση τους.",
|
||||
@@ -339,12 +339,12 @@
|
||||
"muteParticipantsVideoBody": "Δε θα μπορείτε εσείς να ενεργοποιήσετε ξανά τη κάμερα, αλλά αυτοί θα μπορούν οποιαδήποτε στιγμή.",
|
||||
"muteParticipantsVideoBodyModerationOn": "Δε θα μπορείτε εσείς να ενεργοποιήσετε ξανά τη κάμερα, αλλά ούτε και αυτοί.",
|
||||
"muteParticipantsVideoButton": "Διακοπή του βίντεο",
|
||||
"muteParticipantsVideoDialog": "Θέλετε σίγουρα να κλείσετε τη κάμερα του συμμετέχων; Δε θα μπορείτε να την ενεργοποιήσετε ξανά, μόνο αυτοί θα μπορούν να την ανοίξουν.",
|
||||
"muteParticipantsVideoDialogModerationOn": "Θέλετε σίγουρα να κλείσετε τη κάμερα του συμμετέχων; Δε θα μπορείτε να την ενεργοποιήσετε ξανά, ούτε αυτοί θα μπορούν.",
|
||||
"muteParticipantsVideoTitle": "Απενεργοποίηση της κάμερας αυτού του συμμετέχων;",
|
||||
"muteParticipantsVideoDialog": "Θέλετε σίγουρα να κλείσετε τη κάμερα του συμμετέχοντα; Δε θα μπορείτε να την ενεργοποιήσετε ξανά, μόνο αυτοί θα μπορούν να την ανοίξουν.",
|
||||
"muteParticipantsVideoDialogModerationOn": "Θέλετε σίγουρα να κλείσετε τη κάμερα του συμμετέχοντα; Δε θα μπορείτε να την ενεργοποιήσετε ξανά, ούτε αυτοί θα μπορούν.",
|
||||
"muteParticipantsVideoTitle": "Απενεργοποίηση της κάμερας αυτού του συμμετέχοντα;",
|
||||
"noDropboxToken": "Μη έγκυρο διακριτικό Dropbox",
|
||||
"password": "Κωδικός πρόσβασης",
|
||||
"passwordLabel": "Η συνάντηση έχει κλειδωθεί από έναν συμμετέχων. Παρακαλώ εισάγετε το $t(lockRoomPassword) για να συμμετέχετε.",
|
||||
"passwordLabel": "Η συνάντηση έχει κλειδωθεί από κάποιον συμμετέχοντα. Παρακαλώ εισάγετε το $t(lockRoomPassword) για να συμμετέχετε.",
|
||||
"passwordNotSupported": "Ο ορισμός ενός $t(lockRoomPassword) στη συνάντηση δεν υποστηρίζεται.",
|
||||
"passwordNotSupportedTitle": "Δεν υποστηρίζεται $t(lockRoomPasswordUppercase)",
|
||||
"passwordRequired": "Απαιτείται $t(lockRoomPasswordUppercase)",
|
||||
@@ -427,7 +427,7 @@
|
||||
"userPassword": "Κωδικός πρόσβασης χρήστη",
|
||||
"verifyParticipantConfirm": "Ταιριάζουν",
|
||||
"verifyParticipantDismiss": "Δεν ταιριάζουν",
|
||||
"verifyParticipantQuestion": "ΠΕΙΡΑΜΑΤΙΚΟ: Ρωτήστε το συμμετέχων {{participantName}} αν βλέπουν το ίδιο περιεχόμενο, με την ίδια σειρά.",
|
||||
"verifyParticipantQuestion": "ΠΕΙΡΑΜΑΤΙΚΟ: Ρωτήστε τον συμμετέχοντα {{participantName}} αν βλέπουν το ίδιο περιεχόμενο, με την ίδια σειρά.",
|
||||
"verifyParticipantTitle": "Πιστοποίηση χρήστη",
|
||||
"videoLink": "Σύνδεσμο βίντεο",
|
||||
"viewUpgradeOptions": "Εμφάνιση επιλογών αναβάθμισης",
|
||||
@@ -514,7 +514,7 @@
|
||||
"inviteDialog": {
|
||||
"alertText": "Αποτυχία πρόσκλησης μερικών συμμετεχόντων.",
|
||||
"header": "Πρόσκληση",
|
||||
"searchCallOnlyPlaceholder": "Εισάγετε το τηλεφωνικό αριθμό",
|
||||
"searchCallOnlyPlaceholder": "Εισάγετε τον τηλεφωνικό αριθμό",
|
||||
"searchPeopleOnlyPlaceholder": "Αναζήτηση συμμετεχόντων",
|
||||
"searchPlaceholder": "Συμμετέχων ή αριθμός τηλεφώνου",
|
||||
"send": "Αποστολή"
|
||||
@@ -523,7 +523,7 @@
|
||||
"keyboardShortcuts": {
|
||||
"focusLocal": "Εστίαση στο βίντεο σας",
|
||||
"focusRemote": "Εστίαση στο βίντεο ενός άλλου",
|
||||
"fullScreen": "Εναλλαγή πλήρης οθόνης",
|
||||
"fullScreen": "Εναλλαγή πλήρους οθόνης",
|
||||
"giphyMenu": "Εναλλαγή μενού GIPHY",
|
||||
"keyboardShortcuts": "Συντομεύσεις πληκτρολογίου",
|
||||
"localRecording": "Εμφάνιση ή απόκρυψη χειριστηρίων καταγραφής",
|
||||
@@ -554,7 +554,7 @@
|
||||
"errorLiveStreamNotEnabled": "Η ζωντανή ροή δεν είναι ενεργοποιημένη για το {{email}}. Ενεργοποιήστε τη ζωντανή ροή ή συνδεθείτε σε ένα λογαριασμό με ενεργοποιημένη τη ζωντανή ροή.",
|
||||
"expandedOff": "Η ζωντανή ροή σταμάτησε",
|
||||
"expandedOn": "Η σύσκεψη μεταδίδεται τώρα στο YouTube.",
|
||||
"expandedPending": "Η ζωντανή ροή πρόκειται να ξεκινήσει...",
|
||||
"expandedPending": "Η ζωντανή ροή πρόκειται να ξεκινήσει…",
|
||||
"failedToStart": "Η ζωντανή ροή απέτυχε να ξεκινήσει",
|
||||
"getStreamKeyManually": "Αδυναμία λήψης κάποιας ζωντανής ροής. Προσπαθήστε να πάρετε το κλειδί ζωντανής ροής από το YouTube.",
|
||||
"googlePrivacyPolicy": "Πολιτική Απορρήτου της Google",
|
||||
@@ -566,7 +566,7 @@
|
||||
"offBy": "{{name}} σταμάτησε τη ζωντανή ροή",
|
||||
"on": "Η Ζωντανή Ροή ξεκίνησε",
|
||||
"onBy": "{{name}} ξεκίνησε τη ζωντανή ροή",
|
||||
"pending": "Η Ζωντανή Ροή Ξεκινάει...",
|
||||
"pending": "Η Ζωντανή Ροή Ξεκινάει…",
|
||||
"serviceName": "Υπηρεσία Ζωντανής Ροής",
|
||||
"sessionAlreadyActive": "Η συνεδρία ήδη γράφεται ή είναι σε ζωντανή ροή.",
|
||||
"signIn": "Συνδεθείτε μέσω του Google",
|
||||
@@ -596,10 +596,10 @@
|
||||
"joinRejectedMessage": "Το αίτημα εισόδου σας απορρίφθηκε από έναν συντονιστή.",
|
||||
"joinRejectedTitle": "Το αίτημα σύνδεσης απορρίφθηκε.",
|
||||
"joinTitle": "Συμμετοχή στη Σύσκεψη",
|
||||
"joinWithPasswordMessage": "Γίνεται είσοδος με κωδικό, παρακαλώ περιμένετε...",
|
||||
"joinWithPasswordMessage": "Γίνεται είσοδος με κωδικό, παρακαλώ περιμένετε…",
|
||||
"joiningMessage": "Θα προστεθείτε στη σύσκεψη μόλις κάποιος αποδεχτεί το αίτημά σας",
|
||||
"joiningTitle": "Αίτηση εισόδου στη σύσκεψη...",
|
||||
"joiningWithPasswordTitle": "Είσοδος με κωδικό πρόσβασης...",
|
||||
"joiningTitle": "Αίτηση εισόδου στη σύσκεψη…",
|
||||
"joiningWithPasswordTitle": "Είσοδος με κωδικό πρόσβασης…",
|
||||
"knockButton": "Αίτηση Συμμετοχής",
|
||||
"knockTitle": "Κάποιος θέλει να συμμετέχει στη σύσκεψη",
|
||||
"knockingParticipantList": "Ειδοποίηση λίστας συμμετεχόντων",
|
||||
@@ -714,8 +714,8 @@
|
||||
"oldElectronClientDescription3": " τώρα!",
|
||||
"participantWantsToJoin": "Θέλει να συμμετέχει στη σύσκεψη",
|
||||
"participantsWantToJoin": "Θέλουν να συμμετέχουν στη σύσκεψη",
|
||||
"passwordRemovedRemotely": "Το $t(lockRoomPasswordUppercase) αφαιρέθηκε από έναν άλλον συμμετέχων",
|
||||
"passwordSetRemotely": "Το $t(lockRoomPasswordUppercase) ορίστηκε από άλλον συμμετέχων",
|
||||
"passwordRemovedRemotely": "Το $t(lockRoomPasswordUppercase) αφαιρέθηκε από έναν άλλον συμμετέχοντα",
|
||||
"passwordSetRemotely": "Το $t(lockRoomPasswordUppercase) ορίστηκε από άλλον συμμετέχοντα",
|
||||
"raiseHandAction": "Σήκωσε χέρι",
|
||||
"raisedHand": "Θέλει να μιλήσει.",
|
||||
"raisedHands": "ο/η {{participantName}} και {{raisedHands}} άλλοι",
|
||||
@@ -772,7 +772,7 @@
|
||||
"title": "Συμμετέχοντες"
|
||||
},
|
||||
"passwordDigitsOnly": "Έως {{number}} ψηφία",
|
||||
"passwordSetRemotely": "Ορίστηκε από ένα άλλον συμμετέχων",
|
||||
"passwordSetRemotely": "Ορίστηκε από ένα άλλον συμμετέχοντα",
|
||||
"pinParticipant": "{{participantName}} - Διατήρηση",
|
||||
"pinnedParticipant": "Ο συμμετέχων έχει διατηρηθεί",
|
||||
"polls": {
|
||||
@@ -792,6 +792,9 @@
|
||||
"removeOption": "Αφαιρέστε την επιλογή",
|
||||
"send": "Αποστολή"
|
||||
},
|
||||
"errors": {
|
||||
"notUniqueOption": "Οι επιλογές πρέπει να είναι μοναδικές"
|
||||
},
|
||||
"notification": {
|
||||
"description": "Ανοίξτε τη σελίδα ψηφοφοριών για να ψηφίσετε",
|
||||
"title": "Μια νέα ψηφοφορία προστέθηκε στη σύσκεψη"
|
||||
@@ -813,7 +816,7 @@
|
||||
"callMe": "Καλέστε με",
|
||||
"callMeAtNumber": "Καλέστε με σε αυτό το νούμερο:",
|
||||
"calling": "Γίνεται κλήση",
|
||||
"configuringDevices": "Ρύθμιση συσκευών...",
|
||||
"configuringDevices": "Ρύθμιση συσκευών…",
|
||||
"connectedWithAudioQ": "Είστε συνδεδεμένοι με ήχο;",
|
||||
"connection": {
|
||||
"good": "Η σύνδεση σας στο Διαδίκτυο φαίνεται καλή!",
|
||||
@@ -867,17 +870,17 @@
|
||||
},
|
||||
"presenceStatus": {
|
||||
"busy": "Κατειλημμένο",
|
||||
"calling": "Καλεί...",
|
||||
"calling": "Καλεί…",
|
||||
"connected": "Συνδέθηκε",
|
||||
"connecting": "Γίνεται σύνδεση...",
|
||||
"connecting2": "Γίνεται σύνδεση*...",
|
||||
"connecting": "Γίνεται σύνδεση…",
|
||||
"connecting2": "Γίνεται σύνδεση*…",
|
||||
"disconnected": "Αποσυνδέθηκε",
|
||||
"expired": "Έληξε",
|
||||
"ignored": "Αγνοήθηκε",
|
||||
"initializingCall": "Αρχικοποίηση Κλήσης...",
|
||||
"initializingCall": "Αρχικοποίηση Κλήσης…",
|
||||
"invited": "Προσκλήθηκε",
|
||||
"rejected": "Απορρίφθηκε",
|
||||
"ringing": "Καλεί..."
|
||||
"ringing": "Καλεί…"
|
||||
},
|
||||
"profile": {
|
||||
"avatar": "avatar",
|
||||
@@ -908,7 +911,7 @@
|
||||
"errorFetchingLink": "Σφάλμα στη λήψη του συνδέσμου καταγραφής.",
|
||||
"expandedOff": "Η καταγραφή έχει διακοπεί",
|
||||
"expandedOn": "Αυτή τη στιγμή η σύσκεψη καταγράφεται.",
|
||||
"expandedPending": "Η καταγραφή ξεκινά...",
|
||||
"expandedPending": "Η καταγραφή ξεκινά…",
|
||||
"failedToStart": "Η καταγραφή απέτυχε να ξεκινήσει",
|
||||
"fileSharingdescription": "Μοιραστείτε την καταγραφή με τους συμμετέχοντες της σύσκεψης",
|
||||
"highlight": "Επισήμανση",
|
||||
@@ -936,7 +939,7 @@
|
||||
"on": "Η καταγραφή ξεκίνησε",
|
||||
"onBy": "Ο/Η {{name}} ξεκίνησε την καταγραφή",
|
||||
"onlyRecordSelf": "Καταγραφή μόνο των δικών μου ροών ήχου και βίντεο",
|
||||
"pending": "Προετοιμασία για την καταγραφή της σύσκεψης...",
|
||||
"pending": "Προετοιμασία για την καταγραφή της σύσκεψης…",
|
||||
"rec": "ΕΓΓΡΑΦΗ",
|
||||
"saveLocalRecording": "Αποθήκευση καταγραφής τοπικά (Beta)",
|
||||
"serviceDescription": "Η καταγραφή σας θα αποθηκευτεί από την υπηρεσία καταγραφής",
|
||||
@@ -1098,7 +1101,7 @@
|
||||
"download": "Κατεβάστε τις εφαρμογές μας",
|
||||
"embedMeeting": "Ενσωμάτωση σύσκεψης",
|
||||
"endConference": "Λήξη της σύσκεψης για όλους",
|
||||
"enterFullScreen": "Εμφάνιση πλήρης οθόνης",
|
||||
"enterFullScreen": "Εμφάνιση πλήρους οθόνης",
|
||||
"enterTileView": "Είσοδος σε προβολή εικονιδίων",
|
||||
"exitFullScreen": "Έξοδος από πλήρη οθόνη",
|
||||
"exitTileView": "Έξοδος από προβολή εικονιδίων",
|
||||
@@ -1112,7 +1115,7 @@
|
||||
"help": "Βοήθεια",
|
||||
"hideWhiteboard": "Απόκρυψη μαυροπίνακα",
|
||||
"invite": "Προσκαλέστε άτομα",
|
||||
"kick": "Αποβολή συμμετέχων",
|
||||
"kick": "Αποβολή συμμετέχοντα",
|
||||
"laugh": "Γέλιο",
|
||||
"leaveConference": "Αποχώρηση από την σύσκεψη",
|
||||
"like": "Εγκρίνω",
|
||||
@@ -1138,8 +1141,8 @@
|
||||
"raiseHand": "Σηκώστε το χέρι σας",
|
||||
"reactionsMenu": "Μενού αντιδράσεων",
|
||||
"recording": "Εναλλαγή καταγραφής",
|
||||
"remoteMute": "Σίγηση συμμετέχων",
|
||||
"remoteVideoMute": "Απενεργοποίηση της κάμερας του συμμετέχων",
|
||||
"remoteMute": "Σίγηση συμμετέχοντα",
|
||||
"remoteVideoMute": "Απενεργοποίηση της κάμερας του συμμετέχοντα",
|
||||
"security": "Επιλογές ασφαλείας",
|
||||
"selectBackground": "Επιλογή Φόντου",
|
||||
"selfView": "Εναλλαγή αυτοπροβολής",
|
||||
@@ -1185,7 +1188,7 @@
|
||||
"embedMeeting": "Ενσωμάτωση σύσκεψης",
|
||||
"enableNoiseSuppression": "Ενεργοποίηση εξάλειψης θορύβου",
|
||||
"endConference": "Λήξη της σύσκεψης για όλους",
|
||||
"enterFullScreen": "Εμφάνιση πλήρης οθόνης",
|
||||
"enterFullScreen": "Εμφάνιση πλήρους οθόνης",
|
||||
"enterTileView": "Προβολή εικονιδίων",
|
||||
"exitFullScreen": "Έξοδος από πλήρη οθόνη",
|
||||
"exitTileView": "Έξοδος από προβολή εικονιδίων",
|
||||
@@ -1264,7 +1267,7 @@
|
||||
"failedToStart": "Η μεταγραφή απέτυχε να ξεκινήσει",
|
||||
"labelToolTip": "Η συνάντηση μεταγράφεται",
|
||||
"off": "Η μεταγραφή σταμάτησε",
|
||||
"pending": "Προετοιμασία για μεταγραφή της συνάντησης...",
|
||||
"pending": "Προετοιμασία για μεταγραφή της συνάντησης…",
|
||||
"sourceLanguageDesc": "Η γλώσσα της σύσκεψης αυτή τη στιγμή έχει οριστεί σε <b>{{sourceLanguage}}</b>.<br/>Μπορείτε να την αλλάξετε από ",
|
||||
"sourceLanguageHere": "εδώ",
|
||||
"start": "Εμφάνιση υποτίτλων",
|
||||
@@ -1275,16 +1278,7 @@
|
||||
},
|
||||
"unpinParticipant": "{{participantName}} - Μη Διατήρηση",
|
||||
"userMedia": {
|
||||
"androidGrantPermissions": "Επιλέξτε <b><i>Αποδοχή</i></b> όταν ο browser ζητήσει για άδεια χρήσης.",
|
||||
"chromeGrantPermissions": "Επιλέξτε <b><i>Αποδοχή</i></b> όταν ο browser ζητήσει για άδεια χρήσης.",
|
||||
"edgeGrantPermissions": "Επιλέξτε <b><i>Ναι</i></b> όταν ο browser ζητήσει για άδεια χρήσης.",
|
||||
"electronGrantPermissions": "Δοκιμή πρόσβασης της κάμερας και του μικροφώνου",
|
||||
"firefoxGrantPermissions": "Επιλέξτε <b><i>Μοιραστείτε την Επιλεγμένη Συσκευή</i></b> όταν ο browser ζητήσει για άδεια.",
|
||||
"iexplorerGrantPermissions": "Επιλέξτε <b><i>OK</i></b> όταν ο browser σας ζητήσει άδεια χρήσης.",
|
||||
"nwjsGrantPermissions": "Παρακαλούμε παραχωρήστε την άδεια για χρήση της κάμερα και του μικροφώνου",
|
||||
"operaGrantPermissions": "Επιλέξτε <b><i>Αποδοχή</i></b> όταν ο browser σας ζητήσει για άδεια χρήσης.",
|
||||
"react-nativeGrantPermissions": "Επιλέξτε <b><i>Αποδοχή</i></b> όταν ο browser σας ζητήσει για άδεια χρήσης.",
|
||||
"safariGrantPermissions": "Επιλέξτε <b><i>OK</i></b> όταν ο browser σας ζητήσει άδεια χρήσης."
|
||||
"grantPermissions": "Παρακαλούμε παραχωρήστε την άδεια για χρήση της κάμερα και του μικροφώνου."
|
||||
},
|
||||
"videoSIPGW": {
|
||||
"busy": "Γίνεται προσπάθεια για την απελευθέρωση πόρων. Παρακαλώ δοκιμάστε ξανά σε λίγα λεπτά.",
|
||||
@@ -1334,11 +1328,11 @@
|
||||
"muted": "Σίγηση",
|
||||
"pinToStage": "Διατήρηση στη σκηνή",
|
||||
"remoteControl": "Εκκίνηση / Διακοπή ελέγχου από μακριά",
|
||||
"screenSharing": "Ο συμμετέχων μοιράζει την οθόνη τους",
|
||||
"screenSharing": "Ο συμμετέχων διαμοιράζεται την οθόνη του",
|
||||
"show": "Εμφάνιση στη σκηνή",
|
||||
"showSelfView": "Εμφάνιση αυτοπροβολής",
|
||||
"unpinFromStage": "Μη διατήρηση",
|
||||
"verify": "Επιβεβαίωση συμμετέχων",
|
||||
"verify": "Επιβεβαίωση συμμετέχοντα",
|
||||
"videoMuted": "Η κάμερα απενεργοποιήθηκε",
|
||||
"videomute": "Ο συμμετέχων σταμάτησε τη κάμερα"
|
||||
},
|
||||
@@ -1358,7 +1352,7 @@
|
||||
"image6": "Δάσος ",
|
||||
"image7": "Ανατολή",
|
||||
"none": "Κανένα",
|
||||
"pleaseWait": "Παρακαλώ αναμένατε...",
|
||||
"pleaseWait": "Παρακαλώ αναμένατε…",
|
||||
"removeBackground": "Αφαίρεση φόντου",
|
||||
"slightBlur": "Μισό Θόλωμα",
|
||||
"title": "Εικονικά φόντα",
|
||||
|
||||
@@ -1,19 +1,22 @@
|
||||
{
|
||||
"addPeople": {
|
||||
"accessibilityLabel": {
|
||||
"meetingLink": "Ligilon al kunveno: {{url}}"
|
||||
},
|
||||
"add": "Inviti",
|
||||
"addContacts": "Inviti viajn kontaktojn",
|
||||
"contacts": "kontaktoj",
|
||||
"copyInvite": "Kopii la invitligilon",
|
||||
"copyLink": "Kopii la kunsidligilon",
|
||||
"copyStream": "Kopii elsendfluan ligilon",
|
||||
"countryNotSupported": "Ni ankoraŭ ne subtenas ĉi tiun landon.",
|
||||
"countryNotSupported": "Ni ankoraŭ ne subtenas ĉi-tiun landon.",
|
||||
"countryReminder": "Ĉu vi vokas ekster Usonon? Certiĝu, ke vi komencas per la landokodo!",
|
||||
"defaultEmail": "Via defaŭlta retadreso",
|
||||
"disabled": "Vi ne povas inviti homojn.",
|
||||
"failedToAdd": "Malsukcesis aldono de membroj",
|
||||
"googleEmail": "Google-retadreso",
|
||||
"inviteMoreHeader": "Vi estas la sola en la retkunsido",
|
||||
"inviteMoreMailSubject": "Aliĝi al {{appName}}-retkunsido",
|
||||
"inviteMoreHeader": "Vi estas la sola en la retkunveno",
|
||||
"inviteMoreMailSubject": "Aliĝi al {{appName}}-retkunveno",
|
||||
"inviteMorePrompt": "Inviti pli da homoj",
|
||||
"linkCopied": "Ligilo kopiita al tondujo",
|
||||
"noResults": "Nenio trovita",
|
||||
@@ -25,7 +28,7 @@
|
||||
"shareStream": "Konigi elsendfluan ligilon",
|
||||
"sipAddresses": "SIP-adresoj",
|
||||
"telephone": "Telefono: {{number}}",
|
||||
"title": "Inviti homojn al ĉi tiu kunveno",
|
||||
"title": "Inviti homojn al ĉi-tiu kunveno",
|
||||
"yahooEmail": "Yahoo-retadreso"
|
||||
},
|
||||
"audioDevices": {
|
||||
@@ -39,28 +42,47 @@
|
||||
"audioOnly": {
|
||||
"audioOnly": "Malalta rapideco de retkonekto"
|
||||
},
|
||||
"bandwidthSettings": {
|
||||
"assumedBandwidthBps": "ekz. 10000000 for 10 Mbps",
|
||||
"assumedBandwidthBpsWarning": "Pli altaj valoroj povas kaŭzi retajn problemojn.",
|
||||
"customValue": "Elektita valoro",
|
||||
"customValueEffect": "Elekti la bps valoro (bitoj po sekundo)",
|
||||
"leaveEmpty": "lasu malplena",
|
||||
"leaveEmptyEffect": "por ebligi taksojn",
|
||||
"possibleValues": "Eblaj valoroj",
|
||||
"setAssumedBandwidthBps": "Supozita kapacity (bps)",
|
||||
"title": "Agordoj por kapacito",
|
||||
"zeroEffect": "malebligi videon"
|
||||
},
|
||||
"breakoutRooms": {
|
||||
"actions": {
|
||||
"add": "Aldoni aneksan ĉambron",
|
||||
"autoAssign": "Asigni aŭtomate al aneksanaj ĉambroj",
|
||||
"autoAssign": "Asigni aŭtomate al aneksaj ĉambroj",
|
||||
"close": "Fermi",
|
||||
"join": "Aliĝi",
|
||||
"leaveBreakoutRoom": "Eliri la aneksan ĉambron",
|
||||
"more": "Pli",
|
||||
"remove": "Forigi",
|
||||
"rename": "Ŝanĝi nomon de ĉambro",
|
||||
"renameBreakoutRoom": "Ŝanĝi nomon de aneksa ĉambro",
|
||||
"sendToBreakoutRoom": "Sendi la partoprenanton al:"
|
||||
},
|
||||
"breakoutList": "Aneksa listo",
|
||||
"buttonLabel": "Aneksaj ĉambroj",
|
||||
"defaultName": "Aneksa ĉambro #{{index}}",
|
||||
"hideParticipantList": "Kaŝi liston de partoprenantoj",
|
||||
"mainRoom": "Ĉefĉambro",
|
||||
"notifications": {
|
||||
"joined": "Alirante al aneksa ĉambro \"{{name}}\"",
|
||||
"joinedMainRoom": "Alirante al ĉefĉambro",
|
||||
"joinedTitle": "Aneksaj ĉambroj"
|
||||
}
|
||||
},
|
||||
"showParticipantList": "Montri liston de partoprenantoj",
|
||||
"title": "Aneksaj Ĉambroj"
|
||||
},
|
||||
"calendarSync": {
|
||||
"addMeetingURL": "Aldoni ligilon al la kunveno",
|
||||
"confirmAddLink": "Ĉu vi volas aldoni Jitsi-ligilon al ĉi tiu evento?",
|
||||
"confirmAddLink": "Ĉu vi volas aldoni Jitsi-ligilon al ĉi-tiu evento?",
|
||||
"error": {
|
||||
"appConfiguration": "Kalendara integrigo ne estas ĝuste agordita.",
|
||||
"generic": "Okazis eraro. Bonvolu kontroli viajn kalendarajn agordojn aŭ provu aktualigi la kalendaron.",
|
||||
@@ -147,6 +169,7 @@
|
||||
"bridgeCount": "Nombro de serviloj: ",
|
||||
"codecs": "Kodekoj (sono/video):",
|
||||
"connectedTo": "Konektita al:",
|
||||
"e2eeVerified": "E2EE Aprobita:",
|
||||
"framerate": "Bildrapido:",
|
||||
"less": "Montri malpli",
|
||||
"localaddress": "Loka adreso:",
|
||||
@@ -155,6 +178,7 @@
|
||||
"localport_plural": "Lokaj pordoj:",
|
||||
"maxEnabledResolution": "Maksimuma flukvanto",
|
||||
"more": "Montri pli",
|
||||
"no": "ne",
|
||||
"packetloss": "Perdo de pakaĵoj:",
|
||||
"participant_id": "ID de partoprenanto",
|
||||
"quality": {
|
||||
@@ -173,7 +197,8 @@
|
||||
"status": "Konekto:",
|
||||
"transport": "Transporto:",
|
||||
"transport_plural": "Transportoj:",
|
||||
"video_ssrc": "Video-SSRC"
|
||||
"video_ssrc": "Video-SSRC",
|
||||
"yes": "jes"
|
||||
},
|
||||
"dateUtils": {
|
||||
"earlier": "Pli frue",
|
||||
@@ -181,15 +206,23 @@
|
||||
"yesterday": "Hieraŭ"
|
||||
},
|
||||
"deepLinking": {
|
||||
"appNotInstalled": "Vi bezonas la aplikaĵon {{app}} por aliĝi al ĉi tiu kunveno per via telefono.",
|
||||
"appNotInstalled": "Vi bezonas la aplikaĵon {{app}} por aliĝi al ĉi-tiu kunveno per via telefono.",
|
||||
"description": "Ĉu nenio okazis? Ni provis lanĉi vian kunveno en la komputila aplikaĵo {{app}}. Provu denove aŭ lanĉu ĝin en la reta aplikaĵo {{web}}.",
|
||||
"descriptionNew": "Ĉu nenio okazis? Ni provis lanĉi vian kunveno en la komputila aplikaĵo {{app}}. <br /><br /> Vi povas provi denove, au uzi la retejon.",
|
||||
"descriptionWithoutWeb": "Ĉu nenio okazis? Ni provis lanĉi vian kunveno en la komputila aplikaĵo {{app}}.",
|
||||
"downloadApp": "Elŝuti la aplikaĵon",
|
||||
"downloadMobileApp": "Elŝuti el aplikaĵvendejo",
|
||||
"ifDoNotHaveApp": "Se vi ankoraŭ ne havas la aplikaĵon",
|
||||
"ifHaveApp": "Se vi jam havas la aplikaĵon",
|
||||
"joinInApp": "Aliĝu al ĉi tiu kunsido per la aplikaĵo",
|
||||
"joinInApp": "Aliĝu al ĉi-tiu kunveno per la aplikaĵo",
|
||||
"joinInAppNew": "Aliĝu per la aplikaĵo",
|
||||
"joinInBrowser": "Aliĝu per la retumilo",
|
||||
"launchMeetingLabel": "Kiel vi volas aliĝu al ĉi-tiu kunveno?",
|
||||
"launchWebButton": "Lanĉi enrete",
|
||||
"title": "Lanĉo de via kunveno en {{app}}…",
|
||||
"noMobileApp": "Ĉu vi ne jam havas la aplikaĵon?",
|
||||
"termsAndConditions": "Daŭrigante, vi konsentas kun niaj <a href='{{termsAndConditionsLink}}' rel='noopener noreferrer' target='_blank'>kondiĉoj.</a>",
|
||||
"title": "Enirante vian kunvenon per {{app}}…",
|
||||
"titleNew": "Enirante vian kunvenon…",
|
||||
"tryAgainButton": "Provu denove per la komputila aplikaĵo",
|
||||
"unsupportedBrowser": "Ŝajnas ke vi uzas nesubtenitan retumilon"
|
||||
},
|
||||
@@ -202,6 +235,12 @@
|
||||
"microphonePermission": "Eraro akirante permeson por mikrofono"
|
||||
},
|
||||
"deviceSelection": {
|
||||
"hid": {
|
||||
"callControl": "Voko kontrolo",
|
||||
"connectedDevices": "Ligitaj aparatoj:",
|
||||
"deleteDevice": "Forgesu aparaton",
|
||||
"pairDevice": "Kuplu aparaton"
|
||||
},
|
||||
"noPermission": "Permeso ne estis donita",
|
||||
"previewUnavailable": "Antaŭrigardo ne disponeblas",
|
||||
"selectADevice": "Elektu aparaton",
|
||||
@@ -222,16 +261,23 @@
|
||||
"Share": "Kundividi",
|
||||
"Submit": "Sendi",
|
||||
"WaitForHostMsg": "La kunveno ankoraŭ ne komencis. Se vi estas la gastiganto, bonvolu aŭtentiĝi. Alikaze atendu, ĝis la gastiganto venos.",
|
||||
"WaitingForHostButton": "Atendante la gastiganton",
|
||||
"WaitingForHostTitle": "Atendante la gastiganton…",
|
||||
"Yes": "Jes",
|
||||
"accessibilityLabel": {
|
||||
"liveStreaming": "Tuja elsendfluo"
|
||||
"Cancel": "Nuligi (forlasi dialogujon)",
|
||||
"Ok": "Okej (konservi ŝanĝojn kaj forlasi dialogujon)",
|
||||
"close": "Fermi dialogujon",
|
||||
"liveStreaming": "Tuja elsendfluo",
|
||||
"sharingTabs": "Kunhavaj Agordoj"
|
||||
},
|
||||
"add": "Aldoni",
|
||||
"addMeetingNote": "Aldoni komenton pri tiu kunsido",
|
||||
"addMeetingNote": "Aldoni komenton pri tiu kunveno",
|
||||
"addOptionalNote": "Aldoni komenton (fakultativa)",
|
||||
"allow": "Permesi",
|
||||
"alreadySharedVideoMsg": "Alia partoprenanto jam kundividas videon. Ĉi tiu kunveno permesas nur unu kundividata video samtempe.",
|
||||
"allowToggleCameraDialog": "Do you allow {{initiatorName}} to toggle your camera facing mode?",
|
||||
"allowToggleCameraTitle": "Ĉu permesu baskuligi kameraon?",
|
||||
"alreadySharedVideoMsg": "Alia partoprenanto jam kundividas videon. Ĉi-tiu kunveno permesas nur unu kundividata video samtempe.",
|
||||
"alreadySharedVideoTitle": "Nur unu video estas permesata samtempe.",
|
||||
"applicationWindow": "Programa fenestro",
|
||||
"authenticationRequired": "Bezonas aŭtentokontrolon",
|
||||
@@ -263,9 +309,9 @@
|
||||
"e2eeDescription": "<p>Tutvoja ĉifrado estas nuntempe <strong>EKSPERIMENTA</strong>. Bonvolu vidi <a href='https://jitsi.org/blog/e2ee/' target='_blank'>ĉi tiun artikolon</a> por detaloj.</p><br/><p>Konsciu, ke ŝalti tutvojan ĉifradon efektive malebligos servilflankajn servojn kiel ekzemple: registradon, tujan elsendfluon kaj telefonan partoprenon. Konsciu ankaŭ, ke la kunveno funkcios nur por homoj, kiuj uzas retumilon subtenantan enmetatajn fluojn.</p>",
|
||||
"e2eeDisabledDueToMaxModeDescription": "Ne eblas ŝalti tutvoja ĉifrado pro granda kvanto da partoprenantoj en la prelego",
|
||||
"e2eeLabel": "Ŝlosilo",
|
||||
"e2eeWarning": "<br /><p><strong>ATENTIGO:</strong> Ne ĉiuj partoprenantoj en ĉi tiu kunveno ŝajnas havi subtenon de tutvoja ĉifrado. Se vi ŝaltos ĝin, ili ne povos vidi aŭ aŭdi vin.</p>",
|
||||
"e2eeWarning": "<br /><p><strong>ATENTIGO:</strong> Ne ĉiuj partoprenantoj en ĉi-tiu kunveno ŝajnas havi subtenon de tutvoja ĉifrado. Se vi ŝaltos ĝin, ili ne povos vidi aŭ aŭdi vin.</p>",
|
||||
"e2eeWillDisableDueToMaxModeDescription": "AVERTO: Tutvoja ĉifrado estos aŭtomate malŝaltita",
|
||||
"embedMeeting": "Enkorpigi kunsidon",
|
||||
"embedMeeting": "Enkorpigi kunveno",
|
||||
"enterDisplayName": "Bonvolu entajpi vian nomon ĉi-tie",
|
||||
"error": "Eraro",
|
||||
"gracefulShutdown": "Nia servo nun estas eksterreta pro prizorgado. Bonvolu reprovi poste.",
|
||||
@@ -279,8 +325,8 @@
|
||||
"internalErrorTitle": "Interna eraro",
|
||||
"kickMessage": "Vi povas kontakti {{participantDisplayName}} por pli da detaloj.",
|
||||
"kickParticipantButton": "Forĵeti",
|
||||
"kickParticipantDialog": "Ĉu vi certe volas forĵeti ĉi tiun partoprenanton?",
|
||||
"kickParticipantTitle": "Forĵeti ĉi tiun partoprenanton?",
|
||||
"kickParticipantDialog": "Ĉu vi certe volas forĵeti ĉi-tiun partoprenanton?",
|
||||
"kickParticipantTitle": "Forĵeti ĉi-tiun partoprenanton?",
|
||||
"kickTitle": "Aj! {{participantDisplayName}} forĵetis vin el la kunveno",
|
||||
"linkMeeting": "Ligi la prelegon",
|
||||
"linkMeetingTitle": "Ligi la prelegon al Salesforce",
|
||||
@@ -291,6 +337,7 @@
|
||||
"lockRoom": "Aldoni $t(lockRoomPasswordUppercase) al la kunveno.",
|
||||
"lockTitle": "Ŝloso malsukcesis",
|
||||
"login": "Ensaluti",
|
||||
"loginQuestion": "Ĉi vi certe volas ensaluti kaj enrigi la kunvenon?",
|
||||
"logoutQuestion": "Ĉu vi certe volas adiaŭi kaj fini la kunvenon?",
|
||||
"logoutTitle": "Elsaluti",
|
||||
"maxUsersLimitReached": "Maksimuma nombro de partoprenantoj atingita. La kunveno estas plena. Bonvolu kontakti la posedanton de la kunveno aŭ reprovi poste!",
|
||||
@@ -322,20 +369,18 @@
|
||||
"muteParticipantsVideoBody": "Vi ne povos ŝalti la kameraon denove, sed ili povos ŝalti ĝin mem iam ajn.",
|
||||
"muteParticipantsVideoBodyModerationOn": "Nek vi nek ili povos ŝalti la kameraon denove.",
|
||||
"muteParticipantsVideoButton": "Malŝaltu la kameraon",
|
||||
"muteParticipantsVideoDialog": "Ĉu vi certe volas malŝalti la kameraon de tiu ĉi uzanto? Vi ne povos ŝalti ĝin denove, sed ili povos ŝalti ĝin mem iam ajn.",
|
||||
"muteParticipantsVideoDialogModerationOn": "Ĉu vi certe volas malŝalti la kameraon de tiu ĉi uzanto? Nek vi nek ili povos ŝalti ĝin denove.",
|
||||
"muteParticipantsVideoTitle": "Malŝaltu la kameraon de tiu ĉi uzanto?",
|
||||
"muteParticipantsVideoDialog": "Ĉu vi certe volas malŝalti la kameraon de tiu-ĉi uzanto? Vi ne povos ŝalti ĝin denove, sed ili povos ŝalti ĝin mem iam ajn.",
|
||||
"muteParticipantsVideoDialogModerationOn": "Ĉu vi certe volas malŝalti la kameraon de tiu-ĉi uzanto? Nek vi nek ili povos ŝalti ĝin denove.",
|
||||
"muteParticipantsVideoTitle": "Malŝaltu la kameraon de tiu-ĉi uzanto?",
|
||||
"noDropboxToken": "Nevalidaj Dropbox-ĵetonoj",
|
||||
"password": "Pasvorto",
|
||||
"passwordLabel": "La kunvenon ŝlosis partoprenanto. Bonvolu entajpi $t(lockRoomPassword) por aliĝi.",
|
||||
"passwordNotSupported": "Agordo de kunvena pasvorto ne estas subtenata",
|
||||
"passwordNotSupportedTitle": "$t(lockRoomPasswordUppercase) ne subtenata",
|
||||
"passwordRequired": "$t(lockRoomPasswordUppercase) deviga",
|
||||
"permissionCameraRequiredError": "Permeso uzi kameraon estas bezonata por partopreni prelegojn kun video. Bonvolu doni tiun ĉi permeson en Agordoj.",
|
||||
"permissionCameraRequiredError": "Permeso uzi kameraon estas bezonata por partopreni prelegojn kun video. Bonvolu doni tiun-ĉi permeson en Agordoj.",
|
||||
"permissionErrorTitle": "Permeso deviga",
|
||||
"permissionMicRequiredError": "Permeso uzi microfono estas bezonata por partopreni prelegojn kun aŭdaĵo. Bonvolu doni tiun ĉi permeson en Agordoj.",
|
||||
"popupError": "Via foliumilo forbaras ŝprucfenestrojn de tiu ĉi retejo. Bonvolu permesi ŝprucfenestrojn en la prisekuraj agordoj de via fenestro kaj reprovi.",
|
||||
"popupErrorTitle": "Ŝprucfenestro barita",
|
||||
"permissionMicRequiredError": "Permeso uzi microfono estas bezonata por partopreni prelegojn kun aŭdaĵo. Bonvolu doni tiun-ĉi permeson en Agordoj.",
|
||||
"readMore": "Pli",
|
||||
"recentlyUsedObjects": "Viaj lastatempe uzitaj objektoj",
|
||||
"recording": "Registrado",
|
||||
@@ -352,6 +397,8 @@
|
||||
"removePassword": "Forigi $t(lockRoomPassword)",
|
||||
"removeSharedVideoMsg": "Ĉu vi vere volas forigi vian kunhavatan videon?",
|
||||
"removeSharedVideoTitle": "Forigi kunhavatan videon",
|
||||
"renameBreakoutRoomLabel": "Nomo de aneksa ĉambro",
|
||||
"renameBreakoutRoomTitle": "Ŝanĝi nomon de aneksa ĉambro",
|
||||
"reservationError": "Rezervosistema eraro",
|
||||
"reservationErrorMsg": "Kodo de eraro: {{code}}, mesaĝo: {{msg}}",
|
||||
"retry": "Reprovi",
|
||||
@@ -371,6 +418,7 @@
|
||||
"sendPrivateMessageTitle": "Sendi private?",
|
||||
"serviceUnavailable": "Servo ne disponeblas",
|
||||
"sessTerminated": "Voko finita",
|
||||
"sessTerminatedReason": "La kunveno estas finigita",
|
||||
"sessionRestarted": "Voko restartigis pro problemo kun la konecto.",
|
||||
"shareAudio": "Daŭrigi",
|
||||
"shareAudioTitle": "Kiel kunhavigi sonon",
|
||||
@@ -401,29 +449,58 @@
|
||||
"streamKey": "Ŝlosilo de tuja elsendfluo",
|
||||
"thankYou": "Dankon ke vi uzas {{appName}}!",
|
||||
"token": "ĵetono",
|
||||
"tokenAuthFailed": "Pardonu, vi ne rajtas aliĝi al ĉi tiu voko.",
|
||||
"tokenAuthFailed": "Pardonu, vi ne rajtas aliĝi al ĉi-tiu voko.",
|
||||
"tokenAuthFailedReason": {
|
||||
"audInvalid": "Nevalida `aud` valoro. Ĝi estu `jitsi`.",
|
||||
"contextNotFound": "La `context` objekto mankas de la portaĵo.",
|
||||
"expInvalid": "Nevalida `exp` valoro.",
|
||||
"featureInvalid": "Nevalida funkcio: {{feature}}, plej verŝajne, ne jam realigita.",
|
||||
"featureValueInvalid": "Nevalida valoro for funkcio: {{feature}}.",
|
||||
"featuresNotFound": "La `features` objekto mankas de la portaĵo.",
|
||||
"headerNotFound": "Mankante la kapon.",
|
||||
"issInvalid": "Nevalida `iss` valoro. It should be `chat`.",
|
||||
"kidMismatch": "Ŝlosila ID (kid) ne kongruas.",
|
||||
"kidNotFound": "Mankanta Ŝlosila ID (kid).",
|
||||
"nbfFuture": "La `nbf` valoro estas en la estonteco.",
|
||||
"nbfInvalid": "Nevalida `nbf` valoro.",
|
||||
"payloadNotFound": "Mankas la portaĵon.",
|
||||
"tokenExpired": "Ĵetono eksvalidiĝis."
|
||||
},
|
||||
"tokenAuthFailedTitle": "Aŭtentigo malsukcesis",
|
||||
"tokenAuthFailedWithReasons": "Vi ne havas permeson aliĝi al ĉi-tiu kunveno. Eblaj kialoj: {{reason}}",
|
||||
"tokenAuthUnsupported": "Ĵetona retejeo ne estas subtenata",
|
||||
"transcribing": "transskribado",
|
||||
"unlockRoom": "Forigi la $t(lockRoomPassword)n de la ĉambro",
|
||||
"user": "Uzanto",
|
||||
"userIdentifier": "Uzantidentigilo",
|
||||
"userPassword": "Uzantopasvorto",
|
||||
"verifyParticipantConfirm": "Ili kongruas",
|
||||
"verifyParticipantDismiss": "Ili ne kongruas",
|
||||
"verifyParticipantQuestion": "EKSPERIMENTA: Demandu al {{participantName}} se ili vidas la saman enhavon, laŭ la sama ordo.",
|
||||
"verifyParticipantTitle": "Identkontrolo",
|
||||
"videoLink": "Video-ligilo",
|
||||
"viewUpgradeOptions": "Montru opcioj por plibonigaj eldonoj",
|
||||
"viewUpgradeOptionsContent": "Se vi volas aliron al superaj funkcioj, kiel registrado, transskribo, RTMP vivelsendo & pli, vi plibonigu vian subskribon.",
|
||||
"viewUpgradeOptionsTitle": "Vi malkovris superan funkcion!",
|
||||
"whiteboardLimitContent": "Bedaŭre, la limo de samtempaj blanktabulaj uzantoj estas atingita.",
|
||||
"whiteboardLimitReference": "Por pli da informo, bonvole vizitu",
|
||||
"whiteboardLimitReferenceUrl": "Nia retejo",
|
||||
"whiteboardLimitTitle": "Blanktabula patroprenanta limo atingita",
|
||||
"yourEntireScreen": "Via tuta ekrano"
|
||||
},
|
||||
"documentSharing": {
|
||||
"title": "Kundividita dokumento"
|
||||
},
|
||||
"e2ee": {
|
||||
"labelToolTip": "Ĉiuj partoprenantoj en ĉi tiu kunveno ŝaltis tutvojan ĉifradon"
|
||||
"labelToolTip": "Ĉiuj partoprenantoj en ĉi-tiu kunveno ŝaltis tutvojan ĉifradon"
|
||||
},
|
||||
"embedMeeting": {
|
||||
"title": "Enigi ĉi tiun renkontiĝon"
|
||||
"title": "Enigi ĉi-tiun renkontiĝon"
|
||||
},
|
||||
"feedback": {
|
||||
"accessibilityLabel": {
|
||||
"yourChoice": "Via takso"
|
||||
},
|
||||
"average": "Mezbona",
|
||||
"bad": "Malbona",
|
||||
"detailsLabel": "Diru al ni pli pri ĝi.",
|
||||
@@ -433,13 +510,15 @@
|
||||
"veryBad": "Tre malbona",
|
||||
"veryGood": "Tre bona"
|
||||
},
|
||||
"filmstrip": {
|
||||
"accessibilityLabel": {
|
||||
"heading": "Videaj bildetoj"
|
||||
}
|
||||
},
|
||||
"giphy": {
|
||||
"noResults": "Rezultoj ne trovitaj :(",
|
||||
"search": "Serĉi en GIPHY"
|
||||
},
|
||||
"helpView": {
|
||||
"title": "Helpejo"
|
||||
},
|
||||
"incomingCall": {
|
||||
"answer": "Respondi",
|
||||
"audioCallTitle": "Alvenanta voko",
|
||||
@@ -461,14 +540,14 @@
|
||||
"dialInSummaryError": "Eraro dum venigo de telefonadaj informoj. Bonvolu reprovi poste.",
|
||||
"dialInTollFree": "Senkosta numero",
|
||||
"genericError": "Oj, io fuŝiĝis.",
|
||||
"inviteLiveStream": "Por vidi la tujan elsendfluon, alklaku ĉi tiun ligilon: {{url}}",
|
||||
"inviteLiveStream": "Por vidi la tujan elsendfluon, alklaku ĉi-tiun ligilon: {{url}}",
|
||||
"invitePhone": "Por aliĝi per telefono anstataŭe, tuŝu tion: {{number}},,{{conferenceID}}#\n",
|
||||
"invitePhoneAlternatives": "Ĉu vi serĉas alian telefonnumeron?\nVidi la telefonnumerojn de la kunveno: {{url}}\n\n\nSe vi vokas ankaŭ per ĉambra telefono, vi povas aliĝi sen sono: {{silentUrl}}",
|
||||
"inviteSipEndpoint": "Por aliĝi per la SIP adreso, entajpu tio: {{sipUri}}.",
|
||||
"inviteTextiOSInviteUrl": "Alklaku tiu ĉi ligilon pour aliĝi: {{inviteUrl}}.",
|
||||
"inviteTextiOSJoinSilent": "Se vi aliĝas per ĉambra telefono, uzu ĉi tiun ligon por aliĝi sen konektiĝi al audio:{{silentUrl}}.",
|
||||
"inviteTextiOSInviteUrl": "Alklaku tiu-ĉi ligilon pour aliĝi: {{inviteUrl}}.",
|
||||
"inviteTextiOSJoinSilent": "Se vi aliĝas per ĉambra telefono, uzu ĉi-tiun ligon por aliĝi sen konektiĝi al audio:{{silentUrl}}.",
|
||||
"inviteTextiOSPersonal": "{{name}} invitas vin al kunveno.",
|
||||
"inviteTextiOSPhone": "Por aliĝi telefone, uzu ĉi tiun numeron: {{number}},,{{conferenceID}}#. Se vi serĉas alian numeron, jen la plena listo: {{didUrl}}.",
|
||||
"inviteTextiOSPhone": "Por aliĝi telefone, uzu ĉi-tiun numeron: {{number}},,{{conferenceID}}#. Se vi serĉas alian numeron, jen la plena listo: {{didUrl}}.",
|
||||
"inviteURLFirstPartGeneral": "Vi estas invitita al kunveno.",
|
||||
"inviteURLFirstPartPersonal": "{{name}} invitas vin al kunveno.\n",
|
||||
"inviteURLSecondPart": "\nAliĝi al la kunveno:\n{{url}}\n",
|
||||
@@ -482,8 +561,9 @@
|
||||
"password": "$t(lockRoomPasswordUppercase):",
|
||||
"reachedLimit": "Vi atingis la limon de via subskribo.",
|
||||
"sip": "SIP-adreso",
|
||||
"sipAudioOnly": "SIP nur-aŭdia adreso",
|
||||
"title": "Kundividi",
|
||||
"tooltip": "Kundividi ligilon kaj telefonnumeron por ĉi tiu kunveno",
|
||||
"tooltip": "Kundividi ligilon kaj telefonnumeron por ĉi-tiu kunveno",
|
||||
"upgradeOptions": "Bonvolu kontroli la ĝisdatigajn opciojn."
|
||||
},
|
||||
"inlineDialogFailure": {
|
||||
@@ -549,7 +629,7 @@
|
||||
"onBy": "{{name}} komencis la tujan elsendfluon",
|
||||
"pending": "Startigo de tuja elsendfluo…",
|
||||
"serviceName": "Servoj de tuja elsendado",
|
||||
"sessionAlreadyActive": "Oni jam registras aŭ vivelsendas ĉi tiun seancon.",
|
||||
"sessionAlreadyActive": "Oni jam registras aŭ vivelsendas ĉi-tiun seancon.",
|
||||
"signIn": "Ensaluti kun Google",
|
||||
"signInCTA": "Ensalutu aŭ entajpu vian ŝlosilon tuja elsendado el YouTube.",
|
||||
"signOut": "Elsaluti",
|
||||
@@ -561,7 +641,6 @@
|
||||
"youtubeTerms": "Uzkondiĉoj de YouTube"
|
||||
},
|
||||
"lobby": {
|
||||
"allow": "Permesi",
|
||||
"backToKnockModeButton": "Petu por aliĝi",
|
||||
"chat": "Babilejo",
|
||||
"dialogTitle": "Atendeja reĝimo",
|
||||
@@ -587,13 +666,13 @@
|
||||
"knockingParticipantList": "Listo de uzantoj, kiuj volas aliĝi",
|
||||
"lobbyChatStartedNotification": "{{moderator}} startis atendejan babilejon kun {{attendee}}.",
|
||||
"lobbyChatStartedTitle": "{{moderator}} startis atendejan babilejon kun vi.",
|
||||
"lobbyClosed": "La atendeja babilejo estas fermita.",
|
||||
"nameField": "Entajpu vian nomon",
|
||||
"notificationLobbyAccessDenied": "{{targetParticipantName}} estis malakceptita aliĝi de {{originParticipantName}}",
|
||||
"notificationLobbyAccessGranted": "{{targetParticipantName}} estis akceptita aliĝi de {{originParticipantName}}",
|
||||
"notificationLobbyDisabled": "{{originParticipantName}} malŝaltis atendejon",
|
||||
"notificationLobbyEnabled": "{{originParticipantName}} ŝaltis atendejon",
|
||||
"notificationTitle": "Atendejo",
|
||||
"passwordField": "Entajpu pasvorton de la renkontiĝo",
|
||||
"passwordJoinButton": "Aliĝi",
|
||||
"title": "Atendejo",
|
||||
"toggleLabel": "Ŝaltu atendejon"
|
||||
@@ -622,10 +701,12 @@
|
||||
"no": "Ne",
|
||||
"participant": "Partoprenantoj",
|
||||
"participantStats": "Statistikoj pri la partoprenantoj",
|
||||
"selectTabTitle": "🎥 Bonvolu elekti ĉi tiun langeton por registrado",
|
||||
"selectTabTitle": "🎥 Bonvolu elekti ĉi-tiun langeton por registrado",
|
||||
"sessionToken": "Sesia ĵetono",
|
||||
"start": "Komenci registradon",
|
||||
"stop": "Fini registradon",
|
||||
"stopping": "Finiganta registradon",
|
||||
"wait": "Bonvole atendu dum la registro estas konservata",
|
||||
"yes": "Jes"
|
||||
},
|
||||
"lockRoomPassword": "Pasvorto",
|
||||
@@ -645,8 +726,13 @@
|
||||
"connectedOneMember": "{{name}} aliĝis al la kunveno",
|
||||
"connectedThreePlusMembers": "{{name}} kaj {{count}} aliaj aliĝis al la kunveno",
|
||||
"connectedTwoMembers": "{{first}} kaj {{second}} aliĝis al la kunveno",
|
||||
"dataChannelClosed": "Videa kvalito estas malboniĝita.",
|
||||
"dataChannelClosedDescription": "La ponta kanalo estas malkonektita, do videa kvalito restas ĉe la plej malalta grado.",
|
||||
"disabledIframe": "Enkorpigado estas nur por demonstri, do ĉi-tiu kunveno malkonektos post {{timeout}} minutoj.",
|
||||
"disabledIframeSecondary": "Enkorpigado de {{domain}} estas nur por demonstri, do ĉi-tiu kunveno malkonektos post {{timeout}} minutoj.",
|
||||
"disconnected": "malkonektita",
|
||||
"displayNotifications": "Montru sciigojn por",
|
||||
"dontRemindMe": "Ne sciigu min",
|
||||
"focus": "Kunvena atento",
|
||||
"focusFail": "{{component}} ne estas disponebla – reprovu post {{ms}} sekundoj",
|
||||
"gifsMenu": "GIPHY",
|
||||
@@ -655,6 +741,7 @@
|
||||
"invitedOneMember": "{{name}} estis invitita",
|
||||
"invitedThreePlusMembers": "{{name}} kaj {{count}} aliaj estis invititaj",
|
||||
"invitedTwoMembers": "{{first}} kaj {{second}} estis invititaj",
|
||||
"joinMeeting": "Aliĝi",
|
||||
"kickParticipant": "{{kicked}} estis forĵetita de {{kicker}}",
|
||||
"leftOneMember": "{{name}} foriris el la kunveno",
|
||||
"leftThreePlusMembers": "{{name}} kaj multaj aliaj foriris el la kunveno",
|
||||
@@ -662,7 +749,7 @@
|
||||
"linkToSalesforce": "Ligilo al Salesforce",
|
||||
"linkToSalesforceDescription": "Vi povas ligi la kunvenan resumon al Salesforce objekto.",
|
||||
"linkToSalesforceError": "Malsukcesis ligi la kunvenon al Salesforces",
|
||||
"linkToSalesforceKey": "Ligi ĉi tiun kunvenon",
|
||||
"linkToSalesforceKey": "Ligi ĉi-tiun kunvenon",
|
||||
"linkToSalesforceProgress": "Ligante la kunvenon al Salesforce…",
|
||||
"linkToSalesforceSuccess": "La kunveno estas ligita al Salesforce.",
|
||||
"localRecordingStarted": "{{name}} startigis lokan registradon.",
|
||||
@@ -689,7 +776,6 @@
|
||||
"newDeviceCameraTitle": "Nova kamerao detektita",
|
||||
"noiseSuppressionDesktopAudioDescription": "Neeblas aktivi la nuligon de bruo dum dividado de labortabla audio. Bonvolu malŝalti ĝin kaj provi denove. ",
|
||||
"noiseSuppressionFailedTitle": "Malsukcesis startigi la nuligon de bruo",
|
||||
"noiseSuppressionNoTrackDescription": "Bonvolu unue malsilentigi vian mikrofonon.",
|
||||
"noiseSuppressionStereoDescription": "Forigo de bruo por stereosono ankoraŭ ne estas subtenata.",
|
||||
"oldElectronClientDescription1": "Ŝajnas, ke vi uzas malnovan version de la kliento de Jitsi Meet, kiu havas konatajn sekurec-vundeblojn. Bonvolu ĝisdatigi al nia ",
|
||||
"oldElectronClientDescription2": "plej nova versio",
|
||||
@@ -705,6 +791,8 @@
|
||||
"reactionSoundsForAll": "Malebligi sonojn por ĉiuj",
|
||||
"screenShareNoAudio": "La elektobutono “Kundividi sonon” ne estis elektita en la fenestro de elekto de ektrano.",
|
||||
"screenShareNoAudioTitle": "Ne eblis kunhavigi sisteman audio!",
|
||||
"screenSharingAudioOnlyDescription": "Notu bonvole, ke kunhavi la ekranon uzas plie la kapaciton.",
|
||||
"screenSharingAudioOnlyTitle": "\"Plej Alta Rendimento\"-reĝimo",
|
||||
"selfViewTitle": "Vi ĉiam povas malkaŝi la memvidon en agordoj",
|
||||
"somebody": "Iu",
|
||||
"startSilentDescription": "Aliĝu denove al la kunveno por ŝalti sonon",
|
||||
@@ -717,7 +805,9 @@
|
||||
"videoUnmuteBlockedDescription": "Malsilentigo de la kamerao kaj funkciado de kunhava labortablo estis provizore blokitaj pro sistemaj limoj.",
|
||||
"videoUnmuteBlockedTitle": "Malsilentigo de la kamerao kaj kunhavigo de la ekrano estas blokitaj!",
|
||||
"viewLobby": "Vidu atendejon",
|
||||
"waitingParticipants": "{{waitingParticipants}} homo(j)"
|
||||
"waitingParticipants": "{{waitingParticipants}} homo(j)",
|
||||
"whiteboardLimitDescription": "Bonvole konservu vian progreson, ĉar la uzantlimo baldaŭ estos atingita, kaj la blanktabulo fermiĝos.",
|
||||
"whiteboardLimitTitle": "Blanktabula uzado"
|
||||
},
|
||||
"participantsPane": {
|
||||
"actions": {
|
||||
@@ -728,6 +818,7 @@
|
||||
"askUnmute": "Peti malsilentigi",
|
||||
"audioModeration": "Malsilentigi sin mem",
|
||||
"blockEveryoneMicCamera": "Bloki la kameraon kaj la mikrofonon de ĉiuj",
|
||||
"breakoutRooms": "Aneksaj ĉambroj",
|
||||
"invite": "Inviti iun",
|
||||
"moreModerationActions": "Pli da moderigaj opcioj",
|
||||
"moreModerationControls": "Pli da moderigaj regiloj",
|
||||
@@ -745,6 +836,8 @@
|
||||
"headings": {
|
||||
"lobby": "Atendejo ({{count}})",
|
||||
"participantsList": "Partoprenantoj en la kunveno ({{count}})",
|
||||
"visitorRequests": " (petoj {{count}})",
|
||||
"visitors": "Vizitantaj {{count}}",
|
||||
"waitingLobby": "En la atendejo ({{count}})"
|
||||
},
|
||||
"search": "Serĉu partoprenantojn",
|
||||
@@ -752,6 +845,7 @@
|
||||
},
|
||||
"passwordDigitsOnly": "Ĝis {{number}} ciferoj",
|
||||
"passwordSetRemotely": "agordita de alia partoprenanto",
|
||||
"pinParticipant": "{{participantName}} - Pingli",
|
||||
"pinnedParticipant": "La partoprenanto estas fiksita",
|
||||
"polls": {
|
||||
"answer": {
|
||||
@@ -770,6 +864,9 @@
|
||||
"removeOption": "Forigi opcion",
|
||||
"send": "Sendu"
|
||||
},
|
||||
"errors": {
|
||||
"notUniqueOption": "Ebloj devas esti unikaj"
|
||||
},
|
||||
"notification": {
|
||||
"description": "Malfermu la enketan langeton por voĉdoni",
|
||||
"title": "Oni aldonis novan enketon en la kunveno"
|
||||
@@ -789,7 +886,7 @@
|
||||
"audioOnlyError": "Eraro kun la aŭdaĵo:",
|
||||
"audioTrackError": "Ne eblis krei sontrakon.",
|
||||
"callMe": "Voku min.",
|
||||
"callMeAtNumber": "Voku min al ĉi tiu numero:",
|
||||
"callMeAtNumber": "Voku min al ĉi-tiu numero:",
|
||||
"calling": "Voko…",
|
||||
"configuringDevices": "Agordo de la aparatoj…",
|
||||
"connectedWithAudioQ": "Ĉu vi estas konektita kun aŭdaĵo?",
|
||||
@@ -803,7 +900,7 @@
|
||||
"audioHighQuality": "Verŝajne via sono estos bonega.",
|
||||
"audioLowNoVideo": "Verŝajne via sono estos malbona kaj ne estos videaĵo.",
|
||||
"goodQuality": "Bonege! Via media kvalito estos tre bona.",
|
||||
"noMediaConnectivity": "Ni ne sukcesis starigi aŭdvidan konekton por ĉi tiu testo. Tion kutime kaŭzas fajroŝirmilo aŭ NAT.",
|
||||
"noMediaConnectivity": "Ni ne sukcesis starigi aŭdvidan konekton por ĉi-tiu testo. Tion kutime kaŭzas fajroŝirmilo aŭ NAT.",
|
||||
"noVideo": "Veŝajne via videaĵo estos malbonega.",
|
||||
"undetectable": "Se vi ankoraŭ ne povas voki per retumilo, ni rekomendas, ke vi certiĝu, ke viaj laŭtparoliloj, mikrofono kaj kamerao estas ĝuste agorditaj; ke vi donis rajtojn al via retumilo uzi viajn mikrofonon kaj kameraon; ke via retumilo estas ĝisdata. Se vi ankoraŭ ne povas voki, vi devus kontakti la programiston de la retejo.",
|
||||
"veryPoorConnection": "Verŝajne la kvalito de via voko estos malbonega.",
|
||||
@@ -828,7 +925,7 @@
|
||||
"iWantToDialIn": "Mi volas alvoki",
|
||||
"initiated": "Voko komencita",
|
||||
"joinAudioByPhone": "Aliĝu kun telefona mikrofono",
|
||||
"joinMeeting": "Aliĝu al la kunvenon",
|
||||
"joinMeeting": "Aliĝu al la kunveno",
|
||||
"joinMeetingInLowBandwidthMode": "Aliĝu en malaltkapacita modo",
|
||||
"joinWithoutAudio": "Aliĝu sen mikrofono",
|
||||
"keyboardShortcuts": "Ŝaltu fulmoklavojn",
|
||||
@@ -836,9 +933,11 @@
|
||||
"lookGood": "Via mikrofono funkcias ĝuste",
|
||||
"or": "Aŭ",
|
||||
"premeeting": "Antaŭkunveno",
|
||||
"proceedAnyway": "Daŭrigi",
|
||||
"screenSharingError": "Eraro kun la ekrandividado:",
|
||||
"showScreen": "Ebligu antaŭkunvenon ekranon",
|
||||
"startWithPhone": "Komencu kun la telefona sono",
|
||||
"unsafeRoomConsent": "Akceptu la riskojn, kaj daŭrigi",
|
||||
"videoOnlyError": "Eraro kun la videaĵo:",
|
||||
"videoTrackError": "Ne eblis krei videotrakon.",
|
||||
"viewAllNumbers": "Vidu ĉiujn numerojn"
|
||||
@@ -857,9 +956,6 @@
|
||||
"rejected": "Malakceptita",
|
||||
"ringing": "Sonorado…"
|
||||
},
|
||||
"privacyView": {
|
||||
"title": "Privateco"
|
||||
},
|
||||
"profile": {
|
||||
"avatar": "Profilbildo",
|
||||
"setDisplayNameLabel": "Agordi vian videblan nomon",
|
||||
@@ -871,7 +967,7 @@
|
||||
"raisedHandsLabel": "Nombro da levitaj manoj",
|
||||
"record": {
|
||||
"already": {
|
||||
"linked": "La kunveno jam estas ligita al tiu ĉi Salesforce-objekto."
|
||||
"linked": "La kunveno jam estas ligita al tiu-ĉi Salesforce-objekto."
|
||||
},
|
||||
"type": {
|
||||
"account": "Konto",
|
||||
@@ -913,6 +1009,7 @@
|
||||
"localRecordingVideoWarning": "Por registri vian videon, ŝaltu la kameraon antaŭ vi komencas la registradon.",
|
||||
"localRecordingWarning": "Certigu, ke vi elektas la nunan langeton por uzi la ĝustajn filmetojn kaj sonojn. La registrado estas nuntempe limigita al 1GB, kio estas proksimume 100 minutoj.",
|
||||
"loggedIn": "Ensalutinta kiel {{userName}}",
|
||||
"noMicPermission": "Mikrofono ne povis esti uzata. Bonvole donu permeson uzi la mikrofonon.",
|
||||
"noStreams": "Neniu aŭdio aŭ videofluo detektita.",
|
||||
"off": "Registrado finita",
|
||||
"offBy": "{{name}} ĉesigis la registradon",
|
||||
@@ -921,12 +1018,15 @@
|
||||
"onlyRecordSelf": "Registri nur miajn aŭd- kaj videofluojn",
|
||||
"pending": "Prepariĝo por registrado de la kunveno…",
|
||||
"rec": "REG",
|
||||
"recordAudioAndVideo": "Konservu kaj aŭdion kaj videon",
|
||||
"recordTranscription": "Konservu transskribon",
|
||||
"saveLocalRecording": "Konservu registraddosieron loke (Beta)",
|
||||
"serviceDescription": "Via registraĵo estos konservita de la registra servo",
|
||||
"serviceDescriptionCloud": "Nubo registrado",
|
||||
"serviceDescriptionCloudInfo": "Registritaj renkontiĝoj estas aŭtomate forigitaj 24h post sia tempo de registrado.",
|
||||
"serviceName": "Registra servo",
|
||||
"sessionAlreadyActive": "Ĉi tiu sesio jam estas registrita aŭ vivelsendita.",
|
||||
"showAdvancedOptions": "Detalaj agordoj",
|
||||
"signIn": "Ensaluti",
|
||||
"signOut": "Elsaluti",
|
||||
"surfaceError": "Bonvolu elekti la nunan langeton.",
|
||||
@@ -942,10 +1042,17 @@
|
||||
"security": {
|
||||
"about": "Vi povas aldoni $t(lockRoomPassword) al via renkontiĝo. Partoprenantoj devos doni la $t(lockRoomPassword) antaŭ ol ili rajtas aliĝi al la renkontiĝo.",
|
||||
"aboutReadOnly": "Moderaciuloj povas aldoni $t(lockRoomPassword) al la renkontiĝo. Partoprenantoj devos doni la $t(lockRoomPassword) antaŭ ol ili rajtas aliĝi al la renkontiĝo.",
|
||||
"insecureRoomNameWarning": "La ĉambronomo estas nesekura. Nedezirataj partoprenantoj povas aliĝi al via prelego. Konsideru sekurigi vian renkontiĝon per la sekureca butono.",
|
||||
"title": "Sekurecaj Opcioj"
|
||||
"insecureRoomNameWarningNative": "Ĉi-tiu ĉambro ne estas sekura. Nevolataj partoprenantoj povas aliĝi vian kunvenvon.",
|
||||
"insecureRoomNameWarningWeb": "Ĉi-tiu ĉambro ne estas sekura. Nevolataj partoprenantoj povas aliĝi vian kunvenvon. {{recommendAction}} Lerni pli pri sekuri vian kunvenon <a href=\"{{securityUrl}}\" rel=\"security\" target=\"_blank\">ĉi-tie</a>.",
|
||||
"title": "Sekurecaj Opcioj",
|
||||
"unsafeRoomActions": {
|
||||
"meeting": "Konsideru sekurigi vian kunvenon per la sekureca butono.",
|
||||
"prejoin": "Konsideru uzi pli unikan kunvenan nomon.",
|
||||
"welcome": "Konsideru uzi pli unikan kunvenan nomon, aŭ elekti unu el la sugestataj."
|
||||
}
|
||||
},
|
||||
"settings": {
|
||||
"audio": "Aŭdio",
|
||||
"buttonLabel": "Agordoj",
|
||||
"calendar": {
|
||||
"about": "La integrigo de kalendaro {{appName}} estas uzata por sekure aliri vian kalendaron, por ke ĝi povu legi planitajn eventojn.",
|
||||
@@ -966,9 +1073,11 @@
|
||||
"maxStageParticipants": "Maksimuma nombro da partoprenantoj, kiuj povas esti alpinglitaj al la ĉefa scenejo (EXPERIMENTA)",
|
||||
"microphones": "Mikrofonoj",
|
||||
"moderator": "Kunvenestro",
|
||||
"moderatorOptions": "Kunvenestaj agordoj",
|
||||
"more": "Pli",
|
||||
"name": "Nomo",
|
||||
"noDevice": "Neniu",
|
||||
"notifications": "Sciigoj",
|
||||
"participantJoined": "Partoprenanto aliĝis",
|
||||
"participantKnocking": "Partoprenanto eniris atendejon",
|
||||
"participantLeft": "Partoprenanto foriris",
|
||||
@@ -979,13 +1088,14 @@
|
||||
"selectCamera": "Kamerao",
|
||||
"selectMic": "Mikrofono",
|
||||
"selfView": "Memrigardo",
|
||||
"sounds": "Sonoj",
|
||||
"shortcuts": "Ŝparvojoj",
|
||||
"speakers": "Laŭparoliloj",
|
||||
"startAudioMuted": "Ĉiuj komenciĝas silentaj",
|
||||
"startReactionsMuted": "Silentigu la reagajn sonojn por ĉiujn",
|
||||
"startVideoMuted": "Ĉiuj komenciĝas kaŝitaj",
|
||||
"talkWhileMuted": "Parolu dum silentigita",
|
||||
"title": "Agordoj"
|
||||
"title": "Agordoj",
|
||||
"video": "Video"
|
||||
},
|
||||
"settingsView": {
|
||||
"advanced": "Altnivela",
|
||||
@@ -993,6 +1103,7 @@
|
||||
"alertOk": "Bone",
|
||||
"alertTitle": "Atentigo",
|
||||
"alertURLText": "La entajpita URL de servilo estas nevalida",
|
||||
"apply": "Apliki",
|
||||
"buildInfoSection": "Informoj pri la versio",
|
||||
"conferenceSection": "Konferenco",
|
||||
"disableCallIntegration": "Malŝalti denaskan integrigon de vokoj",
|
||||
@@ -1003,12 +1114,14 @@
|
||||
"displayNamePlaceholderText": "Eg: Petro Ekzemplulo",
|
||||
"email": "Retadreso",
|
||||
"emailPlaceholderText": "retadreso@ekzemplo.com",
|
||||
"gavatarMessage": "La profilbildo de via Gravatar-konto estos uzata se via retadreso ligas al Gravatar-konto",
|
||||
"goTo": "Iru al",
|
||||
"header": "Agordoj",
|
||||
"help": "Helpo",
|
||||
"links": "Ligiloj",
|
||||
"privacy": "Privateco",
|
||||
"profileSection": "Profilo",
|
||||
"sdkVersion": "SDK versio",
|
||||
"serverURL": "URL de servilo",
|
||||
"showAdvanced": "Montri altnivelajn agordojn",
|
||||
"startCarModeInLowBandwidthMode": "Komencu aŭtoreĝimon en malaltkapacita reĝimo",
|
||||
@@ -1018,8 +1131,8 @@
|
||||
"version": "Versio"
|
||||
},
|
||||
"share": {
|
||||
"dialInfoText": "\n\n=====\n\nĈu vi volas simple voki per via telefono?\n\n{{defaultDialInNumber}}Alklaku ĉi tiun ligilon por vidi la telefonnumerojn por ĉi tiu kunveno\n{{dialInfoPageUrl}}",
|
||||
"mainText": "Alklaku ĉi tiun ligilon por aliĝi al la kunveno:\n{{roomUrl}}"
|
||||
"dialInfoText": "\n\n=====\n\nĈu vi volas simple voki per via telefono?\n\n{{defaultDialInNumber}}Alklaku ĉi-tiun ligilon por vidi la telefonnumerojn por ĉi-tiu kunveno\n{{dialInfoPageUrl}}",
|
||||
"mainText": "Alklaku ĉi-tiun ligilon por aliĝi al la kunveno:\n{{roomUrl}}"
|
||||
},
|
||||
"speaker": "Laŭtparolilo",
|
||||
"speakerStats": {
|
||||
@@ -1061,25 +1174,35 @@
|
||||
"audioOnly": "Baskuligi nur-sonan reĝimon",
|
||||
"audioRoute": "Elekti la sonaparaton",
|
||||
"boo": "Hui",
|
||||
"breakoutRoom": "Eniru/Eliru ĉambreton",
|
||||
"breakoutRooms": "Aneksaj ĉambroj",
|
||||
"callQuality": "Agordi vidkvaliton",
|
||||
"carmode": "Aŭta reĝimo",
|
||||
"cc": "Baskuligi subtekstojn",
|
||||
"chat": "Baskuligi tujmesaĝilan fenestron",
|
||||
"clap": "Aplaŭdi",
|
||||
"closeChat": "Eliri babilejon",
|
||||
"closeMoreActions": "Fermi agan dialogujon",
|
||||
"closeParticipantsPane": "Fermi fenestro de partoprenantoj",
|
||||
"collapse": "Maletendi",
|
||||
"dock": "Doku en ĉefa fenestro",
|
||||
"document": "Baskuligi kundividitan dokumenton",
|
||||
"documentClose": "Fermi kunhavatan dokumenton",
|
||||
"documentOpen": "Malfermi kunhavatan dokumenton",
|
||||
"download": "Elŝuti niajn aplikaĵojn",
|
||||
"embedMeeting": "Enkorpigita renkontiĝo",
|
||||
"endConference": "Finu kunvenon por ĉiuj",
|
||||
"enterFullScreen": "Vidi per plena ekrano",
|
||||
"enterTileView": "Vidi per kahela reĝimo",
|
||||
"exitFullScreen": "Eliri de plena ekrano",
|
||||
"exitTileView": "Eliri de kahela reĝimo",
|
||||
"expand": "Etendi",
|
||||
"feedback": "Lasi recenzon",
|
||||
"fullScreen": "Baskuligi tutekranan reĝimon",
|
||||
"giphy": "Baskuligi GIPHY menuon",
|
||||
"grantModerator": "Donu Rajtojn de Moderatoro",
|
||||
"hangup": "Forlasi la vokon",
|
||||
"heading": "Ilobreto",
|
||||
"help": "Helpo",
|
||||
"hideWhiteboard": "Kaŝi blanktabulon",
|
||||
"invite": "Inviti homojn",
|
||||
"kick": "Forĵeti partoprenanton",
|
||||
"laugh": "Ridi",
|
||||
@@ -1089,6 +1212,7 @@
|
||||
"lobbyButton": "Ŝaltu/Malŝaltu atendejan reĝimon",
|
||||
"localRecording": "Baskuligi lokajn registrilojn",
|
||||
"lockRoom": "Baskuligi pasvorton por la kunveno",
|
||||
"lowerHand": "Mallevi la manon",
|
||||
"moreActions": "Baskuligi la menuon kun pli da agoj",
|
||||
"moreActionsMenu": "Menuo kun pli da agoj",
|
||||
"moreOptions": "Montri pli da ebloj",
|
||||
@@ -1097,12 +1221,15 @@
|
||||
"muteEveryoneElse": "Silentigu ĉiujn aliajn",
|
||||
"muteEveryoneElsesVideoStream": "Ĉesigu la videon de ĉiuj aliaj",
|
||||
"muteEveryonesVideoStream": "Ĉesigu ĉies videon",
|
||||
"muteGUMPending": "Konektanta vian mikrofonon",
|
||||
"noiseSuppression": "Bruo nuligo",
|
||||
"openChat": "Malfermi babilejon",
|
||||
"participants": "Partoprenantoj",
|
||||
"pip": "Baskuligi la reĝimon “bildo en bildo”",
|
||||
"privateMessage": "Sendi privatan mesaĝon",
|
||||
"profile": "Redakti vian profilon",
|
||||
"raiseHand": "Baskuligi manlevon",
|
||||
"reactions": "Reagoj",
|
||||
"reactionsMenu": "Malfermu / Fermu reagojn menuon",
|
||||
"recording": "Baskuligi registradon",
|
||||
"remoteMute": "Silentigi partoprenanton",
|
||||
@@ -1116,16 +1243,20 @@
|
||||
"sharedvideo": "Baskuligi kundividadon de videoj",
|
||||
"shortcuts": "Baskuligi fulmklavojn",
|
||||
"show": "Montri sur scenejo",
|
||||
"showWhiteboard": "Montri blanktabulon",
|
||||
"silence": "Silento",
|
||||
"speakerStats": "Baskuligi statistikojn pri parolanto",
|
||||
"stopScreenSharing": "Halti kunhavi vian ekranon",
|
||||
"stopSharedVideo": "Halti kunhavi vian videon",
|
||||
"surprised": "Surprizita",
|
||||
"tileView": "Baskuligi kahelan vidon",
|
||||
"toggleCamera": "Baskuligi kameraon",
|
||||
"toggleFilmstrip": "Baskuligi filmbendon",
|
||||
"undock": "Maldokiĝu en apartan fenestron",
|
||||
"unmute": "Malsilentigi",
|
||||
"videoblur": "Baskuligi malnetigon de video",
|
||||
"videomute": "Silentigi/malsilentigi videon",
|
||||
"whiteboard": "Montru / Kaŝu blanktabulon"
|
||||
"videomuteGUMPending": "Konektanta vian kameraon",
|
||||
"videounmute": "Ŝalti kameraon"
|
||||
},
|
||||
"addPeople": "Aldoni homojn al via voko",
|
||||
"audioOnlyOff": "Malŝalti malalt-trafikan reĝimon",
|
||||
@@ -1138,15 +1269,16 @@
|
||||
"chat": "Malfermi / Fermi babilejon",
|
||||
"clap": "Aplaŭdi",
|
||||
"closeChat": "Malfermi babilejon",
|
||||
"closeParticipantsPane": "Malfermu partoprenantan dialogujon",
|
||||
"closeReactionsMenu": "Fermu la menuon de reagoj",
|
||||
"disableNoiseSuppression": "Malŝaltu bruonuligon",
|
||||
"disableReactionSounds": "Vi povas malŝalti reagsonojn por ĉi tiu renkontiĝo",
|
||||
"dock": "Doku en ĉefa fenestro",
|
||||
"documentClose": "Malfermi/Fermi komunan dokumenton",
|
||||
"documentOpen": "Malfermi/Fermi komunan dokumenton",
|
||||
"disableReactionSounds": "Vi povas malŝalti reagsonojn por ĉi-tiu renkontiĝo",
|
||||
"documentClose": "Fermi komunan dokumenton",
|
||||
"documentOpen": "Malfermi komunan dokumenton",
|
||||
"download": "Elŝuti niajn aplikaĵojn",
|
||||
"e2ee": "Tutvoja ĉifrado",
|
||||
"embedMeeting": "Enkorpigita renkontiĝo",
|
||||
"enableNoiseSuppression": "Ebligi bruan redukton",
|
||||
"endConference": "Finu la renkontiĝon por ĉiuj",
|
||||
"enterFullScreen": "Vidi tutekrane",
|
||||
"enterTileView": "Vidi kahele",
|
||||
@@ -1173,7 +1305,8 @@
|
||||
"moreOptions": "Pli da ebloj",
|
||||
"mute": "Silentigi/Malsilentigi",
|
||||
"muteEveryone": "Silentigi ĉiujn",
|
||||
"muteEveryonesVideo": "Malŝalto ĉies kameraon",
|
||||
"muteEveryonesVideo": "Malŝalti ĉies kameraon",
|
||||
"muteGUMPending": "Liganta vian mikrofonon",
|
||||
"noAudioSignalDesc": "Se vi ne intence silentigis ĝin per viaj sistemaj agordoj aŭ fizike, konsideru transŝalti al alia aparato.",
|
||||
"noAudioSignalDescSuggestion": "Se vi ne intence silentigis ĝin per viaj sistemaj agordoj aŭ fizike, konsideru transŝalti al la proponata aparato.",
|
||||
"noAudioSignalDialInDesc": "Vi povas ankaŭ telefoni per:",
|
||||
@@ -1196,6 +1329,7 @@
|
||||
"reactionLike": "Sendi reagon “ŝati”",
|
||||
"reactionSilence": "Sendi reagon “silento”",
|
||||
"reactionSurprised": "Sendi reagon “surprizita”",
|
||||
"reactions": "Reagoj",
|
||||
"security": "Sekurecaj opcioj",
|
||||
"selectBackground": "Elekti fonon",
|
||||
"shareRoom": "Inviti iun",
|
||||
@@ -1215,9 +1349,11 @@
|
||||
"talkWhileMutedPopup": "Ĉu vi provas paroli? Vi estas silentigita.",
|
||||
"tileViewToggle": "Baskuligi titolan vidon",
|
||||
"toggleCamera": "Baskuligi kameraon",
|
||||
"undock": "Maldokiĝu en apartan fenestron",
|
||||
"unmute": "Malsilentigi mikrofonon",
|
||||
"videoSettings": "Video-agordoj",
|
||||
"videomute": "Ŝalti / Malŝalti kameraon"
|
||||
"videomute": "Ŝalti / Malŝalti kameraon",
|
||||
"videomuteGUMPending": "Konektanta via kamerao",
|
||||
"videounmute": "Ŝalti kameraon"
|
||||
},
|
||||
"transcribing": {
|
||||
"ccButtonTooltip": "Komenci / Ĉesigi subtekstojn",
|
||||
@@ -1235,17 +1371,9 @@
|
||||
"subtitlesOff": "Malŝaltitaj",
|
||||
"tr": "TR"
|
||||
},
|
||||
"unpinParticipant": "{{participantName}} - Malpingli",
|
||||
"userMedia": {
|
||||
"androidGrantPermissions": "Elektu <b><i>Permesi</i></b> kiam via foliumilo petos permesojn.",
|
||||
"chromeGrantPermissions": "Elektu <b><i>Permesi</i></b> kiam via foliumilo petos permesojn.",
|
||||
"edgeGrantPermissions": "Elektu <b><i>Jes</i></b> kiam via foliumilo petos permesojn.",
|
||||
"electronGrantPermissions": "Bonvolu doni la permeson uzi viajn kameraon kaj mikrofonon",
|
||||
"firefoxGrantPermissions": "Elektu <b><i>Havigi elektitan aparaton</i></b> kiam via foliumilo petos permesojn.",
|
||||
"iexplorerGrantPermissions": "Elektu <b><i>Bone</i></b> kiam via foliumilo petos permesojn.",
|
||||
"nwjsGrantPermissions": "Bonvolu doni la permeson uzi viajn kameraon kaj mikrofonon",
|
||||
"operaGrantPermissions": "Elektu <b><i>Permesi</i></b> kiam via foliumilo petos permesojn.",
|
||||
"react-nativeGrantPermissions": "Elektu <b><i>Permesi</i></b> kiam via foliumilo petos permesojn.",
|
||||
"safariGrantPermissions": "Elektu <b><i>Bone</i></b> kiam via foliumilo petos permesojn."
|
||||
"grantPermissions": "Bonvolu doni la permeson uzi viajn kameraon kaj mikrofonon."
|
||||
},
|
||||
"videoSIPGW": {
|
||||
"busy": "Ni klopodas liberigi rimedojn. Bonvolu reprovi post kelkaj minutoj.",
|
||||
@@ -1260,7 +1388,7 @@
|
||||
"videoStatus": {
|
||||
"adjustFor": "Ĝustigi por:",
|
||||
"audioOnly": "SON",
|
||||
"audioOnlyExpanded": "Vi estas en malalt-trafika reĝimo. En ĉi tiu reĝimo vi ricevos nur sonon kaj kundividatajn ekranojn.",
|
||||
"audioOnlyExpanded": "Vi estas en malalt-trafika reĝimo. En ĉi-tiu reĝimo vi ricevos nur sonon kaj kundividatajn ekranojn.",
|
||||
"bestPerformance": " Plej bona rendimento",
|
||||
"callQuality": "Videa kvalito",
|
||||
"hd": "AD",
|
||||
@@ -1273,9 +1401,11 @@
|
||||
"ldTooltip": "La video estas en malaltkvalita distingivo",
|
||||
"lowDefinition": "Malaltkvalita distingivo",
|
||||
"performanceSettings": "Agordoj de rendimento",
|
||||
"recording": "Registranta",
|
||||
"sd": "ND",
|
||||
"sdTooltip": "La video estas en normalkvalita distingivo",
|
||||
"standardDefinition": "Normalkvalita distingivo"
|
||||
"standardDefinition": "Normalkvalita distingivo",
|
||||
"streaming": "Elsendfluanta"
|
||||
},
|
||||
"videothumbnail": {
|
||||
"connectionInfo": "Informoj pri Konekto",
|
||||
@@ -1287,6 +1417,7 @@
|
||||
"grantModerator": "Donu Rajtojn de Moderatoro",
|
||||
"hideSelfView": "Kaŝi memvidon",
|
||||
"kick": "Forĵeti",
|
||||
"mirrorVideo": "Speguli mian videon",
|
||||
"moderator": "Kunvenestro",
|
||||
"mute": "Partoprenanto silentigita",
|
||||
"muted": "Silentigita",
|
||||
@@ -1296,10 +1427,15 @@
|
||||
"show": "Montri sur scenejo",
|
||||
"showSelfView": "Montri memvidon",
|
||||
"unpinFromStage": "Malalpingli",
|
||||
"verify": "Aprobi partoprenanton",
|
||||
"videoMuted": "Kamera malŝaltita",
|
||||
"videomute": "La partoprenanto malŝaltis la kameraon"
|
||||
},
|
||||
"virtualBackground": {
|
||||
"accessibilityLabel": {
|
||||
"currentBackground": "Nuna fono: {{background}}",
|
||||
"selectBackground": "Elekti fonon"
|
||||
},
|
||||
"addBackground": "Aldoni fonon",
|
||||
"apply": "Apliki",
|
||||
"backgroundEffectError": "Malsukcesis apliki fonan efikon.",
|
||||
@@ -1321,9 +1457,17 @@
|
||||
"title": "Virtualaj fonoj",
|
||||
"uploadedImage": "Alŝutita bildo {{index}}",
|
||||
"webAssemblyWarning": "WebAssembly ne subtenata",
|
||||
"webAssemblyWarningDescription": "WebAssembly malŝaltita aŭ ne subtenata de ĉi tiu retumilo"
|
||||
"webAssemblyWarningDescription": "WebAssembly malŝaltita aŭ ne subtenata de ĉi-tiu retumilo"
|
||||
},
|
||||
"volumeSlider": "",
|
||||
"visitors": {
|
||||
"chatIndicator": "(vizitanto)",
|
||||
"labelTooltip": "Nombro da vizitantoj: {{count}}",
|
||||
"notification": {
|
||||
"description": "Levu la manon por partopreni",
|
||||
"title": "Vi estas vizitanto en la kunveno"
|
||||
}
|
||||
},
|
||||
"volumeSlider": "Laŭteca ŝovilo",
|
||||
"welcomepage": {
|
||||
"accessibilityLabel": {
|
||||
"join": "Tuŝu por aliĝi",
|
||||
@@ -1355,6 +1499,7 @@
|
||||
"microsoftLogo": "Logotipo de Microsoft",
|
||||
"policyLogo": "Logotipo de regularo"
|
||||
},
|
||||
"meetingsAccessibilityLabel": "Kunveno",
|
||||
"mobileDownLoadLinkAndroid": "Elŝutu apon por Android",
|
||||
"mobileDownLoadLinkFDroid": "Elŝutu apon por F-Droid",
|
||||
"mobileDownLoadLinkIos": "Elŝutu apon por iOS",
|
||||
@@ -1363,6 +1508,7 @@
|
||||
"recentList": "Lastaj",
|
||||
"recentListDelete": "Forigi",
|
||||
"recentListEmpty": "Via listo de lastaj kunvenoj estas malplena. Babilu kun via teamo kaj vi trovos ĉi tie ĉiujn viajn lastajn kunvenojn.",
|
||||
"recentMeetings": "Viaj lastatempaj kunvenoj",
|
||||
"reducedUIText": "Bonvenon all {{app}}!",
|
||||
"roomNameAllowedChars": "La nomo de la kunveno ne povas enhavi la jenajn signojn: ?, &, :, ', \", %, #.",
|
||||
"roomname": "Entajpu nomon de ĉambro",
|
||||
@@ -1371,6 +1517,12 @@
|
||||
"settings": "Agordoj",
|
||||
"startMeeting": "Komenci renkontiĝon",
|
||||
"terms": "Uzkondiĉoj",
|
||||
"title": "Sekuraj, multfunkciaj kaj plene senpagaj video-konferencoj"
|
||||
"title": "Sekuraj, multfunkciaj kaj plene senpagaj video-konferencoj",
|
||||
"upcomingMeetings": "Via estontecaj kunveno"
|
||||
},
|
||||
"whiteboard": {
|
||||
"accessibilityLabel": {
|
||||
"heading": "Blanktabulo"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -19,7 +19,7 @@
|
||||
"noResults": "No se encontraron coincidencias",
|
||||
"outlookEmail": "Correo de Outlook",
|
||||
"phoneNumbers": "números de teléfono",
|
||||
"searching": "Buscando...",
|
||||
"searching": "Buscando…",
|
||||
"shareInvite": "Compartir la invitación a la reunión",
|
||||
"shareLink": "Compartir el enlace de la reunion",
|
||||
"shareStream": "Compartir el enlace de la transmisión en vivo",
|
||||
@@ -251,7 +251,7 @@
|
||||
"Share": "Compartir",
|
||||
"Submit": "Enviar",
|
||||
"WaitForHostMsg": "La conferencia aún no ha comenzado. Si eres el anfitrión, inicia sesión. De lo contrario, espera a que llegue el anfitrión.",
|
||||
"WaitingForHostTitle": "Esperando al anfitrión...",
|
||||
"WaitingForHostTitle": "Esperando al anfitrión…",
|
||||
"Yes": "Sí",
|
||||
"accessibilityLabel": {
|
||||
"close": "Cerrar diálogo",
|
||||
@@ -614,10 +614,10 @@
|
||||
"joinRejectedMessage": "Tu solicitud para entrar ha sido rechazada por un moderador.",
|
||||
"joinRejectedTitle": "Solicitud para entrar rechazada.",
|
||||
"joinTitle": "Entrar a la reunión",
|
||||
"joinWithPasswordMessage": "Tratando de entrar con contraseña, por favor espera...",
|
||||
"joinWithPasswordMessage": "Tratando de entrar con contraseña, por favor espera…",
|
||||
"joiningMessage": "Podrás entrar tan pronto te acepten tu solicitud.",
|
||||
"joiningTitle": "Pidiendo entrar a la reunión...",
|
||||
"joiningWithPasswordTitle": "Uniéndose con la contraseña...",
|
||||
"joiningTitle": "Pidiendo entrar a la reunión…",
|
||||
"joiningWithPasswordTitle": "Uniéndose con la contraseña…",
|
||||
"knockButton": "Pedir entrar",
|
||||
"knockTitle": "Alguien quiere entrar a la reunión",
|
||||
"knockingParticipantList": "Participantes que quieren entrar",
|
||||
@@ -704,7 +704,7 @@
|
||||
"linkToSalesforceDescription": "Puedes vincular el resumen de la reunión a un objeto Salesforce",
|
||||
"linkToSalesforceError": "Error al vincular la reunión a Salesforce",
|
||||
"linkToSalesforceKey": "",
|
||||
"linkToSalesforceProgress": "Vinculando reunión a Salesorce...",
|
||||
"linkToSalesforceProgress": "Vinculando reunión a Salesorce…",
|
||||
"linkToSalesforceSuccess": "La reunión fue vinculada a Salesforce",
|
||||
"localRecordingStarted": "{{name}} ha iniciado una grabación local.",
|
||||
"localRecordingStopped": "{{name}} ha detenido una grabación local.",
|
||||
@@ -815,6 +815,9 @@
|
||||
"removeOption": "Eliminar la opción",
|
||||
"send": "Enviar"
|
||||
},
|
||||
"errors": {
|
||||
"notUniqueOption": "Las opciones deben ser únicas"
|
||||
},
|
||||
"notification": {
|
||||
"description": "Abre la pestaña de encuestas para votar",
|
||||
"title": "Se ha añadido una nueva encuesta a esta reunión"
|
||||
@@ -836,7 +839,7 @@
|
||||
"callMe": "Llámame",
|
||||
"callMeAtNumber": "Llamame a este número:",
|
||||
"calling": "Llamando",
|
||||
"configuringDevices": "Configurando dispositivos...",
|
||||
"configuringDevices": "Configurando dispositivos…",
|
||||
"connectedWithAudioQ": "¿Estás está conectado con audio?",
|
||||
"connection": {
|
||||
"good": "¡Su conexión a internet es buena!",
|
||||
@@ -1315,16 +1318,7 @@
|
||||
},
|
||||
"unpinParticipant": "",
|
||||
"userMedia": {
|
||||
"androidGrantPermissions": "Selecciona <b><i>Permitir</i></b> cuando el navegador solicite permisos.",
|
||||
"chromeGrantPermissions": "Selecciona <b><i>Permitir</i></b> cuando el navegador solicite permisos.",
|
||||
"edgeGrantPermissions": "Selecciona <b><i>Sí</i></b> cuando el navegador solicite permisos.",
|
||||
"electronGrantPermissions": "Otorga permisos para usar la cámara y el micrófono",
|
||||
"firefoxGrantPermissions": "Selecciona <b><i>Compartir dispositivo seleccionado</i></b> cuando el navegador solicite permisos.",
|
||||
"iexplorerGrantPermissions": "Selecciona <b><i>Aceptar</i></b> cuando el navegador solicite permisos.",
|
||||
"nwjsGrantPermissions": "Otorga permisos para usar la cámara y el micrófono",
|
||||
"operaGrantPermissions": "Selecciona <b><i>Permitir</i></b> cuando el navegador solicite permisos.",
|
||||
"react-nativeGrantPermissions": "Selecciona <b><i>Permitir</i></b> cuando el navegador solicite permisos.",
|
||||
"safariGrantPermissions": "Selecciona <b><i>Aceptar</i></b> cuando el navegador solicite permisos."
|
||||
"grantPermissions": "Otorga permisos para usar la cámara y el micrófono."
|
||||
},
|
||||
"videoSIPGW": {
|
||||
"busy": "Estamos trabajando para liberar recursos. Vuelve a intentarlo en unos minutos.",
|
||||
@@ -1398,7 +1392,7 @@
|
||||
"image6": "Bosque",
|
||||
"image7": "Amanecer",
|
||||
"none": "Ninguno",
|
||||
"pleaseWait": "Por favor, espera...",
|
||||
"pleaseWait": "Por favor, espera…",
|
||||
"removeBackground": "Eliminar el fondo",
|
||||
"slightBlur": "Desenfoque Ligero",
|
||||
"title": "Fondos virtuales",
|
||||
|
||||
@@ -27,7 +27,7 @@
|
||||
"searchNumbers": "Agregar números telefónicos",
|
||||
"searchPeople": "Buscar personas",
|
||||
"searchPeopleAndNumbers": "Buscar personas o añadir sus números de teléfono",
|
||||
"searching": "Buscando...",
|
||||
"searching": "Buscando…",
|
||||
"shareInvite": "Compartir la invitación a la reunión",
|
||||
"shareLink": "Compartir el link de la reunion",
|
||||
"shareStream": "Compartir el link de la transmición en vivo",
|
||||
@@ -112,7 +112,7 @@
|
||||
"GET_SESSION_ID_ERROR": "Obtener session-id error: {{code}}",
|
||||
"GOT_SESSION_ID": "Obteniendo session-ID… Listo",
|
||||
"LOW_BANDWIDTH": "El video para {{displayName}} ha sido desactivado para ahorrar ancho de banda",
|
||||
"RECONNECTING": "Ocurrió un problema en la red. Reconectando..."
|
||||
"RECONNECTING": "Ocurrió un problema en la red. Reconectando…"
|
||||
},
|
||||
"connectionindicator": {
|
||||
"address": "Dirección:",
|
||||
@@ -195,7 +195,7 @@
|
||||
"Submit": "Enviar",
|
||||
"WaitForHostMsg": "La conferencia aún no ha comenzado. Si eres el anfitrión, inicia sesión. De lo contrario, espera a que llegue el anfitrión.",
|
||||
"WaitingForHost": "Esperando al anfitrión…",
|
||||
"WaitingForHostTitle": "Esperando al anfitrión...",
|
||||
"WaitingForHostTitle": "Esperando al anfitrión…",
|
||||
"Yes": "Sí",
|
||||
"accessibilityLabel": {
|
||||
"liveStreaming": "Transmisión en vivo"
|
||||
@@ -536,10 +536,10 @@
|
||||
"invalidPassword": "Contraseña inválida",
|
||||
"joinRejectedMessage": "Tu solicitud para entrar ha sido rechazada por un moderador.",
|
||||
"joinTitle": "Entrar a la reunión",
|
||||
"joinWithPasswordMessage": "Tratando de entrar con contraseña, por favor espera...",
|
||||
"joinWithPasswordMessage": "Tratando de entrar con contraseña, por favor espera…",
|
||||
"joiningMessage": "Podrás entrar tan pronto te acepten tu solicitud.",
|
||||
"joiningTitle": "Pidiendo entrar a la reunión...",
|
||||
"joiningWithPasswordTitle": "Uniéndose con la contraseña...",
|
||||
"joiningTitle": "Pidiendo entrar a la reunión…",
|
||||
"joiningWithPasswordTitle": "Uniéndose con la contraseña…",
|
||||
"knockButton": "Pedir entrar",
|
||||
"knockTitle": "Alguien quiere entrar a la reunión",
|
||||
"knockingParticipantList": "Participantes que quieren entrar",
|
||||
@@ -691,6 +691,9 @@
|
||||
"removeOption": "Eliminar la opción",
|
||||
"send": "Enviar"
|
||||
},
|
||||
"errors": {
|
||||
"notUniqueOption": "Las opciones deben ser únicas"
|
||||
},
|
||||
"notification": {
|
||||
"description": "Abre la pestaña de encuestas para votar",
|
||||
"title": "Se ha añadido una nueva encuesta a esta reunión"
|
||||
@@ -712,7 +715,7 @@
|
||||
"callMe": "Llámame",
|
||||
"callMeAtNumber": "Llamame a este número:",
|
||||
"calling": "Llamando",
|
||||
"configuringDevices": "Configurando dispositivos...",
|
||||
"configuringDevices": "Configurando dispositivos…",
|
||||
"connectedWithAudioQ": "¿Estás está conectado con audio?",
|
||||
"connection": {
|
||||
"good": "¡Su conexión a internet es buena!",
|
||||
@@ -1072,16 +1075,7 @@
|
||||
"tr": "TR"
|
||||
},
|
||||
"userMedia": {
|
||||
"androidGrantPermissions": "Selecciona <b><i>Permitir</i></b> cuando el navegador solicite permisos.",
|
||||
"chromeGrantPermissions": "Selecciona <b><i>Permitir</i></b> cuando el navegador solicite permisos.",
|
||||
"edgeGrantPermissions": "Selecciona <b><i>Sí</i></b> cuando el navegador solicite permisos.",
|
||||
"electronGrantPermissions": "Otorga permisos para usar la cámara y el micrófono",
|
||||
"firefoxGrantPermissions": "Selecciona <b><i>Compartir dispositivo seleccionado</i></b> cuando el navegador solicite permisos.",
|
||||
"iexplorerGrantPermissions": "Selecciona <b><i>Aceptar</i></b> cuando el navegador solicite permisos.",
|
||||
"nwjsGrantPermissions": "Otorga permisos para usar la cámara y el micrófono",
|
||||
"operaGrantPermissions": "Selecciona <b><i>Permitir</i></b> cuando el navegador solicite permisos.",
|
||||
"react-nativeGrantPermissions": "Selecciona <b><i>Permitir</i></b> cuando el navegador solicite permisos.",
|
||||
"safariGrantPermissions": "Selecciona <b><i>Aceptar</i></b> cuando el navegador solicite permisos."
|
||||
"grantPermissions": "Otorga permisos para usar la cámara y el micrófono."
|
||||
},
|
||||
"videoSIPGW": {
|
||||
"busy": "Estamos trabajando para liberar recursos. Vuelve a intentarlo en unos minutos.",
|
||||
@@ -1144,7 +1138,7 @@
|
||||
"image6": "Bosque",
|
||||
"image7": "Amanecer",
|
||||
"none": "Ninguno",
|
||||
"pleaseWait": "Por favor, espera...",
|
||||
"pleaseWait": "Por favor, espera…",
|
||||
"removeBackground": "Eliminar el fondo",
|
||||
"slightBlur": "Desenfoque Ligero",
|
||||
"title": "Fondos virtuales",
|
||||
|
||||
@@ -467,13 +467,18 @@
|
||||
},
|
||||
"passwordDigitsOnly": "Kuni {{number}} tähemärki",
|
||||
"passwordSetRemotely": "määratud teise kasutaja poolt",
|
||||
"polls": {
|
||||
"errors": {
|
||||
"notUniqueOption": "Valikud peavad olema ainulaadsed"
|
||||
}
|
||||
},
|
||||
"poweredby": "teieni toodud",
|
||||
"presenceStatus": {
|
||||
"busy": "Hõivatud",
|
||||
"calling": "Helistamine…",
|
||||
"connected": "Ühendatud",
|
||||
"connecting": "Ühendamine…",
|
||||
"connecting2": "Ühendamine*...",
|
||||
"connecting2": "Ühendamine*…",
|
||||
"disconnected": "Lahti ühendatud",
|
||||
"expired": "Aegunud",
|
||||
"ignored": "Eiratud",
|
||||
@@ -695,16 +700,7 @@
|
||||
"tr": "TR"
|
||||
},
|
||||
"userMedia": {
|
||||
"androidGrantPermissions": "Vali <b><i>Luba</i></b>, kui veebilehitseja küsib nõusolekut.",
|
||||
"chromeGrantPermissions": "Vali <b><i>Luba</i></b>, kui veebilehitseja küsib nõusolekut.",
|
||||
"edgeGrantPermissions": "Vali <b><i>Jah</i></b>, kui veebilehitseja küsib nõusolekut.",
|
||||
"electronGrantPermissions": "Luba kasutada kaamerat ja mikrofoni",
|
||||
"firefoxGrantPermissions": "Vali <b><i>Jaga valitud vahendit</i></b>, kui veebilehitseja küsib nõusolekut.",
|
||||
"iexplorerGrantPermissions": "Vali <b><i>OK</i></b>, kui veebilehitseja küsib nõusolekut.",
|
||||
"nwjsGrantPermissions": "Luba kasutada kaamerat ja mikrofoni",
|
||||
"operaGrantPermissions": "Vali <b><i>Luba</i></b>, kui veebilehitseja küsib nõusolekut.",
|
||||
"react-nativeGrantPermissions": "Vali <b><i>Luba</i></b>, kui veebilehitseja küsib nõusolekut.",
|
||||
"safariGrantPermissions": "Vali <b><i>OK</i></b>, kui veebilehitseja küsib nõusolekut."
|
||||
"grantPermissions": "Luba kasutada kaamerat ja mikrofoni."
|
||||
},
|
||||
"videoSIPGW": {
|
||||
"busy": "Vabastatakse ressurssi… Proovi mõne minuti pärast uuesti.",
|
||||
|
||||
@@ -20,7 +20,7 @@
|
||||
"noResults": "Ez dago bat datorren bilaketa-emaitzarik",
|
||||
"outlookEmail": "Outlook Email",
|
||||
"phoneNumbers": "telefono zenbakiak",
|
||||
"searching": "Bilatzen...",
|
||||
"searching": "Bilatzen…",
|
||||
"shareInvite": "Partekatu bilerarako gonbidapena",
|
||||
"shareLink": "Partekatu bileraren esteka beste partaide batzuk gonbidatzeko",
|
||||
"shareStream": "Partekatu zuzenekoaren esteka",
|
||||
@@ -182,7 +182,7 @@
|
||||
"Share": "Partekatu",
|
||||
"Submit": "Bidali",
|
||||
"WaitForHostMsg": "Konferentzia oraindik ez da hasi. Ostalaria bazara, autentifikatu. Bestela, itxaron ostalaria iritsi arte.",
|
||||
"WaitingForHostTitle": "Antolatzailearen zain...",
|
||||
"WaitingForHostTitle": "Antolatzailearen zain…",
|
||||
"Yes": "Bai",
|
||||
"accessibilityLabel": {
|
||||
"liveStreaming": "Zuzeneko Erreprodukzioa"
|
||||
@@ -477,10 +477,10 @@
|
||||
"invalidPassword": "Pasahitza ez da zuzena",
|
||||
"joinRejectedMessage": "Sartzeko eskaera ukatu egin du moderatzaile batek",
|
||||
"joinTitle": "Sartu bileran",
|
||||
"joinWithPasswordMessage": "Pasahitz gabe sartzen saiatzen, itxaron mesedez...",
|
||||
"joinWithPasswordMessage": "Pasahitz gabe sartzen saiatzen, itxaron mesedez…",
|
||||
"joiningMessage": "Norbaitek zure eskaera sartu bezain laster sartuko zara bileran",
|
||||
"joiningTitle": "Sartzeko eskatzen...",
|
||||
"joiningWithPasswordTitle": "Pasahitzarekin sartzen...",
|
||||
"joiningTitle": "Sartzeko eskatzen…",
|
||||
"joiningWithPasswordTitle": "Pasahitzarekin sartzen…",
|
||||
"knockButton": "Eskatu sartzea",
|
||||
"knockTitle": "Norbaitek bileran sartu nahi du",
|
||||
"knockingParticipantList": "Zain dauden parte-hartzaileak",
|
||||
@@ -588,6 +588,11 @@
|
||||
},
|
||||
"passwordDigitsOnly": "{{number}} digitu arte",
|
||||
"passwordSetRemotely": "beste parte-hartzaile batek ezarrita",
|
||||
"polls": {
|
||||
"errors": {
|
||||
"notUniqueOption": "Aukerak bakarrak izan behar dira"
|
||||
}
|
||||
},
|
||||
"poweredby": "garatzailea:",
|
||||
"prejoin": {
|
||||
"audioAndVideoError": "Errorea audio eta bideoan:",
|
||||
@@ -597,7 +602,7 @@
|
||||
"callMe": "Deitu nazazu",
|
||||
"callMeAtNumber": "Deitu nazazu zenbaki honetara:",
|
||||
"calling": "Deitzen",
|
||||
"configuringDevices": "Gailuak konfiguratzen...",
|
||||
"configuringDevices": "Gailuak konfiguratzen…",
|
||||
"connectedWithAudioQ": "Audioarekin konektatuta zaude?",
|
||||
"connection": {
|
||||
"good": "Zure internet konexioa ondo dabil!",
|
||||
@@ -908,22 +913,13 @@
|
||||
"failedToStart": "Ezin da transkripzioa hasi",
|
||||
"labelToolTip": "Bilera transkribatzen ari da",
|
||||
"off": "Transkripzioa gelditu da",
|
||||
"pending": "Bileraren transkripzioa prestatzen ...",
|
||||
"pending": "Bileraren transkripzioa prestatzen…",
|
||||
"start": "Erakutsi azpitituluak",
|
||||
"stop": "Utzi azpitituluak erakusten",
|
||||
"tr": "TR"
|
||||
},
|
||||
"userMedia": {
|
||||
"androidGrantPermissions": "Hautatu <b><i>Baimendu</i></b> zure nabigatzaileak baimenak eskatzen dituenean.",
|
||||
"chromeGrantPermissions": "Hautatu <b><i>Baimendu</i></b> zure nabigatzaileak baimenak eskatzen dituenean.",
|
||||
"edgeGrantPermissions": "Hautatu <b><i>Bai</i></b> zure nabigatzaileak baimenak eskatzen dituenean.",
|
||||
"electronGrantPermissions": "Mesedez eman zure kamera eta mikrofonoa erabiltzeko baimenak",
|
||||
"firefoxGrantPermissions": "Hautatu <b><i>Partekatutako hautatutako gailua</i></b> zure nabigatzaileak baimenak eskatzen dituenean.",
|
||||
"iexplorerGrantPermissions": "Hautatu <b><i>Ados</i></b> zure nabigatzaileak baimenak eskatzen dituenean.",
|
||||
"nwjsGrantPermissions": "Mesedez, eman zure kamera eta mikrofonoa erabiltzeko baimenak",
|
||||
"operaGrantPermissions": "Hautatu <b><i>Baimendu</i></b> zure nabigatzaileak baimenak eskatzen dituenean.",
|
||||
"react-nativeGrantPermissions": "Hautatu <b><i>Baimendu</i></b> zure nabigatzaileak baimenak eskatzen dituenean.",
|
||||
"safariGrantPermissions": "Hautatu <b><i>Ados</i></b> zure nabigatzaileak baimenak eskatzen dituenean."
|
||||
"grantPermissions": "Mesedez, eman zure kamera eta mikrofonoa erabiltzeko baimenak."
|
||||
},
|
||||
"videoSIPGW": {
|
||||
"busy": "Baliabideak askatzeko lanetan gabiltza. Mesedez, saiatu berriro minutu batzuk barru.",
|
||||
@@ -983,7 +979,7 @@
|
||||
"image6": "Basoa",
|
||||
"image7": "Egunsentia",
|
||||
"none": "Bat ere ez",
|
||||
"pleaseWait": "Itxaron mesedez...",
|
||||
"pleaseWait": "Itxaron mesedez…",
|
||||
"removeBackground": "Kendu atzeko planoa",
|
||||
"slightBlur": "Lausotze arina",
|
||||
"title": "Atzeko plano birtualak",
|
||||
|
||||
@@ -22,7 +22,7 @@
|
||||
"noResults": "هیچ نتیجهای مطابق با جستجو یافت نشد",
|
||||
"outlookEmail": "رایانامهٔ اوتلوک",
|
||||
"phoneNumbers": "شماره تلفنها",
|
||||
"searching": "درحال جستجو...",
|
||||
"searching": "درحال جستجو…",
|
||||
"shareInvite": "همرسانی دعوتنامهٔ جلسه",
|
||||
"shareLink": "همرسانی پیوند جلسه برای دعوت دیگران",
|
||||
"shareStream": "همرسانی پیوند پخش زنده",
|
||||
@@ -137,7 +137,7 @@
|
||||
"installExtensionText": "برای اتصال به تقویم گوگل و برنامه آفیس 365 افزونه را نصب کنید"
|
||||
},
|
||||
"connectingOverlay": {
|
||||
"joiningRoom": "درحال اتصال شما به جلسه..."
|
||||
"joiningRoom": "درحال اتصال شما به جلسه…"
|
||||
},
|
||||
"connection": {
|
||||
"ATTACHED": "پیوستشده",
|
||||
@@ -149,9 +149,9 @@
|
||||
"DISCONNECTED": "قطع شد",
|
||||
"DISCONNECTING": "درحال قطع اتصال",
|
||||
"ERROR": "خطا",
|
||||
"FETCH_SESSION_ID": "دریافت شناسهٔ جلسه...",
|
||||
"FETCH_SESSION_ID": "دریافت شناسهٔ جلسه…",
|
||||
"GET_SESSION_ID_ERROR": "خطا در دریافت شناسهٔ جلسه: {{code}}",
|
||||
"GOT_SESSION_ID": "دریافت شناسهٔ جلسه... انجام شد",
|
||||
"GOT_SESSION_ID": "دریافت شناسهٔ جلسه… انجام شد",
|
||||
"LOW_BANDWIDTH": "برای صرفهجویی در پهنای باند، ویدیو برای {{displayName}} غیرفعال شد"
|
||||
},
|
||||
"connectionindicator": {
|
||||
@@ -214,8 +214,8 @@
|
||||
"launchWebButton": "استفاده از نسخهٔ وب",
|
||||
"noMobileApp": "برنامه را نصب نکردهاید؟",
|
||||
"termsAndConditions": "با ادامهدادن، با <a href='{{termsAndConditionsLink}}' rel='noopener noreferrer' target='_blank'>شرایط و ضوابط</a> ما موافقت میکنید.",
|
||||
"title": "درحال اجرای جلسهٔ شما در {{app}}...",
|
||||
"titleNew": "درحال اجرای جلسهٔ شما...",
|
||||
"title": "درحال اجرای جلسهٔ شما در {{app}}…",
|
||||
"titleNew": "درحال اجرای جلسهٔ شما…",
|
||||
"tryAgainButton": "با نسخهٔ میزکار دوباره تلاش کنید",
|
||||
"unsupportedBrowser": "به نظر میرسد در حال استفاده از یک مرورگر پشتیبانینشده هستید."
|
||||
},
|
||||
@@ -254,7 +254,7 @@
|
||||
"Share": "همرسانی",
|
||||
"Submit": "ارسال",
|
||||
"WaitForHostMsg": "کنفرانس هنوز شروع نشده است، اگر میزبان هستید وارد شوید، در غیراین صورت تا رسیدن میزبان و شروع جلسه منتظر بمانید.",
|
||||
"WaitingForHostTitle": "در انتظار میزبان ...",
|
||||
"WaitingForHostTitle": "در انتظار میزبان…",
|
||||
"Yes": "بله",
|
||||
"accessibilityLabel": {
|
||||
"Cancel": "لغو (ترککردن پنجرهٔ گفتگو)",
|
||||
@@ -280,9 +280,9 @@
|
||||
"cameraUnknownError": "به دلایلی نامشخص نمیتوان از دوربین استفاده کرد.",
|
||||
"cameraUnsupportedResolutionError": "دوربین شما از وضوح تصویر مورد نیاز پشتیبانی نمیکند.",
|
||||
"close": "بستن",
|
||||
"conferenceDisconnectMsg": "شاید بخواهید اتصال شبکه خود را بررسی کنید. تلاش برای اتصال دوباره در {{seconds}} ثانیه دیگر...",
|
||||
"conferenceDisconnectMsg": "شاید بخواهید اتصال شبکه خود را بررسی کنید. تلاش برای اتصال دوباره در {{seconds}} ثانیه دیگر…",
|
||||
"conferenceDisconnectTitle": "اتصال شما قطع شدهاست.",
|
||||
"conferenceReloadMsg": "ما در حال تلاش برای حل این مشکل هستیم. تلاش برای اتصال دوباره در {{seconds}} ثانیه دیگر...",
|
||||
"conferenceReloadMsg": "ما در حال تلاش برای حل این مشکل هستیم. تلاش برای اتصال دوباره در {{seconds}} ثانیه دیگر…",
|
||||
"conferenceReloadTitle": "متأسفانه مشکلی پیش آمد.",
|
||||
"confirm": "تأیید",
|
||||
"confirmNo": "خیر",
|
||||
@@ -580,7 +580,7 @@
|
||||
"errorLiveStreamNotEnabled": "پخش زنده برای {{email}} فعال نیست. لطفاً پخش زنده را فعال کنید یا وارد یک حساب کاربری با پخش زندهٔ فعال شوید.",
|
||||
"expandedOff": "پخش زنده متوقف شده است",
|
||||
"expandedOn": "این جلسه درحال حاضر در یوتیوب درحال پخش است.",
|
||||
"expandedPending": "پخش زنده در حال شروع است...",
|
||||
"expandedPending": "پخش زنده در حال شروع است…",
|
||||
"failedToStart": "شروع پخش زنده ناموفق بود",
|
||||
"getStreamKeyManually": "ما نتوانستیم هیچ پخش زندهای را دریافت کنیم. کلید پخش زنده خود را بهصورت دستی از یوتیوب دریافت کنید.",
|
||||
"googlePrivacyPolicy": "سیاست محرمانگی گوگل",
|
||||
@@ -592,7 +592,7 @@
|
||||
"offBy": "{{name}} پخش زنده را متوقف کرد",
|
||||
"on": "پخش زنده شروع شد",
|
||||
"onBy": "{{name}} پخش زنده را شروع کرد",
|
||||
"pending": "درحال شروع پخش زنده...",
|
||||
"pending": "درحال شروع پخش زنده…",
|
||||
"serviceName": "خدمت پخش زنده",
|
||||
"sessionAlreadyActive": "این جلسه از قبل درحال ضبط یا پخش زنده است.",
|
||||
"signIn": "ورود با حساب گوگل",
|
||||
@@ -622,10 +622,10 @@
|
||||
"joinRejectedMessage": "درخواست پیوستن شما توسط مدیر جلسه رد شد.",
|
||||
"joinRejectedTitle": "درخواست شما رد شد.",
|
||||
"joinTitle": "پیوستن به جلسه",
|
||||
"joinWithPasswordMessage": "تلاش برای پیوستن به جلسه با گذرواژه؛ شکیبا باشید...",
|
||||
"joinWithPasswordMessage": "تلاش برای پیوستن به جلسه با گذرواژه؛ شکیبا باشید…",
|
||||
"joiningMessage": "به محض پذیرش درخواست شما، به جلسه خواهید پیوست",
|
||||
"joiningTitle": "درخواست برای پیوستن به جلسه...",
|
||||
"joiningWithPasswordTitle": "درحال پیوستن با گذرواژه...",
|
||||
"joiningTitle": "درخواست برای پیوستن به جلسه…",
|
||||
"joiningWithPasswordTitle": "درحال پیوستن با گذرواژه…",
|
||||
"knockButton": "درخواست برای پیوستن",
|
||||
"knockTitle": "یک نفر میخواهد به جلسه بپیوندد",
|
||||
"knockingParticipantList": "فهرست شرکتکنندگان درانتظار",
|
||||
@@ -712,7 +712,7 @@
|
||||
"linkToSalesforceDescription": "شما میتوانید خلاصهٔ جلسه را به یک شیء Salesforce پیوند دهید.",
|
||||
"linkToSalesforceError": "خطا در پیوند جلسه به Salesforce",
|
||||
"linkToSalesforceKey": "پیونددادن این جلسه",
|
||||
"linkToSalesforceProgress": "درحال پیونددادن این جلسه به Salesforce...",
|
||||
"linkToSalesforceProgress": "درحال پیونددادن این جلسه به Salesforce…",
|
||||
"linkToSalesforceSuccess": "این جلسه به Salesforce پیوند داده شد",
|
||||
"localRecordingStarted": "{{name}} یک ضبط محلی را شروع کرده است.",
|
||||
"localRecordingStopped": "{{name}} یک ضبط محلی را متوقف کرده است.",
|
||||
@@ -823,6 +823,9 @@
|
||||
"removeOption": "حذف گزینه",
|
||||
"send": "ارسال"
|
||||
},
|
||||
"errors": {
|
||||
"notUniqueOption": "گزینه ها باید منحصر به فرد باشند"
|
||||
},
|
||||
"notification": {
|
||||
"description": "برای رأیدادن، زبانهٔ نظرسنجیها را باز کنید",
|
||||
"title": "نظرسنجی جدیدی به این جلسه اضافه شد"
|
||||
@@ -844,7 +847,7 @@
|
||||
"callMe": "با من تماس بگیرید",
|
||||
"callMeAtNumber": "با این شماره با من تماس بگیرید:",
|
||||
"calling": "درحال تماس",
|
||||
"configuringDevices": "پیکربندی دستگاهها...",
|
||||
"configuringDevices": "پیکربندی دستگاهها…",
|
||||
"connectedWithAudioQ": "از طریق صدا متصل هستید؟",
|
||||
"connection": {
|
||||
"good": "اتصال اینترنت شما خوب بهنظر میرسد!",
|
||||
@@ -900,17 +903,17 @@
|
||||
},
|
||||
"presenceStatus": {
|
||||
"busy": "مشغول",
|
||||
"calling": "درحال تماسگرفتن...",
|
||||
"calling": "درحال تماسگرفتن…",
|
||||
"connected": "متصلشده",
|
||||
"connecting": "درحال اتصال...",
|
||||
"connecting2": "درحال اتصال*...",
|
||||
"connecting": "درحال اتصال…",
|
||||
"connecting2": "درحال اتصال*…",
|
||||
"disconnected": "قطعشده",
|
||||
"expired": "منقضیشده",
|
||||
"ignored": "نادیدهگرفته",
|
||||
"initializingCall": "درحال آغاز تماس...",
|
||||
"initializingCall": "درحال آغاز تماس…",
|
||||
"invited": "دعوتشده",
|
||||
"rejected": "ردشده",
|
||||
"ringing": "درحال زنگزدن..."
|
||||
"ringing": "درحال زنگزدن…"
|
||||
},
|
||||
"profile": {
|
||||
"avatar": "چِهرَک",
|
||||
@@ -944,7 +947,7 @@
|
||||
"errorFetchingLink": "خطا در واکِشی پیوند ضبط.",
|
||||
"expandedOff": "ضبط متوقف شده است",
|
||||
"expandedOn": "این جلسه هماکنون درحال ضبطشدن است.",
|
||||
"expandedPending": "ضبط درحال شروع است...",
|
||||
"expandedPending": "ضبط درحال شروع است…",
|
||||
"failedToStart": "شروع ضبط ناموفق بود",
|
||||
"fileSharingdescription": "همرسانی پیوند ضبط با شرکتکنندگان جلسه",
|
||||
"highlight": "علامتگذاری",
|
||||
@@ -972,7 +975,7 @@
|
||||
"on": "ضبط جلسه شروع شد",
|
||||
"onBy": "{{name}} ضبط جلسه را شروع کرد",
|
||||
"onlyRecordSelf": "فقط جریانهای صدا و تصویر من را ضبط کن",
|
||||
"pending": "درحال آمادهشدن برای ضبط جلسه...",
|
||||
"pending": "درحال آمادهشدن برای ضبط جلسه…",
|
||||
"rec": "ضبط",
|
||||
"saveLocalRecording": "ذخیرهٔ پروندهٔ ضبط به صورت محلی (آزمایشی)",
|
||||
"serviceDescription": "ضبط شما توسط خدمتِ ضبط ذخیره خواهد شد",
|
||||
@@ -1312,7 +1315,7 @@
|
||||
"failedToStart": "شروع ترانویسی ناموفق بود",
|
||||
"labelToolTip": "جلسه درحال ترانویسی است",
|
||||
"off": "توقف ترانویسی",
|
||||
"pending": "درحال آمادهشدن برای ترانویسی جلسه...",
|
||||
"pending": "درحال آمادهشدن برای ترانویسی جلسه…",
|
||||
"sourceLanguageDesc": "هماکنون زمان جلسه روی <b>{{sourceLanguage}}</b> تنظیم شده است.<br/> میتوانید آن را از اینجا تغییر دهید ",
|
||||
"sourceLanguageHere": "اینجا",
|
||||
"start": "شروع نمایش زیرنویسها",
|
||||
@@ -1323,16 +1326,7 @@
|
||||
},
|
||||
"unpinParticipant": "{{participantName}} - برداشتن سنجاق",
|
||||
"userMedia": {
|
||||
"androidGrantPermissions": "هنگامی که مرورگرتان اجازهٔ دسترسی میخواهد، <b><i>اجازهدادن</i></b> را انتخاب کنید.",
|
||||
"chromeGrantPermissions": "هنگامی که مرورگرتان اجازهٔ دسترسی میخواهد، <b><i>اجازهدادن</i></b> را انتخاب کنید.",
|
||||
"edgeGrantPermissions": "هنگامی که مرورگرتان اجازهٔ دسترسی میخواهد، <b><i>بله</i></b> را انتخاب کنید.",
|
||||
"electronGrantPermissions": "درحال تلاش برای دسترسی به دوربین و میکروفون شما",
|
||||
"firefoxGrantPermissions": "هنگامی که مرورگرتان اجازهٔ دسترسی میخواهد، <b><i>همرسانی دستگاه انتخابشده</i></b> را انتخاب کنید.",
|
||||
"iexplorerGrantPermissions": "هنگامی که مرورگرتان اجازهٔ دسترسی میخواهد، <b><i>تأیید</i></b> را انتخاب کنید.",
|
||||
"nwjsGrantPermissions": "لطفاً اجازهٔ استفاده از دوربین و میکروفون خود را بدهید",
|
||||
"operaGrantPermissions": "هنگامی که مرورگرتان اجازهٔ دسترسی میخواهد، <b><i>اجازهدادن</i></b> را انتخاب کنید.",
|
||||
"react-nativeGrantPermissions": "هنگامی که مرورگرتان اجازهٔ دسترسی میخواهد، <b><i>اجازهدادن</i></b> را انتخاب کنید.",
|
||||
"safariGrantPermissions": "هنگامی که مرورگرتان اجازهٔ دسترسی میخواهد، <b><i>تأیید</i></b> را انتخاب کنید."
|
||||
"grantPermissions": "لطفاً اجازهٔ استفاده از دوربین و میکروفون خود را بدهید."
|
||||
},
|
||||
"videoSIPGW": {
|
||||
"busy": "ما درحال آزادسازی منابع هستیم؛ لطفاً دقایقی دیگر دوباره تلاش کنید.",
|
||||
@@ -1410,7 +1404,7 @@
|
||||
"image6": "جنگل ",
|
||||
"image7": "طلوع خورشید",
|
||||
"none": "هیچیک",
|
||||
"pleaseWait": "لطفاً شکیبا باشید...",
|
||||
"pleaseWait": "لطفاً شکیبا باشید…",
|
||||
"removeBackground": "حذف پسزمینه",
|
||||
"slightBlur": "نیمهتار",
|
||||
"title": "پسزمینههای مجازی",
|
||||
|
||||
@@ -69,7 +69,7 @@
|
||||
"DISCONNECTED": "Ei yhteyttä",
|
||||
"DISCONNECTING": "Yhteyttä katkaistaan",
|
||||
"ERROR": "Virhe",
|
||||
"RECONNECTING": "Tapahtui verkkovirhe. Yhdistetään uudelleen..."
|
||||
"RECONNECTING": "Tapahtui verkkovirhe. Yhdistetään uudelleen…"
|
||||
},
|
||||
"connectionindicator": {
|
||||
"address": "Osoite:",
|
||||
@@ -438,13 +438,18 @@
|
||||
},
|
||||
"passwordDigitsOnly": "",
|
||||
"passwordSetRemotely": "",
|
||||
"polls": {
|
||||
"errors": {
|
||||
"notUniqueOption": "Vaihtoehtojen on oltava ainutlaatuisia"
|
||||
}
|
||||
},
|
||||
"poweredby": "tukija:",
|
||||
"presenceStatus": {
|
||||
"busy": "Varattu",
|
||||
"calling": "Soitetaan…",
|
||||
"connected": "Yhdistetty",
|
||||
"connecting": "Yhdistetään…",
|
||||
"connecting2": "Yhdistetään*...",
|
||||
"connecting2": "Yhdistetään*…",
|
||||
"disconnected": "Ei yhteyttä",
|
||||
"expired": "Vanhentunut",
|
||||
"ignored": "Sivuutettu",
|
||||
@@ -644,16 +649,7 @@
|
||||
"tr": "TR"
|
||||
},
|
||||
"userMedia": {
|
||||
"androidGrantPermissions": "Valitse <b><i>Salli</i></b>, kun selain pyytää käyttöoikeuksia.",
|
||||
"chromeGrantPermissions": "Valitse <b><i>Salli</i></b>, kun selain pyytää käyttöoikeuksia.",
|
||||
"edgeGrantPermissions": "Valitse <b><i>Kyllä</i></b>, kun selain pyytää käyttöoikeuksia.",
|
||||
"electronGrantPermissions": "Myönnä käyttöoikeudet laitteesi kameran ja mikrofonin käyttöön.",
|
||||
"firefoxGrantPermissions": "Valitse <b><i>Jaa havaittu laite</i></b>, kun selain pyytää käyttöoikeuksia.",
|
||||
"iexplorerGrantPermissions": "Valitse <b><i>OK</i></b>, kun selain pyytää käyttöoikeuksia.",
|
||||
"nwjsGrantPermissions": "Myönnä käyttöoikeudet laitteesi kameran ja mikrofonin käyttöön.",
|
||||
"operaGrantPermissions": "Valitse <b><i>Salli</i></b>, kun selain pyytää käyttöoikeuksia.",
|
||||
"react-nativeGrantPermissions": "Valitse <b><i>Salli</i></b>, kun selain pyytää käyttöoikeuksia.",
|
||||
"safariGrantPermissions": "Valitse <b><i>OK</i></b>, kun selain pyytää käyttöoikeuksia."
|
||||
"grantPermissions": "Myönnä käyttöoikeudet laitteesi kameran ja mikrofonin käyttöön."
|
||||
},
|
||||
"videoSIPGW": {
|
||||
"busy": "Yritämme vapauttaa resursseja. Yritä uudelleen muutaman minuutin kuluttua.",
|
||||
|
||||
@@ -1,5 +1,8 @@
|
||||
{
|
||||
"addPeople": {
|
||||
"accessibilityLabel": {
|
||||
"meetingLink": "Lien de la réunion: {{url}}"
|
||||
},
|
||||
"add": "Inviter",
|
||||
"addContacts": "Inviter vos contacts",
|
||||
"contacts": "contacts",
|
||||
@@ -19,7 +22,7 @@
|
||||
"noResults": "Aucun résultat de recherche correspondant",
|
||||
"outlookEmail": "Outlook",
|
||||
"phoneNumbers": "Numéros de téléphone",
|
||||
"searching": "Recherche...",
|
||||
"searching": "Recherche…",
|
||||
"shareInvite": "Partager l'invitation à la réunion",
|
||||
"shareLink": "Partager le lien de la réunion pour inviter d'autres personnes",
|
||||
"shareStream": "Partager le lien de diffusion en direct",
|
||||
@@ -39,6 +42,18 @@
|
||||
"audioOnly": {
|
||||
"audioOnly": "Bande passante faible"
|
||||
},
|
||||
"bandwidthSettings": {
|
||||
"assumedBandwidthBps": "p. ex. 10000000 pour 10 Mbps ",
|
||||
"assumedBandwidthBpsWarning": "Des valeurs élevées peuvent provoquer des problèmes réseaux.",
|
||||
"customValue": "valeur personnalisée",
|
||||
"customValueEffect": "Positionner la valeur actuelle en bps",
|
||||
"leaveEmpty": "Laisser vide",
|
||||
"leaveEmptyEffect": "Autoriser l'utilisation de l'estimation",
|
||||
"possibleValues": "Valeurs possibles",
|
||||
"setAssumedBandwidthBps": "Bande passante estimée",
|
||||
"title": "Réglage de bande passante",
|
||||
"zeroEffect": "Désactiver la vidéo"
|
||||
},
|
||||
"breakoutRooms": {
|
||||
"actions": {
|
||||
"add": "Ajouter salle annexe",
|
||||
@@ -48,19 +63,26 @@
|
||||
"leaveBreakoutRoom": "Quitter la salle annexe",
|
||||
"more": "Plus",
|
||||
"remove": "Supprimer",
|
||||
"rename": "Renommer",
|
||||
"renameBreakoutRoom": "Renommer la salle annexe",
|
||||
"sendToBreakoutRoom": "Envoyer le participant dans:"
|
||||
},
|
||||
"breakoutList": "Liste des salles annexes",
|
||||
"buttonLabel": "Salles annexes",
|
||||
"defaultName": "Salle annexe #{{index}}",
|
||||
"hideParticipantList": "Masquer la liste des participants",
|
||||
"mainRoom": "Salle principale",
|
||||
"notifications": {
|
||||
"joined": "Entrée en salle annexe \"{{name}}\"",
|
||||
"joinedMainRoom": "Retour à la salle principalem",
|
||||
"joinedMainRoom": "Retour à la salle principale",
|
||||
"joinedTitle": "Salles annexes"
|
||||
}
|
||||
},
|
||||
"showParticipantList": "Afficher la liste des participants",
|
||||
"title": "Salles annexes"
|
||||
},
|
||||
"calendarSync": {
|
||||
"addMeetingURL": "Ajouter un lien de conférence",
|
||||
"confirmAddLink": "Voulez-vous ajouter un lien Jitsi à cet événement ?",
|
||||
"confirmAddLink": "Voulez-vous ajouter un lien Jitsi à cet événement?",
|
||||
"error": {
|
||||
"appConfiguration": "L'intégration du calendrier n'est pas correctement configurée.",
|
||||
"generic": "Une erreur s'est produite. Veuillez vérifier les paramètres de votre calendrier ou tenter de l'actualiser.",
|
||||
@@ -106,6 +128,7 @@
|
||||
"privateNotice": "Message privé à {{recipient}}",
|
||||
"sendButton": "Envoyer",
|
||||
"smileysPanel": "Panneaux des Émojis",
|
||||
"systemDisplayName": "Système",
|
||||
"tabs": {
|
||||
"chat": "Chat",
|
||||
"polls": "Sondages"
|
||||
@@ -116,13 +139,13 @@
|
||||
},
|
||||
"chromeExtensionBanner": {
|
||||
"buttonText": "Installer l'extension Chrome",
|
||||
"buttonTextEdge": "Installer l’extension Edge",
|
||||
"buttonTextEdge": "Installer l'extension Edge",
|
||||
"close": "Fermer",
|
||||
"dontShowAgain": "Ne plus me montrer ceci",
|
||||
"dontShowAgain": "Ne plus m'afficher ceci",
|
||||
"installExtensionText": "Installer l'extension pour l'intégration de Google Calendar et Office 365"
|
||||
},
|
||||
"connectingOverlay": {
|
||||
"joiningRoom": "Connexion à la réunion ..."
|
||||
"joiningRoom": "Connexion à la réunion…"
|
||||
},
|
||||
"connection": {
|
||||
"ATTACHED": "Attachée",
|
||||
@@ -134,9 +157,9 @@
|
||||
"DISCONNECTED": "Déconnecté",
|
||||
"DISCONNECTING": "Déconnexion en cours",
|
||||
"ERROR": "Erreur",
|
||||
"FETCH_SESSION_ID": "Obtention d'un identifiant de session ...",
|
||||
"FETCH_SESSION_ID": "Obtention d'un identifiant de session…",
|
||||
"GET_SESSION_ID_ERROR": "Obtenir une erreur d'identifiant de session : {{code}}",
|
||||
"GOT_SESSION_ID": "Obtention d'un identifiant de session ... Terminée",
|
||||
"GOT_SESSION_ID": "Obtention d'un identifiant de session… Terminée",
|
||||
"LOW_BANDWIDTH": "La vidéo de {{displayName}} a été coupée pour économiser de la bande passante"
|
||||
},
|
||||
"connectionindicator": {
|
||||
@@ -149,13 +172,14 @@
|
||||
"connectedTo": "Connecté à :",
|
||||
"e2eeVerified": "E2EE vérifié",
|
||||
"framerate": "Images par seconde :",
|
||||
"less": "Cacher les détails",
|
||||
"less": "Masquer les détails",
|
||||
"localaddress": "Adresse locale :",
|
||||
"localaddress_plural": "Adresses locales :",
|
||||
"localport": "Port local :",
|
||||
"localport_plural": "Ports locaux :",
|
||||
"maxEnabledResolution": "débit max",
|
||||
"more": "Montrer les détails",
|
||||
"more": "Afficher les détails",
|
||||
"no": "non",
|
||||
"packetloss": "Perte de paquets :",
|
||||
"participant_id": "ID du participant:",
|
||||
"quality": {
|
||||
@@ -174,7 +198,8 @@
|
||||
"status": "Connexion :",
|
||||
"transport": "Transport :",
|
||||
"transport_plural": "Transports :",
|
||||
"video_ssrc": "Video SSRC :"
|
||||
"video_ssrc": "Video SSRC :",
|
||||
"yes": "oui"
|
||||
},
|
||||
"dateUtils": {
|
||||
"earlier": "Plus tôt",
|
||||
@@ -195,10 +220,12 @@
|
||||
"joinInBrowser": "Rejoindre depuis le navigateur",
|
||||
"launchMeetingLabel": "Comment voulez-vous rejoindre la réunion ?",
|
||||
"launchWebButton": "Lancer dans le navigateur",
|
||||
"noDesktopApp": "Vous n'avez pas l'application ?",
|
||||
"noMobileApp": "Vous n’avez pas l’application ?",
|
||||
"or": "OU",
|
||||
"termsAndConditions": "En continuant, vous acceptez nos <a href='{{termsAndConditionsLink}}' rel='noopener noreferrer' target='_blank'>conditions générales d’utilisation.</a>",
|
||||
"title": "Lancement de votre réunion dans {{app}} en cours ...",
|
||||
"titleNew": "Lancement de votre réunion ...",
|
||||
"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é."
|
||||
},
|
||||
@@ -237,9 +264,13 @@
|
||||
"Share": "Partager",
|
||||
"Submit": "Soumettre",
|
||||
"WaitForHostMsg": "La conférence n'a pas encore commencé. Si vous en êtes l'hôte, veuillez vous authentifier. Sinon, veuillez attendre son arrivée.",
|
||||
"WaitingForHostTitle": "En attente de l'hôte ...",
|
||||
"WaitForHostNoAuthMsg": "La conférence n'a pas encore commencé car aucun modérateur n'est encore arrivé. Veuillez patienter.",
|
||||
"WaitingForHostButton": "Attendre l'hôte",
|
||||
"WaitingForHostTitle": "En attente de l'hôte…",
|
||||
"Yes": "Oui",
|
||||
"accessibilityLabel": {
|
||||
"Cancel": "Annuler (quiter la popup)",
|
||||
"Ok": "Ok (Sauvegarder et quiter la popup)",
|
||||
"close": "Fermer la popup",
|
||||
"liveStreaming": "Diffusion en direct",
|
||||
"sharingTabs": "Options de partage"
|
||||
@@ -248,6 +279,8 @@
|
||||
"addMeetingNote": "Ajouter une note à cette conférence",
|
||||
"addOptionalNote": "Ajouter une note (optionnel):",
|
||||
"allow": "Autoriser",
|
||||
"allowToggleCameraDialog": "Autorisez-vous {{initiatorName}} à changer votre mode de caméra ?",
|
||||
"allowToggleCameraTitle": "Autoriser-vous le changement de mode de caméra ?",
|
||||
"alreadySharedVideoMsg": "Un autre participant est en train de partager sa vidéo. Cette conférence ne permet de partager qu'une seule vidéo à la fois.",
|
||||
"alreadySharedVideoTitle": "Une seule vidéo partagée est autorisée à la fois",
|
||||
"applicationWindow": "Fenêtre d'application",
|
||||
@@ -261,9 +294,9 @@
|
||||
"cameraUnknownError": "Vous ne pouvez pas utiliser la caméra pour une raison inconnue.",
|
||||
"cameraUnsupportedResolutionError": "Votre appareil ne prend pas en charge la résolution vidéo requise.",
|
||||
"close": "Fermer",
|
||||
"conferenceDisconnectMsg": "Veuillez vérifier votre connexion réseau. Reconnexion dans {{seconds}} sec ...",
|
||||
"conferenceDisconnectMsg": "Veuillez vérifier votre connexion réseau. Reconnexion dans {{seconds}} sec…",
|
||||
"conferenceDisconnectTitle": "Vous avez été déconnecté.",
|
||||
"conferenceReloadMsg": "On essaie d'arranger ça. Reconnexion dans {{seconds}} secondes ...",
|
||||
"conferenceReloadMsg": "On essaie d'arranger ça. Reconnexion dans {{seconds}} secondes…",
|
||||
"conferenceReloadTitle": "Malheureusement, un problème est survenu",
|
||||
"confirm": "Confirmer",
|
||||
"confirmNo": "Non",
|
||||
@@ -274,6 +307,8 @@
|
||||
"contactSupport": "Contacter le support",
|
||||
"copied": "Copié",
|
||||
"copy": "Copier",
|
||||
"demoteParticipantDialog": "Êtes-vous sûr de vouloir déplacer ce participant en visiteur ?",
|
||||
"demoteParticipantTitle": "Déplacer en visiteur",
|
||||
"dismiss": "Rejeter",
|
||||
"displayNameRequired": "Bonjour ! Quel est votre nom ?",
|
||||
"done": "Terminé",
|
||||
@@ -285,11 +320,12 @@
|
||||
"embedMeeting": "Intégrer la réunion",
|
||||
"enterDisplayName": "Merci de saisir votre nom ici",
|
||||
"error": "Erreur",
|
||||
"errorRoomCreationRestriction": "Vous avez essayé de rejoindre trop rapidement, veuillez revenir dans un moment.",
|
||||
"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",
|
||||
"hide": "Masquer",
|
||||
"hideShareAudioHelper": "Ne pas afficher ce dialogue à nouveau",
|
||||
"incorrectPassword": "Nom d'utilisateur ou mot de passe incorrect",
|
||||
"incorrectRoomLockPassword": "Mot de passe incorrect",
|
||||
"internalError": "Oups ! Quelque chose s'est mal passée. L'erreur suivante s'est produite : {{error}}",
|
||||
@@ -308,6 +344,7 @@
|
||||
"lockRoom": "Ajouter un $t(lockRoomPassword) à la réunion ",
|
||||
"lockTitle": "Échec du verrouillage",
|
||||
"login": "Connexion",
|
||||
"loginQuestion": "Voulez-vous vraiment vous connecter et quitter la conférence ?",
|
||||
"logoutQuestion": "Voulez-vous vraiment vous déconnecter et arrêter la conférence ?",
|
||||
"logoutTitle": "Déconnexion",
|
||||
"maxUsersLimitReached": "Le nombre maximal de participants est atteint. Le conférence est complète. Merci de contacter l'organisateur de la réunion ou réessayer plus tard !",
|
||||
@@ -351,8 +388,6 @@
|
||||
"permissionCameraRequiredError": "L'autorisation caméra est nécessaire pour participer aux réunions avec vidéo. Merci de l'accorder dans les paramètres",
|
||||
"permissionErrorTitle": "Permission nécessaire",
|
||||
"permissionMicRequiredError": "L'autorisation microphone est nécessaire pour participer aux réunions avec son. Merci de l'accorder dans les paramètres",
|
||||
"popupError": "Votre navigateur bloque les fenêtres pop-up. Veuillez autoriser les fenêtres pop-up dans les paramètres de votre navigateur.",
|
||||
"popupErrorTitle": "Pop-up bloquée",
|
||||
"readMore": "plus",
|
||||
"recentlyUsedObjects": "Vos objets récemment utilisés",
|
||||
"recording": "Enregistrement",
|
||||
@@ -369,6 +404,8 @@
|
||||
"removePassword": "Supprimer le $t(lockRoomPassword)",
|
||||
"removeSharedVideoMsg": "Voulez-vous vraiment supprimer votre vidéo partagée ?",
|
||||
"removeSharedVideoTitle": "Supprimer la vidéo partagée",
|
||||
"renameBreakoutRoomLabel": "Nom de la salle annexe",
|
||||
"renameBreakoutRoomTitle": "Renommer la salle annexe",
|
||||
"reservationError": "Erreur du système de réservation",
|
||||
"reservationErrorMsg": "Code d'erreur: {{code}}, message: {{msg}}",
|
||||
"retry": "Réessayer",
|
||||
@@ -388,11 +425,13 @@
|
||||
"sendPrivateMessageTitle": "Envoyer en privé ?",
|
||||
"serviceUnavailable": "Service indisponible",
|
||||
"sessTerminated": "Appel terminé",
|
||||
"sessTerminatedReason": "L'appel a été terminé",
|
||||
"sessionRestarted": "L'appel est relancé par la passerelle",
|
||||
"shareAudio": "Continuer",
|
||||
"shareAudioAltText": "Pour partager le contenu voulu, naviguer vers \"Onglet du Navigateur\", sélectionner le contenu, activer le bouton \"partager l’audio\" et enfin cliquer sur le bouton \"partager\"",
|
||||
"shareAudioTitle": "Comment partager le son",
|
||||
"shareAudioWarningD1": "vous devez cesser le partage d'écran avant de partager votre son.",
|
||||
"shareAudioWarningD2": "viys devez partager votre écran à nouveau et cocher l'ootion \"Partager l'audio\".",
|
||||
"shareAudioWarningD2": "vous devez partager votre écran à nouveau et cocher l'option \"Partager l'audio\".",
|
||||
"shareAudioWarningH1": "Si vous voulez partager uniquement de l'audio:",
|
||||
"shareAudioWarningTitle": "Vous devez cesser de partager l'écran avant de partager l'audio",
|
||||
"shareMediaWarningGenericH2": "Si vous voulez partager votre écran et l'audio",
|
||||
@@ -419,12 +458,30 @@
|
||||
"thankYou": "Merci d'avoir utilisé {{appName}} !",
|
||||
"token": "jeton",
|
||||
"tokenAuthFailed": "Désolé, vous n'êtes pas autorisé à rejoindre cette conversation.",
|
||||
"tokenAuthFailedReason": {
|
||||
"audInvalid": "Valeur `aud` invalide. Cela doit être `jitsi`.",
|
||||
"contextNotFound": "L'objet `context` est absent du payload.",
|
||||
"expInvalid": "Valeur `exp` invalide.",
|
||||
"featureInvalid": "Fonctionnalité invalide: {{feature}}, probablement pas encore implémentée.",
|
||||
"featureValueInvalid": "Valeur invalide pour la fonctionnalité: {{feature}}.",
|
||||
"featuresNotFound": "L'objet `feature` est absent du payload.",
|
||||
"headerNotFound": "Header non trouvé.",
|
||||
"issInvalid": "Valeur `iss` invalide. Cela doit être `chat`.",
|
||||
"kidMismatch": "Key ID (kid) ne correspond pas au sub.",
|
||||
"kidNotFound": "Key ID (kid) manquant.",
|
||||
"nbfFuture": "La valeur `nbf` est dans le futur.",
|
||||
"nbfInvalid": "Valeur `nbf` invalide.",
|
||||
"payloadNotFound": "Payload non trouvé",
|
||||
"tokenExpired": "Jeton expiré"
|
||||
},
|
||||
"tokenAuthFailedTitle": "Échec de l'authentification",
|
||||
"tokenAuthFailedWithReasons": "Désolé, vous n’êtes pas autorisé à rejoindre l’appel. La raison possible : {{reason}}.",
|
||||
"tokenAuthUnsupported": "Token URL n'est pas supporté.",
|
||||
"transcribing": "Transcription",
|
||||
"unlockRoom": "Supprimer le $t(lockRoomPassword) de la réunion",
|
||||
"user": "Utilisateur",
|
||||
"userIdentifier": "Identifiant utilisateur",
|
||||
"userPassword": "mot de passe 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. ",
|
||||
@@ -433,6 +490,10 @@
|
||||
"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.",
|
||||
"viewUpgradeOptionsTitle": "Vous avez découvert une capacité premium !",
|
||||
"whiteboardLimitContent": "Désolé, la limite d’utilisateur du tableau blanc a été atteinte.",
|
||||
"whiteboardLimitReference": "Pour plus d’informations merci de visiter",
|
||||
"whiteboardLimitReferenceUrl": "notre site web",
|
||||
"whiteboardLimitTitle": "Utilisation du tableau blanc limitée",
|
||||
"yourEntireScreen": "Votre écran entier"
|
||||
},
|
||||
"documentSharing": {
|
||||
@@ -445,6 +506,9 @@
|
||||
"title": "Intégrer cette réunion"
|
||||
},
|
||||
"feedback": {
|
||||
"accessibilityLabel": {
|
||||
"yourChoice": "Votre choix: {{rating}}"
|
||||
},
|
||||
"average": "Moyen",
|
||||
"bad": "Mauvais",
|
||||
"detailsLabel": "Dites nous en plus à ce sujet.",
|
||||
@@ -501,13 +565,16 @@
|
||||
"noNumbers": "Numéros non trouvés",
|
||||
"noPassword": "Aucun",
|
||||
"noRoom": "Aucune réunion n'a été spécifiée pour l'appel entrant.",
|
||||
"noWhiteboard": "Impossible de charger le tableau blanc.",
|
||||
"numbers": "Numéros d'appel",
|
||||
"password": "$t(lockRoomPasswordUppercase) :",
|
||||
"reachedLimit": "Vous avez atteint la limite de votre abonnement.",
|
||||
"sip": "adresse SIP",
|
||||
"sipAudioOnly": "Adresse SIP en audio uniquement",
|
||||
"title": "Partager",
|
||||
"tooltip": "Partager le lien et les informations de connexion pour cette conférence",
|
||||
"upgradeOptions": "Veuillez vérifier les options de mise à niveau"
|
||||
"upgradeOptions": "Veuillez vérifier les options de mise à niveau",
|
||||
"whiteboardError": "Erreur de chargement du tableau blanc. Veuillez réessayer plus tard."
|
||||
},
|
||||
"inlineDialogFailure": {
|
||||
"msg": "Il y a eu un petit problème.",
|
||||
@@ -544,7 +611,7 @@
|
||||
},
|
||||
"largeVideo": {
|
||||
"screenIsShared": "Vous êtes en train de partager votre écran",
|
||||
"showMeWhatImSharing": "Me montrer ce que je partage"
|
||||
"showMeWhatImSharing": "M'afficher ce que je partage"
|
||||
},
|
||||
"liveStreaming": {
|
||||
"busy": "Nous tentons de libérer des ressources de diffusion. Veuillez réessayez dans quelques minutes.",
|
||||
@@ -558,7 +625,7 @@
|
||||
"errorLiveStreamNotEnabled": "La diffusion en direct n'est pas activée pour {{email}}. Merci de l'activer ou de vous connecter avec un compte où elle est déjà activée.",
|
||||
"expandedOff": "La diffusion en direct a été arrêtée",
|
||||
"expandedOn": "La conférence est en cours de diffusion sur YouTube.",
|
||||
"expandedPending": "La diffusion en direct a commencé ...",
|
||||
"expandedPending": "La diffusion en direct a commencé…",
|
||||
"failedToStart": "La diffusion n'a pas réussi à démarrer",
|
||||
"getStreamKeyManually": "Nous n'avons pas réussi à récupérer un flux de direct. Essayez d'obtenir votre clé de diffusion en direct sur YouTube.",
|
||||
"googlePrivacyPolicy": "Politique de confidentialité de Google",
|
||||
@@ -570,7 +637,7 @@
|
||||
"offBy": "{{name}} a arrêté la diffusion en direct",
|
||||
"on": "En direct",
|
||||
"onBy": "{{name}} a démarré la diffusion en direct",
|
||||
"pending": "Lancement du direct ...",
|
||||
"pending": "Lancement du direct…",
|
||||
"serviceName": "Service de diffusion en direct",
|
||||
"sessionAlreadyActive": "Cette session est déjà en cours d'enregistrement ou de diffusion.",
|
||||
"signIn": "Se connecter avec Google",
|
||||
@@ -600,22 +667,22 @@
|
||||
"joinRejectedMessage": "Votre requête pour rejoindre une réunion a été refusée par un modérateur.",
|
||||
"joinRejectedTitle": "Demande d'accès rejetée.",
|
||||
"joinTitle": "Rejoindre une réunion",
|
||||
"joinWithPasswordMessage": "Tentative de rejoindre avec mot de passe, patientez s'il vous plait ...",
|
||||
"joinWithPasswordMessage": "Tentative de rejoindre avec mot de passe, patientez s'il vous plait…",
|
||||
"joiningMessage": "Vous allez rejoindre une réunion dès que quelqu'un aura accepté votre demande",
|
||||
"joiningTitle": "Demander à rejoindre une réunion ...",
|
||||
"joiningWithPasswordTitle": "Rejoindre avec mot de passe ...",
|
||||
"joiningTitle": "Demander à rejoindre une réunion…",
|
||||
"joiningWithPasswordTitle": "Rejoindre avec mot de passe…",
|
||||
"knockButton": "Demander à rejoindre",
|
||||
"knockTitle": "Quelqu'un souhaite rejoindre la réunion",
|
||||
"knockingParticipantList": "Liste des participants en attente",
|
||||
"lobbyChatStartedNotification": "Un modérateur dialogue en salle d'attente avec {{attendee}}",
|
||||
"lobbyChatStartedTitle": "Un modérateur dialogue en salle d'attente avec vous.",
|
||||
"lobbyClosed": "La salle d'attente a été fermée.",
|
||||
"nameField": "Saisissez votre nom",
|
||||
"notificationLobbyAccessDenied": "{{targetParticipantName}} a été refusé par {{originParticipantName}}",
|
||||
"notificationLobbyAccessGranted": "{{targetParticipantName}} a été accepté par {{originParticipantName}}",
|
||||
"notificationLobbyDisabled": "Le mode salle d'attente a été désactivé par {{originParticipantName}}",
|
||||
"notificationLobbyEnabled": "Le mode salle d'attente a été activé par {{originParticipantName}}",
|
||||
"notificationTitle": "Salle d'attente",
|
||||
"passwordField": "Veuillez saisir le mot de passe de la réunion",
|
||||
"passwordJoinButton": "Rejoindre",
|
||||
"title": "Salle d'attente",
|
||||
"toggleLabel": "Activer la salle d'attente"
|
||||
@@ -648,6 +715,8 @@
|
||||
"sessionToken": "Token de la session",
|
||||
"start": "Démarrer l'enregistrement",
|
||||
"stop": "Arrêter l'enregistrement",
|
||||
"stopping": "Arrêt de l'enregistrement",
|
||||
"wait": "Patienter pendant la sauvegarde de votre enregistrement.",
|
||||
"yes": "Oui"
|
||||
},
|
||||
"lockRoomPassword": "mot de passe",
|
||||
@@ -669,8 +738,13 @@
|
||||
"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.",
|
||||
"dataChannelClosedDescriptionWithAudio": "Le canal de pont est fermé, ce qui peut entraîner des perturbations de l'audio et de la vidéo.",
|
||||
"dataChannelClosedWithAudio": "La qualité de l'audio et de la vidéo peut être altérée",
|
||||
"disabledIframe": "L'intégration Iframe est uniquement destinée à des démos, cet appel se terminera dans {{timeout}} minutes.",
|
||||
"disabledIframeSecondary": "L'intégration Iframe de {{domaine}} est uniquement destinée à des démos, cet appel se terminera dans {{timeout}} minutes.",
|
||||
"disconnected": "déconnecté",
|
||||
"displayNotifications": "Afficher les notifications pour",
|
||||
"dontRemindMe": "Ne pas me le rappeler",
|
||||
"focus": "Focus de conférence",
|
||||
"focusFail": "{{component}} n'est pas disponible - réessayez dans {{ms}} sec",
|
||||
"gifsMenu": "GIPHY",
|
||||
@@ -679,6 +753,7 @@
|
||||
"invitedOneMember": "{{name}} a été invité(e)",
|
||||
"invitedThreePlusMembers": "{{name}} et {{count}} autres ont été invités",
|
||||
"invitedTwoMembers": "{{first}} et {{second}} ont été invités",
|
||||
"joinMeeting": "Rejoindre",
|
||||
"kickParticipant": "{{kicked}} a été expulsé par {{kicker}}",
|
||||
"leftOneMember": "{{name}} a quitté la réunion",
|
||||
"leftThreePlusMembers": "{{name}} et beaucoup d'autres ont quitté la réunion",
|
||||
@@ -687,7 +762,7 @@
|
||||
"linkToSalesforceDescription": "Vous pouvez lier le résumé de la conférence à un objet Salesforce.",
|
||||
"linkToSalesforceError": "Impossible de relier la conférence à Salesforce",
|
||||
"linkToSalesforceKey": "Relier cette conférence",
|
||||
"linkToSalesforceProgress": "Liaison de la conférence à Salesforce...",
|
||||
"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.",
|
||||
@@ -713,7 +788,6 @@
|
||||
"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 d’une source stéréo n’est 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",
|
||||
@@ -737,13 +811,21 @@
|
||||
"startSilentTitle": "Vous avez rejoint sans sortie audio !",
|
||||
"suboptimalBrowserWarning": "Nous craignons que votre expérience de réunion en ligne ne soit pas idéale ici. Nous cherchons des moyens d'améliorer cela, mais d'ici-là, essayez d'utiliser l'un des <a href='{{recommendedBrowserPageLink}}' target='_blank'>navigateurs supportés</a>.",
|
||||
"suboptimalExperienceTitle": "Avertissement du navigateur",
|
||||
"suggestRecordingAction": "Démarrer",
|
||||
"suggestRecordingDescription": "Souhaitez-vous démarrer un enregistrement ?",
|
||||
"suggestRecordingTitle": "Enregistrer cette réunion",
|
||||
"unmute": "Rétablir le son",
|
||||
"videoMutedRemotelyDescription": "Vous pouvez toujours la réactiver.",
|
||||
"videoMutedRemotelyTitle": "Votre caméra a été coupée par {{participantDisplayName}}!",
|
||||
"videoUnmuteBlockedDescription": "Le rétablissement de la vidéo a été bloqué temporairement en raison de limites système.",
|
||||
"videoUnmuteBlockedTitle": "Rétablissement de la caméra bloqué !",
|
||||
"viewLobby": "Voir la salle d'attente",
|
||||
"waitingParticipants": "{{waitingParticipants}} personnes"
|
||||
"viewVisitors": "Voir les visiteurs",
|
||||
"waitingParticipants": "{{waitingParticipants}} personnes",
|
||||
"waitingVisitors": "Visiteurs en attente dans la file : {{waitingVisitors}}",
|
||||
"waitingVisitorsTitle": "La réunion n'est pas encore en direct !",
|
||||
"whiteboardLimitDescription": "Veuillez sauvegarder votre progression, car la limite d’utilisation du tableau blanc sera bientôt atteinte et celui-ci sera fermé.",
|
||||
"whiteboardLimitTitle": "Utiilisation du tableau blanc"
|
||||
},
|
||||
"participantsPane": {
|
||||
"actions": {
|
||||
@@ -754,6 +836,8 @@
|
||||
"askUnmute": "Demander de réactiver le micro",
|
||||
"audioModeration": "Rouvrir leur micro",
|
||||
"blockEveryoneMicCamera": "Bloquer tous les micros et caméras",
|
||||
"breakoutRooms": "Salles annexes",
|
||||
"goLive": "Passer en direct",
|
||||
"invite": "Inviter quelqu'un",
|
||||
"moreModerationActions": "Options de modération supplémentaires",
|
||||
"moreModerationControls": "Options de modération supplémentaires",
|
||||
@@ -771,6 +855,8 @@
|
||||
"headings": {
|
||||
"lobby": "Salle d'attente ({{count}})",
|
||||
"participantsList": "Participants de la réunion ({{count}})",
|
||||
"visitorInQueue": " (en attente {{count}})",
|
||||
"visitorRequests": "(Demande {{count}} )",
|
||||
"visitors": "Visiteurs {{count}}",
|
||||
"waitingLobby": "Dans la salle d'attente ({{count}})"
|
||||
},
|
||||
@@ -783,6 +869,8 @@
|
||||
"pinnedParticipant": "Participant toujours affiché",
|
||||
"polls": {
|
||||
"answer": {
|
||||
"edit": "Modifier",
|
||||
"send": "Envoyer",
|
||||
"skip": "Passer",
|
||||
"submit": "Envoyer"
|
||||
},
|
||||
@@ -796,8 +884,12 @@
|
||||
"pollQuestion": "Question du sondage",
|
||||
"questionPlaceholder": "Poser une question",
|
||||
"removeOption": "Supprimer l'option",
|
||||
"save": "Enregistrer",
|
||||
"send": "Envoyer"
|
||||
},
|
||||
"errors": {
|
||||
"notUniqueOption": "Les options doivent être uniques"
|
||||
},
|
||||
"notification": {
|
||||
"description": "Ouvrez l'onglet des sondages pour voter",
|
||||
"title": "Un nouveau sondage a été ajouté à la réunion"
|
||||
@@ -805,8 +897,8 @@
|
||||
"results": {
|
||||
"changeVote": "Changer le vote",
|
||||
"empty": "Il n'y a pas encore de sondages dans cette réunion. Démarrez un sondage ici !",
|
||||
"hideDetailedResults": "Cacher les détails",
|
||||
"showDetailedResults": "Montrer les détails",
|
||||
"hideDetailedResults": "Masquer les détails",
|
||||
"showDetailedResults": "Afficher les détails",
|
||||
"vote": "Voter"
|
||||
}
|
||||
},
|
||||
@@ -819,7 +911,7 @@
|
||||
"callMe": "Appelez-moi",
|
||||
"callMeAtNumber": "Appelez-moi à ce numéro :",
|
||||
"calling": "Appel",
|
||||
"configuringDevices": "Configuration des appareils ...",
|
||||
"configuringDevices": "Configuration des appareils…",
|
||||
"connectedWithAudioQ": "Êtes-vous connecté avec le microphone ?",
|
||||
"connection": {
|
||||
"good": "Votre connexion Internet est bonne !",
|
||||
@@ -864,26 +956,29 @@
|
||||
"lookGood": "Il semble que votre microphone fonctionne correctement",
|
||||
"or": "ou",
|
||||
"premeeting": "Pré-séance",
|
||||
"proceedAnyway": "Continuer quand même",
|
||||
"recordingWarning": "D'autres participants peuvent enregistrer cet appel",
|
||||
"screenSharingError": "Erreur de partage d'écran:",
|
||||
"showScreen": "Activer l'écran de pré-séance",
|
||||
"startWithPhone": "Commencez avec l'audio du téléphone",
|
||||
"unsafeRoomConsent": "Je comprends les risques et je veux quand même rejoindre cette réunion",
|
||||
"videoOnlyError": "Erreur vidéo:",
|
||||
"videoTrackError": "Impossible de créer une piste vidéo.",
|
||||
"viewAllNumbers": "voir tous les numéros"
|
||||
},
|
||||
"presenceStatus": {
|
||||
"busy": "Occupé",
|
||||
"calling": "Appel ...",
|
||||
"calling": "Appel…",
|
||||
"connected": "Connecté",
|
||||
"connecting": "Connexion en cours ...",
|
||||
"connecting2": "Connexion en cours* ...",
|
||||
"connecting": "Connexion en cours…",
|
||||
"connecting2": "Connexion en cours*…",
|
||||
"disconnected": "Déconnecté",
|
||||
"expired": "Expiré",
|
||||
"ignored": "Ignoré",
|
||||
"initializingCall": "Lancement de l'appel ...",
|
||||
"initializingCall": "Lancement de l'appel…",
|
||||
"invited": "Invité(e)",
|
||||
"rejected": "Rejeté",
|
||||
"ringing": "Appel en cours ..."
|
||||
"ringing": "Appel en cours…"
|
||||
},
|
||||
"profile": {
|
||||
"avatar": "avatar",
|
||||
@@ -917,7 +1012,7 @@
|
||||
"errorFetchingLink": "Erreur de récupération du lien d'enregistrement.",
|
||||
"expandedOff": "L'enregistrement a été arrêté",
|
||||
"expandedOn": "Cette conférence est actuellement en cours d'enregistrement.",
|
||||
"expandedPending": "Démarrage de l'enregistrement ...",
|
||||
"expandedPending": "Démarrage de l'enregistrement…",
|
||||
"failedToStart": "L'enregistrement n'a pas réussi à démarrer",
|
||||
"fileSharingdescription": "Partager l'enregistrement avec les participants de la réunion",
|
||||
"highlight": "Souligner",
|
||||
@@ -929,7 +1024,6 @@
|
||||
"limitNotificationDescriptionNative": "En raison d'une forte demande, votre enregistrement sera limité à {{limit}} min. Pour des enregistrements illimités, essayez <3> {{app}} </3>.",
|
||||
"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 l’enregistrement 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 d’enregistrement",
|
||||
"localRecordingStartWarning": "Assurez-vous d’arrêter l’enregistrement vidéo avant de quitter la réunion afin de pouvoir le sauvegarder.",
|
||||
@@ -945,14 +1039,16 @@
|
||||
"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",
|
||||
"pending": "Préparation de l'enregistrement de la réunion…",
|
||||
"recordAudioAndVideo": "Enregistrer l'audio et la vidéo",
|
||||
"recordTranscription": "Enregistrer la transcription",
|
||||
"saveLocalRecording": "Sauvegarder l’enregistrement 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.",
|
||||
"serviceName": "Service d'enregistrement",
|
||||
"sessionAlreadyActive": "Cette session est déjà en cours d'enregistrement ou de diffusion.",
|
||||
"showAdvancedOptions": "Afficher les options avancées",
|
||||
"signIn": "Se connecter",
|
||||
"signOut": "Se déconnecter",
|
||||
"surfaceError": "Veuillez sélectionner l’onglet courant.",
|
||||
@@ -968,8 +1064,14 @@
|
||||
"security": {
|
||||
"about": "Vous pouvez ajouter un mot de passe à votre réunion. Les participants devront fournir le mot de passe avant de pouvoir rejoindre la réunion.",
|
||||
"aboutReadOnly": "Les modérateurs peuvent ajouter un mot de passe à la réunion. Les participants devront fournir le mot de passe avant de pouvoir rejoindre la réunion.",
|
||||
"insecureRoomNameWarning": "Le nom de la salle est peu sûr. Des participants non désirés peuvent rejoindre votre réunion. Pensez à sécuriser votre réunion en cliquant sur le bouton de sécurité.",
|
||||
"title": "Options de sécurité"
|
||||
"insecureRoomNameWarningNative": "Le nom de la réunion n’est pas sûr. Des participants non voulus pourraient rejoindre cette réunion. {{recommendAction}} En apprendre plus sur la sécurisation des réunions.",
|
||||
"insecureRoomNameWarningWeb": "Le nom de la réunion n’est pas sûr. Des participants non voulus pourraient rejoindre cette réunion. {{recommendAction}} En apprendre plus sur la sécurisation des réunions <a href=\"{{securityUrl}}\" rel=\"security\" target=\"_blank\">here</a>.",
|
||||
"title": "Options de sécurité",
|
||||
"unsafeRoomActions": {
|
||||
"meeting": "Envisagez de sécuriser votre réunion en utilisant le bouton options de sécurité.",
|
||||
"prejoin": "Envisagez d'utiliser un nom plus unique",
|
||||
"welcome": "Envisagez d'utiliser un nom plus unique ou choisissez en un parmi ceux suggérés"
|
||||
}
|
||||
},
|
||||
"settings": {
|
||||
"audio": "Audio",
|
||||
@@ -1002,7 +1104,7 @@
|
||||
"participantKnocking": "un participant en salle d’attente",
|
||||
"participantLeft": "un participant quitte",
|
||||
"playSounds": "Jouer un son quand",
|
||||
"reactions": "il y a une réaction à la réunion",
|
||||
"reactions": "Il y a une réaction à la réunion",
|
||||
"sameAsSystem": "Identique au système ({{label}})",
|
||||
"selectAudioOutput": "Sortie audio",
|
||||
"selectCamera": "Caméra",
|
||||
@@ -1023,6 +1125,7 @@
|
||||
"alertOk": "D'accord",
|
||||
"alertTitle": "Avertissement",
|
||||
"alertURLText": "L'URL du serveur est invalide",
|
||||
"apply": "Appliquer",
|
||||
"buildInfoSection": "Informations de build",
|
||||
"conferenceSection": "Conférence",
|
||||
"disableCallIntegration": "Désactiver l'intégration d'appels native",
|
||||
@@ -1033,12 +1136,14 @@
|
||||
"displayNamePlaceholderText": "Ex : Jean Dupond",
|
||||
"email": "Email",
|
||||
"emailPlaceholderText": "email@example..com",
|
||||
"gavatarMessage": "Si votre email est associé à un compte Gravatar, nous allons l’utiliser pour afficher votre image de profil.",
|
||||
"goTo": "Aller à",
|
||||
"header": "Paramètres",
|
||||
"help": "Aide",
|
||||
"links": "Liens",
|
||||
"privacy": "Confidentialité",
|
||||
"profileSection": "Profil",
|
||||
"sdkVersion": "Version du SDK",
|
||||
"serverURL": "URL du serveur",
|
||||
"showAdvanced": "Afficher les paramètres avancés",
|
||||
"startCarModeInLowBandwidthMode": "Commencer le mode voiture en mode bande passante réduite",
|
||||
@@ -1087,21 +1192,30 @@
|
||||
"toolbar": {
|
||||
"Settings": "Paramètres",
|
||||
"accessibilityLabel": {
|
||||
"Settings": "Afficher / Masquer le menu des paramètres",
|
||||
"Settings": "Ouvrir le menu des paramètres",
|
||||
"audioOnly": "Activer / Désactiver le mode voix uniquement",
|
||||
"audioRoute": "Sélectionner la source audio",
|
||||
"boo": "Hou",
|
||||
"breakoutRoom": "Rejoindre/quitter une salle annexe",
|
||||
"breakoutRooms": "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",
|
||||
"closeChat": "Fermer la discussion instantanée",
|
||||
"closeMoreActions": "Fermer le menu plus d'actions",
|
||||
"closeParticipantsPane": "Fermer le panneau des participants",
|
||||
"collapse": "Plier",
|
||||
"document": "Activer / Désactiver le document partagé",
|
||||
"documentClose": "Fermer le document partagé",
|
||||
"documentOpen": "Ouvrir le document partagé",
|
||||
"download": "Télécharger nos applications",
|
||||
"embedMeeting": "Intégrer la réunion",
|
||||
"endConference": "Terminer la réunion pour tout le monde",
|
||||
"enterFullScreen": "Passer en mode plein écran",
|
||||
"enterTileView": "Passer en vue mosaïque",
|
||||
"exitFullScreen": "Quitter le mode plein écran",
|
||||
"exitTileView": "Quitter la vue mosaïque",
|
||||
"expand": "Développer",
|
||||
"feedback": "Laisser des commentaires",
|
||||
"fullScreen": "Activer / Désactiver le plein écran",
|
||||
@@ -1110,6 +1224,7 @@
|
||||
"hangup": "Quitter la conversation",
|
||||
"heading": "Barre d'outils",
|
||||
"help": "Aide",
|
||||
"hideWhiteboard": "Masquer le tableau blanc",
|
||||
"invite": "Inviter des participants",
|
||||
"kick": "Expulser le participant",
|
||||
"laugh": "Rire",
|
||||
@@ -1119,20 +1234,24 @@
|
||||
"lobbyButton": "Activer / Désactiver le mode salle d'attente",
|
||||
"localRecording": "Activer / Désactiver les contrôles d'enregistrement local",
|
||||
"lockRoom": "Activer / Désactiver le mot de passe de la réunion",
|
||||
"lowerHand": "Baisser la main",
|
||||
"moreActions": "Activer / Désactiver le menu d'actions supplémentaires",
|
||||
"moreActionsMenu": "Menu d'actions supplémentaires",
|
||||
"moreOptions": "Voir plus d'options",
|
||||
"mute": "Activer / Désactiver l'audio",
|
||||
"mute": "Couper votre micro",
|
||||
"muteEveryone": "Couper le micro de tout le monde",
|
||||
"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",
|
||||
"muteGUMPending": "Connection de votre microphone",
|
||||
"noiseSuppression": "Suppression du bruit",
|
||||
"openChat": "Ouvrir le chat",
|
||||
"participants": "Participants",
|
||||
"pip": "Activer / Désactiver le mode Picture in Picture",
|
||||
"privateMessage": "Envoyer un message privé",
|
||||
"profile": "Éditer votre profil",
|
||||
"raiseHand": "Lever la main",
|
||||
"reactions": "Réactions",
|
||||
"reactionsMenu": "Ouvrir / fermer le menu réactions",
|
||||
"recording": "Activer / Désactiver l'enregistrement",
|
||||
"remoteMute": "Couper le micro du participant",
|
||||
@@ -1146,15 +1265,20 @@
|
||||
"sharedvideo": "Démarrer / Arrêter le partage de vidéo",
|
||||
"shortcuts": "Afficher / Masquer les raccourcis",
|
||||
"show": "Afficher en premier plan",
|
||||
"showWhiteboard": "Afficher le tableux blanc",
|
||||
"silence": "Silence",
|
||||
"speakerStats": "Afficher / Cacher les statistiques de parole",
|
||||
"speakerStats": "Afficher / Masquer les statistiques de parole",
|
||||
"stopScreenSharing": "Arrêter le partage d'écran",
|
||||
"stopSharedVideo": "Arrêter la vidéo partagée",
|
||||
"surprised": "Surpris",
|
||||
"tileView": "Activer / Désactiver la vue mosaïque",
|
||||
"toggleCamera": "Changer de caméra",
|
||||
"toggleFilmstrip": "Afficher ou masquer les vignettes vidéo",
|
||||
"unmute": "Activer votre micro",
|
||||
"videoblur": "Activer / désactiver le floutage",
|
||||
"videomute": "Activer / Couper la vidéo",
|
||||
"whiteboard": "Afficher / Cacher le tableau blanc"
|
||||
"videomute": "Couper votre vidéo",
|
||||
"videomuteGUMPending": "Connexion de votre caméra",
|
||||
"videounmute": "Activer votre vidéo"
|
||||
},
|
||||
"addPeople": "Ajouter des personnes à votre appel",
|
||||
"audioOnlyOff": "Désactiver le mode bande passante réduite",
|
||||
@@ -1167,6 +1291,7 @@
|
||||
"chat": "Ouvrir / Fermer le chat",
|
||||
"clap": "Applaudir",
|
||||
"closeChat": "Fermer le chat",
|
||||
"closeParticipantsPane": "Fermer le panneau des participants",
|
||||
"closeReactionsMenu": "Fermer le menu réactions",
|
||||
"disableNoiseSuppression": "Arrêter la suppression du bruit",
|
||||
"disableReactionSounds": "Vous pouvez interdire les réactions sonores à cette réunion",
|
||||
@@ -1185,7 +1310,7 @@
|
||||
"giphy": "Activer/désactiver le menu GIPHY",
|
||||
"hangup": "Quitter",
|
||||
"help": "Aide",
|
||||
"hideWhiteboard": "Cacher le tableau blanc",
|
||||
"hideWhiteboard": "Masquer le tableau blanc",
|
||||
"invite": "Inviter des participants",
|
||||
"joinBreakoutRoom": "Rejoindre salle annexe",
|
||||
"laugh": "Rire",
|
||||
@@ -1203,6 +1328,7 @@
|
||||
"mute": "Muet / Actif",
|
||||
"muteEveryone": "Couper le micro à tout le monde",
|
||||
"muteEveryonesVideo": "Couper la caméra de tout le monde",
|
||||
"muteGUMPending": "Connection de votre microphone",
|
||||
"noAudioSignalDesc": "Si vous n'avez pas délibérément coupé le son des paramètres du système ou du matériel, envisagez de changer de périphérique utilisé.",
|
||||
"noAudioSignalDescSuggestion": "Si vous n'avez pas délibérément coupé le son des paramètres du système ou du matériel, pensez à utiliser le périphérique suivant :",
|
||||
"noAudioSignalDialInDesc": "Vous pouvez également appeler en utilisant :",
|
||||
@@ -1225,6 +1351,7 @@
|
||||
"reactionLike": "Envoyer réaction approuver",
|
||||
"reactionSilence": "Envoyer réaction silence",
|
||||
"reactionSurprised": "Envoyer réaction surprise",
|
||||
"reactions": "Reactions",
|
||||
"security": "Options de sécurité",
|
||||
"selectBackground": "Sélectionner un arrière-plan",
|
||||
"shareRoom": "Inviter quelqu'un",
|
||||
@@ -1244,17 +1371,17 @@
|
||||
"talkWhileMutedPopup": "Vous voulez parler ? Votre micro est coupé.",
|
||||
"tileViewToggle": "Activer / Désactiver la vue mosaïque",
|
||||
"toggleCamera": "Changer de caméra",
|
||||
"unmute": "Rétablir le son",
|
||||
"videoSettings": "Paramètres vidéo",
|
||||
"videomute": "Démarrer / Arrêter la caméra"
|
||||
"videomute": "Arrêter la caméra",
|
||||
"videomuteGUMPending": "Connexion de votre caméra",
|
||||
"videounmute": "Démarrer la caméra"
|
||||
},
|
||||
"transcribing": {
|
||||
"ccButtonTooltip": "Activer / Désactiver les sous-titres",
|
||||
"error": "Échec de la transcription. Veuillez réessayer.",
|
||||
"expandedLabel": "La transcription est actuellement activée",
|
||||
"failedToStart": "Échec de démarrage de la transcription",
|
||||
"labelToolTip": "La transcription de la réunion est en cours",
|
||||
"off": "La transcription désactivée",
|
||||
"pending": "Préparation de la transcription de la réunion ...",
|
||||
"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",
|
||||
@@ -1265,16 +1392,7 @@
|
||||
},
|
||||
"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.",
|
||||
"edgeGrantPermissions": "Sélectionnez <b><i>Oui</i></b> quand le navigateur demande votre autorisation.",
|
||||
"electronGrantPermissions": "Veuillez autoriser le partage de votre camera et microphone.",
|
||||
"firefoxGrantPermissions": "Sélectionnez <b><i>Partager le périphérique sélectionné</i></b> lorsque votre navigateur demande votre autorisation.",
|
||||
"iexplorerGrantPermissions": "Sélectionnez <b><i>OK</i></b> quand le navigateur demande votre autorisation.",
|
||||
"nwjsGrantPermissions": "Veuillez autoriser le partage de votre camera et microphone.",
|
||||
"operaGrantPermissions": "Sélectionnez <b><i>Autoriser</i></b> lorsque votre navigateur demande votre autorisation.",
|
||||
"react-nativeGrantPermissions": "Sélectionnez <b><i>Autoriser</i></b> lorsque votre navigateur demande votre autorisation.",
|
||||
"safariGrantPermissions": "Sélectionnez <b><i>OK</i></b> quand le navigateur demande votre autorisation."
|
||||
"grantPermissions": "Veuillez autoriser le partage de votre camera et microphone."
|
||||
},
|
||||
"videoSIPGW": {
|
||||
"busy": "Nous tentons de libérer les ressources requises. Veuillez réessayez dans quelques minutes.",
|
||||
@@ -1310,13 +1428,14 @@
|
||||
},
|
||||
"videothumbnail": {
|
||||
"connectionInfo": "Informations de la connexion",
|
||||
"demote": "Déplacer en visiteur",
|
||||
"domute": "Couper le micro",
|
||||
"domuteOthers": "Couper le micro de tous les autres",
|
||||
"domuteVideo": "Couper la caméra",
|
||||
"domuteVideoOfOthers": "Couper la caméra des autres",
|
||||
"flip": "Miroir",
|
||||
"grantModerator": "Donner des droits de modérateur",
|
||||
"hideSelfView": "Cacher l'affichage de votre propre vidéo",
|
||||
"hideSelfView": "Masquer l'affichage de votre propre vidéo",
|
||||
"kick": "Exclure",
|
||||
"mirrorVideo": "Inverser ma vidéo",
|
||||
"moderator": "Modérateur",
|
||||
@@ -1326,13 +1445,17 @@
|
||||
"remoteControl": "Démarrer / Arrêter le contrôle à distance",
|
||||
"screenSharing": "Cette personne partage son écran",
|
||||
"show": "Afficher en premier plan",
|
||||
"showSelfView": "Montrer votre propre vidéo",
|
||||
"showSelfView": "Afficher 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"
|
||||
},
|
||||
"virtualBackground": {
|
||||
"accessibilityLabel": {
|
||||
"currentBackground": "Arrière-plan actuel: {{background}}",
|
||||
"selectBackground": "Sélectionner un arrière-plan"
|
||||
},
|
||||
"addBackground": "Ajouter un arrière-plan",
|
||||
"apply": "Appliquer",
|
||||
"backgroundEffectError": "Erreur dans l'application de l'effet d'arrière-plan.",
|
||||
@@ -1348,7 +1471,7 @@
|
||||
"image6": "Forêt ",
|
||||
"image7": "Lever de soleil",
|
||||
"none": "Rien",
|
||||
"pleaseWait": "Veuillez patienter...",
|
||||
"pleaseWait": "Veuillez patienter…",
|
||||
"removeBackground": "Supprimer l'arrière-plan",
|
||||
"slightBlur": "Léger flou",
|
||||
"title": "Arrière-plan virtuel",
|
||||
@@ -1356,7 +1479,20 @@
|
||||
"webAssemblyWarning": "WebAssembly non supporté",
|
||||
"webAssemblyWarningDescription": "WebAssembly invalidé ou non supporté par ce navigateur"
|
||||
},
|
||||
"visitorsLabel": "Nombre de visiteurs: {{count}}",
|
||||
"visitors": {
|
||||
"chatIndicator": "(visiteur)",
|
||||
"labelTooltip": "Nombre de Visiteurs",
|
||||
"notification": {
|
||||
"demoteDescription": "Envoyé ici par {{actor}}, levez la main pour participer",
|
||||
"description": "Pour participer lever la main.",
|
||||
"noMainParticipantsDescription": "Un participant doit démarrer la réunion. Veuillez réessayer dans un moment.",
|
||||
"noMainParticipantsTitle": "Cette réunion n'a pas encore commencé.",
|
||||
"noVisitorLobby": "Vous ne pouvez pas rejoindre tant qu'une salle d'attente est activée pour la réunion.",
|
||||
"notAllowedPromotion": "Un participant doit d'abord autoriser votre demande.",
|
||||
"title": "Vous êtes visiteur dans cette réunion"
|
||||
},
|
||||
"waitingMessage": "Vous rejoindrez la réunion dès qu'elle sera en direct !"
|
||||
},
|
||||
"volumeSlider": "Curseur de volume",
|
||||
"welcomepage": {
|
||||
"accessibilityLabel": {
|
||||
@@ -1413,6 +1549,7 @@
|
||||
"whiteboard": {
|
||||
"accessibilityLabel": {
|
||||
"heading": "Tableau blanc"
|
||||
}
|
||||
},
|
||||
"screenTitle": "Tableau blanc"
|
||||
}
|
||||
}
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -80,7 +80,7 @@
|
||||
"DISCONNECTED": "Desconectado",
|
||||
"DISCONNECTING": "Desconectando",
|
||||
"ERROR": "Erro",
|
||||
"RECONNECTING": "Produciuse un problema na rede. Reconectando..."
|
||||
"RECONNECTING": "Produciuse un problema na rede. Reconectando…"
|
||||
},
|
||||
"connectionindicator": {
|
||||
"address": "Enderezo:",
|
||||
@@ -454,13 +454,18 @@
|
||||
},
|
||||
"passwordDigitsOnly": "Ata {{number}} díxitos",
|
||||
"passwordSetRemotely": "estabelecida por outro participante",
|
||||
"polls": {
|
||||
"errors": {
|
||||
"notUniqueOption": "As opcións deben ser únicas"
|
||||
}
|
||||
},
|
||||
"poweredby": "fornecido por",
|
||||
"presenceStatus": {
|
||||
"busy": "Ocupado",
|
||||
"calling": "Chamando…",
|
||||
"connected": "Conectado",
|
||||
"connecting": "Conectando…",
|
||||
"connecting2": "Conectando*...",
|
||||
"connecting2": "Conectando*…",
|
||||
"disconnected": "Desconectado",
|
||||
"expired": "Expirou",
|
||||
"ignored": "Ignorado",
|
||||
@@ -676,16 +681,7 @@
|
||||
"tr": "TR"
|
||||
},
|
||||
"userMedia": {
|
||||
"androidGrantPermissions": "Seleccionar <b><i>Permitir</i></b> cando o seu navegador pida permisos.",
|
||||
"chromeGrantPermissions": "Seleccionar <b><i>Permitir</i></b> cando o seu navegador pida permisos.",
|
||||
"edgeGrantPermissions": "Seleccionar <b><i>Si</i></b> cando o seu navegador pida permisos.",
|
||||
"electronGrantPermissions": "Conceda permisos para utilizar a súa cámara e micrófono",
|
||||
"firefoxGrantPermissions": "Seleccionar <b><i>Compartir o dispositivo seleccionado</i></b> cando o navegador pida permisos.",
|
||||
"iexplorerGrantPermissions": "Seleccionar <b><i>Aceptar</i></b> cando o seu navegador lle pida permisos. ",
|
||||
"nwjsGrantPermissions": "Conceda permisos para utilizar a súa cámara e micrófono",
|
||||
"operaGrantPermissions": "Seleccionar <b><i>Permitir</i></b> cando o seu navegador pida permisos.",
|
||||
"react-nativeGrantPermissions": "Seleccionar <b><i>Permitir</i></b> cando o seu navegador pida permisos.",
|
||||
"safariGrantPermissions": "Seleccionar <b><i>Aceptar</i></b> cando o seu navegador lle pida permisos. "
|
||||
"grantPermissions": "Conceda permisos para utilizar a súa cámara e micrófono."
|
||||
},
|
||||
"videoSIPGW": {
|
||||
"busy": "Estamos liberando recursos. Ténteo de novo nuns minutos.",
|
||||
|
||||
@@ -9,7 +9,7 @@
|
||||
"loading": "מחפש אנשים ומספרי טלפון",
|
||||
"loadingNumber": "מאמת מספר טלפון",
|
||||
"loadingPeople": "מחפש אנשים להזמין",
|
||||
"noResults": "לא נמצאו תואצות מתאימות",
|
||||
"noResults": "לא נמצאו תוצאות מתאימות",
|
||||
"noValidNumbers": "אנא הזן מסםר טלפון",
|
||||
"searchNumbers": "הוסף מספר טלפון",
|
||||
"searchPeople": "חפש אנשים",
|
||||
@@ -47,7 +47,7 @@
|
||||
},
|
||||
"chat": {
|
||||
"error": "שגיאה: ההודעה שלך \"{{originalText}}\" לא נשלחה. סיבה: {{error}}",
|
||||
"fieldPlaceHolder": "הקלד הודעתך כאו",
|
||||
"fieldPlaceHolder": "הקלד הודעתך כאן",
|
||||
"messageTo": "הודעה פרטית אל {{recipient}}",
|
||||
"messagebox": "הקלד הודעה",
|
||||
"nickname": {
|
||||
@@ -68,7 +68,7 @@
|
||||
"installExtensionText": "התקן את התוסף לשילוב Google Calendar ו-Office 365"
|
||||
},
|
||||
"connectingOverlay": {
|
||||
"joiningRoom": "מחבר אותך למפגש שלך..."
|
||||
"joiningRoom": "מחבר אותך למפגש שלך…"
|
||||
},
|
||||
"connection": {
|
||||
"ATTACHED": "צרופה",
|
||||
@@ -80,9 +80,9 @@
|
||||
"DISCONNECTED": "לא מחובר",
|
||||
"DISCONNECTING": "מתנתק",
|
||||
"ERROR": "שגיאה",
|
||||
"FETCH_SESSION_ID": "השגת מזהה הפעלה...",
|
||||
"FETCH_SESSION_ID": "השגת מזהה הפעלה…",
|
||||
"GET_SESSION_ID_ERROR": "התקבלה שגיאה מזהה הפעלה: {{code}}",
|
||||
"GOT_SESSION_ID": "השגת מזהה הפעלה... בוצע",
|
||||
"GOT_SESSION_ID": "השגת מזהה הפעלה… בוצע",
|
||||
"LOW_BANDWIDTH": "הווידאו עבור {{displayName}} כבה כדי לשמור על רוחב הפס"
|
||||
},
|
||||
"connectionindicator": {
|
||||
@@ -127,7 +127,7 @@
|
||||
"downloadApp": "הורד את היישום",
|
||||
"launchWebButton": "הפעל ברשת",
|
||||
"openApp": "מתחבר ליישום",
|
||||
"title": "מפעיל את הפגישה שלך ב{{app}}...",
|
||||
"title": "מפעיל את הפגישה שלך ב{{app}}…",
|
||||
"tryAgainButton": "נסה שוב במחשב"
|
||||
},
|
||||
"defaultLink": "למשל {{url}}",
|
||||
@@ -156,7 +156,7 @@
|
||||
"Share": "שתף",
|
||||
"Submit": "שלח",
|
||||
"WaitForHostMsg": "הועידה טרם החלה. אם אתה המארח אז בצע אימות. אחרת, אנא המתן שהמארח יגיע.",
|
||||
"WaitingForHost": "ממתין למארח ...",
|
||||
"WaitingForHost": "ממתין למארח…",
|
||||
"Yes": "כן",
|
||||
"accessibilityLabel": {
|
||||
"liveStreaming": "שידור חי"
|
||||
@@ -173,9 +173,9 @@
|
||||
"cameraUnknownError": "לא ניתן להשתמש במצלמה מסיבה לא ידועה.",
|
||||
"cameraUnsupportedResolutionError": "המצלמה שלך אינה תומכת ברזולוציית וידאו הנדרשת.",
|
||||
"close": "סגור",
|
||||
"conferenceDisconnectMsg": "יתכן שתרצה לבדוק את חיבור הרשת שלך, מתחבר מחדש בעוד {{seconds}} שניות...",
|
||||
"conferenceDisconnectMsg": "יתכן שתרצה לבדוק את חיבור הרשת שלך, מתחבר מחדש בעוד {{seconds}} שניות…",
|
||||
"conferenceDisconnectTitle": "נותקת.",
|
||||
"conferenceReloadMsg": "אנו מנסים לתקן זאת, מתחבר מחדש בעוד {{seconds}} שניות...",
|
||||
"conferenceReloadMsg": "אנו מנסים לתקן זאת, מתחבר מחדש בעוד {{seconds}} שניות…",
|
||||
"conferenceReloadTitle": "לצערנו משהו השתבש.",
|
||||
"confirm": "אשר",
|
||||
"confirmNo": "לא",
|
||||
@@ -383,7 +383,7 @@
|
||||
"errorLiveStreamNotEnabled": "הזרמה בשידור חי אינו מופעל ב-{{email}}. אנא אפשר הזרמה בשידור חי או היכנס לחשבון עם שידור חי מופעל",
|
||||
"expandedOff": "השידור החי פסק",
|
||||
"expandedOn": "המפגש הזה מוזרם כעת ליוטיוב.",
|
||||
"expandedPending": "השידור החי עומד להתחיל...",
|
||||
"expandedPending": "השידור החי עומד להתחיל…",
|
||||
"failedToStart": "ההפעלה של השידור החי כשלה",
|
||||
"getStreamKeyManually": "לא הצלחנו להשיג הזרמה של שידור חי, נסה להשיג את מפתח שידור החי מיוטיוב.",
|
||||
"googlePrivacyPolicy": "מדיניות הפרטיות של גוגל",
|
||||
@@ -392,7 +392,7 @@
|
||||
"offBy": "{{name}} הפסיק את השידור החי",
|
||||
"on": "שידור חי",
|
||||
"onBy": "{{name}} הפעיל את השידור החי",
|
||||
"pending": "מתחיל שידור חי...",
|
||||
"pending": "מתחיל שידור חי…",
|
||||
"serviceName": "שירותי שידור חי",
|
||||
"signIn": "התחבר באמצעות גוגל",
|
||||
"signInCTA": "התחבר או הזן מפתח שידור חי מיוטיוב.",
|
||||
@@ -442,7 +442,7 @@
|
||||
"me": "אני",
|
||||
"notify": {
|
||||
"OldElectronAPPTitle": "פגיעות אבטחה!",
|
||||
"connectedOneMember": "{{name}} הצטרף למפדש",
|
||||
"connectedOneMember": "{{name}} הצטרף למפגש",
|
||||
"connectedThreePlusMembers": "{{name}} ו-{{count}} אחרים הצטרפו למפגש",
|
||||
"connectedTwoMembers": "{{first}} ו-{{second}} הצטרפו למפגש",
|
||||
"disconnected": "מנותק",
|
||||
@@ -471,26 +471,31 @@
|
||||
"somebody": "מישהו",
|
||||
"startSilentDescription": "הצטרף שוב לפגישה כדי לאפשר שמע",
|
||||
"startSilentTitle": "הצטרפת ללא פלט שמע!",
|
||||
"suboptimalExperienceDescription": "אופ... אנו חוששים שהחוויה שלך עם {{appName}} לא תהיה נהדרת כאן. אנו מחפשים דרכים לשפר זאת, אך עד אז, נסה להשתמש באחד מה<a href='{{recommendedBrowserPageLink}}' target='_blank'>דפדפנים הנתמכים לחלוטין</a>.",
|
||||
"suboptimalExperienceDescription": "אופ… אנו חוששים שהחוויה שלך עם {{appName}} לא תהיה נהדרת כאן. אנו מחפשים דרכים לשפר זאת, אך עד אז, נסה להשתמש באחד מה<a href='{{recommendedBrowserPageLink}}' target='_blank'>דפדפנים הנתמכים לחלוטין</a>.",
|
||||
"suboptimalExperienceTitle": "אזהרת דפדפן",
|
||||
"unmute": "בטל השתקה"
|
||||
},
|
||||
"passwordDigitsOnly": "עד {{number}} ספרות",
|
||||
"passwordSetRemotely": "נקבע על ידי חבר אחר",
|
||||
"polls": {
|
||||
"errors": {
|
||||
"notUniqueOption": "האפשרויות חייבות להיות ייחודיות"
|
||||
}
|
||||
},
|
||||
"poweredby": "מופעל על ידי",
|
||||
"presenceStatus": {
|
||||
"busy": "עסוק",
|
||||
"calling": "מחייג...",
|
||||
"calling": "מחייג…",
|
||||
"connected": "מחובר",
|
||||
"connecting": "מתחבר...",
|
||||
"connecting2": "מתחבר*...",
|
||||
"connecting": "מתחבר…",
|
||||
"connecting2": "מתחבר*…",
|
||||
"disconnected": "מנותק",
|
||||
"expired": "פג תוקף",
|
||||
"ignored": "התעלמו",
|
||||
"initializingCall": "מאתחל שיחה...",
|
||||
"initializingCall": "מאתחל שיחה…",
|
||||
"invited": "הוזמנו",
|
||||
"rejected": "דחו",
|
||||
"ringing": "מצלצל..."
|
||||
"ringing": "מצלצל…"
|
||||
},
|
||||
"profile": {
|
||||
"setDisplayNameLabel": "הגדר שם תצוגה",
|
||||
@@ -508,7 +513,7 @@
|
||||
"error": "ההקלטה כשלה. אנא נסה שוב.",
|
||||
"expandedOff": "ההקלטה הופסקה",
|
||||
"expandedOn": "הפגישה מתועדת כעת.",
|
||||
"expandedPending": "ההקלטה עומדת להתחיל...",
|
||||
"expandedPending": "ההקלטה עומדת להתחיל…",
|
||||
"failedToStart": "התחלת הקלטה כשלה",
|
||||
"fileSharingdescription": "שתף את ההקלטה עם משתתפי הפגישה",
|
||||
"live": "חי",
|
||||
@@ -517,7 +522,7 @@
|
||||
"offBy": "{{name}} עצר את ההקלטה",
|
||||
"on": "מקליט",
|
||||
"onBy": "{{name}} הפעיל את ההקלטה",
|
||||
"pending": "מתכונן להקליט את הפגישה...",
|
||||
"pending": "מתכונן להקליט את הפגישה…",
|
||||
"rec": "מקליט",
|
||||
"serviceDescription": "ההקלטה שלך תישמר על ידי שירותי ההקלטה",
|
||||
"serviceName": "שירותי הקלטה",
|
||||
@@ -702,22 +707,13 @@
|
||||
"failedToStart": "הפעלת תמלול כשלה",
|
||||
"labelToolTip": "הפגישה מתומללת",
|
||||
"off": "התמלול פסק",
|
||||
"pending": "מתכונן לתמלול הפגישה...",
|
||||
"pending": "מתכונן לתמלול הפגישה…",
|
||||
"start": "התחל הצגת כתוביות",
|
||||
"stop": "עצור הצגת כתוביות",
|
||||
"tr": "TR"
|
||||
},
|
||||
"userMedia": {
|
||||
"androidGrantPermissions": "בחר <b><i>אשר</i></b> כאשר הדפדפן שלך מבקש הרשאות.",
|
||||
"chromeGrantPermissions": "בחר <b><i>אשר</i></b> כאשר הדפדפן שלך מבקש הרשאות.",
|
||||
"edgeGrantPermissions": "בחר <b><i>כן</i></b> כאשר הדפדפן שלך מבקש הרשאות.",
|
||||
"electronGrantPermissions": "אנא הענק הרשאות להשתמש במצלמה ובמיקרופון שלך",
|
||||
"firefoxGrantPermissions": "בחר <b><i>שתף התקן נבחר</i></b> כאשר הדפדפן שלך מבקש הרשאות.",
|
||||
"iexplorerGrantPermissions": "בחר <b><i>אישור</i></b> כאשר הדפדפן שלך מבקש הרשאות.",
|
||||
"nwjsGrantPermissions": "אנא הענק הרשאות להשתמש במצלמה ובמיקרופון שלך",
|
||||
"operaGrantPermissions": "בחר <b><i>אשר</i></b> כאשר הדפדפן שלך מבקש הרשאות.",
|
||||
"react-nativeGrantPermissions": "בחר <b><i>אשר</i></b> כאשר הדפדפן שלך מבקש הרשאות.",
|
||||
"safariGrantPermissions": "בחר <b><i>אישור</i></b> כאשר הדפדפן שלך מבקש הרשאות."
|
||||
"grantPermissions": "אנא הענק הרשאות להשתמש במצלמה ובמיקרופון שלך."
|
||||
},
|
||||
"videoSIPGW": {
|
||||
"busy": "אנו עובדים על שחרור משאבים. אנא נסה שוב בעוד מספר דקות.",
|
||||
|
||||
@@ -85,7 +85,7 @@
|
||||
"installExtensionText": ",गूगल कैलेंडर और ऑफिस 365 एकीकरण के लिए एक्सटेंशन इंस्टॉल करें"
|
||||
},
|
||||
"connectingOverlay": {
|
||||
"joiningRoom": "आपको आपकी मीटिंग से कनेक्ट किया जा रहा है ..."
|
||||
"joiningRoom": "आपको आपकी मीटिंग से कनेक्ट किया जा रहा है…"
|
||||
},
|
||||
"connection": {
|
||||
"ATTACHED": "संलग्न",
|
||||
@@ -97,9 +97,9 @@
|
||||
"DISCONNECTED": "संपर्क विफ़ल ",
|
||||
"DISCONNECTING": "संपर्क हटाया जा रहा ",
|
||||
"ERROR": "त्रुटि",
|
||||
"FETCH_SESSION_ID": "सत्र-आईडी प्राप्त की जा रही हैं ...",
|
||||
"FETCH_SESSION_ID": "सत्र-आईडी प्राप्त की जा रही हैं …",
|
||||
"GET_SESSION_ID_ERROR": "सत्र-आईडी त्रुटि प्राप्त करें: {{code}}",
|
||||
"GOT_SESSION_ID": "सत्र-आईडी प्राप्त की जा रही हैं... पूर्ण",
|
||||
"GOT_SESSION_ID": "सत्र-आईडी प्राप्त की जा रही हैं… पूर्ण",
|
||||
"LOW_BANDWIDTH": "बैंडविड्थ को बचाने के लिए {{displayName}} का वीडियो बंद कर दिया गया है"
|
||||
},
|
||||
"connectionindicator": {
|
||||
@@ -152,7 +152,7 @@
|
||||
"ifHaveApp": "यदि आपके पास पहले से ही ऐप है:",
|
||||
"joinInApp": "ऐप का उपयोग करके इस मीटिंग में शामिल हों",
|
||||
"launchWebButton": "वेब में लॉन्च करे",
|
||||
"title": "{{app}} में आपकी मीटिंग शुरू की जा रही हैं ...",
|
||||
"title": "{{app}} में आपकी मीटिंग शुरू की जा रही हैं…",
|
||||
"tryAgainButton": "डेस्कटॉप में फिर से प्रयास करें"
|
||||
},
|
||||
"defaultLink": "उदाहरण {{url}}",
|
||||
@@ -181,7 +181,7 @@
|
||||
"Share": "Share",
|
||||
"Submit": "सबमिट करें",
|
||||
"WaitForHostMsg": "सम्मेलन अभी तक शुरू नहीं हुआ है। यदि आप मेजबान हैं तो कृपया प्रमाणित करें। अन्यथा, कृपया मेजबान के आने की प्रतीक्षा करें।",
|
||||
"WaitingForHostTitle": "होस्ट की प्रतीक्षा कर रहा है ...",
|
||||
"WaitingForHostTitle": "होस्ट की प्रतीक्षा कर रहा है…",
|
||||
"Yes": "हाँ",
|
||||
"accessibilityLabel": {
|
||||
"liveStreaming": "सीधा प्रसारण"
|
||||
@@ -201,9 +201,9 @@
|
||||
"cameraUnknownError": "अज्ञात कारण की वजह से कैमरे का उपयोग नहीं किया जा सकता है।",
|
||||
"cameraUnsupportedResolutionError": "आपका कैमरा आवश्यक वीडियो रिज़ॉल्यूशन का समर्थन नहीं करता है।",
|
||||
"close": "बंद करें",
|
||||
"conferenceDisconnectMsg": "आप अपने नेटवर्क कनेक्शन की जांच कर सकते है। . {{seconds}} सेकंड में पुनः कनेक्ट किया जायेंगा ...",
|
||||
"conferenceDisconnectMsg": "आप अपने नेटवर्क कनेक्शन की जांच कर सकते है। . {{seconds}} सेकंड में पुनः कनेक्ट किया जायेंगा…",
|
||||
"conferenceDisconnectTitle": "आपको डिस्कनेक्ट कर दिया गया है।",
|
||||
"conferenceReloadMsg": "हम इसे ठीक करने का प्रयास कर रहे हैं। {{seconds}} सेकंड में पुनः कनेक्ट कर रहे हैं ...",
|
||||
"conferenceReloadMsg": "हम इसे ठीक करने का प्रयास कर रहे हैं। {{seconds}} सेकंड में पुनः कनेक्ट कर रहे हैं…",
|
||||
"conferenceReloadTitle": "दुर्भाग्य से, कुछ गलत हो गया।",
|
||||
"confirm": "पुष्टि करें",
|
||||
"confirmNo": "नहीं",
|
||||
@@ -298,7 +298,7 @@
|
||||
"screenSharingFailed": "उफ़! कुछ गड़बड़ हो गई, हम स्क्रीन शेयरिंग शुरू करने में सक्षम नहीं थे!",
|
||||
"screenSharingFailedTitle": "Screen sharing failed!",
|
||||
"screenSharingPermissionDeniedError": "उफ़! आपकी स्क्रीन शेयरिंग अनुमतियों में कुछ गड़बड़ हो गई है। कृपया पुनः लोड करें और पुनः प्रयास करें।",
|
||||
"sendPrivateMessage": "You recently received a private message. Did you intend to reply to that privately, or you want to send your message to the group?",
|
||||
"sendPrivateMessage": "आपने हाल ही में एक निजी संदेश प्राप्त किया है। क्या आप उसका निजी रूप से जवाब देने का इरादा रखते हैं? या आप अपना संदेश समूह को भेजना चाहते हैं?",
|
||||
"sendPrivateMessageCancel": "समूह को भेजें",
|
||||
"sendPrivateMessageOk": "निजी तौर पर भेजें",
|
||||
"sendPrivateMessageTitle": "निजी तौर पर भेजें?",
|
||||
@@ -429,7 +429,7 @@
|
||||
"errorLiveStreamNotEnabled": "Live Streaming is not enabled on {{email}}. Please enable live streaming or log into an account with live streaming enabled.",
|
||||
"expandedOff": "The live streaming has stopped",
|
||||
"expandedOn": "The meeting is currently being streamed to YouTube.",
|
||||
"expandedPending": "The live streaming is being started...",
|
||||
"expandedPending": "The live streaming is being started…",
|
||||
"failedToStart": "Live Streaming failed to start",
|
||||
"getStreamKeyManually": "We weren’t able to fetch any live streams. Try getting your live stream key from YouTube.",
|
||||
"googlePrivacyPolicy": "Google Privacy Policy",
|
||||
@@ -440,7 +440,7 @@
|
||||
"offBy": "{{name}} stopped the live streaming",
|
||||
"on": "Live Streaming started",
|
||||
"onBy": "{{name}} started the live streaming",
|
||||
"pending": "Starting Live Stream...",
|
||||
"pending": "Starting Live Stream…",
|
||||
"serviceName": "Live Streaming service",
|
||||
"signIn": "Sign in with Google",
|
||||
"signInCTA": "Sign in or enter your live stream key from YouTube.",
|
||||
@@ -467,10 +467,10 @@
|
||||
"invalidPassword": "अमान्य पासवर्ड",
|
||||
"joinRejectedMessage": "आपका अनुरोध एक मॉडरेटर द्वारा अस्वीकार कर दिया गया.",
|
||||
"joinTitle": "मीटिंग में शामिल हों",
|
||||
"joinWithPasswordMessage": "पासवर्ड के साथ जुड़ने की कोशिश कर रहा है, कृपया प्रतीक्षा करें...",
|
||||
"joinWithPasswordMessage": "पासवर्ड के साथ जुड़ने की कोशिश कर रहा है, कृपया प्रतीक्षा करें…",
|
||||
"joiningMessage": "जैसे ही कोई आपके अनुरोध को स्वीकार करता है आप बैठक में शामिल हो जाएंगे",
|
||||
"joiningTitle": "मीटिंग में शामिल होने के लिए कह रहा है...",
|
||||
"joiningWithPasswordTitle": "पासवर्ड के साथ जुड़े...",
|
||||
"joiningTitle": "मीटिंग में शामिल होने के लिए कह रहा है…",
|
||||
"joiningWithPasswordTitle": "पासवर्ड के साथ जुड़े…",
|
||||
"knockButton": "जुड़ने के लिए कहें ",
|
||||
"knockTitle": "कोई व्यक्ति बैठक में शामिल होना चाहता है",
|
||||
"knockingParticipantList": "प्रतिभागी सूची दस्तक",
|
||||
@@ -552,10 +552,10 @@
|
||||
"somebody": "Somebody",
|
||||
"startSilentDescription": "ऑडियो सक्षम करने के लिए मीटिंग को फिर से करें",
|
||||
"startSilentTitle": "आप बिना ऑडियो आउटपुट के साथ शामिल हुए!",
|
||||
"suboptimalBrowserWarning": "We are afraid your meeting experience isn't going to be that great here. We are looking for ways to improve this, but until then please try using one of the <a href='{{recommendedBrowserPageLink}}' target='_blank'>fully supported browsers</a>.",
|
||||
"suboptimalBrowserWarning": "हमें डर है कि आपकी मीटिंग अनुभव यहाँ बहुत अच्छा नहीं होने वाला है। हम इसे सुधारने के तरीके ढूंढ़ रहे हैं, लेकिन उस समय तक कृपया <a href='{{recommendedBrowserPageLink}}' target='_blank'>पूरी तरह से समर्थित ब्राउज़र</a> में से एक का प्रयास करें",
|
||||
"suboptimalExperienceTitle": "ब्राउज़र चेतावनी",
|
||||
"unmute": "अनम्यूट",
|
||||
"videoMutedRemotelyDescription": "You can always turn it on again.",
|
||||
"videoMutedRemotelyDescription": "आप इसे हमेशा फिर से चालू कर सकते हैं।",
|
||||
"videoMutedRemotelyTitle": "आपका कैमरा {{participantDisplayName}}द्वारा अक्षम कर दिया गया है!"
|
||||
},
|
||||
"participantsPane": {
|
||||
@@ -565,6 +565,11 @@
|
||||
},
|
||||
"passwordDigitsOnly": "Up to {{number}} digits",
|
||||
"passwordSetRemotely": "दूसरे प्रतिभागी द्वारा निर्धारित",
|
||||
"polls": {
|
||||
"errors": {
|
||||
"notUniqueOption": "विकल्प अद्वितीय होना चाहिए"
|
||||
}
|
||||
},
|
||||
"poweredby": "powered by",
|
||||
"prejoin": {
|
||||
"audioAndVideoError": "ऑडियो और वीडियो त्रुटि:",
|
||||
@@ -574,7 +579,7 @@
|
||||
"callMe": "मुझे कॉल करें",
|
||||
"callMeAtNumber": "मुझे इस नंबर पर कॉल करें:",
|
||||
"calling": "कॉलिंग",
|
||||
"configuringDevices": "डिवाइस कॉन्फ़िगर कर रहा है ...",
|
||||
"configuringDevices": "डिवाइस कॉन्फ़िगर कर रहा है…",
|
||||
"connectedWithAudioQ": "You’re connected with audio?",
|
||||
"connection": {
|
||||
"good": "Your internet connection looks good!",
|
||||
@@ -625,17 +630,17 @@
|
||||
},
|
||||
"presenceStatus": {
|
||||
"busy": "व्यस्त",
|
||||
"calling": "कॉलिंग...",
|
||||
"calling": "कॉलिंग…",
|
||||
"connected": "कनेक्टेड",
|
||||
"connecting": "कनेक्टिंग...",
|
||||
"connecting2": "कनेक्टिंग*...",
|
||||
"connecting": "कनेक्टिंग…",
|
||||
"connecting2": "कनेक्टिंग*…",
|
||||
"disconnected": "डिस्कनेक्ट किया गया",
|
||||
"expired": "एक्सपायर्ड",
|
||||
"ignored": "Ignored",
|
||||
"initializingCall": "Initializing Call...",
|
||||
"initializingCall": "Initializing Call…",
|
||||
"invited": "आमंत्रित",
|
||||
"rejected": "अस्वीकृत",
|
||||
"ringing": "Ringing..."
|
||||
"ringing": "Ringing…"
|
||||
},
|
||||
"profile": {
|
||||
"setDisplayNameLabel": "अपना नाम सेट करें",
|
||||
@@ -649,12 +654,12 @@
|
||||
"availableSpace": "Available space: {{spaceLeft}} MB (approximately {{duration}} minutes of recording)",
|
||||
"beta": "BETA",
|
||||
"busy": "We're working on freeing recording resources. Please try again in a few minutes.",
|
||||
"busyTitle": "All recorders are currently busy",
|
||||
"error": "Recording failed. Please try again.",
|
||||
"expandedOff": "Recording has stopped",
|
||||
"busyTitle": "सभी रिकॉर्डर अभी व्यस्त हैं",
|
||||
"error": "रिकॉर्डिंग विफल हुई। कृपया पुन: प्रयास करें।",
|
||||
"expandedOff": "रिकॉर्डिंग बंद हो गई है",
|
||||
"expandedOn": "The meeting is currently being recorded.",
|
||||
"expandedPending": "Recording is being started...",
|
||||
"failedToStart": "Recording failed to start",
|
||||
"expandedPending": "रिकॉर्डिंग शुरू की जा रही है…",
|
||||
"failedToStart": "रिकॉर्डिंग शुरू करने में विफलता हुई।",
|
||||
"fileSharingdescription": "Share recording with meeting participants",
|
||||
"limitNotificationDescriptionNative": "Due to high demand your recording will be limited to {{limit}} min. For unlimited recordings try <3>{{app}}</3>.",
|
||||
"limitNotificationDescriptionWeb": "Due to high demand your recording will be limited to {{limit}} min. For unlimited recordings try <a href={{url}} rel='noopener noreferrer' target='_blank'>{{app}}</a>.",
|
||||
@@ -664,7 +669,7 @@
|
||||
"offBy": "{{name}} stopped the recording",
|
||||
"on": "Recording started",
|
||||
"onBy": "{{name}} started the recording",
|
||||
"pending": "Preparing to record the meeting...",
|
||||
"pending": "Preparing to record the meeting…",
|
||||
"rec": "REC",
|
||||
"serviceDescription": "Your recording will be saved by the recording service",
|
||||
"serviceDescriptionCloud": "Cloud recording",
|
||||
@@ -672,16 +677,16 @@
|
||||
"signIn": "Sign in",
|
||||
"signOut": "Sign out",
|
||||
"title": "रिकॉर्डिंग",
|
||||
"unavailable": "Oops! The {{serviceName}} is currently unavailable. We're working on resolving the issue. Please try again later.",
|
||||
"unavailableTitle": "Recording unavailable"
|
||||
"unavailable": "ओह! {{serviceName}} वर्तमान में अनुपलब्ध है। हम समस्या को हल करने पर काम कर रहे हैं। कृपया बाद में पुनः प्रयास करें।",
|
||||
"unavailableTitle": "रिकॉर्डिंग उपलब्ध नहीं है"
|
||||
},
|
||||
"sectionList": {
|
||||
"pullToRefresh": "Pull to refresh"
|
||||
},
|
||||
"security": {
|
||||
"about": "You can add a $t(lockRoomPassword) to your meeting. Participants will need to provide the $t(lockRoomPassword) before they are allowed to join the meeting.",
|
||||
"about": "आप अपनी मीटिंग में $t(lockRoomPassword) जोड़ सकते हैं। सहभागियों को मीटिंग में शामिल होने से पहले $t(lockRoomPassword) प्रदान करना होगा।",
|
||||
"aboutReadOnly": "Moderator participants can add a $t(lockRoomPassword) to the meeting. Participants will need to provide the $t(lockRoomPassword) before they are allowed to join the meeting.",
|
||||
"insecureRoomNameWarning": "The room name is unsafe. Unwanted participants may join your conference. Consider securing your meeting using the security button.",
|
||||
"insecureRoomNameWarning": "कमरे का नाम असुरक्षित है। अनचाहे सहभागियों की कॉन्फ्रेंस में शामिल हो सकते हैं। सुरक्षा बटन का उपयोग करके अपनी मीटिंग को सुरक्षित बनाने का विचार करें। ",
|
||||
"securityOptions": "Security options"
|
||||
},
|
||||
"settings": {
|
||||
@@ -875,32 +880,23 @@
|
||||
"failedToStart": "ट्रांसक्रिप्शनिंग प्रारंभ करने में विफल",
|
||||
"labelToolTip": "The meeting is being transcribed",
|
||||
"off": "ट्रांसक्रिप्शनिंग बंद कर दिया",
|
||||
"pending": "Preparing to transcribe the meeting...",
|
||||
"pending": "Preparing to transcribe the meeting…",
|
||||
"start": "उपशीर्षक दिखाना शुरू करें",
|
||||
"stop": "उपशीर्षक दिखाना बंद करें",
|
||||
"tr": "TR"
|
||||
},
|
||||
"userMedia": {
|
||||
"androidGrantPermissions": "Select <b><i>Allow</i></b> when your browser asks for permissions.",
|
||||
"chromeGrantPermissions": "Select <b><i>Allow</i></b> when your browser asks for permissions.",
|
||||
"edgeGrantPermissions": "Select <b><i>Yes</i></b> when your browser asks for permissions.",
|
||||
"electronGrantPermissions": "Trying to access your camera and microphone",
|
||||
"firefoxGrantPermissions": "Select <b><i>Share Selected Device</i></b> when your browser asks for permissions.",
|
||||
"iexplorerGrantPermissions": "Select <b><i>OK</i></b> when your browser asks for permissions.",
|
||||
"nwjsGrantPermissions": "Please grant permissions to use your camera and microphone",
|
||||
"operaGrantPermissions": "Select <b><i>Allow</i></b> when your browser asks for permissions.",
|
||||
"react-nativeGrantPermissions": "Select <b><i>Allow</i></b> when your browser asks for permissions.",
|
||||
"safariGrantPermissions": "Select <b><i>OK</i></b> when your browser asks for permissions."
|
||||
"grantPermissions": "कृपया अपने कैमरा और माइक्रोफोन का उपयोग करने के लिए अनुमतियाँ प्रदान करें."
|
||||
},
|
||||
"videoSIPGW": {
|
||||
"busy": "We're working on freeing resources. Please try again in a few minutes.",
|
||||
"busyTitle": "The Room service is currently busy",
|
||||
"errorAlreadyInvited": "{{displayName}} already invited",
|
||||
"errorInvite": "Conference not established yet. Please try again later.",
|
||||
"errorInviteFailed": "We're working on resolving the issue. Please try again later.",
|
||||
"errorInviteFailedTitle": "Inviting {{displayName}} failed",
|
||||
"errorInviteTitle": "Error inviting room",
|
||||
"pending": "{{displayName}} has been invited"
|
||||
"busy": "हम संसाधनों को मुक्त करने पर काम कर रहे हैं। कृपया कुछ मिनटों बाद पुन: प्रयास करें।",
|
||||
"busyTitle": "रूम सेवा वर्तमान में व्यस्त है",
|
||||
"errorAlreadyInvited": "{{displayName}} पहले से ही आमंत्रित हैं",
|
||||
"errorInvite": "कॉन्फ़्रेंस अब तक स्थापित नहीं हुई है। कृपया बाद में पुनः प्रयास करें।",
|
||||
"errorInviteFailed": "हम समस्या को हल करने पर काम कर रहे हैं। कृपया बाद में पुनः प्रयास करें।",
|
||||
"errorInviteFailedTitle": "{{displayName}} को आमंत्रित करने में विफलता",
|
||||
"errorInviteTitle": "रूम आमंत्रण में त्रुटि",
|
||||
"pending": "{{displayName}} को आमंत्रित किया गया है"
|
||||
},
|
||||
"videoStatus": {
|
||||
"audioOnly": "AUD",
|
||||
@@ -923,10 +919,10 @@
|
||||
"domute": "म्यूट",
|
||||
"domuteOthers": "सभी को म्यूट करें",
|
||||
"domuteVideo": "कैमरा अक्षम करें",
|
||||
"domuteVideoOfOthers": "Disable camera of everyone else",
|
||||
"domuteVideoOfOthers": "अन्य सभी के लिए कैमरा बंद करें",
|
||||
"flip": "Flip",
|
||||
"grantModerator": "Grant Moderator",
|
||||
"kick": "Kick out",
|
||||
"kick": "निकालें",
|
||||
"moderator": "Moderator",
|
||||
"mute": "प्रतिभागी मौन है",
|
||||
"muted": "म्यूटेड",
|
||||
@@ -938,15 +934,15 @@
|
||||
"virtualBackground": {
|
||||
"enableBlur": "ब्लर सक्षम करें",
|
||||
"none": "कोई नहीं",
|
||||
"pleaseWait": "कृपया प्रतीक्षा करें ...",
|
||||
"pleaseWait": "कृपया प्रतीक्षा करें…",
|
||||
"removeBackground": "पृष्ठभूमि निकालें",
|
||||
"title": "पृष्ठभूमि",
|
||||
"uploadImage": "छवि अपलोड करें"
|
||||
},
|
||||
"welcomepage": {
|
||||
"accessibilityLabel": {
|
||||
"join": "Tap to join",
|
||||
"roomname": "Enter room name"
|
||||
"join": "शामिल होने के लिए टैप करें",
|
||||
"roomname": "कमरे का नाम लिखे"
|
||||
},
|
||||
"appDescription": "आगे बढ़ो, पूरी टीम के साथ वीडियो चैट करें। वास्तव में, हर किसी को जिसे आप जानते हैं, आमंत्रित करें। { {{app}} एक पूरी तरह से एन्क्रिप्टेड, 100% ओपन सोर्स वीडियो कॉन्फ्रेंसिंग समाधान है जिसका आप मुफ्त में - बिना किसी खाते की आवश्यकता के पूरे दिन, हर दिन, उपयोग कर सकते हैं।",
|
||||
"audioVideoSwitch": {
|
||||
|
||||
@@ -770,6 +770,9 @@
|
||||
"removeOption": "Ukloni opciju",
|
||||
"send": "Pošalji"
|
||||
},
|
||||
"errors": {
|
||||
"notUniqueOption": "Opcije moraju biti jedinstvene"
|
||||
},
|
||||
"notification": {
|
||||
"description": "Za glasanje otvori karticu ankete",
|
||||
"title": "Ovom sastanku je dodana nova anketa"
|
||||
@@ -1231,16 +1234,7 @@
|
||||
"tr": "TR"
|
||||
},
|
||||
"userMedia": {
|
||||
"androidGrantPermissions": "Odaberi <b><i>Dozvoli</i></b> kad tvoj preglednik zatraži dozvole.",
|
||||
"chromeGrantPermissions": "Odaberi <b><i>Dozvoli</i></b> kad tvoj preglednik zatraži dozvole.",
|
||||
"edgeGrantPermissions": "Odaberi <b><i>Da</i></b> kad tvoj preglednik zatraži dozvole.",
|
||||
"electronGrantPermissions": "Pokušaj pristupa tvojoj kameri i mikrofonu",
|
||||
"firefoxGrantPermissions": "Odaberi <b><i>Dijeli odabrane uređaje</i></b> kad tvoj preglednik zatraži dozvole.",
|
||||
"iexplorerGrantPermissions": "Odaberi <b><i>U redu</i></b> kad tvoj preglednik zatraži dozvole.",
|
||||
"nwjsGrantPermissions": "Dozvoli pristup tvojoj kameri i mikrofonu",
|
||||
"operaGrantPermissions": "Odaberi <b><i>Dozvoli</i></b> kad tvoj preglednik zatraži dozvole.",
|
||||
"react-nativeGrantPermissions": "Odaberi <b><i>Dozvoli</i></b> kad tvoj preglednik zatraži dozvole.",
|
||||
"safariGrantPermissions": "Odaberi <b><i>U redu</i></b> kad tvoj preglednik zatraži dozvole."
|
||||
"grantPermissions": "Dozvoli pristup tvojoj kameri i mikrofonu."
|
||||
},
|
||||
"videoSIPGW": {
|
||||
"busy": "Radimo na oslobađanju resursa. Pokušaj ponovo za par minuta.",
|
||||
|
||||
@@ -20,7 +20,7 @@
|
||||
"noResults": "žane přitrjechjace wuslědki",
|
||||
"outlookEmail": "Outlook-e-mejl",
|
||||
"phoneNumbers": "telefoniske čisła",
|
||||
"searching": "pyta...",
|
||||
"searching": "pyta…",
|
||||
"shareInvite": "přeprošenje na zhromadźiznu dźělić",
|
||||
"shareLink": "za přeprošenje druhich dźělće link za konferencu ",
|
||||
"shareStream": "link za live-streaming dźělić",
|
||||
@@ -652,7 +652,7 @@
|
||||
"linkToSalesforceDescription": "Móžeće zjeće konferency z objektom w Salesforce zwjazać.",
|
||||
"linkToSalesforceError": "Konferenca njemóžeše so ze Salesforce zwjazać.",
|
||||
"linkToSalesforceKey": "konferencu zalinkować",
|
||||
"linkToSalesforceProgress": "konferenca so ze Salesforce zwjaza...",
|
||||
"linkToSalesforceProgress": "konferenca so ze Salesforce zwjaza…",
|
||||
"linkToSalesforceSuccess": "Konferenca bu ze Salesforce zwjazana.",
|
||||
"localRecordingStarted": "{{name}} je z lokalnym nahrawanjom započinał.",
|
||||
"localRecordingStopped": "{{name}} je lokalne nahrawanje skónčił.",
|
||||
@@ -755,6 +755,9 @@
|
||||
"removeOption": "wotmołwu wotstronić",
|
||||
"send": "zestajić"
|
||||
},
|
||||
"errors": {
|
||||
"notUniqueOption": "opcije dyrbja jasne być"
|
||||
},
|
||||
"notification": {
|
||||
"description": "Za wobdźělenje wočińće tab za naprašowanje.",
|
||||
"title": "Tutej konferency bu naprašowanje přidate."
|
||||
@@ -1185,16 +1188,7 @@
|
||||
"tr": "TR"
|
||||
},
|
||||
"userMedia": {
|
||||
"androidGrantPermissions": "Wuzwolće <b><i>dowolić</i></b>, hdyž so browser za prawom praša.",
|
||||
"chromeGrantPermissions": "Wuzwolće<b><i>dowolić</i></b>, hdyž so browser za prawom praša.",
|
||||
"edgeGrantPermissions": "Wuzwolće <b><i>haj</i></b>, hdyž so browser za prawom praša.",
|
||||
"electronGrantPermissions": " wužiwanje kamery a mikrofona dowolić",
|
||||
"firefoxGrantPermissions": " Wuzwolće<b><i>dowolić</i></b>, hdyž so browser za prawom praša.",
|
||||
"iexplorerGrantPermissions": "Wuzwolće <b><i>OK</i></b>, hdyž so browser za prawom praša.",
|
||||
"nwjsGrantPermissions": "prošu wužiwanje kamery a mikrofona dowolić ",
|
||||
"operaGrantPermissions": " Wuzwolće<b><i>dowolić</i></b>, hdyž so browser za prawom praša.",
|
||||
"react-nativeGrantPermissions": " Wuzwolće<b><i>dowolić</i></b>, hdyž so browser za prawom praša.",
|
||||
"safariGrantPermissions": " Wuzwolće<b><i>OK</i></b>, hdyž so browser za prawom praša."
|
||||
"grantPermissions": "prošu wužiwanje kamery a mikrofona dowolić."
|
||||
},
|
||||
"videoSIPGW": {
|
||||
"busy": "Njesteja žane resursy k dispoziciji. Prošu spytajće pozdźišo znowa.",
|
||||
@@ -1264,7 +1258,7 @@
|
||||
"image6": "lěs",
|
||||
"image7": "schadźenje słónca",
|
||||
"none": "žadyn",
|
||||
"pleaseWait": "wokomik...",
|
||||
"pleaseWait": "wokomik…",
|
||||
"removeBackground": "pozadk wotstronić",
|
||||
"slightBlur": "pozadk snadnje njejasny",
|
||||
"title": "pozadk",
|
||||
|
||||
@@ -111,7 +111,7 @@
|
||||
"GET_SESSION_ID_ERROR": "Hiba a munkamenet-azonosítása beszerzése közben: {{code}}",
|
||||
"GOT_SESSION_ID": "Munkamenet-azonosító beszerzése… Kész",
|
||||
"LOW_BANDWIDTH": "{{displayName}} videója le lett kapcsolva a sávszélesség csökkentése érdekében",
|
||||
"RECONNECTING": "Hálózati hiba történt. Újracsatlakozás..."
|
||||
"RECONNECTING": "Hálózati hiba történt. Újracsatlakozás…"
|
||||
},
|
||||
"connectionindicator": {
|
||||
"address": "Cím:",
|
||||
@@ -184,6 +184,7 @@
|
||||
"Share": "Megosztás",
|
||||
"Submit": "Elküldés",
|
||||
"WaitForHostMsg": "A konferencia még nem kezdődött meg. Ha Ön a házigazda, akkor hitelesítse magát. Ellenkező esetben, kérjük várjon a házigazda érkezésére.",
|
||||
"WaitForHostNoAuthMsg": "A konferencia még nem kezdődött el, mert nincs elérhető moderátor. Kérlek várj.",
|
||||
"WaitingForHost": "Várakozás a házigazdára…",
|
||||
"Yes": "Igen",
|
||||
"accessibilityLabel": {
|
||||
@@ -479,10 +480,10 @@
|
||||
"joinRejectedMessage": "Csatlakozási kérelmét egy moderátor elutasította.",
|
||||
"joinRejectedTitle": "Csatlakozási kérelem elutasítva.",
|
||||
"joinTitle": "Csatlakozás az értekezlethez",
|
||||
"joinWithPasswordMessage": "Csatlakozás jelszóval, kérjük várjon...",
|
||||
"joinWithPasswordMessage": "Csatlakozás jelszóval, kérjük várjon…",
|
||||
"joiningMessage": "Amint valaki elfogadja kérését, csatlakoztatjuk az értekezlethez",
|
||||
"joiningTitle": "Értekezlethez csatlakozás kérése...",
|
||||
"joiningWithPasswordTitle": "Csatlakozás jelszóval...",
|
||||
"joiningTitle": "Értekezlethez csatlakozás kérése…",
|
||||
"joiningWithPasswordTitle": "Csatlakozás jelszóval…",
|
||||
"knockButton": "Csatlakozási kérelem küldése",
|
||||
"knockTitle": "Valaki szeretne csatlakozni az értekezlethez",
|
||||
"nameField": "Adja meg a nevét",
|
||||
@@ -623,6 +624,9 @@
|
||||
"removeOption": "Opció eltávolítása",
|
||||
"send": "Küldés"
|
||||
},
|
||||
"errors": {
|
||||
"notUniqueOption": "Az opcióknak egyedinek kell lenniük"
|
||||
},
|
||||
"notification": {
|
||||
"description": "Szavazás megnyitása",
|
||||
"title": "Új szavazás létrehozva"
|
||||
@@ -644,7 +648,7 @@
|
||||
"callMe": "Hívj fel",
|
||||
"callMeAtNumber": "Hívj fel ezen a számon:",
|
||||
"calling": "Hívás",
|
||||
"configuringDevices": "Eszköz beállítás...",
|
||||
"configuringDevices": "Eszköz beállítás…",
|
||||
"connectedWithAudioQ": "Csak hanggal szeretne csatlakozni?",
|
||||
"connection": {
|
||||
"good": "Az internet kapcsolat jónak tűnik!",
|
||||
@@ -690,7 +694,7 @@
|
||||
"calling": "Hívás…",
|
||||
"connected": "Kapcsolódva",
|
||||
"connecting": "Kapcsolódás…",
|
||||
"connecting2": "Kapcsolódás*...",
|
||||
"connecting2": "Kapcsolódás*…",
|
||||
"disconnected": "Szétkapcsolva",
|
||||
"expired": "Lejárt",
|
||||
"ignored": "Figyelmen kívül hagyva",
|
||||
@@ -986,16 +990,7 @@
|
||||
"tr": "Átirat"
|
||||
},
|
||||
"userMedia": {
|
||||
"androidGrantPermissions": "Válaszd az <b><i>Engedélyezés</i></b> opciót, ha a böngésző engedélyt kér.",
|
||||
"chromeGrantPermissions": "Válaszd az <b><i>Engedélyezés</i></b> opciót, ha a böngésző engedélyt kér.",
|
||||
"edgeGrantPermissions": "Válaszd az <b><i>Igen</i></b> opciót, ha a böngésző hozzáférést kér.",
|
||||
"electronGrantPermissions": "A kamera és a mikrofon használatát engedélyezni kell",
|
||||
"firefoxGrantPermissions": "Válaszd <b><i>Kiválasztott eszköz megosztása</i></b> opciót, ha a böngésző hozzáférést kér.",
|
||||
"iexplorerGrantPermissions": "Válaszd az <b><i>OK</i></b> opciót, ha a böngésző engedélyezést kér.",
|
||||
"nwjsGrantPermissions": "A kamera és a mikrofon használatát engedélyezni kell",
|
||||
"operaGrantPermissions": "Válaszd az <b><i>Engedélyezés</i></b> opciót, ha a böngésző engedélyt kér.",
|
||||
"react-nativeGrantPermissions": "Válaszd az <b><i>Engedélyezés</i></b> opciót, ha a böngésző engedélyt kér.",
|
||||
"safariGrantPermissions": "Válaszd az <b><i>OK</i></b> opciót, ha a böngésző engedélyezést kér."
|
||||
"grantPermissions": "A kamera és a mikrofon használatát engedélyezni kell."
|
||||
},
|
||||
"videoSIPGW": {
|
||||
"busy": "Dolgozunk az erőforrások felszabadításán. Kísérelje meg újra néhány perc múlva.",
|
||||
@@ -1060,7 +1055,7 @@
|
||||
"image6": "Erdő",
|
||||
"image7": "Napfelkelte",
|
||||
"none": "Nincs",
|
||||
"pleaseWait": "Kérjük várjon...",
|
||||
"pleaseWait": "Kérjük várjon…",
|
||||
"removeBackground": "Háttér eltávolítása",
|
||||
"slightBlur": "Enyhén elmosódott",
|
||||
"title": "Virtuális háttérképek",
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user