@talkjs/react-components 0.0.27 → 0.0.28
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/default.css +1 -1
- package/default.js +325 -323
- package/package.json +2 -2
- package/theming.js +237 -235
package/default.js
CHANGED
|
@@ -1,34 +1,34 @@
|
|
|
1
1
|
"use client";
|
|
2
|
-
import
|
|
3
|
-
import oe, { useMemo as H, useRef as y, useState as b, useEffect as v, useCallback as B, createElement as te, Fragment as
|
|
4
|
-
import * as
|
|
2
|
+
import Vn from "htm";
|
|
3
|
+
import oe, { useMemo as H, useRef as y, useState as b, useEffect as v, useCallback as B, createElement as te, Fragment as xn, useLayoutEffect as Ae, useContext as Xn, forwardRef as $e, useImperativeHandle as Vt } from "react";
|
|
4
|
+
import * as Gn from "universal-base64";
|
|
5
5
|
import { jsx as O, jsxs as x, Fragment as me } from "react/jsx-runtime";
|
|
6
|
-
import
|
|
7
|
-
import { Decoration as
|
|
8
|
-
import { useSession as Ce, useStore as f, useController as Oe, useTheme as G, schema as w, useEditorInternals as ge, useEmojiPicker as
|
|
9
|
-
import { PluginKey as
|
|
6
|
+
import zn from "wavesurfer.js";
|
|
7
|
+
import { Decoration as xt, DecorationSet as Xt, EditorView as Kn } from "prosemirror-view";
|
|
8
|
+
import { useSession as Ce, useStore as f, useController as Oe, useTheme as G, schema as w, useEditorInternals as ge, useEmojiPicker as Wn, usePopover as qn, EmojiPickerContext as Gt, PopoverContext as Jn, useChatboxCallbacks as Zn, EditorInternalsContext as zt, PermissionContext as Kt, StoreContext as Wt, ThemeContext as qt, ControllerContext as Jt, SessionContext as Zt, ChatboxCallbacksContext as Qn } from "./globalConstants.js";
|
|
9
|
+
import { PluginKey as Qt, Plugin as en, TextSelection as _t, EditorState as ea } from "prosemirror-state";
|
|
10
10
|
import { keymap as ct } from "prosemirror-keymap";
|
|
11
|
-
import { history as
|
|
11
|
+
import { history as ta, undo as na, redo as aa } from "prosemirror-history";
|
|
12
12
|
import { baseKeymap as ke } from "prosemirror-commands";
|
|
13
|
-
import
|
|
14
|
-
import { ReplaceStep as
|
|
15
|
-
import { observable as U, ObservableHint as At, batch as le, observe as Ot, internal as
|
|
13
|
+
import ia, { EmailMatch as sa, UrlMatch as ra } from "autolinker";
|
|
14
|
+
import { ReplaceStep as oa } from "prosemirror-transform";
|
|
15
|
+
import { observable as U, ObservableHint as At, batch as le, observe as Ot, internal as Ea } from "@legendapp/state";
|
|
16
16
|
import { useObservable as q, useSelector as k, useObserveEffect as _e, For as Ze } from "@legendapp/state/react";
|
|
17
|
-
import { CSSTransition as
|
|
18
|
-
import { useFloating as
|
|
17
|
+
import { CSSTransition as la } from "react-transition-group";
|
|
18
|
+
import { useFloating as _a } from "@floating-ui/react-dom";
|
|
19
19
|
import * as Xe from "@radix-ui/react-popover";
|
|
20
20
|
import * as Pe from "@radix-ui/react-dropdown-menu";
|
|
21
|
-
import { ErrorBoundary as
|
|
22
|
-
import { getTalkSession as
|
|
23
|
-
import
|
|
24
|
-
import { configureLegendState as
|
|
25
|
-
import { polyfillCountryFlagEmojis as
|
|
21
|
+
import { ErrorBoundary as tn } from "react-error-boundary";
|
|
22
|
+
import { getTalkSession as ca } from "@talkjs/core";
|
|
23
|
+
import Aa from "lodash.merge";
|
|
24
|
+
import { configureLegendState as Oa } from "@legendapp/state/config/configureLegendState";
|
|
25
|
+
import { polyfillCountryFlagEmojis as Ta } from "country-flag-emoji-polyfill";
|
|
26
26
|
import "react-dom/client";
|
|
27
|
-
var
|
|
28
|
-
const
|
|
29
|
-
return
|
|
30
|
-
}("TALK_GMK"),
|
|
31
|
-
function
|
|
27
|
+
var ua = { TALK_GMK: "AIzaSyAs_WXNLlj31EHJI_Lw8siO2B3ZJLUzBH0", BASE_URL: "/", MODE: "production", DEV: !1, PROD: !0, SSR: !1 };
|
|
28
|
+
const da = function(e) {
|
|
29
|
+
return ua[e];
|
|
30
|
+
}("TALK_GMK"), Sa = /[^a-zA-Z\u00C0-\u024F\u1E00-\u1EFF\u0400-\u044f\u0300-\u036e]+/, Ia = (e) => e.split(Sa).filter((t) => t).map((t) => t[0]).join("") || e[Symbol.iterator]().next().value || "";
|
|
31
|
+
function nn(e) {
|
|
32
32
|
const t = function(n) {
|
|
33
33
|
let a = 0;
|
|
34
34
|
for (let i = 0; i < n.length; i++) a = (a << 5) - a + n.charCodeAt(i), a |= 0;
|
|
@@ -50,7 +50,7 @@ function fe(e) {
|
|
|
50
50
|
function Tt(e, t) {
|
|
51
51
|
return e.localeCompare(t, void 0, { usage: "search", sensitivity: "base" }) === 0;
|
|
52
52
|
}
|
|
53
|
-
const ut = ["#996666", "#9A6E61", "#8D7662", "#8E775E", "#948771", "#8A8360", "#888D65", "#6F8E63", "#749378", "#678975", "#779E86", "#639A8F", "#6D92A1", "#65869F", "#697E9A", "#736C9F", "#8C6495", "#956387", "#B05D54", "#B16D52", "#AF8751", "#AC8A56", "#B7A458", "#B5B35C", "#83AA5D", "#4F9D5D", "#5FA777", "#66B58F", "#5FB3AC", "#589AAF", "#4E7F9E", "#456CAC", "#6456B7", "#714AB2", "#9771B5", "#C154C1", "#B05E81", "#B04C6A", "#B94E48", "#AF593E", "#C5994B", "#B8C25D", "#87AB39", "#4FA83D", "#40A860", "#41AA78", "#3AB09E", "#3FC1AA", "#56B4BE", "#3EABBF", "#4682B4", "#7A58C1", "#9966CC", "#C54B8C", "#B44668", "#AE4560", "#A3807B", "#AB917A", "#ACA586", "#A8AF8E", "#9EA587", "#8BA690", "#7DA98D", "#7CB0A1", "#8BA9A5", "#7CA1A6", "#859FAF", "#8D90A1", "#A397B4", "#AE809E", "#C08081", "#BB8983", "#B19461", "#B5A27F", "#B8B56A", "#9AB973", "#7AC488", "#7CB7BB", "#80B3C4", "#788BBA", "#7A89B8", "#9678B6", "#CB8FA9", "#B57281", "#C6726B", "#C88A65", "#C2955D", "#C8B568", "#B9C46A", "#74C365", "#6FD0C5", "#6093D1", "#7666C6", "#D06DA1"],
|
|
53
|
+
const ut = ["#996666", "#9A6E61", "#8D7662", "#8E775E", "#948771", "#8A8360", "#888D65", "#6F8E63", "#749378", "#678975", "#779E86", "#639A8F", "#6D92A1", "#65869F", "#697E9A", "#736C9F", "#8C6495", "#956387", "#B05D54", "#B16D52", "#AF8751", "#AC8A56", "#B7A458", "#B5B35C", "#83AA5D", "#4F9D5D", "#5FA777", "#66B58F", "#5FB3AC", "#589AAF", "#4E7F9E", "#456CAC", "#6456B7", "#714AB2", "#9771B5", "#C154C1", "#B05E81", "#B04C6A", "#B94E48", "#AF593E", "#C5994B", "#B8C25D", "#87AB39", "#4FA83D", "#40A860", "#41AA78", "#3AB09E", "#3FC1AA", "#56B4BE", "#3EABBF", "#4682B4", "#7A58C1", "#9966CC", "#C54B8C", "#B44668", "#AE4560", "#A3807B", "#AB917A", "#ACA586", "#A8AF8E", "#9EA587", "#8BA690", "#7DA98D", "#7CB0A1", "#8BA9A5", "#7CA1A6", "#859FAF", "#8D90A1", "#A397B4", "#AE809E", "#C08081", "#BB8983", "#B19461", "#B5A27F", "#B8B56A", "#9AB973", "#7AC488", "#7CB7BB", "#80B3C4", "#788BBA", "#7A89B8", "#9678B6", "#CB8FA9", "#B57281", "#C6726B", "#C88A65", "#C2955D", "#C8B568", "#B9C46A", "#74C365", "#6FD0C5", "#6093D1", "#7666C6", "#D06DA1"], Na = Symbol("no_render");
|
|
54
54
|
function V(e) {
|
|
55
55
|
const t = q(!1), n = y({ _value: typeof e == "function" ? e() : e.peek(), get value() {
|
|
56
56
|
return setTimeout(() => {
|
|
@@ -60,7 +60,7 @@ function V(e) {
|
|
|
60
60
|
n.current._value = a;
|
|
61
61
|
} });
|
|
62
62
|
return k(() => {
|
|
63
|
-
if (!t.get()) return
|
|
63
|
+
if (!t.get()) return Na;
|
|
64
64
|
const a = typeof e == "function" ? e() : e.get();
|
|
65
65
|
return n.current.value = a, a;
|
|
66
66
|
}), n.current;
|
|
@@ -85,7 +85,7 @@ function Te() {
|
|
|
85
85
|
return c.value;
|
|
86
86
|
} }), [i, n, r, s, E, t, o, a, l, _, c, e]);
|
|
87
87
|
}
|
|
88
|
-
function
|
|
88
|
+
function an() {
|
|
89
89
|
const e = Ce(), t = f(), n = G(), a = Oe(), i = V(t.app$.appMetadata), s = V(t.currentUser$), r = V(t.t$), o = V(t.device$), E = V(t.themeCustom$);
|
|
90
90
|
return H(() => ({ session: e, store: t, theme: n, conversationList: a, get app() {
|
|
91
91
|
return i.value;
|
|
@@ -128,17 +128,17 @@ class Fe {
|
|
|
128
128
|
return this._handlers.add(t), () => this._handlers.delete(t);
|
|
129
129
|
}
|
|
130
130
|
}
|
|
131
|
-
const be = new Fe(), ee = new Fe(), A = { code: "en-US", name: "English (US)", translation: { YESTERDAY: "Yesterday", TODAY: "Today", DAYS: "d", HOURS: "h", MINUTES: "m", JUST_NOW: "just now", LOCATION: "Location", CANCEL: "Cancel", INBOX: "Inbox", DESKTOP_NOTIFICATIONS: "Browser notifications", DESKTOP_NOTIFICATIONS_ERROR: "Can't enable browser notifications because your browser actively blocks them. Try looking in the settings or using a different browser.", DESKTOP_NOTIFICATIONS_DEMO_TITLE: (e) => `${e} demo notification`, DESKTOP_NOTIFICATIONS_DEMO_BODY: "If you keep your browser tab open, you'll see this pop up when someone talks to you.", SEND_BUTTON_TEXT: "Send", ENTRYBOX_TEXT_LIMIT: "Only 10,000 characters are allowed.", ENTRYBOX_PLACEHOLDER: "Say something...", ENTRYBOX_PLACEHOLDER_CHAT_CLOSED: "This conversation is no longer active.", ENTRYBOX_PLACEHOLDER_CHAT_READONLY: "You can read, but not send messages.", MESSAGELIST_LOADING_OLDER: "Loading older messages...", MESSAGELIST_SHOW_OLDER: "Show older messages", MESSAGELIST_NEW_MARKER: "New", MESSAGE_SENT_VIA_EMAIL: "This message was sent via email", YOU_MARKER: "you", UPLOAD_IN_PROGRESS: "Uploading...", UPLOAD_SEND_FILE: "Send file", UPLOAD_SHARE_LOCATION: "Share location", UPLOAD_ERROR: "Unfortunately, something went wrong uploading. The file might be unsupported or too large.", SHARE_LOCATION_ERROR: "Cannot share location: ", LOADING: "Loading...", HUB_EMPTY: "Your chat history will show up here", HUB_SHOW_EARLIER: "Show earlier chats", INBOX_NO_CHATS_TITLE: "No chats yet!", INBOX_NO_CHATS_BODY: "Once you've had one or more conversations, they will show up here.", ENABLE_TRANSLATION: "Translate this conversation to English", DISABLE_TRANSLATION: "Show original", SEARCH_PLACEHOLDER_TEXT: "Search...", SEARCH_SEARCHING: "Searching...", SEARCH_NO_RESULTS: "No results found", SEARCH_NO_MORE_RESULTS: "No more results", CHAT_NOT_FOUND: "Chat not found", DELETE_MESSAGE: "Delete message", DELETION_EXPLANATION: "If you delete this message, it will disappear for everybody.", EDIT_MESSAGE: "Edit message", SAVE: "Save", EDITED_INDICATOR: "edited", REPLY_TO_MESSAGE: "Reply", REPLY_TO_ARIA_LABEL: (e, t) => `Replying to ${e}: ${t}`, REPLY_MODE_LEAVE_ARIA_LABEL: "Exit reply mode", ADD_REACTION: "Add reaction", AUTH_EXPIRED_OVERLAY_TITLE: "Your chat session has expired", AUTH_EXPIRED_OVERLAY_DESCRIPTION: "Refresh the page to continue", VOICE_MESSAGE: "Voice message", LEAVE_CONVERSATION: "Leave conversation", MARK_CONVERSATION_AS_UNREAD: "Mark as unread", STATUS_INDICATOR_ONLINE: "Active", STATUS_INDICATOR_OFFLINE: "Away", CONTACT_INFORMATION_HIDDEN: "hidden information" } }, Na = { code: "ar", name: "Arabic", translation: { YESTERDAY: "الأمس", TODAY: "اليوم", DAYS: "يوم", HOURS: "ساعة", MINUTES: "دقيقة", JUST_NOW: "فقط الآن", LOCATION: "الموقع", CANCEL: "إلغاء", INBOX: "علبة الوارد", DESKTOP_NOTIFICATIONS: "إشعارات المتصفح", DESKTOP_NOTIFICATIONS_ERROR: "لا يمكن تمكين إشعارات المتصفح لأن متصفحك يمنعها بشكل نشط. جرّب البحث في الإعدادات أو استخدام متصفح آخر.", DESKTOP_NOTIFICATIONS_DEMO_TITLE: (e) => `إعلام ${e} التجريبي`, DESKTOP_NOTIFICATIONS_DEMO_BODY: "إذا أبقيت علامة تبويب المتصفح مفتوحة ، فسترى هذا ينبثق عندما يتحدث شخص معك.", SEND_BUTTON_TEXT: "إرسال", ENTRYBOX_TEXT_LIMIT: "يُسمح فقط بـ 10.000 حرف.", ENTRYBOX_PLACEHOLDER: "قل شيئًا ...", ENTRYBOX_PLACEHOLDER_CHAT_CLOSED: "هذه المحادثة لم تعد نشطة.", ENTRYBOX_PLACEHOLDER_CHAT_READONLY: "يمكنك القراءة ، لكن لا يمكنك إرسال الرسائل.", MESSAGELIST_LOADING_OLDER: "جارٍ تحميل الرسائل القديمة ...", MESSAGELIST_SHOW_OLDER: "عرض الرسائل الأقدم", MESSAGELIST_NEW_MARKER: "جديد", MESSAGE_SENT_VIA_EMAIL: "تم إرسال هذه الرسالة عبر البريد الإلكتروني", YOU_MARKER: "أنت", UPLOAD_IN_PROGRESS: "جارٍ التحميل ...", UPLOAD_SEND_FILE: "إرسال ملف", UPLOAD_SHARE_LOCATION: "مشاركة الموقع", UPLOAD_ERROR: "حدث خطأ ما في تحميل شيء. ربما يكون الملف غير متوافق أو كبير جدًا.", SHARE_LOCATION_ERROR: "لا يمكن مشاركة الموقع:", LOADING: "جارٍ التحميل ...", HUB_EMPTY: "سوف يظهر سجل الدردشات هنا", HUB_SHOW_EARLIER: "إظهار الدردشات السابقة", INBOX_NO_CHATS_TITLE: "لا توجد دردشات بعد!", INBOX_NO_CHATS_BODY: "بمجرد أن يكون لديك واحد أو أكثر من المحادثات ، سوف تظهر هنا.", ENABLE_TRANSLATION: "ترجم هذه المحادثة إلى العربية", DISABLE_TRANSLATION: "إظهار الأصلي", SEARCH_PLACEHOLDER_TEXT: "...بحث", SEARCH_SEARCHING: "...يتم الآن البحث", SEARCH_NO_RESULTS: "لم يتم العثور على نتائج", SEARCH_NO_MORE_RESULTS: "لا يوجد المزيد من النتائج", CHAT_NOT_FOUND: "لم يتم العثور على الدردشة", DELETE_MESSAGE: "احذف الرسالة", DELETION_EXPLANATION: "إذا قمت بحذف هذه الرسالة، فهي ستختفي للجميع.", EDIT_MESSAGE: "تعديل الرسالة", SAVE: "حفظ", EDITED_INDICATOR: "معدّلة", REPLY_TO_MESSAGE: "رد", ADD_REACTION: "أضف تفاعلاً", AUTH_EXPIRED_OVERLAY_TITLE: "انتهت جلسة الدردشة المخصصة لك", AUTH_EXPIRED_OVERLAY_DESCRIPTION: "يُرجى إعادة تحميل الصفحة للمتابعة", VOICE_MESSAGE: "رسالة صوتية", CONTACT_INFORMATION_HIDDEN: "المعلومات المخفية", LEAVE_CONVERSATION: "الخروج من المحادثة", MARK_CONVERSATION_AS_UNREAD: "وضع علامة غير مقروءة", REPLY_TO_ARIA_LABEL: A.translation.REPLY_TO_ARIA_LABEL, REPLY_MODE_LEAVE_ARIA_LABEL: A.translation.REPLY_MODE_LEAVE_ARIA_LABEL, STATUS_INDICATOR_ONLINE: A.translation.STATUS_INDICATOR_ONLINE, STATUS_INDICATOR_OFFLINE: A.translation.STATUS_INDICATOR_OFFLINE } }, Ra = { code: "bg-BG", name: "Bulgarian", translation: { YESTERDAY: "Вчера", TODAY: "Днес", DAYS: "Ден", HOURS: "Час", MINUTES: "m", JUST_NOW: "Току-що", LOCATION: "местоположението", CANCEL: "Откажи", INBOX: "Кутия", DESKTOP_NOTIFICATIONS: "Известия на браузъра", DESKTOP_NOTIFICATIONS_ERROR: "Не можете да активирате известията на браузъра, защото браузърът ви ги блокира активно. Опитайте да погледнете в настройките или да използвате друг браузър.", DESKTOP_NOTIFICATIONS_DEMO_TITLE: (e) => `${e} демо известие`, DESKTOP_NOTIFICATIONS_DEMO_BODY: "Ако държите раздела на браузъра си отворен, ще видите този изскачащ прозорец, когато някой говори с вас.", SEND_BUTTON_TEXT: "Изпрати", ENTRYBOX_TEXT_LIMIT: "Разрешени са само до 10.000 знака.", ENTRYBOX_PLACEHOLDER: "Кажете нещо...", ENTRYBOX_PLACEHOLDER_CHAT_CLOSED: "Този разговор вече не е активен.", ENTRYBOX_PLACEHOLDER_CHAT_READONLY: "Можете да четете, но не и да изпращате съобщения.", MESSAGELIST_LOADING_OLDER: "Зареждане на по-стари съобщения...", MESSAGELIST_SHOW_OLDER: "Показване на по-стари съобщения", MESSAGELIST_NEW_MARKER: "Нови", MESSAGE_SENT_VIA_EMAIL: "Това съобщение беше изпратено по имейл", YOU_MARKER: "Вие", UPLOAD_IN_PROGRESS: "Качване...", UPLOAD_SEND_FILE: "Изпращане на файл", UPLOAD_SHARE_LOCATION: "Споделяне на местоположението", UPLOAD_ERROR: "За съжаление нещо се обърка при качването. Файлът може да не се поддържа или е твърде голям.", SHARE_LOCATION_ERROR: "Не може да се сподели местоположението: ", LOADING: "Зареждане...", HUB_EMPTY: "Историята на вашите разговори ще се покаже тук", HUB_SHOW_EARLIER: "Показване на по-ранни чатове", INBOX_NO_CHATS_TITLE: "Все още нямате разговори!", INBOX_NO_CHATS_BODY: "След като проведете един или повече разговори, те ще се покажат тук.", ENABLE_TRANSLATION: "Преведете този разговор на български", DISABLE_TRANSLATION: "Показване на оригинал", SEARCH_PLACEHOLDER_TEXT: "Търсене...", SEARCH_SEARCHING: "Търсене...", SEARCH_NO_RESULTS: "Няма намерени резултати", SEARCH_NO_MORE_RESULTS: "Няма повече резултати", CHAT_NOT_FOUND: "Чатът не е намерен", DELETE_MESSAGE: "Изтриване на съобщение", DELETION_EXPLANATION: "Ако изтриете това съобщение, то ще изчезне за всички.", EDIT_MESSAGE: "Редактиране на съобщението", SAVE: "Запиши", EDITED_INDICATOR: "редактирано", REPLY_TO_MESSAGE: "Отговори", ADD_REACTION: "Добави реакция", AUTH_EXPIRED_OVERLAY_TITLE: "Вашата чат сесия е изтекла", AUTH_EXPIRED_OVERLAY_DESCRIPTION: "Обновете страницата, за да продължите", VOICE_MESSAGE: "Гласово съобщение", CONTACT_INFORMATION_HIDDEN: "Скрита информация", LEAVE_CONVERSATION: "Напускане на разговора", MARK_CONVERSATION_AS_UNREAD: "Маркирай като непрочетено", REPLY_TO_ARIA_LABEL: A.translation.REPLY_TO_ARIA_LABEL, REPLY_MODE_LEAVE_ARIA_LABEL: A.translation.REPLY_MODE_LEAVE_ARIA_LABEL, STATUS_INDICATOR_ONLINE: A.translation.STATUS_INDICATOR_ONLINE, STATUS_INDICATOR_OFFLINE: A.translation.STATUS_INDICATOR_OFFLINE } }, La = { code: "bs-BA", name: "Bosnian", translation: { YESTERDAY: "Jučer", TODAY: "Danas", DAYS: "d", HOURS: "s", MINUTES: "m", JUST_NOW: "Upravo sad", LOCATION: "Lokacija", CANCEL: "Otkaži", INBOX: "Pretinac", DESKTOP_NOTIFICATIONS: "Obavijesti preglednika", DESKTOP_NOTIFICATIONS_ERROR: "Notifikacije preglednika se ne mogu omogućiti jer ih vaš preglednik aktivno blokira. Pokušajte pregledati postavke ili koristiti drugi preglednik.", DESKTOP_NOTIFICATIONS_DEMO_TITLE: (e) => `${e} demo notifikacija`, DESKTOP_NOTIFICATIONS_DEMO_BODY: "Ako karticu preglednika ostavite otvorenu, pojavit će se ovaj pop-up kada netko razgovara s vama.", SEND_BUTTON_TEXT: "Pošalji", ENTRYBOX_TEXT_LIMIT: "Dozvoljeno je samo 10.000 znakova.", ENTRYBOX_PLACEHOLDER: "Reci nešto...", ENTRYBOX_PLACEHOLDER_CHAT_CLOSED: "Ovaj razgovor više nije aktivan.", ENTRYBOX_PLACEHOLDER_CHAT_READONLY: "Možeš čitati, ali ne i slati poruke.", MESSAGELIST_LOADING_OLDER: "Učitavam starije poruke...", MESSAGELIST_SHOW_OLDER: "Prikaži starije poruke", MESSAGELIST_NEW_MARKER: "Novo", MESSAGE_SENT_VIA_EMAIL: "Ova poruka je poslana e-poštom", YOU_MARKER: "ti", UPLOAD_IN_PROGRESS: "Učitavam...", UPLOAD_SEND_FILE: "Pošalji datoteku", UPLOAD_SHARE_LOCATION: "Podijeli lokaciju", UPLOAD_ERROR: "Nažalost, nešto je pošlo krivo. Datoteka možda nije podržana ili je prevelika.", SHARE_LOCATION_ERROR: "Nije moguće podijeliti lokaciju: ", LOADING: "Učitavam...", HUB_EMPTY: "Ovdje će se prikazati vaša povijest razgovora", HUB_SHOW_EARLIER: "Prikaži ranije razgovore", INBOX_NO_CHATS_TITLE: "Nema razgovora!", INBOX_NO_CHATS_BODY: "Nakon što vodite jedan ili više razgovora, oni će se pojaviti ovdje.", ENABLE_TRANSLATION: "Prevedi ovaj razgovor na bosanski jezik", DISABLE_TRANSLATION: "Prikaži original", SEARCH_PLACEHOLDER_TEXT: "Pretraži...", SEARCH_SEARCHING: "Pretraživanje...", SEARCH_NO_RESULTS: "Nema rezultata", SEARCH_NO_MORE_RESULTS: "Nema više rezultata", CHAT_NOT_FOUND: "Ćaskanje nije pronađeno", DELETE_MESSAGE: "Obriši poruku", DELETION_EXPLANATION: "Ako izbrišete ovu poruku, ona će nestati za sve.", EDIT_MESSAGE: "Uredi poruku", SAVE: "Sačuvati", EDITED_INDICATOR: "uređeno", REPLY_TO_MESSAGE: "Odgovorite", ADD_REACTION: "Dodajte reakciju", AUTH_EXPIRED_OVERLAY_TITLE: "Vaša chat sesija je istekla", AUTH_EXPIRED_OVERLAY_DESCRIPTION: "Osvježite stranicu da nastavite", VOICE_MESSAGE: "Glasovna poruka", CONTACT_INFORMATION_HIDDEN: "Skrivene informacije", LEAVE_CONVERSATION: "Napusti razgovor", MARK_CONVERSATION_AS_UNREAD: "Označi kao nepročitano", REPLY_TO_ARIA_LABEL: A.translation.REPLY_TO_ARIA_LABEL, REPLY_MODE_LEAVE_ARIA_LABEL: A.translation.REPLY_MODE_LEAVE_ARIA_LABEL, STATUS_INDICATOR_ONLINE: A.translation.STATUS_INDICATOR_ONLINE, STATUS_INDICATOR_OFFLINE: A.translation.STATUS_INDICATOR_OFFLINE } }, ma = { code: "ca-ES", name: "Catalan (ES)", translation: { YESTERDAY: "Ahir", TODAY: "Avui", DAYS: "d", HOURS: "h", MINUTES: "m", JUST_NOW: "ara mateix", LOCATION: "Ubicació", CANCEL: "Cancel·lar", INBOX: "Safata d'entrada", DESKTOP_NOTIFICATIONS: "Notificacions d'escriptori", DESKTOP_NOTIFICATIONS_ERROR: "No es poden habilitar les notificacions del navegador perquè el teu navegador les bloqueja activament. Prova de buscar a la configuració o utilitza un altre navegador.", DESKTOP_NOTIFICATIONS_DEMO_TITLE: (e) => `Notificació de demostració de ${e}`, DESKTOP_NOTIFICATIONS_DEMO_BODY: "Si mantens la pestanya del navegador oberta, veuràs aquesta notificació quan algú et parli.", SEND_BUTTON_TEXT: "Enviar", ENTRYBOX_TEXT_LIMIT: "Només es permeten 10.000 caràcters.", ENTRYBOX_PLACEHOLDER: "Digues alguna cosa...", ENTRYBOX_PLACEHOLDER_CHAT_CLOSED: "Aquesta conversa ja no està activa.", ENTRYBOX_PLACEHOLDER_CHAT_READONLY: "Pots llegir, però no enviar missatges.", MESSAGELIST_LOADING_OLDER: "Carregant missatges antics...", MESSAGELIST_SHOW_OLDER: "Mostrar missatges més antics", MESSAGELIST_NEW_MARKER: "Nou", MESSAGE_SENT_VIA_EMAIL: "Aquest missatge s'ha enviat per correu electrònic", YOU_MARKER: "tu", UPLOAD_IN_PROGRESS: "S'està pujant...", UPLOAD_SEND_FILE: "Enviar arxiu", UPLOAD_SHARE_LOCATION: "Compartir ubicació", UPLOAD_ERROR: "Desafortunadament, alguna cosa ha anat malament en pujar. L'arxiu pot ser no compatible o massa gran.", SHARE_LOCATION_ERROR: "No es pot compartir la ubicació: ", LOADING: "Carregant...", HUB_EMPTY: "El teu historial de xat apareixerà aquí", HUB_SHOW_EARLIER: "Mostra xats anteriors", INBOX_NO_CHATS_TITLE: "Encara no hi ha xats!", INBOX_NO_CHATS_BODY: "Un cop hagis tingut una o més converses, apareixeran aquí.", ENABLE_TRANSLATION: "Traduir aquesta conversa al català", DISABLE_TRANSLATION: "Mostrar original", SEARCH_PLACEHOLDER_TEXT: "Cerca...", SEARCH_SEARCHING: "Buscant...", SEARCH_NO_RESULTS: "No s'han trobat resultats", SEARCH_NO_MORE_RESULTS: "No hi ha més resultats", CHAT_NOT_FOUND: "Xat no trobat", DELETE_MESSAGE: "Esborrar missatge", DELETION_EXPLANATION: "Si esborres aquest missatge, desapareixerà per a tothom.", EDIT_MESSAGE: "Editar missatge", SAVE: "Desar", EDITED_INDICATOR: "editat", REPLY_TO_MESSAGE: "Respondre", REPLY_TO_ARIA_LABEL: (e, t) => `Responent a ${e}: ${t}`, REPLY_MODE_LEAVE_ARIA_LABEL: "Sortir del mode de resposta", ADD_REACTION: "Afegir reacció", VOICE_MESSAGE: "Missatge de veu", LEAVE_CONVERSATION: "Abandonar la conversa", MARK_CONVERSATION_AS_UNREAD: "marcar com no llegit", STATUS_INDICATOR_ONLINE: "Actiu", STATUS_INDICATOR_OFFLINE: "Absent", CONTACT_INFORMATION_HIDDEN: "informació oculta", AUTH_EXPIRED_OVERLAY_TITLE: "La teva sessió de xat ha caducat", AUTH_EXPIRED_OVERLAY_DESCRIPTION: "Actualitza la pàgina per continuar" } }, pa = { code: "cs-CZ", name: "Czech", translation: { YESTERDAY: "Včera", TODAY: "Dnes", DAYS: "d", HOURS: "h", MINUTES: "m", JUST_NOW: "právě teď", LOCATION: "Lokace", CANCEL: "Zrušit", INBOX: "Doručené", DESKTOP_NOTIFICATIONS: "Oznámení v prohlížeči", DESKTOP_NOTIFICATIONS_ERROR: "Nelze povolit notifikace prohlížeče, protože váš prohlížeč je aktivně blokuje. Zkuste se podívat na nastavení nebo zkuste použít jiný prohlížeč.", DESKTOP_NOTIFICATIONS_DEMO_TITLE: (e) => `${e} demo notifikace`, DESKTOP_NOTIFICATIONS_DEMO_BODY: "Pokud necháte kartu prohlížeče otevřenou, uvidíte tento popup jakmile s vámi bude někdo mluvit.", SEND_BUTTON_TEXT: "Odeslat", ENTRYBOX_TEXT_LIMIT: "Je povoleno Maximálně 10.000 znaků.", ENTRYBOX_PLACEHOLDER: "Napište něco...", ENTRYBOX_PLACEHOLDER_CHAT_CLOSED: "Tato konverzace již není aktivní.", ENTRYBOX_PLACEHOLDER_CHAT_READONLY: "Můžete číst, ale nemůžete posílat zprávy.", MESSAGELIST_LOADING_OLDER: "Nahrávám starší zprávy...", MESSAGELIST_SHOW_OLDER: "Zobrazit starší zprávy", MESSAGELIST_NEW_MARKER: "Nové", MESSAGE_SENT_VIA_EMAIL: "Tato zpráva byla odeslána přes mail.", YOU_MARKER: "vy", UPLOAD_IN_PROGRESS: "Nahrávám...", UPLOAD_SEND_FILE: "Poslat soubor", UPLOAD_SHARE_LOCATION: "Sdílet pozici", UPLOAD_ERROR: "Nepodařilo se nahrát soubor. Ten je buď nepodporován a/nebo příliš velký.", SHARE_LOCATION_ERROR: "Není možné sdílet pozici: ", LOADING: "Nahrávám...", HUB_EMPTY: "Vaše historie se zde zobrazí", HUB_SHOW_EARLIER: "Zobrazit dřívější konverzace", INBOX_NO_CHATS_TITLE: "Zatím zde nejsou žádné konverzace!", INBOX_NO_CHATS_BODY: "Jakmile budete mít jednu nebo více konverzací, objeví se zde.", ENABLE_TRANSLATION: "Přeložit tuto konverzaci do češtiny", DISABLE_TRANSLATION: "Zobrazit původní", SEARCH_PLACEHOLDER_TEXT: "Hledat...", SEARCH_SEARCHING: "Hledání...", SEARCH_NO_RESULTS: "Nenašly se žádné výsledky", SEARCH_NO_MORE_RESULTS: "Žádné další výsledky", CHAT_NOT_FOUND: "Chat nenalezen", DELETE_MESSAGE: "Smazat zprávu", DELETION_EXPLANATION: "Pokud tuto zprávu smažete, zmizí pro všechny.", EDIT_MESSAGE: "Upravit zprávu", SAVE: "Uložit", EDITED_INDICATOR: "upraveno", REPLY_TO_MESSAGE: "Odpovědět", ADD_REACTION: "Reagovat", AUTH_EXPIRED_OVERLAY_TITLE: "Váš chat byl kvůli nečinnosti odpojen", AUTH_EXPIRED_OVERLAY_DESCRIPTION: "Pro pokračování obnovte stránku", VOICE_MESSAGE: "Hlasová zpráva", CONTACT_INFORMATION_HIDDEN: "Skrytá informace", LEAVE_CONVERSATION: "Opustit konverzaci", MARK_CONVERSATION_AS_UNREAD: "Označit jako nepřečtené", REPLY_TO_ARIA_LABEL: A.translation.REPLY_TO_ARIA_LABEL, REPLY_MODE_LEAVE_ARIA_LABEL: A.translation.REPLY_MODE_LEAVE_ARIA_LABEL, STATUS_INDICATOR_ONLINE: A.translation.STATUS_INDICATOR_ONLINE, STATUS_INDICATOR_OFFLINE: A.translation.STATUS_INDICATOR_OFFLINE } }, ha = { code: "da-DK", name: "Danish", translation: { YESTERDAY: "I går", TODAY: "I dag", DAYS: "d", HOURS: "t", MINUTES: "m", JUST_NOW: "lige nu", LOCATION: "Placering", CANCEL: "Annuller", INBOX: "Indbakke", DESKTOP_NOTIFICATIONS: "Browsermeddelelser", DESKTOP_NOTIFICATIONS_ERROR: "Kan ikke aktivere Browsermeddelelser, fordi din browser aktivt blokerer dem. Prøv at kigge i indstillingerne eller benyt en anden browser.", DESKTOP_NOTIFICATIONS_DEMO_TITLE: (e) => `${e} demomeddelelse`, DESKTOP_NOTIFICATIONS_DEMO_BODY: "Hvis du holder dit browser-faneblad åben, vil du se det her komme op, når nogen taler til dig.", SEND_BUTTON_TEXT: "Send", ENTRYBOX_TEXT_LIMIT: "Kun 10.000 tegn er tilladt.", ENTRYBOX_PLACEHOLDER: "Sig noget...", ENTRYBOX_PLACEHOLDER_CHAT_CLOSED: "Denne samtale er ikke længere aktiv.", ENTRYBOX_PLACEHOLDER_CHAT_READONLY: "Du kan læse, men ikke sende beskeder.", MESSAGELIST_LOADING_OLDER: "Indlæser ældre beskeder...", MESSAGELIST_SHOW_OLDER: "Vis ældre beskeder", MESSAGELIST_NEW_MARKER: "Ny", MESSAGE_SENT_VIA_EMAIL: "Denne besked blev sendt via e-mail", YOU_MARKER: "dig", UPLOAD_IN_PROGRESS: "Overfører...", UPLOAD_SEND_FILE: "Send fil", UPLOAD_SHARE_LOCATION: "Del placering", UPLOAD_ERROR: "Der er sket noget forkert ved upload. Filen kan ikke understøttes eller filen er for stor.", SHARE_LOCATION_ERROR: "Kan ikke dele placering: ", LOADING: "Indlæser...", HUB_EMPTY: "Dine samtaler vises her", HUB_SHOW_EARLIER: "Vis tidligere chats", INBOX_NO_CHATS_TITLE: "Ingen chats endnu!", INBOX_NO_CHATS_BODY: "Når du har haft en eller flere samtaler, vises de her.", ENABLE_TRANSLATION: "Oversæt denne konversation til dansk", DISABLE_TRANSLATION: "Vis den oprindelige", SEARCH_PLACEHOLDER_TEXT: "Søg...", SEARCH_SEARCHING: "Søger...", SEARCH_NO_RESULTS: "Ingen resultater fundet", SEARCH_NO_MORE_RESULTS: "Ikke flere resultater", CHAT_NOT_FOUND: "Chat ikke fundet", DELETE_MESSAGE: "Slet besked", DELETION_EXPLANATION: "Hvis du sletter denne besked, vil ingen kunne se den.", EDIT_MESSAGE: "Rediger besked", SAVE: "Gem", EDITED_INDICATOR: "redigeret", REPLY_TO_MESSAGE: "Svar", ADD_REACTION: "Tilføj reaktion", AUTH_EXPIRED_OVERLAY_TITLE: "Din chatsession er udløbet", AUTH_EXPIRED_OVERLAY_DESCRIPTION: "Opdater siden for at fortsætte", VOICE_MESSAGE: "Talebesked", CONTACT_INFORMATION_HIDDEN: "Skjulte oplysninger", LEAVE_CONVERSATION: "Forlad samtale", MARK_CONVERSATION_AS_UNREAD: "Marker som ulæst", REPLY_TO_ARIA_LABEL: A.translation.REPLY_TO_ARIA_LABEL, REPLY_MODE_LEAVE_ARIA_LABEL: A.translation.REPLY_MODE_LEAVE_ARIA_LABEL, STATUS_INDICATOR_ONLINE: A.translation.STATUS_INDICATOR_ONLINE, STATUS_INDICATOR_OFFLINE: A.translation.STATUS_INDICATOR_OFFLINE } }, Da = { code: "de-DE", name: "German", translation: { YESTERDAY: "Gestern", TODAY: "Heute", DAYS: "d", HOURS: "h", MINUTES: "m", JUST_NOW: "gerade jetzt", LOCATION: "Standort", CANCEL: "Abbrechen", INBOX: "Inbox", DESKTOP_NOTIFICATIONS: "Browser-Benachrichtigungen", DESKTOP_NOTIFICATIONS_ERROR: "Browser-Benachrichtigungen können nicht aktiviert werden, da Ihr Browser sie aktiv blockiert. Versuchen Sie, in den Einstellungen nachzuschlagen oder einen anderen Browser zu verwenden.", DESKTOP_NOTIFICATIONS_DEMO_TITLE: (e) => `${e} Demo-Benachrichtigung`, DESKTOP_NOTIFICATIONS_DEMO_BODY: "Wenn Sie Ihre Browser-Registerkarte geöffnet lassen, wird dies angezeigt, wenn jemand mit Ihnen spricht.", SEND_BUTTON_TEXT: "Senden", ENTRYBOX_TEXT_LIMIT: "Nur 10.000 Zeichen sind erlaubt.", ENTRYBOX_PLACEHOLDER: "Sag etwas...", ENTRYBOX_PLACEHOLDER_CHAT_CLOSED: "Diese Konversation ist nicht mehr aktiv.", ENTRYBOX_PLACEHOLDER_CHAT_READONLY: "Sie können Nachrichten lesen, aber nicht senden.", MESSAGELIST_LOADING_OLDER: "Ältere Nachrichten werden geladen...", MESSAGELIST_SHOW_OLDER: "Zeige ältere Nachrichten", MESSAGELIST_NEW_MARKER: "Neu", MESSAGE_SENT_VIA_EMAIL: "Diese Nachricht wurde per E-Mail gesendet", YOU_MARKER: "du", UPLOAD_IN_PROGRESS: "Hochladen...", UPLOAD_SEND_FILE: "Datei senden", UPLOAD_SHARE_LOCATION: "Standort teilen", UPLOAD_ERROR: "Beim Hochladen ist ein Fehler aufgetreten. Die Datei ist möglicherweise nicht unterstützt oder zu groß.", SHARE_LOCATION_ERROR: "Standort kann nicht freigegeben werden: ", LOADING: "Laden...", HUB_EMPTY: "Ihr Chat-Verlauf wird hier angezeigt", HUB_SHOW_EARLIER: "Zeige frühere Chats", INBOX_NO_CHATS_TITLE: "Noch keine Chats!", INBOX_NO_CHATS_BODY: "Sobald Sie eine oder mehrere Unterhaltungen geführt haben, werden sie hier angezeigt.", ENABLE_TRANSLATION: "Dieses Gespräch auf Deutsch übersetzen", DISABLE_TRANSLATION: "Originaltext anzeigen", SEARCH_PLACEHOLDER_TEXT: "Suche...", SEARCH_SEARCHING: "Suchen...", SEARCH_NO_RESULTS: "Keine Suchergebnisse gefunden", SEARCH_NO_MORE_RESULTS: "Keine weiteren Suchergebnisse", CHAT_NOT_FOUND: "Chat nicht gefunden", DELETE_MESSAGE: "Nachricht löschen", DELETION_EXPLANATION: "Wenn Sie diese Nachricht löschen, wird sie für alle verschwinden.", EDIT_MESSAGE: "Nachricht bearbeiten", SAVE: "Speichern", EDITED_INDICATOR: "bearbeitet", REPLY_TO_MESSAGE: "Antworten", ADD_REACTION: "Reaktion hinzufügen", AUTH_EXPIRED_OVERLAY_TITLE: "Ihre Chatsitzung ist abgelaufen", AUTH_EXPIRED_OVERLAY_DESCRIPTION: "Laden Sie zum Fortfahren die Seite neu", VOICE_MESSAGE: "Sprachnachricht", CONTACT_INFORMATION_HIDDEN: "Geschützte Angaben", LEAVE_CONVERSATION: "Unterhaltung verlassen", MARK_CONVERSATION_AS_UNREAD: "als ungelesen markieren", REPLY_TO_ARIA_LABEL: A.translation.REPLY_TO_ARIA_LABEL, REPLY_MODE_LEAVE_ARIA_LABEL: A.translation.REPLY_MODE_LEAVE_ARIA_LABEL, STATUS_INDICATOR_ONLINE: A.translation.STATUS_INDICATOR_ONLINE, STATUS_INDICATOR_OFFLINE: A.translation.STATUS_INDICATOR_OFFLINE } }, Ca = { code: "el-GR", name: "Greek (Greece)", translation: { YESTERDAY: "Χθές", TODAY: "Σήμερα", DAYS: "Ημέρες", HOURS: "'Ωρες", MINUTES: "Λεπτά", JUST_NOW: "Μόλις τώρα", LOCATION: "Τοποθεσία", CANCEL: "Ακύρωση", INBOX: "Εισερχόμενα", DESKTOP_NOTIFICATIONS: "Ειδοποιήσεις περιηγητή", DESKTOP_NOTIFICATIONS_ERROR: "Δεν είναι δυνατή η ενεργοποίηση των ειδοποιήσεων του προγράμματος περιήγησης, επειδή το πρόγραμμα περιήγησης τις αποκλείει ενεργά. Δοκιμάστε να τσεκάρετε τις ρυθμίσεις ή να χρησιμοποιήσετε διαφορετικό πρόγραμμα περιήγησης.", DESKTOP_NOTIFICATIONS_DEMO_TITLE: (e) => `${e} Δοκιμαστική επίδειξη`, DESKTOP_NOTIFICATIONS_DEMO_BODY: "Αν διατηρήσετε ανοιχτή τη σελίδα του προγράμματος περιήγησης, θα δείτε αυτό το pop up (παράθυρο) όταν κάποιος σας μιλάει.", SEND_BUTTON_TEXT: "Αποστολή", ENTRYBOX_TEXT_LIMIT: "Επιτρέπονται μόνο 10.000 χαρακτήρες.", ENTRYBOX_PLACEHOLDER: "Πείτε κάτι...", ENTRYBOX_PLACEHOLDER_CHAT_CLOSED: "Αυτή η συζήτηση δεν είναι πλέον ενεργή.", ENTRYBOX_PLACEHOLDER_CHAT_READONLY: "Μπορείτε να διαβάσετε αλλά δεν μπορείτε να στείλετε μηνύματα.", MESSAGELIST_LOADING_OLDER: "Φόρτωση παλαιοτέρων μηνυμάτων...", MESSAGELIST_SHOW_OLDER: "Εμφάνιση παλαιότερων μηνυμάτων", MESSAGELIST_NEW_MARKER: "Νέο", MESSAGE_SENT_VIA_EMAIL: "Αυτό το μήνυμα εστάλη μέσω ηλεκτρονικού ταχυδρομείου", YOU_MARKER: "Εσείς", UPLOAD_IN_PROGRESS: "Ανέβασμα...", UPLOAD_SEND_FILE: "Αποστολή αρχείου", UPLOAD_SHARE_LOCATION: "Κοινή χρήση τοποθεσίας", UPLOAD_ERROR: "Κάτι πήγε στραβά κατά τη φόρτωση. Το αρχείο ενδέχεται να μην υποστηρίζεται ή να είναι υπερβολικά μεγάλο.", SHARE_LOCATION_ERROR: "Δεν είναι δυνατή η χρήση κοινής τοποθεσίας: ", LOADING: "Φόρτωση...", HUB_EMPTY: "Το ιστορικό των συνομιλιών σας θα εμφανιστεί εδώ", HUB_SHOW_EARLIER: "Εμφάνιση προηγούμενων συνομιλιών", INBOX_NO_CHATS_TITLE: "Δεν υπάρχουν ακόμα συζητήσεις!", INBOX_NO_CHATS_BODY: "Μόλις έχετε μία ή περισσότερες συνομιλίες, θα εμφανιστούν εδώ.", ENABLE_TRANSLATION: "Μετάφραση αυτής της συνομιλίας στα ελληνικά", DISABLE_TRANSLATION: "Προβολή πρωτοτύπου", SEARCH_PLACEHOLDER_TEXT: "Αναζήτηση...", SEARCH_SEARCHING: "Αναζήτηση...", SEARCH_NO_RESULTS: "Δεν βρέθηκαν αποτελέσματα", SEARCH_NO_MORE_RESULTS: "Δεν υπάρχουν περισσότερα αποτελέσματα", CHAT_NOT_FOUND: "Η συνομιλία δεν βρέθηκε", DELETE_MESSAGE: "Διαγραφή μηνύματος", DELETION_EXPLANATION: "Εάν διαγράψετε αυτό το μήνυμα, θα εξαφανιστεί για όλους.", EDIT_MESSAGE: "Επεξεργασία μηνύματος", SAVE: "Αποθήκευση", EDITED_INDICATOR: "επεξεργασμένο", REPLY_TO_MESSAGE: "Απάντηση", ADD_REACTION: "Προσθήκη αντίδρασης", AUTH_EXPIRED_OVERLAY_TITLE: "Η συνεδρία της συνομιλίας σας έχει λήξει", AUTH_EXPIRED_OVERLAY_DESCRIPTION: "Ανανεώστε τη σελίδα για να συνεχίσετε", VOICE_MESSAGE: "Ηχητικό μήνυμα", CONTACT_INFORMATION_HIDDEN: "Κρυμμένες πληροφορίες", LEAVE_CONVERSATION: "Αποσυρθείτε από τη συζήτηση", MARK_CONVERSATION_AS_UNREAD: "Επισήμανση ως μη αναγνωσμένα", REPLY_TO_ARIA_LABEL: A.translation.REPLY_TO_ARIA_LABEL, REPLY_MODE_LEAVE_ARIA_LABEL: A.translation.REPLY_MODE_LEAVE_ARIA_LABEL, STATUS_INDICATOR_ONLINE: A.translation.STATUS_INDICATOR_ONLINE, STATUS_INDICATOR_OFFLINE: A.translation.STATUS_INDICATOR_OFFLINE } }, ga = { code: "es-ES", name: "Spanish", translation: { YESTERDAY: "Ayer", TODAY: "Hoy", DAYS: "d", HOURS: "h", MINUTES: "m", JUST_NOW: "justo ahora", LOCATION: "Ubicación", CANCEL: "Cancelar", INBOX: "Inbox", DESKTOP_NOTIFICATIONS: "Notificaciones del navigator", DESKTOP_NOTIFICATIONS_ERROR: "No se logró habilitar las notificaciones del navigador, comprueba que tu navegador no las esté bloqueando o intenta con otro navegador.", DESKTOP_NOTIFICATIONS_DEMO_TITLE: (e) => `${e} notificación de prueba`, DESKTOP_NOTIFICATIONS_DEMO_BODY: "Si dejas esta pestaña abierta, verás este pop up cuando alguien te hable.", SEND_BUTTON_TEXT: "Enviar", ENTRYBOX_TEXT_LIMIT: "Sólo 10.000 caracteres permitidos.", ENTRYBOX_PLACEHOLDER: "Escribe algo...", ENTRYBOX_PLACEHOLDER_CHAT_CLOSED: "Esta conversación ya no está activa.", ENTRYBOX_PLACEHOLDER_CHAT_READONLY: "Puedes leer pero no enviar mensajes.", MESSAGELIST_LOADING_OLDER: "Cargando mensajes pasados...", MESSAGELIST_SHOW_OLDER: "Ver mensajes pasados", MESSAGELIST_NEW_MARKER: "Nuevo", MESSAGE_SENT_VIA_EMAIL: "Este mensaje ha sido enviado vía email", YOU_MARKER: "tú", UPLOAD_IN_PROGRESS: "Subir...", UPLOAD_SEND_FILE: "Enviar archivo", UPLOAD_SHARE_LOCATION: "Compartir ubicación", UPLOAD_ERROR: "Ocurrió un problema subiendo el archivo. Puede que el archivo esté en un formato no soportado o que sea demasiado grande.", SHARE_LOCATION_ERROR: "No se logró compartir la ubicación: ", LOADING: "Cargando...", HUB_EMPTY: "Tu historial de conversaciones se mostrará aquí", HUB_SHOW_EARLIER: "Ver conversaciones pasadas", INBOX_NO_CHATS_TITLE: "¡Aún sin conversaciones!", INBOX_NO_CHATS_BODY: "Una vez que tengas una o más conversaciones, se mostrarán aquí.", ENABLE_TRANSLATION: "Traducir esta conversación al español", DISABLE_TRANSLATION: "Mostrar la conversación original", SEARCH_PLACEHOLDER_TEXT: "Buscar...", SEARCH_SEARCHING: "Buscando...", SEARCH_NO_RESULTS: "No se encontraron resultados", SEARCH_NO_MORE_RESULTS: "No hay más resultados", CHAT_NOT_FOUND: "Chat no encontrado", DELETE_MESSAGE: "Eliminar mensaje", DELETION_EXPLANATION: "Este mensaje desaparecerá para todos si lo borras.", EDIT_MESSAGE: "Editar mensaje", SAVE: "Guardar", EDITED_INDICATOR: "editado", REPLY_TO_MESSAGE: "Responder", ADD_REACTION: "Añadir reacción", AUTH_EXPIRED_OVERLAY_TITLE: "Su sesión de chat ha expirado", AUTH_EXPIRED_OVERLAY_DESCRIPTION: "Actualice la página para continuar", VOICE_MESSAGE: "Mensaje de voz", CONTACT_INFORMATION_HIDDEN: "Información oculta", LEAVE_CONVERSATION: "Abandonar conversación", MARK_CONVERSATION_AS_UNREAD: "Marcar como no leída", REPLY_TO_ARIA_LABEL: A.translation.REPLY_TO_ARIA_LABEL, REPLY_MODE_LEAVE_ARIA_LABEL: A.translation.REPLY_MODE_LEAVE_ARIA_LABEL, STATUS_INDICATOR_ONLINE: A.translation.STATUS_INDICATOR_ONLINE, STATUS_INDICATOR_OFFLINE: A.translation.STATUS_INDICATOR_OFFLINE } }, va = { code: "et-EE", name: "Estonian", translation: { YESTERDAY: "Eile", TODAY: "Täna", DAYS: "p", HOURS: "t", MINUTES: "m", JUST_NOW: "Just nüüd", LOCATION: "Asukoht", CANCEL: "Katkesta", INBOX: "Postkast", DESKTOP_NOTIFICATIONS: "Veebibrauseri teated", DESKTOP_NOTIFICATIONS_ERROR: "Töölaua teatisi ei saa lubada, kuna Teie brauser blokeerib need aktiivselt. Proovige muuta seadeid või kasutada mõnda muud brauserit.", DESKTOP_NOTIFICATIONS_DEMO_TITLE: (e) => `${e} demo teavitus`, DESKTOP_NOTIFICATIONS_DEMO_BODY: "Kui hoiate oma brauseri vahekaardi lahti ja näete seda hüpikakent, siis keegi soovib Teiega rääkida.", SEND_BUTTON_TEXT: "Saada", ENTRYBOX_TEXT_LIMIT: "Ainult kuni 10.000 tähemärki on lubatud.", ENTRYBOX_PLACEHOLDER: "Kirjuta midagi...", ENTRYBOX_PLACEHOLDER_CHAT_CLOSED: "See vestlus ei ole enam aktiivne.", ENTRYBOX_PLACEHOLDER_CHAT_READONLY: "Sa saad lugeda teateid, aga mitte kirjutada.", MESSAGELIST_LOADING_OLDER: "Laen vanemaid teateid...", MESSAGELIST_SHOW_OLDER: "Näita vanemaid teateid", MESSAGELIST_NEW_MARKER: "Uus", MESSAGE_SENT_VIA_EMAIL: "See teade on saadetud e-postiga", YOU_MARKER: "Sina", UPLOAD_IN_PROGRESS: "Laen...", UPLOAD_SEND_FILE: "Saada fail", UPLOAD_SHARE_LOCATION: "Jaga faili asukohta", UPLOAD_ERROR: "Nüüd läks midagi nihu, seoses faili ülesse laadimisega. Tundmatu fail või liiga suur.", SHARE_LOCATION_ERROR: "Ei suuda jagada faili asukohta: ", LOADING: "Laen...", HUB_EMPTY: "Siin on Sinu vestluste ajalugu", HUB_SHOW_EARLIER: "Näita vanemaid vestlusi", INBOX_NO_CHATS_TITLE: "Pole ühtegi vestlust!", INBOX_NO_CHATS_BODY: "Kui Sul tekib üks või rohkem vestlust, siis on need kuvatakse siin.", ENABLE_TRANSLATION: "Tõlgi see vestlus eesti keelde", DISABLE_TRANSLATION: "Näita algteksti", SEARCH_PLACEHOLDER_TEXT: "Otsi...", SEARCH_SEARCHING: "Otsin...", SEARCH_NO_RESULTS: "Otsingu tulemused puuduvad", SEARCH_NO_MORE_RESULTS: "Rohkem tulemusi ei ole ", CHAT_NOT_FOUND: "Vestlust ei leitud", DELETE_MESSAGE: "Kustuta sõnum", DELETION_EXPLANATION: "Kui kustutate selle sõnumi, kaob see kõigi jaoks.", EDIT_MESSAGE: "Redigeeri sõnumit", SAVE: "Salvesta", EDITED_INDICATOR: "muudetud", REPLY_TO_MESSAGE: "Vasta", ADD_REACTION: "Lisa reaktsioon", AUTH_EXPIRED_OVERLAY_TITLE: "Teie vestlussessioon on lõppenud", AUTH_EXPIRED_OVERLAY_DESCRIPTION: "Jätkamiseks värskendage lehte", VOICE_MESSAGE: "Häälsõnum", CONTACT_INFORMATION_HIDDEN: "Varjatud informatsioon", LEAVE_CONVERSATION: "Lahku vestlusest", MARK_CONVERSATION_AS_UNREAD: "Märgi mitteloetuks", REPLY_TO_ARIA_LABEL: A.translation.REPLY_TO_ARIA_LABEL, REPLY_MODE_LEAVE_ARIA_LABEL: A.translation.REPLY_MODE_LEAVE_ARIA_LABEL, STATUS_INDICATOR_ONLINE: A.translation.STATUS_INDICATOR_ONLINE, STATUS_INDICATOR_OFFLINE: A.translation.STATUS_INDICATOR_OFFLINE } }, ka = { code: "fa", name: "Persian (Farsi)", translation: { YESTERDAY: "دیروز", TODAY: "امروز", DAYS: "روز", HOURS: "ساعت", MINUTES: "دقیقه", JUST_NOW: "هم اکنون", LOCATION: "مکان", CANCEL: "لغو", INBOX: "صندوق", DESKTOP_NOTIFICATIONS: "اطلاعیههای مرورگر", DESKTOP_NOTIFICATIONS_ERROR: "خطا در فعال سازی اعلان های مرورگر، مرورگر شما آنها را مسدود می کند سعی کنید تنظیمات مرورگر را تغییر دهید یا از یک مرورگر دیگر استفاده کنید.", DESKTOP_NOTIFICATIONS_DEMO_TITLE: (e) => `نوتیفیکیشن دمو ${e}`, DESKTOP_NOTIFICATIONS_DEMO_BODY: "اگر صفحه ی مرورگر را باز نگهدارید این را موقعه ای که کسی با شما صحبت کند خواهید دید", SEND_BUTTON_TEXT: "بفرست", ENTRYBOX_TEXT_LIMIT: "فقط ۱۰،۰۰۰ حروف مجاز می باشد.", ENTRYBOX_PLACEHOLDER: "...چیزی بنویسید", ENTRYBOX_PLACEHOLDER_CHAT_CLOSED: ".این مکالمه دیگر فعال نمی باشد", ENTRYBOX_PLACEHOLDER_CHAT_READONLY: "شما می توانید بخوانید اما نمی توانید پیام بفرستید", MESSAGELIST_LOADING_OLDER: "...در حال بارگذاری پیام های قدیمی تر", MESSAGELIST_SHOW_OLDER: "نشان دادن پیام های قدیمی", MESSAGELIST_NEW_MARKER: "جدید", MESSAGE_SENT_VIA_EMAIL: "پیام توسط ایمل ارسال شد", YOU_MARKER: "شما", UPLOAD_IN_PROGRESS: "...در حال بارگذاری", UPLOAD_SEND_FILE: "فرستادن پوشه", UPLOAD_SHARE_LOCATION: "اشتراک گذاری مکان", UPLOAD_ERROR: "متاسفانه بارگذاری با مشکل روبه رو شد. ممکن است فایل حجیم باشد یا ساپورت نشده باشد.", SHARE_LOCATION_ERROR: "خطا در اشتراک گذاری مکان: ", LOADING: "...بارگذاری", HUB_EMPTY: "تاریخچه گفتگو اینجا نمایان می شود", HUB_SHOW_EARLIER: "دیدن گفتگو های قبلی", INBOX_NO_CHATS_TITLE: "هنوز گفتگویی وجود ندارد", INBOX_NO_CHATS_BODY: "بعد از داشتن یک مکالمه یا بیشتر، آنها اینجا نمایان می شوند.", ENABLE_TRANSLATION: "این مکالمه را به فارسی ترجمه کن", DISABLE_TRANSLATION: "زبان اصلی را نشان بده", SEARCH_PLACEHOLDER_TEXT: "...جستجو", SEARCH_SEARCHING: "...در حال جستجو", SEARCH_NO_RESULTS: "نتیجه ای یافت نشد", SEARCH_NO_MORE_RESULTS: "نتیجه بیشتری وجود ندارد", CHAT_NOT_FOUND: "مکالمه پیدا نشد", DELETE_MESSAGE: "حذف پیام ", DELETION_EXPLANATION: "اگر این پیام را حذف کنید، برای همه ناپدید می شود.", EDIT_MESSAGE: "ویرایش پیام", SAVE: "ذخیره", EDITED_INDICATOR: "ویرایششده", REPLY_TO_MESSAGE: "پاسخ دادن", ADD_REACTION: "واکنش را اضافه کنید", AUTH_EXPIRED_OVERLAY_TITLE: "جلسه چت شما منقضی شده است", AUTH_EXPIRED_OVERLAY_DESCRIPTION: "برای ادامه صفحه را بازخوانی کنید", VOICE_MESSAGE: "پیام صوتی", CONTACT_INFORMATION_HIDDEN: "اطلاعات پنهان", LEAVE_CONVERSATION: "خروج از گفتگو", MARK_CONVERSATION_AS_UNREAD: "به عنوان خوانده نشده علامت گذاری کن", REPLY_TO_ARIA_LABEL: A.translation.REPLY_TO_ARIA_LABEL, REPLY_MODE_LEAVE_ARIA_LABEL: A.translation.REPLY_MODE_LEAVE_ARIA_LABEL, STATUS_INDICATOR_ONLINE: A.translation.STATUS_INDICATOR_ONLINE, STATUS_INDICATOR_OFFLINE: A.translation.STATUS_INDICATOR_OFFLINE } }, fa = { code: "fi-FI", name: "Finnish", translation: { YESTERDAY: "Eilen", TODAY: "Tänään", DAYS: "p", HOURS: "t", MINUTES: "m", JUST_NOW: "juuri nyt", LOCATION: "Sijainti", CANCEL: "Peruuta", INBOX: "Saapuneet", DESKTOP_NOTIFICATIONS: "Selaimen ilmoitukset", DESKTOP_NOTIFICATIONS_ERROR: "Työpöydän ilmoituksia ei voitu kytkeä päälle, koska selaimesi estää ne aktiivisesti. Koeta tutkia sen asetuksia tai vaihda selainta.", DESKTOP_NOTIFICATIONS_DEMO_TITLE: (e) => `${e} demo ilmoitus`, DESKTOP_NOTIFICATIONS_DEMO_BODY: "Jos pidät tämän sivun auki, näet vastaavan ilmoituksen kun joku puhuu sinulle.", SEND_BUTTON_TEXT: "Lähetä", ENTRYBOX_TEXT_LIMIT: "Maksimissaan 10000 merkkiä.", ENTRYBOX_PLACEHOLDER: "Sano jotain...", ENTRYBOX_PLACEHOLDER_CHAT_CLOSED: "Tämä keskustelu ei ole enää aktiivinen.", ENTRYBOX_PLACEHOLDER_CHAT_READONLY: "Voit lukea, mutta et lähettää viestejä.", MESSAGELIST_LOADING_OLDER: "Ladataan vanhoja viestejä..", MESSAGELIST_SHOW_OLDER: "Näytä vanhat viestit", MESSAGELIST_NEW_MARKER: "Uusi", MESSAGE_SENT_VIA_EMAIL: "Tämä viesti on lähetetty sähköpostin välityksellä", YOU_MARKER: "sinä", UPLOAD_IN_PROGRESS: "Ladataan...", UPLOAD_SEND_FILE: "Lähetä tiedosto", UPLOAD_SHARE_LOCATION: "Jaa sijainti", UPLOAD_ERROR: "Valitettavasti jokin meni vikaan. Tiedostotyyppiä ei ehkä tueta tai se saattaa olla liian suuri.", SHARE_LOCATION_ERROR: "Sijaintia ei pystytty jakamaan: ", LOADING: "Ladataan...", HUB_EMPTY: "Keskusteluhistoriasi näkyy tässä", HUB_SHOW_EARLIER: "Näytä aiemmat keskustelut", INBOX_NO_CHATS_TITLE: "Ei keskusteluja, vielä!", INBOX_NO_CHATS_BODY: "Kun olet käynyt yhden tai useamman keskustelun, ne näkyvät täällä.", ENABLE_TRANSLATION: "Käännä keskustelu kielelle suomi", DISABLE_TRANSLATION: "Näytä alkuperäinen", SEARCH_PLACEHOLDER_TEXT: "Etsi...", SEARCH_SEARCHING: "Etsiminen...", SEARCH_NO_RESULTS: "Tuloksia ei löytynyt", SEARCH_NO_MORE_RESULTS: "Ei enempää tuloksia", CHAT_NOT_FOUND: "Keskustelua ei löytynyt", DELETE_MESSAGE: "Poista viesti", DELETION_EXPLANATION: "Jos poistat tämän viestin, se häviää kaikilta.", EDIT_MESSAGE: "Muokkaa viestiä", SAVE: "Tallenna", EDITED_INDICATOR: "muokattu", REPLY_TO_MESSAGE: "Vastaa", ADD_REACTION: "Lisää reaktio", AUTH_EXPIRED_OVERLAY_TITLE: "Istuntosi on vanhentunut", AUTH_EXPIRED_OVERLAY_DESCRIPTION: "Päivitä sivu jatkaaksesi", VOICE_MESSAGE: "Ääniviesti", CONTACT_INFORMATION_HIDDEN: "Piilotetut tiedot", LEAVE_CONVERSATION: "Poistu keskustelusta", MARK_CONVERSATION_AS_UNREAD: "Merkitse lukemattomaksi", REPLY_TO_ARIA_LABEL: A.translation.REPLY_TO_ARIA_LABEL, REPLY_MODE_LEAVE_ARIA_LABEL: A.translation.REPLY_MODE_LEAVE_ARIA_LABEL, STATUS_INDICATOR_ONLINE: A.translation.STATUS_INDICATOR_ONLINE, STATUS_INDICATOR_OFFLINE: A.translation.STATUS_INDICATOR_OFFLINE } }, Ma = { code: "fr-FR", name: "French", translation: { YESTERDAY: "Hier", TODAY: "Aujourd'hui", DAYS: "j", HOURS: "h", MINUTES: "m", JUST_NOW: "maintenant", LOCATION: "Emplacement", CANCEL: "Annuler", INBOX: "Boîte de réception", DESKTOP_NOTIFICATIONS: "Notifications du navigateur", DESKTOP_NOTIFICATIONS_ERROR: "Impossible d'activer les notifications du navigateur car votre navigateur les bloque. Essayez de changer ses paramètres ou de changer de navigateur.", DESKTOP_NOTIFICATIONS_DEMO_TITLE: (e) => `Notification de démonstration ${e}`, DESKTOP_NOTIFICATIONS_DEMO_BODY: "Si vous maintenez l'onglet ouvert dans votre navigateur vous verrez apparaître une alerte lorsque quelqu'un vous parlera.", SEND_BUTTON_TEXT: "Envoyer", ENTRYBOX_TEXT_LIMIT: "Seuls 10.000 caractères sont autorisés.", ENTRYBOX_PLACEHOLDER: "Ecrivez quelque chose...", ENTRYBOX_PLACEHOLDER_CHAT_CLOSED: "Cette conversation n'est plus active.", ENTRYBOX_PLACEHOLDER_CHAT_READONLY: "Vous pouvez lire, mais pas envoyer de messages.", MESSAGELIST_LOADING_OLDER: "Chargement des anciens messages ...", MESSAGELIST_SHOW_OLDER: "Afficher les anciens messages", MESSAGELIST_NEW_MARKER: "Nouveau", MESSAGE_SENT_VIA_EMAIL: "Ce message a été envoyé par e-mail", YOU_MARKER: "vous", UPLOAD_IN_PROGRESS: "Envoi en cours...", UPLOAD_SEND_FILE: "Envoyer un fichier", UPLOAD_SHARE_LOCATION: "Partager mon emplacement", UPLOAD_ERROR: "Un problème est survenu lors de l'envoi: le fichier est peut-être non pris en charge ou trop volumineux.", SHARE_LOCATION_ERROR: "Impossible de partager votre emplacement: ", LOADING: "Chargement en cours...", HUB_EMPTY: "Votre historique de discussion apparaîtra ici", HUB_SHOW_EARLIER: "Afficher les conversations précédentes", INBOX_NO_CHATS_TITLE: "Aucune conversation pour l'instant!", INBOX_NO_CHATS_BODY: "Une fois que vous aurez eu une ou plusieurs conversations, elles apparaîtront ici.", ENABLE_TRANSLATION: "Traduire cette conversation en français", DISABLE_TRANSLATION: "Remontrer la conversation originale", SEARCH_PLACEHOLDER_TEXT: "Rechercher...", SEARCH_SEARCHING: "Recherche...", SEARCH_NO_RESULTS: "Aucun résultat trouvé", SEARCH_NO_MORE_RESULTS: "Il n’y a plus de résultats", CHAT_NOT_FOUND: "Conversation introuvable", DELETE_MESSAGE: "Supprimer le message", DELETION_EXPLANATION: "Si vous supprimez ce message, il disparaîtra pour tout le monde.", EDIT_MESSAGE: "Modifier le message", SAVE: "Enregistrer", EDITED_INDICATOR: "modifié", REPLY_TO_MESSAGE: "Répondre", ADD_REACTION: "Ajouter une réaction", AUTH_EXPIRED_OVERLAY_TITLE: "Votre session de chat a expiré", AUTH_EXPIRED_OVERLAY_DESCRIPTION: "Actualisez la page pour continuer", VOICE_MESSAGE: "Message vocal", CONTACT_INFORMATION_HIDDEN: "Informations masquées", LEAVE_CONVERSATION: "Quitter la conversation", MARK_CONVERSATION_AS_UNREAD: "Marquer comme non lu", REPLY_TO_ARIA_LABEL: A.translation.REPLY_TO_ARIA_LABEL, REPLY_MODE_LEAVE_ARIA_LABEL: A.translation.REPLY_MODE_LEAVE_ARIA_LABEL, STATUS_INDICATOR_ONLINE: A.translation.STATUS_INDICATOR_ONLINE, STATUS_INDICATOR_OFFLINE: A.translation.STATUS_INDICATOR_OFFLINE } }, Pa = { code: "he-IL", name: "Hebrew", translation: { YESTERDAY: "אתמול", TODAY: "היום", DAYS: "d", HOURS: "h", MINUTES: "m", JUST_NOW: "עכשיו", LOCATION: "מיקום", CANCEL: "בטל", INBOX: "דואר נכנס", DESKTOP_NOTIFICATIONS: "התראות דפדפן", DESKTOP_NOTIFICATIONS_ERROR: "לא ניתן להפעיל התראות במרועה דפדפן מכיוון שהדפדפן שלך חוסם אותן באופן פעיל. נסה להסתכל בהגדרות או להשתמש בדפדפן אחר.", DESKTOP_NOTIFICATIONS_DEMO_TITLE: (e) => `${e} הודעה על הדגמה`, DESKTOP_NOTIFICATIONS_DEMO_BODY: "אם אתה שומר על כרטיסיית הדפדפן שלך פתוחה, תראה את זה צץ כשמישהו ידבר איתך.", SEND_BUTTON_TEXT: "שלח", ENTRYBOX_TEXT_LIMIT: "רק 10.000 תווים", ENTRYBOX_PLACEHOLDER: "תגיד משהו...", ENTRYBOX_PLACEHOLDER_CHAT_CLOSED: "שיחה זו אינה פעילה עוד.", ENTRYBOX_PLACEHOLDER_CHAT_READONLY: "אתה יכול לקרוא, אך לא לשלוח הודעות.", MESSAGELIST_LOADING_OLDER: "טוען הודעות ישנות...", MESSAGELIST_SHOW_OLDER: "הצג הודעות ישנות", MESSAGELIST_NEW_MARKER: "חדש", MESSAGE_SENT_VIA_EMAIL: "הודעה זאת נשלחה דרך אימייל", YOU_MARKER: "אתה", UPLOAD_IN_PROGRESS: "מעלה ...", UPLOAD_SEND_FILE: "שלח קובץ", UPLOAD_SHARE_LOCATION: "שתף מיקום", UPLOAD_ERROR: "לרוע המזל משהו השתבש בהעלאה. ייתכן שהקובץ אינו נתמך או גדול מדי.", SHARE_LOCATION_ERROR: "לא ניתן לשתף מיקום: ", LOADING: "טוען...", HUB_EMPTY: "היסטוריית הצ'אט שלך תופיע כאן", HUB_SHOW_EARLIER: "הצג צ'אטים קודמים", INBOX_NO_CHATS_TITLE: "אין עדיין צ'אטים!", INBOX_NO_CHATS_BODY: "לאחר שניהלת שיחה אחת או יותר, הם יופיעו כאן.", ENABLE_TRANSLATION: "תרגם שיחה זו לעברית", DISABLE_TRANSLATION: "הצג מקור", SEARCH_PLACEHOLDER_TEXT: "...חפש", SEARCH_SEARCHING: "...מחפש", SEARCH_NO_RESULTS: "לא נמצאו תוצאות", SEARCH_NO_MORE_RESULTS: "אין תוצאות נוספות", CHAT_NOT_FOUND: "הצ'אט לא נמצא", DELETE_MESSAGE: "מחיקת הודעה", DELETION_EXPLANATION: "אם תמחק הודעה זו, היא תיעלם עבור כולם.", EDIT_MESSAGE: "עריכת הודעה", SAVE: "שמור", EDITED_INDICATOR: "ערוך", REPLY_TO_MESSAGE: "השב", ADD_REACTION: "הוספת תגובה", AUTH_EXPIRED_OVERLAY_TITLE: "הפעלת הצ׳אט שלכם פגה", AUTH_EXPIRED_OVERLAY_DESCRIPTION: "רעננו את העמוד כדי להמשיך", VOICE_MESSAGE: "הודעה קולית", CONTACT_INFORMATION_HIDDEN: "מידע מוסתר", LEAVE_CONVERSATION: "צא מהשיחה", MARK_CONVERSATION_AS_UNREAD: "סמן כלא נקרא", REPLY_TO_ARIA_LABEL: A.translation.REPLY_TO_ARIA_LABEL, REPLY_MODE_LEAVE_ARIA_LABEL: A.translation.REPLY_MODE_LEAVE_ARIA_LABEL, STATUS_INDICATOR_ONLINE: A.translation.STATUS_INDICATOR_ONLINE, STATUS_INDICATOR_OFFLINE: A.translation.STATUS_INDICATOR_OFFLINE } }, Ua = { code: "hi-IN", name: "Hindi (IN)", translation: { YESTERDAY: "कल", TODAY: "आज", DAYS: "d", HOURS: "h", MINUTES: "m", JUST_NOW: "अभी", LOCATION: "जगह", CANCEL: "रद्द करें", INBOX: "इनबॉक्स", DESKTOP_NOTIFICATIONS: "ब्राउज़र सूचनाएं", DESKTOP_NOTIFICATIONS_ERROR: "ब्राउज़र सूचनाएं सक्षम नहीं कर सकता क्योंकि आपका ब्राउज़र सक्रिय रूप से उन्हें ब्लॉक करता है। सेटिंग्स में देखने या एक अलग ब्राउज़र का उपयोग करने का प्रयास करें।", DESKTOP_NOTIFICATIONS_DEMO_TITLE: (e) => `${e} डेमो अधिसूचना`, DESKTOP_NOTIFICATIONS_DEMO_BODY: "यदि आप अपना ब्राउज़र टैब खुला रखते हैं, तो यह पॉप अप आपको तब दिखाई देगा जब कोई आपसे बात करेगा।", SEND_BUTTON_TEXT: "भेजें", ENTRYBOX_TEXT_LIMIT: "केवल 10,000 वर्णों की अनुमति है।", ENTRYBOX_PLACEHOLDER: "कुछ कहिए...", ENTRYBOX_PLACEHOLDER_CHAT_CLOSED: "यह चैट अब सक्रिय नहीं है।", ENTRYBOX_PLACEHOLDER_CHAT_READONLY: "आप पढ़ सकते हैं, लेकिन संदेश नहीं भेज सकते।", MESSAGELIST_LOADING_OLDER: "पुराने संदेश लोड हो रहे हैं ...", MESSAGELIST_SHOW_OLDER: "पुराने संदेश दिखाएं", MESSAGELIST_NEW_MARKER: "नया", MESSAGE_SENT_VIA_EMAIL: "यह संदेश ईमेल के माध्यम से भेजा गया था", YOU_MARKER: "आप", UPLOAD_IN_PROGRESS: "अपलोड हो रहा है...", UPLOAD_SEND_FILE: "फाइल भेजें", UPLOAD_SHARE_LOCATION: "जगह शेयर करें", UPLOAD_ERROR: "दुर्भाग्य से, अपलोड करते समय कुछ गलत हो गया। फ़ाइल असमर्थित या बहुत बड़ी हो सकती है।", SHARE_LOCATION_ERROR: "जगह शेयर नहीं हो पाया: ", LOADING: "लोड हो रहा है...", HUB_EMPTY: "आपका चैट इतिहास यहां दिखाई देगा", HUB_SHOW_EARLIER: "पहले की चैट दिखाओ", INBOX_NO_CHATS_TITLE: "अभी तक कोई चैट नहीं!", INBOX_NO_CHATS_BODY: "एक बार जब आप एक या अधिक चैट कर लेते हैं, तो वे यहां दिखाई देंगे।", ENABLE_TRANSLATION: "इस बातचीत का हिंदी में अनुवाद कीजिए", DISABLE_TRANSLATION: "मूल दिखाएँ", SEARCH_PLACEHOLDER_TEXT: "खोजें...", SEARCH_SEARCHING: "खोज जारी है...", SEARCH_NO_RESULTS: "कोई परिणाम नहीं मिला", SEARCH_NO_MORE_RESULTS: "और कोई परिणाम नहीं", CHAT_NOT_FOUND: "चैट नहीं मिली", DELETE_MESSAGE: "संदेश डिलीट करें", DELETION_EXPLANATION: "यदि आप इस संदेश को हटाते हैं, तो यह सभी के लिए गायब हो जाएगा.", EDIT_MESSAGE: "संदेश में बदलाव करें", SAVE: "सहेजें", EDITED_INDICATOR: "संपादित किया गया", REPLY_TO_MESSAGE: "जवाब दीजिए ।", ADD_REACTION: "प्रतिक्रिया जोड़ें", AUTH_EXPIRED_OVERLAY_TITLE: "आपका चैट सेशन समाप्त हो चुका है", AUTH_EXPIRED_OVERLAY_DESCRIPTION: "आगे बढ़ने के लिए रिफ्रेश करें", VOICE_MESSAGE: "वॉयस मैसेज", CONTACT_INFORMATION_HIDDEN: "छुपी हुई जानकारी", LEAVE_CONVERSATION: "बातचीत को ख़त्म करें", MARK_CONVERSATION_AS_UNREAD: "अपठित के रूप में चिह्नित करें", REPLY_TO_ARIA_LABEL: A.translation.REPLY_TO_ARIA_LABEL, REPLY_MODE_LEAVE_ARIA_LABEL: A.translation.REPLY_MODE_LEAVE_ARIA_LABEL, STATUS_INDICATOR_ONLINE: A.translation.STATUS_INDICATOR_ONLINE, STATUS_INDICATOR_OFFLINE: A.translation.STATUS_INDICATOR_OFFLINE } }, Ha = { code: "hr-HR", name: "Croatian", translation: { YESTERDAY: "Jučer", TODAY: "Danas", DAYS: "d", HOURS: "s", MINUTES: "m", JUST_NOW: "Upravo sad", LOCATION: "Lokacija", CANCEL: "Otkaži", INBOX: "Pretinac", DESKTOP_NOTIFICATIONS: "Obavijesti preglednika", DESKTOP_NOTIFICATIONS_ERROR: "Notifikacije preglednika nisu omogućene jer ih vaš preglednik aktivno blokira. Pokušajte pogledati postavke ili koristiti neki drugi preglednik.", DESKTOP_NOTIFICATIONS_DEMO_TITLE: (e) => `${e} demo notifikacija`, DESKTOP_NOTIFICATIONS_DEMO_BODY: "Ako karticu preglednika ostavite otvorenu, pojavit će se ovaj pop-up kada netko razgovara s vama.", SEND_BUTTON_TEXT: "Pošalji", ENTRYBOX_TEXT_LIMIT: "Dozvoljeno je samo 10.000 znakova.", ENTRYBOX_PLACEHOLDER: "Reci nešto...", ENTRYBOX_PLACEHOLDER_CHAT_CLOSED: "Ovaj razgovor više nije aktivan.", ENTRYBOX_PLACEHOLDER_CHAT_READONLY: "Možeš čitati, ali ne i slati poruke.", MESSAGELIST_LOADING_OLDER: "Učitavam starije poruke...", MESSAGELIST_SHOW_OLDER: "Prikaži starije poruke", MESSAGELIST_NEW_MARKER: "Novo", MESSAGE_SENT_VIA_EMAIL: "Ova poruka je poslana e-poštom", YOU_MARKER: "ti", UPLOAD_IN_PROGRESS: "Učitavam...", UPLOAD_SEND_FILE: "Pošalji datoteku", UPLOAD_SHARE_LOCATION: "Podijeli lokaciju", UPLOAD_ERROR: "Nažalost, nešto je pošlo krivo. Datoteka možda nije podržana ili je prevelika.", SHARE_LOCATION_ERROR: "Nije moguće podijeliti lokaciju: ", LOADING: "Učitavam...", HUB_EMPTY: "Ovdje će se prikazati vaša povijest razgovora", HUB_SHOW_EARLIER: "Prikaži ranije razgovore", INBOX_NO_CHATS_TITLE: "Nema razgovora!", INBOX_NO_CHATS_BODY: "Nakon što vodite jedan ili više razgovora, oni će se pojaviti ovdje.", ENABLE_TRANSLATION: "Prevedi ovaj razgovor na hrvatski jezik", DISABLE_TRANSLATION: "Prikaži original", SEARCH_PLACEHOLDER_TEXT: "Pretraži...", SEARCH_SEARCHING: "Pretraživanje...", SEARCH_NO_RESULTS: "Nema rezultata", SEARCH_NO_MORE_RESULTS: "Nema više rezultata", CHAT_NOT_FOUND: "Razgovor nije pronađen", DELETE_MESSAGE: "Obriši poruku", DELETION_EXPLANATION: "Ako izbrišete ovu poruku, nestat će za sve.", EDIT_MESSAGE: "Uredi poruku", SAVE: "Spremi", EDITED_INDICATOR: "uređivao", REPLY_TO_MESSAGE: "Odgovorite", ADD_REACTION: "Dodajte reakciju", AUTH_EXPIRED_OVERLAY_TITLE: "Vaša sesija razgovora je istekla", AUTH_EXPIRED_OVERLAY_DESCRIPTION: "Osvježite stranicu za nastavak", VOICE_MESSAGE: "Glasovna poruka", CONTACT_INFORMATION_HIDDEN: "Skrivene informacije", LEAVE_CONVERSATION: "Napustiti razgovor", MARK_CONVERSATION_AS_UNREAD: "Označi kao nepročitano", REPLY_TO_ARIA_LABEL: A.translation.REPLY_TO_ARIA_LABEL, REPLY_MODE_LEAVE_ARIA_LABEL: A.translation.REPLY_MODE_LEAVE_ARIA_LABEL, STATUS_INDICATOR_ONLINE: A.translation.STATUS_INDICATOR_ONLINE, STATUS_INDICATOR_OFFLINE: A.translation.STATUS_INDICATOR_OFFLINE } }, ba = { code: "hu-HU", name: "Hungarian", translation: { YESTERDAY: "Tegnap", TODAY: "Ma", DAYS: "n", HOURS: "ó", MINUTES: "p", JUST_NOW: "éppen most", LOCATION: "Helyszín", CANCEL: "Visszavonás", INBOX: "Postaláda", DESKTOP_NOTIFICATIONS: "Böngésző értesítések", DESKTOP_NOTIFICATIONS_ERROR: "Azért nem tudja bekapcsolni a böngésző értesítések funkciót, mert böngészője aktívan blokkolja azt. Tekintse meg a beállításokat vagy használjon másik böngészőt.", DESKTOP_NOTIFICATIONS_DEMO_TITLE: (e) => `${e} demo értesítés`, DESKTOP_NOTIFICATIONS_DEMO_BODY: "Ha nyitva hagyja böngészőjét, felugró ablak fog megjelenni, ha valaki beszélni szeretne Önnel.", SEND_BUTTON_TEXT: "Küldés", ENTRYBOX_TEXT_LIMIT: "Mindőssze 10.000 karakter megengedett.", ENTRYBOX_PLACEHOLDER: "Mondjon valamit...", ENTRYBOX_PLACEHOLDER_CHAT_CLOSED: "Ez a beszélgetés már nem aktív.", ENTRYBOX_PLACEHOLDER_CHAT_READONLY: "Elolvashatja az üzeneteket, de nem küldhet újat.", MESSAGELIST_LOADING_OLDER: "Korábbi üzenetek betöltése...", MESSAGELIST_SHOW_OLDER: "Korábbi üzenetek megjelenítése", MESSAGELIST_NEW_MARKER: "Új", MESSAGE_SENT_VIA_EMAIL: "Ez az üzenet e-mailben került elküldésre", YOU_MARKER: "Ön", UPLOAD_IN_PROGRESS: "Feltöltés...", UPLOAD_SEND_FILE: "Fájl küldése", UPLOAD_SHARE_LOCATION: "Helyszín megosztása", UPLOAD_ERROR: "Sajnos hiba történt a feltöltés során. A fájl nem támogatott vagy túl nagy.", SHARE_LOCATION_ERROR: "Helyszín megosztása nem lehetséges: ", LOADING: "Betöltés...", HUB_EMPTY: "A beszélgetések előzményei itt láthatók", HUB_SHOW_EARLIER: "Korábbi beszélgetések megjelenítése", INBOX_NO_CHATS_TITLE: "Még nincs megjeleníthető beszélgetés!", INBOX_NO_CHATS_BODY: "Amint egy vagy több beszélgetéssel rendelkezik, azok itt fognak megjelenni.", ENABLE_TRANSLATION: "A beszélgetés lefordítása erre a nyelvre: magyar", DISABLE_TRANSLATION: "Eredeti megjelenítése", SEARCH_PLACEHOLDER_TEXT: "Keresés...", SEARCH_SEARCHING: "Keresés...", SEARCH_NO_RESULTS: "Nincs találat", SEARCH_NO_MORE_RESULTS: "Nincs több találat", CHAT_NOT_FOUND: "A csevegés nem található", DELETE_MESSAGE: "Üzenet törlése", DELETION_EXPLANATION: "Ha törlöd ezt az üzenetet, az mindenki számára eltűnik.", EDIT_MESSAGE: "Üzenet szerkesztése", SAVE: "Mentés", EDITED_INDICATOR: "szerkesztve", REPLY_TO_MESSAGE: "Válaszadás", ADD_REACTION: "Reagálás erre", AUTH_EXPIRED_OVERLAY_TITLE: "Chat munkamenete lejárt", AUTH_EXPIRED_OVERLAY_DESCRIPTION: "Folytatáshoz frissítse az oldalt", VOICE_MESSAGE: "Hangüzenet", CONTACT_INFORMATION_HIDDEN: "Rejtett információ", LEAVE_CONVERSATION: "Kilépés a beszélgetésből", MARK_CONVERSATION_AS_UNREAD: "Megjelölés olvasatlanként", REPLY_TO_ARIA_LABEL: A.translation.REPLY_TO_ARIA_LABEL, REPLY_MODE_LEAVE_ARIA_LABEL: A.translation.REPLY_MODE_LEAVE_ARIA_LABEL, STATUS_INDICATOR_ONLINE: A.translation.STATUS_INDICATOR_ONLINE, STATUS_INDICATOR_OFFLINE: A.translation.STATUS_INDICATOR_OFFLINE } }, Ba = { code: "id-ID", name: "Bahasa Indonesia", translation: { YESTERDAY: "Kemarin", TODAY: "Hari ini", DAYS: "h", HOURS: "j", MINUTES: "m", JUST_NOW: "sekarang", LOCATION: "Lokasi", CANCEL: "Batal", INBOX: "Kotak Masuk", DESKTOP_NOTIFICATIONS: "Notifikasi peramban", DESKTOP_NOTIFICATIONS_ERROR: "Tidak dapat mengaktifkan pemberitahuan browser karena browser Anda secara aktif memblokir mereka. Coba cari di pengaturan atau menggunakan browser yang berbeda.", DESKTOP_NOTIFICATIONS_DEMO_TITLE: (e) => `pemberitahuan demo ${e}`, DESKTOP_NOTIFICATIONS_DEMO_BODY: "Jika Anda membiarkan tab browser tetap terbuka, Anda akan melihat ini muncul ketika seseorang berbicara kepada Anda.", SEND_BUTTON_TEXT: "Kirim", ENTRYBOX_TEXT_LIMIT: "Hanya 10.000 karakter yang diizinkan.", ENTRYBOX_PLACEHOLDER: "Katakan sesuatu...", ENTRYBOX_PLACEHOLDER_CHAT_CLOSED: "Percakapan ini tidak lagi aktif.", ENTRYBOX_PLACEHOLDER_CHAT_READONLY: "Anda dapat membaca, tetapi tidak mengirim pesan.", MESSAGELIST_LOADING_OLDER: "Memuat pesan lama...", MESSAGELIST_SHOW_OLDER: "Tampilkan pesan yang lebih lama", MESSAGELIST_NEW_MARKER: "Baru", MESSAGE_SENT_VIA_EMAIL: "Pesan ini dikirim melalui email", YOU_MARKER: "Anda", UPLOAD_IN_PROGRESS: "Mengunggah...", UPLOAD_SEND_FILE: "Kirim mengajukan", UPLOAD_SHARE_LOCATION: "Bagikan lokasi", UPLOAD_ERROR: "Ada yang salah diunggah. File mungkin tidak didukung atau terlalu besar.", SHARE_LOCATION_ERROR: "Tidak dapat membagikan lokasi: ", LOADING: "Memuat...", HUB_EMPTY: "Riwayat obrolan Anda akan muncul di sini", HUB_SHOW_EARLIER: "Tampilkan obrolan sebelumnya", INBOX_NO_CHATS_TITLE: "Belum ada obrolan!", INBOX_NO_CHATS_BODY: "Setelah Anda melakukan satu atau lebih percakapan, mereka akan muncul di sini.", ENABLE_TRANSLATION: "Terjemahkan percakapan ini ke Indonesia", DISABLE_TRANSLATION: "Perlihatkan asli", SEARCH_PLACEHOLDER_TEXT: "Cari...", SEARCH_SEARCHING: "Mencari...", SEARCH_NO_RESULTS: "Tidak ditemukan hasil", SEARCH_NO_MORE_RESULTS: "Tidak ada hasil lainnya", CHAT_NOT_FOUND: "Obrolan tidak ditemukan", DELETE_MESSAGE: "Hapus pesan", DELETION_EXPLANATION: "Jika pesan ini Anda hapus, pesan ini akan tidak terlihat bagi siapa pun.", EDIT_MESSAGE: "Sunting pesan", SAVE: "Mentés", EDITED_INDICATOR: "diedit", REPLY_TO_MESSAGE: "Balas", ADD_REACTION: "Tambah reaksi", AUTH_EXPIRED_OVERLAY_TITLE: "Sesi obrolan Anda sudah lewat batas waktu", AUTH_EXPIRED_OVERLAY_DESCRIPTION: "Muat ulang halaman untuk melanjutkan", VOICE_MESSAGE: "Pesan suara", CONTACT_INFORMATION_HIDDEN: "Informasi tersembunyi", LEAVE_CONVERSATION: "Tinggalkan percakapan", MARK_CONVERSATION_AS_UNREAD: "Tandai sebagai Belum dibaca", REPLY_TO_ARIA_LABEL: A.translation.REPLY_TO_ARIA_LABEL, REPLY_MODE_LEAVE_ARIA_LABEL: A.translation.REPLY_MODE_LEAVE_ARIA_LABEL, STATUS_INDICATOR_ONLINE: A.translation.STATUS_INDICATOR_ONLINE, STATUS_INDICATOR_OFFLINE: A.translation.STATUS_INDICATOR_OFFLINE } }, ya = { code: "is-IS", name: "Íslenska", translation: { YESTERDAY: "Í gær", TODAY: "Í dag", DAYS: "dagar", HOURS: "klst.", MINUTES: "mín.", JUST_NOW: "núna", LOCATION: "Staðsetning", CANCEL: "Hætta við", INBOX: "Pósthólf", DESKTOP_NOTIFICATIONS: "Tilkynningar í vafra", DESKTOP_NOTIFICATIONS_ERROR: "Ekki er hægt að birta tilkynningar í vafra vegna þess að vafrinn sem þú notar hindrar það. Reyndu að leita að stillingum eða að nota annan vafra.", DESKTOP_NOTIFICATIONS_DEMO_TITLE: (e) => `${e} prufutilkynning`, DESKTOP_NOTIFICATIONS_DEMO_BODY: "Ef flipinn í vafranum er opinn muntu sjá þessa tilkynningu birtast þegar einhver sendir þér skilaboð.", SEND_BUTTON_TEXT: "Senda", ENTRYBOX_TEXT_LIMIT: "Aðeins 10.000 stafir komast fyrir.", ENTRYBOX_PLACEHOLDER: "Segðu eitthvað...", ENTRYBOX_PLACEHOLDER_CHAT_CLOSED: "Þessar samræður eru ekki lengar virkar.", ENTRYBOX_PLACEHOLDER_CHAT_READONLY: "Þú getur lesið, en ekki sent skilaboð.", MESSAGELIST_LOADING_OLDER: "Sæki eldri skilaboð...", MESSAGELIST_SHOW_OLDER: "Sýna eldri skilaboð", MESSAGELIST_NEW_MARKER: "Ný", MESSAGE_SENT_VIA_EMAIL: "Þessi skilaboð voru send með tölvupósti", YOU_MARKER: "þú", UPLOAD_IN_PROGRESS: "Hleð upp...", UPLOAD_SEND_FILE: "Senda skrá", UPLOAD_SHARE_LOCATION: "Deila staðsetningu", UPLOAD_ERROR: "Því miður fór eitthvað úrskeiðis við að hlaða upp. Skráin gæti verið af rangri tegund eð of stór.", SHARE_LOCATION_ERROR: "Ekki er hægt að deila staðsetningu: ", LOADING: "Hleð...", HUB_EMPTY: "Fyrri samtöl munu birtast hér", HUB_SHOW_EARLIER: "Sýna fyrri samtöl", INBOX_NO_CHATS_TITLE: "Engin samtöl enn!", INBOX_NO_CHATS_BODY: "Þegar þú hefur átt eitt eða fleiri samtöl, munu þau birtast hér.", ENABLE_TRANSLATION: "Þýða þetta samtal á ensku", DISABLE_TRANSLATION: "Sýna upprunalegt", SEARCH_PLACEHOLDER_TEXT: "Leita...", SEARCH_SEARCHING: "Leita...", SEARCH_NO_RESULTS: "Ekkert fannst", SEARCH_NO_MORE_RESULTS: "Engar fleiri niðurstöður", CHAT_NOT_FOUND: "Samtal fannst ekki", DELETE_MESSAGE: "Eyða skilaboðum", DELETION_EXPLANATION: "Ef þú eyðir þessum skilaboðum munu þau hverfa hjá öllum.", EDIT_MESSAGE: "Breyta skilaboðum", SAVE: "Vista", EDITED_INDICATOR: "breytt", REPLY_TO_MESSAGE: "Svara", REPLY_TO_ARIA_LABEL: (e, t) => `Svara ${e}: ${t}`, REPLY_MODE_LEAVE_ARIA_LABEL: "Fara úr svari", ADD_REACTION: "Setja inn viðbrögð", AUTH_EXPIRED_OVERLAY_TITLE: "Spjallið hefur runnið út", AUTH_EXPIRED_OVERLAY_DESCRIPTION: "Endurnýjaðu síðuna til að halda áfram", VOICE_MESSAGE: "Raddskilaboð", LEAVE_CONVERSATION: "Skilja eftir skilaboð", MARK_CONVERSATION_AS_UNREAD: "Merkja sem ólesið", STATUS_INDICATOR_ONLINE: "Virk", STATUS_INDICATOR_OFFLINE: "Ekki við", CONTACT_INFORMATION_HIDDEN: "faldar upplýsingar" } }, wa = { code: "it-IT", name: "Italian", translation: { YESTERDAY: "Ieri", TODAY: "Oggi", DAYS: "g", HOURS: "o", MINUTES: "m", JUST_NOW: "adesso", LOCATION: "Posizione", CANCEL: "Annulla", INBOX: "Posta in arrivo", DESKTOP_NOTIFICATIONS: "Notifiche browser", DESKTOP_NOTIFICATIONS_ERROR: "Impossibile abilitare le notifiche browser perché il browser le blocca attivamente. Prova a cercare le impostazioni o utilizzare un browser diverso.", DESKTOP_NOTIFICATIONS_DEMO_TITLE: (e) => `${e} demo notification`, DESKTOP_NOTIFICATIONS_DEMO_BODY: "Se si mantiene aperta la scheda del browser, questo verrà visualizzato quando qualcuno ti parla.", SEND_BUTTON_TEXT: "Invia", ENTRYBOX_TEXT_LIMIT: "Sono consentiti solo 10.000 caratteri.", ENTRYBOX_PLACEHOLDER: "Dì qualcosa...", ENTRYBOX_PLACEHOLDER_CHAT_CLOSED: "Questa conversazione non è più attiva.", ENTRYBOX_PLACEHOLDER_CHAT_READONLY: "Puoi leggere, ma non inviare messaggi.", MESSAGELIST_LOADING_OLDER: "Caricamento dei messaggi precedenti...", MESSAGELIST_SHOW_OLDER: "Mostra messaggi precedenti", MESSAGELIST_NEW_MARKER: "Nuovo", MESSAGE_SENT_VIA_EMAIL: "Questo messaggio è stato inviato via email", YOU_MARKER: "tu", UPLOAD_IN_PROGRESS: "Caricamento in corso...", UPLOAD_SEND_FILE: "Invia file", UPLOAD_SHARE_LOCATION: "Condividi posizione", UPLOAD_ERROR: "Qualcosa è andato storto durante il caricamento. Il file potrebbe non essere supportato o troppo grande.", SHARE_LOCATION_ERROR: "Impossibile condividere la posizione: ", LOADING: "Caricamento in corso...", HUB_EMPTY: "La cronologia della tua chat verrà mostrata qui", HUB_SHOW_EARLIER: "Mostra chat precedenti", INBOX_NO_CHATS_TITLE: "Non ci sono ancora chat!", INBOX_NO_CHATS_BODY: "Una volta che hai avuto una o più conversazioni, verranno visualizzate qui.", ENABLE_TRANSLATION: "Traduci questa conversazione in italiano", DISABLE_TRANSLATION: "Mostra l'originale", SEARCH_PLACEHOLDER_TEXT: "Cerca...", SEARCH_SEARCHING: "Cercando...", SEARCH_NO_RESULTS: "Nessun risultato trovato", SEARCH_NO_MORE_RESULTS: "Non ci sono più risultati", CHAT_NOT_FOUND: "Chat non trovata", DELETE_MESSAGE: "Elimina messaggio", DELETION_EXPLANATION: "Se elimini il messaggio, questo scomparirà per tutti.", EDIT_MESSAGE: "Modifica messaggio", SAVE: "Salva", EDITED_INDICATOR: "modificato", REPLY_TO_MESSAGE: "Rispondi", ADD_REACTION: "Aggiungi reazione", AUTH_EXPIRED_OVERLAY_TITLE: "La sessione di chat è scaduta", AUTH_EXPIRED_OVERLAY_DESCRIPTION: "Aggiorna la pagina per continuare", VOICE_MESSAGE: "Messaggio vocale", CONTACT_INFORMATION_HIDDEN: "Informazioni nascoste", LEAVE_CONVERSATION: "Abbandona la conversazione", MARK_CONVERSATION_AS_UNREAD: "Segna come non letto", REPLY_TO_ARIA_LABEL: A.translation.REPLY_TO_ARIA_LABEL, REPLY_MODE_LEAVE_ARIA_LABEL: A.translation.REPLY_MODE_LEAVE_ARIA_LABEL, STATUS_INDICATOR_ONLINE: A.translation.STATUS_INDICATOR_ONLINE, STATUS_INDICATOR_OFFLINE: A.translation.STATUS_INDICATOR_OFFLINE } }, Ya = { code: "ja-JP", name: "Japanese", translation: { YESTERDAY: "昨日", TODAY: "今日", DAYS: "日前", HOURS: "時間前", MINUTES: "分前", JUST_NOW: "たった今", LOCATION: "場所", CANCEL: "キャンセル", INBOX: "受信箱", DESKTOP_NOTIFICATIONS: "ブラウザの通知", DESKTOP_NOTIFICATIONS_ERROR: "ブラウザの通知はブロックされているため、ブラウザの通知を有効にできません。設定を確認するか、別のブラウザを使用してください。", DESKTOP_NOTIFICATIONS_DEMO_TITLE: (e) => `${e} デモ通知`, DESKTOP_NOTIFICATIONS_DEMO_BODY: "ブラウザのタブを開いたままにしておくと、誰かがあなたに話しかけたときにこのポップアップが表示されます。", SEND_BUTTON_TEXT: "送信", ENTRYBOX_TEXT_LIMIT: "許可されているのは10.000文字までです。", ENTRYBOX_PLACEHOLDER: "メッセージを入力してください", ENTRYBOX_PLACEHOLDER_CHAT_CLOSED: "この会話はもうアクティブではありません。", ENTRYBOX_PLACEHOLDER_CHAT_READONLY: "あなたは読むことはできますが、メッセージを送ることはできません。", MESSAGELIST_LOADING_OLDER: "古いメッセージを読み込んでいます...", MESSAGELIST_SHOW_OLDER: "古いメッセージを表示", MESSAGELIST_NEW_MARKER: "新着", MESSAGE_SENT_VIA_EMAIL: "このメッセージはメールで送信されました", YOU_MARKER: "あなたは", UPLOAD_IN_PROGRESS: "アップロード中...", UPLOAD_SEND_FILE: "ファイル送信", UPLOAD_SHARE_LOCATION: "共有場所", UPLOAD_ERROR: "アップロード中に問題が発生しました。ファイルがサポートされていないか、大きすぎる可能性があります。", SHARE_LOCATION_ERROR: "場所を共有できません: ", LOADING: "読み込み中...", HUB_EMPTY: "あなたのチャット履歴がここに表示されます", HUB_SHOW_EARLIER: "以前のチャットを表示", INBOX_NO_CHATS_TITLE: "まだチャットがありません!", INBOX_NO_CHATS_BODY: "会話が1つ以上あると、ここに表示されます", ENABLE_TRANSLATION: "この会話を日本語に翻訳する", DISABLE_TRANSLATION: "オリジナルを表示", SEARCH_PLACEHOLDER_TEXT: "検索...", SEARCH_SEARCHING: "検索中...", SEARCH_NO_RESULTS: "結果が見つかりません", SEARCH_NO_MORE_RESULTS: "これ以上結果はありません", CHAT_NOT_FOUND: "チャットが見つかりませんでした", DELETE_MESSAGE: "メッセージを削除する", DELETION_EXPLANATION: "このメッセージを削除すると、全ての人に表示されなくなります。", EDIT_MESSAGE: "メッセージを編集する", SAVE: "上書き保存", EDITED_INDICATOR: "編集", REPLY_TO_MESSAGE: "返信する", ADD_REACTION: "リアクションを追加", AUTH_EXPIRED_OVERLAY_TITLE: "チャットセッションの有効期限が切れました", AUTH_EXPIRED_OVERLAY_DESCRIPTION: "続けるにはページを更新してください", VOICE_MESSAGE: "ボイスメッセージ", CONTACT_INFORMATION_HIDDEN: "機密情報", LEAVE_CONVERSATION: "会話をやめる", MARK_CONVERSATION_AS_UNREAD: "未読としてマーク", REPLY_TO_ARIA_LABEL: A.translation.REPLY_TO_ARIA_LABEL, REPLY_MODE_LEAVE_ARIA_LABEL: A.translation.REPLY_MODE_LEAVE_ARIA_LABEL, STATUS_INDICATOR_ONLINE: A.translation.STATUS_INDICATOR_ONLINE, STATUS_INDICATOR_OFFLINE: A.translation.STATUS_INDICATOR_OFFLINE } }, $a = { code: "ka-GE", name: "Georgian", translation: { YESTERDAY: "გუშინ", TODAY: "დღეს", DAYS: "დღ", HOURS: "სთ", MINUTES: "წთ", JUST_NOW: "ახლა", LOCATION: "ადგილმდებარეობა", CANCEL: "გაუქმება", INBOX: "მიღებული შეტყობინება", DESKTOP_NOTIFICATIONS: "ბრაუზერის შეტყობინებები", DESKTOP_NOTIFICATIONS_ERROR: "შეუძლებელია ბრაუზერის შეტკობინებების ჩართვა. ეს ბრაუზერი ბლოკავს მათ. სცადე ცვლილება ოპციებიდან ან გამოიყენე სხვა ბრაუზერი.", DESKTOP_NOTIFICATIONS_DEMO_TITLE: (e) => `${e} შეტყობინებების დემო ვერსია`, DESKTOP_NOTIFICATIONS_DEMO_BODY: "თუ დატოვებ ბრაუზერის ფანჯარას გახსნილს, როცა ვიღაც მოგწერს საუბარი ამოვარდება დესკტოპზე.", SEND_BUTTON_TEXT: "გაგზავნა", ENTRYBOX_TEXT_LIMIT: "დაშვებულია მხოლოდ 10.000 სიმბოლო.", ENTRYBOX_PLACEHOLDER: "დაწერე რაღაც...", ENTRYBOX_PLACEHOLDER_CHAT_CLOSED: "ეს დიალოგი აღარ არის ხელმისაწვდომი.", ENTRYBOX_PLACEHOLDER_CHAT_READONLY: "შეგიძლია წაიკითხო, მაგრამ ვერ გააგზავნი შეტყობინებას.", MESSAGELIST_LOADING_OLDER: "იტვირთება ძველი შეტყობინებები...", MESSAGELIST_SHOW_OLDER: "ძველი შეტყობინებების ჩვენება", MESSAGELIST_NEW_MARKER: "ახალი", MESSAGE_SENT_VIA_EMAIL: "ეს შეტყობინება გამოგზავნილია იმეილით", YOU_MARKER: "you", UPLOAD_IN_PROGRESS: "იტვირთება...", UPLOAD_SEND_FILE: "ფაილის გაგზავნა", UPLOAD_SHARE_LOCATION: "ადგილმდებარეობის გაზიარება", UPLOAD_ERROR: "პრობლემაა ატვირთვისას. ფაილის შესაძლოა არის არათავსებადი ან ძალიან დიდი.", SHARE_LOCATION_ERROR: "შეუძლებელია ადგილმდებარეობის გაზიარება: ", LOADING: "იტვირთება...", HUB_EMPTY: "საუბრების ისტორია გამოჩნდება აქ", HUB_SHOW_EARLIER: "წინა საუბრების ნახვა", INBOX_NO_CHATS_TITLE: "ჯერ-ჯერობით არ არის საუბრები!", INBOX_NO_CHATS_BODY: "უკვე დასრულებული საუბარები გამოჩნდება აქ", ENABLE_TRANSLATION: "თარგმნეთ ეს საუბარი ინგლისურად", DISABLE_TRANSLATION: "ორიგინალის ჩვენება", SEARCH_PLACEHOLDER_TEXT: "ძიება...", SEARCH_SEARCHING: "მიმდინარეობს ძიება...", SEARCH_NO_RESULTS: "შედეგები ვერ ქართველი", SEARCH_NO_MORE_RESULTS: "სხვა შედეგი ვერ მოიძებნა", CHAT_NOT_FOUND: "ჩატი ვერ მოიძებნა", DELETE_MESSAGE: "შეტყობინების წაშლა ", DELETION_EXPLANATION: "თუ ამ შეტყობინებას წაშლით, ის ყველასთვის გაქრება.", EDIT_MESSAGE: "შეტყობინების რედაქტირება", SAVE: "შენახვა", EDITED_INDICATOR: "რედაქტირებულია", REPLY_TO_MESSAGE: "პასუხის გაცემა", ADD_REACTION: "დაამატეთ რეაქცია", AUTH_EXPIRED_OVERLAY_TITLE: "თქვენი ჩეთის სესიის ვადა ამოიწურა", AUTH_EXPIRED_OVERLAY_DESCRIPTION: "განაახლეთ გვერდი გასაგრძელებლად", VOICE_MESSAGE: "ხმოვანი შეტყობინება", CONTACT_INFORMATION_HIDDEN: "ფარული ინფორმაცია", LEAVE_CONVERSATION: "საუბრის დატოვება", MARK_CONVERSATION_AS_UNREAD: "წაუკითხავად მონიშვნა", REPLY_TO_ARIA_LABEL: A.translation.REPLY_TO_ARIA_LABEL, REPLY_MODE_LEAVE_ARIA_LABEL: A.translation.REPLY_MODE_LEAVE_ARIA_LABEL, STATUS_INDICATOR_ONLINE: A.translation.STATUS_INDICATOR_ONLINE, STATUS_INDICATOR_OFFLINE: A.translation.STATUS_INDICATOR_OFFLINE } }, Fa = { code: "ko-KR", name: "Korean (South Korea)", translation: { YESTERDAY: "어제", TODAY: "오늘", DAYS: "일 전", HOURS: "시간 전", MINUTES: "분 전", JUST_NOW: "방금", LOCATION: "위치", CANCEL: "취소", INBOX: "대화 목록", DESKTOP_NOTIFICATIONS: "브라우저 알림", DESKTOP_NOTIFICATIONS_ERROR: "브라우저 알림을 표시할 수 없습니다. 브라우저 설정을 확인하거나 다른 브라우저를 사용해주세요.", DESKTOP_NOTIFICATIONS_DEMO_TITLE: (e) => `${e} 데모 알림`, DESKTOP_NOTIFICATIONS_DEMO_BODY: "브라우저 탭을 열어 둔 상태에서 누군가 대화 할 때 이 팝업이 표시됩니다.", SEND_BUTTON_TEXT: "전송", ENTRYBOX_TEXT_LIMIT: "최대 10,000자까지 입력할 수 있습니다.", ENTRYBOX_PLACEHOLDER: "메세지를 입력하세요...", ENTRYBOX_PLACEHOLDER_CHAT_CLOSED: "채팅이 종료되었습니다.", ENTRYBOX_PLACEHOLDER_CHAT_READONLY: "읽기만 가능하며 메시지를 보낼 수 없습니다.", MESSAGELIST_LOADING_OLDER: "이전 메시지 로드 중...", MESSAGELIST_SHOW_OLDER: "이전 메시지 표시", MESSAGELIST_NEW_MARKER: "새 메시지", MESSAGE_SENT_VIA_EMAIL: "이 메시지는 이메일을 통해 전송되었습니다.", YOU_MARKER: "나", UPLOAD_IN_PROGRESS: "업로드 중...", UPLOAD_SEND_FILE: "파일 전송", UPLOAD_SHARE_LOCATION: "위치 공유", UPLOAD_ERROR: "업로드가 실패했습니다. 파일이 지원되지 않거나 너무 클 수 있습니다.", SHARE_LOCATION_ERROR: "위치를 공유 할 수 없습니다: ", LOADING: "로드 중...", HUB_EMPTY: "채팅 기록이 여기에 표시됩니다", HUB_SHOW_EARLIER: "이전 채팅보기", INBOX_NO_CHATS_TITLE: "아직 채팅이 없습니다!", INBOX_NO_CHATS_BODY: "대화가 하나 이상 있으면 여기에 표시됩니다.", ENABLE_TRANSLATION: "이 대화를 한국어로 번역", DISABLE_TRANSLATION: "원본 표시", SEARCH_PLACEHOLDER_TEXT: "검색...", SEARCH_SEARCHING: "검색 중...", SEARCH_NO_RESULTS: "검색 결과 없음", SEARCH_NO_MORE_RESULTS: "추가 검색 결과 없음", CHAT_NOT_FOUND: "대화를 찾지 못했습니다", DELETE_MESSAGE: "메시지 삭제", DELETION_EXPLANATION: "이 메시지를 삭제하면 모든 사람이 볼 수 없게 됩니다.", EDIT_MESSAGE: "메시지 편집하기", SAVE: "저장", EDITED_INDICATOR: "편집", REPLY_TO_MESSAGE: "회신", ADD_REACTION: "반응 추가", AUTH_EXPIRED_OVERLAY_TITLE: "채팅 세션이 만료되었습니다", AUTH_EXPIRED_OVERLAY_DESCRIPTION: "계속하려면 페이지를 새로고침하세요", VOICE_MESSAGE: "음성 메시지", CONTACT_INFORMATION_HIDDEN: "숨겨진 정보", LEAVE_CONVERSATION: "대화 떠나기", MARK_CONVERSATION_AS_UNREAD: "읽지 않은 상태로 표시", REPLY_TO_ARIA_LABEL: A.translation.REPLY_TO_ARIA_LABEL, REPLY_MODE_LEAVE_ARIA_LABEL: A.translation.REPLY_MODE_LEAVE_ARIA_LABEL, STATUS_INDICATOR_ONLINE: A.translation.STATUS_INDICATOR_ONLINE, STATUS_INDICATOR_OFFLINE: A.translation.STATUS_INDICATOR_OFFLINE } }, ja = { code: "nb-NO", name: "Norwegian (Bokmål)", translation: { YESTERDAY: "I går", TODAY: "I dag", DAYS: "d", HOURS: "h", MINUTES: "m", JUST_NOW: "Nå", LOCATION: "Plassering", CANCEL: "Avbryt", INBOX: "Innboks", DESKTOP_NOTIFICATIONS: "Nettleservarsler", DESKTOP_NOTIFICATIONS_ERROR: "Kan ikke aktivere Nettleservarsler fordi nettleseren din aktivt blokkerer dem. Prøv å se i innstillingene eller bruke en annen nettleser.", DESKTOP_NOTIFICATIONS_DEMO_TITLE: (e) => `${e} demo varslinger`, DESKTOP_NOTIFICATIONS_DEMO_BODY: "Hvis du holder nettleservinduet åpent, vil du se dette varsel når noen snakker til deg.", SEND_BUTTON_TEXT: "Send", ENTRYBOX_TEXT_LIMIT: "Kun 10.000 tegn er tillatt.", ENTRYBOX_PLACEHOLDER: "Si noe...", ENTRYBOX_PLACEHOLDER_CHAT_CLOSED: "Denne samtale er ikke lengre aktiv.", ENTRYBOX_PLACEHOLDER_CHAT_READONLY: "Du kan lese, men ikke sende meldinger.", MESSAGELIST_LOADING_OLDER: "Laster eldre meldinger...", MESSAGELIST_SHOW_OLDER: "Vis eldre meldinger", MESSAGELIST_NEW_MARKER: "Ny", MESSAGE_SENT_VIA_EMAIL: "Denne meldingen er sendt via e-post", YOU_MARKER: "deg", UPLOAD_IN_PROGRESS: "Laster opp...", UPLOAD_SEND_FILE: "Send fil", UPLOAD_SHARE_LOCATION: "Del din plassering", UPLOAD_ERROR: "Noe gikk galt i uplastingen. Det kan være filen ikke støttes eller for stor.", SHARE_LOCATION_ERROR: "Kan ikke dele plasseringen: ", LOADING: "Laster...", HUB_EMPTY: "Din chats historikk vil vises her", HUB_SHOW_EARLIER: "Vis tidligere chats", INBOX_NO_CHATS_TITLE: "Ingen chats enda!", INBOX_NO_CHATS_BODY: "Så snart du får en eller flere samtaler, vil de vises her.", ENABLE_TRANSLATION: "Oversett denne samtalen til norsk", DISABLE_TRANSLATION: "Vis original", SEARCH_PLACEHOLDER_TEXT: "Søk...", SEARCH_SEARCHING: "Søker...", SEARCH_NO_RESULTS: "Finner ingen resultater", SEARCH_NO_MORE_RESULTS: "Ingen flere resultater", CHAT_NOT_FOUND: "Chat ikke funnet", DELETE_MESSAGE: "Slett melding", DELETION_EXPLANATION: "Hvis du sletter denne meldingen, forsvinner den for alle.", EDIT_MESSAGE: "Rediger melding", SAVE: "Lagre", EDITED_INDICATOR: "redigert", REPLY_TO_MESSAGE: "Svar", ADD_REACTION: "Legg til reaksjon", AUTH_EXPIRED_OVERLAY_TITLE: "Chatøkten er utløpt", AUTH_EXPIRED_OVERLAY_DESCRIPTION: "Oppdater siden for å fortsette", VOICE_MESSAGE: "Lydmelding", CONTACT_INFORMATION_HIDDEN: "Skjult informasjon", LEAVE_CONVERSATION: "Forlat samtalen", MARK_CONVERSATION_AS_UNREAD: "Merk som ulest", REPLY_TO_ARIA_LABEL: A.translation.REPLY_TO_ARIA_LABEL, REPLY_MODE_LEAVE_ARIA_LABEL: A.translation.REPLY_MODE_LEAVE_ARIA_LABEL, STATUS_INDICATOR_ONLINE: A.translation.STATUS_INDICATOR_ONLINE, STATUS_INDICATOR_OFFLINE: A.translation.STATUS_INDICATOR_OFFLINE } }, Va = { code: "nl-NL", name: "Dutch", translation: { YESTERDAY: "Gisteren", TODAY: "Vandaag", DAYS: "d", HOURS: "u", MINUTES: "m", JUST_NOW: "zojuist", LOCATION: "Locatie", CANCEL: "Annuleren", INBOX: "Inbox", DESKTOP_NOTIFICATIONS: "Browsermeldingen", DESKTOP_NOTIFICATIONS_ERROR: "Browsermeldingen kunnen niet geactiveerd worden omdat de browser het blokkeert. Check de instellingen van je browser of probeer een andere browser.", DESKTOP_NOTIFICATIONS_DEMO_TITLE: (e) => `${e} demo notificatie`, DESKTOP_NOTIFICATIONS_DEMO_BODY: "Als je je browser open houdt, zie je deze popup als iemand tegen je praat.", SEND_BUTTON_TEXT: "Verzenden", ENTRYBOX_TEXT_LIMIT: "Maximaal 10.000 tekens toegestaan.", ENTRYBOX_PLACEHOLDER: "Typ een bericht...", ENTRYBOX_PLACEHOLDER_CHAT_CLOSED: "Dit gesprek is niet actief meer.", ENTRYBOX_PLACEHOLDER_CHAT_READONLY: "Je kunt geen berichten sturen.", MESSAGELIST_LOADING_OLDER: "Eerdere berichten laden...", MESSAGELIST_SHOW_OLDER: "Laad eerdere berichten", MESSAGELIST_NEW_MARKER: "Nieuw", MESSAGE_SENT_VIA_EMAIL: "Dit bericht is verstuurd via e-mail", YOU_MARKER: "jij", UPLOAD_IN_PROGRESS: "Uploaden...", UPLOAD_SEND_FILE: "Verzend bestand", UPLOAD_SHARE_LOCATION: "Deel locatie", UPLOAD_ERROR: "Er ging iets mis. Het bestand wordt niet ondersteund of is te groot.", SHARE_LOCATION_ERROR: "Locatie delen mislukt: ", LOADING: "Bezig met laden...", HUB_EMPTY: "Berichtengeschiedenis wordt hier weergegeven", HUB_SHOW_EARLIER: "Laat eerdere berichten zien", INBOX_NO_CHATS_TITLE: "Nog geen chats!", INBOX_NO_CHATS_BODY: "Zodra je een of meerdere conversaties hebt gehad, worden deze hier weergegeven.", ENABLE_TRANSLATION: "Vertaal dit gesprek naar het Nederlands", DISABLE_TRANSLATION: "Toon oorspronkelijk gesprek", SEARCH_PLACEHOLDER_TEXT: "Zoek...", SEARCH_SEARCHING: "Zoeken...", SEARCH_NO_RESULTS: "Geen resultaten gevonden", SEARCH_NO_MORE_RESULTS: "Niet meer resultaten", CHAT_NOT_FOUND: "Chat niet gevonden", DELETE_MESSAGE: "Bericht verwijderen", DELETION_EXPLANATION: "Als je dit bericht verwijdert, zal het voor iedereen verdwijnen.", EDIT_MESSAGE: "Bericht bewerken", SAVE: "Opslaan", EDITED_INDICATOR: "bewerkt", REPLY_TO_MESSAGE: "Beantwoorden", ADD_REACTION: "Reactie toevoegen", AUTH_EXPIRED_OVERLAY_TITLE: "Je chatsessie is verlopen", AUTH_EXPIRED_OVERLAY_DESCRIPTION: "Ververs de pagina om door te gaan", VOICE_MESSAGE: "Spraakbericht", CONTACT_INFORMATION_HIDDEN: "verborgen informatie", LEAVE_CONVERSATION: "Gesprek verlaten", MARK_CONVERSATION_AS_UNREAD: "Markeren als ongelezen", REPLY_TO_ARIA_LABEL: A.translation.REPLY_TO_ARIA_LABEL, REPLY_MODE_LEAVE_ARIA_LABEL: A.translation.REPLY_MODE_LEAVE_ARIA_LABEL, STATUS_INDICATOR_ONLINE: A.translation.STATUS_INDICATOR_ONLINE, STATUS_INDICATOR_OFFLINE: A.translation.STATUS_INDICATOR_OFFLINE } }, xa = { code: "pl-PL", name: "Polish", translation: { YESTERDAY: "Wczoraj", TODAY: "Dzisiaj", DAYS: "d", HOURS: "h", MINUTES: "m", JUST_NOW: "teraz", LOCATION: "Lokalizacja", CANCEL: "Anuluj", INBOX: "Skrzynka odbiorcza", DESKTOP_NOTIFICATIONS: "Powiadomienia", DESKTOP_NOTIFICATIONS_ERROR: "Nie można aktywować powiadomień, ponieważ twoja przeglądarka je blokuje. Proszę zmienić ustawienie lub spróbować innej przeglądarki.", DESKTOP_NOTIFICATIONS_DEMO_TITLE: (e) => `${e} przykładowe powiadomienie`, DESKTOP_NOTIFICATIONS_DEMO_BODY: "Jeśli zostawisz tę kartę otwartą, zobaczysz takie powiadomienie, gdy ktoś napisze do Ciebie.", SEND_BUTTON_TEXT: "Wyślij", ENTRYBOX_TEXT_LIMIT: "Nie można wysyłać więcej niż 10000 znaków.", ENTRYBOX_PLACEHOLDER: "Napisz coś...", ENTRYBOX_PLACEHOLDER_CHAT_CLOSED: "Ten czat nie jest aktywny.", ENTRYBOX_PLACEHOLDER_CHAT_READONLY: "Możesz czytać wiadomości, ale nie możesz ich wysyłać.", MESSAGELIST_LOADING_OLDER: "Wczytuję starsze wiadomości...", MESSAGELIST_SHOW_OLDER: "Zobacz starsze wiadomości", MESSAGELIST_NEW_MARKER: "Nowe", MESSAGE_SENT_VIA_EMAIL: "Ta wiadomość została wysłana przez email.", YOU_MARKER: "ty", UPLOAD_IN_PROGRESS: "Przesyłanie...", UPLOAD_SEND_FILE: "Prześlij plik", UPLOAD_SHARE_LOCATION: "Udostępnij lokalizację", UPLOAD_ERROR: "Coś poszło nie tak. Plik może być zbyt duży lub jest nieobsługiwany.", SHARE_LOCATION_ERROR: "Nie da się udostępnić lokalizacji: ", LOADING: "Ładowanie...", HUB_EMPTY: "Twoje czaty pojawią się tutaj", HUB_SHOW_EARLIER: "Zobacz starsze czaty", INBOX_NO_CHATS_TITLE: "Brak czatów!", INBOX_NO_CHATS_BODY: "Rozpoczęte konwersacje pojawią się tutaj.", ENABLE_TRANSLATION: "Przetłumacz tę konwersację na język polski", DISABLE_TRANSLATION: "Pokaż oryginał", SEARCH_PLACEHOLDER_TEXT: "Wyszukaj...", SEARCH_SEARCHING: "Wyszukiwanie...", SEARCH_NO_RESULTS: "Nie znaleziono wyników", SEARCH_NO_MORE_RESULTS: "Nie ma innych wyników", CHAT_NOT_FOUND: "Nie znaleziono konwersacji", DELETE_MESSAGE: "Usuń wiadomość", DELETION_EXPLANATION: "Jeśli usuniesz tę wiadomość, przestanie być widoczna dla wszystkich.", EDIT_MESSAGE: "Edytuj wiadomość", SAVE: "Zapisz", EDITED_INDICATOR: "edytowano", REPLY_TO_MESSAGE: "Odpowiedz", ADD_REACTION: "Dodaj reakcję", AUTH_EXPIRED_OVERLAY_TITLE: "Twoja sesja wygasła", AUTH_EXPIRED_OVERLAY_DESCRIPTION: "Odśwież stronę, aby kontynuować", VOICE_MESSAGE: "Wiadomość głosowa", CONTACT_INFORMATION_HIDDEN: "Ukryte informacje", LEAVE_CONVERSATION: "Opuść konwersację", MARK_CONVERSATION_AS_UNREAD: "Oznacz jako nieprzeczytane", REPLY_TO_ARIA_LABEL: A.translation.REPLY_TO_ARIA_LABEL, REPLY_MODE_LEAVE_ARIA_LABEL: A.translation.REPLY_MODE_LEAVE_ARIA_LABEL, STATUS_INDICATOR_ONLINE: A.translation.STATUS_INDICATOR_ONLINE, STATUS_INDICATOR_OFFLINE: A.translation.STATUS_INDICATOR_OFFLINE } }, Xa = { code: "pt-BR", name: "Portuguese (Brazil)", translation: { YESTERDAY: "Ontem", TODAY: "Hoje", DAYS: "d", HOURS: "h", MINUTES: "m", JUST_NOW: "agora mesmo", LOCATION: "Localização", CANCEL: "Cancelar", INBOX: "Caixa de entrada", DESKTOP_NOTIFICATIONS: "Notificações do navegador", DESKTOP_NOTIFICATIONS_ERROR: "Não é possível ativar as notificações da navegador porque seu navegador as bloqueia. Tente procurar nas configurações ou usar um navegador diferente.", DESKTOP_NOTIFICATIONS_DEMO_TITLE: (e) => `${e} notificação de demonstração`, DESKTOP_NOTIFICATIONS_DEMO_BODY: "Se você mantiver a guia do navegador aberta, verá essa mensagem quando alguém falar com você.", SEND_BUTTON_TEXT: "Enviar", ENTRYBOX_TEXT_LIMIT: "Apenas 10.000 caracteres são permitidos.", ENTRYBOX_PLACEHOLDER: "Diga algo...", ENTRYBOX_PLACEHOLDER_CHAT_CLOSED: "Esta conversa não está mais ativa.", ENTRYBOX_PLACEHOLDER_CHAT_READONLY: "Você pode ler, mas não enviar mensagens.", MESSAGELIST_LOADING_OLDER: "Carregando mensagens antigas...", MESSAGELIST_SHOW_OLDER: "Mostrar mensagens mais antigas", MESSAGELIST_NEW_MARKER: "Novo", MESSAGE_SENT_VIA_EMAIL: "Esta mensagem foi enviada via email.", YOU_MARKER: "Você", UPLOAD_IN_PROGRESS: "Carregando...", UPLOAD_SEND_FILE: "Enviar arquivo", UPLOAD_SHARE_LOCATION: "Compartilhar localização", UPLOAD_ERROR: "Algo deu errado ao fazer o upload. O arquivo pode não ter suporte ou ser muito grande.", SHARE_LOCATION_ERROR: "Não é possível compartilhar o local: ", LOADING: "Carregando...", HUB_EMPTY: "Seu histórico de conversas será exibido aqui", HUB_SHOW_EARLIER: "Mostrar conversas anteriores", INBOX_NO_CHATS_TITLE: "Ainda não há chats!", INBOX_NO_CHATS_BODY: "Depois de ter uma ou mais conversas, elas serão exibidas aqui.", ENABLE_TRANSLATION: "Traduzir esta conversa para português", DISABLE_TRANSLATION: "Ver a conversa não traduzida", SEARCH_PLACEHOLDER_TEXT: "Busca...", SEARCH_SEARCHING: "Consultando...", SEARCH_NO_RESULTS: "Resultados nao encontrados", SEARCH_NO_MORE_RESULTS: "Não há mais resultados", CHAT_NOT_FOUND: "Conversa não encontrada", DELETE_MESSAGE: "Excluir mensagem", DELETION_EXPLANATION: "Se você excluir esta mensagem, ela desaparecerá para todos.", EDIT_MESSAGE: "Editar mensagem", SAVE: "Salvar", EDITED_INDICATOR: "editada", REPLY_TO_MESSAGE: "Responder", ADD_REACTION: "Adicionar reação", AUTH_EXPIRED_OVERLAY_TITLE: "Sua sessão de chat expirou", AUTH_EXPIRED_OVERLAY_DESCRIPTION: "Atualize a página para continuar", VOICE_MESSAGE: "Mensagem de voz", LEAVE_CONVERSATION: "Sair da conversa", MARK_CONVERSATION_AS_UNREAD: "Marcar como não lida", CONTACT_INFORMATION_HIDDEN: "Informação oculta", REPLY_TO_ARIA_LABEL: A.translation.REPLY_TO_ARIA_LABEL, REPLY_MODE_LEAVE_ARIA_LABEL: A.translation.REPLY_MODE_LEAVE_ARIA_LABEL, STATUS_INDICATOR_ONLINE: A.translation.STATUS_INDICATOR_ONLINE, STATUS_INDICATOR_OFFLINE: A.translation.STATUS_INDICATOR_OFFLINE } }, Ga = { code: "ro-RO", name: "Romanian (Romania)", translation: { YESTERDAY: "Ieri", TODAY: "Astăzi", DAYS: "z", HOURS: "o", MINUTES: "m", JUST_NOW: "chiar acum", LOCATION: "Locație", CANCEL: "Anulare", INBOX: "Inbox", DESKTOP_NOTIFICATIONS: "Notificări browser", DESKTOP_NOTIFICATIONS_ERROR: "Nu se pot activa notificări browser deoarece browserul dvs. le blochează în mod activ. Încercați să căutați în setări sau utilizând un alt browser.", DESKTOP_NOTIFICATIONS_DEMO_TITLE: (e) => `Notificare de debit ${e}`, DESKTOP_NOTIFICATIONS_DEMO_BODY: "Dacă țineți fișa browserului deschis, veți vedea acest pop-up atunci când cineva vorbește cu dvs.", SEND_BUTTON_TEXT: "Trimiteți", ENTRYBOX_TEXT_LIMIT: "Sunt permise numai 10.000 de caractere.", ENTRYBOX_PLACEHOLDER: "Spune ceva...", ENTRYBOX_PLACEHOLDER_CHAT_CLOSED: "Această conversație nu mai este activă.", ENTRYBOX_PLACEHOLDER_CHAT_READONLY: "Puteți citi, dar nu puteți trimite mesaje.", MESSAGELIST_LOADING_OLDER: "Încărcarea mesajelor mai vechi...", MESSAGELIST_SHOW_OLDER: "Afișați mesaje mai vechi", MESSAGELIST_NEW_MARKER: "Nou", MESSAGE_SENT_VIA_EMAIL: "Acest mesaj a fost trimis prin e-mail", YOU_MARKER: "voi", UPLOAD_IN_PROGRESS: "Încărcarea...", UPLOAD_SEND_FILE: "Trimiteți fișierul", UPLOAD_SHARE_LOCATION: "Distribuiți locația", UPLOAD_ERROR: "Sa încărcat ceva în mod greșit. Fișierul ar putea fi neacceptat sau prea mare.", SHARE_LOCATION_ERROR: "Nu se poate partaja locația: ", LOADING: "Încărcare...", HUB_EMPTY: "Istoricul chat-ului dvs. va apărea aici", HUB_SHOW_EARLIER: "Afișați discuțiile anterioare", INBOX_NO_CHATS_TITLE: "Încă nu vorbești!", INBOX_NO_CHATS_BODY: "După ce ați avut una sau mai multe conversații, acestea vor apărea aici.", ENABLE_TRANSLATION: "Traduceți această conversație în română", DISABLE_TRANSLATION: "Arată originalul", SEARCH_PLACEHOLDER_TEXT: "Căutare...", SEARCH_SEARCHING: "Se caută...", SEARCH_NO_RESULTS: "Nu s-au găsit rezultate", SEARCH_NO_MORE_RESULTS: "Nu mai există rezultate", CHAT_NOT_FOUND: "Conversația nu a fost găsită", DELETE_MESSAGE: "Șterge mesajul", DELETION_EXPLANATION: "Dacă ștergi acest mesaj, acesta va dispărea pentru toată lumea.", EDIT_MESSAGE: "Redactează mesajul", SAVE: "Salvare", EDITED_INDICATOR: "editat", REPLY_TO_MESSAGE: "Răspundeți", ADD_REACTION: "Adaugă o reacție", AUTH_EXPIRED_OVERLAY_TITLE: "Sesiunea dumneavoastră de chat a expirat", AUTH_EXPIRED_OVERLAY_DESCRIPTION: "Reîmprospătați pagina pentru a continua", VOICE_MESSAGE: "Mesaj vocal", CONTACT_INFORMATION_HIDDEN: "Informații ascunse", LEAVE_CONVERSATION: "Părăsește conversația", MARK_CONVERSATION_AS_UNREAD: "Marcheaza ca necitit", REPLY_TO_ARIA_LABEL: A.translation.REPLY_TO_ARIA_LABEL, REPLY_MODE_LEAVE_ARIA_LABEL: A.translation.REPLY_MODE_LEAVE_ARIA_LABEL, STATUS_INDICATOR_ONLINE: A.translation.STATUS_INDICATOR_ONLINE, STATUS_INDICATOR_OFFLINE: A.translation.STATUS_INDICATOR_OFFLINE } }, za = { code: "ru-RU", name: "Russian", translation: { YESTERDAY: "Вчера", TODAY: "Сегодня", DAYS: "д", HOURS: "ч", MINUTES: "м", JUST_NOW: "только что", LOCATION: "Местоположение", CANCEL: "Отмена", INBOX: "Входящие", DESKTOP_NOTIFICATIONS: "Оповещения", DESKTOP_NOTIFICATIONS_ERROR: "Невозможно включить оповещения, потому что ваш браузер активно блокирует их. Проверьте ваши настройки или попробуйте другой браузер.", DESKTOP_NOTIFICATIONS_DEMO_TITLE: (e) => `${e} демо-оповещение`, DESKTOP_NOTIFICATIONS_DEMO_BODY: "Если вкладка вашего браузера открыта, вы увидите всплывающее окошко оповещения когда кто-то отправит вам сообщение.", SEND_BUTTON_TEXT: "Отправить", ENTRYBOX_TEXT_LIMIT: "Разрешено использовать только 10 тысяч символов.", ENTRYBOX_PLACEHOLDER: "Напишите что-нибудь...", ENTRYBOX_PLACEHOLDER_CHAT_CLOSED: "Этот разговор больше неактивен.", ENTRYBOX_PLACEHOLDER_CHAT_READONLY: "Вы можете читать, но не отправлять сообщения.", MESSAGELIST_LOADING_OLDER: "Загрузка старых сообщения...", MESSAGELIST_SHOW_OLDER: "Показать старые сообщения", MESSAGELIST_NEW_MARKER: "Новые", MESSAGE_SENT_VIA_EMAIL: "Это сообщение было отправлено по электронной почте", YOU_MARKER: "вы", UPLOAD_IN_PROGRESS: "Загрузка...", UPLOAD_SEND_FILE: "Отправить файл", UPLOAD_SHARE_LOCATION: "Поделиться местоположением", UPLOAD_ERROR: "Что-то пошло не так: такой файл не поддерживается или он слишком большой.", SHARE_LOCATION_ERROR: "Не удается поделиться местоположением: ", LOADING: "Загрузка...", HUB_EMPTY: "Здесь появится ваша история чата", HUB_SHOW_EARLIER: "Показать предыдущие чаты", INBOX_NO_CHATS_TITLE: "Пока нет чатов!", INBOX_NO_CHATS_BODY: "Как только у вас будет один или несколько разговоров, они появятся здесь.", ENABLE_TRANSLATION: "Переведите этот разговор на русский", DISABLE_TRANSLATION: "Show source", SEARCH_PLACEHOLDER_TEXT: "поиск...", SEARCH_SEARCHING: "Поиск...", SEARCH_NO_RESULTS: "Результаты не найдены", SEARCH_NO_MORE_RESULTS: "Больше результатов нет", CHAT_NOT_FOUND: "Чат не найден", DELETE_MESSAGE: "Удалить сообщение", DELETION_EXPLANATION: "Если вы удалите это сообщение, оно исчезнет для всех.", EDIT_MESSAGE: "Изменить сообщение", SAVE: "сохранить", EDITED_INDICATOR: "изменено", REPLY_TO_MESSAGE: "Ответить", ADD_REACTION: "Добавить реакцию", AUTH_EXPIRED_OVERLAY_TITLE: "Срок действия вашего сеанса чата истек", AUTH_EXPIRED_OVERLAY_DESCRIPTION: "Обновите страницу, чтобы продолжить", VOICE_MESSAGE: "Голосовое сообщение", CONTACT_INFORMATION_HIDDEN: "Информация скрыта", LEAVE_CONVERSATION: "Выйти из беседы", MARK_CONVERSATION_AS_UNREAD: "Отметить как непрочитанное", REPLY_TO_ARIA_LABEL: A.translation.REPLY_TO_ARIA_LABEL, REPLY_MODE_LEAVE_ARIA_LABEL: A.translation.REPLY_MODE_LEAVE_ARIA_LABEL, STATUS_INDICATOR_ONLINE: A.translation.STATUS_INDICATOR_ONLINE, STATUS_INDICATOR_OFFLINE: A.translation.STATUS_INDICATOR_OFFLINE } }, Ka = { code: "sq-AL", name: "Albanian", translation: { YESTERDAY: "Dje", TODAY: "Sot", DAYS: "d", HOURS: "o", MINUTES: "m", JUST_NOW: "Tani", LOCATION: "Pozicion", CANCEL: "Anulo", INBOX: "Inbox", DESKTOP_NOTIFICATIONS: "Njoftimet e shfletuesit", DESKTOP_NOTIFICATIONS_ERROR: "Nuk mund të aktivizohen njoftimet në shfletues sepse shfletuesi juaj i bllokon ato në mënyrë aktive. Provoni të shikoni cilësimet ose përdorni një shfletues të ndryshëm.", DESKTOP_NOTIFICATIONS_DEMO_TITLE: (e) => `${e} njoftime në desktop`, DESKTOP_NOTIFICATIONS_DEMO_BODY: "Lënia e skedës së shfletuesit tuaj të hapur do të pop-up kur dikush flet me ju.", SEND_BUTTON_TEXT: "Dërgo", ENTRYBOX_TEXT_LIMIT: "Lejohen vetëm 10,000 karaktere", ENTRYBOX_PLACEHOLDER: "Thuaj diçka...", ENTRYBOX_PLACEHOLDER_CHAT_CLOSED: "Kjo bisedë nuk është më aktive.", ENTRYBOX_PLACEHOLDER_CHAT_READONLY: "Mund të lexoni por jo të dërgoni mesazhe.", MESSAGELIST_LOADING_OLDER: "Duke ngarkuar mesazhe më të vjetra...", MESSAGELIST_SHOW_OLDER: "Trego mesazhe më të vjetra", MESSAGELIST_NEW_MARKER: "E ri", MESSAGE_SENT_VIA_EMAIL: "Ky mesazh u dërgua si email", YOU_MARKER: "ti", UPLOAD_IN_PROGRESS: "Ngarkim...", UPLOAD_SEND_FILE: "Dërgo datotekën", UPLOAD_SHARE_LOCATION: "Ndani lokacionin", UPLOAD_ERROR: "Na vjen keq, diçka nuk shkoi si duhet. Dosja mund të mos ket mbështetje ose mund të jetë shumë e madhe.", SHARE_LOCATION_ERROR: "Nuk mund të ndahet lokacioni: ", LOADING: "Ngarkim...", HUB_EMPTY: "Këtu do të paraqitet/ shfaqet historia e bisedës tuaj", HUB_SHOW_EARLIER: "Shfaqi bisedat e mëparshme", INBOX_NO_CHATS_TITLE: "Nuk ka biseda!", INBOX_NO_CHATS_BODY: "Pasi të keni një ose më shumë biseda, ato do të paraqiten/shfaqen këtu.", ENABLE_TRANSLATION: "Përkthejeni këtë bisedë në shqiptare", DISABLE_TRANSLATION: "Shikoni origjinalin", SEARCH_PLACEHOLDER_TEXT: "Kërko...", SEARCH_SEARCHING: "Kërko...", SEARCH_NO_RESULTS: "Nuk ka rezultate", SEARCH_NO_MORE_RESULTS: "Nuk ka më rezultate", CHAT_NOT_FOUND: "Biseda nuk u gjet", DELETE_MESSAGE: "Fshi mesazhin", DELETION_EXPLANATION: "Nëse e fshini këtë mesazh, ai do të zhduket për të gjithë.", EDIT_MESSAGE: "Redakto mesazhin", SAVE: "Ruaj", EDITED_INDICATOR: "redaktuar", REPLY_TO_MESSAGE: "Përgjigj", ADD_REACTION: "Shtoni reagimin", AUTH_EXPIRED_OVERLAY_TITLE: "Sesioni juaj i bisedës ka skaduar", AUTH_EXPIRED_OVERLAY_DESCRIPTION: "Rifresko faqen për të vazhduar", VOICE_MESSAGE: "Mesazh zanor", CONTACT_INFORMATION_HIDDEN: "informacione të fshehura", LEAVE_CONVERSATION: "Largohu nga bashkëbisedimi", MARK_CONVERSATION_AS_UNREAD: "Shëno si të palexuar", REPLY_TO_ARIA_LABEL: A.translation.REPLY_TO_ARIA_LABEL, REPLY_MODE_LEAVE_ARIA_LABEL: A.translation.REPLY_MODE_LEAVE_ARIA_LABEL, STATUS_INDICATOR_ONLINE: A.translation.STATUS_INDICATOR_ONLINE, STATUS_INDICATOR_OFFLINE: A.translation.STATUS_INDICATOR_OFFLINE } }, Wa = { code: "sr-SP", name: "Serbian", translation: { YESTERDAY: "Juče", TODAY: "Danas", DAYS: "d", HOURS: "s", MINUTES: "m", JUST_NOW: "Upravo sad", LOCATION: "Lokacija", CANCEL: "Otkaži", INBOX: "Pretinac", DESKTOP_NOTIFICATIONS: "Browser Notifikacija", DESKTOP_NOTIFICATIONS_ERROR: "Browser notifikacije nisu omogućene jer ih vaš pregledač aktivno blokira. Pokušajte pogledati postavke ili koristiti neki drugi pregledač.", DESKTOP_NOTIFICATIONS_DEMO_TITLE: (e) => `${e} demo notifikacija`, DESKTOP_NOTIFICATIONS_DEMO_BODY: "Ako karticu pregledača ostavite otvorenu, pojaviće se ovaj pop-up kada neko razgovara s vama.", SEND_BUTTON_TEXT: "Pošalji", ENTRYBOX_TEXT_LIMIT: "Dozvoljeno je samo 10.000 znakova.", ENTRYBOX_PLACEHOLDER: "Kaži nešto...", ENTRYBOX_PLACEHOLDER_CHAT_CLOSED: "Ovaj razgovor više nije aktivan.", ENTRYBOX_PLACEHOLDER_CHAT_READONLY: "Možete da čitate, ali ne i da šaljete poruke.", MESSAGELIST_LOADING_OLDER: "Učitavam starije poruke...", MESSAGELIST_SHOW_OLDER: "Prikaži starije poruke", MESSAGELIST_NEW_MARKER: "Novo", MESSAGE_SENT_VIA_EMAIL: "Ova poruka je poslana imejlom", YOU_MARKER: "ti", UPLOAD_IN_PROGRESS: "Učitavam...", UPLOAD_SEND_FILE: "Pošalji datoteku", UPLOAD_SHARE_LOCATION: "Podeli lokaciju", UPLOAD_ERROR: "Nažalost, nešto je pošlo krivo. Datoteka možda nije podržana ili je prevelika.", SHARE_LOCATION_ERROR: "Nije moguće podeliti lokaciju: ", LOADING: "Učitavam...", HUB_EMPTY: "Ovde će biti prikazana istorija razgovora", HUB_SHOW_EARLIER: "Prikaži ranije razgovore", INBOX_NO_CHATS_TITLE: "Nema razgovora!", INBOX_NO_CHATS_BODY: "Nakon što vodite jedan ili više razgovora, oni će se pojaviti ovde.", ENABLE_TRANSLATION: "Prevedi ovaj razgovor na srpski jezik", DISABLE_TRANSLATION: "Prikaži original", SEARCH_PLACEHOLDER_TEXT: "Pretraži...", SEARCH_SEARCHING: "Pretraživanje...", SEARCH_NO_RESULTS: "Nema rezultata", SEARCH_NO_MORE_RESULTS: "Nema više rezultata", CHAT_NOT_FOUND: "Ćaskanje nije pronađeno", DELETE_MESSAGE: "Izbriši poruku", DELETION_EXPLANATION: "Ako obrišete ovu poruku, ona neće biti vidljiva ni za koga.", EDIT_MESSAGE: "Ispravi poruku", SAVE: "Sačuvaj", EDITED_INDICATOR: "ispravljeno", REPLY_TO_MESSAGE: "Odgovorite", ADD_REACTION: "Dodaj reakciju", AUTH_EXPIRED_OVERLAY_TITLE: "Vaša sesija ćaskanja je istekla", AUTH_EXPIRED_OVERLAY_DESCRIPTION: "Osvežite stranicu da biste nastavili", VOICE_MESSAGE: "Glasovna poruka", CONTACT_INFORMATION_HIDDEN: "Sakrivene informacije", LEAVE_CONVERSATION: "Napusti razgovor", MARK_CONVERSATION_AS_UNREAD: "Označi kao nepročitanu", REPLY_TO_ARIA_LABEL: (e, t) => `Odgovarate korisniku ${e}: ${t}`, REPLY_MODE_LEAVE_ARIA_LABEL: "Izađi iz moda pisanja odgovora", STATUS_INDICATOR_ONLINE: "Aktivan", STATUS_INDICATOR_OFFLINE: "Neaktivan" } }, qa = { code: "sv-SE", name: "Swedish (Sweden)", translation: { YESTERDAY: "Igår", TODAY: "Idag", DAYS: "d", HOURS: "h", MINUTES: "m", JUST_NOW: "just nu", LOCATION: "Plats", CANCEL: "Avbryt", INBOX: "Inkorg", DESKTOP_NOTIFICATIONS: "Webbläsarnotiser", DESKTOP_NOTIFICATIONS_ERROR: "Kan inte aktivera webbläsarnotiser eftersom din webbläsare aktivt blockerar dem. Se över inställningarna eller använd en annan webbläsare.", DESKTOP_NOTIFICATIONS_DEMO_TITLE: (e) => `${e} demonotis`, DESKTOP_NOTIFICATIONS_DEMO_BODY: "Om du har fliken i webbläsaren öppen så kommer den här notisen visas när någon pratar med dig.", SEND_BUTTON_TEXT: "Skicka", ENTRYBOX_TEXT_LIMIT: "Max 10 000 tecken är tillåtet.", ENTRYBOX_PLACEHOLDER: "Skriv ett meddelande...", ENTRYBOX_PLACEHOLDER_CHAT_CLOSED: "Den här konversationen är inte längre aktiv.", ENTRYBOX_PLACEHOLDER_CHAT_READONLY: "Du kan läsa men inte skicka meddelanden.", MESSAGELIST_LOADING_OLDER: "Läser in tidigare meddelanden...", MESSAGELIST_SHOW_OLDER: "Visa tidigare meddelanden", MESSAGELIST_NEW_MARKER: "Nytt", MESSAGE_SENT_VIA_EMAIL: "Detta meddelande skickades via e-post", YOU_MARKER: "du", UPLOAD_IN_PROGRESS: "Laddar upp...", UPLOAD_SEND_FILE: "Skicka fil", UPLOAD_SHARE_LOCATION: "Dela plats", UPLOAD_ERROR: "Något gick fel vid uppladdningen. Filen kan vara av en typ som inte stöds eller är för stor.", SHARE_LOCATION_ERROR: "Kan inte dela plats: ", LOADING: "Laddar...", HUB_EMPTY: "Din chatthistorik kommer att visas här", HUB_SHOW_EARLIER: "Visa tidigare chattar", INBOX_NO_CHATS_TITLE: "Inga chattar ännu!", INBOX_NO_CHATS_BODY: "När du har haft en eller flera konversationer kommer de att visas här.", ENABLE_TRANSLATION: "Översätt den här konversationen till svenska", DISABLE_TRANSLATION: "Visa original", SEARCH_PLACEHOLDER_TEXT: "Sök...", SEARCH_SEARCHING: "Söker...", SEARCH_NO_RESULTS: "Inga resultat hittades", SEARCH_NO_MORE_RESULTS: "Inga fler resultat", CHAT_NOT_FOUND: "Chatten hittades inte", DELETE_MESSAGE: "Radera meddelandet", DELETION_EXPLANATION: "Om du raderar det här meddelandet försvinner det för alla.", EDIT_MESSAGE: "Redigera meddelandet", SAVE: "Spara", EDITED_INDICATOR: "redigerad", REPLY_TO_MESSAGE: "Svara", ADD_REACTION: "Lägg till reaktion", AUTH_EXPIRED_OVERLAY_TITLE: "Din chatsession har gått ut", AUTH_EXPIRED_OVERLAY_DESCRIPTION: "Uppdatera sidan för att fortsätta", VOICE_MESSAGE: "Röstmeddelande", CONTACT_INFORMATION_HIDDEN: "Dold information", LEAVE_CONVERSATION: "Lämna konversationen", MARK_CONVERSATION_AS_UNREAD: "Markera som oläst", REPLY_TO_ARIA_LABEL: A.translation.REPLY_TO_ARIA_LABEL, REPLY_MODE_LEAVE_ARIA_LABEL: A.translation.REPLY_MODE_LEAVE_ARIA_LABEL, STATUS_INDICATOR_ONLINE: A.translation.STATUS_INDICATOR_ONLINE, STATUS_INDICATOR_OFFLINE: A.translation.STATUS_INDICATOR_OFFLINE } }, Ja = { code: "tr-TR", name: "Turkish", translation: { YESTERDAY: "Dün", TODAY: "Bugün", DAYS: "g", HOURS: "s", MINUTES: "d", JUST_NOW: "az önce", LOCATION: "Konum", CANCEL: "İptal", INBOX: "Gelen Kutusu", SEND_BUTTON_TEXT: "Gönder", ENTRYBOX_TEXT_LIMIT: "En fazla 10.000 karaktere izin veriliyor.", ENTRYBOX_PLACEHOLDER: "Bir şeyler söyle...", ENTRYBOX_PLACEHOLDER_CHAT_CLOSED: "Bu konuşma artık aktif değil.", ENTRYBOX_PLACEHOLDER_CHAT_READONLY: "Mesajları okuyabilirsiniz ancak mesaj gönderemezsiniz.", MESSAGELIST_LOADING_OLDER: "Eski mesajlar yükleniyor...", MESSAGELIST_SHOW_OLDER: "Eski mesajları göster", MESSAGELIST_NEW_MARKER: "Yeni", DESKTOP_NOTIFICATIONS: "Tarayıcı bildirimleri", DESKTOP_NOTIFICATIONS_ERROR: "Tarayıcınız aktif olarak engellediğinden tarayıcı bildirimlerini etkinleştiremiyoruz. Ayarları kontrol etmeyi veya farklı bir tarayıcı kullanmayı deneyebilirsiniz.", DESKTOP_NOTIFICATIONS_DEMO_TITLE: (e) => `${e} test bildirimi`, DESKTOP_NOTIFICATIONS_DEMO_BODY: "Eğer tarayıcınızın penceresini açık tutarsanız biri mesaj yazdığında bu bildirimi göreceksiniz.", MESSAGE_SENT_VIA_EMAIL: "Bu mesaj e-posta ile gönderilmiştir.", YOU_MARKER: "siz", UPLOAD_IN_PROGRESS: "Yükleniyor...", UPLOAD_SEND_FILE: "Dosya gönder", UPLOAD_SHARE_LOCATION: "Konum paylaş", UPLOAD_ERROR: "Yükleme sırasında bir şeyler yanlış gitti. Dosya desteklenmiyor veya izin verilenden büyük olabilir.", SHARE_LOCATION_ERROR: "Konum paylaşılamadı: ", LOADING: "Yükleniyor...", HUB_EMPTY: "Konuşma geçmişiniz burada görünecek", HUB_SHOW_EARLIER: "Önceki konuşmaları göster", INBOX_NO_CHATS_TITLE: "Henüz konuşma yok!", INBOX_NO_CHATS_BODY: "Bir veya daha fazla konuşma başlattığınız konuşmalar burada belirecek.", ENABLE_TRANSLATION: "Bu konuşmayı Türkçe'ye çevir", DISABLE_TRANSLATION: "Orijinali göster", SEARCH_PLACEHOLDER_TEXT: "Ara...", SEARCH_SEARCHING: "Arıyor...", SEARCH_NO_RESULTS: "Sonuç bulunamadı", SEARCH_NO_MORE_RESULTS: "Başka sonuç bulunamadı.", CHAT_NOT_FOUND: "Sohbet bulunamadı", DELETE_MESSAGE: "Mesajı sil", DELETION_EXPLANATION: "Bu mesajı silerseniz herkes için görünmez olacaktır.", EDIT_MESSAGE: "Mesajı düzenle", SAVE: "Kaydet", EDITED_INDICATOR: "düzenlenmiş", REPLY_TO_MESSAGE: "Yanıtla", ADD_REACTION: "Tepki ekle", AUTH_EXPIRED_OVERLAY_TITLE: "Sohbet oturumunuz sona erdi", AUTH_EXPIRED_OVERLAY_DESCRIPTION: "Devam etmek için sayfayı yenileyin", VOICE_MESSAGE: "Sesli mesaj", CONTACT_INFORMATION_HIDDEN: "Gizli bilgi", LEAVE_CONVERSATION: "Konuşmadan ayrıl", MARK_CONVERSATION_AS_UNREAD: "Okunmamış olarak işaretle", REPLY_TO_ARIA_LABEL: A.translation.REPLY_TO_ARIA_LABEL, REPLY_MODE_LEAVE_ARIA_LABEL: A.translation.REPLY_MODE_LEAVE_ARIA_LABEL, STATUS_INDICATOR_ONLINE: A.translation.STATUS_INDICATOR_ONLINE, STATUS_INDICATOR_OFFLINE: A.translation.STATUS_INDICATOR_OFFLINE } }, Za = { code: "uk-UA", name: "Ukrainian (Ukraine)", translation: { YESTERDAY: "Вчора", TODAY: "Сьогодні", DAYS: "d", HOURS: "h", MINUTES: "м", JUST_NOW: "просто зараз", LOCATION: "Місцезнаходження", CANCEL: "Скасувати", INBOX: "Вхідні", DESKTOP_NOTIFICATIONS: "Сповіщення в браузері", DESKTOP_NOTIFICATIONS_ERROR: "Неможливо ввімкнути сповіщення в браузері, оскільки ваш веб-переглядач активно їх блокує. Спробуйте переглянути налаштування або використовувати інший браузер.", DESKTOP_NOTIFICATIONS_DEMO_TITLE: (e) => `Демо-повідомлення про ${e}`, DESKTOP_NOTIFICATIONS_DEMO_BODY: "Якщо ви відкриєте вкладку веб-переглядача відкритою, ви побачите це спливаюче вікно, коли хтось спілкується з вами.", SEND_BUTTON_TEXT: "Надіслати", ENTRYBOX_TEXT_LIMIT: "Дозволено лише 10 000 символів.", ENTRYBOX_PLACEHOLDER: "Скажи щось...", ENTRYBOX_PLACEHOLDER_CHAT_CLOSED: "Ця розмова більше не активна.", ENTRYBOX_PLACEHOLDER_CHAT_READONLY: "Ви можете читати, але не надсилати повідомлення.", MESSAGELIST_LOADING_OLDER: "Завантаження старих повідомлень...", MESSAGELIST_SHOW_OLDER: "Показати старіші повідомлення", MESSAGELIST_NEW_MARKER: "Нові", MESSAGE_SENT_VIA_EMAIL: "Це повідомлення надіслано електронною поштою", YOU_MARKER: "ти", UPLOAD_IN_PROGRESS: "Завантаження...", UPLOAD_SEND_FILE: "Надіслати файл", UPLOAD_SHARE_LOCATION: "Поділитися місцезнаходженням", UPLOAD_ERROR: "На жаль, під час завантаження щось не вдалось. Файл може бути непідтримуваним або занадто великим.", SHARE_LOCATION_ERROR: "Неможливо поділити місцезнаходження: ", LOADING: "Завантаження...", HUB_EMPTY: "Тут відобразиться ваша історія чатів", HUB_SHOW_EARLIER: "Показати попередні чати", INBOX_NO_CHATS_TITLE: "Чатів ще немає!", INBOX_NO_CHATS_BODY: "Після того, як ви проведете одну чи кілька бесід, вони з’являться тут.", ENABLE_TRANSLATION: "Перекласти цю розмову англійською", DISABLE_TRANSLATION: "Показати оригінал", SEARCH_PLACEHOLDER_TEXT: "Пошук...", SEARCH_SEARCHING: "Пошук...", SEARCH_NO_RESULTS: "Не знайдено результатів", SEARCH_NO_MORE_RESULTS: "Більше немає результатів", CHAT_NOT_FOUND: "Чат не знайдено", DELETE_MESSAGE: "Видалити повідомлення", DELETION_EXPLANATION: "Якщо ви видалите це повідомлення, воно зникне для всіх.", EDIT_MESSAGE: "Редагувати повідомлення", SAVE: "Зберегти", EDITED_INDICATOR: "відредаговано", REPLY_TO_MESSAGE: "Відповісти", ADD_REACTION: "Додати реакцію", AUTH_EXPIRED_OVERLAY_TITLE: "Ваша сесія в чаті закінчилась", AUTH_EXPIRED_OVERLAY_DESCRIPTION: "Оновіть сторінку, щоб продовжити", VOICE_MESSAGE: "Голосове повідомлення", CONTACT_INFORMATION_HIDDEN: "Прихована інформація", LEAVE_CONVERSATION: "Залишити розмову", MARK_CONVERSATION_AS_UNREAD: "Відзначити як непрочитане", REPLY_TO_ARIA_LABEL: A.translation.REPLY_TO_ARIA_LABEL, REPLY_MODE_LEAVE_ARIA_LABEL: A.translation.REPLY_MODE_LEAVE_ARIA_LABEL, STATUS_INDICATOR_ONLINE: A.translation.STATUS_INDICATOR_ONLINE, STATUS_INDICATOR_OFFLINE: A.translation.STATUS_INDICATOR_OFFLINE } }, Qa = { code: "vi-VN", name: "Vietnamese", translation: { YESTERDAY: "Hôm qua", TODAY: "Hôm nay", DAYS: "ngày", HOURS: "giờ", MINUTES: "phút", JUST_NOW: "vừa xong", LOCATION: "Địa điểm", CANCEL: "Hủy", INBOX: "Hộp thư đến", DESKTOP_NOTIFICATIONS: "Thông báo trình duyệt", DESKTOP_NOTIFICATIONS_ERROR: "Không thể bật thông báo trên trình duyệt vì trình duyệt của bạn đang tắt chức năng này. Hãy thử tìm trong cài đặt trình duyệt hoặc sử dụng một trình duyệt khác.", DESKTOP_NOTIFICATIONS_DEMO_TITLE: (e) => `${e} thông báo thử nghiệm`, DESKTOP_NOTIFICATIONS_DEMO_BODY: "Nếu bạn giữ tab trình duyệt của bạn mở, bạn sẽ thấy cửa sổ bật lên khi ai đó nói chuyện với bạn.", SEND_BUTTON_TEXT: "Gửi", ENTRYBOX_TEXT_LIMIT: "Tối đa 10.000 ký tự.", ENTRYBOX_PLACEHOLDER: "Nói gì đó...", ENTRYBOX_PLACEHOLDER_CHAT_CLOSED: "Cuộc hội thoại này không còn hoạt động.", ENTRYBOX_PLACEHOLDER_CHAT_READONLY: "Bạn có thể đọc, nhưng không thể gửi tin nhắn.", MESSAGELIST_LOADING_OLDER: "Đang tải tin nhắn cũ...", MESSAGELIST_SHOW_OLDER: "Hiển thị tin nhắn trước đó", MESSAGELIST_NEW_MARKER: "Mới", MESSAGE_SENT_VIA_EMAIL: "Tin nhắn này đã được gửi qua email", YOU_MARKER: "bạn", UPLOAD_IN_PROGRESS: "Đang tải lên...", UPLOAD_SEND_FILE: "Gửi tệp", UPLOAD_SHARE_LOCATION: "Chia sẻ vị trí", UPLOAD_ERROR: "Thật không may, quá trình tải lên không thành công. Tệp không được hỗ trợ hoặc quá lớn.", SHARE_LOCATION_ERROR: "Không thể chia sẻ vị trí: ", LOADING: "Đang tải...", HUB_EMPTY: "Lịch sử trò chuyện của bạn sẽ hiển thị ở đây", HUB_SHOW_EARLIER: "Hiển thị các cuộc trò chuyện trước đó", INBOX_NO_CHATS_TITLE: "Chưa có cuộc trò chuyện nào!", INBOX_NO_CHATS_BODY: "Khi bạn đã có một hoặc nhiều cuộc trò chuyện, chúng sẽ hiển thị ở đây.", ENABLE_TRANSLATION: "Dịch cuộc hội thoại sang Tiếng Việt", DISABLE_TRANSLATION: "Hiển thị nội dung gốc", SEARCH_PLACEHOLDER_TEXT: "TÌm kiếm...", SEARCH_SEARCHING: "Đang tìm kiếm...", SEARCH_NO_RESULTS: "Không tìm thấy kết quả nào", SEARCH_NO_MORE_RESULTS: "Không có kết quả nào khác", CHAT_NOT_FOUND: "Không tìm thấy cuộc trò chuyện", DELETE_MESSAGE: "Xóa tin nhắn", DELETION_EXPLANATION: "Nếu bạn xóa tin nhắn này, tất cả mọi người sẽ không còn thấy nó.", EDIT_MESSAGE: "Chỉnh sửa tin nhắn", SAVE: "lưu", EDITED_INDICATOR: "đã chỉnh sửa", REPLY_TO_MESSAGE: "đáp lại", ADD_REACTION: "Thêm biểu tượng cảm xúc", AUTH_EXPIRED_OVERLAY_TITLE: "Phiên trò chuyện của bạn đã hết hạn", AUTH_EXPIRED_OVERLAY_DESCRIPTION: "Hãy làm mới trang để tiếp tục", VOICE_MESSAGE: "Tin nhắn thoại", CONTACT_INFORMATION_HIDDEN: "Thông tin ẩn", LEAVE_CONVERSATION: "Thoát khỏi cuộc trò chuyện", MARK_CONVERSATION_AS_UNREAD: "Đánh dấu là chưa đọc", REPLY_TO_ARIA_LABEL: A.translation.REPLY_TO_ARIA_LABEL, REPLY_MODE_LEAVE_ARIA_LABEL: A.translation.REPLY_MODE_LEAVE_ARIA_LABEL, STATUS_INDICATOR_ONLINE: A.translation.STATUS_INDICATOR_ONLINE, STATUS_INDICATOR_OFFLINE: A.translation.STATUS_INDICATOR_OFFLINE } }, ei = { code: "zh-CN", name: "Chinese (Simplified)", translation: { YESTERDAY: "昨天", TODAY: "今天", DAYS: "天", HOURS: "小时", MINUTES: "分钟", JUST_NOW: "刚才", LOCATION: "地点", CANCEL: "取消", INBOX: "收件箱", DESKTOP_NOTIFICATIONS: "浏览器通知", DESKTOP_NOTIFICATIONS_ERROR: "因浏览器设置为阻止,所以无法激活浏览器提醒。请去设置里查看或者尝试其他的浏览器。", DESKTOP_NOTIFICATIONS_DEMO_TITLE: (e) => `${e} 演示提醒`, DESKTOP_NOTIFICATIONS_DEMO_BODY: "只要保持浏览器开着,如果有人和你对话,将会自动弹出对话窗口。", SEND_BUTTON_TEXT: "发送", ENTRYBOX_TEXT_LIMIT: "不超过10,000个字符。", ENTRYBOX_PLACEHOLDER: "写点什么吧……", ENTRYBOX_PLACEHOLDER_CHAT_CLOSED: "该对话已结束。", ENTRYBOX_PLACEHOLDER_CHAT_READONLY: "你只能阅读信息,不能发送信息。", MESSAGELIST_LOADING_OLDER: "载入之前的信息……", MESSAGELIST_SHOW_OLDER: "显示之前的信息", MESSAGELIST_NEW_MARKER: "新消息", MESSAGE_SENT_VIA_EMAIL: "该信息已通过邮件发送。", YOU_MARKER: "你", UPLOAD_IN_PROGRESS: "上传中……", UPLOAD_SEND_FILE: "发送文件", UPLOAD_SHARE_LOCATION: "分享地址", UPLOAD_ERROR: "上传出错。文件格式不支持或者太大。", SHARE_LOCATION_ERROR: "无法分享地址: ", LOADING: "正在载入……", HUB_EMPTY: "你的聊天记录将在此显示。", HUB_SHOW_EARLIER: "显示之前的聊天记录。", INBOX_NO_CHATS_TITLE: "暂无任何聊天记录!", INBOX_NO_CHATS_BODY: "如果你有一个或多个对话窗口进行中,将显示在这里。", ENABLE_TRANSLATION: "翻译至简体中文", DISABLE_TRANSLATION: "查看原文", SEARCH_PLACEHOLDER_TEXT: "搜索...", SEARCH_SEARCHING: "正在搜索...", SEARCH_NO_RESULTS: "未找到结果", SEARCH_NO_MORE_RESULTS: "无更多结果", CHAT_NOT_FOUND: "未找到“聊天”", DELETE_MESSAGE: "删除消息", DELETION_EXPLANATION: "如果您删除此消息,那么所有人都将无法再看到它。", EDIT_MESSAGE: "编辑消息", SAVE: "保存", EDITED_INDICATOR: "本消息有改动", REPLY_TO_MESSAGE: "回复", ADD_REACTION: "添加反应", AUTH_EXPIRED_OVERLAY_TITLE: "您的聊天会话已过期", AUTH_EXPIRED_OVERLAY_DESCRIPTION: "刷新页面以继续", VOICE_MESSAGE: "语音消息", CONTACT_INFORMATION_HIDDEN: "隐藏信息", LEAVE_CONVERSATION: "离开对话", MARK_CONVERSATION_AS_UNREAD: "标记为未读", REPLY_TO_ARIA_LABEL: A.translation.REPLY_TO_ARIA_LABEL, REPLY_MODE_LEAVE_ARIA_LABEL: A.translation.REPLY_MODE_LEAVE_ARIA_LABEL, STATUS_INDICATOR_ONLINE: A.translation.STATUS_INDICATOR_ONLINE, STATUS_INDICATOR_OFFLINE: A.translation.STATUS_INDICATOR_OFFLINE } }, ti = { code: "zh-TW", name: "Chinese (Traditional)", translation: { YESTERDAY: "昨天", TODAY: "昨天", DAYS: "天", HOURS: "小時", MINUTES: "分", JUST_NOW: "現在", LOCATION: "地點", CANCEL: "取消", INBOX: "收件箱", DESKTOP_NOTIFICATIONS: "瀏覽器通知", DESKTOP_NOTIFICATIONS_ERROR: "無法啟用瀏覽器通知,因為您的瀏覽器主動阻止它們。 嘗試查看設置或使用其他瀏覽器。", DESKTOP_NOTIFICATIONS_DEMO_TITLE: (e) => `${e} 演示通知`, DESKTOP_NOTIFICATIONS_DEMO_BODY: "如果您持續打開瀏覽器標籤頁,當有人與您通話時,您會看到此彈出窗口。", SEND_BUTTON_TEXT: "發送", ENTRYBOX_TEXT_LIMIT: "只允許10.000個字符。", ENTRYBOX_PLACEHOLDER: "說些什麼...", ENTRYBOX_PLACEHOLDER_CHAT_CLOSED: "此對話不再有效。", ENTRYBOX_PLACEHOLDER_CHAT_READONLY: "您可以閱讀,但不能發送消息。", MESSAGELIST_LOADING_OLDER: "加載舊訊息...", MESSAGELIST_SHOW_OLDER: "顯示較舊的訊息", MESSAGELIST_NEW_MARKER: "新的", MESSAGE_SENT_VIA_EMAIL: "此訊息是通過電郵發送的", YOU_MARKER: "您", UPLOAD_IN_PROGRESS: "上傳中...", UPLOAD_SEND_FILE: "發送文件", UPLOAD_SHARE_LOCATION: "共享位置", UPLOAD_ERROR: "不幸的是,上傳出了問題。 該文件可能不受支持或太大。", SHARE_LOCATION_ERROR: "無法分享位置:", LOADING: "載入中...", HUB_EMPTY: "您的聊天記錄將顯示在此處", HUB_SHOW_EARLIER: "顯示早先的聊天記錄", INBOX_NO_CHATS_TITLE: "還沒聊天!", INBOX_NO_CHATS_BODY: "一旦您進行了一次或多次對話,他們就會顯示在此處。", ENABLE_TRANSLATION: "翻譯此對話至繁體中文", DISABLE_TRANSLATION: "顯示原文", SEARCH_PLACEHOLDER_TEXT: "搜尋...", SEARCH_SEARCHING: "正在搜尋...", SEARCH_NO_RESULTS: "找不到任何結果", SEARCH_NO_MORE_RESULTS: "沒有其他結果", CHAT_NOT_FOUND: "查無對話", DELETE_MESSAGE: "刪除訊息", DELETION_EXPLANATION: "您如果刪除這條訊息,所有人都將看不到它。", EDIT_MESSAGE: "編輯訊息", SAVE: "儲存", EDITED_INDICATOR: "已編輯", REPLY_TO_MESSAGE: "回覆", ADD_REACTION: "加入表情回應", AUTH_EXPIRED_OVERLAY_TITLE: "您的會話過程已過期", AUTH_EXPIRED_OVERLAY_DESCRIPTION: "請刷新頁面以繼續", VOICE_MESSAGE: "語音訊息", CONTACT_INFORMATION_HIDDEN: "隱藏訊息", LEAVE_CONVERSATION: "離開對話", MARK_CONVERSATION_AS_UNREAD: "標記為未讀", REPLY_TO_ARIA_LABEL: A.translation.REPLY_TO_ARIA_LABEL, REPLY_MODE_LEAVE_ARIA_LABEL: A.translation.REPLY_MODE_LEAVE_ARIA_LABEL, STATUS_INDICATOR_ONLINE: A.translation.STATUS_INDICATOR_ONLINE, STATUS_INDICATOR_OFFLINE: A.translation.STATUS_INDICATOR_OFFLINE } }, dt = { ar: Na, bg: Ra, bs: La, ca: ma, cs: pa, da: ha, de: Da, el: Ca, en: A, es: ga, et: va, fa: ka, fi: fa, fr: Ma, he: Pa, hi: Ua, hr: Ha, hu: ba, id: Ba, is: ya, it: wa, ja: Ya, ka: $a, ko: Fa, nb: ja, nl: Va, pl: xa, pt: Xa, ro: Ga, ru: za, sq: Ka, sr: Wa, sv: qa, tr: Ja, uk: Za, vi: Qa, zh: ei, zhTw: ti };
|
|
132
|
-
function
|
|
131
|
+
const be = new Fe(), ee = new Fe(), A = { code: "en-US", name: "English (US)", translation: { YESTERDAY: "Yesterday", TODAY: "Today", DAYS: "d", HOURS: "h", MINUTES: "m", JUST_NOW: "just now", LOCATION: "Location", CANCEL: "Cancel", INBOX: "Inbox", DESKTOP_NOTIFICATIONS: "Browser notifications", DESKTOP_NOTIFICATIONS_ERROR: "Can't enable browser notifications because your browser actively blocks them. Try looking in the settings or using a different browser.", DESKTOP_NOTIFICATIONS_DEMO_TITLE: (e) => `${e} demo notification`, DESKTOP_NOTIFICATIONS_DEMO_BODY: "If you keep your browser tab open, you'll see this pop up when someone talks to you.", SEND_BUTTON_TEXT: "Send", ENTRYBOX_TEXT_LIMIT: "Only 10,000 characters are allowed.", ENTRYBOX_PLACEHOLDER: "Say something...", ENTRYBOX_PLACEHOLDER_CHAT_CLOSED: "This conversation is no longer active.", ENTRYBOX_PLACEHOLDER_CHAT_READONLY: "You can read, but not send messages.", MESSAGELIST_LOADING_OLDER: "Loading older messages...", MESSAGELIST_SHOW_OLDER: "Show older messages", MESSAGELIST_NEW_MARKER: "New", MESSAGE_SENT_VIA_EMAIL: "This message was sent via email", YOU_MARKER: "you", UPLOAD_IN_PROGRESS: "Uploading...", UPLOAD_SEND_FILE: "Send file", UPLOAD_SHARE_LOCATION: "Share location", UPLOAD_ERROR: "Unfortunately, something went wrong uploading. The file might be unsupported or too large.", SHARE_LOCATION_ERROR: "Cannot share location: ", LOADING: "Loading...", HUB_EMPTY: "Your chat history will show up here", HUB_SHOW_EARLIER: "Show earlier chats", INBOX_NO_CHATS_TITLE: "No chats yet!", INBOX_NO_CHATS_BODY: "Once you've had one or more conversations, they will show up here.", ENABLE_TRANSLATION: "Translate this conversation to English", DISABLE_TRANSLATION: "Show original", SEARCH_PLACEHOLDER_TEXT: "Search...", SEARCH_SEARCHING: "Searching...", SEARCH_NO_RESULTS: "No results found", SEARCH_NO_MORE_RESULTS: "No more results", CHAT_NOT_FOUND: "Chat not found", DELETE_MESSAGE: "Delete message", DELETION_EXPLANATION: "If you delete this message, it will disappear for everybody.", EDIT_MESSAGE: "Edit message", SAVE: "Save", EDITED_INDICATOR: "edited", REPLY_TO_MESSAGE: "Reply", REPLY_TO_ARIA_LABEL: (e, t) => `Replying to ${e}: ${t}`, REPLY_MODE_LEAVE_ARIA_LABEL: "Exit reply mode", ADD_REACTION: "Add reaction", AUTH_EXPIRED_OVERLAY_TITLE: "Your chat session has expired", AUTH_EXPIRED_OVERLAY_DESCRIPTION: "Refresh the page to continue", VOICE_MESSAGE: "Voice message", LEAVE_CONVERSATION: "Leave conversation", MARK_CONVERSATION_AS_UNREAD: "Mark as unread", STATUS_INDICATOR_ONLINE: "Active", STATUS_INDICATOR_OFFLINE: "Away", CONTACT_INFORMATION_HIDDEN: "hidden information" } }, Ra = { code: "ar", name: "Arabic", translation: { YESTERDAY: "الأمس", TODAY: "اليوم", DAYS: "يوم", HOURS: "ساعة", MINUTES: "دقيقة", JUST_NOW: "فقط الآن", LOCATION: "الموقع", CANCEL: "إلغاء", INBOX: "علبة الوارد", DESKTOP_NOTIFICATIONS: "إشعارات المتصفح", DESKTOP_NOTIFICATIONS_ERROR: "لا يمكن تمكين إشعارات المتصفح لأن متصفحك يمنعها بشكل نشط. جرّب البحث في الإعدادات أو استخدام متصفح آخر.", DESKTOP_NOTIFICATIONS_DEMO_TITLE: (e) => `إعلام ${e} التجريبي`, DESKTOP_NOTIFICATIONS_DEMO_BODY: "إذا أبقيت علامة تبويب المتصفح مفتوحة ، فسترى هذا ينبثق عندما يتحدث شخص معك.", SEND_BUTTON_TEXT: "إرسال", ENTRYBOX_TEXT_LIMIT: "يُسمح فقط بـ 10.000 حرف.", ENTRYBOX_PLACEHOLDER: "قل شيئًا ...", ENTRYBOX_PLACEHOLDER_CHAT_CLOSED: "هذه المحادثة لم تعد نشطة.", ENTRYBOX_PLACEHOLDER_CHAT_READONLY: "يمكنك القراءة ، لكن لا يمكنك إرسال الرسائل.", MESSAGELIST_LOADING_OLDER: "جارٍ تحميل الرسائل القديمة ...", MESSAGELIST_SHOW_OLDER: "عرض الرسائل الأقدم", MESSAGELIST_NEW_MARKER: "جديد", MESSAGE_SENT_VIA_EMAIL: "تم إرسال هذه الرسالة عبر البريد الإلكتروني", YOU_MARKER: "أنت", UPLOAD_IN_PROGRESS: "جارٍ التحميل ...", UPLOAD_SEND_FILE: "إرسال ملف", UPLOAD_SHARE_LOCATION: "مشاركة الموقع", UPLOAD_ERROR: "حدث خطأ ما في تحميل شيء. ربما يكون الملف غير متوافق أو كبير جدًا.", SHARE_LOCATION_ERROR: "لا يمكن مشاركة الموقع:", LOADING: "جارٍ التحميل ...", HUB_EMPTY: "سوف يظهر سجل الدردشات هنا", HUB_SHOW_EARLIER: "إظهار الدردشات السابقة", INBOX_NO_CHATS_TITLE: "لا توجد دردشات بعد!", INBOX_NO_CHATS_BODY: "بمجرد أن يكون لديك واحد أو أكثر من المحادثات ، سوف تظهر هنا.", ENABLE_TRANSLATION: "ترجم هذه المحادثة إلى العربية", DISABLE_TRANSLATION: "إظهار الأصلي", SEARCH_PLACEHOLDER_TEXT: "...بحث", SEARCH_SEARCHING: "...يتم الآن البحث", SEARCH_NO_RESULTS: "لم يتم العثور على نتائج", SEARCH_NO_MORE_RESULTS: "لا يوجد المزيد من النتائج", CHAT_NOT_FOUND: "لم يتم العثور على الدردشة", DELETE_MESSAGE: "احذف الرسالة", DELETION_EXPLANATION: "إذا قمت بحذف هذه الرسالة، فهي ستختفي للجميع.", EDIT_MESSAGE: "تعديل الرسالة", SAVE: "حفظ", EDITED_INDICATOR: "معدّلة", REPLY_TO_MESSAGE: "رد", ADD_REACTION: "أضف تفاعلاً", AUTH_EXPIRED_OVERLAY_TITLE: "انتهت جلسة الدردشة المخصصة لك", AUTH_EXPIRED_OVERLAY_DESCRIPTION: "يُرجى إعادة تحميل الصفحة للمتابعة", VOICE_MESSAGE: "رسالة صوتية", CONTACT_INFORMATION_HIDDEN: "المعلومات المخفية", LEAVE_CONVERSATION: "الخروج من المحادثة", MARK_CONVERSATION_AS_UNREAD: "وضع علامة غير مقروءة", REPLY_TO_ARIA_LABEL: A.translation.REPLY_TO_ARIA_LABEL, REPLY_MODE_LEAVE_ARIA_LABEL: A.translation.REPLY_MODE_LEAVE_ARIA_LABEL, STATUS_INDICATOR_ONLINE: A.translation.STATUS_INDICATOR_ONLINE, STATUS_INDICATOR_OFFLINE: A.translation.STATUS_INDICATOR_OFFLINE } }, La = { code: "bg-BG", name: "Bulgarian", translation: { YESTERDAY: "Вчера", TODAY: "Днес", DAYS: "Ден", HOURS: "Час", MINUTES: "m", JUST_NOW: "Току-що", LOCATION: "местоположението", CANCEL: "Откажи", INBOX: "Кутия", DESKTOP_NOTIFICATIONS: "Известия на браузъра", DESKTOP_NOTIFICATIONS_ERROR: "Не можете да активирате известията на браузъра, защото браузърът ви ги блокира активно. Опитайте да погледнете в настройките или да използвате друг браузър.", DESKTOP_NOTIFICATIONS_DEMO_TITLE: (e) => `${e} демо известие`, DESKTOP_NOTIFICATIONS_DEMO_BODY: "Ако държите раздела на браузъра си отворен, ще видите този изскачащ прозорец, когато някой говори с вас.", SEND_BUTTON_TEXT: "Изпрати", ENTRYBOX_TEXT_LIMIT: "Разрешени са само до 10.000 знака.", ENTRYBOX_PLACEHOLDER: "Кажете нещо...", ENTRYBOX_PLACEHOLDER_CHAT_CLOSED: "Този разговор вече не е активен.", ENTRYBOX_PLACEHOLDER_CHAT_READONLY: "Можете да четете, но не и да изпращате съобщения.", MESSAGELIST_LOADING_OLDER: "Зареждане на по-стари съобщения...", MESSAGELIST_SHOW_OLDER: "Показване на по-стари съобщения", MESSAGELIST_NEW_MARKER: "Нови", MESSAGE_SENT_VIA_EMAIL: "Това съобщение беше изпратено по имейл", YOU_MARKER: "Вие", UPLOAD_IN_PROGRESS: "Качване...", UPLOAD_SEND_FILE: "Изпращане на файл", UPLOAD_SHARE_LOCATION: "Споделяне на местоположението", UPLOAD_ERROR: "За съжаление нещо се обърка при качването. Файлът може да не се поддържа или е твърде голям.", SHARE_LOCATION_ERROR: "Не може да се сподели местоположението: ", LOADING: "Зареждане...", HUB_EMPTY: "Историята на вашите разговори ще се покаже тук", HUB_SHOW_EARLIER: "Показване на по-ранни чатове", INBOX_NO_CHATS_TITLE: "Все още нямате разговори!", INBOX_NO_CHATS_BODY: "След като проведете един или повече разговори, те ще се покажат тук.", ENABLE_TRANSLATION: "Преведете този разговор на български", DISABLE_TRANSLATION: "Показване на оригинал", SEARCH_PLACEHOLDER_TEXT: "Търсене...", SEARCH_SEARCHING: "Търсене...", SEARCH_NO_RESULTS: "Няма намерени резултати", SEARCH_NO_MORE_RESULTS: "Няма повече резултати", CHAT_NOT_FOUND: "Чатът не е намерен", DELETE_MESSAGE: "Изтриване на съобщение", DELETION_EXPLANATION: "Ако изтриете това съобщение, то ще изчезне за всички.", EDIT_MESSAGE: "Редактиране на съобщението", SAVE: "Запиши", EDITED_INDICATOR: "редактирано", REPLY_TO_MESSAGE: "Отговори", ADD_REACTION: "Добави реакция", AUTH_EXPIRED_OVERLAY_TITLE: "Вашата чат сесия е изтекла", AUTH_EXPIRED_OVERLAY_DESCRIPTION: "Обновете страницата, за да продължите", VOICE_MESSAGE: "Гласово съобщение", CONTACT_INFORMATION_HIDDEN: "Скрита информация", LEAVE_CONVERSATION: "Напускане на разговора", MARK_CONVERSATION_AS_UNREAD: "Маркирай като непрочетено", REPLY_TO_ARIA_LABEL: A.translation.REPLY_TO_ARIA_LABEL, REPLY_MODE_LEAVE_ARIA_LABEL: A.translation.REPLY_MODE_LEAVE_ARIA_LABEL, STATUS_INDICATOR_ONLINE: A.translation.STATUS_INDICATOR_ONLINE, STATUS_INDICATOR_OFFLINE: A.translation.STATUS_INDICATOR_OFFLINE } }, ma = { code: "bs-BA", name: "Bosnian", translation: { YESTERDAY: "Jučer", TODAY: "Danas", DAYS: "d", HOURS: "s", MINUTES: "m", JUST_NOW: "Upravo sad", LOCATION: "Lokacija", CANCEL: "Otkaži", INBOX: "Pretinac", DESKTOP_NOTIFICATIONS: "Obavijesti preglednika", DESKTOP_NOTIFICATIONS_ERROR: "Notifikacije preglednika se ne mogu omogućiti jer ih vaš preglednik aktivno blokira. Pokušajte pregledati postavke ili koristiti drugi preglednik.", DESKTOP_NOTIFICATIONS_DEMO_TITLE: (e) => `${e} demo notifikacija`, DESKTOP_NOTIFICATIONS_DEMO_BODY: "Ako karticu preglednika ostavite otvorenu, pojavit će se ovaj pop-up kada netko razgovara s vama.", SEND_BUTTON_TEXT: "Pošalji", ENTRYBOX_TEXT_LIMIT: "Dozvoljeno je samo 10.000 znakova.", ENTRYBOX_PLACEHOLDER: "Reci nešto...", ENTRYBOX_PLACEHOLDER_CHAT_CLOSED: "Ovaj razgovor više nije aktivan.", ENTRYBOX_PLACEHOLDER_CHAT_READONLY: "Možeš čitati, ali ne i slati poruke.", MESSAGELIST_LOADING_OLDER: "Učitavam starije poruke...", MESSAGELIST_SHOW_OLDER: "Prikaži starije poruke", MESSAGELIST_NEW_MARKER: "Novo", MESSAGE_SENT_VIA_EMAIL: "Ova poruka je poslana e-poštom", YOU_MARKER: "ti", UPLOAD_IN_PROGRESS: "Učitavam...", UPLOAD_SEND_FILE: "Pošalji datoteku", UPLOAD_SHARE_LOCATION: "Podijeli lokaciju", UPLOAD_ERROR: "Nažalost, nešto je pošlo krivo. Datoteka možda nije podržana ili je prevelika.", SHARE_LOCATION_ERROR: "Nije moguće podijeliti lokaciju: ", LOADING: "Učitavam...", HUB_EMPTY: "Ovdje će se prikazati vaša povijest razgovora", HUB_SHOW_EARLIER: "Prikaži ranije razgovore", INBOX_NO_CHATS_TITLE: "Nema razgovora!", INBOX_NO_CHATS_BODY: "Nakon što vodite jedan ili više razgovora, oni će se pojaviti ovdje.", ENABLE_TRANSLATION: "Prevedi ovaj razgovor na bosanski jezik", DISABLE_TRANSLATION: "Prikaži original", SEARCH_PLACEHOLDER_TEXT: "Pretraži...", SEARCH_SEARCHING: "Pretraživanje...", SEARCH_NO_RESULTS: "Nema rezultata", SEARCH_NO_MORE_RESULTS: "Nema više rezultata", CHAT_NOT_FOUND: "Ćaskanje nije pronađeno", DELETE_MESSAGE: "Obriši poruku", DELETION_EXPLANATION: "Ako izbrišete ovu poruku, ona će nestati za sve.", EDIT_MESSAGE: "Uredi poruku", SAVE: "Sačuvati", EDITED_INDICATOR: "uređeno", REPLY_TO_MESSAGE: "Odgovorite", ADD_REACTION: "Dodajte reakciju", AUTH_EXPIRED_OVERLAY_TITLE: "Vaša chat sesija je istekla", AUTH_EXPIRED_OVERLAY_DESCRIPTION: "Osvježite stranicu da nastavite", VOICE_MESSAGE: "Glasovna poruka", CONTACT_INFORMATION_HIDDEN: "Skrivene informacije", LEAVE_CONVERSATION: "Napusti razgovor", MARK_CONVERSATION_AS_UNREAD: "Označi kao nepročitano", REPLY_TO_ARIA_LABEL: A.translation.REPLY_TO_ARIA_LABEL, REPLY_MODE_LEAVE_ARIA_LABEL: A.translation.REPLY_MODE_LEAVE_ARIA_LABEL, STATUS_INDICATOR_ONLINE: A.translation.STATUS_INDICATOR_ONLINE, STATUS_INDICATOR_OFFLINE: A.translation.STATUS_INDICATOR_OFFLINE } }, pa = { code: "ca-ES", name: "Catalan (ES)", translation: { YESTERDAY: "Ahir", TODAY: "Avui", DAYS: "d", HOURS: "h", MINUTES: "m", JUST_NOW: "ara mateix", LOCATION: "Ubicació", CANCEL: "Cancel·lar", INBOX: "Safata d'entrada", DESKTOP_NOTIFICATIONS: "Notificacions d'escriptori", DESKTOP_NOTIFICATIONS_ERROR: "No es poden habilitar les notificacions del navegador perquè el teu navegador les bloqueja activament. Prova de buscar a la configuració o utilitza un altre navegador.", DESKTOP_NOTIFICATIONS_DEMO_TITLE: (e) => `Notificació de demostració de ${e}`, DESKTOP_NOTIFICATIONS_DEMO_BODY: "Si mantens la pestanya del navegador oberta, veuràs aquesta notificació quan algú et parli.", SEND_BUTTON_TEXT: "Enviar", ENTRYBOX_TEXT_LIMIT: "Només es permeten 10.000 caràcters.", ENTRYBOX_PLACEHOLDER: "Digues alguna cosa...", ENTRYBOX_PLACEHOLDER_CHAT_CLOSED: "Aquesta conversa ja no està activa.", ENTRYBOX_PLACEHOLDER_CHAT_READONLY: "Pots llegir, però no enviar missatges.", MESSAGELIST_LOADING_OLDER: "Carregant missatges antics...", MESSAGELIST_SHOW_OLDER: "Mostrar missatges més antics", MESSAGELIST_NEW_MARKER: "Nou", MESSAGE_SENT_VIA_EMAIL: "Aquest missatge s'ha enviat per correu electrònic", YOU_MARKER: "tu", UPLOAD_IN_PROGRESS: "S'està pujant...", UPLOAD_SEND_FILE: "Enviar arxiu", UPLOAD_SHARE_LOCATION: "Compartir ubicació", UPLOAD_ERROR: "Desafortunadament, alguna cosa ha anat malament en pujar. L'arxiu pot ser no compatible o massa gran.", SHARE_LOCATION_ERROR: "No es pot compartir la ubicació: ", LOADING: "Carregant...", HUB_EMPTY: "El teu historial de xat apareixerà aquí", HUB_SHOW_EARLIER: "Mostra xats anteriors", INBOX_NO_CHATS_TITLE: "Encara no hi ha xats!", INBOX_NO_CHATS_BODY: "Un cop hagis tingut una o més converses, apareixeran aquí.", ENABLE_TRANSLATION: "Traduir aquesta conversa al català", DISABLE_TRANSLATION: "Mostrar original", SEARCH_PLACEHOLDER_TEXT: "Cerca...", SEARCH_SEARCHING: "Buscant...", SEARCH_NO_RESULTS: "No s'han trobat resultats", SEARCH_NO_MORE_RESULTS: "No hi ha més resultats", CHAT_NOT_FOUND: "Xat no trobat", DELETE_MESSAGE: "Esborrar missatge", DELETION_EXPLANATION: "Si esborres aquest missatge, desapareixerà per a tothom.", EDIT_MESSAGE: "Editar missatge", SAVE: "Desar", EDITED_INDICATOR: "editat", REPLY_TO_MESSAGE: "Respondre", REPLY_TO_ARIA_LABEL: (e, t) => `Responent a ${e}: ${t}`, REPLY_MODE_LEAVE_ARIA_LABEL: "Sortir del mode de resposta", ADD_REACTION: "Afegir reacció", VOICE_MESSAGE: "Missatge de veu", LEAVE_CONVERSATION: "Abandonar la conversa", MARK_CONVERSATION_AS_UNREAD: "marcar com no llegit", STATUS_INDICATOR_ONLINE: "Actiu", STATUS_INDICATOR_OFFLINE: "Absent", CONTACT_INFORMATION_HIDDEN: "informació oculta", AUTH_EXPIRED_OVERLAY_TITLE: "La teva sessió de xat ha caducat", AUTH_EXPIRED_OVERLAY_DESCRIPTION: "Actualitza la pàgina per continuar" } }, ha = { code: "cs-CZ", name: "Czech", translation: { YESTERDAY: "Včera", TODAY: "Dnes", DAYS: "d", HOURS: "h", MINUTES: "m", JUST_NOW: "právě teď", LOCATION: "Lokace", CANCEL: "Zrušit", INBOX: "Doručené", DESKTOP_NOTIFICATIONS: "Oznámení v prohlížeči", DESKTOP_NOTIFICATIONS_ERROR: "Nelze povolit notifikace prohlížeče, protože váš prohlížeč je aktivně blokuje. Zkuste se podívat na nastavení nebo zkuste použít jiný prohlížeč.", DESKTOP_NOTIFICATIONS_DEMO_TITLE: (e) => `${e} demo notifikace`, DESKTOP_NOTIFICATIONS_DEMO_BODY: "Pokud necháte kartu prohlížeče otevřenou, uvidíte tento popup jakmile s vámi bude někdo mluvit.", SEND_BUTTON_TEXT: "Odeslat", ENTRYBOX_TEXT_LIMIT: "Je povoleno Maximálně 10.000 znaků.", ENTRYBOX_PLACEHOLDER: "Napište něco...", ENTRYBOX_PLACEHOLDER_CHAT_CLOSED: "Tato konverzace již není aktivní.", ENTRYBOX_PLACEHOLDER_CHAT_READONLY: "Můžete číst, ale nemůžete posílat zprávy.", MESSAGELIST_LOADING_OLDER: "Nahrávám starší zprávy...", MESSAGELIST_SHOW_OLDER: "Zobrazit starší zprávy", MESSAGELIST_NEW_MARKER: "Nové", MESSAGE_SENT_VIA_EMAIL: "Tato zpráva byla odeslána přes mail.", YOU_MARKER: "vy", UPLOAD_IN_PROGRESS: "Nahrávám...", UPLOAD_SEND_FILE: "Poslat soubor", UPLOAD_SHARE_LOCATION: "Sdílet pozici", UPLOAD_ERROR: "Nepodařilo se nahrát soubor. Ten je buď nepodporován a/nebo příliš velký.", SHARE_LOCATION_ERROR: "Není možné sdílet pozici: ", LOADING: "Nahrávám...", HUB_EMPTY: "Vaše historie se zde zobrazí", HUB_SHOW_EARLIER: "Zobrazit dřívější konverzace", INBOX_NO_CHATS_TITLE: "Zatím zde nejsou žádné konverzace!", INBOX_NO_CHATS_BODY: "Jakmile budete mít jednu nebo více konverzací, objeví se zde.", ENABLE_TRANSLATION: "Přeložit tuto konverzaci do češtiny", DISABLE_TRANSLATION: "Zobrazit původní", SEARCH_PLACEHOLDER_TEXT: "Hledat...", SEARCH_SEARCHING: "Hledání...", SEARCH_NO_RESULTS: "Nenašly se žádné výsledky", SEARCH_NO_MORE_RESULTS: "Žádné další výsledky", CHAT_NOT_FOUND: "Chat nenalezen", DELETE_MESSAGE: "Smazat zprávu", DELETION_EXPLANATION: "Pokud tuto zprávu smažete, zmizí pro všechny.", EDIT_MESSAGE: "Upravit zprávu", SAVE: "Uložit", EDITED_INDICATOR: "upraveno", REPLY_TO_MESSAGE: "Odpovědět", ADD_REACTION: "Reagovat", AUTH_EXPIRED_OVERLAY_TITLE: "Váš chat byl kvůli nečinnosti odpojen", AUTH_EXPIRED_OVERLAY_DESCRIPTION: "Pro pokračování obnovte stránku", VOICE_MESSAGE: "Hlasová zpráva", CONTACT_INFORMATION_HIDDEN: "Skrytá informace", LEAVE_CONVERSATION: "Opustit konverzaci", MARK_CONVERSATION_AS_UNREAD: "Označit jako nepřečtené", REPLY_TO_ARIA_LABEL: A.translation.REPLY_TO_ARIA_LABEL, REPLY_MODE_LEAVE_ARIA_LABEL: A.translation.REPLY_MODE_LEAVE_ARIA_LABEL, STATUS_INDICATOR_ONLINE: A.translation.STATUS_INDICATOR_ONLINE, STATUS_INDICATOR_OFFLINE: A.translation.STATUS_INDICATOR_OFFLINE } }, Da = { code: "da-DK", name: "Danish", translation: { YESTERDAY: "I går", TODAY: "I dag", DAYS: "d", HOURS: "t", MINUTES: "m", JUST_NOW: "lige nu", LOCATION: "Placering", CANCEL: "Annuller", INBOX: "Indbakke", DESKTOP_NOTIFICATIONS: "Browsermeddelelser", DESKTOP_NOTIFICATIONS_ERROR: "Kan ikke aktivere Browsermeddelelser, fordi din browser aktivt blokerer dem. Prøv at kigge i indstillingerne eller benyt en anden browser.", DESKTOP_NOTIFICATIONS_DEMO_TITLE: (e) => `${e} demomeddelelse`, DESKTOP_NOTIFICATIONS_DEMO_BODY: "Hvis du holder dit browser-faneblad åben, vil du se det her komme op, når nogen taler til dig.", SEND_BUTTON_TEXT: "Send", ENTRYBOX_TEXT_LIMIT: "Kun 10.000 tegn er tilladt.", ENTRYBOX_PLACEHOLDER: "Sig noget...", ENTRYBOX_PLACEHOLDER_CHAT_CLOSED: "Denne samtale er ikke længere aktiv.", ENTRYBOX_PLACEHOLDER_CHAT_READONLY: "Du kan læse, men ikke sende beskeder.", MESSAGELIST_LOADING_OLDER: "Indlæser ældre beskeder...", MESSAGELIST_SHOW_OLDER: "Vis ældre beskeder", MESSAGELIST_NEW_MARKER: "Ny", MESSAGE_SENT_VIA_EMAIL: "Denne besked blev sendt via e-mail", YOU_MARKER: "dig", UPLOAD_IN_PROGRESS: "Overfører...", UPLOAD_SEND_FILE: "Send fil", UPLOAD_SHARE_LOCATION: "Del placering", UPLOAD_ERROR: "Der er sket noget forkert ved upload. Filen kan ikke understøttes eller filen er for stor.", SHARE_LOCATION_ERROR: "Kan ikke dele placering: ", LOADING: "Indlæser...", HUB_EMPTY: "Dine samtaler vises her", HUB_SHOW_EARLIER: "Vis tidligere chats", INBOX_NO_CHATS_TITLE: "Ingen chats endnu!", INBOX_NO_CHATS_BODY: "Når du har haft en eller flere samtaler, vises de her.", ENABLE_TRANSLATION: "Oversæt denne konversation til dansk", DISABLE_TRANSLATION: "Vis den oprindelige", SEARCH_PLACEHOLDER_TEXT: "Søg...", SEARCH_SEARCHING: "Søger...", SEARCH_NO_RESULTS: "Ingen resultater fundet", SEARCH_NO_MORE_RESULTS: "Ikke flere resultater", CHAT_NOT_FOUND: "Chat ikke fundet", DELETE_MESSAGE: "Slet besked", DELETION_EXPLANATION: "Hvis du sletter denne besked, vil ingen kunne se den.", EDIT_MESSAGE: "Rediger besked", SAVE: "Gem", EDITED_INDICATOR: "redigeret", REPLY_TO_MESSAGE: "Svar", ADD_REACTION: "Tilføj reaktion", AUTH_EXPIRED_OVERLAY_TITLE: "Din chatsession er udløbet", AUTH_EXPIRED_OVERLAY_DESCRIPTION: "Opdater siden for at fortsætte", VOICE_MESSAGE: "Talebesked", CONTACT_INFORMATION_HIDDEN: "Skjulte oplysninger", LEAVE_CONVERSATION: "Forlad samtale", MARK_CONVERSATION_AS_UNREAD: "Marker som ulæst", REPLY_TO_ARIA_LABEL: A.translation.REPLY_TO_ARIA_LABEL, REPLY_MODE_LEAVE_ARIA_LABEL: A.translation.REPLY_MODE_LEAVE_ARIA_LABEL, STATUS_INDICATOR_ONLINE: A.translation.STATUS_INDICATOR_ONLINE, STATUS_INDICATOR_OFFLINE: A.translation.STATUS_INDICATOR_OFFLINE } }, Ca = { code: "de-DE", name: "German", translation: { YESTERDAY: "Gestern", TODAY: "Heute", DAYS: "d", HOURS: "h", MINUTES: "m", JUST_NOW: "gerade jetzt", LOCATION: "Standort", CANCEL: "Abbrechen", INBOX: "Inbox", DESKTOP_NOTIFICATIONS: "Browser-Benachrichtigungen", DESKTOP_NOTIFICATIONS_ERROR: "Browser-Benachrichtigungen können nicht aktiviert werden, da Ihr Browser sie aktiv blockiert. Versuchen Sie, in den Einstellungen nachzuschlagen oder einen anderen Browser zu verwenden.", DESKTOP_NOTIFICATIONS_DEMO_TITLE: (e) => `${e} Demo-Benachrichtigung`, DESKTOP_NOTIFICATIONS_DEMO_BODY: "Wenn Sie Ihre Browser-Registerkarte geöffnet lassen, wird dies angezeigt, wenn jemand mit Ihnen spricht.", SEND_BUTTON_TEXT: "Senden", ENTRYBOX_TEXT_LIMIT: "Nur 10.000 Zeichen sind erlaubt.", ENTRYBOX_PLACEHOLDER: "Sag etwas...", ENTRYBOX_PLACEHOLDER_CHAT_CLOSED: "Diese Konversation ist nicht mehr aktiv.", ENTRYBOX_PLACEHOLDER_CHAT_READONLY: "Sie können Nachrichten lesen, aber nicht senden.", MESSAGELIST_LOADING_OLDER: "Ältere Nachrichten werden geladen...", MESSAGELIST_SHOW_OLDER: "Zeige ältere Nachrichten", MESSAGELIST_NEW_MARKER: "Neu", MESSAGE_SENT_VIA_EMAIL: "Diese Nachricht wurde per E-Mail gesendet", YOU_MARKER: "du", UPLOAD_IN_PROGRESS: "Hochladen...", UPLOAD_SEND_FILE: "Datei senden", UPLOAD_SHARE_LOCATION: "Standort teilen", UPLOAD_ERROR: "Beim Hochladen ist ein Fehler aufgetreten. Die Datei ist möglicherweise nicht unterstützt oder zu groß.", SHARE_LOCATION_ERROR: "Standort kann nicht freigegeben werden: ", LOADING: "Laden...", HUB_EMPTY: "Ihr Chat-Verlauf wird hier angezeigt", HUB_SHOW_EARLIER: "Zeige frühere Chats", INBOX_NO_CHATS_TITLE: "Noch keine Chats!", INBOX_NO_CHATS_BODY: "Sobald Sie eine oder mehrere Unterhaltungen geführt haben, werden sie hier angezeigt.", ENABLE_TRANSLATION: "Dieses Gespräch auf Deutsch übersetzen", DISABLE_TRANSLATION: "Originaltext anzeigen", SEARCH_PLACEHOLDER_TEXT: "Suche...", SEARCH_SEARCHING: "Suchen...", SEARCH_NO_RESULTS: "Keine Suchergebnisse gefunden", SEARCH_NO_MORE_RESULTS: "Keine weiteren Suchergebnisse", CHAT_NOT_FOUND: "Chat nicht gefunden", DELETE_MESSAGE: "Nachricht löschen", DELETION_EXPLANATION: "Wenn Sie diese Nachricht löschen, wird sie für alle verschwinden.", EDIT_MESSAGE: "Nachricht bearbeiten", SAVE: "Speichern", EDITED_INDICATOR: "bearbeitet", REPLY_TO_MESSAGE: "Antworten", ADD_REACTION: "Reaktion hinzufügen", AUTH_EXPIRED_OVERLAY_TITLE: "Ihre Chatsitzung ist abgelaufen", AUTH_EXPIRED_OVERLAY_DESCRIPTION: "Laden Sie zum Fortfahren die Seite neu", VOICE_MESSAGE: "Sprachnachricht", CONTACT_INFORMATION_HIDDEN: "Geschützte Angaben", LEAVE_CONVERSATION: "Unterhaltung verlassen", MARK_CONVERSATION_AS_UNREAD: "als ungelesen markieren", REPLY_TO_ARIA_LABEL: A.translation.REPLY_TO_ARIA_LABEL, REPLY_MODE_LEAVE_ARIA_LABEL: A.translation.REPLY_MODE_LEAVE_ARIA_LABEL, STATUS_INDICATOR_ONLINE: A.translation.STATUS_INDICATOR_ONLINE, STATUS_INDICATOR_OFFLINE: A.translation.STATUS_INDICATOR_OFFLINE } }, ga = { code: "el-GR", name: "Greek (Greece)", translation: { YESTERDAY: "Χθές", TODAY: "Σήμερα", DAYS: "Ημέρες", HOURS: "'Ωρες", MINUTES: "Λεπτά", JUST_NOW: "Μόλις τώρα", LOCATION: "Τοποθεσία", CANCEL: "Ακύρωση", INBOX: "Εισερχόμενα", DESKTOP_NOTIFICATIONS: "Ειδοποιήσεις περιηγητή", DESKTOP_NOTIFICATIONS_ERROR: "Δεν είναι δυνατή η ενεργοποίηση των ειδοποιήσεων του προγράμματος περιήγησης, επειδή το πρόγραμμα περιήγησης τις αποκλείει ενεργά. Δοκιμάστε να τσεκάρετε τις ρυθμίσεις ή να χρησιμοποιήσετε διαφορετικό πρόγραμμα περιήγησης.", DESKTOP_NOTIFICATIONS_DEMO_TITLE: (e) => `${e} Δοκιμαστική επίδειξη`, DESKTOP_NOTIFICATIONS_DEMO_BODY: "Αν διατηρήσετε ανοιχτή τη σελίδα του προγράμματος περιήγησης, θα δείτε αυτό το pop up (παράθυρο) όταν κάποιος σας μιλάει.", SEND_BUTTON_TEXT: "Αποστολή", ENTRYBOX_TEXT_LIMIT: "Επιτρέπονται μόνο 10.000 χαρακτήρες.", ENTRYBOX_PLACEHOLDER: "Πείτε κάτι...", ENTRYBOX_PLACEHOLDER_CHAT_CLOSED: "Αυτή η συζήτηση δεν είναι πλέον ενεργή.", ENTRYBOX_PLACEHOLDER_CHAT_READONLY: "Μπορείτε να διαβάσετε αλλά δεν μπορείτε να στείλετε μηνύματα.", MESSAGELIST_LOADING_OLDER: "Φόρτωση παλαιοτέρων μηνυμάτων...", MESSAGELIST_SHOW_OLDER: "Εμφάνιση παλαιότερων μηνυμάτων", MESSAGELIST_NEW_MARKER: "Νέο", MESSAGE_SENT_VIA_EMAIL: "Αυτό το μήνυμα εστάλη μέσω ηλεκτρονικού ταχυδρομείου", YOU_MARKER: "Εσείς", UPLOAD_IN_PROGRESS: "Ανέβασμα...", UPLOAD_SEND_FILE: "Αποστολή αρχείου", UPLOAD_SHARE_LOCATION: "Κοινή χρήση τοποθεσίας", UPLOAD_ERROR: "Κάτι πήγε στραβά κατά τη φόρτωση. Το αρχείο ενδέχεται να μην υποστηρίζεται ή να είναι υπερβολικά μεγάλο.", SHARE_LOCATION_ERROR: "Δεν είναι δυνατή η χρήση κοινής τοποθεσίας: ", LOADING: "Φόρτωση...", HUB_EMPTY: "Το ιστορικό των συνομιλιών σας θα εμφανιστεί εδώ", HUB_SHOW_EARLIER: "Εμφάνιση προηγούμενων συνομιλιών", INBOX_NO_CHATS_TITLE: "Δεν υπάρχουν ακόμα συζητήσεις!", INBOX_NO_CHATS_BODY: "Μόλις έχετε μία ή περισσότερες συνομιλίες, θα εμφανιστούν εδώ.", ENABLE_TRANSLATION: "Μετάφραση αυτής της συνομιλίας στα ελληνικά", DISABLE_TRANSLATION: "Προβολή πρωτοτύπου", SEARCH_PLACEHOLDER_TEXT: "Αναζήτηση...", SEARCH_SEARCHING: "Αναζήτηση...", SEARCH_NO_RESULTS: "Δεν βρέθηκαν αποτελέσματα", SEARCH_NO_MORE_RESULTS: "Δεν υπάρχουν περισσότερα αποτελέσματα", CHAT_NOT_FOUND: "Η συνομιλία δεν βρέθηκε", DELETE_MESSAGE: "Διαγραφή μηνύματος", DELETION_EXPLANATION: "Εάν διαγράψετε αυτό το μήνυμα, θα εξαφανιστεί για όλους.", EDIT_MESSAGE: "Επεξεργασία μηνύματος", SAVE: "Αποθήκευση", EDITED_INDICATOR: "επεξεργασμένο", REPLY_TO_MESSAGE: "Απάντηση", ADD_REACTION: "Προσθήκη αντίδρασης", AUTH_EXPIRED_OVERLAY_TITLE: "Η συνεδρία της συνομιλίας σας έχει λήξει", AUTH_EXPIRED_OVERLAY_DESCRIPTION: "Ανανεώστε τη σελίδα για να συνεχίσετε", VOICE_MESSAGE: "Ηχητικό μήνυμα", CONTACT_INFORMATION_HIDDEN: "Κρυμμένες πληροφορίες", LEAVE_CONVERSATION: "Αποσυρθείτε από τη συζήτηση", MARK_CONVERSATION_AS_UNREAD: "Επισήμανση ως μη αναγνωσμένα", REPLY_TO_ARIA_LABEL: A.translation.REPLY_TO_ARIA_LABEL, REPLY_MODE_LEAVE_ARIA_LABEL: A.translation.REPLY_MODE_LEAVE_ARIA_LABEL, STATUS_INDICATOR_ONLINE: A.translation.STATUS_INDICATOR_ONLINE, STATUS_INDICATOR_OFFLINE: A.translation.STATUS_INDICATOR_OFFLINE } }, va = { code: "es-ES", name: "Spanish", translation: { YESTERDAY: "Ayer", TODAY: "Hoy", DAYS: "d", HOURS: "h", MINUTES: "m", JUST_NOW: "justo ahora", LOCATION: "Ubicación", CANCEL: "Cancelar", INBOX: "Inbox", DESKTOP_NOTIFICATIONS: "Notificaciones del navigator", DESKTOP_NOTIFICATIONS_ERROR: "No se logró habilitar las notificaciones del navigador, comprueba que tu navegador no las esté bloqueando o intenta con otro navegador.", DESKTOP_NOTIFICATIONS_DEMO_TITLE: (e) => `${e} notificación de prueba`, DESKTOP_NOTIFICATIONS_DEMO_BODY: "Si dejas esta pestaña abierta, verás este pop up cuando alguien te hable.", SEND_BUTTON_TEXT: "Enviar", ENTRYBOX_TEXT_LIMIT: "Sólo 10.000 caracteres permitidos.", ENTRYBOX_PLACEHOLDER: "Escribe algo...", ENTRYBOX_PLACEHOLDER_CHAT_CLOSED: "Esta conversación ya no está activa.", ENTRYBOX_PLACEHOLDER_CHAT_READONLY: "Puedes leer pero no enviar mensajes.", MESSAGELIST_LOADING_OLDER: "Cargando mensajes pasados...", MESSAGELIST_SHOW_OLDER: "Ver mensajes pasados", MESSAGELIST_NEW_MARKER: "Nuevo", MESSAGE_SENT_VIA_EMAIL: "Este mensaje ha sido enviado vía email", YOU_MARKER: "tú", UPLOAD_IN_PROGRESS: "Subir...", UPLOAD_SEND_FILE: "Enviar archivo", UPLOAD_SHARE_LOCATION: "Compartir ubicación", UPLOAD_ERROR: "Ocurrió un problema subiendo el archivo. Puede que el archivo esté en un formato no soportado o que sea demasiado grande.", SHARE_LOCATION_ERROR: "No se logró compartir la ubicación: ", LOADING: "Cargando...", HUB_EMPTY: "Tu historial de conversaciones se mostrará aquí", HUB_SHOW_EARLIER: "Ver conversaciones pasadas", INBOX_NO_CHATS_TITLE: "¡Aún sin conversaciones!", INBOX_NO_CHATS_BODY: "Una vez que tengas una o más conversaciones, se mostrarán aquí.", ENABLE_TRANSLATION: "Traducir esta conversación al español", DISABLE_TRANSLATION: "Mostrar la conversación original", SEARCH_PLACEHOLDER_TEXT: "Buscar...", SEARCH_SEARCHING: "Buscando...", SEARCH_NO_RESULTS: "No se encontraron resultados", SEARCH_NO_MORE_RESULTS: "No hay más resultados", CHAT_NOT_FOUND: "Chat no encontrado", DELETE_MESSAGE: "Eliminar mensaje", DELETION_EXPLANATION: "Este mensaje desaparecerá para todos si lo borras.", EDIT_MESSAGE: "Editar mensaje", SAVE: "Guardar", EDITED_INDICATOR: "editado", REPLY_TO_MESSAGE: "Responder", ADD_REACTION: "Añadir reacción", AUTH_EXPIRED_OVERLAY_TITLE: "Su sesión de chat ha expirado", AUTH_EXPIRED_OVERLAY_DESCRIPTION: "Actualice la página para continuar", VOICE_MESSAGE: "Mensaje de voz", CONTACT_INFORMATION_HIDDEN: "Información oculta", LEAVE_CONVERSATION: "Abandonar conversación", MARK_CONVERSATION_AS_UNREAD: "Marcar como no leída", REPLY_TO_ARIA_LABEL: A.translation.REPLY_TO_ARIA_LABEL, REPLY_MODE_LEAVE_ARIA_LABEL: A.translation.REPLY_MODE_LEAVE_ARIA_LABEL, STATUS_INDICATOR_ONLINE: A.translation.STATUS_INDICATOR_ONLINE, STATUS_INDICATOR_OFFLINE: A.translation.STATUS_INDICATOR_OFFLINE } }, ka = { code: "et-EE", name: "Estonian", translation: { YESTERDAY: "Eile", TODAY: "Täna", DAYS: "p", HOURS: "t", MINUTES: "m", JUST_NOW: "Just nüüd", LOCATION: "Asukoht", CANCEL: "Katkesta", INBOX: "Postkast", DESKTOP_NOTIFICATIONS: "Veebibrauseri teated", DESKTOP_NOTIFICATIONS_ERROR: "Töölaua teatisi ei saa lubada, kuna Teie brauser blokeerib need aktiivselt. Proovige muuta seadeid või kasutada mõnda muud brauserit.", DESKTOP_NOTIFICATIONS_DEMO_TITLE: (e) => `${e} demo teavitus`, DESKTOP_NOTIFICATIONS_DEMO_BODY: "Kui hoiate oma brauseri vahekaardi lahti ja näete seda hüpikakent, siis keegi soovib Teiega rääkida.", SEND_BUTTON_TEXT: "Saada", ENTRYBOX_TEXT_LIMIT: "Ainult kuni 10.000 tähemärki on lubatud.", ENTRYBOX_PLACEHOLDER: "Kirjuta midagi...", ENTRYBOX_PLACEHOLDER_CHAT_CLOSED: "See vestlus ei ole enam aktiivne.", ENTRYBOX_PLACEHOLDER_CHAT_READONLY: "Sa saad lugeda teateid, aga mitte kirjutada.", MESSAGELIST_LOADING_OLDER: "Laen vanemaid teateid...", MESSAGELIST_SHOW_OLDER: "Näita vanemaid teateid", MESSAGELIST_NEW_MARKER: "Uus", MESSAGE_SENT_VIA_EMAIL: "See teade on saadetud e-postiga", YOU_MARKER: "Sina", UPLOAD_IN_PROGRESS: "Laen...", UPLOAD_SEND_FILE: "Saada fail", UPLOAD_SHARE_LOCATION: "Jaga faili asukohta", UPLOAD_ERROR: "Nüüd läks midagi nihu, seoses faili ülesse laadimisega. Tundmatu fail või liiga suur.", SHARE_LOCATION_ERROR: "Ei suuda jagada faili asukohta: ", LOADING: "Laen...", HUB_EMPTY: "Siin on Sinu vestluste ajalugu", HUB_SHOW_EARLIER: "Näita vanemaid vestlusi", INBOX_NO_CHATS_TITLE: "Pole ühtegi vestlust!", INBOX_NO_CHATS_BODY: "Kui Sul tekib üks või rohkem vestlust, siis on need kuvatakse siin.", ENABLE_TRANSLATION: "Tõlgi see vestlus eesti keelde", DISABLE_TRANSLATION: "Näita algteksti", SEARCH_PLACEHOLDER_TEXT: "Otsi...", SEARCH_SEARCHING: "Otsin...", SEARCH_NO_RESULTS: "Otsingu tulemused puuduvad", SEARCH_NO_MORE_RESULTS: "Rohkem tulemusi ei ole ", CHAT_NOT_FOUND: "Vestlust ei leitud", DELETE_MESSAGE: "Kustuta sõnum", DELETION_EXPLANATION: "Kui kustutate selle sõnumi, kaob see kõigi jaoks.", EDIT_MESSAGE: "Redigeeri sõnumit", SAVE: "Salvesta", EDITED_INDICATOR: "muudetud", REPLY_TO_MESSAGE: "Vasta", ADD_REACTION: "Lisa reaktsioon", AUTH_EXPIRED_OVERLAY_TITLE: "Teie vestlussessioon on lõppenud", AUTH_EXPIRED_OVERLAY_DESCRIPTION: "Jätkamiseks värskendage lehte", VOICE_MESSAGE: "Häälsõnum", CONTACT_INFORMATION_HIDDEN: "Varjatud informatsioon", LEAVE_CONVERSATION: "Lahku vestlusest", MARK_CONVERSATION_AS_UNREAD: "Märgi mitteloetuks", REPLY_TO_ARIA_LABEL: A.translation.REPLY_TO_ARIA_LABEL, REPLY_MODE_LEAVE_ARIA_LABEL: A.translation.REPLY_MODE_LEAVE_ARIA_LABEL, STATUS_INDICATOR_ONLINE: A.translation.STATUS_INDICATOR_ONLINE, STATUS_INDICATOR_OFFLINE: A.translation.STATUS_INDICATOR_OFFLINE } }, fa = { code: "fa", name: "Persian (Farsi)", translation: { YESTERDAY: "دیروز", TODAY: "امروز", DAYS: "روز", HOURS: "ساعت", MINUTES: "دقیقه", JUST_NOW: "هم اکنون", LOCATION: "مکان", CANCEL: "لغو", INBOX: "صندوق", DESKTOP_NOTIFICATIONS: "اطلاعیههای مرورگر", DESKTOP_NOTIFICATIONS_ERROR: "خطا در فعال سازی اعلان های مرورگر، مرورگر شما آنها را مسدود می کند سعی کنید تنظیمات مرورگر را تغییر دهید یا از یک مرورگر دیگر استفاده کنید.", DESKTOP_NOTIFICATIONS_DEMO_TITLE: (e) => `نوتیفیکیشن دمو ${e}`, DESKTOP_NOTIFICATIONS_DEMO_BODY: "اگر صفحه ی مرورگر را باز نگهدارید این را موقعه ای که کسی با شما صحبت کند خواهید دید", SEND_BUTTON_TEXT: "بفرست", ENTRYBOX_TEXT_LIMIT: "فقط ۱۰،۰۰۰ حروف مجاز می باشد.", ENTRYBOX_PLACEHOLDER: "...چیزی بنویسید", ENTRYBOX_PLACEHOLDER_CHAT_CLOSED: ".این مکالمه دیگر فعال نمی باشد", ENTRYBOX_PLACEHOLDER_CHAT_READONLY: "شما می توانید بخوانید اما نمی توانید پیام بفرستید", MESSAGELIST_LOADING_OLDER: "...در حال بارگذاری پیام های قدیمی تر", MESSAGELIST_SHOW_OLDER: "نشان دادن پیام های قدیمی", MESSAGELIST_NEW_MARKER: "جدید", MESSAGE_SENT_VIA_EMAIL: "پیام توسط ایمل ارسال شد", YOU_MARKER: "شما", UPLOAD_IN_PROGRESS: "...در حال بارگذاری", UPLOAD_SEND_FILE: "فرستادن پوشه", UPLOAD_SHARE_LOCATION: "اشتراک گذاری مکان", UPLOAD_ERROR: "متاسفانه بارگذاری با مشکل روبه رو شد. ممکن است فایل حجیم باشد یا ساپورت نشده باشد.", SHARE_LOCATION_ERROR: "خطا در اشتراک گذاری مکان: ", LOADING: "...بارگذاری", HUB_EMPTY: "تاریخچه گفتگو اینجا نمایان می شود", HUB_SHOW_EARLIER: "دیدن گفتگو های قبلی", INBOX_NO_CHATS_TITLE: "هنوز گفتگویی وجود ندارد", INBOX_NO_CHATS_BODY: "بعد از داشتن یک مکالمه یا بیشتر، آنها اینجا نمایان می شوند.", ENABLE_TRANSLATION: "این مکالمه را به فارسی ترجمه کن", DISABLE_TRANSLATION: "زبان اصلی را نشان بده", SEARCH_PLACEHOLDER_TEXT: "...جستجو", SEARCH_SEARCHING: "...در حال جستجو", SEARCH_NO_RESULTS: "نتیجه ای یافت نشد", SEARCH_NO_MORE_RESULTS: "نتیجه بیشتری وجود ندارد", CHAT_NOT_FOUND: "مکالمه پیدا نشد", DELETE_MESSAGE: "حذف پیام ", DELETION_EXPLANATION: "اگر این پیام را حذف کنید، برای همه ناپدید می شود.", EDIT_MESSAGE: "ویرایش پیام", SAVE: "ذخیره", EDITED_INDICATOR: "ویرایششده", REPLY_TO_MESSAGE: "پاسخ دادن", ADD_REACTION: "واکنش را اضافه کنید", AUTH_EXPIRED_OVERLAY_TITLE: "جلسه چت شما منقضی شده است", AUTH_EXPIRED_OVERLAY_DESCRIPTION: "برای ادامه صفحه را بازخوانی کنید", VOICE_MESSAGE: "پیام صوتی", CONTACT_INFORMATION_HIDDEN: "اطلاعات پنهان", LEAVE_CONVERSATION: "خروج از گفتگو", MARK_CONVERSATION_AS_UNREAD: "به عنوان خوانده نشده علامت گذاری کن", REPLY_TO_ARIA_LABEL: A.translation.REPLY_TO_ARIA_LABEL, REPLY_MODE_LEAVE_ARIA_LABEL: A.translation.REPLY_MODE_LEAVE_ARIA_LABEL, STATUS_INDICATOR_ONLINE: A.translation.STATUS_INDICATOR_ONLINE, STATUS_INDICATOR_OFFLINE: A.translation.STATUS_INDICATOR_OFFLINE } }, Ma = { code: "fi-FI", name: "Finnish", translation: { YESTERDAY: "Eilen", TODAY: "Tänään", DAYS: "p", HOURS: "t", MINUTES: "m", JUST_NOW: "juuri nyt", LOCATION: "Sijainti", CANCEL: "Peruuta", INBOX: "Saapuneet", DESKTOP_NOTIFICATIONS: "Selaimen ilmoitukset", DESKTOP_NOTIFICATIONS_ERROR: "Työpöydän ilmoituksia ei voitu kytkeä päälle, koska selaimesi estää ne aktiivisesti. Koeta tutkia sen asetuksia tai vaihda selainta.", DESKTOP_NOTIFICATIONS_DEMO_TITLE: (e) => `${e} demo ilmoitus`, DESKTOP_NOTIFICATIONS_DEMO_BODY: "Jos pidät tämän sivun auki, näet vastaavan ilmoituksen kun joku puhuu sinulle.", SEND_BUTTON_TEXT: "Lähetä", ENTRYBOX_TEXT_LIMIT: "Maksimissaan 10000 merkkiä.", ENTRYBOX_PLACEHOLDER: "Sano jotain...", ENTRYBOX_PLACEHOLDER_CHAT_CLOSED: "Tämä keskustelu ei ole enää aktiivinen.", ENTRYBOX_PLACEHOLDER_CHAT_READONLY: "Voit lukea, mutta et lähettää viestejä.", MESSAGELIST_LOADING_OLDER: "Ladataan vanhoja viestejä..", MESSAGELIST_SHOW_OLDER: "Näytä vanhat viestit", MESSAGELIST_NEW_MARKER: "Uusi", MESSAGE_SENT_VIA_EMAIL: "Tämä viesti on lähetetty sähköpostin välityksellä", YOU_MARKER: "sinä", UPLOAD_IN_PROGRESS: "Ladataan...", UPLOAD_SEND_FILE: "Lähetä tiedosto", UPLOAD_SHARE_LOCATION: "Jaa sijainti", UPLOAD_ERROR: "Valitettavasti jokin meni vikaan. Tiedostotyyppiä ei ehkä tueta tai se saattaa olla liian suuri.", SHARE_LOCATION_ERROR: "Sijaintia ei pystytty jakamaan: ", LOADING: "Ladataan...", HUB_EMPTY: "Keskusteluhistoriasi näkyy tässä", HUB_SHOW_EARLIER: "Näytä aiemmat keskustelut", INBOX_NO_CHATS_TITLE: "Ei keskusteluja, vielä!", INBOX_NO_CHATS_BODY: "Kun olet käynyt yhden tai useamman keskustelun, ne näkyvät täällä.", ENABLE_TRANSLATION: "Käännä keskustelu kielelle suomi", DISABLE_TRANSLATION: "Näytä alkuperäinen", SEARCH_PLACEHOLDER_TEXT: "Etsi...", SEARCH_SEARCHING: "Etsiminen...", SEARCH_NO_RESULTS: "Tuloksia ei löytynyt", SEARCH_NO_MORE_RESULTS: "Ei enempää tuloksia", CHAT_NOT_FOUND: "Keskustelua ei löytynyt", DELETE_MESSAGE: "Poista viesti", DELETION_EXPLANATION: "Jos poistat tämän viestin, se häviää kaikilta.", EDIT_MESSAGE: "Muokkaa viestiä", SAVE: "Tallenna", EDITED_INDICATOR: "muokattu", REPLY_TO_MESSAGE: "Vastaa", ADD_REACTION: "Lisää reaktio", AUTH_EXPIRED_OVERLAY_TITLE: "Istuntosi on vanhentunut", AUTH_EXPIRED_OVERLAY_DESCRIPTION: "Päivitä sivu jatkaaksesi", VOICE_MESSAGE: "Ääniviesti", CONTACT_INFORMATION_HIDDEN: "Piilotetut tiedot", LEAVE_CONVERSATION: "Poistu keskustelusta", MARK_CONVERSATION_AS_UNREAD: "Merkitse lukemattomaksi", REPLY_TO_ARIA_LABEL: A.translation.REPLY_TO_ARIA_LABEL, REPLY_MODE_LEAVE_ARIA_LABEL: A.translation.REPLY_MODE_LEAVE_ARIA_LABEL, STATUS_INDICATOR_ONLINE: A.translation.STATUS_INDICATOR_ONLINE, STATUS_INDICATOR_OFFLINE: A.translation.STATUS_INDICATOR_OFFLINE } }, Pa = { code: "fr-FR", name: "French", translation: { YESTERDAY: "Hier", TODAY: "Aujourd'hui", DAYS: "j", HOURS: "h", MINUTES: "m", JUST_NOW: "maintenant", LOCATION: "Emplacement", CANCEL: "Annuler", INBOX: "Boîte de réception", DESKTOP_NOTIFICATIONS: "Notifications du navigateur", DESKTOP_NOTIFICATIONS_ERROR: "Impossible d'activer les notifications du navigateur car votre navigateur les bloque. Essayez de changer ses paramètres ou de changer de navigateur.", DESKTOP_NOTIFICATIONS_DEMO_TITLE: (e) => `Notification de démonstration ${e}`, DESKTOP_NOTIFICATIONS_DEMO_BODY: "Si vous maintenez l'onglet ouvert dans votre navigateur vous verrez apparaître une alerte lorsque quelqu'un vous parlera.", SEND_BUTTON_TEXT: "Envoyer", ENTRYBOX_TEXT_LIMIT: "Seuls 10.000 caractères sont autorisés.", ENTRYBOX_PLACEHOLDER: "Ecrivez quelque chose...", ENTRYBOX_PLACEHOLDER_CHAT_CLOSED: "Cette conversation n'est plus active.", ENTRYBOX_PLACEHOLDER_CHAT_READONLY: "Vous pouvez lire, mais pas envoyer de messages.", MESSAGELIST_LOADING_OLDER: "Chargement des anciens messages ...", MESSAGELIST_SHOW_OLDER: "Afficher les anciens messages", MESSAGELIST_NEW_MARKER: "Nouveau", MESSAGE_SENT_VIA_EMAIL: "Ce message a été envoyé par e-mail", YOU_MARKER: "vous", UPLOAD_IN_PROGRESS: "Envoi en cours...", UPLOAD_SEND_FILE: "Envoyer un fichier", UPLOAD_SHARE_LOCATION: "Partager mon emplacement", UPLOAD_ERROR: "Un problème est survenu lors de l'envoi: le fichier est peut-être non pris en charge ou trop volumineux.", SHARE_LOCATION_ERROR: "Impossible de partager votre emplacement: ", LOADING: "Chargement en cours...", HUB_EMPTY: "Votre historique de discussion apparaîtra ici", HUB_SHOW_EARLIER: "Afficher les conversations précédentes", INBOX_NO_CHATS_TITLE: "Aucune conversation pour l'instant!", INBOX_NO_CHATS_BODY: "Une fois que vous aurez eu une ou plusieurs conversations, elles apparaîtront ici.", ENABLE_TRANSLATION: "Traduire cette conversation en français", DISABLE_TRANSLATION: "Remontrer la conversation originale", SEARCH_PLACEHOLDER_TEXT: "Rechercher...", SEARCH_SEARCHING: "Recherche...", SEARCH_NO_RESULTS: "Aucun résultat trouvé", SEARCH_NO_MORE_RESULTS: "Il n’y a plus de résultats", CHAT_NOT_FOUND: "Conversation introuvable", DELETE_MESSAGE: "Supprimer le message", DELETION_EXPLANATION: "Si vous supprimez ce message, il disparaîtra pour tout le monde.", EDIT_MESSAGE: "Modifier le message", SAVE: "Enregistrer", EDITED_INDICATOR: "modifié", REPLY_TO_MESSAGE: "Répondre", ADD_REACTION: "Ajouter une réaction", AUTH_EXPIRED_OVERLAY_TITLE: "Votre session de chat a expiré", AUTH_EXPIRED_OVERLAY_DESCRIPTION: "Actualisez la page pour continuer", VOICE_MESSAGE: "Message vocal", CONTACT_INFORMATION_HIDDEN: "Informations masquées", LEAVE_CONVERSATION: "Quitter la conversation", MARK_CONVERSATION_AS_UNREAD: "Marquer comme non lu", REPLY_TO_ARIA_LABEL: A.translation.REPLY_TO_ARIA_LABEL, REPLY_MODE_LEAVE_ARIA_LABEL: A.translation.REPLY_MODE_LEAVE_ARIA_LABEL, STATUS_INDICATOR_ONLINE: A.translation.STATUS_INDICATOR_ONLINE, STATUS_INDICATOR_OFFLINE: A.translation.STATUS_INDICATOR_OFFLINE } }, Ua = { code: "he-IL", name: "Hebrew", translation: { YESTERDAY: "אתמול", TODAY: "היום", DAYS: "d", HOURS: "h", MINUTES: "m", JUST_NOW: "עכשיו", LOCATION: "מיקום", CANCEL: "בטל", INBOX: "דואר נכנס", DESKTOP_NOTIFICATIONS: "התראות דפדפן", DESKTOP_NOTIFICATIONS_ERROR: "לא ניתן להפעיל התראות במרועה דפדפן מכיוון שהדפדפן שלך חוסם אותן באופן פעיל. נסה להסתכל בהגדרות או להשתמש בדפדפן אחר.", DESKTOP_NOTIFICATIONS_DEMO_TITLE: (e) => `${e} הודעה על הדגמה`, DESKTOP_NOTIFICATIONS_DEMO_BODY: "אם אתה שומר על כרטיסיית הדפדפן שלך פתוחה, תראה את זה צץ כשמישהו ידבר איתך.", SEND_BUTTON_TEXT: "שלח", ENTRYBOX_TEXT_LIMIT: "רק 10.000 תווים", ENTRYBOX_PLACEHOLDER: "תגיד משהו...", ENTRYBOX_PLACEHOLDER_CHAT_CLOSED: "שיחה זו אינה פעילה עוד.", ENTRYBOX_PLACEHOLDER_CHAT_READONLY: "אתה יכול לקרוא, אך לא לשלוח הודעות.", MESSAGELIST_LOADING_OLDER: "טוען הודעות ישנות...", MESSAGELIST_SHOW_OLDER: "הצג הודעות ישנות", MESSAGELIST_NEW_MARKER: "חדש", MESSAGE_SENT_VIA_EMAIL: "הודעה זאת נשלחה דרך אימייל", YOU_MARKER: "אתה", UPLOAD_IN_PROGRESS: "מעלה ...", UPLOAD_SEND_FILE: "שלח קובץ", UPLOAD_SHARE_LOCATION: "שתף מיקום", UPLOAD_ERROR: "לרוע המזל משהו השתבש בהעלאה. ייתכן שהקובץ אינו נתמך או גדול מדי.", SHARE_LOCATION_ERROR: "לא ניתן לשתף מיקום: ", LOADING: "טוען...", HUB_EMPTY: "היסטוריית הצ'אט שלך תופיע כאן", HUB_SHOW_EARLIER: "הצג צ'אטים קודמים", INBOX_NO_CHATS_TITLE: "אין עדיין צ'אטים!", INBOX_NO_CHATS_BODY: "לאחר שניהלת שיחה אחת או יותר, הם יופיעו כאן.", ENABLE_TRANSLATION: "תרגם שיחה זו לעברית", DISABLE_TRANSLATION: "הצג מקור", SEARCH_PLACEHOLDER_TEXT: "...חפש", SEARCH_SEARCHING: "...מחפש", SEARCH_NO_RESULTS: "לא נמצאו תוצאות", SEARCH_NO_MORE_RESULTS: "אין תוצאות נוספות", CHAT_NOT_FOUND: "הצ'אט לא נמצא", DELETE_MESSAGE: "מחיקת הודעה", DELETION_EXPLANATION: "אם תמחק הודעה זו, היא תיעלם עבור כולם.", EDIT_MESSAGE: "עריכת הודעה", SAVE: "שמור", EDITED_INDICATOR: "ערוך", REPLY_TO_MESSAGE: "השב", ADD_REACTION: "הוספת תגובה", AUTH_EXPIRED_OVERLAY_TITLE: "הפעלת הצ׳אט שלכם פגה", AUTH_EXPIRED_OVERLAY_DESCRIPTION: "רעננו את העמוד כדי להמשיך", VOICE_MESSAGE: "הודעה קולית", CONTACT_INFORMATION_HIDDEN: "מידע מוסתר", LEAVE_CONVERSATION: "צא מהשיחה", MARK_CONVERSATION_AS_UNREAD: "סמן כלא נקרא", REPLY_TO_ARIA_LABEL: A.translation.REPLY_TO_ARIA_LABEL, REPLY_MODE_LEAVE_ARIA_LABEL: A.translation.REPLY_MODE_LEAVE_ARIA_LABEL, STATUS_INDICATOR_ONLINE: A.translation.STATUS_INDICATOR_ONLINE, STATUS_INDICATOR_OFFLINE: A.translation.STATUS_INDICATOR_OFFLINE } }, Ha = { code: "hi-IN", name: "Hindi (IN)", translation: { YESTERDAY: "कल", TODAY: "आज", DAYS: "d", HOURS: "h", MINUTES: "m", JUST_NOW: "अभी", LOCATION: "जगह", CANCEL: "रद्द करें", INBOX: "इनबॉक्स", DESKTOP_NOTIFICATIONS: "ब्राउज़र सूचनाएं", DESKTOP_NOTIFICATIONS_ERROR: "ब्राउज़र सूचनाएं सक्षम नहीं कर सकता क्योंकि आपका ब्राउज़र सक्रिय रूप से उन्हें ब्लॉक करता है। सेटिंग्स में देखने या एक अलग ब्राउज़र का उपयोग करने का प्रयास करें।", DESKTOP_NOTIFICATIONS_DEMO_TITLE: (e) => `${e} डेमो अधिसूचना`, DESKTOP_NOTIFICATIONS_DEMO_BODY: "यदि आप अपना ब्राउज़र टैब खुला रखते हैं, तो यह पॉप अप आपको तब दिखाई देगा जब कोई आपसे बात करेगा।", SEND_BUTTON_TEXT: "भेजें", ENTRYBOX_TEXT_LIMIT: "केवल 10,000 वर्णों की अनुमति है।", ENTRYBOX_PLACEHOLDER: "कुछ कहिए...", ENTRYBOX_PLACEHOLDER_CHAT_CLOSED: "यह चैट अब सक्रिय नहीं है।", ENTRYBOX_PLACEHOLDER_CHAT_READONLY: "आप पढ़ सकते हैं, लेकिन संदेश नहीं भेज सकते।", MESSAGELIST_LOADING_OLDER: "पुराने संदेश लोड हो रहे हैं ...", MESSAGELIST_SHOW_OLDER: "पुराने संदेश दिखाएं", MESSAGELIST_NEW_MARKER: "नया", MESSAGE_SENT_VIA_EMAIL: "यह संदेश ईमेल के माध्यम से भेजा गया था", YOU_MARKER: "आप", UPLOAD_IN_PROGRESS: "अपलोड हो रहा है...", UPLOAD_SEND_FILE: "फाइल भेजें", UPLOAD_SHARE_LOCATION: "जगह शेयर करें", UPLOAD_ERROR: "दुर्भाग्य से, अपलोड करते समय कुछ गलत हो गया। फ़ाइल असमर्थित या बहुत बड़ी हो सकती है।", SHARE_LOCATION_ERROR: "जगह शेयर नहीं हो पाया: ", LOADING: "लोड हो रहा है...", HUB_EMPTY: "आपका चैट इतिहास यहां दिखाई देगा", HUB_SHOW_EARLIER: "पहले की चैट दिखाओ", INBOX_NO_CHATS_TITLE: "अभी तक कोई चैट नहीं!", INBOX_NO_CHATS_BODY: "एक बार जब आप एक या अधिक चैट कर लेते हैं, तो वे यहां दिखाई देंगे।", ENABLE_TRANSLATION: "इस बातचीत का हिंदी में अनुवाद कीजिए", DISABLE_TRANSLATION: "मूल दिखाएँ", SEARCH_PLACEHOLDER_TEXT: "खोजें...", SEARCH_SEARCHING: "खोज जारी है...", SEARCH_NO_RESULTS: "कोई परिणाम नहीं मिला", SEARCH_NO_MORE_RESULTS: "और कोई परिणाम नहीं", CHAT_NOT_FOUND: "चैट नहीं मिली", DELETE_MESSAGE: "संदेश डिलीट करें", DELETION_EXPLANATION: "यदि आप इस संदेश को हटाते हैं, तो यह सभी के लिए गायब हो जाएगा.", EDIT_MESSAGE: "संदेश में बदलाव करें", SAVE: "सहेजें", EDITED_INDICATOR: "संपादित किया गया", REPLY_TO_MESSAGE: "जवाब दीजिए ।", ADD_REACTION: "प्रतिक्रिया जोड़ें", AUTH_EXPIRED_OVERLAY_TITLE: "आपका चैट सेशन समाप्त हो चुका है", AUTH_EXPIRED_OVERLAY_DESCRIPTION: "आगे बढ़ने के लिए रिफ्रेश करें", VOICE_MESSAGE: "वॉयस मैसेज", CONTACT_INFORMATION_HIDDEN: "छुपी हुई जानकारी", LEAVE_CONVERSATION: "बातचीत को ख़त्म करें", MARK_CONVERSATION_AS_UNREAD: "अपठित के रूप में चिह्नित करें", REPLY_TO_ARIA_LABEL: A.translation.REPLY_TO_ARIA_LABEL, REPLY_MODE_LEAVE_ARIA_LABEL: A.translation.REPLY_MODE_LEAVE_ARIA_LABEL, STATUS_INDICATOR_ONLINE: A.translation.STATUS_INDICATOR_ONLINE, STATUS_INDICATOR_OFFLINE: A.translation.STATUS_INDICATOR_OFFLINE } }, ba = { code: "hr-HR", name: "Croatian", translation: { YESTERDAY: "Jučer", TODAY: "Danas", DAYS: "d", HOURS: "s", MINUTES: "m", JUST_NOW: "Upravo sad", LOCATION: "Lokacija", CANCEL: "Otkaži", INBOX: "Pretinac", DESKTOP_NOTIFICATIONS: "Obavijesti preglednika", DESKTOP_NOTIFICATIONS_ERROR: "Notifikacije preglednika nisu omogućene jer ih vaš preglednik aktivno blokira. Pokušajte pogledati postavke ili koristiti neki drugi preglednik.", DESKTOP_NOTIFICATIONS_DEMO_TITLE: (e) => `${e} demo notifikacija`, DESKTOP_NOTIFICATIONS_DEMO_BODY: "Ako karticu preglednika ostavite otvorenu, pojavit će se ovaj pop-up kada netko razgovara s vama.", SEND_BUTTON_TEXT: "Pošalji", ENTRYBOX_TEXT_LIMIT: "Dozvoljeno je samo 10.000 znakova.", ENTRYBOX_PLACEHOLDER: "Reci nešto...", ENTRYBOX_PLACEHOLDER_CHAT_CLOSED: "Ovaj razgovor više nije aktivan.", ENTRYBOX_PLACEHOLDER_CHAT_READONLY: "Možeš čitati, ali ne i slati poruke.", MESSAGELIST_LOADING_OLDER: "Učitavam starije poruke...", MESSAGELIST_SHOW_OLDER: "Prikaži starije poruke", MESSAGELIST_NEW_MARKER: "Novo", MESSAGE_SENT_VIA_EMAIL: "Ova poruka je poslana e-poštom", YOU_MARKER: "ti", UPLOAD_IN_PROGRESS: "Učitavam...", UPLOAD_SEND_FILE: "Pošalji datoteku", UPLOAD_SHARE_LOCATION: "Podijeli lokaciju", UPLOAD_ERROR: "Nažalost, nešto je pošlo krivo. Datoteka možda nije podržana ili je prevelika.", SHARE_LOCATION_ERROR: "Nije moguće podijeliti lokaciju: ", LOADING: "Učitavam...", HUB_EMPTY: "Ovdje će se prikazati vaša povijest razgovora", HUB_SHOW_EARLIER: "Prikaži ranije razgovore", INBOX_NO_CHATS_TITLE: "Nema razgovora!", INBOX_NO_CHATS_BODY: "Nakon što vodite jedan ili više razgovora, oni će se pojaviti ovdje.", ENABLE_TRANSLATION: "Prevedi ovaj razgovor na hrvatski jezik", DISABLE_TRANSLATION: "Prikaži original", SEARCH_PLACEHOLDER_TEXT: "Pretraži...", SEARCH_SEARCHING: "Pretraživanje...", SEARCH_NO_RESULTS: "Nema rezultata", SEARCH_NO_MORE_RESULTS: "Nema više rezultata", CHAT_NOT_FOUND: "Razgovor nije pronađen", DELETE_MESSAGE: "Obriši poruku", DELETION_EXPLANATION: "Ako izbrišete ovu poruku, nestat će za sve.", EDIT_MESSAGE: "Uredi poruku", SAVE: "Spremi", EDITED_INDICATOR: "uređivao", REPLY_TO_MESSAGE: "Odgovorite", ADD_REACTION: "Dodajte reakciju", AUTH_EXPIRED_OVERLAY_TITLE: "Vaša sesija razgovora je istekla", AUTH_EXPIRED_OVERLAY_DESCRIPTION: "Osvježite stranicu za nastavak", VOICE_MESSAGE: "Glasovna poruka", CONTACT_INFORMATION_HIDDEN: "Skrivene informacije", LEAVE_CONVERSATION: "Napustiti razgovor", MARK_CONVERSATION_AS_UNREAD: "Označi kao nepročitano", REPLY_TO_ARIA_LABEL: A.translation.REPLY_TO_ARIA_LABEL, REPLY_MODE_LEAVE_ARIA_LABEL: A.translation.REPLY_MODE_LEAVE_ARIA_LABEL, STATUS_INDICATOR_ONLINE: A.translation.STATUS_INDICATOR_ONLINE, STATUS_INDICATOR_OFFLINE: A.translation.STATUS_INDICATOR_OFFLINE } }, Ba = { code: "hu-HU", name: "Hungarian", translation: { YESTERDAY: "Tegnap", TODAY: "Ma", DAYS: "n", HOURS: "ó", MINUTES: "p", JUST_NOW: "éppen most", LOCATION: "Helyszín", CANCEL: "Visszavonás", INBOX: "Postaláda", DESKTOP_NOTIFICATIONS: "Böngésző értesítések", DESKTOP_NOTIFICATIONS_ERROR: "Azért nem tudja bekapcsolni a böngésző értesítések funkciót, mert böngészője aktívan blokkolja azt. Tekintse meg a beállításokat vagy használjon másik böngészőt.", DESKTOP_NOTIFICATIONS_DEMO_TITLE: (e) => `${e} demo értesítés`, DESKTOP_NOTIFICATIONS_DEMO_BODY: "Ha nyitva hagyja böngészőjét, felugró ablak fog megjelenni, ha valaki beszélni szeretne Önnel.", SEND_BUTTON_TEXT: "Küldés", ENTRYBOX_TEXT_LIMIT: "Mindőssze 10.000 karakter megengedett.", ENTRYBOX_PLACEHOLDER: "Mondjon valamit...", ENTRYBOX_PLACEHOLDER_CHAT_CLOSED: "Ez a beszélgetés már nem aktív.", ENTRYBOX_PLACEHOLDER_CHAT_READONLY: "Elolvashatja az üzeneteket, de nem küldhet újat.", MESSAGELIST_LOADING_OLDER: "Korábbi üzenetek betöltése...", MESSAGELIST_SHOW_OLDER: "Korábbi üzenetek megjelenítése", MESSAGELIST_NEW_MARKER: "Új", MESSAGE_SENT_VIA_EMAIL: "Ez az üzenet e-mailben került elküldésre", YOU_MARKER: "Ön", UPLOAD_IN_PROGRESS: "Feltöltés...", UPLOAD_SEND_FILE: "Fájl küldése", UPLOAD_SHARE_LOCATION: "Helyszín megosztása", UPLOAD_ERROR: "Sajnos hiba történt a feltöltés során. A fájl nem támogatott vagy túl nagy.", SHARE_LOCATION_ERROR: "Helyszín megosztása nem lehetséges: ", LOADING: "Betöltés...", HUB_EMPTY: "A beszélgetések előzményei itt láthatók", HUB_SHOW_EARLIER: "Korábbi beszélgetések megjelenítése", INBOX_NO_CHATS_TITLE: "Még nincs megjeleníthető beszélgetés!", INBOX_NO_CHATS_BODY: "Amint egy vagy több beszélgetéssel rendelkezik, azok itt fognak megjelenni.", ENABLE_TRANSLATION: "A beszélgetés lefordítása erre a nyelvre: magyar", DISABLE_TRANSLATION: "Eredeti megjelenítése", SEARCH_PLACEHOLDER_TEXT: "Keresés...", SEARCH_SEARCHING: "Keresés...", SEARCH_NO_RESULTS: "Nincs találat", SEARCH_NO_MORE_RESULTS: "Nincs több találat", CHAT_NOT_FOUND: "A csevegés nem található", DELETE_MESSAGE: "Üzenet törlése", DELETION_EXPLANATION: "Ha törlöd ezt az üzenetet, az mindenki számára eltűnik.", EDIT_MESSAGE: "Üzenet szerkesztése", SAVE: "Mentés", EDITED_INDICATOR: "szerkesztve", REPLY_TO_MESSAGE: "Válaszadás", ADD_REACTION: "Reagálás erre", AUTH_EXPIRED_OVERLAY_TITLE: "Chat munkamenete lejárt", AUTH_EXPIRED_OVERLAY_DESCRIPTION: "Folytatáshoz frissítse az oldalt", VOICE_MESSAGE: "Hangüzenet", CONTACT_INFORMATION_HIDDEN: "Rejtett információ", LEAVE_CONVERSATION: "Kilépés a beszélgetésből", MARK_CONVERSATION_AS_UNREAD: "Megjelölés olvasatlanként", REPLY_TO_ARIA_LABEL: A.translation.REPLY_TO_ARIA_LABEL, REPLY_MODE_LEAVE_ARIA_LABEL: A.translation.REPLY_MODE_LEAVE_ARIA_LABEL, STATUS_INDICATOR_ONLINE: A.translation.STATUS_INDICATOR_ONLINE, STATUS_INDICATOR_OFFLINE: A.translation.STATUS_INDICATOR_OFFLINE } }, ya = { code: "id-ID", name: "Bahasa Indonesia", translation: { YESTERDAY: "Kemarin", TODAY: "Hari ini", DAYS: "h", HOURS: "j", MINUTES: "m", JUST_NOW: "sekarang", LOCATION: "Lokasi", CANCEL: "Batal", INBOX: "Kotak Masuk", DESKTOP_NOTIFICATIONS: "Notifikasi peramban", DESKTOP_NOTIFICATIONS_ERROR: "Tidak dapat mengaktifkan pemberitahuan browser karena browser Anda secara aktif memblokir mereka. Coba cari di pengaturan atau menggunakan browser yang berbeda.", DESKTOP_NOTIFICATIONS_DEMO_TITLE: (e) => `pemberitahuan demo ${e}`, DESKTOP_NOTIFICATIONS_DEMO_BODY: "Jika Anda membiarkan tab browser tetap terbuka, Anda akan melihat ini muncul ketika seseorang berbicara kepada Anda.", SEND_BUTTON_TEXT: "Kirim", ENTRYBOX_TEXT_LIMIT: "Hanya 10.000 karakter yang diizinkan.", ENTRYBOX_PLACEHOLDER: "Katakan sesuatu...", ENTRYBOX_PLACEHOLDER_CHAT_CLOSED: "Percakapan ini tidak lagi aktif.", ENTRYBOX_PLACEHOLDER_CHAT_READONLY: "Anda dapat membaca, tetapi tidak mengirim pesan.", MESSAGELIST_LOADING_OLDER: "Memuat pesan lama...", MESSAGELIST_SHOW_OLDER: "Tampilkan pesan yang lebih lama", MESSAGELIST_NEW_MARKER: "Baru", MESSAGE_SENT_VIA_EMAIL: "Pesan ini dikirim melalui email", YOU_MARKER: "Anda", UPLOAD_IN_PROGRESS: "Mengunggah...", UPLOAD_SEND_FILE: "Kirim mengajukan", UPLOAD_SHARE_LOCATION: "Bagikan lokasi", UPLOAD_ERROR: "Ada yang salah diunggah. File mungkin tidak didukung atau terlalu besar.", SHARE_LOCATION_ERROR: "Tidak dapat membagikan lokasi: ", LOADING: "Memuat...", HUB_EMPTY: "Riwayat obrolan Anda akan muncul di sini", HUB_SHOW_EARLIER: "Tampilkan obrolan sebelumnya", INBOX_NO_CHATS_TITLE: "Belum ada obrolan!", INBOX_NO_CHATS_BODY: "Setelah Anda melakukan satu atau lebih percakapan, mereka akan muncul di sini.", ENABLE_TRANSLATION: "Terjemahkan percakapan ini ke Indonesia", DISABLE_TRANSLATION: "Perlihatkan asli", SEARCH_PLACEHOLDER_TEXT: "Cari...", SEARCH_SEARCHING: "Mencari...", SEARCH_NO_RESULTS: "Tidak ditemukan hasil", SEARCH_NO_MORE_RESULTS: "Tidak ada hasil lainnya", CHAT_NOT_FOUND: "Obrolan tidak ditemukan", DELETE_MESSAGE: "Hapus pesan", DELETION_EXPLANATION: "Jika pesan ini Anda hapus, pesan ini akan tidak terlihat bagi siapa pun.", EDIT_MESSAGE: "Sunting pesan", SAVE: "Mentés", EDITED_INDICATOR: "diedit", REPLY_TO_MESSAGE: "Balas", ADD_REACTION: "Tambah reaksi", AUTH_EXPIRED_OVERLAY_TITLE: "Sesi obrolan Anda sudah lewat batas waktu", AUTH_EXPIRED_OVERLAY_DESCRIPTION: "Muat ulang halaman untuk melanjutkan", VOICE_MESSAGE: "Pesan suara", CONTACT_INFORMATION_HIDDEN: "Informasi tersembunyi", LEAVE_CONVERSATION: "Tinggalkan percakapan", MARK_CONVERSATION_AS_UNREAD: "Tandai sebagai Belum dibaca", REPLY_TO_ARIA_LABEL: A.translation.REPLY_TO_ARIA_LABEL, REPLY_MODE_LEAVE_ARIA_LABEL: A.translation.REPLY_MODE_LEAVE_ARIA_LABEL, STATUS_INDICATOR_ONLINE: A.translation.STATUS_INDICATOR_ONLINE, STATUS_INDICATOR_OFFLINE: A.translation.STATUS_INDICATOR_OFFLINE } }, wa = { code: "is-IS", name: "Íslenska", translation: { YESTERDAY: "Í gær", TODAY: "Í dag", DAYS: "dagar", HOURS: "klst.", MINUTES: "mín.", JUST_NOW: "núna", LOCATION: "Staðsetning", CANCEL: "Hætta við", INBOX: "Pósthólf", DESKTOP_NOTIFICATIONS: "Tilkynningar í vafra", DESKTOP_NOTIFICATIONS_ERROR: "Ekki er hægt að birta tilkynningar í vafra vegna þess að vafrinn sem þú notar hindrar það. Reyndu að leita að stillingum eða að nota annan vafra.", DESKTOP_NOTIFICATIONS_DEMO_TITLE: (e) => `${e} prufutilkynning`, DESKTOP_NOTIFICATIONS_DEMO_BODY: "Ef flipinn í vafranum er opinn muntu sjá þessa tilkynningu birtast þegar einhver sendir þér skilaboð.", SEND_BUTTON_TEXT: "Senda", ENTRYBOX_TEXT_LIMIT: "Aðeins 10.000 stafir komast fyrir.", ENTRYBOX_PLACEHOLDER: "Segðu eitthvað...", ENTRYBOX_PLACEHOLDER_CHAT_CLOSED: "Þessar samræður eru ekki lengar virkar.", ENTRYBOX_PLACEHOLDER_CHAT_READONLY: "Þú getur lesið, en ekki sent skilaboð.", MESSAGELIST_LOADING_OLDER: "Sæki eldri skilaboð...", MESSAGELIST_SHOW_OLDER: "Sýna eldri skilaboð", MESSAGELIST_NEW_MARKER: "Ný", MESSAGE_SENT_VIA_EMAIL: "Þessi skilaboð voru send með tölvupósti", YOU_MARKER: "þú", UPLOAD_IN_PROGRESS: "Hleð upp...", UPLOAD_SEND_FILE: "Senda skrá", UPLOAD_SHARE_LOCATION: "Deila staðsetningu", UPLOAD_ERROR: "Því miður fór eitthvað úrskeiðis við að hlaða upp. Skráin gæti verið af rangri tegund eð of stór.", SHARE_LOCATION_ERROR: "Ekki er hægt að deila staðsetningu: ", LOADING: "Hleð...", HUB_EMPTY: "Fyrri samtöl munu birtast hér", HUB_SHOW_EARLIER: "Sýna fyrri samtöl", INBOX_NO_CHATS_TITLE: "Engin samtöl enn!", INBOX_NO_CHATS_BODY: "Þegar þú hefur átt eitt eða fleiri samtöl, munu þau birtast hér.", ENABLE_TRANSLATION: "Þýða þetta samtal á ensku", DISABLE_TRANSLATION: "Sýna upprunalegt", SEARCH_PLACEHOLDER_TEXT: "Leita...", SEARCH_SEARCHING: "Leita...", SEARCH_NO_RESULTS: "Ekkert fannst", SEARCH_NO_MORE_RESULTS: "Engar fleiri niðurstöður", CHAT_NOT_FOUND: "Samtal fannst ekki", DELETE_MESSAGE: "Eyða skilaboðum", DELETION_EXPLANATION: "Ef þú eyðir þessum skilaboðum munu þau hverfa hjá öllum.", EDIT_MESSAGE: "Breyta skilaboðum", SAVE: "Vista", EDITED_INDICATOR: "breytt", REPLY_TO_MESSAGE: "Svara", REPLY_TO_ARIA_LABEL: (e, t) => `Svara ${e}: ${t}`, REPLY_MODE_LEAVE_ARIA_LABEL: "Fara úr svari", ADD_REACTION: "Setja inn viðbrögð", AUTH_EXPIRED_OVERLAY_TITLE: "Spjallið hefur runnið út", AUTH_EXPIRED_OVERLAY_DESCRIPTION: "Endurnýjaðu síðuna til að halda áfram", VOICE_MESSAGE: "Raddskilaboð", LEAVE_CONVERSATION: "Skilja eftir skilaboð", MARK_CONVERSATION_AS_UNREAD: "Merkja sem ólesið", STATUS_INDICATOR_ONLINE: "Virk", STATUS_INDICATOR_OFFLINE: "Ekki við", CONTACT_INFORMATION_HIDDEN: "faldar upplýsingar" } }, Ya = { code: "it-IT", name: "Italian", translation: { YESTERDAY: "Ieri", TODAY: "Oggi", DAYS: "g", HOURS: "o", MINUTES: "m", JUST_NOW: "adesso", LOCATION: "Posizione", CANCEL: "Annulla", INBOX: "Posta in arrivo", DESKTOP_NOTIFICATIONS: "Notifiche browser", DESKTOP_NOTIFICATIONS_ERROR: "Impossibile abilitare le notifiche browser perché il browser le blocca attivamente. Prova a cercare le impostazioni o utilizzare un browser diverso.", DESKTOP_NOTIFICATIONS_DEMO_TITLE: (e) => `${e} demo notification`, DESKTOP_NOTIFICATIONS_DEMO_BODY: "Se si mantiene aperta la scheda del browser, questo verrà visualizzato quando qualcuno ti parla.", SEND_BUTTON_TEXT: "Invia", ENTRYBOX_TEXT_LIMIT: "Sono consentiti solo 10.000 caratteri.", ENTRYBOX_PLACEHOLDER: "Dì qualcosa...", ENTRYBOX_PLACEHOLDER_CHAT_CLOSED: "Questa conversazione non è più attiva.", ENTRYBOX_PLACEHOLDER_CHAT_READONLY: "Puoi leggere, ma non inviare messaggi.", MESSAGELIST_LOADING_OLDER: "Caricamento dei messaggi precedenti...", MESSAGELIST_SHOW_OLDER: "Mostra messaggi precedenti", MESSAGELIST_NEW_MARKER: "Nuovo", MESSAGE_SENT_VIA_EMAIL: "Questo messaggio è stato inviato via email", YOU_MARKER: "tu", UPLOAD_IN_PROGRESS: "Caricamento in corso...", UPLOAD_SEND_FILE: "Invia file", UPLOAD_SHARE_LOCATION: "Condividi posizione", UPLOAD_ERROR: "Qualcosa è andato storto durante il caricamento. Il file potrebbe non essere supportato o troppo grande.", SHARE_LOCATION_ERROR: "Impossibile condividere la posizione: ", LOADING: "Caricamento in corso...", HUB_EMPTY: "La cronologia della tua chat verrà mostrata qui", HUB_SHOW_EARLIER: "Mostra chat precedenti", INBOX_NO_CHATS_TITLE: "Non ci sono ancora chat!", INBOX_NO_CHATS_BODY: "Una volta che hai avuto una o più conversazioni, verranno visualizzate qui.", ENABLE_TRANSLATION: "Traduci questa conversazione in italiano", DISABLE_TRANSLATION: "Mostra l'originale", SEARCH_PLACEHOLDER_TEXT: "Cerca...", SEARCH_SEARCHING: "Cercando...", SEARCH_NO_RESULTS: "Nessun risultato trovato", SEARCH_NO_MORE_RESULTS: "Non ci sono più risultati", CHAT_NOT_FOUND: "Chat non trovata", DELETE_MESSAGE: "Elimina messaggio", DELETION_EXPLANATION: "Se elimini il messaggio, questo scomparirà per tutti.", EDIT_MESSAGE: "Modifica messaggio", SAVE: "Salva", EDITED_INDICATOR: "modificato", REPLY_TO_MESSAGE: "Rispondi", ADD_REACTION: "Aggiungi reazione", AUTH_EXPIRED_OVERLAY_TITLE: "La sessione di chat è scaduta", AUTH_EXPIRED_OVERLAY_DESCRIPTION: "Aggiorna la pagina per continuare", VOICE_MESSAGE: "Messaggio vocale", CONTACT_INFORMATION_HIDDEN: "Informazioni nascoste", LEAVE_CONVERSATION: "Abbandona la conversazione", MARK_CONVERSATION_AS_UNREAD: "Segna come non letto", REPLY_TO_ARIA_LABEL: A.translation.REPLY_TO_ARIA_LABEL, REPLY_MODE_LEAVE_ARIA_LABEL: A.translation.REPLY_MODE_LEAVE_ARIA_LABEL, STATUS_INDICATOR_ONLINE: A.translation.STATUS_INDICATOR_ONLINE, STATUS_INDICATOR_OFFLINE: A.translation.STATUS_INDICATOR_OFFLINE } }, $a = { code: "ja-JP", name: "Japanese", translation: { YESTERDAY: "昨日", TODAY: "今日", DAYS: "日前", HOURS: "時間前", MINUTES: "分前", JUST_NOW: "たった今", LOCATION: "場所", CANCEL: "キャンセル", INBOX: "受信箱", DESKTOP_NOTIFICATIONS: "ブラウザの通知", DESKTOP_NOTIFICATIONS_ERROR: "ブラウザの通知はブロックされているため、ブラウザの通知を有効にできません。設定を確認するか、別のブラウザを使用してください。", DESKTOP_NOTIFICATIONS_DEMO_TITLE: (e) => `${e} デモ通知`, DESKTOP_NOTIFICATIONS_DEMO_BODY: "ブラウザのタブを開いたままにしておくと、誰かがあなたに話しかけたときにこのポップアップが表示されます。", SEND_BUTTON_TEXT: "送信", ENTRYBOX_TEXT_LIMIT: "許可されているのは10.000文字までです。", ENTRYBOX_PLACEHOLDER: "メッセージを入力してください", ENTRYBOX_PLACEHOLDER_CHAT_CLOSED: "この会話はもうアクティブではありません。", ENTRYBOX_PLACEHOLDER_CHAT_READONLY: "あなたは読むことはできますが、メッセージを送ることはできません。", MESSAGELIST_LOADING_OLDER: "古いメッセージを読み込んでいます...", MESSAGELIST_SHOW_OLDER: "古いメッセージを表示", MESSAGELIST_NEW_MARKER: "新着", MESSAGE_SENT_VIA_EMAIL: "このメッセージはメールで送信されました", YOU_MARKER: "あなたは", UPLOAD_IN_PROGRESS: "アップロード中...", UPLOAD_SEND_FILE: "ファイル送信", UPLOAD_SHARE_LOCATION: "共有場所", UPLOAD_ERROR: "アップロード中に問題が発生しました。ファイルがサポートされていないか、大きすぎる可能性があります。", SHARE_LOCATION_ERROR: "場所を共有できません: ", LOADING: "読み込み中...", HUB_EMPTY: "あなたのチャット履歴がここに表示されます", HUB_SHOW_EARLIER: "以前のチャットを表示", INBOX_NO_CHATS_TITLE: "まだチャットがありません!", INBOX_NO_CHATS_BODY: "会話が1つ以上あると、ここに表示されます", ENABLE_TRANSLATION: "この会話を日本語に翻訳する", DISABLE_TRANSLATION: "オリジナルを表示", SEARCH_PLACEHOLDER_TEXT: "検索...", SEARCH_SEARCHING: "検索中...", SEARCH_NO_RESULTS: "結果が見つかりません", SEARCH_NO_MORE_RESULTS: "これ以上結果はありません", CHAT_NOT_FOUND: "チャットが見つかりませんでした", DELETE_MESSAGE: "メッセージを削除する", DELETION_EXPLANATION: "このメッセージを削除すると、全ての人に表示されなくなります。", EDIT_MESSAGE: "メッセージを編集する", SAVE: "上書き保存", EDITED_INDICATOR: "編集", REPLY_TO_MESSAGE: "返信する", ADD_REACTION: "リアクションを追加", AUTH_EXPIRED_OVERLAY_TITLE: "チャットセッションの有効期限が切れました", AUTH_EXPIRED_OVERLAY_DESCRIPTION: "続けるにはページを更新してください", VOICE_MESSAGE: "ボイスメッセージ", CONTACT_INFORMATION_HIDDEN: "機密情報", LEAVE_CONVERSATION: "会話をやめる", MARK_CONVERSATION_AS_UNREAD: "未読としてマーク", REPLY_TO_ARIA_LABEL: A.translation.REPLY_TO_ARIA_LABEL, REPLY_MODE_LEAVE_ARIA_LABEL: A.translation.REPLY_MODE_LEAVE_ARIA_LABEL, STATUS_INDICATOR_ONLINE: A.translation.STATUS_INDICATOR_ONLINE, STATUS_INDICATOR_OFFLINE: A.translation.STATUS_INDICATOR_OFFLINE } }, Fa = { code: "ka-GE", name: "Georgian", translation: { YESTERDAY: "გუშინ", TODAY: "დღეს", DAYS: "დღ", HOURS: "სთ", MINUTES: "წთ", JUST_NOW: "ახლა", LOCATION: "ადგილმდებარეობა", CANCEL: "გაუქმება", INBOX: "მიღებული შეტყობინება", DESKTOP_NOTIFICATIONS: "ბრაუზერის შეტყობინებები", DESKTOP_NOTIFICATIONS_ERROR: "შეუძლებელია ბრაუზერის შეტკობინებების ჩართვა. ეს ბრაუზერი ბლოკავს მათ. სცადე ცვლილება ოპციებიდან ან გამოიყენე სხვა ბრაუზერი.", DESKTOP_NOTIFICATIONS_DEMO_TITLE: (e) => `${e} შეტყობინებების დემო ვერსია`, DESKTOP_NOTIFICATIONS_DEMO_BODY: "თუ დატოვებ ბრაუზერის ფანჯარას გახსნილს, როცა ვიღაც მოგწერს საუბარი ამოვარდება დესკტოპზე.", SEND_BUTTON_TEXT: "გაგზავნა", ENTRYBOX_TEXT_LIMIT: "დაშვებულია მხოლოდ 10.000 სიმბოლო.", ENTRYBOX_PLACEHOLDER: "დაწერე რაღაც...", ENTRYBOX_PLACEHOLDER_CHAT_CLOSED: "ეს დიალოგი აღარ არის ხელმისაწვდომი.", ENTRYBOX_PLACEHOLDER_CHAT_READONLY: "შეგიძლია წაიკითხო, მაგრამ ვერ გააგზავნი შეტყობინებას.", MESSAGELIST_LOADING_OLDER: "იტვირთება ძველი შეტყობინებები...", MESSAGELIST_SHOW_OLDER: "ძველი შეტყობინებების ჩვენება", MESSAGELIST_NEW_MARKER: "ახალი", MESSAGE_SENT_VIA_EMAIL: "ეს შეტყობინება გამოგზავნილია იმეილით", YOU_MARKER: "you", UPLOAD_IN_PROGRESS: "იტვირთება...", UPLOAD_SEND_FILE: "ფაილის გაგზავნა", UPLOAD_SHARE_LOCATION: "ადგილმდებარეობის გაზიარება", UPLOAD_ERROR: "პრობლემაა ატვირთვისას. ფაილის შესაძლოა არის არათავსებადი ან ძალიან დიდი.", SHARE_LOCATION_ERROR: "შეუძლებელია ადგილმდებარეობის გაზიარება: ", LOADING: "იტვირთება...", HUB_EMPTY: "საუბრების ისტორია გამოჩნდება აქ", HUB_SHOW_EARLIER: "წინა საუბრების ნახვა", INBOX_NO_CHATS_TITLE: "ჯერ-ჯერობით არ არის საუბრები!", INBOX_NO_CHATS_BODY: "უკვე დასრულებული საუბარები გამოჩნდება აქ", ENABLE_TRANSLATION: "თარგმნეთ ეს საუბარი ინგლისურად", DISABLE_TRANSLATION: "ორიგინალის ჩვენება", SEARCH_PLACEHOLDER_TEXT: "ძიება...", SEARCH_SEARCHING: "მიმდინარეობს ძიება...", SEARCH_NO_RESULTS: "შედეგები ვერ ქართველი", SEARCH_NO_MORE_RESULTS: "სხვა შედეგი ვერ მოიძებნა", CHAT_NOT_FOUND: "ჩატი ვერ მოიძებნა", DELETE_MESSAGE: "შეტყობინების წაშლა ", DELETION_EXPLANATION: "თუ ამ შეტყობინებას წაშლით, ის ყველასთვის გაქრება.", EDIT_MESSAGE: "შეტყობინების რედაქტირება", SAVE: "შენახვა", EDITED_INDICATOR: "რედაქტირებულია", REPLY_TO_MESSAGE: "პასუხის გაცემა", ADD_REACTION: "დაამატეთ რეაქცია", AUTH_EXPIRED_OVERLAY_TITLE: "თქვენი ჩეთის სესიის ვადა ამოიწურა", AUTH_EXPIRED_OVERLAY_DESCRIPTION: "განაახლეთ გვერდი გასაგრძელებლად", VOICE_MESSAGE: "ხმოვანი შეტყობინება", CONTACT_INFORMATION_HIDDEN: "ფარული ინფორმაცია", LEAVE_CONVERSATION: "საუბრის დატოვება", MARK_CONVERSATION_AS_UNREAD: "წაუკითხავად მონიშვნა", REPLY_TO_ARIA_LABEL: A.translation.REPLY_TO_ARIA_LABEL, REPLY_MODE_LEAVE_ARIA_LABEL: A.translation.REPLY_MODE_LEAVE_ARIA_LABEL, STATUS_INDICATOR_ONLINE: A.translation.STATUS_INDICATOR_ONLINE, STATUS_INDICATOR_OFFLINE: A.translation.STATUS_INDICATOR_OFFLINE } }, ja = { code: "ko-KR", name: "Korean (South Korea)", translation: { YESTERDAY: "어제", TODAY: "오늘", DAYS: "일 전", HOURS: "시간 전", MINUTES: "분 전", JUST_NOW: "방금", LOCATION: "위치", CANCEL: "취소", INBOX: "대화 목록", DESKTOP_NOTIFICATIONS: "브라우저 알림", DESKTOP_NOTIFICATIONS_ERROR: "브라우저 알림을 표시할 수 없습니다. 브라우저 설정을 확인하거나 다른 브라우저를 사용해주세요.", DESKTOP_NOTIFICATIONS_DEMO_TITLE: (e) => `${e} 데모 알림`, DESKTOP_NOTIFICATIONS_DEMO_BODY: "브라우저 탭을 열어 둔 상태에서 누군가 대화 할 때 이 팝업이 표시됩니다.", SEND_BUTTON_TEXT: "전송", ENTRYBOX_TEXT_LIMIT: "최대 10,000자까지 입력할 수 있습니다.", ENTRYBOX_PLACEHOLDER: "메세지를 입력하세요...", ENTRYBOX_PLACEHOLDER_CHAT_CLOSED: "채팅이 종료되었습니다.", ENTRYBOX_PLACEHOLDER_CHAT_READONLY: "읽기만 가능하며 메시지를 보낼 수 없습니다.", MESSAGELIST_LOADING_OLDER: "이전 메시지 로드 중...", MESSAGELIST_SHOW_OLDER: "이전 메시지 표시", MESSAGELIST_NEW_MARKER: "새 메시지", MESSAGE_SENT_VIA_EMAIL: "이 메시지는 이메일을 통해 전송되었습니다.", YOU_MARKER: "나", UPLOAD_IN_PROGRESS: "업로드 중...", UPLOAD_SEND_FILE: "파일 전송", UPLOAD_SHARE_LOCATION: "위치 공유", UPLOAD_ERROR: "업로드가 실패했습니다. 파일이 지원되지 않거나 너무 클 수 있습니다.", SHARE_LOCATION_ERROR: "위치를 공유 할 수 없습니다: ", LOADING: "로드 중...", HUB_EMPTY: "채팅 기록이 여기에 표시됩니다", HUB_SHOW_EARLIER: "이전 채팅보기", INBOX_NO_CHATS_TITLE: "아직 채팅이 없습니다!", INBOX_NO_CHATS_BODY: "대화가 하나 이상 있으면 여기에 표시됩니다.", ENABLE_TRANSLATION: "이 대화를 한국어로 번역", DISABLE_TRANSLATION: "원본 표시", SEARCH_PLACEHOLDER_TEXT: "검색...", SEARCH_SEARCHING: "검색 중...", SEARCH_NO_RESULTS: "검색 결과 없음", SEARCH_NO_MORE_RESULTS: "추가 검색 결과 없음", CHAT_NOT_FOUND: "대화를 찾지 못했습니다", DELETE_MESSAGE: "메시지 삭제", DELETION_EXPLANATION: "이 메시지를 삭제하면 모든 사람이 볼 수 없게 됩니다.", EDIT_MESSAGE: "메시지 편집하기", SAVE: "저장", EDITED_INDICATOR: "편집", REPLY_TO_MESSAGE: "회신", ADD_REACTION: "반응 추가", AUTH_EXPIRED_OVERLAY_TITLE: "채팅 세션이 만료되었습니다", AUTH_EXPIRED_OVERLAY_DESCRIPTION: "계속하려면 페이지를 새로고침하세요", VOICE_MESSAGE: "음성 메시지", CONTACT_INFORMATION_HIDDEN: "숨겨진 정보", LEAVE_CONVERSATION: "대화 떠나기", MARK_CONVERSATION_AS_UNREAD: "읽지 않은 상태로 표시", REPLY_TO_ARIA_LABEL: A.translation.REPLY_TO_ARIA_LABEL, REPLY_MODE_LEAVE_ARIA_LABEL: A.translation.REPLY_MODE_LEAVE_ARIA_LABEL, STATUS_INDICATOR_ONLINE: A.translation.STATUS_INDICATOR_ONLINE, STATUS_INDICATOR_OFFLINE: A.translation.STATUS_INDICATOR_OFFLINE } }, Va = { code: "nb-NO", name: "Norwegian (Bokmål)", translation: { YESTERDAY: "I går", TODAY: "I dag", DAYS: "d", HOURS: "h", MINUTES: "m", JUST_NOW: "Nå", LOCATION: "Plassering", CANCEL: "Avbryt", INBOX: "Innboks", DESKTOP_NOTIFICATIONS: "Nettleservarsler", DESKTOP_NOTIFICATIONS_ERROR: "Kan ikke aktivere Nettleservarsler fordi nettleseren din aktivt blokkerer dem. Prøv å se i innstillingene eller bruke en annen nettleser.", DESKTOP_NOTIFICATIONS_DEMO_TITLE: (e) => `${e} demo varslinger`, DESKTOP_NOTIFICATIONS_DEMO_BODY: "Hvis du holder nettleservinduet åpent, vil du se dette varsel når noen snakker til deg.", SEND_BUTTON_TEXT: "Send", ENTRYBOX_TEXT_LIMIT: "Kun 10.000 tegn er tillatt.", ENTRYBOX_PLACEHOLDER: "Si noe...", ENTRYBOX_PLACEHOLDER_CHAT_CLOSED: "Denne samtale er ikke lengre aktiv.", ENTRYBOX_PLACEHOLDER_CHAT_READONLY: "Du kan lese, men ikke sende meldinger.", MESSAGELIST_LOADING_OLDER: "Laster eldre meldinger...", MESSAGELIST_SHOW_OLDER: "Vis eldre meldinger", MESSAGELIST_NEW_MARKER: "Ny", MESSAGE_SENT_VIA_EMAIL: "Denne meldingen er sendt via e-post", YOU_MARKER: "deg", UPLOAD_IN_PROGRESS: "Laster opp...", UPLOAD_SEND_FILE: "Send fil", UPLOAD_SHARE_LOCATION: "Del din plassering", UPLOAD_ERROR: "Noe gikk galt i uplastingen. Det kan være filen ikke støttes eller for stor.", SHARE_LOCATION_ERROR: "Kan ikke dele plasseringen: ", LOADING: "Laster...", HUB_EMPTY: "Din chats historikk vil vises her", HUB_SHOW_EARLIER: "Vis tidligere chats", INBOX_NO_CHATS_TITLE: "Ingen chats enda!", INBOX_NO_CHATS_BODY: "Så snart du får en eller flere samtaler, vil de vises her.", ENABLE_TRANSLATION: "Oversett denne samtalen til norsk", DISABLE_TRANSLATION: "Vis original", SEARCH_PLACEHOLDER_TEXT: "Søk...", SEARCH_SEARCHING: "Søker...", SEARCH_NO_RESULTS: "Finner ingen resultater", SEARCH_NO_MORE_RESULTS: "Ingen flere resultater", CHAT_NOT_FOUND: "Chat ikke funnet", DELETE_MESSAGE: "Slett melding", DELETION_EXPLANATION: "Hvis du sletter denne meldingen, forsvinner den for alle.", EDIT_MESSAGE: "Rediger melding", SAVE: "Lagre", EDITED_INDICATOR: "redigert", REPLY_TO_MESSAGE: "Svar", ADD_REACTION: "Legg til reaksjon", AUTH_EXPIRED_OVERLAY_TITLE: "Chatøkten er utløpt", AUTH_EXPIRED_OVERLAY_DESCRIPTION: "Oppdater siden for å fortsette", VOICE_MESSAGE: "Lydmelding", CONTACT_INFORMATION_HIDDEN: "Skjult informasjon", LEAVE_CONVERSATION: "Forlat samtalen", MARK_CONVERSATION_AS_UNREAD: "Merk som ulest", REPLY_TO_ARIA_LABEL: A.translation.REPLY_TO_ARIA_LABEL, REPLY_MODE_LEAVE_ARIA_LABEL: A.translation.REPLY_MODE_LEAVE_ARIA_LABEL, STATUS_INDICATOR_ONLINE: A.translation.STATUS_INDICATOR_ONLINE, STATUS_INDICATOR_OFFLINE: A.translation.STATUS_INDICATOR_OFFLINE } }, xa = { code: "nl-NL", name: "Dutch", translation: { YESTERDAY: "Gisteren", TODAY: "Vandaag", DAYS: "d", HOURS: "u", MINUTES: "m", JUST_NOW: "zojuist", LOCATION: "Locatie", CANCEL: "Annuleren", INBOX: "Inbox", DESKTOP_NOTIFICATIONS: "Browsermeldingen", DESKTOP_NOTIFICATIONS_ERROR: "Browsermeldingen kunnen niet geactiveerd worden omdat de browser het blokkeert. Check de instellingen van je browser of probeer een andere browser.", DESKTOP_NOTIFICATIONS_DEMO_TITLE: (e) => `${e} demo notificatie`, DESKTOP_NOTIFICATIONS_DEMO_BODY: "Als je je browser open houdt, zie je deze popup als iemand tegen je praat.", SEND_BUTTON_TEXT: "Verzenden", ENTRYBOX_TEXT_LIMIT: "Maximaal 10.000 tekens toegestaan.", ENTRYBOX_PLACEHOLDER: "Typ een bericht...", ENTRYBOX_PLACEHOLDER_CHAT_CLOSED: "Dit gesprek is niet actief meer.", ENTRYBOX_PLACEHOLDER_CHAT_READONLY: "Je kunt geen berichten sturen.", MESSAGELIST_LOADING_OLDER: "Eerdere berichten laden...", MESSAGELIST_SHOW_OLDER: "Laad eerdere berichten", MESSAGELIST_NEW_MARKER: "Nieuw", MESSAGE_SENT_VIA_EMAIL: "Dit bericht is verstuurd via e-mail", YOU_MARKER: "jij", UPLOAD_IN_PROGRESS: "Uploaden...", UPLOAD_SEND_FILE: "Verzend bestand", UPLOAD_SHARE_LOCATION: "Deel locatie", UPLOAD_ERROR: "Er ging iets mis. Het bestand wordt niet ondersteund of is te groot.", SHARE_LOCATION_ERROR: "Locatie delen mislukt: ", LOADING: "Bezig met laden...", HUB_EMPTY: "Berichtengeschiedenis wordt hier weergegeven", HUB_SHOW_EARLIER: "Laat eerdere berichten zien", INBOX_NO_CHATS_TITLE: "Nog geen chats!", INBOX_NO_CHATS_BODY: "Zodra je een of meerdere conversaties hebt gehad, worden deze hier weergegeven.", ENABLE_TRANSLATION: "Vertaal dit gesprek naar het Nederlands", DISABLE_TRANSLATION: "Toon oorspronkelijk gesprek", SEARCH_PLACEHOLDER_TEXT: "Zoek...", SEARCH_SEARCHING: "Zoeken...", SEARCH_NO_RESULTS: "Geen resultaten gevonden", SEARCH_NO_MORE_RESULTS: "Niet meer resultaten", CHAT_NOT_FOUND: "Chat niet gevonden", DELETE_MESSAGE: "Bericht verwijderen", DELETION_EXPLANATION: "Als je dit bericht verwijdert, zal het voor iedereen verdwijnen.", EDIT_MESSAGE: "Bericht bewerken", SAVE: "Opslaan", EDITED_INDICATOR: "bewerkt", REPLY_TO_MESSAGE: "Beantwoorden", ADD_REACTION: "Reactie toevoegen", AUTH_EXPIRED_OVERLAY_TITLE: "Je chatsessie is verlopen", AUTH_EXPIRED_OVERLAY_DESCRIPTION: "Ververs de pagina om door te gaan", VOICE_MESSAGE: "Spraakbericht", CONTACT_INFORMATION_HIDDEN: "verborgen informatie", LEAVE_CONVERSATION: "Gesprek verlaten", MARK_CONVERSATION_AS_UNREAD: "Markeren als ongelezen", REPLY_TO_ARIA_LABEL: A.translation.REPLY_TO_ARIA_LABEL, REPLY_MODE_LEAVE_ARIA_LABEL: A.translation.REPLY_MODE_LEAVE_ARIA_LABEL, STATUS_INDICATOR_ONLINE: A.translation.STATUS_INDICATOR_ONLINE, STATUS_INDICATOR_OFFLINE: A.translation.STATUS_INDICATOR_OFFLINE } }, Xa = { code: "pl-PL", name: "Polish", translation: { YESTERDAY: "Wczoraj", TODAY: "Dzisiaj", DAYS: "d", HOURS: "h", MINUTES: "m", JUST_NOW: "teraz", LOCATION: "Lokalizacja", CANCEL: "Anuluj", INBOX: "Skrzynka odbiorcza", DESKTOP_NOTIFICATIONS: "Powiadomienia", DESKTOP_NOTIFICATIONS_ERROR: "Nie można aktywować powiadomień, ponieważ twoja przeglądarka je blokuje. Proszę zmienić ustawienie lub spróbować innej przeglądarki.", DESKTOP_NOTIFICATIONS_DEMO_TITLE: (e) => `${e} przykładowe powiadomienie`, DESKTOP_NOTIFICATIONS_DEMO_BODY: "Jeśli zostawisz tę kartę otwartą, zobaczysz takie powiadomienie, gdy ktoś napisze do Ciebie.", SEND_BUTTON_TEXT: "Wyślij", ENTRYBOX_TEXT_LIMIT: "Nie można wysyłać więcej niż 10000 znaków.", ENTRYBOX_PLACEHOLDER: "Napisz coś...", ENTRYBOX_PLACEHOLDER_CHAT_CLOSED: "Ten czat nie jest aktywny.", ENTRYBOX_PLACEHOLDER_CHAT_READONLY: "Możesz czytać wiadomości, ale nie możesz ich wysyłać.", MESSAGELIST_LOADING_OLDER: "Wczytuję starsze wiadomości...", MESSAGELIST_SHOW_OLDER: "Zobacz starsze wiadomości", MESSAGELIST_NEW_MARKER: "Nowe", MESSAGE_SENT_VIA_EMAIL: "Ta wiadomość została wysłana przez email.", YOU_MARKER: "ty", UPLOAD_IN_PROGRESS: "Przesyłanie...", UPLOAD_SEND_FILE: "Prześlij plik", UPLOAD_SHARE_LOCATION: "Udostępnij lokalizację", UPLOAD_ERROR: "Coś poszło nie tak. Plik może być zbyt duży lub jest nieobsługiwany.", SHARE_LOCATION_ERROR: "Nie da się udostępnić lokalizacji: ", LOADING: "Ładowanie...", HUB_EMPTY: "Twoje czaty pojawią się tutaj", HUB_SHOW_EARLIER: "Zobacz starsze czaty", INBOX_NO_CHATS_TITLE: "Brak czatów!", INBOX_NO_CHATS_BODY: "Rozpoczęte konwersacje pojawią się tutaj.", ENABLE_TRANSLATION: "Przetłumacz tę konwersację na język polski", DISABLE_TRANSLATION: "Pokaż oryginał", SEARCH_PLACEHOLDER_TEXT: "Wyszukaj...", SEARCH_SEARCHING: "Wyszukiwanie...", SEARCH_NO_RESULTS: "Nie znaleziono wyników", SEARCH_NO_MORE_RESULTS: "Nie ma innych wyników", CHAT_NOT_FOUND: "Nie znaleziono konwersacji", DELETE_MESSAGE: "Usuń wiadomość", DELETION_EXPLANATION: "Jeśli usuniesz tę wiadomość, przestanie być widoczna dla wszystkich.", EDIT_MESSAGE: "Edytuj wiadomość", SAVE: "Zapisz", EDITED_INDICATOR: "edytowano", REPLY_TO_MESSAGE: "Odpowiedz", ADD_REACTION: "Dodaj reakcję", AUTH_EXPIRED_OVERLAY_TITLE: "Twoja sesja wygasła", AUTH_EXPIRED_OVERLAY_DESCRIPTION: "Odśwież stronę, aby kontynuować", VOICE_MESSAGE: "Wiadomość głosowa", CONTACT_INFORMATION_HIDDEN: "Ukryte informacje", LEAVE_CONVERSATION: "Opuść konwersację", MARK_CONVERSATION_AS_UNREAD: "Oznacz jako nieprzeczytane", REPLY_TO_ARIA_LABEL: A.translation.REPLY_TO_ARIA_LABEL, REPLY_MODE_LEAVE_ARIA_LABEL: A.translation.REPLY_MODE_LEAVE_ARIA_LABEL, STATUS_INDICATOR_ONLINE: A.translation.STATUS_INDICATOR_ONLINE, STATUS_INDICATOR_OFFLINE: A.translation.STATUS_INDICATOR_OFFLINE } }, Ga = { code: "pt-BR", name: "Portuguese (Brazil)", translation: { YESTERDAY: "Ontem", TODAY: "Hoje", DAYS: "d", HOURS: "h", MINUTES: "m", JUST_NOW: "agora mesmo", LOCATION: "Localização", CANCEL: "Cancelar", INBOX: "Caixa de entrada", DESKTOP_NOTIFICATIONS: "Notificações do navegador", DESKTOP_NOTIFICATIONS_ERROR: "Não é possível ativar as notificações da navegador porque seu navegador as bloqueia. Tente procurar nas configurações ou usar um navegador diferente.", DESKTOP_NOTIFICATIONS_DEMO_TITLE: (e) => `${e} notificação de demonstração`, DESKTOP_NOTIFICATIONS_DEMO_BODY: "Se você mantiver a guia do navegador aberta, verá essa mensagem quando alguém falar com você.", SEND_BUTTON_TEXT: "Enviar", ENTRYBOX_TEXT_LIMIT: "Apenas 10.000 caracteres são permitidos.", ENTRYBOX_PLACEHOLDER: "Diga algo...", ENTRYBOX_PLACEHOLDER_CHAT_CLOSED: "Esta conversa não está mais ativa.", ENTRYBOX_PLACEHOLDER_CHAT_READONLY: "Você pode ler, mas não enviar mensagens.", MESSAGELIST_LOADING_OLDER: "Carregando mensagens antigas...", MESSAGELIST_SHOW_OLDER: "Mostrar mensagens mais antigas", MESSAGELIST_NEW_MARKER: "Novo", MESSAGE_SENT_VIA_EMAIL: "Esta mensagem foi enviada via email.", YOU_MARKER: "Você", UPLOAD_IN_PROGRESS: "Carregando...", UPLOAD_SEND_FILE: "Enviar arquivo", UPLOAD_SHARE_LOCATION: "Compartilhar localização", UPLOAD_ERROR: "Algo deu errado ao fazer o upload. O arquivo pode não ter suporte ou ser muito grande.", SHARE_LOCATION_ERROR: "Não é possível compartilhar o local: ", LOADING: "Carregando...", HUB_EMPTY: "Seu histórico de conversas será exibido aqui", HUB_SHOW_EARLIER: "Mostrar conversas anteriores", INBOX_NO_CHATS_TITLE: "Ainda não há chats!", INBOX_NO_CHATS_BODY: "Depois de ter uma ou mais conversas, elas serão exibidas aqui.", ENABLE_TRANSLATION: "Traduzir esta conversa para português", DISABLE_TRANSLATION: "Ver a conversa não traduzida", SEARCH_PLACEHOLDER_TEXT: "Busca...", SEARCH_SEARCHING: "Consultando...", SEARCH_NO_RESULTS: "Resultados nao encontrados", SEARCH_NO_MORE_RESULTS: "Não há mais resultados", CHAT_NOT_FOUND: "Conversa não encontrada", DELETE_MESSAGE: "Excluir mensagem", DELETION_EXPLANATION: "Se você excluir esta mensagem, ela desaparecerá para todos.", EDIT_MESSAGE: "Editar mensagem", SAVE: "Salvar", EDITED_INDICATOR: "editada", REPLY_TO_MESSAGE: "Responder", ADD_REACTION: "Adicionar reação", AUTH_EXPIRED_OVERLAY_TITLE: "Sua sessão de chat expirou", AUTH_EXPIRED_OVERLAY_DESCRIPTION: "Atualize a página para continuar", VOICE_MESSAGE: "Mensagem de voz", LEAVE_CONVERSATION: "Sair da conversa", MARK_CONVERSATION_AS_UNREAD: "Marcar como não lida", CONTACT_INFORMATION_HIDDEN: "Informação oculta", REPLY_TO_ARIA_LABEL: A.translation.REPLY_TO_ARIA_LABEL, REPLY_MODE_LEAVE_ARIA_LABEL: A.translation.REPLY_MODE_LEAVE_ARIA_LABEL, STATUS_INDICATOR_ONLINE: A.translation.STATUS_INDICATOR_ONLINE, STATUS_INDICATOR_OFFLINE: A.translation.STATUS_INDICATOR_OFFLINE } }, za = { code: "ro-RO", name: "Romanian (Romania)", translation: { YESTERDAY: "Ieri", TODAY: "Astăzi", DAYS: "z", HOURS: "o", MINUTES: "m", JUST_NOW: "chiar acum", LOCATION: "Locație", CANCEL: "Anulare", INBOX: "Inbox", DESKTOP_NOTIFICATIONS: "Notificări browser", DESKTOP_NOTIFICATIONS_ERROR: "Nu se pot activa notificări browser deoarece browserul dvs. le blochează în mod activ. Încercați să căutați în setări sau utilizând un alt browser.", DESKTOP_NOTIFICATIONS_DEMO_TITLE: (e) => `Notificare de debit ${e}`, DESKTOP_NOTIFICATIONS_DEMO_BODY: "Dacă țineți fișa browserului deschis, veți vedea acest pop-up atunci când cineva vorbește cu dvs.", SEND_BUTTON_TEXT: "Trimiteți", ENTRYBOX_TEXT_LIMIT: "Sunt permise numai 10.000 de caractere.", ENTRYBOX_PLACEHOLDER: "Spune ceva...", ENTRYBOX_PLACEHOLDER_CHAT_CLOSED: "Această conversație nu mai este activă.", ENTRYBOX_PLACEHOLDER_CHAT_READONLY: "Puteți citi, dar nu puteți trimite mesaje.", MESSAGELIST_LOADING_OLDER: "Încărcarea mesajelor mai vechi...", MESSAGELIST_SHOW_OLDER: "Afișați mesaje mai vechi", MESSAGELIST_NEW_MARKER: "Nou", MESSAGE_SENT_VIA_EMAIL: "Acest mesaj a fost trimis prin e-mail", YOU_MARKER: "voi", UPLOAD_IN_PROGRESS: "Încărcarea...", UPLOAD_SEND_FILE: "Trimiteți fișierul", UPLOAD_SHARE_LOCATION: "Distribuiți locația", UPLOAD_ERROR: "Sa încărcat ceva în mod greșit. Fișierul ar putea fi neacceptat sau prea mare.", SHARE_LOCATION_ERROR: "Nu se poate partaja locația: ", LOADING: "Încărcare...", HUB_EMPTY: "Istoricul chat-ului dvs. va apărea aici", HUB_SHOW_EARLIER: "Afișați discuțiile anterioare", INBOX_NO_CHATS_TITLE: "Încă nu vorbești!", INBOX_NO_CHATS_BODY: "După ce ați avut una sau mai multe conversații, acestea vor apărea aici.", ENABLE_TRANSLATION: "Traduceți această conversație în română", DISABLE_TRANSLATION: "Arată originalul", SEARCH_PLACEHOLDER_TEXT: "Căutare...", SEARCH_SEARCHING: "Se caută...", SEARCH_NO_RESULTS: "Nu s-au găsit rezultate", SEARCH_NO_MORE_RESULTS: "Nu mai există rezultate", CHAT_NOT_FOUND: "Conversația nu a fost găsită", DELETE_MESSAGE: "Șterge mesajul", DELETION_EXPLANATION: "Dacă ștergi acest mesaj, acesta va dispărea pentru toată lumea.", EDIT_MESSAGE: "Redactează mesajul", SAVE: "Salvare", EDITED_INDICATOR: "editat", REPLY_TO_MESSAGE: "Răspundeți", ADD_REACTION: "Adaugă o reacție", AUTH_EXPIRED_OVERLAY_TITLE: "Sesiunea dumneavoastră de chat a expirat", AUTH_EXPIRED_OVERLAY_DESCRIPTION: "Reîmprospătați pagina pentru a continua", VOICE_MESSAGE: "Mesaj vocal", CONTACT_INFORMATION_HIDDEN: "Informații ascunse", LEAVE_CONVERSATION: "Părăsește conversația", MARK_CONVERSATION_AS_UNREAD: "Marcheaza ca necitit", REPLY_TO_ARIA_LABEL: A.translation.REPLY_TO_ARIA_LABEL, REPLY_MODE_LEAVE_ARIA_LABEL: A.translation.REPLY_MODE_LEAVE_ARIA_LABEL, STATUS_INDICATOR_ONLINE: A.translation.STATUS_INDICATOR_ONLINE, STATUS_INDICATOR_OFFLINE: A.translation.STATUS_INDICATOR_OFFLINE } }, Ka = { code: "ru-RU", name: "Russian", translation: { YESTERDAY: "Вчера", TODAY: "Сегодня", DAYS: "д", HOURS: "ч", MINUTES: "м", JUST_NOW: "только что", LOCATION: "Местоположение", CANCEL: "Отмена", INBOX: "Входящие", DESKTOP_NOTIFICATIONS: "Оповещения", DESKTOP_NOTIFICATIONS_ERROR: "Невозможно включить оповещения, потому что ваш браузер активно блокирует их. Проверьте ваши настройки или попробуйте другой браузер.", DESKTOP_NOTIFICATIONS_DEMO_TITLE: (e) => `${e} демо-оповещение`, DESKTOP_NOTIFICATIONS_DEMO_BODY: "Если вкладка вашего браузера открыта, вы увидите всплывающее окошко оповещения когда кто-то отправит вам сообщение.", SEND_BUTTON_TEXT: "Отправить", ENTRYBOX_TEXT_LIMIT: "Разрешено использовать только 10 тысяч символов.", ENTRYBOX_PLACEHOLDER: "Напишите что-нибудь...", ENTRYBOX_PLACEHOLDER_CHAT_CLOSED: "Этот разговор больше неактивен.", ENTRYBOX_PLACEHOLDER_CHAT_READONLY: "Вы можете читать, но не отправлять сообщения.", MESSAGELIST_LOADING_OLDER: "Загрузка старых сообщения...", MESSAGELIST_SHOW_OLDER: "Показать старые сообщения", MESSAGELIST_NEW_MARKER: "Новые", MESSAGE_SENT_VIA_EMAIL: "Это сообщение было отправлено по электронной почте", YOU_MARKER: "вы", UPLOAD_IN_PROGRESS: "Загрузка...", UPLOAD_SEND_FILE: "Отправить файл", UPLOAD_SHARE_LOCATION: "Поделиться местоположением", UPLOAD_ERROR: "Что-то пошло не так: такой файл не поддерживается или он слишком большой.", SHARE_LOCATION_ERROR: "Не удается поделиться местоположением: ", LOADING: "Загрузка...", HUB_EMPTY: "Здесь появится ваша история чата", HUB_SHOW_EARLIER: "Показать предыдущие чаты", INBOX_NO_CHATS_TITLE: "Пока нет чатов!", INBOX_NO_CHATS_BODY: "Как только у вас будет один или несколько разговоров, они появятся здесь.", ENABLE_TRANSLATION: "Переведите этот разговор на русский", DISABLE_TRANSLATION: "Show source", SEARCH_PLACEHOLDER_TEXT: "поиск...", SEARCH_SEARCHING: "Поиск...", SEARCH_NO_RESULTS: "Результаты не найдены", SEARCH_NO_MORE_RESULTS: "Больше результатов нет", CHAT_NOT_FOUND: "Чат не найден", DELETE_MESSAGE: "Удалить сообщение", DELETION_EXPLANATION: "Если вы удалите это сообщение, оно исчезнет для всех.", EDIT_MESSAGE: "Изменить сообщение", SAVE: "сохранить", EDITED_INDICATOR: "изменено", REPLY_TO_MESSAGE: "Ответить", ADD_REACTION: "Добавить реакцию", AUTH_EXPIRED_OVERLAY_TITLE: "Срок действия вашего сеанса чата истек", AUTH_EXPIRED_OVERLAY_DESCRIPTION: "Обновите страницу, чтобы продолжить", VOICE_MESSAGE: "Голосовое сообщение", CONTACT_INFORMATION_HIDDEN: "Информация скрыта", LEAVE_CONVERSATION: "Выйти из беседы", MARK_CONVERSATION_AS_UNREAD: "Отметить как непрочитанное", REPLY_TO_ARIA_LABEL: A.translation.REPLY_TO_ARIA_LABEL, REPLY_MODE_LEAVE_ARIA_LABEL: A.translation.REPLY_MODE_LEAVE_ARIA_LABEL, STATUS_INDICATOR_ONLINE: A.translation.STATUS_INDICATOR_ONLINE, STATUS_INDICATOR_OFFLINE: A.translation.STATUS_INDICATOR_OFFLINE } }, Wa = { code: "sq-AL", name: "Albanian", translation: { YESTERDAY: "Dje", TODAY: "Sot", DAYS: "d", HOURS: "o", MINUTES: "m", JUST_NOW: "Tani", LOCATION: "Pozicion", CANCEL: "Anulo", INBOX: "Inbox", DESKTOP_NOTIFICATIONS: "Njoftimet e shfletuesit", DESKTOP_NOTIFICATIONS_ERROR: "Nuk mund të aktivizohen njoftimet në shfletues sepse shfletuesi juaj i bllokon ato në mënyrë aktive. Provoni të shikoni cilësimet ose përdorni një shfletues të ndryshëm.", DESKTOP_NOTIFICATIONS_DEMO_TITLE: (e) => `${e} njoftime në desktop`, DESKTOP_NOTIFICATIONS_DEMO_BODY: "Lënia e skedës së shfletuesit tuaj të hapur do të pop-up kur dikush flet me ju.", SEND_BUTTON_TEXT: "Dërgo", ENTRYBOX_TEXT_LIMIT: "Lejohen vetëm 10,000 karaktere", ENTRYBOX_PLACEHOLDER: "Thuaj diçka...", ENTRYBOX_PLACEHOLDER_CHAT_CLOSED: "Kjo bisedë nuk është më aktive.", ENTRYBOX_PLACEHOLDER_CHAT_READONLY: "Mund të lexoni por jo të dërgoni mesazhe.", MESSAGELIST_LOADING_OLDER: "Duke ngarkuar mesazhe më të vjetra...", MESSAGELIST_SHOW_OLDER: "Trego mesazhe më të vjetra", MESSAGELIST_NEW_MARKER: "E ri", MESSAGE_SENT_VIA_EMAIL: "Ky mesazh u dërgua si email", YOU_MARKER: "ti", UPLOAD_IN_PROGRESS: "Ngarkim...", UPLOAD_SEND_FILE: "Dërgo datotekën", UPLOAD_SHARE_LOCATION: "Ndani lokacionin", UPLOAD_ERROR: "Na vjen keq, diçka nuk shkoi si duhet. Dosja mund të mos ket mbështetje ose mund të jetë shumë e madhe.", SHARE_LOCATION_ERROR: "Nuk mund të ndahet lokacioni: ", LOADING: "Ngarkim...", HUB_EMPTY: "Këtu do të paraqitet/ shfaqet historia e bisedës tuaj", HUB_SHOW_EARLIER: "Shfaqi bisedat e mëparshme", INBOX_NO_CHATS_TITLE: "Nuk ka biseda!", INBOX_NO_CHATS_BODY: "Pasi të keni një ose më shumë biseda, ato do të paraqiten/shfaqen këtu.", ENABLE_TRANSLATION: "Përkthejeni këtë bisedë në shqiptare", DISABLE_TRANSLATION: "Shikoni origjinalin", SEARCH_PLACEHOLDER_TEXT: "Kërko...", SEARCH_SEARCHING: "Kërko...", SEARCH_NO_RESULTS: "Nuk ka rezultate", SEARCH_NO_MORE_RESULTS: "Nuk ka më rezultate", CHAT_NOT_FOUND: "Biseda nuk u gjet", DELETE_MESSAGE: "Fshi mesazhin", DELETION_EXPLANATION: "Nëse e fshini këtë mesazh, ai do të zhduket për të gjithë.", EDIT_MESSAGE: "Redakto mesazhin", SAVE: "Ruaj", EDITED_INDICATOR: "redaktuar", REPLY_TO_MESSAGE: "Përgjigj", ADD_REACTION: "Shtoni reagimin", AUTH_EXPIRED_OVERLAY_TITLE: "Sesioni juaj i bisedës ka skaduar", AUTH_EXPIRED_OVERLAY_DESCRIPTION: "Rifresko faqen për të vazhduar", VOICE_MESSAGE: "Mesazh zanor", CONTACT_INFORMATION_HIDDEN: "informacione të fshehura", LEAVE_CONVERSATION: "Largohu nga bashkëbisedimi", MARK_CONVERSATION_AS_UNREAD: "Shëno si të palexuar", REPLY_TO_ARIA_LABEL: A.translation.REPLY_TO_ARIA_LABEL, REPLY_MODE_LEAVE_ARIA_LABEL: A.translation.REPLY_MODE_LEAVE_ARIA_LABEL, STATUS_INDICATOR_ONLINE: A.translation.STATUS_INDICATOR_ONLINE, STATUS_INDICATOR_OFFLINE: A.translation.STATUS_INDICATOR_OFFLINE } }, qa = { code: "sr-SP", name: "Serbian", translation: { YESTERDAY: "Juče", TODAY: "Danas", DAYS: "d", HOURS: "s", MINUTES: "m", JUST_NOW: "Upravo sad", LOCATION: "Lokacija", CANCEL: "Otkaži", INBOX: "Pretinac", DESKTOP_NOTIFICATIONS: "Browser Notifikacija", DESKTOP_NOTIFICATIONS_ERROR: "Browser notifikacije nisu omogućene jer ih vaš pregledač aktivno blokira. Pokušajte pogledati postavke ili koristiti neki drugi pregledač.", DESKTOP_NOTIFICATIONS_DEMO_TITLE: (e) => `${e} demo notifikacija`, DESKTOP_NOTIFICATIONS_DEMO_BODY: "Ako karticu pregledača ostavite otvorenu, pojaviće se ovaj pop-up kada neko razgovara s vama.", SEND_BUTTON_TEXT: "Pošalji", ENTRYBOX_TEXT_LIMIT: "Dozvoljeno je samo 10.000 znakova.", ENTRYBOX_PLACEHOLDER: "Kaži nešto...", ENTRYBOX_PLACEHOLDER_CHAT_CLOSED: "Ovaj razgovor više nije aktivan.", ENTRYBOX_PLACEHOLDER_CHAT_READONLY: "Možete da čitate, ali ne i da šaljete poruke.", MESSAGELIST_LOADING_OLDER: "Učitavam starije poruke...", MESSAGELIST_SHOW_OLDER: "Prikaži starije poruke", MESSAGELIST_NEW_MARKER: "Novo", MESSAGE_SENT_VIA_EMAIL: "Ova poruka je poslana imejlom", YOU_MARKER: "ti", UPLOAD_IN_PROGRESS: "Učitavam...", UPLOAD_SEND_FILE: "Pošalji datoteku", UPLOAD_SHARE_LOCATION: "Podeli lokaciju", UPLOAD_ERROR: "Nažalost, nešto je pošlo krivo. Datoteka možda nije podržana ili je prevelika.", SHARE_LOCATION_ERROR: "Nije moguće podeliti lokaciju: ", LOADING: "Učitavam...", HUB_EMPTY: "Ovde će biti prikazana istorija razgovora", HUB_SHOW_EARLIER: "Prikaži ranije razgovore", INBOX_NO_CHATS_TITLE: "Nema razgovora!", INBOX_NO_CHATS_BODY: "Nakon što vodite jedan ili više razgovora, oni će se pojaviti ovde.", ENABLE_TRANSLATION: "Prevedi ovaj razgovor na srpski jezik", DISABLE_TRANSLATION: "Prikaži original", SEARCH_PLACEHOLDER_TEXT: "Pretraži...", SEARCH_SEARCHING: "Pretraživanje...", SEARCH_NO_RESULTS: "Nema rezultata", SEARCH_NO_MORE_RESULTS: "Nema više rezultata", CHAT_NOT_FOUND: "Ćaskanje nije pronađeno", DELETE_MESSAGE: "Izbriši poruku", DELETION_EXPLANATION: "Ako obrišete ovu poruku, ona neće biti vidljiva ni za koga.", EDIT_MESSAGE: "Ispravi poruku", SAVE: "Sačuvaj", EDITED_INDICATOR: "ispravljeno", REPLY_TO_MESSAGE: "Odgovorite", ADD_REACTION: "Dodaj reakciju", AUTH_EXPIRED_OVERLAY_TITLE: "Vaša sesija ćaskanja je istekla", AUTH_EXPIRED_OVERLAY_DESCRIPTION: "Osvežite stranicu da biste nastavili", VOICE_MESSAGE: "Glasovna poruka", CONTACT_INFORMATION_HIDDEN: "Sakrivene informacije", LEAVE_CONVERSATION: "Napusti razgovor", MARK_CONVERSATION_AS_UNREAD: "Označi kao nepročitanu", REPLY_TO_ARIA_LABEL: (e, t) => `Odgovarate korisniku ${e}: ${t}`, REPLY_MODE_LEAVE_ARIA_LABEL: "Izađi iz moda pisanja odgovora", STATUS_INDICATOR_ONLINE: "Aktivan", STATUS_INDICATOR_OFFLINE: "Neaktivan" } }, Ja = { code: "sv-SE", name: "Swedish (Sweden)", translation: { YESTERDAY: "Igår", TODAY: "Idag", DAYS: "d", HOURS: "h", MINUTES: "m", JUST_NOW: "just nu", LOCATION: "Plats", CANCEL: "Avbryt", INBOX: "Inkorg", DESKTOP_NOTIFICATIONS: "Webbläsarnotiser", DESKTOP_NOTIFICATIONS_ERROR: "Kan inte aktivera webbläsarnotiser eftersom din webbläsare aktivt blockerar dem. Se över inställningarna eller använd en annan webbläsare.", DESKTOP_NOTIFICATIONS_DEMO_TITLE: (e) => `${e} demonotis`, DESKTOP_NOTIFICATIONS_DEMO_BODY: "Om du har fliken i webbläsaren öppen så kommer den här notisen visas när någon pratar med dig.", SEND_BUTTON_TEXT: "Skicka", ENTRYBOX_TEXT_LIMIT: "Max 10 000 tecken är tillåtet.", ENTRYBOX_PLACEHOLDER: "Skriv ett meddelande...", ENTRYBOX_PLACEHOLDER_CHAT_CLOSED: "Den här konversationen är inte längre aktiv.", ENTRYBOX_PLACEHOLDER_CHAT_READONLY: "Du kan läsa men inte skicka meddelanden.", MESSAGELIST_LOADING_OLDER: "Läser in tidigare meddelanden...", MESSAGELIST_SHOW_OLDER: "Visa tidigare meddelanden", MESSAGELIST_NEW_MARKER: "Nytt", MESSAGE_SENT_VIA_EMAIL: "Detta meddelande skickades via e-post", YOU_MARKER: "du", UPLOAD_IN_PROGRESS: "Laddar upp...", UPLOAD_SEND_FILE: "Skicka fil", UPLOAD_SHARE_LOCATION: "Dela plats", UPLOAD_ERROR: "Något gick fel vid uppladdningen. Filen kan vara av en typ som inte stöds eller är för stor.", SHARE_LOCATION_ERROR: "Kan inte dela plats: ", LOADING: "Laddar...", HUB_EMPTY: "Din chatthistorik kommer att visas här", HUB_SHOW_EARLIER: "Visa tidigare chattar", INBOX_NO_CHATS_TITLE: "Inga chattar ännu!", INBOX_NO_CHATS_BODY: "När du har haft en eller flera konversationer kommer de att visas här.", ENABLE_TRANSLATION: "Översätt den här konversationen till svenska", DISABLE_TRANSLATION: "Visa original", SEARCH_PLACEHOLDER_TEXT: "Sök...", SEARCH_SEARCHING: "Söker...", SEARCH_NO_RESULTS: "Inga resultat hittades", SEARCH_NO_MORE_RESULTS: "Inga fler resultat", CHAT_NOT_FOUND: "Chatten hittades inte", DELETE_MESSAGE: "Radera meddelandet", DELETION_EXPLANATION: "Om du raderar det här meddelandet försvinner det för alla.", EDIT_MESSAGE: "Redigera meddelandet", SAVE: "Spara", EDITED_INDICATOR: "redigerad", REPLY_TO_MESSAGE: "Svara", ADD_REACTION: "Lägg till reaktion", AUTH_EXPIRED_OVERLAY_TITLE: "Din chatsession har gått ut", AUTH_EXPIRED_OVERLAY_DESCRIPTION: "Uppdatera sidan för att fortsätta", VOICE_MESSAGE: "Röstmeddelande", CONTACT_INFORMATION_HIDDEN: "Dold information", LEAVE_CONVERSATION: "Lämna konversationen", MARK_CONVERSATION_AS_UNREAD: "Markera som oläst", REPLY_TO_ARIA_LABEL: A.translation.REPLY_TO_ARIA_LABEL, REPLY_MODE_LEAVE_ARIA_LABEL: A.translation.REPLY_MODE_LEAVE_ARIA_LABEL, STATUS_INDICATOR_ONLINE: A.translation.STATUS_INDICATOR_ONLINE, STATUS_INDICATOR_OFFLINE: A.translation.STATUS_INDICATOR_OFFLINE } }, Za = { code: "tr-TR", name: "Turkish", translation: { YESTERDAY: "Dün", TODAY: "Bugün", DAYS: "g", HOURS: "s", MINUTES: "d", JUST_NOW: "az önce", LOCATION: "Konum", CANCEL: "İptal", INBOX: "Gelen Kutusu", SEND_BUTTON_TEXT: "Gönder", ENTRYBOX_TEXT_LIMIT: "En fazla 10.000 karaktere izin veriliyor.", ENTRYBOX_PLACEHOLDER: "Bir şeyler söyle...", ENTRYBOX_PLACEHOLDER_CHAT_CLOSED: "Bu konuşma artık aktif değil.", ENTRYBOX_PLACEHOLDER_CHAT_READONLY: "Mesajları okuyabilirsiniz ancak mesaj gönderemezsiniz.", MESSAGELIST_LOADING_OLDER: "Eski mesajlar yükleniyor...", MESSAGELIST_SHOW_OLDER: "Eski mesajları göster", MESSAGELIST_NEW_MARKER: "Yeni", DESKTOP_NOTIFICATIONS: "Tarayıcı bildirimleri", DESKTOP_NOTIFICATIONS_ERROR: "Tarayıcınız aktif olarak engellediğinden tarayıcı bildirimlerini etkinleştiremiyoruz. Ayarları kontrol etmeyi veya farklı bir tarayıcı kullanmayı deneyebilirsiniz.", DESKTOP_NOTIFICATIONS_DEMO_TITLE: (e) => `${e} test bildirimi`, DESKTOP_NOTIFICATIONS_DEMO_BODY: "Eğer tarayıcınızın penceresini açık tutarsanız biri mesaj yazdığında bu bildirimi göreceksiniz.", MESSAGE_SENT_VIA_EMAIL: "Bu mesaj e-posta ile gönderilmiştir.", YOU_MARKER: "siz", UPLOAD_IN_PROGRESS: "Yükleniyor...", UPLOAD_SEND_FILE: "Dosya gönder", UPLOAD_SHARE_LOCATION: "Konum paylaş", UPLOAD_ERROR: "Yükleme sırasında bir şeyler yanlış gitti. Dosya desteklenmiyor veya izin verilenden büyük olabilir.", SHARE_LOCATION_ERROR: "Konum paylaşılamadı: ", LOADING: "Yükleniyor...", HUB_EMPTY: "Konuşma geçmişiniz burada görünecek", HUB_SHOW_EARLIER: "Önceki konuşmaları göster", INBOX_NO_CHATS_TITLE: "Henüz konuşma yok!", INBOX_NO_CHATS_BODY: "Bir veya daha fazla konuşma başlattığınız konuşmalar burada belirecek.", ENABLE_TRANSLATION: "Bu konuşmayı Türkçe'ye çevir", DISABLE_TRANSLATION: "Orijinali göster", SEARCH_PLACEHOLDER_TEXT: "Ara...", SEARCH_SEARCHING: "Arıyor...", SEARCH_NO_RESULTS: "Sonuç bulunamadı", SEARCH_NO_MORE_RESULTS: "Başka sonuç bulunamadı.", CHAT_NOT_FOUND: "Sohbet bulunamadı", DELETE_MESSAGE: "Mesajı sil", DELETION_EXPLANATION: "Bu mesajı silerseniz herkes için görünmez olacaktır.", EDIT_MESSAGE: "Mesajı düzenle", SAVE: "Kaydet", EDITED_INDICATOR: "düzenlenmiş", REPLY_TO_MESSAGE: "Yanıtla", ADD_REACTION: "Tepki ekle", AUTH_EXPIRED_OVERLAY_TITLE: "Sohbet oturumunuz sona erdi", AUTH_EXPIRED_OVERLAY_DESCRIPTION: "Devam etmek için sayfayı yenileyin", VOICE_MESSAGE: "Sesli mesaj", CONTACT_INFORMATION_HIDDEN: "Gizli bilgi", LEAVE_CONVERSATION: "Konuşmadan ayrıl", MARK_CONVERSATION_AS_UNREAD: "Okunmamış olarak işaretle", REPLY_TO_ARIA_LABEL: A.translation.REPLY_TO_ARIA_LABEL, REPLY_MODE_LEAVE_ARIA_LABEL: A.translation.REPLY_MODE_LEAVE_ARIA_LABEL, STATUS_INDICATOR_ONLINE: A.translation.STATUS_INDICATOR_ONLINE, STATUS_INDICATOR_OFFLINE: A.translation.STATUS_INDICATOR_OFFLINE } }, Qa = { code: "uk-UA", name: "Ukrainian (Ukraine)", translation: { YESTERDAY: "Вчора", TODAY: "Сьогодні", DAYS: "d", HOURS: "h", MINUTES: "м", JUST_NOW: "просто зараз", LOCATION: "Місцезнаходження", CANCEL: "Скасувати", INBOX: "Вхідні", DESKTOP_NOTIFICATIONS: "Сповіщення в браузері", DESKTOP_NOTIFICATIONS_ERROR: "Неможливо ввімкнути сповіщення в браузері, оскільки ваш веб-переглядач активно їх блокує. Спробуйте переглянути налаштування або використовувати інший браузер.", DESKTOP_NOTIFICATIONS_DEMO_TITLE: (e) => `Демо-повідомлення про ${e}`, DESKTOP_NOTIFICATIONS_DEMO_BODY: "Якщо ви відкриєте вкладку веб-переглядача відкритою, ви побачите це спливаюче вікно, коли хтось спілкується з вами.", SEND_BUTTON_TEXT: "Надіслати", ENTRYBOX_TEXT_LIMIT: "Дозволено лише 10 000 символів.", ENTRYBOX_PLACEHOLDER: "Скажи щось...", ENTRYBOX_PLACEHOLDER_CHAT_CLOSED: "Ця розмова більше не активна.", ENTRYBOX_PLACEHOLDER_CHAT_READONLY: "Ви можете читати, але не надсилати повідомлення.", MESSAGELIST_LOADING_OLDER: "Завантаження старих повідомлень...", MESSAGELIST_SHOW_OLDER: "Показати старіші повідомлення", MESSAGELIST_NEW_MARKER: "Нові", MESSAGE_SENT_VIA_EMAIL: "Це повідомлення надіслано електронною поштою", YOU_MARKER: "ти", UPLOAD_IN_PROGRESS: "Завантаження...", UPLOAD_SEND_FILE: "Надіслати файл", UPLOAD_SHARE_LOCATION: "Поділитися місцезнаходженням", UPLOAD_ERROR: "На жаль, під час завантаження щось не вдалось. Файл може бути непідтримуваним або занадто великим.", SHARE_LOCATION_ERROR: "Неможливо поділити місцезнаходження: ", LOADING: "Завантаження...", HUB_EMPTY: "Тут відобразиться ваша історія чатів", HUB_SHOW_EARLIER: "Показати попередні чати", INBOX_NO_CHATS_TITLE: "Чатів ще немає!", INBOX_NO_CHATS_BODY: "Після того, як ви проведете одну чи кілька бесід, вони з’являться тут.", ENABLE_TRANSLATION: "Перекласти цю розмову англійською", DISABLE_TRANSLATION: "Показати оригінал", SEARCH_PLACEHOLDER_TEXT: "Пошук...", SEARCH_SEARCHING: "Пошук...", SEARCH_NO_RESULTS: "Не знайдено результатів", SEARCH_NO_MORE_RESULTS: "Більше немає результатів", CHAT_NOT_FOUND: "Чат не знайдено", DELETE_MESSAGE: "Видалити повідомлення", DELETION_EXPLANATION: "Якщо ви видалите це повідомлення, воно зникне для всіх.", EDIT_MESSAGE: "Редагувати повідомлення", SAVE: "Зберегти", EDITED_INDICATOR: "відредаговано", REPLY_TO_MESSAGE: "Відповісти", ADD_REACTION: "Додати реакцію", AUTH_EXPIRED_OVERLAY_TITLE: "Ваша сесія в чаті закінчилась", AUTH_EXPIRED_OVERLAY_DESCRIPTION: "Оновіть сторінку, щоб продовжити", VOICE_MESSAGE: "Голосове повідомлення", CONTACT_INFORMATION_HIDDEN: "Прихована інформація", LEAVE_CONVERSATION: "Залишити розмову", MARK_CONVERSATION_AS_UNREAD: "Відзначити як непрочитане", REPLY_TO_ARIA_LABEL: A.translation.REPLY_TO_ARIA_LABEL, REPLY_MODE_LEAVE_ARIA_LABEL: A.translation.REPLY_MODE_LEAVE_ARIA_LABEL, STATUS_INDICATOR_ONLINE: A.translation.STATUS_INDICATOR_ONLINE, STATUS_INDICATOR_OFFLINE: A.translation.STATUS_INDICATOR_OFFLINE } }, ei = { code: "vi-VN", name: "Vietnamese", translation: { YESTERDAY: "Hôm qua", TODAY: "Hôm nay", DAYS: "ngày", HOURS: "giờ", MINUTES: "phút", JUST_NOW: "vừa xong", LOCATION: "Địa điểm", CANCEL: "Hủy", INBOX: "Hộp thư đến", DESKTOP_NOTIFICATIONS: "Thông báo trình duyệt", DESKTOP_NOTIFICATIONS_ERROR: "Không thể bật thông báo trên trình duyệt vì trình duyệt của bạn đang tắt chức năng này. Hãy thử tìm trong cài đặt trình duyệt hoặc sử dụng một trình duyệt khác.", DESKTOP_NOTIFICATIONS_DEMO_TITLE: (e) => `${e} thông báo thử nghiệm`, DESKTOP_NOTIFICATIONS_DEMO_BODY: "Nếu bạn giữ tab trình duyệt của bạn mở, bạn sẽ thấy cửa sổ bật lên khi ai đó nói chuyện với bạn.", SEND_BUTTON_TEXT: "Gửi", ENTRYBOX_TEXT_LIMIT: "Tối đa 10.000 ký tự.", ENTRYBOX_PLACEHOLDER: "Nói gì đó...", ENTRYBOX_PLACEHOLDER_CHAT_CLOSED: "Cuộc hội thoại này không còn hoạt động.", ENTRYBOX_PLACEHOLDER_CHAT_READONLY: "Bạn có thể đọc, nhưng không thể gửi tin nhắn.", MESSAGELIST_LOADING_OLDER: "Đang tải tin nhắn cũ...", MESSAGELIST_SHOW_OLDER: "Hiển thị tin nhắn trước đó", MESSAGELIST_NEW_MARKER: "Mới", MESSAGE_SENT_VIA_EMAIL: "Tin nhắn này đã được gửi qua email", YOU_MARKER: "bạn", UPLOAD_IN_PROGRESS: "Đang tải lên...", UPLOAD_SEND_FILE: "Gửi tệp", UPLOAD_SHARE_LOCATION: "Chia sẻ vị trí", UPLOAD_ERROR: "Thật không may, quá trình tải lên không thành công. Tệp không được hỗ trợ hoặc quá lớn.", SHARE_LOCATION_ERROR: "Không thể chia sẻ vị trí: ", LOADING: "Đang tải...", HUB_EMPTY: "Lịch sử trò chuyện của bạn sẽ hiển thị ở đây", HUB_SHOW_EARLIER: "Hiển thị các cuộc trò chuyện trước đó", INBOX_NO_CHATS_TITLE: "Chưa có cuộc trò chuyện nào!", INBOX_NO_CHATS_BODY: "Khi bạn đã có một hoặc nhiều cuộc trò chuyện, chúng sẽ hiển thị ở đây.", ENABLE_TRANSLATION: "Dịch cuộc hội thoại sang Tiếng Việt", DISABLE_TRANSLATION: "Hiển thị nội dung gốc", SEARCH_PLACEHOLDER_TEXT: "TÌm kiếm...", SEARCH_SEARCHING: "Đang tìm kiếm...", SEARCH_NO_RESULTS: "Không tìm thấy kết quả nào", SEARCH_NO_MORE_RESULTS: "Không có kết quả nào khác", CHAT_NOT_FOUND: "Không tìm thấy cuộc trò chuyện", DELETE_MESSAGE: "Xóa tin nhắn", DELETION_EXPLANATION: "Nếu bạn xóa tin nhắn này, tất cả mọi người sẽ không còn thấy nó.", EDIT_MESSAGE: "Chỉnh sửa tin nhắn", SAVE: "lưu", EDITED_INDICATOR: "đã chỉnh sửa", REPLY_TO_MESSAGE: "đáp lại", ADD_REACTION: "Thêm biểu tượng cảm xúc", AUTH_EXPIRED_OVERLAY_TITLE: "Phiên trò chuyện của bạn đã hết hạn", AUTH_EXPIRED_OVERLAY_DESCRIPTION: "Hãy làm mới trang để tiếp tục", VOICE_MESSAGE: "Tin nhắn thoại", CONTACT_INFORMATION_HIDDEN: "Thông tin ẩn", LEAVE_CONVERSATION: "Thoát khỏi cuộc trò chuyện", MARK_CONVERSATION_AS_UNREAD: "Đánh dấu là chưa đọc", REPLY_TO_ARIA_LABEL: A.translation.REPLY_TO_ARIA_LABEL, REPLY_MODE_LEAVE_ARIA_LABEL: A.translation.REPLY_MODE_LEAVE_ARIA_LABEL, STATUS_INDICATOR_ONLINE: A.translation.STATUS_INDICATOR_ONLINE, STATUS_INDICATOR_OFFLINE: A.translation.STATUS_INDICATOR_OFFLINE } }, ti = { code: "zh-CN", name: "Chinese (Simplified)", translation: { YESTERDAY: "昨天", TODAY: "今天", DAYS: "天", HOURS: "小时", MINUTES: "分钟", JUST_NOW: "刚才", LOCATION: "地点", CANCEL: "取消", INBOX: "收件箱", DESKTOP_NOTIFICATIONS: "浏览器通知", DESKTOP_NOTIFICATIONS_ERROR: "因浏览器设置为阻止,所以无法激活浏览器提醒。请去设置里查看或者尝试其他的浏览器。", DESKTOP_NOTIFICATIONS_DEMO_TITLE: (e) => `${e} 演示提醒`, DESKTOP_NOTIFICATIONS_DEMO_BODY: "只要保持浏览器开着,如果有人和你对话,将会自动弹出对话窗口。", SEND_BUTTON_TEXT: "发送", ENTRYBOX_TEXT_LIMIT: "不超过10,000个字符。", ENTRYBOX_PLACEHOLDER: "写点什么吧……", ENTRYBOX_PLACEHOLDER_CHAT_CLOSED: "该对话已结束。", ENTRYBOX_PLACEHOLDER_CHAT_READONLY: "你只能阅读信息,不能发送信息。", MESSAGELIST_LOADING_OLDER: "载入之前的信息……", MESSAGELIST_SHOW_OLDER: "显示之前的信息", MESSAGELIST_NEW_MARKER: "新消息", MESSAGE_SENT_VIA_EMAIL: "该信息已通过邮件发送。", YOU_MARKER: "你", UPLOAD_IN_PROGRESS: "上传中……", UPLOAD_SEND_FILE: "发送文件", UPLOAD_SHARE_LOCATION: "分享地址", UPLOAD_ERROR: "上传出错。文件格式不支持或者太大。", SHARE_LOCATION_ERROR: "无法分享地址: ", LOADING: "正在载入……", HUB_EMPTY: "你的聊天记录将在此显示。", HUB_SHOW_EARLIER: "显示之前的聊天记录。", INBOX_NO_CHATS_TITLE: "暂无任何聊天记录!", INBOX_NO_CHATS_BODY: "如果你有一个或多个对话窗口进行中,将显示在这里。", ENABLE_TRANSLATION: "翻译至简体中文", DISABLE_TRANSLATION: "查看原文", SEARCH_PLACEHOLDER_TEXT: "搜索...", SEARCH_SEARCHING: "正在搜索...", SEARCH_NO_RESULTS: "未找到结果", SEARCH_NO_MORE_RESULTS: "无更多结果", CHAT_NOT_FOUND: "未找到“聊天”", DELETE_MESSAGE: "删除消息", DELETION_EXPLANATION: "如果您删除此消息,那么所有人都将无法再看到它。", EDIT_MESSAGE: "编辑消息", SAVE: "保存", EDITED_INDICATOR: "本消息有改动", REPLY_TO_MESSAGE: "回复", ADD_REACTION: "添加反应", AUTH_EXPIRED_OVERLAY_TITLE: "您的聊天会话已过期", AUTH_EXPIRED_OVERLAY_DESCRIPTION: "刷新页面以继续", VOICE_MESSAGE: "语音消息", CONTACT_INFORMATION_HIDDEN: "隐藏信息", LEAVE_CONVERSATION: "离开对话", MARK_CONVERSATION_AS_UNREAD: "标记为未读", REPLY_TO_ARIA_LABEL: A.translation.REPLY_TO_ARIA_LABEL, REPLY_MODE_LEAVE_ARIA_LABEL: A.translation.REPLY_MODE_LEAVE_ARIA_LABEL, STATUS_INDICATOR_ONLINE: A.translation.STATUS_INDICATOR_ONLINE, STATUS_INDICATOR_OFFLINE: A.translation.STATUS_INDICATOR_OFFLINE } }, ni = { code: "zh-TW", name: "Chinese (Traditional)", translation: { YESTERDAY: "昨天", TODAY: "昨天", DAYS: "天", HOURS: "小時", MINUTES: "分", JUST_NOW: "現在", LOCATION: "地點", CANCEL: "取消", INBOX: "收件箱", DESKTOP_NOTIFICATIONS: "瀏覽器通知", DESKTOP_NOTIFICATIONS_ERROR: "無法啟用瀏覽器通知,因為您的瀏覽器主動阻止它們。 嘗試查看設置或使用其他瀏覽器。", DESKTOP_NOTIFICATIONS_DEMO_TITLE: (e) => `${e} 演示通知`, DESKTOP_NOTIFICATIONS_DEMO_BODY: "如果您持續打開瀏覽器標籤頁,當有人與您通話時,您會看到此彈出窗口。", SEND_BUTTON_TEXT: "發送", ENTRYBOX_TEXT_LIMIT: "只允許10.000個字符。", ENTRYBOX_PLACEHOLDER: "說些什麼...", ENTRYBOX_PLACEHOLDER_CHAT_CLOSED: "此對話不再有效。", ENTRYBOX_PLACEHOLDER_CHAT_READONLY: "您可以閱讀,但不能發送消息。", MESSAGELIST_LOADING_OLDER: "加載舊訊息...", MESSAGELIST_SHOW_OLDER: "顯示較舊的訊息", MESSAGELIST_NEW_MARKER: "新的", MESSAGE_SENT_VIA_EMAIL: "此訊息是通過電郵發送的", YOU_MARKER: "您", UPLOAD_IN_PROGRESS: "上傳中...", UPLOAD_SEND_FILE: "發送文件", UPLOAD_SHARE_LOCATION: "共享位置", UPLOAD_ERROR: "不幸的是,上傳出了問題。 該文件可能不受支持或太大。", SHARE_LOCATION_ERROR: "無法分享位置:", LOADING: "載入中...", HUB_EMPTY: "您的聊天記錄將顯示在此處", HUB_SHOW_EARLIER: "顯示早先的聊天記錄", INBOX_NO_CHATS_TITLE: "還沒聊天!", INBOX_NO_CHATS_BODY: "一旦您進行了一次或多次對話,他們就會顯示在此處。", ENABLE_TRANSLATION: "翻譯此對話至繁體中文", DISABLE_TRANSLATION: "顯示原文", SEARCH_PLACEHOLDER_TEXT: "搜尋...", SEARCH_SEARCHING: "正在搜尋...", SEARCH_NO_RESULTS: "找不到任何結果", SEARCH_NO_MORE_RESULTS: "沒有其他結果", CHAT_NOT_FOUND: "查無對話", DELETE_MESSAGE: "刪除訊息", DELETION_EXPLANATION: "您如果刪除這條訊息,所有人都將看不到它。", EDIT_MESSAGE: "編輯訊息", SAVE: "儲存", EDITED_INDICATOR: "已編輯", REPLY_TO_MESSAGE: "回覆", ADD_REACTION: "加入表情回應", AUTH_EXPIRED_OVERLAY_TITLE: "您的會話過程已過期", AUTH_EXPIRED_OVERLAY_DESCRIPTION: "請刷新頁面以繼續", VOICE_MESSAGE: "語音訊息", CONTACT_INFORMATION_HIDDEN: "隱藏訊息", LEAVE_CONVERSATION: "離開對話", MARK_CONVERSATION_AS_UNREAD: "標記為未讀", REPLY_TO_ARIA_LABEL: A.translation.REPLY_TO_ARIA_LABEL, REPLY_MODE_LEAVE_ARIA_LABEL: A.translation.REPLY_MODE_LEAVE_ARIA_LABEL, STATUS_INDICATOR_ONLINE: A.translation.STATUS_INDICATOR_ONLINE, STATUS_INDICATOR_OFFLINE: A.translation.STATUS_INDICATOR_OFFLINE } }, dt = { ar: Ra, bg: La, bs: ma, ca: pa, cs: ha, da: Da, de: Ca, el: ga, en: A, es: va, et: ka, fa, fi: Ma, fr: Pa, he: Ua, hi: Ha, hr: ba, hu: Ba, id: ya, is: wa, it: Ya, ja: $a, ka: Fa, ko: ja, nb: Va, nl: xa, pl: Xa, pt: Ga, ro: za, ru: Ka, sq: Wa, sr: qa, sv: Ja, tr: Za, uk: Qa, vi: ei, zh: ti, zhTw: ni };
|
|
132
|
+
function sn(e) {
|
|
133
133
|
const t = e.replace(/_/g, "-").toLowerCase(), n = dt[t];
|
|
134
134
|
if (n) return { ...n.translation, locale: t };
|
|
135
135
|
const a = t.slice(0, 2), i = dt[a];
|
|
136
136
|
return i ? { ...i.translation, locale: a } : (ee.warn(`User locale '${e}' not supported; falling back to English.`), { ...A.translation, locale: "en-US" });
|
|
137
137
|
}
|
|
138
|
-
class
|
|
138
|
+
class rn extends Error {
|
|
139
139
|
}
|
|
140
140
|
function St(e, t) {
|
|
141
|
-
if (!e) throw new
|
|
141
|
+
if (!e) throw new rn(t != null ? t : "Assertion failed");
|
|
142
142
|
}
|
|
143
143
|
const P = Object.assign(St, { is: function(e, t, n) {
|
|
144
144
|
return St(t, n);
|
|
@@ -147,41 +147,42 @@ const P = Object.assign(St, { is: function(e, t, n) {
|
|
|
147
147
|
}, never: function(e) {
|
|
148
148
|
throw new Error("Unreachable");
|
|
149
149
|
}, defined: function(e) {
|
|
150
|
-
if (e == null) throw new
|
|
151
|
-
} }),
|
|
150
|
+
if (e == null) throw new rn("Value is not defined");
|
|
151
|
+
} }), on = () => {
|
|
152
152
|
const e = document.createElement("canvas");
|
|
153
153
|
e.width = e.height = 1;
|
|
154
154
|
const t = e.getContext("2d");
|
|
155
155
|
return t.textBaseline = "top", t.font = '100px "Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Twemoji Mozilla","Noto Color Emoji","EmojiOne Color","Android Emoji",sans-serif', t.scale(0.01, 0.01), t;
|
|
156
156
|
}, It = (e, t) => {
|
|
157
|
-
const n =
|
|
157
|
+
const n = on();
|
|
158
158
|
return n.fillStyle = t, n.fillText(e, 0, 0), n.getImageData(0, 0, 1, 1).data;
|
|
159
159
|
};
|
|
160
|
-
function
|
|
161
|
-
const t = It(e, "#000"), n = It(e, "#fff"), a = ((i) => !i.includes("") ||
|
|
160
|
+
function ai(e) {
|
|
161
|
+
const t = It(e, "#000"), n = It(e, "#fff"), a = ((i) => !i.includes("") || on().measureText(i).width < 160)(e);
|
|
162
162
|
return t && n && a && ((i, s) => {
|
|
163
163
|
const r = [...i].join(",");
|
|
164
164
|
return r === [...s].join(",") && !r.startsWith("0,0,0,");
|
|
165
165
|
})(t, n);
|
|
166
166
|
}
|
|
167
|
-
function
|
|
167
|
+
function En(e) {
|
|
168
168
|
try {
|
|
169
|
-
return
|
|
169
|
+
return ai(e);
|
|
170
170
|
} catch (t) {
|
|
171
171
|
return !0;
|
|
172
172
|
}
|
|
173
173
|
}
|
|
174
|
-
|
|
174
|
+
var jt;
|
|
175
|
+
const ln = (jt = globalThis.window) != null && jt.document ? function() {
|
|
175
176
|
if (typeof window == "undefined" || window.E2E) return 16;
|
|
176
177
|
const e = { "": 16, "🚶➡️": 15.1, "🫨": 15, "🫠": 14, "😵💫": 13.1, "🥲": 13, "🧑🦰": 12.1, "🥻": 12, "🥰": 11, "🤩": 5, "👱♀️": 4, "🤣": 3, "👁️🗨️": 2, "😀": 1, "😐️": 0.7, "😃": 0.6 };
|
|
177
|
-
for (const [t, n] of Object.entries(e)) if (
|
|
178
|
-
}();
|
|
179
|
-
class
|
|
178
|
+
for (const [t, n] of Object.entries(e)) if (En(t)) return n;
|
|
179
|
+
}() : 0;
|
|
180
|
+
class _n {
|
|
180
181
|
constructor(t, n) {
|
|
181
|
-
this.currentUser$ = U(null), this.app$ = U(null), this.appId$ = U(null), this.extUserId$ = U(null), this.authTokenState$ = U("idle"), this.themeCustom$ = U(At.opaque({ value: void 0 })), this.device$ = U({ supportsEmojiPicker: !!
|
|
182
|
+
this.currentUser$ = U(null), this.app$ = U(null), this.appId$ = U(null), this.extUserId$ = U(null), this.authTokenState$ = U("idle"), this.themeCustom$ = U(At.opaque({ value: void 0 })), this.device$ = U({ supportsEmojiPicker: !!ln, isMobile: typeof window != "undefined" && /Mobi/i.test(window.navigator.userAgent) }), this.errors$ = U({ unknownConversation: !1, unknownUser: !1, wrongAppId: !1, serverError: !1 }), this.t$ = U(() => {
|
|
182
183
|
var r, o;
|
|
183
184
|
const a = this.extUserId$.get(), i = this.app$.appMetadata.defaultLocale.get(), s = this.currentUser$.locale.get();
|
|
184
|
-
return
|
|
185
|
+
return sn((o = (r = a && s) != null ? r : i) != null ? o : "en-US");
|
|
185
186
|
}), le(() => {
|
|
186
187
|
this.appId$.set(t), this.extUserId$.set(n);
|
|
187
188
|
});
|
|
@@ -229,8 +230,8 @@ class ln {
|
|
|
229
230
|
};
|
|
230
231
|
}
|
|
231
232
|
}
|
|
232
|
-
const
|
|
233
|
-
class
|
|
233
|
+
const ii = { canReplyToMessage: !1, canEditMessage: !1, canDeleteMessage: !1, canAddReaction: !1 };
|
|
234
|
+
class cn extends _n {
|
|
234
235
|
constructor(t, n) {
|
|
235
236
|
super(t, n), this.type = "ChatboxStore", this.messageSubscription = null, this.readyForNewMessagesPromise = Promise.resolve(), this.participantSubscription = null, this.onlineSubscriptions = {}, this.state$ = U({ extCurrentConversationId: null, editor: { isEmpty: !0, isTyping: !1, atTextLimit: !1, characterCount: 0, showEmojiPicker: !1, suggestEmojiQuery: void 0, suggestMentionQuery: void 0 }, referencedMessageId: null, editingMessageId: null, currentConversation: null, visibility: { isInView: !1, tabFocused: !0 }, messages: {}, participants: {}, typing: {}, isUserConnected: {}, ephemeralMessages: {}, ephemeralMessageIdMapping: {}, localFileBlobUrls: {}, userPermissions: () => {
|
|
236
237
|
const a = this.app$.role.general.get(), i = this.app$.role.permissions.get();
|
|
@@ -238,13 +239,13 @@ class _n extends ln {
|
|
|
238
239
|
}, messagePermissions: () => {
|
|
239
240
|
const a = this.app$.role.permissions.get();
|
|
240
241
|
P.defined(a);
|
|
241
|
-
const i = this.state$.userPermissions.get(), s = { ...
|
|
242
|
+
const i = this.state$.userPermissions.get(), s = { ...ii, ...i }, r = { canReplyToMessage: Q(a.messages.reply, !0), canEditMessage: Q(a.messages.edit, !0), canDeleteMessage: Q(a.messages.delete, !0), canAddReaction: Q(a.messages.emojiReactions, !0), ...i }, o = { ...r, canEditMessage: !1 }, E = { canReplyToMessage: Q(a.messages.reply, !1), canEditMessage: Q(a.messages.edit, !1), canDeleteMessage: Q(a.messages.delete, !1), canAddReaction: Q(a.messages.emojiReactions, !1), ...i };
|
|
242
243
|
return { system: s, own: r, ownWithoutEditing: o, other: E, otherWithoutEditing: { ...E, canEditMessage: !1 } };
|
|
243
244
|
} }), this.locale$ = U(() => {
|
|
244
245
|
var r, o;
|
|
245
246
|
const a = this.extUserId$.get(), i = this.app$.appMetadata.defaultLocale.get(), s = this.currentUser$.locale.get();
|
|
246
247
|
return (o = (r = a && s) != null ? r : i) != null ? o : "en-US";
|
|
247
|
-
}), this.t$ = U(() =>
|
|
248
|
+
}), this.t$ = U(() => sn(this.locale$.get())), this.referencedMessage$ = U(() => {
|
|
248
249
|
const a = this.state$.extCurrentConversationId.get(), i = this.state$.referencedMessageId.get();
|
|
249
250
|
return a && i ? this.state$.messages.child(a).lookup.child(i).get() : null;
|
|
250
251
|
}), this.chatItems$ = U(() => {
|
|
@@ -343,14 +344,14 @@ class Qe {
|
|
|
343
344
|
}
|
|
344
345
|
function Be(e) {
|
|
345
346
|
const t = f();
|
|
346
|
-
return O(t instanceof
|
|
347
|
+
return O(t instanceof cn ? si : ri, { ...e });
|
|
347
348
|
}
|
|
348
|
-
function
|
|
349
|
+
function si(e) {
|
|
349
350
|
const t = G(), n = Te();
|
|
350
351
|
return O(t.Icon, { common: n, ...e });
|
|
351
352
|
}
|
|
352
|
-
function
|
|
353
|
-
const t = G(), n =
|
|
353
|
+
function ri(e) {
|
|
354
|
+
const t = G(), n = an();
|
|
354
355
|
return O(t.Icon, { common: n, ...e });
|
|
355
356
|
}
|
|
356
357
|
function et({ src: e, onError: t, filename: n, className: a = "" }) {
|
|
@@ -374,7 +375,7 @@ function et({ src: e, onError: t, filename: n, className: a = "" }) {
|
|
|
374
375
|
var $, g, Y, ue, ne, de, X, K;
|
|
375
376
|
if (!D.container) return;
|
|
376
377
|
const h = getComputedStyle(D.container), M = ($ = pe.parse(h.color)) != null ? $ : new pe(255, 255, 255, 1), j = M.withAlpha(M.alpha / 2);
|
|
377
|
-
return
|
|
378
|
+
return zn.create({ ...D, barGap: (g = D.barGap) != null ? g : 2, barRadius: (Y = D.barRadius) != null ? Y : 0, barWidth: (ue = D.barWidth) != null ? ue : 2, barHeight: D.barHeight, hideScrollbar: !0, cursorWidth: (ne = D.cursorWidth) != null ? ne : 0, cursorColor: D.cursorColor, height: (de = D.height) != null ? de : 24, progressColor: (X = D.progressColor) != null ? X : j.toRgbaString(), waveColor: (K = D.waveColor) != null ? K : j.toRgbaString() });
|
|
378
379
|
}(R);
|
|
379
380
|
const C = T.current;
|
|
380
381
|
return C.on("finish", () => {
|
|
@@ -396,20 +397,20 @@ function et({ src: e, onError: t, filename: n, className: a = "" }) {
|
|
|
396
397
|
}, []), m = B((R) => {
|
|
397
398
|
T.current.setPlaybackRate(R), I(R);
|
|
398
399
|
}, []);
|
|
399
|
-
return u ? O("div", {}) : x("div", { className: `t-audio-player ${a}`, children: [O("button", { onClick: N, children: O(Be, { className: "t-play-pause-icon", type: o ? "pause" : "play", "aria-label": o ? "pause audio" : "play audio" }) }), O("div", { className: "t-waveform", ref: i }), O("div", { className: "t-duration", children:
|
|
400
|
+
return u ? O("div", {}) : x("div", { className: `t-audio-player ${a}`, children: [O("button", { onClick: N, children: O(Be, { className: "t-play-pause-icon", type: o ? "pause" : "play", "aria-label": o ? "pause audio" : "play audio" }) }), O("div", { className: "t-waveform", ref: i }), O("div", { className: "t-duration", children: Mn(l) }), x(Re, { type: "menu", popoverComponent: Ei, popoverProps: { playbackSpeed: c, selectPlaybackSpeed: m }, className: "t-playback-speed", "aria-label": "set playback speed", children: [c, "x", O(Be, { type: "updown", className: "t-up-down-icon", "aria-hidden": !0 })] })] });
|
|
400
401
|
}
|
|
401
|
-
const
|
|
402
|
-
function
|
|
403
|
-
return x("div", { className: "t-playback-speed-menu", children: [O("div", { className: "t-playback-heading", children: "Playback Speed" }),
|
|
402
|
+
const oi = [0.25, 0.5, 0.75, 1, 1.25, 1.5, 2];
|
|
403
|
+
function Ei({ playbackSpeed: e, selectPlaybackSpeed: t }) {
|
|
404
|
+
return x("div", { className: "t-playback-speed-menu", children: [O("div", { className: "t-playback-heading", children: "Playback Speed" }), oi.map((n) => x(ie, { className: "t-menu-item", onSelect: () => t(n), children: [O("span", { className: "t-playback-checkmark", children: e === n ? "✓ " : "" }), n, "x"] }, n))] });
|
|
404
405
|
}
|
|
405
|
-
const
|
|
406
|
+
const li = /^rgb\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*\)$/, _i = /^rgba\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*,\s*([\d.]+)\s*\)$/;
|
|
406
407
|
class pe {
|
|
407
408
|
constructor(t, n, a, i) {
|
|
408
409
|
this.red = t, this.green = n, this.blue = a, this.alpha = i;
|
|
409
410
|
}
|
|
410
411
|
static parse(t) {
|
|
411
412
|
var a;
|
|
412
|
-
const n = (a = t.match(
|
|
413
|
+
const n = (a = t.match(li)) != null ? a : t.match(_i);
|
|
413
414
|
if (n) {
|
|
414
415
|
const [i, s, r, o, E = "1"] = n;
|
|
415
416
|
return new pe(Number(s), Number(r), Number(o), Number(E));
|
|
@@ -424,15 +425,15 @@ class pe {
|
|
|
424
425
|
return i !== 1 ? `rgba(${t}, ${n}, ${a}, ${i})` : `rgb(${t}, ${n}, ${a})`;
|
|
425
426
|
}
|
|
426
427
|
}
|
|
427
|
-
const Ge = new
|
|
428
|
-
if (
|
|
429
|
-
const t = e.doc.firstChild, n =
|
|
430
|
-
return
|
|
428
|
+
const Ge = new Qt("placeholder"), Nt = new en({ key: Ge, props: { decorations(e) {
|
|
429
|
+
if (An(e.doc)) return;
|
|
430
|
+
const t = e.doc.firstChild, n = xt.node(0, t.nodeSize, { class: "empty-node", "data-placeholder": Ge.getState(e) });
|
|
431
|
+
return Xt.create(e.doc, [n]);
|
|
431
432
|
} }, state: { init: () => "", apply: (e, t) => {
|
|
432
433
|
var n;
|
|
433
434
|
return (n = e.getMeta(Ge)) != null ? n : t;
|
|
434
435
|
} } });
|
|
435
|
-
function
|
|
436
|
+
function An(e) {
|
|
436
437
|
return e.childCount !== 1 || e.firstChild.childCount !== 0;
|
|
437
438
|
}
|
|
438
439
|
const Le = (e, t, n = void 0) => function(a, i) {
|
|
@@ -483,32 +484,32 @@ function J(e, t) {
|
|
|
483
484
|
return i < n.length && s.push(n.substring(i)), s;
|
|
484
485
|
};
|
|
485
486
|
}
|
|
486
|
-
function
|
|
487
|
+
function On(e) {
|
|
487
488
|
return e.replace(/<!!mention:.*?\|([^>]*)>/gim, "@$1").replace(/<!!customemoji:(.*?)>/gim, "$1");
|
|
488
489
|
}
|
|
489
490
|
const Rt = "’'()[]{}<>:,‒–—―…!.«»-‐?‘’“”;/⁄␠·&@*\\•^¤¢$€£¥₩₪†‡°¡¿¬#№%‰‱¶′§~¨_|¦⁂☞∴‽※".replace(/[-[\]{}()*+?.,\\^$|#\s]/g, "\\$&");
|
|
490
491
|
var tt = ((e) => (e[e.italic = 1] = "italic", e[e.strikethrough = 2] = "strikethrough", e[e.bold = 4] = "bold", e))(tt || {});
|
|
491
|
-
const
|
|
492
|
+
const ci = [0, 1, 2, 3, 4, 5, 6].map((e) => {
|
|
492
493
|
const t = [];
|
|
493
494
|
return 1 & e || t.push(/_([^\s_].*?[^\s_])_|_([^\s_])_/), 2 & e || t.push(/~([^\s~].*?[^\s~])~|~([^\s~])~/), 4 & e || t.push(/\*([^\s*].*?[^\s*])\*|\*([^\s*])\*/), new RegExp(t.map((n) => n.source).join("|"), "g");
|
|
494
|
-
}),
|
|
495
|
-
function
|
|
496
|
-
return
|
|
495
|
+
}), Ai = { _: 1, "*": 4, "~": 2 };
|
|
496
|
+
function Oi(e) {
|
|
497
|
+
return Tn(e, 0);
|
|
497
498
|
}
|
|
498
|
-
function
|
|
499
|
-
const n =
|
|
500
|
-
const s =
|
|
499
|
+
function Tn(e, t = 0) {
|
|
500
|
+
const n = ci[t], a = n ? function(i) {
|
|
501
|
+
const s = Ti.getOrCompute(i, () => new RegExp(`(?:^|[\\s${Rt}])(?:${i.source})(?=[\\s${Rt}]|$)`, "g")), r = J(s, (o) => {
|
|
501
502
|
const E = o[0][1], l = o[1] || o[2] || o[3] || o[4] || o[5] || o[6];
|
|
502
|
-
return [" ", { type: tt[
|
|
503
|
+
return [" ", { type: tt[Ai[E]], children: [l] }];
|
|
503
504
|
});
|
|
504
505
|
return (o) => {
|
|
505
506
|
const [E, ...l] = r(" " + o);
|
|
506
507
|
return E.length > 1 && l.unshift(E.substring(1)), l;
|
|
507
508
|
};
|
|
508
509
|
}(n) : () => [e];
|
|
509
|
-
return Le(a(e), (i, s) => s === "bold" || s === "italic" || s === "strikethrough" ?
|
|
510
|
+
return Le(a(e), (i, s) => s === "bold" || s === "italic" || s === "strikethrough" ? Tn(i, t | tt[s]) : [i]);
|
|
510
511
|
}
|
|
511
|
-
const
|
|
512
|
+
const Ti = function() {
|
|
512
513
|
const e = function() {
|
|
513
514
|
try {
|
|
514
515
|
return /* @__PURE__ */ new WeakMap();
|
|
@@ -524,81 +525,81 @@ const Oi = function() {
|
|
|
524
525
|
return e.set(t, a), a;
|
|
525
526
|
} };
|
|
526
527
|
}();
|
|
527
|
-
function
|
|
528
|
+
function un(e, t = e) {
|
|
528
529
|
return { type: "autolink", url: e, text: t };
|
|
529
530
|
}
|
|
530
|
-
const
|
|
531
|
+
const ui = J(/<!!mention:([^>\s]*?)\|(.*?)>/gm, ([e, t, n]) => /* @__PURE__ */ function(a, i) {
|
|
531
532
|
return { type: "mention", id: a, text: i };
|
|
532
|
-
}(decodeURIComponent(t), n)),
|
|
533
|
+
}(decodeURIComponent(t), n)), di = J(/<!!customemoji:(.*?)>/gm, ([e, t]) => /* @__PURE__ */ function(n) {
|
|
533
534
|
return { type: "customemoji", text: n };
|
|
534
|
-
}(t)),
|
|
535
|
+
}(t)), dn = J(/<((?:https?|mailto):.*?)\|(.*?)>/gi, ([e, t, n]) => /* @__PURE__ */ function(a, i = []) {
|
|
535
536
|
return { type: "link", url: a, children: i };
|
|
536
|
-
}(t, [n])),
|
|
537
|
-
const { action: a, params: i } =
|
|
537
|
+
}(t, [n])), Si = J(/<actionlink:([^|]+)[|]([^>]*)>/gi, ([e, t, n]) => {
|
|
538
|
+
const { action: a, params: i } = Sn(t);
|
|
538
539
|
return /* @__PURE__ */ function(s, r, o = []) {
|
|
539
540
|
return { type: "actionlink", action: s, params: r, children: o };
|
|
540
541
|
}(a, i, [n]);
|
|
541
|
-
}),
|
|
542
|
-
const { action: a, params: i } =
|
|
542
|
+
}), Ii = J(/<actionbutton:([^|]+)[|]([^>]*)>/gi, ([e, t, n]) => {
|
|
543
|
+
const { action: a, params: i } = Sn(t);
|
|
543
544
|
return /* @__PURE__ */ function(s, r, o = []) {
|
|
544
545
|
return { type: "actionbutton", action: s, params: r, children: o };
|
|
545
546
|
}(a, i, [n]);
|
|
546
547
|
});
|
|
547
|
-
function
|
|
548
|
+
function Sn(e) {
|
|
548
549
|
const t = e.indexOf("?");
|
|
549
550
|
return t === -1 ? { action: e, params: {} } : { action: e.slice(0, t), params: Object.fromEntries(new URLSearchParams(e.slice(t))) };
|
|
550
551
|
}
|
|
551
|
-
const
|
|
552
|
+
const Ni = J(/(?:^|\n)(?:\s*[-*+]\s+[^\n]+(?:\n|$))+/g, ([e]) => /* @__PURE__ */ function(t = []) {
|
|
552
553
|
return { type: "bulletlist", children: t };
|
|
553
554
|
}([e.startsWith(`
|
|
554
|
-
`) ? e.slice(1) : e])),
|
|
555
|
+
`) ? e.slice(1) : e])), Ri = J(/^\s*[-*+]\s+([^\n]+)(?:\n|$)/gm, ([e, t]) => ({ type: "bulletpoint", children: [t] })), Li = (e) => {
|
|
555
556
|
const t = /(?:^|[^-:/\w])([(+]?[0-9](?:[-_+ ().]?[0-9]){5,11}[0-9])(?:[^-:/\w]|$)/g;
|
|
556
557
|
let n = 0;
|
|
557
558
|
const a = [];
|
|
558
559
|
for (const i of st(e, t)) {
|
|
559
560
|
const s = i[0], r = i[1], o = s.startsWith(r) ? i.index : i.index + 1;
|
|
560
561
|
o - n > 0 && a.push(e.substring(n, o));
|
|
561
|
-
const E =
|
|
562
|
+
const E = un("tel:" + r.replace(/[^0-9+]/g, ""), r);
|
|
562
563
|
a.push(E), n = o + r.length;
|
|
563
564
|
}
|
|
564
565
|
return n < e.length && a.push(e.substring(n)), a;
|
|
565
|
-
},
|
|
566
|
-
const t =
|
|
566
|
+
}, mi = (e) => dn(e).flatMap((t) => typeof t == "string" ? ze(t) : ["<", ...ze(t.url), ...ze("|" + t.children[0] + ">")]), ze = (e) => {
|
|
567
|
+
const t = ia.parse(e, { urls: !0, email: !0, phone: !1, hashtag: !1, mention: !1 }), n = [];
|
|
567
568
|
let a = 0;
|
|
568
569
|
for (const i of t) {
|
|
569
570
|
const s = i.getOffset(), r = i.getMatchedText(), o = r.length;
|
|
570
571
|
let E = r;
|
|
571
|
-
i instanceof
|
|
572
|
+
i instanceof sa ? E = "mailto:" + i.getEmail() : i instanceof ra && (E = i.getUrl()), s > a && n.push(e.substring(a, s)), n.push(un(E, r)), a = s + o;
|
|
572
573
|
}
|
|
573
574
|
return a < e.length && n.push(e.substring(a)), n;
|
|
574
|
-
},
|
|
575
|
-
function
|
|
575
|
+
}, pi = ["Codeblock", "Codespan", "FormattedLink", "Wikitext", "Autolink", "Actions", "Mention", "Mention", "BulletPoint", "CustomEmoji"];
|
|
576
|
+
function hi(e = { except: [] }) {
|
|
576
577
|
var a;
|
|
577
|
-
const t = { multilineSteps: [], singlelineSteps: [] }, n = (a = e.except) != null ? a :
|
|
578
|
-
return n.includes("BulletPoint") || t.multilineSteps.push(
|
|
578
|
+
const t = { multilineSteps: [], singlelineSteps: [] }, n = (a = e.except) != null ? a : pi.filter((i) => !e.only.includes(i));
|
|
579
|
+
return n.includes("BulletPoint") || t.multilineSteps.push(Ni, Ri), n.includes("Mention") || t.singlelineSteps.push(ui), n.includes("CustomEmoji") || t.singlelineSteps.push(di), n.includes("Codespan") || t.multilineSteps.push(J(/```([^]+?)```/g, ([i, s]) => ({ type: "codespan", text: On(s) }))), n.includes("FormattedLink") || t.singlelineSteps.push(dn), n.includes("Actions") || (t.singlelineSteps.push(Si), t.singlelineSteps.push(Ii)), n.includes("Wikitext") || t.singlelineSteps.push(Oi), n.includes("Autolink") || t.singlelineSteps.push(mi, Li), t;
|
|
579
580
|
}
|
|
580
|
-
const
|
|
581
|
+
const Di = function(e) {
|
|
581
582
|
const t = RegExp(`[^${e}]+${e}?|${e}`, "g");
|
|
582
583
|
return (n) => Array.from(n.match(t) || []);
|
|
583
584
|
}(`
|
|
584
585
|
`);
|
|
585
|
-
function
|
|
586
|
+
function In(e, t = { except: [] }) {
|
|
586
587
|
let n = function(a, i) {
|
|
587
588
|
let s = [a];
|
|
588
|
-
return s = Ke(s, i.multilineSteps), s = Ke(s, [
|
|
589
|
-
}(e,
|
|
590
|
-
return n =
|
|
589
|
+
return s = Ke(s, i.multilineSteps), s = Ke(s, [Di]), s = Ke(s, i.singlelineSteps), s = Nn(s), s;
|
|
590
|
+
}(e, hi(t));
|
|
591
|
+
return n = Rn(n, !1), n;
|
|
591
592
|
}
|
|
592
593
|
function Ke(e, t) {
|
|
593
594
|
return t.reduce((n, a) => Le(n, a), e);
|
|
594
595
|
}
|
|
595
|
-
function
|
|
596
|
+
function Nn(e) {
|
|
596
597
|
const t = [];
|
|
597
598
|
let n = -1;
|
|
598
|
-
for (const a of e) typeof a == "string" ? typeof t[n] == "string" ? t[n] += a : t[++n] = a : t[++n] = "children" in a ? { ...a, children:
|
|
599
|
+
for (const a of e) typeof a == "string" ? typeof t[n] == "string" ? t[n] += a : t[++n] = a : t[++n] = "children" in a ? { ...a, children: Nn(a.children) } : a;
|
|
599
600
|
return t;
|
|
600
601
|
}
|
|
601
|
-
function
|
|
602
|
+
function Rn(e, t) {
|
|
602
603
|
const n = [];
|
|
603
604
|
let a = [];
|
|
604
605
|
for (let i = 0; i < e.length; i++) {
|
|
@@ -606,13 +607,13 @@ function Nn(e, t) {
|
|
|
606
607
|
if (typeof s == "string") a.push(s);
|
|
607
608
|
else if ("children" in s) {
|
|
608
609
|
a.length > 0 && (n.push(a.join("")), a = []);
|
|
609
|
-
const r =
|
|
610
|
+
const r = Rn(s.children, t || s.type === "link" || s.type === "actionbutton" || s.type === "actionlink");
|
|
610
611
|
n.push({ ...s, children: r });
|
|
611
612
|
} else s.type === "autolink" && t ? a.push(s.text) : (a.length > 0 && (n.push(a.join("")), a = []), n.push(s));
|
|
612
613
|
}
|
|
613
614
|
return a.length > 0 && (n.push(a.join("")), a = []), n;
|
|
614
615
|
}
|
|
615
|
-
function
|
|
616
|
+
function Ci() {
|
|
616
617
|
let e, t = 0;
|
|
617
618
|
return (n) => {
|
|
618
619
|
const a = (s = Date.now()) => {
|
|
@@ -625,8 +626,8 @@ function Di() {
|
|
|
625
626
|
return l.descendants((T, u) => (T.isText ? (I += T.text, c != null || (c = u)) : I && c !== void 0 && (_.push({ text: I, pos: c }), I = "", c = void 0), T.type !== w.nodes.mention)), I && c !== void 0 && _.push({ text: I, pos: c }), _;
|
|
626
627
|
}(o.doc);
|
|
627
628
|
for (const { text: l, pos: _ } of E) {
|
|
628
|
-
const c =
|
|
629
|
-
[o] =
|
|
629
|
+
const c = In(l, { only: ["Wikitext"] });
|
|
630
|
+
[o] = Ln(o, _, c);
|
|
630
631
|
}
|
|
631
632
|
return o;
|
|
632
633
|
}(n.state.tr);
|
|
@@ -635,14 +636,14 @@ function Di() {
|
|
|
635
636
|
i - t < 300 ? e || (e = window.setTimeout(a, 300)) : a(i);
|
|
636
637
|
};
|
|
637
638
|
}
|
|
638
|
-
function
|
|
639
|
+
function Ln(e, t, n, a = 0, i = []) {
|
|
639
640
|
for (const s of n) if (typeof s == "string") {
|
|
640
641
|
for (const r of i) e.addMark(t + a, t + a + s.length, r.create());
|
|
641
642
|
a += s.length;
|
|
642
643
|
} else if (s.type === "bold" || s.type === "italic" || s.type === "strikethrough") {
|
|
643
644
|
a += 1;
|
|
644
645
|
const r = w.marks[s.type], o = [...i, r];
|
|
645
|
-
[e, a] =
|
|
646
|
+
[e, a] = Ln(e, t, s.children, a, o), a += 1;
|
|
646
647
|
} else P.unreachable();
|
|
647
648
|
return [e, a];
|
|
648
649
|
}
|
|
@@ -654,7 +655,7 @@ function Lt(e) {
|
|
|
654
655
|
return a = a.replaceRangeWith(i.from, i.from, w.text(e, a.storedMarks)), a = a.replaceRangeWith(i.to + 1, i.to + 1, w.text(e, a.storedMarks)), a = a.setSelection(_t.near(a.doc.resolve(i.to + 1))), n(a), !0;
|
|
655
656
|
};
|
|
656
657
|
}
|
|
657
|
-
function
|
|
658
|
+
function gi(e, t, n) {
|
|
658
659
|
const a = t.clipboardData;
|
|
659
660
|
if (!a) return !1;
|
|
660
661
|
const i = function(s) {
|
|
@@ -673,7 +674,7 @@ function Ci(e, t, n) {
|
|
|
673
674
|
s.dispatch(o);
|
|
674
675
|
}(e, a.getData("text/plain")), !0;
|
|
675
676
|
}
|
|
676
|
-
function
|
|
677
|
+
function vi(e, { allowSpaces: t = !1 }) {
|
|
677
678
|
return (n) => {
|
|
678
679
|
const a = new RegExp(`\\s${e}$`), i = t ? new RegExp(`${e}.*?(?=\\s${e}|$)`, "g") : new RegExp(`(?:^)?${e}[^\\s${e}]*`, "g"), s = n.before(), r = n.end(), o = n.doc.textBetween(s, r, "\0", "\0");
|
|
679
680
|
let E;
|
|
@@ -686,8 +687,8 @@ function gi(e, { allowSpaces: t = !1 }) {
|
|
|
686
687
|
}
|
|
687
688
|
};
|
|
688
689
|
}
|
|
689
|
-
function mt({ matcher: e =
|
|
690
|
-
return new
|
|
690
|
+
function mt({ matcher: e = vi("#"), suggestionClass: t = "ProseMirror-suggestion", onEnter: n = () => !1, onChange: a = () => !1, onExit: i = () => !1, onKeyDown: s = () => !1, debug: r = !1 }) {
|
|
691
|
+
return new en({ key: new Qt("suggestions"), view() {
|
|
691
692
|
return { update: (o, E) => {
|
|
692
693
|
const l = this.key.getState(E), _ = this.key.getState(o.state), c = l.active && _.active && l.range.from !== _.range.from, I = !l.active && _.active, T = l.active && !_.active, u = !I && !T && l.text !== _.text;
|
|
693
694
|
(T || c) && i({ view: o, range: l.range, text: l.text }), u && !c && a({ view: o, range: _.range, text: _.text }), (I || c) && n({ view: o, range: _.range, text: _.text });
|
|
@@ -705,21 +706,21 @@ function mt({ matcher: e = gi("#"), suggestionClass: t = "ProseMirror-suggestion
|
|
|
705
706
|
return !!l && s({ view: o, event: E });
|
|
706
707
|
}, decorations(o) {
|
|
707
708
|
const { active: E, range: l } = this.getState(o);
|
|
708
|
-
return E ?
|
|
709
|
+
return E ? Xt.create(o.doc, [xt.inline(l.from, l.to, { nodeName: "span", class: t, style: r ? "background: rgba(0, 0, 255, 0.05); color: blue; border: 2px solid blue;" : null })]) : null;
|
|
709
710
|
} } });
|
|
710
711
|
}
|
|
711
|
-
function
|
|
712
|
+
function ki({ placeholder: e, disabled: t, className: n = "", characterLimit: a, spellcheck: i }) {
|
|
712
713
|
const s = ge(), r = y(), o = y(null);
|
|
713
714
|
return v(() => (r.current = function(E, l, _, c, I) {
|
|
714
|
-
const T =
|
|
715
|
+
const T = ea.create({ schema: w, plugins: [...I.filter(fi), ta(), ct({ ...ke, "Mod-z": na, "Mod-y": aa, "Mod-b": Lt("*"), "Mod-i": Lt("_"), "Mod-Enter": ke.Enter, "Shift-Enter": ke.Enter, Enter: _ }), ct({ Enter: ke.Enter }), Nt] }), u = Ci(), d = new Kn(E, { handlePaste: (N, m, R) => gi(N, m, c), clipboardTextSerializer(N) {
|
|
715
716
|
const m = [];
|
|
716
717
|
return N.content.forEach((R) => {
|
|
717
|
-
R && m.push(
|
|
718
|
+
R && m.push(On(R.textContent));
|
|
718
719
|
}), m.join();
|
|
719
720
|
}, state: T, dispatchTransaction(N) {
|
|
720
721
|
N = (N = N.removeStoredMark(w.marks.literal)).removeStoredMark(w.marks.emoji);
|
|
721
722
|
const m = d.state.apply(N);
|
|
722
|
-
d.state.doc.eq(m.doc) || l(new ye(m.doc)), d.updateState(m), N.steps.some((R) => R instanceof
|
|
723
|
+
d.state.doc.eq(m.doc) || l(new ye(m.doc)), d.updateState(m), N.steps.some((R) => R instanceof oa) && u(d);
|
|
723
724
|
} });
|
|
724
725
|
return d;
|
|
725
726
|
}(o.current, (E) => s.onChange(E), () => !!s.onEnter && (s.onEnter(), !0), (E) => s.onPasteImage(E), [s.emojiSuggesterPlugin(), s.mentionsPlugin()]), s.setEditorView(r.current), () => {
|
|
@@ -752,7 +753,7 @@ function ht(e, t) {
|
|
|
752
753
|
}
|
|
753
754
|
const Ye = class Ye {
|
|
754
755
|
constructor(t) {
|
|
755
|
-
this.doc = t, this.size = this.doc.content.size, this.hasContent =
|
|
756
|
+
this.doc = t, this.size = this.doc.content.size, this.hasContent = An(this.doc);
|
|
756
757
|
}
|
|
757
758
|
asText() {
|
|
758
759
|
return this.doc.textContent.replace(/\xa0/g, " ");
|
|
@@ -760,12 +761,12 @@ const Ye = class Ye {
|
|
|
760
761
|
};
|
|
761
762
|
Ye.EMPTY = new Ye(w.topNodeType.create());
|
|
762
763
|
let ye = Ye;
|
|
763
|
-
function
|
|
764
|
+
function fi(e) {
|
|
764
765
|
return e != null;
|
|
765
766
|
}
|
|
766
|
-
const
|
|
767
|
+
const mn = /^\/.*[^\\]\/[im]*$/;
|
|
767
768
|
function Dt(e) {
|
|
768
|
-
return
|
|
769
|
+
return mn.test(e) ? !we(e).test("") : !1;
|
|
769
770
|
}
|
|
770
771
|
function we(e) {
|
|
771
772
|
const t = e.match(/^\/(.*[^\\])\/(.*)$/);
|
|
@@ -773,11 +774,12 @@ function we(e) {
|
|
|
773
774
|
let n = t[2] || "";
|
|
774
775
|
return n = n.replace(/[^im]/g, "") + "g", new RegExp(t[1], n);
|
|
775
776
|
}
|
|
776
|
-
function
|
|
777
|
+
function Mi(e, t) {
|
|
777
778
|
const n = function(i) {
|
|
778
|
-
{
|
|
779
|
-
|
|
780
|
-
|
|
779
|
+
try {
|
|
780
|
+
return new URL(i).hostname;
|
|
781
|
+
} catch (s) {
|
|
782
|
+
return;
|
|
781
783
|
}
|
|
782
784
|
}(t), a = function(i) {
|
|
783
785
|
const s = i.replace(/\./g, "\\.").replace(/\*/g, ".*");
|
|
@@ -785,8 +787,8 @@ function fi(e, t) {
|
|
|
785
787
|
}(e);
|
|
786
788
|
return n !== void 0 && a.test(n);
|
|
787
789
|
}
|
|
788
|
-
const
|
|
789
|
-
function
|
|
790
|
+
const Pi = /^[]/g;
|
|
791
|
+
function Ui(e) {
|
|
790
792
|
return e.replace(/([.?*+^$[\]\\(){}|-])/g, "\\$1");
|
|
791
793
|
}
|
|
792
794
|
function nt(e, t) {
|
|
@@ -824,19 +826,19 @@ function nt(e, t) {
|
|
|
824
826
|
}, e.never = function(a) {
|
|
825
827
|
};
|
|
826
828
|
})(nt || (nt = {}));
|
|
827
|
-
const Ee = nt,
|
|
828
|
-
function
|
|
829
|
+
const Ee = nt, Hi = /\uFE0F/g, bi = "";
|
|
830
|
+
function Bi(e) {
|
|
829
831
|
if (e === ":arslan:") return "https://cdn.talkjs.com/__assets/5461191341cea882b3f227c085d5772c.gif";
|
|
830
832
|
const t = function(a) {
|
|
831
833
|
const i = [];
|
|
832
834
|
let s = 0, r = 0, o = 0;
|
|
833
835
|
for (; o < a.length; ) s = a.charCodeAt(o++), r ? (i.push((65536 + (r - 55296 << 10) + (s - 56320)).toString(16)), r = 0) : 55296 <= s && s <= 56319 ? r = s : i.push(s.toString(16));
|
|
834
836
|
return i.join("-");
|
|
835
|
-
}((n = e).indexOf(
|
|
837
|
+
}((n = e).indexOf(bi) < 0 ? n.replace(Hi, "") : n);
|
|
836
838
|
var n;
|
|
837
839
|
return `https://cdn.jsdelivr.net/gh/twitter/twemoji@14.0.2/assets/svg/${t}.svg`;
|
|
838
840
|
}
|
|
839
|
-
class
|
|
841
|
+
class yi {
|
|
840
842
|
constructor({ mode: t, allowedHostnames: n, allowedPhoneNrs: a, allowedMatches: i, forbiddenMatches: s, suppressLinks: r, suppressEmailAddresses: o, suppressPhoneNumbers: E, replacement: l }) {
|
|
841
843
|
Ee.oneOf(t, ["all", "otherOnly", "off"]), this.mode = t, this.suppressLinks = r !== !1, this.suppressEmailAddresses = o !== !1, this.suppressPhoneNumbers = E !== !1, this.allowedHostnames = n || [], this.allowedPhoneNrs = (a || []).filter((_) => _).map((_) => _.replace(/[^0-9]/g, "")), this.allowedMatches = (i || []).filter(Dt).map((_) => we(_)), this.forbiddenMatches = (s || []).filter(Dt).map((_) => we(_)), Ee(() => this.allowedMatches.every((_) => _.flags.includes("g")), "All regexes in `suppressContactInfo.allowedMatches` must be global. Check `allowedMatches`!"), Ee(() => this.forbiddenMatches.every((_) => _.flags.includes("g")), "All regexes in `suppressContactInfo.forbiddenMatches` must be global. Check `forbiddenMatches`!"), l = l == null ? void 0 : l.trim(), this.replacement = l && l.length > 0 ? l : void 0;
|
|
842
844
|
}
|
|
@@ -844,12 +846,12 @@ class Bi {
|
|
|
844
846
|
return this.mode === "all" || this.mode === "otherOnly" && !t;
|
|
845
847
|
}
|
|
846
848
|
}
|
|
847
|
-
function
|
|
849
|
+
function pn(e) {
|
|
848
850
|
var n, a, i, s, r, o, E, l, _, c, I, T, u;
|
|
849
851
|
let t = "";
|
|
850
|
-
return e.t && (t = `(${e.t("CONTACT_INFORMATION_HIDDEN")})`), { formattedLinks: (n = e.formattedLinks) != null ? n : "plaintext", markup: (a = e.markup) != null ? a : !1, useFallbackMentions: (i = e.useFallbackMentions) != null ? i : !1, sameTabLinkRules: (s = e.sameTabLinkRules) != null ? s : [], enableEmojiImageFallback: (r = e.enableEmojiImageFallback) != null ? r : !1, highlight: (o = e.highlight) != null ? o : [], contactInfo: (E = e.contactInfo) != null ? E : !1, suppression: (l = e.suppression) != null ? l : new
|
|
852
|
+
return e.t && (t = `(${e.t("CONTACT_INFORMATION_HIDDEN")})`), { formattedLinks: (n = e.formattedLinks) != null ? n : "plaintext", markup: (a = e.markup) != null ? a : !1, useFallbackMentions: (i = e.useFallbackMentions) != null ? i : !1, sameTabLinkRules: (s = e.sameTabLinkRules) != null ? s : [], enableEmojiImageFallback: (r = e.enableEmojiImageFallback) != null ? r : !1, highlight: (o = e.highlight) != null ? o : [], contactInfo: (E = e.contactInfo) != null ? E : !1, suppression: (l = e.suppression) != null ? l : new yi({ mode: "off" }), contactInfoHiddenText: (I = (c = e.contactInfoHiddenText) != null ? c : (_ = e.suppression) == null ? void 0 : _.replacement) != null ? I : t, customEmojiUrls: (T = e.customEmojiUrls) != null ? T : {}, enableActions: (u = e.enableActions) != null ? u : !0 };
|
|
851
853
|
}
|
|
852
|
-
function
|
|
854
|
+
function wi({ id: e, text: t }) {
|
|
853
855
|
var s;
|
|
854
856
|
const n = f(), a = k(() => {
|
|
855
857
|
var E;
|
|
@@ -869,14 +871,14 @@ function ce(e, t) {
|
|
|
869
871
|
case "blockquote":
|
|
870
872
|
case "bulletpoint":
|
|
871
873
|
case "bulletPoint":
|
|
872
|
-
return
|
|
874
|
+
return Yi(a, t);
|
|
873
875
|
case "bulletlist":
|
|
874
876
|
case "bulletList":
|
|
875
877
|
return [te("ul", null, ...ce(a.children, t))];
|
|
876
878
|
case "autolink":
|
|
877
879
|
case "autoLink":
|
|
878
880
|
case "link":
|
|
879
|
-
return
|
|
881
|
+
return Fi(a, t);
|
|
880
882
|
case "codeblock":
|
|
881
883
|
case "codeBlock":
|
|
882
884
|
return [O("code", { "data-language": a.language, children: We(a.text, t.highlight) })];
|
|
@@ -884,16 +886,16 @@ function ce(e, t) {
|
|
|
884
886
|
case "codeSpan":
|
|
885
887
|
return O("code", { children: We((i = a.text, i.replace(/^\s*\n/m, "").replace(/\n\s*$/m, "")), t.highlight) });
|
|
886
888
|
case "mention":
|
|
887
|
-
return Ee.falsy(t.useFallbackMentions), O(
|
|
889
|
+
return Ee.falsy(t.useFallbackMentions), O(wi, { id: a.id, text: a.text }, a.id);
|
|
888
890
|
case "suppressed":
|
|
889
891
|
return [O("i", { children: t.contactInfoHiddenText })];
|
|
890
892
|
case "emoji":
|
|
891
|
-
return t.enableEmojiImageFallback ? [O(
|
|
893
|
+
return t.enableEmojiImageFallback ? [O($i, { unicode: a.text })] : [a.text];
|
|
892
894
|
case "actionlink":
|
|
893
895
|
case "actionLink":
|
|
894
896
|
case "actionbutton":
|
|
895
897
|
case "actionButton":
|
|
896
|
-
return
|
|
898
|
+
return ji(a, t);
|
|
897
899
|
case "customemoji":
|
|
898
900
|
case "customEmoji":
|
|
899
901
|
return a.text;
|
|
@@ -912,56 +914,56 @@ function We(e, t) {
|
|
|
912
914
|
return s < n.length && r.push(n.substring(s)), r;
|
|
913
915
|
}(e, st(e, function(n) {
|
|
914
916
|
const a = n.map((s) => s.trim()).filter((s) => s);
|
|
915
|
-
if (a.length === 0) return
|
|
916
|
-
const i = a.map(
|
|
917
|
+
if (a.length === 0) return Pi;
|
|
918
|
+
const i = a.map(Ui).join("|");
|
|
917
919
|
return new RegExp(i, "gi");
|
|
918
920
|
}(t)).map((n) => ({ offset: n.index, matchedText: n[0] })), ({ matchedText: n }) => [O("span", { className: "highlighted-text", children: n })]);
|
|
919
921
|
}
|
|
920
|
-
const
|
|
922
|
+
const Yi = (e, t) => {
|
|
921
923
|
const n = { bold: "strong", italic: "em", strikethrough: "del", blockquote: "blockquote", bulletpoint: "li", bulletPoint: "li" }[e.type];
|
|
922
924
|
return [te(n, null, ...ce(e.children, t))];
|
|
923
925
|
};
|
|
924
|
-
function
|
|
926
|
+
function $i({ unicode: e }) {
|
|
925
927
|
const [t, n] = b(() => e !== ":arslan:");
|
|
926
928
|
if (v(() => {
|
|
927
|
-
t && !
|
|
929
|
+
t && !En(e) && n(!1);
|
|
928
930
|
}, []), t) return O("span", { className: "t-emoji", children: e });
|
|
929
|
-
const a =
|
|
931
|
+
const a = Bi(e);
|
|
930
932
|
return O("img", { className: "t-emoji", src: a, alt: e });
|
|
931
933
|
}
|
|
932
|
-
const
|
|
934
|
+
const Fi = (e, t) => {
|
|
933
935
|
const n = "children" in e ? e.children : [e.text];
|
|
934
936
|
switch (t.formattedLinks) {
|
|
935
937
|
case "link": {
|
|
936
938
|
const a = function(i, s) {
|
|
937
|
-
for (const r of i) if (
|
|
939
|
+
for (const r of i) if (mn.test(r)) {
|
|
938
940
|
if (we(r).test(s)) return "_top";
|
|
939
|
-
} else if (
|
|
941
|
+
} else if (Mi(r, s)) return "_top";
|
|
940
942
|
return "_blank";
|
|
941
943
|
}(t.sameTabLinkRules, e.url);
|
|
942
944
|
return [te("a", { target: a, href: e.url, rel: "noreferrer" }, ...ce(n, t))];
|
|
943
945
|
}
|
|
944
946
|
case "plaintext":
|
|
945
947
|
case !1:
|
|
946
|
-
return "children" in e && e.children.every((a) => typeof a == "string") ? [e.children.join("")] : [te(
|
|
948
|
+
return "children" in e && e.children.every((a) => typeof a == "string") ? [e.children.join("")] : [te(xn, null, ...ce(n, t))];
|
|
947
949
|
default:
|
|
948
950
|
Ee.never(t.formattedLinks);
|
|
949
951
|
}
|
|
950
|
-
},
|
|
951
|
-
function
|
|
952
|
+
}, ji = (e, t) => t.enableActions ? [te("button", { "data-type": e.type, "data-action": e.action, "data-params": JSON.stringify(e.params), disabled: !0 }, ...ce(e.children, t))] : [null];
|
|
953
|
+
function hn({ block: e, nonInteractive: t, className: n = "" }) {
|
|
952
954
|
const a = !t, i = function(s, r = {}) {
|
|
953
|
-
return ce(s,
|
|
955
|
+
return ce(s, pn(r));
|
|
954
956
|
}(e.children, { enableEmojiImageFallback: !0, formattedLinks: a ? "link" : "plaintext", enableActions: a });
|
|
955
957
|
return te("span", { className: `t-text ${n}` }, ...i);
|
|
956
958
|
}
|
|
957
|
-
function
|
|
959
|
+
function Vi(e) {
|
|
958
960
|
const t = G(), n = f(), { className: a = "", ...i } = e, s = k(() => n.state$.messages.child(n.state$.extCurrentConversationId.get()).lookup.child(e.message.id).content.child(0).url.get());
|
|
959
961
|
return O("div", { className: `t-message-content ${a}`, children: e.message.content.map((r) => {
|
|
960
962
|
var o;
|
|
961
|
-
return O(
|
|
963
|
+
return O(xi, { block: r, theme: t, downloadUrl: s, ...i }, e.message.createdAt + ((o = e.message.editedAt) != null ? o : 0));
|
|
962
964
|
}) });
|
|
963
965
|
}
|
|
964
|
-
function
|
|
966
|
+
function xi({ common: e, block: t, message: n, theme: a, downloadUrl: i }) {
|
|
965
967
|
const s = function(r, o) {
|
|
966
968
|
switch (o.type) {
|
|
967
969
|
case "text":
|
|
@@ -999,7 +1001,7 @@ function je(e, t, n = !0) {
|
|
|
999
1001
|
};
|
|
1000
1002
|
}, [a, i, n]);
|
|
1001
1003
|
}
|
|
1002
|
-
function
|
|
1004
|
+
function Dn(e) {
|
|
1003
1005
|
const [t, n] = b();
|
|
1004
1006
|
return v(() => {
|
|
1005
1007
|
let a = !0;
|
|
@@ -1014,22 +1016,22 @@ function rt() {
|
|
|
1014
1016
|
const e = f(), t = k(e.t$);
|
|
1015
1017
|
return O(Be, { type: "spinner", "aria-label": t.LOADING, className: "t-loading-icon" });
|
|
1016
1018
|
}
|
|
1017
|
-
const
|
|
1019
|
+
const Xi = "https://cdn.jsdelivr.net/npm/emoji-picker-element@1.26.3/+esm", ot = /* @__PURE__ */ function(e) {
|
|
1018
1020
|
let t;
|
|
1019
1021
|
return () => (t === void 0 && (t = { value: e() }), t.value);
|
|
1020
1022
|
}(async function() {
|
|
1021
1023
|
if (typeof window == "undefined" || window.document === void 0) return new Promise(() => {
|
|
1022
1024
|
});
|
|
1023
1025
|
try {
|
|
1024
|
-
const e = await import(/*webpackIgnore: true*/ /* @vite-ignore */
|
|
1026
|
+
const e = await import(/*webpackIgnore: true*/ /* @vite-ignore */Xi);
|
|
1025
1027
|
return await new e.Database().ready(), e;
|
|
1026
1028
|
} catch (e) {
|
|
1027
1029
|
return be.error("Failed to load emoji picker:", e), new Promise(() => {
|
|
1028
1030
|
});
|
|
1029
1031
|
}
|
|
1030
1032
|
});
|
|
1031
|
-
function
|
|
1032
|
-
const { onClose: t, onEmojiSelected: n } =
|
|
1033
|
+
function Cn(e) {
|
|
1034
|
+
const { onClose: t, onEmojiSelected: n } = Wn(), a = y(null), i = Dn(ot);
|
|
1033
1035
|
return v(() => {
|
|
1034
1036
|
if (!i) return;
|
|
1035
1037
|
P.defined(a.current);
|
|
@@ -1054,19 +1056,19 @@ function Dn(e) {
|
|
|
1054
1056
|
i && a.current && ((s = a.current.shadowRoot.getElementById("search")) == null || s.focus());
|
|
1055
1057
|
}, [i]), je(() => t(), ".t-emoji-picker"), O("div", i ? { className: "t-emoji-picker", children: O("emoji-picker", { ref: a, class: e.colorScheme }) } : { className: "t-emoji-picker", "t-loading": "", children: O(rt, {}) });
|
|
1056
1058
|
}
|
|
1057
|
-
function
|
|
1058
|
-
const { messageId: t, colorScheme: n, ...a } = e, { closePopover: i } =
|
|
1059
|
-
return O("div", { ...a, children: O(
|
|
1059
|
+
function Gi(e) {
|
|
1060
|
+
const { messageId: t, colorScheme: n, ...a } = e, { closePopover: i } = qn(), s = Oe();
|
|
1061
|
+
return O("div", { ...a, children: O(Gt.Provider, { value: { onClose: i, onEmojiSelected: (r) => {
|
|
1060
1062
|
s.addReaction(t, r), i();
|
|
1061
|
-
} }, children: O(
|
|
1063
|
+
} }, children: O(Cn, { colorScheme: n }) }) });
|
|
1062
1064
|
}
|
|
1063
|
-
const
|
|
1064
|
-
function
|
|
1065
|
+
const zi = { ltr: ["ArrowLeft", "ArrowRight"], rtl: ["ArrowRight", "ArrowLeft"], ttb: ["ArrowUp", "ArrowDown"] };
|
|
1066
|
+
function gn(e, { focused: t, setFocused: n, itemCount: a, dir: i, onConfirm: s, onSpace: r }) {
|
|
1065
1067
|
if (a === 0) return !1;
|
|
1066
1068
|
const o = (_) => {
|
|
1067
1069
|
var c, I, T;
|
|
1068
1070
|
c = 0, I = _, T = a - 1, _ = Math.max(c, Math.min(I, T)), n(_);
|
|
1069
|
-
}, [E, l] =
|
|
1071
|
+
}, [E, l] = zi[i];
|
|
1070
1072
|
switch (e) {
|
|
1071
1073
|
case E:
|
|
1072
1074
|
return o(t - 1), !0;
|
|
@@ -1080,7 +1082,7 @@ function Cn(e, { focused: t, setFocused: n, itemCount: a, dir: i, onConfirm: s,
|
|
|
1080
1082
|
}
|
|
1081
1083
|
return !1;
|
|
1082
1084
|
}
|
|
1083
|
-
function
|
|
1085
|
+
function vn({ focused: e, setFocused: t, buttonId: n }) {
|
|
1084
1086
|
Ae(() => {
|
|
1085
1087
|
var s;
|
|
1086
1088
|
const i = n(e);
|
|
@@ -1092,15 +1094,15 @@ function gn({ focused: e, setFocused: t, buttonId: n }) {
|
|
|
1092
1094
|
}, [t]);
|
|
1093
1095
|
return { containerProps: H(() => ({ role: "menu", "aria-activedescendant": n(e) }), [e, n]), itemProps: B((i) => ({ onMouseMove: a, id: n(i), "data-index": i }), [a, n]) };
|
|
1094
1096
|
}
|
|
1095
|
-
function
|
|
1096
|
-
const [t, n] = b([]), [a, i] = b([]), [s, r] = b(0), [o, E] = b(0), l =
|
|
1097
|
+
function Ki(e) {
|
|
1098
|
+
const [t, n] = b([]), [a, i] = b([]), [s, r] = b(0), [o, E] = b(0), l = Dn(ot), _ = H(() => l && new l.value.Database({}), [l]), c = ge(), I = k(c.state$.suggestEmojiQuery);
|
|
1097
1099
|
v(() => {
|
|
1098
1100
|
_ && (I ? async function() {
|
|
1099
1101
|
const R = await _.getPreferredSkinTone();
|
|
1100
1102
|
E(R);
|
|
1101
1103
|
let L = await _.getEmojiBySearchQuery(I);
|
|
1102
1104
|
if (L = L.filter((p) => p.url || function(C) {
|
|
1103
|
-
return C.version <=
|
|
1105
|
+
return C.version <= ln && !qi.includes(C.unicode);
|
|
1104
1106
|
}(p)), function(p, C) {
|
|
1105
1107
|
C.sort((D, h) => {
|
|
1106
1108
|
var $, g;
|
|
@@ -1119,9 +1121,9 @@ function zi(e) {
|
|
|
1119
1121
|
const T = B((R) => {
|
|
1120
1122
|
const L = t[R];
|
|
1121
1123
|
return L && "emoji-button-" + Ne(L, o);
|
|
1122
|
-
}, [t, o]), { containerProps: u, itemProps: d } =
|
|
1124
|
+
}, [t, o]), { containerProps: u, itemProps: d } = vn({ focused: s, setFocused: r, buttonId: T }), N = t.length > 0;
|
|
1123
1125
|
je(() => c.closeSuggester(), ".t-emoji-suggest-bar", N), v(() => {
|
|
1124
|
-
if (N) return c.listenKeydown("emoji", (R) =>
|
|
1126
|
+
if (N) return c.listenKeydown("emoji", (R) => gn(R, { dir: "ltr", focused: s, setFocused: r, itemCount: t.length, onConfirm() {
|
|
1125
1127
|
const L = t[s];
|
|
1126
1128
|
P.defined(L), c.selectEmoji(Ne(L, o));
|
|
1127
1129
|
} })), () => {
|
|
@@ -1130,32 +1132,32 @@ function zi(e) {
|
|
|
1130
1132
|
c.listenKeydown("emoji", void 0);
|
|
1131
1133
|
}, [c, t, s, N, o]);
|
|
1132
1134
|
const m = y(null);
|
|
1133
|
-
return O(
|
|
1135
|
+
return O(la, { in: N, timeout: 100, classNames: "slide", mountOnEnter: !0, unmountOnExit: !0, nodeRef: m, children: O("div", { className: "t-emoji-suggest-bar", ref: m, ...u, children: a.map((R, L) => O(Wi, { emoji: R, skinTone: o, focused: L === s, onSelect: (p) => c.selectEmoji(p), ...d(L) }, Ne(R, o))) }) });
|
|
1134
1136
|
}
|
|
1135
1137
|
function Ne(e, t) {
|
|
1136
|
-
return at(e) ?
|
|
1138
|
+
return at(e) ? kn(e, t) : e.name;
|
|
1137
1139
|
}
|
|
1138
1140
|
function at(e) {
|
|
1139
1141
|
return !!e.unicode;
|
|
1140
1142
|
}
|
|
1141
|
-
function
|
|
1143
|
+
function Wi(e) {
|
|
1142
1144
|
var l;
|
|
1143
|
-
const { emoji: t, focused: n, skinTone: a, onSelect: i, ...s } = e, r = ((l = t.shortcodes) != null ? l : []).join(", "), o = at(t) ? [t.unicode, r].join(", ") : r, E = at(t) ?
|
|
1145
|
+
const { emoji: t, focused: n, skinTone: a, onSelect: i, ...s } = e, r = ((l = t.shortcodes) != null ? l : []).join(", "), o = at(t) ? [t.unicode, r].join(", ") : r, E = at(t) ? kn(t, a) : null;
|
|
1144
1146
|
return O("button", { "t-focused": n ? "" : void 0, title: r, "aria-label": o, onClick: () => i(Ne(t, a)), ...s, children: E });
|
|
1145
1147
|
}
|
|
1146
|
-
function
|
|
1148
|
+
function kn(e, t) {
|
|
1147
1149
|
var a, i;
|
|
1148
1150
|
const n = (a = e.skins) == null ? void 0 : a.find((s) => s.tone === t);
|
|
1149
1151
|
return (i = n == null ? void 0 : n.unicode) != null ? i : e.unicode;
|
|
1150
1152
|
}
|
|
1151
|
-
const
|
|
1152
|
-
function
|
|
1153
|
-
const { anchorSelector: t, children: n, ...a } = e, i = H(() => document.querySelector(t), [t]), { refs: s, floatingStyles: r } =
|
|
1153
|
+
const qi = ["🏻", "🏼", "🏽", "🏾", "🏿"];
|
|
1154
|
+
function Ji(e) {
|
|
1155
|
+
const { anchorSelector: t, children: n, ...a } = e, i = H(() => document.querySelector(t), [t]), { refs: s, floatingStyles: r } = _a({ placement: "top-start" });
|
|
1154
1156
|
return Ae(() => {
|
|
1155
1157
|
i && s.setReference(i);
|
|
1156
1158
|
}, [s, i]), O("div", { ref: s.setFloating, style: { ...r, zIndex: 1e3 }, ...a, children: n });
|
|
1157
1159
|
}
|
|
1158
|
-
function
|
|
1160
|
+
function Zi(e) {
|
|
1159
1161
|
const t = f(), n = k(() => t.mentionableUsers$.get()), [a, i] = b(0), s = ge(), r = k(s.state$.suggestMentionQuery), o = H(() => Object.fromEntries(n.map((T) => {
|
|
1160
1162
|
return [T.id, (u = T.name, [...u.matchAll(/^|\s+/g)].map((d) => d.index + d[0].length).map((d) => u.substring(d)))];
|
|
1161
1163
|
var u;
|
|
@@ -1179,9 +1181,9 @@ function Ji(e) {
|
|
|
1179
1181
|
var d;
|
|
1180
1182
|
const u = (d = E[T]) == null ? void 0 : d.id;
|
|
1181
1183
|
return u && "mention-button-" + u;
|
|
1182
|
-
}, [E]), { containerProps: c, itemProps: I } =
|
|
1184
|
+
}, [E]), { containerProps: c, itemProps: I } = vn({ focused: a, setFocused: i, buttonId: _ });
|
|
1183
1185
|
return v(() => {
|
|
1184
|
-
if (E.length !== 0) return s.listenKeydown("mention", (T) =>
|
|
1186
|
+
if (E.length !== 0) return s.listenKeydown("mention", (T) => gn(T, { dir: "ttb", focused: a, setFocused: i, itemCount: E.length, onSpace() {
|
|
1185
1187
|
if (r) {
|
|
1186
1188
|
const u = E[a];
|
|
1187
1189
|
if (Tt(u.name, Ct(r))) return s.selectMention(u), !0;
|
|
@@ -1193,9 +1195,9 @@ function Ji(e) {
|
|
|
1193
1195
|
} })), () => {
|
|
1194
1196
|
s.listenKeydown("mention", void 0);
|
|
1195
1197
|
};
|
|
1196
|
-
}, [s, a, E, r]), je(() => s.closeSuggester(), ".t-mention-suggest-list", E.length > 0), E.length === 0 ? null : O(
|
|
1198
|
+
}, [s, a, E, r]), je(() => s.closeSuggester(), ".t-mention-suggest-list", E.length > 0), E.length === 0 ? null : O(Ji, { className: "t-mention-suggest-list", ...c, anchorSelector: ".ProseMirror-suggestion", children: E.map((T, u) => O(Qi, { user: T, isFocused: u === a, onSelect: () => s.selectMention(T), ...I(u) }, T.id)) });
|
|
1197
1199
|
}
|
|
1198
|
-
const
|
|
1200
|
+
const Qi = oe.memo(function(e) {
|
|
1199
1201
|
const { user: t, isFocused: n, onSelect: a, ...i } = e;
|
|
1200
1202
|
return O("button", { className: n ? "focused" : "", onClick: () => a(t.id), ...i, children: t.name });
|
|
1201
1203
|
});
|
|
@@ -1205,7 +1207,7 @@ function Ct(e) {
|
|
|
1205
1207
|
function Re(e) {
|
|
1206
1208
|
const { popoverComponent: t, popoverProps: n, children: a, type: i = "popover", ...s } = e, [r, o] = b(void 0), [E, l] = b(!1);
|
|
1207
1209
|
let _, c, I;
|
|
1208
|
-
return i === "menu" ? (_ = Pe.Root, c = Pe.Trigger, I = Pe.Content) : (_ = Xe.Root, c = Xe.Trigger, I = Xe.Content), O(
|
|
1210
|
+
return i === "menu" ? (_ = Pe.Root, c = Pe.Trigger, I = Pe.Content) : (_ = Xe.Root, c = Xe.Trigger, I = Xe.Content), O(Jn.Provider, { value: { closePopover: () => l(!1) }, children: x(_, { modal: !1, open: E, onOpenChange: l, children: [O(c, { asChild: !0, children: O("button", { ...s, ref: (T) => ((u) => {
|
|
1209
1211
|
var N;
|
|
1210
1212
|
const d = (N = u == null ? void 0 : u.closest("[t-menu-boundary]")) != null ? N : void 0;
|
|
1211
1213
|
o(d);
|
|
@@ -1214,27 +1216,27 @@ function Re(e) {
|
|
|
1214
1216
|
function ie(e) {
|
|
1215
1217
|
return O(Pe.Item, { ...e });
|
|
1216
1218
|
}
|
|
1217
|
-
function
|
|
1218
|
-
return
|
|
1219
|
+
function es(e) {
|
|
1220
|
+
return nn(e);
|
|
1219
1221
|
}
|
|
1220
1222
|
function se(e) {
|
|
1221
1223
|
var t;
|
|
1222
1224
|
return (t = e.photoUrl) != null ? t : function(n, a) {
|
|
1223
1225
|
const i = `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100">
|
|
1224
|
-
<rect x="0" y="0" width="100" height="100" fill="${
|
|
1226
|
+
<rect x="0" y="0" width="100" height="100" fill="${nn(n)}"/>
|
|
1225
1227
|
<text x="50%" y="54%" dominant-baseline="middle" font-size="34" font-family="San Francisco, Segoe UI, Helvetica Neue, Arial, Helvetica, sans-serif" fill="#fff" text-anchor="middle">${a}</text>
|
|
1226
1228
|
</svg>`.replace(/\s+/g, " ");
|
|
1227
|
-
return "data:image/svg+xml;base64," +
|
|
1228
|
-
}(e.id,
|
|
1229
|
+
return "data:image/svg+xml;base64," + Gn.encode(i);
|
|
1230
|
+
}(e.id, Ia(e.name));
|
|
1229
1231
|
}
|
|
1230
1232
|
function Me(e) {
|
|
1231
1233
|
return e < 1024 ? e + " B" : e < 1048576 ? Math.floor(e / 1024) + " KB" : e < 1073741824 ? Math.floor(e / 1048576) + " MB" : e < 1099511627776 ? Math.floor(e / 1073741824) + " GB" : Math.floor(e / 1099511627776) + " TB";
|
|
1232
1234
|
}
|
|
1233
|
-
function
|
|
1235
|
+
function fn({ latitude: e, longitude: t }) {
|
|
1234
1236
|
const n = e + "," + t;
|
|
1235
|
-
return { imageUrl: `https://maps.googleapis.com/maps/api/staticmap?center=${n}&zoom=15&size=300x200&scale=2&maptype=roadmap&markers=${n}&key=${
|
|
1237
|
+
return { imageUrl: `https://maps.googleapis.com/maps/api/staticmap?center=${n}&zoom=15&size=300x200&scale=2&maptype=roadmap&markers=${n}&key=${da}`, linkUrl: `https://maps.google.com/maps?q=${n}&z=15` };
|
|
1236
1238
|
}
|
|
1237
|
-
function
|
|
1239
|
+
function ts(e, t) {
|
|
1238
1240
|
const [n, a] = b({ long: "", short: "" });
|
|
1239
1241
|
return Ae(() => {
|
|
1240
1242
|
let i, s = !0;
|
|
@@ -1247,7 +1249,7 @@ function es(e, t) {
|
|
|
1247
1249
|
if (T < vt) u = gt, d = "MINUTES", N = I.MINUTES;
|
|
1248
1250
|
else if (T < kt) u = vt, d = "HOURS", N = I.HOURS;
|
|
1249
1251
|
else {
|
|
1250
|
-
if (!(T <
|
|
1252
|
+
if (!(T < is)) {
|
|
1251
1253
|
if (m.getFullYear() === new Date(_).getFullYear()) {
|
|
1252
1254
|
const p = m.toLocaleDateString(I.locale, R);
|
|
1253
1255
|
return { changeTimeout: void 0, short: p, long: p };
|
|
@@ -1260,7 +1262,7 @@ function es(e, t) {
|
|
|
1260
1262
|
u = kt, d = "DAYS", N = I.DAYS;
|
|
1261
1263
|
}
|
|
1262
1264
|
const L = Math.floor(T / u);
|
|
1263
|
-
return { changeTimeout: u, short: L + N, long:
|
|
1265
|
+
return { changeTimeout: u, short: L + N, long: ss(L, d.toLowerCase(), I.locale) };
|
|
1264
1266
|
}(E, e > E ? E - 2e3 : e, t);
|
|
1265
1267
|
return a(l), l;
|
|
1266
1268
|
}, o = () => {
|
|
@@ -1272,7 +1274,7 @@ function es(e, t) {
|
|
|
1272
1274
|
};
|
|
1273
1275
|
}, [t, e]), n;
|
|
1274
1276
|
}
|
|
1275
|
-
function
|
|
1277
|
+
function Mn(e) {
|
|
1276
1278
|
e = Math.floor(e);
|
|
1277
1279
|
const t = Math.floor(e / 3600);
|
|
1278
1280
|
e %= 3600;
|
|
@@ -1282,9 +1284,9 @@ function fn(e) {
|
|
|
1282
1284
|
let i = `${a(n)}:${a(e)}`;
|
|
1283
1285
|
return t > 0 && (i = `${a(t)}:${i}`), i;
|
|
1284
1286
|
}
|
|
1285
|
-
const
|
|
1286
|
-
function
|
|
1287
|
-
const n = Date.now(), a = (i = e, s = n, Math.floor((s - i) /
|
|
1287
|
+
const ns = 864e5;
|
|
1288
|
+
function as(e, t) {
|
|
1289
|
+
const n = Date.now(), a = (i = e, s = n, Math.floor((s - i) / ns));
|
|
1288
1290
|
var i, s;
|
|
1289
1291
|
if (a < 0 || a === 0) return t.TODAY;
|
|
1290
1292
|
if (a === 1) return t.YESTERDAY;
|
|
@@ -1295,15 +1297,15 @@ function ns(e, t) {
|
|
|
1295
1297
|
return Math.floor((c - _) / 31536e6);
|
|
1296
1298
|
}(E.setFullYear(E.getFullYear() - 1), e) === 0 ? o.toLocaleDateString(t.locale, { ...r, month: "long", day: "numeric" }) : o.toLocaleDateString(t.locale, { ...r, year: "numeric", month: "long", day: "numeric" });
|
|
1297
1299
|
}
|
|
1298
|
-
const gt = 6e4, vt = 36e5, kt = 864e5,
|
|
1299
|
-
function
|
|
1300
|
+
const gt = 6e4, vt = 36e5, kt = 864e5, is = 6048e5;
|
|
1301
|
+
function ss(e, t, n) {
|
|
1300
1302
|
return new Intl.RelativeTimeFormat(n).format(-e, t);
|
|
1301
1303
|
}
|
|
1302
1304
|
function S(e, ...t) {
|
|
1303
|
-
const n =
|
|
1305
|
+
const n = Vn.bind(oe.createElement)(e, ...t);
|
|
1304
1306
|
return Array.isArray(n) ? oe.createElement(oe.Fragment, {}, ...n) : n;
|
|
1305
1307
|
}
|
|
1306
|
-
function
|
|
1308
|
+
function rs(e) {
|
|
1307
1309
|
const { common: t } = e;
|
|
1308
1310
|
return t.conversation.subject ? S`
|
|
1309
1311
|
<div className="t-title">${t.conversation.subject}</div>
|
|
@@ -1330,7 +1332,7 @@ function ft({ common: e, isUserConnected: t, permissions: n }) {
|
|
|
1330
1332
|
</span>
|
|
1331
1333
|
` : S`<span className="t-participants">${s.map(({ user: r }) => r.name).join(", ")}</span>`;
|
|
1332
1334
|
}
|
|
1333
|
-
function
|
|
1335
|
+
function os({ messageStatus: e, common: t }) {
|
|
1334
1336
|
const { Icon: n } = t.theme;
|
|
1335
1337
|
return e === "sending" ? S`
|
|
1336
1338
|
<span className="t-status-icon">
|
|
@@ -1342,7 +1344,7 @@ function rs({ messageStatus: e, common: t }) {
|
|
|
1342
1344
|
</span>
|
|
1343
1345
|
` : e === "sent" ? S`<span className="t-status-icon">✓</span>` : e === "everyoneRead" ? S`<span className="t-status-icon">✓✓</span>` : null;
|
|
1344
1346
|
}
|
|
1345
|
-
const
|
|
1347
|
+
const Es = { attach: function({ className: e }) {
|
|
1346
1348
|
return S`
|
|
1347
1349
|
<svg
|
|
1348
1350
|
className=${e}
|
|
@@ -2047,10 +2049,10 @@ function Ht({ className: e }) {
|
|
|
2047
2049
|
</svg>
|
|
2048
2050
|
`;
|
|
2049
2051
|
}
|
|
2050
|
-
function
|
|
2052
|
+
function ls({ message: e, common: t }) {
|
|
2051
2053
|
var r;
|
|
2052
2054
|
const n = e.content[0], { theme: a, t: i } = t, { Icon: s } = a;
|
|
2053
|
-
if (n.type === "text") return S`<${
|
|
2055
|
+
if (n.type === "text") return S`<${hn} block=${n} nonInteractive />`;
|
|
2054
2056
|
if (n.type === "location") return S`<${s} type="location" common=${t} /> ${i.LOCATION}`;
|
|
2055
2057
|
if (n.type === "file") {
|
|
2056
2058
|
if (n.subtype === "image") return S`
|
|
@@ -2067,7 +2069,7 @@ function Es({ message: e, common: t }) {
|
|
|
2067
2069
|
`;
|
|
2068
2070
|
if (n.subtype === "voice") return S`
|
|
2069
2071
|
<${s} type="microphone" common=${t} />
|
|
2070
|
-
${i.VOICE_MESSAGE} (${
|
|
2072
|
+
${i.VOICE_MESSAGE} (${Mn((r = n.duration) != null ? r : 0)})
|
|
2071
2073
|
`;
|
|
2072
2074
|
if (n.subtype === void 0) return S`
|
|
2073
2075
|
<${s} type="attachment" common=${t} />
|
|
@@ -2076,7 +2078,7 @@ function Es({ message: e, common: t }) {
|
|
|
2076
2078
|
}
|
|
2077
2079
|
return null;
|
|
2078
2080
|
}
|
|
2079
|
-
function
|
|
2081
|
+
function _s({ conversation: e }) {
|
|
2080
2082
|
const { isUnread: t, unreadMessageCount: n } = e;
|
|
2081
2083
|
return t ? n === 0 ? S`<div className="t-unread-generic-dot" />` : n > 999 ? S`
|
|
2082
2084
|
<div className="t-unread-dot">
|
|
@@ -2127,7 +2129,7 @@ const Et = Object.freeze(Object.defineProperty({ __proto__: null, AudioBlock: fu
|
|
|
2127
2129
|
</div>
|
|
2128
2130
|
|
|
2129
2131
|
<div className="t-info">
|
|
2130
|
-
<${
|
|
2132
|
+
<${rs} ...${e} />
|
|
2131
2133
|
</div>
|
|
2132
2134
|
</div>
|
|
2133
2135
|
</div>
|
|
@@ -2136,7 +2138,7 @@ const Et = Object.freeze(Object.defineProperty({ __proto__: null, AudioBlock: fu
|
|
|
2136
2138
|
}, CompactMessageContent: function(e) {
|
|
2137
2139
|
return S`
|
|
2138
2140
|
<span className="t-theme-compact-message-content">
|
|
2139
|
-
<${
|
|
2141
|
+
<${ls} ...${e} />
|
|
2140
2142
|
</span>
|
|
2141
2143
|
`;
|
|
2142
2144
|
}, ConversationImage: function({ common: e, conversation: t, participants: n }) {
|
|
@@ -2192,7 +2194,7 @@ const Et = Object.freeze(Object.defineProperty({ __proto__: null, AudioBlock: fu
|
|
|
2192
2194
|
</div>
|
|
2193
2195
|
`}
|
|
2194
2196
|
|
|
2195
|
-
<${
|
|
2197
|
+
<${_s} ...${e} />
|
|
2196
2198
|
</div>
|
|
2197
2199
|
</div>
|
|
2198
2200
|
</div>
|
|
@@ -2263,7 +2265,7 @@ const Et = Object.freeze(Object.defineProperty({ __proto__: null, AudioBlock: fu
|
|
|
2263
2265
|
</div>
|
|
2264
2266
|
`;
|
|
2265
2267
|
}, Icon: function({ className: e = "", type: t }) {
|
|
2266
|
-
return S`<${
|
|
2268
|
+
return S`<${Es[t]} className=${`t-theme-icon ${e}`} />`;
|
|
2267
2269
|
}, ImageBlock: function({ block: e, downloadUrl: t, common: n }) {
|
|
2268
2270
|
const { Icon: a } = n.theme, i = { "--img-w": e.width || 1, "--img-h": e.height || 1 };
|
|
2269
2271
|
return S`
|
|
@@ -2287,7 +2289,7 @@ const Et = Object.freeze(Object.defineProperty({ __proto__: null, AudioBlock: fu
|
|
|
2287
2289
|
</div>
|
|
2288
2290
|
`;
|
|
2289
2291
|
}, LocationBlock: function({ block: e }) {
|
|
2290
|
-
const { imageUrl: t, linkUrl: n } =
|
|
2292
|
+
const { imageUrl: t, linkUrl: n } = fn(e);
|
|
2291
2293
|
return S`
|
|
2292
2294
|
<div className="t-theme-location-block">
|
|
2293
2295
|
<a
|
|
@@ -2323,7 +2325,7 @@ const Et = Object.freeze(Object.defineProperty({ __proto__: null, AudioBlock: fu
|
|
|
2323
2325
|
<!-- in group chats, show the message sender name in a random color -->
|
|
2324
2326
|
${N && m && S`<div
|
|
2325
2327
|
className="t-message-sender-name"
|
|
2326
|
-
style=${{ color:
|
|
2328
|
+
style=${{ color: es(N.id) }}
|
|
2327
2329
|
>
|
|
2328
2330
|
${N.name}
|
|
2329
2331
|
</div>`}
|
|
@@ -2332,7 +2334,7 @@ const Et = Object.freeze(Object.defineProperty({ __proto__: null, AudioBlock: fu
|
|
|
2332
2334
|
common=${i}
|
|
2333
2335
|
/>`}
|
|
2334
2336
|
|
|
2335
|
-
<${
|
|
2337
|
+
<${Vi}
|
|
2336
2338
|
common=${i}
|
|
2337
2339
|
message=${t}
|
|
2338
2340
|
messageStatus=${n}
|
|
@@ -2340,7 +2342,7 @@ const Et = Object.freeze(Object.defineProperty({ __proto__: null, AudioBlock: fu
|
|
|
2340
2342
|
|
|
2341
2343
|
<div className="t-message-status">
|
|
2342
2344
|
<${T} timestamp=${t.createdAt} common=${i} />
|
|
2343
|
-
${p == "currentUser" && S`<${
|
|
2345
|
+
${p == "currentUser" && S`<${os} ...${e} />`}
|
|
2344
2346
|
</div>
|
|
2345
2347
|
</div>
|
|
2346
2348
|
|
|
@@ -2358,7 +2360,7 @@ const Et = Object.freeze(Object.defineProperty({ __proto__: null, AudioBlock: fu
|
|
|
2358
2360
|
${a.canAddReaction && S`
|
|
2359
2361
|
<${Re}
|
|
2360
2362
|
className="t-add-reaction-button"
|
|
2361
|
-
popoverComponent=${
|
|
2363
|
+
popoverComponent=${Gi}
|
|
2362
2364
|
popoverProps=${{ messageId: t.id, colorScheme: "light", className: "t-reaction-picker" }}
|
|
2363
2365
|
aria-label="Add reaction"
|
|
2364
2366
|
>
|
|
@@ -2417,7 +2419,7 @@ const Et = Object.freeze(Object.defineProperty({ __proto__: null, AudioBlock: fu
|
|
|
2417
2419
|
<div className="t-line-segment" />
|
|
2418
2420
|
</div>
|
|
2419
2421
|
${a && S`
|
|
2420
|
-
<span className="t-day-marker">${
|
|
2422
|
+
<span className="t-day-marker">${as(t, s)}</span>
|
|
2421
2423
|
`}
|
|
2422
2424
|
<div className="t-line" t-side="right">
|
|
2423
2425
|
<div className="t-line-segment" />
|
|
@@ -2433,11 +2435,11 @@ const Et = Object.freeze(Object.defineProperty({ __proto__: null, AudioBlock: fu
|
|
|
2433
2435
|
<div className="t-theme-message-field" t-mode=${T}>
|
|
2434
2436
|
${a.showEmojiPicker && S`
|
|
2435
2437
|
<div className="t-emoji-picker-wrapper">
|
|
2436
|
-
<${
|
|
2438
|
+
<${Cn} colorScheme="light" />
|
|
2437
2439
|
</div>
|
|
2438
2440
|
`}
|
|
2439
|
-
<${
|
|
2440
|
-
<${
|
|
2441
|
+
<${Ki} />
|
|
2442
|
+
<${Zi} />
|
|
2441
2443
|
|
|
2442
2444
|
${n && S`<${c}
|
|
2443
2445
|
common=${t}
|
|
@@ -2456,7 +2458,7 @@ const Et = Object.freeze(Object.defineProperty({ __proto__: null, AudioBlock: fu
|
|
|
2456
2458
|
`}
|
|
2457
2459
|
${E.access === "ReadWrite" && S`
|
|
2458
2460
|
<div className="t-textbox-column">
|
|
2459
|
-
<${
|
|
2461
|
+
<${ki} placeholder=${l.ENTRYBOX_PLACEHOLDER} />
|
|
2460
2462
|
|
|
2461
2463
|
<div className="t-button-overlay">
|
|
2462
2464
|
${d && S`<button
|
|
@@ -2597,11 +2599,11 @@ const Et = Object.freeze(Object.defineProperty({ __proto__: null, AudioBlock: fu
|
|
|
2597
2599
|
}, TextBlock: function({ block: e }) {
|
|
2598
2600
|
return S`
|
|
2599
2601
|
<div className="t-theme-text-block">
|
|
2600
|
-
<${
|
|
2602
|
+
<${hn} block=${e} />
|
|
2601
2603
|
</div>
|
|
2602
2604
|
`;
|
|
2603
2605
|
}, TimeAgo: function({ timestamp: e, common: t }) {
|
|
2604
|
-
const { t: n } = t, a = new Date(e).toLocaleString(n.locale, { weekday: "short", year: "numeric", month: "long", day: "numeric", hour: "numeric", minute: "numeric", second: "numeric" }), i =
|
|
2606
|
+
const { t: n } = t, a = new Date(e).toLocaleString(n.locale, { weekday: "short", year: "numeric", month: "long", day: "numeric", hour: "numeric", minute: "numeric", second: "numeric" }), i = ts(e, n);
|
|
2605
2607
|
return S`
|
|
2606
2608
|
<span className="t-theme-time-ago">
|
|
2607
2609
|
<span
|
|
@@ -2714,8 +2716,8 @@ const Bt = (e, t) => (n) => {
|
|
|
2714
2716
|
const s = i[2], r = n.pos - s.length, o = n.pos;
|
|
2715
2717
|
if (!n.doc.rangeHasMark(r, o, t.marks.literal))
|
|
2716
2718
|
return { range: { from: r, to: o }, text: s };
|
|
2717
|
-
},
|
|
2718
|
-
class
|
|
2719
|
+
}, cs = /(^|\s)(:[^:\s]+:?)$/, As = /(^|\s)(@[^@]*)$/;
|
|
2720
|
+
class Pn {
|
|
2719
2721
|
constructor(t, n, a) {
|
|
2720
2722
|
this.state$ = t, this.device$ = n, this.userPermissions$ = a, this.currentDoc = ye.EMPTY, this.maxLength = 1e4, this.markAsTyping = /* @__PURE__ */ function(i, s) {
|
|
2721
2723
|
let r = !1;
|
|
@@ -2736,14 +2738,14 @@ class Mn {
|
|
|
2736
2738
|
this.editorView = t;
|
|
2737
2739
|
}
|
|
2738
2740
|
emojiSuggesterPlugin() {
|
|
2739
|
-
if (this.device$.peek().supportsEmojiPicker) return mt({ debug: !1, matcher: Bt(
|
|
2741
|
+
if (this.device$.peek().supportsEmojiPicker) return mt({ debug: !1, matcher: Bt(cs, w), onEnter: (t) => this.suggestEmoji(t.text, t.range), onChange: (t) => this.suggestEmoji(t.text, t.range), onExit: () => this.onExitSuggester(), onKeyDown: ({ event: t }) => {
|
|
2740
2742
|
var n, a, i;
|
|
2741
2743
|
return (i = (a = (n = this._suggesterKeydownHandlers).emoji) == null ? void 0 : a.call(n, t.key)) != null ? i : !1;
|
|
2742
2744
|
} });
|
|
2743
2745
|
}
|
|
2744
2746
|
mentionsPlugin() {
|
|
2745
2747
|
const t = this.userPermissions$.peek();
|
|
2746
|
-
if (P.defined(t), t.canMention) return mt({ debug: !1, matcher: Bt(
|
|
2748
|
+
if (P.defined(t), t.canMention) return mt({ debug: !1, matcher: Bt(As, w), onEnter: (n) => this.suggestMention(n.text, n.range), onChange: (n) => this.suggestMention(n.text, n.range), onExit: () => this.onExitSuggester(), onKeyDown: ({ event: n }) => {
|
|
2747
2749
|
var a, i, s;
|
|
2748
2750
|
return (s = (i = (a = this._suggesterKeydownHandlers).mention) == null ? void 0 : i.call(a, n.key)) != null ? s : !1;
|
|
2749
2751
|
} });
|
|
@@ -2830,18 +2832,18 @@ class Mn {
|
|
|
2830
2832
|
}(this.editorView, t, this._suggestionRange), this.focus();
|
|
2831
2833
|
}
|
|
2832
2834
|
}
|
|
2833
|
-
function
|
|
2834
|
-
const t = G(), n = f(), a = Te(), i = k(n.referencedMessage$), s = k(n.state$.userPermissions), r = ge(), { sendMessage: o } =
|
|
2835
|
+
function Un(e) {
|
|
2836
|
+
const t = G(), n = f(), a = Te(), i = k(n.referencedMessage$), s = k(n.state$.userPermissions), r = ge(), { sendMessage: o } = Zn(), E = q(() => {
|
|
2835
2837
|
const _ = r.state$.get();
|
|
2836
2838
|
return e.editMessageId === void 0 ? new bt(_, o, e.attachFile, e.shareLocation, r.toggleEmojiPicker) : new bt(_, e.onEditMessage, () => {
|
|
2837
2839
|
}, () => {
|
|
2838
2840
|
}, () => {
|
|
2839
2841
|
});
|
|
2840
2842
|
}, [r.state$, r.toggleEmojiPicker, e.attachFile, e.editMessageId, e.onEditMessage, e.shareLocation, o]), l = k(E);
|
|
2841
|
-
return O(
|
|
2843
|
+
return O(Gt.Provider, { value: { onClose: () => r.toggleEmojiPicker(!1), onEmojiSelected: (_) => r.selectEmoji(_) }, children: O(t.MessageField, { common: a, referencedMessage: i, permissions: s, editor: l, editMessageId: e.editMessageId }) });
|
|
2842
2844
|
}
|
|
2843
|
-
function
|
|
2844
|
-
const t = f(), n = Oe(), a = k(t.state$.editingMessageId), i = H(() => z(e.content[0].children), [e]), s = q({ isEmpty: i.length === 0, isTyping: !1, atTextLimit: !1, characterCount: i.length, showEmojiPicker: !1, suggestEmojiQuery: void 0, suggestMentionQuery: void 0 }), r = H(() => new
|
|
2845
|
+
function Os({ message: e }) {
|
|
2846
|
+
const t = f(), n = Oe(), a = k(t.state$.editingMessageId), i = H(() => z(e.content[0].children), [e]), s = q({ isEmpty: i.length === 0, isTyping: !1, atTextLimit: !1, characterCount: i.length, showEmojiPicker: !1, suggestEmojiQuery: void 0, suggestMentionQuery: void 0 }), r = H(() => new Pn(s, t.device$, t.state$.userPermissions), [s, t]), o = B(async () => {
|
|
2845
2847
|
const E = r.state$;
|
|
2846
2848
|
if (E.isEmpty.peek() || E.atTextLimit.peek()) return;
|
|
2847
2849
|
const l = r.getText();
|
|
@@ -2851,17 +2853,17 @@ function As({ message: e }) {
|
|
|
2851
2853
|
r.onEnter = o;
|
|
2852
2854
|
}, [r, o]), v(() => {
|
|
2853
2855
|
r.focus(), r.setText(z(e.content[0].children, !0));
|
|
2854
|
-
}, [r, e]), O(
|
|
2856
|
+
}, [r, e]), O(zt.Provider, { value: r, children: O(Un, { editMessageId: a, onEditMessage: o }) });
|
|
2855
2857
|
}
|
|
2856
|
-
function
|
|
2858
|
+
function Ts() {
|
|
2857
2859
|
const e = G(), t = Te();
|
|
2858
2860
|
return O(e.MessageListFooter, { common: t });
|
|
2859
2861
|
}
|
|
2860
|
-
function
|
|
2862
|
+
function us(e) {
|
|
2861
2863
|
const t = G(), n = Te();
|
|
2862
2864
|
return O(t.MessageDivider, { common: n, ...e });
|
|
2863
2865
|
}
|
|
2864
|
-
function
|
|
2866
|
+
function ds({ message: e }) {
|
|
2865
2867
|
const t = G(), n = f(), a = Te(), [i, s] = b("sent");
|
|
2866
2868
|
return _e((r) => {
|
|
2867
2869
|
if (e.id.startsWith("ephemeral-")) return s("sending");
|
|
@@ -2869,7 +2871,7 @@ function us({ message: e }) {
|
|
|
2869
2871
|
return o !== void 0 ? e.createdAt <= o ? s("everyoneRead") : s("sent") : void 0;
|
|
2870
2872
|
}), O(t.Message, { common: a, message: e, messageStatus: i, permissions: n.messagePermissions$(e).get() });
|
|
2871
2873
|
}
|
|
2872
|
-
function
|
|
2874
|
+
function Ss({ extConversationId: e }) {
|
|
2873
2875
|
const t = Ce(), n = f(), a = Oe(), i = y(!0), s = y(null);
|
|
2874
2876
|
Ae(() => {
|
|
2875
2877
|
i.current = s.current.scrollTop > -30;
|
|
@@ -2908,15 +2910,15 @@ function ds({ extConversationId: e }) {
|
|
|
2908
2910
|
const c = _.currentTarget;
|
|
2909
2911
|
c.scrollHeight - c.clientHeight + c.scrollTop < 90 && n.messageSubscription && n.messageSubscription.loadMore(10);
|
|
2910
2912
|
}, [n.messageSubscription]), l = k(n.state$.typing.child(e));
|
|
2911
|
-
return x("div", { className: "t-message-list", ref: s, "t-menu-boundary": "", onScroll: E, children: [l && O(
|
|
2913
|
+
return x("div", { className: "t-message-list", ref: s, "t-menu-boundary": "", onScroll: E, children: [l && O(Ts, {}), O(Ze, { each: n.chatItems$, children: (_) => O("div", { className: "t-message-group", children: O(Ze, { each: _, item: Is, itemProps: { controller: a, extConversationId: e } }) }) })] });
|
|
2912
2914
|
}
|
|
2913
|
-
function
|
|
2915
|
+
function Is({ item$: e }) {
|
|
2914
2916
|
const t = f(), n = k(e), a = k(t.state$.editingMessageId);
|
|
2915
|
-
return n instanceof Qe ? O(
|
|
2917
|
+
return n instanceof Qe ? O(us, { timestamp: n.timestamp, isReadMarker: n.isReadMarker, isDayMarker: n.isDayMarker }) : a === n.id ? O(Os, { message: n }) : O(ds, { message: n });
|
|
2916
2918
|
}
|
|
2917
|
-
const
|
|
2919
|
+
const Ns = /* @__PURE__ */ new Set(["ByV39eoc", "B1FxElnd", "aW4c49tW", "qGfuGtx", "SbERe5ee", "ilaVEa15", "FOlWOSaH", "dao5gGmT", "DLUgAhzL", "fqXFumr6", "FtiWHMYT", "66iWOyWt", "1375amYi", "mWbJgzpt", "jO7GqAvL", "SkFIKxo5", "2z4ILc3y", "aDr8oPL1", "Hku1c4Pt"]);
|
|
2918
2920
|
function Ve({ appId: e, chatboxState: t }) {
|
|
2919
|
-
const n = e.charAt(0) === "t" ||
|
|
2921
|
+
const n = e.charAt(0) === "t" || Ns.has(e);
|
|
2920
2922
|
return v(() => {
|
|
2921
2923
|
switch (t.type) {
|
|
2922
2924
|
case "auth-failed":
|
|
@@ -2938,19 +2940,19 @@ function Ve({ appId: e, chatboxState: t }) {
|
|
|
2938
2940
|
}
|
|
2939
2941
|
}, [t]), x("div", { className: "t-panel t-error-panel", children: [O("span", { className: "t-heading", children: "Something went wrong." }), O("p", { children: "Please reload the page and try again." }), n ? x("p", { style: { fontStyle: "italic" }, children: ["Developer note: check your browser's developer tools console for messages that may help solve the problem.", O("br", {}), O("small", { children: "This message only shows up in test mode." })] }) : O("p", { children: "If things keep not working, do not hesitate to get in touch with us." })] });
|
|
2940
2942
|
}
|
|
2941
|
-
function
|
|
2943
|
+
function Rs() {
|
|
2942
2944
|
const e = f(), t = k(e.t$);
|
|
2943
2945
|
return O("div", { className: "t-panel t-error-panel", children: O("span", { className: "t-heading", style: { fontStyle: "italic" }, children: t.CHAT_NOT_FOUND }) });
|
|
2944
2946
|
}
|
|
2945
|
-
function
|
|
2947
|
+
function Hn() {
|
|
2946
2948
|
return O("div", { className: "t-panel t-loading-panel", children: O(rt, {}) });
|
|
2947
2949
|
}
|
|
2948
|
-
function
|
|
2950
|
+
function bn() {
|
|
2949
2951
|
const e = f(), t = k(e.t$);
|
|
2950
2952
|
return x("div", { className: "t-panel t-error-panel", children: [O("span", { className: "t-heading", style: { fontStyle: "italic" }, children: t.AUTH_EXPIRED_OVERLAY_TITLE }), O("p", { children: t.AUTH_EXPIRED_OVERLAY_DESCRIPTION })] });
|
|
2951
2953
|
}
|
|
2952
|
-
const
|
|
2953
|
-
async function lt(e, t, { initialDelay: n, maxDelay: a, log: i, shouldRetry: s =
|
|
2954
|
+
const Ls = () => !0;
|
|
2955
|
+
async function lt(e, t, { initialDelay: n, maxDelay: a, log: i, shouldRetry: s = Ls }) {
|
|
2954
2956
|
return t().catch(async (r) => {
|
|
2955
2957
|
if (i && i(`[TalkJS] Retries left: ${e}. Error: ${JSON.stringify(r)}.`), e === 0 || !await s(r)) throw r;
|
|
2956
2958
|
const o = 1e3 * n * 1.2, E = a ? Math.min(1e3 * a, o) : o, l = E * (1 - (_ = 0.05) + 2 * Math.random() * _);
|
|
@@ -2964,8 +2966,8 @@ function he() {
|
|
|
2964
2966
|
});
|
|
2965
2967
|
return e.promise = t, e;
|
|
2966
2968
|
}
|
|
2967
|
-
function
|
|
2968
|
-
const { beforeBrowserPermissionPrompt: a, onMissingBrowserPermissionCallback: i } =
|
|
2969
|
+
function ms(e, t, n) {
|
|
2970
|
+
const { beforeBrowserPermissionPrompt: a, onMissingBrowserPermissionCallback: i } = Xn(Kt);
|
|
2969
2971
|
return B(async () => {
|
|
2970
2972
|
function s(_) {
|
|
2971
2973
|
_ === "denied" && i({ type: e });
|
|
@@ -2995,7 +2997,7 @@ function Ls(e, t, n) {
|
|
|
2995
2997
|
});
|
|
2996
2998
|
}, [a, i, e, t, ...n]);
|
|
2997
2999
|
}
|
|
2998
|
-
function
|
|
3000
|
+
function ps({ onClose: e }) {
|
|
2999
3001
|
const t = f(), n = Oe(), a = Ce(), [i, s] = b(null);
|
|
3000
3002
|
return { attachFile: B(async (o) => {
|
|
3001
3003
|
try {
|
|
@@ -3058,7 +3060,7 @@ function ms({ onClose: e }) {
|
|
|
3058
3060
|
} finally {
|
|
3059
3061
|
e(), s(null);
|
|
3060
3062
|
}
|
|
3061
|
-
}, [n, a, s, t, e]), shareLocation:
|
|
3063
|
+
}, [n, a, s, t, e]), shareLocation: ms("geolocation", async (o) => {
|
|
3062
3064
|
try {
|
|
3063
3065
|
const E = he(), l = { upload: { type: "location", location: void 0 }, uploaded: !1, closePreview: E.resolve };
|
|
3064
3066
|
s(l);
|
|
@@ -3101,10 +3103,10 @@ async function qe(e, t, n) {
|
|
|
3101
3103
|
URL.revokeObjectURL(a.src);
|
|
3102
3104
|
}
|
|
3103
3105
|
}
|
|
3104
|
-
function
|
|
3106
|
+
function Bn({ children: e, className: t, ...n }) {
|
|
3105
3107
|
return O("div", { className: "t-attach-overlay " + t, ...n, children: e });
|
|
3106
3108
|
}
|
|
3107
|
-
function
|
|
3109
|
+
function hs({ uploadState: e }) {
|
|
3108
3110
|
const t = e.error, n = e.uploaded;
|
|
3109
3111
|
je(() => e.closePreview("cancel"), ".t-upload-preview");
|
|
3110
3112
|
const a = y(null);
|
|
@@ -3112,22 +3114,22 @@ function ps({ uploadState: e }) {
|
|
|
3112
3114
|
n && a.current.focus();
|
|
3113
3115
|
}, [n]);
|
|
3114
3116
|
const i = f(), s = k(i.t$);
|
|
3115
|
-
return O(
|
|
3117
|
+
return O(Bn, { className: "t-upload-preview", children: x("div", { className: "t-preview", children: [O(Ds, { upload: e.upload, uploaded: n }), t !== void 0 && O("div", { className: "t-error-row", children: t }), x("div", { className: "t-send-row", children: [O("button", { className: "t-cancel", onClick: () => e.closePreview("cancel"), children: s.CANCEL }), t === void 0 && n && O("button", { className: "t-confirm-send test__confirm-upload-button", onClick: () => e.closePreview("send"), ref: a, children: s.SEND_BUTTON_TEXT })] })] }) });
|
|
3116
3118
|
}
|
|
3117
|
-
function
|
|
3119
|
+
function Ds({ upload: e, uploaded: t }) {
|
|
3118
3120
|
const n = f(), a = k(n.t$);
|
|
3119
|
-
return e.type !== "location" ? x(me, { children: [O(
|
|
3121
|
+
return e.type !== "location" ? x(me, { children: [O(gs, { upload: e }), O(vs, { upload: e, uploaded: t, t: a })] }) : t ? O(Cs, { location: e.location }) : O("div", { className: "t-loading", children: O(rt, {}) });
|
|
3120
3122
|
}
|
|
3121
|
-
function
|
|
3122
|
-
const { imageUrl: t, linkUrl: n } =
|
|
3123
|
+
function Cs({ location: e }) {
|
|
3124
|
+
const { imageUrl: t, linkUrl: n } = fn(e), a = JSON.stringify(t);
|
|
3123
3125
|
return O("a", { href: n, target: "_blank", rel: "noreferrer", className: "t-location-upload-preview", style: { background: `url(${a}) center center / cover no-repeat` } });
|
|
3124
3126
|
}
|
|
3125
|
-
const
|
|
3127
|
+
const gs = oe.memo(function({ upload: e }) {
|
|
3126
3128
|
let t = null;
|
|
3127
3129
|
const n = e.file;
|
|
3128
3130
|
if (e.type === "video") {
|
|
3129
3131
|
const a = /[.]ts/i.test(n.name) ? "mpegts" : "native";
|
|
3130
|
-
t = O("div", { className: "video-container", children: O(
|
|
3132
|
+
t = O("div", { className: "video-container", children: O(ks, { src: e.temporaryBlobUrl, videoType: a, playsInline: !0, controls: !0, preload: "auto" }) });
|
|
3131
3133
|
} else if (e.type === "image") {
|
|
3132
3134
|
const a = URL.createObjectURL(n);
|
|
3133
3135
|
t = O("div", { className: "t-img-container", children: O("img", { src: a }) });
|
|
@@ -3136,21 +3138,21 @@ const Cs = oe.memo(function({ upload: e }) {
|
|
|
3136
3138
|
t = O(et, { src: a, filename: n.name });
|
|
3137
3139
|
}
|
|
3138
3140
|
return t;
|
|
3139
|
-
}),
|
|
3141
|
+
}), vs = oe.memo(function({ uploaded: e, upload: t, t: n }) {
|
|
3140
3142
|
let a;
|
|
3141
3143
|
a = e ? t.metadata.filename : n.UPLOAD_IN_PROGRESS;
|
|
3142
3144
|
let i = "", s = "";
|
|
3143
3145
|
return t.type === "file" && (i = "is-file", e && (s = "file-block")), O("div", { className: `t-filename-row ${i}`, children: O("div", { className: s, children: a }) });
|
|
3144
3146
|
});
|
|
3145
|
-
function
|
|
3147
|
+
function ks(e) {
|
|
3146
3148
|
const { videoType: t, ...n } = e;
|
|
3147
3149
|
return O("video", { ...n });
|
|
3148
3150
|
}
|
|
3149
|
-
function
|
|
3151
|
+
function fs() {
|
|
3150
3152
|
const e = G(), t = f(), n = Te(), a = k(t.state$.isUserConnected), i = k(t.state$.userPermissions);
|
|
3151
3153
|
return O(e.ChatHeader, { common: n, isUserConnected: a, permissions: i });
|
|
3152
3154
|
}
|
|
3153
|
-
function
|
|
3155
|
+
function Ms({ appId: e, chatHeaderVisible: t, messageFieldVisible: n }) {
|
|
3154
3156
|
const a = ge(), i = function() {
|
|
3155
3157
|
const T = f(), u = q(() => {
|
|
3156
3158
|
const m = T.extUserId$.get(), R = T.errors$.get(), L = T.authTokenState$.get(), p = m && T.currentUser$.get(), C = T.state$.currentConversation.get(), D = T.state$.extCurrentConversationId.get(), h = D && T.state$.participants.child(D).get(), M = T.app$.get();
|
|
@@ -3207,7 +3209,7 @@ function fs({ appId: e, chatHeaderVisible: t, messageFieldVisible: n }) {
|
|
|
3207
3209
|
};
|
|
3208
3210
|
} else N.set(d.get());
|
|
3209
3211
|
}), k(N);
|
|
3210
|
-
}(), { attachFile: s, shareLocation: r, uploadState: o } =
|
|
3212
|
+
}(), { attachFile: s, shareLocation: r, uploadState: o } = ps({ onClose: () => a.focus() });
|
|
3211
3213
|
v(() => {
|
|
3212
3214
|
a.uploadFile = s;
|
|
3213
3215
|
}, [a, s]);
|
|
@@ -3218,12 +3220,12 @@ function fs({ appId: e, chatHeaderVisible: t, messageFieldVisible: n }) {
|
|
|
3218
3220
|
}, []), I = B((T) => {
|
|
3219
3221
|
T.preventDefault(), l(!1);
|
|
3220
3222
|
}, []);
|
|
3221
|
-
return i.type === "invisible-loading" ? O(me, {}) : i.type === "loading" ? O(
|
|
3223
|
+
return i.type === "invisible-loading" ? O(me, {}) : i.type === "loading" ? O(Hn, {}) : i.type === "inaccessible-conversation" ? O(Rs, {}) : i.type === "unknown-user" || i.type === "auth-failed" || i.type === "wrong-app-id" || i.type === "server-error" || i.type === "unexpected-error" ? O(Ve, { appId: e, chatboxState: i }) : i.type == "expired-token" ? O(bn, {}) : i.type === "loaded" ? x("div", { className: "t-chatbox-content", onDragOver: c, onDragLeave: I, onDrop: _, children: [t && O(fs, {}), O(Ss, { extConversationId: i.conversationId }), n && O(Un, { attachFile: s, shareLocation: r }), o && O(hs, { uploadState: o }), E && O(Bn, { className: "t-drop-overlay", children: O(Be, { type: "attach" }) })] }) : O(me, {});
|
|
3222
3224
|
}
|
|
3223
|
-
function
|
|
3225
|
+
function Ps(e, t) {
|
|
3224
3226
|
return e.map((a) => function(i, s) {
|
|
3225
3227
|
if (i.type === "text") return function(r, o) {
|
|
3226
|
-
const E =
|
|
3228
|
+
const E = pn(o);
|
|
3227
3229
|
return Ue(r, E);
|
|
3228
3230
|
}(i.children, s);
|
|
3229
3231
|
if (i.type === "file" && i.subtype === "video") return `🎥 ${fe(i.url)}`;
|
|
@@ -3277,11 +3279,11 @@ function Ue(e, t) {
|
|
|
3277
3279
|
}
|
|
3278
3280
|
}).join("");
|
|
3279
3281
|
}
|
|
3280
|
-
function
|
|
3282
|
+
function yn() {
|
|
3281
3283
|
const e = typeof window != "undefined" ? window.crypto : void 0, t = e ? () => e.getRandomValues(new Uint8Array(1))[0] : () => Math.floor(255 * Math.random());
|
|
3282
3284
|
return "10000000-1000-4000-8000-100000000000".replace(/[018]/g, (n) => (n ^ t() & 15 >> n / 4).toString(16));
|
|
3283
3285
|
}
|
|
3284
|
-
class
|
|
3286
|
+
class Us {
|
|
3285
3287
|
constructor(t, n, a, i, s) {
|
|
3286
3288
|
this.store = t, this.talkSession = n, this.editorInternals = a, this.onSendMessage = i, this.onDeleteMessage = s;
|
|
3287
3289
|
}
|
|
@@ -3307,8 +3309,8 @@ class Ps {
|
|
|
3307
3309
|
var d, N, m, R, L;
|
|
3308
3310
|
const E = r.state$.extCurrentConversationId.peek(), l = r.state$.messages.child(E), _ = typeof o.referencedMessage == "string" ? l.lookup.child(o.referencedMessage).peek() : await ((N = (d = o.referencedMessage) == null ? void 0 : d.get()) != null ? N : null), c = _ && { ..._, type: "UserMessage", sender: _.sender, referencedMessageId: (R = (m = _.referencedMessage) == null ? void 0 : m.id) != null ? R : null };
|
|
3309
3311
|
c && delete c.referencedMessage;
|
|
3310
|
-
const I = r.latestFileUpload, T = "content" in o ? [wt(I, o.content[0])] : [
|
|
3311
|
-
return { id: "ephemeral-" +
|
|
3312
|
+
const I = r.latestFileUpload, T = "content" in o ? [wt(I, o.content[0])] : [Hs(o.text)], u = "text" in o ? o.text : Ps(o.content.map((p) => wt(I, p)), {});
|
|
3313
|
+
return { id: "ephemeral-" + yn(), type: "UserMessage", sender: r.currentUser$.peek(), createdAt: Date.now(), editedAt: null, custom: (L = o.custom) != null ? L : {}, origin: "web", referencedMessage: c, reactions: [], content: T, plaintext: u };
|
|
3312
3314
|
}(this.store, t);
|
|
3313
3315
|
this.store.state$.ephemeralMessages.child(n).child(a.id).set(a);
|
|
3314
3316
|
const i = he();
|
|
@@ -3347,8 +3349,8 @@ class Ps {
|
|
|
3347
3349
|
return this.talkSession.conversation(a).message(t).reaction(n);
|
|
3348
3350
|
}
|
|
3349
3351
|
}
|
|
3350
|
-
const
|
|
3351
|
-
return
|
|
3352
|
+
const Hs = (e) => ({ type: "text", children: function(n) {
|
|
3353
|
+
return In(n, { except: ["FormattedLink", "Actions"] });
|
|
3352
3354
|
}(e) });
|
|
3353
3355
|
function wt(e, t) {
|
|
3354
3356
|
switch (t.type) {
|
|
@@ -3380,7 +3382,7 @@ class Je extends Error {
|
|
|
3380
3382
|
}
|
|
3381
3383
|
}
|
|
3382
3384
|
const De = console;
|
|
3383
|
-
class
|
|
3385
|
+
class bs {
|
|
3384
3386
|
constructor(t, n, a, i) {
|
|
3385
3387
|
this.apiUrls = t, this.appId = n, this.sessionId = a, this.authProvider = i, this._lastPutPromise = Promise.resolve();
|
|
3386
3388
|
}
|
|
@@ -3449,30 +3451,30 @@ class Hs {
|
|
|
3449
3451
|
return s.status !== 401 ? s : (De.error(`401 error from ${n == null ? void 0 : n.method} ${t}, ${i}`), this.authProvider.refreshToken(), a(await this.authProvider.getToken()));
|
|
3450
3452
|
}
|
|
3451
3453
|
}
|
|
3452
|
-
function
|
|
3454
|
+
function wn(e) {
|
|
3453
3455
|
return !e.userMessage;
|
|
3454
3456
|
}
|
|
3455
3457
|
function Ie(e, { retries: t = 30 } = {}) {
|
|
3456
|
-
return lt(t, e, { shouldRetry:
|
|
3458
|
+
return lt(t, e, { shouldRetry: wn, log: De.warn.bind(De), maxDelay: 30, initialDelay: 0.2 });
|
|
3457
3459
|
}
|
|
3458
3460
|
async function $t(e, t) {
|
|
3459
3461
|
try {
|
|
3460
3462
|
return await e();
|
|
3461
3463
|
} catch (a) {
|
|
3462
|
-
if (!
|
|
3464
|
+
if (!wn(a)) throw a;
|
|
3463
3465
|
}
|
|
3464
3466
|
let n = !1;
|
|
3465
3467
|
return t.then(() => {
|
|
3466
3468
|
n = !0;
|
|
3467
3469
|
}), lt(1e3, e, { initialDelay: 0.2, maxDelay: 30, shouldRetry: () => !n, log: De.warn.bind(De) });
|
|
3468
3470
|
}
|
|
3469
|
-
class
|
|
3471
|
+
class Bs {
|
|
3470
3472
|
constructor(t, n, a, i) {
|
|
3471
|
-
this.backendRestClient = new
|
|
3473
|
+
this.backendRestClient = new bs(t, n, a, i);
|
|
3472
3474
|
}
|
|
3473
3475
|
async getApp(t) {
|
|
3474
3476
|
return function(n) {
|
|
3475
|
-
return { appMetadata: { ...n.appMetadata, id: n.appMetadata.id }, features: n.features, role:
|
|
3477
|
+
return { appMetadata: { ...n.appMetadata, id: n.appMetadata.id }, features: n.features, role: ys(n.configuration, n.features) };
|
|
3476
3478
|
}(await this.backendRestClient.get("/app", { role_name: t }));
|
|
3477
3479
|
}
|
|
3478
3480
|
async checkIfAppExists() {
|
|
@@ -3482,7 +3484,7 @@ class bs {
|
|
|
3482
3484
|
});
|
|
3483
3485
|
}
|
|
3484
3486
|
}
|
|
3485
|
-
function
|
|
3487
|
+
function ys(e, t) {
|
|
3486
3488
|
const n = { general: { enableFileTransfers: t.includes("file_sharing"), enableLocation: t.includes("location_sharing"), enableMentions: !1, showTypingIndicators: !0, enablePresence: !1, enableVoiceRecording: !1 }, theme: { version: "v2", name: "default" }, permissions: { messages: { delete: "own", edit: "own", reply: "all", emojiReactions: "all" }, messagesCustom: {}, conversations: { leave: "none", markAsUnread: "none" }, conversationsCustom: {} }, generalNotificationSettings: { timeout: "15" }, emailSettings: { enabled: !0, subject: "{{sender.name}} wants to chat with you on {{app.name}}", replySeparator: "--- Write ABOVE THIS LINE to post a reply via email ---", unsubscribeText: "Unsubscribe from all chat emails", senderName: "{{sender.name}} (via {{app.name}})", header: `Hi {{recipient.name}},
|
|
3487
3489
|
{{sender.name}} wants to chat with you on {{app.name}}:`, includeMessages: !0, inboxUrl: "{{app.custom.websiteUrl}}", inboxLinkText: "Join the chat", footer: `On behalf of {{sender.name}},
|
|
3488
3490
|
The {{app.name}} team`, enableReplyToEmail: t.includes("reply_via_email"), emailThemeType: t.includes("email_templates") ? "custom" : "standard", emailTheme: "default_email", emailAttachmentMode: "enabledExcludingImages", htmlTemplate: `<div>
|
|
@@ -3508,7 +3510,7 @@ function Bs(e, t) {
|
|
|
3508
3510
|
|
|
3509
3511
|
On behalf of {{sender.name}},
|
|
3510
3512
|
The {{app.name}} team` }, smsSettings: { enabled: t.includes("sms_notifications"), smsTemplate: '({{app.name}}) {{sender.name}}: "{{messages}}". Reply here: {{app.custom.websiteUrl}}', maximumSegments: "1", enableAutoOptOutText: !1, optOutText: "To stop receiving these messages, reply STOP." }, suppressContactInfo: { mode: "off", suppressLinks: !0, suppressEmailAddresses: !0, suppressPhoneNumbers: !0 }, sameTabLinkRules: [] };
|
|
3511
|
-
return
|
|
3513
|
+
return Aa(n, e);
|
|
3512
3514
|
}
|
|
3513
3515
|
class re {
|
|
3514
3516
|
constructor(t, n, a) {
|
|
@@ -3540,7 +3542,7 @@ class re {
|
|
|
3540
3542
|
return t.includes("localhost") || t.includes("localtest.me") || /^\d+\.\d+\.\d+\.\d+(:\d+)?$/.test(t) ? new re(`ws://${t}/public_api/v1`, `http://${t}/api/v0`, `http://${t}/public_api/v1`) : new re(`wss://${t}/public_api/v1`, `https://${t}/api/v0`, `https://${t}/public_api/v1`);
|
|
3541
3543
|
}
|
|
3542
3544
|
}
|
|
3543
|
-
function
|
|
3545
|
+
function Yn(e, t) {
|
|
3544
3546
|
const n = t.appId, a = t.userId, i = "conversationId" in t ? t.conversationId : void 0, s = H(() => re.fromHost(t.host), [t.host]), r = y(void 0), o = H(() => {
|
|
3545
3547
|
const c = r.current, I = typeof c != typeof t.tokenFetcher ? t.tokenFetcher : c;
|
|
3546
3548
|
return r.current = I, I;
|
|
@@ -3548,9 +3550,9 @@ function wn(e, t) {
|
|
|
3548
3550
|
Ae(() => {
|
|
3549
3551
|
e.updateThemeCustom(t.themeCustom);
|
|
3550
3552
|
}, [e, t.themeCustom]);
|
|
3551
|
-
const E = H(() =>
|
|
3553
|
+
const E = H(() => yn(), [t.appId, t.userId, t.token, o]), l = ca({ apiUrls: s, appId: n, userId: a, token: t.token, tokenFetcher: o });
|
|
3552
3554
|
v(() => e.listenForErrors(l, i), [l, e, i]);
|
|
3553
|
-
const _ = H(() => new
|
|
3555
|
+
const _ = H(() => new Bs(s, n, E, l._authProvider), [n, E, l, s]);
|
|
3554
3556
|
return v(() => e.listenForAuthChanges(l, o), [l, e, o]), v(() => e.listenForUserAndAppChanges(l, _), [e, _, l]), { session: l, restApi: _ };
|
|
3555
3557
|
}
|
|
3556
3558
|
function He(e, t, n) {
|
|
@@ -3566,7 +3568,7 @@ function He(e, t, n) {
|
|
|
3566
3568
|
}(t, s, i.current);
|
|
3567
3569
|
}, [t]);
|
|
3568
3570
|
}
|
|
3569
|
-
function
|
|
3571
|
+
function $n(e) {
|
|
3570
3572
|
v(() => {
|
|
3571
3573
|
const t = window, n = e.current;
|
|
3572
3574
|
if (t.cordova && n) {
|
|
@@ -3580,26 +3582,26 @@ function Yn(e) {
|
|
|
3580
3582
|
}
|
|
3581
3583
|
}, [e]);
|
|
3582
3584
|
}
|
|
3583
|
-
function
|
|
3585
|
+
function Fn() {
|
|
3584
3586
|
const [e, t] = b(!0);
|
|
3585
3587
|
return v(() => {
|
|
3586
3588
|
t(!1);
|
|
3587
3589
|
}, []), e;
|
|
3588
3590
|
}
|
|
3589
|
-
|
|
3591
|
+
Ta(), ot(), Oa({ observableFunctions: { child: (e, t) => (P(typeof t == "string" || typeof t == "number", "Key should be a string or a number"), Ea.getProxy(e, t.toString())) } }), ee.registerHandler(({ level: e, data: t }) => {
|
|
3590
3592
|
console[e]("[TalkJS]", ...t);
|
|
3591
3593
|
});
|
|
3592
|
-
const
|
|
3594
|
+
const ws = $e(function(e, t) {
|
|
3593
3595
|
var C, D;
|
|
3594
3596
|
const { onSendMessage: n, onDeleteMessage: a, beforeBrowserPermissionPrompt: i, onMissingBrowserPermission: s, messageFieldPlaceholder: r, messageFieldSpellcheck: o, __hostElement: E } = e;
|
|
3595
3597
|
v(() => {
|
|
3596
3598
|
var h;
|
|
3597
3599
|
(h = e.__internalOnLoaded) == null || h.call(e);
|
|
3598
3600
|
}, []);
|
|
3599
|
-
const l =
|
|
3600
|
-
|
|
3601
|
+
const l = Fn(), _ = y(E != null ? E : null);
|
|
3602
|
+
$n(_);
|
|
3601
3603
|
const c = He(a, E, ["deleteMessage", "delete-message", "deletemessage", "DeleteMessage"]), I = He(n, E, ["sendMessage", "send-message", "sendmessage", "SendMessage"]), T = { beforeBrowserPermissionPrompt: i, onMissingBrowserPermissionCallback: He(s, E, ["browserPermissionDenied", "browser-permission-denied", "browserpermissiondenied", "BrowserPermissionDenied"]) }, { store: u, controller: d, editorInternals: N, session: m } = function(h, M, j) {
|
|
3602
|
-
const $ = h.conversationId, g = H(() => new
|
|
3604
|
+
const $ = h.conversationId, g = H(() => new cn(h.appId, h.userId), []), { session: Y, restApi: ue } = Yn(g, h), ne = H(() => new Pn(g.state$.editor, g.device$, g.state$.userPermissions), [g]), de = H(() => new Us(g, Y, ne, M, j), [Y, g, ne, M, j]);
|
|
3603
3605
|
return ne.controller = de, v(() => {
|
|
3604
3606
|
let X, K = !0;
|
|
3605
3607
|
const ve = Y.currentUser.subscribe(async (Z) => {
|
|
@@ -3630,7 +3632,7 @@ const ys = $e(function(e, t) {
|
|
|
3630
3632
|
X && F && g.state$.currentConversation.set(F);
|
|
3631
3633
|
}), xe = Y.conversation($).subscribeTyping((F) => {
|
|
3632
3634
|
X && F && g.storeTyping($, F);
|
|
3633
|
-
}),
|
|
3635
|
+
}), jn = g.state$.participants.child($).onChange(({ value: F }) => {
|
|
3634
3636
|
if (!F) return;
|
|
3635
3637
|
const Se = /* @__PURE__ */ new Set();
|
|
3636
3638
|
for (const W of F) Se.add(W.user.id);
|
|
@@ -3643,7 +3645,7 @@ const ys = $e(function(e, t) {
|
|
|
3643
3645
|
}));
|
|
3644
3646
|
}, { initial: !0 });
|
|
3645
3647
|
return () => {
|
|
3646
|
-
X = !1, ve.unsubscribe(), Z.unsubscribe(), K.unsubscribe(), xe.unsubscribe(), g.messageSubscription = null, g.participantSubscription = null,
|
|
3648
|
+
X = !1, ve.unsubscribe(), Z.unsubscribe(), K.unsubscribe(), xe.unsubscribe(), g.messageSubscription = null, g.participantSubscription = null, jn();
|
|
3647
3649
|
for (const F of Yt(g.onlineSubscriptions)) g.onlineSubscriptions[F].unsubscribe();
|
|
3648
3650
|
g.onlineSubscriptions = {}, g.state$.isUserConnected.set({});
|
|
3649
3651
|
};
|
|
@@ -3662,16 +3664,16 @@ const ys = $e(function(e, t) {
|
|
|
3662
3664
|
N.spellcheck$.set(o);
|
|
3663
3665
|
}, [N, o]), v(() => {
|
|
3664
3666
|
N.placeholder$.set(r);
|
|
3665
|
-
}, [N, r]),
|
|
3666
|
-
const L = B(({ error: h }) => O(Ve, { appId: e.appId, chatboxState: { type: "unexpected-error", error: h } }), [e.appId]), p = l ? null : O(
|
|
3667
|
+
}, [N, r]), Vt(t, () => ({ deleteMessage: (h) => d.deleteMessage(h), setEditing: (h) => d.setEditing(h), editMessage: (h, M) => d.editMessage(h, M), sendMessage: (h) => d.sendMessage(h), sendFileMessage: (h) => d.sendFileMessage(h), sendLocationMessage: (h) => d.sendLocationMessage(h), setReferencedMessage: (h) => d.setReferencedMessage(h), getMessageFieldText: () => N.getText(), setMessageFieldText: (h) => N.setText(h) }));
|
|
3668
|
+
const L = B(({ error: h }) => O(Ve, { appId: e.appId, chatboxState: { type: "unexpected-error", error: h } }), [e.appId]), p = l ? null : O(tn, { fallbackRender: L, children: O(zt.Provider, { value: N, children: O(Wt.Provider, { value: u, children: O(qt.Provider, { value: e.theme, children: O(Kt.Provider, { value: T, children: O(Jt.Provider, { value: d, children: O(Zt.Provider, { value: m, children: O(Qn.Provider, { value: { sendMessage: R }, children: O(Ms, { appId: e.appId, chatHeaderVisible: (C = e.chatHeaderVisible) != null ? C : !0, messageFieldVisible: (D = e.messageFieldVisible) != null ? D : !0 }) }) }) }) }) }) }) }) });
|
|
3667
3669
|
if (E) return p;
|
|
3668
3670
|
{
|
|
3669
3671
|
const h = "t-chatbox" + (e.className ? ` ${e.className}` : "");
|
|
3670
3672
|
return O("div", { className: h, style: e.style, ref: _, children: p });
|
|
3671
3673
|
}
|
|
3672
3674
|
});
|
|
3673
|
-
function
|
|
3674
|
-
const t = f(), n = Ce(), a = G(), i =
|
|
3675
|
+
function Ys({ conversation: e }) {
|
|
3676
|
+
const t = f(), n = Ce(), a = G(), i = an(), s = k(t.extCurrentConversationId$), [r, o] = b([]);
|
|
3675
3677
|
return v(() => {
|
|
3676
3678
|
const E = n.conversation(e.id).subscribeParticipants(async (l) => {
|
|
3677
3679
|
l && o(l);
|
|
@@ -3679,7 +3681,7 @@ function ws({ conversation: e }) {
|
|
|
3679
3681
|
return () => E.unsubscribe();
|
|
3680
3682
|
}, [n, e.id]), r ? O(a.ConversationListItem, { common: i, conversation: e, participants: r, isSelected: s === e.id }) : null;
|
|
3681
3683
|
}
|
|
3682
|
-
function
|
|
3684
|
+
function $s() {
|
|
3683
3685
|
const e = f(), t = y(null);
|
|
3684
3686
|
v(() => {
|
|
3685
3687
|
let a = !0;
|
|
@@ -3696,9 +3698,9 @@ function Ys() {
|
|
|
3696
3698
|
const i = a.currentTarget;
|
|
3697
3699
|
i.scrollHeight - i.clientHeight - i.scrollTop < 15 && e.conversationListSubscription && e.conversationListSubscription.loadMore(20);
|
|
3698
3700
|
}, [e]);
|
|
3699
|
-
return O("div", { className: "t-conversation-list-scrollable", ref: t, "t-menu-boundary": "", onScroll: n, children: O(Ze, { each: e.conversationsArray$, children: (a) => O(
|
|
3701
|
+
return O("div", { className: "t-conversation-list-scrollable", ref: t, "t-menu-boundary": "", onScroll: n, children: O(Ze, { each: e.conversationsArray$, children: (a) => O(Ys, { conversation: a.get() }) }) });
|
|
3700
3702
|
}
|
|
3701
|
-
function
|
|
3703
|
+
function Fs({ appId: e }) {
|
|
3702
3704
|
f();
|
|
3703
3705
|
const t = function() {
|
|
3704
3706
|
const n = f(), a = q(() => {
|
|
@@ -3753,9 +3755,9 @@ function $s({ appId: e }) {
|
|
|
3753
3755
|
} else s.set(i.get());
|
|
3754
3756
|
}), k(s);
|
|
3755
3757
|
}();
|
|
3756
|
-
return t.type === "invisible-loading" ? O(me, {}) : t.type === "loading" ? O(
|
|
3758
|
+
return t.type === "invisible-loading" ? O(me, {}) : t.type === "loading" ? O(Hn, {}) : t.type === "unknown-user" || t.type === "auth-failed" || t.type === "wrong-app-id" || t.type === "server-error" || t.type === "unexpected-error" ? O(Ve, { appId: e, chatboxState: t }) : t.type == "expired-token" ? O(bn, {}) : t.type === "loaded" ? O($s, {}) : O(me, {});
|
|
3757
3759
|
}
|
|
3758
|
-
class
|
|
3760
|
+
class js extends _n {
|
|
3759
3761
|
constructor() {
|
|
3760
3762
|
super(...arguments), this.type = "ConversationListStore", this.conversationListSubscription = null, this.extCurrentConversationId$ = U(null), this.conversationsArray$ = U([]), this.conversationsMap$ = U({});
|
|
3761
3763
|
}
|
|
@@ -3773,7 +3775,7 @@ class Fs extends ln {
|
|
|
3773
3775
|
};
|
|
3774
3776
|
}
|
|
3775
3777
|
}
|
|
3776
|
-
class
|
|
3778
|
+
class Vs {
|
|
3777
3779
|
constructor(t, n) {
|
|
3778
3780
|
this.store = t, this.onSelectConversation = n;
|
|
3779
3781
|
}
|
|
@@ -3784,21 +3786,21 @@ class js {
|
|
|
3784
3786
|
this.onSelectConversation(n);
|
|
3785
3787
|
}
|
|
3786
3788
|
}
|
|
3787
|
-
const
|
|
3789
|
+
const xs = $e(function(e, t) {
|
|
3788
3790
|
const { __hostElement: n, onSelectConversation: a } = e;
|
|
3789
3791
|
v(() => {
|
|
3790
3792
|
var I;
|
|
3791
3793
|
(I = e.__internalOnLoaded) == null || I.call(e);
|
|
3792
3794
|
}, []);
|
|
3793
|
-
const i =
|
|
3794
|
-
|
|
3795
|
-
const r = He(a, n, ["selectConversation", "select-conversation", "selectconversation", "SelectConversation"]), o = H(() => new
|
|
3795
|
+
const i = Fn(), s = y(n != null ? n : null);
|
|
3796
|
+
$n(s);
|
|
3797
|
+
const r = He(a, n, ["selectConversation", "select-conversation", "selectconversation", "SelectConversation"]), o = H(() => new js(e.appId, e.userId), []);
|
|
3796
3798
|
v(() => {
|
|
3797
3799
|
le(() => {
|
|
3798
3800
|
o.extUserId$.set(e.userId), o.appId$.set(e.appId);
|
|
3799
3801
|
});
|
|
3800
3802
|
}, [o, e.appId, e.userId]);
|
|
3801
|
-
const { session: E } =
|
|
3803
|
+
const { session: E } = Yn(o, e), l = H(() => new Vs(o, r), [o, r]);
|
|
3802
3804
|
v(() => o.listenForConversations(E), [o, E]), v(() => {
|
|
3803
3805
|
e.selectedConversationId !== void 0 && o.extCurrentConversationId$.set(e.selectedConversationId);
|
|
3804
3806
|
}, [o, e.selectedConversationId]), v(() => {
|
|
@@ -3807,8 +3809,8 @@ const Vs = $e(function(e, t) {
|
|
|
3807
3809
|
return o.extCurrentConversationId$.onChange(({ value: T }) => {
|
|
3808
3810
|
I.selectedConversationId = T;
|
|
3809
3811
|
});
|
|
3810
|
-
}, [o, e.__hostElement]),
|
|
3811
|
-
const _ = B(({ error: I }) => O(Ve, { appId: e.appId, chatboxState: { type: "unexpected-error", error: I } }), [e.appId]), c = i ? null : O(
|
|
3812
|
+
}, [o, e.__hostElement]), Vt(t, () => ({ selectConversation: (I) => l.selectConversation(I) }));
|
|
3813
|
+
const _ = B(({ error: I }) => O(Ve, { appId: e.appId, chatboxState: { type: "unexpected-error", error: I } }), [e.appId]), c = i ? null : O(tn, { fallbackRender: _, children: O(Wt.Provider, { value: o, children: O(qt.Provider, { value: e.theme, children: O(Jt.Provider, { value: l, children: O(Zt.Provider, { value: E, children: O(Fs, { appId: e.appId }) }) }) }) }) });
|
|
3812
3814
|
if (n) return c;
|
|
3813
3815
|
{
|
|
3814
3816
|
const I = "t-conversation-list" + (e.className ? ` ${e.className}` : "");
|
|
@@ -3818,25 +3820,25 @@ const Vs = $e(function(e, t) {
|
|
|
3818
3820
|
new Promise((e) => {
|
|
3819
3821
|
typeof document != "undefined" && document.readyState === "loading" ? document.addEventListener("DOMContentLoaded", e, { once: !0 }) : e(void 0);
|
|
3820
3822
|
});
|
|
3821
|
-
const
|
|
3823
|
+
const Or = (Ft = Et, $e(function(e, t) {
|
|
3822
3824
|
var i;
|
|
3823
3825
|
const n = H(() => {
|
|
3824
3826
|
var s;
|
|
3825
3827
|
return { ...Ft, ...(s = e.theme) != null ? s : {} };
|
|
3826
3828
|
}, [e.theme]), a = `${(i = e.key) != null ? i : ""}|${e.userId}|${e.appId}`;
|
|
3827
|
-
return te(
|
|
3829
|
+
return te(ws, { ...e, key: a, theme: n, ref: t });
|
|
3828
3830
|
}));
|
|
3829
3831
|
var Ft;
|
|
3830
|
-
const
|
|
3832
|
+
const Tr = function(e) {
|
|
3831
3833
|
return $e(function(t, n) {
|
|
3832
3834
|
var s;
|
|
3833
3835
|
const a = `${(s = t.key) != null ? s : ""}|${t.userId}|${t.appId}`, i = H(() => t.theme ? { ...e, ...t.theme } : e, [t.theme]);
|
|
3834
|
-
return te(
|
|
3836
|
+
return te(xs, { ...t, key: a, theme: i, ref: n });
|
|
3835
3837
|
});
|
|
3836
|
-
}(Et),
|
|
3838
|
+
}(Et), ur = Et;
|
|
3837
3839
|
export {
|
|
3838
|
-
|
|
3839
|
-
|
|
3840
|
-
|
|
3840
|
+
Or as Chatbox,
|
|
3841
|
+
Tr as ConversationList,
|
|
3842
|
+
ur as defaultTheme
|
|
3841
3843
|
};
|
|
3842
3844
|
//# sourceMappingURL=default.js.map
|