Compare commits

..

1 Commits

Author SHA1 Message Date
damencho
ff6f0ee949 debug 2025-10-21 14:48:16 -05:00
600 changed files with 8490 additions and 21577 deletions

View File

@@ -14,12 +14,3 @@ trim_trailing_whitespace = false
[Makefile]
indent_style = tab
[*.{java,kt}]
indent_size = 4
[*.xml]
indent_size = 2
[*.{swift,m,mm,h}]
indent_size = 4

View File

@@ -1,12 +0,0 @@
version: 2
updates:
# Monitor GitHub Actions versions
- package-ecosystem: "github-actions"
directory: "/"
schedule:
interval: "weekly"
labels:
- "dependencies"
- "github-actions"
commit-message:
prefix: "chore(ci)"

View File

@@ -7,7 +7,7 @@ jobs:
name: Luacheck
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd #v6.0.2
- uses: actions/checkout@v4
- name: Install luarocks
run: sudo apt-get --install-recommends -y install luarocks

View File

@@ -7,8 +7,8 @@ jobs:
name: Lint
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd #v6.0.2
- uses: actions/setup-node@53b83947a5a98c8d113130e565377fae1a50d02f #v6.3.0
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version-file: '.nvmrc'
cache: 'npm'
@@ -42,8 +42,8 @@ jobs:
matrix:
os: [macos-latest, ubuntu-latest]
steps:
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd #v6.0.2
- uses: actions/setup-node@53b83947a5a98c8d113130e565377fae1a50d02f #v6.3.0
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version-file: '.nvmrc'
cache: 'npm'
@@ -59,8 +59,8 @@ jobs:
name: Build mobile bundle (Android)
runs-on: macos-15
steps:
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd #v6.0.2
- uses: actions/setup-node@53b83947a5a98c8d113130e565377fae1a50d02f #v6.3.0
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version-file: '.nvmrc'
cache: 'npm'
@@ -74,8 +74,8 @@ jobs:
name: Build mobile bundle (iOS)
runs-on: macos-15
steps:
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd #v6.0.2
- uses: actions/setup-node@53b83947a5a98c8d113130e565377fae1a50d02f #v6.3.0
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version-file: '.nvmrc'
cache: 'npm'
@@ -96,37 +96,17 @@ jobs:
ruby-version: '3.4'
bundler-cache: true
- run: npx react-native info
- name: Cache CocoaPods
uses: actions/cache@668228422ae6a00e4ad889ee87cd7109ec5666a7
with:
path: |
ios/Pods
~/Library/Caches/CocoaPods
key: ${{ runner.os }}-cocoapods-${{ hashFiles('ios/Podfile.lock') }}
restore-keys: |
${{ runner.os }}-cocoapods-
- name: Install Pods
working-directory: ./ios
run: bundle exec pod install --deployment
run: bundle exec 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:
image: reactnativecommunity/react-native-android:v15.0
volumes:
- /usr:/host/usr
container: reactnativecommunity/react-native-android:v18.0
steps:
- name: Make space in image by removing preinstalled, but unused SDKs
run: |
df -h /
rm -rf /host/usr/local/lib/android
rm -rf /host/usr/local/.ghcup
rm -rf /host/usr/share/dotnet
rm -rf /host/usr/share/swift
df -h /
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd #v6.0.2
- uses: actions/setup-node@53b83947a5a98c8d113130e565377fae1a50d02f #v6.3.0
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version-file: '.nvmrc'
cache: 'npm'
@@ -135,26 +115,16 @@ jobs:
node -v
npm -v
- run: npm install
- name: Cache Gradle dependencies
uses: actions/cache@668228422ae6a00e4ad889ee87cd7109ec5666a7
with:
path: /root/.gradle
key: ${{ runner.os }}-gradle-${{ hashFiles('android/**/*.gradle*', 'android/gradle.properties', 'android/gradle/wrapper/gradle-wrapper.properties') }}
restore-keys: |
${{ runner.os }}-gradle-
- run: |
cd android
./gradlew :sdk:clean
./gradlew :sdk:assembleRelease
- run: |
git config --global --add safe.directory /__w/jitsi-meet/jitsi-meet
git clean -dfx
ios-sdk-build:
name: Build mobile SDK (iOS)
runs-on: macos-15
steps:
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd #v6.0.2
- uses: actions/setup-node@53b83947a5a98c8d113130e565377fae1a50d02f #v6.3.0
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version-file: '.nvmrc'
cache: 'npm'
@@ -176,23 +146,14 @@ jobs:
-workspace ios/jitsi-meet.xcworkspace \
-scheme JitsiMeetSDK
- name: setup-cocoapods
uses: ruby/setup-ruby@4fc31e1c823882afd7ef55985266a526c589de90 #v1.282.0
uses: ruby/setup-ruby@v1
with:
ruby-version: '3.4'
bundler-cache: true
- name: Cache CocoaPods
uses: actions/cache@668228422ae6a00e4ad889ee87cd7109ec5666a7 #v5.0.4
with:
path: |
ios/Pods
~/Library/Caches/CocoaPods
key: ${{ runner.os }}-pods-${{ hashFiles('ios/Podfile.lock', 'Gemfile.lock') }}
restore-keys: |
${{ runner.os }}-pods-
- run: npx react-native info
- name: Install Pods
working-directory: ./ios
run: bundle exec pod install --deployment
run: bundle exec pod install --repo-update --deployment
- run: |
xcodebuild -downloadPlatform iOS -buildVersion 18.2
xcodebuild archive \
@@ -212,8 +173,8 @@ jobs:
name: Test Debian packages build
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd #v6.0.2
- uses: actions/setup-node@53b83947a5a98c8d113130e565377fae1a50d02f #v6.3.0
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version-file: '.nvmrc'
cache: 'npm'

View File

@@ -7,7 +7,7 @@ jobs:
stale:
runs-on: ubuntu-latest
steps:
- uses: actions/stale@b5d41d4e1d5dceea10e7104786b73624c18a190f #v10.2.0
- uses: actions/stale@v8
with:
stale-issue-message: 'This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.'
stale-pr-message: 'This PR has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.'

2
.nvmrc
View File

@@ -1 +1 @@
24
22

View File

@@ -264,4 +264,4 @@ react/features/sample/
- [Jitsi Handbook](https://jitsi.github.io/handbook/) - Comprehensive documentation
- [Community Forum](https://community.jitsi.org/) - Ask questions and get support
- [Architecture Guide](https://jitsi.github.io/handbook/docs/architecture) - System overview
- [Contributing Guidelines](https://jitsi.github.io/handbook/docs/dev-guide/dev-guide-contributing/) - Detailed contribution process
- [Contributing Guidelines](https://jitsi.github.io/handbook/docs/dev-guide/contributing) - Detailed contribution process

View File

@@ -25,27 +25,25 @@ GEM
json (>= 1.5.1)
artifactory (3.0.17)
atomos (0.1.3)
aws-eventstream (1.4.0)
aws-partitions (1.1220.0)
aws-sdk-core (3.242.0)
aws-eventstream (1.3.1)
aws-partitions (1.1050.0)
aws-sdk-core (3.218.1)
aws-eventstream (~> 1, >= 1.3.0)
aws-partitions (~> 1, >= 1.992.0)
aws-sigv4 (~> 1.9)
base64
bigdecimal
jmespath (~> 1, >= 1.6.1)
logger
aws-sdk-kms (1.122.0)
aws-sdk-core (~> 3, >= 3.241.4)
aws-sdk-kms (1.98.0)
aws-sdk-core (~> 3, >= 3.216.0)
aws-sigv4 (~> 1.5)
aws-sdk-s3 (1.208.0)
aws-sdk-core (~> 3, >= 3.234.0)
aws-sdk-s3 (1.181.0)
aws-sdk-core (~> 3, >= 3.216.0)
aws-sdk-kms (~> 1)
aws-sigv4 (~> 1.5)
aws-sigv4 (1.12.1)
aws-sigv4 (1.11.0)
aws-eventstream (~> 1, >= 1.0.2)
babosa (1.0.4)
base64 (0.3.0)
base64 (0.2.0)
benchmark (0.4.0)
bigdecimal (3.1.9)
claide (1.1.0)
@@ -104,7 +102,7 @@ GEM
ethon (0.16.0)
ffi (>= 1.15.0)
excon (0.112.0)
faraday (1.10.5)
faraday (1.10.4)
faraday-em_http (~> 1.0)
faraday-em_synchrony (~> 1.0)
faraday-excon (~> 1.1)
@@ -120,10 +118,10 @@ GEM
faraday (>= 0.8.0)
http-cookie (~> 1.0.0)
faraday-em_http (1.0.0)
faraday-em_synchrony (1.0.1)
faraday-em_synchrony (1.0.0)
faraday-excon (1.1.0)
faraday-httpclient (1.0.1)
faraday-multipart (1.2.0)
faraday-multipart (1.1.0)
multipart-post (~> 2.0)
faraday-net_http (1.0.2)
faraday-net_http_persistent (1.2.0)

View File

@@ -26,7 +26,7 @@
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
<intent-filter android:autoVerify="true">
<intent-filter>
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.BROWSABLE" />
<category android:name="android.intent.category.DEFAULT" />

View File

@@ -96,53 +96,23 @@ public class JitsiMeetActivity extends AppCompatActivity
public static void addTopBottomInsets(@NonNull Window w, @NonNull View v) {
// Enable edge-to-edge mode
androidx.core.view.WindowCompat.setDecorFitsSystemWindows(w, false);
// Make system bars transparent so content is visible underneath
w.setStatusBarColor(android.graphics.Color.TRANSPARENT);
w.setNavigationBarColor(android.graphics.Color.TRANSPARENT);
View decorView = w.getDecorView();
// Get display metrics for calculating density-independent caps
final android.util.DisplayMetrics metrics = v.getContext().getResources().getDisplayMetrics();
final int screenHeight = metrics.heightPixels;
final float density = metrics.density;
// Listen for window inset changes
// when system bars visibility is toggled or when the device rotates
ViewCompat.setOnApplyWindowInsetsListener(decorView, (view, windowInsets) -> {
// Get the actual inset values reported by the system
int statusBarInset = windowInsets.getInsets(WindowInsetsCompat.Type.statusBars()).top;
int navBarInset = windowInsets.getInsets(WindowInsetsCompat.Type.navigationBars()).bottom;
// Calculate maximum allowed inset values to prevent device-specific bugs
final int maxTopInset = Math.min((int)(60 * density), (int)(screenHeight * 0.10));
final int maxBottomInset = Math.min((int)(120 * density), (int)(screenHeight * 0.10));
int topInset = Math.min(statusBarInset, maxTopInset);
int bottomInset = Math.min(navBarInset, maxBottomInset);
// Apply calculated insets
ViewGroup.MarginLayoutParams params = (ViewGroup.MarginLayoutParams) v.getLayoutParams();
// Update margins only if they've changed
if (params.topMargin != topInset || params.bottomMargin != bottomInset) {
params.topMargin = topInset;
params.bottomMargin = bottomInset;
decorView.post(() -> {
WindowInsetsCompat insets = ViewCompat.getRootWindowInsets(decorView);
if (insets != null) {
ViewGroup.MarginLayoutParams params = (ViewGroup.MarginLayoutParams) v.getLayoutParams();
params.topMargin = insets.getInsets(WindowInsetsCompat.Type.systemBars()).top;
params.bottomMargin = insets.getInsets(WindowInsetsCompat.Type.systemBars()).bottom;
v.setLayoutParams(params);
decorView.setOnApplyWindowInsetsListener((view, windowInsets) -> {
view.setBackgroundColor(JitsiMeetView.BACKGROUND_COLOR);
return windowInsets;
});
}
view.setBackgroundColor(JitsiMeetView.BACKGROUND_COLOR);
// Return CONSUMED to prevent double-application of margins
return WindowInsetsCompat.CONSUMED;
});
// Manually trigger the inset listener to apply margins immediately
ViewCompat.requestApplyInsets(decorView);
}
// Overrides
@@ -166,11 +136,10 @@ public class JitsiMeetActivity extends AppCompatActivity
setContentView(R.layout.activity_jitsi_meet);
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.VANILLA_ICE_CREAM
&& getApplicationInfo().targetSdkVersion >= Build.VERSION_CODES.VANILLA_ICE_CREAM) {
addTopBottomInsets(getWindow(), findViewById(android.R.id.content));
}
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.VANILLA_ICE_CREAM
&& getApplicationInfo().targetSdkVersion >= Build.VERSION_CODES.VANILLA_ICE_CREAM) {
addTopBottomInsets(getWindow(), findViewById(android.R.id.content));
}
this.jitsiView = findViewById(R.id.jitsiView);

View File

@@ -37,6 +37,7 @@ public class JitsiMeetActivityDelegate {
* React Native module.
*/
private static PermissionListener permissionListener;
private static Callback permissionsCallback;
/**
* Tells whether or not the permissions request is currently in progress.
@@ -141,6 +142,11 @@ public class JitsiMeetActivityDelegate {
if (reactInstanceManager != null) {
reactInstanceManager.onHostResume(activity, new DefaultHardwareBackBtnHandlerImpl(activity));
}
if (permissionsCallback != null) {
permissionsCallback.invoke();
permissionsCallback = null;
}
}
/**
@@ -163,10 +169,15 @@ public class JitsiMeetActivityDelegate {
public static void onRequestPermissionsResult(
final int requestCode, final String[] permissions, final int[] grantResults) {
// Invoke the callback immediately
if (permissionListener != null && permissionListener.onRequestPermissionsResult(requestCode, permissions, grantResults)) {
permissionListener = null;
}
permissionsCallback = new Callback() {
@Override
public void invoke(Object... args) {
if (permissionListener != null
&& permissionListener.onRequestPermissionsResult(requestCode, permissions, grantResults)) {
permissionListener = null;
}
}
};
}
public static void requestPermissions(Activity activity, String[] permissions, int requestCode, PermissionListener listener) {

View File

@@ -99,7 +99,6 @@ public class JitsiMeetOngoingConferenceService extends Service implements Ongoin
public static void launch(Context context, HashMap<String, Object> extraData) {
List<String> permissionsList = new ArrayList<>();
Activity activity = (Activity) context;
PermissionListener listener = new PermissionListener() {
@Override
@@ -135,7 +134,7 @@ public class JitsiMeetOngoingConferenceService extends Service implements Ongoin
if (permissionsArray.length > 0) {
JitsiMeetActivityDelegate.requestPermissions(
activity,
(Activity) context,
permissionsArray,
PERMISSIONS_REQUEST_CODE,
listener
@@ -160,20 +159,12 @@ public class JitsiMeetOngoingConferenceService extends Service implements Ongoin
stopSelf();
JitsiMeetLogger.w(TAG + " Couldn't start service, notification is null");
} else {
try {
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);
}
} catch (Exception e) {
// Handle ForegroundServiceStartNotAllowedException when app is in background and cannot start foreground service.
// See: https://developer.android.com/develop/background-work/services/fgs/restrictions-bg-start#wiu-restrictions
JitsiMeetLogger.w(TAG + " Failed to start foreground service", e);
stopSelf();
return;
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);
}
}

View File

@@ -30,9 +30,6 @@ import com.facebook.react.ReactRootView;
import org.jitsi.meet.sdk.log.JitsiMeetLogger;
import java.util.ArrayList;
import java.util.Arrays;
public class JitsiMeetView extends FrameLayout {
@@ -87,10 +84,6 @@ public class JitsiMeetView extends FrameLayout {
result.putInt(key, (int)bValue);
} else if (valueType.contentEquals("Bundle")) {
result.putBundle(key, mergeProps((Bundle)aValue, (Bundle)bValue));
} else if (valueType.contentEquals("String[]")) {
// Convert String[] to ArrayList<String> for React Native bridge compatibility
String[] stringArray = (String[]) bValue;
result.putStringArrayList(key, new ArrayList<>(Arrays.asList(stringArray)));
} else {
throw new RuntimeException("Unsupported type: " + valueType);
}

View File

@@ -1375,7 +1375,7 @@ export default {
}
APP.store.dispatch(updateRemoteParticipantFeatures(user));
logger.log(`USER ${id} connected`);
logger.log(`USER ${id} connected:`, user);
APP.UI.addUser(user);
});
@@ -1641,6 +1641,12 @@ export default {
JitsiE2ePingEvents.E2E_RTT_CHANGED,
(...args) => APP.store.dispatch(e2eRttChanged(...args)));
room.addCommandListener(this.commands.defaults.ETHERPAD,
({ value }) => {
APP.UI.initEtherpad(value);
}
);
room.addCommandListener(this.commands.defaults.EMAIL, (data, from) => {
APP.store.dispatch(participantUpdated({
conference: room,
@@ -1714,7 +1720,15 @@ export default {
}
);
room.on(JitsiConferenceEvents.PERMISSIONS_RECEIVED, p => {
const localParticipant = getLocalParticipant(APP.store.getState());
APP.store.dispatch(participantUpdated({
id: localParticipant.id,
local: true,
features: p
}));
});
},
/**

View File

@@ -139,9 +139,6 @@ var config = {
// Disables polls feature.
// disablePolls: false,
// Disables chat feature entirely including notifications, sounds, and private messages.
// disableChat: false,
// Disables demote button from self-view
// disableSelfDemote: false,
@@ -151,9 +148,6 @@ var config = {
// Disables self-view settings in UI
// disableSelfViewSettings: false,
// Shows/hides the moderator setting for chat permissions.
// showChatPermissionsModeratorSetting: false,
// screenshotCapture : {
// Enables the screensharing capture feature.
// enabled: false,
@@ -511,15 +505,6 @@ var config = {
// // ./src/react/features/transcribing/transcriber-langs.json.
// preferredLanguage: 'en-US',
// Allows extending the list of supported transcription languages.
// Useful for custom transcription backends (e.g. Vosk).
//
// Example:
// customLanguages: {
// 'hsb-DE': 'Upper Sorbian (Germany)',
// 'dsb-DE': 'Lower Sorbian (Germany)'
// },
// // Enables automatic turning on transcribing when recording is started
// autoTranscribeOnRecord: false,
@@ -532,6 +517,9 @@ var config = {
// // Note: Starting transcriptions from the recording dialog will still work.
// disableClosedCaptions: false,
// // Whether to invite jigasi when backend transcriptions are enabled (asyncTranscription is true in metadata).
// // By default, we invite it.
// inviteJigasiOnBackendTranscribing: true,
// },
// Misc
@@ -646,6 +634,21 @@ var config = {
// sticky: 0,
// },
// // Options for the recording limit notification.
// recordingLimit: {
//
// // The recording limit in minutes. Note: This number appears in the notification text
// // but doesn't enforce the actual recording time limit. This should be configured in
// // jibri!
// limit: 60,
//
// // The name of the app with unlimited recordings.
// appName: 'Unlimited recordings APP',
//
// // The URL of the app with unlimited recordings.
// appURL: 'https://unlimited.recordings.app.com/',
// },
// Disables or enables RTX (RFC 4588) (defaults to false).
// disableRtx: false,
@@ -901,8 +904,6 @@ var config = {
// alwaysVisible: false,
// // Indicates whether the toolbar should still autohide when chat is open
// autoHideWhileChatIsOpen: false,
// // Default background color for the main toolbar. Accepts any valid CSS color.
// // backgroundColor: '#ffffff',
// },
// Overrides the buttons displayed in the main toolbar. Depending on the screen size the number of displayed
@@ -921,14 +922,6 @@ var config = {
// [ 'microphone', 'camera' ]
// ],
// Enable reduced UI on web.
// reducedUIEnabled: true,
// Overrides the buttons displayed in the main toolbar for reduced UI.
// When there isn't an override for a certain configuration the default jitsi-meet configuration will be used.
// The order of the buttons in the array is preserved.
// reducedUImainToolbarButtons: [ '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
@@ -1586,13 +1579,14 @@ var config = {
// - electron=true (when web is loaded in electron app)
// If there is a logout service you can specify its URL with:
// tokenLogoutUrl: 'https://myservice.com/logout'
// You can enable tokenAuthUrlAutoRedirect which will detect that you have logged in successfully before
// and will automatically redirect to the token service to get the token for the meeting.
// tokenAuthUrlAutoRedirect: false
// An option to respect the context.tenant jwt field compared to the current tenant from the url
// tokenRespectTenant: false,
// An option to get for user info (name, picture, email) in the token outside the user context.
// Can be used with Firebase tokens.
// tokenGetUserInfoOutOfContext: false,
// An option to pass the token in the iframe API directly instead of using the redirect flow.
// tokenAuthInline: 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"

View File

@@ -45,7 +45,7 @@ body {
.jitsi-icon {
&-default svg {
fill: var(--icon-svg-fill, white);
fill: white;
}
}

View File

@@ -1,5 +1,5 @@
.always-on-top-toolbox {
background-color: var(--toolbox-background-color, $newToolbarBackgroundColor);
background-color: $newToolbarBackgroundColor;
border-radius: 3px;
display: flex;
z-index: $toolbarZ;

View File

@@ -2,8 +2,8 @@
.reactions-menu {
width: 330px;
background: var(--reactions-menu-background, #242528);
box-shadow: 0px 3px 16px var(--reactions-menu-box-shadow-1, rgba(0, 0, 0, 0.6)), 0px 0px 4px 1px var(--reactions-menu-box-shadow-2, rgba(0, 0, 0, 0.25));
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;
@@ -14,7 +14,7 @@
top: 3px;
& .toolbox-icon.toggled {
background-color: var(--reactions-menu-button-toggled, #000000);
background-color: #000000;
}
}
}

View File

@@ -196,14 +196,4 @@
color:#FFD740;
font-size: 0.75rem;
}
.youtube-go-live-warning {
margin-bottom: 16px;
padding: 8px 12px;
background-color: rgba(248, 174, 26, 0.1);
border-left: 3px solid #FFD740;
font-size: 0.875rem;
line-height: 1.25rem;
color: #FFD740;
}
}

View File

@@ -2,7 +2,7 @@
* Round badge.
*/
.badge-round {
background-color: var(--toolbar-badge-background, #165ECC);
background-color: #165ECC;
border-radius: 50%;
box-sizing: border-box;
color: #FFFFFF;
@@ -93,7 +93,7 @@
.toolbox-content-wrapper::after {
content: '';
background: var(--toolbox-background-color, $newToolbarBackgroundColor);
background: $newToolbarBackgroundColor;
padding-bottom: env(safe-area-inset-bottom, 0);
}

View File

@@ -60,7 +60,7 @@
}
#notification-participant-list {
background-color: var(--toolbox-background-color, $newToolbarBackgroundColor);
background-color: $newToolbarBackgroundColor;
border: 1px solid rgba(255, 255, 255, .4);
border-radius: 8px;
left: 0;

View File

@@ -106,7 +106,7 @@
}
#preview {
background: var(--prejoin-preview-background, #040404);
background: #040404;
display: flex;
align-items: center;
justify-content: center;

5
custom.d.ts vendored
View File

@@ -2,8 +2,3 @@ declare module '*.svg' {
const content: any;
export default content;
}
declare module '*.svg?raw' {
const content: string;
export default content;
}

2
debian/control vendored
View File

@@ -34,7 +34,7 @@ Description: Configuration for web serving of Jitsi Meet
Package: jitsi-meet-prosody
Architecture: all
Depends: openssl, prosody (>= 0.12.0) | prosody-trunk | prosody-0.12 | prosody-13.0, ca-certificates-java, lua-sec, lua-basexx, lua-luaossl, lua-cjson, lua-inspect
Depends: openssl, prosody (>= 0.12.0) | prosody-trunk | prosody-0.12 | prosody-13.0, lua-sec, lua-basexx, lua-luaossl, lua-cjson, lua-inspect
Replaces: jitsi-meet-tokens
Description: Prosody configuration for Jitsi Meet
Jitsi Meet is a WebRTC JavaScript application that uses Jitsi

View File

@@ -124,17 +124,10 @@ case "$1" in
ln -s $PROSODY_HOST_CONFIG /etc/prosody/conf.d/$JVB_HOSTNAME.cfg.lua
fi
PROSODY_CREATE_JICOFO_USER="true"
fi
if ! grep -q "VirtualHost \"$JVB_HOSTNAME\"" $PROSODY_CONFIG_OLD; then
# on some distributions main prosody config doesn't include configs
# from conf.d folder enable it as this where we put our config by default
# also when upgrading to new prosody version from prosody repo we need to add it again
if ! grep -q "Include \"conf\.d\/\*\.cfg.lua\"" $PROSODY_CONFIG_OLD; then
echo -e "\nInclude \"conf.d/*.cfg.lua\"" >> $PROSODY_CONFIG_OLD
# trigger a restart
PROSODY_CONFIG_PRESENT="false"
fi
fi
@@ -284,17 +277,13 @@ case "$1" in
# and drop the wait and the prosody restart
sleep 1
invoke-rc.d prosody restart || true
fi
;;
triggered)
for trigger in $2; do
if [ "$trigger" = "update-ca-certificates-java" ]; then
echo "Java certificates updated, restarting Jitsi components..."
# 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
done
exit 0
fi
;;
abort-upgrade|abort-remove|abort-deconfigure)

View File

@@ -1 +0,0 @@
interest-noawait update-ca-certificates-java

View File

@@ -10,7 +10,6 @@ no-cli
no-loopback-peers
no-tcp-relay
no-tcp
no-dtls
listening-port=3478
tls-listening-port=5349
no-tlsv1

View File

@@ -26,22 +26,6 @@ map $arg_vnode $prosody_node {
v7 v7;
v8 v8;
}
# Matches any URI or Referer with some matches and redacts the whole
# query string. log_format and map must be at the http context level.
map $request_uri $loggable_uri {
~^(?P<path>[^?]*)\?.*(?:jwt|token)= "${path}?[params_redacted]";
default $request_uri;
}
map $http_referer $loggable_referer {
~^(?P<url>[^?]*)\?.*(?:jwt|token)= "${url}?[params_redacted]";
default $http_referer;
}
log_format jitsi_log '$remote_addr - $remote_user [$time_local] '
'"$request_method $loggable_uri $server_protocol" '
'$status $body_bytes_sent "$loggable_referer" "$http_user_agent"';
server {
listen 80;
listen [::]:80;
@@ -82,8 +66,6 @@ server {
root /usr/share/jitsi-meet;
access_log /var/log/nginx/access.log jitsi_log;
# ssi on with javascript for multidomain variables in config.js
ssi on;
ssi_types application/x-javascript application/javascript;

View File

@@ -1407,7 +1407,7 @@ PODS:
- Yoga
- react-native-performance (5.1.2):
- React-Core
- react-native-safe-area-context (5.6.1):
- react-native-safe-area-context (5.5.2):
- React-Core
- react-native-slider (4.5.6):
- DoubleConversion
@@ -2271,7 +2271,7 @@ SPEC CHECKSUMS:
react-native-orientation-locker: dbd3f6ddbe9e62389cb0807dc2af63f6c36dec36
react-native-pager-view: 11662c698c8f11d39e05891316d2a144fa00adc4
react-native-performance: 125a96c145e29918b55b45ce25cbba54f1e24dcd
react-native-safe-area-context: 2243039f43d10cb1ea30ec5ac57fc6d1448413f4
react-native-safe-area-context: 0f7bf11598f9a61b7ceac8dc3f59ef98697e99e1
react-native-slider: 1205801a8d29b28cacc14eef08cb120015cdafcb
react-native-video: eb861d67a71dfef1bbf6086a811af5f338b13781
react-native-webrtc: e8f0ce746353adc2744a2b933645e1aeb41eaa74

View File

@@ -31,7 +31,6 @@
"it": "Italiano",
"ja": "日本語",
"kab": "Taqbaylit",
"kk": "Қазақша",
"ko": "한국어",
"lt": "Lietuvių",
"lv": "Latviešu",

View File

@@ -537,6 +537,8 @@
"googlePrivacyPolicy": "سياسية خصوصية غوغل",
"inProgress": "البث المباشر غير ممكّن على {{email}}. يرجى تمكين البث المباشر أو تسجيل الدخول إلى حساب مع تمكين البث المباشر.",
"invalidStreamKey": "يحتمل كون مفتاح البث الحي غير صحيح.",
"limitNotificationDescriptionNative": "سيقيَّد البث إلى {{limit}} د، ولكن إن أردت إجراء عملية بث غير محدودة، جرِّب {{app}}.",
"limitNotificationDescriptionWeb": "نظرًا للضغط الكبير، سيقيَّد البث إلى {{limit}} د، ولكن إن أردت إجراء عملية بث غير محدودة، جرِّب <a href={{url}} rel='noopener noreferrer' target='_blank'>{{app}}</a>.",
"off": "أُوقِف البث الحي",
"offBy": "أوقف {{name}} البث الحي",
"on": "بث حي",
@@ -896,6 +898,8 @@
"highlightMomentSuccess": "تم تمييز اللحظة",
"highlightMomentSucessDescription": "ستتم إضافة اللحظة المميزة إلى ملخص المُلتقى.",
"inProgress": "التسجيل أو البث المباشر قيد التقدم",
"limitNotificationDescriptionNative": "نظرًا للضغط الكبير، سيقيَّد التسجيل إلى {{limit}} د، ولكن إن أردت التسجيل لمدة مفتوحة، جرِّب <3>{{app}}</3>.",
"limitNotificationDescriptionWeb": "نظرًا للضغط الكبير، سيقيَّد التسجيل إلى {{limit}} د، ولكن إن أردت التسجيل لمدة مفتوحة، جرِّب <a href={{url}} rel='noopener noreferrer' target='_blank'>{{app}}</a>.",
"linkGenerated": "لقد أنشأنا رابطًا لتسجيلك.",
"live": "مباشر",
"localRecordingNoNotificationWarning": "لن يتم الإعلان عن التسجيل للمشاركين الآخرين. ستحتاج إلى إخبارهم بأنه تم تسجيل الاجتماع.",

View File

@@ -359,7 +359,7 @@
"kickParticipantTitle": "Изгонване на този участник?",
"kickSystemTitle": "Ауч! Бяхте изгонени от срещата",
"kickTitle": "Ауч! {{participantDisplayName}} Ви изгони от тази среща",
"learnMore": "Научи повече",
"learnMore": "научи повече",
"linkMeeting": "Свързване на среща",
"linkMeetingTitle": "Свързване на среща със Salesforce",
"liveStreaming": "Излъчване на живо",
@@ -429,7 +429,9 @@
"recentlyUsedObjects": "Вашите наскоро използвани обекти",
"recording": "Запис",
"recordingDisabledBecauseOfActiveLiveStreamingTooltip": "Невъзможно докато е активно излъчване на живо",
"recordingInProgressDescription": "Тази среща се записва и анализира от AI. Звукът и видеото ви са изключени. Ако решите да ги включите, давате съгласие да бъдете записани.",
"recordingInProgressDescription": "Тази среща се записва и анализира от AI{{learnMore}}. Звукът и видеото ви са изключени. Ако решите да ги включите, давате съгласие да бъдете записани.",
"recordingInProgressDescriptionFirstHalf": "Тази среща се записва и анализира от AI",
"recordingInProgressDescriptionSecondHalf": ". Звукът и видеото ви са изключени. Ако решите да ги включите, давате съгласие да бъдете записани.",
"recordingInProgressTitle": "В момента се записва",
"rejoinNow": "Повторно присъединяване сега",
"remoteControlAllowedMessage": "{{user}} прие заявката Ви за отдалечено управление!",
@@ -690,6 +692,8 @@
"googlePrivacyPolicy": "Политика за поверителност на Google",
"inProgress": "В ход е запис или излъчване на живо",
"invalidStreamKey": "Ключът за предаване на живо е грешен.",
"limitNotificationDescriptionNative": "Излъчването ви ще бъде ограничено до {{limit}} мин. За неограничено излъчване опитайте {{app}}.",
"limitNotificationDescriptionWeb": "Поради голямото търсене, излъчването ви ще бъде ограничено до {{limit}} мин. За неограничено излъчване опитайте <a href={{url}} rel='noopener noreferrer' target='_blank'>{{app}}</a>.",
"off": "Край на излъчването на живо",
"offBy": "{{name}} спря излъчването на живо",
"on": "Излъчване на живо",
@@ -1107,6 +1111,8 @@
"highlightMomentSuccess": "Моментът е отбелязан",
"highlightMomentSucessDescription": "Отбелязаният момент ще бъде добавен към резюмето на срещата.",
"inProgress": "В ход е запис или излъчване на живо",
"limitNotificationDescriptionNative": "Поради голямото търсене записът ви ще бъде ограничен до {{limit}} мин. За неограничени записи опитайте <3>{{app}}</3>.",
"limitNotificationDescriptionWeb": "Поради голямото търсене записът ви ще бъде ограничен до {{limit}} мин. За неограничени записи опитайте <a href={{url}} rel='noopener noreferrer' target='_blank'>{{app}}</a>.",
"linkGenerated": "Генерирахме линк към вашия запис.",
"localRecordingNoNotificationWarning": "Записът няма да бъде обявен на другите участници. Ще трябва да ги уведомите, че срещата се записва.",
"localRecordingNoVideo": "Видеото не се записва",

View File

@@ -541,6 +541,8 @@
"googlePrivacyPolicy": "Polítiques de privadesa de Google",
"inProgress": "L'enregistrament o la transmissió en directe és en progrés",
"invalidStreamKey": "La clau de transmissió en directe pot ser incorrecta.",
"limitNotificationDescriptionNative": "L'emissió es limitarà a {{limit}} min. Per a emissions sense límit proveu {{app}}.",
"limitNotificationDescriptionWeb": "Atesa l'alta demanda, la vostra emissió es limitarà a {{limit}} minuts. Per a emissions il·limitades, proveu <a href={{url}} rel='noopener noreferrer' target='_blank'>{{app}}</a>",
"off": "S'ha aturat la transmissió en directe",
"offBy": "{{name}} ha aturat la transmissió en directe",
"on": "Ha començat la transmissió en directe",
@@ -903,6 +905,8 @@
"highlightMomentSuccess": "Moment destacat",
"highlightMomentSucessDescription": "S'ha afegit el moment destacat al resum de la reunió.",
"inProgress": "L'enregistrament o la transmissió en directe és en progrés",
"limitNotificationDescriptionNative": "A causa de la gran demanda, el vostre enregistrament es limitarà a {{limit}} min. Per a enregistraments il·limitats, proveu <3>{{app}}</3>.",
"limitNotificationDescriptionWeb": "A causa de la gran demanda, l'enregistrament es limitarà a {{limit}} min. Per a enregistraments il·limitats, proveu <a href={{url}} rel='noopener noreferrer' target='_blank'>{{app}}</a>.",
"linkGenerated": "S'ha generat un enllaç a l'enregistrament.",
"live": "EN DIRECTE",
"localRecordingNoNotificationWarning": "L'enregistrament no s'anunciarà als altres participants. Els haureu d'informar que la reunió s'està enregistrant.",

View File

@@ -635,6 +635,8 @@
"googlePrivacyPolicy": "Zásady soukromí Google",
"inProgress": "Probíhá nahrávání nebo živé visílání",
"invalidStreamKey": "Klíč k živému přenosu může být chybný.",
"limitNotificationDescriptionNative": "Váš živý přenos může trvat nejvýše {{limit}} min. Pro neomezený přenos vyzkoušejte {{app}}.",
"limitNotificationDescriptionWeb": "Kvůli vysokému zájmu může váš přenos trvat nejvýše {{limit}} min. Pro neomezený přenos vyzkoušejte <a href={{url}} rel='noopener noreferrer' target='_blank'>{{app}}</a>.",
"off": "Živý přenos skončil",
"offBy": "{{name}} zastavil/a živý přenos",
"on": "Živý přenos",
@@ -1035,6 +1037,8 @@
"highlightMomentSuccess": "Zvýrazněný okamžik",
"highlightMomentSucessDescription": "Váš zvýrazněný okamžik bude přidán do shrnutí setkání.",
"inProgress": "Probíhá nahrávání nebo živé vysílání",
"limitNotificationDescriptionNative": "Kvůli vysokému zájmu bude vaše nahrávka omezena na nejvýše {{limit}} min. Pro neomezené nahrávání zkuste <3>{{app}}</3>.",
"limitNotificationDescriptionWeb": "Kvůli vysokému zájmu bude vaše nahrávka omezena na nejvýše {{limit}} min. Pro neomezené nahrávání zkuste <a href={{url}} rel='noopener noreferrer' target='_blank'>{{app}}</a>.",
"linkGenerated": "Vygenerovali jsme odkaz na vaši nahrávku.",
"localRecordingNoNotificationWarning": "Nahrávka nebude oznámena ostatním účastníkům. Budete jim muset dát vědět, že schůzka je nahrána.",
"localRecordingNoVideo": "Video se nenahrává",

File diff suppressed because it is too large Load Diff

View File

@@ -109,15 +109,9 @@
}
},
"chat": {
"disabled": "Chat-Nachrichten sind deaktiviert.",
"enter": "Chat-Raum betreten",
"error": "Fehler: Ihre Nachricht wurde nicht versendet. Grund: {{error}}",
"everyone": "Alle",
"fieldPlaceHolder": "Geben Sie Ihre Nachricht hier ein",
"fileAccessibleTitle": "{{user}} hat eine Datei hochgeladen",
"fileAccessibleTitleMe": "Ich habe eine Datei hochgeladen",
"fileDeleted": "Eine Datei wurde gelöscht",
"guestsChatIndicator": "(Gast)",
"lobbyChatMessageTo": "Lobby-Nachricht an {{recipient}}",
"message": "Nachricht",
"messageAccessibleTitle": "{{user}} sagt:",
@@ -126,20 +120,11 @@
"messagebox": "Nachricht eingeben",
"newMessages": "Neue Nachrichten",
"nickname": {
"featureChat": "Chat",
"featureClosedCaptions": "Untertitel",
"featureFileSharing": "Dateien",
"featurePolls": "Umfragen",
"popover": "Wähle einen Alias",
"title": "Geben Sie einen Alias zum Chatten ein",
"titleWith1Features": "Geben Sie einen Alias ein, um {{feature1}} zu nutzen",
"titleWith2Features": "Geben Sie einen Alias ein, um {{feature1}} und {{feature2}} zu nutzen",
"titleWith3Features": "Geben Sie einen Alias ein, um {{feature1}}, {{feature2}} und {{feature3}} zu nutzen",
"titleWith4Features": "Geben Sie einen Alias ein, um {{feature1}}, {{feature2}}, {{feature3}} und {{feature4}} zu nutzen",
"titleWithCC": "Geben Sie einen Alias zum Chatten und für Untertitel ein",
"titleWithPolls": "Geben Sie einen Alias zum Chatten und für Umfragen ein",
"titleWithPollsAndCC": "Geben Sie einen Alias zum Chatten, für Umfragen und Untertitel ein",
"titleWithPollsAndCCAndFileSharing": "Geben Sie einen Alias zum Chatten, für Umfragen, Untertitel und Dateien ein"
"titleWithPollsAndCC": "Geben Sie einen Alias zum Chatten, für Umfragen und Untertitel ein"
},
"noMessagesMessage": "Es gibt noch keine Nachricht in dieser Konferenz. Starten Sie hier eine Unterhaltung!",
"privateNotice": "Private Nachricht an {{recipient}}",
@@ -147,16 +132,14 @@
"smileysPanel": "Emoji-Auswahl",
"systemDisplayName": "System",
"tabs": {
"chat": "Chat",
"chat": "Chatten",
"closedCaptions": "Untertitel",
"fileSharing": "Dateien",
"polls": "Umfragen"
},
"title": "Chat",
"titleWithCC": "Untertitel",
"titleWithFeatures": "Chat und",
"titleWithFileSharing": "Dateien",
"titleWithPolls": "Umfragen",
"title": "Chatten",
"titleWithCC": "Chatten und Untertitel",
"titleWithPolls": "Chatten und Umfragen",
"titleWithPollsAndCC": "Chatten, Umfragen und Untertitel",
"you": "Sie"
},
"chromeExtensionBanner": {
@@ -227,9 +210,6 @@
"video_ssrc": "Video-SSRC:",
"yes": "Ja"
},
"customPanel": {
"close": "Schließen"
},
"dateUtils": {
"earlier": "Früher",
"today": "Heute",
@@ -294,6 +274,7 @@
"Submit": "OK",
"Understand": "Verstanden, Stummschaltung beibehalten",
"UnderstandAndUnmute": "Verstanden, bitte Stummschaltung aufheben",
"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 …",
@@ -315,12 +296,6 @@
"alreadySharedVideoTitle": "Nur ein geteiltes Video gleichzeitig",
"applicationWindow": "Anwendungsfenster",
"authenticationRequired": "Authentifizierung benötigt",
"cameraCaptureDialog": {
"description": "Ein Bild mit Ihrer Kamera aufnehmen und senden",
"ok": "Kamera starten",
"reject": "Jetzt nicht",
"title": "Ein Bild aufnehmen"
},
"cameraConstraintFailedError": "Ihre Kamera erfüllt die notwendigen Anforderungen nicht.",
"cameraNotFoundError": "Kamera nicht gefunden.",
"cameraNotSendingData": "Die Kamera ist nicht verfügbar. Bitte prüfen, ob eine andere Applikation die Kamera verwendet, eine andere Kamera vom Einstellungs-Menü auswählen oder die Applikation neu laden.",
@@ -383,8 +358,6 @@
"lockRoom": "Konferenz$t(lockRoomPassword) hinzufügen",
"lockTitle": "Sperren fehlgeschlagen",
"login": "Anmelden",
"loginFailed": "Anmeldung fehlgeschlagen.",
"loginOnResume": "Ihre Anmeldung ist abgelaufen. Sie müssen sich neu anmelden um weiter an der Konferenz teilzunehmen.",
"loginQuestion": "Sind Sie sicher, dass sie sich anmelden und die Konferenz verlassen möchten?",
"logoutQuestion": "Sind Sie sicher, dass Sie sich abmelden und die Konferenz verlassen möchten?",
"logoutTitle": "Abmelden",
@@ -398,34 +371,22 @@
"micTimeoutError": "Audioquelle konnte nicht gestartet werden. Zeitüberschreitung",
"micUnknownError": "Das Mikrofon kann aus einem unbekannten Grund nicht verwendet werden.",
"moderationAudioLabel": "Erlaube Anwesenden die Stummschaltung für sich aufzuheben",
"moderationDesktopLabel": "Erlaube Anwesenden ihren Bildschirm freizugeben",
"moderationVideoLabel": "Erlaube Anwesenden ihre Kamera einzuschalten",
"muteEveryoneDialog": "Wollen Sie wirklich alle stummschalten? Sie können deren Stummschaltung nicht mehr beenden, aber sie können ihre Stummschaltung jederzeit selbst beenden.",
"muteEveryoneDialogModerationOn": "Die Anwesenden können eine Anfrage zum Sprechen jederzeit senden.",
"muteEveryoneElseDialog": "Einmal stummgeschaltet, können Sie deren Stummschaltung nicht mehr beenden, aber sie können ihre Stummschaltung jederzeit selbst beenden.",
"muteEveryoneElseTitle": "Alle außer {{whom}} stummschalten?",
"muteEveryoneElsesDesktopDialog": "Sobald die Bildschirmfreigaben beendet sind, können Sie diese nicht mehr starten, aber die anderen können sie jederzeit wieder starten.",
"muteEveryoneElsesDesktopTitle": "Alle Bildschirmfreigaben außer {{whom}} beenden?",
"muteEveryoneElsesVideoDialog": "Sobald die Kamera für alle anderen Personen deaktiviert ist, können Sie diese nicht wieder für alle einschalten, die anderen Personen können ihre Kamera aber jederzeit wieder einschalten.",
"muteEveryoneElsesVideoTitle": "Die Kamera von allen außer {{whom}} ausschalten?",
"muteEveryoneSelf": "sich selbst",
"muteEveryoneStartMuted": "Alle beginnen von jetzt an stummgeschaltet",
"muteEveryoneTitle": "Alle stummschalten?",
"muteEveryonesDesktopDialog": "Die Anwesenden können ihren Bildschirm jederzeit freigeben.",
"muteEveryonesDesktopDialogModerationOn": "Die Anwesenden können jederzeit eine Anfrage zur Bildschirmfreigabe senden.",
"muteEveryonesDesktopTitle": "Alle Bildschirmfreigaben beenden?",
"muteEveryonesVideoDialog": "Sind Sie sicher, dass Sie die Kamera von allen Personen deaktivieren möchten? Sie können dies nicht wieder rückgängig machen, jede Personen kann ihre Kamera aber jederzeit wieder einschalten.",
"muteEveryonesVideoDialogModerationOn": "Die Anwesenden können jederzeit eine Anfrage senden, um ihre Kamera einzuschalten.",
"muteEveryonesVideoDialogOk": "deaktivieren",
"muteEveryonesVideoTitle": "Die Kamera von allen anderen ausschalten?",
"muteParticipantBody": "Sie können die Stummschaltung anderer Personen nicht aufheben, aber eine Person kann ihre eigene Stummschaltung jederzeit beenden.",
"muteParticipantButton": "Stummschalten",
"muteParticipantsDesktopBody": "Sie können Bildschirmfreigaben von anderen nicht starten, sie können dies aber jederzeit.",
"muteParticipantsDesktopBodyModerationOn": "Weder Sie noch andere Anwesende können Bildschirmfreigaben starten.",
"muteParticipantsDesktopButton": "Bildschirmfreigabe beenden",
"muteParticipantsDesktopDialog": "Sind Sie sicher, dass Sie die Bildschirmfreigabe von dieser Person beenden möchten? Sie können diese nicht mehr starten, die Person aber jederzeit.",
"muteParticipantsDesktopDialogModerationOn": "Sind Sie sicher, dass Sie die Bildschirmfreigabe von dieser Person beenden möchten? Weder Sie noch die Person kann die Bildschirmfreigabe wieder starten.",
"muteParticipantsDesktopTitle": "Bildschirmfreigabe von dieser Person beenden?",
"muteParticipantsVideoBody": "Sie können die Kamera nicht wieder einschalten, die Person kann ihre Kamera aber jederzeit wieder einschalten.",
"muteParticipantsVideoBodyModerationOn": "Sie können die Kamera nicht wieder aktivieren und die Person selbst auch nicht.",
"muteParticipantsVideoButton": "Kamera ausschalten",
@@ -445,7 +406,9 @@
"recentlyUsedObjects": "Ihre zuletzt verwendeten Objekte",
"recording": "Aufnahme",
"recordingDisabledBecauseOfActiveLiveStreamingTooltip": "Während eines Livestreams nicht möglich",
"recordingInProgressDescription": "Diese Konferenz wird aufgezeichnet und von KI analysiert. Ihr Ton und Video ist deaktiviert, wenn Sie es aktivieren, stimmen Sie der Aufzeichnung zu.",
"recordingInProgressDescription": "Diese Konferenz wird aufgezeichnet und von KI analysiert {{learnMore}}. Ihr Ton und Video ist deaktiviert, wenn Sie es aktivieren, stimmen Sie der Aufzeichnung zu.",
"recordingInProgressDescriptionFirstHalf": "Diese Konferenz wird aufgezeichnet und von KI analysiert",
"recordingInProgressDescriptionSecondHalf": ". Ihr Ton und Video ist deaktiviert, wenn Sie es aktivieren, stimmen Sie der Aufzeichnung zu.",
"recordingInProgressTitle": "Aufnahme läuft",
"rejoinNow": "Jetzt erneut beitreten",
"remoteControlAllowedMessage": "{{user}} hat die Anfrage zur Fernsteuerung angenommen!",
@@ -536,7 +499,6 @@
"tokenAuthFailedWithReasons": "Teilnahme an der Konferenz fehlgeschlagen. Möglicher Grund: {{reason}}",
"tokenAuthUnsupported": "Token-Authentifizierung wird nicht unterstützt.",
"transcribing": "Wird transkribiert",
"unauthenticatedAccessDisabled": "Zur Teilnahme an dieser Konferenz müssen Sie sich anmelden.",
"unlockRoom": "Konferenz$t(lockRoomPassword) entfernen",
"user": "Anmeldename",
"userIdentifier": "Benutzername",
@@ -577,26 +539,6 @@
"veryBad": "Sehr schlecht",
"veryGood": "Sehr gut"
},
"fileSharing": {
"downloadFailedDescription": "Bitte nochmals versuchen.",
"downloadFailedTitle": "Download fehlgeschlagen",
"downloadFile": "Download",
"downloadStarted": "Download gestartet",
"dragAndDrop": "Dateien hier oder irgendwo auf dem Bildschirm loslassen",
"fileAlreadyUploaded": "Datei wurde schon zur Konferenz hochgeladen.",
"fileRemovedByOther": "Ihre Datei '{{ fileName }}' wurde entfernt",
"fileTooLargeDescription": "Bitte stellen Sie sicher, dass Ihre Datei nicht die Maximalgröße von {{ maxFileSize }} überschreitet.",
"fileTooLargeTitle": "Die ausgewählte Datei ist zu groß",
"fileUploadProgress": "Datei wird hochgeladen",
"fileUploadedSuccessfully": "Datei erfolgreich hochgeladen",
"newFileNotification": "{{ participantName }} hat Datei '{{ fileName }}' hochgeladen",
"removeFile": "Entfernen",
"removeFileSuccess": "Datei erfolgreich entfernt",
"uploadDisabled": "Keine Berechtigung, Dateien hochzuladen. Bitte bei der Moderation anfragen.",
"uploadFailedDescription": "Bitte versuchen Sie es erneut.",
"uploadFailedTitle": "Dateiupload fehlgeschlagen",
"uploadFile": "Datei hochladen"
},
"filmstrip": {
"accessibilityLabel": {
"heading": "Videominiaturen"
@@ -710,6 +652,8 @@
"googlePrivacyPolicy": "Google-Datenschutzerklärung",
"inProgress": "Livestreaming gestartet",
"invalidStreamKey": "Der Livestream-Schlüssel ist u. U. falsch.",
"limitNotificationDescriptionNative": "Ihr Stream ist begrenzt auf {{limit}} Min. Für unlimitiertes Streaming, nutzen Sie bitte {{app}}.",
"limitNotificationDescriptionWeb": "Wegen hoher Nachfrage ist Ihr Stream auf {{limit}} Min. begrenzt. Für unlimitiertes Streaming nutzen Sie bitte <a href={{url}} rel='noopener noreferrer' target='_blank'>{{app}}</a>.",
"off": "Livestream gestoppt",
"offBy": "{{name}} stoppte den Livestream",
"on": "Livestream",
@@ -763,8 +707,7 @@
"notificationTitle": "Lobby",
"passwordJoinButton": "Beitreten",
"title": "Lobby",
"toggleLabel": "Lobby aktivieren",
"waitForModerator": "Die Konferenz wurde noch nicht gestartet, da noch keine Moderation anwesend ist. Wenn Sie zur Moderation gehören, melden Sie sich bitte an, ansonsten warten Sie bitte."
"toggleLabel": "Lobby aktivieren"
},
"localRecording": {
"clientState": {
@@ -807,9 +750,8 @@
"me": "ich",
"notify": {
"OldElectronAPPTitle": "Sicherheitslücke!",
"allowAll": "Alles einschalten",
"allowAudio": "Mikrofon einschalten",
"allowDesktop": "Bildschirmfreigabe einschalten",
"allowBoth": "Beides",
"allowVideo": "Kamera einschalten",
"allowedUnmute": "Sie können die Stummschaltung aufheben, Ihre Kamera einschalten oder Ihren Bildschirm teilen.",
"audioUnmuteBlockedDescription": "Díe Stummschaltung kann aus Überlastungsschutzgründen temporär nicht aufgehoben werden.",
@@ -823,7 +765,6 @@
"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",
"desktopMutedRemotelyTitle": "Ihre Bildschirmfreigabe wurde von {{participantDisplayName}} gestoppt",
"disabledIframe": "Die Einbettung ist nur für Demo-Zwecke vorgesehen. Diese Konferenz wird in {{timeout}} Minuten beendet.",
"disabledIframeSecondaryNative": "Die Einbettung von {{domain}} ist nur für Demo-Zwecke vorgesehen. Diese Konferenz wird in {{timeout}} Minuten beendet.",
"disabledIframeSecondaryWeb": "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!",
@@ -881,7 +822,6 @@
"oldElectronClientDescription1": "Sie scheinen eine alte Version des Jitsi-Meet-Clients zu nutzen. Diese hat bekannte Schwachstellen. Bitte aktualisieren Sie auf unsere ",
"oldElectronClientDescription2": "aktuelle Version",
"oldElectronClientDescription3": "!",
"openChat": "Chat öffnen",
"participantWantsToJoin": "Möchte an der Konferenz teilnehmen",
"participantsWantToJoin": "Möchten an der Konferenz teilnehmen",
"passwordRemovedRemotely": "$t(lockRoomPasswordUppercase) von einer anderen Person entfernt",
@@ -905,7 +845,6 @@
"suggestRecordingDescription": "Möchten Sie eine Aufzeichnung starten?",
"suggestRecordingTitle": "Konferenz aufzeichnen",
"unmute": "Stummschaltung aufheben",
"unmuteScreen": "Bildschirmfreigabe starten",
"unmuteVideo": "Kamera einschalten",
"videoMutedRemotelyDescription": "Sie können sie jederzeit wieder einschalten.",
"videoMutedRemotelyTitle": "Ihre Kamera wurde von {{participantDisplayName}} ausgeschaltet!",
@@ -925,14 +864,11 @@
"admit": "Zulassen",
"admitAll": "Alle zulassen",
"allow": "Anwesenden erlauben:",
"allowDesktop": "Bildschirm freizugeben",
"allowVideo": "Kamera einschalten",
"askDesktop": "Anfragen, Bildschirm freizugeben",
"askUnmute": "Anfragen, Stummschaltung aufzuheben",
"audioModeration": "Für sich selbst die Stummschaltung aufzuheben",
"blockEveryoneMicCamera": "Kamera und Mikrofon von allen sperren",
"breakoutRooms": "Breakout-Räume",
"desktopModeration": "Bildschirmfreigabe",
"goLive": "Live gehen",
"invite": "Person einladen",
"lowerAllHands": "Alle Hände senken",
@@ -944,8 +880,6 @@
"muteAll": "Alle stummschalten",
"muteEveryoneElse": "Alle anderen stummschalten",
"reject": "Ablehnen",
"stopDesktop": "Bildschirmfreigabe beenden",
"stopEveryonesDesktop": "Alle Bildschirmfreigaben beenden",
"stopEveryonesVideo": "Alle Kameras ausschalten",
"stopVideo": "Kamera ausschalten",
"unblockEveryoneMicCamera": "Kamera und Mikrofon von allen entsperren",
@@ -955,11 +889,9 @@
"headings": {
"lobby": "Lobby ({{count}})",
"participantsList": "Anwesende ({{count}})",
"viewerRequests": "Zuschaueranfragen {{count}}",
"visitorInQueue": " (Wartende Gäste {{count}})",
"visitorRequests": " (Anfragen {{count}})",
"visitors": "Gäste ({{count}})",
"visitorsList": "Zuschauer ({{count}})",
"waitingLobby": "In der Lobby ({{count}})"
},
"search": "Suche Anwesende",
@@ -980,9 +912,6 @@
"by": "Von {{ name }}",
"closeButton": "Umfrage schließen",
"create": {
"accessibilityLabel": {
"send": "Umfrage erstellen"
},
"addOption": "Antwort hinzufügen",
"answerPlaceholder": "Antwort {{index}}",
"cancel": "Abbrechen",
@@ -991,7 +920,8 @@
"pollQuestion": "Frage",
"questionPlaceholder": "Eine Frage stellen",
"removeOption": "Antwort entfernen",
"save": "Erstellen"
"save": "Erstellen",
"send": "Senden"
},
"errors": {
"notUniqueOption": "Optionen müssen einzigartig sein"
@@ -1129,6 +1059,8 @@
"highlightMomentSuccess": "Highlight festgehalten",
"highlightMomentSucessDescription": "Ihr festgehaltener Moment wird zur Zusammenfassung der Konferenz hinzugefügt.",
"inProgress": "Aufzeichnung gestartet",
"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.",
"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",
@@ -1190,7 +1122,7 @@
"signedIn": "Momentan wird auf Kalendertermine von {{email}} zugegriffen. Klicken Sie auf die folgende Schaltfläche „Trennen“, um den Zugriff auf die Kalendertermine zu stoppen.",
"title": "Kalender"
},
"chatWithPermissions": "Chat nur für Moderation erlauben",
"chatWithPermissions": "Chat mit Freigaben",
"desktopShareFramerate": "Framerate für Bildschirmfreigabe",
"desktopShareHighFpsWarning": "Eine höhere Framerate könnte sich auf Ihre Datenrate auswirken. Sie müssen die Bildschirmfreigabe neustarten, damit die Einstellung übernommen wird.",
"desktopShareWarning": "Sie müssen die Bildschirmfreigabe neustarten, damit die Einstellung übernommen wird.",
@@ -1315,7 +1247,6 @@
"chat": "Chatfenster öffnen / schließen",
"clap": "Klatschen",
"closeChat": "Chat schließen",
"closeCustomPanel": "Schließen",
"closeMoreActions": "„Weitere Einstellungen“ schließen",
"closeParticipantsPane": "Anwesendenliste schließen",
"closedCaptions": "Untertitel",
@@ -1397,20 +1328,6 @@
"videounmute": "Kamera einschalten"
},
"addPeople": "Personen zur Konferenz hinzufügen",
"advancedAudioSettings": {
"aec": {
"label": "Echounterdrückung"
},
"agc": {
"label": "Automatische Mikrofonlautstärke"
},
"ns": {
"label": "Rauschunterdrückung"
},
"stereo": {
"label": "Stereo"
}
},
"audioOnlyOff": "Modus „Nur Audio“ deaktivieren",
"audioOnlyOn": "Modus „Nur Audio“ aktivieren",
"audioRoute": "Audiogerät auswählen",
@@ -1421,11 +1338,9 @@
"chat": "Chat öffnen / schließen",
"clap": "Klatschen",
"closeChat": "Chat schließen",
"closeCustomPanel": "Schließen",
"closeParticipantsPane": "Anwesenheitsliste schließen",
"closeReactionsMenu": "Interaktionsmenü schließen",
"closedCaptions": "Untertitel",
"copilot": "Copilot",
"disableNoiseSuppression": "Rauschunterdrückung deaktivieren",
"disableReactionSounds": "Sie können die Interaktionstöne für diese Konferenz deaktivieren",
"documentClose": "Geteiltes Dokument schließen",
@@ -1440,7 +1355,6 @@
"exitFullScreen": "Vollbildmodus verlassen",
"exitTileView": "Kachelansicht ausschalten",
"feedback": "Feedback hinterlassen",
"fileSharing": "Dateien",
"giphy": "GIPHY ein-/ausschalten",
"hangup": "Konferenz verlassen",
"help": "Hilfe",
@@ -1476,7 +1390,6 @@
"openReactionsMenu": "Interaktionsmenü öffnen",
"participants": "Anwesende",
"pip": "Bild-in-Bild-Modus einschalten",
"polls": "Umfragen",
"privateMessage": "Private Nachricht senden",
"profile": "Profil bearbeiten",
"raiseHand": "Hand heben",
@@ -1486,7 +1399,6 @@
"reactionHeart": "Herz senden",
"reactionLaugh": "Lachen senden",
"reactionLike": "Daumen hoch senden",
"reactionLove": "Liebe senden",
"reactionSilence": "Stille senden",
"reactionSurprised": "Überrascht senden",
"reactions": "Interaktionen",
@@ -1572,8 +1484,6 @@
"connectionInfo": "Verbindungsinformationen",
"demote": "Zu Gästen verschieben",
"domute": "Stummschalten",
"domuteDesktop": "Bildschirmfreigabe beenden",
"domuteDesktopOfOthers": "Bildschirmfreigabe für alle beenden",
"domuteOthers": "Alle anderen stummschalten",
"domuteVideo": "Kamera ausschalten",
"domuteVideoOfOthers": "Alle anderen Kameras auschalten",
@@ -1638,8 +1548,6 @@
"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.",
"requestToJoin": "Hand gehoben",
"requestToJoinDescription": "Ihre Anfrage wurde an die Moderation gesendet, bitte warten Sie.",
"title": "Sie sind Gast in der Konferenz"
},
"waitingMessage": "Sie werden der Konferenz beitreten, sobald sie gestartet ist!"

View File

@@ -543,6 +543,8 @@
"googlePrivacyPolicy": "regule k woplěwanju datow pla Google",
"inProgress": "Livestreaming jo se zachopił",
"invalidStreamKey": "Kluc za livestream jo ewentuelnje wopacny.",
"limitNotificationDescriptionNative": "Waš stream jo na {{limit}} minutow wobgranicowany. Za njelimitěrowany streaming, wužywajśo aplikaciju {{app}}.",
"limitNotificationDescriptionWeb": "Dla intensiwnego wužywanja jo Waš stream na {{limit}} minutow wobgranicowany. Za njelimitěrowany streaming wužywajśo aplikaciju <a href={{url}} rel='noopener noreferrer' target='_blank'>{{app}}</a>.",
"off": "Livestream jo zastajony",
"offBy": "{{name}} jo livestream zastajił",
"on": "livestream",
@@ -903,6 +905,8 @@
"highlightMomentSuccess": "highlight jo se markěrował",
"highlightMomentSucessDescription": "Waš markěrowany moment pśidajo se k wopowěsći wót zmakanja.",
"inProgress": "Nagrawanje abo livestream jo we źěle",
"limitNotificationDescriptionNative": "Dla intensiwnego wužywanja jo Wašo nagrawanje na {{limit}} minutow wobgranicowane. Za njelimitěrowane nagrawanje wužyj aplikaciju <3>{{app}}</3>.",
"limitNotificationDescriptionWeb": "Dla intensiwnego wužywanja jo Wašo nagrawanje na {{limit}} minutow wobgranicowane. Za njelimitěrowane nagrawanje wužyjśo aplikaciju <a href={{url}} rel='noopener noreferrer' target='_blank'>{{app}}</a>.",
"linkGenerated": "Link k nagrawanju jo se generěrował.",
"live": "LIVE",
"localRecordingNoNotificationWarning": "Druge wobźělniki njedostanu powěsći wót nagrawanja. Wy musyśo jich sami informěrowaś, až konferenca se nagrawa.",

View File

@@ -560,6 +560,8 @@
"googlePrivacyPolicy": "Πολιτική Απορρήτου της Google",
"inProgress": "Εγγραφή ή ζωντανή ροή σε εξέλιξη",
"invalidStreamKey": "Το κλειδί ζωντανής ροής μπορεί να είναι εσφαλμένο.",
"limitNotificationDescriptionNative": "Η ροή σας θα περιοριστεί σε {{limit}} λεπτά. Για ροή χωρίς όρια δοκιμάστε το {{app}}.",
"limitNotificationDescriptionWeb": "Λόγω υψηλής ζήτησης η ροή θα περιοριστεί σε {{limit}} λεπτά. Για απεριόριστες ροές δοκιμάστε το <a href={{url}} rel='noopener noreferrer' target='_blank'>{{app}}</a>.",
"off": "Η Ζωντανή Ροή σταμάτησε",
"offBy": "{{name}} σταμάτησε τη ζωντανή ροή",
"on": "Η Ζωντανή Ροή ξεκίνησε",
@@ -917,6 +919,8 @@
"highlightMomentSuccess": "Η στιγμή επισημάνθηκε",
"highlightMomentSucessDescription": "Οι επισημασμένη στιγμή θα προστεθεί στη περίληψη της σύσκεψης.",
"inProgress": "Σε εξέλιξη καταγραφή ή ζωντανή ροή",
"limitNotificationDescriptionNative": "Λόγω υψηλής ζήτησης η εγγραφή σας θα περιοριστεί σε {{limit}} λεπτά. Για απεριόριστες εγγραφές, δοκιμάστε το <3>{{app}}</3>.",
"limitNotificationDescriptionWeb": "Λόγω υψηλής ζήτησης η εγγραφή σας θα περιοριστεί σε {{limit}} λεπτά. Για απεριόριστες εγγραφές, δοκιμάστε το <a href={{url}} rel='noopener noreferrer' target='_blank'>{{app}}</a>.",
"linkGenerated": "Δημιουργήσαμε ένα σύνδεσμο για τη καταγραφή σας.",
"live": "ΖΩΝΤΑΝΑ",
"localRecordingNoNotificationWarning": "Η καταγραφή δεν θα κοινοποιηθεί στους άλλους συμμετέχοντες. Θα πρέπει εσείς να τους ενημερώσετε ότι η σύσκεψη καταγράφεται.",

View File

@@ -621,6 +621,8 @@
"googlePrivacyPolicy": "Privatecpolitiko de Google",
"inProgress": "Registrado aŭ vivelsendo farata",
"invalidStreamKey": "La ŝlosilo de tuja elsendfluo povas esti malĝusta.",
"limitNotificationDescriptionNative": "Via vivelsendo estos limigita al {{limit}} minutoj. Por senlima vivelsendo provu {{ app}}.",
"limitNotificationDescriptionWeb": "Pro alta postulo, via vivelsendo estos limigita al {{limit}} minutoj. Por senlima vivelsendo provu <a href={{url}} rel='noopener noreferrer' target='_blank'>{{app}}</a>.",
"off": "Tuja elsendfluo finiĝis",
"offBy": "{{name}} ĉesigis la tujan elsendfluon",
"on": "Tuja elsendfluo",
@@ -994,6 +996,8 @@
"highlightMomentSuccess": "Momento emfazita",
"highlightMomentSucessDescription": "Via emfazita momento estos aldonita al la kunveno priskribo",
"inProgress": "Registrado aŭ vivelsendo farata",
"limitNotificationDescriptionNative": "Pro alta postulo via registrado estos limigita al {{ limo }} minutoj. Pro senlima registrado, provu <3>{{app}}</3>.",
"limitNotificationDescriptionWeb": "Pro alta postulo via registrado estos limigita al {{ limo }} minutoj. Pro senlima registrado, provu <a href={{url}} rel='noopener noreferrer' target='_blank'>{{app}}</a>.",
"linkGenerated": "Ni generis ligilon al via registrado.",
"live": "LIVE",
"localRecordingNoNotificationWarning": "La registrado ne estos anoncita al aliaj partoprenantoj. Vi devos sciigi al ili, ke la renkontiĝo estas registrita.",

View File

@@ -502,6 +502,8 @@
"getStreamKeyManually": "No pudimos encontrar tu clave de transmisión. Por favor, obtenla de la página de YouTube y pégala.",
"googlePrivacyPolicy": "Política de Privacidad de Google",
"invalidStreamKey": "Es posible que la clave de transmisión sea incorrecta, o no es de YouTube.",
"limitNotificationDescriptionNative": "Su transmisión estará limitada a {{limit}} minutos. Puede obtener transmisiones ilimitadas en {{app}}.",
"limitNotificationDescriptionWeb": "Debido a la alta demanda su transmisión estará limitada a {{limit}} minutos. Puede obtener transmisiones ilimitadas en <a href={{url}} rel='noopener noreferrer' target='_blank'>{{app}}</a>.",
"off": "Se detuvo la transmisión",
"offBy": "{{name}} detuvo la transmisión",
"on": "Transmitiendo en vivo",
@@ -798,6 +800,8 @@
"expandedPending": "La grabación se está iniciando…",
"failedToStart": "No se pudo iniciar la grabación",
"fileSharingdescription": "Compartir la grabación con los participantes de la reunión",
"limitNotificationDescriptionNative": "Su grabación estará limitada a {{limit}} minutos. Puede obtener grabaciones ilimitadas en <3>{{app}}</3>.",
"limitNotificationDescriptionWeb": "Debido a la alta demanda su grabación estará limitada a {{limit}} minutos. Puede obtener grabaciones ilimitadas en <a href={{url}} rel='noopener noreferrer' target='_blank'>{{app}}</a>.",
"linkGenerated": "Hemos generado un enlace a su grabación.",
"live": "EN VIVO",
"loggedIn": "Sesión iniciada como {{userName}}",

View File

@@ -578,6 +578,8 @@
"googlePrivacyPolicy": "Política de Privacidad de Google",
"inProgress": "Grabación o transmisión en vivo en curso",
"invalidStreamKey": "Es posible que la clave de transmisión sea incorrecta, o no es de YouTube.",
"limitNotificationDescriptionNative": "Su transmisión estará limitada a {{limit}} minutos. Puede obtener transmisiones ilimitadas en {{app}}.",
"limitNotificationDescriptionWeb": "Debido a la alta demanda su transmisión estará limitada a {{limit}} minutos. Puede obtener transmisiones ilimitadas en <a href={{url}} rel='noopener noreferrer' target='_blank'>{{app}}</a>.",
"off": "Se detuvo la transmisión",
"offBy": "{{name}} detuvo la transmisión",
"on": "Transmitiendo en vivo",
@@ -883,7 +885,6 @@
"or": "o",
"premeeting": "Pre-reunión",
"proceedAnyway": "Continuar de todos modos",
"recordingWarning": "Otros participantes pueden estar grabando esta llamada",
"screenSharingError": "Error al compartir pantalla:",
"startWithPhone": "Iniciar con audio de llamada telefónica",
"unsafeRoomConsent": "Comprendo los riesgos, quiero unirme a la reunión",
@@ -946,6 +947,8 @@
"highlightMomentSuccess": "Momento destacado",
"highlightMomentSucessDescription": "Su momento destacado será agregado al resumen de la reunión.",
"inProgress": "Grabación o transmisión en vivo en curso",
"limitNotificationDescriptionNative": "Su grabación estará limitada a {{limit}} minutos. Puede obtener grabaciones ilimitadas en <3>{{app}}</3>.",
"limitNotificationDescriptionWeb": "Debido a la alta demanda su grabación estará limitada a {{limit}} minutos. Puede obtener grabaciones ilimitadas en <a href={{url}} rel='noopener noreferrer' target='_blank'>{{app}}</a>.",
"linkGenerated": "Hemos generado un enlace a su grabación.",
"live": "EN VIVO",
"localRecordingNoNotificationWarning": "La grabación no será anunciada al resto de participantes. Necesitarás hacerles saber que la reunión está siendo grabada.",

View File

@@ -444,6 +444,8 @@
"getStreamKeyManually": "Ezin izan dugu zure transmisio-gakoa bilatu. Lortu ezazu YouTuberen webgunetik.",
"googlePrivacyPolicy": "Google-en pribatutasun-politika",
"invalidStreamKey": "Zuzeneko transmisioaren gakoa okerra izan daiteke.",
"limitNotificationDescriptionNative": "Zure emanaldia {{limit}} minutura mugatuta dago. Mugarik gabekoa nahi baduzu probatu {{app}}.",
"limitNotificationDescriptionWeb": "Zuzeneko emanaldien arrakasta dela eta {{limit}} minutura mugatuta daude. Mugarik gabekoa nahi baduzu probatu <a href={{url}} rel='noopener noreferrer' target='_blank'>{{app}}</a>.",
"off": "Zuzeneko transmisioa gelditu da",
"offBy": "{{name}} erabiltzaileak zuzeneko emanaldia gelditu du",
"on": "Zuzeneko transmisioa",
@@ -683,6 +685,8 @@
"expandedPending": "Grabaketa abian da…",
"failedToStart": "Grabazioa hasteak huts egin du",
"fileSharingdescription": "Partekatu grabazioa bileraren parte-hartzaileekin",
"limitNotificationDescriptionNative": "Zure grabazioa {{limit}} minutura mugatuta dago. Mugarik gabeko grabazioak izateko probatu <3>{{app}}</3>.",
"limitNotificationDescriptionWeb": "Zure grabazioa {{limit}} minutura mugatuta dago. Mugarik gabeko grabazioak izateko probatu <a href={{url}} rel='noopener noreferrer' target='_blank'>{{app}}</a>.",
"live": "ZUZENEAN",
"loggedIn": "{{userName}} gisa saioa hasita",
"off": "Grabazioa gelditu da",

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -359,7 +359,7 @@
"kickParticipantTitle": "Expulser ce membre?",
"kickSystemTitle": "Oups ! Vous avez été expulsé de la réunion",
"kickTitle": "Expulsé de la réunion",
"learnMore": "En savoir plus",
"learnMore": "en savoir plus",
"linkMeeting": "Relier la réunion",
"linkMeetingTitle": "Relier la réunion à Salesforce",
"liveStreaming": "Diffusion en direct",
@@ -429,7 +429,9 @@
"recentlyUsedObjects": "Vos objets récemment utilisés",
"recording": "Enregistrement",
"recordingDisabledBecauseOfActiveLiveStreamingTooltip": "Impossible durant le direct",
"recordingInProgressDescription": "Cette réunion est en cours d'enregistrement et d'analyse par IA. Votre audio et vidéo ont été coupés. Si vous choisissez de vous réactiver, vous consentez à être enregistré.",
"recordingInProgressDescription": "Cette réunion est en cours d'enregistrement et d'analyse par IA{{learnMore}}. Votre audio et vidéo ont été coupés. Si vous choisissez de vous réactiver, vous consentez à être enregistré.",
"recordingInProgressDescriptionFirstHalf": "Cette réunion est en cours d'enregistrement et d'analyse par IA",
"recordingInProgressDescriptionSecondHalf": ". Votre audio et vidéo ont été coupés. Si vous choisissez de vous réactiver, vous consentez à être enregistré.",
"recordingInProgressTitle": "Enregistrement en cours",
"rejoinNow": "Rejoindre maintenant",
"remoteControlAllowedMessage": "{{user}} a accepté votre demande de contrôle à distance!",
@@ -690,6 +692,8 @@
"googlePrivacyPolicy": "Politique de confidentialité de Google",
"inProgress": "Enregisrtement ou diffusion en cours",
"invalidStreamKey": "La clé de diffusion en direct peut être erronée.",
"limitNotificationDescriptionNative": "Votre diffusion sera limitée à {{limit}} min. Pour une diffusion illimitée, essayez {{app}}.",
"limitNotificationDescriptionWeb": "En raison d'une forte demande, votre diffusion sera limitée à {{limit}} min. Pour une diffusion illimitée, essayez <a href={{url}} rel='noopener noreferrer' target='_blank'> {{app}} </a>.",
"off": "La diffusion en direct s'est arrêtée",
"offBy": "{{name}} a arrêté la diffusion en continu",
"on": "Diffusion en direct",
@@ -1107,6 +1111,8 @@
"highlightMomentSuccess": "Moment souligné",
"highlightMomentSucessDescription": "Votre moment souligné sera ajouté au résumé de la réunion.",
"inProgress": "Enregistrement ou diffusion en cours",
"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.",
"localRecordingNoNotificationWarning": "Le démarrage de lenregistrement ne sera pas annoncé aux autres participants. Vous devrez les informer par vous-même que la réunion sera enregistrée.",
"localRecordingNoVideo": "La vidéo n'est pas en cours denregistrement",

View File

@@ -114,9 +114,6 @@
"error": "Erreur : votre message n'a pas été envoyé. Raison : {{error}}",
"everyone": "Tout le monde",
"fieldPlaceHolder": "Tapez votre message ici",
"fileAccessibleTitle": "{{user}} a téléversé un fichier",
"fileAccessibleTitleMe": "jai téléversé un fichier",
"fileDeleted": "Un fichier a été supprimé",
"guestsChatIndicator": "(invité)",
"lobbyChatMessageTo": "Message de salle d'attente à {{recipient}}",
"message": "Message",
@@ -126,16 +123,8 @@
"messagebox": "Envoyer un message",
"newMessages": "Nouveaux messages",
"nickname": {
"featureChat": "chat",
"featureClosedCaptions": "sous-titres",
"featureFileSharing": "partage de fichiers",
"featurePolls": "sondages",
"popover": "Choisissez un pseudonyme",
"title": "Entrez un pseudonyme pour utiliser le chat",
"titleWith1Features": "Entrez un pseudonyme pour utiliser {{feature1}}",
"titleWith2Features": "Entrez un pseudonyme pour utiliser {{feature1}} et {{feature2}}",
"titleWith3Features": "Entrez un pseudonyme pour utiliser {{feature1}}, {{feature2}} et {{feature3}}",
"titleWith4Features": "Entrez un pseudonyme pour utiliser {{feature1}}, {{feature2}}, {{feature3}} et {{feature4}}",
"titleWithCC": "Entrez un pseudonyme pour utiliser le chat et les sous-titres",
"titleWithPolls": "Entrez un pseudonyme pour utiliser le chat et les sondages",
"titleWithPollsAndCC": "Entrez un pseudonyme pour utiliser le chat, les sondages et les sous-titres",
@@ -227,9 +216,6 @@
"video_ssrc": "Video SSRC :",
"yes": "oui"
},
"customPanel": {
"close": "Fermer"
},
"dateUtils": {
"earlier": "Plus tôt",
"today": "Aujourd'hui",
@@ -373,7 +359,7 @@
"kickParticipantTitle": "Expulser ce participant ?",
"kickSystemTitle": "Oups ! Vous avez été expulsé de la réunion",
"kickTitle": "Oups ! vous avez été expulsé(e) par {{participantDisplayName}}",
"learnMore": "En savoir plus",
"learnMore": "en savoir plus",
"linkMeeting": "Relier la conférence",
"linkMeetingTitle": "Relier la conférence à Salesforce",
"liveStreaming": "Direct",
@@ -443,7 +429,9 @@
"recentlyUsedObjects": "Vos objets récemment utilisés",
"recording": "Enregistrement",
"recordingDisabledBecauseOfActiveLiveStreamingTooltip": "Impossible durant le direct",
"recordingInProgressDescription": "Cette réunion est en cours d'enregistrement et d'analyse par IA. Votre audio et vidéo ont été coupés. Si vous choisissez de vous réactiver, vous consentez à être enregistré.",
"recordingInProgressDescription": "Cette réunion est en cours d'enregistrement et d'analyse par IA{{learnMore}}. Votre audio et vidéo ont été coupés. Si vous choisissez de vous réactiver, vous consentez à être enregistré.",
"recordingInProgressDescriptionFirstHalf": "Cette réunion est en cours d'enregistrement et d'analyse par IA",
"recordingInProgressDescriptionSecondHalf": ". Votre audio et vidéo ont été coupés. Si vous choisissez de vous réactiver, vous consentez à être enregistré.",
"recordingInProgressTitle": "Enregistrement en cours",
"rejoinNow": "Rejoindre maintenant",
"remoteControlAllowedMessage": "{{user}} a accepté votre demande de prise en main à distance !",
@@ -534,7 +522,6 @@
"tokenAuthFailedWithReasons": "Désolé, vous nêtes pas autorisé à rejoindre lappel. La raison possible : {{reason}}.",
"tokenAuthUnsupported": "Token URL n'est pas supporté.",
"transcribing": "Transcription",
"unauthenticatedAccessDisabled": "Cet appel nécessite une authentification. Veuillez vous connecter pour continuer.",
"unlockRoom": "Supprimer le $t(lockRoomPassword) de la réunion",
"user": "Utilisateur",
"userIdentifier": "Identifiant utilisateur",
@@ -582,12 +569,10 @@
"downloadStarted": "Téléchargement de fichier démarré",
"dragAndDrop": "Glissez et déposez des fichiers ici ou n'importe où sur l'écran",
"fileAlreadyUploaded": "Le fichier a déjà été téléchargé vers cette réunion.",
"fileRemovedByOther": "Votre fichier « {{ fileName }} » a été supprimé",
"fileTooLargeDescription": "Veuillez vous assurer que le fichier ne dépasse pas {{ maxFileSize }}.",
"fileTooLargeTitle": "Le fichier sélectionné est trop volumineux",
"fileUploadProgress": "Progression du téléchargement de fichier",
"fileUploadedSuccessfully": "Fichier téléchargé avec succès",
"newFileNotification": "{{ participantName }} a partagé « {{ fileName }} »",
"removeFile": "Supprimer",
"removeFileSuccess": "Fichier supprimé avec succès",
"uploadFailedDescription": "Veuillez réessayer.",
@@ -707,6 +692,8 @@
"googlePrivacyPolicy": "Politique de confidentialité de Google",
"inProgress": "Enregisrtement ou diffusion en cours",
"invalidStreamKey": "La clé de diffusion en direct n'est peut-être pas correcte.",
"limitNotificationDescriptionNative": "Votre diffusion sera limitée à {{limit}} min. Pour une diffusion illimitée, essayez {{app}}.",
"limitNotificationDescriptionWeb": "En raison d'une forte demande, votre diffusion sera limitée à {{limit}} min. Pour une diffusion illimitée, essayez <a href={{url}} rel='noopener noreferrer' target='_blank'> {{app}} </a>.",
"off": "La diffusion en direct (streaming) a été arrêté",
"offBy": "{{name}} a arrêté la diffusion en direct",
"on": "En direct",
@@ -977,9 +964,6 @@
"by": "Par {{ name }}",
"closeButton": "Fermer le sondage",
"create": {
"accessibilityLabel": {
"send": "Envoyer le sondage"
},
"addOption": "Ajouter une option",
"answerPlaceholder": "Option {{index}}",
"cancel": "Annuler",
@@ -988,7 +972,8 @@
"pollQuestion": "Question du sondage",
"questionPlaceholder": "Poser une question",
"removeOption": "Supprimer l'option",
"save": "Enregistrer"
"save": "Enregistrer",
"send": "Envoyer"
},
"errors": {
"notUniqueOption": "Les options doivent être uniques"
@@ -1126,6 +1111,8 @@
"highlightMomentSuccess": "Moment souligné",
"highlightMomentSucessDescription": "Votre moment souligné sera ajouté au résumé de la réunion.",
"inProgress": "Enregistrement ou diffusion en cours",
"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.",
"localRecordingNoNotificationWarning": "Le démarrage de lenregistrement ne sera pas annoncé aux autres participants. Vous devrez les informer par vous-même que la réunion sera enregistrée.",
"localRecordingNoVideo": "La vidéo n'est pas en cours denregistrement",
@@ -1312,7 +1299,6 @@
"chat": "Afficher / Masquer la discussion instantanée",
"clap": "Applaudir",
"closeChat": "Fermer la discussion instantanée",
"closeCustomPanel": "Fermer",
"closeMoreActions": "Fermer le menu plus d'actions",
"closeParticipantsPane": "Fermer le panneau des participants",
"closedCaptions": "Sous-titres",
@@ -1418,11 +1404,9 @@
"chat": "Ouvrir / Fermer le chat",
"clap": "Applaudir",
"closeChat": "Fermer le chat",
"closeCustomPanel": "Fermer",
"closeParticipantsPane": "Fermer le panneau des participants",
"closeReactionsMenu": "Fermer le menu réactions",
"closedCaptions": "Sous-titres",
"copilot": "Copilot",
"disableNoiseSuppression": "Arrêter la suppression du bruit",
"disableReactionSounds": "Vous pouvez interdire les réactions sonores à cette réunion",
"documentClose": "Fermer le document partagé",
@@ -1437,7 +1421,6 @@
"exitFullScreen": "Quitter le mode plein écran",
"exitTileView": "Quitter le mode mosaïque",
"feedback": "Laisser des commentaires",
"fileSharing": "Partage de fichiers",
"giphy": "Activer/désactiver le menu GIPHY",
"hangup": "Quitter",
"help": "Aide",
@@ -1473,7 +1456,6 @@
"openReactionsMenu": "Ouvrir le menu Réactions",
"participants": "Participants",
"pip": "Entrer en mode Picture-in-Picture",
"polls": "Sondages",
"privateMessage": "Envoyer un message privé",
"profile": "Éditer votre profil",
"raiseHand": "Lever / Baisser la main",

File diff suppressed because it is too large Load Diff

View File

@@ -541,6 +541,8 @@
"googlePrivacyPolicy": "Google politika privatnosti",
"inProgress": "U tijeku je snimanje ili prijenos uživo",
"invalidStreamKey": "Ključ prijenosa uživo možda nije ispravan.",
"limitNotificationDescriptionNative": "Tvoj prijenos će biti ograničen na {{limit}} min. Za neograničeni prijenos isprobaj {{app}}.",
"limitNotificationDescriptionWeb": "Zbog velike potražnje će tvoj prijenos biti ograničen na {{limit}} min. Za neograničeni prijenos isprobaj <a href={{url}} rel='noopener noreferrer' target='_blank'>{{app}}</a>.",
"off": "Prijenos uživo prekinut",
"offBy": "{{name}} je prekinuo/la prijenos uživo",
"on": "Prijenos uživo pokrenut",
@@ -901,6 +903,8 @@
"highlightMomentSuccess": "Trenutak istaknut",
"highlightMomentSucessDescription": "Tvoj istaknuti trenutak će se dodati u sažetak sastanka.",
"inProgress": "Snimanje ili prijenos uživo u tijeku",
"limitNotificationDescriptionNative": "Zbog velike potražnje, tvoje će snimanje biti ograničeno na {{limit}} min. Za neograničeno snimanje isprobaj <3>{{app}}</3>.",
"limitNotificationDescriptionWeb": "Zbog velike potražnje, tvoje će snimanje biti ograničeno na {{limit}} min. Za neograničeno snimanje isprobaj <a href={{url}} rel='noopener noreferrer' target='_blank'>{{app}}</a>.",
"linkGenerated": "Generirali smo poveznicu za tvoje snimanje.",
"live": "UŽIVO",
"localRecordingNoNotificationWarning": "Snimanje se neće najaviti ostalim sudionicima. Morat ćeš ih obavijestiti da se sastanak snima.",

View File

@@ -531,6 +531,8 @@
"googlePrivacyPolicy": "regule za datowy škit pola Google",
"inProgress": "live-stream startowany",
"invalidStreamKey": "Kluč za live-stream njeje najskerje prawy.",
"limitNotificationDescriptionNative": "Waš stream je na {{limit}} mjeń. wobmjezowany. Za njewobmjezowany streaming wužiwajće prošu {{app}}.",
"limitNotificationDescriptionWeb": "Wysokeje potrjeby dla je Waš stream na {{limit}} mjeń. wobmjezowany. Za njewobmjezowany streaming dźiće prošu na <a href={{url}} rel='noopener noreferrer' target='_blank'>{{app}}</a>.",
"off": "live-stream stopowany",
"offBy": "{{name}} zadźerža live-stream",
"on": "live-stream",
@@ -885,6 +887,8 @@
"highlightMomentSuccess": "markěrowane",
"highlightMomentSucessDescription": "Waš markěrowany wokomik so k zjeću konferency přida.",
"inProgress": "nahrawanje startowane",
"limitNotificationDescriptionNative": " Wulkeje potrjeby dla je Waše nahraće na {{limit}} mjeń. wobmjezowane. Za njewobmjezowane nahraće wužiwajće prošu <3>{{app}}</3>.",
"limitNotificationDescriptionWeb": "Wulkeje potrjeby dla je Waše nahrawanje na {{limit}} mjeń. wobmjezowane. Za njewobmjezowane nahrawanje wužiwajće prošu <a href={{url}} rel='noopener noreferrer' target='_blank'>{{app}}</a>.",
"linkGenerated": "link na nahrawanje bu kreěrowany",
"live": "LIVE",
"localRecordingWarning": "Kedźbujće na to, aktualny tab za prawe widejo a awdijo wužiwać.",

View File

@@ -631,6 +631,8 @@
"googlePrivacyPolicy": "Kebijakan Privasi Google",
"inProgress": "Perekaman atau siaran langsung sedang berlangsung",
"invalidStreamKey": "Kunci siaran langsung mungkin salah.",
"limitNotificationDescriptionNative": "Pemutaran streaming Anda akan dibatasi menjadi {{limit}} menit. Untuk streaming tanpa batas, coba {{app}}.",
"limitNotificationDescriptionWeb": "Karena permintaan yang tinggi, streaming Anda akan dibatasi menjadi {{limit}} menit. Untuk streaming tanpa batas, coba <a href={{url}} rel='noopener noreferrer' target='_blank'>{{app}}</a>.",
"off": "Siaran Langsung berhenti",
"offBy": "{{name}} menghentikan siaran langsung",
"on": "Siaran Langsung dimulai",
@@ -1014,6 +1016,8 @@
"highlightMomentSuccess": "Momen disorot",
"highlightMomentSucessDescription": "Momen yang Anda sorot akan ditambahkan ke ringkasan pertemuan.",
"inProgress": "Rekaman atau siaran langsung sedang berlangsung",
"limitNotificationDescriptionNative": "Karena permintaan tinggi, rekaman Anda akan dibatasi menjadi {{limit}} menit. Untuk rekaman tanpa batas, coba <3>{{app}}</3>.",
"limitNotificationDescriptionWeb": "Karena permintaan tinggi, rekaman Anda akan dibatasi menjadi {{limit}} menit. Untuk rekaman tanpa batas, coba <a href={{url}} rel='noopener noreferrer' target='_blank'>{{app}}</a>.",
"linkGenerated": "Kami telah menghasilkan tautan untuk rekaman Anda.",
"localRecordingNoNotificationWarning": "Rekaman tidak akan diumumkan kepada peserta lain. Anda perlu memberi tahu mereka bahwa pertemuan direkam.",
"localRecordingNoVideo": "Video tidak direkam",

View File

@@ -622,6 +622,8 @@
"googlePrivacyPolicy": "Meðferð persónuupplýsinga hjá Google",
"inProgress": "Upptaka eða beint streymi í gangi",
"invalidStreamKey": "Lykill fyrir beint streymi gæti verið rangur.",
"limitNotificationDescriptionNative": "Streymið þitt verður takmarkað við {{limit}} mínútur. Fyrir ótakmarkað streymi ættirðu að prófa {{app}}.",
"limitNotificationDescriptionWeb": "Vegna mikils álags verður streymið þitt takmarkað við {{limit}} mínútur. Fyrir ótakmarkað streymi ættirðu að prófa <a href={{url}} rel='noopener noreferrer' target='_blank'>{{app}}</a>.",
"off": "Beint streymi stöðvað",
"offBy": "{{name}} stöðvaði beina streymið",
"on": "Beint streymi er hafið",
@@ -995,6 +997,8 @@
"highlightMomentSuccess": "Áherslulitað augnablik",
"highlightMomentSucessDescription": "Áherslulituðum augnablikum mun verða bætt við yfirlit fundarins.",
"inProgress": "Upptaka eða beint streymi í gangi",
"limitNotificationDescriptionNative": "Vegna mikils álags verður upptakan þín takmörkuð við {{limit}} mínútur. Fyrir ótakmarkaðar upptökur ættirðu að prófa <3>{{app}}</3>.",
"limitNotificationDescriptionWeb": "Vegna mikils álags verður upptakan þín takmörkuð við {{limit}} mínútur. Fyrir ótakmarkaðar upptökur ættirðu að prófa <a href={{url}} rel='noopener noreferrer' target='_blank'>{{app}}</a>.",
"linkGenerated": "Við höfum útbúið tengil á upptökuna þína.",
"localRecordingNoNotificationWarning": "Upptakan verður ekki tilkynnt öðrum þátttakendum. Þú þarft að láta aðra vita að fundurinn sé tekinn upp.",
"localRecordingNoVideo": "Ekki er verið að taka upp myndmerki",

View File

@@ -114,9 +114,6 @@
"error": "Errore: il tuo messaggio non è stato inviato. Motivo: {{error}}",
"everyone": "Tutti",
"fieldPlaceHolder": "Scrivi qui il tuo messaggio",
"fileAccessibleTitle": "{{user}} ha caricato un file",
"fileAccessibleTitleMe": "ho caricato un file",
"fileDeleted": "Un file è stato eliminato",
"guestsChatIndicator": "(ospite)",
"lobbyChatMessageTo": "Messaggio a {{recipient}} in sala d'attesa",
"message": "Messaggio",
@@ -126,16 +123,8 @@
"messagebox": "Digita un messaggio",
"newMessages": "Nuovi messaggi",
"nickname": {
"featureChat": "la chat",
"featureClosedCaptions": "i sottotitoli",
"featureFileSharing": "la condivisione file",
"featurePolls": "i sondaggi",
"popover": "Scegli un nickname",
"title": "Inserisci un nickname per usare la chat",
"titleWith1Features": "Inserisci un nickname per usare {{feature1}}",
"titleWith2Features": "Inserisci un nickname per usare {{feature1}} e {{feature2}}",
"titleWith3Features": "Inserisci un nickname per usare {{feature1}}, {{feature2}} e {{feature3}}",
"titleWith4Features": "Inserisci un nickname per usare {{feature1}}, {{feature2}}, {{feature3}} e {{feature4}}",
"titleWithCC": "Inserisci un nickname per usare la chat e i sottotitoli",
"titleWithPolls": "Inserisci un nickname per usare la chat e i sondaggi",
"titleWithPollsAndCC": "Inserisci un nickname per usare la chat, i sondaggi e i sottotitoli",
@@ -167,7 +156,7 @@
"installExtensionText": "Installa un'estensione per integrare Google Calendar e Office 365"
},
"closedCaptionsTab": {
"emptyState": "Il contenuto dei sottotitoli sarà disponibile una volta che un moderatore lo attiverà",
"emptyState": "Il contenuto dei sottotitoli sarà disponibile una volta che l'organizzatore lo attiverà",
"startClosedCaptionsButton": "Attiva sottotitoli"
},
"connectingOverlay": {
@@ -291,9 +280,10 @@
"Submit": "Invia",
"Understand": "Accetto, mantieni microfono e videocamera disattivati per ora",
"UnderstandAndUnmute": "Accetto, riattiva microfono e videocamera",
"WaitForHostNoAuthMsg": "La riunione non è ancora iniziata perché nessun moderatore si è ancora collegato. Si prega di attendere.",
"WaitingForHostButton": "Attendi un moderatore",
"WaitingForHostTitle": "In attesa di un moderatore",
"WaitForHostMsg": "La riunione non è ancora iniziata. Se sei l'organizzatore, per favore autenticati. Altrimenti, attendi l'arrivo dell'organizzatore.",
"WaitForHostNoAuthMsg": "La riunione non è ancora iniziata perché nessun organizzatore si è ancora collegato. Si prega di attendere.",
"WaitingForHostButton": "Attendi l'organizzatore",
"WaitingForHostTitle": "In attesa dell'organizzatore…",
"Yes": "Sì",
"accessibilityLabel": {
"Cancel": "Annulla (chiudi dialogo)",
@@ -356,8 +346,8 @@
"error": "Errore",
"errorRoomCreationRestriction": "Hai provato ad accedere alla riunione troppo presto, torna tra un po'.",
"gracefulShutdown": "Il nostro servizio è al momento inattivo per manutenzione. Si prega di riprovare più tardi.",
"grantModeratorDialog": "Desideri di concedere i permessi da moderatore a {{participantName}}?",
"grantModeratorTitle": "Concedi permessi da moderatore",
"grantModeratorDialog": "Vuoi rendere relatore questo partecipante?",
"grantModeratorTitle": "Fai diventare relatore",
"hide": "Nascondi",
"hideShareAudioHelper": "Non mostrare più questa finestra",
"incorrectPassword": "Nome utente o password errati",
@@ -370,7 +360,7 @@
"kickParticipantTitle": "Espellere questo partecipante?",
"kickSystemTitle": "Oh! Sei stato espulso dalla riunione",
"kickTitle": "Oh! {{participantDisplayName}} ti ha espulso dalla riunione.",
"learnMore": "Ulteriori informazioni",
"learnMore": "ulteriori informazioni",
"linkMeeting": "Collega la riunione",
"linkMeetingTitle": "Collega la riunione a Salesforce",
"liveStreaming": "Diretta",
@@ -441,6 +431,8 @@
"recording": "Registrazione",
"recordingDisabledBecauseOfActiveLiveStreamingTooltip": "Impossibile durante una diretta.",
"recordingInProgressDescription": "Questa riunione sta venendo registrata e analizzata dall'IA. I tuoi audio e video sono stati disattivati. Riattivandoli, acconsenti ad essere registrato.",
"recordingInProgressDescriptionFirstHalf": "Questa riunione sta venendo registrata e analizzata dall'IA",
"recordingInProgressDescriptionSecondHalf": ". I tuoi audio e video sono stati disattivati. Riattivandoli, acconsenti ad essere registrato.",
"recordingInProgressTitle": "Registrazione in corso",
"rejoinNow": "Ricollegati ora",
"remoteControlAllowedMessage": "{{user}} ha accettato la tua richiesta di controllo remoto!",
@@ -531,7 +523,6 @@
"tokenAuthFailedWithReasons": "Non sei autorizzato a partecipare a questa chiamata. Possibile motivo: {{reason}}",
"tokenAuthUnsupported": "Il token URL non è supportato.",
"transcribing": "Trascrizione in corso",
"unauthenticatedAccessDisabled": "Questa chiamata richiede l'autenticazione. Si prega di accedere per procedere.",
"unlockRoom": "Rimuovi la $t(lockRoomPassword) alla riunione",
"user": "Utente",
"userIdentifier": "Identificatore utente",
@@ -579,12 +570,10 @@
"downloadStarted": "Download del file iniziato",
"dragAndDrop": "Trascina e rilascia i file qui o da qualsiasi altra parte nella schermata",
"fileAlreadyUploaded": "Questo file è già stato caricato nella riunione.",
"fileRemovedByOther": "Il tuo file '{{ fileName }}' è stato rimosso",
"fileTooLargeDescription": "Assicurati che il file non superi {{ maxFileSize }}.",
"fileTooLargeTitle": "Il file selezionato è troppo grande",
"fileUploadProgress": "Caricamento del file in corso",
"fileUploadedSuccessfully": "Il file è stato caricato con successo",
"newFileNotification": "{{ participantName }} ha condiviso '{{ fileName }}'",
"removeFile": "Rimuovi",
"removeFileSuccess": "File rimosso con successo",
"uploadFailedDescription": "Si prega di riprovare.",
@@ -704,6 +693,8 @@
"googlePrivacyPolicy": "Politiche sulla privacy di Google",
"inProgress": "Registrazione o diretta in corso",
"invalidStreamKey": "La chiave della diretta potrebbe non essere corretta.",
"limitNotificationDescriptionNative": "La tua diretta sarà limitata a {{limit}} minuti. Per dirette illimitate prova {{app}}.",
"limitNotificationDescriptionWeb": "Data la grossa domanda la tua diretta sarà limitata a {{limit}} minuti. Per dirette illimitate, prova <a href={{url}} rel='noopener noreferrer' target='_blank'>{{app}}</a>.",
"off": "La diretta si è interrotta",
"offBy": "{{name}} ha fermato la diretta",
"on": "Diretta avviata",
@@ -731,12 +722,12 @@
"emailField": "Inserisci il tuo indirizzo email",
"enableDialogPasswordField": "Imposta password (opzionale)",
"enableDialogSubmit": "Attiva",
"enableDialogText": "La sala d'attesa ti permette di proteggere la riunione concedendo l'accesso solo alle persone autorizzate da un moderatore.",
"enableDialogText": "La sala d'attesa ti permette di proteggere la riunione concedendo l'accesso solo alle persone autorizzate da un organizzatore.",
"enterPasswordButton": "Inserisci password riunione",
"enterPasswordTitle": "Inserisci la password per entrare nella riunione",
"errorMissingPassword": "Inserisci la password della riunione",
"invalidPassword": "Password errata",
"joinRejectedMessage": "La tua richiesta d'accesso è stata respinta da un moderatore.",
"joinRejectedMessage": "La tua richiesta d'accesso è stata respinta da un organizzatore.",
"joinRejectedTitle": "Richiesta d'accesso respinta.",
"joinTitle": "Entra nella riunione",
"joinWithPasswordMessage": "Tentativo di accesso con password in corso, si prega di attendere…",
@@ -757,8 +748,7 @@
"notificationTitle": "Sala d'attesa",
"passwordJoinButton": "Entra",
"title": "Sala d'attesa",
"toggleLabel": "Attiva sala d'attesa",
"waitForModerator": "La riunione non è ancora iniziata, perché non è arrivato alcun moderatore. Se vuoi diventarlo autenticati, altrimenti si prega di attendere."
"toggleLabel": "Attiva sala d'attesa"
},
"localRecording": {
"clientState": {
@@ -776,11 +766,11 @@
"me": "Io",
"messages": {
"engaged": "Registrazione avviata.",
"finished": "La registrazione della sessione {{token}} è terminata. Invia il file della registrazione al moderatore.",
"finishedModerator": "La registrazione della sessione {{token}} è terminata. La registrazione della traccia locale è stata salvata. Si prega di chiedere ai partecipanti di inviare le loro registrazioni.",
"notModerator": "Non sei un moderatore. Non puoi avviare o interrompere la registrazione."
"finished": "La registrazione della sessione {{token}} è terminata. Invia il file della registrazione all'organizzatore.",
"finishedModerator": "La registrazione della sessione {{token}} è terminata. La registrazione della traccia è stata salvata. Chiedi ai partecipanti di inviare le loro registrazioni.",
"notModerator": "Non sei un relatore. Non puoi avviare o interrompere la registrazione."
},
"moderator": "Moderatore",
"moderator": "Relatore",
"no": "No",
"participant": "Partecipante",
"participantStats": "Statistiche partecipante",
@@ -828,7 +818,7 @@
"focusFail": "{{component}} non disponibile - nuovo tentativo tra {{ms}} sec",
"gifsMenu": "GIPHY",
"groupTitle": "Notifiche",
"hostAskedUnmute": "Il moderatore ti chiede di intervenire.",
"hostAskedUnmute": "Il relatore ti chiede di intervenire.",
"invalidTenant": "Nome non valido",
"invalidTenantHyphenDescription": "Il nome che hai scelto non è valido (inizia o finisce con '-').",
"invalidTenantLengthDescription": "Il nome che hai scelto è troppo lungo.",
@@ -850,17 +840,17 @@
"localRecordingStopped": "{{name}} ha smesso di registrare.",
"me": "Io",
"moderationInEffectCSDescription": "Alza la mano, se vuoi condividere lo schermo.",
"moderationInEffectCSTitle": "La condivisione schermo è stata bloccata dal moderatore",
"moderationInEffectCSTitle": "La condivisione schermo è stata bloccata dal relatore",
"moderationInEffectDescription": "Alza la mano, se vuoi prendere la parola.",
"moderationInEffectTitle": "Il tuo microfono è stato spento dal moderatore",
"moderationInEffectTitle": "Il tuo microfono è stato spento dal relatore",
"moderationInEffectVideoDescription": "Alza la mano, se vuoi avviare la tua videocamera.",
"moderationInEffectVideoTitle": "La tua videocamera è stata spenta dal moderatore",
"moderationRequestFromModerator": "L'organizzatore ti chiede di accendere il microfono",
"moderationInEffectVideoTitle": "La tua videocamera è stata spenta dal relatore",
"moderationRequestFromModerator": "Il relatore vorrebbe che tu accendessi il microfono",
"moderationRequestFromParticipant": "Vuole parlare",
"moderationStartedTitle": "Moderazione in corso",
"moderationStoppedTitle": "Moderazione interrotta",
"moderationToggleDescription": "da {{participantDisplayName}}",
"moderator": "Ora sei un moderatore!",
"moderator": "Ora sei un relatore!",
"muted": "Hai iniziato la conversazione con il microfono disattivato.",
"mutedRemotelyDescription": "Puoi sempre attivare il microfono quando vuoi parlare. Spegni il microfono quando hai finito, per evitare rumori di fondo nella riunione.",
"mutedRemotelyTitle": "{{participantDisplayName}} ti ha spento il microfono",
@@ -974,9 +964,6 @@
"by": "Da {{ name }}",
"closeButton": "Chiudi sondaggio",
"create": {
"accessibilityLabel": {
"send": "Invia sondaggio"
},
"addOption": "Aggiungi opzione",
"answerPlaceholder": "Opzione {{index}}",
"cancel": "Annulla",
@@ -985,7 +972,8 @@
"pollQuestion": "Domanda del sondaggio",
"questionPlaceholder": "Fai una domanda",
"removeOption": "Elimina opzione",
"save": "Salva"
"save": "Salva",
"send": "Invia"
},
"errors": {
"notUniqueOption": "Le opzioni devono essere uniche"
@@ -1123,6 +1111,8 @@
"highlightMomentSuccess": "Momento evidenziato",
"highlightMomentSucessDescription": "Il tuo momento evidenziato sarà aggiunto al riepilogo della riunione.",
"inProgress": "Registrazione o diretta in corso",
"limitNotificationDescriptionNative": "La tua registrazione sarà limitata a {{limit}} minuti. Per registrazioni illimitate, prova <3>{{app}}</3>.",
"limitNotificationDescriptionWeb": "Per la grossa domanda la tua registrazione sarà limitata a {{limit}} minuti. Per registrazioni illimitate, prova <a href={{url}} rel='noopener noreferrer' target='_blank'>{{app}}</a>.",
"linkGenerated": "È stato generato un collegamento alla tua registrazione.",
"localRecordingNoNotificationWarning": "La registrazione non verrà annunciata ai partecipanti. Dovrai dir loro che la riunione viene registrata.",
"localRecordingNoVideo": "Il video non sta venendo registrato",
@@ -1164,7 +1154,7 @@
},
"security": {
"about": "Puoi aggiungere una $t(lockRoomPassword) alla riunione. I partecipanti dovranno inserire la $t(lockRoomPassword) per accedere alla riunione.",
"aboutReadOnly": "I moderatori possono aggiungere una $t(lockRoomPassword) alla riunione. I partecipanti dovranno inserire la $t(lockRoomPassword) per accedere alla riunione.",
"aboutReadOnly": "Gli organizzatori possono aggiungere una $t(lockRoomPassword) alla riunione. I partecipanti dovranno inserire la $t(lockRoomPassword) per accedere alla riunione.",
"insecureRoomNameWarningNative": "Il nome della riunione è troppo semplice. Partecipanti non desiderati potrebbero entrare nella riunione. {{recommendAction}} Per saperne di più sulla sicurezza della tua riunione ",
"insecureRoomNameWarningWeb": "Il nome della riunione è troppo semplice. Partecipanti non desiderati potrebbero entrare nella riunione. {{recommendAction}} Per saperne di più sulla sicurezza della tua riunione <a href=\"{{securityUrl}}\" rel=\"security\" target=\"_blank\">clicca qui</a>.",
"title": "Impostazioni di sicurezza",
@@ -1184,7 +1174,7 @@
"signedIn": "Accesso agli eventi del calendario per {{email}} in corso. Clicca sul pulsante Disconnetti per interrompere laccesso agli eventi sul calendario.",
"title": "Calendario"
},
"chatWithPermissions": "Disattiva la chat per i partecipanti",
"chatWithPermissions": "La chat richiede il permesso",
"desktopShareFramerate": "Frequenza di aggiornamento condivisone schermo",
"desktopShareHighFpsWarning": "Una frequenza di aggiornamento della condivisione dello schermo più alta può influire sulla tua connessione. Devi riavviare la condivisione schermo, per applicare le modifiche.",
"desktopShareWarning": "Devi riavviare la condivisione schermo, per applicare le modifiche.",
@@ -1197,8 +1187,8 @@
"loggedIn": "Connesso come {{name}}",
"maxStageParticipants": "Numero massimo di partecipanti che possono essere messi in evidenza nella schermata principale",
"microphones": "Microfoni",
"moderator": "Moderatore",
"moderatorOptions": "Opzioni moderatore",
"moderator": "Relatore",
"moderatorOptions": "Opzioni relatore",
"more": "Generali",
"name": "Nome",
"noDevice": "Nessuno",
@@ -1327,7 +1317,7 @@
"feedback": "Lascia un feedback",
"fullScreen": "Attiva modalità a schermo intero",
"giphy": "Mostra menu GIPHY",
"grantModerator": "Concedi permessi da moderatore",
"grantModerator": "Concedi permessi da relatore",
"hangup": "Lascia la riunione",
"heading": "Barra degli strumenti",
"help": "Aiuto",
@@ -1352,7 +1342,7 @@
"muteEveryoneElsesVideoStream": "Spegni la videocamera a tutti gli altri",
"muteEveryonesVideoStream": "Spegni la videocamera a tutti",
"muteGUMPending": "Connessione del microfono in corso",
"noiseSuppression": "Cancellazione del rumore",
"noiseSuppression": "Cancellazione del rumore (BETA)",
"openChat": "Apri chat",
"participants": "Apri pannello partecipanti. {{participantsCount}} partecipanti",
"pip": "Attiva modalità Picture-in-Picture",
@@ -1417,21 +1407,20 @@
"closeParticipantsPane": "Chiudi pannello partecipanti",
"closeReactionsMenu": "Chiudi menu reazioni",
"closedCaptions": "Sottotitoli",
"disableNoiseSuppression": "Disattiva cancellazione del rumore",
"disableNoiseSuppression": "Disattiva cancellazione del rumore (BETA)",
"disableReactionSounds": "Puoi disattivare i suoni delle reazioni in questa riunione",
"documentClose": "Chiudi documento condiviso",
"documentOpen": "Apri documento condiviso",
"download": "Scarica le nostre app",
"e2ee": "Crittografia End-to-End",
"embedMeeting": "Incorpora riunione",
"enableNoiseSuppression": "Attiva cancellazione del rumore",
"enableNoiseSuppression": "Attiva cancellazione del rumore (BETA)",
"endConference": "Termina la riunione per tutti",
"enterFullScreen": "Mostra a schermo intero",
"enterTileView": "Mostra vista a mosaico",
"exitFullScreen": "Esci dalla modalità a schermo intero",
"exitTileView": "Esci dalla vista a mosaico",
"feedback": "Lascia un feedback",
"fileSharing": "Condivisione file",
"giphy": "Menu GIPHY",
"hangup": "Lascia la riunione",
"help": "Aiuto",
@@ -1460,14 +1449,13 @@
"noAudioSignalDialInDesc": "Puoi anche chiamare usando:",
"noAudioSignalDialInLinkDesc": "Numeri di telefono",
"noAudioSignalTitle": "Nessun suono rilevato dal tuo microfono!",
"noiseSuppression": "Cancellazione del rumore",
"noiseSuppression": "Cancellazione del rumore (BETA)",
"noisyAudioInputDesc": "Sembra che il tuo microfono faccia rumore, si prega di spegnerlo o cambiarlo.",
"noisyAudioInputTitle": "Il tuo microfono sembra fare rumore!",
"openChat": "Apri chat",
"openReactionsMenu": "Apri il menu reazioni",
"participants": "Partecipanti",
"pip": "Abilita modalità Picture-in-Picture",
"polls": "Sondaggi",
"privateMessage": "Invia un messaggio privato",
"profile": "Modifica profilo",
"raiseHand": "Alza la mano",
@@ -1569,11 +1557,11 @@
"domuteVideo": "Disattiva videocamera",
"domuteVideoOfOthers": "Disattiva videocamera a tutti gli altri",
"flip": "Specchia",
"grantModerator": "Concedi permessi da moderatore",
"grantModerator": "Concedi permessi da relatore",
"hideSelfView": "Nascondi la tua immagine",
"kick": "Espelli",
"mirrorVideo": "Specchia il tuo video",
"moderator": "Moderatore",
"moderator": "Relatore",
"mute": "Il partecipante ha il microfono spento",
"muted": "Microfono spento",
"pinToStage": "Metti in primo piano",
@@ -1620,7 +1608,7 @@
"description": "Adesso sei uno spettatore in questa riunione.",
"raiseHand": "Alza la mano",
"title": "Ingresso nella riunione in corso",
"wishToSpeak": "Per parlare si prega di alzare la mano sotto e aspettare l'autorizzazione del moderatore."
"wishToSpeak": "Se vuoi parlare, si prega di alzare la mano sotto e aspettare l'autorizzazione del relatore."
},
"labelTooltip": "Numero di spettatori: {{count}}",
"notification": {
@@ -1629,8 +1617,6 @@
"noMainParticipantsTitle": "La riunione non è ancora iniziata.",
"noVisitorLobby": "Non puoi partecipare se la sala d'attesa è attiva per la riunione.",
"notAllowedPromotion": "Un partecipante deve autorizzare la tua richiesta prima.",
"requestToJoin": "Mano alzata",
"requestToJoinDescription": "La tua richiesta è stata inviata ai moderatori. Tieni duro!",
"title": "Sei uno spettatore nella riunione"
},
"waitingMessage": "Ti unirai alla riunione quando inizierà!"
@@ -1671,7 +1657,7 @@
"mobileDownLoadLinkAndroid": "Scarica applicazione per Android",
"mobileDownLoadLinkFDroid": "Scarica applicazione da F-Droid",
"mobileDownLoadLinkIos": "Scarica applicazione per iOS",
"moderatedMessage": "O <a href=\"{{url}}\" rel=\"noopener noreferrer\" target=\"_blank\">prepara un URL di riunione</a> in anticipo, quando sei l'unico moderatore.",
"moderatedMessage": "O <a href=\"{{url}}\" rel=\"noopener noreferrer\" target=\"_blank\">prepara un URL di riunione</a> in anticipo, quando sei l'unico organizzatore.",
"privacy": "Privacy",
"recentList": "Recenti",
"recentListDelete": "Cancella",

View File

@@ -505,6 +505,8 @@
"googlePrivacyPolicy": "Google プライバシーポリシー",
"inProgress": "録画またはライブ配信中です",
"invalidStreamKey": "ストリームキーが正しくないようです。",
"limitNotificationDescriptionNative": "利用者が多いため、あなたの録画は {{limit}} 分に制限されます。無制限に録画するには<3>{{app}}</3>をお試しください。",
"limitNotificationDescriptionWeb": "利用者が多いため、あなたの録画は {{limit}} 分に制限されます。 無制限に録画するには<a href={{url}} rel='noopener noreferrer' target='_blank'>{{app}}</a>をお試しください。",
"off": "ライブ配信を停止しました",
"offBy": "{{name}} がライブ配信を停止しました",
"on": "ライブ配信を開始しました",
@@ -833,6 +835,8 @@
"highlightMomentSuccess": "ハイライトされました",
"highlightMomentSucessDescription": "ハイライトされた瞬間は議事録に追加されます。",
"inProgress": "録画またはライブ配信中です",
"limitNotificationDescriptionNative": "利用者が多いため、あなたの録画は {{limit}} 分に制限されます。無制限に録画するには<3>{{app}}</3>をお試しください。",
"limitNotificationDescriptionWeb": "利用者が多いため、あなたの録画は {{limit}} 分に制限されます。 無制限に録画するには<a href={{url}} rel='noopener noreferrer' target='_blank'>{{app}}</a>をお試しください。",
"linkGenerated": "あなたの録画へのリンクを生成しました。",
"live": "LIVE",
"localRecordingNoNotificationWarning": "この録画は他の参加者に通知されません。このミーティングが録画されていることを他の参加者に伝えてください。",

View File

@@ -480,6 +480,8 @@
"getStreamKeyManually": "Ur nessaweḍ ara ad d-nerr ula d yiwen n usuddem usrid. Ɛreḍ ad d-tawiḍ tasarut-ik·im n usuddem usrid seg Youtube.",
"googlePrivacyPolicy": "Tasertit tabaḍnit n Google",
"invalidStreamKey": "Tasarut n usuddem usrid yezmer mačči d tameɣtut.",
"limitNotificationDescriptionNative": "Asuddem-inek·inem ad yesɛu kan {{limit}} tesdidin. I usuddem war talast ɛreḍ {{app}}.",
"limitNotificationDescriptionWeb": "Seg wakken yegget usuter, asuddem-inek·inem ad yesɛu talast n {{limit}} tesdidin. I usuddem n war tilas, ɛreḍ <a href={{url}} rel='noopener noreferrer' target='_blank'>{{app}}</a>.",
"off": "Asuddem usrid yettuḥbes",
"offBy": "{{name}} iseḥbes asuddem usrid",
"on": "Yebda usuddem usrid",
@@ -775,6 +777,8 @@
"expandedPending": "Asekles ha-t-an yebda….",
"failedToStart": "Beddu n usekles ur yeddi ara",
"fileSharingdescription": "Bḍu asekles d yimttekkiyen n temlilit",
"limitNotificationDescriptionNative": "Seg tuget n usuter, asekles-inek·inem ad yesɛu kan {{limit}} tesdidin. I yiseklas war tilas, ɛreḍ <3>{{app}}</3>.",
"limitNotificationDescriptionWeb": "Seg tuget n usuter, asekles-inek·inem ad yesɛu kan {{limit}} tesdidin. I yiseklas war tilas, ɛreḍ <a href={{url}} rel='noopener noreferrer' target='_blank'>{{app}}</a>.",
"linkGenerated": "Nsirew-d aseɣwen i usekles-inek·inem.",
"live": "SRID",
"loggedIn": "Yekcem s {{userName}}",

File diff suppressed because it is too large Load Diff

View File

@@ -634,6 +634,8 @@
"googlePrivacyPolicy": "Google 개인 정보 보호 정책",
"inProgress": "녹화 또는 실시간 스트리밍 진행 중",
"invalidStreamKey": "라이브 스트림 키가 잘못되었을 수 있습니다.",
"limitNotificationDescriptionNative": "스트리밍이 {{limit}}분으로 제한됩니다. 무제한 스트리밍을 사용하려면 {{app}}을 시도해 보세요.",
"limitNotificationDescriptionWeb": "수요가 많아 스트리밍이 {{limit}}분으로 제한됩니다. 무제한 스트리밍을 사용하려면 <a href={{url}} rel='noopener noreferrer' target='_blank'>{{app}}</a>을 시도해 보세요.",
"off": "실시간 스트리밍이 중지됨",
"offBy": "{{name}}님이 실시간 스트리밍을 중지했습니다",
"on": "실시간 스트리밍",
@@ -1034,6 +1036,8 @@
"highlightMomentSuccess": "순간 강조 표시됨",
"highlightMomentSucessDescription": "강조 표시된 순간이 회의 요약에 추가됩니다.",
"inProgress": "녹화 또는 실시간 스트리밍 진행 중",
"limitNotificationDescriptionNative": "수요가 많아 녹화가 {{limit}}분으로 제한됩니다. 무제한 녹화를 사용하려면 {{app}}을 시도해 보세요.",
"limitNotificationDescriptionWeb": "수요가 많아 녹화가 {{limit}}분으로 제한됩니다. 무제한 녹화를 사용하려면 <a href={{url}} rel='noopener noreferrer' target='_blank'>{{app}}</a>을 시도해 보세요.",
"linkGenerated": "녹화에 대한 링크를 생성했습니다.",
"localRecordingNoNotificationWarning": "녹화가 다른 참가자에게 알리지 않습니다. 회의가 녹화되고 있음을 알려야 합니다.",
"localRecordingNoVideo": "비디오는 녹화되지 않습니다",

View File

@@ -114,9 +114,6 @@
"error": "Kļūda: Jūsu ziņa netika nosūtīta. Cēlonis: {{error}}",
"everyone": "Visi",
"fieldPlaceHolder": "Rakstiet ziņu šeit",
"fileAccessibleTitle": "{{user}} augšuplādēja failu",
"fileAccessibleTitleMe": "es augšuplādēju failu",
"fileDeleted": "Fails tika dzēsts",
"guestsChatIndicator": "(viesis)",
"lobbyChatMessageTo": "Vestibila tērzēšanas ziņa adresātam {{recipient}}",
"message": "Ziņa",
@@ -126,20 +123,12 @@
"messagebox": "Rakstiet ziņu",
"newMessages": "Jaunas ziņas",
"nickname": {
"featureChat": "tērzētava",
"featureClosedCaptions": "slēgtie subtitri",
"featureFileSharing": "failu kopīgošana",
"featurePolls": "aptaujas",
"popover": "Izvēlieties segvārdu",
"title": "Ierakstiet segvārdu, lai izmantotu tērzēšanu",
"titleWith1Features": "Ievadiet segvārdu, lai izmantotu {{feature1}}",
"titleWith2Features": "Ievadiet segvārdu, lai izmantotu {{feature1}} un {{feature2}}",
"titleWith3Features": "Ievadiet segvārdu, lai izmantotu {{feature1}}, {{feature2}} un {{feature3}}",
"titleWith4Features": "Ievadiet segvārdu, lai izmantotu {{feature1}}, {{feature2}}, {{feature3}} un {{feature4}}",
"titleWithCC": "Ievadiet segvārdu, lai izmantotu tērzēšanu un slēgtos subtitrus",
"titleWithPolls": "Ierakstiet segvārdu, lai izmantotu tērzēšanu un aptaujas",
"titleWithPollsAndCC": "Ievadiet segvārdu, lai izmantotu tērzēšanu, aptaujas un slēgtos subtitrus",
"titleWithPollsAndCCAndFileSharing": "Ievadiet segvārdu, lai izmantotu tērzēšanu, aptaujas, slēgtos subtitrus un failus"
"popover": "Izvēlieties vārdu",
"title": "Ierakstiet vārdu, lai izmantotu tērzēšanā",
"titleWithCC": "Ievadiet segvārdu, lai izmantotu tērzēšanā un slēptos subtitros",
"titleWithPolls": "Ierakstiet segvārdu, lai izmantotu tērzēšanā un aptaujās",
"titleWithPollsAndCC": "Ievadiet segvārdu, lai izmantotu tērzēšanā, aptaujās un slēptos subtitros",
"titleWithPollsAndCCAndFileSharing": "Ievadiet segvārdu, lai izmantotu tērzēšanā, aptaujās, slēptos subtitros un failos"
},
"noMessagesMessage": "Sapulcē pagaidām nav nevienas ziņas. Uzsāciet saraksti!",
"privateNotice": "Privāta ziņa adresātam {{recipient}}",
@@ -148,12 +137,12 @@
"systemDisplayName": "Sistēma",
"tabs": {
"chat": "Tērzēšana",
"closedCaptions": "Slēgtie subtitri",
"closedCaptions": "Slēptie subtitri",
"fileSharing": "Faili",
"polls": "Aptaujas"
},
"title": "Tērzēšana",
"titleWithCC": "Tērzēšana un Slēgtie subtitri",
"titleWithCC": "Tērzēšana un Slēptie subtitri",
"titleWithFeatures": "Tērzēšana un",
"titleWithFileSharing": "Faili",
"titleWithPolls": "Tērzēšana un Aptaujas",
@@ -167,8 +156,8 @@
"installExtensionText": "Uzstādīt spraudni Google kalendāra un Office 365 integrācijai"
},
"closedCaptionsTab": {
"emptyState": "Slēgto subtitru saturs būs pieejams, tiklīdz moderators uzsāks to.",
"startClosedCaptionsButton": "Uzsākt slēgtos subtitrus"
"emptyState": "Slēpto subtitru saturs būs pieejams, tiklīdz moderators uzsāks to.",
"startClosedCaptionsButton": "Uzsākt slēptos subtitrus"
},
"connectingOverlay": {
"joiningRoom": "Notiek pieslēgšanās jūsu sapulcei…"
@@ -291,6 +280,7 @@
"Submit": "Iesniegt",
"Understand": "Saprotu",
"UnderstandAndUnmute": "Es saprotu, lūdzu, ieslēdziet skaņu.",
"WaitForHostMsg": "Sapulce vēl nav sākusies, jo vēl nav ieradies neviens moderators. Lūdzu, autorizējieties, lai kļūtu par moderatoru. Pretējā gadījumā, lūdzu, uzgaidiet.",
"WaitForHostNoAuthMsg": "Sapulce vēl nav sākusies, jo vēl nav ieradies neviens moderators. Lūdzu, uzgaidiet.",
"WaitingForHostButton": "Gaidīt rīkotāju",
"WaitingForHostTitle": "Gaida rīkotāju…",
@@ -370,7 +360,7 @@
"kickParticipantTitle": "Izraidīt šo dalībnieku?",
"kickSystemTitle": "Ak! Jūs izraidīja no sapulces",
"kickTitle": "Ak! {{participantDisplayName}} izraidīja jūs no sapulces",
"learnMore": "Uzzināt vairāk",
"learnMore": "uzzināt vairāk",
"linkMeeting": "Sasaistīt sapulci",
"linkMeetingTitle": "Sasaistīt sapulci ar Salesforce",
"liveStreaming": "Tiešraides straumēšana",
@@ -427,7 +417,7 @@
"muteParticipantsVideoDialog": "Vai tiešām vēlaties izslēgt šī dalībnieka kameru? Jūs nevarēsiet to ieslēgt atpakaļ, taču dalībnieks pats to varēs izdarīt jebkurā laikā.",
"muteParticipantsVideoDialogModerationOn": "Vai tiešām vēlaties izslēgt šī dalībnieka kameru? Ne Jūs, ne dalībnieks nevarēsiet to ieslēgt atpakaļ.",
"muteParticipantsVideoTitle": "Vai izslēgt šī dalībnieka video?",
"noDropboxToken": "Nav derīgas Dropbox pilnvaras",
"noDropboxToken": "Nav derīga Dropbox tokena",
"password": "Parole",
"passwordLabel": "Dalībnieks ir aizslēdzis sapulci. Lūdzu, ievadiet $t(lockRoomPassword), lai pievienotos.",
"passwordNotSupported": "Sapulces slēgšana ar $t(lockRoomPassword) netiek atbalstīta.",
@@ -441,6 +431,8 @@
"recording": "Ieraksts",
"recordingDisabledBecauseOfActiveLiveStreamingTooltip": "Nav iespējams, kamēr ir aktīva tiešraides straume",
"recordingInProgressDescription": "Šī sapulce tiek ierakstīta. Jūsu audio un video ir izslēgti. Ja izvēlaties ieslēgt skaņu vai video, jūs piekrītat ierakstīšanai.",
"recordingInProgressDescriptionFirstHalf": "Šo sanāksmi ieraksta un analizē mākslīgais intelekts",
"recordingInProgressDescriptionSecondHalf": ". Jūsu audio un video skaņa ir izslēgta. Ja izvēlaties ieslēgt skaņu, jūs piekrītat ierakstīšanai.",
"recordingInProgressTitle": "Notiek ierakstīšana",
"rejoinNow": "Pieslēgties no jauna",
"remoteControlAllowedMessage": "{{user}} apstiprināja jūsu attālās pārvaldības pieprasījumu!",
@@ -509,7 +501,7 @@
"stopStreamingWarning": "Tiešām vēlaties beigt tiešraidi?",
"streamKey": "Tiešraides atslēga",
"thankYou": "Paldies, ka izmantojāt {{appName}}!",
"token": "pilnvara",
"token": "tokens",
"tokenAuthFailed": "Atvainojiet, jums nav atļauts pievienoties šim zvanam.",
"tokenAuthFailedReason": {
"audInvalid": "Nederīga `aud` vērtība. Tai vajadzētu būt `jitsi`.",
@@ -525,13 +517,12 @@
"nbfFuture": "`nbf` vērtība ir nākotnē.",
"nbfInvalid": "Nederīga `nbf` vērtība.",
"payloadNotFound": "Trūkst satura.",
"tokenExpired": "Pilnvara ir beigusies."
"tokenExpired": "Token ir beidzies."
},
"tokenAuthFailedTitle": "Autentifikācijas kļūda",
"tokenAuthFailedWithReasons": "Atvainojiet, jums nav atļauts pievienoties šim zvanam. Iespējamie iemesli: {{reason}}",
"tokenAuthUnsupported": "Pilnvaras URL nav atbalstīts.",
"tokenAuthUnsupported": "Token URL netiek atbalstīts.",
"transcribing": "Notiek atšifrējuma izveide",
"unauthenticatedAccessDisabled": "Šim zvanam nepieciešama autentifikācija. Lūdzu, piesakieties, lai turpinātu.",
"unlockRoom": "Noņemt $t(lockRoomPassword)",
"user": "Lietotājs",
"userIdentifier": "Lietotājvārds",
@@ -579,12 +570,10 @@
"downloadStarted": "Sākta faila lejuplāde",
"dragAndDrop": "Velciet un palaidiet failus šeit, vai jebkurā ekrāna vietā",
"fileAlreadyUploaded": "Fails jau ir augšuplādēts šajā sanāksmē.",
"fileRemovedByOther": "Jūsu fails '{{ fileName }}' tika noņemts",
"fileTooLargeDescription": "Lūdzu, pārliecinieties, vai faila lielums nepārsniedz {{ maxFileSize }}.",
"fileTooLargeTitle": "Izvēlētais fails ir pārāk liels",
"fileUploadProgress": "Faila augšuplādes gaita",
"fileUploadedSuccessfully": "Fails veiksmīgi augšuplādēts",
"newFileNotification": "{{ participantName }} kopīgoja '{{ fileName }}'",
"removeFile": "Noņemt",
"removeFileSuccess": "Fails veiksmīgi noņemts",
"uploadFailedDescription": "Lūdzu, mēģiniet vēlreiz.",
@@ -704,6 +693,8 @@
"googlePrivacyPolicy": "Google konfidencialitātes politika",
"inProgress": "Notiek ierakstīšana vai tiešraides straumēšana",
"invalidStreamKey": "Izskatās, ka tiešraides atslēga nav pareiza.",
"limitNotificationDescriptionNative": "ūsu straumēšana būs ierobežota līdz {{limit}} min. Lai iegūtu neierobežotu straumēšanu, izmēģiniet {{app}}.",
"limitNotificationDescriptionWeb": "Lielā pieprasījuma dēļ jūsu straumēšana tiks ierobežota līdz {{limit}} min. Lai iegūtu neierobežotu straumēšanu, izmēģiniet <a href={{url}} rel='noopener noreferrer' target='_blank'>{{app}}</a>.",
"off": "Tiešraide izslēgta",
"offBy": "{{name}} izslēdza tiešraidi",
"on": "Tiešraide ieslēgta",
@@ -757,8 +748,7 @@
"notificationTitle": "Vestibils",
"passwordJoinButton": "Pievienoties",
"title": "Vestibils",
"toggleLabel": "Iespējot vestibilu",
"waitForModerator": "Konference vēl nav sākusies, jo vēl nav ieradušies moderatori. Ja vēlaties kļūt par moderatoru, lūdzu, piesakieties. Pretējā gadījumā, lūdzu, uzgaidiet."
"toggleLabel": "Iespējot vestibilu"
},
"localRecording": {
"clientState": {
@@ -785,7 +775,7 @@
"participant": "Dalībnieks",
"participantStats": "Dalībnieku statistika",
"selectTabTitle": "🎥 Lūdzu, atveriet šo cilni ierakstīšanai",
"sessionToken": "Sesijas Pilnvara",
"sessionToken": "Sessijas tokens",
"start": "Sākt ierakstu",
"stop": "Beigt ierakstu",
"stopping": "Ierakstīšanas pārtraukšana",
@@ -875,7 +865,6 @@
"oldElectronClientDescription1": "Izskatās, ka jūs izmantojat vecu Jitsi Meet klienta versiju, kurai ir zināmas drošības ievainojamības. Lūdzu, atjauniniet uz ",
"oldElectronClientDescription2": "jaunākā versija",
"oldElectronClientDescription3": "tagad!",
"openChat": "Atvērt tērzētavu",
"participantWantsToJoin": "Vēlas pievienoties sapulcei",
"participantsWantToJoin": "Vēlas pievienoties sapulcei",
"passwordRemovedRemotely": "Kāds dalībnieks noņēma $t(lockRoomPasswordUppercase).",
@@ -974,9 +963,6 @@
"by": "Pēc {{ name }} iniciatīvas",
"closeButton": "Slēgt aptauju",
"create": {
"accessibilityLabel": {
"send": "Nosūtīt aptauju"
},
"addOption": "Pievienot opciju",
"answerPlaceholder": "Opcija {{index}}",
"cancel": "Atcelt",
@@ -985,7 +971,8 @@
"pollQuestion": "Aptaujas Jautājums",
"questionPlaceholder": "Uzdod jautājumu",
"removeOption": "Noņemt opciju",
"save": "Saglabāt"
"save": "Saglabāt",
"send": "Nosūtīt"
},
"errors": {
"notUniqueOption": "Iespējām jābūt unikālām"
@@ -1104,7 +1091,7 @@
}
},
"recording": {
"authDropboxText": "Augšuplādēt uz Dropbox",
"authDropboxText": "Augšupielādēt uz Dropbox",
"availableSpace": "Pieejama vieta: {{spaceLeft}} MB (apmēram {{duration}} ieraksta minūtes)",
"beta": "BETA",
"busy": "Cenšamies nodrošināt ierakstam vairāk resursu. Lūdzu, pēc dažām minūtēm pamēģiniet vēlreiz.",
@@ -1123,6 +1110,8 @@
"highlightMomentSuccess": "Brīdis izcelts",
"highlightMomentSucessDescription": "Jūsu izceltais brīdis tiks pievienots sapulces kopsavilkumam.",
"inProgress": "Notiek ierakstīšana vai tiešraides straumēšana",
"limitNotificationDescriptionNative": "Lielā pieprasījuma dēļ jūsu ieraksts tiks ierobežots līdz {{limit}} min. Lai iegūtu neierobežotu ierakstu skaitu, izmēģiniet <3>{{app}}</3>.",
"limitNotificationDescriptionWeb": "Lielā pieprasījuma dēļ jūsu ieraksts tiks ierobežots līdz {{limit}} min. Lai iegūtu neierobežotu ierakstu skaitu, izmēģiniet <a href={{url}} rel='noopener noreferrer' target='_blank'>{{app}}</a>.",
"linkGenerated": "Mēs esam izveidojuši saiti uz jūsu ierakstu.",
"localRecordingNoNotificationWarning": "Ieraksts netiks izziņots citiem dalībniekiem. Jums būs jāpaziņo viņiem, ka sapulce tiek ierakstīta.",
"localRecordingNoVideo": "Video netiek ierakstīts",
@@ -1156,7 +1145,7 @@
"title": "Ieraksts",
"unavailable": "Hmm! {{serviceName}} pašlaik nav pieejams. Mēs strādājam pie problēmas risināšanas. Lūdzu, pamēģiniet vēlreiz vēlāk.",
"unavailableTitle": "Ieraksts nav iespējams",
"uploadToCloud": "Augšuplādēt mākonī"
"uploadToCloud": "Augšupielādēt mākonī"
},
"screenshareDisplayName": "{{name}} ekrāns",
"sectionList": {
@@ -1311,7 +1300,7 @@
"closeChat": "Aizvērt tērzēšanu",
"closeMoreActions": "Aizvērt vairāk darbību izvēlni",
"closeParticipantsPane": "Aizvērt dalībnieku paneli",
"closedCaptions": "Slēgtie subtitri",
"closedCaptions": "Slēptie subtitri",
"collapse": "Sakļaut",
"document": "Kopīgotais dokuments (iesl./izsl.)",
"documentClose": "Aizvērt kopīgoto dokumentu",
@@ -1389,21 +1378,7 @@
"videomuteGUMPending": "Kameras pievienošana",
"videounmute": "Ieslēgt kameru"
},
"addPeople": "Pievienot cilvēkus savam zvanam",
"advancedAudioSettings": {
"aec": {
"label": "Akustiskās atbalss slāpēšana"
},
"agc": {
"label": "Automātiska pastiprinājuma kontrole"
},
"ns": {
"label": "Trokšņu slāpēšana"
},
"stereo": {
"label": "Stereo"
}
},
"addPeople": "Pievienot cilvēkus savai sesijai/zvanam",
"audioOnlyOff": "Atspējot kanāla/trafika taupības režīmu",
"audioOnlyOn": "Iespējot kanāla/trafika taupības režīmu",
"audioRoute": "Izvēlēties audioierīci",
@@ -1416,7 +1391,7 @@
"closeChat": "Aizvērt tērzētavu",
"closeParticipantsPane": "Aizvērt dalībnieku paneli",
"closeReactionsMenu": "Aizvērt reakciju izvēlni",
"closedCaptions": "Slēgtie subtitri",
"closedCaptions": "Slēptie subtitri",
"disableNoiseSuppression": "Atspējot trokšņu slāpēšanu",
"disableReactionSounds": "Šai sapulcei varat atspējot reakcijas skaņas",
"documentClose": "Aizvērt kopīgoto dokumentu",
@@ -1431,7 +1406,6 @@
"exitFullScreen": "Pilnekrāna režīms",
"exitTileView": "Tuvplāna režīms",
"feedback": "Atstāts atsauksmi",
"fileSharing": "Failu kopīgošana",
"giphy": "GIPHY izvēlne (rādīt/nerādīt)",
"hangup": "Iziet no sapulces",
"help": "Palīdzība",
@@ -1467,19 +1441,17 @@
"openReactionsMenu": "Atvērt reakciju izvēlni",
"participants": "Dalībnieki",
"pip": "Iesl. attēls attēlā (PIP) režīmu",
"polls": "Aptaujas",
"privateMessage": "Nosūtīt privātu ziņu",
"profile": "Rediģēt profilu",
"raiseHand": "Pacelt roku",
"raiseYourHand": "Pacelt roku",
"reactionBoo": "Sūtīt būū reakciju",
"reactionClap": "Sūtīt aplausu reakciju",
"reactionHeart": "Sūtīt sirds reakciju",
"reactionLaugh": "Sūtīt smieklu reakciju",
"reactionLike": "Sūtīt īkšķis augšup reakciju",
"reactionLove": "Sūtīt mīlestības reakciju",
"reactionSilence": "Sūtīt klusuma reakciju",
"reactionSurprised": "Sūtīt pārsteiguma reakciju",
"reactionBoo": "Nosūtīt būū reakciju",
"reactionClap": "Nosūtīt aplausu reakciju",
"reactionHeart": "Nosūtīt sirds reakciju",
"reactionLaugh": "Nosūtīt smieklu reakciju",
"reactionLike": "Nosūtīt īkšķi augšup reakciju",
"reactionSilence": "Nosūtīt klusuma reakciju",
"reactionSurprised": "Nosūtīt pārsteigts reakciju",
"reactions": "Reakcijas",
"security": "Drošības iespējas",
"selectBackground": "Izvēlēties fonu",
@@ -1512,7 +1484,7 @@
"failed": "Atšifrējuma izveide neizdevās",
"labelTooltip": "Šajā sapulcē notiek atšifrējuma izveide.",
"labelTooltipExtra": "Turklāt vēlāk būs pieejams atšifrējums.",
"openClosedCaptions": "Atvērt slēgtos subtitrus",
"openClosedCaptions": "Atvērt slēptos subtitrus",
"original": "Oriģināls",
"sourceLanguageDesc": "Pašlaik sapulces valoda ir iestatīta uz <b>{{sourceLanguage}}</b>. <br/> Varat to mainīt no ",
"sourceLanguageHere": "šeit",
@@ -1610,7 +1582,7 @@
"removeBackground": "Noņemt fonu",
"slightBlur": "Viegli izplūdis",
"title": "Virtuālie foni",
"uploadedImage": "Augšuplādēts attēls {{index}}",
"uploadedImage": "Augšupielādēts attēls {{index}}",
"webAssemblyWarning": "WebAssembly netiek atbalstīts",
"webAssemblyWarningDescription": "WebAssemb ir atspējots vai šī pārlūkprogramma to neatbalsta"
},
@@ -1629,8 +1601,6 @@
"noMainParticipantsTitle": "Šī sapulce vēl nav sākusies.",
"noVisitorLobby": "Jūs nevarat pievienoties, kamēr sapulcei ir iespējots vestibils.",
"notAllowedPromotion": "Dalībniekam vispirms ir jāatļauj jūsu pieprasījums.",
"requestToJoin": "Roka Pacelta",
"requestToJoinDescription": "Jūsu pieprasījums tika nosūtīts moderatoriem. Uzgaidiet!",
"title": "Jūs esat sapulces apmeklētājs"
},
"waitingMessage": "Jūs pievienosities sapulcei, tiklīdz tā sāksies!"

View File

@@ -416,6 +416,8 @@
"getStreamKeyManually": "ഞങ്ങൾക്ക് തത്സമയ സ്ട്രീമുകളൊന്നും നേടാനായില്ല. യൂട്യൂബിൽ നിന്ന് നിങ്ങളുടെ തത്സമയ സ്ട്രീം കീ നേടാൻ ശ്രമിക്കുക.",
"googlePrivacyPolicy": "ഗൂഗിൾ സ്വകാര്യതാ നയം",
"invalidStreamKey": "തത്സമയ സ്ട്രീം കീ തെറ്റായിരിക്കാം.",
"limitNotificationDescriptionNative": "നിങ്ങളുടെ സ്ട്രീമിംഗ് {{limit}} മിനിറ്റായി പരിമിതപ്പെടുത്തും.പരിധിയില്ലാത്ത സ്ട്രീമിംഗിനായി ശ്രമിക്കുക {{app}}.",
"limitNotificationDescriptionWeb": "ഉയർന്ന ഡിമാൻഡ് കാരണം നിങ്ങളുടെ സ്ട്രീമിംഗ് {{limit}} മിനിറ്റായി പരിമിതപ്പെടുത്തും. പരിധിയില്ലാത്ത സ്ട്രീമിംഗിനായി ശ്രമിക്കുക <a href={{url}} rel='noopener noreferrer' target='_blank'>{{app}}</a>.",
"off": "തത്സമയ സ്ട്രീമിംഗ് അവസാനിച്ചു",
"offBy": "{{name}} തത്സമയ സ്ട്രീമിംഗ് നിർത്തി",
"on": "തത്സമയ സംപ്രേക്ഷണം",
@@ -638,6 +640,8 @@
"expandedPending": "റെക്കോർഡിംഗ് ആരംഭിച്ചു…",
"failedToStart": "റെക്കോർഡിംഗ് ആരംഭിക്കുന്നതിൽ പരാജയപ്പെട്ടു",
"fileSharingdescription": "മീറ്റിംഗ് പങ്കാളികളുമായി റെക്കോർഡിംഗ് പങ്കിടുക",
"limitNotificationDescriptionNative": "ഉയർന്ന ഡിമാൻഡ് കാരണം നിങ്ങളുടെ റെക്കോർഡിംഗ് {{limit}} മിനിറ്റായി പരിമിതപ്പെടുത്തും. പരിധിയില്ലാത്ത റെക്കോർഡിംഗുകൾക്കായി <3>{{app}}</3>.",
"limitNotificationDescriptionWeb": "ഉയർന്ന ഡിമാൻഡ് കാരണം നിങ്ങളുടെ റെക്കോർഡിംഗ് {{limit}} മിനിറ്റായി പരിമിതപ്പെടുത്തും. പരിധിയില്ലാത്ത റെക്കോർഡിംഗുകൾക്കായി <a href={{url}} rel='noopener noreferrer' target='_blank'>{{app}}</a>.",
"live": "തത്സമയം",
"loggedIn": "{{userName}} എന്നയാളായി ലോഗിൻ ചെയ്‌തു",
"off": "െക്കോർഡിംഗ് അവസാനിച്ചു",

View File

@@ -566,6 +566,8 @@
"googlePrivacyPolicy": "Google хувийн мэдээлэл хамгаалах дүрэм",
"inProgress": "Шууд дамжуулалтыг бичиж байна",
"invalidStreamKey": "Шууд дамжуулалтын түлхүүрээ шалгана уу.",
"limitNotificationDescriptionNative": "Таны шууд дамжуулалтын хугацаа {{limit}}-аар минутын хязгаарлагдана. Хязгааргүй болгохын тулд {{app}} аппыг ажиллуулж үзнэ үү.",
"limitNotificationDescriptionWeb": "Таны шууд дамжуулалт чанараас хамааран хугацаа Due to high demand your streaming will be limited to {{limit}} min. For unlimited streaming try <a href={{url}} rel='noopener noreferrer' target='_blank'>{{app}}</a>.",
"off": "Шууд дамжуулалт зогссон",
"offBy": "{{name}} шууд дамжуулалтыг зогсоосон",
"on": "Шууд дамжуулалт",
@@ -930,6 +932,8 @@
"highlightMomentSuccess": "Энэ мөчийг онцолсон",
"highlightMomentSucessDescription": "Таны онцолсон мөч уулзалтын хураангуй хэсэгт нэмэгдэнэ.",
"inProgress": "Бичлэг хийх эсвэл шууд дамжуулалт идэвхитэй",
"limitNotificationDescriptionNative": "Бичлэгийн чанараас хамааран таны минут {{limit}}-р хязгаарлагдаж байна. Хязгаарлалтгүй бичлэг хийхийн тулд <3>{{app}}</3> үзээрэй.",
"limitNotificationDescriptionWeb": "Бичлэгийн чанараас хамааран таны минут {{limit}}-р хязгаарлагдаж байна. Хязгаарлалтгүй бичлэг хийхийн тулд <a href={{url}} rel='noopener noreferrer' target='_blank'>{{app}}</a> ашиглана уу.",
"linkGenerated": "Таны бичлэгийн холбоосыг үүсгэсэн.",
"live": "ШУУД",
"localRecordingNoNotificationWarning": "Бусад оролцогчид бичлэгийн хийх талаар мэдэгдэнэ. Та энэ бичлэгийн талаарх мэдэгдлийг зөвшөөрөх шаардлагатай.",

View File

@@ -635,6 +635,8 @@
"googlePrivacyPolicy": "Googles personvernpolicy",
"inProgress": "Opptak eller direktesending pågår",
"invalidStreamKey": "Strømmenøkkelen kan være feil.",
"limitNotificationDescriptionNative": "Direktesendingen din vil være begrenset til {{limit}} min. For ubegrenset strømming, prøv {{app}}.",
"limitNotificationDescriptionWeb": "På grunn av høy etterspørsel vil direktesendingen din være begrenset til {{limit}} min. For ubegrenset strømming, prøv <a href={{url}} rel='noopener noreferrer' target='_blank'>{{app}}</a>.",
"off": "Direktesending stoppet",
"offBy": "{{name}} stoppet direktesendingen",
"on": "Direktesending startet",
@@ -1035,6 +1037,8 @@
"highlightMomentSuccess": "Øyeblikk markert",
"highlightMomentSucessDescription": "Det markerte øyeblikket vil bli lagt til møtereferatet.",
"inProgress": "Opptak eller direktesending pågår",
"limitNotificationDescriptionNative": "På grunn av høy etterspørsel vil opptaket være begrenset til {{limit}} min. For ubegrensede opptak, prøv <3>{{app}}</3>.",
"limitNotificationDescriptionWeb": "På grunn av høy etterspørsel vil opptaket være begrenset til {{limit}} min. For ubegrensede opptak, prøv <a href={{url}} rel='noopener noreferrer' target='_blank'>{{app}}</a>.",
"linkGenerated": "Vi har generert en lenke til opptaket ditt.",
"localRecordingNoNotificationWarning": "Opptaket vil ikke bli annonsert til de andre deltakerne. Du må informere dem om at møtet blir tatt opp.",
"localRecordingNoVideo": "Video blir ikke tatt opp",

File diff suppressed because it is too large Load Diff

View File

@@ -635,6 +635,8 @@
"googlePrivacyPolicy": "Googles personvernpolicy",
"inProgress": "Opptak eller direktesending pågår",
"invalidStreamKey": "Strømmenøkkelen kan være feil.",
"limitNotificationDescriptionNative": "Direktesendingen din vil være begrenset til {{limit}} min. For ubegrenset strømming, prøv {{app}}.",
"limitNotificationDescriptionWeb": "På grunn av høy etterspørsel vil direktesendingen din være begrenset til {{limit}} min. For ubegrenset strømming, prøv <a href={{url}} rel='noopener noreferrer' target='_blank'>{{app}}</a>.",
"off": "Direktesending stoppet",
"offBy": "{{name}} stoppet direktesendingen",
"on": "Direktesending startet",
@@ -1035,6 +1037,8 @@
"highlightMomentSuccess": "Øyeblikk markert",
"highlightMomentSucessDescription": "Det markerte øyeblikket vil bli lagt til møtereferatet.",
"inProgress": "Opptak eller direktesending pågår",
"limitNotificationDescriptionNative": "På grunn av høy etterspørsel vil opptaket være begrenset til {{limit}} min. For ubegrensede opptak, prøv <3>{{app}}</3>.",
"limitNotificationDescriptionWeb": "På grunn av høy etterspørsel vil opptaket være begrenset til {{limit}} min. For ubegrensede opptak, prøv <a href={{url}} rel='noopener noreferrer' target='_blank'>{{app}}</a>.",
"linkGenerated": "Vi har generert en lenke til opptaket ditt.",
"localRecordingNoNotificationWarning": "Opptaket vil ikke bli annonsert til de andre deltakerne. Du må informere dem om at møtet blir tatt opp.",
"localRecordingNoVideo": "Video blir ikke tatt opp",

View File

@@ -635,6 +635,8 @@
"googlePrivacyPolicy": "Politica de confidencialitat de Google",
"inProgress": "Enregistrament o difusion en dirècte en cors",
"invalidStreamKey": "La clau de difusion en dirècte es benlèu pas corrècta.",
"limitNotificationDescriptionNative": "Vòstra difusion serà limitada a {{limit}} min. Per de difusions illimitada ensajatz {{app}}.",
"limitNotificationDescriptionWeb": "A causa d'una brava demanda vòstra difusion serà limitada a {{limit}} min. Per de difusion illimitada ensajatz <a href={{url}} rel='noopener noreferrer' target='_blank'>{{app}}</a>.",
"off": "La difusion en dirècte es estada arrestada",
"offBy": "{{name}} a arrestat la difusion en dirècte",
"on": "Difusion en dirècte",
@@ -1035,6 +1037,8 @@
"highlightMomentSuccess": "Moments destacats",
"highlightMomentSucessDescription": "Vòstre moment suslinhat serà apondut al resumit de la reünion.",
"inProgress": "Enregistrament o difusion en dirècte en cors",
"limitNotificationDescriptionNative": "A causa duna demanda fòrta vòstre enregistrament serà limitat a {{limit}} min. Per denregistraments sens limit ensajatz <3>{{app}}</3>.",
"limitNotificationDescriptionWeb": "A causa duna demanda fòrta vòstre enregistrament serà limitat a {{limit}} min. Per denregistraments sens limit ensajatz <a href={{url}} rel='noopener noreferrer' target='_blank'>{{app}}</a>.",
"linkGenerated": "Avèm generat un ligam pel vòstre enregistrament.",
"localRecordingNoNotificationWarning": "L'enregistrament s'anonciarà pas als autres participants. Los deuretz informar que la reünion serà enregistrada.",
"localRecordingNoVideo": "La vidèo es pas enregistrada actualament",

View File

@@ -566,6 +566,8 @@
"googlePrivacyPolicy": "Polityka prywatności Google",
"inProgress": "Trwa nagrywanie lub transmisja na żywo",
"invalidStreamKey": "Klucz transmisji na żywo może być nieprawidłowy.",
"limitNotificationDescriptionNative": "Twoje strumieniowanie będzie ograniczone do {{limit}} minut. Aby strumieniować bez ograniczeń wybróbuj {{app}}.",
"limitNotificationDescriptionWeb": "Ze względu na duże zapotrzebowanie twoje strumieniowanie będzie ograniczone do {{limit}} minut. Aby strumieniować bez ograniczeń wybróbuj <a href={{url}} rel='noopener noreferrer' target='_blank'>{{app}}</a>.",
"off": "Transmitowanie na żywo zostało zatrzymane",
"offBy": "{{name}} zatrzymał transmisję na żywo",
"on": "Strumień live",
@@ -933,6 +935,8 @@
"highlightMomentSuccess": "Zaznaczony moment",
"highlightMomentSucessDescription": "Zaznaczony moment zostanie dodany do podsumowania spotkania.",
"inProgress": "Trwa nagrywanie lub transmisja na żywo",
"limitNotificationDescriptionNative": "Ze względu na duże zapotrzebowanie twoje nagrywanie będzie ograniczone do {{limit}} minut. Aby strumieniować bez ograniczeń wybróbuj <3>{{app}}</3>.",
"limitNotificationDescriptionWeb": "Ze względu na duże zapotrzebowanie twoje nagrywanie będzie ograniczone do {{limit}} minut. Aby strumieniować bez ograniczeń wybróbuj <a href={{url}} rel='noopener noreferrer' target='_blank'>{{app}}</a>.",
"linkGenerated": "Wygenerowano link do nagrania.",
"live": "NA ŻYWO",
"localRecordingNoNotificationWarning": "Nagranie nie zostanie ogłoszone innym uczestnikom. Musisz poinformować ich, że spotkanie jest nagrywane.",

View File

@@ -622,6 +622,8 @@
"googlePrivacyPolicy": "Política de Privacidade do Google",
"inProgress": "Gravação ou live streaming em andamento",
"invalidStreamKey": "A senha para transmissão ao vivo pode estar incorreta.",
"limitNotificationDescriptionNative": "Sua transmissão será limitada a {{limit}} minutos. Para transmissão ilimitada tente {{app}}.",
"limitNotificationDescriptionWeb": "Devido a alta demanda sua transmissão será limitada a {{limit}} minutos. Para transmissão ilimitada tente <a href={{url}} rel='noopener noreferrer' target='_blank'>{{app}}</a>.",
"off": "Transmissão ao vivo encerrada",
"offBy": "{{name}} parou a transmissão ao vivo",
"on": "Transmissão ao Vivo",
@@ -994,6 +996,8 @@
"highlightMomentSuccess": "Momento destacado",
"highlightMomentSucessDescription": "Seu momento destacado será adicionado ao sumário da reunião.",
"inProgress": "Gravação ou live streaming em andamento",
"limitNotificationDescriptionNative": "Devido a demanda, sua gravação ficará limitada a {{limit}} minutos. Para gravação ilimitada tente <3>{{app}}</3>.",
"limitNotificationDescriptionWeb": "Devido a demanda, sua gravação ficará limitada a {{limit}} minutos. Para gravação ilimitada tente <a href={{url}} rel='noopener noreferrer' target='_blank'>{{app}}</a>.",
"linkGenerated": "Geramos um link para sua gravação.",
"live": "AO VIVO",
"localRecordingNoNotificationWarning": "A gravação não será anunciada aos outros participantes. Você precisará avisá-los que a reunião está sendo gravada.",

View File

@@ -114,10 +114,6 @@
"error": "Erro: a sua mensagem não foi enviada. Motivo: {{error}}",
"everyone": "Todos",
"fieldPlaceHolder": "Aa",
"fileAccessibleTitle": "{{user}} carregou um ficheiro",
"fileAccessibleTitleMe": "carreguei um arquivo",
"fileDeleted": "Um ficheiro foi eliminado",
"guestsChatIndicator": "(convidado)",
"lobbyChatMessageTo": "Mensagem de chat na sala de espera para {{recipient}}",
"message": "Mensagem",
"messageAccessibleTitle": "{{user}} disse:",
@@ -126,16 +122,8 @@
"messagebox": "Escreva uma mensagem",
"newMessages": "Novas mensagens",
"nickname": {
"featureChat": "chat",
"featureClosedCaptions": "legendas ocultas",
"featureFileSharing": "partilha de ficheiros",
"featurePolls": "sondagens",
"popover": "Escolha um apelido",
"title": "Introduza um apelido para usar o chat",
"titleWith1Features": "Insira um apelido para usar {{feature1}}",
"titleWith2Features": "Insira um apelido para usar {{feature1}} e {{feature2}}",
"titleWith3Features": "Insira um apelido para usar {{feature1}}, {{feature2}} e {{feature3}}",
"titleWith4Features": "Insira um apelido para usar {{feature1}}, {{feature2}}, {{feature3}} e {{feature4}}",
"titleWithCC": "Insira um apelido para usar o chat e as legendas ocultas",
"titleWithPolls": "Digite um apelido para usar o chat e as sondagens",
"titleWithPollsAndCC": "Insira um apelido para utilizar o chat, as sondagens e as legendas ocultas",
@@ -291,6 +279,7 @@
"Submit": "Submeter",
"Understand": "Entendo, mantenha-me em silêncio por enquanto.",
"UnderstandAndUnmute": "Entendo, por favor, desative o silêncio.",
"WaitForHostMsg": "A conferência ainda não começou porque ainda não chegaram moderadores. Se quiser ser um moderador, inicie a sessão. Caso contrário, aguarde.",
"WaitForHostNoAuthMsg": "A conferência ainda não começou porque ainda não chegaram os moderadores. Por favor, aguarde.",
"WaitingForHostButton": "Esperar pelo moderador",
"WaitingForHostTitle": "À espera de um moderador…",
@@ -370,7 +359,7 @@
"kickParticipantTitle": "Expulsar este participante?",
"kickSystemTitle": "Ai! Foste expulso da reunião.",
"kickTitle": "Ai! {{participantDisplayName}} expulsou-o da reunião",
"learnMore": "Saiba mais",
"learnMore": "saiba mais",
"linkMeeting": "Link da reunião",
"linkMeetingTitle": "Link da reunião à Força de Vendas",
"liveStreaming": "Transmissão em direto",
@@ -440,7 +429,9 @@
"recentlyUsedObjects": "Os seus objetos recentemente utilizados",
"recording": "A gravar",
"recordingDisabledBecauseOfActiveLiveStreamingTooltip": "Não possível enquanto a transmissão em direto estiver activa",
"recordingInProgressDescription": "Esta reunião está a ser gravada e analisada pela IA. O seu áudio e vídeo foram silenciados. Se optar por ativar o som, concorda em ser gravado.",
"recordingInProgressDescription": "Esta reunião está a ser gravada e analisada pela IA{{learnMore}}. O seu áudio e vídeo foram silenciados. Se optar por ativar o som, concorda em ser gravado.",
"recordingInProgressDescriptionFirstHalf": "Esta reunião está a ser gravada e analisada por IA.",
"recordingInProgressDescriptionSecondHalf": ". Your audio and video have been muted. If you choose to unmute, you consent to being recorded.",
"recordingInProgressTitle": "Gravação em andamento",
"rejoinNow": "Reingressar agora",
"remoteControlAllowedMessage": "{{user}} aceitou o seu pedido de controlo remoto!",
@@ -531,7 +522,6 @@
"tokenAuthFailedWithReasons": "Lamentamos, mas não está autorizado a participar nesta chamada. Razões possíveis: {{reason}}",
"tokenAuthUnsupported": "O URL de token não é suportado.",
"transcribing": "Transcrição",
"unauthenticatedAccessDisabled": "Esta chamada requer autenticação. Por favor, inicie sessão para prosseguir.",
"unlockRoom": "Retirar reunião $t(lockRoomPassword)",
"user": "Utilizador",
"userIdentifier": "Identificador do utilizador",
@@ -576,17 +566,13 @@
"downloadFailedDescription": "Por favor, tente novamente.",
"downloadFailedTitle": "Falha no descarregar",
"downloadFile": "Descarregar",
"downloadStarted": "O download do ficheiro foi iniciado",
"dragAndDrop": "Arraste e solte os ficheiros aqui ou em qualquer lugar do ecrã",
"fileAlreadyUploaded": "O ficheiro já foi carregado para esta reunião.",
"fileRemovedByOther": "O seu ficheiro '{{ fileName }}' foi removido",
"fileTooLargeDescription": "Certifique-se de que o ficheiro não exceda {{ maxFileSize }}.",
"fileTooLargeTitle": "O ficheiro selecionado é muito grande",
"fileUploadProgress": "Progresso do envio do ficheiro",
"fileUploadedSuccessfully": "Ficheiro carregado com sucesso",
"newFileNotification": "{{ participantName }} partilhou '{{ fileName }}'",
"removeFile": "Remover",
"removeFileSuccess": "Ficheiro removido com sucesso",
"uploadFailedDescription": "Por favor, tente novamente.",
"uploadFailedTitle": "Falha ao carregar",
"uploadFile": "Partilhar ficheiro"
@@ -704,6 +690,8 @@
"googlePrivacyPolicy": "Política de Privacidade do Google",
"inProgress": "Gravação ou transmissão em direto em curso",
"invalidStreamKey": "A senha para transmissão em direto pode estar incorreta.",
"limitNotificationDescriptionNative": "A sua transmissão será limitada a {{limit}} min. Para uma tentativa de streaming ilimitada tente {{app}}.",
"limitNotificationDescriptionWeb": "Devido à grande procura, a sua transmissão será limitada a {{limit}} min. Para uma tentativa de streaming ilimitada tente <a href={{url}} rel='noopener noreferrer' target='_blank'>{{app}}</a>.",
"off": "Transmissão em direto encerrada",
"offBy": "{{name}} parou a transmissão em direto",
"on": "Iniciada a transmissão em direto",
@@ -757,8 +745,7 @@
"notificationTitle": "Sala de espera",
"passwordJoinButton": "Solicitar",
"title": "Sala de espera",
"toggleLabel": "Ativar sala de espera",
"waitForModerator": "A conferência ainda não começou porque não chegou nenhum moderador. Se deseja tornar-se um moderador, faça login. Caso contrário, aguarde."
"toggleLabel": "Ativar sala de espera"
},
"localRecording": {
"clientState": {
@@ -875,7 +862,6 @@
"oldElectronClientDescription1": "Parece estar a utilizar uma versão antiga do cliente Jitsi Meet que tem vulnerabilidades de segurança conhecidas. Por favor, certifique-se de que actualiza a nossa ",
"oldElectronClientDescription2": "compilação mais recente",
"oldElectronClientDescription3": " agora!",
"openChat": "Abrir chat",
"participantWantsToJoin": "Deseja juntar-se à reunião",
"participantsWantToJoin": "Desejam juntar-se à reunião",
"passwordRemovedRemotely": "$t(lockRoomPasswordUppercase) removido por outro participante",
@@ -974,9 +960,6 @@
"by": "Por {{ name }}",
"closeButton": "Fechar sondagem",
"create": {
"accessibilityLabel": {
"send": "Enviar sondagem"
},
"addOption": "Adicionar opção",
"answerPlaceholder": "Opção {{index}}",
"cancel": "Cancelar",
@@ -985,7 +968,8 @@
"pollQuestion": "Pergunta de Sondagem",
"questionPlaceholder": "Faça uma pergunta",
"removeOption": "Remover opção",
"save": "Guardar"
"save": "Guardar",
"send": "Enviar"
},
"errors": {
"notUniqueOption": "As opções devem ser únicas"
@@ -1123,6 +1107,8 @@
"highlightMomentSuccess": "Momento destacado",
"highlightMomentSucessDescription": "O seu momento destacado será acrescentado ao resumo da reunião.",
"inProgress": "Gravação ou transmissão em direto em curso",
"limitNotificationDescriptionNative": "Due to high demand your recording will be limited to {{limit}} min. Para gravações ilimitadas tente <3>{{app}}</3>.",
"limitNotificationDescriptionWeb": "Devido à grande procura, a sua gravação será limitada a {{limit}} min. For unlimited recordings try <a href={{url}} rel='noopener noreferrer' target='_blank'>{{app}}</a>.",
"linkGenerated": "Gerámos um link para a sua gravação.",
"localRecordingNoNotificationWarning": "A gravação não será anunciada aos outros participantes. Será necessário avisá-los de que a reunião está gravada.",
"localRecordingNoVideo": "O vídeo não está a ser gravado",
@@ -1352,7 +1338,7 @@
"muteEveryoneElsesVideo": "Parar o vídeo de todos os outros",
"muteEveryonesVideo": "Parar o vídeo de todos",
"muteGUMPending": "A ligar o seu microfone",
"noiseSuppression": "Supressão extra de ruído",
"noiseSuppression": "Supressão extra de ruído (BETA)",
"openChat": "Abrir chat",
"participants": "Abrir painel de participantes. {{participantsCount}} participantes",
"pip": "Mudar para o modo Picture-in-Picture",
@@ -1390,20 +1376,6 @@
"videounmute": "Iniciar câmara"
},
"addPeople": "Adicione pessoas à sua chamada",
"advancedAudioSettings": {
"aec": {
"label": "Cancelamento de eco acústico"
},
"agc": {
"label": "Controlo automático de ganho"
},
"ns": {
"label": "Supressão de ruído"
},
"stereo": {
"label": "Estéreo"
}
},
"audioOnlyOff": "Desativar modo de largura de banda baixa",
"audioOnlyOn": "Ativar modo de largura de banda baixa",
"audioRoute": "Selecionar o dispositivo de som",
@@ -1417,21 +1389,20 @@
"closeParticipantsPane": "Fechar painel de participantes",
"closeReactionsMenu": "Fechar menu de reações",
"closedCaptions": "Legendas ocultas",
"disableNoiseSuppression": "Desativar supressão de ruído extra",
"disableNoiseSuppression": "Desativar supressão de ruído extra (BETA)",
"disableReactionSounds": "Pode desactivar os sons de reacção para esta reunião",
"documentClose": "Fechar documento partilhado",
"documentOpen": "Abrir documento partilhado",
"download": "Descarregar as nossas aplicações",
"e2ee": "Criptografia ponta a ponta",
"embedMeeting": "Incorporar reunião",
"enableNoiseSuppression": "Ativar supressão extra de ruído",
"enableNoiseSuppression": "Ativar supressão extra de ruído (BETA)",
"endConference": "Terminar reunião para todos",
"enterFullScreen": "Ver em ecrã completo",
"enterTileView": "Ver em quadrícula",
"exitFullScreen": "Sair de ecrã completo",
"exitTileView": "Sair de quadrícula",
"feedback": "Deixar comentários",
"fileSharing": "Partilha de ficheiros",
"giphy": "Ativar/Desativar o menu GIPHY",
"hangup": "Sair da reunião",
"help": "Ajuda",
@@ -1460,14 +1431,13 @@
"noAudioSignalDialInDesc": "Também pode marcar usando:",
"noAudioSignalDialInLinkDesc": "Números de marcação",
"noAudioSignalTitle": "Não há nenhuma entrada vinda do seu microfone!",
"noiseSuppression": "Supressão extra de ruído",
"noiseSuppression": "Supressão extra de ruído (BETA)",
"noisyAudioInputDesc": "Parece que o seu microfone está a fazer barulho, por favor considere silenciar ou mudar de dispositivo.",
"noisyAudioInputTitle": "Seu microfone parece estar barulhento!",
"openChat": "Abrir chat",
"openReactionsMenu": "Abrir menu de reações",
"participants": "Participantes",
"pip": "Entrar no modo Picture-in-Picture",
"polls": "Sondagens",
"privateMessage": "Enviar mensagem privada",
"profile": "Editar o seu perfil",
"raiseHand": "Levantar a mão",
@@ -1477,7 +1447,6 @@
"reactionHeart": "Enviar reação com coração",
"reactionLaugh": "Enviar reação de risos",
"reactionLike": "Enviar reação de aprovado",
"reactionLove": "Enviar reação de amor",
"reactionSilence": "Enviar reação de silêncio",
"reactionSurprised": "Enviar reação de surpreendido",
"reactions": "Reações",
@@ -1629,8 +1598,6 @@
"noMainParticipantsTitle": "Esta reunião ainda não começou.",
"noVisitorLobby": "Não é possível aderir enquanto houver uma sala de espera activada para a reunião.",
"notAllowedPromotion": "É necessário que um participante autorize primeiro o seu pedido.",
"requestToJoin": "Mão levantada",
"requestToJoinDescription": "A sua solicitação foi enviada aos moderadores. Aguarde um momento!",
"title": "É um espectador na reunião"
},
"waitingMessage": "Participará na reunião assim que esta estiver em direto!"

View File

@@ -628,6 +628,8 @@
"googlePrivacyPolicy": "Политика конфиденциальности Google",
"inProgress": "Идет запись или прямая трансляция",
"invalidStreamKey": "Похоже ключ прямой трансляции неверен.",
"limitNotificationDescriptionNative": "Ваша трансляция будет ограничена {{limit}} мин. Для неограниченного просмотра попробуйте {{app}}.",
"limitNotificationDescriptionWeb": "Из-за высокой нагрузки ваша потоковая передача будет ограничена {{limit}} мин. Для неограниченной потоковой передачи попробуйте <a href={{url}} rel='noopener noreferrer' target='_blank'> {{app}} </a>.",
"off": "Трансляция остановлена",
"offBy": "{{name}} остановил прямую трансляцию",
"on": "Трансляция",
@@ -1009,6 +1011,8 @@
"highlightMomentSuccess": "Моменты выделены",
"highlightMomentSucessDescription": "Ваши выделенные моменты будут добавлены в итоги встречи.",
"inProgress": "Идет запись или прямая трансляция",
"limitNotificationDescriptionNative": "Из-за высокой нагрузки ваша запись будет ограничена {{limit}} мин. Для неограниченного количества записей попробуйте <3> {{app}} </3>.",
"limitNotificationDescriptionWeb": "Из-за высокой нагрузки ваша запись будет ограничена {{limit}} мин. Для неограниченного количества записей попробуйте <a href={{url}} rel='noopener noreferrer' target='_blank'>{{app}}</a>.",
"linkGenerated": "Мы создали ссылку на вашу запись.",
"localRecordingNoNotificationWarning": "Запись не будет объявлена другим участникам. Вам необходимо самостоятельно уведомить их о том, что встреча записывается.",
"localRecordingNoVideo": "Видео не записывается",

View File

@@ -360,7 +360,7 @@
"kickParticipantTitle": "Cheres bogare custa persone?",
"kickSystemTitle": "Ohia, t'ant bogadu dae s'addòbiu",
"kickTitle": "Ohi! {{participantDisplayName}} t'at bogadu de sa riunione",
"learnMore": "Àteras informatziones",
"learnMore": "àteras informatziones",
"linkMeeting": "Acàpia sa riunione",
"linkMeetingTitle": "Acàpia sa riunione a Salesforce",
"liveStreaming": "Trasmissione in direta",
@@ -430,7 +430,9 @@
"recentlyUsedObjects": "Ogetos impreados de reghente",
"recording": "Registrende",
"recordingDisabledBecauseOfActiveLiveStreamingTooltip": "Impossìbile in su mentras chi sa trasmissione in direta est ativa",
"recordingInProgressDescription": "Est in cursu sa registratzione e s'anàlisi de custu addòbiu cun IA. S'àudio e su vìdeu tuos sunt disativados. Si ddos ativas, atzetas chi siant registrados.",
"recordingInProgressDescription": "Est in cursu sa registratzione e s'anàlisi de custu addòbiu cun IA{{learnMore}}. S'àudio e su vìdeu tuos sunt disativados. Si ddos ativas, atzetas chi siant registrados.",
"recordingInProgressDescriptionFirstHalf": "Est in cursu sa registratzione e s'anàlisi de custu addòbiu cun IA",
"recordingInProgressDescriptionSecondHalf": ". S'àudio e su vìdeu tuos sunt disativados. Si ddos ativas, atzetas chi siant registrados.",
"recordingInProgressTitle": "Registratzione in cursu",
"rejoinNow": "Torra a intrare",
"remoteControlAllowedMessage": "{{user}} at atzetadu sa rechesta tua de controllu remotu.",
@@ -691,6 +693,8 @@
"googlePrivacyPolicy": "Polìtica de riservadesa de Google",
"inProgress": "Registratzione o trasmissione in direta in cursu",
"invalidStreamKey": "Sa crae pro is trasmissiones in direta podet èssere iscurreta.",
"limitNotificationDescriptionNative": "Sa trasmissione in direta tua at a èssere limitada a {{limit}} minutos. Pro una trasmissione sena lìmites, imprea {{app}}.",
"limitNotificationDescriptionWeb": "A càusa de s'arta dimanda, sa trasmissione in direta tua at a èssere limitada a {{limit}} minutos. Pro una trasmissione sena lìmites, imprea <a href={{url}} rel='noopener noreferrer' target='_blank'>{{app}}</a>.",
"off": "Trasmissione in direta firmada",
"offBy": "{{name}} at firmadu sa trasmissione in direta",
"on": "Trasmissione in direta aviada",
@@ -1107,6 +1111,8 @@
"highlightMomentSuccess": "Momentu in evidèntzia",
"highlightMomentSucessDescription": "Su momentu chi as postu in evidèntzia at a èssere agiuntu a su resumu de sa riunione.",
"inProgress": "Registratzione o trasmissione in direta in cursu",
"limitNotificationDescriptionNative": "A càusa de s'arta dimanda, sa registratzione tua at a èssere limitada a {{limit}} minutos. Pro una registratzione sena lìmites, imprea <3>{{app}}</3>.",
"limitNotificationDescriptionWeb": "A càusa de s'arta dimanda, sa registratzione tua at a èssere limitada a {{limit}} minutos. Pro registrare sena lìmites, imprea <a href={{url}} rel='noopener noreferrer' target='_blank'>{{app}}</a>.",
"linkGenerated": "Amus generadu unu ligòngiu a sa registratzione tua.",
"localRecordingNoNotificationWarning": "Sa registratzione no at a èssere annuntziada a is partetzipantes. Si dd'as a dèpere fàghere iscire tue.",
"localRecordingNoVideo": "Su vìdeu no s'est registrende.",

View File

@@ -418,6 +418,8 @@
"getStreamKeyManually": "Nepodarilo sa získať žiadne živé vysielania. Skúste získať kľúč pre živé vysielanie z YouTube.",
"googlePrivacyPolicy": "Pravidlá ochrany súkromia Google",
"invalidStreamKey": "Kľúč pre živé vysielanie je nesprávny.",
"limitNotificationDescriptionNative": "Živé vysielanie je obmedzené na {{limit}} minút. Pre neobmedzené vysielanie skúste {{app}}.",
"limitNotificationDescriptionWeb": "Živé vysielanie je obmedzené na {{limit}} minút. Pre neobmedzené vysielanie skúste <a href={{url}} rel='noopener noreferrer' target='_blank'>{{app}}</a>.",
"off": "Živé vysielanie ukončené",
"offBy": "{{name}} ukončil živé vysielanie",
"on": "Živé vysielanie",
@@ -618,6 +620,8 @@
"expandedPending": "Začína sa nahrávanie…",
"failedToStart": "Nepodarilo sa začať nahrávanie",
"fileSharingdescription": "Nahrávku zdielať s účastníkmi stretnutia",
"limitNotificationDescriptionNative": "Nahrávanie je obmedzené na {{limit}} minút. Pre neobmedzené nahrávanie skúste <3>{{app}}</3>.",
"limitNotificationDescriptionWeb": "Nahrávanie je obmedzené na {{limit}} minút. Pre neobmedzené nahrávanie skúste <a href={{url}} rel='noopener noreferrer' target='_blank'>{{app}}</a>.",
"live": "LIVE",
"loggedIn": "Prihlásený ako {{userName}}",
"off": "Nahrávanie zastavené",

View File

@@ -480,6 +480,8 @@
"getStreamKeyManually": "Ni bilo mogoče najti prenosov v živo. Poskusite pridobiti ključ za prenos v živo iz YouTuba.",
"googlePrivacyPolicy": "Politika zasebnosti Google",
"invalidStreamKey": "Ključ prenosa v živo je morda napačen.",
"limitNotificationDescriptionNative": "Vaš prenos v živo bo omejen na {{limit}} min. Za neomejen prenos preizkusite {{app}}.",
"limitNotificationDescriptionWeb": "Zaradi velikega povpraševanja bo vaš prenos omejen na {{limit}} min. Za neomejen prenos preizkusite <a href={{url}} rel='noopener noreferrer' target='_blank'>{{app}}</a>.",
"off": "Prenos v živo zaustavljen",
"offBy": "Uporabnik {{name}} je prekinil prenos v živo",
"on": "Prenos v živo",
@@ -776,6 +778,8 @@
"expandedPending": "Snemanje se začenja…",
"failedToStart": "Snemanja ni bilo mogoče začeti",
"fileSharingdescription": "Delite snemanje z udeleženci srečanja",
"limitNotificationDescriptionNative": "Zaradi velikega povpraševanja bo snemanje omejeno na {{limit}} min. Za neomejeno snemanje preizkusite <3>{{app}}</3>.",
"limitNotificationDescriptionWeb": "Zaradi velikega povpraševanja bo snemanje omejeno na {limit}} min. Za neomejeno snemanje preizkusite <a href={{url}} rel='noopener noreferrer' target='_blank'>{{app}}</a>.",
"linkGenerated": "Ustvarili smo povezava do posnetka.",
"live": "V ŽIVO",
"loggedIn": "Vpisan kot {{userName}}",

View File

@@ -73,7 +73,7 @@
"hideParticipantList": "Fshihe listën e pjesëmarrësve",
"mainRoom": "Dhoma kryesore",
"notifications": {
"joined": "Po hyhet te dhomë aneks konsultimesh {{name}}",
"joined": "Po hyhet te dhomë aneks konsultimesh \"{{name}}\"",
"joinedMainRoom": "Po hyhet te dhoma kryesore",
"joinedTitle": "Dhoma Aneks Konsultimesh"
},
@@ -109,15 +109,9 @@
}
},
"chat": {
"disabled": "Dërgimi i mesazheve të fjalosjes është çaktivizuar.",
"enter": "Hyni në dhomë",
"enter": "Hyni në fjalosje",
"error": "Gabim: mesazhi juaj su dërgua. Arsye: {{error}}",
"everyone": "Gjithkush",
"fieldPlaceHolder": "Aa",
"fileAccessibleTitle": "{{user}} ngarkoi një kartelë",
"fileAccessibleTitleMe": "me ngarkoi një kartelë",
"fileDeleted": "U fshi një kartelë",
"guestsChatIndicator": "(guest)",
"fieldPlaceHolder": "Shtypni këtu mesazhin tuaj",
"lobbyChatMessageTo": "Mesazh fjalosjeje në holl për {{recipient}}",
"message": "Mesazh",
"messageAccessibleTitle": "{{user}} thotë:",
@@ -126,20 +120,9 @@
"messagebox": "Shtypni një mesazh",
"newMessages": "Mesazhe të rinj",
"nickname": {
"featureChat": "fjalosje",
"featureClosedCaptions": "titra të mbyllur",
"featureFileSharing": "dhënie kartelash",
"featurePolls": "pyetësorë",
"popover": "Zgjidhni një nofkë",
"title": "Që të përdorni fjalosjen, jepni një nofkë",
"titleWith1Features": "Që të përdorni {{feature1}}, jepni një nofkë",
"titleWith2Features": "Që të përdorni {{feature1}} dhe {{feature2}}, jepni një nofkë",
"titleWith3Features": "Që të përdorni {{feature1}}, {{feature2}} dhe {{feature3}}, jepni një nofkë",
"titleWith4Features": "Që të përdorni {{feature1}}, {{feature2}}, {{feature3}} dhe {{feature4}}, jepni një nofkë",
"titleWithCC": "Që të përdorni fjalosje dhe titra të mbyllur, jepni një nofkë",
"titleWithPolls": "Që të përdorni fjalosjen dhe pyetësorë, jepni një nofkë",
"titleWithPollsAndCC": "Që të përdorni fjalosje, pyetësorë dhe titra të mbyllur, jepni një nofkë",
"titleWithPollsAndCCAndFileSharing": "Që të përdorni fjalosje, pyetësorë, titra të mbyllur dhe kartela, jepni një nofkë"
"titleWithPolls": "Që të përdorni fjalosjen dhe pyetësorë, jepni një nofkë"
},
"noMessagesMessage": "Te takimi ska ende mesazhe. Nisni një bisedë këtu!",
"privateNotice": "Mesazh privat për {{recipient}}",
@@ -148,27 +131,18 @@
"systemDisplayName": "Sistem",
"tabs": {
"chat": "Fjalosje",
"closedCaptions": "CC",
"fileSharing": "Kartela",
"polls": "Pyetësorë"
},
"title": "Fjalosje",
"titleWithCC": "CC",
"titleWithFeatures": "Bisedoni dhe",
"titleWithFileSharing": "Kartela",
"titleWithPolls": "Pyetësorë",
"titleWithPolls": "Fjalosje dhe Pyetësorë",
"you": "ju"
},
"chromeExtensionBanner": {
"buttonText": "Instaloni Zgjerimin për Chrome",
"buttonTextEdge": "Instaloni Zgjerimin për Edge",
"buttonTextEdge": "Instaloni Zgjerimin Edge",
"close": "Mbylle",
"dontShowAgain": "Mos ma shfaq sërish këtë",
"installExtensionText": "Instaloni zgjerimin për integrim me Google Calendar dhe Office 365"
},
"closedCaptionsTab": {
"emptyState": "Lënda e titrave të mbyllur do të jetë e përdorshme sapo një moderator ti fillojë ato",
"startClosedCaptionsButton": "Nis titra të mbyllur"
"installExtensionText": "Instaloni zgjerimin për integrim Google Calendar-it dhe Office 365-s"
},
"connectingOverlay": {
"joiningRoom": "Po ju lidhim me takimin tuaj…"
@@ -227,9 +201,6 @@
"video_ssrc": "Video SSRC:",
"yes": "po"
},
"customPanel": {
"close": "Mbylle"
},
"dateUtils": {
"earlier": "Më herët",
"today": "Sot",
@@ -252,7 +223,7 @@
"noDesktopApp": "Se keni aplikacionin?",
"noMobileApp": "Se keni aplikacionin?",
"or": "OR",
"termsAndConditions": "Duke vazhduar, pajtoheni me <a href='{{termsAndConditionsLink}}' rel='noopener noreferrer' target='_blank'>terma & kushte.</a>",
"termsAndConditions": "Duke vazhduar, pajtoheni me <a href='{{termsAndConditionsLink}}' rel='noopener noreferrer' target='_blank'>terms & conditions.</a> tona",
"title": "Po niset takimi juaj në {{app}}…",
"titleNew": "Po niset takimi juaj…",
"tryAgainButton": "Riprovoni në desktop",
@@ -292,8 +263,7 @@
"Remove": "Hiqe",
"Share": "Ndaje",
"Submit": "Parashtroje",
"Understand": "E kuptoj, mbamëni të heshtuar për tani",
"UnderstandAndUnmute": "E kuptoj, ju lutem, hiqmani heshtimin",
"WaitForHostMsg": "Konferenca ska nisur, ngaqë ska mbërritur ende ndonjë moderator. Nëse dëshironi të bëheni një moderator, ju lutemi, bëni hyrjen. Përndryshe, ju lutemi, pritni.",
"WaitForHostNoAuthMsg": "Konferenca ska nisur, ngaqë ska mbërritur ende ndonjë moderator. Përndryshe, ju lutemi, pritni.",
"WaitingForHostButton": "Prit për moderator",
"WaitingForHostTitle": "Po pritet për një moderator…",
@@ -315,12 +285,6 @@
"alreadySharedVideoTitle": "Lejohet vetëm një ndarje videoje me të tjerët në herë",
"applicationWindow": "Dritare aplikacioni",
"authenticationRequired": "Lypset mirëfilltësim",
"cameraCaptureDialog": {
"description": "Bëni dhe dërgoni një foto duke përdorur kamerën e celularit tuaj",
"ok": "Hape kamerën",
"reject": "Jo tani",
"title": "Bëni një foto"
},
"cameraConstraintFailedError": "Kamera juaj splotëson disa nga kufizimet e domosdoshme.",
"cameraNotFoundError": "Su gjet kamera.",
"cameraNotSendingData": "Sqemë në gjendje të përdornim kamerën tuaj. Ju lutemi, kontrolloni se mos pajisjen po e përdor një tjetër aplikacion, përzgjidhni pajisje tjetër që nga menuja e rregullimeve, ose provoni të ringarkoni aplikacionin.",
@@ -335,7 +299,6 @@
"conferenceReloadMsg": "Po provojmë ta ndreqim këtë gjë. Rilidhje pas {{seconds}} sekondash…",
"conferenceReloadTitle": "Mjerisht, diç shkoi ters.",
"confirm": "Ripohojeni",
"confirmBack": "Mbrapsht",
"confirmNo": "Jo",
"confirmYes": "Po",
"connectError": "Hëm! Diç shkoi ters dhe smundëm të lidhemi dot me konferencën.",
@@ -345,7 +308,7 @@
"copied": "U kopjua",
"copy": "Kopjoje",
"demoteParticipantDialog": "Jeni i sigurt se doni ta kaloni këtë pjesëmarrës si vizitor?",
"demoteParticipantTitle": "Kaloje si parës",
"demoteParticipantTitle": "Kaloje si vizitor",
"dismiss": "Hidhe tej",
"displayNameRequired": "Njatjeta! Cili është emri juaj?",
"done": "U bë",
@@ -371,20 +334,16 @@
"kickParticipantButton": "Përzëre",
"kickParticipantDialog": "Jeni i sigurt se doni të përzihet ky pjesëmarrës?",
"kickParticipantTitle": "Të përzihet ky pjesëmarrës?",
"kickSystemTitle": "Ooh! U përzutë nga takimi",
"kickTitle": "Ooh! {{participantDisplayName}} ju përzuri nga takimi",
"learnMore": "Mësoni më tepër",
"linkMeeting": "Lidheni takimin",
"linkMeetingTitle": "Lidheni takimin me Salesforce",
"liveStreaming": "Transmetim i Drejtpërdrejtë",
"liveStreamingDisabledBecauseOfActiveRecordingTooltip": "Jo e mundshme, kur është aktiv regjistrimi",
"localUserControls": "Kontrolle vendore përdoruesi",
"lockMessage": "Su arrit të kyçej konferenca.",
"lockRoom": "Shtoni takim $t(lockRoomPassword)",
"lockRoom": "Shtoni takim $t(lockRoomPasswordUppercase)",
"lockTitle": "Kyçja dështoi",
"login": "Hyrje",
"loginFailed": "Hyrja dështoi.",
"loginOnResume": "Sesioni juaj me mirëfilltësim ka skaduar. Lypset të bëni sërish hyrjen, që të vazhdoni takimin.",
"loginQuestion": "Jeni i sigurt se doni të hyhet dhe të braktiset konferenca?",
"logoutQuestion": "Jeni i sigurt se doni të dilet dhe të braktiset konferenca?",
"logoutTitle": "Dalje",
@@ -397,35 +356,23 @@
"micPermissionDeniedError": "Skeni akorduar leje për tu përdorur mikrofoni juaj. Mundeni prapëseprapë të merrni pjesë te konferenca, por të tjerët sdo tju dëgjojnë. Përdorni butonin e kamerës, te shtylla e adresave, për ta ndrequr këtë gjë.",
"micTimeoutError": "Su nis dot burim audio. Ndodhi mbarim kohe!",
"micUnknownError": "Spërdoret dot mikrofoni, për një arsye të panjohur.",
"moderationAudioLabel": "Lejoji jo-moderatorët të heqin heshtimin e vetes",
"moderationDesktopLabel": "Lejoji jo-moderatorët të ndajnë me të tjerët ekranin e tyre",
"moderationVideoLabel": "Lejoji jo-moderatorët të nisin videon e tyre",
"moderationAudioLabel": "Lejoji pjesëmarrësit të heqin heshtimin e vetes",
"moderationVideoLabel": "Lejoji pjesëmarrësit të nisin videon e tyre",
"muteEveryoneDialog": "Pjesëmarrësit mund të heqin kurdo heshtimin e veten.",
"muteEveryoneDialogModerationOn": "Pjesëmarrësit mund të dërgojnë kurdo kërkesë për të folur.",
"muteEveryoneElseDialog": "Po i heshtuat, sdo të jeni në gjendje tu hiqni heshtimin, por ata munden të heqin kurdo heshtimin për veten.",
"muteEveryoneElseTitle": "Të heshtohet gjithkush, hiq {{whom}}?",
"muteEveryoneElsesDesktopDialog": "Pasi ndarja me të tjerë të jetë ndalur, sdo të jeni në gjendje ta rinisni, por ata mund ta bëjnë në çfarëdo kohe.",
"muteEveryoneElsesDesktopTitle": "Të ndalet për gjithkënd ndarja e ekranit, hiq {{whom}}?",
"muteEveryoneElsesVideoDialog": "Pasi të jetë çaktivizuar kamera, sdo të jeni në gjendje ta riaktivizoni, por ata munden ta riaktivizojnë kurdo.",
"muteEveryoneElsesVideoTitle": "Të ndalet videoja e gjithkujt, hiq {{whom}}?",
"muteEveryoneSelf": "ju",
"muteEveryoneStartMuted": "Tani e tutje, gjithkush fillon i heshtuar",
"muteEveryoneTitle": "Të heshtohet gjithkush?",
"muteEveryonesDesktopDialog": "Pjesëmarrësit mund të ndajnë me të tjerët ekranin e tyre kurdo.",
"muteEveryonesDesktopDialogModerationOn": "Pjesëmarrësit mund të dërgojnë kurdo një kërkesë për ndarjen e ekranit të tyre.",
"muteEveryonesDesktopTitle": "Të ndalet ndarja e ekranit për gjithkënd?",
"muteEveryonesVideoDialog": "Pjesëmarrësit mund të aktivizojnë videon e tyre kurdo.",
"muteEveryonesVideoDialogModerationOn": "Pjesëmarrësit mund të dërgojnë kurdo një kërkesë për aktivizuar videon e tyre.",
"muteEveryonesVideoDialogModerationOn": "Pjesëmarrësit mund të dërgojnë kurdo kërkesë për aktivizimin e videos së tyre.",
"muteEveryonesVideoDialogOk": "Çaktivizoje",
"muteEveryonesVideoTitle": "Të ndalet videoja e gjithkujt?",
"muteParticipantBody": "Sdo jeni në gjendje të hiqni heshtimin për ta, por ata munden kurdo ta heqin për veten.",
"muteParticipantButton": "Heshtoje",
"muteParticipantsDesktopBody": "Sdo të jeni në gjendje të nisni ndarjen e ekranit të tyre me të tjerë, por ata munden kurdo t ta bëjnë.",
"muteParticipantsDesktopBodyModerationOn": "Sdo të jeni në gjendje të nisni tregimin e ekrani t të tyre dhe as ata sdo të jenë në gjendje.",
"muteParticipantsDesktopButton": "Ndale tregimin e ekranit",
"muteParticipantsDesktopDialog": "Jeni i sigurt se doni të çaktivizoni tregimin e ekranit të këtij pjesëmarrësi? Sdo të jeni në gjendje ta rinisni, por ai mund të bëjë kurdo.",
"muteParticipantsDesktopDialogModerationOn": "Jeni i sigurt se doni të çaktivizoni tregimin e ekranit të këtij pjesëmarrësi? Sdo të jeni në gjendje ta rinisni dhe as ata sdo të jenë në gjendje.",
"muteParticipantsDesktopTitle": "Të çaktivizohet tregim ekrani i këtij pjesëmarrësit?",
"muteParticipantsVideoBody": "Sdo të jeni në gjendje të riaktivizoni kamerën e tyre, por ata munden kurdo ta riaktivizojnë për veten.",
"muteParticipantsVideoBodyModerationOn": "Sdo të jeni në gjendje të riaktivizoni kamerën e tyre dhe as ata sdo të munden.",
"muteParticipantsVideoButton": "Ndale videon",
@@ -444,9 +391,7 @@
"readMore": "më tepër",
"recentlyUsedObjects": "Së fundi përdorët objekte",
"recording": "Regjistrim",
"recordingDisabledBecauseOfActiveLiveStreamingTooltip": "Jo i mundshëm, kur ka aktiv një transmetim të drejtpërdrejtë",
"recordingInProgressDescription": "Ky takim po regjistrohet dhe analizohet nga IA. Audioja dhe videoja juaj janë heshtuar. Nëse zgjidhni të hiqet heshtimi, pranimi juaj po regjistrohet.",
"recordingInProgressTitle": "Regjistrim në kryerje e sipër",
"recordingDisabledBecauseOfActiveLiveStreamingTooltip": "Jo i mundshëm kur ka aktiv një transmetim të drejtpërdrejtë",
"rejoinNow": "Rihyni tani",
"remoteControlAllowedMessage": "{{user}} pranoi kërkesën tuaj për kontroll së largëti!",
"remoteControlDeniedMessage": "{{user}} hodhi poshtë kërkesën tuaj për kontroll së largëti!",
@@ -483,7 +428,7 @@
"sessTerminatedReason": "Takimi u përfundua",
"sessionRestarted": "Thirrja rinisi për shkak të një problemi lidhjeje.",
"shareAudio": "Vazhdoni",
"shareAudioAltText": "që të ndani me të tjerë lëndën e dëshiruar, kaloni te Skedë Shfletuesi, përzgjidhni lëndën, aktivizoni shenjën për ndani audio me të tjerë dhe mandej klikoni butonin ndaje me të tjerë",
"shareAudioAltText": "që të ndani me të tjerë lëndën e dëshiruar, kaloni te \"Skedë Shfletuesi\", përzgjidhni lëndën, aktivizoni shenjën për \"ndani audio me të tjerë\" dhe mandej klikoni butonin \"ndaje me të tjerë\"",
"shareAudioTitle": "Si të ndahet audio me të tjerë",
"shareAudioWarningD1": "lypset të ndalni tregim ekrani, para se të ndani audion tuaj me të tjerë.",
"shareAudioWarningD2": "lypset të rinisni tregimin e ekranit tuaj dhe ti vini shenjë mundësisë “ndani audio me të tjerë”.",
@@ -536,7 +481,6 @@
"tokenAuthFailedWithReasons": "Na ndjeni, nuk keni leje të merrni pjesë në këtë thirrje. Arsye e mundshme: {{reason}}",
"tokenAuthUnsupported": "Nuk mbulohet URL token-i.",
"transcribing": "Transkriptim",
"unauthenticatedAccessDisabled": "Kjo thirrje lyp mirëfilltësim. Ju lutemi, bëni hyrjen, që të mund të vazhdoni.",
"unlockRoom": "Hiq $t(lockRoomPassword) takimi",
"user": "Përdorues",
"userIdentifier": "Identifikues përdoruesi",
@@ -549,10 +493,10 @@
"viewUpgradeOptions": "Shihni mundësi përmirësimi",
"viewUpgradeOptionsContent": "Që të përfitoni përdorim të pakufizuar veçorish me pagesë, të tilla si regjistrimi, transkriptime, RTMP Streaming & etj, duhet të përmirësoni planin tuaj.",
"viewUpgradeOptionsTitle": "Zbuluat një veçori me pagesë!",
"whiteboardLimitContent": "Na ndjeni, është mbërritur kufi përdorues të njëkohshëm tabele.",
"whiteboardLimitContent": "Na ndjeni, është mbërritur te kufiri i tabelave të njëkohshme.",
"whiteboardLimitReference": "Për më tepër hollësi, ju lutemi, vizitoni",
"whiteboardLimitReferenceUrl": "sajtin tonë",
"whiteboardLimitTitle": "Përdorim tabele i kufizuar",
"whiteboardLimitTitle": "Kufizim përdorimi tabele",
"yourEntireScreen": "Krejt ekranin tuaj"
},
"documentSharing": {
@@ -577,26 +521,6 @@
"veryBad": "Shumë i Dobët",
"veryGood": "Shumë i Mirë"
},
"fileSharing": {
"downloadFailedDescription": "Ju lutemi, riprovoni.",
"downloadFailedTitle": "Shkarkimi dështoi",
"downloadFile": "Shkarkoje",
"downloadStarted": "Filloi shkarkimi i kartelës",
"dragAndDrop": "Tërhiqni dhe lini kartela këtu, ose kudo në ekran",
"fileAlreadyUploaded": "Kartela është ngarkuar tashmë te ky takim.",
"fileRemovedByOther": "Kartela juaj '{{ fileName }}' u hoq",
"fileTooLargeDescription": "Ju lutemi, siguroni që kartela të mos tejkalojë {{ maxFileSize }}.",
"fileTooLargeTitle": "Kartela e përzgjedhur është shumë e madhe",
"fileUploadProgress": "Ecuri ngarkimi kartele",
"fileUploadedSuccessfully": "Kartela u ngarkua me sukses",
"newFileNotification": "{{ participantName }} ndau '{{ fileName }}' me të tjerë",
"removeFile": "Hiqe",
"removeFileSuccess": "Kartela u hoq me sukses",
"uploadDisabled": "Slejoheni të ngarkoni kartela. Kërkojini një moderatori të drejta lejimi të këtij veprimi.",
"uploadFailedDescription": "Ju lutemi, riprovoni.",
"uploadFailedTitle": "Ngarkimi dështoi",
"uploadFile": "Ndani kartelë"
},
"filmstrip": {
"accessibilityLabel": {
"heading": "Miniatura videosh"
@@ -703,13 +627,15 @@
"errorAPI": "Ndodhi një gabim teksa hyhej te transmetimet tuaja YouTube. Ju lutemi, provoni të ribëni hyrjen.",
"errorLiveStreamNotEnabled": "Transmetimi i Drejtpërdrejtë sështë i aktivizuar për {{email}}. Ju lutemi, aktivizoni transmetim të drejtpërdrejtë, ose hyni në një llogari me transmetim të drejtpërdrejtë të aktivizuar.",
"expandedOff": "Transmetimi i drejtpërdrejtë u ndal",
"expandedOn": "Takimi aktualisht po transmetohet drejtpërdrejt",
"expandedOn": "Takimi po transmetohet aktualisht në YouTube.",
"expandedPending": "Po fillohet transmetim i drejtpërdrejtë…",
"failedToStart": "Su arrit të fillohej Transmetim i Drejtpërdrejtë",
"getStreamKeyManually": "Sqemë në gjendje të sillnim ndonjë transmetim të drejtpërdrejtë. Provoni të merrni kyçin tuaj për transmetim të drejtpërdrejtë nga YouTube-i.",
"googlePrivacyPolicy": "Rregulla Privatësie Google",
"inProgress": "Regjistrim ose transmetim i drejtpërdrejtë në punë e sipër",
"invalidStreamKey": "Kyçi për transmetim të drejtpërdrejtë mund të jetë i pasaktë.",
"limitNotificationDescriptionNative": "Transmetimi juaj do të kufizohet në {{limit}} min. Për transmetim të pakufizuar, provoni {{app}}.",
"limitNotificationDescriptionWeb": "Për shkak kërkesash të shumta, transmetimi juaj do të kufizohet në {{limit}} min. Për transmetim të pakufizuar, provoni <a href={{url}} rel='noopener noreferrer' target='_blank'>{{app}}</a>.",
"off": "Transmetimi i Drejtpërdrejtë u ndal",
"offBy": "{{name}} ndali transmetimin e drejtpërdrejtë",
"on": "Filloi Transmetimi i Drejtpërdrejtë",
@@ -763,8 +689,7 @@
"notificationTitle": "Holl",
"passwordJoinButton": "Hyni",
"title": "Holl",
"toggleLabel": "Aktivizoni hollin",
"waitForModerator": "Konferenca ska nisur ende, ngaqë ska mbërritur ndonjë moderator. Nëse do të donit të bëheni një moderator, ju lutemi, bëni hyrjen në llogari. Përndryshe, ju lutemi, prisni."
"toggleLabel": "Aktivizoni hollin"
},
"localRecording": {
"clientState": {
@@ -807,26 +732,21 @@
"me": "unë",
"notify": {
"OldElectronAPPTitle": "Cenueshmëri sigurie!",
"allowAll": "Lejo Gjithçka",
"allowAudio": "Lejo Audio",
"allowDesktop": "Lejo tregim ekrani",
"allowVideo": "Lejo Video",
"allowAction": "Lejoje",
"allowedUnmute": "Mund të hiqni heshtimin e mikrofonit tuaj, të nisni kamerën tuaj ose të tregoni ekranin tuaj.",
"audioUnmuteBlockedDescription": "Veprimi i heqjes së heshtimit të mikrofonit është bllokuar përkohësisht për shkak kufizimesh të sistemit.",
"audioUnmuteBlockedTitle": "Heqje heshtimi mikrofoni e bllokuar!",
"chatMessages": "Mesazhe fjalosjeje",
"connectedOneMember": "{{name}} nisi takimin",
"connectedThreePlusMembers": "{{name}} dhe mjaft të tjerë hynë në takim",
"connectedThreePlusMembers": "{{name}} dhe mjaft të tjerë tjerë hynë në takim",
"connectedTwoMembers": "{{first}} dhe {{second}} tjetër hynë në takim",
"connectionFailed": "Lidhja dështoi. Ju lutemi, riprovoni më vonë!",
"dataChannelClosed": "Cilësia e videos mund të jetë dëmtuar",
"dataChannelClosedDescription": "Kanali urë u shkëput, kështu që cilësia e videos është kufizuar te vlera më e ulët.",
"dataChannelClosedDescriptionWithAudio": "Kanali urë është jashtë funksionimi, prandaj mund të ndodhin shkëputje te audioja dhe videoja.",
"dataChannelClosedWithAudio": "Cilësia e audios dhe videos mund të jetë dëmtuar",
"desktopMutedRemotelyTitle": "Tregimi i ekranit tuaj është ndalur nga {{participantDisplayName}}",
"disabledIframe": "Trupëzimi është menduar vetëm për qëllime demonstrimi, ndaj kjo thirrje do të ndërpritet pas {{timeout}} minutash.",
"disabledIframeSecondaryNative": "Trupëzimi i {{domain}} është menduar vetëm për qëllime demonstrimi, ndaj kjo thirrje do të ndërpritet pas {{timeout}} minutash.",
"disabledIframeSecondaryWeb": "Trupëzimi i {{domain}} është menduar vetëm për qëllime demonstrimi, ndaj kjo thirrje do të ndërpritet pas {{timeout}} minutash. Ju lutemi, për trupëzime të njëmendta përdorni <a href='{{jaasDomain}}' rel='noopener noreferrer' target='_blank'>Jitsi si një Shërbim</a>!",
"disabledIframeSecondary": "Trupëzimi i {{domain}} është menduar vetëm për qëllime demonstrimi, ndaj kjo thirrje do të ndërpritet pas {{timeout}} minutash. Ju lutemi, për trupëzime të njëmendta përdorni <a href='{{jaasDomain}}' rel='noopener noreferrer' target='_blank'>Jitsi as a Service</a>!",
"disconnected": "u shkëput",
"displayNotifications": "Shfaq njoftime për",
"dontRemindMe": "Mos ma kujto",
@@ -834,7 +754,7 @@
"focusFail": "{{component}} jo i passhëm - riprovoni pas {{ms}} sekondash",
"gifsMenu": "GIPHY",
"groupTitle": "Njoftime",
"hostAskedUnmute": "Moderatori do të donte të merrnit pjesë.",
"hostAskedUnmute": "Moderatori do të donte të flisnit",
"invalidTenant": "Qiramarrës i pavlefshëm",
"invalidTenantHyphenDescription": "Qiramarrësi që po përdorni është i pavlefshëm (fillon, ose përfundon me '-').",
"invalidTenantLengthDescription": "Qiramarrësi që po përdorni është shumë i gjatë.",
@@ -869,31 +789,30 @@
"moderator": "Tani jeni moderator",
"muted": "E keni filluar bisedën të heshtur.",
"mutedRemotelyDescription": "Mundeni përherë të hiqni heshtimin, kur të jeni gati për të folur. Ribëni heshtimin, kur të mbaroni, për të mbajtur zhurmat jashtë takimit.",
"mutedRemotelyTitle": "Jeni heshtuar nga {{participantDisplayName}}",
"mutedRemotelyTitle": "Jeni heshtuar nga {{moderator}}",
"mutedTitle": "U heshtuat!",
"newDeviceAction": "Përdore",
"newDeviceAudioTitle": "U pikas pajisje audio e re",
"newDeviceCameraTitle": "U pikas kamerë e re",
"nextToSpeak": "Jeni pasuesi në radhë për folje",
"noiseSuppressionDesktopAudioDescription": "Mbytja e zhurmave ekstra smund të aktivizohet teksa ndahet me të tjerët audioja e desktopit, ju lutemi, çaktivizojeni dhe riprovoni.",
"noiseSuppressionFailedTitle": "Su arrit të nisej mbytja e zhurmave ekstra",
"noiseSuppressionStereoDescription": "Aktualisht nuk mbulohet mbytje zhurmash ekstra me audio stereo.",
"noiseSuppressionDesktopAudioDescription": "Mbytja e zhurmave smund të aktivizohet teksa ndahet me të tjerët audioja e desktopit, ju lutemi, çaktivizojeni dhe riprovoni.",
"noiseSuppressionFailedTitle": "Su arrit të nisej mbytja e zhurmave",
"noiseSuppressionStereoDescription": "Aktualisht nuk mbulohet mbytje zhurmash audioje stereo.",
"oldElectronClientDescription1": "Duket se përdorni një version të vjetër të klientit Jitsi Meet, i cili ka cenueshmëri të ditura sigurie. Ju lutemi, siguroni përditësimin me ",
"oldElectronClientDescription2": "montimin tonë më të ri",
"oldElectronClientDescription3": " që tani!",
"openChat": "Hapni fjalosjen",
"participantWantsToJoin": "Dëshiron të hyjë në takim",
"participantsWantToJoin": "Dëshirojnë të hyjnë në takim",
"passwordRemovedRemotely": "$t(lockRoomPasswordUppercase) u hoq nga një tjetër pjesëmarrës",
"passwordSetRemotely": "$t(lockRoomPasswordUppercase) u caktua nga një tjetër pjesëmarrës",
"raiseHandAction": "Ngrini dorën",
"raisedHand": "Do të donte të merrte pjesë.",
"raisedHand": "Do të donte të fliste.",
"raisedHands": "{{participantName}} dhe {{raisedHands}} persona të tjerë",
"reactionSounds": "Çaktivizo tingujt",
"reactionSoundsForAll": "Çaktivizoji tingujt për të tërë",
"screenShareNoAudio": "Kutizës për ndarje audioje me të tjerë si është vënë shenjë te skena e përzgjedhjes së dritares.",
"screenShareNoAudioTitle": "Su nda dot me të tjerë audioja e sistemit!",
"screenSharingAudioOnlyDescription": "Ju lutemi, kini parasysh se duke dhënë ekranin tuaj, ndikoni te mënyra “Punimi më i mirë” dhe do të përdorni më tepër gjerësi bande.",
"screenSharingAudioOnlyDescription": "Ju lutemi, kini parasysh se duke dhënë ekranin tuaj, ndikoni te mënyra “Punimi më i mirë” dhe do të përdorni më tepër gjerësi bande",
"screenSharingAudioOnlyTitle": "Mënyra “”Punimi më i mirë",
"selfViewTitle": "Mundeni përherë të hiqni fshehjen e pamjes së vetes, që nga rregullimet",
"somebody": "Dikush",
@@ -904,18 +823,16 @@
"suggestRecordingAction": "Niseni",
"suggestRecordingDescription": "Do të donit të nisej një regjistrim?",
"suggestRecordingTitle": "Regjistroje këtë takim",
"unmute": "Çheshtoje Audion",
"unmuteScreen": "Fillo tregim ekrani",
"unmuteVideo": "Hiqe Heshtimin e Videos",
"unmute": "Çheshtoje",
"videoMutedRemotelyDescription": "Mundeni përherë ta rihapni.",
"videoMutedRemotelyTitle": "Videoja juaj u mbyll nga {{participantDisplayName}}",
"videoMutedRemotelyTitle": "Videoja juaj u mbyll nga {{moderator}}",
"videoUnmuteBlockedDescription": "Heqja e heshtimit të kamerës dhe veprimi i tregimit të desktopit janë bllokuar përkohësisht për shkak kufizimesh të sistemit.",
"videoUnmuteBlockedTitle": "Heqja e heshtimit të kamerës dhe tregimi i desktopit janë bllokuar!",
"viewLobby": "Shihni hollin",
"viewParticipants": "Shihni pjesëmarrësit",
"viewVisitors": "Shihni vizitorët",
"waitingParticipants": "{{waitingParticipants}} vetë",
"waitingVisitors": "Pas që presin në radhë: {{waitingVisitors}}",
"waitingVisitors": "Vizitorë që presin në radhë: {{waitingVisitors}}",
"waitingVisitorsTitle": "Takimi ska filluar endeThe meeting is not live yet!",
"whiteboardLimitDescription": "Ju lutemi, ruani çkeni bërë, ngaqë së shpejti do të mbërrihet në kufi përdoruesi dhe tabela do të mbyllet.",
"whiteboardLimitTitle": "Përdorim tabele"
@@ -923,47 +840,39 @@
"participantsPane": {
"actions": {
"admit": "Pranoje",
"admitAll": "Admit all",
"allow": "Lejoju jo-moderatorëve:",
"allowDesktop": "Të lejojnë tregim ekranesh",
"allowVideo": "Të lejojnë video",
"askDesktop": "Të lejojnë tregim ekrani",
"askUnmute": "Të kërkojnë çheshtim",
"audioModeration": "Të heqin heshtim të vetes",
"blockEveryoneMicCamera": "Të bllokojnë mikrofonin dhe kamerën e kujtdo",
"admitAll": "Pranoji të tërë",
"allow": "Lejoju pjesëmarsve:",
"allowVideo": "Çaktivizoni videon",
"askUnmute": "Kërkoni heqje heshtimi",
"audioModeration": "Heqin heshtim të vetes",
"blockEveryoneMicCamera": "Bllokoni mikrofonin dhe kamerën e gjithkujt",
"breakoutRooms": "Dhoma anekse konsultimesh",
"desktopModeration": "Të nisin tregim ekrani",
"goLive": "Go live",
"invite": "Të ftojnë dikë",
"lowerAllHands": "Të ulin krejt duart",
"lowerHand": "Të ulin dorën",
"invite": "Ftoni Dikë",
"lowerAllHands": "Uli krejt duart",
"lowerHand": "Uleni dorën",
"moreModerationActions": "Më tepër mundësi moderimi",
"moreModerationControls": "Më tepër kontrolle moderimi",
"moreParticipantOptions": "Më tepër mundësi pjesëmarrësi",
"mute": "Të heshtoj",
"muteAll": "Të heshtoj të tërë",
"muteEveryoneElse": "Të heshtojnë gjithkënd tjetër",
"reject": "Të hedhin poshtë",
"stopDesktop": "Të ndalin tregim ekrani",
"stopEveryonesDesktop": "Të ndalin tregim ekrani të kujtdo",
"stopEveryonesVideo": "Të ndalin videon e gjithkujt",
"stopVideo": "Të ndalin video",
"unblockEveryoneMicCamera": "Të zhbllokojnë mikrofonin dhe kamerën e gjithkujt",
"videoModeration": "Të nisin videon e tyre"
"mute": "Heshtoje",
"muteAll": "Heshtoji të tërë",
"muteEveryoneElse": "Heshto gjithkënd tjetër",
"reject": "Hidhe poshtë",
"stopEveryonesVideo": "Ndal videon e gjithkujt",
"stopVideo": "Ndale videon",
"unblockEveryoneMicCamera": "Zhblloko mikrofonin dhe kamerën e gjithkujt",
"videoModeration": "Nisin videon e vetes"
},
"close": "Mbylle",
"headings": {
"lobby": "Holl ({{count}})",
"participantsList": "Pjesëmarrës takimi ({{count}})",
"viewerRequests": "Kërkesa parësish {{count}}",
"visitorInQueue": " (në radhë {{count}})",
"visitorRequests": " (kërkesa {{count}})",
"visitors": "Parës {{count}}",
"visitorsList": "Parës ({{count}})",
"lobby": "Holli ({{count}})",
"participantsList": "Pjesëmarrës takim ({{count}})",
"visitorInQueue": " (në pritje {{count}})",
"visitorRequests": " (requests {{count}})",
"visitors": "Vizitorë {{count}}",
"waitingLobby": "Duke pritur në holl ({{count}})"
},
"search": "Kërkoni te pjesëmarrësit",
"searchDescription": "Që të filtrohen pjesëmarrës, filloni të shtypni në tastierë",
"title": "Pjesëmarrës"
},
"passwordDigitsOnly": "Deri në {{number}} shifra",
@@ -980,9 +889,6 @@
"by": "Nga {{ name }}",
"closeButton": "Mbylle pyetësorin",
"create": {
"accessibilityLabel": {
"send": "Dërgo pyetësor"
},
"addOption": "Shtoni mundësi",
"answerPlaceholder": "Mundësia {{index}}",
"cancel": "Anuloje",
@@ -991,10 +897,11 @@
"pollQuestion": "Pyetje Pyetësori",
"questionPlaceholder": "Bëni një pyetje",
"removeOption": "Hiqe mundësinë",
"save": "Ruaje"
"save": "Ruaje",
"send": "Dërgoje"
},
"errors": {
"notUniqueOption": "Mundësitë duhet të jenë unike"
"notUniqueOption": "Opsionet duhet të jenë unike"
},
"notification": {
"description": "Që të votoni, hapni skedën e pyetësorëve",
@@ -1002,7 +909,7 @@
},
"results": {
"changeVote": "Ndryshoni votën",
"empty": "Te takimi ska ende pyetësorë.",
"empty": "Te takimi ska ende pyetësorë. Nisni një pyetësor këtu!",
"hideDetailedResults": "Fshihi hollësitë",
"showDetailedResults": "Shfaqi hollësitë",
"vote": "Votoni"
@@ -1031,11 +938,11 @@
"audioHighQuality": "Presim që audioja juaj të jetë në cilësi të shkëlqyer.",
"audioLowNoVideo": "Presim që audioja juaj të jetë në cilësi të ulët dhe sdo të ketë video.",
"goodQuality": "Shkëlqyeshëm! Cilësia e medias tuaj do të jetë shumë e mirë.",
"noMediaConnectivity": "Sgjetëm dot rrugë për të vendosur lidhje media për këtë provë. Zakonisht kjo shkaktohet nga një firewall”, ose NAT.",
"noMediaConnectivity": "Sgjetëm dot rrugë për të vendosur lidhje media për këtë provë. Zakonisht kjo shkaktohet nga një firewall ose NAT.",
"noVideo": "Presim që cilësia e videos për ju të jetë për të vënë kujën.",
"testFailed": "Prova e lidhjes hasi në probleme të papritura, por kjo mund të mos prekë funksionimin për ju.",
"undetectable": "Nëse sbëni dot ende thirrje në shfletues, rekomandojmë të siguroheni se altoparlantët, mikrofoni dhe kamera juaj janë ujdisur si duhet, se i keni akorduar shfletuesit tuaja të drejta të përdorë mikrofonin dhe kamerën tuaj, dhe se versioni i shfletuesit tuaj është i përditësuar. Nëse keni ende probleme me thirrje, duhet të lidheni me zhvilluesin e aplikacionit web.",
"veryPoorConnection": "Presim që cilësia e thirrjes te ju të jetë për të vënë kujën.",
"veryPoorConnection": "Presim që cilësia e thirrjes te ju të jetë për të vënë kujën",
"videoFreezing": "Presim që videoja te ju të ngrijë, të bëhet e zezë dhe të shfaqet tërë piksela.",
"videoHighQuality": "Presim që videoja te ju të ketë cilësi të mirë.",
"videoLowQuality": "Presim që videoja te ju të ketë cilësi të ulët, për sa i takon shpejtësisë së kuadrove dhe qartësisë.",
@@ -1062,7 +969,7 @@
"joinWithoutAudio": "Merrni pjesë pa audio",
"keyboardShortcuts": "Aktivizo shkurtore tastiere",
"linkCopied": "Lidhja u kopjua në të papastër",
"lookGood": "Pajisjet tuaja po punojnë si duhet",
"lookGood": "Gjithçka po punon si duhet",
"or": "ose",
"premeeting": "Para takimit",
"proceedAnyway": "Vazhdo, sido qoftë",
@@ -1104,7 +1011,7 @@
"type": {
"account": "Llogari",
"contact": "Kontakt",
"lead": "",
"lead": "Lead",
"opportunity": "Mundësi",
"owner": "Zotërues"
}
@@ -1119,7 +1026,7 @@
"error": "Regjistrimi dështoi. Ju lutemi, riprovoni.",
"errorFetchingLink": "Gabim në sjellje lidhje regjistrimi.",
"expandedOff": "Regjistrimi u ndal",
"expandedOn": "Takimi është aktualisht duke u regjistruar",
"expandedOn": "Takimi është aktualisht duke u regjistruar.",
"expandedPending": "Po niset regjistrimi…",
"failedToStart": "Su arrit të niset regjistrimi",
"fileSharingdescription": "Ndajeni regjistrimin me pjesëmarrësit në takim",
@@ -1129,6 +1036,8 @@
"highlightMomentSuccess": "Çasti u nxor në pah",
"highlightMomentSucessDescription": "Çasti i nxjerrë në pah nga ju do të shtohet te përmbledhja e takimit.",
"inProgress": "Regjistrim ose transmetim drejtpërsëdrejti në ecuri e sipër",
"limitNotificationDescriptionNative": "Për shkak kërkesash të shumta, regjistrimi juaj do të kufizohet në {{limit}} min. Për regjistrime të pakufizuara provoni <3>{{app}}</3>.",
"limitNotificationDescriptionWeb": "Për shkak kërkesash të shumta, regjistrimi juaj do të kufizohet në {{limit}} min. Për regjistrime të pakufizuara provoni <a href={{url}} rel='noopener noreferrer' target='_blank'>{{app}}</a>.",
"linkGenerated": "Kemi prodhuar një lidhje për te regjistrimi juaj.",
"localRecordingNoNotificationWarning": "Regjistrimi sdo tu njoftohet pjesëmarrësve të tjerë. Do tju duhet ti vini në dijeni se takimi po regjistrohet.",
"localRecordingNoVideo": "Videoja spo regjistrohet",
@@ -1190,7 +1099,6 @@
"signedIn": "Aktualisht po shihen veprimtari kalendari për {{email}}. Klikoni mbi butonin Shkëputu më poshtë që të ndalni parjen e veprimtarive të kalendarit.",
"title": "Kalendar"
},
"chatWithPermissions": "Çaktivizo fjalosje për jo-moderatorë",
"desktopShareFramerate": "Shpejtësi kuadrosh për tregim desktopi",
"desktopShareHighFpsWarning": "Një shpejtësi më e madhe për tregimin e ekranit mund të ketë ndikim në konsumin e gjerësisë së bandës. Që të hyjnë në fuqi rregullimet e reja, lypset të rinisni tregimin e ekranit.",
"desktopShareWarning": "Që të hyjnë në fuqi rregullimet e reja, duhet të rinisni tregimin e ekranit.",
@@ -1205,7 +1113,7 @@
"microphones": "Mikrofona",
"moderator": "Moderator",
"moderatorOptions": "Mundësi moderatori",
"more": "Të përgjithshme",
"more": "Të përgjitshme",
"name": "Emër",
"noDevice": "Asnjë",
"notifications": "Njoftime",
@@ -1220,7 +1128,6 @@
"selectMic": "Mikrofon",
"selfView": "Parje e vetes",
"shortcuts": "Shkurtore",
"showSubtitlesOnStage": "Shfaq titra në skenë",
"speakers": "Altoparlantë",
"startAudioMuted": "Gjithkush fillon i heshtuar",
"startReactionsMuted": "Heshto tinguj reagimesh për këdo",
@@ -1274,13 +1181,11 @@
"fearful": "I frikësuar",
"happy": "I gëzuar",
"hours": "{{count}}h",
"labelTooltip": "Numër pjesëmarrësish: {{count}}",
"minutes": "{{count}}m",
"name": "Emër",
"neutral": "Asnjanës",
"sad": "I trishtuar",
"search": "Kërko",
"searchDescription": "Që të filtrohen pjesëmarrësh, filloni të shtypni",
"searchHint": "Kërkoni për pjesëmarrës",
"seconds": "{{count}}s",
"speakerStats": "Statistika Folësi",
@@ -1315,25 +1220,23 @@
"chat": "Hapni / Mbyllni fjalosje",
"clap": "Duartrokitje",
"closeChat": "Mbylle fjalosjen",
"closeCustomPanel": "Mbylle",
"closeMoreActions": "Mbyll menunë Më Tepër Veprime",
"closeParticipantsPane": "Mbyll kuadratin pjesëmarrës",
"closedCaptions": "Titra të mbyllur",
"collapse": "Tkurre",
"document": "Shfaq/Fshih dokument të ndarë",
"documentClose": "Mbylle dokumentin e ndarë",
"documentClose": "Mbyll dokument ndarë",
"documentOpen": "Hap dokument të ndarë",
"download": "Shkarkoni aplikacionet tona",
"embedMeeting": "Trupëzoni takimin",
"endConference": "Përfundoje takimin për gjithkënd",
"endConference": "Përfundoje takimin për të tërë",
"enterFullScreen": "Shiheni sa krejt ekrani",
"enterTileView": "Kaloni në pamje me kuadrate",
"exitFullScreen": "Dilni nga mënyra “Sa krejt ekrani”",
"exitTileView": "Dilni nga pamje me kuadrate",
"enterTileView": "Kaloni nën mënyrën me kuadrate",
"exitFullScreen": "Dil nga mënyra “Sa krejt ekrani”",
"exitTileView": "Dil nga mënyra me kuadrate",
"expand": "Zgjeroje",
"feedback": "Lini përshtypje",
"fullScreen": "Kaloni në/Dilni nga mënyra “Sa krejt ekrani”",
"giphy": "Shfaqni/Fshihni menunë GIPHY",
"fullScreen": "Kalo nën/Dil nga mënyra “Sa krejt ekrani”",
"giphy": "Shfaq/fshih menunë GIPHY",
"grantModerator": "Akordoji të Drejta Moderatori",
"hangup": "Braktiseni takimin",
"heading": "Panel",
@@ -1343,7 +1246,7 @@
"kick": "Përzëre pjesëmarrësin",
"laugh": "E qeshur",
"leaveConference": "Dilni nga takimi",
"like": "",
"like": "Thumbs Up",
"linkToSalesforce": "Lidhje për te Salesforce",
"lobbyButton": "Aktivizo/Çaktivizoni mënyrën holl",
"localRecording": "Shfaq/Fshih kontrolle regjistrimi vendor",
@@ -1359,9 +1262,9 @@
"muteEveryoneElsesVideoStream": "Ndal videon e gjithkujt tjetër",
"muteEveryonesVideoStream": "Ndal videon e gjithkujt",
"muteGUMPending": "Po lidhet mikrofoni juaj",
"noiseSuppression": "Mbytje zhurmash ekstra",
"noiseSuppression": "Mbytje zhurmash",
"openChat": "Hapni fjalosje",
"participants": "Hapni kuadrat pjesëmarrësish. {{participantsCount}} pjesëmarrës",
"participants": "Hapni kuadrat pjesëmarrësish",
"pip": "Aktivizo/Çaktivizo mënyrën “Picture-in-Picture”",
"privateMessage": "Dërgoni mesazh privat",
"profile": "Përpunoni profilin tuaj",
@@ -1397,87 +1300,68 @@
"videounmute": "Nis kamerën"
},
"addPeople": "Shtoni persona te thirrja juaj",
"advancedAudioSettings": {
"aec": {
"label": "Asgjësim jehone akustike"
},
"agc": {
"label": "Kontroll i automatizuar gain-i"
},
"ns": {
"label": "Mbytje zhurmash"
},
"stereo": {
"label": "Stereo"
}
},
"audioOnlyOff": "Aktivizo mënyrën gjerësi e ulët bande",
"audioOnlyOn": "Çaktivizo mënyrën gjerësi e ulët bande",
"audioOnlyOff": "Çaktivizo mënyrën “Sasi e ulët të dhënash trafiku”",
"audioOnlyOn": "Aktivizo mënyrën “Sasi e ulët të dhënash trafiku”",
"audioRoute": "Përzgjidhni pajisje zëri",
"audioSettings": "Rregullime audio",
"authenticate": "Bëni mirëfilltësimiin",
"boo": "Buuu",
"callQuality": "Administroni cilësi videosh",
"chat": "Hapni / Mbyllni fjalosjen",
"clap": "Duartrokitni",
"closeChat": "Mbylleni fjalosjen",
"closeCustomPanel": "Mbylle",
"closeParticipantsPane": "Mbyllni kuadrat pjesëmarrësish",
"closeReactionsMenu": "Mbyllni menu reagimesh",
"closedCaptions": "Titra të mbyllur",
"copilot": "Copilot",
"disableNoiseSuppression": "Çaktivizoni asgjësim ekstra zhurmash",
"audioSettings": "Rregullime për audion",
"authenticate": "Bëni mirëfilltësimin",
"boo": "Ya",
"callQuality": "Administroni cilësi video",
"chat": "Hap / Mbyll fjalosje",
"clap": "Duartrokitje",
"closeChat": "Mbyll fjalosjen",
"closeParticipantsPane": "Mbylle kuadratin e pjesëmarrësve",
"closeReactionsMenu": "Mbyll menu reagimesh",
"disableNoiseSuppression": "Çaktivizo mbytje zhurmash",
"disableReactionSounds": "Mund të çaktivizoni tinguj reagimesh për këtë takim",
"documentClose": "Mbyll dokument ndarë",
"documentOpen": "Hap dokument ndarë",
"download": "Shkarkoni aplikacionet tona",
"e2ee": "Fshehtëzim Skaj-më-Skaj",
"documentClose": "Mbylle dokumentin e ndarë",
"documentOpen": "Hape dokumentin e ndarë",
"download": "Shkarkoni aplikacione tonat",
"e2ee": "Fshehtëzim Skaj-Më-Skaj",
"embedMeeting": "Trupëzoni takim",
"enableNoiseSuppression": "Aktivizoni asgjësim ekstra zhurmash",
"enableNoiseSuppression": "Aktivizoni mbytje zhurmash",
"endConference": "Përfundoje takimin për të tërë",
"enterFullScreen": "Shiheni sa krejt ekrani",
"enterTileView": "Kaloni nën mënyrën me kuadrate",
"exitFullScreen": "Dil nga mënyra “Sa krejt ekrani",
"exitTileView": "Dil nga mënyra me kuadrate",
"enterTileView": "Kalo te pamja me kuadrate",
"exitFullScreen": "Dil nga mënyra sa krejt ekrani",
"exitTileView": "Dil nga pamja me kuadrate",
"feedback": "Lini përshtypje",
"fileSharing": "Dhënie kartelash",
"giphy": "Shfaq/fshih menunë GIPHY",
"hangup": "Braktiseni takimin",
"giphy": "Shfaq/Fshih menunë GIPHY",
"hangup": "Braktisni takimin",
"help": "Ndihmë",
"hideWhiteboard": "Fshihe tabelën",
"invite": "Ftoni njerëz",
"invite": "Ftoni persona",
"joinBreakoutRoom": "Hyni në dhomë aneks konsultimesh",
"laugh": "E qeshur",
"laugh": "Qeshje",
"leaveBreakoutRoom": "Dilni nga dhomë aneks konsultimesh",
"leaveConference": "Dilni nga takimi",
"like": "",
"linkToSalesforce": "Lidhje për te",
"lobbyButtonDisable": "Çaktivizoni mënyrën holl",
"lobbyButtonEnable": "Aktivizoni mënyrën holl",
"login": "Hyni",
"logout": "Dilni",
"like": "Thumbs Up",
"linkToSalesforce": "Lidhje për te Salesforce",
"lobbyButtonDisable": "Çaktivizo mënyrën holl",
"lobbyButtonEnable": "Aktivizo mënyrën holl",
"login": "Hyrje",
"logout": "Dalje",
"love": "Zemër",
"lowerYourHand": "Ulni dorën",
"moreActions": "Më tepër veprime",
"moreOptions": "Më tepër veprime",
"mute": "Heshto mikrofonin",
"muteEveryone": "Heshto gjithkënd",
"muteEveryonesVideo": "Çaktivizo kamerën e gjithkujt",
"muteEveryonesVideo": "Çaktivizo videon e gjithkujt",
"muteGUMPending": "Po lidhet mikrofoni juaj",
"noAudioSignalDesc": "Nëse se keni heshtuar qëllimisht që nga rregullimet e sistemit, ose nga hardware-i, shihni mundësinë e ndërrimit të pajisjes.",
"noAudioSignalDescSuggestion": "Nëse se keni heshtuar qëllimisht që nga rregullimet e sistemit, ose nga hardware-i, shihni mundësinë e kalimit te pajisja e sugjeruar.",
"noAudioSignalDesc": "Nëse se keni heshtuar që nga rregullimet e sistemit, ose nga hardware-i, shihni mundësinë e ndërrimit të pajisjes.",
"noAudioSignalDescSuggestion": "Nëse se keni heshtuar që nga rregullimet e sistemit, ose nga hardware-i, shihni mundësinë e kalimit te pajisja e sugjeruar.",
"noAudioSignalDialInDesc": "Mund ti bini numrit edhe duke përdorur:",
"noAudioSignalDialInLinkDesc": "Numra thirrjeje",
"noAudioSignalTitle": "Ska sinjal që vjen nga mikrofoni juaj!",
"noiseSuppression": "Mbytje zhurmash ekstra",
"noiseSuppression": "Mbytje zhurmash",
"noisyAudioInputDesc": "Dëgjohet sikur mikrofoni juaj prodhon zhurmë, ju lutemi, shihni mundësinë e heshtimit të tij, ose të ndërrimit të pajisjes.",
"noisyAudioInputTitle": "Mikrofoni juaj duket të jetë i zhurmshëm!",
"openChat": "Hapni fjalosje",
"openReactionsMenu": "Hap menu reagimesh",
"participants": "Pjesëmarrës",
"pip": "Kalo nën mënyrën “Picture-in-Picture”",
"polls": "Pyetësorë",
"privateMessage": "Dërgoni mesazh privat",
"privateMessage": "Dërgo mesazh privat",
"profile": "Përpunoni profilin tuaj",
"raiseHand": "Ngrini dorën",
"raiseYourHand": "Ngrini dorën",
@@ -1486,7 +1370,6 @@
"reactionHeart": "Dërgoni reagim me zemër",
"reactionLaugh": "Dërgoni reagim me qeshje",
"reactionLike": "Dërgoni reagim me “thumbs up”",
"reactionLove": "Dërgoni reagim me dashuri",
"reactionSilence": "Dërgoni reagim me heshtje",
"reactionSurprised": "Dërgoni reagim të befasuari",
"reactions": "Reagime",
@@ -1498,9 +1381,9 @@
"shortcuts": "Shihni shkurtore",
"showWhiteboard": "Shfaq tabelë",
"silence": "Heshtje",
"speakerStats": "Statistika pjesëmarrësish",
"speakerStats": "Statistika folësi",
"startScreenSharing": "Nise tregimin e ekranit",
"startSubtitles": "Titra • {{language}}",
"startSubtitles": "Nis titra",
"stopAudioSharing": "Ndal ndarje audioje me të tjerë",
"stopScreenSharing": "Ndale tregimin e ekranit",
"stopSharedVideo": "Ndale videon",
@@ -1518,19 +1401,15 @@
"transcribing": {
"ccButtonTooltip": "Ndali / Nisi titrat",
"expandedLabel": "Transkriptimi aktualisht është aktiv",
"failed": "Transkriptimi dështoi",
"labelTooltip": "Ky takim po transkriptohet.",
"labelTooltipExtra": "Përveç kësaj, më vonë do të ketë një transkriptim të gatshëm.",
"openClosedCaptions": "Hap titra të mbyllur",
"original": "Origjinali",
"sourceLanguageDesc": "Aktualisht si gjuhë e mbledhjes është vënë <b>{{sourceLanguage}}</b>. <br/> Mundeni ta ndryshoni që nga ",
"failedToStart": "Su arrit të nisej transkriptim",
"labelToolTip": "Takimit po i bëhet transkriptim",
"sourceLanguageDesc": "Aktualisht si gjuhë takimi është caktuar <b>{{sourceLanguage}}</b>. <br/> Mund ta ndryshoni që nga ",
"sourceLanguageHere": "këtu",
"start": "Fillo shfaqje titrash",
"stop": "Ndal shfaqje titrash",
"subtitles": "Titra",
"subtitlesOff": "Off",
"tr": "TR",
"translateTo": "Përktheje në"
"tr": "TR"
},
"unpinParticipant": "{{participantName}} - Hiqja fiksimin",
"userMedia": {
@@ -1562,7 +1441,7 @@
"ldTooltip": "Po shihet video në cilësi të ulët",
"lowDefinition": "Cilësi e ulët",
"performanceSettings": "Rregullime funksionimi",
"recording": "Ky takim po regjistrohet.",
"recording": "Regjistrim në kryerje e sipër",
"sd": "CS",
"sdTooltip": "Po shihet video në cilësi standarde",
"standardDefinition": "Cilësi standarde",
@@ -1572,8 +1451,6 @@
"connectionInfo": "Hollësi Lidhjeje",
"demote": "Kaloje te vizitorët",
"domute": "Heshtoje",
"domuteDesktop": "Ndaleni tregimin e ekranit",
"domuteDesktopOfOthers": "Ndaleni tregimin e ekranit për këdo tjetër",
"domuteOthers": "Heshto gjithkënd tjetër",
"domuteVideo": "Çaktivizoje kamerën",
"domuteVideoOfOthers": "Çaktivizo kamerën e gjithkujt tjetër",
@@ -1624,23 +1501,21 @@
"webAssemblyWarningDescription": "WebAssembly e çaktivizuar ose e pambuluar nga ky shfletues"
},
"visitors": {
"chatIndicator": "(parës)",
"chatIndicator": "(vizitor)",
"joinMeeting": {
"description": "Aktualisht jeni vëzhgues në këtë konferencë.",
"raiseHand": "Ngrini dorën",
"title": "Hyrje në takim",
"wishToSpeak": "Nëse dëshironi të flisni, ju lutemi, ngrini dorën më poshtë dhe prisni miratimin e moderatorit."
},
"labelTooltip": "Numër parësish: {{count}}",
"labelTooltip": "Numër vizitorësh: {{count}}",
"notification": {
"demoteDescription": "Dërguar këtu nga {{actor}}, që të merrni pjesë, ngrini dorën",
"noMainParticipantsDescription": "Duhet që një pjesëmarrës të nisë takimin. Ju lutemi, riprovoni pas pak.",
"noMainParticipantsDescription": "Duhet që një pjesëmarrëstë nisë takimin. Ju lutemi, riprovoni pas pak.",
"noMainParticipantsTitle": "Ky takim ska filluar ende.",
"noVisitorLobby": "Smund të hyni, teksa ka një holl të hapur për takimin.",
"noVisitorLobby": "Smund të hyni, teksa ka një holll të hapur për takimin.",
"notAllowedPromotion": "Lypset që së pari një pjesëmarrës të lejojë kërkesën tuaj.",
"requestToJoin": "U ngrit Dorë",
"requestToJoinDescription": "Kërkesa juaj iu dërgua moderatorëve. Mos u largoni!",
"title": "Jeni një parës te takimi"
"title": "Jeni vizitor në takim"
},
"waitingMessage": "Do të merrni pjesë në këta takim sapo të fillojë!"
},

View File

@@ -429,7 +429,9 @@
"recentlyUsedObjects": "Dina senaste använda objekt",
"recording": "Inspelning",
"recordingDisabledBecauseOfActiveLiveStreamingTooltip": "Ej möjligt medan livestreaming pågår.",
"recordingInProgressDescription": "Mötet spelas in och analyseras av AI. Ditt ljud och din bild har stängts av, om du väljer att starta kamera eller mikrofon så accepterar du att bli inspelad.",
"recordingInProgressDescription": "Mötet spelas in och analyseras av AI{{learnMore}}. Ditt ljud och din bild har stängts av, om du väljer att starta kamera eller mikrofon så accepterar du att bli inspelad.",
"recordingInProgressDescriptionFirstHalf": "Mötet spelas in och analyseras av AI",
"recordingInProgressDescriptionSecondHalf": "Ditt ljud och din bild har stängts av, om du väljer att starta kamera eller mikrofon så accepterar du att bli inspelad.",
"recordingInProgressTitle": "Inspelning pågår",
"rejoinNow": "Återanslut nu",
"remoteControlAllowedMessage": "{{user}} godkände din begäran om fjärrstyrning.",
@@ -693,6 +695,8 @@
"googlePrivacyPolicy": "Googles sekretesspolicy",
"inProgress": "Inspelning eller livestreaming pågår",
"invalidStreamKey": "Livesändningslösenordet kan vara felaktigt.",
"limitNotificationDescriptionNative": "Din strömning är begränsad till {{limit}} min. För obegränsad strömning, prova {{app}}.",
"limitNotificationDescriptionWeb": "På grund av stor efterfrågan kommer din strömning att begränsas till {{limit}} min. För obegränsad strömning, prova <a href={{url}} rel='noopener noreferrer' target='_blank'>{{app}}</a>.",
"off": "Strömning avslutad",
"offBy": "{{name}} stoppade direktströmningen",
"on": "Strömma",
@@ -817,7 +821,7 @@
"focusFail": "{{component}} inte tillgänglig försöker igen om {{ms}} sek",
"gifsMenu": "GIPHY",
"groupTitle": "Notifieringar",
"hostAskedUnmute": "Värden vill att du ska starta din mikrofon",
"hostAskedUnmute": "Värden vill att du ska stänga av ljudet",
"invalidTenant": "Ogiltig tenant",
"invalidTenantHyphenDescription": "Tenant du använder har ogiltiga tecken (startar eller slutar med '-').",
"invalidTenantLengthDescription": "Tenant du använder är för lång",
@@ -1112,6 +1116,8 @@
"highlightMomentSuccess": "Moment framhävt",
"highlightMomentSucessDescription": "Ditt framhävda ögonblick läggs till i mötessammanfattningen.",
"inProgress": "Inspelning eller livestreaming pågår",
"limitNotificationDescriptionNative": "På grund av stor efterfrågan är din inspelning begränsad till {{limit}} min. För obegränsade inspelningar, försök <3>{{app}}</3>.",
"limitNotificationDescriptionWeb": "På grund av stor efterfrågan är din inspelning begränsad till {{limit}} min. För obegränsade inspelningar, prova <a href={{url}} rel='noopener noreferrer' target='_blank'>{{app}}</a>.",
"linkGenerated": "Vi har genererat en länk till din inspelning.",
"localRecordingNoNotificationWarning": "Inspelningen kommer inte att meddelas till andra deltagare. Du måste meddela dem att mötet inspelas.",
"localRecordingNoVideo": "Video spelas inte in",

View File

@@ -436,6 +436,8 @@
"getStreamKeyManually": "We werent able to fetch any live streams. Try getting your live stream key from YouTube.",
"googlePrivacyPolicy": "గూగుల్ గోప్యతా విధానం",
"invalidStreamKey": "Live stream key may be incorrect.",
"limitNotificationDescriptionNative": "Your streaming will be limited to {{limit}} min. For unlimited streaming try {{app}}.",
"limitNotificationDescriptionWeb": "Due to high demand your streaming will be limited to {{limit}} min. For unlimited streaming try <a href={{url}} rel='noopener noreferrer' target='_blank'>{{app}}</a>.",
"off": "Live Streaming stopped",
"offBy": "{{name}} stopped the live streaming",
"on": "Live Streaming started",
@@ -670,6 +672,8 @@
"expandedPending": "రికార్డింగు మొదలవుతూన్నది…",
"failedToStart": "రికార్డింగు మొదలవడం విఫలమైంది",
"fileSharingdescription": "రికార్డింగును సదస్యులతో పంచుకోండి",
"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>.",
"live": "LIVE",
"loggedIn": "{{userName}}‌గా ప్రవేశించారు",
"off": "రికార్డింగు ఆగిపోయింది",

View File

@@ -634,6 +634,8 @@
"googlePrivacyPolicy": "Google Gizlilik Politikası",
"inProgress": "Kaydetme veya canlı akış işlemde",
"invalidStreamKey": "Canlı akış anahtarı yanlış olabilir.",
"limitNotificationDescriptionNative": "Akışınız {{limit}} dk ile sınırlı olacak. Sınırsız akış için {{app}} deneyin.",
"limitNotificationDescriptionWeb": "Yüksek talep nedeniyle akışınız {{limit}} dk ile sınırlı olacaktır. Sınırsız akış için <a href={{url}} rel='noopener noreferrer' target='_blank'>{{app}}</a> deneyin.",
"off": "Canlı Akış durduruldu",
"offBy": "{{name}} canlı akışı durdurdu",
"on": "Canlı Akış başlatıldı",
@@ -1029,6 +1031,8 @@
"highlightMomentSuccess": "An vurgulandı",
"highlightMomentSucessDescription": "Vurgulanan anınız toplantı özetine eklenecektir.",
"inProgress": "Kayıt veya canlı akış devam ediyor",
"limitNotificationDescriptionNative": "Yüksek talep nedeniyle kaydınız {{limit}} dakika ile sınırlı olacaktır. Sınırsız kayıt için deneyin <3>{{app}}</3>.",
"limitNotificationDescriptionWeb": "Yüksek talep nedeniyle kaydınız {{limit}} dakika ile sınırlı olacaktır. Sınırsız kayıt için deneyin <a href={{url}} rel='noopener noreferrer' target='_blank'>{{app}}</a>.",
"linkGenerated": "Kaydınızla ilgili link oluşturduk.",
"localRecordingNoNotificationWarning": "Kayıt diğer katılımcılara duyurulmayacaktır. Onlara toplantının kaydedildiğini bildirmeniz gerekecek.",
"localRecordingNoVideo": "Video kaydedilmiyor",

View File

@@ -564,6 +564,8 @@
"googlePrivacyPolicy": "Політика конфіденційності Google",
"inProgress": "Триває запис або трансляція наживо",
"invalidStreamKey": "Ключ до трансляції наживо неправильний.",
"limitNotificationDescriptionNative": "Ваша трансляція наживо буде обмежена {{limit}} хв. Для необмеженої трансляції, спробуйте {{app}}",
"limitNotificationDescriptionWeb": "Через високе навантаження, трансляція наживо буде обмежена {{limit}} хв. Для необмеженої трансляції, спробуйте <a href={{url}} rel='noopener noreferrer' target='_blank'>{{app}}</a>.",
"off": "Трансляцію наживо зупинено",
"offBy": "{{name}} зупинив трансляцію наживо",
"on": "Трансляція наживо",
@@ -928,6 +930,8 @@
"highlightMomentSuccess": "Подію виділено",
"highlightMomentSucessDescription": "Виділену подію буде додано до підсумку зустрічі.",
"inProgress": "Триває запис або трансляція наживо",
"limitNotificationDescriptionNative": "Через велике навантаження сервера ваш запис буде обмежено {{limit}}хв. Для можливості безлімітних записів, спробуйте <3>{{app}}</3>.",
"limitNotificationDescriptionWeb": "Через велике навантаження сервера ваш запис буде обмежено {{limit}} хв. Для можливості безлімітних записів, спробуйте <a href={{url}} rel='noopener noreferrer' target='_blank'>{{app}}</a>.",
"linkGenerated": "Готово посилання на ваш запис.",
"live": "НАЖИВО",
"localRecordingNoNotificationWarning": "Наявність посилання на запис зустрічі не анонсується іншим учасникам. Повідомте їм про це окремо.",

View File

@@ -629,6 +629,8 @@
"googlePrivacyPolicy": "Chính sách bảo mật của Google",
"inProgress": "Đang ghi hoặc phát trực tiếp",
"invalidStreamKey": "Mã phát trực tuyến có thể sai.",
"limitNotificationDescriptionNative": "Việc phát trực tuyến của bạn sẽ bị giới hạn ở {{limit}} phút. Để phát trực tuyến không giới hạn, hãy thử {{app}}.",
"limitNotificationDescriptionWeb": "Do nhu cầu cao, việc phát trực tuyến của bạn sẽ bị giới hạn ở {{limit}} phút. Để phát trực tuyến không giới hạn, hãy thử <a href={{url}} rel='noopener noreferrer' target='_blank'>{{app}</a>.",
"off": "Phát trực tuyến đã dừng",
"offBy": "{{name}} đã dừng ghi",
"on": "Phát trực tuyến",
@@ -1007,6 +1009,8 @@
"highlightMomentSuccess": "Khoảnh khắc được đánh dấu",
"highlightMomentSucessDescription": "Khoảnh khắc bạn đã đánh dấu sẽ được thêm vào tóm tắt cuộc họp.",
"inProgress": "Đang ghi âm hoặc phát trực tiếp",
"limitNotificationDescriptionNative": "Do nhu cầu cao, ghi âm của bạn sẽ bị giới hạn trong {{limit}} phút. Để có ghi âm không giới hạn, hãy thử <3>{{app}}</3>.",
"limitNotificationDescriptionWeb": "Do nhu cầu cao, ghi âm của bạn sẽ bị giới hạn trong {{limit}} phút. Để có ghi âm không giới hạn, hãy thử <a href={{url}} rel='noopener noreferrer' target='_blank'>{{app}}</a>.",
"linkGenerated": "Chúng tôi đã tạo một liên kết đến ghi âm của bạn.",
"localRecordingNoNotificationWarning": "Cuộc họp sẽ không được thông báo cho các thành viên khác. Bạn sẽ cần thông báo cho họ biết cuộc họp đang được ghi âm.",
"localRecordingNoVideo": "Video không được ghi lại",

View File

@@ -112,12 +112,7 @@
"disabled": "聊天已禁用",
"enter": "加入会议室",
"error": "错误:你的消息未发送。原因:{{error}}",
"everyone": "所有人",
"fieldPlaceHolder": "在这里输入你的信息",
"fileAccessibleTitle": "{{user}}上传了一个文件",
"fileAccessibleTitleMe": "我上传了一个文件",
"fileDeleted": "文件已被删除",
"guestsChatIndicator": "(访客)",
"lobbyChatMessageTo": "等候室聊天消息发送至{{recipient}}",
"message": "信息",
"messageAccessibleTitle": "{{user}}",
@@ -305,12 +300,6 @@
"alreadySharedVideoTitle": "同一时间只允许一个视频分享",
"applicationWindow": "应用程序窗口",
"authenticationRequired": "需要身份验证",
"cameraCaptureDialog": {
"description": "使用手机摄像头拍照并发送",
"ok": "打开相机",
"reject": "暂不使用",
"title": "拍照"
},
"cameraConstraintFailedError": "你的摄像头未满足某些必要条件。",
"cameraNotFoundError": "找不到摄像头",
"cameraNotSendingData": "我们无法访问你的摄像头,请检查是否有其他应用程序正在使用此设备,从设置菜单中选择另一个设备,或尝试重新加载应用程序。",
@@ -386,34 +375,22 @@
"micTimeoutError": "无法开启音频设备,发生超时!",
"micUnknownError": "由于未知原因,无法使用麦克风。",
"moderationAudioLabel": "允许参会者自己解除静音",
"moderationDesktopLabel": "允许非主持人共享屏幕",
"moderationVideoLabel": "允许参会者自己开启视频",
"muteEveryoneDialog": "参会者可以在任何时候解除自己的静音。",
"muteEveryoneDialogModerationOn": "参会者可以在任何时候请求发言。",
"muteEveryoneElseDialog": "静音后,你将无法为其解除静音,但是他们可以随时解除自己的静音。",
"muteEveryoneElseTitle": "除了{{whom}}以外的将所有人静音?",
"muteEveryoneElsesDesktopDialog": "一旦停止共享,你将无法重新开启他们的屏幕共享,但他们可以随时重新开启。",
"muteEveryoneElsesDesktopTitle": "停止除了{{whom}}以外所有人的屏幕共享?",
"muteEveryoneElsesVideoDialog": "一旦关闭,你将无法重新开启他们的摄像头,但他们随时可以重新开启。",
"muteEveryoneElsesVideoTitle": "除了{{whom}}以外,关闭所有人的摄像头?",
"muteEveryoneSelf": "你自己",
"muteEveryoneStartMuted": "现在所有人都已静音",
"muteEveryoneTitle": "静音所有人?",
"muteEveryonesDesktopDialog": "参会者可以随时共享他们的屏幕",
"muteEveryonesDesktopDialogModerationOn": "参会者可以随时请求共享他们的屏幕",
"muteEveryonesDesktopTitle": "停止所有人的屏幕共享?",
"muteEveryonesVideoDialog": "参会者可以随时开启他们的摄像头",
"muteEveryonesVideoDialogModerationOn": "参会者可以随时请求开启他们的摄像头",
"muteEveryonesVideoDialogOk": "关闭",
"muteEveryonesVideoTitle": "关闭所有人的摄像头?",
"muteParticipantBody": "你将无法为他们解除静音,但是他们可以随时解除自己的静音。",
"muteParticipantButton": "静音",
"muteParticipantsDesktopBody": "你无法重新开启他们的屏幕共享,但他们可以随时重新开启。",
"muteParticipantsDesktopBodyModerationOn": "你和他们都无法重新开启屏幕共享",
"muteParticipantsDesktopButton": "停止屏幕共享",
"muteParticipantsDesktopDialog": "你确定要停止这个参会者的屏幕共享吗?你将无法重新开启他们的屏幕共享,但他们可以随时重新开启。",
"muteParticipantsDesktopDialogModerationOn": "你确定要停止这个参会者的屏幕共享吗?你和他们都无法重新开启屏幕共享。",
"muteParticipantsDesktopTitle": "停止这个参会者的屏幕共享?",
"muteParticipantsVideoBody": "你无法重新开启摄像头,但他们随时可以重新开启。",
"muteParticipantsVideoBodyModerationOn": "你和他们都无法重新开启摄像头",
"muteParticipantsVideoButton": "关闭摄像头",
@@ -433,7 +410,9 @@
"recentlyUsedObjects": "你最近使用的对象",
"recording": "录制中",
"recordingDisabledBecauseOfActiveLiveStreamingTooltip": "直播时无法使用",
"recordingInProgressDescription": "本会议正由AI录制并分析你已被静音。如需发言视为同意录制。",
"recordingInProgressDescription": "本会议正由AI录制并分析{{learnMore}},你已被静音。如需发言,视为同意录制。",
"recordingInProgressDescriptionFirstHalf": "本会议正由AI录制并分析",
"recordingInProgressDescriptionSecondHalf": ",你已被静音。如需发言,视为同意录制。",
"recordingInProgressTitle": "录制中",
"rejoinNow": "马上重新加入",
"remoteControlAllowedMessage": "{{user}}接受了你的远程控制请求!",
@@ -524,7 +503,6 @@
"tokenAuthFailedWithReasons": "抱歉,你无法加入此通话,原因:",
"tokenAuthUnsupported": "Token地址不支持",
"transcribing": "转录中",
"unauthenticatedAccessDisabled": "此会议需要身份验证,请先登录后继续。",
"unlockRoom": "移除会议$t(lockRoomPassword)",
"user": "用户",
"userIdentifier": "用户ID",
@@ -569,17 +547,11 @@
"downloadFailedDescription": "请稍后重试",
"downloadFailedTitle": "下载失败",
"downloadFile": "下载",
"downloadStarted": "文件下载已开始",
"dragAndDrop": "拖拽文件到此处上传",
"fileAlreadyUploaded": "文件已上传至本次会议",
"fileRemovedByOther": "你的文件{{fileName}}已被移除",
"fileTooLargeDescription": "请确保文件不超过 {{ maxFileSize }}",
"fileTooLargeTitle": "文件太大",
"fileUploadProgress": "文件上传进度",
"fileUploadedSuccessfully": "文件上传成功",
"newFileNotification": "{{participantName}}分享了{{fileName}}",
"removeFile": "移除",
"removeFileSuccess": "文件移除成功",
"uploadFailedDescription": "请稍后重试",
"uploadFailedTitle": "上传失败",
"uploadFile": "文件共享"
@@ -697,6 +669,8 @@
"googlePrivacyPolicy": "Google 隐私权政策",
"inProgress": "录制或直播正在进行中",
"invalidStreamKey": "直播码可能不正确。",
"limitNotificationDescriptionNative": "你的直播将被限制在{{limit}}分钟之内,如需不受限的直播,请使用{{app}}。",
"limitNotificationDescriptionWeb": "由于需求量大,你的直播将被限制在{{limit}}分钟之内。如需不受限的直播,请使用<a href={{url}} rel='noopener noreferrer' target='_blank'>{{app}}</a>。",
"off": "直播已停止",
"offBy": "{{name}}已停止直播",
"on": "直播已开始",
@@ -750,8 +724,7 @@
"notificationTitle": "等候室",
"passwordJoinButton": "加入",
"title": "等候室",
"toggleLabel": "开启等候室模式",
"waitForModerator": "会议尚未开始,暂无主持人入会。如需成为主持人请先登录,或耐心等待会议开始。"
"toggleLabel": "开启等候室模式"
},
"localRecording": {
"clientState": {
@@ -794,10 +767,8 @@
"me": "我",
"notify": {
"OldElectronAPPTitle": "安全漏洞!",
"allowAll": "允许全部",
"allowAudio": "允许开启麦克风",
"allowBoth": "允许音视频",
"allowDesktop": "允许屏幕共享",
"allowVideo": "允许开启摄像头",
"allowedUnmute": "你可以解除麦克风静音、启动摄像头或共享屏幕。",
"audioUnmuteBlockedDescription": "由于系统限制,麦克风解除静音操作被暂时阻止。",
@@ -811,7 +782,6 @@
"dataChannelClosedDescription": "桥接通道已断开,视频质量可能会被限制为最低设置",
"dataChannelClosedDescriptionWithAudio": "桥接通道已断开,音视频可能会出现卡顿或中断",
"dataChannelClosedWithAudio": "音视频质量可能受影响",
"desktopMutedRemotelyTitle": "你的屏幕共享已被{{participantDisplayName}}停止",
"disabledIframe": "嵌入仅用于演示,本次通话将在{{timeout}}分钟后自动断开",
"disabledIframeSecondaryNative": "嵌入{{domain}}仅用于演示,本次通话将在{{timeout}}分钟后自动断开",
"disabledIframeSecondaryWeb": "嵌入{{domain}}仅用于演示,本次通话将在{{timeout}}分钟后自动断开。如需在正式环境嵌入,请使用<a href='{{jaasDomain}}' rel='noopener noreferrer' target='_blank'>Jitsi服务</a>",
@@ -869,7 +839,6 @@
"oldElectronClientDescription1": "你似乎正在使用存在已知安全漏洞的旧版Jitsi Meet客户端请确保您更新到我们的",
"oldElectronClientDescription2": "最新版本",
"oldElectronClientDescription3": "",
"openChat": "打开聊天",
"participantWantsToJoin": "想要加入会议",
"participantsWantToJoin": "想要加入会议",
"passwordRemovedRemotely": "其他参会者移除了$t(lockRoomPasswordUppercase)",
@@ -893,7 +862,6 @@
"suggestRecordingDescription": "是否需要录制本次会议?",
"suggestRecordingTitle": "录制会议",
"unmute": "解除静音",
"unmuteScreen": "开始屏幕共享",
"unmuteVideo": "开启摄像头",
"videoMutedRemotelyDescription": "你可随时重新开启视频",
"videoMutedRemotelyTitle": "{{participantDisplayName}}已关闭你的视频",
@@ -913,14 +881,11 @@
"admit": "同意加入",
"admitAll": "全部同意加入",
"allow": "允许参会者:",
"allowDesktop": "允许屏幕共享",
"allowVideo": "允许开启摄像头",
"askDesktop": "请求共享屏幕",
"askUnmute": "请求取消静音",
"audioModeration": "自行解除静音",
"blockEveryoneMicCamera": "禁用所有人的麦克风和摄像头",
"breakoutRooms": "分组讨论室",
"desktopModeration": "开始屏幕共享",
"goLive": "开始直播",
"invite": "邀请其他人",
"lowerAllHands": "取消全部举手",
@@ -932,8 +897,6 @@
"muteAll": "全体静音",
"muteEveryoneElse": "静音其他人",
"reject": "拒绝",
"stopDesktop": "停止屏幕共享",
"stopEveryonesDesktop": "停止所有人的屏幕共享",
"stopEveryonesVideo": "关闭所有人摄像头",
"stopVideo": "关闭摄像头",
"unblockEveryoneMicCamera": "允许所有人开启麦克风和摄像头",
@@ -943,11 +906,9 @@
"headings": {
"lobby": "等候室(({{count}}人)",
"participantsList": "会议参会者({{count}}人)",
"viewerRequests": "观众请求({{count}}人)",
"visitorInQueue": "(排队中:{{count}}人)",
"visitorRequests": "(请求加入:{{count}}人)",
"visitors": "观众(({{count}}人)",
"visitorsList": "观众({{count}}人)",
"waitingLobby": "在等候室等待({{count}}人)"
},
"search": "搜索参会者",
@@ -968,9 +929,6 @@
"by": "由{{ name }}发起",
"closeButton": "结束投票",
"create": {
"accessibilityLabel": {
"send": "发送投票"
},
"addOption": "添加选项",
"answerPlaceholder": "选项{{index}}",
"cancel": "取消",
@@ -1118,6 +1076,8 @@
"highlightMomentSuccess": "时刻已突出显示",
"highlightMomentSucessDescription": "你突出显示的时刻将会添加到会议摘要中。",
"inProgress": "正在进行录制或直播流",
"limitNotificationDescriptionNative": "由于高需求,您的录制将限制在{{limit}}分钟内。若要无限制录制,请尝试<3>{{app}}</3>。",
"limitNotificationDescriptionWeb": "由于高需求,您的录制将限制在{{limit}}分钟内。若要无限制录制,请尝试<a href={{url}} rel='noopener noreferrer' target='_blank'>{{app}}</a>。",
"linkGenerated": "我们已生成录制链接。",
"localRecordingNoNotificationWarning": "系统不会主动通知参会者录制已开启,主持人需另行提醒。",
"localRecordingNoVideo": "视频未被录制",
@@ -1385,20 +1345,6 @@
"videounmute": "打开摄像头"
},
"addPeople": "添加成员到通话中",
"advancedAudioSettings": {
"aec": {
"label": "回声消除"
},
"agc": {
"label": "自动增益控制"
},
"ns": {
"label": "降噪"
},
"stereo": {
"label": "立体声"
}
},
"audioOnlyOff": "关闭省流模式",
"audioOnlyOn": "开启省流模式",
"audioRoute": "选择音频设备",
@@ -1470,7 +1416,6 @@
"reactionHeart": "发送爱心",
"reactionLaugh": "发送大笑",
"reactionLike": "发送点赞",
"reactionLove": "发送爱心",
"reactionSilence": "发送沉默",
"reactionSurprised": "发送惊讶",
"reactions": "互动表情",
@@ -1556,8 +1501,6 @@
"connectionInfo": "连接信息",
"demote": "设为观众",
"domute": "静音",
"domuteDesktop": "停止屏幕共享",
"domuteDesktopOfOthers": "停止屏幕共享给其他人",
"domuteOthers": "静音其他人",
"domuteVideo": "关闭摄像头",
"domuteVideoOfOthers": "关闭其他人摄像头",
@@ -1622,8 +1565,6 @@
"noMainParticipantsTitle": "会议尚未开始",
"noVisitorLobby": "当前会议已开启等候室,暂无法加入",
"notAllowedPromotion": "需由会议成员同意才能参与讨论",
"requestToJoin": "举手请求",
"requestToJoinDescription": "你的请求已发送给主持人,请稍候!",
"title": "你当前为会议观众"
},
"waitingMessage": "会议开始后将自动加入"

View File

@@ -112,12 +112,7 @@
"disabled": "聊天訊息已停用",
"enter": "加入聊天室",
"error": "錯誤:您的訊息未被傳送。原因:{{error}}",
"everyone": "所有人",
"fieldPlaceHolder": "在此輸入您的訊息",
"fileAccessibleTitle": "{{user}}上傳了一個檔案",
"fileAccessibleTitleMe": "我上傳了一個檔案",
"fileDeleted": "檔案已被刪除",
"guestsChatIndicator": "(訪客)",
"lobbyChatMessageTo": "大廳聊天訊息傳送至 {{recipient}}",
"message": "訊息",
"messageAccessibleTitle": "{{user}}",
@@ -305,12 +300,6 @@
"alreadySharedVideoTitle": "同一時間只允許一位影像分享",
"applicationWindow": "應用程式視窗",
"authenticationRequired": "需要驗證",
"cameraCaptureDialog": {
"description": "使用手機攝影機拍照並傳送",
"ok": "開啟相機",
"reject": "暫不使用",
"title": "拍照"
},
"cameraConstraintFailedError": "您的網路攝影機不符合要求。",
"cameraNotFoundError": "找不到網路攝影機。",
"cameraNotSendingData": "我們無法存取您的網路攝影機,請檢查是否有其他應用程式正在使用這個裝置,並從裝置選單裡選擇其他設備或者重新載入。",
@@ -386,34 +375,22 @@
"micTimeoutError": "無法啟動音訊裝置,連線逾時!",
"micUnknownError": "不明原因造成麥克風無法使用。",
"moderationAudioLabel": "允許與會者自我解除靜音",
"moderationDesktopLabel": "允許非主持人共享螢幕",
"moderationVideoLabel": "允許與會者開啟視訊",
"muteEveryoneDialog": "與會者可以隨時解除自己的靜音狀態。",
"muteEveryoneDialogModerationOn": "與會者可以隨時請求發言。",
"muteEveryoneElseDialog": "靜音後,您就不能再解除對方的靜音,但對方可以隨時解除自己的靜音狀態。",
"muteEveryoneElseTitle": "是否要讓除了 {{whom}} 以外的人靜音?",
"muteEveryoneElsesDesktopDialog": "一旦停止共享,您將無法重新開啟他們的螢幕共享,但他們可以隨時重新開啟。",
"muteEveryoneElsesDesktopTitle": "停止除了{{whom}}以外所有人的螢幕共享?",
"muteEveryoneElsesVideoDialog": "一旦停用,您就不能再重新開啟對方的網路攝影機,但對方隨時能重新開啟自己的網路攝影機。",
"muteEveryoneElsesVideoTitle": "是否要關閉除了 {{whom}} 以外的人的網路攝影機?",
"muteEveryoneSelf": "您自己",
"muteEveryoneStartMuted": "現在所有人皆已靜音",
"muteEveryoneTitle": "要將所有人靜音嗎?",
"muteEveryonesDesktopDialog": "與會者可以隨時共享他們的螢幕",
"muteEveryonesDesktopDialogModerationOn": "與會者可以隨時請求共享他們的螢幕",
"muteEveryonesDesktopTitle": "停止所有人的螢幕共享?",
"muteEveryonesVideoDialog": "與會者隨時可以重新開啟自己的網路攝影機。",
"muteEveryonesVideoDialogModerationOn": "與會者可以隨時傳送開啟視訊請求。",
"muteEveryonesVideoDialogOk": "停用",
"muteEveryonesVideoTitle": "要關閉所有人的網路攝影機嗎?",
"muteParticipantBody": "您無法對他們解除靜音,但是他們自己隨時可以解除靜音。",
"muteParticipantButton": "靜音",
"muteParticipantsDesktopBody": "您無法重新開啟他們的螢幕共享,但他們可以隨時重新開啟。",
"muteParticipantsDesktopBodyModerationOn": "您和他們都無法重新開啟螢幕共享",
"muteParticipantsDesktopButton": "停止螢幕分享",
"muteParticipantsDesktopDialog": "您確定要停止這位與會者的螢幕共享嗎?您將無法重新開啟他們的螢幕共享,但他們可以隨時重新開啟。",
"muteParticipantsDesktopDialogModerationOn": "您確定要停止這位與會者的螢幕共享嗎?您和他們都無法重新開啟螢幕共享。",
"muteParticipantsDesktopTitle": "停止這位與會者的螢幕共享?",
"muteParticipantsVideoBody": "您無法重新開啟,只有對方能自己重新開啟。",
"muteParticipantsVideoBodyModerationOn": "您和他都無法再將視訊重新開啟。",
"muteParticipantsVideoButton": "停用網路攝影機",
@@ -433,7 +410,9 @@
"recentlyUsedObjects": "您最近使用過的物件",
"recording": "錄製中",
"recordingDisabledBecauseOfActiveLiveStreamingTooltip": "正在直播時無法使用",
"recordingInProgressDescription": "本會議正在錄製並由 AI 分析,您的音訊與影像已靜音。如果您選擇取消靜音,即表示您同意被錄製。",
"recordingInProgressDescription": "本會議正在錄製並由 AI 分析{{learnMore}},您的音訊與影像已靜音。如果您選擇取消靜音,即表示您同意被錄製。",
"recordingInProgressDescriptionFirstHalf": "本會議正在錄製並由 AI 分析",
"recordingInProgressDescriptionSecondHalf": ",您的音訊與影像已靜音。如果您選擇取消靜音,即表示您同意被錄製。",
"recordingInProgressTitle": "正在錄製",
"rejoinNow": "立即重新加入",
"remoteControlAllowedMessage": "{{user}} 接受您進行遠端控制的請求!",
@@ -524,7 +503,6 @@
"tokenAuthFailedWithReasons": "抱歉,您無法參加這個通話,可能原因:{{reason}}",
"tokenAuthUnsupported": "不支援權杖網址。",
"transcribing": "轉錄中",
"unauthenticatedAccessDisabled": "此會議需要身份驗證,請先登入後繼續。",
"unlockRoom": "移除會議 $t(lockRoomPassword)",
"user": "使用者",
"userIdentifier": "使用者 ID",
@@ -569,17 +547,11 @@
"downloadFailedDescription": "請重試",
"downloadFailedTitle": "下載失敗",
"downloadFile": "下載",
"downloadStarted": "檔案下載已開始",
"dragAndDrop": "將檔案拖曳至此或畫面任一處上傳",
"fileAlreadyUploaded": "檔案已上傳至此會議",
"fileRemovedByOther": "您的檔案「{{fileName}}」已被移除",
"fileTooLargeDescription": "請確認檔案未超過 {{ maxFileSize }}",
"fileTooLargeTitle": "檔案過大",
"fileUploadProgress": "檔案上傳進度",
"fileUploadedSuccessfully": "檔案上傳成功",
"newFileNotification": "{{participantName}}分享了「{{fileName}}」",
"removeFile": "移除",
"removeFileSuccess": "檔案移除成功",
"uploadFailedDescription": "請重試",
"uploadFailedTitle": "上傳失敗",
"uploadFile": "分享檔案"
@@ -697,6 +669,8 @@
"googlePrivacyPolicy": "Google 隱私權政策",
"inProgress": "正在錄製或直播",
"invalidStreamKey": "直播串流金鑰可能不正確。",
"limitNotificationDescriptionNative": "您的最大直播長度將被限制在 {{limit}} 分鐘,若要不受限的直播,請使用 {{app}}。",
"limitNotificationDescriptionWeb": "由於目前流量過大,您的最大直播長度將被限制在 {{limit}} 分鐘。若要不受限的直播,請使用 <a href={{url}} rel='noopener noreferrer' target='_blank'>{{app}}</a>。",
"off": "直播串流已停用",
"offBy": "{{name}} 停用了直播串流",
"on": "直播串流已啟動",
@@ -750,8 +724,7 @@
"notificationTitle": "大廳",
"passwordJoinButton": "加入",
"title": "大廳",
"toggleLabel": "啟用大廳模式",
"waitForModerator": "會議尚未開始,暫無主持人入會。如需成為主持人請先登入,或耐心等待會議開始。"
"toggleLabel": "啟用大廳模式"
},
"localRecording": {
"clientState": {
@@ -794,10 +767,8 @@
"me": "我",
"notify": {
"OldElectronAPPTitle": "安全漏洞!",
"allowAll": "允許全部",
"allowAudio": "允許音訊",
"allowBoth": "允許音訊與視訊",
"allowDesktop": "允許螢幕分享",
"allowVideo": "允許視訊",
"allowedUnmute": "您可以將麥克風解除靜音、開啟視訊,或是分享您的螢幕。",
"audioUnmuteBlockedDescription": "麥克風解除靜音操作由於系統限制而被暫時封鎖。",
@@ -811,7 +782,6 @@
"dataChannelClosedDescription": "橋接通道已斷開,視訊品質降至最低設定。",
"dataChannelClosedDescriptionWithAudio": "橋接通道已斷開,音訊和視訊可能會受到影響。",
"dataChannelClosedWithAudio": "音訊和視訊品質可能會降低。",
"desktopMutedRemotelyTitle": "您的螢幕分享已被{{participantDisplayName}}停止",
"disabledIframe": "嵌入僅供示範使用,此通話將於 {{timeout}} 分鐘後中斷連線。",
"disabledIframeSecondaryNative": "嵌入 {{domain}} 僅供示範,此通話將於 {{timeout}} 分鐘後中斷。",
"disabledIframeSecondaryWeb": "嵌入 {{domain}} 僅供示範,此通話將於 {{timeout}} 分鐘後中斷,請使用 <a href='{{jaasDomain}}' rel='noopener noreferrer' target='_blank'>Jitsi 服務</a> 來進行正式嵌入!",
@@ -869,7 +839,6 @@
"oldElectronClientDescription1": "您似乎正在使用存在已知安全漏洞的過時 Jitsi Meet 用戶端,請盡快更新至我們的",
"oldElectronClientDescription2": "最新版本",
"oldElectronClientDescription3": "",
"openChat": "開啟聊天",
"participantWantsToJoin": "希望加入會議",
"participantsWantToJoin": "希望加入會議",
"passwordRemovedRemotely": "$t(lockRoomPasswordUppercase) 已被其他與會者移除",
@@ -893,7 +862,6 @@
"suggestRecordingDescription": "是否要開始錄製這場會議?",
"suggestRecordingTitle": "錄製此會議",
"unmute": "取消靜音",
"unmuteScreen": "開始螢幕分享",
"unmuteVideo": "啟用視訊",
"videoMutedRemotelyDescription": "您隨時可以再次啟用。",
"videoMutedRemotelyTitle": "您的視訊已被 {{participantDisplayName}} 停用",
@@ -913,14 +881,11 @@
"admit": "準許",
"admitAll": "準許所有人",
"allow": "允許與會者能夠:",
"allowDesktop": "允許螢幕分享",
"allowVideo": "允許視訊",
"askDesktop": "請求共享螢幕",
"askUnmute": "要求解除靜音",
"audioModeration": "自我解除靜音",
"blockEveryoneMicCamera": "停用所有人的麥克風和網路攝影機",
"breakoutRooms": "分組討論室",
"desktopModeration": "開始螢幕分享",
"goLive": "開始直播",
"invite": "邀請他人",
"lowerAllHands": "全部取消舉手",
@@ -932,8 +897,6 @@
"muteAll": "靜音所有人",
"muteEveryoneElse": "靜音其他人",
"reject": "拒絕",
"stopDesktop": "停止螢幕分享",
"stopEveryonesDesktop": "停止所有人的螢幕分享",
"stopEveryonesVideo": "停用所有人的視訊",
"stopVideo": "停用視訊",
"unblockEveryoneMicCamera": "解除封鎖所有人的麥克風及網路攝影機",
@@ -943,11 +906,9 @@
"headings": {
"lobby": "大廳({{count}} 人)",
"participantsList": "會議與會者({{count}} 人)",
"viewerRequests": "觀眾請求({{count}}人)",
"visitorInQueue": "{{count}} 人等候中)",
"visitorRequests": "{{count}} 人申請",
"visitors": "訪客({{count}} 人)",
"visitorsList": "觀眾({{count}}人)",
"waitingLobby": "於大廳等候({{count}} 人)"
},
"search": "搜尋與會者",
@@ -968,9 +929,6 @@
"by": "由 {{ name }}",
"closeButton": "結束投票",
"create": {
"accessibilityLabel": {
"send": "傳送投票"
},
"addOption": "新增選項",
"answerPlaceholder": "選項 {{index}}",
"cancel": "取消",
@@ -1118,6 +1076,8 @@
"highlightMomentSuccess": "已精選的時刻",
"highlightMomentSucessDescription": "您的精選時刻將新增至會議摘要。",
"inProgress": "正在錄製或直播",
"limitNotificationDescriptionNative": "由於目前流量過大,您的錄製時間被限制在 {{limit}} 分鐘。若要無限制的錄製,請試試 <3>{{app}}</3>。",
"limitNotificationDescriptionWeb": "由於目前流量過大,您的錄製時間被限制在 {{limit}} 分鐘。若要無限制的錄製,請試試 <a href={{url}}rel='noopener noreferrer' target='_blank'>{{app}}</a>。",
"linkGenerated": "我們建立了您的錄製檔案的連結。",
"localRecordingNoNotificationWarning": "系統不會主動知會與會者錄製已開啟,主持人需另行通知。",
"localRecordingNoVideo": "沒有錄製的視訊",
@@ -1385,20 +1345,6 @@
"videounmute": "啟用網路攝影機"
},
"addPeople": "新增人員到您的通話中",
"advancedAudioSettings": {
"aec": {
"label": "回聲消除"
},
"agc": {
"label": "自動增益控制"
},
"ns": {
"label": "降噪"
},
"stereo": {
"label": "立體聲"
}
},
"audioOnlyOff": "停用低頻寬模式",
"audioOnlyOn": "啟用低頻寬模式",
"audioRoute": "選擇音訊裝置",
@@ -1470,7 +1416,6 @@
"reactionHeart": "傳送愛心反應",
"reactionLaugh": "傳送大笑反應",
"reactionLike": "傳送比讚反應",
"reactionLove": "傳送愛心",
"reactionSilence": "傳送沉默反應",
"reactionSurprised": "傳送驚訝反應",
"reactions": "反應",
@@ -1556,8 +1501,6 @@
"connectionInfo": "連線資訊",
"demote": "轉為訪客",
"domute": "靜音",
"domuteDesktop": "停止螢幕分享",
"domuteDesktopOfOthers": "停止螢幕分享給其他人",
"domuteOthers": "靜音其他人",
"domuteVideo": "停用網路攝影機",
"domuteVideoOfOthers": "停用其他人的網路攝影機",
@@ -1622,8 +1565,6 @@
"noMainParticipantsTitle": "會議尚未開始",
"noVisitorLobby": "此會議啟用大廳,暫時無法加入",
"notAllowedPromotion": "需由與會者同意您的申請",
"requestToJoin": "舉手請求",
"requestToJoinDescription": "您的請求已傳送給主持人,請稍候!",
"title": "您是會議中的訪客"
},
"waitingMessage": "會議開始後您將自動加入!"

View File

@@ -126,16 +126,8 @@
"messagebox": "Type a message",
"newMessages": "New messages",
"nickname": {
"featureChat": "chat",
"featureClosedCaptions": "closed captions",
"featureFileSharing": "file sharing",
"featurePolls": "polls",
"popover": "Choose a nickname",
"title": "Enter a nickname to use chat",
"titleWith1Features": "Enter a nickname to use {{feature1}}",
"titleWith2Features": "Enter a nickname to use {{feature1}} and {{feature2}}",
"titleWith3Features": "Enter a nickname to use {{feature1}}, {{feature2}} and {{feature3}}",
"titleWith4Features": "Enter a nickname to use {{feature1}}, {{feature2}}, {{feature3}} and {{feature4}}",
"titleWithCC": "Enter a nickname to use chat and closed captions",
"titleWithPolls": "Enter a nickname to use chat and polls",
"titleWithPollsAndCC": "Enter a nickname to use chat, polls and closed captions",
@@ -227,9 +219,6 @@
"video_ssrc": "Video SSRC:",
"yes": "yes"
},
"customPanel": {
"close": "Close"
},
"dateUtils": {
"earlier": "Earlier",
"today": "Today",
@@ -373,7 +362,7 @@
"kickParticipantTitle": "Kick this participant?",
"kickSystemTitle": "Ouch! You were kicked out of the meeting",
"kickTitle": "Ouch! {{participantDisplayName}} kicked you out of the meeting",
"learnMore": "Learn more",
"learnMore": "learn more",
"linkMeeting": "Link meeting",
"linkMeetingTitle": "Link meeting to Salesforce",
"liveStreaming": "Live Streaming",
@@ -383,9 +372,6 @@
"lockRoom": "Add meeting $t(lockRoomPassword)",
"lockTitle": "Lock failed",
"login": "Login",
"loginFailed": "Login failed.",
"loginOnResume": "Your authentication session has expired. You need to login again to continue the meeting.",
"loginPopupBlocked": "Login popup was blocked by your browser.",
"loginQuestion": "Are you sure you want to login and leave the conference?",
"logoutQuestion": "Are you sure you want to logout and leave the conference?",
"logoutTitle": "Logout",
@@ -446,7 +432,9 @@
"recentlyUsedObjects": "Your recently used objects",
"recording": "Recording",
"recordingDisabledBecauseOfActiveLiveStreamingTooltip": "Not possible while a live stream is active",
"recordingInProgressDescription": "This meeting is being recorded and analyzed by AI. Your audio and video have been muted. If you choose to unmute, you consent to being recorded.",
"recordingInProgressDescription": "This meeting is being recorded and analyzed by AI{{learnMore}}. Your audio and video have been muted. If you choose to unmute, you consent to being recorded.",
"recordingInProgressDescriptionFirstHalf": "This meeting is being recorded and analyzed by AI",
"recordingInProgressDescriptionSecondHalf": ". Your audio and video have been muted. If you choose to unmute, you consent to being recorded.",
"recordingInProgressTitle": "Recording in progress",
"rejoinNow": "Rejoin now",
"remoteControlAllowedMessage": "{{user}} accepted your remote control request!",
@@ -469,8 +457,6 @@
"screenSharingFailed": "Oops! Something went wrong, we weren't able to start screen sharing!",
"screenSharingFailedTitle": "Screen sharing failed!",
"screenSharingPermissionDeniedError": "Oops! Something went wrong with your screen sharing permissions. Please reload and try again.",
"screenshareStoppedDiskSpace": "This happens if you used the macOS's floating toolbar to stop screen sharing. It may also be due to low disk space.",
"screenshareStoppedTitle": "Screen sharing stopped via system",
"searchInSalesforce": "Search in Salesforce",
"searchResults": "Search results({{count}})",
"searchResultsDetailsError": "Something went wrong while retrieving owner data.",
@@ -595,7 +581,6 @@
"newFileNotification": "{{ participantName }} shared '{{ fileName }}'",
"removeFile": "Remove",
"removeFileSuccess": "File removed successfully",
"uploadDisabled": "Not allowed to upload files. Ask a moderator for permission rights for that operation.",
"uploadFailedDescription": "Please try again.",
"uploadFailedTitle": "Upload failed",
"uploadFile": "Share file"
@@ -713,6 +698,8 @@
"googlePrivacyPolicy": "Google Privacy Policy",
"inProgress": "Recording or live streaming in progress",
"invalidStreamKey": "Live stream key may be incorrect.",
"limitNotificationDescriptionNative": "Your streaming will be limited to {{limit}} min. For unlimited streaming try {{app}}.",
"limitNotificationDescriptionWeb": "Due to high demand your streaming will be limited to {{limit}} min. For unlimited streaming try <a href={{url}} rel='noopener noreferrer' target='_blank'>{{app}}</a>.",
"off": "Live Streaming stopped",
"offBy": "{{name}} stopped the live streaming",
"on": "Live Streaming started",
@@ -729,7 +716,6 @@
"streamIdHelp": "What's this?",
"title": "Live Stream",
"unavailableTitle": "Live Streaming unavailable",
"youTubeGoLiveWarning": "Remember to click 'Go Live' in YouTube Studio if Auto-Start/Auto-Stop are disabled. Otherwise the stream will not begin recording.",
"youtubeTerms": "YouTube terms of services"
},
"lobby": {
@@ -1133,6 +1119,8 @@
"highlightMomentSuccess": "Moment highlighted",
"highlightMomentSucessDescription": "Your highlighted moment will be added to the meeting summary.",
"inProgress": "Recording or live streaming in progress",
"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>.",
"linkGenerated": "We have generated a link to your recording.",
"localRecordingNoNotificationWarning": "The recording will not be announced to other participants. You will need to let them know that the meeting is recorded.",
"localRecordingNoVideo": "Video is not being recorded",
@@ -1194,7 +1182,7 @@
"signedIn": "Currently accessing calendar events for {{email}}. Click the Disconnect button below to stop accessing calendar events.",
"title": "Calendar"
},
"chatWithPermissions": "Disable chat for non-moderators",
"chatWithPermissions": "Chat requires permission",
"desktopShareFramerate": "Desktop sharing frame rate",
"desktopShareHighFpsWarning": "A higher frame rate for desktop sharing might affect your bandwidth. You need to restart the screen share for the new settings to take effect.",
"desktopShareWarning": "You need to restart the screen share for the new settings to take effect.",
@@ -1319,7 +1307,6 @@
"chat": "Open / Close chat",
"clap": "Clap",
"closeChat": "Close chat",
"closeCustomPanel": "Close",
"closeMoreActions": "Close more actions menu",
"closeParticipantsPane": "Close participants pane",
"closedCaptions": "Closed captions",
@@ -1363,7 +1350,7 @@
"muteEveryoneElsesVideoStream": "Stop everyone else's video",
"muteEveryonesVideoStream": "Stop everyone's video",
"muteGUMPending": "Connecting your microphone",
"noiseSuppression": "Extra noise suppression",
"noiseSuppression": "Extra noise suppression (BETA)",
"openChat": "Open chat",
"participants": "Open participants panel. {{participantsCount}} participants",
"pip": "Toggle Picture-in-Picture mode",
@@ -1425,26 +1412,23 @@
"chat": "Open / Close chat",
"clap": "Clap",
"closeChat": "Close chat",
"closeCustomPanel": "Close",
"closeParticipantsPane": "Close participants pane",
"closeReactionsMenu": "Close reactions menu",
"closedCaptions": "Closed captions",
"copilot": "Copilot",
"disableNoiseSuppression": "Disable extra noise suppression",
"disableNoiseSuppression": "Disable extra noise suppression (BETA)",
"disableReactionSounds": "You can disable reaction sounds for this meeting",
"documentClose": "Close shared document",
"documentOpen": "Open shared document",
"download": "Download our apps",
"e2ee": "End-to-End Encryption",
"embedMeeting": "Embed meeting",
"enableNoiseSuppression": "Enable extra noise suppression",
"enableNoiseSuppression": "Enable extra noise suppression (BETA)",
"endConference": "End meeting for all",
"enterFullScreen": "View full screen",
"enterTileView": "Enter tile view",
"exitFullScreen": "Exit full screen",
"exitTileView": "Exit tile view",
"feedback": "Leave feedback",
"fileSharing": "File sharing",
"giphy": "Toggle GIPHY menu",
"hangup": "Leave the meeting",
"help": "Help",
@@ -1473,14 +1457,13 @@
"noAudioSignalDialInDesc": "You can also dial-in using:",
"noAudioSignalDialInLinkDesc": "Dial-in numbers",
"noAudioSignalTitle": "There is no input coming from your mic!",
"noiseSuppression": "Extra noise suppression",
"noiseSuppression": "Extra noise suppression (BETA)",
"noisyAudioInputDesc": "It sounds like your microphone is making noise, please consider muting or changing the device.",
"noisyAudioInputTitle": "Your microphone appears to be noisy!",
"openChat": "Open chat",
"openReactionsMenu": "Open reactions menu",
"participants": "Participants",
"pip": "Enter Picture-in-Picture mode",
"polls": "Polls",
"privateMessage": "Send private message",
"profile": "Edit your profile",
"raiseHand": "Raise your hand",
@@ -1607,7 +1590,6 @@
"addBackground": "Add background",
"apply": "Apply",
"backgroundEffectError": "Failed to apply background effect.",
"backgroundLimitReached": "Custom background limit reached",
"blur": "Blur",
"deleteImage": "Delete image",
"desktopShare": "Desktop share",
@@ -1620,7 +1602,6 @@
"image6": "Forest ",
"image7": "Sunrise",
"none": "None",
"oldestBackgroundRemoved": "The oldest custom background has been removed to add the new one.",
"pleaseWait": "Please wait…",
"removeBackground": "Remove background",
"slightBlur": "Half Blur",

View File

@@ -107,10 +107,9 @@ import {
open as openParticipantsPane
} from '../../react/features/participants-pane/actions';
import { getParticipantsPaneOpen } from '../../react/features/participants-pane/functions';
import { hidePiP, showPiP } from '../../react/features/pip/actions';
import { startLocalVideoRecording, stopLocalVideoRecording } from '../../react/features/recording/actions.any';
import { grantRecordingConsent, grantRecordingConsentAndUnmute } from '../../react/features/recording/actions.web';
import { RECORDING_TYPES } from '../../react/features/recording/constants';
import { RECORDING_METADATA_ID, RECORDING_TYPES } from '../../react/features/recording/constants';
import { getActiveSession, supportsLocalRecording } from '../../react/features/recording/functions';
import { startAudioScreenShareFlow, startScreenShareFlow } from '../../react/features/screen-share/actions';
import { isScreenAudioSupported } from '../../react/features/screen-share/functions';
@@ -126,7 +125,7 @@ import { extractYoutubeIdOrURL } from '../../react/features/shared-video/functio
import { setRequestingSubtitles, toggleRequestingSubtitles } from '../../react/features/subtitles/actions';
import { isAudioMuteButtonDisabled } from '../../react/features/toolbox/functions';
import { setTileView, toggleTileView } from '../../react/features/video-layout/actions.any';
import { muteAllParticipants, muteRemote } from '../../react/features/video-menu/actions';
import { muteAllParticipants } from '../../react/features/video-menu/actions';
import { setVideoQuality } from '../../react/features/video-quality/actions';
import { toggleBackgroundEffect, toggleBlurredBackgroundEffect } from '../../react/features/virtual-background/actions';
import { VIRTUAL_BACKGROUND_TYPE } from '../../react/features/virtual-background/constants';
@@ -239,31 +238,6 @@ function initCommands() {
APP.store.dispatch(muteAllParticipants(exclude, muteMediaType));
},
'mute-remote-participant': (participantId, mediaType) => {
const state = APP.store.getState();
const muteMediaType = mediaType ? mediaType : MEDIA_TYPE.AUDIO;
const localParticipant = getLocalParticipant(state);
// Check if targeting the local participant
if (participantId === localParticipant?.id) {
if (muteMediaType === MEDIA_TYPE.AUDIO) {
APP.conference.toggleAudioMuted(false);
} else if (muteMediaType === MEDIA_TYPE.VIDEO) {
APP.conference.toggleVideoMuted(false, true);
}
return;
}
if (!isLocalParticipantModerator(state)) {
logger.error('Missing moderator rights to mute remote participant');
return;
}
APP.store.dispatch(muteRemote(participantId, muteMediaType));
},
'toggle-lobby': isLobbyEnabled => {
APP.store.dispatch(toggleLobbyMode(isLobbyEnabled));
},
@@ -366,7 +340,6 @@ function initCommands() {
APP.store.dispatch(setAssumedBandwidthBps(value));
},
'set-blurred-background': blurType => {
const tracks = APP.store.getState()['features/base/tracks'];
const videoTrack = getLocalVideoTrack(tracks)?.jitsiTrack;
@@ -805,6 +778,9 @@ function initCommands() {
if (transcription) {
APP.store.dispatch(setRequestingSubtitles(true, false, null, true));
conference.getMetadataHandler().setMetadata(RECORDING_METADATA_ID, {
isTranscribingEnabled: true
});
}
},
@@ -826,7 +802,10 @@ function initCommands() {
}
if (transcription) {
APP.store.dispatch(setRequestingSubtitles(false, false, null, true));
APP.store.dispatch(setRequestingSubtitles(false, false, null));
conference.getMetadataHandler().setMetadata(RECORDING_METADATA_ID, {
isTranscribingEnabled: false
});
}
if (mode === 'local') {
@@ -927,12 +906,6 @@ function initCommands() {
backgroundType: VIRTUAL_BACKGROUND_TYPE.IMAGE,
virtualSource: backgroundImage
}, jitsiTrack));
},
'show-pip': () => {
APP.store.dispatch(showPiP());
},
'hide-pip': () => {
APP.store.dispatch(hidePiP());
}
};
transport.on('event', ({ data, name }) => {
@@ -1268,20 +1241,6 @@ class API {
});
}
/**
* Notify external application (if API is enabled) that the in-page toolbox
* visibility changed.
*
* @param {boolean} visible - True if the toolbox is visible, false otherwise.
* @returns {void}
*/
notifyToolbarVisibilityChanged(visible) {
this._sendEvent({
name: 'toolbar-visibility-changed',
visible
});
}
/**
* Notifies the external application (spot) that the local jitsi-participant
* has a status update.
@@ -1426,23 +1385,6 @@ class API {
});
}
/**
* Notify the external application that a participant's mute status changed.
*
* @param {string} participantId - The ID of the participant.
* @param {boolean} isMuted - True if muted, false if unmuted.
* @param {string} mediaType - Media type that was muted ('audio' or 'video').
* @returns {void}
*/
notifyParticipantMuted(participantId, isMuted, mediaType) {
this._sendEvent({
name: 'participant-muted',
id: participantId,
isMuted,
mediaType
});
}
/**
* Notify the external app that a notification has been triggered.
*
@@ -2253,32 +2195,6 @@ class API {
});
}
/**
* Notify the external application that a file has been uploaded.
*
* @param {Object} fileMetadata - The file metadata.
* @returns {void}
*/
notifyFileUploaded(fileMetadata) {
this._sendEvent({
name: 'file-uploaded',
file: fileMetadata
});
}
/**
* Notify the external application that a file has been deleted.
*
* @param {string} fileId - The ID of the deleted file.
* @returns {void}
*/
notifyFileDeleted(fileId) {
this._sendEvent({
name: 'file-deleted',
fileId
});
}
/**
* Notify the external application that the audio or video is being shared by a participant.
*
@@ -2318,43 +2234,6 @@ class API {
});
}
/**
* Notify external application (if API is enabled) that Picture-in-Picture was requested.
* Used by Electron to handle PiP requests with proper user gesture context.
*
* @returns {void}
*/
notifyPictureInPictureRequested() {
logger.debug('Sending _pip-requested event to External API');
this._sendEvent({
name: '_pip-requested'
});
}
/**
* Notify external application (if API is enabled) that Picture-in-Picture mode was entered.
*
* @returns {void}
*/
notifyPictureInPictureEntered() {
logger.debug('Sending pip-entered event to External API');
this._sendEvent({
name: 'pip-entered'
});
}
/**
* Notify external application (if API is enabled) that Picture-in-Picture mode was exited.
*
* @returns {void}
*/
notifyPictureInPictureLeft() {
logger.debug('Sending pip-left event to External API');
this._sendEvent({
name: 'pip-left'
});
}
/**
* Notify external application ( if API is enabled) that a participant menu button was clicked.
*

View File

@@ -2,7 +2,6 @@ import { jitsiLocalStorage } from '@jitsi/js-utils/jitsi-local-storage';
import EventEmitter from 'events';
import { urlObjectToString } from '../../../react/features/base/util/uri';
import { isPiPEnabled } from '../../../react/features/pip/external-api.shared';
import {
PostMessageTransportBackend,
Transport
@@ -47,7 +46,6 @@ const commands = {
localSubject: 'local-subject',
kickParticipant: 'kick-participant',
muteEveryone: 'mute-everyone',
muteRemoteParticipant: 'mute-remote-participant',
overwriteConfig: 'overwrite-config',
overwriteNames: 'overwrite-names',
password: 'password',
@@ -96,9 +94,7 @@ const commands = {
toggleTileView: 'toggle-tile-view',
toggleVirtualBackgroundDialog: 'toggle-virtual-background',
toggleVideo: 'toggle-video',
toggleWhiteboard: 'toggle-whiteboard',
showPiP: 'show-pip',
hidePiP: 'hide-pip'
toggleWhiteboard: 'toggle-whiteboard'
};
/**
@@ -106,9 +102,6 @@ const commands = {
* events expected by jitsi-meet.
*/
const events = {
'_pip-requested': '_pipRequested',
'pip-entered': 'pipEntered',
'pip-left': 'pipLeft',
'avatar-changed': 'avatarChanged',
'audio-availability-changed': 'audioAvailabilityChanged',
'audio-mute-status-changed': 'audioMuteStatusChanged',
@@ -133,8 +126,6 @@ const events = {
'face-landmark-detected': 'faceLandmarkDetected',
'feedback-submitted': 'feedbackSubmitted',
'feedback-prompt-displayed': 'feedbackPromptDisplayed',
'file-deleted': 'fileDeleted',
'file-uploaded': 'fileUploaded',
'filmstrip-display-changed': 'filmstripDisplayChanged',
'incoming-message': 'incomingMessage',
'knocking-participant': 'knockingParticipant',
@@ -153,7 +144,6 @@ const events = {
'participant-joined': 'participantJoined',
'participant-kicked-out': 'participantKickedOut',
'participant-left': 'participantLeft',
'participant-muted': 'participantMuted',
'participant-role-changed': 'participantRoleChanged',
'participants-pane-toggled': 'participantsPaneToggled',
'password-required': 'passwordRequired',
@@ -177,7 +167,6 @@ const events = {
'suspend-detected': 'suspendDetected',
'tile-view-changed': 'tileViewChanged',
'toolbar-button-clicked': 'toolbarButtonClicked',
'toolbar-visibility-changed': 'toolbarVisibilityChanged',
'transcribing-status-changed': 'transcribingStatusChanged',
'transcription-chunk-received': 'transcriptionChunkReceived',
'whiteboard-status-changed': 'whiteboardStatusChanged'
@@ -340,7 +329,6 @@ export default class JitsiMeetExternalAPI extends EventEmitter {
this._myUserID = undefined;
this._onStageParticipant = undefined;
this._iAmvisitor = undefined;
this._pipConfig = configOverwrite?.pip;
this._setupListeners();
id++;
}
@@ -660,56 +648,6 @@ export default class JitsiMeetExternalAPI extends EventEmitter {
this.emit(requestName, data, callback);
}
});
this._setupIntersectionObserver();
}
/**
* Sets up IntersectionObserver to monitor iframe visibility.
* Calls showPiP/hidePiP based on visibility.
*
* @private
* @returns {void}
*/
_setupIntersectionObserver() {
if (!isPiPEnabled(this._pipConfig)) {
return;
}
// Don't create duplicate observers.
if (this._intersectionObserver) {
return;
}
this._isIntersecting = true;
this._intersectionObserver = new IntersectionObserver(entries => {
const entry = entries[entries.length - 1];
const wasIntersecting = this._isIntersecting;
this._isIntersecting = entry.isIntersecting;
if (!entry.isIntersecting && wasIntersecting) {
this.showPiP();
} else if (entry.isIntersecting && !wasIntersecting) {
this.hidePiP();
}
});
this._intersectionObserver.observe(this._frame);
}
/**
* Tears down IntersectionObserver.
*
* @private
* @returns {void}
*/
_teardownIntersectionObserver() {
if (this._intersectionObserver) {
this._intersectionObserver.disconnect();
this._intersectionObserver = null;
}
}
/**
@@ -775,7 +713,7 @@ export default class JitsiMeetExternalAPI extends EventEmitter {
* @returns {void}
*
* @deprecated
* NOTE: This method is not removed for backward compatibility purposes.
* NOTE: This method is not removed for backward comatability purposes.
*/
addEventListener(event, listener) {
this.on(event, listener);
@@ -862,7 +800,7 @@ export default class JitsiMeetExternalAPI extends EventEmitter {
* @returns {void}
*
* @deprecated
* NOTE: This method is not removed for backward compatibility purposes.
* NOTE: This method is not removed for backward comatability purposes.
*/
addEventListeners(listeners) {
for (const event in listeners) { // eslint-disable-line guard-for-in
@@ -912,8 +850,6 @@ export default class JitsiMeetExternalAPI extends EventEmitter {
this.emit('_willDispose');
this._transport.dispose();
this.removeAllListeners();
this._teardownIntersectionObserver();
if (this._frame && this._frame.parentNode) {
this._frame.parentNode.removeChild(this._frame);
}
@@ -942,47 +878,10 @@ export default class JitsiMeetExternalAPI extends EventEmitter {
return;
}
// Handle pip config changes locally.
// We update local state, send command to iframe, then handle PiP show/hide
// so the iframe config is updated before we try to show PiP.
let pipTransition = null;
if (name === 'overwriteConfig' && args[0]?.pip !== undefined) {
const wasEnabled = isPiPEnabled(this._pipConfig);
this._pipConfig = {
...this._pipConfig,
...args[0].pip
};
const isEnabled = isPiPEnabled(this._pipConfig);
if (!wasEnabled && isEnabled) {
this._setupIntersectionObserver();
pipTransition = 'enabled';
} else if (wasEnabled && !isEnabled) {
this._teardownIntersectionObserver();
pipTransition = 'disabled';
}
}
// Send command to iframe first.
this._transport.sendEvent({
data: args,
name: commands[name]
});
// Handle PiP state after command is sent so iframe config is updated.
if (pipTransition === 'enabled') {
// Show PiP if iframe is currently not visible.
if (!this._isIntersecting) {
this.showPiP();
}
} else if (pipTransition === 'disabled') {
// Hide any open PiP window.
this.hidePiP();
}
}
/**
@@ -1413,7 +1312,7 @@ export default class JitsiMeetExternalAPI extends EventEmitter {
* @returns {void}
*
* @deprecated
* NOTE: This method is not removed for backward compatibility purposes.
* NOTE: This method is not removed for backward comatability purposes.
*/
removeEventListener(event) {
this.removeAllListeners(event);
@@ -1426,7 +1325,7 @@ export default class JitsiMeetExternalAPI extends EventEmitter {
* @returns {void}
*
* @deprecated
* NOTE: This method is not removed for backward compatibility purposes.
* NOTE: This method is not removed for backward comatability purposes.
*/
removeEventListeners(eventList) {
eventList.forEach(event => this.removeEventListener(event));
@@ -1596,24 +1495,6 @@ export default class JitsiMeetExternalAPI extends EventEmitter {
this.executeCommand('setVirtualBackground', enabled, backgroundImage);
}
/**
* Shows Picture-in-Picture window.
*
* @returns {void}
*/
showPiP() {
this.executeCommand('showPiP');
}
/**
* Hides Picture-in-Picture window.
*
* @returns {void}
*/
hidePiP() {
this.executeCommand('hidePiP');
}
/**
* Opens the desktop picker. This is invoked by the Electron SDK when gDM is used.
*

View File

@@ -3,11 +3,15 @@
const UI = {};
import Logger from '@jitsi/logger';
import {
conferenceWillInit
} from '../../react/features/base/conference/actions';
import { isMobileBrowser } from '../../react/features/base/environment/utils';
import { setColorAlpha } from '../../react/features/base/util/helpers';
import { sanitizeUrl } from '../../react/features/base/util/uri';
import { setDocumentUrl } from '../../react/features/etherpad/actions';
import {
setNotificationsEnabled,
showNotification
@@ -24,6 +28,8 @@ import EtherpadManager from './etherpad/Etherpad';
import UIUtil from './util/UIUtil';
import VideoLayout from './videolayout/VideoLayout';
const logger = Logger.getLogger('ui:core');
let etherpadManager;
/**
@@ -111,17 +117,24 @@ UI.unbindEvents = () => {
/**
* Setup and show Etherpad.
* @param {string} name etherpad id
*/
UI.initEtherpad = () => {
const { getState } = APP.store;
UI.initEtherpad = name => {
const { getState, dispatch } = APP.store;
const configState = getState()['features/base/config'];
const etherpadBaseUrl = sanitizeUrl(configState.etherpad_base);
if (etherpadManager) {
if (etherpadManager || !etherpadBaseUrl || !name) {
return;
}
logger.log('Etherpad is enabled');
etherpadManager = new EtherpadManager();
const url = new URL(name, etherpadBaseUrl);
dispatch(setDocumentUrl(url.toString()));
if (configState.openSharedDocumentOnJoin) {
etherpadManager.toggleEtherpad();
}

View File

@@ -158,10 +158,11 @@ const VideoLayout = {
return;
}
const state = APP.store.getState();
const currentContainer = largeVideo.getCurrentContainer();
const currentContainerType = largeVideo.getCurrentContainerType();
const isOnLarge = this.isCurrentlyOnLarge(id);
const state = APP.store.getState();
const participant = getParticipantById(state, id);
const videoTrack = getVideoTrackByParticipant(state, participant);
const videoStream = videoTrack?.jitsiTrack;

5940
package-lock.json generated

File diff suppressed because it is too large Load Diff

View File

@@ -25,10 +25,10 @@
"@giphy/react-components": "6.9.4",
"@giphy/react-native-sdk": "4.1.0",
"@jitsi/excalidraw": "https://github.com/jitsi/excalidraw/releases/download/v0.0.19/jitsi-excalidraw-0.0.19.tgz",
"@jitsi/js-utils": "2.6.7",
"@jitsi/js-utils": "2.2.1",
"@jitsi/logger": "2.1.1",
"@jitsi/rnnoise-wasm": "0.2.1",
"@matrix-org/olm": "3.2.15",
"@matrix-org/olm": "https://gitlab.matrix.org/api/v4/projects/27/packages/npm/@matrix-org/olm/-/@matrix-org/olm-3.2.3.tgz",
"@microsoft/microsoft-graph-client": "3.0.1",
"@mui/material": "5.12.1",
"@react-native-async-storage/async-storage": "1.23.1",
@@ -57,10 +57,10 @@
"clipboard-copy": "4.0.1",
"clsx": "1.1.1",
"dayjs": "1.11.13",
"dompurify": "3.3.2",
"dompurify": "3.2.6",
"dropbox": "10.7.0",
"focus-visible": "5.1.0",
"glob": "12.0.0",
"glob": "11.0.3",
"grapheme-splitter": "1.0.4",
"i18n-iso-countries": "6.8.0",
"i18next": "17.0.6",
@@ -72,8 +72,8 @@
"js-md5": "0.6.1",
"js-sha512": "0.8.0",
"jwt-decode": "2.2.0",
"lib-jitsi-meet": "https://github.com/jitsi/lib-jitsi-meet/releases/download/v2140.0.0+fe26afb0/lib-jitsi-meet.tgz",
"lodash-es": "4.17.23",
"lib-jitsi-meet": "https://github.com/jitsi/lib-jitsi-meet/releases/download/v2101.0.0+8061f52a/lib-jitsi-meet.tgz",
"lodash-es": "4.17.21",
"null-loader": "4.0.1",
"optional-require": "1.0.3",
"pixelmatch": "5.3.0",
@@ -97,7 +97,7 @@
"react-native-pager-view": "6.8.1",
"react-native-paper": "5.10.3",
"react-native-performance": "5.1.2",
"react-native-safe-area-context": "5.6.1",
"react-native-safe-area-context": "5.5.2",
"react-native-screens": "4.11.1",
"react-native-sound": "https://github.com/jitsi/react-native-sound.git#ea13c97b5c2a4ff5e0d9bacbd9ff5e4457fe2c3c",
"react-native-splash-view": "0.0.18",
@@ -164,12 +164,12 @@
"@types/w3c-image-capture": "1.0.6",
"@types/w3c-web-hid": "1.0.3",
"@types/zxcvbn": "4.4.1",
"@wdio/allure-reporter": "9.27.0",
"@wdio/cli": "9.27.0",
"@wdio/globals": "9.27.0",
"@wdio/junit-reporter": "9.27.0",
"@wdio/local-runner": "9.27.0",
"@wdio/mocha-framework": "9.27.0",
"@wdio/allure-reporter": "9.16.0",
"@wdio/cli": "9.16.0",
"@wdio/globals": "9.16.0",
"@wdio/junit-reporter": "9.16.0",
"@wdio/local-runner": "9.16.0",
"@wdio/mocha-framework": "9.16.0",
"babel-loader": "9.1.0",
"babel-plugin-optional-require": "0.3.1",
"circular-dependency-plugin": "5.2.0",
@@ -184,7 +184,6 @@
"eslint-plugin-typescript-sort-keys": "3.3.0",
"jetifier": "1.6.4",
"jsonwebtoken": "9.0.2",
"junit-report-builder": "5.1.1",
"patch-package": "6.4.7",
"pretty": "2.0.0",
"process": "0.11.10",
@@ -194,15 +193,15 @@
"ts-loader": "9.4.2",
"typescript": "5.7.2",
"unorm": "1.6.0",
"webdriverio": "9.27.0",
"webpack": "5.105.0",
"webdriverio": "9.16.0",
"webpack": "5.95.0",
"webpack-bundle-analyzer": "4.4.2",
"webpack-cli": "5.1.4",
"webpack-dev-server": "5.2.1"
"webpack-dev-server": "5.1.0"
},
"engines": {
"node": ">=24.0.0",
"npm": ">=11.0.0"
"node": ">=22.0.0",
"npm": ">=10.0.0"
},
"license": "Apache-2.0",
"scripts": {

View File

@@ -1,6 +1 @@
*.tgz
tsconfig.json
.npmrc
.git
.gitignore
node_modules

View File

@@ -2,8 +2,7 @@
"name": "@jitsi/react-native-sdk",
"version": "0.0.0",
"description": "React Native SDK for Jitsi Meet.",
"main": "dist/index.js",
"types": "dist/index.d.ts",
"main": "index.tsx",
"license": "Apache-2.0",
"author": "",
"homepage": "https://jitsi.org",
@@ -93,27 +92,9 @@
"@babel/plugin-proposal-optional-chaining": "0.0.0"
},
"scripts": {
"build": "tsc -p tsconfig.json",
"postinstall": "node sdk_instructions.js",
"prepare": "node prepare_sdk.js && npm run build"
"prepare": "node prepare_sdk.js"
},
"files": [
"dist",
"android",
"ios",
"index.tsx",
"jitsi-meet-rnsdk.podspec",
"prepare_sdk.js",
"sdk_instructions.js",
"update_dependencies.js",
"update_sdk_dependencies.js",
"README.md",
"images",
"sounds",
"lang",
"modules",
"react"
],
"bugs": {
"url": "https://github.com/jitsi/jitsi-meet/issues"
},

View File

@@ -1,17 +0,0 @@
{
"extends": "../tsconfig.native.json",
"compilerOptions": {
"outDir": "./dist",
"declaration": true,
"declarationMap": true,
"sourceMap": true,
"emitDeclarationOnly": false
},
"include": [
"index.tsx"
],
"exclude": [
"node_modules",
"dist"
]
}

View File

@@ -600,6 +600,31 @@ export function createRemoteVideoMenuButtonEvent(buttonName: string, attributes
};
}
/**
* The rtcstats websocket onclose event. We send this to amplitude in order
* to detect trace ws prematurely closing.
*
* @param {Object} closeEvent - The event with which the websocket closed.
* @returns {Object} The event in a format suitable for sending via
* sendAnalytics.
*/
export function createRTCStatsTraceCloseEvent(closeEvent: { code: string; reason: string; }) {
const event: {
action: string;
code?: string;
reason?: string;
source: string;
} = {
action: 'trace.onclose',
source: 'rtcstats'
};
event.code = closeEvent.code;
event.reason = closeEvent.reason;
return event;
}
/**
* Creates an event indicating that an action related to screen sharing
* occurred (e.g. It was started or stopped).

View File

@@ -1,50 +1,9 @@
import { createInstance } from '@amplitude/analytics-browser';
import { EnrichmentPlugin, Event, PluginType } from '@amplitude/analytics-types';
const amplitude = createInstance();
export default amplitude;
function stripParam(url?: string): string | undefined {
if (!url) return url;
try {
const u = new URL(url);
u.hash = '';
u.search = '';
return u.toString();
} catch {
return url.split('#')[0].split('?')[0];
}
}
class StripParamsPlugin implements EnrichmentPlugin {
name: 'strip-params-plugin';
type: PluginType.ENRICHMENT;
async setup(): Promise<void> {
return undefined;
}
async execute(event: Event): Promise<Event | null> {
const { event_properties } = event;
if (event_properties) {
// These are only needed to make TS happy.
type EventPropertiesKey = keyof typeof event_properties;
const PAGE_LOCATION_KEY = '[Amplitude] Page Location' as EventPropertiesKey;
const PAGE_URL_KEY = '[Amplitude] Page URL' as EventPropertiesKey;
event_properties[PAGE_LOCATION_KEY] = stripParam(event_properties[PAGE_LOCATION_KEY]);
event_properties[PAGE_URL_KEY] = stripParam(event_properties[PAGE_URL_KEY]);
}
return event;
}
}
/**
* Initializes the Amplitude instance.
*
@@ -72,9 +31,8 @@ export function initAmplitude(
formInteractions: false,
elementInteractions: false
},
defaultTracking: false
};
amplitude.add(new StripParamsPlugin());
return amplitude.init(amplitudeAPPKey, user, options).promise;
}

View File

@@ -113,17 +113,17 @@ export function maybeRedirectToTokenAuthUrl(
const audioMuted = isLocalTrackMuted(state['features/base/tracks'], MEDIA_TYPE.AUDIO);
const videoMuted = isLocalTrackMuted(state['features/base/tracks'], MEDIA_TYPE.VIDEO);
if (!isTokenAuthEnabled(state)) {
if (!isTokenAuthEnabled(config)) {
return false;
}
// if tokenAuthUrl check jwt if is about to expire go through the url to get new token
const jwt = state['features/base/jwt'].jwt;
const refreshToken = state['features/base/jwt'].refreshToken;
const expirationDate = getJwtExpirationDate(jwt);
// if there is jwt token, and it is expired let's obtain a new one
if (expirationDate && expirationDate.getTime() <= Date.now()) {
// if there is jwt and its expiration time is less than 3 minutes away
// let's obtain new token
if (expirationDate && expirationDate.getTime() - Date.now() < 3 * 60 * 1000) {
const room = state['features/base/conference'].room;
const { tenant } = parseURIString(locationURL.href) || {};
@@ -137,8 +137,7 @@ export function maybeRedirectToTokenAuthUrl(
videoMuted
},
room,
tenant,
refreshToken
tenant
)
.then((tokenAuthServiceUrl: string | undefined) => {
if (!tokenAuthServiceUrl) {
@@ -149,8 +148,8 @@ export function maybeRedirectToTokenAuthUrl(
return dispatch(openTokenAuthUrl(tokenAuthServiceUrl));
})
.catch(e => {
failureCallback(e);
.catch(() => {
failureCallback();
});
return true;

View File

@@ -1,4 +1,4 @@
import { setRoom } from '../base/conference/actions.native';
import { setRoom } from '../base/conference/actions';
import { getConferenceState } from '../base/conference/functions';
import {
configWillLoad,
@@ -18,7 +18,7 @@ import isInsecureRoomName from '../base/util/isInsecureRoomName';
import { parseURLParams } from '../base/util/parseURLParams';
import {
appendURLParam,
getNormalizedRoomName,
getBackendSafeRoomName,
parseURIString,
toURLString
} from '../base/util/uri';
@@ -29,7 +29,7 @@ import {
} from '../mobile/navigation/rootNavigationContainerRef';
import { screen } from '../mobile/navigation/routes';
import { clearNotifications } from '../notifications/actions';
import { isUnsafeRoomWarningEnabled } from '../prejoin/functions.native';
import { isUnsafeRoomWarningEnabled } from '../prejoin/functions';
import { maybeRedirectToTokenAuthUrl } from './actions.any';
import { addTrackStateToURL, getDefaultURL } from './functions.native';
@@ -110,7 +110,7 @@ export function appNavigate(uri?: string, options: IReloadNowOptions = {}) {
let url = `${baseURL}config.js`;
// XXX In order to support multiple shards, tell the room to the deployment.
room && (url = appendURLParam(url, 'room', getNormalizedRoomName(room) ?? ''));
room && (url = appendURLParam(url, 'room', getBackendSafeRoomName(room) ?? ''));
const { release } = parseURLParams(location, true, 'search');

View File

@@ -5,7 +5,6 @@ import JitsiThemeProvider from '../../base/ui/components/JitsiThemeProvider.web'
import DialogContainer from '../../base/ui/components/web/DialogContainer';
import ChromeExtensionBanner from '../../chrome-extension-banner/components/ChromeExtensionBanner.web';
import OverlayContainer from '../../overlay/components/web/OverlayContainer';
import PiP from '../../pip/components/PiP';
import { AbstractApp } from './AbstractApp';
@@ -48,7 +47,6 @@ export class App extends AbstractApp {
<JitsiThemeProvider>
<GlobalStyles />
<ChromeExtensionBanner />
<PiP />
{ super._createMainElement(component, props) }
</JitsiThemeProvider>
);

View File

@@ -11,9 +11,8 @@ const route = {
* store.
*
* @param {any} _stateful - Used on web.
* @param {any} _dispatch - Used on web.
* @returns {Promise<Object>}
*/
export function _getRouteToRender(_stateful?: any): Promise<object> {
export function _getRouteToRender(_stateful?: any) {
return Promise.resolve(route);
}

View File

@@ -1,10 +1,13 @@
// @ts-expect-error
import { generateRoomWithoutSeparator } from '@jitsi/js-utils/random';
import { getTokenAuthUrl } from '../authentication/functions.web';
import { IStateful } from '../base/app/types';
import { isRoomValid } from '../base/conference/functions';
import { isSupportedBrowser } from '../base/environment/environment';
import { browser } from '../base/lib-jitsi-meet';
import { toState } from '../base/redux/functions';
import { parseURIString } from '../base/util/uri';
import Conference from '../conference/components/web/Conference';
import { getDeepLinkingPage } from '../deep-linking/functions';
import UnsupportedDesktopBrowser from '../unsupported-browser/components/UnsupportedDesktopBrowser';
@@ -20,10 +23,9 @@ import { IReduxState } from './types';
*
* @param {(Function|Object)} stateful - THe redux store, state, or
* {@code getState} function.
* @param {Dispatch} dispatch - The Redux dispatch function.
* @returns {Promise<Object>}
*/
export function _getRouteToRender(stateful: IStateful): Promise<object> {
export function _getRouteToRender(stateful: IStateful) {
const state = toState(stateful);
return _getWebConferenceRoute(state) || _getWebWelcomePageRoute(state);
@@ -34,10 +36,9 @@ export function _getRouteToRender(stateful: IStateful): Promise<object> {
* a valid conference is being joined.
*
* @param {Object} state - The redux state.
* @param {Dispatch} dispatch - The Redux dispatch function.
* @returns {Promise|undefined}
*/
function _getWebConferenceRoute(state: IReduxState): Promise<any> | undefined {
function _getWebConferenceRoute(state: IReduxState) {
const room = state['features/base/conference'].room;
if (!isRoomValid(room)) {
@@ -45,6 +46,36 @@ function _getWebConferenceRoute(state: IReduxState): Promise<any> | undefined {
}
const route = _getEmptyRoute();
const config = state['features/base/config'];
// if we have auto redirect enabled, and we have previously logged in successfully
// let's redirect to the auth url to get the token and login again
if (!browser.isElectron() && config.tokenAuthUrl && config.tokenAuthUrlAutoRedirect
&& state['features/authentication'].tokenAuthUrlSuccessful
&& !state['features/base/jwt'].jwt && room) {
const { locationURL = { href: '' } as URL } = state['features/base/connection'];
const { tenant } = parseURIString(locationURL.href) || {};
const { startAudioOnly } = config;
return getTokenAuthUrl(
config,
locationURL,
{
audioMuted: false,
audioOnlyEnabled: startAudioOnly,
skipPrejoin: false,
videoMuted: false
},
room,
tenant
)
.then((url: string | undefined) => {
route.href = url;
return route;
})
.catch(() => Promise.resolve(route));
}
// Update the location if it doesn't match. This happens when a room is
// joined from the welcome page. The reason for doing this instead of using

View File

@@ -2,8 +2,9 @@ import '../analytics/middleware';
import '../authentication/middleware';
import '../av-moderation/middleware';
import '../base/conference/middleware';
import '../base/config/middleware';
import '../base/i18n/middleware';
import '../base/jwt/middleware.any';
import '../base/jwt/middleware';
import '../base/known-domains/middleware';
import '../base/lastn/middleware';
import '../base/lib-jitsi-meet/middleware';

View File

@@ -1,4 +1,3 @@
import '../base/config/middleware';
import '../dynamic-branding/middleware';
import '../gifs/middleware';
import '../mobile/audio-mode/middleware';

View File

@@ -1,6 +1,4 @@
import '../base/app/middleware';
import '../base/jwt/middleware.web';
import '../base/config/middleware';
import '../base/connection/middleware';
import '../base/devices/middleware';
import '../base/media/middleware';
@@ -13,7 +11,6 @@ import '../no-audio-signal/middleware';
import '../notifications/middleware';
import '../noise-detection/middleware';
import '../old-client-notification/middleware';
import '../pip/middleware';
import '../power-monitor/middleware';
import '../prejoin/middleware';
import '../remote-control/middleware';
@@ -27,6 +24,5 @@ import '../face-landmarks/middleware';
import '../gifs/middleware';
import '../whiteboard/middleware.web';
import '../file-sharing/middleware.web';
import '../custom-panel/middleware.web';
import './middlewares.any';

View File

@@ -1,6 +1,5 @@
import '../base/devices/reducer';
import '../base/premeeting/reducer';
import '../custom-panel/reducer';
import '../base/tooltip/reducer';
import '../e2ee/reducer';
import '../face-landmarks/reducer';
@@ -9,7 +8,6 @@ import '../keyboard-shortcuts/reducer';
import '../no-audio-signal/reducer';
import '../noise-detection/reducer';
import '../participants-pane/reducer';
import '../pip/reducer';
import '../power-monitor/reducer';
import '../prejoin/reducer';
import '../remote-control/reducer';

View File

@@ -31,7 +31,6 @@ import { IUserInteractionState } from '../base/user-interaction/reducer';
import { IBreakoutRoomsState } from '../breakout-rooms/reducer';
import { ICalendarSyncState } from '../calendar-sync/reducer';
import { IChatState } from '../chat/reducer';
import { ICustomPanelState } from '../custom-panel/reducer';
import { IDeepLinkingState } from '../deep-linking/reducer';
import { IDropboxState } from '../dropbox/reducer';
import { IDynamicBrandingState } from '../dynamic-branding/reducer';
@@ -58,7 +57,6 @@ import { INoiseDetectionState } from '../noise-detection/reducer';
import { INoiseSuppressionState } from '../noise-suppression/reducer';
import { INotificationsState } from '../notifications/reducer';
import { IParticipantsPaneState } from '../participants-pane/reducer';
import { IPipState } from '../pip/reducer';
import { IPollsState } from '../polls/reducer';
import { IPollsHistoryState } from '../polls-history/reducer';
import { IPowerMonitorState } from '../power-monitor/reducer';
@@ -122,7 +120,6 @@ export interface IReduxState {
'features/calendar-sync': ICalendarSyncState;
'features/call-integration': ICallIntegrationState;
'features/chat': IChatState;
'features/custom-panel': ICustomPanelState;
'features/deep-linking': IDeepLinkingState;
'features/dropbox': IDropboxState;
'features/dynamic-branding': IDynamicBrandingState;
@@ -148,7 +145,6 @@ export interface IReduxState {
'features/noise-suppression': INoiseSuppressionState;
'features/notifications': INotificationsState;
'features/participants-pane': IParticipantsPaneState;
'features/pip': IPipState;
'features/polls': IPollsState;
'features/polls-history': IPollsHistoryState;
'features/power-monitor': IPowerMonitorState;

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