@azure/communication-react 1.29.0-alpha-202507050018 → 1.30.0-alpha-202507120019
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/dist-cjs/communication-react/{ChatMessageComponentAsRichTextEditBox-DQ9dQv8d.js → ChatMessageComponentAsRichTextEditBox-DGId_2H-.js} +2 -2
- package/dist/dist-cjs/communication-react/{ChatMessageComponentAsRichTextEditBox-DQ9dQv8d.js.map → ChatMessageComponentAsRichTextEditBox-DGId_2H-.js.map} +1 -1
- package/dist/dist-cjs/communication-react/{RichTextSendBoxWrapper-D9ul0DM3.js → RichTextSendBoxWrapper-bqVuD7TG.js} +2 -2
- package/dist/dist-cjs/communication-react/{RichTextSendBoxWrapper-D9ul0DM3.js.map → RichTextSendBoxWrapper-bqVuD7TG.js.map} +1 -1
- package/dist/dist-cjs/communication-react/{index-yOQjorwU.js → index-DZDzGocb.js} +37 -30
- package/dist/dist-cjs/communication-react/{index-yOQjorwU.js.map → index-DZDzGocb.js.map} +1 -1
- package/dist/dist-cjs/communication-react/index.js +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/react-components/src/components/TogetherModeOverlay.js +8 -1
- package/dist/dist-esm/react-components/src/components/TogetherModeOverlay.js.map +1 -1
- package/dist/dist-esm/react-components/src/localization/locales/ar-SA/strings.json +5 -0
- package/dist/dist-esm/react-components/src/localization/locales/cs-CZ/strings.json +5 -0
- package/dist/dist-esm/react-components/src/localization/locales/cy-GB/strings.json +5 -0
- package/dist/dist-esm/react-components/src/localization/locales/de-DE/strings.json +5 -0
- package/dist/dist-esm/react-components/src/localization/locales/en-GB/strings.json +5 -0
- package/dist/dist-esm/react-components/src/localization/locales/es-ES/strings.json +5 -0
- package/dist/dist-esm/react-components/src/localization/locales/es-MX/strings.json +5 -0
- package/dist/dist-esm/react-components/src/localization/locales/fi-FI/strings.json +5 -0
- package/dist/dist-esm/react-components/src/localization/locales/fr-CA/strings.json +5 -0
- package/dist/dist-esm/react-components/src/localization/locales/fr-FR/strings.json +5 -0
- package/dist/dist-esm/react-components/src/localization/locales/he-IL/strings.json +5 -0
- package/dist/dist-esm/react-components/src/localization/locales/it-IT/strings.json +5 -0
- package/dist/dist-esm/react-components/src/localization/locales/ja-JP/strings.json +5 -0
- package/dist/dist-esm/react-components/src/localization/locales/ko-KR/strings.json +5 -0
- package/dist/dist-esm/react-components/src/localization/locales/nb-NO/strings.json +5 -0
- package/dist/dist-esm/react-components/src/localization/locales/nl-NL/strings.json +5 -0
- package/dist/dist-esm/react-components/src/localization/locales/pl-PL/strings.json +5 -0
- package/dist/dist-esm/react-components/src/localization/locales/pt-BR/strings.json +5 -0
- package/dist/dist-esm/react-components/src/localization/locales/ru-RU/strings.json +5 -0
- package/dist/dist-esm/react-components/src/localization/locales/sv-SE/strings.json +5 -0
- package/dist/dist-esm/react-components/src/localization/locales/tr-TR/strings.json +5 -0
- package/dist/dist-esm/react-components/src/localization/locales/zh-CN/strings.json +5 -0
- package/dist/dist-esm/react-components/src/localization/locales/zh-TW/strings.json +5 -0
- package/package.json +1 -1
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"telemetryVersion.js","sourceRoot":"","sources":["../../../../../acs-ui-common/src/telemetryVersion.js"],"names":[],"mappings":";AAAA,uCAAuC;AACvC,kCAAkC;AAElC,wCAAwC;AAExC,MAAM,CAAC,OAAO,GAAG,2BAA2B,CAAC","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\n// GENERATED FILE. DO NOT EDIT MANUALLY.\n\nmodule.exports = '1.
|
1
|
+
{"version":3,"file":"telemetryVersion.js","sourceRoot":"","sources":["../../../../../acs-ui-common/src/telemetryVersion.js"],"names":[],"mappings":";AAAA,uCAAuC;AACvC,kCAAkC;AAElC,wCAAwC;AAExC,MAAM,CAAC,OAAO,GAAG,2BAA2B,CAAC","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\n// GENERATED FILE. DO NOT EDIT MANUALLY.\n\nmodule.exports = '1.30.0-alpha-202507120019';\n"]}
|
@@ -31,8 +31,14 @@ export const TogetherModeOverlay = memo((props) => {
|
|
31
31
|
const participantsWithVideoAvailable = allParticipants.filter((p) => { var _a; return ((_a = p.videoStream) === null || _a === void 0 ? void 0 : _a.isAvailable) && togetherModeSeatPositions[p.userId]; });
|
32
32
|
const updatedSignals = {};
|
33
33
|
for (const p of participantsWithVideoAvailable) {
|
34
|
-
const { userId, reaction, raisedHand, spotlight, isMuted
|
34
|
+
const { userId, reaction, raisedHand, spotlight, isMuted } = p;
|
35
35
|
const seatingPosition = togetherModeSeatPositions[userId];
|
36
|
+
const isLocalParticipant = p.userId === localParticipant.userId;
|
37
|
+
const displayName = p.displayName
|
38
|
+
? p.displayName
|
39
|
+
: isLocalParticipant
|
40
|
+
? locale.strings.videoGallery.localVideoLabel
|
41
|
+
: locale.strings.videoGallery.displayNamePlaceholder;
|
36
42
|
if (seatingPosition) {
|
37
43
|
updatedSignals[userId] = {
|
38
44
|
id: userId,
|
@@ -62,6 +68,7 @@ export const TogetherModeOverlay = memo((props) => {
|
|
62
68
|
togetherModeParticipantStatus,
|
63
69
|
togetherModeSeatPositions,
|
64
70
|
reactionResources,
|
71
|
+
locale.strings.videoGallery.localVideoLabel,
|
65
72
|
locale.strings.videoGallery.displayNamePlaceholder,
|
66
73
|
hoveredParticipantID
|
67
74
|
]);
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"TogetherModeOverlay.js","sourceRoot":"","sources":["../../../../../../react-components/src/components/TogetherModeOverlay.tsx"],"names":[],"mappings":"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","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport React, { useMemo, useState, memo, useEffect } from 'react';\nimport {\n Reaction,\n ReactionResources,\n VideoGalleryTogetherModeParticipantPosition,\n VideoGalleryLocalParticipant,\n VideoGalleryRemoteParticipant\n} from '../types';\nimport { moveAnimationStyles, spriteAnimationStyles } from './styles/ReactionOverlay.style';\nimport { REACTION_NUMBER_OF_ANIMATION_FRAMES } from './VideoGallery/utils/reactionUtils';\nimport { Icon, mergeStyles, Stack, Text } from '@fluentui/react';\nimport { getEmojiResource } from './VideoGallery/utils/videoGalleryLayoutUtils';\nimport { useLocale } from '../localization';\nimport { _HighContrastAwareIcon } from './HighContrastAwareIcon';\nimport {\n calculateScaledSize,\n getTogetherModeParticipantOverlayStyle,\n participantStatusTransitionStyle,\n REACTION_MAX_TRAVEL_HEIGHT,\n REACTION_TRAVEL_HEIGHT,\n setTogetherModeSeatPositionStyle,\n togetherModeIconStyle,\n togetherModeParticipantDisplayName,\n togetherModeParticipantEmojiSpriteStyle,\n togetherModeParticipantStatusContainer,\n TogetherModeSeatStyle\n} from './styles/TogetherMode.styles';\nimport { CallingTheme, useTheme } from '../theming';\nimport { RaisedHandIcon } from './assets/RaisedHandIcon';\nimport { _pxToRem } from '@internal/acs-ui-common';\n\n/**\n * Signaling action overlay component props\n * @internal\n */\ntype TogetherModeParticipantStatus = {\n reaction?: Reaction;\n scaledSize?: number;\n isHandRaised?: boolean;\n isSpotlighted?: boolean;\n isMuted?: boolean;\n id: string;\n seatPositionStyle: TogetherModeSeatStyle;\n displayName: string;\n showDisplayName: boolean;\n};\n\n/**\n * TogetherModeOverlay component renders an empty JSX element.\n *\n * @returns {JSX.Element} An empty JSX element.\n */\nexport const TogetherModeOverlay = memo(\n (props: {\n emojiSize: number;\n reactionResources: ReactionResources;\n localParticipant: VideoGalleryLocalParticipant;\n remoteParticipants: VideoGalleryRemoteParticipant[];\n togetherModeSeatPositions: VideoGalleryTogetherModeParticipantPosition;\n }) => {\n const locale = useLocale();\n const theme = useTheme();\n const callingPalette = (theme as unknown as CallingTheme).callingPalette;\n\n const { emojiSize, reactionResources, remoteParticipants, localParticipant, togetherModeSeatPositions } = props;\n const [togetherModeParticipantStatus, setTogetherModeParticipantStatus] = useState<{\n [key: string]: TogetherModeParticipantStatus;\n }>({});\n const [hoveredParticipantID, setHoveredParticipantID] = useState('');\n\n /*\n * The useMemo hook is used to calculate the participant status for the Together Mode overlay.\n * It updates the togetherModeParticipantStatus state when there's a change in the remoteParticipants, localParticipant,\n * raisedHand, spotlight, isMuted, displayName, or hoveredParticipantID.\n */\n const updatedParticipantStatus = useMemo(() => {\n const allParticipants = [...remoteParticipants, localParticipant];\n\n const participantsWithVideoAvailable = allParticipants.filter(\n (p) => p.videoStream?.isAvailable && togetherModeSeatPositions[p.userId]\n );\n\n const updatedSignals: { [key: string]: TogetherModeParticipantStatus } = {};\n for (const p of participantsWithVideoAvailable) {\n const { userId, reaction, raisedHand, spotlight, isMuted, displayName } = p;\n const seatingPosition = togetherModeSeatPositions[userId];\n if (seatingPosition) {\n updatedSignals[userId] = {\n id: userId,\n reaction: reactionResources && reaction,\n isHandRaised: !!raisedHand,\n isSpotlighted: !!spotlight,\n isMuted,\n displayName: displayName || locale.strings.videoGallery.displayNamePlaceholder,\n showDisplayName: !!(spotlight || raisedHand || hoveredParticipantID === userId),\n scaledSize: calculateScaledSize(seatingPosition.width, seatingPosition.height),\n seatPositionStyle: setTogetherModeSeatPositionStyle(seatingPosition)\n };\n }\n }\n\n // This is used to remove the participants bounding box from the DOM when they are no longer in the stream\n const participantsNotInTogetherModeStream = Object.keys(togetherModeParticipantStatus).filter(\n (id) => !updatedSignals[id]\n );\n\n const newSignals = { ...togetherModeParticipantStatus, ...updatedSignals };\n\n participantsNotInTogetherModeStream.forEach((id) => {\n delete newSignals[id];\n });\n\n const hasSignalingChange = Object.keys(newSignals).some(\n (key) => JSON.stringify(newSignals[key]) !== JSON.stringify(togetherModeParticipantStatus[key])\n );\n\n const updateTogetherModeParticipantStatusState =\n hasSignalingChange || Object.keys(newSignals).length !== Object.keys(togetherModeParticipantStatus).length;\n return updateTogetherModeParticipantStatusState ? newSignals : togetherModeParticipantStatus;\n }, [\n remoteParticipants,\n localParticipant,\n togetherModeParticipantStatus,\n togetherModeSeatPositions,\n reactionResources,\n locale.strings.videoGallery.displayNamePlaceholder,\n hoveredParticipantID\n ]);\n\n useEffect(() => {\n if (hoveredParticipantID && !updatedParticipantStatus[hoveredParticipantID]) {\n setHoveredParticipantID('');\n }\n\n setTogetherModeParticipantStatus(updatedParticipantStatus);\n }, [hoveredParticipantID, updatedParticipantStatus]);\n\n return (\n <div style={{ position: 'absolute', width: '100%', height: '100%', overflow: 'hidden' }}>\n {Object.values(togetherModeParticipantStatus).map(\n (participantStatus) =>\n participantStatus.id && (\n <div\n key={participantStatus.id}\n data-ui-id={`together-mode-participant-${participantStatus.id}`}\n style={{\n ...getTogetherModeParticipantOverlayStyle(participantStatus.seatPositionStyle)\n }}\n onMouseEnter={() => setHoveredParticipantID(participantStatus.id)}\n onMouseLeave={() => setHoveredParticipantID('')}\n >\n <div>\n {participantStatus.showDisplayName && (\n <div style={{ ...participantStatusTransitionStyle }}>\n <div\n style={{\n ...togetherModeParticipantStatusContainer(\n callingPalette.videoTileLabelBackgroundLight,\n theme.effects.roundedCorner4\n )\n }}\n >\n {participantStatus.isHandRaised && <RaisedHandIcon />}\n {participantStatus.showDisplayName && (\n <Text\n style={{\n ...togetherModeParticipantDisplayName(\n hoveredParticipantID === participantStatus.id,\n parseFloat(participantStatus.seatPositionStyle.seatPosition.width),\n participantStatus.displayName ? theme.palette.neutralSecondary : 'inherit'\n )\n }}\n >\n {participantStatus.displayName}\n </Text>\n )}\n {participantStatus.isMuted && (\n <Stack className={mergeStyles(togetherModeIconStyle)}>\n <Icon iconName=\"VideoTileMicOff\" />\n </Stack>\n )}\n {participantStatus.isSpotlighted && (\n <Stack className={mergeStyles(togetherModeIconStyle)}>\n <Icon iconName=\"VideoTileSpotlighted\" />\n </Stack>\n )}\n </div>\n </div>\n )}\n\n {participantStatus.reaction?.reactionType && (\n // First div - Section that fixes the travel height and applies the movement animation\n // Second div - Responsible for ensuring the sprite emoji is always centered in the participant seat position\n // Third div - Play Animation as the other animation applies on the base play animation for the sprite\n <div\n style={moveAnimationStyles(\n parseFloat(participantStatus.seatPositionStyle.seatPosition.height) *\n REACTION_MAX_TRAVEL_HEIGHT,\n parseFloat(participantStatus.seatPositionStyle.seatPosition.height) * REACTION_TRAVEL_HEIGHT\n )}\n >\n <div\n data-ui-id={`together-mode-participant-reaction-${participantStatus.id}`}\n style={{\n ...togetherModeParticipantEmojiSpriteStyle(\n emojiSize,\n participantStatus.scaledSize || 1,\n participantStatus.seatPositionStyle.seatPosition.width\n )\n }}\n >\n <div\n style={spriteAnimationStyles(\n REACTION_NUMBER_OF_ANIMATION_FRAMES,\n participantStatus.scaledSize || 1,\n (participantStatus.reaction &&\n getEmojiResource(participantStatus?.reaction.reactionType, reactionResources)) ??\n ''\n )}\n />\n </div>\n </div>\n )}\n </div>\n </div>\n )\n )}\n </div>\n );\n }\n);\n"]}
|
1
|
+
{"version":3,"file":"TogetherModeOverlay.js","sourceRoot":"","sources":["../../../../../../react-components/src/components/TogetherModeOverlay.tsx"],"names":[],"mappings":"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","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport React, { useMemo, useState, memo, useEffect } from 'react';\nimport {\n Reaction,\n ReactionResources,\n VideoGalleryTogetherModeParticipantPosition,\n VideoGalleryLocalParticipant,\n VideoGalleryRemoteParticipant\n} from '../types';\nimport { moveAnimationStyles, spriteAnimationStyles } from './styles/ReactionOverlay.style';\nimport { REACTION_NUMBER_OF_ANIMATION_FRAMES } from './VideoGallery/utils/reactionUtils';\nimport { Icon, mergeStyles, Stack, Text } from '@fluentui/react';\nimport { getEmojiResource } from './VideoGallery/utils/videoGalleryLayoutUtils';\nimport { useLocale } from '../localization';\nimport { _HighContrastAwareIcon } from './HighContrastAwareIcon';\nimport {\n calculateScaledSize,\n getTogetherModeParticipantOverlayStyle,\n participantStatusTransitionStyle,\n REACTION_MAX_TRAVEL_HEIGHT,\n REACTION_TRAVEL_HEIGHT,\n setTogetherModeSeatPositionStyle,\n togetherModeIconStyle,\n togetherModeParticipantDisplayName,\n togetherModeParticipantEmojiSpriteStyle,\n togetherModeParticipantStatusContainer,\n TogetherModeSeatStyle\n} from './styles/TogetherMode.styles';\nimport { CallingTheme, useTheme } from '../theming';\nimport { RaisedHandIcon } from './assets/RaisedHandIcon';\nimport { _pxToRem } from '@internal/acs-ui-common';\n\n/**\n * Signaling action overlay component props\n * @internal\n */\ntype TogetherModeParticipantStatus = {\n reaction?: Reaction;\n scaledSize?: number;\n isHandRaised?: boolean;\n isSpotlighted?: boolean;\n isMuted?: boolean;\n id: string;\n seatPositionStyle: TogetherModeSeatStyle;\n displayName: string;\n showDisplayName: boolean;\n};\n\n/**\n * TogetherModeOverlay component renders an empty JSX element.\n *\n * @returns {JSX.Element} An empty JSX element.\n */\nexport const TogetherModeOverlay = memo(\n (props: {\n emojiSize: number;\n reactionResources: ReactionResources;\n localParticipant: VideoGalleryLocalParticipant;\n remoteParticipants: VideoGalleryRemoteParticipant[];\n togetherModeSeatPositions: VideoGalleryTogetherModeParticipantPosition;\n }) => {\n const locale = useLocale();\n const theme = useTheme();\n const callingPalette = (theme as unknown as CallingTheme).callingPalette;\n\n const { emojiSize, reactionResources, remoteParticipants, localParticipant, togetherModeSeatPositions } = props;\n const [togetherModeParticipantStatus, setTogetherModeParticipantStatus] = useState<{\n [key: string]: TogetherModeParticipantStatus;\n }>({});\n const [hoveredParticipantID, setHoveredParticipantID] = useState('');\n\n /*\n * The useMemo hook is used to calculate the participant status for the Together Mode overlay.\n * It updates the togetherModeParticipantStatus state when there's a change in the remoteParticipants, localParticipant,\n * raisedHand, spotlight, isMuted, displayName, or hoveredParticipantID.\n */\n const updatedParticipantStatus = useMemo(() => {\n const allParticipants = [...remoteParticipants, localParticipant];\n\n const participantsWithVideoAvailable = allParticipants.filter(\n (p) => p.videoStream?.isAvailable && togetherModeSeatPositions[p.userId]\n );\n\n const updatedSignals: { [key: string]: TogetherModeParticipantStatus } = {};\n for (const p of participantsWithVideoAvailable) {\n const { userId, reaction, raisedHand, spotlight, isMuted } = p;\n const seatingPosition = togetherModeSeatPositions[userId];\n const isLocalParticipant = p.userId === localParticipant.userId;\n const displayName = p.displayName\n ? p.displayName\n : isLocalParticipant\n ? locale.strings.videoGallery.localVideoLabel\n : locale.strings.videoGallery.displayNamePlaceholder;\n if (seatingPosition) {\n updatedSignals[userId] = {\n id: userId,\n reaction: reactionResources && reaction,\n isHandRaised: !!raisedHand,\n isSpotlighted: !!spotlight,\n isMuted,\n displayName: displayName || locale.strings.videoGallery.displayNamePlaceholder,\n showDisplayName: !!(spotlight || raisedHand || hoveredParticipantID === userId),\n scaledSize: calculateScaledSize(seatingPosition.width, seatingPosition.height),\n seatPositionStyle: setTogetherModeSeatPositionStyle(seatingPosition)\n };\n }\n }\n\n // This is used to remove the participants bounding box from the DOM when they are no longer in the stream\n const participantsNotInTogetherModeStream = Object.keys(togetherModeParticipantStatus).filter(\n (id) => !updatedSignals[id]\n );\n\n const newSignals = { ...togetherModeParticipantStatus, ...updatedSignals };\n\n participantsNotInTogetherModeStream.forEach((id) => {\n delete newSignals[id];\n });\n\n const hasSignalingChange = Object.keys(newSignals).some(\n (key) => JSON.stringify(newSignals[key]) !== JSON.stringify(togetherModeParticipantStatus[key])\n );\n\n const updateTogetherModeParticipantStatusState =\n hasSignalingChange || Object.keys(newSignals).length !== Object.keys(togetherModeParticipantStatus).length;\n return updateTogetherModeParticipantStatusState ? newSignals : togetherModeParticipantStatus;\n }, [\n remoteParticipants,\n localParticipant,\n togetherModeParticipantStatus,\n togetherModeSeatPositions,\n reactionResources,\n locale.strings.videoGallery.localVideoLabel,\n locale.strings.videoGallery.displayNamePlaceholder,\n hoveredParticipantID\n ]);\n\n useEffect(() => {\n if (hoveredParticipantID && !updatedParticipantStatus[hoveredParticipantID]) {\n setHoveredParticipantID('');\n }\n\n setTogetherModeParticipantStatus(updatedParticipantStatus);\n }, [hoveredParticipantID, updatedParticipantStatus]);\n\n return (\n <div style={{ position: 'absolute', width: '100%', height: '100%', overflow: 'hidden' }}>\n {Object.values(togetherModeParticipantStatus).map(\n (participantStatus) =>\n participantStatus.id && (\n <div\n key={participantStatus.id}\n data-ui-id={`together-mode-participant-${participantStatus.id}`}\n style={{\n ...getTogetherModeParticipantOverlayStyle(participantStatus.seatPositionStyle)\n }}\n onMouseEnter={() => setHoveredParticipantID(participantStatus.id)}\n onMouseLeave={() => setHoveredParticipantID('')}\n >\n <div>\n {participantStatus.showDisplayName && (\n <div style={{ ...participantStatusTransitionStyle }}>\n <div\n style={{\n ...togetherModeParticipantStatusContainer(\n callingPalette.videoTileLabelBackgroundLight,\n theme.effects.roundedCorner4\n )\n }}\n >\n {participantStatus.isHandRaised && <RaisedHandIcon />}\n {participantStatus.showDisplayName && (\n <Text\n style={{\n ...togetherModeParticipantDisplayName(\n hoveredParticipantID === participantStatus.id,\n parseFloat(participantStatus.seatPositionStyle.seatPosition.width),\n participantStatus.displayName ? theme.palette.neutralSecondary : 'inherit'\n )\n }}\n >\n {participantStatus.displayName}\n </Text>\n )}\n {participantStatus.isMuted && (\n <Stack className={mergeStyles(togetherModeIconStyle)}>\n <Icon iconName=\"VideoTileMicOff\" />\n </Stack>\n )}\n {participantStatus.isSpotlighted && (\n <Stack className={mergeStyles(togetherModeIconStyle)}>\n <Icon iconName=\"VideoTileSpotlighted\" />\n </Stack>\n )}\n </div>\n </div>\n )}\n\n {participantStatus.reaction?.reactionType && (\n // First div - Section that fixes the travel height and applies the movement animation\n // Second div - Responsible for ensuring the sprite emoji is always centered in the participant seat position\n // Third div - Play Animation as the other animation applies on the base play animation for the sprite\n <div\n style={moveAnimationStyles(\n parseFloat(participantStatus.seatPositionStyle.seatPosition.height) *\n REACTION_MAX_TRAVEL_HEIGHT,\n parseFloat(participantStatus.seatPositionStyle.seatPosition.height) * REACTION_TRAVEL_HEIGHT\n )}\n >\n <div\n data-ui-id={`together-mode-participant-reaction-${participantStatus.id}`}\n style={{\n ...togetherModeParticipantEmojiSpriteStyle(\n emojiSize,\n participantStatus.scaledSize || 1,\n participantStatus.seatPositionStyle.seatPosition.width\n )\n }}\n >\n <div\n style={spriteAnimationStyles(\n REACTION_NUMBER_OF_ANIMATION_FRAMES,\n participantStatus.scaledSize || 1,\n (participantStatus.reaction &&\n getEmojiResource(participantStatus?.reaction.reactionType, reactionResources)) ??\n ''\n )}\n />\n </div>\n </div>\n )}\n </div>\n </div>\n )\n )}\n </div>\n );\n }\n);\n"]}
|
@@ -32,6 +32,7 @@
|
|
32
32
|
"attachmentUploadsPendingError": "يتم الآن تحميل الملف، الرجاء الانتظار.",
|
33
33
|
"removeAttachment": "إزالة الملف",
|
34
34
|
"uploading": "جارٍ التحميل",
|
35
|
+
"uploadProgress": "تقدم التحميل {progress}%",
|
35
36
|
"uploadCompleted": "اكتمل التحميل",
|
36
37
|
"attachmentMoreMenu": "خيارات إضافية"
|
37
38
|
},
|
@@ -43,6 +44,7 @@
|
|
43
44
|
"imageUploadsPendingError": "يتم الآن تحميل الصورة، الرجاء الانتظار.",
|
44
45
|
"removeAttachment": "إزالة الملف",
|
45
46
|
"uploading": "يتم الآن التحميل",
|
47
|
+
"uploadProgress": "تقدم التحميل {progress}%",
|
46
48
|
"uploadCompleted": "اكتمل التحميل",
|
47
49
|
"richTextBoldTooltip": "غامق",
|
48
50
|
"richTextItalicTooltip": "مائل",
|
@@ -156,6 +158,7 @@
|
|
156
158
|
"onSplitButtonMicrophonePrimaryAction": "كتم الميكروفون",
|
157
159
|
"microphonePrimaryActionSplitButtonTitle": "استخدام الميكروفون",
|
158
160
|
"microphoneAriaDescription": "خيارات الصوت",
|
161
|
+
"defaultMicrophoneLabelFallback": "افتراضي",
|
159
162
|
"deepNoiseSuppressionTitle": "منع الضوضاء",
|
160
163
|
"deepNoiseSuppressionOnAnnouncement": "تم تشغيل منع الضوضاء العميقة",
|
161
164
|
"deepNoiseSuppressionOffAnnouncement": "تم إيقاف تشغيل منع الضوضاء العميقة"
|
@@ -169,6 +172,7 @@
|
|
169
172
|
"audioDeviceMenuTooltip": "إلغاء كتم صوت الجهاز",
|
170
173
|
"microphoneMenuTitle": "الميكروفون",
|
171
174
|
"microphoneMenuTooltip": "اختيار الميكروفون",
|
175
|
+
"defaultMicrophoneLabelFallback": "افتراضي",
|
172
176
|
"speakerMenuTitle": "مكبر الصوت",
|
173
177
|
"speakerMenuTooltip": "اختيار مكبر صوت"
|
174
178
|
},
|
@@ -330,6 +334,7 @@
|
|
330
334
|
"messageContentAriaText": "{status} {author} قال {message}",
|
331
335
|
"messageContentMineAriaText": "{status} أنت قولت {message}",
|
332
336
|
"editBoxTextLimit": "تجاوزت رسالتك الحد الأقصى لعدد الأحرف {limitNumber}",
|
337
|
+
"editBoxEmptyWarningText": "الرجاء كتابة رسالة للمتابعة",
|
333
338
|
"editBoxPlaceholderText": "تحرير رسالتك",
|
334
339
|
"newMessagesIndicator": "رسائل جديدة",
|
335
340
|
"noDisplayNameSub": "لا يوجد اسم",
|
@@ -32,6 +32,7 @@
|
|
32
32
|
"attachmentUploadsPendingError": "Soubor se nahrává, počkejte prosím.",
|
33
33
|
"removeAttachment": "Odebrat soubor",
|
34
34
|
"uploading": "Nahrávání",
|
35
|
+
"uploadProgress": "Průběh nahrávání: {progress} %",
|
35
36
|
"uploadCompleted": "Nahrávání se dokončilo",
|
36
37
|
"attachmentMoreMenu": "Další možnosti"
|
37
38
|
},
|
@@ -43,6 +44,7 @@
|
|
43
44
|
"imageUploadsPendingError": "Obrázek se nahrává, počkejte prosím.",
|
44
45
|
"removeAttachment": "Odebrat soubor",
|
45
46
|
"uploading": "Nahrávání",
|
47
|
+
"uploadProgress": "Průběh nahrávání: {progress} %",
|
46
48
|
"uploadCompleted": "Nahrávání se dokončilo",
|
47
49
|
"richTextBoldTooltip": "Tučné",
|
48
50
|
"richTextItalicTooltip": "Kurzíva",
|
@@ -156,6 +158,7 @@
|
|
156
158
|
"onSplitButtonMicrophonePrimaryAction": "Ztlumit mikrofon",
|
157
159
|
"microphonePrimaryActionSplitButtonTitle": "Použít mikrofon",
|
158
160
|
"microphoneAriaDescription": "Možnosti zvuku",
|
161
|
+
"defaultMicrophoneLabelFallback": "Výchozí",
|
159
162
|
"deepNoiseSuppressionTitle": "Potlačení šumu",
|
160
163
|
"deepNoiseSuppressionOnAnnouncement": "Potlačení hlubokého šumu je zapnuté",
|
161
164
|
"deepNoiseSuppressionOffAnnouncement": "Potlačení hlubokého šumu je vypnuté"
|
@@ -169,6 +172,7 @@
|
|
169
172
|
"audioDeviceMenuTooltip": "Zvolit zvukové zařízení",
|
170
173
|
"microphoneMenuTitle": "Mikrofon",
|
171
174
|
"microphoneMenuTooltip": "Zvolit mikrofon",
|
175
|
+
"defaultMicrophoneLabelFallback": "Výchozí",
|
172
176
|
"speakerMenuTitle": "Reproduktor",
|
173
177
|
"speakerMenuTooltip": "Zvolit reproduktor"
|
174
178
|
},
|
@@ -330,6 +334,7 @@
|
|
330
334
|
"messageContentAriaText": "{status} {author} řekl(a) {message}",
|
331
335
|
"messageContentMineAriaText": "{status} Řekli jste {message}.",
|
332
336
|
"editBoxTextLimit": "Vaše zpráva překročila limit {limitNumber} znaků.",
|
337
|
+
"editBoxEmptyWarningText": "Napište prosím zprávu, aby bylo možné pokračovat",
|
333
338
|
"editBoxPlaceholderText": "Upravit zprávu",
|
334
339
|
"newMessagesIndicator": "Nové zprávy",
|
335
340
|
"noDisplayNameSub": "Bez jména",
|
@@ -32,6 +32,7 @@
|
|
32
32
|
"attachmentUploadsPendingError": "Wrthi'n llwytho'r ffeil i fyny, arhoswch funud.",
|
33
33
|
"removeAttachment": "Tynnu’r ffeil",
|
34
34
|
"uploading": "Wrthi'n llwytho i fyny",
|
35
|
+
"uploadProgress": "Hynt uwchlwytho {progress}%",
|
35
36
|
"uploadCompleted": "Wedi gorffen llwytho i fyny",
|
36
37
|
"attachmentMoreMenu": "Mwy o Ddewisiadau"
|
37
38
|
},
|
@@ -43,6 +44,7 @@
|
|
43
44
|
"imageUploadsPendingError": "Wrthi'n lanlwytho'r ddelwedd, arhoswch funud.",
|
44
45
|
"removeAttachment": "Tynnu'r ffeil",
|
45
46
|
"uploading": "Wrthi'n lanlwytho",
|
47
|
+
"uploadProgress": "Hynt uwchlwytho {progress}%",
|
46
48
|
"uploadCompleted": "Wedi gorffen lanlwytho",
|
47
49
|
"richTextBoldTooltip": "Trwm",
|
48
50
|
"richTextItalicTooltip": "Italig",
|
@@ -156,6 +158,7 @@
|
|
156
158
|
"onSplitButtonMicrophonePrimaryAction": "Tewi'r meic",
|
157
159
|
"microphonePrimaryActionSplitButtonTitle": "Defnyddio'r meicroffon",
|
158
160
|
"microphoneAriaDescription": "Dewisiadau sain",
|
161
|
+
"defaultMicrophoneLabelFallback": "Diofyn",
|
159
162
|
"deepNoiseSuppressionTitle": "Atal sŵn",
|
160
163
|
"deepNoiseSuppressionOnAnnouncement": "Mae atal sŵn dwfn wedi'i roi ar waith",
|
161
164
|
"deepNoiseSuppressionOffAnnouncement": "Mae atal sŵn dwfn wedi'i ddiffodd"
|
@@ -169,6 +172,7 @@
|
|
169
172
|
"audioDeviceMenuTooltip": "Dewis dyfais sain",
|
170
173
|
"microphoneMenuTitle": "Meicroffon",
|
171
174
|
"microphoneMenuTooltip": "Dewis meicroffon",
|
175
|
+
"defaultMicrophoneLabelFallback": "Diofyn",
|
172
176
|
"speakerMenuTitle": "Siaradwr",
|
173
177
|
"speakerMenuTooltip": "Dewis seinydd"
|
174
178
|
},
|
@@ -330,6 +334,7 @@
|
|
330
334
|
"messageContentAriaText": "{status} Dywedodd {author} {message}",
|
331
335
|
"messageContentMineAriaText": "{status} Dywedoch chi {message}",
|
332
336
|
"editBoxTextLimit": "Mae eich neges dros y terfyn o {limitNumber} nodau",
|
337
|
+
"editBoxEmptyWarningText": "Teipiwch neges i fwrw ymlaen",
|
333
338
|
"editBoxPlaceholderText": "Golygu eich neges",
|
334
339
|
"newMessagesIndicator": "Negeseuon newydd",
|
335
340
|
"noDisplayNameSub": "Dim enw",
|
@@ -32,6 +32,7 @@
|
|
32
32
|
"attachmentUploadsPendingError": "Datei wird hochgeladen, bitte warten.",
|
33
33
|
"removeAttachment": "Datei entfernen",
|
34
34
|
"uploading": "Hochladen",
|
35
|
+
"uploadProgress": "Upload-Fortschritt {progress} %",
|
35
36
|
"uploadCompleted": "Upload abgeschlossen",
|
36
37
|
"attachmentMoreMenu": "Mehr Optionen"
|
37
38
|
},
|
@@ -43,6 +44,7 @@
|
|
43
44
|
"imageUploadsPendingError": "Bild wird hochgeladen, bitte warten.",
|
44
45
|
"removeAttachment": "Datei entfernen",
|
45
46
|
"uploading": "Wird hochgeladen",
|
47
|
+
"uploadProgress": "Upload-Fortschritt {progress} %",
|
46
48
|
"uploadCompleted": "Upload abgeschlossen",
|
47
49
|
"richTextBoldTooltip": "Fett",
|
48
50
|
"richTextItalicTooltip": "Kursiv",
|
@@ -156,6 +158,7 @@
|
|
156
158
|
"onSplitButtonMicrophonePrimaryAction": "Mikrofon stummschalten",
|
157
159
|
"microphonePrimaryActionSplitButtonTitle": "Mikrofon verwenden",
|
158
160
|
"microphoneAriaDescription": "Audiooptionen",
|
161
|
+
"defaultMicrophoneLabelFallback": "Standard",
|
159
162
|
"deepNoiseSuppressionTitle": "Rauschunterdrückung",
|
160
163
|
"deepNoiseSuppressionOnAnnouncement": "Die Unterdrückung tiefer Geräusche wurde aktiviert.",
|
161
164
|
"deepNoiseSuppressionOffAnnouncement": "Die Unterdrückung tiefer Geräusche wurde deaktiviert."
|
@@ -169,6 +172,7 @@
|
|
169
172
|
"audioDeviceMenuTooltip": "Audiogerät auswählen",
|
170
173
|
"microphoneMenuTitle": "Mikrofon",
|
171
174
|
"microphoneMenuTooltip": "Mikrofon auswählen",
|
175
|
+
"defaultMicrophoneLabelFallback": "Standard",
|
172
176
|
"speakerMenuTitle": "Lautsprecher",
|
173
177
|
"speakerMenuTooltip": "Lautsprecher auswählen"
|
174
178
|
},
|
@@ -330,6 +334,7 @@
|
|
330
334
|
"messageContentAriaText": "{status} {author} hat {message} gesagt",
|
331
335
|
"messageContentMineAriaText": "{status} Sie haben {message} gesagt",
|
332
336
|
"editBoxTextLimit": "Ihre Nachricht überschreitet das Limit von {limitNumber} Zeichen.",
|
337
|
+
"editBoxEmptyWarningText": "Geben Sie eine Nachricht ein, um fortzufahren",
|
333
338
|
"editBoxPlaceholderText": "Bearbeiten Sie Ihre Nachricht",
|
334
339
|
"newMessagesIndicator": "Neue Nachrichten",
|
335
340
|
"noDisplayNameSub": "Kein Name",
|
@@ -32,6 +32,7 @@
|
|
32
32
|
"attachmentUploadsPendingError": "File is uploading, please wait.",
|
33
33
|
"removeAttachment": "Remove file",
|
34
34
|
"uploading": "Uploading",
|
35
|
+
"uploadProgress": "Upload progress {progress}%",
|
35
36
|
"uploadCompleted": "Upload completed",
|
36
37
|
"attachmentMoreMenu": "More Options"
|
37
38
|
},
|
@@ -43,6 +44,7 @@
|
|
43
44
|
"imageUploadsPendingError": "Image is uploading, please wait.",
|
44
45
|
"removeAttachment": "Remove file",
|
45
46
|
"uploading": "Uploading",
|
47
|
+
"uploadProgress": "Upload progress {progress}%",
|
46
48
|
"uploadCompleted": "Upload completed",
|
47
49
|
"richTextBoldTooltip": "Bold",
|
48
50
|
"richTextItalicTooltip": "Italic",
|
@@ -156,6 +158,7 @@
|
|
156
158
|
"onSplitButtonMicrophonePrimaryAction": "Mute mic",
|
157
159
|
"microphonePrimaryActionSplitButtonTitle": "Use microphone",
|
158
160
|
"microphoneAriaDescription": "Audio options",
|
161
|
+
"defaultMicrophoneLabelFallback": "Default",
|
159
162
|
"deepNoiseSuppressionTitle": "Noise suppression",
|
160
163
|
"deepNoiseSuppressionOnAnnouncement": "Deep noise suppression has been turned on",
|
161
164
|
"deepNoiseSuppressionOffAnnouncement": "Deep noise suppression has been turned off"
|
@@ -169,6 +172,7 @@
|
|
169
172
|
"audioDeviceMenuTooltip": "Choose audio device",
|
170
173
|
"microphoneMenuTitle": "Microphone",
|
171
174
|
"microphoneMenuTooltip": "Choose microphone",
|
175
|
+
"defaultMicrophoneLabelFallback": "Default",
|
172
176
|
"speakerMenuTitle": "Speaker",
|
173
177
|
"speakerMenuTooltip": "Choose speaker"
|
174
178
|
},
|
@@ -330,6 +334,7 @@
|
|
330
334
|
"messageContentAriaText": "{status} {author} said {message}",
|
331
335
|
"messageContentMineAriaText": "{status} You said {message}",
|
332
336
|
"editBoxTextLimit": "Your message is over the limit of {limitNumber} characters",
|
337
|
+
"editBoxEmptyWarningText": "Please type a message to continue",
|
333
338
|
"editBoxPlaceholderText": "Edit your message",
|
334
339
|
"newMessagesIndicator": "New messages",
|
335
340
|
"noDisplayNameSub": "No name",
|
@@ -32,6 +32,7 @@
|
|
32
32
|
"attachmentUploadsPendingError": "El archivo se está cargando. Espere.",
|
33
33
|
"removeAttachment": "Quitar archivo",
|
34
34
|
"uploading": "Cargando",
|
35
|
+
"uploadProgress": "Progreso de carga {progress}%",
|
35
36
|
"uploadCompleted": "Carga completada",
|
36
37
|
"attachmentMoreMenu": "Más opciones"
|
37
38
|
},
|
@@ -43,6 +44,7 @@
|
|
43
44
|
"imageUploadsPendingError": "La imagen se está cargando. Espere.",
|
44
45
|
"removeAttachment": "Quitar archivo",
|
45
46
|
"uploading": "Cargando",
|
47
|
+
"uploadProgress": "Progreso de carga {progress}%",
|
46
48
|
"uploadCompleted": "Carga completada",
|
47
49
|
"richTextBoldTooltip": "Negrita",
|
48
50
|
"richTextItalicTooltip": "Cursiva",
|
@@ -156,6 +158,7 @@
|
|
156
158
|
"onSplitButtonMicrophonePrimaryAction": "Desactivar audio del micrófono",
|
157
159
|
"microphonePrimaryActionSplitButtonTitle": "Usar micrófono",
|
158
160
|
"microphoneAriaDescription": "Opciones de audio",
|
161
|
+
"defaultMicrophoneLabelFallback": "Predeterminado",
|
159
162
|
"deepNoiseSuppressionTitle": "Supresión de ruido",
|
160
163
|
"deepNoiseSuppressionOnAnnouncement": "Se ha activado la supresión profunda de ruido",
|
161
164
|
"deepNoiseSuppressionOffAnnouncement": "Se ha desactivado la supresión profunda de ruido"
|
@@ -169,6 +172,7 @@
|
|
169
172
|
"audioDeviceMenuTooltip": "Elegir dispositivo de audio",
|
170
173
|
"microphoneMenuTitle": "Micrófono",
|
171
174
|
"microphoneMenuTooltip": "Elegir micrófono",
|
175
|
+
"defaultMicrophoneLabelFallback": "Predeterminado",
|
172
176
|
"speakerMenuTitle": "Altavoz",
|
173
177
|
"speakerMenuTooltip": "Elegir altavoz"
|
174
178
|
},
|
@@ -330,6 +334,7 @@
|
|
330
334
|
"messageContentAriaText": "{status} {author} dijo {message}",
|
331
335
|
"messageContentMineAriaText": "{status} Usted dijo {message}",
|
332
336
|
"editBoxTextLimit": "El mensaje supera el límite de {limitNumber} caracteres",
|
337
|
+
"editBoxEmptyWarningText": "Escriba un mensaje para continuar",
|
333
338
|
"editBoxPlaceholderText": "Editar el mensaje",
|
334
339
|
"newMessagesIndicator": "Mensajes nuevos",
|
335
340
|
"noDisplayNameSub": "Sin nombre",
|
@@ -32,6 +32,7 @@
|
|
32
32
|
"attachmentUploadsPendingError": "El archivo se está cargando. Espera.",
|
33
33
|
"removeAttachment": "Quitar archivo",
|
34
34
|
"uploading": "Cargando",
|
35
|
+
"uploadProgress": "Progreso de carga {progress}%",
|
35
36
|
"uploadCompleted": "Carga completada",
|
36
37
|
"attachmentMoreMenu": "Más opciones"
|
37
38
|
},
|
@@ -43,6 +44,7 @@
|
|
43
44
|
"imageUploadsPendingError": "La imagen se está cargando. Espera.",
|
44
45
|
"removeAttachment": "Quitar archivo",
|
45
46
|
"uploading": "Cargando",
|
47
|
+
"uploadProgress": "Progreso de carga {progress}%",
|
46
48
|
"uploadCompleted": "Carga completada",
|
47
49
|
"richTextBoldTooltip": "Negrita",
|
48
50
|
"richTextItalicTooltip": "Cursiva",
|
@@ -156,6 +158,7 @@
|
|
156
158
|
"onSplitButtonMicrophonePrimaryAction": "Desactivar audio del micrófono",
|
157
159
|
"microphonePrimaryActionSplitButtonTitle": "Usar micrófono",
|
158
160
|
"microphoneAriaDescription": "Opciones de audio",
|
161
|
+
"defaultMicrophoneLabelFallback": "Predeterminado",
|
159
162
|
"deepNoiseSuppressionTitle": "Supresión de ruido",
|
160
163
|
"deepNoiseSuppressionOnAnnouncement": "Se ha activado la supresión profunda de ruido",
|
161
164
|
"deepNoiseSuppressionOffAnnouncement": "Se ha desactivado la supresión profunda de ruido"
|
@@ -169,6 +172,7 @@
|
|
169
172
|
"audioDeviceMenuTooltip": "Elige un dispositivo de audio",
|
170
173
|
"microphoneMenuTitle": "Micrófono",
|
171
174
|
"microphoneMenuTooltip": "Elegir micrófono",
|
175
|
+
"defaultMicrophoneLabelFallback": "Predeterminado",
|
172
176
|
"speakerMenuTitle": "Altavoz",
|
173
177
|
"speakerMenuTooltip": "Elegir altavoz"
|
174
178
|
},
|
@@ -330,6 +334,7 @@
|
|
330
334
|
"messageContentAriaText": "{status} {author} dijo {message}",
|
331
335
|
"messageContentMineAriaText": "{status} Tú dijiste {message}",
|
332
336
|
"editBoxTextLimit": "Tu mensaje supera el límite de {limitNumber} caracteres",
|
337
|
+
"editBoxEmptyWarningText": "Escribe un mensaje para continuar",
|
333
338
|
"editBoxPlaceholderText": "Editar el mensaje",
|
334
339
|
"newMessagesIndicator": "Mensajes nuevos",
|
335
340
|
"noDisplayNameSub": "Sin nombre",
|
@@ -32,6 +32,7 @@
|
|
32
32
|
"attachmentUploadsPendingError": "Ladataan palvelimeen... Odota hetki.",
|
33
33
|
"removeAttachment": "Poista tiedosto",
|
34
34
|
"uploading": "Ladataan palvelimeen",
|
35
|
+
"uploadProgress": "Latauksen edistyminen {progress} %",
|
35
36
|
"uploadCompleted": "Ladattu palvelimeen",
|
36
37
|
"attachmentMoreMenu": "Lisää asetuksia"
|
37
38
|
},
|
@@ -43,6 +44,7 @@
|
|
43
44
|
"imageUploadsPendingError": "Kuvaa ladataan palvelimeen, odota.",
|
44
45
|
"removeAttachment": "Poista tiedosto",
|
45
46
|
"uploading": "Ladataan",
|
47
|
+
"uploadProgress": "Latauksen edistyminen {progress} %",
|
46
48
|
"uploadCompleted": "Lataus valmis",
|
47
49
|
"richTextBoldTooltip": "Lihavointi",
|
48
50
|
"richTextItalicTooltip": "Kursivointi",
|
@@ -156,6 +158,7 @@
|
|
156
158
|
"onSplitButtonMicrophonePrimaryAction": "Mykistä mikrofoni",
|
157
159
|
"microphonePrimaryActionSplitButtonTitle": "Käytä mikrofonia",
|
158
160
|
"microphoneAriaDescription": "Ääniasetukset",
|
161
|
+
"defaultMicrophoneLabelFallback": "Oletus",
|
159
162
|
"deepNoiseSuppressionTitle": "Melunvaimennus",
|
160
163
|
"deepNoiseSuppressionOnAnnouncement": "Syvä melunvaimennus on otettu käyttöön",
|
161
164
|
"deepNoiseSuppressionOffAnnouncement": "Syvä melunvaimennus on poistettu käytöstä"
|
@@ -169,6 +172,7 @@
|
|
169
172
|
"audioDeviceMenuTooltip": "Valitse äänilaite",
|
170
173
|
"microphoneMenuTitle": "Mikrofoni",
|
171
174
|
"microphoneMenuTooltip": "Valitse mikrofoni",
|
175
|
+
"defaultMicrophoneLabelFallback": "Oletus",
|
172
176
|
"speakerMenuTitle": "Kaiutin",
|
173
177
|
"speakerMenuTooltip": "Valitse kaiutin"
|
174
178
|
},
|
@@ -330,6 +334,7 @@
|
|
330
334
|
"messageContentAriaText": "{status} {author} sanoi {message}",
|
331
335
|
"messageContentMineAriaText": "{status} Sanoit {message}",
|
332
336
|
"editBoxTextLimit": "Viesti ylittää {limitNumber} merkin rajan",
|
337
|
+
"editBoxEmptyWarningText": "Jatka kirjoittamalla viesti",
|
333
338
|
"editBoxPlaceholderText": "Muokkaa viestiäsi",
|
334
339
|
"newMessagesIndicator": "Uudet viestit",
|
335
340
|
"noDisplayNameSub": "Ei nimeä",
|
@@ -32,6 +32,7 @@
|
|
32
32
|
"attachmentUploadsPendingError": "Chargement du fichier en cours, veuillez patienter.",
|
33
33
|
"removeAttachment": "Supprimer un fichier",
|
34
34
|
"uploading": "Chargement",
|
35
|
+
"uploadProgress": "Upload progress {progress}%",
|
35
36
|
"uploadCompleted": "Téléchargement terminé",
|
36
37
|
"attachmentMoreMenu": "Plus d’options"
|
37
38
|
},
|
@@ -43,6 +44,7 @@
|
|
43
44
|
"imageUploadsPendingError": "Chargement de l’image en cours, veuillez patienter.",
|
44
45
|
"removeAttachment": "Supprimer un fichier",
|
45
46
|
"uploading": "Chargement",
|
47
|
+
"uploadProgress": "Upload progress {progress}%",
|
46
48
|
"uploadCompleted": "Téléchargement terminé",
|
47
49
|
"richTextBoldTooltip": "Gras",
|
48
50
|
"richTextItalicTooltip": "Italique",
|
@@ -156,6 +158,7 @@
|
|
156
158
|
"onSplitButtonMicrophonePrimaryAction": "Désactiver le micro",
|
157
159
|
"microphonePrimaryActionSplitButtonTitle": "Utiliser le microphone",
|
158
160
|
"microphoneAriaDescription": "Options audio",
|
161
|
+
"defaultMicrophoneLabelFallback": "Par défaut",
|
159
162
|
"deepNoiseSuppressionTitle": "Suppression du bruit",
|
160
163
|
"deepNoiseSuppressionOnAnnouncement": "La suppression du bruit profond a été activée.",
|
161
164
|
"deepNoiseSuppressionOffAnnouncement": "La suppression du bruit profond a été désactivée."
|
@@ -169,6 +172,7 @@
|
|
169
172
|
"audioDeviceMenuTooltip": "Choisissez un périphérique appareil audio.",
|
170
173
|
"microphoneMenuTitle": "Microphone",
|
171
174
|
"microphoneMenuTooltip": "Choisissez le micro.",
|
175
|
+
"defaultMicrophoneLabelFallback": "Par défaut",
|
172
176
|
"speakerMenuTitle": "Haut-parleur",
|
173
177
|
"speakerMenuTooltip": "Choisissez le haut-parleur."
|
174
178
|
},
|
@@ -330,6 +334,7 @@
|
|
330
334
|
"messageContentAriaText": "{status} {author} a dit {message}.",
|
331
335
|
"messageContentMineAriaText": "{status} Vous avez dit {message}.",
|
332
336
|
"editBoxTextLimit": "Votre message dépasse la limite de {limitNumber} caractères.",
|
337
|
+
"editBoxEmptyWarningText": "Veuillez taper un message pour continuer",
|
333
338
|
"editBoxPlaceholderText": "Modifier votre message",
|
334
339
|
"newMessagesIndicator": "Nouveaux messages",
|
335
340
|
"noDisplayNameSub": "Sans nom",
|
@@ -32,6 +32,7 @@
|
|
32
32
|
"attachmentUploadsPendingError": "Chargement du fichier en cours, veuillez patienter.",
|
33
33
|
"removeAttachment": "Supprimer le fichier",
|
34
34
|
"uploading": "Chargement",
|
35
|
+
"uploadProgress": "Progression du chargement {progress} %",
|
35
36
|
"uploadCompleted": "Téléchargement terminé",
|
36
37
|
"attachmentMoreMenu": "Plus d’options"
|
37
38
|
},
|
@@ -43,6 +44,7 @@
|
|
43
44
|
"imageUploadsPendingError": "Chargement de l’image en cours, veuillez patienter.",
|
44
45
|
"removeAttachment": "Supprimer un fichier",
|
45
46
|
"uploading": "Téléchargement",
|
47
|
+
"uploadProgress": "Progression du chargement {progress} %",
|
46
48
|
"uploadCompleted": "Chargement terminé",
|
47
49
|
"richTextBoldTooltip": "Gras",
|
48
50
|
"richTextItalicTooltip": "Italique",
|
@@ -156,6 +158,7 @@
|
|
156
158
|
"onSplitButtonMicrophonePrimaryAction": "Désactiver le micro",
|
157
159
|
"microphonePrimaryActionSplitButtonTitle": "Utiliser le microphone",
|
158
160
|
"microphoneAriaDescription": "Options audio",
|
161
|
+
"defaultMicrophoneLabelFallback": "Par défaut",
|
159
162
|
"deepNoiseSuppressionTitle": "Suppression du bruit",
|
160
163
|
"deepNoiseSuppressionOnAnnouncement": "La suppression du bruit profond a été activée",
|
161
164
|
"deepNoiseSuppressionOffAnnouncement": "La suppression du bruit profond a été désactivée"
|
@@ -169,6 +172,7 @@
|
|
169
172
|
"audioDeviceMenuTooltip": "Choisissez un périphérique audio",
|
170
173
|
"microphoneMenuTitle": "Microphone",
|
171
174
|
"microphoneMenuTooltip": "Choisissez le micro",
|
175
|
+
"defaultMicrophoneLabelFallback": "Par défaut",
|
172
176
|
"speakerMenuTitle": "Haut-parleur",
|
173
177
|
"speakerMenuTooltip": "Choisissez le haut-parleur"
|
174
178
|
},
|
@@ -330,6 +334,7 @@
|
|
330
334
|
"messageContentAriaText": "{status} {author} a dit {message}.",
|
331
335
|
"messageContentMineAriaText": "{status} Vous avez dit {message}.",
|
332
336
|
"editBoxTextLimit": "Votre message dépasse la limite de {limitNumber} caractères",
|
337
|
+
"editBoxEmptyWarningText": "Tapez un message pour continuer",
|
333
338
|
"editBoxPlaceholderText": "Modifier votre message",
|
334
339
|
"newMessagesIndicator": "Nouveaux messages",
|
335
340
|
"noDisplayNameSub": "Sans nom",
|
@@ -32,6 +32,7 @@
|
|
32
32
|
"attachmentUploadsPendingError": "הקובץ בהעלאה, נא המתן.",
|
33
33
|
"removeAttachment": "הסרת קובץ",
|
34
34
|
"uploading": "מעלה",
|
35
|
+
"uploadProgress": "התקדמות ההעלאה {progress}%",
|
35
36
|
"uploadCompleted": "ההעלאה הושלמה",
|
36
37
|
"attachmentMoreMenu": "אפשרויות נוספות"
|
37
38
|
},
|
@@ -43,6 +44,7 @@
|
|
43
44
|
"imageUploadsPendingError": "התמונה בהעלאה, נא המתן.",
|
44
45
|
"removeAttachment": "הסר קובץ",
|
45
46
|
"uploading": "מעלה",
|
47
|
+
"uploadProgress": "התקדמות ההעלאה {progress}%",
|
46
48
|
"uploadCompleted": "ההעלאה הושלמה",
|
47
49
|
"richTextBoldTooltip": "מודגש",
|
48
50
|
"richTextItalicTooltip": "נטוי",
|
@@ -156,6 +158,7 @@
|
|
156
158
|
"onSplitButtonMicrophonePrimaryAction": "השתק את המיקרופון",
|
157
159
|
"microphonePrimaryActionSplitButtonTitle": "השתמש במיקרופון",
|
158
160
|
"microphoneAriaDescription": "אפשרויות שמע",
|
161
|
+
"defaultMicrophoneLabelFallback": "ברירת מחדל",
|
159
162
|
"deepNoiseSuppressionTitle": "העלמת רעש",
|
160
163
|
"deepNoiseSuppressionOnAnnouncement": "דיכוי רעשים עמוקים הופעל",
|
161
164
|
"deepNoiseSuppressionOffAnnouncement": "דיכוי רעשים עמוקים בוטל"
|
@@ -169,6 +172,7 @@
|
|
169
172
|
"audioDeviceMenuTooltip": "בחר התקן שמע",
|
170
173
|
"microphoneMenuTitle": "מיקרופון",
|
171
174
|
"microphoneMenuTooltip": "בחר מיקרופון",
|
175
|
+
"defaultMicrophoneLabelFallback": "ברירת מחדל",
|
172
176
|
"speakerMenuTitle": "רמקול",
|
173
177
|
"speakerMenuTooltip": "בחר רמקול"
|
174
178
|
},
|
@@ -330,6 +334,7 @@
|
|
330
334
|
"messageContentAriaText": "{status} {author} אמר {message}",
|
331
335
|
"messageContentMineAriaText": "{status} אמרת {message}",
|
332
336
|
"editBoxTextLimit": "ההודעה שלך נמצאת מעבר למגבלה של {limitNumber} תווים",
|
337
|
+
"editBoxEmptyWarningText": "הקלד הודעה כדי להמשיך",
|
333
338
|
"editBoxPlaceholderText": "ערוך את ההודעה שלך",
|
334
339
|
"newMessagesIndicator": "הודעות חדשות",
|
335
340
|
"noDisplayNameSub": "ללא שם",
|
@@ -32,6 +32,7 @@
|
|
32
32
|
"attachmentUploadsPendingError": "È in corso il caricamento del file, attendere.",
|
33
33
|
"removeAttachment": "Rimuovi file",
|
34
34
|
"uploading": "Caricamento in corso",
|
35
|
+
"uploadProgress": "Percentuale di caricamento {progress}%",
|
35
36
|
"uploadCompleted": "Caricamento completato",
|
36
37
|
"attachmentMoreMenu": "Altre opzioni"
|
37
38
|
},
|
@@ -43,6 +44,7 @@
|
|
43
44
|
"imageUploadsPendingError": "È in corso il caricamento dell'immagine, attendere.",
|
44
45
|
"removeAttachment": "Rimuovi file",
|
45
46
|
"uploading": "Caricamento",
|
47
|
+
"uploadProgress": "Percentuale di caricamento {progress}%",
|
46
48
|
"uploadCompleted": "Caricamento completato",
|
47
49
|
"richTextBoldTooltip": "Grassetto",
|
48
50
|
"richTextItalicTooltip": "Corsivo",
|
@@ -156,6 +158,7 @@
|
|
156
158
|
"onSplitButtonMicrophonePrimaryAction": "Disattiva microfono",
|
157
159
|
"microphonePrimaryActionSplitButtonTitle": "Usa il microfono",
|
158
160
|
"microphoneAriaDescription": "Opzioni audio",
|
161
|
+
"defaultMicrophoneLabelFallback": "Impostazione predefinita",
|
159
162
|
"deepNoiseSuppressionTitle": "Eliminazione del rumore",
|
160
163
|
"deepNoiseSuppressionOnAnnouncement": "L'eliminazione del rumore profondo è stata attivata",
|
161
164
|
"deepNoiseSuppressionOffAnnouncement": "L'eliminazione del rumore profondo è stata disattivata"
|
@@ -169,6 +172,7 @@
|
|
169
172
|
"audioDeviceMenuTooltip": "Scegli dispositivo audio",
|
170
173
|
"microphoneMenuTitle": "Microfono",
|
171
174
|
"microphoneMenuTooltip": "Scegli microfono",
|
175
|
+
"defaultMicrophoneLabelFallback": "Impostazione predefinita",
|
172
176
|
"speakerMenuTitle": "Altoparlante",
|
173
177
|
"speakerMenuTooltip": "Scegli altoparlante"
|
174
178
|
},
|
@@ -330,6 +334,7 @@
|
|
330
334
|
"messageContentAriaText": "{status} {author} ha detto {message}",
|
331
335
|
"messageContentMineAriaText": "{status} Hai detto {message}",
|
332
336
|
"editBoxTextLimit": "Il messaggio ha superato il limite di caratteri {limitNumber}",
|
337
|
+
"editBoxEmptyWarningText": "Digita un messaggio per continuare",
|
333
338
|
"editBoxPlaceholderText": "Modifica il messaggio",
|
334
339
|
"newMessagesIndicator": "Nuovi messaggi",
|
335
340
|
"noDisplayNameSub": "Nessun nome",
|