@azure/communication-react 1.5.1-alpha-202306090015 → 1.5.1-alpha-202306110015
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/communication-react.d.ts +107 -37
- package/dist/dist-cjs/communication-react/index.js +243 -98
- package/dist/dist-cjs/communication-react/index.js.map +1 -1
- package/dist/dist-esm/acs-ui-common/src/identifier.js +1 -1
- package/dist/dist-esm/acs-ui-common/src/identifier.js.map +1 -1
- package/dist/dist-esm/acs-ui-common/src/telemetryVersion.js +1 -1
- package/dist/dist-esm/acs-ui-common/src/telemetryVersion.js.map +1 -1
- package/dist/dist-esm/calling-component-bindings/src/participantListSelector.js +1 -1
- package/dist/dist-esm/calling-component-bindings/src/participantListSelector.js.map +1 -1
- package/dist/dist-esm/calling-component-bindings/src/utils/videoGalleryUtils.js +1 -1
- package/dist/dist-esm/calling-component-bindings/src/utils/videoGalleryUtils.js.map +1 -1
- package/dist/dist-esm/calling-stateful-client/src/CallClientState.d.ts +1 -1
- package/dist/dist-esm/calling-stateful-client/src/CallClientState.js.map +1 -1
- package/dist/dist-esm/calling-stateful-client/src/CallContext.js +1 -1
- package/dist/dist-esm/calling-stateful-client/src/CallContext.js.map +1 -1
- package/dist/dist-esm/calling-stateful-client/src/Converter.js +1 -1
- package/dist/dist-esm/calling-stateful-client/src/Converter.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageContent.js +6 -4
- package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageContent.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/MentionPopover.js +1 -1
- package/dist/dist-esm/react-components/src/components/MentionPopover.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/TextFieldWithMention/mentionTagUtils.d.ts +1 -0
- package/dist/dist-esm/react-components/src/components/TextFieldWithMention/mentionTagUtils.js +1 -0
- package/dist/dist-esm/react-components/src/components/TextFieldWithMention/mentionTagUtils.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/VideoGallery/FloatingLocalVideoLayout.js +6 -2
- package/dist/dist-esm/react-components/src/components/VideoGallery/FloatingLocalVideoLayout.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/VideoGallery.js +2 -1
- package/dist/dist-esm/react-components/src/components/VideoGallery.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/styles/ParticipantList.styles.js +4 -1
- package/dist/dist-esm/react-components/src/components/styles/ParticipantList.styles.js.map +1 -1
- package/dist/dist-esm/react-components/src/localization/locales/ar-SA/strings.json +332 -0
- package/dist/dist-esm/react-components/src/localization/locales/fi-FI/strings.json +332 -0
- package/dist/dist-esm/react-components/src/localization/locales/he-IL/strings.json +332 -0
- package/dist/dist-esm/react-components/src/localization/locales/index.d.ts +36 -0
- package/dist/dist-esm/react-components/src/localization/locales/index.js +42 -0
- package/dist/dist-esm/react-components/src/localization/locales/index.js.map +1 -1
- package/dist/dist-esm/react-components/src/localization/locales/nb-NO/strings.json +332 -0
- package/dist/dist-esm/react-components/src/localization/locales/pl-PL/strings.json +332 -0
- package/dist/dist-esm/react-components/src/localization/locales/sv-SE/strings.json +332 -0
- package/dist/dist-esm/react-composites/src/composites/CallComposite/CallComposite.d.ts +4 -2
- package/dist/dist-esm/react-composites/src/composites/CallComposite/CallComposite.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/AzureCommunicationCallAdapter.d.ts +5 -5
- package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/AzureCommunicationCallAdapter.js +35 -16
- package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/AzureCommunicationCallAdapter.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/CallAdapter.d.ts +8 -18
- package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/CallAdapter.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/CallComposite/components/MediaGallery.d.ts +1 -1
- package/dist/dist-esm/react-composites/src/composites/CallComposite/components/MediaGallery.js +2 -6
- package/dist/dist-esm/react-composites/src/composites/CallComposite/components/MediaGallery.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/CallComposite/components/SidePane/useVideoEffectsPane.d.ts +16 -0
- package/dist/dist-esm/react-composites/src/composites/CallComposite/components/SidePane/useVideoEffectsPane.js +5 -11
- package/dist/dist-esm/react-composites/src/composites/CallComposite/components/SidePane/useVideoEffectsPane.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/CallComposite/hooks/useHandlers.js +4 -2
- package/dist/dist-esm/react-composites/src/composites/CallComposite/hooks/useHandlers.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/CallComposite/index.d.ts +1 -1
- package/dist/dist-esm/react-composites/src/composites/CallComposite/index.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/CallPage.js +1 -1
- package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/CallPage.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/activeVideoBackgroundEffectSelector.d.ts +2 -2
- package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/activeVideoBackgroundEffectSelector.js +1 -1
- package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/activeVideoBackgroundEffectSelector.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/baseSelectors.d.ts +2 -2
- package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/baseSelectors.js +0 -1
- package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/baseSelectors.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/videoBackgroundErrorsSelector.js +0 -3
- package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/videoBackgroundErrorsSelector.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/CallComposite/utils/Utils.d.ts +2 -2
- package/dist/dist-esm/react-composites/src/composites/CallComposite/utils/Utils.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/AzureCommunicationCallWithChatAdapter.d.ts +3 -5
- package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/AzureCommunicationCallWithChatAdapter.js +3 -11
- package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/AzureCommunicationCallWithChatAdapter.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/CallWithChatAdapter.d.ts +4 -11
- package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/CallWithChatAdapter.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/CallWithChatBackedCallAdapter.d.ts +3 -5
- package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/CallWithChatBackedCallAdapter.js +2 -8
- package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/CallWithChatBackedCallAdapter.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/state/CallWithChatAdapterState.d.ts +2 -2
- package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/state/CallWithChatAdapterState.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/common/VideoEffectsPane.d.ts +2 -0
- package/dist/dist-esm/react-composites/src/composites/common/VideoEffectsPane.js +16 -5
- package/dist/dist-esm/react-composites/src/composites/common/VideoEffectsPane.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/localization/locales/ar-SA/strings.json +194 -0
- package/dist/dist-esm/react-composites/src/composites/localization/locales/fi-FI/strings.json +194 -0
- package/dist/dist-esm/react-composites/src/composites/localization/locales/he-IL/strings.json +194 -0
- package/dist/dist-esm/react-composites/src/composites/localization/locales/index.d.ts +36 -0
- package/dist/dist-esm/react-composites/src/composites/localization/locales/index.js +61 -1
- package/dist/dist-esm/react-composites/src/composites/localization/locales/index.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/localization/locales/nb-NO/strings.json +194 -0
- package/dist/dist-esm/react-composites/src/composites/localization/locales/pl-PL/strings.json +194 -0
- package/dist/dist-esm/react-composites/src/composites/localization/locales/sv-SE/strings.json +194 -0
- package/package.json +10 -8
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"CallWithChatAdapterState.js","sourceRoot":"","sources":["../../../../../../../../react-composites/src/composites/CallWithChatComposite/state/CallWithChatAdapterState.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;AAiGlC;;GAEG;AACH,MAAM,UAAU,yCAAyC,CACvD,WAAwB,EACxB,WAAwB;IAExB,MAAM,gBAAgB,GAAG,WAAW,CAAC,QAAQ,EAAE,CAAC;IAChD,MAAM,gBAAgB,GAAG,WAAW,CAAC,QAAQ,EAAE,CAAC;IAEhD,OAAO;QACL,IAAI,EAAE,gBAAgB,CAAC,IAAI;QAC3B,IAAI,EAAE,gBAAgB,CAAC,MAAM;QAC7B,MAAM,EAAE,gBAAgB,CAAC,MAAM;QAC/B,IAAI,EAAE,gBAAgB,CAAC,IAAI;QAC3B,WAAW,EAAE,gBAAgB,CAAC,WAAW;QACzC,OAAO,EAAE,gBAAgB,CAAC,OAAO;QACjC,+BAA+B,EAAE,gBAAgB,CAAC,+BAA+B;QACjF,WAAW,EAAE,gBAAgB,CAAC,WAAW;QACzC,gBAAgB,EAAE,gBAAgB,CAAC,YAAY;QAC/C,gBAAgB,EAAE,gBAAgB,CAAC,YAAY;QAC/C,+CAA+C;QAC/C,WAAW,EAAE,gBAAgB,CAAC,WAAW;QACzC,6CAA6C;QAC7C,iBAAiB,EAAE,gBAAgB,CAAC,iBAAiB;QACrD,sDAAsD;QACtD,eAAe,EAAE,gBAAgB,CAAC,eAAe;QACjD,2DAA2D;QAC3D,qBAAqB,EAAE,gBAAgB,CAAC,qBAAqB;QAC7D,2DAA2D;QAC3D,6BAA6B,EAAE,gBAAgB,CAAC,6BAA6B;KAC9E,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,iDAAiD,CAC/D,gCAA0D,EAC1D,gBAAkC;IAElC,uCACK,gCAAgC,KACnC,IAAI,EAAE,gBAAgB,CAAC,MAAM,EAC7B,gBAAgB,EAAE,gBAAgB,CAAC,YAAY;QAC/C,+CAA+C;QAC/C,WAAW,EAAE,gBAAgB,CAAC,WAAW,IACzC;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,iDAAiD,CAC/D,gCAA0D,EAC1D,gBAAkC;IAElC,uCACK,gCAAgC,KACnC,MAAM,EAAE,gBAAgB,CAAC,MAAM,EAC/B,IAAI,EAAE,gBAAgB,CAAC,IAAI,EAC3B,WAAW,EAAE,gBAAgB,CAAC,WAAW,EACzC,OAAO,EAAE,gBAAgB,CAAC,OAAO,EACjC,IAAI,EAAE,gBAAgB,CAAC,IAAI,EAC3B,+BAA+B,EAAE,gBAAgB,CAAC,+BAA+B,EACjF,WAAW,EAAE,gBAAgB,CAAC,WAAW,EACzC,gBAAgB,EAAE,gBAAgB,CAAC,YAAY;QAC/C,2DAA2D;QAC3D,qBAAqB,EAAE,gBAAgB,CAAC,qBAAqB;QAC7D,2DAA2D;QAC3D,6BAA6B,EAAE,gBAAgB,CAAC,6BAA6B,IAC7E;AACJ,CAAC","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT license.\n\nimport { CommunicationIdentifierKind } from '@azure/communication-common';\nimport { CallState, DeviceManagerState } from '@internal/calling-stateful-client';\nimport { ChatThreadClientState } from '@internal/chat-stateful-client';\nimport { CallAdapter, CallAdapterState, CallCompositePage } from '../../CallComposite';\n/* @conditional-compile-remove(video-background-effects) */\nimport { VideoBackgroundImage,
|
1
|
+
{"version":3,"file":"CallWithChatAdapterState.js","sourceRoot":"","sources":["../../../../../../../../react-composites/src/composites/CallWithChatComposite/state/CallWithChatAdapterState.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;AAiGlC;;GAEG;AACH,MAAM,UAAU,yCAAyC,CACvD,WAAwB,EACxB,WAAwB;IAExB,MAAM,gBAAgB,GAAG,WAAW,CAAC,QAAQ,EAAE,CAAC;IAChD,MAAM,gBAAgB,GAAG,WAAW,CAAC,QAAQ,EAAE,CAAC;IAEhD,OAAO;QACL,IAAI,EAAE,gBAAgB,CAAC,IAAI;QAC3B,IAAI,EAAE,gBAAgB,CAAC,MAAM;QAC7B,MAAM,EAAE,gBAAgB,CAAC,MAAM;QAC/B,IAAI,EAAE,gBAAgB,CAAC,IAAI;QAC3B,WAAW,EAAE,gBAAgB,CAAC,WAAW;QACzC,OAAO,EAAE,gBAAgB,CAAC,OAAO;QACjC,+BAA+B,EAAE,gBAAgB,CAAC,+BAA+B;QACjF,WAAW,EAAE,gBAAgB,CAAC,WAAW;QACzC,gBAAgB,EAAE,gBAAgB,CAAC,YAAY;QAC/C,gBAAgB,EAAE,gBAAgB,CAAC,YAAY;QAC/C,+CAA+C;QAC/C,WAAW,EAAE,gBAAgB,CAAC,WAAW;QACzC,6CAA6C;QAC7C,iBAAiB,EAAE,gBAAgB,CAAC,iBAAiB;QACrD,sDAAsD;QACtD,eAAe,EAAE,gBAAgB,CAAC,eAAe;QACjD,2DAA2D;QAC3D,qBAAqB,EAAE,gBAAgB,CAAC,qBAAqB;QAC7D,2DAA2D;QAC3D,6BAA6B,EAAE,gBAAgB,CAAC,6BAA6B;KAC9E,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,iDAAiD,CAC/D,gCAA0D,EAC1D,gBAAkC;IAElC,uCACK,gCAAgC,KACnC,IAAI,EAAE,gBAAgB,CAAC,MAAM,EAC7B,gBAAgB,EAAE,gBAAgB,CAAC,YAAY;QAC/C,+CAA+C;QAC/C,WAAW,EAAE,gBAAgB,CAAC,WAAW,IACzC;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,iDAAiD,CAC/D,gCAA0D,EAC1D,gBAAkC;IAElC,uCACK,gCAAgC,KACnC,MAAM,EAAE,gBAAgB,CAAC,MAAM,EAC/B,IAAI,EAAE,gBAAgB,CAAC,IAAI,EAC3B,WAAW,EAAE,gBAAgB,CAAC,WAAW,EACzC,OAAO,EAAE,gBAAgB,CAAC,OAAO,EACjC,IAAI,EAAE,gBAAgB,CAAC,IAAI,EAC3B,+BAA+B,EAAE,gBAAgB,CAAC,+BAA+B,EACjF,WAAW,EAAE,gBAAgB,CAAC,WAAW,EACzC,gBAAgB,EAAE,gBAAgB,CAAC,YAAY;QAC/C,2DAA2D;QAC3D,qBAAqB,EAAE,gBAAgB,CAAC,qBAAqB;QAC7D,2DAA2D;QAC3D,6BAA6B,EAAE,gBAAgB,CAAC,6BAA6B,IAC7E;AACJ,CAAC","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT license.\n\nimport { CommunicationIdentifierKind } from '@azure/communication-common';\nimport { CallState, DeviceManagerState } from '@internal/calling-stateful-client';\nimport { ChatThreadClientState } from '@internal/chat-stateful-client';\nimport { CallAdapter, CallAdapterState, CallCompositePage } from '../../CallComposite';\n/* @conditional-compile-remove(video-background-effects) */\nimport { VideoBackgroundImage, VideoBackgroundEffect } from '../../CallComposite';\nimport { ChatAdapter, ChatAdapterState } from '../../ChatComposite';\n/* @conditional-compile-remove(file-sharing) */\nimport { FileUploadsUiState } from '../../ChatComposite';\nimport { AdapterErrors } from '../../common/adapters';\n/* @conditional-compile-remove(unsupported-browser) */\nimport { EnvironmentInfo } from '@azure/communication-calling';\n\n/**\n * UI state pertaining to the {@link CallWithChatComposite}.\n *\n * @public\n */\nexport interface CallWithChatAdapterUiState {\n /**\n * Microphone state before a call has joined.\n *\n * @public\n */\n isLocalPreviewMicrophoneEnabled: boolean;\n /**\n * Current page of the Composite.\n *\n * @public\n */\n page: CallCompositePage;\n /* @conditional-compile-remove(file-sharing) */\n /**\n * Files being uploaded by a user in the current thread.\n * Should be set to null once the upload is complete.\n * Array of type {@link FileUploadsUiState}\n *\n * @beta\n */\n fileUploads?: FileUploadsUiState;\n /* @conditional-compile-remove(unsupported-browser) */\n /**\n * State to track whether the end user has opted in to using a\n * out of date version of a supported browser. Allows the user\n * to start a call in this state.\n *\n * @beta\n */\n unsupportedBrowserVersionsAllowed?: boolean;\n}\n\n/**\n * State from the backend services that drives {@link CallWithChatComposite}.\n *\n * @public\n */\nexport interface CallWithChatClientState {\n /** ID of the call participant using this CallWithChatAdapter. */\n userId: CommunicationIdentifierKind;\n /** Display name of the participant using this CallWithChatAdapter. */\n displayName: string | undefined;\n /** State of the current call. */\n call?: CallState;\n /** State of the current chat. */\n chat?: ChatThreadClientState;\n /** Latest call error encountered for each operation performed via the adapter. */\n latestCallErrors: AdapterErrors;\n /** Latest chat error encountered for each operation performed via the adapter. */\n latestChatErrors: AdapterErrors;\n /** State of available and currently selected devices */\n devices: DeviceManagerState;\n /** State of whether the active call is a Teams interop call */\n isTeamsCall: boolean;\n /* @conditional-compile-remove(PSTN-calls) */\n /** alternateCallerId for PSTN call */\n alternateCallerId?: string | undefined;\n /* @conditional-compile-remove(unsupported-browser) */\n /** Environment information for system adapter is made on */\n environmentInfo?: EnvironmentInfo;\n /* @conditional-compile-remove(video-background-effects) */\n /** Default set of background images for background replacement effect */\n videoBackgroundImages?: VideoBackgroundImage[];\n /* @conditional-compile-remove(video-background-effects) */\n /** State to track the selected video background effect */\n selectedVideoBackgroundEffect?: VideoBackgroundEffect;\n}\n\n/**\n * CallWithChat State is a combination of Stateful Chat and Stateful Calling clients with some\n * state specific to the CallWithChat Composite only.\n *\n * @public\n */\nexport interface CallWithChatAdapterState extends CallWithChatAdapterUiState, CallWithChatClientState {}\n\n/**\n * @private\n */\nexport function callWithChatAdapterStateFromBackingStates(\n callAdapter: CallAdapter,\n chatAdapter: ChatAdapter\n): CallWithChatAdapterState {\n const callAdapterState = callAdapter.getState();\n const chatAdapterState = chatAdapter.getState();\n\n return {\n call: callAdapterState.call,\n chat: chatAdapterState.thread,\n userId: callAdapterState.userId,\n page: callAdapterState.page,\n displayName: callAdapterState.displayName,\n devices: callAdapterState.devices,\n isLocalPreviewMicrophoneEnabled: callAdapterState.isLocalPreviewMicrophoneEnabled,\n isTeamsCall: callAdapterState.isTeamsCall,\n latestCallErrors: callAdapterState.latestErrors,\n latestChatErrors: chatAdapterState.latestErrors,\n /* @conditional-compile-remove(file-sharing) */\n fileUploads: chatAdapterState.fileUploads,\n /* @conditional-compile-remove(PSTN-calls) */\n alternateCallerId: callAdapterState.alternateCallerId,\n /* @conditional-compile-remove(unsupported-browser) */\n environmentInfo: callAdapterState.environmentInfo,\n /* @conditional-compile-remove(video-background-effects) */\n videoBackgroundImages: callAdapterState.videoBackgroundImages,\n /* @conditional-compile-remove(video-background-effects) */\n selectedVideoBackgroundEffect: callAdapterState.selectedVideoBackgroundEffect\n };\n}\n\n/**\n * @private\n */\nexport function mergeChatAdapterStateIntoCallWithChatAdapterState(\n existingCallWithChatAdapterState: CallWithChatAdapterState,\n chatAdapterState: ChatAdapterState\n): CallWithChatAdapterState {\n return {\n ...existingCallWithChatAdapterState,\n chat: chatAdapterState.thread,\n latestChatErrors: chatAdapterState.latestErrors,\n /* @conditional-compile-remove(file-sharing) */\n fileUploads: chatAdapterState.fileUploads\n };\n}\n\n/**\n * @private\n */\nexport function mergeCallAdapterStateIntoCallWithChatAdapterState(\n existingCallWithChatAdapterState: CallWithChatAdapterState,\n callAdapterState: CallAdapterState\n): CallWithChatAdapterState {\n return {\n ...existingCallWithChatAdapterState,\n userId: callAdapterState.userId,\n page: callAdapterState.page,\n displayName: callAdapterState.displayName,\n devices: callAdapterState.devices,\n call: callAdapterState.call,\n isLocalPreviewMicrophoneEnabled: callAdapterState.isLocalPreviewMicrophoneEnabled,\n isTeamsCall: callAdapterState.isTeamsCall,\n latestCallErrors: callAdapterState.latestErrors,\n /* @conditional-compile-remove(video-background-effects) */\n videoBackgroundImages: callAdapterState.videoBackgroundImages,\n /* @conditional-compile-remove(video-background-effects) */\n selectedVideoBackgroundEffect: callAdapterState.selectedVideoBackgroundEffect\n };\n}\n\"../../../../../calling-stateful-client/src\"\"../../../../../chat-stateful-client/src\""]}
|
@@ -1,5 +1,6 @@
|
|
1
1
|
/// <reference types="react" />
|
2
2
|
import { AdapterError } from './adapters';
|
3
|
+
import { ActiveVideoEffect } from '../CallComposite/components/SidePane/useVideoEffectsPane';
|
3
4
|
/**
|
4
5
|
* Pane that is used to show video effects button
|
5
6
|
* @private
|
@@ -8,5 +9,6 @@ import { AdapterError } from './adapters';
|
|
8
9
|
export declare const VideoEffectsPaneContent: (props: {
|
9
10
|
onDismissError: (error: AdapterError) => void;
|
10
11
|
activeVideoEffectError: () => AdapterError | undefined;
|
12
|
+
setActiveVideoEffect: (effect: ActiveVideoEffect) => void;
|
11
13
|
}) => JSX.Element;
|
12
14
|
//# sourceMappingURL=VideoEffectsPane.d.ts.map
|
@@ -32,6 +32,9 @@ import { localVideoSelector } from '../CallComposite/selectors/localVideoStreamS
|
|
32
32
|
*/
|
33
33
|
/** @beta */
|
34
34
|
export const VideoEffectsPaneContent = (props) => {
|
35
|
+
const { onDismissError, activeVideoEffectError,
|
36
|
+
/* @conditional-compile-remove(video-background-effects) */
|
37
|
+
setActiveVideoEffect } = props;
|
35
38
|
/* @conditional-compile-remove(video-background-effects) */
|
36
39
|
const locale = useLocale();
|
37
40
|
/* @conditional-compile-remove(video-background-effects) */
|
@@ -86,7 +89,11 @@ export const VideoEffectsPaneContent = (props) => {
|
|
86
89
|
effectName: effectKey
|
87
90
|
};
|
88
91
|
adapter.updateSelectedVideoBackgroundEffect(blurEffect);
|
89
|
-
|
92
|
+
setActiveVideoEffect({
|
93
|
+
type: 'blur',
|
94
|
+
timestamp: new Date(Date.now())
|
95
|
+
});
|
96
|
+
yield adapter.startVideoBackgroundEffect(blurEffect);
|
90
97
|
}
|
91
98
|
else if (effectKey === 'none') {
|
92
99
|
const noneEffect = {
|
@@ -102,15 +109,19 @@ export const VideoEffectsPaneContent = (props) => {
|
|
102
109
|
if (backgroundImg && backgroundImg.backgroundProps) {
|
103
110
|
const replaceEffect = {
|
104
111
|
effectName: 'replacement',
|
105
|
-
effectKey,
|
112
|
+
key: effectKey,
|
106
113
|
backgroundImageUrl: backgroundImg.backgroundProps.url
|
107
114
|
};
|
108
115
|
adapter.updateSelectedVideoBackgroundEffect(replaceEffect);
|
109
|
-
|
116
|
+
setActiveVideoEffect({
|
117
|
+
type: 'replacement',
|
118
|
+
timestamp: new Date(Date.now())
|
119
|
+
});
|
120
|
+
yield adapter.startVideoBackgroundEffect(replaceEffect);
|
110
121
|
}
|
111
122
|
}
|
112
|
-
}), [adapter, selectableVideoEffects]);
|
113
|
-
return VideoEffectsPaneTrampoline(
|
123
|
+
}), [adapter, setActiveVideoEffect, selectableVideoEffects]);
|
124
|
+
return VideoEffectsPaneTrampoline(onDismissError, activeVideoEffectError,
|
114
125
|
/* @conditional-compile-remove(video-background-effects) */
|
115
126
|
selectableVideoEffects,
|
116
127
|
/* @conditional-compile-remove(video-background-effects) */
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"VideoEffectsPane.js","sourceRoot":"","sources":["../../../../../../../react-composites/src/composites/common/VideoEffectsPane.tsx"],"names":[],"mappings":"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","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT license.\nimport React from 'react';\n/* @conditional-compile-remove(video-background-effects) */\nimport { useCallback, useMemo } from 'react';\n/* @conditional-compile-remove(video-background-effects) */\nimport { MessageBar, MessageBarType, Stack } from '@fluentui/react';\n/* @conditional-compile-remove(video-background-effects) */\nimport { useLocale } from '../localization';\nimport { _VideoEffectsItemProps } from '@internal/react-components';\n/* @conditional-compile-remove(video-background-effects) */\nimport { _VideoBackgroundEffectsPicker } from '@internal/react-components';\n/* @conditional-compile-remove(video-background-effects) */\nimport {\n VideoBackgroundImage,\n VideoBackgroundBlurEffect,\n VideoBackgroundNoEffect,\n VideoBackgroundReplacementEffect\n} from '../CallComposite';\n/* @conditional-compile-remove(video-background-effects) */\nimport { activeVideoBackgroundEffectSelector } from '../CallComposite/selectors/activeVideoBackgroundEffectSelector';\n/* @conditional-compile-remove(video-background-effects) */\nimport { useSelector } from '../CallComposite/hooks/useSelector';\n/* @conditional-compile-remove(video-background-effects) */\nimport { useAdapter } from '../CallComposite/adapter/CallAdapterProvider';\nimport { AdapterError } from './adapters';\n/* @conditional-compile-remove(video-background-effects) */\nimport { localVideoSelector } from '../CallComposite/selectors/localVideoStreamSelector';\n\n/**\n * Pane that is used to show video effects button\n * @private\n */\n/** @beta */\nexport const VideoEffectsPaneContent = (props: {\n onDismissError: (error: AdapterError) => void;\n activeVideoEffectError: () => AdapterError | undefined;\n}): JSX.Element => {\n /* @conditional-compile-remove(video-background-effects) */\n const locale = useLocale();\n /* @conditional-compile-remove(video-background-effects) */\n const adapter = useAdapter();\n /* @conditional-compile-remove(video-background-effects) */\n const strings = locale.strings.call;\n /* @conditional-compile-remove(video-background-effects) */\n const selectableVideoEffects: _VideoEffectsItemProps[] = useMemo(() => {\n const videoEffects: _VideoEffectsItemProps[] = [\n {\n itemKey: 'none',\n iconProps: {\n iconName: 'RemoveVideoBackgroundEffect'\n },\n title: strings.removeBackgroundEffectButtonLabel,\n tooltipProps: {\n content: strings.removeBackgroundTooltip\n }\n },\n {\n itemKey: 'blur',\n iconProps: {\n iconName: 'BlurVideoBackground'\n },\n title: strings.blurBackgroundEffectButtonLabel,\n tooltipProps: {\n content: strings.blurBackgroundTooltip\n }\n }\n ];\n const videoEffectImages = adapter.getState().videoBackgroundImages;\n\n if (videoEffectImages) {\n videoEffectImages.forEach((img: VideoBackgroundImage) => {\n videoEffects.push({\n itemKey: img.key,\n backgroundProps: {\n url: img.url\n },\n tooltipProps: {\n content: img.tooltipText ?? ''\n }\n });\n });\n }\n return videoEffects;\n }, [strings, adapter]);\n\n /* @conditional-compile-remove(video-background-effects) */\n const onEffectChange = useCallback(\n async (effectKey: string) => {\n if (effectKey === 'blur') {\n const blurEffect: VideoBackgroundBlurEffect = {\n effectName: effectKey\n };\n adapter.updateSelectedVideoBackgroundEffect(blurEffect);\n await adapter.blurVideoBackground();\n } else if (effectKey === 'none') {\n const noneEffect: VideoBackgroundNoEffect = {\n effectName: effectKey\n };\n adapter.updateSelectedVideoBackgroundEffect(noneEffect);\n await adapter.stopVideoBackgroundEffects();\n } else {\n const backgroundImg = selectableVideoEffects.find((effect) => {\n return effect.itemKey === effectKey;\n });\n if (backgroundImg && backgroundImg.backgroundProps) {\n const replaceEffect: VideoBackgroundReplacementEffect = {\n effectName: 'replacement',\n effectKey,\n backgroundImageUrl: backgroundImg.backgroundProps.url\n };\n adapter.updateSelectedVideoBackgroundEffect(replaceEffect);\n await adapter.replaceVideoBackground({ backgroundImageUrl: backgroundImg.backgroundProps.url });\n }\n }\n },\n [adapter, selectableVideoEffects]\n );\n return VideoEffectsPaneTrampoline(\n props.onDismissError,\n props.activeVideoEffectError,\n /* @conditional-compile-remove(video-background-effects) */\n selectableVideoEffects,\n /* @conditional-compile-remove(video-background-effects) */\n onEffectChange\n );\n};\n\nconst VideoEffectsPaneTrampoline = (\n onDismissError: (error: AdapterError) => void,\n activeVideoEffectError?: () => AdapterError | undefined,\n selectableVideoEffects?: _VideoEffectsItemProps[],\n onEffectChange?: (effectKey: string) => Promise<void>\n): JSX.Element => {\n /* @conditional-compile-remove(video-background-effects) */\n const videoEffectError = activeVideoEffectError && activeVideoEffectError();\n /* @conditional-compile-remove(video-background-effects) */\n const selectedEffect = useSelector(activeVideoBackgroundEffectSelector);\n /* @conditional-compile-remove(video-background-effects) */\n const isCameraOn = useSelector(localVideoSelector).isAvailable;\n /* @conditional-compile-remove(video-background-effects) */\n const showWarning = !isCameraOn && selectedEffect !== 'none';\n /* @conditional-compile-remove(video-background-effects) */\n const locale = useLocale();\n\n /* @conditional-compile-remove(video-background-effects) */\n return (\n <Stack horizontalAlign=\"center\">\n {videoEffectError && isCameraOn && (\n <MessageBar messageBarType={MessageBarType.error} onDismiss={() => onDismissError(videoEffectError)}>\n {locale.strings.call.unableToStartVideoEffect}\n </MessageBar>\n )}\n {showWarning && (\n <MessageBar messageBarType={MessageBarType.warning}>\n {locale.strings.call.cameraOffBackgroundEffectWarningText}\n </MessageBar>\n )}\n <_VideoBackgroundEffectsPicker\n label={locale.strings.call.videoEffectsPaneBackgroundSelectionTitle}\n styles={backgroundPickerStyles}\n options={selectableVideoEffects ?? []}\n onChange={onEffectChange}\n selectedEffectKey={selectedEffect}\n />\n </Stack>\n );\n return <></>;\n};\n\n/* @conditional-compile-remove(video-background-effects) */\nconst backgroundPickerStyles = {\n label: {\n fontSize: '0.75rem',\n lineHeight: '0.5rem',\n fontWeight: '400'\n }\n};\n\"../../../../react-components/src\""]}
|
1
|
+
{"version":3,"file":"VideoEffectsPane.js","sourceRoot":"","sources":["../../../../../../../react-composites/src/composites/common/VideoEffectsPane.tsx"],"names":[],"mappings":"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","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT license.\nimport React from 'react';\n/* @conditional-compile-remove(video-background-effects) */\nimport { useCallback, useMemo } from 'react';\n/* @conditional-compile-remove(video-background-effects) */\nimport { MessageBar, MessageBarType, Stack } from '@fluentui/react';\n/* @conditional-compile-remove(video-background-effects) */\nimport { useLocale } from '../localization';\nimport { _VideoEffectsItemProps } from '@internal/react-components';\n/* @conditional-compile-remove(video-background-effects) */\nimport { _VideoBackgroundEffectsPicker } from '@internal/react-components';\n/* @conditional-compile-remove(video-background-effects) */\nimport {\n VideoBackgroundImage,\n VideoBackgroundBlurEffect,\n VideoBackgroundNoEffect,\n VideoBackgroundReplacementEffect\n} from '../CallComposite';\n/* @conditional-compile-remove(video-background-effects) */\nimport { activeVideoBackgroundEffectSelector } from '../CallComposite/selectors/activeVideoBackgroundEffectSelector';\n/* @conditional-compile-remove(video-background-effects) */\nimport { useSelector } from '../CallComposite/hooks/useSelector';\n/* @conditional-compile-remove(video-background-effects) */\nimport { useAdapter } from '../CallComposite/adapter/CallAdapterProvider';\nimport { AdapterError } from './adapters';\n/* @conditional-compile-remove(video-background-effects) */\nimport { localVideoSelector } from '../CallComposite/selectors/localVideoStreamSelector';\nimport { ActiveVideoEffect } from '../CallComposite/components/SidePane/useVideoEffectsPane';\n\n/**\n * Pane that is used to show video effects button\n * @private\n */\n/** @beta */\nexport const VideoEffectsPaneContent = (props: {\n onDismissError: (error: AdapterError) => void;\n activeVideoEffectError: () => AdapterError | undefined;\n setActiveVideoEffect: (effect: ActiveVideoEffect) => void;\n}): JSX.Element => {\n const {\n onDismissError,\n activeVideoEffectError,\n /* @conditional-compile-remove(video-background-effects) */\n setActiveVideoEffect\n } = props;\n /* @conditional-compile-remove(video-background-effects) */\n const locale = useLocale();\n /* @conditional-compile-remove(video-background-effects) */\n const adapter = useAdapter();\n /* @conditional-compile-remove(video-background-effects) */\n const strings = locale.strings.call;\n /* @conditional-compile-remove(video-background-effects) */\n const selectableVideoEffects: _VideoEffectsItemProps[] = useMemo(() => {\n const videoEffects: _VideoEffectsItemProps[] = [\n {\n itemKey: 'none',\n iconProps: {\n iconName: 'RemoveVideoBackgroundEffect'\n },\n title: strings.removeBackgroundEffectButtonLabel,\n tooltipProps: {\n content: strings.removeBackgroundTooltip\n }\n },\n {\n itemKey: 'blur',\n iconProps: {\n iconName: 'BlurVideoBackground'\n },\n title: strings.blurBackgroundEffectButtonLabel,\n tooltipProps: {\n content: strings.blurBackgroundTooltip\n }\n }\n ];\n const videoEffectImages = adapter.getState().videoBackgroundImages;\n\n if (videoEffectImages) {\n videoEffectImages.forEach((img: VideoBackgroundImage) => {\n videoEffects.push({\n itemKey: img.key,\n backgroundProps: {\n url: img.url\n },\n tooltipProps: {\n content: img.tooltipText ?? ''\n }\n });\n });\n }\n return videoEffects;\n }, [strings, adapter]);\n\n /* @conditional-compile-remove(video-background-effects) */\n const onEffectChange = useCallback(\n async (effectKey: string) => {\n if (effectKey === 'blur') {\n const blurEffect: VideoBackgroundBlurEffect = {\n effectName: effectKey\n };\n adapter.updateSelectedVideoBackgroundEffect(blurEffect);\n setActiveVideoEffect({\n type: 'blur',\n timestamp: new Date(Date.now())\n });\n await adapter.startVideoBackgroundEffect(blurEffect);\n } else if (effectKey === 'none') {\n const noneEffect: VideoBackgroundNoEffect = {\n effectName: effectKey\n };\n adapter.updateSelectedVideoBackgroundEffect(noneEffect);\n await adapter.stopVideoBackgroundEffects();\n } else {\n const backgroundImg = selectableVideoEffects.find((effect) => {\n return effect.itemKey === effectKey;\n });\n if (backgroundImg && backgroundImg.backgroundProps) {\n const replaceEffect: VideoBackgroundReplacementEffect = {\n effectName: 'replacement',\n key: effectKey,\n backgroundImageUrl: backgroundImg.backgroundProps.url\n };\n adapter.updateSelectedVideoBackgroundEffect(replaceEffect);\n setActiveVideoEffect({\n type: 'replacement',\n timestamp: new Date(Date.now())\n });\n await adapter.startVideoBackgroundEffect(replaceEffect);\n }\n }\n },\n [adapter, setActiveVideoEffect, selectableVideoEffects]\n );\n return VideoEffectsPaneTrampoline(\n onDismissError,\n activeVideoEffectError,\n /* @conditional-compile-remove(video-background-effects) */\n selectableVideoEffects,\n /* @conditional-compile-remove(video-background-effects) */\n onEffectChange\n );\n};\n\nconst VideoEffectsPaneTrampoline = (\n onDismissError: (error: AdapterError) => void,\n activeVideoEffectError?: () => AdapterError | undefined,\n selectableVideoEffects?: _VideoEffectsItemProps[],\n onEffectChange?: (effectKey: string) => Promise<void>\n): JSX.Element => {\n /* @conditional-compile-remove(video-background-effects) */\n const videoEffectError = activeVideoEffectError && activeVideoEffectError();\n /* @conditional-compile-remove(video-background-effects) */\n const selectedEffect = useSelector(activeVideoBackgroundEffectSelector);\n /* @conditional-compile-remove(video-background-effects) */\n const isCameraOn = useSelector(localVideoSelector).isAvailable;\n /* @conditional-compile-remove(video-background-effects) */\n const showWarning = !isCameraOn && selectedEffect !== 'none';\n /* @conditional-compile-remove(video-background-effects) */\n const locale = useLocale();\n\n /* @conditional-compile-remove(video-background-effects) */\n return (\n <Stack horizontalAlign=\"center\">\n {videoEffectError && isCameraOn && (\n <MessageBar messageBarType={MessageBarType.error} onDismiss={() => onDismissError(videoEffectError)}>\n {locale.strings.call.unableToStartVideoEffect}\n </MessageBar>\n )}\n {showWarning && (\n <MessageBar messageBarType={MessageBarType.warning}>\n {locale.strings.call.cameraOffBackgroundEffectWarningText}\n </MessageBar>\n )}\n <_VideoBackgroundEffectsPicker\n label={locale.strings.call.videoEffectsPaneBackgroundSelectionTitle}\n styles={backgroundPickerStyles}\n options={selectableVideoEffects ?? []}\n onChange={onEffectChange}\n selectedEffectKey={selectedEffect}\n />\n </Stack>\n );\n return <></>;\n};\n\n/* @conditional-compile-remove(video-background-effects) */\nconst backgroundPickerStyles = {\n label: {\n fontSize: '0.75rem',\n lineHeight: '0.5rem',\n fontWeight: '400'\n }\n};\n\"../../../../react-components/src\""]}
|
@@ -0,0 +1,194 @@
|
|
1
|
+
{
|
2
|
+
"call": {
|
3
|
+
"cameraLabel": "الكاميرا",
|
4
|
+
"noCamerasLabel": "لا توجد أي كاميرات",
|
5
|
+
"cameraPermissionDenied": "يقوم المستعرض بحظر الوصول إلى الكاميرا",
|
6
|
+
"cameraTurnedOff": "تم إيقاف تشغيل الكاميرا",
|
7
|
+
"chatButtonLabel": "دردشة",
|
8
|
+
"close": "إغلاق",
|
9
|
+
"complianceBannerNowOnlyRecording": "أنت الآن تسجل هذا الاجتماع فقط.",
|
10
|
+
"complianceBannerNowOnlyTranscription": "أنت الآن تقوم فقط بكتابة الحديث لهذا الاجتماع.",
|
11
|
+
"complianceBannerRecordingAndTranscriptionSaved": "يتم حفظ التسجيل وكتابة الحديث.",
|
12
|
+
"complianceBannerRecordingAndTranscriptionStarted": "بدء التسجيل والنسخ. ",
|
13
|
+
"complianceBannerRecordingAndTranscriptionStopped": "التسجيل وكتابة الحديث متوقفان.",
|
14
|
+
"complianceBannerRecordingSaving": "يتم حفظ التسجيل.",
|
15
|
+
"complianceBannerRecordingStarted": "تم بدء التسجيل.",
|
16
|
+
"complianceBannerRecordingStopped": "تم إيقاف التسجيل.",
|
17
|
+
"complianceBannerTranscriptionStarted": "كتابة الحديث مبدوءة.",
|
18
|
+
"complianceBannerTranscriptionConsent": "من خلال الانضمام، فأنت توافق على كتابة هذا الاجتماع.",
|
19
|
+
"complianceBannerTranscriptionSaving": "يتم حفظ كتابة الحديث.",
|
20
|
+
"complianceBannerTranscriptionStopped": "توقفت كتابة الحديث.",
|
21
|
+
"configurationPageTitle": "بدء مكالمة",
|
22
|
+
"copyInviteLinkButtonLabel": "نسخ ارتباط دعوة",
|
23
|
+
"copyInviteLinkActionedAriaLabel": "تم نسخ ارتباط الدعوة",
|
24
|
+
"defaultPlaceHolder": "تحديد خيار",
|
25
|
+
"dismissSidePaneButtonLabel": "إغلاق",
|
26
|
+
"videoEffectsPaneTitle": "التأثيرات",
|
27
|
+
"videoEffectsPaneBackgroundSelectionTitle": "الخلفية",
|
28
|
+
"configurationPageVideoEffectsButtonLabel": "التأثيرات",
|
29
|
+
"unableToStartVideoEffect": "يتعذر تطبيق تأثير الفيديو.",
|
30
|
+
"blurBackgroundEffectButtonLabel": "تمويه",
|
31
|
+
"blurBackgroundTooltip": "تمويه الخلفية",
|
32
|
+
"removeBackgroundEffectButtonLabel": "لا شيء",
|
33
|
+
"removeBackgroundTooltip": "إزالة الخلفية",
|
34
|
+
"cameraOffBackgroundEffectWarningText": "الكاميرا قيد الإيقاف. قم بتشغيل الكاميرا لمشاهدة تأثير الفيديو.",
|
35
|
+
"failedToJoinCallDueToNoNetworkMoreDetails": "تم قطع الاتصال بسبب مشكلة في الشبكة. تحقق من اتصالك وانضم مرة أخرى.",
|
36
|
+
"failedToJoinCallDueToNoNetworkTitle": "تم قطع اتصال المكالمة",
|
37
|
+
"failedToJoinTeamsMeetingReasonAccessDeniedMoreDetails": "لم يتم منحك إدخالا في المكالمة. إذا كان هذا خطأ، فعاود الانضمام إلى المكالمة.",
|
38
|
+
"failedToJoinTeamsMeetingReasonAccessDeniedTitle": "تم التجاهل من ساحة الانتظار",
|
39
|
+
"learnMore": "تعرّف على المزيد",
|
40
|
+
"leftCallMoreDetails": "إذا كان هذا خطأ، فعاود الانضمام إلى المكالمة.",
|
41
|
+
"leftCallTitle": "قمت بمغادرة المكالمة",
|
42
|
+
"lobbyScreenConnectingToCallTitle": "جارٍ الانضمام إلى مكالمة",
|
43
|
+
"lobbyScreenWaitingToBeAdmittedTitle": "في انتظار السماح",
|
44
|
+
"microphonePermissionDenied": "يقوم المستعرض بحظر الوصول إلى الميكروفون",
|
45
|
+
"microphoneToggleInLobbyNotAllowed": "لا يمكن كتم الصوت أو إلغاء كتمه أثناء وجودك في ساحة الانتظار.",
|
46
|
+
"mutedMessage": "تم كتم صوتك",
|
47
|
+
"networkReconnectMoreDetails": "يبدو أنه قد حدث خطأ ما. نحاول معاودة الاتصال.",
|
48
|
+
"networkReconnectTitle": "انتظار",
|
49
|
+
"deniedPermissionToRoomDetails": "ليس لديك الإذن بالانضمام إلى هذه الغرفة.",
|
50
|
+
"deniedPermissionToRoomTitle": "تم رفض الإذن بالغرفة",
|
51
|
+
"peopleButtonLabel": "الأشخاص",
|
52
|
+
"peoplePaneTitle": "الأشخاص",
|
53
|
+
"peopleButtonTooltipOpen": "إظهار المشاركين",
|
54
|
+
"peopleButtonTooltipClose": "إخفاء المشاركين",
|
55
|
+
"peoplePaneSubTitle": "في هذه المكالمة",
|
56
|
+
"privacyPolicy": "نهج الخصوصية",
|
57
|
+
"rejoinCallButtonLabel": "الانضمام إلى المكالمة",
|
58
|
+
"removedFromCallMoreDetails": "قام مشارك آخر بإزالتك من المكالمة.",
|
59
|
+
"removedFromCallTitle": "تمت إزالتك",
|
60
|
+
"removeMenuLabel": "إزالة",
|
61
|
+
"returnToCallButtonAriaDescription": "رجوع إلى المكالمة",
|
62
|
+
"returnToCallButtonAriaLabel": "رجوع",
|
63
|
+
"roomNotFoundDetails": "معرف الغرفة الذي تم توفيره غير صالح.",
|
64
|
+
"roomNotFoundTitle": "لم يتم العثور على الغرفة",
|
65
|
+
"soundLabel": "صوت",
|
66
|
+
"noMicrophonesLabel": "لم يتم العثور على ميكروفونات",
|
67
|
+
"noSpeakersLabel": "لم يتم العثور على سماعات",
|
68
|
+
"startCallButtonLabel": "بدء مكالمة",
|
69
|
+
"openDialpadButtonLabel": "اطلب رقم الهاتف",
|
70
|
+
"peoplePaneAddPeopleButtonLabel": "إضافة أشخاص",
|
71
|
+
"dialpadStartCallButtonLabel": "مكالمة",
|
72
|
+
"dialpadModalTitle": "اطلب رقم الهاتف",
|
73
|
+
"dialpadModalAriaLabel": "لوحة الطلب",
|
74
|
+
"dialpadCloseModalButtonAriaLabel": "إغلاق لوحة الطلب",
|
75
|
+
"moreButtonCallingLabel": "المزيد",
|
76
|
+
"resumeCallButtonLabel": "استئناف",
|
77
|
+
"resumingCallButtonLabel": "يتم الآن الاستئناف...",
|
78
|
+
"resumeCallButtonAriaLabel": "استئناف المكالمة",
|
79
|
+
"resumingCallButtonAriaLabel": "استئناف المكالمة",
|
80
|
+
"holdScreenLabel": "أنت قيد الانتظار",
|
81
|
+
"openDtmfDialpadLabel": "عرض لوحة الطلب",
|
82
|
+
"dtmfDialpadPlaceholderText": "أدخل عدداً",
|
83
|
+
"outboundCallingNoticeString": "يتم الآن الاتصال...",
|
84
|
+
"participantJoinedNoticeString": "انضم {displayName}",
|
85
|
+
"twoParticipantJoinedNoticeString": "انضم {displayName1} و{displayName2}",
|
86
|
+
"threeParticipantJoinedNoticeString": "انضم {displayName1} و{displayName2} و{displayName3}",
|
87
|
+
"participantLeftNoticeString": "غادر {displayName}",
|
88
|
+
"twoParticipantLeftNoticeString": "غادر {displayName1} و{displayName2}",
|
89
|
+
"threeParticipantLeftNoticeString": "غادر {displayName1} و{displayName2} و{displayName3}",
|
90
|
+
"unnamedParticipantString": "مشارك غير مسمى",
|
91
|
+
"manyUnnamedParticipantsJoined": "انضم مشارك غير مسمى و{numOfParticipants} من المشاركين الآخرين",
|
92
|
+
"manyUnnamedParticipantsLeft": "غادر مشارك غير مسمى و{numOfParticipants} من المشاركين الآخرين",
|
93
|
+
"manyParticipantsJoined": "انضم {displayName1} {displayName2} {displayName3} {numOfParticipants} مشاركين آخرين",
|
94
|
+
"manyParticipantsLeft": "غادر {displayName1} {displayName2} {displayName3} والمشاركون الآخرون {numOfParticipants}",
|
95
|
+
"liveCaptionsLabel": "نص الكلام مباشرةً",
|
96
|
+
"captionsSettingsLabel": "إعدادات نص الكلام",
|
97
|
+
"startCaptionsButtonOnLabel": "تمكين نص الكلام",
|
98
|
+
"startCaptionsButtonOffLabel": "تعطيل نص الكلام",
|
99
|
+
"startCaptionsButtonTooltipOnContent": "تعطيل نص الكلام",
|
100
|
+
"startCaptionsButtonTooltipOffContent": "تمكين نص الكلام",
|
101
|
+
"captionsSettingsModalTitle": "ما اللغة التي يتم التحدث بها؟",
|
102
|
+
"captionsSettingsDropdownLabel": "اللغة المنطوقة",
|
103
|
+
"captionsSettingsDropdownInfoText": "اللغة التي يتحدث بها كل شخص في هذه المكالمة.",
|
104
|
+
"captionsSettingsConfirmButtonLabel": "تأكيد",
|
105
|
+
"captionsSettingsCancelButtonLabel": "إلغاء",
|
106
|
+
"captionsSettingsModalAriaLabel": "مربع حوار إعدادات نص الكلام المشروط",
|
107
|
+
"captionsSettingsCloseModalButtonAriaLabel": "إغلاق إعداد نص الكلام",
|
108
|
+
"captionsBannerMoreButtonCallingLabel": "المزيد",
|
109
|
+
"captionsBannerMoreButtonTooltip": "خيارات إضافية",
|
110
|
+
"captionsAvailableLanguageStrings": {
|
111
|
+
"ar-ae": "العربية - الإمارات العربية المتحدة",
|
112
|
+
"ar-sa": "العربية - السعودية",
|
113
|
+
"da-dk": "الدانمركية",
|
114
|
+
"de-de": "الألمانية - ألمانيا",
|
115
|
+
"en-au": "الإنجليزية - أستراليا",
|
116
|
+
"en-ca": "الإنجليزية - كندا",
|
117
|
+
"en-gb": "الإنجليزية - المملكة المتحدة",
|
118
|
+
"en-in": "الإنجليزية - الهند",
|
119
|
+
"en-nz": "الإنجليزية - نيوزيلندا",
|
120
|
+
"en-us": "الإنجليزية - الولايات المتحدة",
|
121
|
+
"es-es": "الإسبانية - إسبانيا (فرز حديث)",
|
122
|
+
"es-mx": "الإسبانية - المكسيك",
|
123
|
+
"fi-fi": "الفنلندية",
|
124
|
+
"fr-ca": "الفرنسية - كندا",
|
125
|
+
"fr-fr": "الفرنسية - فرنسا",
|
126
|
+
"hi-in": "الهندية",
|
127
|
+
"it-it": "الإيطالية - إيطاليا",
|
128
|
+
"ja-jp": "اليابانية",
|
129
|
+
"ko-kr": "الكورية",
|
130
|
+
"nb-no": "النرويجية (بوكمال)",
|
131
|
+
"nl-be": "الهولندية - بلجيكا",
|
132
|
+
"nl-nl": "الهولندية - هولندا",
|
133
|
+
"pl-pl": "البولندية",
|
134
|
+
"pt-br": "البرتغالية - البرازيل",
|
135
|
+
"ru-ru": "الروسية",
|
136
|
+
"sv-se": "السويدية",
|
137
|
+
"zh-cn": "الصينية - جمهورية الصين الشعبية",
|
138
|
+
"zh-hk": "الصينية - منطقة هونغ كونغ الإدارية الخاصة",
|
139
|
+
"cs-cz": "التشيكية",
|
140
|
+
"pt-pt": "البرتغالية - البرتغال",
|
141
|
+
"tr-tr": "التركية",
|
142
|
+
"vi-vn": "الفيتنامية",
|
143
|
+
"th-th": "التايلاندية",
|
144
|
+
"he-il": "العبرية",
|
145
|
+
"cy-gb": "الويلزية",
|
146
|
+
"uk-ua": "الأوكرانية",
|
147
|
+
"el-gr": "اليونانية",
|
148
|
+
"hu-hu": "الهنغارية",
|
149
|
+
"ro-ro": "الرومانية",
|
150
|
+
"sk-sk": "السلوفاكية",
|
151
|
+
"zh-tw": "الصينية - تايوان"
|
152
|
+
},
|
153
|
+
"captionsBannerSpinnerText": "يتم الآن بدء التسميات التوضيحية..."
|
154
|
+
},
|
155
|
+
"chat": {
|
156
|
+
"chatListHeader": "في هذه الدردشة",
|
157
|
+
"uploadFile": "تحميل ملف"
|
158
|
+
},
|
159
|
+
"callWithChat": {
|
160
|
+
"chatButtonLabel": "دردشة",
|
161
|
+
"chatButtonNewMessageNotificationLabel": "رسالة جديدة",
|
162
|
+
"chatButtonTooltipClosedWithMessageCount": "إظهار الدردشة ({unreadMessagesCount} غير مقروءة)",
|
163
|
+
"chatButtonTooltipClose": "إخفاء الدردشة",
|
164
|
+
"chatButtonTooltipOpen": "إظهار الدردشة",
|
165
|
+
"chatPaneTitle": "دردشة",
|
166
|
+
"copyInviteLinkButtonLabel": "نسخ ارتباط دعوة",
|
167
|
+
"copyInviteLinkActionedAriaLabel": "تم نسخ ارتباط الدعوة",
|
168
|
+
"dismissSidePaneButtonLabel": "إغلاق",
|
169
|
+
"moreDrawerAudioDeviceMenuTitle": "جهاز صوت",
|
170
|
+
"moreDrawerButtonLabel": "المزيد من الخيارات",
|
171
|
+
"moreDrawerButtonTooltip": "المزيد من الخيارات",
|
172
|
+
"moreDrawerMicrophoneMenuTitle": "الميكروفون",
|
173
|
+
"moreDrawerSpeakerMenuTitle": "مكبر الصوت",
|
174
|
+
"moreDrawerCaptionsMenuTitle": "نص الكلام مباشرةً",
|
175
|
+
"moreDrawerSpokenLanguageMenuTitle": "اللغة المنطوقة",
|
176
|
+
"peopleButtonLabel": "الأشخاص",
|
177
|
+
"peopleButtonTooltipOpen": "إظهار المشاركين",
|
178
|
+
"peopleButtonTooltipClose": "إخفاء المشاركين",
|
179
|
+
"peoplePaneSubTitle": "في هذه المكالمة",
|
180
|
+
"peoplePaneTitle": "الأشخاص",
|
181
|
+
"pictureInPictureTileAriaLabel": "موجزات الفيديو. انقر للعودة إلى شاشة المكالمة.",
|
182
|
+
"removeMenuLabel": "إزالة",
|
183
|
+
"openDialpadButtonLabel": "اطلب رقم الهاتف",
|
184
|
+
"returnToCallButtonAriaDescription": "رجوع إلى المكالمة",
|
185
|
+
"returnToCallButtonAriaLabel": "رجوع",
|
186
|
+
"peoplePaneAddPeopleButtonLabel": "إضافة أشخاص",
|
187
|
+
"dialpadStartCallButtonLabel": "مكالمة",
|
188
|
+
"dialpadModalTitle": "اطلب رقم الهاتف",
|
189
|
+
"dialpadModalAriaLabel": "لوحة الطلب",
|
190
|
+
"dialpadCloseModalButtonAriaLabel": "إغلاق لوحة الطلب",
|
191
|
+
"openDtmfDialpadLabel": "عرض لوحة الطلب",
|
192
|
+
"dtmfDialpadPlaceholderText": "أدخل عدداً"
|
193
|
+
}
|
194
|
+
}
|
@@ -0,0 +1,194 @@
|
|
1
|
+
{
|
2
|
+
"call": {
|
3
|
+
"cameraLabel": "Kamera",
|
4
|
+
"noCamerasLabel": "Kameroita ei löytynyt",
|
5
|
+
"cameraPermissionDenied": "Selaimesi estää kameran käytön",
|
6
|
+
"cameraTurnedOff": "Kamerasi on pois käytöstä",
|
7
|
+
"chatButtonLabel": "Keskustelu",
|
8
|
+
"close": "Sulje",
|
9
|
+
"complianceBannerNowOnlyRecording": "Tallennetta ollaan luomassa vain tästä kokouksesta.",
|
10
|
+
"complianceBannerNowOnlyTranscription": "Transkriptiota ollaan luomassa vain tästä kokouksesta.",
|
11
|
+
"complianceBannerRecordingAndTranscriptionSaved": "Tallennusta ja transkriptiota tallennetaan.",
|
12
|
+
"complianceBannerRecordingAndTranscriptionStarted": "Tallentaminen ja litterointi on aloitettu.",
|
13
|
+
"complianceBannerRecordingAndTranscriptionStopped": "Tallentaminen ja litterointi on pysäytetty.",
|
14
|
+
"complianceBannerRecordingSaving": "Tallennetta tallennetaan.",
|
15
|
+
"complianceBannerRecordingStarted": "Tallentaminen on aloitettu.",
|
16
|
+
"complianceBannerRecordingStopped": "Tallentaminen on pysäytetty.",
|
17
|
+
"complianceBannerTranscriptionStarted": "Transkriptio on aloitettu.",
|
18
|
+
"complianceBannerTranscriptionConsent": "Liittymällä annat suostumuksesi kokouksen litteroimiseen.",
|
19
|
+
"complianceBannerTranscriptionSaving": "Transkriptiota tallennetaan.",
|
20
|
+
"complianceBannerTranscriptionStopped": "Transkriptio on pysäytetty.",
|
21
|
+
"configurationPageTitle": "Aloita puhelu",
|
22
|
+
"copyInviteLinkButtonLabel": "Kopioi kutsulinkki",
|
23
|
+
"copyInviteLinkActionedAriaLabel": "Kutsulinkki kopioitu",
|
24
|
+
"defaultPlaceHolder": "Valitse vaihtoehto",
|
25
|
+
"dismissSidePaneButtonLabel": "Sulje",
|
26
|
+
"videoEffectsPaneTitle": "Tehosteet",
|
27
|
+
"videoEffectsPaneBackgroundSelectionTitle": "Tausta",
|
28
|
+
"configurationPageVideoEffectsButtonLabel": "Tehosteet",
|
29
|
+
"unableToStartVideoEffect": "Videotehosteen käyttäminen ei onnistu.",
|
30
|
+
"blurBackgroundEffectButtonLabel": "Sumenna",
|
31
|
+
"blurBackgroundTooltip": "Sumenna tausta",
|
32
|
+
"removeBackgroundEffectButtonLabel": "Ei mitään",
|
33
|
+
"removeBackgroundTooltip": "Poista tausta",
|
34
|
+
"cameraOffBackgroundEffectWarningText": "Kamera ei ole käytössä. Ota kamera käyttöön nähdäksesi videotehosteen.",
|
35
|
+
"failedToJoinCallDueToNoNetworkMoreDetails": "Puhelu katkaistiin verkko-ongelman vuoksi. Tarkista yhteys ja liity uudelleen.",
|
36
|
+
"failedToJoinCallDueToNoNetworkTitle": "Puhelu on katkennut",
|
37
|
+
"failedToJoinTeamsMeetingReasonAccessDeniedMoreDetails": "Sinulle ei myönnetty puheluun merkintää. Jos tämä oli virhe, liity puheluun uudelleen.",
|
38
|
+
"failedToJoinTeamsMeetingReasonAccessDeniedTitle": "Poistettu odotustilasta",
|
39
|
+
"learnMore": "Lisätietoja",
|
40
|
+
"leftCallMoreDetails": "Jos tämä oli virhe, liity puheluun uudelleen.",
|
41
|
+
"leftCallTitle": "Poistuit puhelusta",
|
42
|
+
"lobbyScreenConnectingToCallTitle": "Liitytään puheluun",
|
43
|
+
"lobbyScreenWaitingToBeAdmittedTitle": "Odotetaan hyväksymistä mukaan kokoukseen",
|
44
|
+
"microphonePermissionDenied": "Selaimesi estää mikrofonin käytön",
|
45
|
+
"microphoneToggleInLobbyNotAllowed": "Mykistämistoimintoa ei voi käyttää odotustilassa.",
|
46
|
+
"mutedMessage": "Mikrofonisi on mykistetty",
|
47
|
+
"networkReconnectMoreDetails": "Vaikuttaa siltä, että tapahtui virhe. Sinua yritetään saada takaisin mukaan puheluun.",
|
48
|
+
"networkReconnectTitle": "Odota",
|
49
|
+
"deniedPermissionToRoomDetails": "Sinulla ei ole oikeutta liittyä tähän ryhmään.",
|
50
|
+
"deniedPermissionToRoomTitle": "Lupaa tilan käyttöön ei myönnetty",
|
51
|
+
"peopleButtonLabel": "Ihmiset",
|
52
|
+
"peoplePaneTitle": "Ihmiset",
|
53
|
+
"peopleButtonTooltipOpen": "Näytä osallistujat",
|
54
|
+
"peopleButtonTooltipClose": "Piilota osallistujat",
|
55
|
+
"peoplePaneSubTitle": "Tässä puhelussa",
|
56
|
+
"privacyPolicy": "Tietosuojakäytännöt",
|
57
|
+
"rejoinCallButtonLabel": "Liity uudelleen puheluun",
|
58
|
+
"removedFromCallMoreDetails": "Toinen osallistuja poisti sinut puhelusta.",
|
59
|
+
"removedFromCallTitle": "Sinut on poistettu",
|
60
|
+
"removeMenuLabel": "Poista",
|
61
|
+
"returnToCallButtonAriaDescription": "Palaa puheluun",
|
62
|
+
"returnToCallButtonAriaLabel": "Takaisin",
|
63
|
+
"roomNotFoundDetails": "Annettu tilan tunnus ei kelpaa.",
|
64
|
+
"roomNotFoundTitle": "Tilaa ei löytynyt",
|
65
|
+
"soundLabel": "Ääni",
|
66
|
+
"noMicrophonesLabel": "Mikrofoneja ei löytynyt",
|
67
|
+
"noSpeakersLabel": "Kaiuttimia ei löytynyt",
|
68
|
+
"startCallButtonLabel": "Aloita puhelu",
|
69
|
+
"openDialpadButtonLabel": "Valitse puhelinnumero",
|
70
|
+
"peoplePaneAddPeopleButtonLabel": "Lisää ihmisiä",
|
71
|
+
"dialpadStartCallButtonLabel": "Soita",
|
72
|
+
"dialpadModalTitle": "Valitse puhelinnumero",
|
73
|
+
"dialpadModalAriaLabel": "Valintapaneeli",
|
74
|
+
"dialpadCloseModalButtonAriaLabel": "Sulje valintapaneeli",
|
75
|
+
"moreButtonCallingLabel": "Lisää",
|
76
|
+
"resumeCallButtonLabel": "Jatka",
|
77
|
+
"resumingCallButtonLabel": "Jatketaan...",
|
78
|
+
"resumeCallButtonAriaLabel": "Jatka puhelua",
|
79
|
+
"resumingCallButtonAriaLabel": "Jatka puhelua",
|
80
|
+
"holdScreenLabel": "Olet pidossa",
|
81
|
+
"openDtmfDialpadLabel": "Näytä valintapaneeli",
|
82
|
+
"dtmfDialpadPlaceholderText": "Syötä numero",
|
83
|
+
"outboundCallingNoticeString": "Soitetaan...",
|
84
|
+
"participantJoinedNoticeString": "{displayName} liittyi",
|
85
|
+
"twoParticipantJoinedNoticeString": "{displayName1} ja {displayName2} ovat liittyneet",
|
86
|
+
"threeParticipantJoinedNoticeString": "{displayName1}, {displayName2} ja {displayName3} ovat liittyneet",
|
87
|
+
"participantLeftNoticeString": "{displayName} poistui",
|
88
|
+
"twoParticipantLeftNoticeString": "{displayName1} ja {displayName2} ovat poistuneet",
|
89
|
+
"threeParticipantLeftNoticeString": "{displayName1}, {displayName2} ja {displayName3} ovat poistuneet",
|
90
|
+
"unnamedParticipantString": "nimetön osallistuja",
|
91
|
+
"manyUnnamedParticipantsJoined": "nimetön osallistuja ja {numOfParticipants} muuta osallistujaa liittyi",
|
92
|
+
"manyUnnamedParticipantsLeft": "nimetön osallistuja ja {numOfParticipants} muuta osallistujaa poistuivat",
|
93
|
+
"manyParticipantsJoined": "{displayName1}, {displayName2}, {displayName3} ja {numOfParticipants} muuta osallistujaa liittyivät",
|
94
|
+
"manyParticipantsLeft": "{displayName1}, {displayName2}, {displayName3} ja {numOfParticipants} muuta osallistujaa poistuivat",
|
95
|
+
"liveCaptionsLabel": "Live-tekstitykset",
|
96
|
+
"captionsSettingsLabel": "Tekstitysasetukset",
|
97
|
+
"startCaptionsButtonOnLabel": "Ota tekstitykset käyttöön",
|
98
|
+
"startCaptionsButtonOffLabel": "Poista tekstitykset käytöstä",
|
99
|
+
"startCaptionsButtonTooltipOnContent": "Poista tekstitykset käytöstä",
|
100
|
+
"startCaptionsButtonTooltipOffContent": "Ota tekstitykset käyttöön",
|
101
|
+
"captionsSettingsModalTitle": "Mitä kieltä puhutaan?",
|
102
|
+
"captionsSettingsDropdownLabel": "Puhuttu kieli",
|
103
|
+
"captionsSettingsDropdownInfoText": "Kieli, jota kaikki tähän puheluun osallistuvat puhuvat.",
|
104
|
+
"captionsSettingsConfirmButtonLabel": "Vahvista",
|
105
|
+
"captionsSettingsCancelButtonLabel": "Peruuta",
|
106
|
+
"captionsSettingsModalAriaLabel": "Tekstitysasetus, modaalinen valintaikkuna",
|
107
|
+
"captionsSettingsCloseModalButtonAriaLabel": "Sulje tekstitysasetus",
|
108
|
+
"captionsBannerMoreButtonCallingLabel": "Lisää",
|
109
|
+
"captionsBannerMoreButtonTooltip": "Lisää vaihtoehtoja",
|
110
|
+
"captionsAvailableLanguageStrings": {
|
111
|
+
"ar-ae": "arabia – Arabiemiirikunnat",
|
112
|
+
"ar-sa": "arabia – Saudi-Arabia",
|
113
|
+
"da-dk": "tanska",
|
114
|
+
"de-de": "saksa – Saksa",
|
115
|
+
"en-au": "englanti – Australia",
|
116
|
+
"en-ca": "englanti – Kanada",
|
117
|
+
"en-gb": "englanti – Yhdistynyt kuningaskunta",
|
118
|
+
"en-in": "englanti – Intia",
|
119
|
+
"en-nz": "englanti – Uusi-Seelanti",
|
120
|
+
"en-us": "englanti – Yhdysvallat",
|
121
|
+
"es-es": "espanja – Espanja (nykykieli)",
|
122
|
+
"es-mx": "espanja – Meksiko",
|
123
|
+
"fi-fi": "suomi",
|
124
|
+
"fr-ca": "ranska – Kanada",
|
125
|
+
"fr-fr": "ranska – Ranska",
|
126
|
+
"hi-in": "hindi",
|
127
|
+
"it-it": "italia – Italia",
|
128
|
+
"ja-jp": "japani",
|
129
|
+
"ko-kr": "korea",
|
130
|
+
"nb-no": "norja (bokmål)",
|
131
|
+
"nl-be": "hollanti – Belgia",
|
132
|
+
"nl-nl": "hollanti – Alankomaat",
|
133
|
+
"pl-pl": "puola",
|
134
|
+
"pt-br": "portugali – Brasilia",
|
135
|
+
"ru-ru": "venäjä",
|
136
|
+
"sv-se": "ruotsi",
|
137
|
+
"zh-cn": "kiina – Kiinan kansantasavalta",
|
138
|
+
"zh-hk": "kiina – Hongkong, erityishallintoalue",
|
139
|
+
"cs-cz": "tšekki",
|
140
|
+
"pt-pt": "portugali – Portugali",
|
141
|
+
"tr-tr": "turkki",
|
142
|
+
"vi-vn": "vietnam",
|
143
|
+
"th-th": "thai",
|
144
|
+
"he-il": "heprea",
|
145
|
+
"cy-gb": "kymri",
|
146
|
+
"uk-ua": "ukraina",
|
147
|
+
"el-gr": "kreikka",
|
148
|
+
"hu-hu": "unkari",
|
149
|
+
"ro-ro": "romania",
|
150
|
+
"sk-sk": "slovakki",
|
151
|
+
"zh-tw": "kiina – Taiwan"
|
152
|
+
},
|
153
|
+
"captionsBannerSpinnerText": "Aloitetaan tekstitystä..."
|
154
|
+
},
|
155
|
+
"chat": {
|
156
|
+
"chatListHeader": "Tässä keskustelussa",
|
157
|
+
"uploadFile": "Lataa tiedosto palvelimeen"
|
158
|
+
},
|
159
|
+
"callWithChat": {
|
160
|
+
"chatButtonLabel": "Keskustelu",
|
161
|
+
"chatButtonNewMessageNotificationLabel": "Uusi viesti",
|
162
|
+
"chatButtonTooltipClosedWithMessageCount": "Näytä keskustelu ({unreadMessagesCount} lukematonta viestiä)",
|
163
|
+
"chatButtonTooltipClose": "Piilota keskustelu",
|
164
|
+
"chatButtonTooltipOpen": "Näytä keskustelu",
|
165
|
+
"chatPaneTitle": "Keskustelu",
|
166
|
+
"copyInviteLinkButtonLabel": "Kopioi kutsulinkki",
|
167
|
+
"copyInviteLinkActionedAriaLabel": "Kutsulinkki kopioitu",
|
168
|
+
"dismissSidePaneButtonLabel": "Sulje",
|
169
|
+
"moreDrawerAudioDeviceMenuTitle": "Äänilaite",
|
170
|
+
"moreDrawerButtonLabel": "Lisää vaihtoehtoja",
|
171
|
+
"moreDrawerButtonTooltip": "Lisää vaihtoehtoja",
|
172
|
+
"moreDrawerMicrophoneMenuTitle": "Mikrofoni",
|
173
|
+
"moreDrawerSpeakerMenuTitle": "Kaiutin",
|
174
|
+
"moreDrawerCaptionsMenuTitle": "Live-tekstitykset",
|
175
|
+
"moreDrawerSpokenLanguageMenuTitle": "Puhuttu kieli",
|
176
|
+
"peopleButtonLabel": "Ihmiset",
|
177
|
+
"peopleButtonTooltipOpen": "Näytä osallistujat",
|
178
|
+
"peopleButtonTooltipClose": "Piilota osallistujat",
|
179
|
+
"peoplePaneSubTitle": "Tässä puhelussa",
|
180
|
+
"peoplePaneTitle": "Ihmiset",
|
181
|
+
"pictureInPictureTileAriaLabel": "Videosyötteet. Palaa puhelunäyttöön napsauttamalla.",
|
182
|
+
"removeMenuLabel": "Poista",
|
183
|
+
"openDialpadButtonLabel": "Valitse puhelinnumero",
|
184
|
+
"returnToCallButtonAriaDescription": "Palaa puheluun",
|
185
|
+
"returnToCallButtonAriaLabel": "Takaisin",
|
186
|
+
"peoplePaneAddPeopleButtonLabel": "Lisää ihmisiä",
|
187
|
+
"dialpadStartCallButtonLabel": "Soita",
|
188
|
+
"dialpadModalTitle": "Valitse puhelinnumero",
|
189
|
+
"dialpadModalAriaLabel": "Valintapaneeli",
|
190
|
+
"dialpadCloseModalButtonAriaLabel": "Sulje valintapaneeli",
|
191
|
+
"openDtmfDialpadLabel": "Näytä valintapaneeli",
|
192
|
+
"dtmfDialpadPlaceholderText": "Syötä numero"
|
193
|
+
}
|
194
|
+
}
|