Merge pull request #12601 from antobinary/merge-june16

Merge 2.3.4 into 'develop'
This commit is contained in:
Anton Georgiev 2021-06-16 16:30:43 -04:00 committed by GitHub
commit cc5cdfd643
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
67 changed files with 1168 additions and 286 deletions

View File

@ -255,6 +255,7 @@ object Polls {
shape += "numRespondents" -> new Integer(result.numRespondents)
shape += "numResponders" -> new Integer(result.numResponders)
shape += "type" -> WhiteboardKeyUtil.POLL_RESULT_TYPE
shape += "pollType" -> result.questionType
shape += "id" -> result.id
shape += "status" -> WhiteboardKeyUtil.DRAW_END_STATUS
@ -644,7 +645,7 @@ class Poll(val id: String, val questions: Array[Question], val numRespondents: I
}
def toSimplePollResultOutVO(): SimplePollResultOutVO = {
new SimplePollResultOutVO(id, questions(0).text, questions(0).toSimpleVotesOutVO(), numRespondents, _numResponders)
new SimplePollResultOutVO(id, questions(0).questionType, questions(0).text, questions(0).toSimpleVotesOutVO(), numRespondents, _numResponders)
}
}

View File

@ -77,7 +77,7 @@ case class Meeting2x(defaultProps: DefaultProps, meetingStatus: MeetingStatus)
case class SimpleAnswerOutVO(id: Int, key: String)
case class SimplePollOutVO(id: String, answers: Array[SimpleAnswerOutVO])
case class SimpleVoteOutVO(id: Int, key: String, numVotes: Int)
case class SimplePollResultOutVO(id: String, questionText: Option[String], answers: Array[SimpleVoteOutVO], numRespondents: Int, numResponders: Int)
case class SimplePollResultOutVO(id: String, questionType: String, questionText: Option[String], answers: Array[SimpleVoteOutVO], numRespondents: Int, numResponders: Int)
case class Responder(userId: String, name: String)
case class AnswerVO(id: Int, key: String, text: Option[String], responders: Option[Array[Responder]])
case class QuestionVO(id: Int, questionType: String, multiResponse: Boolean, questionText: Option[String], answers: Option[Array[AnswerVO]])

View File

@ -81,6 +81,7 @@ public class ApiParams {
// Needed for classes where teacher gets disconnected and can't get back in. Prevents
// students from running amok.
public static final String END_WHEN_NO_MODERATOR = "endWhenNoModerator";
public static final String END_WHEN_NO_MODERATOR_DELAY_IN_MINUTES = "endWhenNoModeratorDelayInMinutes";
private ApiParams() {
throw new IllegalStateException("ApiParams is a utility class. Instanciation is forbidden.");

View File

@ -435,6 +435,15 @@ public class ParamsProcessorUtil {
}
}
int endWhenNoModeratorDelayInMinutes = defaultEndWhenNoModeratorDelayInMinutes;
if (!StringUtils.isEmpty(params.get(ApiParams.END_WHEN_NO_MODERATOR_DELAY_IN_MINUTES))) {
try {
endWhenNoModeratorDelayInMinutes = Integer.parseInt(params.get(ApiParams.END_WHEN_NO_MODERATOR_DELAY_IN_MINUTES));
} catch (Exception ex) {
log.warn("Invalid param [endWhenNoModeratorDelayInMinutes] for meeting=[{}]", internalMeetingId);
}
}
String guestPolicy = defaultGuestPolicy;
if (!StringUtils.isEmpty(params.get(ApiParams.GUEST_POLICY))) {
guestPolicy = params.get(ApiParams.GUEST_POLICY);
@ -516,8 +525,8 @@ public class ParamsProcessorUtil {
meeting.setUserActivitySignResponseDelayInMinutes(userActivitySignResponseDelayInMinutes);
meeting.setUserInactivityThresholdInMinutes(userInactivityThresholdInMinutes);
// meeting.setHtml5InstanceId(html5InstanceId);
meeting.setEndWhenNoModerator(defaultEndWhenNoModerator);
meeting.setEndWhenNoModeratorDelayInMinutes(defaultEndWhenNoModeratorDelayInMinutes);
meeting.setEndWhenNoModerator(endWhenNoModerator);
meeting.setEndWhenNoModeratorDelayInMinutes(endWhenNoModeratorDelayInMinutes);
// Add extra parameters for breakout room
if (isBreakout) {
@ -538,6 +547,12 @@ public class ParamsProcessorUtil {
muteOnStart = Boolean.parseBoolean(params.get(ApiParams.MUTE_ON_START));
}
// when a moderator joins in a breakout room only with the audio, and the muteOnStart is set to true,
// the moderator is unable to unmute himself, because they don't have an icon to do so
if (isBreakout) {
muteOnStart = false;
}
meeting.setMuteOnStart(muteOnStart);
Boolean meetingKeepEvents = defaultKeepEvents;

View File

@ -83,6 +83,17 @@ with BigBlueButton; if not, see <http://www.gnu.org/licenses/>.
<script src="compatibility/adapter.js?v=VERSION" language="javascript"></script>
<script src="compatibility/sip.js?v=VERSION" language="javascript"></script>
<script src="compatibility/kurento-utils.js?v=VERSION" language="javascript"></script>
<!-- fonts -->
<link rel="preload" href="fonts/BbbIcons/bbb-icons.woff?j1ntjp" as="font" crossorigin="anonymous"/>
<link rel="preload" href="fonts/SourceSansPro/SourceSansPro-Light.woff" as="font" crossorigin="anonymous"/>
<link rel="preload" href="fonts/SourceSansPro/SourceSansPro-Regular.woff" as="font" crossorigin="anonymous"/>
<link rel="preload" href="fonts/SourceSansPro/SourceSansPro-Semibold.woff" as="font" crossorigin="anonymous"/>
<link rel="preload" href="fonts/SourceSansPro/SourceSansPro-Bold.woff" as="font" crossorigin="anonymous"/>
<link rel="preload" href="fonts/SourceSansPro/SourceSansPro-LightItalic.woff" as="font" crossorigin="anonymous"/>
<link rel="preload" href="fonts/SourceSansPro/SourceSansPro-Italic.woff" as="font" crossorigin="anonymous"/>
<link rel="preload" href="fonts/SourceSansPro/SourceSansPro-SemiboldItalic.woff" as="font" crossorigin="anonymous"/>
<link rel="preload" href="fonts/SourceSansPro/SourceSansPro-BoldItalic.woff" as="font" crossorigin="anonymous"/>
<!-- fonts -->
</head>
<body style="background-color: #06172A">
<div id="app" role="document"></div>

View File

@ -7,6 +7,7 @@ export default function userVoted({ body }, meetingId) {
check(meetingId, String);
check(poll, {
id: String,
questionType: String,
questionText: String,
answers: [
{

View File

@ -3,7 +3,7 @@ import { check } from 'meteor/check';
import { extractCredentials } from '/imports/api/common/server/helpers';
import Logger from '/imports/startup/server/logger';
export default function startPoll(pollType, pollId, question, answers) {
export default function startPoll(pollTypes, pollType, pollId, question, answers) {
const REDIS_CONFIG = Meteor.settings.private.redis;
const CHANNEL = REDIS_CONFIG.channels.toAkkaApps;
let EVENT_NAME = 'StartPollReqMsg';
@ -23,7 +23,7 @@ export default function startPoll(pollType, pollId, question, answers) {
question,
};
if (pollType === 'custom') {
if (pollType === pollTypes.Custom) {
EVENT_NAME = 'StartCustomPollReqMsg';
check(answers, Array);
payload.answers = answers;

View File

@ -6,6 +6,7 @@ import Settings from '/imports/ui/services/settings';
import LoadingScreen from '/imports/ui/components/loading-screen/component';
import getFromUserSettings from '/imports/ui/services/users-settings';
import _ from 'lodash';
import { Session } from 'meteor/session';
const propTypes = {
locale: PropTypes.string,
@ -14,7 +15,8 @@ const propTypes = {
const DEFAULT_LANGUAGE = Meteor.settings.public.app.defaultSettings.application.fallbackLocale;
const RTL_LANGUAGES = ['ar', 'he', 'fa'];
const RTL_LANGUAGES = ['ar', 'dv', 'fa', 'he'];
const LARGE_FONT_LANGUAGES = ['te', 'km'];
const defaultProps = {
locale: DEFAULT_LANGUAGE,
@ -30,6 +32,8 @@ class IntlStartup extends Component {
document.body.parentNode.setAttribute('dir', 'ltr');
Settings.application.isRTL = false;
}
Session.set('isLargeFont', LARGE_FONT_LANGUAGES.includes(localeName.substring(0, 2)));
window.dispatchEvent(new Event('localeChanged'));
Settings.save();
}

View File

@ -111,11 +111,17 @@ const intlMessages = defineMessages({
id: 'app.userList.you',
description: 'Text for identifying your user',
},
minimumDurationWarnBreakout: {
id: 'app.createBreakoutRoom.minimumDurationWarnBreakout',
description: 'minimum duration warning message label',
},
});
const BREAKOUT_LIM = Meteor.settings.public.app.breakouts.breakoutRoomLimit;
const MIN_BREAKOUT_ROOMS = 2;
const MAX_BREAKOUT_ROOMS = BREAKOUT_LIM > MIN_BREAKOUT_ROOMS ? BREAKOUT_LIM : MIN_BREAKOUT_ROOMS;
const MIN_BREAKOUT_TIME = 5;
const propTypes = {
intl: PropTypes.shape({
@ -177,6 +183,7 @@ class BreakoutRoom extends PureComponent {
valid: true,
record: false,
numberOfRoomsIsValid: true,
durationIsValid: true,
breakoutJoinedUsers: null,
};
@ -307,19 +314,26 @@ class BreakoutRoom extends PureComponent {
freeJoin,
record,
numberOfRoomsIsValid,
durationIsValid,
} = this.state;
const { numberOfRooms, durationTime } = this.state;
if ((durationTime || 0) < MIN_BREAKOUT_TIME) {
this.setState({ durationIsValid: false });
return;
}
if (users.length === this.getUserByRoom(0).length && !freeJoin) {
this.setState({ valid: false });
return;
}
if (!numberOfRoomsIsValid) {
if (!numberOfRoomsIsValid || !durationIsValid) {
return;
}
this.setState({ preventClosing: false });
const { numberOfRooms, durationTime } = this.state;
const rooms = _.range(1, numberOfRooms + 1).map((value) => ({
users: this.getUserByRoom(value).map((u) => u.userId),
name: intl.formatMessage(intlMessages.roomName, {
@ -466,17 +480,25 @@ class BreakoutRoom extends PureComponent {
increaseDurationTime() {
const { durationTime } = this.state;
this.setState({ durationTime: (1 * durationTime) + 1 });
const number = ((1 * durationTime) + 1);
const newDurationTime = number > MIN_BREAKOUT_TIME ? number : MIN_BREAKOUT_TIME;
this.setState({ durationTime: newDurationTime, durationIsValid: true });
}
decreaseDurationTime() {
const { durationTime } = this.state;
const number = ((1 * durationTime) - 1);
this.setState({ durationTime: number < 1 ? 1 : number });
const newDurationTime = number > MIN_BREAKOUT_TIME ? number : MIN_BREAKOUT_TIME;
this.setState({ durationTime: newDurationTime, durationIsValid: true });
}
changeDurationTime(event) {
this.setState({ durationTime: Number.parseInt(event.target.value, 10) || '' });
const durationTime = Number.parseInt(event.target.value, 10) || '';
const durationIsValid = durationTime >= MIN_BREAKOUT_TIME;
this.setState({ durationTime, durationIsValid });
}
blurDurationTime(event) {
@ -489,7 +511,7 @@ class BreakoutRoom extends PureComponent {
this.setState({
numberOfRooms,
numberOfRoomsIsValid: numberOfRooms <= MAX_BREAKOUT_ROOMS
&& numberOfRooms >= MIN_BREAKOUT_ROOMS,
&& numberOfRooms >= MIN_BREAKOUT_ROOMS,
});
}
@ -552,6 +574,7 @@ class BreakoutRoom extends PureComponent {
numberOfRooms,
durationTime,
numberOfRoomsIsValid,
durationIsValid,
} = this.state;
if (isInvitation) return null;
@ -580,7 +603,7 @@ class BreakoutRoom extends PureComponent {
}
</select>
</div>
<label htmlFor="breakoutRoomTime">
<label htmlFor="breakoutRoomTime" className={!durationIsValid ? styles.changeToWarn : null}>
<p className={styles.labelText} aria-hidden>
{intl.formatMessage(intlMessages.duration)}
</p>
@ -607,7 +630,7 @@ class BreakoutRoom extends PureComponent {
`${intl.formatMessage(intlMessages.minusRoomTime)} ${intl.formatMessage(intlMessages.roomTime, { 0: durationTime - 1 })}`
}
icon="substract"
onClick={() => {}}
onClick={() => { }}
hideLabel
circle
size="sm"
@ -624,13 +647,17 @@ class BreakoutRoom extends PureComponent {
`${intl.formatMessage(intlMessages.addRoomTime)} ${intl.formatMessage(intlMessages.roomTime, { 0: durationTime + 1 })}`
}
icon="add"
onClick={() => {}}
onClick={() => { }}
hideLabel
circle
size="sm"
/>
</HoldButton>
</div>
<span className={durationIsValid ? styles.dontShow : styles.leastOneWarn}>
{intl.formatMessage(intlMessages.minimumDurationWarnBreakout, { 0: MIN_BREAKOUT_TIME })}
</span>
</label>
<Button
data-test="randomlyAssign"
@ -796,7 +823,7 @@ class BreakoutRoom extends PureComponent {
))
}
</span>
{ isInvitation || this.renderButtonSetLevel(1, intl.formatMessage(intlMessages.backLabel))}
{isInvitation || this.renderButtonSetLevel(1, intl.formatMessage(intlMessages.backLabel))}
</div>
);
}
@ -813,15 +840,15 @@ class BreakoutRoom extends PureComponent {
<>
{!valid
&& (
<span className={styles.withError}>
{intl.formatMessage(intlMessages.leastOneWarnBreakout)}
</span>
<span className={styles.withError}>
{intl.formatMessage(intlMessages.leastOneWarnBreakout)}
</span>
)}
{!numberOfRoomsIsValid
&& (
<span className={styles.withError}>
{intl.formatMessage(intlMessages.numberOfRoomsIsValid)}
</span>
<span className={styles.withError}>
{intl.formatMessage(intlMessages.numberOfRoomsIsValid)}
</span>
)}
</>
);
@ -887,6 +914,7 @@ class BreakoutRoom extends PureComponent {
preventClosing,
valid,
numberOfRoomsIsValid,
durationIsValid,
} = this.state;
const { isMobile } = deviceInfo;
@ -904,7 +932,7 @@ class BreakoutRoom extends PureComponent {
? intl.formatMessage(intlMessages.invitationConfirm)
: intl.formatMessage(intlMessages.confirmButton),
callback: isInvitation ? this.onInviteBreakout : this.onCreateBreakouts,
disabled: !valid || !numberOfRoomsIsValid,
disabled: !valid || !numberOfRoomsIsValid || !durationIsValid,
}
}
dismiss={{

View File

@ -134,6 +134,14 @@ input[type="number"]::-webkit-outer-spin-button, input[type="number"]::-webkit-i
& > .freeJoinLabel {
color: var(--color-danger);
}
& > .labelText {
color: var(--color-danger);
}
& .duration {
border-color: var(--color-danger) !important;
}
}
.breakoutBox {
@ -333,7 +341,7 @@ input[type="number"]::-webkit-outer-spin-button, input[type="number"]::-webkit-i
.checkBoxesContainer {
@extend %flex-row;
margin-top: 1rem;
margin-top: 2rem;
}
.withError {

View File

@ -42,42 +42,7 @@ const propTypes = {
amIPresenter: PropTypes.bool.isRequired,
};
const getLocalizedAnswers = (type, intl, pollTypes) => {
switch (type) {
case pollTypes.TrueFalse:
return [
intl.formatMessage(intlMessages.trueOptionLabel),
intl.formatMessage(intlMessages.falseOptionLabel),
];
case pollTypes.YesNo:
return [
intl.formatMessage(intlMessages.yesOptionLabel),
intl.formatMessage(intlMessages.noOptionLabel),
];
case pollTypes.YesNoAbstention:
return [
intl.formatMessage(intlMessages.yesOptionLabel),
intl.formatMessage(intlMessages.noOptionLabel),
intl.formatMessage(intlMessages.abstentionOptionLabel),
];
default:
return null;
}
};
const handleClickQuickPoll = (newLayoutContextDispatch) => {
newLayoutContextDispatch({
type: ACTIONS.SET_SIDEBAR_CONTENT_IS_OPEN,
value: true,
});
newLayoutContextDispatch({
type: ACTIONS.SET_SIDEBAR_CONTENT_PANEL,
value: PANELS.POLL,
});
Session.set('forcePollOpen', true);
Session.set('pollInitiated', true);
};
const getAvailableQuickPolls = (slideId, parsedSlides, startPoll, intl, pollTypes, newLayoutContextDispatch) => {
const getAvailableQuickPolls = (slideId, parsedSlides, startPoll, pollTypes) => {
const pollItemElements = parsedSlides.map((poll) => {
const { poll: label } = poll;
let { type } = poll;
@ -89,9 +54,6 @@ const getAvailableQuickPolls = (slideId, parsedSlides, startPoll, intl, pollType
type !== pollTypes.TrueFalse) {
const { options } = itemLabel;
itemLabel = options.join('/').replace(/[\n.)]/g, '');
} else {
answers = getLocalizedAnswers(type, intl, pollTypes);
type = pollTypes.Custom;
}
// removes any whitespace from the label
@ -149,7 +111,7 @@ class QuickPollDropdown extends Component {
);
const { slideId, quickPollOptions } = parsedSlide;
const quickPolls = getAvailableQuickPolls(slideId, quickPollOptions, startPoll, intl, pollTypes, newLayoutContextDispatch);
const quickPolls = getAvailableQuickPolls(slideId, quickPollOptions, startPoll, pollTypes);
if (quickPollOptions.length === 0) return null;
@ -166,13 +128,6 @@ class QuickPollDropdown extends Component {
singlePollType = type;
}
if (singlePollType === pollTypes.TrueFalse ||
singlePollType === pollTypes.YesNo ||
singlePollType === pollTypes.YesNoAbstention) {
answers = getLocalizedAnswers(singlePollType, intl, pollTypes);
singlePollType = pollTypes.Custom;
}
let btn = (
<Button
aria-label={intl.formatMessage(intlMessages.quickPollLabel)}

View File

@ -45,6 +45,7 @@ import SidebarNavigationContainer from '../sidebar-navigation/container';
import SidebarContentContainer from '../sidebar-content/container';
import { makeCall } from '/imports/ui/services/api';
import ConnectionStatusService from '/imports/ui/components/connection-status/service';
import { NAVBAR_HEIGHT, LARGE_NAVBAR_HEIGHT } from '/imports/ui/components/layout/layout-manager/component';
const MOBILE_MEDIA = 'only screen and (max-width: 40em)';
const APP_CONFIG = Meteor.settings.public.app;
@ -304,6 +305,37 @@ class App extends Component {
);
}
renderNavBar() {
const { navbar, isLargeFont } = this.props;
if (!navbar) return null;
const realNavbarHeight = isLargeFont ? LARGE_NAVBAR_HEIGHT : NAVBAR_HEIGHT;
return (
<header
className={styles.navbar}
style={{
height: realNavbarHeight,
}}
>
{navbar}
</header>
);
}
renderSidebar() {
const { sidebar } = this.props;
if (!sidebar) return null;
return (
<aside className={styles.sidebar}>
{sidebar}
</aside>
);
}
renderCaptions() {
const { captions } = this.props;

View File

@ -165,6 +165,7 @@ export default injectIntl(withModalMounter(withTracker(({ intl, baseControls })
pushAlertEnabled: AppSettings.chatPushAlerts,
shouldShowScreenshare,
shouldShowPresentation: !shouldShowScreenshare,
isLargeFont: Session.get('isLargeFont')
};
})(AppContainer)));

View File

@ -169,10 +169,9 @@ class AudioModal extends Component {
} = this.props;
if (!isUsingAudio) {
if (forceListenOnlyAttendee) return this.handleJoinListenOnly();
if (forceListenOnlyAttendee || audioLocked) return this.handleJoinListenOnly();
if ((joinFullAudioImmediately && !listenOnlyMode)
|| audioLocked) return this.handleJoinMicrophone();
if (joinFullAudioImmediately && !listenOnlyMode) return this.handleJoinMicrophone();
}
}

View File

@ -27,6 +27,9 @@ const intlMessages = defineMessages({
},
});
const CHAT_CONFIG = Meteor.settings.public.chat;
const ENABLE_SAVE_AND_COPY_PUBLIC_CHAT = CHAT_CONFIG.enableSaveAndCopyPublicChat;
class ChatDropdown extends PureComponent {
constructor(props) {
super(props);
@ -78,13 +81,21 @@ class ChatDropdown extends PureComponent {
getAvailableActions() {
const {
intl, isMeteorConnected, amIModerator, meetingIsBreakout, meetingName, timeWindowsValues, users,
intl,
isMeteorConnected,
amIModerator,
meetingIsBreakout,
meetingName,
timeWindowsValues,
users,
} = this.props;
const clearIcon = 'delete';
const saveIcon = 'download';
const copyIcon = 'copy';
return _.compact([
ENABLE_SAVE_AND_COPY_PUBLIC_CHAT
&& (
<Dropdown.DropdownListItem
data-test="chatSave"
icon={saveIcon}
@ -99,19 +110,23 @@ class ChatDropdown extends PureComponent {
link.setAttribute('download', `bbb-${meetingName}[public-chat]_${dateString}.txt`);
link.setAttribute(
'href',
`data: ${mimeType} ;charset=utf-8,`+
`${encodeURIComponent(ChatService.exportChat(timeWindowsValues, users, intl))}`,
`data: ${mimeType} ;charset=utf-8,`
+ `${encodeURIComponent(ChatService.exportChat(timeWindowsValues, users, intl))}`,
);
link.dispatchEvent(new MouseEvent('click', { bubbles: true, cancelable: true, view: window }));
}}
/>,
/>
),
ENABLE_SAVE_AND_COPY_PUBLIC_CHAT
&& (
<Dropdown.DropdownListItem
data-test="chatCopy"
icon={copyIcon}
id="clipboardButton"
label={intl.formatMessage(intlMessages.copy)}
key={this.actionsKey[1]}
/>,
/>
),
!meetingIsBreakout && amIModerator && isMeteorConnected ? (
<Dropdown.DropdownListItem
data-test="chatClear"
@ -125,11 +140,14 @@ class ChatDropdown extends PureComponent {
}
render() {
const { intl } = this.props;
const {
intl,
amIModerator,
} = this.props;
const { isSettingOpen } = this.state;
const availableActions = this.getAvailableActions();
if (!amIModerator && !ENABLE_SAVE_AND_COPY_PUBLIC_CHAT) return null;
return (
<Dropdown
isOpen={isSettingOpen}

View File

@ -42,6 +42,14 @@ const intlMessages = defineMessages({
id: 'app.debugWindow.form.enableAutoarrangeLayoutDescription',
description: 'Enable Autoarrange layout description',
},
chatLoggerLabel: {
id: 'app.debugWindow.form.chatLoggerLabel',
description: 'Chat logger level form label',
},
applyButtonLabel: {
id: 'app.debugWindow.form.button.apply',
description: 'Chat logger level form apply button',
},
on: {
id: 'app.switch.onLabel',
description: 'label for toggle switch on state',
@ -291,7 +299,7 @@ class DebugWindow extends Component {
</div>
<div className={styles.row}>
<div className={styles.cell}>
Testing the chatLogger levels:
{`${intl.formatMessage(intlMessages.chatLoggerLabel)}:`}
</div>
<div className={styles.cell}>
<div className={styles.cellContent}>
@ -319,7 +327,7 @@ class DebugWindow extends Component {
});
}}
>
Aplicar
{`${intl.formatMessage(intlMessages.applyButtonLabel)}`}
</button>
</div>
</div>

View File

@ -16,7 +16,8 @@ const USERLIST_MIN_WIDTH = 150;
const USERLIST_MAX_WIDTH = 240;
const CHAT_MIN_WIDTH = 320;
const CHAT_MAX_WIDTH = 400;
const NAVBAR_HEIGHT = 170;
const NAVBAR_HEIGHT = 112;
const LARGE_NAVBAR_HEIGHT = 170;
const ACTIONSBAR_HEIGHT = isMobile ? 50 : 42;
const BREAKOUT_MIN_WIDTH = 320;
const BREAKOUT_MAX_WIDTH = 400;
@ -97,6 +98,14 @@ class LayoutManagerComponent extends Component {
window.addEventListener('webcamPlacementChange', () => {
this.setLayoutSizes(false, false, true);
});
window.addEventListener('fullscreenchange', () => {
setTimeout(() => this.setLayoutSizes(), 200);
});
window.addEventListener('localeChanged', () => {
setTimeout(() => this.setLayoutSizes(), 200);
});
}
componentDidUpdate(prevProps) {
@ -473,7 +482,10 @@ class LayoutManagerComponent extends Component {
secondPanel = newPanelSize;
}
const mediaAreaHeight = this.windowHeight() - (NAVBAR_HEIGHT + ACTIONSBAR_HEIGHT) - 10;
const isLargeFont = Session.get('isLargeFont');
const realNavbarHeight = isLargeFont ? LARGE_NAVBAR_HEIGHT : NAVBAR_HEIGHT;
const mediaAreaHeight = this.windowHeight() - (realNavbarHeight + ACTIONSBAR_HEIGHT) - 10;
const mediaAreaWidth = this.windowWidth() - (
(sidebarNavigation.isOpen ? firstPanel.width : 0)
+ (sidebarContent.isOpen ? secondPanel.width : 0)
@ -482,7 +494,7 @@ class LayoutManagerComponent extends Component {
const newMediaBounds = {
width: mediaAreaWidth,
height: mediaAreaHeight,
top: NAVBAR_HEIGHT,
top: realNavbarHeight,
left: firstPanel.width + secondPanel.width,
};
@ -549,6 +561,7 @@ export {
CHAT_MIN_WIDTH,
CHAT_MAX_WIDTH,
NAVBAR_HEIGHT,
LARGE_NAVBAR_HEIGHT,
ACTIONSBAR_HEIGHT,
WEBCAMSAREA_MIN_PERCENT,
WEBCAMSAREA_MAX_PERCENT,

View File

@ -220,17 +220,13 @@ class MeetingEnded extends PureComponent {
<div className={styles.modal}>
<div className={styles.content}>
<h1 className={styles.title} data-test="meetingEndedModalTitle">
{
intl.formatMessage(intlMessage[code] || intlMessage[430])
}
{this.meetingEndedBy
? intl.formatMessage(intlMessage.messageEndedByUser, { 0: this.meetingEndedBy })
: intl.formatMessage(intlMessage[code] || intlMessage[430])}
</h1>
{!allowRedirectToLogoutURL() ? null : (
<div>
{this.meetingEndedBy ? (
<div className={styles.text}>
{intl.formatMessage(intlMessage.messageEndedByUser, { 0: this.meetingEndedBy })}
</div>
) : null}
<div className={styles.text}>
{intl.formatMessage(intlMessage.messageEnded)}
</div>
@ -294,7 +290,7 @@ class MeetingEnded extends PureComponent {
/>
) : null}
</div>
) : null }
) : null}
{noRating && allowRedirectToLogoutURL() ? (
<Button
color="primary"

View File

@ -344,6 +344,7 @@ class Poll extends Component {
currentPoll,
pollAnswerIds,
usernames,
isDefaultPoll,
} = this.props;
return (
@ -358,6 +359,7 @@ class Poll extends Component {
currentPoll,
pollAnswerIds,
usernames,
isDefaultPoll,
}}
handleBackClick={this.handleBackClick}
/>

View File

@ -39,9 +39,11 @@ export default withTracker(() => {
const pollId = currentSlide ? currentSlide.id : PUBLIC_CHAT_KEY;
const startPoll = (type, question = '') => makeCall('startPoll', type, pollId, question);
const pollTypes = Service.pollTypes;
const startCustomPoll = (type, question = '', answers) => makeCall('startPoll', type, pollId, question, answers);
const startPoll = (type, question = '') => makeCall('startPoll', pollTypes, type, pollId, question);
const startCustomPoll = (type, question = '', answers) => makeCall('startPoll', pollTypes, type, pollId, question, answers);
const stopPoll = () => makeCall('stopPoll');

View File

@ -46,15 +46,17 @@ const getResponseString = (obj) => {
class LiveResult extends PureComponent {
static getDerivedStateFromProps(nextProps) {
const {
currentPoll, intl, pollAnswerIds, usernames,
currentPoll, intl, pollAnswerIds, usernames, isDefaultPoll,
} = nextProps;
if (!currentPoll) return null;
const {
answers, responses, users, numRespondents,
answers, responses, users, numRespondents, pollType
} = currentPoll;
const defaultPoll = isDefaultPoll(pollType);
const currentPollQuestion = (currentPoll.question) ? currentPoll.question : '';
let userAnswers = responses
@ -85,7 +87,7 @@ class LiveResult extends PureComponent {
<td className={styles.resultLeft}>{user.name}</td>
<td data-test="receivedAnswer" className={styles.resultRight}>
{
pollAnswerIds[formattedMessageIndex]
defaultPoll && pollAnswerIds[formattedMessageIndex]
? intl.formatMessage(pollAnswerIds[formattedMessageIndex])
: user.answer
}
@ -110,7 +112,7 @@ class LiveResult extends PureComponent {
<div className={styles.main} key={_.uniqueId('stats-')}>
<div className={styles.left}>
{
pollAnswerIds[formattedMessageIndex]
defaultPoll && pollAnswerIds[formattedMessageIndex]
? intl.formatMessage(pollAnswerIds[formattedMessageIndex])
: obj.key
}

View File

@ -23,7 +23,7 @@ const pollTypes = {
A3: 'A-3',
A4: 'A-4',
A5: 'A-5',
Custom: 'custom',
Custom: 'CUSTOM',
Response: 'R-',
}
@ -95,7 +95,9 @@ const getPollResultsText = (isDefaultPoll, answers, numRespondents, intl) => {
const pctBars = "|".repeat(pct * MAX_POLL_RESULT_BARS / 100);
const pctFotmatted = `${Number.isNaN(pct) ? 0 : pct}%`;
if (isDefaultPoll) {
const translatedKey = intl.formatMessage(pollAnswerIds[item.key.toLowerCase()]);
const translatedKey = pollAnswerIds[item.key.toLowerCase()]
? intl.formatMessage(pollAnswerIds[item.key.toLowerCase()])
: item.key;
resultString += `${translatedKey}: ${item.numVotes || 0} |${pctBars} ${pctFotmatted}\n`;
} else {
resultString += `${item.id+1}: ${item.numVotes || 0} |${pctBars} ${pctFotmatted}\n`;

View File

@ -94,19 +94,6 @@
color: var(--color-text);
}
.grid {
display: grid;
grid-template-columns: repeat(var(--poll-column-amount), 1fr);
> pollBtn:nth-child(odd) {
grid-column: 1;
}
> pollBtn:nth-child(even) {
grid-column: var(--poll-column-amount);
}
}
.pollBtn:nth-child(even) {
margin-right: inherit;
margin-left: var(--sm-padding-y);

View File

@ -92,7 +92,8 @@ class Polling extends Component {
handleVote,
handleTypedVote,
pollAnswerIds,
pollTypes
pollTypes,
isDefaultPoll,
} = this.props;
const {
@ -101,7 +102,8 @@ class Polling extends Component {
if (!poll) return null;
const { stackOptions, answers, question } = poll;
const { stackOptions, answers, question, pollType } = poll;
const defaultPoll = isDefaultPoll(pollType);
const pollAnswerStyles = {
[styles.pollingAnswers]: true,
@ -144,7 +146,7 @@ class Polling extends Component {
{poll.answers.map((pollAnswer) => {
const formattedMessageIndex = pollAnswer.key.toLowerCase();
let label = pollAnswer.key;
if (pollAnswerIds[formattedMessageIndex]) {
if (defaultPoll && pollAnswerIds[formattedMessageIndex]) {
label = intl.formatMessage(pollAnswerIds[formattedMessageIndex]);
}

View File

@ -38,6 +38,7 @@ export default withTracker(() => {
poll,
pollAnswerIds: PollService.pollAnswerIds,
pollTypes: PollService.pollTypes,
isDefaultPoll: PollService.isDefaultPoll,
isMeteorConnected: Meteor.status().connected,
});
})(PollingContainer);

View File

@ -90,11 +90,11 @@
display: grid;
grid-template-columns: repeat(var(--col-amount), 1fr);
> pollButtonWrapper:nth-child(odd) {
> .pollButtonWrapper:nth-child(odd) {
grid-column: 1;
}
> pollButtonWrapper:nth-child(even) {
> .pollButtonWrapper:nth-child(even) {
grid-column: var(--col-amount);
}

View File

@ -4,6 +4,7 @@ import { withTracker } from 'meteor/react-meteor-data';
import PresentationService from '/imports/ui/components/presentation/service';
import MediaService from '/imports/ui/components/media/service';
import Service from '/imports/ui/components/actions-bar/service';
import PollService from '/imports/ui/components/poll/service';
import { makeCall } from '/imports/ui/services/api';
import PresentationToolbar from './component';
import PresentationToolbarService from './service';
@ -35,7 +36,11 @@ export default withTracker((params) => {
} = params;
const startPoll = (type, id, answers) => {
makeCall('startPoll', type, id, '', answers);
Session.set('openPanel', 'poll');
Session.set('forcePollOpen', true);
window.dispatchEvent(new Event('panelChanged'));
makeCall('startPoll', PollService.pollTypes, type, id, '', answers);
};
return {

View File

@ -295,6 +295,10 @@ class PresentationUploader extends Component {
}
}
componentWillUnmount() {
Session.set('showUploadPresentationView', false);
}
isDefault(presentation) {
const { defaultFileName } = this.props;
return presentation.filename === defaultFileName
@ -312,8 +316,8 @@ class PresentationUploader extends Component {
const validExtentions = fileValidMimeTypes.map((fileValid) => fileValid.extension);
const [accepted, rejected] = _.partition(files
.concat(files2), (f) => (
validMimes.includes(f.type) || validExtentions.includes(`.${f.name.split('.').pop()}`)
));
validMimes.includes(f.type) || validExtentions.includes(`.${f.name.split('.').pop()}`)
));
const presentationsToUpload = accepted.map((file) => {
const id = _.uniqueId(file.name);

View File

@ -12,9 +12,9 @@ const PRESENTATION_CONFIG = Meteor.settings.public.presentation;
const PresentationUploaderContainer = (props) => (
props.isPresenter
&& (
<ErrorBoundary Fallback={() => <FallbackModal />}>
<PresentationUploader {...props} />
</ErrorBoundary>
<ErrorBoundary Fallback={() => <FallbackModal />}>
<PresentationUploader {...props} />
</ErrorBoundary>
)
);

View File

@ -155,17 +155,12 @@ const parseCurrentSlideContent = (yesValue, noValue, abstentionValue, trueValue,
};
const isPresenter = (podId) => {
// a main presenter in the meeting always owns a default pod
if (podId !== 'DEFAULT_PRESENTATION_POD') {
// if a pod is not default, then we check whether this user owns a current pod
const selector = {
meetingId: Auth.meetingID,
podId,
};
const pod = PresentationPods.findOne(selector);
return pod.currentPresenterId === Auth.userID;
}
return true;
const selector = {
meetingId: Auth.meetingID,
podId,
};
const pod = PresentationPods.findOne(selector);
return pod?.currentPresenterId === Auth.userID;
};
export default {

View File

@ -30,10 +30,11 @@ export default withTracker((props) => {
fields: {
emojiTime: 1, emoji: 1, userId: 1, name: 1, color: 1,
},
sort: { emojiTime: 1 },
})
.fetch()
.filter(u => u.emoji === status && u.userId !== Auth.userID);
const clearUserStatus = userId => makeCall('setEmojiStatus', userId, 'none');
.filter((u) => u.emoji === status && u.userId !== Auth.userID);
const clearUserStatus = (userId) => makeCall('setEmojiStatus', userId, 'none');
return {
clearUserStatus,

View File

@ -8,5 +8,4 @@
.tippy-tooltip.bbbtip-theme>.tippy-svg-arrow{
fill: #333333;
background-color: transparent;
background: transparent;
}

View File

@ -213,7 +213,7 @@ class PollDrawComponent extends Component {
// if (!state.initialState) return;
const { annotation } = this.props;
const { points, result } = annotation;
const { points, result, pollType } = annotation;
const { slideWidth, slideHeight, intl } = this.props;
// group duplicated responses and keep track of the number of removed items
@ -253,30 +253,14 @@ class PollDrawComponent extends Component {
// adding value of the iterator to each line needed to create unique
// keys while rendering at the end
const arrayLength = reducedResult.length;
const { pollAnswerIds } = PollService;
const isDefaultPoll = PollService.isDefaultPoll(pollType);
for (let i = 0; i < arrayLength; i += 1) {
const _tempArray = [];
const _result = reducedResult[i];
let isDefaultPoll;
switch (_result.key.toLowerCase()) {
case 'true':
case 'false':
case 'yes':
case 'no':
case 'abstention':
case 'a':
case 'b':
case 'c':
case 'd':
case 'e':
isDefaultPoll = true;
break;
default:
isDefaultPoll = false;
break;
}
if (isDefaultPoll) {
_result.key = intl.formatMessage({ id: `app.poll.answer.${_result.key.toLowerCase()}` });
_result.key = intl.formatMessage(pollAnswerIds[_result.key.toLowerCase()]);
}
if (_result.key.length > MAX_DISPLAYED_CHARS) {
@ -318,9 +302,8 @@ class PollDrawComponent extends Component {
const maxLineHeight = (innerHeight * 0.75) / textArray.length;
const lineToMeasure = textArray[0];
const { pollAnswerIds } = PollService;
const messageIndex = lineToMeasure[0].toLowerCase();
if (pollAnswerIds[messageIndex]) {
if (isDefaultPoll && pollAnswerIds[messageIndex]) {
lineToMeasure[0] = intl.formatMessage(pollAnswerIds[messageIndex]);
}
@ -420,7 +403,8 @@ class PollDrawComponent extends Component {
let label = textArray[i][0];
const formattedMessageIndex = label.toLowerCase();
if (pollAnswerIds[formattedMessageIndex]) {
const isDefaultPoll = PollService.isDefaultPoll(annotation.pollType);
if (isDefaultPoll && pollAnswerIds[formattedMessageIndex]) {
label = intl.formatMessage(pollAnswerIds[formattedMessageIndex]);
}

View File

@ -7634,6 +7634,13 @@
"read-pkg-up": "^1.0.1",
"redent": "^1.0.0",
"trim-newlines": "^1.0.0"
},
"dependencies": {
"trim-newlines": {
"version": "4.0.2",
"resolved": "https://registry.npmjs.org/trim-newlines/-/trim-newlines-4.0.2.tgz",
"integrity": "sha512-GJtWyq9InR/2HRiLZgpIKv+ufIKrVrvjQWEj7PxAXNc5dwbNJkqhAUoAGgzRmULAnoOM5EIpveYd3J2VeSAIew=="
}
}
},
"merge-stream": {
@ -11148,11 +11155,6 @@
"punycode": "^2.1.1"
}
},
"trim-newlines": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/trim-newlines/-/trim-newlines-1.0.0.tgz",
"integrity": "sha1-WIeWa7WCpFA6QetST301ARgVphM="
},
"triple-beam": {
"version": "1.3.0",
"resolved": "https://registry.npmjs.org/triple-beam/-/triple-beam-1.3.0.tgz",

View File

@ -11,7 +11,8 @@
"test:recording": "export WITH_RECORD=true;export REGRESSION_TESTING=false;env $(cat tests/puppeteer/.env | xargs) jest all.test.js --color --detectOpenHandles --forceExit",
"test-visual-regression": "export REGRESSION_TESTING=true;env $(cat tests/puppeteer/.env | xargs) jest all.test.js --color --detectOpenHandles --forceExit",
"test-visual-regression:recording": "export WITH_RECORD=true;export REGRESSION_TESTING=true;env $(cat tests/puppeteer/.env | xargs) jest all.test.js --color --detectOpenHandles --forceExit",
"lint": "eslint . --ext .jsx,.js"
"lint": "eslint . --ext .jsx,.js",
"preinstall": "npx npm-force-resolutions"
},
"meteor": {
"mainModule": {
@ -102,6 +103,9 @@
"puppeteer": "3.0.0",
"sha1": "^1.1.1"
},
"resolutions": {
"trim-newlines": "^4.0.1"
},
"cssModules": {
"cssClassNamingConvention": {
"template": "${name}--${shorthash.unique(scopedName)}"

View File

@ -392,6 +392,7 @@ public:
enabled: true
itemsPerPage: 100
timeBetweenFetchs: 1000
enableSaveAndCopyPublicChat: true
bufferChatInsertsMs: 0
startClosed: false
min_message_length: 1

View File

@ -139,7 +139,6 @@
"app.meeting.ended": "Die sessie is beëindig",
"app.meeting.meetingTimeRemaining": "Oorblywende vergadertyd: {0}",
"app.meeting.meetingTimeHasEnded": "Die tyd is verby. Die vergadering sal binnekort sluit",
"app.meeting.endedByUserMessage": "Die vergadering is beëindig deur {0}",
"app.meeting.endedMessage": "Jy sal na die tuisskerm teruggestuur word",
"app.meeting.alertMeetingEndsUnderMinutesSingular": "Vergadering sluit oor een minuut.",
"app.meeting.alertMeetingEndsUnderMinutesPlural": "Vergadering sluit oor {0} minute.",

View File

@ -139,7 +139,7 @@
"app.meeting.ended": "إنتهت هذه الجلسة",
"app.meeting.meetingTimeRemaining": "الوقت المتبقي للاجتماع: {0}",
"app.meeting.meetingTimeHasEnded": "انتهى الوقت. سيتم إغلاق الاجتماع قريبًا",
"app.meeting.endedByUserMessage": "تم إنهاء الاجتماع من قبل {0}",
"app.meeting.endedByUserMessage": "تم إنهاء هذه الجلسة من قبل {0}",
"app.meeting.endedMessage": "سيتم اعادة توجيهك الى الشاشة الرئيسية",
"app.meeting.alertMeetingEndsUnderMinutesSingular": "الاجتماع سينتهي في دقيقة واحدة.",
"app.meeting.alertMeetingEndsUnderMinutesPlural": "سينتهي الاجتماع في غضون {0} دقيقة.",

View File

@ -139,7 +139,6 @@
"app.meeting.ended": "এই অধিবেশন শেষ হয়েছে",
"app.meeting.meetingTimeRemaining": "সভার সময় বাকি: {0}",
"app.meeting.meetingTimeHasEnded": "সময় শেষ। শীঘ্রই সভা বন্ধ হবে",
"app.meeting.endedByUserMessage": "সভাটি {0 by দ্বারা শেষ হয়েছিল",
"app.meeting.endedMessage": "আপনাকে হোম স্ক্রিনে ফরোয়ার্ড করা হবে",
"app.meeting.alertMeetingEndsUnderMinutesSingular": "এক মিনিটের মধ্যে সভা বন্ধ হচ্ছে।",
"app.meeting.alertMeetingEndsUnderMinutesPlural": "সভাটি {0} মিনিটের মধ্যে শেষ হচ্ছে।",

View File

@ -139,7 +139,6 @@
"app.meeting.ended": "Setkání bylo ukončeno",
"app.meeting.meetingTimeRemaining": "Čas zbývající do konce setkání: {0}",
"app.meeting.meetingTimeHasEnded": "Čas setkání vypršel. Setkání bude za okamžik ukončeno.",
"app.meeting.endedByUserMessage": "Setkání bylo ukončeno uživatelem {0}",
"app.meeting.endedMessage": "Budete přesměrováni zpět na úvodní obrazovku",
"app.meeting.alertMeetingEndsUnderMinutesSingular": "Setkání se ukončí za minutu.",
"app.meeting.alertMeetingEndsUnderMinutesPlural": "Setkání skončí za {0} minut.",

View File

@ -139,7 +139,6 @@
"app.meeting.ended": "Denne session er afsluttet",
"app.meeting.meetingTimeRemaining": "Resterende mødetid: {0}",
"app.meeting.meetingTimeHasEnded": "Tiden sluttede. Mødet afsluttes snart",
"app.meeting.endedByUserMessage": "Mødet sluttede med {0}",
"app.meeting.endedMessage": "Du videresendes tilbage til startskærmen",
"app.meeting.alertMeetingEndsUnderMinutesSingular": " Mødet lukker om et minut.",
"app.meeting.alertMeetingEndsUnderMinutesPlural": " Mødet lukker om {0} minutter.",

View File

@ -139,7 +139,7 @@
"app.meeting.ended": "Diese Konferenz wurde beendet",
"app.meeting.meetingTimeRemaining": "Verbleibende Konferenzzeit: {0}",
"app.meeting.meetingTimeHasEnded": "Die Zeit ist abgelaufen. Die Konferenz wird in Kürze beendet",
"app.meeting.endedByUserMessage": "Die Konferenz wurde von {0} beendet.",
"app.meeting.endedByUserMessage": "Diese Konferenz wurde durch {0} beendet",
"app.meeting.endedMessage": "Sie werden zum Startbildschirm weitergeleitet",
"app.meeting.alertMeetingEndsUnderMinutesSingular": "Konferenz endet in einer Minute.",
"app.meeting.alertMeetingEndsUnderMinutesPlural": "Konferenz endet in {0} Minuten.",

View File

@ -7,76 +7,77 @@
"app.chat.locked": "ޗެޓުވަނީ ބަންދު ކުރެވިފައި، މެސެޖެއް ނުފޮނުވޭނެ",
"app.chat.inputLabel": "ޗެޓް {0} އަށް މެސެޖު ލިޔާތަން",
"app.chat.inputPlaceholder": "{0} އަށް މެސެޖު ފޮނުވާ",
"app.chat.titlePublic": "ޢާންމު ޗެޓް",
"app.chat.titlePublic": "އާންމު ޗެޓް",
"app.chat.titlePrivate": "{0} މީހުންނާއެކު ޕްރައިވެޓް ޗެޓް",
"app.chat.partnerDisconnected": "{0} މީޓިންގުން ވަކިވެއްޖެ",
"app.chat.partnerDisconnected": "{0} ބައްދަލުވުމުން ވަކިވެއްޖެ",
"app.chat.closeChatLabel": "{0} ލައްޕާ",
"app.chat.hideChatLabel": "{0} ފޮރުވާ",
"app.chat.moreMessages": "އިތުރު މެސެޖުތައް ތިރީގައި",
"app.chat.dropdown.options": "ޗެޓް އޮޕްޝަންތައް",
"app.chat.dropdown.clear": "ކްލިއަރ",
"app.chat.dropdown.copy": "ކޮޕީކޮށްލާ",
"app.chat.dropdown.save": "ސޭވްކޮށްލާ",
"app.chat.dropdown.options": "ޗެޓް ޚިޔާރުތައް",
"app.chat.dropdown.clear": "ފޮހެލާ",
"app.chat.dropdown.copy": "ކޮޕީ",
"app.chat.dropdown.save": "ރައްކާކޮށްލާ",
"app.chat.label": "ޗެޓް",
"app.chat.offline": "އޮފްލައިން",
"app.chat.pollResult": "ވޯޓުގެ ނަތީއްޖާ",
"app.chat.emptyLogLabel": "ޗެޓް ލޮގް ހުސްކޮށް",
"app.chat.clearPublicChatMessage": "މޮޑެރޭޓަރއެއް ވަނީ ޢާންމު ޗެޓް ހިސްޓަރީ ފުހެލާފައި",
"app.chat.multi.typing": "އެތައް ޔޫސާއެއް ޓައިޕްކުރަނީ",
"app.chat.one.typing": "{0} ޓައިޕްކުރަނީ",
"app.chat.two.typing": "{0} އާއި {1} ޓައިޕްކުރަނީ",
"app.chat.clearPublicChatMessage": "މޮޑެރޭޓަރެއް ވަނީ އާންމު ޗެޓް ހިސްޓަރީ ފޮހެލާފައި",
"app.chat.multi.typing": "ބައިވަރު މީހުން އެބަ ޓައިޕްކުރޭ",
"app.chat.one.typing": "{0} އެބަ ޓައިޕްކުރޭ",
"app.chat.two.typing": "{0} އާއި {1} އެބަ ޓައިޕްކުރޭ",
"app.captions.label": "ކެޕްޝަންތައް",
"app.captions.menu.close": "ލައްޕާ",
"app.captions.menu.start": "ފަށާ",
"app.captions.menu.ariaStart": "ކެޕްޝަންތައް ލިޔަން ފަށާ",
"app.captions.menu.ariaStartDesc": "ކެޕްޝަން އެޑިޓަރ ހުޅުވާފަ މޯޑަލް ލައްޕާނެ",
"app.captions.menu.select": "ލިބެންހުރި ބަހެއް ހިޔާރުކުރައްވާ",
"app.captions.menu.select": "ލިބެންހުރި ބަހެއް ޚިޔާރުކުރައްވާ",
"app.captions.menu.ariaSelect": "ބަސް ކެޕްޝަންކުރާނެ",
"app.captions.menu.subtitle": "ތިޔަބޭފުޅާގެ ސެޝަންގައި ކްލޯސްޑް ކެޕްޝަންކުރަން ބޭނުންކުރާނެ ބަހަކާއި ސްޓައިލެއް ހިޔާރުކުރައްވާ.",
"app.captions.menu.subtitle": "ތިުަބޭފުޅާގެ ސެޝަންގައި ކްލޯސްޑް ކެޕްޝަންސަށް ބޭނުންކުރާނެ ބަހަކާއި ސްޓައިލެއް ޚިޔާރުކުރައްވާ.",
"app.captions.menu.title": "ކްލޯސްޑް ކެޕްޝަންތައް",
"app.captions.menu.fontSize": "ސައިޒް",
"app.captions.menu.fontColor": "ލިޔުމުގެ ކުލަ",
"app.captions.menu.fontFamily": "ފޮންޓު",
"app.captions.menu.backgroundColor": "ބެކްރައުންޑު ކުލަ",
"app.captions.menu.backgroundColor": "ފަސްމަންޒަރު ކުލަ",
"app.captions.menu.previewLabel": "ޕްރިވިއު",
"app.captions.menu.cancelLabel": "ކެންސަލްކޮށްލާ",
"app.captions.pad.hide": "ކްލޯސްޑް ކެޕްޝަންތައް ފޮރުވާ",
"app.captions.pad.tip": "އެޑިޓަރ ޓޫލްބާއަށް ފޯކަސްކުރުމަށް އެސްކޭޕަށް ފިއްތާލައްވާ",
"app.captions.pad.ownershipTooltip": "ތިޔަބޭފުޅާ {0} ގެ ކެޕްޝަންތަކުގެ ވެރިޔާގޮތުގައި އައްޔަނުކުރެވޭނެ",
"app.captions.pad.interimResult": "ވަގުތީ ނަތީއްޖާ",
"app.captions.pad.dictationStart": "ޑިކްޓޭޝަން ފަށާ",
"app.captions.pad.dictationStop": "ޑިކްޓޭޝަން ހުއްޓާލާ",
"app.captions.pad.dictationOnDesc": "ސްޕީޗް ރެކޮގްނިއްޝަން އޮންކޮށްލާނެ",
"app.captions.pad.dictationOffDesc": "ސްޕީޗެ ރެކޮގްނިޝަން އޮފްކޮށްލާން",
"app.captions.pad.ownership": "ބަދަލުގައި އަރާ",
"app.captions.pad.ownershipTooltip": "{0} ގެ ކެޕްޝަންތަކުގެ ވެރިޔާގޮތުގައި ތިޔަބޭފުޅާ އައްޔަނުކުރެވޭނެ",
"app.captions.pad.interimResult": "ވަގުތީ ނަތީޖާ",
"app.captions.pad.dictationStart": "ކިޔައިދޭން ފަށާ",
"app.captions.pad.dictationStop": "ކިޔައިދިނުން ހުއްޓާލާ",
"app.captions.pad.dictationOnDesc": "ސްޕީޗް ރެކޮގްނިޝަން ފައްޓާނެ",
"app.captions.pad.dictationOffDesc": "ސްޕީޗް ރެކޮގްނިޝަން ނިވާލާނެ",
"app.textInput.sendLabel": "ފޮނުވާ",
"app.note.title": "ހިއްސާކޮށްފައިވާ ނޯޓުތައް",
"app.note.label": "ނޯޓު",
"app.note.hideNoteLabel": "ނޯޓު ފޮރުވާ",
"app.note.tipLabel": "އެޑިޓަރ ޓޫލްބާއަށް ފޯކަސްކުރުމަށް އެސްކޭޕަށް ފިއްތާލައްވާ",
"app.note.locked": "ތަޅުލާފައި",
"app.note.locked": "ތަޅުލެވިފައި",
"app.user.activityCheck": "ޔޫސާގެ ހަރަކާތައް ބެލުން",
"app.user.activityCheck.label": "ޔޫސާ މިހާރުވެސް އިނީ މީޓިންގަތޯ ޗެކުކޮށްލާ ({0})",
"app.user.activityCheck.check": "ޗެކްކޮށްލާ",
"app.userList.usersTitle": "ޔޫސާރުން",
"app.user.activityCheck.label": "ޔޫސާ މިހާރުވެސް ހުރީ ބައްދަލުވުމުގަތޯ ބަލާލާ ({0})",
"app.user.activityCheck.check": "ބަލާލާ",
"app.userList.usersTitle": "މީހުން",
"app.userList.participantsTitle": "ބައިވެރިން",
"app.userList.messagesTitle": "މެސެޖުތައް",
"app.userList.notesTitle": "ނޯޓުތައް",
"app.userList.notesListItem.unreadContent": "ހިއްސާކޮށްފައިވާ ނޯޓުތަކުގެ ސެކްޝަންގައި އައު ތަކެތި ލިބެން އެބަހުރި",
"app.userList.notesListItem.unreadContent": "ހިއްސާކޮށްފައިވާ ނޯޓު ސެކްޝަންގައި އާ ލިޔުން އެބަހުރި",
"app.userList.captionsTitle": "ކެޕްޝަންތައް",
"app.userList.presenter": "ހުށައެޅުންތެރިޔާ",
"app.userList.you": "ތިޔަބޭފުޅާ",
"app.userList.locked": "ތަޅުލާފައި",
"app.userList.locked": "ތަޅުލެވިފައި",
"app.userList.byModerator": "(މޮޑަރޭޓަރ)ގެ ފަރާތުން",
"app.userList.label": "ޔޫސަރ ލިސްޓް",
"app.userList.toggleCompactView.label": "ކޮމްޕެކްޓް ވިއު މޯޑު ޓޮގްކޮށްލާ",
"app.userList.toggleCompactView.label": "ކޮމްޕެކްޓް ވިއު މޯޑު ޖައްސާލާ/ނިވާލާ",
"app.userList.moderator": "މޮޑަރޭޓަރ",
"app.userList.mobile": "މޯބައިލް",
"app.userList.guest": "މެހެމާނު",
"app.userList.menuTitleContext": "ލިބެންހުރި އޮޕްޝަންތައް",
"app.userList.chatListItem.unreadSingular": "{0} އައު މެސެޖު",
"app.userList.chatListItem.unreadPlural": "{0} އައު މެސެޖު",
"app.userList.menuTitleContext": "ލިބެންހުރި ޚިޔާރުތައް",
"app.userList.chatListItem.unreadSingular": "{0} އާ މެސެޖު",
"app.userList.chatListItem.unreadPlural": "{0} އާ މެސެޖު",
"app.userList.menu.chat.label": "ޕްރައިވެޓް ޗެޓެއް ފަށާ",
"app.userList.menu.clearStatus.label": "ސްޓޭޓަސް ފުހެލާ",
"app.userList.menu.clearStatus.label": "ސްޓޭޓަސް ފޮހެލާ",
"app.userList.menu.removeUser.label": "ޔޫސާރ ބޭރުކޮށްލާ",
"app.userList.menu.removeConfirmation.label": "ޔޫސާރ ބޭރުކޮށްލާ ({0})",
"app.userlist.menu.removeConfirmation.desc": "މި ޔޫސާރ އަލުން މިސެޝަންއާ ނުގުޅޭނެ ގޮތް ހަދާ.",
@ -91,35 +92,35 @@
"app.userList.menu.lockUser.label": "ތަޅުލާ {0}",
"app.userList.menu.directoryLookup.label": "ރަދީފުން ހޯދާ",
"app.userList.menu.makePresenter.label": "ހުށައެޅުންތެރިއަކަށް ހަދާ",
"app.userList.userOptions.manageUsersLabel": "ޔޫސާރުން މެނޭޖްކުރުމަށް",
"app.userList.userOptions.muteAllLabel": "ހުރިހާ ޔޫސަރުންގެ އަޑުކަނޑާލާ",
"app.userList.userOptions.muteAllDesc": "މީޓިންގުގައި ތިބި ހުރިހާ ޔޫސަރުންގެ އަޑުކަނޑާލާ",
"app.userList.userOptions.manageUsersLabel": "ޔޫސާރތައް މެނޭޖްކުރުމަށް",
"app.userList.userOptions.muteAllLabel": "ހުރިހާ ޔޫސަރތަކުގެ އަޑުކަނޑާލާ",
"app.userList.userOptions.muteAllDesc": "ބައްދަލުވުމުގައި ހުރި ހުރިހާ ޔޫސަރތަކުގެ އަޑުކަނޑާލާ",
"app.userList.userOptions.clearAllLabel": "ހުރިހާ ސްޓޭޓަސް ނިޝާނެއް ފުހެލާ",
"app.userList.userOptions.clearAllDesc": "ޔޫސަރުން ކިބައިން ހުރިހާ ސްޓޭޓަސް ނިޝާނެއް ފުހެލާ",
"app.userList.userOptions.muteAllExceptPresenterLabel": "ހުށައެޅުންތެރިޔާ ފިޔަވާ ހުރިހާ ޔޫސަރުންގެ އަޑުކަނޑާލާ",
"app.userList.userOptions.muteAllExceptPresenterDesc": "ހުށައެޅުންތެރިޔާ ފިޔަވާ މީޓިންގުގައި ތިބި ހުރިހާ ޔޫސަރުންގެ އަޑުކަނޑާލާ",
"app.userList.userOptions.unmuteAllLabel": "މީޓިންގުން އަޑުކަނޑާލުން ދުއްވާލާ",
"app.userList.userOptions.unmuteAllDesc": "މީޓިންގުގެ އަޑުއަނބުރާ ގެންނާނެ",
"app.userList.userOptions.clearAllDesc": "ޔޫސަރތަކުގެ ހުރިހާ ސްޓޭޓަސް ނިޝާނެއް ފުހެލާ",
"app.userList.userOptions.muteAllExceptPresenterLabel": "ހުށައެޅުންތެރިޔާ ފިޔަވާ ހުރިހާ ޔޫސަރެއްގެ އަޑުކަނޑާލާ",
"app.userList.userOptions.muteAllExceptPresenterDesc": "ހުށައެޅުންތެރިޔާ ފިޔަވާ ބައްދަލުވުމުގައި ހުރި ހުރިހާ ޔޫސަރެއްގެ އަޑުކަނޑާލާ",
"app.userList.userOptions.unmuteAllLabel": "ބައްދަލުވުމުގެ އަޑުކަނޑާލުން ދުއްވާލާ",
"app.userList.userOptions.unmuteAllDesc": "ބައްދަލުވުމުގެ އަޑުއަނބުރާ ގެންނާނެ",
"app.userList.userOptions.lockViewersLabel": "ބެލުންތެރިން ތަޅުލާ",
"app.userList.userOptions.lockViewersDesc": "މީޓިންގުގެ ހާޒިރީންނަށް ހުރި ބައެއް ފަންކްޝަންތައް ތަޅުލާ",
"app.userList.userOptions.lockViewersDesc": "ބައްދަލުވުމގެ ހާޒިރީންނަށް ހުރި ބައެއް ފަންކްޝަންތައް ހިފަހައްޓާ",
"app.userList.userOptions.guestPolicyLabel": "މެހެމާނުންގެ ޕޮލިސީ",
"app.userList.userOptions.guestPolicyDesc": "މީޓިންގުގެ މެހެމާނުންގެ ޕްޮލިސީ ސެޓިންގް ބަދަލުކުރޭ",
"app.userList.userOptions.disableCam": "ބެލުންތެރިންގެ ކެމެރާތައް ހުރީ ޑިސޭބަލްކޮށްފާ",
"app.userList.userOptions.disableMic": "ބެލުންތެރިންގެ މައިކުތައް ހުރީ ޑިސޭބަލްކޮށްފާ",
"app.userList.userOptions.disablePrivChat": "ޕްރައިވެޓް ޗެޓް ވަނީ ޑިސޭބަލްކޮށްފާ",
"app.userList.userOptions.disablePubChat": "ޢާންމު ޗެޓް ވަނީ ޑިސޭބަލްކޮށްފާ",
"app.userList.userOptions.disableNote": "ހިއްސާކުރާ ނޯޓުތައް މިހާރުވަނީ ތަޅުލާފައި",
"app.userList.userOptions.hideUserList": "ޔޫސާރ ލިސްޓް މިހާރުވަނީ ބެލުންތެރިންނަށް ފޮރުވާފައި",
"app.userList.userOptions.webcamsOnlyForModerator": "ބެލުންތެރިންގެ ކެމެރާތައް ފެންނާނީ ހަމައެކަނި މޮޑަރޭޓަރުނުނަށް (ތަޅުލާ ސެޓިންގެ ސަބަބުން)",
"app.userList.content.participants.options.clearedStatus": "ހުރިހާ ޔޫސަރުންގެ ސްޓޭޓަސް ފުހެލާފިން",
"app.userList.userOptions.enableCam": "ބެލުންތެރިންގެ ކެމެރާތައް ހުރީ އެނޭބަލްކޮށްފާ",
"app.userList.userOptions.enableMic": "ބެލުންތެރިންގެ މައިކުތައް ހުރީ އެނޭބަލްކޮށްފާ",
"app.userList.userOptions.enablePrivChat": "ޕްރައިވެޓް ޗެޓް ވަނީ އެނޭބަލްކޮށްފާ",
"app.userList.userOptions.enablePubChat": "ޢާންމު ޗެޓް ވަނީ އެނޭބަލްކޮށްފާ",
"app.userList.userOptions.enableNote": "ހިއްސާކުރާ ނޯޓުތައް މިހާރުވަނީ އެނޭބަލްކޮށްފާ",
"app.userList.userOptions.guestPolicyDesc": "ބައްދަލުވުމުގެ މެހެމާނުންގެ ޕޮލިސީ ޚިޔާރުތައް ބަދަލުކުރޭ",
"app.userList.userOptions.disableCam": "ބެލުންތެރިންގެ ކެމެރާތައް ވަނީ ކަނޑާލެވިފައި",
"app.userList.userOptions.disableMic": "ބެލުންތެރިންގެ މައިކުތައް ވަނީ ކަނޑާލެވިފައި",
"app.userList.userOptions.disablePrivChat": "ޕްރައިވެޓް ޗެޓް ވަނީ ކަނޑާލެވިފައި",
"app.userList.userOptions.disablePubChat": "އާންމު ޗެޓް ވަނީ ކަނޑާލެވިފައި",
"app.userList.userOptions.disableNote": "ހިއްސާކުރާ ނޯޓުތައް މިހާރުވަނީ ތަޅުލެވިފައި",
"app.userList.userOptions.hideUserList": "ޔޫސާރ ލިސްޓް މިހާރުވަނީ ބެލުންތެރިންގެ ކިބައިން ފޮރުވިފައި",
"app.userList.userOptions.webcamsOnlyForModerator": "ބެލުންތެރިންގެ ކެމެރާތައް ފެންނާނީ ހަމައެކަނި މޮޑަރޭޓަރުނުނަށް (ތަޅުލާ ޚިޔާރުގެ ސަބަބުން)",
"app.userList.content.participants.options.clearedStatus": "ހުރިހާ ޔޫސަރތަކުގެ ސްޓޭޓަސް ފޮހެވިއްޖެ",
"app.userList.userOptions.enableCam": "ބެލުންތެރިންގެ ކެމެރާތައް ހުރީ ޖެއްސޭގޮތަށް",
"app.userList.userOptions.enableMic": "ބެލުންތެރިންގެ މައިކުތައް ހުރީ ޖެއްސޭގޮތަށް",
"app.userList.userOptions.enablePrivChat": "ޕްރައިވެޓް ޗެޓް ވަނީ ބޭނުން ކުރެވޭ ގޮތަށް",
"app.userList.userOptions.enablePubChat": "އާންމު ޗެޓް ވަނީ ބޭނުން ކުރެވޭ ގޮތަށް",
"app.userList.userOptions.enableNote": "ހިއްސާކުރާ ނޯޓުތައް މިހާރުވަނީ ބޭނުން ކުރެވޭގޮތަށް",
"app.userList.userOptions.showUserList": "ޔޫސާރ ލިސްޓް މިހާރު ބެލުންތެރިންނަށް ފެންނާނެ",
"app.userList.userOptions.enableOnlyModeratorWebcam": "މިހާރު ތިޔަބޭފުޅާގެ ކެމެރާ ޖެއްސޭން، އޭރުން އެންމެނަށް ފެންނާނެ",
"app.userList.userOptions.savedNames.title": "{1} ގައި {0} މީޓިންގުގައި ތިބި ޔޫސަރުން",
"app.userList.userOptions.savedNames.title": "{1} ގައި {0} ބައްދަލުވުމުގައި ތިބި ޔޫސަރުން",
"app.userList.userOptions.sortedFirstName.heading": "ފުރަތަމަ ނަމުން ތަރުތީބު ކޮށްފައި:",
"app.userList.userOptions.sortedLastName.heading": "ފަހަތު ނަމުން ތަރުތީބު ކޮށްފައި:",
"app.media.label": "މީޑިއާ",
@ -136,12 +137,12 @@
"app.screenshare.screenshareUnsupportedEnv": "ކޯޑު {0}. ބްރައުސާރ ސަޕޯޓެއްނުކުރޭ. އެހެން ބްރައުސަރަކުން ނުވަތަ ޑިވައިސްއަކުން ވޭތޯ ބަލާލާ.",
"app.screenshare.screensharePermissionError": "ކޯޑު {0}. ސްކްރީން ކެޕްޗާރކުރުމުގެ ޙުއްދަ ދޭން ޖެހޭ.",
"app.meeting.ended": "މި ސެޝަން ނިމިއްޖެ",
"app.meeting.meetingTimeRemaining": "މީޓިންގުގައި ބައިކީ އޮތް ވަގުތު: {0}",
"app.meeting.meetingTimeHasEnded": "ވަގުތު ހުސްވެއްޖެ. މީޓިންގް އިރުކޮޅަކުން ބަންދުވާނެ.",
"app.meeting.endedByUserMessage": "{0} މީޓިންގް ނިންމާލައިފި",
"app.meeting.meetingTimeRemaining": "ބައްދަލުވުމުގައި ބާކީ އޮތް ވަގުތު: {0}",
"app.meeting.meetingTimeHasEnded": "ވަގުތު ހުސްވެއްޖެ. ބައްދަލުވުން އިރުކޮޅަކުން ބަންދުވާނެ.",
"app.meeting.endedByUserMessage": " {0} މި ސެޝަން ނިންމާލައިފި",
"app.meeting.endedMessage": "ހޯމް ސްކްރީނަށް ތިޔަބޭފުޅާ ފޯވާޑުކުރެވޭނެ",
"app.meeting.alertMeetingEndsUnderMinutesSingular": "1 މިނެޓު ތެރޭ މީޓިންގް ބަންދުވާނެ.",
"app.meeting.alertMeetingEndsUnderMinutesPlural": "{0} މިނެޓު ތެރޭ މީޓިންގް ބަންދުވާނެ.",
"app.meeting.alertMeetingEndsUnderMinutesSingular": "1 މިނެޓު ތެރޭ ބައްދަލުވުން ބަންދުވާނެ.",
"app.meeting.alertMeetingEndsUnderMinutesPlural": "{0} މިނެޓު ތެރޭ ބައްދަލުވުން ބަންދުވާނެ.",
"app.meeting.alertBreakoutEndsUnderMinutesPlural": "{0} މިނެޓު ތެރޭ ބްރޭކްއައުޓް ބަންދުވާނެ.",
"app.meeting.alertBreakoutEndsUnderMinutesSingular": "1 މިނެޓު ތެރޭ ބްރޭކްއައުޓް ބަންދުވާނެ.",
"app.presentation.hide": "ޕްރެޒެންޓާޝަން ފޮރުވާ",
@ -157,7 +158,660 @@
"app.presentation.presentationToolbar.prevSlideLabel": "ކުރީގެ ސްލައިޑް",
"app.presentation.presentationToolbar.prevSlideDesc": "ޕްރެޒެންޓޭޝަން ކުރީގެ ސްލައިޑަށް ބަދަލުކޮށްލާ",
"app.presentation.presentationToolbar.nextSlideLabel": "ދެންއޮތް ސްލައިޑް",
"app.presentation.presentationToolbar.nextSlideDesc": "ޕްރެޒެންޓޭޝަން ދެންއޮތް ސްލައިޑަށް ބަދަލުކޮށްލާ"
"app.presentation.presentationToolbar.nextSlideDesc": "ޕްރެޒެންޓޭޝަން ދެންއޮތް ސްލައިޑަށް ބަދަލުކޮށްލާ",
"app.presentation.presentationToolbar.skipSlideLabel": "މި ސްލައިޑް ދޫކޮށްލާ",
"app.presentation.presentationToolbar.skipSlideDesc": "ޕްރެޒެންޓޭޝަން ވަކި ސްލައިޑް އަކަށް ބަދަލުކޮށްލާ",
"app.presentation.presentationToolbar.fitWidthLabel": "ފުޅާމިނަށް ފައްތާލާ",
"app.presentation.presentationToolbar.fitWidthDesc": "މުޅި ސްލައިޑް ގެ ފުޅާމިން ދައްކާލާ",
"app.presentation.presentationToolbar.fitScreenLabel": "ސްކްރީން އަށް ހެޔޮވަރު ކޮށްލާ",
"app.presentation.presentationToolbar.fitScreenDesc": "މުޅި ސްލައިޑް ދައްކާލާ",
"app.presentation.presentationToolbar.zoomLabel": "ދުރު ކައިރި މިން",
"app.presentation.presentationToolbar.zoomDesc": "ޕްރެޒެންޓޭޝަން ގެ ދުރު ކައިރި މިން ބަދަލުކޮށްލާ",
"app.presentation.presentationToolbar.zoomInLabel": "ބޮޑުކޮށްލާ",
"app.presentation.presentationToolbar.zoomInDesc": "ޕްރެޒެންޓޭޝަން ބޮޑުކޮށްލާ",
"app.presentation.presentationToolbar.zoomOutLabel": "ކުޑަކޮށްލާ",
"app.presentation.presentationToolbar.zoomOutDesc": "ޕްރެސެންޓޭޝަން ކުޑަކޮށްލާ",
"app.presentation.presentationToolbar.zoomReset": "ދުރުކައިރި މިން ކުރިއެކޭ އެއްގޮތަށް ހަދާލާ",
"app.presentation.presentationToolbar.zoomIndicator": "ބޮޑުކޮއްފައި އިން އިންސައްތަ",
"app.presentation.presentationToolbar.fitToWidth": "ފުޅާމިނަށް ފައްތާލާ",
"app.presentation.presentationToolbar.fitToPage": "ގަނޑަށް ހެޔޮވަރުކޮށްލާ",
"app.presentation.presentationToolbar.goToSlide": "ސްލައިޑް {0}",
"app.presentationUploder.title": "ޕްރެޒެންޓޭޝަން",
"app.presentationUploder.message": "ހުށަހަޅާދޭ ފަރާތެއްގެ ގޮތުގައި ތިޔަ ފަރާތަށް ކޮންމެ އޮފީސް ލިޔުމެއްވެސް އަދި ޕީޑީއެފް ފައިލެއްވެސް އަޕްލޯޑު ކުރުމުގެ ހުއްދަ ލިބިގެންވެއެވެ. މިގޮތުން އެންމެ ރަނގަޅު ވާނީ ޕީޑީއެފް ފައިލް ކަމުގައި ފާހަގަ ކޮށްލަމެވެ. ޕްރެޒެންޓޭޝަނެއް އިޚްތިޔާރުކޮށް ނެގިފައި ވާކަން ޔަގީން ކޮށްލުމަށް ކަނާތް ފަޅީގައި ވާ ރަނގަޅު ފާހަގަ ޖެހޭގޮތަށް އިން ނިޝާނަށް ބައްލަވާލައްވާ.",
"app.presentationUploder.uploadLabel": "އަޕްލޯޑް",
"app.presentationUploder.confirmLabel": "ރަނގަޅު",
"app.presentationUploder.confirmDesc": "ގެނެވުނު ބަަދަލުތައް ސޭވްކޮށް ޕްރެޒެންޓޭޝަން ފަށާ",
"app.presentationUploder.dismissLabel": "ކެންސަލްކޮށްލާ",
"app.presentationUploder.dismissDesc": "މޯޑަލް ވިންޑޯ ނިއްވާލާފައި ގެނެވުނު ބަދަލުތައް ފުހެލާ",
"app.presentationUploder.dropzoneLabel": "މިތަނަށް ފައިލް ތައް ދާމާފައި ގެނެސް ވައްޓާލައި",
"app.presentationUploder.dropzoneImagesLabel": "މިތަނަށް ފޮޓޯ ދަމާފައި ގެނެސް ވައްޓާލައި",
"app.presentationUploder.browseFilesLabel": "ނުވަތަ ފައިލް ހޯދާލާ",
"app.presentationUploder.browseImagesLabel": "ނުވަތަ ފޮޓޯ ހޯދާ/ނަގާލާ",
"app.presentationUploder.fileToUpload": "އަދި އަޕްލޯޑް ކުރެވުމަށް",
"app.presentationUploder.currentBadge": "މި",
"app.presentationUploder.rejectedError": "ތިޔަ ނެންގެވި ފައިލް(ތައް) ބަލައެއް ނުގަނެވޭނެ. އަލުން ފައިލް ގެ ބާވަތް ބައްލަވާލައްވާ",
"app.presentationUploder.upload.progress": "އަޕްލޯޑު ކުރެވެމުން ދަނީ ({0}%)",
"app.presentationUploder.upload.413": "ފައިލް މާ ބޮޑީ. ވަނީ އެންމެ ބޮޑަށް ބަލައިގަނެވޭ އަދަދު ކަމަށްވާ {0} MB އަށް ވުރެއް ބޮޑުވެފައި",
"app.presentationUploder.genericError": "އަސްތާ! ކޮންމެވެސް ކަމެއް ގޯސްކޮށް ހިނގައިފި",
"app.presentationUploder.upload.408": "ރިކުއެސްޓް އަޕްލޯޑް ޓޮކެން ޓައިމްއައުޓް ވެއްޖެ.",
"app.presentationUploder.upload.404": "404: ބަލައިނުގަނެވޭނެ އަޕްލޯޑް ޓޯކަންއެށް",
"app.presentationUploder.upload.401": "ރިކުއެސްޓް ޕްރެޒެންޓޭޝަން އަޕްލޯޑް ޓޮކެން ފެއިލް ވެއްޖެ.",
"app.presentationUploder.conversion.conversionProcessingSlides": "{1} ޞަފްޙާ އިން {0} ވަނަ ޞަފްޙާ ދަނީ ބެލެވުމުން",
"app.presentationUploder.conversion.genericConversionStatus": "ފައިލް ބަދަލުކުރުން ކުރިއަށް ދަނީ..",
"app.presentationUploder.conversion.generatingThumbnail": "ތަމްބްނެއިލްތައް ތައްޔާރު ކުރެވެނީ..",
"app.presentationUploder.conversion.generatedSlides": "ސްލައިޑް ތައް ތައްޔާރުކޮށް ނިމިއްޖެ",
"app.presentationUploder.conversion.generatingSvg": "SVG މަންޒަރުތައް ތައްޔާރު ކުރެވެމުން ދަނީ",
"app.presentationUploder.conversion.pageCountExceeded": "ޞަފުޙާ ގެ އަދަދު ވަނީ އެންމެ ގިނަ އަދަދު ކަމުގައި ވާ {0} ފަހަނަ އަޅައި ގޮސްފައި",
"app.presentationUploder.conversion.officeDocConversionInvalid": "އޮފީސް ޑޮކިއުމަންޓް ވަނީ ބޭނުން ކުރެވޭ ގޮތް ނުވެފައި. ޕީޑީއެފް އެއް ގޮތުގައި އަޕްލޯޑް ކޮށްލައްވާ",
"app.presentationUploder.conversion.officeDocConversionFailed": "އޮފީސް ޑޮކިއުމަންޓް ވަނީ ބޭނުން ކުރެވޭ ގޮތް ނުވެފައި. ޕީޑީއެފް އެއް ގޮތުގައި އަޕްލޯޑް ކޮށްލައްވާ",
"app.presentationUploder.conversion.pdfHasBigPage": "ޕީޑީއެފް ވަނީ ކޮންވަރޓް ކުރެވޭ ގޮތް ނުވެފައި. ގެންނަން ޖެހޭ ބަދަލުތައް ގެނެސްލާ. އެންމެ ގިން ވެގެން ހިމެނޭނެ ޞަފުޙާ ގެ އަދަދަކީ {0}",
"app.presentationUploder.conversion.timeout": "އަސްތާ! ކޮންވަރޓް ކުރަން މާ ގިނަ ވަގުތު ވަނީ ހިނގާފައި",
"app.presentationUploder.conversion.pageCountFailed": "ހިމެނިގެންވާ ޞަފުޙާގެ އަދަދު ވަނީ ކަނޑަނޭޅިފައި.",
"app.presentationUploder.conversion.unsupportedDocument": "މި ބާވަތުގެ ފައިލް އެކްސްޓެންޝަން ބަލައެއް ނުގަނެވޭނެ",
"app.presentationUploder.isDownloadableLabel": "ޕްރެޒެންޓޭޝަން ޑައުންލޯޑު ކުރުން ވަނީ މަނާ ކުރެވިފައި - ޑައުންލޯޑު ކުރެވޭ ގޮތް ހެދުމަށް އޮބާލައްވާ",
"app.presentationUploder.isNotDownloadableLabel": "ޕްރެޒެންޓޭޝަން ޑައުންލޯޑު ކުރުން ވަނީ މަނާ ނުކޮށް - ޑައުންލޯޑު ކުރުން މަނާ ކުރުމަށް އޮބާލައްވާ",
"app.presentationUploder.removePresentationLabel": "ޕްރެޒެންޓޭޝަން ފޮހެލާ",
"app.presentationUploder.setAsCurrentPresentation": "މިހާރުގެ ޕްރެޒެންޓޭޝަން ގޮތުގައި ކަނޑަ އަޅާ",
"app.presentationUploder.tableHeading.filename": "ފައިލް ގެ ނަން",
"app.presentationUploder.tableHeading.options": "އޮޕްޝަންތައް",
"app.presentationUploder.tableHeading.status": "ހާލަތު",
"app.presentationUploder.uploading": "އަޕްލޯޑު ކުރެވެމުން ދަނީ {0} {1}",
"app.presentationUploder.uploadStatus": " {1} ކުން {0} އަޕްލޯޑު ވަނީ ނިމިފައި",
"app.presentationUploder.completed": "{0} އަޕްލޯޑު ވަނީ ނިމިފައި",
"app.presentationUploder.item" : "އައިޓަމް",
"app.presentationUploder.itemPlural" : "އައިޓަމްސް",
"app.presentationUploder.clearErrors": "ހުރިހާ މައްސަލަތައް ފުހެލާ",
"app.presentationUploder.clearErrorsDesc": "އަޕްލޯޑު ނުވި ހުރިހާ ޕްރެޒެންޓޭޝަނެއް ފުހެލާ",
"app.poll.pollPaneTitle": "ވޯޓުނަގަނީ",
"app.poll.quickPollTitle": "އަވަސް ވޯޓު",
"app.poll.hidePollDesc": "ވޯޓު މެނޫ ޕޭން ފޮރުވާނެ",
"app.poll.quickPollInstruction": "ވޯޓު ފެށުމަށްޓަކައި ތިރިން އޮޕްޝަންއެއް ހިޔާރުކުރައްވާ.",
"app.poll.activePollInstruction": "ލައިވްކޮށް ވޯޓުގެ ނަތީއްޖާ ބެއްލެވުމަށް މި ޕޭން ހުޅުވާފައި ބަހައްޓާ. ތައްޔާރުވުމުން، ނަތީއްޖާ ޝާއިއުކޮށް ވޯޓު ބަންދުކުރުމަށް \"ވޯޓުގެ ނަތީއްޖާ ޝާއިއުކުރޭ\" ހިޔާރުކުރައްވާ. ",
"app.poll.dragDropPollInstruction": "ވޯޓުގެ ވެލިއުތައް ފުރުމަށް، ވޯޓުގެ ވެލިއުތައް ހިމެނޭ ޓެކްސްޓް ފައިލެއް ފާހަގަކޮށްފައިވާ ފިލްޑަށް ޑްރޭގްކޮށްލާ",
"app.poll.customPollTextArea": "ވޯޓުގެ ވެލިއުތައް ފުރާލާ",
"app.poll.publishLabel": "ވޯޓުގެ ނަތީއްޖާ ޝާއިއުކުރޭ",
"app.poll.backLabel": "ވޯޓެއް ފަށާ",
"app.poll.closeLabel": "ލައްޕާ",
"app.poll.waitingLabel": "ޖަވާބުތަކަށް މަޑުކުރެވިފައި ({0}/{1})",
"app.poll.ariaInputCount": "ކަސްޓަމް ވޯޓް އޮޕްޝަން {1} އިން {0}",
"app.poll.customPlaceholder": "ވޯޓު އޮޕްޝަނެއް އިތުރުކޮށްލާ",
"app.poll.noPresentationSelected": "އެއްވެސް ޕްރެޒެންޓޭޝަނެއް ނެގިފައި ނެއް. ޕްރެޒެންޓޭޝަން އެއް ނަންގަވާ.",
"app.poll.clickHereToSelect": "ޚިޔާރުކުރެއްވުމަށް މިތަނައް ފިއްތާލައްވާ",
"app.poll.panel.desc" : "ވޯޓުގެ ތަފްޞީލުތައް ތިރިން ފުރިހަމަ ކޮށްލާ",
"app.poll.question.label" : "މިތާގައި ސުވާލު ލިޔުއްވާ",
"app.poll.userResponse.label" : "ޔޫސަރ ރިސްޕޮންސް",
"app.poll.responseTypes.label" : "ރިސްޕޮންސް ގެ ބާވަތްތައް",
"app.poll.optionDelete.label" : "ފުހެލާ",
"app.poll.responseChoices.label" : "ރިސްޕޮންސް އިޚްތިޔާރުތައް",
"app.poll.typedResponse.desc" : "ލިޔެވޭ ގޮތަށް އިންނަ ޓެކްސްޓް ބޮކްސްއެއް ބައިވެރިންނަށް ޖަވާބު ދެއްވުމަށް ހުށަހެޅޭނެ",
"app.poll.addItem.label" : "އައިޓަމް ހިމަނާ",
"app.poll.question.title": "ސުވާލެއް އައްސަވާ",
"app.poll.start.label" : "ވޯޓު ފަށާ",
"app.poll.questionErr": "ސުވާލެއް އެންޓާކޮށްލާ",
"app.poll.optionErr": "ވޯޓު އޮޕްޝަންއެއް އެންޓާކޮށްލާ",
"app.poll.t": "ރަނގަޅު",
"app.poll.f": "ނުބައި",
"app.poll.tf": "ރަނގަޅު / ނުބައި",
"app.poll.y": "އާނއެކެވެ",
"app.poll.n": "ނޫނެކެވެ",
"app.poll.abstention": "ވޯޓުގައި ބައިވެރިނުވޭ",
"app.poll.yna": "އާދެ / ނޫން / ވޯޓުގައި ބައިވެރިނުވޭ",
"app.poll.a2": "ހ / ށ",
"app.poll.a3": "ހ / ށ/ ނ",
"app.poll.a4": "ހ / ށ / ނ / ރ",
"app.poll.a5": "ހ / ށ / ނ / ރ / ބ",
"app.poll.answer.true": "ރަނގަޅު",
"app.poll.answer.false": "ނުބައި",
"app.poll.answer.yes": "އާނއެކެވެ",
"app.poll.answer.no": "ނޫނެކެވެ",
"app.poll.answer.abstention": "ވޯޓުގައި ބައިވެރިނުވޭ",
"app.poll.answer.a": "ހ",
"app.poll.answer.b": "ށ",
"app.poll.answer.c": "ނ",
"app.poll.answer.d": "ރ",
"app.poll.answer.e": "ބ",
"app.poll.liveResult.usersTitle": "ޔޫސާރުން",
"app.poll.liveResult.responsesTitle": "ރިސްޕޮންސް",
"app.polling.pollingTitle": "ވޯޓުގެ އޮޕްޝަންތައް",
"app.polling.pollQuestionTitle": "ވޯޓުގެ ސުވާލު",
"app.polling.submitLabel": "ހުށަހަޅާ",
"app.polling.submitAriaLabel": "ވޯޓުލާ",
"app.polling.responsePlaceholder": "ޖަވާބު ދެއްވާ",
"app.polling.pollAnswerLabel": "ވޯޓުގެ ޖަވާބު {0}",
"app.polling.pollAnswerDesc": "{0} އަށް ވޯޓުލެއްވުމަށް މި އޮޕްޝަން ހިޔާރުކުރައްވާ",
"app.failedMessage": "މާފުކުރައްވާ، ސަރވަރ އާއި ގުޅާދިނުމުގައި ވަނީ ދަތިތަކަކާއި ކުރިމަތި ވެފައި",
"app.downloadPresentationButton.label": "ޕްރެޒެންޓޭޝަން ގެ އަސްލު ޑަނުންލޯޑު ކޮށްލާ",
"app.connectingMessage": "ގުޅައިދެވެމުން ދަނީ",
"app.waitingMessage": "ޑިސްކަނެކްޓް ވެ ގުޅުން ކެނޑިފައި، {0} ސިކުންތު ތެރޭގައި އަލުން ގުޅައިދެވޭތޯ މަސައްކަތް ކުރަނީ",
"app.retryNow": "މިހާރު ރީޓްރައި ކޮށްލައްވާ",
"app.muteWarning.label": "އަމިއްލައަށް އަންމިއުޓް ކުރެއްވުމަށް {0} އޮއްބާލައްވާ",
"app.muteWarning.disableMessage": "އަންމިއުޓް ކުރަންދެން އެލާޓް އައުން މެދުކަނޑާލައި",
"app.muteWarning.tooltip": " ލައްޕާލުމާއި އެކު ދެން އަންމިއުޓް ކުރަންދެން ވޯނިންގ ނާންނަގޮތައް މެދުކަނޑާ ލުމަށް ފިއްތާލައްވާ ",
"app.navBar.settingsDropdown.optionsLabel": "އޮޕްޝަންތައް",
"app.navBar.settingsDropdown.fullscreenLabel": "ފުލްސްކްރީން ކުރައްވާ",
"app.navBar.settingsDropdown.settingsLabel": "ސެޓިންގސް",
"app.navBar.settingsDropdown.aboutLabel": "މައުލޫމާތު",
"app.navBar.settingsDropdown.leaveSessionLabel": "ބައްދަލުވުން ދޫކޮށް ދޭ",
"app.navBar.settingsDropdown.exitFullscreenLabel": "ފުލްސްކްރީން އިން ނިކުމޭ",
"app.navBar.settingsDropdown.fullscreenDesc": "ސެޓިންގސް މެނޫ ފުލްސްކްރީން ކުރައްވާ",
"app.navBar.settingsDropdown.settingsDesc": "އާދައިގެ ސެޓިންގސް ބަދަލު ކުރޭ",
"app.navBar.settingsDropdown.aboutDesc": "ކްލައެންޓާއި ބެހޭ މައުލޫމާތު ދައްކާ",
"app.navBar.settingsDropdown.leaveSessionDesc": "ބައްދަލުވުން ދޫކޮށް ދޭ",
"app.navBar.settingsDropdown.exitFullscreenDesc": "ފުލްސްކްރީން މޯޑް އިން ނިކުމޭ",
"app.navBar.settingsDropdown.hotkeysLabel": "ކީބޯރޑް ޝޯޓްކަޓް ތައް",
"app.navBar.settingsDropdown.hotkeysDesc": "ބޭނުން ކުރެވެން ހުރި ކީބޯރޑް ޝޯޓްކަޓް ތަކުގެ ލިސްޓް",
"app.navBar.settingsDropdown.helpLabel": "އެޙީ އަށް",
"app.navBar.settingsDropdown.helpDesc": "ޔޫޒަރ އަށް ވީޑިއޯ ޓިއުޓޯރިަލް ތަކަށް ލިންކް ކުރާ (އެހެން ޓެބް އެއްގައިި ހުޅުވޭ ގޮތަށް)",
"app.navBar.settingsDropdown.endMeetingDesc": "މިހާރު ކުރިއަށްދާ ބައްދަލުވުން ހުއްޓާލުމަށް",
"app.navBar.settingsDropdown.endMeetingLabel": "ބައްދަލުވުން ނިންމާލާ",
"app.navBar.userListToggleBtnLabel": "ޔޫސަރ ލިސްޓް ޓޮގްލް",
"app.navBar.toggleUserList.ariaLabel": "ޔޫސަރ ތައް އަދި މެސެޖް ތައް ޓޮގްލް",
"app.navBar.toggleUserList.newMessages": "އާ މެސެޖް ނޯޓިފިކޭޝަން އާއި އެކު",
"app.navBar.recording": "މި ސެޝަން ދަނީ ރިކޯޑު ކުރެވެމުން",
"app.navBar.recording.on": "ރިކޯޑު ކުރެވެމުން ދަނީ",
"app.navBar.recording.off": "ރިކޯޑު ކުރެވެމުންނެއް ނޫން ދަނީ",
"app.navBar.emptyAudioBrdige": "މައިކްރޮފޯން އެއް ބޭނުން ކުރެވެމުންނެއް ނޫން ދަނީ. ރިކޯޑިންގ އެޑް ކުރެއްވުމަށް ތިޔަ ފަރާތުގެ މައިކްރޮފޯން ހިއްސާ ކުރައްވާ",
"app.leaveConfirmation.confirmLabel": "ދޫކޮށް ދިއުމަށް",
"app.leaveConfirmation.confirmDesc": "ބައްދަލުވުން އިން ލޮގް އައުޓް ވުމަށް",
"app.endMeeting.title": "ނިމުނީ {0}",
"app.endMeeting.description": "މި އެކްޝަން އިން {0} އެކްޓިވް ޔޫސަރ އިންނަށް ސެޝަން ނިންމާލާނެ. މިގޮތައް ކުރެއްވުމަށް ބޭނުންވާކަން ޔަގީން ތޯ؟ ",
"app.endMeeting.noUserDescription": "މި ސެޝަން ނިންމާލައްވަން ބޭނުންވާކަން ޔަގީން ތޯ؟",
"app.endMeeting.contentWarning": "މި ސެޝަންގައި ހިމެނިފައިވާ ޗެޓް މެސެޖުތައް. ހިއްސާ ކުރެވިފައި ވާ ނޯޓުތައް، ވައިޓްބޯރޑް ކޮންޓެންޓް އަދި ހިއްސާ ކުރެވިފައިވާ ޑޮކިއުމެންޓްތައް ކުރިއަށް އޮތް ތަނުގައި އެކްސެސް އެއް ނުކުރެވޭނެއެވެ",
"app.endMeeting.yesLabel": "އާނއެކެވެ",
"app.endMeeting.noLabel": "ނޫނެކެވެ",
"app.about.title": "މައުލޫމާތު",
"app.about.version": "ކްލައެންޓް ބިލްޑް:",
"app.about.copyright": "ކޮޕީރައިޓް:",
"app.about.confirmLabel": "އޯކޭ",
"app.about.confirmDesc": "އޯކޭ",
"app.about.dismissLabel": "ކެންސަލްކޮށްލާ",
"app.about.dismissDesc": "ކްލައެންޓާއި ބެހޭ މައުލޫމާތުތައް ލައްޕާލައި",
"app.actionsBar.changeStatusLabel": "ސްޓޭޓަސް ބަދަލު ކުރޭ",
"app.actionsBar.muteLabel": "ަައަޑު ކަނޑާލާ",
"app.actionsBar.unmuteLabel": "އަޑު އަނބުރާ އިވޭ ގޮތް ހަދާ",
"app.actionsBar.camOffLabel": "ކެމެރާ ނިވާލާ",
"app.actionsBar.raiseLabel": "އަތް ނަގާ",
"app.actionsBar.label": "އެކްޝަންސް ބާ",
"app.actionsBar.actionsDropdown.restorePresentationLabel": "ޕްރެޒެންޓޭޝަން އަލުން އަނބުރާ ގެނޭ",
"app.actionsBar.actionsDropdown.restorePresentationDesc": "ޕްރެޒެންޓޭޝަން ނިއްވާލުމަށްފަހުގައި އަލުން އަނބުރާ ގެނައުމަށް އިންން ފިތް",
"app.screenshare.screenShareLabel" : "ސްކްރީން ހިއްސާ ކުރޭ",
"app.submenu.application.applicationSectionTitle": "އެޕްލިކޭޝަން",
"app.submenu.application.animationsLabel": "އެނިމޭޝަން ތައް",
"app.submenu.application.audioFilterLabel": "މައިކްރޮފޯން އަށް އޯޑިއޯ ފިލްޓަރްތައް",
"app.submenu.application.fontSizeControlLabel": "ފޮންޓް ސައިޒް",
"app.submenu.application.increaseFontBtnLabel": "އެޕްލިކޭޝަން ގެ ފޮންޓު ސައިޒް ބޮޑު ކުރޭ",
"app.submenu.application.decreaseFontBtnLabel": "އެޕްލިކޭޝަން ގެ ފޮންޓު ސައިޒް ކުޑަ ކުރޭ",
"app.submenu.application.currentSize": "މިހާރު {0}",
"app.submenu.application.languageLabel": "އެޕްލިކޭޝަން ބަހުރުވާ",
"app.submenu.application.languageOptionLabel": "ބަސް ޚިޔާރުކުރައްވާ",
"app.submenu.application.noLocaleOptionLabel": "އެއްވެސް އެކްޓިވް ލޯކަލްސް އެއް ނެތް",
"app.submenu.application.paginationEnabledLabel": "ވީޑިއޯ ޕޭޖިނޭޝަން",
"app.submenu.notification.SectionTitle": "ނޯޓިފިކޭޝަންތައް",
"app.submenu.notification.Desc": "ކޮން ގޮތަކަށް ކަން އަދި ކޮންކޮން ކަންކަމެއްގައިކަން ނޯޓިފައި ކުރަންވީ ޚިޔާރުކުރައްވާ",
"app.submenu.notification.audioAlertLabel": "އޯޑިއޯ އެލާޓް ތައް",
"app.submenu.notification.pushAlertLabel": "ޕޮޕްއަޕް އެލާޓް ތައް",
"app.submenu.notification.messagesLabel": "ޗެޓް މެސެޖް",
"app.submenu.notification.userJoinLabel": "ޔޫސަރ ބައިވެރިވުން",
"app.submenu.notification.guestWaitingLabel": "ހުއްދައަށް އެދި މަޑުކޮއްގެން އިން މެހެމާން",
"app.submenu.audio.micSourceLabel": "މައިކްރޮފޯން ސޯރސް",
"app.submenu.audio.speakerSourceLabel": "ސްޕީކަރ ސޯރސް",
"app.submenu.audio.streamVolumeLabel": "ތިޔަ ފަރާތުފެ އޯޑިއޯ ސްޓްރީމް ގެ އަޑު ބާރުމިން",
"app.submenu.video.title": "ވީޑިއޯ",
"app.submenu.video.videoSourceLabel": "ސޯރސް ބަލާ",
"app.submenu.video.videoOptionLabel": "ބަލާ ސޯރސް އިޚްތިޔާރު ކުރައްވާ",
"app.submenu.video.videoQualityLabel": "ީވީޑިއޯ ގެ ސާފުމިން / ކޮލިޓީ",
"app.submenu.video.qualityOptionLabel": "ވީޑިއޯ ގެ ސާފުމިން / ކޮލިޓީ ކަނޑަ އަޅާ",
"app.submenu.video.participantsCamLabel": "ބައިވެރިންގެ ވެބްކެމްތައް ބަލާ",
"app.settings.applicationTab.label": "އެޕްލިކޭޝަން",
"app.settings.audioTab.label": "އަޑު / އޯޑިއޯ",
"app.settings.videoTab.label": "މަންޒަަރު / ވީޑިއޯ",
"app.settings.usersTab.label": "ބައިވެރިން",
"app.settings.main.label": "ސެޓިންގސް",
"app.settings.main.cancel.label": "ކެންސަލްކޮށްލާ",
"app.settings.main.cancel.label.description": "ގެނެވުނުް ބަދަލުތައް ދޫކޮށްލާފައި ސެޓިންގސް މެނޫ ލައްޕާލައި",
"app.settings.main.save.label": "ސޭވްކޮށްލާ",
"app.settings.main.save.label.description": "ގެނެވުނުް ބަދަލުތައް ސޭވްކޮށްލާފައި ސެޓިންގސް މެނޫ ލައްޕާލައި",
"app.settings.dataSavingTab.label": "ޑޭޓާ ސޭވިންގްސް",
"app.settings.dataSavingTab.webcam": "ވެބްކެމްތައް ޖައްސާލާ",
"app.settings.dataSavingTab.screenShare": "ޑެސްކްޓޮޕް ޝެއާރިންގް ޖައްސާލާ",
"app.settings.dataSavingTab.description": "ނެޓް ބޭނުންކުރާވަރު މަދުކުރުމަށް މިހާރު ފެންނަމުންދާ އެތި އެޖަސްޓްކުރައްވާ.",
"app.settings.save-notification.label": "ސެޓިންގސް ތައް ސޭވް ކުރެވިއްޖެ",
"app.statusNotifier.lowerHands": "އަތްތައް ތިރިކޮށްލުމަށް",
"app.statusNotifier.raisedHandsTitle": "ނެގިފައި ހުރި އަތްތައް",
"app.statusNotifier.raisedHandDesc": "{0} އޭނާގެ އަތް ނަގައިފި",
"app.statusNotifier.raisedHandDescOneUser": "{0} އަތް ނަގައިފި",
"app.statusNotifier.and": "އަދި",
"app.switch.onLabel": "ޖައްސާފައި",
"app.switch.offLabel": "ނުޖައްސާ",
"app.talkingIndicator.ariaMuteDesc" : "ޔޫސަރ ގެ އަޑު ނީވޭ ގޮތް ހެދުމަށް ފިތާލާ",
"app.talkingIndicator.isTalking" : "{0} ދަނީ ވާހަކަ ދައްކަމުން",
"app.talkingIndicator.wasTalking" : "{0} ވާހަކަ ދެއްކުން ހުއްޓާލައިފި",
"app.actionsBar.actionsDropdown.actionsLabel": "އެކްޝަންސް",
"app.actionsBar.actionsDropdown.presentationLabel": "ޕްރެޒެންޓޭޝަންތައް މެނޭޖު ކުރުމަށް",
"app.actionsBar.actionsDropdown.initPollLabel": "ޕޯލް / ވޯޓް އެއް ފަށާ",
"app.actionsBar.actionsDropdown.desktopShareLabel": "ތިޔަ ފަރާތުގެ ސްކްރީން ޝެއަރ ކުރޭ",
"app.actionsBar.actionsDropdown.lockedDesktopShareLabel": "ސްކްރީން ޝެއަރ ނުކުރެވޭގޮތައް ތަޅުލެވިފައި",
"app.actionsBar.actionsDropdown.stopDesktopShareLabel": "ތިޔަ ފަރާތުގެ ސްކްރީން ޝެއަރިންގ ހުއްޓާލައި",
"app.actionsBar.actionsDropdown.presentationDesc": "ޕްރެޒެންޓޭޝަން އަޕްލޯޑް ކުރޭ",
"app.actionsBar.actionsDropdown.initPollDesc": "ޕޯލް / ވޯޓް އެއް ފަށާ",
"app.actionsBar.actionsDropdown.desktopShareDesc": "ތިޔަ ފަރާތުގެ ސްކްރީން އެހެން ބައިވެރިންނާއި ޝެއަރ ކުރޭ",
"app.actionsBar.actionsDropdown.stopDesktopShareDesc": "ވަކި ފަރާތަކަށް ތިޔަ ފަރާތުގެ ސްކްރީން ޝެއަރ ކުރުން ހުއްޓާލައި",
"app.actionsBar.actionsDropdown.pollBtnLabel": "ޕޯލް / ވޯޓް އެއް ފަށާ",
"app.actionsBar.actionsDropdown.pollBtnDesc": "ވޯޓު ޕޭން ޓޮގްލްކުރާނެ",
"app.actionsBar.actionsDropdown.saveUserNames": "ޔޫސަރ ތަކުގެ ނަންތައް ސޭވް ކުރޭ",
"app.actionsBar.actionsDropdown.createBreakoutRoom": "ބްރޭކްއައުޓް ރޫމެއް ހަދާ",
"app.actionsBar.actionsDropdown.createBreakoutRoomDesc": "މިހާރު ކުރިއަށްދާ ބައްދަލުވުން ފަޅިކުރުމަށް ބްރޭކްއައުޓްތަކެއް ހަދާ",
"app.actionsBar.actionsDropdown.captionsLabel": "ކްލޯސްޑް ކެޕްޝަންތައް ލިޔޭ",
"app.actionsBar.actionsDropdown.captionsDesc": "ކެޕްޝަން ޕޭން ޓޮގްލްކުރާނެ",
"app.actionsBar.actionsDropdown.takePresenter": "ހުށައެޅުންތެރިޔަކު ނަގާ",
"app.actionsBar.actionsDropdown.takePresenterDesc": "އަމިއްލަ ނަފްސު ހުށަހެޅުންތެރިޔަކަށް ހަދާ",
"app.actionsBar.actionsDropdown.selectRandUserLabel": "ގުރުއަތުން ކޮންމެވެސް ޔޫސަރ އެއް ޚިޔާރު ކުރޭ",
"app.actionsBar.actionsDropdown.selectRandUserDesc": "ބެލުންތެރިންގެ ތެރެއިން ރެންޑަމްކޮށް ޔޫސާއެއް ހިޔާރުކުރާނެ",
"app.actionsBar.emojiMenu.statusTriggerLabel": "ސްޓޭޓަސް ޖަހާ",
"app.actionsBar.emojiMenu.awayLabel": "މިވަގުތު ވީ ދުރުގައި",
"app.actionsBar.emojiMenu.awayDesc": "ތިޔަބޭފުޅާގެ ސްޓޭޓަސް ދުރުގައިހުރިކަމަށް ބަދަލުކުރޭ",
"app.actionsBar.emojiMenu.raiseHandLabel": "އަތް ނަންގަވާ",
"app.actionsBar.emojiMenu.lowerHandLabel": "އަތްތައް ތިރިކޮށްލުމަށް",
"app.actionsBar.emojiMenu.raiseHandDesc": "ސުވާލެއް އެހުމަށް އަތް ނަގާ",
"app.actionsBar.emojiMenu.neutralLabel": "ގޮތެއް ނުނިންމަން",
"app.actionsBar.emojiMenu.neutralDesc": "ތިޔަބޭފުޅާގެ ސްޓޭޓަސް ގޮތެއް ނުނިންމާ ކަމުގައި އަށް ބަދަލުކުރޭ",
"app.actionsBar.emojiMenu.confusedLabel": "އޮޅުން އަރާފައި",
"app.actionsBar.emojiMenu.confusedDesc": "ތި ފަރާތުގެ ސްޓޭޓަސް އޮޅުން އަރާފައި ކަމުގައި އިޚްތިޔާރު ކުރޭ",
"app.actionsBar.emojiMenu.sadLabel": "ދެރަވެފައި",
"app.actionsBar.emojiMenu.sadDesc": "ތިޔަބޭފުޅާގެ ސްޓޭޓަސް ދެރަ ވެފައިވާކަމަށް ބަދަލުކުރޭ",
"app.actionsBar.emojiMenu.happyLabel": "އުފާވެފައި",
"app.actionsBar.emojiMenu.happyDesc": "ތިޔަބޭފުޅާގެ ސްޓޭޓަސް އުފާ ވެފައިކަމަށް ބަދަލުކުރޭ",
"app.actionsBar.emojiMenu.noneLabel": "ސްޓޭޓަސް ފުހެލާ",
"app.actionsBar.emojiMenu.noneDesc": "ސްޓޭޓަސް ފުހެލާ",
"app.actionsBar.emojiMenu.applauseLabel": "އަތްޖަހާ",
"app.actionsBar.emojiMenu.applauseDesc": "ތިޔަބޭފުޅާގެ ސްޓޭޓަސް އަތްތިލަބަޑިއަށް ބަދަލުކުރޭ",
"app.actionsBar.emojiMenu.thumbsUpLabel": "ބަރާބަރު",
"app.actionsBar.emojiMenu.thumbsUpDesc": "ތިޔަބޭފުޅާގެ ސްޓޭޓަސް ބަރާބަރަށް ބަދަލުކުރޭ",
"app.actionsBar.emojiMenu.thumbsDownLabel": "ކަމަކުނުދޭ",
"app.actionsBar.emojiMenu.thumbsDownDesc": "ތިޔަބޭފުޅާގެ ސްޓޭޓަސް ކަމަކުނުދާކަމަށް ބަދަލުކުރޭ",
"app.actionsBar.currentStatusDesc": "މިޙާރު ނެގިފައި އިން ސްޓޭޓަސް {0}",
"app.actionsBar.captions.start": "ކްލޯސްޑް ކެޕްޝަންތައް ބަލަން ފަށާ",
"app.actionsBar.captions.stop": "ކްލޯސްޑް ކެޕްޝަންތައް ބެލަން ހުއްޓާލާ",
"app.audioNotification.audioFailedError1001": "ވެބްސޮކެޓް ޑިސްކަނެކްޓް ވެއްޖެ (އެރަރ 1001)",
"app.audioNotification.audioFailedError1002": "ވެބްސޮކްޓް ކަނެކްޝަނެއް ނުހެދުނު (އެރަރ 1002)",
"app.audioNotification.audioFailedError1003": "ބްރައުޒާ ވަރޝަން ސަޕޯޓެއް ނުކުރޭ (އެރޯރ 1003)",
"app.audioNotification.audioFailedError1004": "ކޯލު ފެއިލް ވެއްޖެ (ސަބަބު={0}) (އެރަރ 1004)",
"app.audioNotification.audioFailedError1005": "ކުއްލި ގޮތެއްގައި ކޯލް ހުއްޓިއްޖެ (އެރޯރ 1005)",
"app.audioNotification.audioFailedError1006": "ކޯލް ޓައިމް އައުޓް ވެއްޖެ (އެރަރ 1006)",
"app.audioNotification.audioFailedError1007": "ކަނެކްޝަން ފެއިލްވެއްޖެ (އައި.ސީ.އީ އެރަރ 1007)",
"app.audioNotification.audioFailedError1008": "ޓްރާންސްފާ ފެއިލްވެއްޖެ (އެރަރ 1008)",
"app.audioNotification.audioFailedError1009": "އެސް.ޓީ.ޔޫ.އެން/ޓީ.ޔޫ.އާރު.އެން ސާރވާރގެ މަޢުލޫމާތު ނުހޯދުނު (އެރަރ 1009)",
"app.audioNotification.audioFailedError1010": "ކަނެކްޝަން ނެގޯސިއޭޝަން ޓައިމްއައުޓްވެއްޖެ (އައި.ސީ.އީ އެރަރ 1010)",
"app.audioNotification.audioFailedError1011": "ކަނެކްޝަން ޓައިމްއައުޓްވެއްޖެ (އައި.ސީ.އީ އެރަރ 1011)",
"app.audioNotification.audioFailedError1012": "ކަނެކްޝަން ބަންދުވެއްޖެ (އައި.ސީ.އީ އެރަރ 1012)",
"app.audioNotification.audioFailedMessage": "ތިޔަ ފަރާތުގެ އަޑު ގުޅައިދެވޭ ގޮތެއް ނުވި",
"app.audioNotification.mediaFailedMessage": "ހަމައެކަނި ސެކިޔަރ އޮރިޖިންސް އެލޯ ކުރާތީ getUserMicMedia ފެއިލްވެއްޖެ",
"app.audioNotification.closeLabel": "ލައްޕާ",
"app.audioNotificaion.reconnectingAsListenOnly": "ބެލުންތެރިންގެ މައިކްރޮފޯން ވަނީ ބޭނުން ނުކުރެވޭ ގޮތް ހެދިފައި. ތިޔަ ފަރާތް ގުޅައި ދެވިފައި ވަނީ ހަމަ އެކަނި އަޑު އަހާ ގޮތަށް",
"app.breakoutJoinConfirmation.title": "ބްރޭކްއައުޓް ރޫމަށް ޖޮއިންކޮށްލާ",
"app.breakoutJoinConfirmation.message": "ބައިވެރިވާން ބޭނުންވޭތޯ؟",
"app.breakoutJoinConfirmation.confirmDesc": "ތިޔަބޭފުޅާ ބްރޭކްއައުޓް ރޫމާ ޖޮއިންކުރުމަށް",
"app.breakoutJoinConfirmation.dismissLabel": "ކެންސަލްކޮށްލާ",
"app.breakoutJoinConfirmation.dismissDesc": "ކްލޯސްކޮށް ބްރޭކްއައުޓް ރޫމާ ޖޮއިންކުރުން ރިޖެކްޓްކުރާނެ",
"app.breakoutJoinConfirmation.freeJoinMessage": "ޖޮއިންކުރާނެ ބްރޭކްއައުޓް ރޫމެއް ހިޔާރުކުރައްވާ",
"app.breakoutTimeRemainingMessage": "ބްރޭކްއައުޓް ރޫމުގައި ބާކީ އޮތް ވަގުތު: {0}",
"app.breakoutWillCloseMessage": "ވަގުތު ހުސްވެއްޖެ. ބްރޭކްއައުޓް ރޫމް އިރުކޮޅަކުން ބަންދުވާނެ.",
"app.calculatingBreakoutTimeRemaining": "ބާކީ ކިހާ ވަގުތެއް ނަގާނެ ކަން ދަނީ ކަނޑައެޅެމުން",
"app.audioModal.ariaTitle": "އޯޑިއޯ މޯޑަލްގައި ބައިވެރިވޭ",
"app.audioModal.microphoneLabel": "މައިކްރޮފޯން",
"app.audioModal.listenOnlyLabel": "ހަމަ އެކަނި އަޑު އެހުން",
"app.audioModal.audioChoiceLabel": "އޯޑިއޯގައި ބައިވެރިވާން ބޭނުންވަނީ ކިހިނެތްތޯ؟",
"app.audioModal.iOSBrowser": "އޯޑިއޯ / ވީޑިއޯ ސަޕޯޓެއް ނުކުރޭ",
"app.audioModal.iOSErrorDescription": "މިވަގުތު iOS ގައި ކްރޯމް އަކަށް އޯޑިއޯ އަދި ވީޑިއޯ ސަޕޯޓެއް ނުކުރޭ",
"app.audioModal.iOSErrorRecommendation": "ސަފާރީ iOS ބޭނުން ކުރުން ރަނގަޅުވާނެ ކަމަށް ފާހަގަ ކޮށްލަން",
"app.audioModal.audioChoiceDesc": "ބައްދަލުވުމުގެ އޯޑިއޯގައި ބައިވެރި ވާންވީ ގޮތް ކަނޑައަޅާ",
"app.audioModal.unsupportedBrowserLabel": "ތިޔަ ބޭނުން ކުރާ ބްރައުޒަރ އަކީ މުޅިއަކުން ސަޕޯޓު ކުރާ ބްރައުޒަރ އެއް ނޫން. {0} ނުވަތަ {1} އަކީ މުޅިން ސަޕޯޓު ކުރެވިފައި ވާ އެއްޗެއް ކަމުން އެ ބޭނުން ކުރުން ބޮޑަށް އެދެވިގެންވޭ",
"app.audioModal.closeLabel": "ލައްޕާ",
"app.audioModal.yes": "އާނއެކެވެ",
"app.audioModal.no": "ނޫނެކެވެ",
"app.audioModal.yes.arialabel" : "ކޮންމެވެސް ވަރަކަށް އެކޯ ގެ އަޑު އެބަ ހުރި",
"app.audioModal.no.arialabel" : "އެކޯ ގެ އަޑެއް ނީވޭ",
"app.audioModal.echoTestTitle": "މިއީ ޕްރައިވެޓް އެކޯ ޓެސްޓެކެވެ. ދެތިން ބަހެއް ބުނެލާށެވެ. ތިޔަ ފަރާތައަށް އޯޑިއޯ ގެ އަޑު އިވޭތޯ؟",
"app.audioModal.settingsTitle": "ތިޔަ ފަރާތުގެ އޯޑިއޯ ސެޓިންގސް ބަދަލު ކުރޭ",
"app.audioModal.helpTitle": "ތިޔަ ފަރާތުގެ މީޑިއާ ޑިވައިސް ގައި މައްސަލައެއް އެބަ އުޅޭ",
"app.audioModal.helpText": "ތިޔަ ފަރާތުގެ މައިކްރޮފޯން ބޭނުން ކުރުމުގެ އިޒުނަ ދެއްވިންތޯ؟ އޯޑިއޯއަށް ވަންނަން ތިޔަ ފަރާތުން މަސައްކަތް ކުރުމުން، ސްކްރީންއަށް އަރާ މެސެޖް ގައި ތިޔަ ފަރާތުގެ މީޑިއާ ޑިވައިސްތައް ބޭނުން ކުރުމުގެ އިޒުނައަށް އެދޭނެއެވެ. އެކަމަށް އިޒުނަ ދެއްވުމުން ނޫނީ އޯޑިއޯ އަކަށް ނުވަދެވޭނެއެވެ. މި ނޫން ގޮތެއް ވާކަމުގައި ވާނަމަ، ތިޔަ ފަރާތުގެ ބްރައުޒާގައި މައިކްރޮފޯން ބޭނުންކުރުމުގެ ހުއްދަ ދެވިފައިވޭތޯ ޔަގީން ކޮށްލާށެވެ.",
"app.audioModal.help.noSSL": "މިއީ ރައްކާތެރި ކުރެވިފައިވާ ޕޭޖެއް ނޫނެވެ. މައިކްރޮފޯން ބޭނުން ކުރުމުގެ ހުއްދަ ދެވޭނީ HTTPS ބޭނުން ކުރާ ޕޭޖް ތަކަށް އެކަންޔެވެ. ސަަރވަރ ގެ އެޑްމިނިސްޓްރޭޓަރ ގެ ފަރާތުން އެހީ އަށް އެދޭށެވެ.",
"app.audioModal.help.macNotAllowed": "ތިޔަ ފަރާތުގެ މެކް ސިސްޓަމް ޕްރިފަރެންސް ތަކުގެ ސަބަބުން މައިކްރޮފޯން ބޭނުން ކުރުމަށް ވަނީ ހުރަސް އެޅިފައެވެ ހައްލުކުރުމަށް ދާނީ ސިސްޓަމް ޕްރިފަރަންސް > ސެކިއުރިޓީ & ޕްރައިވަސީ > ޕްރައިވަސީ > މައިކްރޮފޯން އަށެވެ. އެއަށްފަހުގައި ތިޔަ ބޭނުން ކުރަމުންދާ ބްރައުޒަރ ހިމެނިފައިވޭތޯ ޔަގީން ކޮށްލާށެވެ.",
"app.audioModal.audioDialTitle": "ފޯން މެދުވެރިކޮށް ބައިވެރި ވޭ",
"app.audioDial.audioDialDescription": "ގުޅާލާ",
"app.audioDial.audioDialConfrenceText": "އަދި ކޮންފަރެންސް ޕިން ނަންބަރ ޖައްސަވާ",
"app.audioModal.autoplayBlockedDesc": "އަޑު ޖެއްސުމަށް ތިޔަ ފަރާތުގެ އިޒުނަ ބޭނުންވޭ",
"app.audioModal.playAudio": "އަޑު ޖައްސާ / ޕްލޭ ކުރޭ",
"app.audioModal.playAudio.arialabel" : "އަޑު ޖައްސާ / ޕްލޭ ކުރޭ",
"app.audioDial.tipIndicator": "އެހީއެއްގެ ގޮތުން",
"app.audioDial.tipMessage": "ތިޔަ ފަރާތުގެ އަޑު ޖެއްސުމަށް ނުވަތަ ކަނޑާލުމަަށް ފޯނުގައި '0' ކަށް އޮއްބާލައްވައި",
"app.audioModal.connecting": "ގުޅައިދެވެމުން ދަނީ",
"app.audioModal.connectingEchoTest": "އެކޯ ޓެސްޓަށް ވަންނަނީ",
"app.audioManager.joinedAudio": "މިހާރު ވަނީ އޯޑިއޯ ކޮންފަރެންސްގައި ބައިވެރި ވެވިފައި",
"app.audioManager.joinedEcho": "އެކޯ ޓެސްޓަށް މިހާރުވަނީ ވަދެވިފައި",
"app.audioManager.leftAudio": "މިހާރު ވަނީ އޯޑިއޯ ކޮންފަރެންސް ދޫކޮށް ދެވިފައި",
"app.audioManager.reconnectingAudio": "އަލުން އޯޑިއޯ ގުޅައިދެވޭތޯ މަސައްކަތް ކުރެވެމުން ދަނީ",
"app.audioManager.genericError": "އެރޯރ: މައްސަލައެއް ދިމާ ވެއްޖެ، އަދި އެއްފަހަރު ބައްލަވާލައްވާ",
"app.audioManager.connectionError": "އެރޯރ؛ ގުޅައިދިނުމުގައި މައްސަލައެއް",
"app.audioManager.requestTimeout": "އެރޮރ: ރިކުއެސްޓްގައި ވަނީ ޓައިމްއައުޓެއް ވެފައި",
"app.audioManager.invalidTarget": "އެރޮރ: ޞައްޙަނޫން ޓާގެޓަކަށް ކޮންމެވެސް އެއްޗެއް ރިކުއެސްޓް ކުރުމަށްވަނީ މަސައްކަތްކުރެވިފައި",
"app.audioManager.mediaError": "އެރޮރ: ތިޔަ ފަރާތުގެ މީޑިއާ ޑިވައިސްތައް ހޯދައިގަތުމުގައި ވަނީ މައްސަލައެއް ދިމާވެފައި",
"app.audio.joinAudio": "އޯޑިއޯއަށް ވަދޭ",
"app.audio.leaveAudio": "އޯޑިއޯއިން ނިކުމޭ",
"app.audio.changeLeaveAudio": "އޯޑިއޯ ބަދަލުކުރޭ / ދޫކޮށް ދޭ",
"app.audio.enterSessionLabel": "ސެޝަން އަށް ވަދޭ",
"app.audio.playSoundLabel": "އަޑު ޖައްސާ",
"app.audio.backLabel": "ފަހަތައް",
"app.audio.loading": "ލޯޑުވަމުން ދަނީ",
"app.audio.microphones": "މައިކްރޮފޯން ތައް",
"app.audio.speakers": "ސްޕީކަރ",
"app.audio.noDeviceFound": "އެއްވެސް ޑިވައިސް އެއް ފެންނަ ގޮތެއް ނުވި",
"app.audio.audioSettings.titleLabel": "ތިޔަ ފަރާތުގެ އޯޑިއޯ ސެޓިންގސް ނަންގަވާ",
"app.audio.audioSettings.descriptionLabel": "ތިޔަ ފަރާތުގެ ބްރައުޒަރގައި ތިޔަ ފަރާތުގެ މައިކްރޮފޯން ޝެއަރ ކުރުމަށް އިޒުނަ ދޭން އަންގާލާ މެސެޖް އެއް އަރާނެެއެވެ.",
"app.audio.audioSettings.microphoneSourceLabel": "މައިކްރޮފޯން ސޯރސް",
"app.audio.audioSettings.speakerSourceLabel": "ސްޕީކަރ ސޯރސް",
"app.audio.audioSettings.microphoneStreamLabel": "ތިޔަ ފަރާތުފެ އޯޑިއޯ ސްޓްރީމް ގެ އަޑު ބާރުމިން",
"app.audio.audioSettings.retryLabel": "އަލުން ވޭތޯ ބަލާ",
"app.audio.listenOnly.backLabel": "ފަހަތައް",
"app.audio.listenOnly.closeLabel": "ލައްޕާ",
"app.audio.permissionsOverlay.title": "މައިކްރޮފޯން ބޭނުން ކުރުމުގެ އިޒުނަ ދީ",
"app.audio.permissionsOverlay.hint": "ތިޔަ ފަރާތް ވީޑިއޯ ކޮންފަރެންސަށް ގުޅައިދިނުމަށްޓަކާ ތިޔަ ފަރާތުގެ މީޑިއާ ޑިވައިސްތައް ބޭނުން ކުރުމަށް ހުއްދަ ދެއްވާ :)",
"app.error.removed": "ކޮންފަރެންސް އިން ތިޔަ ފަރާތް އެއްކައިރި ކޮއްފި",
"app.error.meeting.ended": "ކޮންފަރެންސް އިން ލޮގް އައުޓް ވެއްޖެ",
"app.meeting.logout.duplicateUserEjectReason": "އެއްގޮތް / ޑުޕްލިކޭޓް ޔޫސަރ އެއް ބައްދަލުވުމުގައި ބައިވެރިވާ މަސައްކަތް ކުރަނީ",
"app.meeting.logout.permissionEjectReason": "ހުއްދަު ނުދެވިފައި ވާ އަމަލެއް ކުރުމުގެ ސަބަބުން ބޭރު ކުރެވިފައި",
"app.meeting.logout.ejectedFromMeeting": "ބައްދަލުވުމުން ތިޔަ ފަރާތް ވަކިކޮށްފި",
"app.meeting.logout.validateTokenFailedEjectReason": "އޮތޮރައިޒޭޝަން ޓޮކެން ވެލިޑޭޓްކުރުން ފެއިލްވެއްޖެ",
"app.meeting.logout.userInactivityEjectReason": "ޔޫސަރ އެއްވެސް ކަމެއް ނުކޮށް މާ ގިނަ އިރު އިނދެފި",
"app.meeting-ended.rating.legendLabel": "ހިދުމަތުގެ ފެންވަރު",
"app.meeting-ended.rating.starLabel": "ތަރި",
"app.modal.close": "ލައްޕާ",
"app.modal.close.description": "ގެނެވުނުް ބަދަލުތައް ދޫކޮށްލާފައި މޯޑަލް ލައްޕާލައި",
"app.modal.confirm": "ނިމުނީ",
"app.modal.newTab": "(އާ ޓެބް އެއް ހުޅުވޭނެ)",
"app.modal.confirm.description": "ގެނެވުނުް ބަދަލުތައް ސޭވްކޮށްލާފައި މޯޑަލް ލައްޕާލައި",
"app.modal.randomUser.noViewers.description": "ގުރުއަތު ލައިގެން ނަގާނެ އެއްވެސް ބެލުންތެރިއެއް ނެތް",
"app.modal.randomUser.selected.description": "ގުރުއަތު ލައިގެން ވަނީ ތިޔަ ފަރާތް ހޮވިފައި",
"app.modal.randomUser.title": "ގުރުއަތުން ހޮވުނު ޔޫސަރ",
"app.modal.randomUser.who": "ކާކުބާ ހޮވޭނީ؟",
"app.modal.randomUser.alone": "މިވަގުތު އިނީ އެންމެ ބެލުންތެރިއެއް",
"app.modal.randomUser.reselect.label": "އަލުން ނަންގަވާ",
"app.modal.randomUser.ariaLabel.title": "ގުރުއަތުން ނެގިފައިވާ ޔޫސަރ މޯޑަލްއެއް",
"app.dropdown.close": "ލައްޕާ",
"app.dropdown.list.item.activeLabel": "އެކްޓިވް",
"app.error.400": "ގޯސް ރިކުއެސްޓެއް",
"app.error.401": "ހުއްދަ ދެވިފައެއް ނުވޭ",
"app.error.403": "ބައްދަލުވުމުން ތިޔަ ފަރާތް ވަކިކޮށްފި",
"app.error.404": "ނުފެނުން",
"app.error.410": "ބައްދަލުވުން ނިމިއްޖެ",
"app.error.500": "އަސްތާ! ކޮންމެވެސް ކަމެއް ގޯސްކޮށް ހިނގައިފި",
"app.error.userLoggedOut": "ލޮގްއައުޓް ކުރުމުގެ ސަބަބުން ޔޫސަރ ގެ ކިބައިގައި ވަނީ ބަލައިނުގަނެވޭނޭ ސެޝަން ޓޮކަންއެއް",
"app.error.ejectedUser": "އެއްކިބާ ކުރެވުމުގެ ސަބަބުން ޔޫސަރ ގެ ކިބައިގައި ވަނީ ބަލައިނުގަނެވޭނޭ ސެޝަން ޓޮކަންއެއް",
"app.error.userBanned": "ޔޫސަރ ވަނީ ބޭން / މަނާ ކުރެވިފައި",
"app.error.leaveLabel": "އަލުން ލޮގް އިން ވެލާ",
"app.error.fallback.presentation.title": "ކޮންމެވެސް މައްސަލައެއް ދިމާވެއްޖެ",
"app.error.fallback.presentation.description": "ލޮގް ކުރެވިއްޖެ. އަލުން ޕޭޖް ލޯޑް ކޮށްލައްވާ",
"app.error.fallback.presentation.reloadButton": "ރިލޯޑު / އަލުން ލޯޑު ކުރޭޭ",
"app.guest.waiting": "ބައިވެރިވުމުގެ ހުއްދަ ލިބެންދެން މަޑުކޮށްލައްވާ",
"app.guest.errorSeeConsole": "އެރޮރ: އިތުރު މައުލޫމާތު ކޮންސޯލް ގައި",
"app.guest.noModeratorResponse": "މޮޑަރޭޓަރ ފަރާތުން އެއްވެސް ޖަވާބެއް ނުލިބުން",
"app.guest.noSessionToken": "އެއްވެސް ސެޝަން ޓޮކަންއެއް ލިބިފައި ނުވޭ",
"app.guest.windowTitle": "ގެސްޓް ލޮބީ",
"app.guest.missingToken": "ސެޝަން ޓޮކަން ގެސްޓް ކިބައިގައި ނެތް",
"app.guest.missingSession": "ގެސްޓް ކިބައިގައި ސެޝަން ނެތް",
"app.guest.missingMeeting": "ތިޔަ ބައްދަލުވުމެއް ނެތް",
"app.guest.meetingEnded": "ބައްދަލުވުން ނިމިއްޖެ",
"app.guest.guestWait": "ތިޔަ ފަރާތް ބައްދަލުވުމަށް ވައްދައިދޭން މޮޑަރޭޓަރ ގެ ހުއްދަ ލިބެންދެން މަޑުކޮށްލައްވާ",
"app.guest.guestDeny": "ބައްދަލުވުމަށް މެހެމާނެއް ވަނުމުގެ ހުއްދައެއް ނެތް",
"app.guest.seatWait": "ބައްދަލުވުމުގައި ޖާގައަކަށް މަޑުކޮށްގެ މެހެމާނެއް އެބައިން",
"app.userList.guest.waitingUsers": "މަޑުކޮށްގެން ތިބި ޔޫސަރ އިން",
"app.userList.guest.waitingUsersTitle": "ޔޫސަރ މެނޭޖްމަންޓް",
"app.userList.guest.optionTitle": "ޕެންޑިންގް ޔޫސަރއިން ރިވިއުކުރޭ",
"app.userList.guest.allowAllAuthenticated": "އޮތިންޓިކޭޓްވެފައިވާ އެންމެނަށް ހުޅުވާލާ",
"app.userList.guest.allowAllGuests": "ހުރިހާ ގެސްޓުންނަށް ހުޅުވާލައި",
"app.userList.guest.allowEveryone": "އެންމެނަށް ހުޅުވާލައި",
"app.userList.guest.denyEveryone": "އެންމެނަށް ބަންދު ކުރޭ",
"app.userList.guest.pendingUsers": "ޕެންޑިންގް {0} ޔޫސަރއިން",
"app.userList.guest.pendingGuestUsers": "{0} ޕެންޑިންގް ގެސްޓް ޔޫސާރ",
"app.userList.guest.pendingGuestAlert": "ވަނީ ސެޝަން ގައި ބައިވެރިވެ ތިޔަ ފަރާތުގެ އިޒުނައިގެ އިންތިޒާރުގައި",
"app.userList.guest.rememberChoice": "އިޚްތިޔާރު ހަނދާނުގައި ބަހައްޓާ",
"app.userList.guest.emptyMessage": "މިވަގުތު އެއްވެސް މެސެޖެއް ނެތް",
"app.userList.guest.inputPlaceholder": "ގެސްޓް ލޮބީ އަށް މެސެޖް",
"app.userList.guest.acceptLabel": "ގަބޫލްކުރޭ",
"app.userList.guest.denyLabel": "އިންކާރު ކުރޭ",
"app.user-info.title": "ރަދީފުން ހޯދާ",
"app.toast.breakoutRoomEnded": "ބްރޭކްއައުޓް ރޫމް ނިމިއްޖެ. އަލުން އޯޑިއޯއާ ގުޅޭ.",
"app.toast.chat.public": "އާންމު ޗެޓް އަށް އާ މެސެޖެއް",
"app.toast.chat.private": "ޕްރައިވެޓް ޗެޓަށް އާ މެސެޖެއް",
"app.toast.chat.system": "ސިސްޓަމް",
"app.toast.clearedEmoji.label": "އިމޯޖީ ސްޓޭޓަސް ފޮހެލެވިއްޖެ",
"app.toast.setEmoji.label": "އިމޯޖީ ސްޓޭޓަސް {0} ކަމުގައި ކަނޑައެޅިފައި ",
"app.toast.meetingMuteOn.label": "ހުރިހާ ފަރާތެއްގެ އަޑު ނީވޭ ގޮތަށް ހެދި މިއުޓް ކުރެވިފައި",
"app.toast.meetingMuteOff.label": "ބައްދަލުވުމުގެ މިއުޓް ކަނޑާލެވިފައި",
"app.toast.setEmoji.raiseHand": "ތިޔަ ފަރާތުގެ އަތް ވަނީ ނެގިފަިއ",
"app.toast.setEmoji.lowerHand": "ތިޔަ ފަރާތުގެ އަތް ވަނީ ތިރި ކުރެވިފައި",
"app.notification.recordingStart": "މި ސެޝަން ދަނީ ރިކޯޑު ކުރެވެމުން",
"app.notification.recordingStop": "މި ސެޝަން ދަނީ ރިކޯޑު ކުރެވެމުންނެއް ނޫން",
"app.notification.recordingPaused": "މި ސެޝަން ގެ ރިކޯޑު ކުރުން ވަނީ މިހާރު ހުއްޓާލެވިފައި",
"app.notification.recordingAriaLabel": "ރިކޯޑު ކުރެވިފައި ވާ ގަޑި",
"app.notification.userJoinPushAlert": "{0} ސެޝަންއަށް ވަދެއްޖެ",
"app.submenu.notification.raiseHandLabel": "އަތް ނަގާ",
"app.shortcut-help.title": "ކީބޯރޑް ޝޯޓްކަޓް ތައް",
"app.shortcut-help.accessKeyNotAvailable": "އެކްސެސް ފިތްތައް މިވަގުތު ބޭނުން ނުކުރެވޭ",
"app.shortcut-help.comboLabel": "ކޮމްބޯ",
"app.shortcut-help.functionLabel": "ފަންކްޝަން",
"app.shortcut-help.closeLabel": "ލައްޕާ",
"app.shortcut-help.closeDesc": "ކީބޯރޑް ޝޯޓްކަޓް މޯޑަލް ލައްޕާލާނެ",
"app.shortcut-help.openOptions": "އޮޕްޝަންތައް ހުޅުވާ",
"app.shortcut-help.toggleUserList": "ޔޫސަރލިސްޓް ޓޮްގްލް",
"app.shortcut-help.toggleMute": "އަޑު ކަނޑާލާ / އަޑު ޖައްސާ",
"app.shortcut-help.togglePublicChat": "ޓޮގްލް ޕަބްލިކް ޗެޓް (ޔޫސަރ ލިސްޓް އިންނަންވާނީ ހުޅުވިފައި)",
"app.shortcut-help.hidePrivateChat": "ޕްރައިވެޓް ޗެޓެއް ފޮރުވާ",
"app.shortcut-help.closePrivateChat": "ޕްރައިވެޓް ޗެޓެއް ލައްޕާ",
"app.shortcut-help.openActions": "އެކްޝަން މެނޫ ހުޅުވާ",
"app.shortcut-help.raiseHand": "ައަތް ނެގުން ޓޮގްލް",
"app.shortcut-help.openDebugWindow": "ޑީބަގް ވިންޑޯ ހުޅުވާ",
"app.shortcut-help.openStatus": "ސްޓޭޓަސް މެނޫ ހުޅުވާ",
"app.shortcut-help.togglePan": "ޕޭން ޓޫލް އެކްޓިވޭޓް ކުރޭ (ހުޝަހަޅާ މީހާގެ)",
"app.shortcut-help.toggleFullscreen": "ޓޮގްލް ފުލްސްކްރީން (ހުޅަހަޅާ މީހާގެ)",
"app.shortcut-help.nextSlideDesc": "ދެންއޮތް ސްލައިޑް (ހުޝަހަޅާ މީހާގެ)",
"app.shortcut-help.previousSlideDesc": "ކުރީގެ ސްލައިޑް (ހުޝަހަޅާ މީހާގެ)",
"app.lock-viewers.title": "ބެލުންތެރިން ތަޅުލާ",
"app.lock-viewers.description": "މި އޮޕްޝަންތަކުން ތިޔަ ފަރާތަށް ބެލުންތެރިން ބައެއް ކަންތައްތައް ކުރުން މަނާ ކުރުމުގެ އިޚްތިޔާރު ދޭނެ",
"app.lock-viewers.featuresLable": "ފީޗަރ",
"app.lock-viewers.lockStatusLabel": "ހާލަތު / ސްޓޭޓަސް",
"app.lock-viewers.webcamLabel": "ވެބްކެމްތައް ޝެއަރ ކުރޭ",
"app.lock-viewers.otherViewersWebcamLabel": "އެހެން ބެލުންތެރިންގެ ވެބްކެމްތައް ބަލާ",
"app.lock-viewers.microphoneLable": "މައިކްރޮފޯން ޝެއަރ ކުރޭ",
"app.lock-viewers.PublicChatLabel": "އާންމު ޗެޓް އަށް މެސެޖެއް ފޮނުވާ",
"app.lock-viewers.PrivateChatLable": "ޕްރައިވެޓް ޗެޓަށް މެސެޖެއް ފޮނުވާ",
"app.lock-viewers.notesLabel": "ހިއްސާ ކުރެވިފައި ވާ ނޯޓުތަކަށް ބަދަލު ގެނޭ",
"app.lock-viewers.userListLabel": "ޔޫސަރ ލިސްޓްގައި ހުރި އެހެނިހެން ބެލުންތެރިންތައް ބަލާ",
"app.lock-viewers.ariaTitle": "އެހެން ބެލުންތެރިންގެ ސެޓިންގސް މޯޑަލް ތަޅުލާ",
"app.lock-viewers.button.apply": "ބަދަލު ގެނޭ",
"app.lock-viewers.button.cancel": "ކެންސަލްކޮށްލާ",
"app.lock-viewers.locked": "ތަޅުލާފައި",
"app.lock-viewers.unlocked": "ތަޅުހުޅުވާފައި",
"app.guest-policy.ariaTitle": "މެހެމާނުންގެ ޕޮލިސީ ސެޓިންގސް މޯޑަލް",
"app.guest-policy.title": "މެހެމާނުންގެ ޕޮލިސީ",
"app.guest-policy.description": "ބައްދަލުވުމުގެ މެހެމާނުންގެ ޕޮލިސީ ޚިޔާރުތައް ބަދަލުކުރޭ",
"app.guest-policy.button.askModerator": "މޮޑަރޭޓަރ ގާތު އަހާ",
"app.guest-policy.button.alwaysAccept": "އަބަދުވެސް ގަބޫލްކުރޭ",
"app.guest-policy.button.alwaysDeny": "އަބަދުވެސް އިންކާރުކުރޭ",
"app.connection-status.ariaTitle": "ކަނެކްޝަން ސްޓޭޓަސް މޯޑަލް",
"app.connection-status.title": "ކަނެކްޝަން ސްޓޭޓަސް",
"app.connection-status.description": "އެހެން ޔޫސަރއިންގެ ކަނެކްޝަން ސްޓޭޓަސް ބަލާ",
"app.connection-status.empty": "މިވަގުތު އެއްވެސް ކަނެކްޝަން މައްސަލައެއް ރިޕޯޓު ކުރެވިފައެއް ނެތް",
"app.connection-status.more": "އިތުރު",
"app.connection-status.label": "ކަނެކްޝަން ޙާލަތު",
"app.connection-status.notification": "ތިޔަ ފަރާތުގެ ކަނެކްޝަން ކެނޑޭ ކަން ފާހަގަ ކުރެވޭ",
"app.connection-status.offline": "އޮފްލައިން",
"app.recording.startTitle": "ރިކޯޑު ކުރަން ފަށާ",
"app.recording.stopTitle": "ރިކޯޑު ކުރުން މަޑުކޮށްލީ",
"app.recording.resumeTitle": "އަލުން ރިކޯޑު ކުރުން ކުރިއަށް ގެންދޭ",
"app.recording.startDescription": "ފަހުން ރިކޯޑުކުރުން މެދުކަނޑާލަން ބޭނުންކަމުގައި ވާނަމަ ފަހުން ރިކޯޑް ފިތަށް އަލުން ފިއްތާލާ",
"app.recording.stopDescription": "ރިކޯޑު ކުރުން ވަގުތީ ގޮތުން ހުއްޓާލަން ބޭނުންވާކަން ޔަގީންތޯ؟ ރިކޯޑު ފިތަށް އޮއްބާލުމުން އަނެއްކާވެސް ރިކޯޑޫކުރުން ކުރިއަށް ގެންދެވޭނެ",
"app.videoPreview.cameraLabel": "ކެމެރާ",
"app.videoPreview.profileLabel": "ކޮލިޓީ",
"app.videoPreview.quality.low": "ދަށް",
"app.videoPreview.quality.medium": "މެދުމިނު",
"app.videoPreview.quality.high": "މަތީ ",
"app.videoPreview.quality.hd": "ހައި ޑެފިނިޝަން / އެޗް ޑީ",
"app.videoPreview.cancelLabel": "ކެންސަލްކޮށްލާ",
"app.videoPreview.closeLabel": "ލައްޕާ",
"app.videoPreview.findingWebcamsLabel": "ވެބްކެމްތައް ހޯދަނީ",
"app.videoPreview.startSharingLabel": "ޝެއަރ ކުރަން ފަށާ",
"app.videoPreview.stopSharingLabel": "ޝެއަރ ކުރުން ހުއްޓާލާ",
"app.videoPreview.stopSharingAllLabel": "ހުރިހާ އެއްޗެއް ހުއްޓާލާ",
"app.videoPreview.sharedCameraLabel": "މި ކެމެރާ މިހާރުވެސް ދަނީ ޝެއަރ ކުރެވެމުން",
"app.videoPreview.webcamOptionLabel": "ވެބެކެމް އިޚްތިޔާރު ކުރޭ",
"app.videoPreview.webcamPreviewLabel": "ވެބްކެމް މަތިމަތިން އިންނަ ގޮތް ބަލާލާ",
"app.videoPreview.webcamSettingsTitle": "ވެބްކެމް ސެޓިންގ ތައް",
"app.videoPreview.webcamNotFoundLabel": "ވެބްކެމް އެއް ނުފެނުން",
"app.videoPreview.profileNotFoundLabel": "ސަޕޯޓުކުރާ ކެމެރާ ޕްރޮފައިލް އެއް ނެތް",
"app.video.joinVideo": "ވެބްކެމް ޝެއަރ ކުރޭ",
"app.video.connecting": "ވެބްކެމް ޝެއަރ ކުރެވެން ފަށަނީ",
"app.video.dataSaving": "ޑާޓާ ސޭވިންގ މޯޑުގައި ވެބްކެމް ޝެއަރ އެއް ނުކުރެވޭނެ",
"app.video.leaveVideo": "ވެބްކެމް ޝެއަރ ކުރުން ހުއްޓާލާ",
"app.video.iceCandidateError": "އައި.ސީ.އީ ކެންޑިޑޭޓް އެޑްކުރުމުގައި މައްސަލައެއް ޖެހިއްޖެ",
"app.video.iceConnectionStateError": "ކަނެކްޝަން މައްސަލަ (ICE އެރޮރ: 1107)",
"app.video.permissionError": "ވެބްކެމް ޝެއަރ ކުރުމުގައި މައްސަލައަކާއި ދިމާވެއްޖެ. ބޭނުންވާ ހުރިހާ ހުއްދަތައް ދެވިފައިވޭތޯ ޔަގީން ކޮށްލާ",
"app.video.sharingError": "ވެބްކެމް ޝެއަރ ކުރުމުގައި މައްސަލައެއް ދިމާވެއްޖެ",
"app.video.abortError": "ޑިވައިސް ބޭނުން ކުރުމަށް ހުރަސް އެޅޭފަދަ މައްސަލައެއް ކުރިމަތި ވެއްޖެ",
"app.video.overconstrainedError": "ރިކުއެސްޓްކުރި ކްރައިޓީރިއާއާ ގުޅޭ ކެންޑިޑޭޓް ޑިވައިސްއެއް ނެތް",
"app.video.securityError": "މި ޑޮކިއުމަންޓް ގައި މީޑިއާ ބޭނުން ނުކުރެވޭ ގޮތް ވަނީ ހެދިފައި",
"app.video.typeError": "ބަޔާންކުރި ކޮންސްޓްރެއިންޓްތަކުގައި އެއްޗެއް ނެތް، ނުވަތަ ހުރިހާ ކޮންސްޓްރެއިންޓެއް ހުރީ ފޯލްސްއަށް ސެޓްކޮށްފައި",
"app.video.notFoundError": "ވެބްކެމްއެއް ނުފެނުން. ވެބްކެމް ގުޅާފަ އިންތޯ ޔަގީން ކޮށްލާ",
"app.video.notAllowed": "ވެބްކެމް ޝެއަރ ކުރުމަށް ބޭނުންވާ ހުއްދައެއް އެބަ މަދުވޭ. ބްރައުޒަރ ޕަރމިޝަންތައް ދެވިފައިވޭތޯ ޔަގީން ކޮށްލާ",
"app.video.notSupportedError": "ވެބްކެމް ޝެއަރކުރެވޭނީ ހަމައެކަނި ރައްކާތެރި ސޯސްތަކާ، އެސް.އެސް.އެލް ސެޓްފިކެޓް ރަނގަޅުކަށް ޔަޤީންކުރައްވާ",
"app.video.notReadableError": "ވެބްކެމް އިން މަންޒަރު ލިބޭގޮތް ވަނީ ނުވެފައި. އެހެން ޕްރޮގްރާމްއެއް ވެބްކެމް ބޭނުން ނުކުރާކަން ޔަގީން ކޮށްލައްވާ",
"app.video.timeoutError": "ބްރައުޒަރ އިން ކަނޑައޅިފައި އިން ވަގުތުގެ ތެރޭގައި ޖަވާބެއް ލިބޭ ގޮތެއް ނުވި",
"app.video.genericError": "ޑިވައިސްގައި ގޮތްނޭންގޭ މައްސަލައެއް ދިމާވެއްޖެ (އެރޮރ {0}) ",
"app.video.mediaFlowTimeout1020": "މީޑިއާ އިން ސަރވަރ އާއި ގުޅޭގޮތެއް ނުވި (އެރޮރ 1020)",
"app.video.suggestWebcamLock": "ބެލުންތެރިންގެ ވެބްކެމްތަކަށް ލޮކް ސެޓިންގްތައް ތަންފީޒުކުރަންވީތޯ؟",
"app.video.suggestWebcamLockReason": "(މިކަމުން ބައްދަލުވުން އޮމާންކަމާއި އެކު ކުރިއަށް ދިއުމަށް އެހީތެރި ވެދޭނެ)",
"app.video.enable": "ޖައްސާ",
"app.video.cancel": "ކެންސަލްކޮށްލާ",
"app.video.swapCam": "ބަދަލު ކޮށްލާ",
"app.video.swapCamDesc": "ވެބްކެމްގެ ކޮޅު ބަދަލް ކޮށްލާ",
"app.video.videoLocked": "ވެބްކެމް ޝެއަރ ނުކުރެވޭގޮތައް ތަޅުލެވިފައި",
"app.video.videoButtonDesc": "ވެބްކެމް ޝެއަރ ކުރޭ",
"app.video.videoMenu": "ވީޑިއޯ މެނޫ",
"app.video.videoMenuDisabled": "ވެބްކެމް ގެ ވީޑިއޯ މެނޫ ސެޓިންގސް އިން ބޭނުން ނުކުރެވޭގޮތް ހެދިފައި",
"app.video.videoMenuDesc": "ވީޑިއޯ މެނޫގެ ޑްރޮޕްޑައުން ހުޅުވާލާ",
"app.video.pagination.prevPage": "ކުރީގެ ވީޑިއޯތައް ބަލާ",
"app.video.pagination.nextPage": "ކުރިއަށް ހުރި ވީޑިއޯތައް ބަލާ",
"app.video.clientDisconnected": "ކަނެކްޝަން މައްސަލަ ހުރުމުގެ ސަބަބުން ވެބްކެމް ޝެއަރ ކުރެވޭކަށް ނެތް",
"app.fullscreenButton.label": "{0} ފުލްސްކްރީން ކޮށްލާ",
"app.fullscreenUndoButton.label": "{0} ފުލްސްކްރީން އިން ކަނޑާލާ",
"app.sfu.mediaServerConnectionError2000": "މީޑިއާ ސަރވަރ އާއި ގުޅޭގޮތެއް ނުވި (އެރޮރ 2000)",
"app.sfu.mediaServerOffline2001": "މީޑިއާ ސަރވަރ މިވަގުތު އޮފްލައިން. ފަހުން ވޭތޯ ބަލާލާ (އެރޮރ 2001)",
"app.sfu.mediaServerNoResources2002": "މީޑިއާ ސާރވާރގައި އެއްވެސް ރިސޯސްއެއް ލިބޭކަށް ނެތް (އެރަރ 2002)",
"app.sfu.mediaServerRequestTimeout2003": "މީޑިއާ ސާރވާރގެ ރިކުއެސްޓްތައް ޓައިމްއައުޓްވަނީ (އެރާރ 2003)",
"app.sfu.serverIceGatheringFailed2021": "މީޑިއާ ސާރވާއަށް ކަނެކްޝަން ކެންޑިޑޭޓުން އެކެއްނުކުރެވޭ (އައި.ސީ.އީ އެރަރ 2021)",
"app.sfu.serverIceGatheringFailed2022": "މީޑީއާ ސަރވަރ ގުޅައެއް ނުދެވުނު (ICE އެރޮރ 2022)",
"app.sfu.mediaGenericError2200": "މީޑިއާ ސާރވާރއަށް ރިކުއެސްޓް ޕްރޮސެސްއެއް ނުކުރެވުނު (އެރަރ 2200)",
"app.sfu.invalidSdp2202":"ކްލައިންޓް ނުބައި މީޑިއާ ރިކުއެސްޓެއް ޖެނެރޭޓުކޮށްފި (އެސް.ޑީ.ޕީ އެރަރ 2202)",
"app.sfu.noAvailableCodec2203": "ސާރވާރއަކަށް ގުޅުންހުރި ކޮޑެކެއް ނުހޯދުނު (އެރަރ 2203)",
"app.meeting.endNotification.ok.label": "އޯކޭ",
"app.whiteboard.annotations.poll": "ވޯޓުގެ ނަތީއްޖާ ވަނީ ޝާއިއުކުރެވިފައި",
"app.whiteboard.annotations.pollResult": "ވޯޓުގެ ނަތީޖާ",
"app.whiteboard.toolbar.tools": "އާލާތްތައް",
"app.whiteboard.toolbar.tools.hand": "ޕޭން",
"app.whiteboard.toolbar.tools.pencil": "ފަންސޫރު",
"app.whiteboard.toolbar.tools.rectangle": "ހަތަރެސްކަން",
"app.whiteboard.toolbar.tools.triangle": "ތިނެސްކަން",
"app.whiteboard.toolbar.tools.ellipse": "ބުރު",
"app.whiteboard.toolbar.tools.line": "ލައިން",
"app.whiteboard.toolbar.tools.text": "ޓެކްސްޓް",
"app.whiteboard.toolbar.thickness": "ކުރަހާ ފަލަމިން",
"app.whiteboard.toolbar.thicknessDisabled": "ކުރެހެމުގެ ފަލަމިން ބޭނުން ނުކުރެވޭ ގޮތަށް ޑިސޭބަލްކޮށްފާ",
"app.whiteboard.toolbar.color": "ކުލަތައް",
"app.whiteboard.toolbar.colorDisabled": "ކުލަތައް ވަނީ ކަނޑާލެވިފައި",
"app.whiteboard.toolbar.color.black": "ކަޅު",
"app.whiteboard.toolbar.color.white": "ހުދު",
"app.whiteboard.toolbar.color.red": "ރަތް",
"app.whiteboard.toolbar.color.orange": "އޮރެންޖު",
"app.whiteboard.toolbar.color.eletricLime": "ދޮން ލުނބޯ ފެހި",
"app.whiteboard.toolbar.color.lime": "ލުނބޯ ފެހި",
"app.whiteboard.toolbar.color.cyan": "ސަޔަން ނޫ ކުލަ",
"app.whiteboard.toolbar.color.dodgerBlue": "އަލި ނޫ",
"app.whiteboard.toolbar.color.blue": "ނޫ",
"app.whiteboard.toolbar.color.violet": "ވަޔަލެޓު",
"app.whiteboard.toolbar.color.magenta": "ގަދަ ފިޔާތޮށި",
"app.whiteboard.toolbar.color.silver": "ރިހި",
"app.whiteboard.toolbar.undo": "އެނޮޓޭޝަން އަންޑޫކޮށްލާ",
"app.whiteboard.toolbar.clear": "ހުރިހާ އެނޮޓޭޝަނެއް ފުހެލާ",
"app.whiteboard.toolbar.multiUserOn": "މަލްޓި-ޔޫސަރ ވައިޓްބޯޑު ޖައްސާ",
"app.whiteboard.toolbar.multiUserOff": "މަލްޓި-ޔޫސަރ ވައިޓްބޯޑު ކަނޑާލާ",
"app.whiteboard.toolbar.palmRejectionOn": "ޕާމް ރިޖެކްޝަން އޮންކޮށްލާ",
"app.whiteboard.toolbar.palmRejectionOff": "ޕާމް ރިޖެކްޝަން އޮފްކޮށްލާ",
"app.whiteboard.toolbar.fontSize": "ފޮންޓް ސައިޒް ލިސްޓް",
"app.feedback.title": "ބައްދަލުވުމުން ނުކުމެވިއްޖެ ",
"app.feedback.subtitle": "ތިޔަ ފަރާތުން ބިގްބްލޫބަޓަން ގެ ޚިދުމަތާއި ދޭތެރޭ ދެކޭ ގޮތް އަންގާލައްވާ (އިޚްތިޔާރީ)",
"app.feedback.textarea": "އަޅުގަނޑުމެން ބިގްބްލޫބަޓަން ގެ ޚިދުމަތް އިތުރަށް ރަނގަޅު ކުރުމަށް ކުރެވިދާނެ ބައެއް ކަންކަން ހިއްސާ ކޮށްލައްވާ",
"app.feedback.sendFeedback": "ޚިޔާލު ފޮނުވާލާ",
"app.feedback.sendFeedbackDesc": "ޚިޔާލެއް ފޮނުވާލުމަށްފަހު ބައްދަލުވުމުން ވަކިވޭ",
"app.videoDock.webcamMirrorLabel": "މިރަރ",
"app.videoDock.webcamMirrorDesc": "ނަގާފައިވާ ވެބްކެމް މިރަރ ކޮށްލާ",
"app.videoDock.webcamFocusLabel": "ފޯކަސް",
"app.videoDock.webcamFocusDesc": "ނަގާފައިވާ ވެބްކެމް ފޯކަސް ކޮށްލާ",
"app.videoDock.webcamUnfocusLabel": "ފޯކަސް ކަނޑާލާ",
"app.videoDock.webcamUnfocusDesc": "ޚިޔާރު ކުރެވުނު ވެބްކެމް ފޯކަސުން ކަނޑާލާ",
"app.videoDock.autoplayBlockedDesc": "އެހެން ފަރާތްތަކުގެ ވެބްކެމް ތިޔަ ފަރާތާއި ހިއްސާ ކުރުމަށް ތިޔަ ފަރާތުގެ އިޒުނަ ބޭނުންވޭ",
"app.videoDock.autoplayAllowLabel": "ވެބްކެމްތައް ދައްކާލާ",
"app.invitation.title": "ބްރޭކްއައުޓް ރޫމްގެ ދައުވަތު",
"app.invitation.confirm": "ދައުވަތު ދީ",
"app.createBreakoutRoom.title": "ބްރޭކްއައުޓް ރޫމްތައް",
"app.createBreakoutRoom.ariaTitle": "ބްރޭކްއައުޓް ރޫމްތައް ފޮރުވާ",
"app.createBreakoutRoom.breakoutRoomLabel": "ބްރޭކްއައުޓް ރޫމްތައް {0}",
"app.createBreakoutRoom.generatingURL": "ޔޫއާރްއެލެއް ހަދަނީ",
"app.createBreakoutRoom.generatedURL": "ހެދިއްޖެ",
"app.createBreakoutRoom.duration": "ދިގުމިން {0}",
"app.createBreakoutRoom.room": "ކޮޓަރި {0}",
"app.createBreakoutRoom.notAssigned": "ކަނޑައެޅިފައި ނެތް ({0})",
"app.createBreakoutRoom.join": "ކޮޓަރިއަށް ވަދޭ",
"app.createBreakoutRoom.joinAudio": "އޯޑިއޯއަށް ވަދޭ",
"app.createBreakoutRoom.returnAudio": "އޯޑިއޯ ރިޓާންކުރޭ",
"app.createBreakoutRoom.alreadyConnected": "މިހާރުވެސް ކޮޓަރީގައި",
"app.createBreakoutRoom.confirm": "އުފައްދާ",
"app.createBreakoutRoom.record": "ރިކޯޑު",
"app.createBreakoutRoom.numberOfRooms": "ކޮޓަރީގެ އަދަދު",
"app.createBreakoutRoom.durationInMinutes": "ގަޑި (މިނިޓުން)",
"app.createBreakoutRoom.randomlyAssign": "ގުރުއަތުން ނަގާ",
"app.createBreakoutRoom.endAllBreakouts": "ހުރިހާ ބްރޭކްއައުޓް ރޫމެއް ނިންމާލާ",
"app.createBreakoutRoom.roomName": "{0} (ކޮޓަރި - {1})",
"app.createBreakoutRoom.doneLabel": "ނިމުނީ",
"app.createBreakoutRoom.nextLabel": "ކުރިއަށް",
"app.createBreakoutRoom.minusRoomTime": "ބްރޭކްއައުޓް ރޫމްގެ ވަގުތު މަދުކުރަންވީ",
"app.createBreakoutRoom.addRoomTime": "ބްރޭކްއައުޓް ރޫމްގެ ވަގުތު އިތުރުކުރަންވީ",
"app.createBreakoutRoom.addParticipantLabel": "+ ބައިވެރިއެއް އިތުރު ކޮށްލާ",
"app.createBreakoutRoom.freeJoin": "ޔޫސާތައް ބޭނުން ބްރޭކްއައުޓް ރޫމަކާ ވަނުމަށް ހުއްދަދީ",
"app.createBreakoutRoom.leastOneWarnBreakout": "މަދުވެގެން އެއް ޔޫސާރ ބްރޭކްއައުޓް ރޫމަކަށް ލާން ޖެހޭ",
"app.createBreakoutRoom.modalDesc": "އެހީ: ވަކި ޔޫސާރެއް ވަކި ބްރޭކްއައުޓް ރޫމަކަށް ލުމަށް، އެ ޔޫސާރެއްގެ ނަން އެ ބްރޭކްއައުޓް ރޫމަކަށް މައުސުން ދަމާލާފައި ވައްޓާލެވިދާނެ",
"app.createBreakoutRoom.roomTime": "{0} މިނިޓު",
"app.createBreakoutRoom.numberOfRoomsError": "ކޮޓަރީގެ އަދަދު ރަނގަޅެއް ނޫން",
"app.externalVideo.start": "އާ ވީޑިއޯއެއް ހިއްސާ ކުރޭ",
"app.externalVideo.title": "އެކްސްޓާނަލް ވީޑިއޯއެއް ހިއްސާކޮށްލާ",
"app.externalVideo.input": "އެކްސްޓާނަލް ވީޑިއޯ ލިންކު",
"app.externalVideo.urlInput": "ވީޑިއޯ ލިންކެއް ލާ",
"app.externalVideo.urlError": "މި ވީޑިއޯ ޔޫއާރްއެލް ސަޕޯޓެއް ނުކުރޭ",
"app.externalVideo.close": "ބަންދު",
"app.externalVideo.autoPlayWarning": "މީޑިއާ ސިންކްރޮނައިޒޭޝަން ޖެއްސެވުމަށް ވީޑިއޯ ފައްޓަވާ",
"app.network.connection.effective.slow": "ގުޅައިދިނުމުގައި ދަތިތަކަކާއި ކުރިމަތިވާކަން ފާހަގަވޭ",
"app.network.connection.effective.slow.help": "އިތުރު މައުލޫމާތު",
"app.externalVideo.noteLabel": "ނޯޓު: ހިއްސާ ކުރެވިފައިވާ އެކްސްޓާނަލް ވީޑިއޯތައް ރިކޯޑިންގައި ނުފެންނާނެ. ޔޫޓިއުބް، ވީމިއޯ، އިންސްޓްރަކްޗަރ މީޑިއާ، ޓްވިޗް، ޑެއިލީ މޯޝަން އަދި މީޑިއާ ފައިލް ލިންކްތައް (މިސާލު: https://example.com/xy.mp4) ސަޕޯޯޓުކުރާނެ.",
"app.actionsBar.actionsDropdown.shareExternalVideo": "އެކްސްޓާނަލް ވީޑިއޯއެއް ހިއްސާކުރައްވާ",
"app.actionsBar.actionsDropdown.stopShareExternalVideo": "އެކްސްޓާނަލް ވީޑިއޯ ހިއްސާކުރުން ހުއްޓާލާ",
"app.iOSWarning.label": "އައިއޯއެސް 12.2 އަށް ނުވަތަ އެއަށްވުރެ މައްޗަށް އަދާހަމަ ކުރައްވާ",
"app.legacy.unsupportedBrowser": "ތިޔަ ބޭނުން ކުރާ ބްރައުޒަރަކީ ސަޕޯޓު ކުރާ ބްރައުޒަރެއް ނޫން. ފުރިހަމަ ސަޕޯޓު ލިބުމަށްޓަކައި {0} ނުވަތަ {1} ބޭނުން ކުރައްވާ",
"app.legacy.upgradeBrowser": "ތިޔަ ބޭނުން ކުރައްވަނީ ސަޕޯޓު ކުރެވިފައިވާ ބްރައުޒަރެއްގެ ކުރީގެ އިސްދާރެއް. ފުރިހަމަ ސަޕޯޓު ލިބުމަށްޓަކައި އަދާހަމަ ކުރައްވާ",
"app.legacy.criosBrowser": "އައިއޯއެސްގައި ފުރިހަމަ ސަޕޯޓު ލިބުމަށްޓަކައި ސަފާރީ ބޭނުން ކުރައްވާ",
"app.debugWindow.windowTitle": "ޑީބަގް",
"app.debugWindow.form.userAgentLabel": "ޔޫސަރ އޭޖެންޓް",
"app.debugWindow.form.button.copy": "ކޮޕީ",
"app.debugWindow.form.enableAutoarrangeLayoutLabel": "އޮޓޯ އެރޭންޖް ލޭއައުޓް ޖައްސާ",
"app.debugWindow.form.enableAutoarrangeLayoutDescription": "(ވެބްކެމް އޭރިއާ ސައިޒް ބަދަލު ކުރުމުން ނުވަތަ ދަމާލާފައި ގެންގޮއްސި ނަމަ ބޭނުން ނުކުރެވޭގޮތް ވާނެއެވެ)"
}

View File

@ -138,7 +138,6 @@
"app.meeting.ended": "Η συνεδρία έληξε",
"app.meeting.meetingTimeRemaining": "Υπολειπόμενος χρόνος σύσκεψης: {0}",
"app.meeting.meetingTimeHasEnded": "Ο χρόνος τελείωσε. Η σύσκεψη θα κλείσει σύντομα.",
"app.meeting.endedByUserMessage": "Η σύσκεψη τερματίστηκε από τον {0}",
"app.meeting.endedMessage": "Θα μεταφερθείτε πίσω στην αρχική σας σελίδα",
"app.meeting.alertMeetingEndsUnderMinutesSingular": "Η σύσκεψη θα κλείσει σε ένα λεπτό.",
"app.meeting.alertMeetingEndsUnderMinutesPlural": "Η σύσκεψη θα κλείσει σε {0} λεπτά.",

View File

@ -142,7 +142,7 @@
"app.meeting.ended": "This session has ended",
"app.meeting.meetingTimeRemaining": "Meeting time remaining: {0}",
"app.meeting.meetingTimeHasEnded": "Time ended. Meeting will close soon",
"app.meeting.endedByUserMessage": "The meeting was ended by {0}",
"app.meeting.endedByUserMessage": "This session was ended by {0}",
"app.meeting.endedMessage": "You will be forwarded back to the home screen",
"app.meeting.alertMeetingEndsUnderMinutesSingular": "Meeting is closing in one minute.",
"app.meeting.alertMeetingEndsUnderMinutesPlural": "Meeting is closing in {0} minutes.",
@ -792,6 +792,7 @@
"app.createBreakoutRoom.addParticipantLabel": "+ Add participant",
"app.createBreakoutRoom.freeJoin": "Allow users to choose a breakout room to join",
"app.createBreakoutRoom.leastOneWarnBreakout": "You must place at least one user in a breakout room.",
"app.createBreakoutRoom.minimumDurationWarnBreakout": "Minimum duration for a breakout room is {0} minutes.",
"app.createBreakoutRoom.modalDesc": "Tip: You can drag-and-drop a user's name to assign them to a specific breakout room.",
"app.createBreakoutRoom.roomTime": "{0} minutes",
"app.createBreakoutRoom.numberOfRoomsError": "The number of rooms is invalid.",
@ -817,5 +818,7 @@
"app.debugWindow.form.userAgentLabel": "User Agent",
"app.debugWindow.form.button.copy": "Copy",
"app.debugWindow.form.enableAutoarrangeLayoutLabel": "Enable Auto Arrange Layout",
"app.debugWindow.form.enableAutoarrangeLayoutDescription": "(it will be disabled if you drag or resize the webcams area)"
"app.debugWindow.form.enableAutoarrangeLayoutDescription": "(it will be disabled if you drag or resize the webcams area)",
"app.debugWindow.form.chatLoggerLabel": "Test Chat Logger Levels",
"app.debugWindow.form.button.apply": "Apply"
}

View File

@ -139,7 +139,6 @@
"app.meeting.ended": "La sesión ha finalizado",
"app.meeting.meetingTimeRemaining": "Tiempo restante de la reunión: {0}",
"app.meeting.meetingTimeHasEnded": "Tiempo finalizado. La reunión se cerrará en breve",
"app.meeting.endedByUserMessage": "La reunión fue finalizada por {0}",
"app.meeting.endedMessage": "Serás enviado a la pantalla de inicio.",
"app.meeting.alertMeetingEndsUnderMinutesSingular": "La reunión se cerrará en un minuto.",
"app.meeting.alertMeetingEndsUnderMinutesPlural": "La reunión se cerrará en {0} minutos.",

View File

@ -139,7 +139,6 @@
"app.meeting.ended": "Esta sesión ha finalizado",
"app.meeting.meetingTimeRemaining": "Tiempo restante de la reunión: {0}",
"app.meeting.meetingTimeHasEnded": "Tiempo finalizado. La reunión se cerrará pronto",
"app.meeting.endedByUserMessage": "La reunión fue finalizada por {0}",
"app.meeting.endedMessage": "Será reenviado a la pantalla de inicio",
"app.meeting.alertMeetingEndsUnderMinutesSingular": "La reunión finalizará en un minuto.",
"app.meeting.alertMeetingEndsUnderMinutesPlural": "La reunión finalizará en {0} minutos.",

View File

@ -139,7 +139,7 @@
"app.meeting.ended": "جلسه پایان یافت",
"app.meeting.meetingTimeRemaining": "زمان باقی مانده از جلسه: {0}",
"app.meeting.meetingTimeHasEnded": "زمان جلسه به اتمام رسید. جلسه به زودی بسته خواهد شد",
"app.meeting.endedByUserMessage": "{0} جلسه را پایان داد.",
"app.meeting.endedByUserMessage": "این جلسه توسط {0} به پایان رسید",
"app.meeting.endedMessage": "شما در حال انتقال به صفحه اصلی هستید",
"app.meeting.alertMeetingEndsUnderMinutesSingular": "جلسه تا یک دقیقه دیگر به پایان می‌رسد.",
"app.meeting.alertMeetingEndsUnderMinutesPlural": "جلسه تا {0} دقیقه دیگر به پایان می‌رسد.",

View File

@ -137,7 +137,6 @@
"app.meeting.ended": "Cette session s'est terminée",
"app.meeting.meetingTimeRemaining": "Temps de réunion restant : {0}",
"app.meeting.meetingTimeHasEnded": "Le temps s'est écoulé. La réunion sera bientôt close",
"app.meeting.endedByUserMessage": "La réunion a été terminée par {0}",
"app.meeting.endedMessage": "Vous serez redirigé vers l'écran d'accueil",
"app.meeting.alertMeetingEndsUnderMinutesSingular": "La conférence se fermera dans une minute.",
"app.meeting.alertMeetingEndsUnderMinutesPlural": "La conférence se fermera dans {0} minutes.",

View File

@ -139,7 +139,6 @@
"app.meeting.ended": "Rematou a sesión",
"app.meeting.meetingTimeRemaining": "Tempo restante da xuntanza: {0}",
"app.meeting.meetingTimeHasEnded": "Rematou o tempo. A xuntanza pecharase en breve",
"app.meeting.endedByUserMessage": "A xuntanza foi rematada por {0}",
"app.meeting.endedMessage": "Será reenviado á pantalla de inicio",
"app.meeting.alertMeetingEndsUnderMinutesSingular": "A xuntanza pecharase nun minuto.",
"app.meeting.alertMeetingEndsUnderMinutesPlural": "A xuntanza pecharase en {0} minutos.",

View File

@ -135,7 +135,6 @@
"app.meeting.ended": "Ez a munkamenet befejeződött",
"app.meeting.meetingTimeRemaining": "Az előadásból hátralévő idő: {0}",
"app.meeting.meetingTimeHasEnded": "Az idő lejárt. Az előadás hamarosan véget ér",
"app.meeting.endedByUserMessage": "{0} előadás befejezése",
"app.meeting.endedMessage": "Visszairányítunk a kezdőképernyőre",
"app.meeting.alertMeetingEndsUnderMinutesSingular": "A megbeszélés egy perc múlva véget ér.",
"app.meeting.alertMeetingEndsUnderMinutesPlural": "A megbeszélés {0} percen belül véget ér.",

View File

@ -5,7 +5,7 @@
"app.chat.errorMaxMessageLength": "Il messaggio è di {0} carattere(i) troppo lungo",
"app.chat.disconnected": "Sei disconnesso, la chat è disattivata.",
"app.chat.locked": "La chat è disabilitata, non puoi inviare messaggi.",
"app.chat.inputLabel": "Messaggio di input per la chat {0}",
"app.chat.inputLabel": "Messaggio di input per la chat {0}",
"app.chat.inputPlaceholder": "Invia un messaggio a {0}",
"app.chat.titlePublic": "Chat pubblica",
"app.chat.titlePrivate": "Chat privata con {0}",
@ -139,7 +139,7 @@
"app.meeting.ended": "La sessione è terminata",
"app.meeting.meetingTimeRemaining": "Tempo rimanente al termine del meeting: {0}",
"app.meeting.meetingTimeHasEnded": "Tempo scaduto. Il meeting terminerà a breve",
"app.meeting.endedByUserMessage": "Il meeting è stato terminato da {0}",
"app.meeting.endedByUserMessage": "La sessione è stata terminata da {0}",
"app.meeting.endedMessage": "Verrai riportato alla pagina iniziale",
"app.meeting.alertMeetingEndsUnderMinutesSingular": "Il meeting termino tra un minuto.",
"app.meeting.alertMeetingEndsUnderMinutesPlural": "Il meeting termino tra {0} minuti.",
@ -316,6 +316,7 @@
"app.endMeeting.title": "Termina {0}",
"app.endMeeting.description": "Questa azione terminerà la sessione per {0} utente/i attivo/i. Vuoi veramente terminare questa sessione?",
"app.endMeeting.noUserDescription": "Vuoi veramente terminare questa sessione?",
"app.endMeeting.contentWarning": "Messaggi in chat, note condivise, contenuti della lavagna e file condivisi in questa sessione non saranno più accessibili direttamente.",
"app.endMeeting.yesLabel": "Sì",
"app.endMeeting.noLabel": "No",
"app.about.title": "Informazioni",
@ -552,6 +553,17 @@
"app.error.fallback.presentation.description": "E' stato registrato. Per favore ricarica la pagina.",
"app.error.fallback.presentation.reloadButton": "Ricarica",
"app.guest.waiting": "In attesa dell'autorizzazione a partecipare",
"app.guest.errorSeeConsole": "Errore: maggiori dettagli sono disponibili nella console.",
"app.guest.noModeratorResponse": "Nessuna risposta dal Moderatore.",
"app.guest.noSessionToken": "Nessun token di sessione ricevuto.",
"app.guest.windowTitle": "Sala d'attesa",
"app.guest.missingToken": "L'ospite non dispone del token di sessione.",
"app.guest.missingSession": "Sessione dell'ospite mancante.",
"app.guest.missingMeeting": "La riunione non esiste.",
"app.guest.meetingEnded": "Riunione terminata.",
"app.guest.guestWait": "Attendi che un moderatore approvi il tuo accesso alla riunione.",
"app.guest.guestDeny": "All'ospite è stato impedito di accedere alla riunione.",
"app.guest.seatWait": "L'ospite attende un posto nel meeting.",
"app.userList.guest.waitingUsers": "Utenti in attesa",
"app.userList.guest.waitingUsersTitle": "Gestione utente",
"app.userList.guest.optionTitle": "Controlla utenti in attesa",
@ -564,7 +576,7 @@
"app.userList.guest.pendingGuestAlert": "ha effettuato l'accesso alla sessione ed è in attesa di approvazione.",
"app.userList.guest.rememberChoice": "Ricorda la scelta",
"app.userList.guest.emptyMessage": "Al momento non è presente alcun messaggio",
"app.userList.guest.inputPlaceholder": "Messaggio alla lobby degli ospiti",
"app.userList.guest.inputPlaceholder": "Messaggio alla sala d'attesa degli ospiti",
"app.userList.guest.acceptLabel": "Accetta",
"app.userList.guest.denyLabel": "Nega",
"app.user-info.title": "Cerca directory",

View File

@ -70,7 +70,7 @@
"app.userList.byModerator": "(Moderator)による",
"app.userList.label": "ユーザーリスト",
"app.userList.toggleCompactView.label": "コンパクトモードに切り替え",
"app.userList.moderator": "モデレータ",
"app.userList.moderator": "モデレータ",
"app.userList.mobile": "モバイル端末",
"app.userList.guest": "ゲスト",
"app.userList.menuTitleContext": "使用可能オプション",
@ -139,7 +139,7 @@
"app.meeting.ended": "このセッションは終了しました",
"app.meeting.meetingTimeRemaining": "会議の残り時間:{0}",
"app.meeting.meetingTimeHasEnded": "時間終了。会議はまもなく終了します。",
"app.meeting.endedByUserMessage": "会議は{0}により終了しました。",
"app.meeting.endedByUserMessage": "このセッションは{0}によって閉じられました",
"app.meeting.endedMessage": "ホームスクリーンに戻ります",
"app.meeting.alertMeetingEndsUnderMinutesSingular": "会議はあと一分で終了します。",
"app.meeting.alertMeetingEndsUnderMinutesPlural": "会議はあと{0}分で終了します。",
@ -553,6 +553,17 @@
"app.error.fallback.presentation.description": "記録されました。ページを再読み込みしてください。",
"app.error.fallback.presentation.reloadButton": "再読み込み",
"app.guest.waiting": "主催者の承認待ち",
"app.guest.errorSeeConsole": "エラー:詳細はコンソールに表示。",
"app.guest.noModeratorResponse": "モデレーターからの反応がありません。",
"app.guest.noSessionToken": "セッションのトークンを受け取っていません。",
"app.guest.windowTitle": "ゲストロビー",
"app.guest.missingToken": "セッショントークンのないゲスト。",
"app.guest.missingSession": "セッションが不明のゲスト。",
"app.guest.missingMeeting": "会議は開かれていません。",
"app.guest.meetingEnded": "会議は終わりました。",
"app.guest.guestWait": "モデレーターがあなたの会議への参加を許可するまでお待ちください。",
"app.guest.guestDeny": "会議への参加を拒否されたゲスト。",
"app.guest.seatWait": "会議への参加許可を待っているゲスト。",
"app.userList.guest.waitingUsers": "承認待ちのユーザー",
"app.userList.guest.waitingUsersTitle": "ユーザー管理",
"app.userList.guest.optionTitle": "保留中のユーザーを確認",

View File

@ -139,7 +139,6 @@
"app.meeting.ended": "이 세션은 종료 되었습니다 ",
"app.meeting.meetingTimeRemaining": "미팅시간은 {0} 남았습니다 ",
"app.meeting.meetingTimeHasEnded": "시간종료. 미팅은 조만간 종료 됩니다 ",
"app.meeting.endedByUserMessage": "{0}님이 미팅을 종료했습니다.",
"app.meeting.endedMessage": "홈화면으로 돌아갑니다 ",
"app.meeting.alertMeetingEndsUnderMinutesSingular": "미팅이 1분내에 마감됩니다 ",
"app.meeting.alertMeetingEndsUnderMinutesPlural": "미팅이 {0} 분내에 마감됩니다 ",

View File

@ -139,7 +139,6 @@
"app.meeting.ended": "ഈ സെഷൻ അവസാനിച്ചു",
"app.meeting.meetingTimeRemaining": "മീറ്റിംഗ് സമയം ശേഷിക്കുന്നു: {0}",
"app.meeting.meetingTimeHasEnded": "സമയം അവസാനിച്ചു. മീറ്റിംഗ് ഉടൻ അവസാനിക്കും",
"app.meeting.endedByUserMessage": "മീറ്റിംഗ് {0 by അവസാനിപ്പിച്ചു",
"app.meeting.endedMessage": "നിങ്ങളെ ഹോം സ്‌ക്രീനിലേക്ക് തിരികെ കൈമാറും",
"app.meeting.alertMeetingEndsUnderMinutesSingular": "മീറ്റിംഗ് ഒരു മിനിറ്റിനുള്ളിൽ അവസാനിക്കുന്നു.",
"app.meeting.alertMeetingEndsUnderMinutesPlural": "മീറ്റിംഗ് {0} മിനിറ്റിനുള്ളിൽ അവസാനിക്കുന്നു.",

View File

@ -139,7 +139,6 @@
"app.meeting.ended": "Deze sessie is beëindigd",
"app.meeting.meetingTimeRemaining": "Resterende vergadertijd: {0}",
"app.meeting.meetingTimeHasEnded": "Tijd verstreken. Vergadering wordt spoedig afgesloten",
"app.meeting.endedByUserMessage": "Vergadering is beëindigd door {0}",
"app.meeting.endedMessage": "U wordt teruggestuurd naar het startscherm",
"app.meeting.alertMeetingEndsUnderMinutesSingular": "Vergadering sluit over één minuut.",
"app.meeting.alertMeetingEndsUnderMinutesPlural": "Vergadering sluit over {0} minuten.",

View File

@ -139,7 +139,6 @@
"app.meeting.ended": "Sesja zakończyła się",
"app.meeting.meetingTimeRemaining": "Czas do końca spotkania: {0}",
"app.meeting.meetingTimeHasEnded": "Koniec czasu. Spotkanie wkrótce się zakończy",
"app.meeting.endedByUserMessage": "Spotkanie zostało zakończone przez {0}",
"app.meeting.endedMessage": "Zostaniesz przekierowany do strony domowej",
"app.meeting.alertMeetingEndsUnderMinutesSingular": "Spotkanie zakończy się w ciągu jednej minuty.",
"app.meeting.alertMeetingEndsUnderMinutesPlural": "Spotkanie zakończy się w {0} minut.",

View File

@ -139,7 +139,6 @@
"app.meeting.ended": "Esta sessão terminou",
"app.meeting.meetingTimeRemaining": "Tempo restante da sessão: {0}",
"app.meeting.meetingTimeHasEnded": "Tempo esgotado. A sessão será fechada em breve",
"app.meeting.endedByUserMessage": "A reunião foi encerrada por {0}",
"app.meeting.endedMessage": "Você será redirecionado para a tela inicial",
"app.meeting.alertMeetingEndsUnderMinutesSingular": "A sessão será encerrada em um minuto.",
"app.meeting.alertMeetingEndsUnderMinutesPlural": "A sessão será encerrada em {0} minutos.",

View File

@ -139,7 +139,6 @@
"app.meeting.ended": "Сеанс окончен",
"app.meeting.meetingTimeRemaining": "До окончания конференции осталось: {0}",
"app.meeting.meetingTimeHasEnded": "Время вышло. Конференция скоро закроется.",
"app.meeting.endedByUserMessage": "Конференция завершена {0}",
"app.meeting.endedMessage": "Вы будете перенаправлены назад на главный экран",
"app.meeting.alertMeetingEndsUnderMinutesSingular": "Конференция завершится в течение минуты.",
"app.meeting.alertMeetingEndsUnderMinutesPlural": "Конференция завершится через {0} минут.",

View File

@ -139,7 +139,6 @@
"app.meeting.ended": "Toto pripojenie bolo ukončené",
"app.meeting.meetingTimeRemaining": "Zostávajúci čas: {0}",
"app.meeting.meetingTimeHasEnded": "Čas vypršal. Konferencia sa čoskoro skončí",
"app.meeting.endedByUserMessage": "Stretnutie bolo ukončené užívateľom {0}",
"app.meeting.endedMessage": "Budete presmerovaný na Vašu domovskú obrazovku",
"app.meeting.alertMeetingEndsUnderMinutesSingular": "Konferencia skončí o 1 minútu.",
"app.meeting.alertMeetingEndsUnderMinutesPlural": "Konferencia skončí o {0} minút.",

View File

@ -139,7 +139,6 @@
"app.meeting.ended": "இந்த அமர்வு முடிந்தது",
"app.meeting.meetingTimeRemaining": "சந்திப்பு நேரம் மீதமுள்ளது: {0}",
"app.meeting.meetingTimeHasEnded": "நேரம் முடிந்தது. கூட்டம் விரைவில் நிறைவடையும்",
"app.meeting.endedByUserMessage": "கூட்டம் {0 by உடன் முடிந்தது",
"app.meeting.endedMessage": "நீங்கள் மீண்டும் வீட்டுத் திரைக்கு அனுப்பப்படுவீர்கள்",
"app.meeting.alertMeetingEndsUnderMinutesSingular": "கூட்டம் ஒரு நிமிடத்தில் நிறைவடைகிறது.",
"app.meeting.alertMeetingEndsUnderMinutesPlural": "கூட்டம் {0} நிமிடங்களில் நிறைவடைகிறது.",

View File

@ -139,7 +139,6 @@
"app.meeting.ended": "ఈ సెషన్ ముగిసింది",
"app.meeting.meetingTimeRemaining": "సమావేశ సమయం మిగిలి ఉంది: {0}",
"app.meeting.meetingTimeHasEnded": "సమయం ముగిసింది. సమావేశం త్వరలో ముగుస్తుంది",
"app.meeting.endedByUserMessage": "సమావేశం {0 by తో ముగిసింది",
"app.meeting.endedMessage": "మీరు హోమ్ స్క్రీన్‌కు తిరిగి ఫార్ వర్డ్ చేయబడతారు",
"app.meeting.alertMeetingEndsUnderMinutesSingular": "సమావేశం ఒక నిమిషంలో ముగుస్తుంది.",
"app.meeting.alertMeetingEndsUnderMinutesPlural": "సమావేశం {0} నిమిషాల్లో ముగుస్తుంది.",

View File

@ -139,7 +139,6 @@
"app.meeting.ended": "Oturum sonlandı",
"app.meeting.meetingTimeRemaining": "Oturumun bitmesine kalan süre: {0}",
"app.meeting.meetingTimeHasEnded": "Zaman bitti. Oturum kısa süre sonra kapanacak",
"app.meeting.endedByUserMessage": "Görüşme {0} tarafından sonlandırıldı",
"app.meeting.endedMessage": "Ana ekrana geri yönlendirileceksiniz",
"app.meeting.alertMeetingEndsUnderMinutesSingular": "Toplantı bir dakika içinde kapanacak.",
"app.meeting.alertMeetingEndsUnderMinutesPlural": "Toplantı {0} dakika içinde kapanacak.",

View File

@ -137,7 +137,6 @@
"app.meeting.ended": "Цей сеанс завершився",
"app.meeting.meetingTimeRemaining": "Залишилось часу зустрічі: {0}",
"app.meeting.meetingTimeHasEnded": "Час закінчився. Зустріч буде закрито незабаром",
"app.meeting.endedByUserMessage": "Зустріч завершено користувачем - {0}",
"app.meeting.endedMessage": "Вас буде перенаправлено на головну сторінку",
"app.meeting.alertMeetingEndsUnderMinutesSingular": "Зустріч завершується за 1 хв.",
"app.meeting.alertMeetingEndsUnderMinutesPlural": "Зустріч завершується за {0} хв.",

View File

@ -1,6 +1,7 @@
{
"app.home.greeting": "Phần trình bày của bạn sẽ bắt đầu trong trong giây lát ...",
"app.chat.submitLabel": "Gửi tin nhắn",
"app.chat.loading": "Tin nhắn trò chuyện đã tải: {0}%",
"app.chat.errorMaxMessageLength": "Thông báo {0} kí tự(s) quá dài",
"app.chat.disconnected": "Bạn đã mất kết nối, tin nhắn không gửi được",
"app.chat.locked": "Đã khóa trò chuyện, tin nhắn không gửi được",
@ -18,6 +19,7 @@
"app.chat.dropdown.save": "Lưu",
"app.chat.label": "Chat",
"app.chat.offline": "Ngoại tuyến",
"app.chat.pollResult": "Các kết quả",
"app.chat.emptyLogLabel": "Không có nhật ký trò truyện",
"app.chat.clearPublicChatMessage": "Lịch sử trò chuyện công khai được xóa bởi người quản lí",
"app.chat.multi.typing": "Nhiều người đang gõ",
@ -47,10 +49,12 @@
"app.captions.pad.dictationStop": "Kết thúc viết chính tả",
"app.captions.pad.dictationOnDesc": "Bật nhận diện lời nói",
"app.captions.pad.dictationOffDesc": "Tắt nhận diện lời nói",
"app.textInput.sendLabel": "Gửi",
"app.note.title": "Ghi chú chung",
"app.note.label": "Ghi chú",
"app.note.hideNoteLabel": "Ẩn ghi chú",
"app.note.tipLabel": "Nhấn ESC để chuyển ra thanh công cụ",
"app.note.locked": "Đã khóa",
"app.user.activityCheck": "Kiểm tra hoạt động người dùng",
"app.user.activityCheck.label": "Kiểm tra nếu người dùng vẫn đang trong cuộc họp ({0})",
"app.user.activityCheck.check": "Kiểm tra",
@ -63,8 +67,10 @@
"app.userList.presenter": "Người trình bày",
"app.userList.you": "Bạn",
"app.userList.locked": "Bị khóa",
"app.userList.byModerator": "bởi (Người điều hành)",
"app.userList.label": "Danh sách người dùng",
"app.userList.toggleCompactView.label": "Chuyển sang chế độ thu nhỏ",
"app.userList.moderator": "Người điều hành",
"app.userList.guest": "Khách ",
"app.userList.menuTitleContext": "Tùy chọn sẵn có",
"app.userList.chatListItem.unreadSingular": "{0} Thông báo mới",
@ -72,8 +78,12 @@
"app.userList.menu.chat.label": " Chat riêng",
"app.userList.menu.clearStatus.label": "Xóa trạng thái",
"app.userList.menu.removeUser.label": "Xóa người dùng",
"app.userList.menu.removeConfirmation.label": "Xóa người dùng ({0})",
"app.userlist.menu.removeConfirmation.desc": "Ngăn người dùng này tham gia lại phiên.",
"app.userList.menu.muteUserAudio.label": "Tắt tiếng",
"app.userList.menu.unmuteUserAudio.label": "Mở tiếng",
"app.userList.menu.giveWhiteboardAccess.label" : "Cấp quyền truy cập bảng trắng",
"app.userList.menu.removeWhiteboardAccess.label": "Xóa quyền truy cập bảng trắng",
"app.userList.userAriaLabel": "{0}{1}{2} Trạng thái {3}",
"app.userList.menu.promoteUser.label": "Cấp quyền quản lý",
"app.userList.menu.demoteUser.label": "Bỏ quyền quản lý",
@ -92,6 +102,8 @@
"app.userList.userOptions.unmuteAllDesc": "Mở tiếng cuộc họp",
"app.userList.userOptions.lockViewersLabel": "Khóa người xem",
"app.userList.userOptions.lockViewersDesc": "Khóa một số chức năng nhất định cho người tham dự cuộc hội thoại",
"app.userList.userOptions.guestPolicyLabel": "Chính sách khách truy cập",
"app.userList.userOptions.guestPolicyDesc": "Thay đổi cài đặt chính sách khách họp",
"app.userList.userOptions.disableCam": "Webcam người dùng không khả dụng",
"app.userList.userOptions.disableMic": "Mic người dùng không khả dụng",
"app.userList.userOptions.disablePrivChat": " Chát riêng đã bị tắt",
@ -107,19 +119,28 @@
"app.userList.userOptions.enableNote": "Có thể sử dụng shared notes",
"app.userList.userOptions.showUserList": "Người xem có thể xem được danh sách người dùng",
"app.userList.userOptions.enableOnlyModeratorWebcam": "Bạn có thể sử dụng webcam của bạn, mọi người đều xem được",
"app.userList.userOptions.savedNames.title": "Danh sách người dùng trong cuộc họp {0} tại {1}",
"app.userList.userOptions.sortedFirstName.heading": "Sắp xếp theo tên:",
"app.userList.userOptions.sortedLastName.heading": "Sắp xếp theo họ:",
"app.media.label": "Media",
"app.media.autoplayAlertDesc": "Cho phép truy cập",
"app.media.screenshare.start": "Chia sẻ màn hình bắt đầu",
"app.media.screenshare.end": "Chia sẻ màn hình đã tắt",
"app.media.screenshare.unavailable": "Không thể chia sẻ màn hình",
"app.media.screenshare.notSupported": "Chia sẻ màn hình không được hỗ trợ trong trình duyệt này.",
"app.media.screenshare.autoplayBlockedDesc": "Bạn cần phải cho phép để có thể xem được màn hình của người đang trình bày",
"app.media.screenshare.autoplayAllowLabel": "Xem màn hình chung",
"app.meeting.ended": "Phiên họp này đã kết thúc",
"app.meeting.meetingTimeRemaining": "Thời gian còn lại của cuộc họp: {0}",
"app.meeting.meetingTimeHasEnded": "Hết giờ. Cuộc họp sẽ đóng lại",
"app.meeting.endedMessage": "Bạn sẽ được chuyển hướng về lại trang chủ màn hình",
"app.meeting.alertMeetingEndsUnderMinutesSingular": "Cuộc họp sẽ kết thúc sau một phút nữa.",
"app.meeting.alertMeetingEndsUnderMinutesPlural": "Cuộc họp sẽ kết thúc sau {0} phút nữa.",
"app.meeting.alertBreakoutEndsUnderMinutesPlural": "Phòng họp nhóm sẽ kết thúc sau {0} phút nữa.",
"app.meeting.alertBreakoutEndsUnderMinutesSingular": "Phòng họp nhóm sẽ kết thúc sau một phút nữa.",
"app.presentation.hide": "Ẩn Trình bày",
"app.presentation.notificationLabel": "Phần trình bày hiện tại",
"app.presentation.downloadLabel": "Tải xuống",
"app.presentation.slideContent": "Nội dung slide",
"app.presentation.startSlideContent": "Nội dung slide bắt đầu",
"app.presentation.endSlideContent": "Nội dung slide kết thúc",
@ -163,37 +184,64 @@
"app.presentationUploder.currentBadge": "Hiện tại",
"app.presentationUploder.rejectedError": "(Các) Tài liệu không hợp lệ, xin hãy kiểm tra lại định dạng (các) tài liệu",
"app.presentationUploder.upload.progress": "Đang tải lên ({0}%)",
"app.presentationUploder.upload.413": "Tệp quá lớn, vượt quá mức tối đa {0} MB",
"app.presentationUploder.genericError": "Rất tiếc, đã xảy ra lỗi ...",
"app.presentationUploder.conversion.conversionProcessingSlides": "Đang xử lý {0} trên {1} trang",
"app.presentationUploder.conversion.genericConversionStatus": "Đang chuyển đổi file...",
"app.presentationUploder.conversion.generatingThumbnail": "Tạo thumbnails",
"app.presentationUploder.conversion.generatedSlides": "Các slide được tạo...",
"app.presentationUploder.conversion.generatingSvg": "Tạo hình ảnh SVG ...",
"app.presentationUploder.conversion.pageCountExceeded": "Số trang vượt quá tối đa {0}",
"app.presentationUploder.conversion.officeDocConversionInvalid": "Lỗi tải file, Vui lòng tải file PDF/PPT",
"app.presentationUploder.conversion.officeDocConversionFailed": "Lỗi tải file, Vui lòng tải file PDF/PPT",
"app.presentationUploder.conversion.pdfHasBigPage": "Chúng tôi không thể chuyển đổi tệp PDF, vui lòng thử tối ưu hóa nó. Kích thước trang tối đa {0}",
"app.presentationUploder.conversion.timeout": "Ops, sự thay đổi mất một khoảng thời gian",
"app.presentationUploder.conversion.pageCountFailed": "Lỗi không xác định được số trang",
"app.presentationUploder.conversion.unsupportedDocument": "Phần mở rộng tệp không được hỗ trợ",
"app.presentationUploder.isDownloadableLabel": "Tải xuống bản trình bày không được phép - nhấp để cho phép tải xuống bản trình bày",
"app.presentationUploder.isNotDownloadableLabel": "Tải xuống bản trình bày được cho phép - nhấp để không cho phép tải xuống bản trình bày",
"app.presentationUploder.removePresentationLabel": "Xóa phần trình bày",
"app.presentationUploder.setAsCurrentPresentation": "Thiết lập phần trình bày hiện tại",
"app.presentationUploder.tableHeading.filename": "Tên file",
"app.presentationUploder.tableHeading.options": "Tùy chọn",
"app.presentationUploder.tableHeading.status": "Trạng thái",
"app.presentationUploder.uploading": "Đang tải lên {0} {1}",
"app.presentationUploder.uploadStatus": "{0} trên {1} quá trình tải lên đã hoàn tất",
"app.presentationUploder.completed": "{0} tải lên hoàn tất",
"app.poll.pollPaneTitle": "Thăm dò ý kiến",
"app.poll.quickPollTitle": "Thăm dò ý kiến nhanh",
"app.poll.hidePollDesc": "Ẩn thanh thăm dò ý kiến",
"app.poll.quickPollInstruction": "Chọn một lựa chọn bên dưới để bắt đầu cuộc khảo sát của bạn",
"app.poll.activePollInstruction": "Để bảng này mở để xem phản hồi trực tiếp cho cuộc thăm dò của bạn. Khi bạn đã sẵn sàng, chọn 'Xuất bản kết quả bỏ phiếu' để xuất bản kết quả và kết thúc cuộc thăm dò.",
"app.poll.dragDropPollInstruction": "Để điền các giá trị của khảo sát, hãy kéo một tệp văn bản có các giá trị khảo sát vào trường được đánh dấu",
"app.poll.customPollTextArea": "Điền vào các giá trị khảo sát",
"app.poll.publishLabel": "Công bố kết quả",
"app.poll.backLabel": "Bắt đầu khảo sát",
"app.poll.closeLabel": "Đóng",
"app.poll.waitingLabel": "Đang chờ phản hồi ({0}/{1})",
"app.poll.ariaInputCount": "Tùy chỉnh các ý kiến {0} trên {1}",
"app.poll.customPlaceholder": "Thêm một ý kiến ",
"app.poll.noPresentationSelected": "Phần trình bày chưa được chọn! Vui lòng chọn một trong những phần trình bày trên",
"app.poll.clickHereToSelect": "Nhấp vào đây để chọn",
"app.poll.panel.desc" : "Điền vào chi tiết khảo sát của bạn bên dưới.",
"app.poll.question.label" : "Viết câu hỏi của bạn.",
"app.poll.userResponse.label" : "Phản hồi của người dùng",
"app.poll.responseTypes.label" : "Các loại phản hồi",
"app.poll.optionDelete.label" : "Xóa bỏ",
"app.poll.responseChoices.label" : "Lựa chọn phản hồi",
"app.poll.typedResponse.desc" : "Sẽ được hiển thị với một hộp văn bản để người dùng điền vào câu trả lời của họ.",
"app.poll.addItem.label" : "Thêm mục",
"app.poll.question.title": "Đặt một câu hỏi",
"app.poll.start.label" : "Bắt đầu khảo sát",
"app.poll.questionErr": "Nhập một câu hỏi",
"app.poll.optionErr": "Nhập tùy chọn Khảo sát",
"app.poll.t": "Đúng",
"app.poll.f": "Sai",
"app.poll.tf": "Đúng/Sai",
"app.poll.y": "Có",
"app.poll.n": "Không",
"app.poll.abstention": "Phiếu trắng",
"app.poll.yna": "Có / Không / Phiếu trắng",
"app.poll.a2": "A / B",
"app.poll.a3": "A / B / C",
"app.poll.a4": "A / B / C / D",
@ -202,6 +250,7 @@
"app.poll.answer.false": "Sai",
"app.poll.answer.yes": "Có",
"app.poll.answer.no": "Không",
"app.poll.answer.abstention": "Phiếu trắng",
"app.poll.answer.a": "A",
"app.poll.answer.b": "B",
"app.poll.answer.c": "C",
@ -210,6 +259,10 @@
"app.poll.liveResult.usersTitle": "Người dùng",
"app.poll.liveResult.responsesTitle": "Phản hồi",
"app.polling.pollingTitle": "Các ý kiến trong cuộc khảo sát",
"app.polling.pollQuestionTitle": "Câu hỏi Khảo sát",
"app.polling.submitLabel": "Gửi đi",
"app.polling.submitAriaLabel": "Gửi phản hồi khảo sát",
"app.polling.responsePlaceholder": "Nhập câu trả lời",
"app.polling.pollAnswerLabel": "Kết quả cuộc thăm dò ý kiến {0}",
"app.polling.pollAnswerDesc": "Chọn ý kiến này để bỏ phiếu cho {0}",
"app.failedMessage": "Xin lỗi, kết nối với máy chủ đã xảy ra lỗi",
@ -217,10 +270,14 @@
"app.connectingMessage": "Đang kết nối ...",
"app.waitingMessage": "Mất kết nối. Kết nối lại trong {0} giây ...",
"app.retryNow": "Thử lại ngay",
"app.muteWarning.label": "Nhấp vào {0} để tự bật tiếng.",
"app.muteWarning.disableMessage": "Tắt tiếng cảnh báo bị tắt cho đến khi bật tiếng",
"app.muteWarning.tooltip": "Nhấp để đóng và tắt cảnh báo cho đến khi bật tiếng tiếp theo",
"app.navBar.settingsDropdown.optionsLabel": "Tùy chọn",
"app.navBar.settingsDropdown.fullscreenLabel": "Xem toàn màn hình",
"app.navBar.settingsDropdown.settingsLabel": "Cài đặt",
"app.navBar.settingsDropdown.aboutLabel": "Giới thiệu",
"app.navBar.settingsDropdown.leaveSessionLabel": "Rời khỏi cuộc họp",
"app.navBar.settingsDropdown.exitFullscreenLabel": "Tắt chế độ toàn màn hình",
"app.navBar.settingsDropdown.fullscreenDesc": "Tạo menu cài đặt màn hình ",
"app.navBar.settingsDropdown.settingsDesc": "Thay đổi cài đặt chung",
@ -242,6 +299,10 @@
"app.navBar.emptyAudioBrdige": "Không có micro đang kích hoạt. Chia sẻ micro của bạn để thêm âm thanh vào file recording này.",
"app.leaveConfirmation.confirmLabel": "Rời khỏi",
"app.leaveConfirmation.confirmDesc": "Đăng xuất khỏi cuộc họp",
"app.endMeeting.title": "Kết thúc {0}",
"app.endMeeting.description": "Hành động này sẽ kết thúc phiên cho {0} người dùng (s) đang hoạt động. Bạn có chắc chắn muốn kết thúc phiên này không?",
"app.endMeeting.noUserDescription": "Bạn có chắc chắn muốn kết thúc phiên này không?",
"app.endMeeting.contentWarning": "Tin nhắn trò chuyện, ghi chú được chia sẻ, nội dung bảng trắng và tài liệu được chia sẻ cho phiên này sẽ không thể truy cập trực tiếp được nữa",
"app.endMeeting.yesLabel": "Có",
"app.endMeeting.noLabel": "Không",
"app.about.title": "Giới thiệu",
@ -262,6 +323,7 @@
"app.screenshare.screenShareLabel" : "Chia sẻ màn hình",
"app.submenu.application.applicationSectionTitle": "Ứng dụng",
"app.submenu.application.animationsLabel": " Các hình ảnh động",
"app.submenu.application.audioFilterLabel": "Bộ lọc âm thanh cho micrô",
"app.submenu.application.fontSizeControlLabel": "Cỡ chữ",
"app.submenu.application.increaseFontBtnLabel": "Tăng cỡ chữ của ứng dụng",
"app.submenu.application.decreaseFontBtnLabel": "Giảm cỡ chữ của ứng dụng",
@ -269,6 +331,14 @@
"app.submenu.application.languageLabel": "Ngôn ngữ của ứng dụng",
"app.submenu.application.languageOptionLabel": "Chọn ngôn ngữ",
"app.submenu.application.noLocaleOptionLabel": "Không có hoạt động ",
"app.submenu.application.paginationEnabledLabel": "Phân trang video",
"app.submenu.notification.SectionTitle": "Thông báo",
"app.submenu.notification.Desc": "Xác định cách thức và những gì bạn sẽ được thông báo.",
"app.submenu.notification.audioAlertLabel": "Cảnh báo âm thanh",
"app.submenu.notification.pushAlertLabel": "Cảnh báo bật lên Popup",
"app.submenu.notification.messagesLabel": "Tin nhắn trò chuyện",
"app.submenu.notification.userJoinLabel": "Người dùng tham gia",
"app.submenu.notification.guestWaitingLabel": "Khách đang chờ phê duyệt",
"app.submenu.audio.micSourceLabel": "Nguồn micro",
"app.submenu.audio.speakerSourceLabel": "Nguồn loa",
"app.submenu.audio.streamVolumeLabel": "Âm lượng âm thanh của bạn",
@ -292,12 +362,18 @@
"app.settings.dataSavingTab.screenShare": "Cho phép chia sẻ màn hình",
"app.settings.dataSavingTab.description": "Để tiết kiệm băng thông của bạn, hãy điều chỉnh những gì đang hiển thị ",
"app.settings.save-notification.label": "Cài đặt đã được lưu lại",
"app.statusNotifier.lowerHands": "Hạ tay",
"app.statusNotifier.raisedHandsTitle": "Giơ tay",
"app.statusNotifier.raisedHandDesc": "{0} giơ tay",
"app.statusNotifier.raisedHandDescOneUser": "{0} giơ tay",
"app.statusNotifier.and": "và",
"app.switch.onLabel": "Mở",
"app.switch.offLabel": "Tắt",
"app.talkingIndicator.ariaMuteDesc" : "Chọn để tắt tiếng người dùng",
"app.talkingIndicator.isTalking" : "{0} đang nói",
"app.talkingIndicator.wasTalking" : "{0} dừng nói",
"app.actionsBar.actionsDropdown.actionsLabel": "Các hành động",
"app.actionsBar.actionsDropdown.presentationLabel": "Quản lý bản trình bày",
"app.actionsBar.actionsDropdown.initPollLabel": "Tạo cuộc thăm dò ý kiến",
"app.actionsBar.actionsDropdown.desktopShareLabel": "Chia sẻ màn hình",
"app.actionsBar.actionsDropdown.lockedDesktopShareLabel": "Chia sẻ màn hình đã bị khóa",
@ -315,9 +391,13 @@
"app.actionsBar.actionsDropdown.captionsDesc": "Bật tắt bảng điều khiển chú thích",
"app.actionsBar.actionsDropdown.takePresenter": "Lấy quyền trình bày",
"app.actionsBar.actionsDropdown.takePresenterDesc": "Chỉ định bạn là người trình bày mới",
"app.actionsBar.actionsDropdown.selectRandUserLabel": "Chọn người dùng ngẫu nhiên",
"app.actionsBar.actionsDropdown.selectRandUserDesc": "Chọn ngẫu nhiên một người dùng",
"app.actionsBar.emojiMenu.statusTriggerLabel": "Đặt dòng trạng thái",
"app.actionsBar.emojiMenu.awayLabel": "Cách xa",
"app.actionsBar.emojiMenu.awayDesc": "Thay đổi trạng thái của bạn ",
"app.actionsBar.emojiMenu.raiseHandLabel": "Giơ tay",
"app.actionsBar.emojiMenu.lowerHandLabel": "Đặt tay xuống",
"app.actionsBar.emojiMenu.raiseHandDesc": "Hãy giơ tay để đặt câu hỏi",
"app.actionsBar.emojiMenu.neutralLabel": "Chưa quyết định",
"app.actionsBar.emojiMenu.neutralDesc": "Thay đổi trạng thái của bạn thành chưa quyết định",
@ -419,7 +499,15 @@
"app.modal.confirm": "Xong",
"app.modal.newTab": "(Mở tab mới)",
"app.modal.confirm.description": "Lưu các thay dổi và dóng lại",
"app.modal.randomUser.noViewers.description": "Không có người xem nào để chọn ngẫu nhiên",
"app.modal.randomUser.selected.description": "Bạn đã được chọn ngẫu nhiên",
"app.modal.randomUser.title": "Người dùng được chọn ngẫu nhiên",
"app.modal.randomUser.who": "Ai sẽ được chọn ..?",
"app.modal.randomUser.alone": "Chỉ có một người xem",
"app.modal.randomUser.reselect.label": "Chọn lại",
"app.modal.randomUser.ariaLabel.title": "Phương thức người dùng được chọn ngẫu nhiên",
"app.dropdown.close": "Đóng",
"app.dropdown.list.item.activeLabel": "Hoạt động",
"app.error.400": "Yêu cầu xấu",
"app.error.401": "Không được phép",
"app.error.403": "Bạn vừa bị xóa khỏi phòng họp ",
@ -451,11 +539,14 @@
"app.toast.setEmoji.label": "Trạng thái emoji chỉnh về {0}",
"app.toast.meetingMuteOn.label": "Tất cả các người dùng đã bị tắt âm",
"app.toast.meetingMuteOff.label": "Meeting mute turned off",
"app.toast.setEmoji.raiseHand": "Bạn đã giơ tay",
"app.toast.setEmoji.lowerHand": "Bạn đã hạ tay xuống",
"app.notification.recordingStart": "Buổi học này đang được ghi hình lại ",
"app.notification.recordingStop": "Phiên hoạt động này đang không được ghi lại",
"app.notification.recordingPaused": "Buổi học này không được ghi hình lại",
"app.notification.recordingAriaLabel": "Thời gian ghi hình",
"app.notification.userJoinPushAlert": "{0} đã tham gia vào",
"app.submenu.notification.raiseHandLabel": "Giơ tay",
"app.shortcut-help.title": "Các phím tắt bàn phím ",
"app.shortcut-help.accessKeyNotAvailable": "Khóa truy cập không có sẵn",
"app.shortcut-help.comboLabel": "Kết hợp",
@ -469,8 +560,10 @@
"app.shortcut-help.hidePrivateChat": "Ẩn chat riêng",
"app.shortcut-help.closePrivateChat": "Đóng chat riêng tư",
"app.shortcut-help.openActions": "Mở menu hoạt động",
"app.shortcut-help.raiseHand": "Chuyển đổi giơ tay",
"app.shortcut-help.openStatus": "Mở menu trạng thái",
"app.shortcut-help.togglePan": "Kich hoạt công cụ Pan (Người trình bày)",
"app.shortcut-help.toggleFullscreen": "Chuyển đổi Toàn màn hình (Người trình bày)",
"app.shortcut-help.nextSlideDesc": "Slide tiếp theo (Người trình bày)",
"app.shortcut-help.previousSlideDesc": "Slide trước (Người trình bày)",
"app.lock-viewers.title": "Khóa camera",
@ -489,6 +582,14 @@
"app.lock-viewers.button.cancel": "Hủy",
"app.lock-viewers.locked": "Bị khóa",
"app.lock-viewers.unlocked": "Mở khóa",
"app.connection-status.ariaTitle": "Phương thức trạng thái kết nối",
"app.connection-status.title": "Tình trạng kết nối",
"app.connection-status.description": "Xem trạng thái kết nối của người dùng",
"app.connection-status.empty": "Hiện không có vấn đề kết nối nào được báo cáo",
"app.connection-status.more": "thêm",
"app.connection-status.label": "Tình trạng kết nối",
"app.connection-status.notification": "Mất kết nối của bạn đã được phát hiện",
"app.connection-status.offline": "ngoại tuyến",
"app.recording.startTitle": "Bắt đầu ghi hình",
"app.recording.stopTitle": "Tạm dừng ghi hình",
"app.recording.resumeTitle": "Tiếp tục ghi hình",
@ -496,16 +597,25 @@
"app.recording.stopDescription": "Bạn có chắc là muốn tạm dừng ghi hình? Bạn có thể tiếp tục ghi hình lại bằng cách ấn nút ghi hình lần nữa",
"app.videoPreview.cameraLabel": "Camera",
"app.videoPreview.profileLabel": "Chất lượng",
"app.videoPreview.quality.low": "Thấp",
"app.videoPreview.quality.medium": "Trung bình",
"app.videoPreview.quality.high": "Cao",
"app.videoPreview.quality.hd": "Độ nét cao",
"app.videoPreview.cancelLabel": "Hủy",
"app.videoPreview.closeLabel": "Đóng",
"app.videoPreview.findingWebcamsLabel": "Đang tìm webcam",
"app.videoPreview.startSharingLabel": "Bắt đầu chia sẻ",
"app.videoPreview.stopSharingLabel": "Ngừng chia sẻ",
"app.videoPreview.stopSharingAllLabel": "Tất cả dừng lại",
"app.videoPreview.sharedCameraLabel": "Máy ảnh này đã được dùng",
"app.videoPreview.webcamOptionLabel": "Chọn webcam",
"app.videoPreview.webcamPreviewLabel": "Xem trước webcam",
"app.videoPreview.webcamSettingsTitle": "Cài đặt webcam",
"app.videoPreview.webcamNotFoundLabel": "Không tìm thấy webcam",
"app.videoPreview.profileNotFoundLabel": "Không hỗ trợ camera",
"app.video.joinVideo": "Chia sẻ webcam",
"app.video.connecting": "Đang bắt đầu chia sẻ webcam ...",
"app.video.dataSaving": "Chia sẻ webcam bị tắt trong Tiết kiệm dữ liệu",
"app.video.leaveVideo": "Dừng chia sẻ webcam",
"app.video.iceCandidateError": "Error on adding ICE candidate",
"app.video.permissionError": "Lỗi chia sẻ camera, vui lòng kiểm tra quyền chia sẻ",
@ -527,6 +637,8 @@
"app.video.videoMenuDesc": "Mở thanh menu video trượt xuống",
"app.fullscreenButton.label": "Tạo {0} toàn màn hình",
"app.meeting.endNotification.ok.label": "Đồng ý",
"app.whiteboard.annotations.poll": "Kết quả khảo sát ​​đã được công bố",
"app.whiteboard.annotations.pollResult": "Kết quả khảo sát",
"app.whiteboard.toolbar.tools": "Công cụ",
"app.whiteboard.toolbar.tools.hand": "Pan",
"app.whiteboard.toolbar.tools.pencil": "Bút chì",
@ -607,12 +719,14 @@
"app.externalVideo.autoPlayWarning": "Phát video để bật đồng bộ hóa phương tiện",
"app.network.connection.effective.slow": "Có vấn đề về kết nối",
"app.network.connection.effective.slow.help": "Thông tin thêm",
"app.externalVideo.noteLabel": "Lưu ý: Các video được chia sẻ sẽ không xuất hiện trong bản recording. YouTube, Vimeo, Instructure Media, Twitch, Dailymotion và URL tệp phương tiện (ví dụ: https://example.com/xy.mp4) được hỗ trợ.",
"app.actionsBar.actionsDropdown.shareExternalVideo": "Chia sẻ 1 video ở ngoài",
"app.actionsBar.actionsDropdown.stopShareExternalVideo": "Ngừng chia sẻ video",
"app.iOSWarning.label": "Vui lòng nâng cấp lên IOS 12.2 hoặc cao hơn",
"app.legacy.unsupportedBrowser": "Có lẽ bạn đang sử dụng trình duyệt không được hỗ trợ đầy đử. Vui lòng sử dụng {0} hoặc {1} để được hỗ trợ tốt nhất",
"app.legacy.upgradeBrowser": "Có vẻ như bạn đang sử dụng phiên bản cũ hơn của trình duyệt được hỗ trợ. Vui lòng nâng cấp trình duyệt của bạn để được hỗ trợ đầy đủ.",
"app.legacy.criosBrowser": "Trên hệ điều hành IOS xin hãy dùng Safari để được hỗ trợ tốt nhất"
"app.legacy.criosBrowser": "Trên hệ điều hành IOS xin hãy dùng Safari để được hỗ trợ tốt nhất",
"app.debugWindow.form.enableAutoarrangeLayoutLabel": "Bật bố cục sắp xếp tự động"
}

View File

@ -15,16 +15,16 @@
"app.chat.moreMessages": "更多訊息如下",
"app.chat.dropdown.options": "聊天選項",
"app.chat.dropdown.clear": "清除",
"app.chat.dropdown.copy": "拷貝",
"app.chat.dropdown.copy": "複製",
"app.chat.dropdown.save": "儲存",
"app.chat.label": "聊天",
"app.chat.offline": "線",
"app.chat.offline": "線",
"app.chat.pollResult": "投票結果",
"app.chat.emptyLogLabel": "空的聊天紀錄",
"app.chat.clearPublicChatMessage": "公開聊天紀錄已被主持人清空了",
"app.chat.multi.typing": "多個使用者都在輸入",
"app.chat.one.typing": "{0} 正在打字",
"app.chat.two.typing": "{0} 程 {1} 都在打字",
"app.chat.two.typing": "{0} 和 {1} 正在打字",
"app.captions.label": "字幕",
"app.captions.menu.close": "關閉",
"app.captions.menu.start": "開始",
@ -41,7 +41,7 @@
"app.captions.menu.previewLabel": "預覽",
"app.captions.menu.cancelLabel": "取消",
"app.captions.pad.hide": "關閉隱藏式字幕",
"app.captions.pad.tip": "壓Esc鍵聚焦編輯器工具列",
"app.captions.pad.tip": "按下 Esc 鍵以聚焦到編輯器工具列",
"app.captions.pad.ownership": "接管",
"app.captions.pad.ownershipTooltip": "您將被分配為 {0} 字幕的所有者",
"app.captions.pad.interimResult": "中期結果",
@ -53,8 +53,8 @@
"app.note.title": "共享筆記",
"app.note.label": "筆記",
"app.note.hideNoteLabel": "隱藏筆記",
"app.note.tipLabel": "壓Esc鍵聚焦編輯器工具列",
"app.note.locked": "已鎖",
"app.note.tipLabel": "按下 Esc 鍵以聚焦到編輯器工具列",
"app.note.locked": "已鎖",
"app.user.activityCheck": "用戶活動檢查",
"app.user.activityCheck.label": "檢查用戶是否仍在會議中 ({0})",
"app.user.activityCheck.check": "檢查",
@ -83,8 +83,8 @@
"app.userlist.menu.removeConfirmation.desc": "阻止該用戶重新加入會話。",
"app.userList.menu.muteUserAudio.label": "用戶靜音",
"app.userList.menu.unmuteUserAudio.label": "取消用戶靜音",
"app.userList.menu.giveWhiteboardAccess.label" : "提供白存取",
"app.userList.menu.removeWhiteboardAccess.label": "移除白存取",
"app.userList.menu.giveWhiteboardAccess.label" : "提供白存取",
"app.userList.menu.removeWhiteboardAccess.label": "移除白存取",
"app.userList.userAriaLabel": "{0}{1}{2}狀態{3}",
"app.userList.menu.promoteUser.label": "提升為主持人",
"app.userList.menu.demoteUser.label": "降為與會者",
@ -139,7 +139,6 @@
"app.meeting.ended": "本次會議已結束",
"app.meeting.meetingTimeRemaining": "剩餘會議時間: {0}",
"app.meeting.meetingTimeHasEnded": "時間結束,很快會議即將關閉。",
"app.meeting.endedByUserMessage": "這會議已被{0}結束了。",
"app.meeting.endedMessage": "您很快將被帶回首頁",
"app.meeting.alertMeetingEndsUnderMinutesSingular": "會議將在一分鐘內結束。",
"app.meeting.alertMeetingEndsUnderMinutesPlural": "會議將關閉在 {0} 分鐘後.",
@ -222,17 +221,21 @@
"app.poll.quickPollInstruction": "選取下方項目,開始投票。",
"app.poll.activePollInstruction": "保持視窗開啟,以便其他人進行投票。當您覺的夠了,選擇「發佈投票結果」公佈結果並結束投票。",
"app.poll.publishLabel": "發佈投票結果",
"app.poll.backLabel": "進行一個投票",
"app.poll.closeLabel": "關閉",
"app.poll.waitingLabel": "正在等待票選( {0}/{1} )",
"app.poll.ariaInputCount": "自訂投票選項 {0} 之 {1}",
"app.poll.customPlaceholder": "增加投票選項",
"app.poll.noPresentationSelected": "未選取簡報!請選取一個。",
"app.poll.clickHereToSelect": "點這裡選取",
"app.poll.optionDelete.label" : "刪除",
"app.poll.start.label" : "開始投票",
"app.poll.t": "正確",
"app.poll.f": "錯誤",
"app.poll.tf": "對 / 錯",
"app.poll.y": "是",
"app.poll.n": "否",
"app.poll.abstention": "棄票",
"app.poll.a2": "A / B",
"app.poll.a3": "A / B /C",
"app.poll.a4": "A / B / C / D",
@ -241,6 +244,7 @@
"app.poll.answer.false": "錯誤",
"app.poll.answer.yes": "是",
"app.poll.answer.no": "否",
"app.poll.answer.abstention": "棄票",
"app.poll.answer.a": "A",
"app.poll.answer.b": "B",
"app.poll.answer.c": "C",
@ -364,9 +368,12 @@
"app.actionsBar.actionsDropdown.captionsDesc": "開/關字幕面版",
"app.actionsBar.actionsDropdown.takePresenter": "當簡報者",
"app.actionsBar.actionsDropdown.takePresenterDesc": "設定自己為簡報者",
"app.actionsBar.actionsDropdown.selectRandUserLabel": "選擇隨機使用者",
"app.actionsBar.emojiMenu.statusTriggerLabel": "設定狀態",
"app.actionsBar.emojiMenu.awayLabel": "離開",
"app.actionsBar.emojiMenu.awayDesc": "變更您的狀態為離開",
"app.actionsBar.emojiMenu.raiseHandLabel": "舉手",
"app.actionsBar.emojiMenu.lowerHandLabel": "放下",
"app.actionsBar.emojiMenu.raiseHandDesc": "舉手發問",
"app.actionsBar.emojiMenu.neutralLabel": "未決定",
"app.actionsBar.emojiMenu.neutralDesc": "更改您的狀態為未決定",
@ -456,6 +463,10 @@
"app.audio.enterSessionLabel": "進入會談",
"app.audio.playSoundLabel": "播放聲音",
"app.audio.backLabel": "返回",
"app.audio.loading": "載入中",
"app.audio.microphones": "麥克風",
"app.audio.speakers": "喇叭",
"app.audio.noDeviceFound": "找不到裝置",
"app.audio.audioSettings.titleLabel": "選擇您的聲音設定",
"app.audio.audioSettings.descriptionLabel": "請注意,瀏覽器彈出對話框,您必需允許分享您的麥克風。",
"app.audio.audioSettings.microphoneSourceLabel": "麥克風來源",
@ -480,6 +491,7 @@
"app.modal.confirm": "完成",
"app.modal.newTab": "(開啟新分頁)",
"app.modal.confirm.description": "儲存變更並且關閉模組",
"app.modal.randomUser.who": "誰會被選到呢...",
"app.dropdown.close": "關閉",
"app.error.400": "錯誤請求",
"app.error.401": "未授權",
@ -514,8 +526,10 @@
"app.toast.setEmoji.label": "表情狀態設定為 {0}",
"app.toast.meetingMuteOn.label": "所有使用者已被靜音",
"app.toast.meetingMuteOff.label": "關閉會議靜音",
"app.notification.recordingStart": "此會談現在被側錄了",
"app.notification.recordingStop": "此會談未被側錄",
"app.toast.setEmoji.raiseHand": "您已舉手",
"app.toast.setEmoji.lowerHand": "您已將手放下",
"app.notification.recordingStart": "正在錄製此會議",
"app.notification.recordingStop": "已停止錄製此會議",
"app.notification.recordingPaused": "此會談不再被側錄",
"app.notification.recordingAriaLabel": "側錄時間",
"app.notification.userJoinPushAlert": "{0} 加入了會談",
@ -538,7 +552,7 @@
"app.shortcut-help.nextSlideDesc": "下一張投影片(簡報者)",
"app.shortcut-help.previousSlideDesc": "上一張投影片(簡報者)",
"app.lock-viewers.title": "鎖定聽眾",
"app.lock-viewers.description": "這些選項讓你禁止聽眾使用特定功能. ",
"app.lock-viewers.description": "這些選項讓你禁止聽眾使用特定功能",
"app.lock-viewers.featuresLable": "功能",
"app.lock-viewers.lockStatusLabel": "狀態",
"app.lock-viewers.webcamLabel": "分享網路攝影機",
@ -553,13 +567,16 @@
"app.lock-viewers.button.cancel": "取消",
"app.lock-viewers.locked": "已鎖定",
"app.lock-viewers.unlocked": "鎖定已解除",
"app.guest-policy.button.alwaysAccept": "永遠接受",
"app.guest-policy.button.alwaysDeny": "永遠拒絕",
"app.connection-status.ariaTitle": "連線狀態模組",
"app.connection-status.title": "連線狀態\n ",
"app.connection-status.title": "連線狀態",
"app.connection-status.description": "檢視使用者連線狀態",
"app.connection-status.more": "更多",
"app.connection-status.offline": "離線",
"app.recording.startTitle": "開始錄製",
"app.recording.stopTitle": "暫停錄製",
"app.recording.resumeTitle": "恢復錄製",
"app.recording.resumeTitle": "繼續錄製",
"app.recording.startDescription": "您可以稍後再次選擇錄製鈕以暫停錄製。",
"app.recording.stopDescription": "您確定要暫停錄製嗎? 您可以再次選擇錄製按鈕繼續。",
"app.videoPreview.cameraLabel": "攝影機",
@ -583,15 +600,15 @@
"app.video.joinVideo": "分享網路攝影機",
"app.video.leaveVideo": "停止分享網路攝影機",
"app.video.iceCandidateError": "添加ICE候選者時錯誤",
"app.video.iceConnectionStateError": "連線失敗(ICE 錯誤 1107)",
"app.video.permissionError": "分享網路攝影機時出錯,請確認是否授權",
"app.video.iceConnectionStateError": "連線失敗 (ICE 錯誤 1107)",
"app.video.permissionError": "分享網路攝影機時發生錯誤,請檢查權限",
"app.video.sharingError": "分享網路攝影機時出錯",
"app.video.notFoundError": "沒辨法找到網路攝影機,請確認您已安裝網路攝影機",
"app.video.notAllowed": "無權分享網路攝影機,請確認您的瀏覽器權限設定",
"app.video.notSupportedError": "網路攝影機分享只能使用安全來源請確認你的網址為HTTPS。",
"app.video.notReadableError": "無法取得網路攝影機,請確認其他的程式沒有佔用他。",
"app.video.mediaFlowTimeout1020": "媒體無法連接伺服器(錯誤 1020)",
"app.video.suggestWebcamLock": "是否強置鎖定與會者攝影機?",
"app.video.suggestWebcamLock": "是否強制鎖定與會者的攝影機?",
"app.video.suggestWebcamLockReason": "(這將提升會議的穩定性)",
"app.video.enable": "啟用",
"app.video.cancel": "取消",
@ -606,7 +623,7 @@
"app.video.pagination.nextPage": "看下一部影片",
"app.fullscreenButton.label": "全螢幕顯示 {0}",
"app.sfu.mediaServerConnectionError2000": "無法連接媒體伺服器(錯誤 2000)",
"app.sfu.mediaServerOffline2001": "媒體伺服器斷線了. 請稍後再試.(錯誤 2001)",
"app.sfu.mediaServerOffline2001": "媒體伺服器目前離線。請稍後再試。(錯誤 2001)",
"app.sfu.mediaServerNoResources2002": "媒體伺服器已沒有可用資源 (錯誤 2002)",
"app.sfu.mediaServerRequestTimeout2003": "媒體伺服器要求逾時 (錯誤 2003)",
"app.sfu.serverIceGatheringFailed2021": "媒體伺服器無法收集ICE侯選 (ICE 錯誤 2021)",
@ -615,13 +632,13 @@
"app.sfu.invalidSdp2202":"用戶端產生一個無效媒體請求(SDP 錯誤 2202)",
"app.sfu.noAvailableCodec2203": "伺服器無法找到合適的編解碼器 (錯誤 2203)",
"app.meeting.endNotification.ok.label": "確定",
"app.whiteboard.annotations.poll": "公佈投票調整結果",
"app.whiteboard.annotations.poll": "公佈投票結果",
"app.whiteboard.annotations.pollResult": "投票結果",
"app.whiteboard.toolbar.tools": "工具組",
"app.whiteboard.toolbar.tools.hand": "移動",
"app.whiteboard.toolbar.tools.pencil": "筆",
"app.whiteboard.toolbar.tools.rectangle": "長方",
"app.whiteboard.toolbar.tools.triangle": "三角",
"app.whiteboard.toolbar.tools.rectangle": "長方",
"app.whiteboard.toolbar.tools.triangle": "三角",
"app.whiteboard.toolbar.tools.ellipse": "橢圓形",
"app.whiteboard.toolbar.tools.line": "線",
"app.whiteboard.toolbar.tools.text": "文字",
@ -651,6 +668,8 @@
"app.feedback.textarea": "我們怎麼把系統做的更好",
"app.feedback.sendFeedback": "送出反饋",
"app.feedback.sendFeedbackDesc": "送出反饋並且離開會議室",
"app.videoDock.webcamMirrorLabel": "鏡像",
"app.videoDock.webcamMirrorDesc": "鏡像選擇的網路攝影機的畫面",
"app.videoDock.webcamFocusLabel": "對焦",
"app.videoDock.webcamFocusDesc": "對焦已選取的網路攝影機",
"app.videoDock.webcamUnfocusLabel": "取消對焦",
@ -703,7 +722,9 @@
"app.iOSWarning.label": "請升級 iOS 12.2 或更高",
"app.legacy.unsupportedBrowser": "看起來您使用的瀏覽器未獲得完整支援。請使用 {0} 或 {1} 達到完整支援。",
"app.legacy.upgradeBrowser": "看起來您是使用受支援的舊版瀏覽器,請更新瀏覽器版本獲取完整支援。",
"app.legacy.criosBrowser": "在iOS上請使用Safari取得完整支援"
"app.legacy.criosBrowser": "在iOS上請使用Safari取得完整支援",
"app.debugWindow.windowTitle": "偵錯",
"app.debugWindow.form.button.copy": "複製"
}

View File

@ -2,6 +2,8 @@ buildscript {
repositories {
jcenter()
mavenLocal()
maven { url "https://repo1.maven.org/maven2" }
maven { url "https://repo.grails.org/artifactory/core" }
maven { url "https://repo.grails.org/grails/core" }
}
dependencies {
@ -40,6 +42,8 @@ processResources.dependsOn copyWebInf
repositories {
jcenter()
mavenLocal()
maven { url "https://repo1.maven.org/maven2" }
maven { url "https://repo.grails.org/artifactory/core" }
maven { url "https://repo.grails.org/grails/core" }
}
@ -118,4 +122,4 @@ test {
showCauses = true
exceptionFormat = "full"
}
}
}