@talkjs/react-components 0.0.23 → 0.0.25

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/theming.js CHANGED
@@ -1,68 +1,70 @@
1
1
  "use client";
2
2
  import St from "htm";
3
- import Q, { useMemo as F, useRef as H, useState as h, useEffect as m, useCallback as v, createElement as j, Fragment as It, useLayoutEffect as Ne } from "react";
3
+ import Q, { useMemo as F, useRef as H, useState as g, useEffect as h, useCallback as v, createElement as j, Fragment as It, useLayoutEffect as Ie } from "react";
4
4
  import * as Nt from "universal-base64";
5
- import { jsx as L, jsxs as x } from "react/jsx-runtime";
5
+ import { jsx as R, jsxs as x } from "react/jsx-runtime";
6
6
  import Rt from "wavesurfer.js";
7
7
  import { Decoration as Lt, DecorationSet as lt, EditorView as Dt } from "prosemirror-view";
8
8
  import { Schema as ut } from "prosemirror-model";
9
9
  import { PluginKey as ct, Plugin as dt, TextSelection as he, EditorState as Ct } from "prosemirror-state";
10
- import { keymap as ge } from "prosemirror-keymap";
11
- import { history as mt, undo as ht, redo as gt } from "prosemirror-history";
10
+ import { keymap as pe } from "prosemirror-keymap";
11
+ import { history as mt, undo as ht, redo as pt } from "prosemirror-history";
12
12
  import { baseKeymap as Z } from "prosemirror-commands";
13
- import pt, { EmailMatch as Pt, UrlMatch as Mt } from "autolinker";
13
+ import gt, { EmailMatch as Pt, UrlMatch as Mt } from "autolinker";
14
14
  import { ReplaceStep as Ht } from "prosemirror-transform";
15
- import { observable as C, opaqueObject as pe, batch as te, observe as Pe } from "@legendapp/state";
15
+ import { observable as C, opaqueObject as ge, batch as Ne, observe as Pe } from "@legendapp/state";
16
16
  import { useSession as je, useStore as V, useController as Re, useTheme as q, useEditorInternals as Le, useEmojiPicker as Ut, usePopover as kt, EmojiPickerContext as Bt, PopoverContext as vt } from "./globalConstants.js";
17
17
  import { useObservable as Yt, useSelector as Y } from "@legendapp/state/react";
18
18
  import { CSSTransition as ft } from "react-transition-group";
19
19
  import { useFloating as bt } from "@floating-ui/react-dom";
20
- import * as _e from "@radix-ui/react-popover";
20
+ import * as ne from "@radix-ui/react-popover";
21
21
  import * as ee from "@radix-ui/react-dropdown-menu";
22
22
  var Ft = { TALK_GMK: "AIzaSyAs_WXNLlj31EHJI_Lw8siO2B3ZJLUzBH0", BASE_URL: "/", MODE: "react", DEV: !1, PROD: !0, SSR: !1 };
23
23
  const Vt = function(e) {
24
24
  return Ft[e];
25
25
  }("TALK_GMK"), Xt = /[^a-zA-Z\u00C0-\u024F\u1E00-\u1EFF\u0400-\u044f\u0300-\u036e]+/, Gt = (e) => e.split(Xt).filter((t) => t).map((t) => t[0]).join("") || e[Symbol.iterator]().next().value || "";
26
26
  function Ke(e) {
27
- const t = function(E) {
28
- let a = 0;
29
- for (let n = 0; n < E.length; n++) a = (a << 5) - a + E.charCodeAt(n), a |= 0;
30
- return Math.abs(a);
27
+ const t = function(a) {
28
+ let E = 0;
29
+ for (let n = 0; n < a.length; n++) E = (E << 5) - E + a.charCodeAt(n), E |= 0;
30
+ return Math.abs(E);
31
31
  }(e) % He.length;
32
32
  return He[t];
33
33
  }
34
34
  function le(e, t) {
35
- const E = t.lastIndex;
36
- let a;
35
+ const a = t.lastIndex;
36
+ let E;
37
37
  const n = [];
38
- for (; (a = t.exec(e)) !== null; ) n.push(a);
39
- return t.lastIndex = E, n;
38
+ for (; (E = t.exec(e)) !== null; ) n.push(E);
39
+ return t.lastIndex = a, n;
40
40
  }
41
41
  function Me(e, t) {
42
42
  return e.localeCompare(t, void 0, { usage: "search", sensitivity: "base" }) === 0;
43
43
  }
44
44
  const He = ["#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"], yt = Symbol("no_render");
45
- function p(e) {
46
- const t = Yt(!1), E = H({ _value: typeof e == "function" ? e() : e.peek(), get value() {
47
- return t.set(!0), E.current._value;
48
- }, set value(a) {
49
- E.current._value = a;
45
+ function P(e) {
46
+ const t = Yt(!1), a = H({ _value: typeof e == "function" ? e() : e.peek(), get value() {
47
+ return setTimeout(() => {
48
+ t.set(!0);
49
+ }), a.current._value;
50
+ }, set value(E) {
51
+ a.current._value = E;
50
52
  } });
51
53
  return Y(() => {
52
54
  if (!t.get()) return yt;
53
- const a = typeof e == "function" ? e() : e.get();
54
- return E.current.value = a, a;
55
- }), E.current;
55
+ const E = typeof e == "function" ? e() : e.get();
56
+ return a.current.value = E, E;
57
+ }), a.current;
56
58
  }
57
- class ne {
59
+ class ae {
58
60
  constructor(t = {}) {
59
61
  this._handlers = /* @__PURE__ */ new Set(), this._meta = t;
60
62
  }
61
63
  meta(t) {
62
- return new ne(t);
64
+ return new ae(t);
63
65
  }
64
- _emit(t, E) {
65
- for (const a of this._handlers) a({ level: t, data: E, timestamp: Date.now(), meta: this._meta });
66
+ _emit(t, a) {
67
+ for (const E of this._handlers) E({ level: t, data: a, timestamp: Date.now(), meta: this._meta });
66
68
  }
67
69
  error(...t) {
68
70
  return this._emit("error", t);
@@ -83,20 +85,20 @@ class ne {
83
85
  return this._handlers.add(t), () => this._handlers.delete(t);
84
86
  }
85
87
  }
86
- const jt = new ne(), ze = new ne(), 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" } }, Kt = { 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 } }, zt = { 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 } }, wt = { 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 } }, Wt = { 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" } }, $t = { 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 } }, xt = { 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 } }, qt = { 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 } }, Jt = { 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 } }, Zt = { 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 } }, Qt = { 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 } }, eE = { 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 } }, tE = { 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 } }, EE = { 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 } }, aE = { 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 } }, nE = { 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 } }, _E = { 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 } }, iE = { 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 } }, AE = { 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 } }, rE = { 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" } }, sE = { 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 } }, OE = { 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 } }, oE = { 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 } }, TE = { 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 } }, SE = { 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 } }, IE = { 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 } }, NE = { 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 } }, RE = { 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 } }, LE = { 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 } }, lE = { 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 } }, DE = { 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 } }, uE = { 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" } }, cE = { 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 } }, dE = { 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 } }, CE = { 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 } }, mE = { 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 } }, hE = { 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 } }, gE = { 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 } }, Ue = { ar: Kt, bg: zt, bs: wt, ca: Wt, cs: $t, da: xt, de: qt, el: Jt, en: A, es: Zt, et: Qt, fa: eE, fi: tE, fr: EE, he: aE, hi: nE, hr: _E, hu: iE, id: AE, is: rE, it: sE, ja: OE, ka: oE, ko: TE, nb: SE, nl: IE, pl: NE, pt: RE, ro: LE, ru: lE, sq: DE, sr: uE, sv: cE, tr: dE, uk: CE, vi: mE, zh: hE, zhTw: gE };
88
+ const jt = new ae(), ze = new ae(), 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" } }, Kt = { 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 } }, zt = { 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 } }, wt = { 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 } }, Wt = { 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" } }, $t = { 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 } }, xt = { 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 } }, qt = { 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 } }, Jt = { 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 } }, Zt = { 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 } }, Qt = { 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 } }, eE = { 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 } }, tE = { 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 } }, EE = { 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 } }, aE = { 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 } }, nE = { 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 } }, _E = { 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 } }, iE = { 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 } }, AE = { 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 } }, rE = { 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" } }, sE = { 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 } }, OE = { 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 } }, oE = { 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 } }, TE = { 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 } }, SE = { 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 } }, IE = { 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 } }, NE = { 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 } }, RE = { 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 } }, LE = { 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 } }, lE = { 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 } }, DE = { 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 } }, uE = { 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" } }, cE = { 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 } }, dE = { 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 } }, CE = { 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 } }, mE = { 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 } }, hE = { 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 } }, pE = { 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 } }, Ue = { ar: Kt, bg: zt, bs: wt, ca: Wt, cs: $t, da: xt, de: qt, el: Jt, en: A, es: Zt, et: Qt, fa: eE, fi: tE, fr: EE, he: aE, hi: nE, hr: _E, hu: iE, id: AE, is: rE, it: sE, ja: OE, ka: oE, ko: TE, nb: SE, nl: IE, pl: NE, pt: RE, ro: LE, ru: lE, sq: DE, sr: uE, sv: cE, tr: dE, uk: CE, vi: mE, zh: hE, zhTw: pE };
87
89
  function we(e) {
88
- const t = e.replace(/_/g, "-").toLowerCase(), E = Ue[t];
89
- if (E) return { ...E.translation, locale: t };
90
- const a = t.slice(0, 2), n = Ue[a];
91
- return n ? { ...n.translation, locale: a } : (ze.warn(`User locale '${e}' not supported; falling back to English.`), { ...A.translation, locale: "en-US" });
90
+ const t = e.replace(/_/g, "-").toLowerCase(), a = Ue[t];
91
+ if (a) return { ...a.translation, locale: t };
92
+ const E = t.slice(0, 2), n = Ue[E];
93
+ return n ? { ...n.translation, locale: E } : (ze.warn(`User locale '${e}' not supported; falling back to English.`), { ...A.translation, locale: "en-US" });
92
94
  }
93
95
  class We extends Error {
94
96
  }
95
97
  function ke(e, t) {
96
98
  if (!e) throw new We(t != null ? t : "Assertion failed");
97
99
  }
98
- const U = Object.assign(ke, { is: function(e, t, E) {
99
- return ke(t, E);
100
+ const U = Object.assign(ke, { is: function(e, t, a) {
101
+ return ke(t, a);
100
102
  }, unreachable: function() {
101
103
  throw new Error("Unreachable code");
102
104
  }, never: function(e) {
@@ -109,19 +111,19 @@ const U = Object.assign(ke, { is: function(e, t, E) {
109
111
  const t = e.getContext("2d");
110
112
  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;
111
113
  }, Be = (e, t) => {
112
- const E = $e();
113
- return E.fillStyle = t, E.fillText(e, 0, 0), E.getImageData(0, 0, 1, 1).data;
114
+ const a = $e();
115
+ return a.fillStyle = t, a.fillText(e, 0, 0), a.getImageData(0, 0, 1, 1).data;
114
116
  };
115
- function pE(e) {
116
- const t = Be(e, "#000"), E = Be(e, "#fff"), a = ((n) => !n.includes("‍") || $e().measureText(n).width < 160)(e);
117
- return t && E && a && ((n, _) => {
117
+ function gE(e) {
118
+ const t = Be(e, "#000"), a = Be(e, "#fff"), E = ((n) => !n.includes("‍") || $e().measureText(n).width < 160)(e);
119
+ return t && a && E && ((n, _) => {
118
120
  const i = [...n].join(",");
119
121
  return i === [..._].join(",") && !i.startsWith("0,0,0,");
120
- })(t, E);
122
+ })(t, a);
121
123
  }
122
124
  function xe(e) {
123
125
  try {
124
- return pE(e);
126
+ return gE(e);
125
127
  } catch (t) {
126
128
  return !0;
127
129
  }
@@ -129,168 +131,160 @@ function xe(e) {
129
131
  const qe = function() {
130
132
  if (typeof window == "undefined" || window.E2E) return 16;
131
133
  const e = { "🫩": 16, "🚶‍➡️": 15.1, "🫨": 15, "🫠": 14, "😵‍💫": 13.1, "🥲": 13, "🧑‍🦰": 12.1, "🥻": 12, "🥰": 11, "🤩": 5, "👱‍♀️": 4, "🤣": 3, "👁️‍🗨️": 2, "😀": 1, "😐️": 0.7, "😃": 0.6 };
132
- for (const [t, E] of Object.entries(e)) if (xe(t)) return E;
134
+ for (const [t, a] of Object.entries(e)) if (xe(t)) return a;
133
135
  }();
134
136
  class Je {
135
- constructor() {
136
- this.currentUser$ = C(null), this.app$ = C(null), this.appId$ = C(null), this.extUserId$ = C(null), this.authTokenState$ = C("idle"), this.themeCustom$ = C(pe({ value: void 0 })), this.device$ = C({ supportsEmojiPicker: !!qe, isMobile: typeof window != "undefined" && /Mobi/i.test(window.navigator.userAgent) }), this.errors$ = C({ unknownConversation: !1, unknownUser: !1, wrongAppId: !1, serverError: !1 }), this.t$ = C(() => {
137
- var n, _;
138
- const t = this.extUserId$.get(), E = this.app$.appMetadata.defaultLocale.get(), a = this.currentUser$.locale.get();
139
- return we((_ = (n = t && a) != null ? n : E) != null ? _ : "en-US");
140
- });
141
- }
142
- resetState(t, E) {
143
- te(() => {
144
- this.extUserId$.set(E), this.appId$.set(t), this.currentUser$.set(null);
137
+ constructor(t, a) {
138
+ this.currentUser$ = C(null), this.app$ = C(null), this.appId$ = C(null), this.extUserId$ = C(null), this.authTokenState$ = C("idle"), this.themeCustom$ = C(ge({ value: void 0 })), this.device$ = C({ supportsEmojiPicker: !!qe, isMobile: typeof window != "undefined" && /Mobi/i.test(window.navigator.userAgent) }), this.errors$ = C({ unknownConversation: !1, unknownUser: !1, wrongAppId: !1, serverError: !1 }), this.t$ = C(() => {
139
+ var i, r;
140
+ const E = this.extUserId$.get(), n = this.app$.appMetadata.defaultLocale.get(), _ = this.currentUser$.locale.get();
141
+ return we((r = (i = E && _) != null ? i : n) != null ? r : "en-US");
142
+ }), Ne(() => {
143
+ this.appId$.set(t), this.extUserId$.set(a);
145
144
  });
146
145
  }
147
146
  updateThemeCustom(t) {
148
- this.themeCustom$.set(pe({ value: t }));
147
+ this.themeCustom$.set(ge({ value: t }));
149
148
  }
150
- listenForErrors(t, E) {
149
+ listenForErrors(t, a) {
151
150
  this.errors$.assign({ unknownConversation: !1, unknownUser: !1, wrongAppId: !1, serverError: !1 });
152
- const a = t.onError((i) => {
151
+ const E = t.onError((i) => {
153
152
  ze.error(i.message), this.errors$.serverError.set(!0);
154
153
  }), n = t.currentUser.subscribe((i) => {
155
154
  this.errors$.unknownUser.set(i === null);
156
- }), _ = E && t.conversation(E).subscribe((i) => {
155
+ }), _ = a && t.conversation(a).subscribe((i) => {
157
156
  this.errors$.unknownConversation.set(i === null);
158
157
  });
159
158
  return () => {
160
- a.unsubscribe(), n.unsubscribe(), _ == null || _.unsubscribe();
159
+ E.unsubscribe(), n.unsubscribe(), _ == null || _.unsubscribe();
161
160
  };
162
161
  }
163
- listenForAuthChanges(t, E) {
164
- let a = !0;
162
+ listenForAuthChanges(t, a) {
163
+ let E = !0;
165
164
  this.authTokenState$.peek() !== "loading" && this.authTokenState$.set("loading"), t._authProvider.getToken().then(() => {
166
- a && this.authTokenState$.set("valid");
165
+ E && this.authTokenState$.set("valid");
167
166
  });
168
167
  const n = t._authProvider.onTokenRefreshFailed(() => {
169
- a && this.authTokenState$.set(E ? "invalid" : "expired");
168
+ E && this.authTokenState$.set(a ? "invalid" : "expired");
170
169
  });
171
170
  return () => {
172
- a = !1, n();
171
+ E = !1, n();
173
172
  };
174
173
  }
175
- listenForUserAndAppChanges(t, E) {
176
- let a = !0, n = null;
174
+ listenForUserAndAppChanges(t, a) {
175
+ let E = !0, n = null;
177
176
  const _ = t.currentUser.subscribe(async (i) => {
178
- if (a && i && (this.currentUser$.set(i), i.role !== n)) {
177
+ if (E && i && (this.currentUser$.set(i), i.role !== n)) {
179
178
  n = i.role;
180
- const r = await E.getApp(i.role);
181
- if (!a) return;
179
+ const r = await a.getApp(i.role);
180
+ if (!E) return;
182
181
  this.app$.set(r);
183
182
  }
184
183
  });
185
184
  return () => {
186
- a = !1, _.unsubscribe();
185
+ E = !1, _.unsubscribe();
187
186
  };
188
187
  }
189
188
  }
190
189
  const PE = { canReplyToMessage: !1, canEditMessage: !1, canDeleteMessage: !1, canAddReaction: !1 };
191
190
  class ME extends Je {
192
- constructor() {
193
- super(), this.messageSubscription = null, this.readyForNewMessagesPromise = Promise.resolve(), this.participantSubscription = null, this.onlineSubscriptions = {}, this.state$ = C({ 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: () => {
194
- const t = this.app$.role.general.get(), E = this.app$.role.permissions.get();
195
- return U.defined(t), U.defined(E), { showTypingIndicator: t.showTypingIndicators, canShareFile: t.enableFileTransfers, canShareLocation: t.enableLocation, canMention: t.enableMentions, showOnlineStatus: t.enablePresence !== !1, canSendVoiceMessage: t.enableVoiceRecording, canLeaveConversation: E.conversations.leave === "all", canMarkConversationAsUnread: E.conversations.markAsUnread === "all" };
191
+ constructor(t, a) {
192
+ super(t, a), this.messageSubscription = null, this.readyForNewMessagesPromise = Promise.resolve(), this.participantSubscription = null, this.onlineSubscriptions = {}, this.state$ = C({ 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: () => {
193
+ const E = this.app$.role.general.get(), n = this.app$.role.permissions.get();
194
+ return U.defined(E), U.defined(n), { showTypingIndicator: E.showTypingIndicators, canShareFile: E.enableFileTransfers, canShareLocation: E.enableLocation, canMention: E.enableMentions, showOnlineStatus: E.enablePresence !== !1, canSendVoiceMessage: E.enableVoiceRecording, canLeaveConversation: n.conversations.leave === "all", canMarkConversationAsUnread: n.conversations.markAsUnread === "all" };
196
195
  }, messagePermissions: () => {
197
- const t = this.app$.role.permissions.get();
198
- U.defined(t);
199
- const E = this.state$.userPermissions.get(), a = { ...PE, ...E }, n = { canReplyToMessage: B(t.messages.reply, !0), canEditMessage: B(t.messages.edit, !0), canDeleteMessage: B(t.messages.delete, !0), canAddReaction: B(t.messages.emojiReactions, !0), ...E }, _ = { ...n, canEditMessage: !1 }, i = { canReplyToMessage: B(t.messages.reply, !1), canEditMessage: B(t.messages.edit, !1), canDeleteMessage: B(t.messages.delete, !1), canAddReaction: B(t.messages.emojiReactions, !1), ...E };
200
- return { system: a, own: n, ownWithoutEditing: _, other: i, otherWithoutEditing: { ...i, canEditMessage: !1 } };
196
+ const E = this.app$.role.permissions.get();
197
+ U.defined(E);
198
+ const n = this.state$.userPermissions.get(), _ = { ...PE, ...n }, i = { canReplyToMessage: B(E.messages.reply, !0), canEditMessage: B(E.messages.edit, !0), canDeleteMessage: B(E.messages.delete, !0), canAddReaction: B(E.messages.emojiReactions, !0), ...n }, r = { ...i, canEditMessage: !1 }, s = { canReplyToMessage: B(E.messages.reply, !1), canEditMessage: B(E.messages.edit, !1), canDeleteMessage: B(E.messages.delete, !1), canAddReaction: B(E.messages.emojiReactions, !1), ...n };
199
+ return { system: _, own: i, ownWithoutEditing: r, other: s, otherWithoutEditing: { ...s, canEditMessage: !1 } };
201
200
  } }), this.locale$ = C(() => {
202
- var n, _;
203
- const t = this.extUserId$.get(), E = this.app$.appMetadata.defaultLocale.get(), a = this.currentUser$.locale.get();
204
- return (_ = (n = t && a) != null ? n : E) != null ? _ : "en-US";
201
+ var i, r;
202
+ const E = this.extUserId$.get(), n = this.app$.appMetadata.defaultLocale.get(), _ = this.currentUser$.locale.get();
203
+ return (r = (i = E && _) != null ? i : n) != null ? r : "en-US";
205
204
  }), this.t$ = C(() => we(this.locale$.get())), this.referencedMessage$ = C(() => {
206
- const t = this.state$.extCurrentConversationId.get(), E = this.state$.referencedMessageId.get();
207
- return t && E ? this.state$.messages.child(t).lookup.child(E).get() : null;
205
+ const E = this.state$.extCurrentConversationId.get(), n = this.state$.referencedMessageId.get();
206
+ return E && n ? this.state$.messages.child(E).lookup.child(n).get() : null;
208
207
  }), this.chatItems$ = C(() => {
209
- var T, S;
210
- const t = this.state$.extCurrentConversationId.get();
211
- if (!t) return [];
212
- const E = this.state$.currentConversation.readUntil.get(), a = (T = this.state$.messages.child(t).state.get()) != null ? T : [], n = Object.values((S = this.state$.ephemeralMessages.child(t).get()) != null ? S : {}), _ = (n.length === 0 ? a : n.concat(a).sort((I, o) => o.createdAt - I.createdAt)).map((I) => {
213
- const o = I.content[0], N = o == null ? void 0 : o.type;
214
- if (!o || N !== "file") return I;
215
- const R = o.size + "," + o.filename, D = this.state$.localFileBlobUrls.child(t).child(R).url.get();
216
- return D ? { ...I, content: [{ ...o, url: D }] } : I;
208
+ var L, I;
209
+ const E = this.state$.extCurrentConversationId.get();
210
+ if (!E) return [];
211
+ const n = this.state$.currentConversation.readUntil.get(), _ = (L = this.state$.messages.child(E).state.get()) != null ? L : [], i = Object.values((I = this.state$.ephemeralMessages.child(E).get()) != null ? I : {}), r = (i.length === 0 ? _ : i.concat(_).sort((S, N) => N.createdAt - S.createdAt)).map((S) => {
212
+ const N = S.content[0], c = N == null ? void 0 : N.type;
213
+ if (!N || c !== "file") return S;
214
+ const d = N.size + "," + N.filename, D = this.state$.localFileBlobUrls.child(E).child(d).url.get();
215
+ return D ? { ...S, content: [{ ...N, url: D }] } : S;
217
216
  });
218
- let i = null, r = 0, s = !1;
219
- const O = [];
220
- for (const I of _) {
221
- const o = new Date(I.createdAt), N = new Date(o).setHours(0, 0, 0, 0), R = r && N !== r, D = o.getTime() > E, d = !(!s || D || i != null && i.id.startsWith("ephemeral"));
222
- (d || R) && O.push(new ve({ id: "border-before-" + I.id, isDayMarker: !!R, isReadMarker: !!d, timestamp: R ? r : void 0 })), O.push(I), s = D, r = N, i = I;
217
+ let s = null, O = 0, o = !1;
218
+ const T = [];
219
+ for (const S of r) {
220
+ const N = new Date(S.createdAt), c = new Date(N).setHours(0, 0, 0, 0), d = O && c !== O, D = N.getTime() > n, l = !(!o || D || s != null && s.id.startsWith("ephemeral"));
221
+ (l || d) && T.push(new ve({ id: "border-before-" + S.id, isDayMarker: !!d, isReadMarker: !!l, timestamp: d ? O : void 0 })), T.push(S), o = D, O = c, s = S;
223
222
  }
224
- return function(I, o) {
225
- const N = [];
226
- let R = [];
223
+ return function(S, N) {
224
+ const c = [];
225
+ let d = [];
227
226
  const D = Symbol("NO_KEY");
228
- let d = D;
229
- for (const c of I) {
230
- const u = o(c);
231
- d === D || d === u ? R.push(c) : (N.push(R), R = [c]), d = u;
227
+ let l = D;
228
+ for (const p of S) {
229
+ const m = N(p);
230
+ l === D || l === m ? d.push(p) : (c.push(d), d = [p]), l = m;
232
231
  }
233
- return R.length !== 0 && N.push(R), N;
234
- }(O, (I) => {
235
- var o;
236
- return I instanceof ve ? I.id : (o = I.sender) == null ? void 0 : o.id;
237
- }).map((I) => (I.id = I.map((o) => o.id).join(","), I));
232
+ return d.length !== 0 && c.push(d), c;
233
+ }(T, (S) => {
234
+ var N;
235
+ return S instanceof ve ? S.id : (N = S.sender) == null ? void 0 : N.id;
236
+ }).map((S) => (S.id = S.map((N) => N.id).join(","), S));
238
237
  }), this.mentionableUsers$ = C(() => {
239
- const t = this.state$.extCurrentConversationId.get(), E = this.extUserId$.get();
240
- if (!t || !E) return [];
241
- const a = this.state$.participants.child(t).get();
242
- if (!a || a.length === 0) return [];
243
- const n = a.map((_) => _.user);
244
- return n.sort((_, i) => _.name.localeCompare(i.name)), function(_, i) {
245
- const r = i.findIndex((s) => s.id === _);
246
- if (r > -1) {
247
- const s = i[r];
248
- i.splice(r, 1), i.push(s);
238
+ const E = this.state$.extCurrentConversationId.get(), n = this.extUserId$.get();
239
+ if (!E || !n) return [];
240
+ const _ = this.state$.participants.child(E).get();
241
+ if (!_ || _.length === 0) return [];
242
+ const i = _.map((r) => r.user);
243
+ return i.sort((r, s) => r.name.localeCompare(s.name)), function(r, s) {
244
+ const O = s.findIndex((o) => o.id === r);
245
+ if (O > -1) {
246
+ const o = s[O];
247
+ s.splice(O, 1), s.push(o);
249
248
  }
250
- return i;
251
- }(E, n);
249
+ return s;
250
+ }(n, i);
252
251
  });
253
252
  }
254
- resetState(t, E, a) {
255
- te(() => {
256
- super.resetState(t, E), this.state$.assign({ referencedMessageId: null, extCurrentConversationId: a != null ? a : null, currentConversation: null });
257
- });
258
- }
259
- storeTyping(t, E) {
260
- this.state$.typing.child(t).set(E);
253
+ storeTyping(t, a) {
254
+ this.state$.typing.child(t).set(a);
261
255
  }
262
256
  messagePermissions$(t) {
263
- const E = this.currentUser$.get();
264
- if (!E) throw new Error("Unreachable");
265
- const a = t.content[0];
266
- return t.sender ? E.id === t.sender.id ? a.type === "text" ? this.state$.messagePermissions.own : this.state$.messagePermissions.ownWithoutEditing : a.type === "text" ? this.state$.messagePermissions.other : this.state$.messagePermissions.otherWithoutEditing : this.state$.messagePermissions.system;
257
+ const a = this.currentUser$.get();
258
+ if (!a) throw new Error("Unreachable");
259
+ const E = t.content[0];
260
+ return t.sender ? a.id === t.sender.id ? E.type === "text" ? this.state$.messagePermissions.own : this.state$.messagePermissions.ownWithoutEditing : E.type === "text" ? this.state$.messagePermissions.other : this.state$.messagePermissions.otherWithoutEditing : this.state$.messagePermissions.system;
267
261
  }
268
- storeMessages(t, E, a) {
269
- te(() => {
262
+ storeMessages(t, a, E) {
263
+ Ne(() => {
270
264
  var s;
271
- const n = E.reduce((O, T) => (O[T.id] = T, O), {}), _ = this.state$.extCurrentConversationId.peek(), i = this.extUserId$.peek();
272
- U(i && _), this.state$.messages.child(t).set({ state: E, lookup: n, loadedAll: a });
265
+ const n = a.reduce((O, o) => (O[o.id] = o, O), {}), _ = this.state$.extCurrentConversationId.peek(), i = this.extUserId$.peek();
266
+ U(i && _), this.state$.messages.child(t).set({ state: a, lookup: n, loadedAll: E });
273
267
  const r = this.state$.ephemeralMessages.child(t);
274
- for (const O of E) {
275
- const T = this.state$.ephemeralMessageIdMapping.child(t).child(O.id).peek();
276
- T && r.child(T).delete();
277
- const S = O.content[0];
278
- if (((s = O.sender) == null ? void 0 : s.id) !== i || S.type !== "file") continue;
279
- const I = S.size + "," + S.filename, o = this.state$.localFileBlobUrls.child(_).child(I);
280
- if (o.fetching.peek() !== !1) continue;
281
- const N = () => o.delete();
282
- if (S.subtype === "image") {
283
- o.fetching.set(!0);
284
- const R = document.createElement("img");
285
- R.addEventListener("load", N, { once: !0 }), R.src = S.url;
286
- } else if (S.subtype === "video") {
287
- o.fetching.set(!0);
288
- const R = document.createElement("video");
289
- R.addEventListener("loaddata", N, { once: !0 }), R.src = S.url;
290
- } else if (S.subtype === "audio") {
291
- o.fetching.set(!0);
292
- const R = document.createElement("audio");
293
- R.addEventListener("loaddata", N, { once: !0 }), R.src = S.url;
268
+ for (const O of a) {
269
+ const o = this.state$.ephemeralMessageIdMapping.child(t).child(O.id).peek();
270
+ o && r.child(o).delete();
271
+ const T = O.content[0];
272
+ if (((s = O.sender) == null ? void 0 : s.id) !== i || T.type !== "file") continue;
273
+ const L = T.size + "," + T.filename, I = this.state$.localFileBlobUrls.child(_).child(L);
274
+ if (I.fetching.peek() !== !1) continue;
275
+ const S = () => I.delete();
276
+ if (T.subtype === "image") {
277
+ I.fetching.set(!0);
278
+ const N = document.createElement("img");
279
+ N.addEventListener("load", S, { once: !0 }), N.src = T.url;
280
+ } else if (T.subtype === "video") {
281
+ I.fetching.set(!0);
282
+ const N = document.createElement("video");
283
+ N.addEventListener("loaddata", S, { once: !0 }), N.src = T.url;
284
+ } else if (T.subtype === "audio") {
285
+ I.fetching.set(!0);
286
+ const N = document.createElement("audio");
287
+ N.addEventListener("loaddata", S, { once: !0 }), N.src = T.url;
294
288
  }
295
289
  }
296
290
  });
@@ -300,113 +294,113 @@ function B(e, t) {
300
294
  return e === "all" || e === "own" && t || e === "other" && !t;
301
295
  }
302
296
  class ve {
303
- constructor({ id: t, isDayMarker: E, isReadMarker: a, timestamp: n }) {
304
- this.id = t, this.isDayMarker = E, this.isReadMarker = a, this.timestamp = E ? n : void 0;
297
+ constructor({ id: t, isDayMarker: a, isReadMarker: E, timestamp: n }) {
298
+ this.id = t, this.isDayMarker = a, this.isReadMarker = E, this.timestamp = a ? n : void 0;
305
299
  }
306
300
  }
307
- function Oe(e) {
301
+ function se(e) {
308
302
  const t = V();
309
- return L(t instanceof ME ? HE : UE, { ...e });
303
+ return R(t instanceof ME ? HE : UE, { ...e });
310
304
  }
311
305
  function HE(e) {
312
- const t = q(), E = function() {
313
- const a = je(), n = V(), _ = Re(), i = q(), r = p(n.app$.appMetadata), s = p(n.currentUser$), O = p(n.state$.currentConversation), T = p(n.t$), S = p(n.device$), I = p(n.themeCustom$), o = p(() => n.state$.typing.child(n.state$.extCurrentConversationId.get()).get()), N = p(() => n.state$.participants.child(n.state$.extCurrentConversationId.get()).get());
314
- return F(() => ({ session: a, store: n, chatbox: _, theme: i, get app() {
306
+ const t = q(), a = function() {
307
+ const E = je(), n = V(), _ = Re(), i = q(), r = P(n.app$.appMetadata), s = P(n.currentUser$), O = P(n.state$.currentConversation), o = P(n.t$), T = P(n.device$), L = P(n.themeCustom$), I = P(() => n.state$.typing.child(n.state$.extCurrentConversationId.get()).get()), S = P(() => n.state$.participants.child(n.state$.extCurrentConversationId.get()).get());
308
+ return F(() => ({ session: E, store: n, chatbox: _, theme: i, get app() {
315
309
  return r.value;
316
310
  }, get currentUser() {
317
311
  return s.value;
318
312
  }, get conversation() {
319
313
  return O.value;
320
314
  }, get t() {
321
- return T.value;
315
+ return o.value;
322
316
  }, get device() {
323
- return S.value;
317
+ return T.value;
324
318
  }, get themeCustom() {
325
- return I.value.value;
319
+ return L.value.value;
326
320
  }, get typing() {
327
- return o.value;
321
+ return I.value;
328
322
  }, get participants() {
329
- return N.value;
330
- } }), [r, _, O, s, S, n, T, i, I, o, N, a]);
323
+ return S.value;
324
+ } }), [r, _, O, s, T, n, o, i, L, I, S, E]);
331
325
  }();
332
- return L(t.Icon, { common: E, ...e });
326
+ return R(t.Icon, { common: a, ...e });
333
327
  }
334
328
  function UE(e) {
335
- const t = q(), E = function() {
336
- const a = je(), n = V(), _ = q(), i = Re(), r = p(n.app$.appMetadata), s = p(n.currentUser$), O = p(n.t$), T = p(n.device$), S = p(n.themeCustom$);
337
- return F(() => ({ session: a, store: n, theme: _, conversationList: i, get app() {
329
+ const t = q(), a = function() {
330
+ const E = je(), n = V(), _ = q(), i = Re(), r = P(n.app$.appMetadata), s = P(n.currentUser$), O = P(n.t$), o = P(n.device$), T = P(n.themeCustom$);
331
+ return F(() => ({ session: E, store: n, theme: _, conversationList: i, get app() {
338
332
  return r.value;
339
333
  }, get currentUser() {
340
334
  return s.value;
341
335
  }, get t() {
342
336
  return O.value;
343
337
  }, get device() {
344
- return T.value;
338
+ return o.value;
345
339
  }, get themeCustom() {
346
- return S.value.value;
347
- } }), [r, i, s, T, a, n, O, _, S]);
340
+ return T.value.value;
341
+ } }), [r, i, s, o, E, n, O, _, T]);
348
342
  }();
349
- return L(t.Icon, { common: E, ...e });
343
+ return R(t.Icon, { common: a, ...e });
350
344
  }
351
- function xa({ src: e, onError: t, filename: E, className: a = "" }) {
352
- const n = H(null), _ = H(), i = H(), [r, s] = h(!1), [O, T] = h(0), [S, I] = h(1), o = H(), [N, R] = h(!1);
353
- m(() => {
345
+ function xa({ src: e, onError: t, filename: a, className: E = "" }) {
346
+ const n = H(null), _ = H(), i = H(), [r, s] = g(!1), [O, o] = g(0), [T, L] = g(1), I = H(), [S, N] = g(!1);
347
+ h(() => {
354
348
  _.current = new Audio();
355
- const c = { normalize: !0, height: 50, container: n.current };
356
- function u() {
357
- const l = _.current;
358
- l && (l.error.message === "PIPELINE_ERROR_READ: FFmpegDemuxer: demuxer seek failed" ? (l.load(), s(!1)) : (R(!0), s(!1), t == null || t()));
349
+ const D = { normalize: !0, height: 50, container: n.current };
350
+ function l() {
351
+ const u = _.current;
352
+ u && (u.error.message === "PIPELINE_ERROR_READ: FFmpegDemuxer: demuxer seek failed" ? (u.load(), s(!1)) : (N(!0), s(!1), t == null || t()));
359
353
  }
360
- const P = E.slice(E.lastIndexOf(".") + 1);
361
- if (function(l) {
362
- return /(?:^|\/)talkjs_audio_message_[0-9]+_([0-9]+)[.](?:mp3|webm)$/.test(l);
363
- }(E) && P === "webm" && !_.current.canPlayType("audio/webm;codecs=opus")) c.backend = "WebAudio", i.current = new Audio("data:audio/mp3;base64,//MkxAAHiAICWABElBeKPL/RANb2w+yiT1g/gTok//lP/W/l3h8QO/OCdCqCW2Cw//MkxAQHkAIWUAhEmAQXWUOFW2dxPu//9mr60ElY5sseQ+xxesmHKtZr7bsqqX2L//MkxAgFwAYiQAhEAC2hq22d3///9FTV6tA36JdgBJoOGgc+7qvqej5Zu7/7uI9l//MkxBQHAAYi8AhEAO193vt9KGOq+6qcT7hhfN5FTInmwk8RkqKImTM55pRQHQSq//MkxBsGkgoIAABHhTACIJLf99nVI///yuW1uBqWfEu7CgNPWGpUadBmZ////4sL//MkxCMHMAH9iABEmAsKioqKigsLCwtVTEFNRTMuOTkuNVVVVVVVVVVVVVVVVVVV//MkxCkECAUYCAAAAFVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV"), i.current.controls = !1;
354
+ const p = a.slice(a.lastIndexOf(".") + 1);
355
+ if (function(u) {
356
+ return /(?:^|\/)talkjs_audio_message_[0-9]+_([0-9]+)[.](?:mp3|webm)$/.test(u);
357
+ }(a) && p === "webm" && !_.current.canPlayType("audio/webm;codecs=opus")) D.backend = "WebAudio", i.current = new Audio("data:audio/mp3;base64,//MkxAAHiAICWABElBeKPL/RANb2w+yiT1g/gTok//lP/W/l3h8QO/OCdCqCW2Cw//MkxAQHkAIWUAhEmAQXWUOFW2dxPu//9mr60ElY5sseQ+xxesmHKtZr7bsqqX2L//MkxAgFwAYiQAhEAC2hq22d3///9FTV6tA36JdgBJoOGgc+7qvqej5Zu7/7uI9l//MkxBQHAAYi8AhEAO193vt9KGOq+6qcT7hhfN5FTInmwk8RkqKImTM55pRQHQSq//MkxBsGkgoIAABHhTACIJLf99nVI///yuW1uBqWfEu7CgNPWGpUadBmZ////4sL//MkxCMHMAH9iABEmAsKioqKigsLCwtVTEFNRTMuOTkuNVVVVVVVVVVVVVVVVVVV//MkxCkECAUYCAAAAFVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV"), i.current.controls = !1;
364
358
  else {
365
- const l = _.current;
366
- l.addEventListener("error", u), l.src = e, l.preload = "auto", l.preservesPitch = !0, c.media = l;
359
+ const u = _.current;
360
+ u.addEventListener("error", l), u.src = e, u.preload = "auto", u.preservesPitch = !0, D.media = u;
367
361
  }
368
- o.current = function(l) {
362
+ I.current = function(u) {
369
363
  var z, w, G, ue, ce, de, Ce, me;
370
- if (!l.container) return;
371
- const X = getComputedStyle(l.container), f = (z = J.parse(X.color)) != null ? z : new J(255, 255, 255, 1), b = f.withAlpha(f.alpha / 2);
372
- return Rt.create({ ...l, barGap: (w = l.barGap) != null ? w : 2, barRadius: (G = l.barRadius) != null ? G : 0, barWidth: (ue = l.barWidth) != null ? ue : 2, barHeight: l.barHeight, hideScrollbar: !0, cursorWidth: (ce = l.cursorWidth) != null ? ce : 0, cursorColor: l.cursorColor, height: (de = l.height) != null ? de : 24, progressColor: (Ce = l.progressColor) != null ? Ce : b.toRgbaString(), waveColor: (me = l.waveColor) != null ? me : b.toRgbaString() });
373
- }(c);
374
- const g = o.current;
375
- return g.on("finish", () => {
364
+ if (!u.container) return;
365
+ const X = getComputedStyle(u.container), f = (z = J.parse(X.color)) != null ? z : new J(255, 255, 255, 1), b = f.withAlpha(f.alpha / 2);
366
+ return Rt.create({ ...u, barGap: (w = u.barGap) != null ? w : 2, barRadius: (G = u.barRadius) != null ? G : 0, barWidth: (ue = u.barWidth) != null ? ue : 2, barHeight: u.barHeight, hideScrollbar: !0, cursorWidth: (ce = u.cursorWidth) != null ? ce : 0, cursorColor: u.cursorColor, height: (de = u.height) != null ? de : 24, progressColor: (Ce = u.progressColor) != null ? Ce : b.toRgbaString(), waveColor: (me = u.waveColor) != null ? me : b.toRgbaString() });
367
+ }(D);
368
+ const m = I.current;
369
+ return m.on("finish", () => {
376
370
  _.current.loop = !0, s(!1);
377
- }), g.on("ready", (l) => T(Math.trunc(l))), g.on("timeupdate", (l) => T(Math.trunc(l))), c.backend === "WebAudio" && g.load(e).catch(() => {
378
- R(!0), s(!1), t == null || t();
371
+ }), m.on("ready", (u) => o(Math.trunc(u))), m.on("timeupdate", (u) => o(Math.trunc(u))), D.backend === "WebAudio" && m.load(e).catch(() => {
372
+ N(!0), s(!1), t == null || t();
379
373
  }), () => {
380
- var l;
381
- (l = _.current) == null || l.removeEventListener("error", u), _.current = void 0, g.destroy(), o.current = void 0;
374
+ var u;
375
+ (u = _.current) == null || u.removeEventListener("error", l), _.current = void 0, m.destroy(), I.current = void 0;
382
376
  };
383
- }, [e, E, t]);
384
- const D = v(() => {
385
- var c;
386
- if (o.current.options.backend === "WebAudio") o.current.isPlaying() || i.current.play(), o.current.playPause(), s((c = o.current.isPlaying()) != null ? c : !1);
377
+ }, [e, a, t]);
378
+ const c = v(() => {
379
+ var D;
380
+ if (I.current.options.backend === "WebAudio") I.current.isPlaying() || i.current.play(), I.current.playPause(), s((D = I.current.isPlaying()) != null ? D : !1);
387
381
  else {
388
- const u = _.current;
389
- u.paused ? u.play() : u.pause(), u.loop = !1, !u.paused && u.ended && (u.load(), u.play()), s(!u.paused);
382
+ const l = _.current;
383
+ l.paused ? l.play() : l.pause(), l.loop = !1, !l.paused && l.ended && (l.load(), l.play()), s(!l.paused);
390
384
  }
391
- }, []), d = v((c) => {
392
- o.current.setPlaybackRate(c), I(c);
385
+ }, []), d = v((D) => {
386
+ I.current.setPlaybackRate(D), L(D);
393
387
  }, []);
394
- return N ? L("div", {}) : x("div", { className: `t-audio-player ${a}`, children: [L("button", { onClick: D, children: L(Oe, { className: "t-play-pause-icon", type: r ? "pause" : "play", "aria-label": r ? "pause audio" : "play audio" }) }), L("div", { className: "t-waveform", ref: n }), L("div", { className: "t-duration", children: ga(O) }), x(ma, { type: "menu", popoverComponent: BE, popoverProps: { playbackSpeed: S, selectPlaybackSpeed: d }, className: "t-playback-speed", "aria-label": "set playback speed", children: [S, "x", L(Oe, { type: "updown", className: "t-up-down-icon", "aria-hidden": !0 })] })] });
388
+ return S ? R("div", {}) : x("div", { className: `t-audio-player ${E}`, children: [R("button", { onClick: c, children: R(se, { className: "t-play-pause-icon", type: r ? "pause" : "play", "aria-label": r ? "pause audio" : "play audio" }) }), R("div", { className: "t-waveform", ref: n }), R("div", { className: "t-duration", children: pa(O) }), x(ma, { type: "menu", popoverComponent: BE, popoverProps: { playbackSpeed: T, selectPlaybackSpeed: d }, className: "t-playback-speed", "aria-label": "set playback speed", children: [T, "x", R(se, { type: "updown", className: "t-up-down-icon", "aria-hidden": !0 })] })] });
395
389
  }
396
390
  const kE = [0.25, 0.5, 0.75, 1, 1.25, 1.5, 2];
397
391
  function BE({ playbackSpeed: e, selectPlaybackSpeed: t }) {
398
- return x("div", { className: "t-playback-speed-menu", children: [L("div", { className: "t-playback-heading", children: "Playback Speed" }), kE.map((E) => x(ha, { className: "t-menu-item", onSelect: () => t(E), children: [L("span", { className: "t-playback-checkmark", children: e === E ? "✓ " : "" }), E, "x"] }, E))] });
392
+ return x("div", { className: "t-playback-speed-menu", children: [R("div", { className: "t-playback-heading", children: "Playback Speed" }), kE.map((a) => x(ha, { className: "t-menu-item", onSelect: () => t(a), children: [R("span", { className: "t-playback-checkmark", children: e === a ? "✓ " : "" }), a, "x"] }, a))] });
399
393
  }
400
394
  const vE = /^rgb\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*\)$/, YE = /^rgba\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*,\s*([\d.]+)\s*\)$/;
401
395
  class J {
402
- constructor(t, E, a, n) {
403
- this.red = t, this.green = E, this.blue = a, this.alpha = n;
396
+ constructor(t, a, E, n) {
397
+ this.red = t, this.green = a, this.blue = E, this.alpha = n;
404
398
  }
405
399
  static parse(t) {
406
- var a;
407
- const E = (a = t.match(vE)) != null ? a : t.match(YE);
408
- if (E) {
409
- const [n, _, i, r, s = "1"] = E;
400
+ var E;
401
+ const a = (E = t.match(vE)) != null ? E : t.match(YE);
402
+ if (a) {
403
+ const [n, _, i, r, s = "1"] = a;
410
404
  return new J(Number(_), Number(i), Number(r), Number(s));
411
405
  }
412
406
  return null;
@@ -415,29 +409,29 @@ class J {
415
409
  return new J(this.red, this.green, this.blue, t);
416
410
  }
417
411
  toRgbaString() {
418
- const { red: t, green: E, blue: a, alpha: n } = this;
419
- return n !== 1 ? `rgba(${t}, ${E}, ${a}, ${n})` : `rgb(${t}, ${E}, ${a})`;
412
+ const { red: t, green: a, blue: E, alpha: n } = this;
413
+ return n !== 1 ? `rgba(${t}, ${a}, ${E}, ${n})` : `rgb(${t}, ${a}, ${E})`;
420
414
  }
421
415
  }
422
416
  const M = new ut({ nodes: { doc: { content: "paragraph+" }, paragraph: { code: !0, content: "inline*", parseDOM: [{ tag: "p" }], toDOM: () => ["p", 0] }, text: { group: "inline" }, mention: { group: "inline", inline: !0, attrs: { id: {}, name: {} }, content: "text*", toDOM: (e) => ["span", { "data-mention-id": e.attrs.id, class: "t-mention" }, `@${e.attrs.name}`], parseDOM: [{ tag: "span[data-mention-id]", getAttrs: (e) => ({ id: e.dataset["mention-id"] }) }] }, customemoji: { group: "inline", inline: !0, attrs: { name: {}, url: {} }, content: "text*", selectable: !1, toDOM: (e) => ["img", { src: e.attrs.url, alt: e.attrs.name, "data-custom-emoji": e.attrs.name }], parseDOM: [{ tag: "img[data-custom-emoji]", getAttrs: (e) => {
423
417
  const t = e;
424
418
  return { name: t.dataset.customEmoji, url: t.src };
425
- } }] } }, marks: { literal: { toDOM: () => ["span", { "data-literal": "" }], parseDOM: [{ tag: "span[data-literal]" }] }, bold: { toDOM: () => ["b"], parseDOM: [{ tag: "b" }] }, italic: { toDOM: () => ["i"], parseDOM: [{ tag: "i" }] }, strikethrough: { toDOM: () => ["del"], parseDOM: [{ tag: "del" }] }, emoji: { attrs: { emoji: {} }, toDOM: (e) => ["span", { "data-emoji": e.attrs.emoji }, e.attrs.emoji], parseDOM: [{ tag: "span[data-emoji]", getAttrs: (e) => ({ emoji: e.dataset.emoji }) }] } } }), ie = new ct("placeholder"), Ye = new dt({ key: ie, props: { decorations(e) {
419
+ } }] } }, marks: { literal: { toDOM: () => ["span", { "data-literal": "" }], parseDOM: [{ tag: "span[data-literal]" }] }, bold: { toDOM: () => ["b"], parseDOM: [{ tag: "b" }] }, italic: { toDOM: () => ["i"], parseDOM: [{ tag: "i" }] }, strikethrough: { toDOM: () => ["del"], parseDOM: [{ tag: "del" }] }, emoji: { attrs: { emoji: {} }, toDOM: (e) => ["span", { "data-emoji": e.attrs.emoji }, e.attrs.emoji], parseDOM: [{ tag: "span[data-emoji]", getAttrs: (e) => ({ emoji: e.dataset.emoji }) }] } } }), _e = new ct("placeholder"), Ye = new dt({ key: _e, props: { decorations(e) {
426
420
  if (Ze(e.doc)) return;
427
- const t = e.doc.firstChild, E = Lt.node(0, t.nodeSize, { class: "empty-node", "data-placeholder": ie.getState(e) });
428
- return lt.create(e.doc, [E]);
421
+ const t = e.doc.firstChild, a = Lt.node(0, t.nodeSize, { class: "empty-node", "data-placeholder": _e.getState(e) });
422
+ return lt.create(e.doc, [a]);
429
423
  } }, state: { init: () => "", apply: (e, t) => {
430
- var E;
431
- return (E = e.getMeta(ie)) != null ? E : t;
424
+ var a;
425
+ return (a = e.getMeta(_e)) != null ? a : t;
432
426
  } } });
433
427
  function Ze(e) {
434
428
  return e.childCount !== 1 || e.firstChild.childCount !== 0;
435
429
  }
436
- const $ = (e, t, E = void 0) => function(a, n) {
437
- return a.reduce((_, i, r) => _.concat(n(i, r)), []);
438
- }(e, (a) => {
439
- if (typeof a == "string") return t(a, E);
440
- switch (a.type) {
430
+ const $ = (e, t, a = void 0) => function(E, n) {
431
+ return E.reduce((_, i, r) => _.concat(n(i, r)), []);
432
+ }(e, (E) => {
433
+ if (typeof E == "string") return t(E, a);
434
+ switch (E.type) {
441
435
  case "bold":
442
436
  case "italic":
443
437
  case "strikethrough":
@@ -446,14 +440,14 @@ const $ = (e, t, E = void 0) => function(a, n) {
446
440
  case "bulletList":
447
441
  case "bulletpoint":
448
442
  case "bulletPoint":
449
- return [{ type: a.type, children: $(a.children, t, a.type) }];
443
+ return [{ type: E.type, children: $(E.children, t, E.type) }];
450
444
  case "link":
451
- return [{ type: a.type, url: a.url, children: $(a.children, t, a.type) }];
445
+ return [{ type: E.type, url: E.url, children: $(E.children, t, E.type) }];
452
446
  case "actionlink":
453
447
  case "actionLink":
454
448
  case "actionbutton":
455
449
  case "actionButton":
456
- return [{ type: a.type, action: a.action, params: a.params, children: $(a.children, t, a.type) }];
450
+ return [{ type: E.type, action: E.action, params: E.params, children: $(E.children, t, E.type) }];
457
451
  case "mention":
458
452
  case "autolink":
459
453
  case "autoLink":
@@ -465,82 +459,82 @@ const $ = (e, t, E = void 0) => function(a, n) {
465
459
  case "emoji":
466
460
  case "customemoji":
467
461
  case "customEmoji":
468
- return [a];
462
+ return [E];
469
463
  }
470
464
  });
471
465
  function k(e, t) {
472
- return (E) => {
473
- const a = E;
466
+ return (a) => {
467
+ const E = a;
474
468
  let n = 0;
475
469
  const _ = [];
476
- for (const i of le(E, e)) {
477
- i.index - n > 0 && _.push(a.substring(n, i.index));
470
+ for (const i of le(a, e)) {
471
+ i.index - n > 0 && _.push(E.substring(n, i.index));
478
472
  const r = t(i);
479
473
  Array.isArray(r) ? _.push(...r) : _.push(r), n = i.index + i[0].length;
480
474
  }
481
- return n < E.length && _.push(E.substring(n)), _;
475
+ return n < a.length && _.push(a.substring(n)), _;
482
476
  };
483
477
  }
484
478
  function Qe(e) {
485
479
  return e.replace(/<!!mention:.*?\|([^>]*)>/gim, "@$1").replace(/<!!customemoji:(.*?)>/gim, "$1");
486
480
  }
487
481
  const fe = "’'()[]{}<>:,‒–—―…!.«»-‐?‘’“”;/⁄␠·&@*\\•^¤¢$€£¥₩₪†‡°¡¿¬#№%‰‱¶′§~¨_|¦⁂☞∴‽※".replace(/[-[\]{}()*+?.,\\^$|#\s]/g, "\\$&");
488
- var oe = ((e) => (e[e.italic = 1] = "italic", e[e.strikethrough = 2] = "strikethrough", e[e.bold = 4] = "bold", e))(oe || {});
482
+ var Oe = ((e) => (e[e.italic = 1] = "italic", e[e.strikethrough = 2] = "strikethrough", e[e.bold = 4] = "bold", e))(Oe || {});
489
483
  const fE = [0, 1, 2, 3, 4, 5, 6].map((e) => {
490
484
  const t = [];
491
- 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((E) => E.source).join("|"), "g");
485
+ 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((a) => a.source).join("|"), "g");
492
486
  }), bE = { _: 1, "*": 4, "~": 2 };
493
487
  function FE(e) {
494
488
  return et(e, 0);
495
489
  }
496
490
  function et(e, t = 0) {
497
- const E = fE[t], a = E ? function(n) {
491
+ const a = fE[t], E = a ? function(n) {
498
492
  const _ = VE.getOrCompute(n, () => new RegExp(`(?:^|[\\s${fe}])(?:${n.source})(?=[\\s${fe}]|$)`, "g")), i = k(_, (r) => {
499
493
  const s = r[0][1], O = r[1] || r[2] || r[3] || r[4] || r[5] || r[6];
500
- return [" ", { type: oe[bE[s]], children: [O] }];
494
+ return [" ", { type: Oe[bE[s]], children: [O] }];
501
495
  });
502
496
  return (r) => {
503
497
  const [s, ...O] = i(" " + r);
504
498
  return s.length > 1 && O.unshift(s.substring(1)), O;
505
499
  };
506
- }(E) : () => [e];
507
- return $(a(e), (n, _) => _ === "bold" || _ === "italic" || _ === "strikethrough" ? et(n, t | oe[_]) : [n]);
500
+ }(a) : () => [e];
501
+ return $(E(e), (n, _) => _ === "bold" || _ === "italic" || _ === "strikethrough" ? et(n, t | Oe[_]) : [n]);
508
502
  }
509
503
  const VE = function() {
510
504
  const e = function() {
511
505
  try {
512
506
  return /* @__PURE__ */ new WeakMap();
513
507
  } catch (t) {
514
- const E = { has: () => !1, get: () => {
515
- }, set: () => E };
516
- return E;
508
+ const a = { has: () => !1, get: () => {
509
+ }, set: () => a };
510
+ return a;
517
511
  }
518
512
  }();
519
- return { getOrCompute(t, E) {
513
+ return { getOrCompute(t, a) {
520
514
  if (e.has(t)) return e.get(t);
521
- const a = E();
522
- return e.set(t, a), a;
515
+ const E = a();
516
+ return e.set(t, E), E;
523
517
  } };
524
518
  }();
525
519
  function tt(e, t = e) {
526
520
  return { type: "autolink", url: e, text: t };
527
521
  }
528
- const XE = k(/<!!mention:([^>\s]*?)\|(.*?)>/gm, ([e, t, E]) => /* @__PURE__ */ function(a, n) {
529
- return { type: "mention", id: a, text: n };
530
- }(decodeURIComponent(t), E)), GE = k(/<!!customemoji:(.*?)>/gm, ([e, t]) => /* @__PURE__ */ function(E) {
531
- return { type: "customemoji", text: E };
532
- }(t)), Et = k(/<((?:https?|mailto):.*?)\|(.*?)>/gi, ([e, t, E]) => /* @__PURE__ */ function(a, n = []) {
533
- return { type: "link", url: a, children: n };
534
- }(t, [E])), yE = k(/<actionlink:([^|]+)[|]([^>]*)>/gi, ([e, t, E]) => {
535
- const { action: a, params: n } = at(t);
522
+ const XE = k(/<!!mention:([^>\s]*?)\|(.*?)>/gm, ([e, t, a]) => /* @__PURE__ */ function(E, n) {
523
+ return { type: "mention", id: E, text: n };
524
+ }(decodeURIComponent(t), a)), GE = k(/<!!customemoji:(.*?)>/gm, ([e, t]) => /* @__PURE__ */ function(a) {
525
+ return { type: "customemoji", text: a };
526
+ }(t)), Et = k(/<((?:https?|mailto):.*?)\|(.*?)>/gi, ([e, t, a]) => /* @__PURE__ */ function(E, n = []) {
527
+ return { type: "link", url: E, children: n };
528
+ }(t, [a])), yE = k(/<actionlink:([^|]+)[|]([^>]*)>/gi, ([e, t, a]) => {
529
+ const { action: E, params: n } = at(t);
536
530
  return /* @__PURE__ */ function(_, i, r = []) {
537
531
  return { type: "actionlink", action: _, params: i, children: r };
538
- }(a, n, [E]);
539
- }), jE = k(/<actionbutton:([^|]+)[|]([^>]*)>/gi, ([e, t, E]) => {
540
- const { action: a, params: n } = at(t);
532
+ }(E, n, [a]);
533
+ }), jE = k(/<actionbutton:([^|]+)[|]([^>]*)>/gi, ([e, t, a]) => {
534
+ const { action: E, params: n } = at(t);
541
535
  return /* @__PURE__ */ function(_, i, r = []) {
542
536
  return { type: "actionbutton", action: _, params: i, children: r };
543
- }(a, n, [E]);
537
+ }(E, n, [a]);
544
538
  });
545
539
  function at(e) {
546
540
  const t = e.indexOf("?");
@@ -551,153 +545,158 @@ const KE = k(/(?:^|\n)(?:\s*[-*+]\s+[^\n]+(?:\n|$))+/g, ([e]) => /* @__PURE__ */
551
545
  }([e.startsWith(`
552
546
  `) ? e.slice(1) : e])), zE = k(/^\s*[-*+]\s+([^\n]+)(?:\n|$)/gm, ([e, t]) => ({ type: "bulletpoint", children: [t] })), wE = (e) => {
553
547
  const t = /(?:^|[^-:/\w])([(+]?[0-9](?:[-_+ ().]?[0-9]){5,11}[0-9])(?:[^-:/\w]|$)/g;
554
- let E = 0;
555
- const a = [];
548
+ let a = 0;
549
+ const E = [];
556
550
  for (const n of le(e, t)) {
557
551
  const _ = n[0], i = n[1], r = _.startsWith(i) ? n.index : n.index + 1;
558
- r - E > 0 && a.push(e.substring(E, r));
552
+ r - a > 0 && E.push(e.substring(a, r));
559
553
  const s = tt("tel:" + i.replace(/[^0-9+]/g, ""), i);
560
- a.push(s), E = r + i.length;
554
+ E.push(s), a = r + i.length;
561
555
  }
562
- return E < e.length && a.push(e.substring(E)), a;
563
- }, WE = (e) => Et(e).flatMap((t) => typeof t == "string" ? Ae(t) : ["<", ...Ae(t.url), ...Ae("|" + t.children[0] + ">")]), Ae = (e) => {
564
- const t = pt.parse(e, { urls: !0, email: !0, phone: !1, hashtag: !1, mention: !1 }), E = [];
565
- let a = 0;
556
+ return a < e.length && E.push(e.substring(a)), E;
557
+ }, WE = (e) => Et(e).flatMap((t) => typeof t == "string" ? ie(t) : ["<", ...ie(t.url), ...ie("|" + t.children[0] + ">")]), ie = (e) => {
558
+ const t = gt.parse(e, { urls: !0, email: !0, phone: !1, hashtag: !1, mention: !1 }), a = [];
559
+ let E = 0;
566
560
  for (const n of t) {
567
561
  const _ = n.getOffset(), i = n.getMatchedText(), r = i.length;
568
562
  let s = i;
569
- n instanceof Pt ? s = "mailto:" + n.getEmail() : n instanceof Mt && (s = n.getUrl()), _ > a && E.push(e.substring(a, _)), E.push(tt(s, i)), a = _ + r;
563
+ n instanceof Pt ? s = "mailto:" + n.getEmail() : n instanceof Mt && (s = n.getUrl()), _ > E && a.push(e.substring(E, _)), a.push(tt(s, i)), E = _ + r;
570
564
  }
571
- return a < e.length && E.push(e.substring(a)), E;
565
+ return E < e.length && a.push(e.substring(E)), a;
572
566
  }, $E = ["Codeblock", "Codespan", "FormattedLink", "Wikitext", "Autolink", "Actions", "Mention", "Mention", "BulletPoint", "CustomEmoji"];
573
567
  function xE(e = { except: [] }) {
574
- var a;
575
- const t = { multilineSteps: [], singlelineSteps: [] }, E = (a = e.except) != null ? a : $E.filter((n) => !e.only.includes(n));
576
- return E.includes("BulletPoint") || t.multilineSteps.push(KE, zE), E.includes("Mention") || t.singlelineSteps.push(XE), E.includes("CustomEmoji") || t.singlelineSteps.push(GE), E.includes("Codespan") || t.multilineSteps.push(k(/```([^]+?)```/g, ([n, _]) => ({ type: "codespan", text: Qe(_) }))), E.includes("FormattedLink") || t.singlelineSteps.push(Et), E.includes("Actions") || (t.singlelineSteps.push(yE), t.singlelineSteps.push(jE)), E.includes("Wikitext") || t.singlelineSteps.push(FE), E.includes("Autolink") || t.singlelineSteps.push(WE, wE), t;
568
+ var E;
569
+ const t = { multilineSteps: [], singlelineSteps: [] }, a = (E = e.except) != null ? E : $E.filter((n) => !e.only.includes(n));
570
+ return a.includes("BulletPoint") || t.multilineSteps.push(KE, zE), a.includes("Mention") || t.singlelineSteps.push(XE), a.includes("CustomEmoji") || t.singlelineSteps.push(GE), a.includes("Codespan") || t.multilineSteps.push(k(/```([^]+?)```/g, ([n, _]) => ({ type: "codespan", text: Qe(_) }))), a.includes("FormattedLink") || t.singlelineSteps.push(Et), a.includes("Actions") || (t.singlelineSteps.push(yE), t.singlelineSteps.push(jE)), a.includes("Wikitext") || t.singlelineSteps.push(FE), a.includes("Autolink") || t.singlelineSteps.push(WE, wE), t;
577
571
  }
578
572
  const qE = function(e) {
579
573
  const t = RegExp(`[^${e}]+${e}?|${e}`, "g");
580
- return (E) => Array.from(E.match(t) || []);
574
+ return (a) => Array.from(a.match(t) || []);
581
575
  }(`
582
576
  `);
583
577
  function JE(e, t = { except: [] }) {
584
- let E = function(a, n) {
585
- let _ = [a];
586
- return _ = re(_, n.multilineSteps), _ = re(_, [qE]), _ = re(_, n.singlelineSteps), _ = nt(_), _;
578
+ let a = function(E, n) {
579
+ let _ = [E];
580
+ return _ = Ae(_, n.multilineSteps), _ = Ae(_, [qE]), _ = Ae(_, n.singlelineSteps), _ = nt(_), _;
587
581
  }(e, xE(t));
588
- return E = _t(E, !1), E;
582
+ return a = _t(a, !1), a;
589
583
  }
590
- function re(e, t) {
591
- return t.reduce((E, a) => $(E, a), e);
584
+ function Ae(e, t) {
585
+ return t.reduce((a, E) => $(a, E), e);
592
586
  }
593
587
  function nt(e) {
594
588
  const t = [];
595
- let E = -1;
596
- for (const a of e) typeof a == "string" ? typeof t[E] == "string" ? t[E] += a : t[++E] = a : t[++E] = "children" in a ? { ...a, children: nt(a.children) } : a;
589
+ let a = -1;
590
+ for (const E of e) typeof E == "string" ? typeof t[a] == "string" ? t[a] += E : t[++a] = E : t[++a] = "children" in E ? { ...E, children: nt(E.children) } : E;
597
591
  return t;
598
592
  }
599
593
  function _t(e, t) {
600
- const E = [];
601
- let a = [];
594
+ const a = [];
595
+ let E = [];
602
596
  for (let n = 0; n < e.length; n++) {
603
597
  const _ = e[n];
604
- typeof _ == "string" ? a.push(_) : "children" in _ ? (a.length > 0 && (E.push(a.join("")), a = []), _.children = _t(_.children, t || _.type === "link" || _.type === "actionbutton" || _.type === "actionlink"), E.push(_)) : _.type === "autolink" && t ? a.push(_.text) : (a.length > 0 && (E.push(a.join("")), a = []), E.push(_));
598
+ if (typeof _ == "string") E.push(_);
599
+ else if ("children" in _) {
600
+ E.length > 0 && (a.push(E.join("")), E = []);
601
+ const i = _t(_.children, t || _.type === "link" || _.type === "actionbutton" || _.type === "actionlink");
602
+ a.push({ ..._, children: i });
603
+ } else _.type === "autolink" && t ? E.push(_.text) : (E.length > 0 && (a.push(E.join("")), E = []), a.push(_));
605
604
  }
606
- return a.length > 0 && (E.push(a.join("")), a = []), E;
605
+ return E.length > 0 && (a.push(E.join("")), E = []), a;
607
606
  }
608
607
  function ZE() {
609
608
  let e, t = 0;
610
- return (E) => {
611
- const a = (_ = Date.now()) => {
609
+ return (a) => {
610
+ const E = (_ = Date.now()) => {
612
611
  window.clearTimeout(e), e = void 0, t = _;
613
612
  const i = function(r) {
614
613
  r = r.removeMark(0, r.doc.content.size, M.marks.bold), r = r.removeMark(0, r.doc.content.size, M.marks.italic), r = r.removeMark(0, r.doc.content.size, M.marks.strikethrough), r.doc.firstChild;
615
614
  const s = function(O) {
616
- const T = [];
617
- let S, I = "";
618
- return O.descendants((o, N) => (o.isText ? (I += o.text, S != null || (S = N)) : I && S !== void 0 && (T.push({ text: I, pos: S }), I = "", S = void 0), o.type !== M.nodes.mention)), I && S !== void 0 && T.push({ text: I, pos: S }), T;
615
+ const o = [];
616
+ let T, L = "";
617
+ return O.descendants((I, S) => (I.isText ? (L += I.text, T != null || (T = S)) : L && T !== void 0 && (o.push({ text: L, pos: T }), L = "", T = void 0), I.type !== M.nodes.mention)), L && T !== void 0 && o.push({ text: L, pos: T }), o;
619
618
  }(r.doc);
620
- for (const { text: O, pos: T } of s) {
621
- const S = JE(O, { only: ["Wikitext"] });
622
- [r] = it(r, T, S);
619
+ for (const { text: O, pos: o } of s) {
620
+ const T = JE(O, { only: ["Wikitext"] });
621
+ [r] = it(r, o, T);
623
622
  }
624
623
  return r;
625
- }(E.state.tr);
626
- E.dispatch(i);
624
+ }(a.state.tr);
625
+ a.dispatch(i);
627
626
  }, n = Date.now();
628
- n - t < 300 ? e || (e = window.setTimeout(a, 300)) : a(n);
627
+ n - t < 300 ? e || (e = window.setTimeout(E, 300)) : E(n);
629
628
  };
630
629
  }
631
- function it(e, t, E, a = 0, n = []) {
632
- for (const _ of E) if (typeof _ == "string") {
633
- for (const i of n) e.addMark(t + a, t + a + _.length, i.create());
634
- a += _.length;
630
+ function it(e, t, a, E = 0, n = []) {
631
+ for (const _ of a) if (typeof _ == "string") {
632
+ for (const i of n) e.addMark(t + E, t + E + _.length, i.create());
633
+ E += _.length;
635
634
  } else if (_.type === "bold" || _.type === "italic" || _.type === "strikethrough") {
636
- a += 1;
635
+ E += 1;
637
636
  const i = M.marks[_.type], r = [...n, i];
638
- [e, a] = it(e, t, _.children, a, r), a += 1;
637
+ [e, E] = it(e, t, _.children, E, r), E += 1;
639
638
  } else U.unreachable();
640
- return [e, a];
639
+ return [e, E];
641
640
  }
642
641
  function be(e) {
643
- return (t, E) => {
644
- if (!E) return !0;
645
- let a = t.tr;
642
+ return (t, a) => {
643
+ if (!a) return !0;
644
+ let E = t.tr;
646
645
  const n = he.between(t.selection.$from, t.selection.$to);
647
- return a = a.replaceRangeWith(n.from, n.from, M.text(e, a.storedMarks)), a = a.replaceRangeWith(n.to + 1, n.to + 1, M.text(e, a.storedMarks)), a = a.setSelection(he.near(a.doc.resolve(n.to + 1))), E(a), !0;
646
+ return E = E.replaceRangeWith(n.from, n.from, M.text(e, E.storedMarks)), E = E.replaceRangeWith(n.to + 1, n.to + 1, M.text(e, E.storedMarks)), E = E.setSelection(he.near(E.doc.resolve(n.to + 1))), a(E), !0;
648
647
  };
649
648
  }
650
- function QE(e, t, E) {
651
- const a = t.clipboardData;
652
- if (!a) return !1;
649
+ function QE(e, t, a) {
650
+ const E = t.clipboardData;
651
+ if (!E) return !1;
653
652
  const n = function(_) {
654
- const i = _.items || [], r = { "image/gif": "gif", "image/png": "png", "image/jpeg": "jpg", "image/svg+xml": "svg" }, s = Array.from(i).filter((S) => S.kind === "file" && r[S.type]);
653
+ const i = _.items || [], r = { "image/gif": "gif", "image/png": "png", "image/jpeg": "jpg", "image/svg+xml": "svg" }, s = Array.from(i).filter((T) => T.kind === "file" && r[T.type]);
655
654
  if (s.length === 0 || _.types.includes("text/rtf")) return;
656
655
  const O = s[0];
657
- let T = O.getAsFile();
658
- if (!T.name) {
659
- const S = "image." + r[O.type];
660
- T = new File([T], S, { type: O.type, lastModified: Date.now() });
656
+ let o = O.getAsFile();
657
+ if (!o.name) {
658
+ const T = "image." + r[O.type];
659
+ o = new File([o], T, { type: O.type, lastModified: Date.now() });
661
660
  }
662
- return T;
663
- }(a);
664
- return n ? E(n) : function(_, i) {
661
+ return o;
662
+ }(E);
663
+ return n ? a(n) : function(_, i) {
665
664
  const r = _.state.tr.insertText(i).scrollIntoView().setMeta("paste", !0).setMeta("uiEvent", "paste");
666
665
  _.dispatch(r);
667
- }(e, a.getData("text/plain")), !0;
666
+ }(e, E.getData("text/plain")), !0;
668
667
  }
669
- function qa({ placeholder: e, disabled: t, className: E = "", characterLimit: a, spellcheck: n }) {
668
+ function qa({ placeholder: e, disabled: t, className: a = "", characterLimit: E, spellcheck: n }) {
670
669
  const _ = Le(), i = H(), r = H(null);
671
- return m(() => (i.current = function(s, O, T, S, I) {
672
- const o = Ct.create({ schema: M, plugins: [...I.filter(ea), mt(), ge({ ...Z, "Mod-z": ht, "Mod-y": gt, "Mod-b": be("*"), "Mod-i": be("_"), "Mod-Enter": Z.Enter, "Shift-Enter": Z.Enter, Enter: T }), ge({ Enter: Z.Enter }), Ye] }), N = ZE(), R = new Dt(s, { handlePaste: (D, d, c) => QE(D, d, S), clipboardTextSerializer(D) {
670
+ return h(() => (i.current = function(s, O, o, T, L) {
671
+ const I = Ct.create({ schema: M, plugins: [...L.filter(ea), mt(), pe({ ...Z, "Mod-z": ht, "Mod-y": pt, "Mod-b": be("*"), "Mod-i": be("_"), "Mod-Enter": Z.Enter, "Shift-Enter": Z.Enter, Enter: o }), pe({ Enter: Z.Enter }), Ye] }), S = ZE(), N = new Dt(s, { handlePaste: (c, d, D) => QE(c, d, T), clipboardTextSerializer(c) {
673
672
  const d = [];
674
- return D.content.forEach((c) => {
675
- c && d.push(Qe(c.textContent));
673
+ return c.content.forEach((D) => {
674
+ D && d.push(Qe(D.textContent));
676
675
  }), d.join();
677
- }, state: o, dispatchTransaction(D) {
678
- D = (D = D.removeStoredMark(M.marks.literal)).removeStoredMark(M.marks.emoji);
679
- const d = R.state.apply(D);
680
- R.state.doc.eq(d.doc) || O(new Te(d.doc)), R.updateState(d), D.steps.some((c) => c instanceof Ht) && setTimeout(() => N(R), 0);
676
+ }, state: I, dispatchTransaction(c) {
677
+ c = (c = c.removeStoredMark(M.marks.literal)).removeStoredMark(M.marks.emoji);
678
+ const d = N.state.apply(c);
679
+ N.state.doc.eq(d.doc) || O(new oe(d.doc)), N.updateState(d), c.steps.some((D) => D instanceof Ht) && setTimeout(() => S(N), 0);
681
680
  } });
682
- return R;
681
+ return N;
683
682
  }(r.current, (s) => _.onChange(s), () => !!_.onEnter && (_.onEnter(), !0), (s) => _.onPasteImage(s), [_.emojiSuggesterPlugin(), _.mentionsPlugin()]), _.setEditorView(i.current), () => {
684
683
  var s;
685
684
  _.setEditorView(void 0), (s = i.current) == null || s.destroy();
686
- }), [_]), m(() => {
685
+ }), [_]), h(() => {
687
686
  var s;
688
687
  (s = i.current) == null || s.setProps({ editable: () => !t });
689
- }, [t]), m(() => Pe(() => {
690
- var s, O, T;
691
- return (T = i.current) == null ? void 0 : T.setProps({ attributes: { spellcheck: String((O = (s = _.spellcheck$.get()) != null ? s : n) != null ? O : !1), class: "t-text-input", "aria-label": "Message Field", role: "textbox" } });
692
- }), [_, n]), m(() => Pe(() => {
688
+ }, [t]), h(() => Pe(() => {
689
+ var s, O, o;
690
+ return (o = i.current) == null ? void 0 : o.setProps({ attributes: { spellcheck: String((O = (s = _.spellcheck$.get()) != null ? s : n) != null ? O : !1), class: "t-text-input", "aria-label": "Message Field", role: "textbox" } });
691
+ }), [_, n]), h(() => Pe(() => {
693
692
  var O;
694
693
  const s = i.current;
695
694
  s == null || s.dispatch(s.state.tr.setMeta(Ye, (O = _.placeholder$.get()) != null ? O : e));
696
- }), [_, e]), m(() => {
697
- a && Number.isInteger(a) && _.setMaxLength(a);
698
- }, [a, _]), L("div", { className: `t-editor ${E}`, ref: r });
695
+ }), [_, e]), h(() => {
696
+ E && Number.isInteger(E) && _.setMaxLength(E);
697
+ }, [E, _]), R("div", { className: `t-editor ${a}`, ref: r });
699
698
  }
700
- const ae = class ae {
699
+ const Ee = class Ee {
701
700
  constructor(t) {
702
701
  this.doc = t, this.size = this.doc.content.size, this.hasContent = Ze(this.doc);
703
702
  }
@@ -705,44 +704,44 @@ const ae = class ae {
705
704
  return this.doc.textContent.replace(/\xa0/g, " ");
706
705
  }
707
706
  };
708
- ae.EMPTY = new ae(M.topNodeType.create());
709
- let Te = ae;
707
+ Ee.EMPTY = new Ee(M.topNodeType.create());
708
+ let oe = Ee;
710
709
  function ea(e) {
711
710
  return e != null;
712
711
  }
713
712
  const At = /^\/.*[^\\]\/[im]*$/;
714
713
  function Fe(e) {
715
- return At.test(e) ? !Ee(e).test("") : !1;
714
+ return At.test(e) ? !te(e).test("") : !1;
716
715
  }
717
- function Ee(e) {
716
+ function te(e) {
718
717
  const t = e.match(/^\/(.*[^\\])\/(.*)$/);
719
718
  if (!t) throw new Error(`Expected ${e} to be a (non-empty) regex`);
720
- let E = t[2] || "";
721
- return E = E.replace(/[^im]/g, "") + "g", new RegExp(t[1], E);
719
+ let a = t[2] || "";
720
+ return a = a.replace(/[^im]/g, "") + "g", new RegExp(t[1], a);
722
721
  }
723
722
  function ta(e, t) {
724
- const E = function(n) {
723
+ const a = function(n) {
725
724
  {
726
725
  const _ = document.createElement("a");
727
726
  return _.href = n, _.hostname;
728
727
  }
729
- }(t), a = function(n) {
728
+ }(t), E = function(n) {
730
729
  const _ = n.replace(/\./g, "\\.").replace(/\*/g, ".*");
731
730
  return new RegExp("^" + _ + "$", "i");
732
731
  }(e);
733
- return E !== void 0 && a.test(E);
732
+ return a !== void 0 && E.test(a);
734
733
  }
735
734
  const Ea = /^[]/g;
736
735
  function aa(e) {
737
736
  return e.replace(/([.?*+^$[\]\\(){}|-])/g, "\\$1");
738
737
  }
739
- function Se(e, t) {
738
+ function Te(e, t) {
740
739
  !e() && !t && (t = e.toString().replace(/^function\s*\(\)\s*\{\s*return\s*(.*);\s*\}\s*$/, "`$1`") + " was not true");
741
740
  }
742
741
  ((e) => {
743
- function t(a) {
742
+ function t(E) {
744
743
  }
745
- function E(a, n) {
744
+ function a(E, n) {
746
745
  (function(_, i) {
747
746
  switch (i) {
748
747
  case "undefined":
@@ -756,36 +755,36 @@ function Se(e, t) {
756
755
  default:
757
756
  return _ instanceof i;
758
757
  }
759
- })(a, n) || (n.name, String(a));
758
+ })(E, n) || (n.name, String(E));
760
759
  }
761
- e.defined = t, e.has = function(a, n) {
762
- a[n];
763
- }, e.is = E, e.equals = function(a, n) {
764
- }, e.oneOf = function(a, n) {
765
- n.includes(a) || JSON.stringify(n);
766
- }, e.isArray = function(a, n) {
767
- E(a, Array), a && a.length > 0 && E(a[0], n);
768
- }, e.optional = function(a, n) {
769
- a !== void 0 && E(a, n);
770
- }, e.falsy = function(a) {
771
- }, e.never = function(a) {
760
+ e.defined = t, e.has = function(E, n) {
761
+ E[n];
762
+ }, e.is = a, e.equals = function(E, n) {
763
+ }, e.oneOf = function(E, n) {
764
+ n.includes(E) || JSON.stringify(n);
765
+ }, e.isArray = function(E, n) {
766
+ a(E, Array), E && E.length > 0 && a(E[0], n);
767
+ }, e.optional = function(E, n) {
768
+ E !== void 0 && a(E, n);
769
+ }, e.falsy = function(E) {
770
+ }, e.never = function(E) {
772
771
  };
773
- })(Se || (Se = {}));
774
- const y = Se, na = /\uFE0F/g, _a = "‍";
772
+ })(Te || (Te = {}));
773
+ const y = Te, na = /\uFE0F/g, _a = "‍";
775
774
  function ia(e) {
776
775
  if (e === ":arslan:") return "https://cdn.talkjs.com/__assets/5461191341cea882b3f227c085d5772c.gif";
777
- const t = function(a) {
776
+ const t = function(E) {
778
777
  const n = [];
779
778
  let _ = 0, i = 0, r = 0;
780
- for (; r < a.length; ) _ = a.charCodeAt(r++), i ? (n.push((65536 + (i - 55296 << 10) + (_ - 56320)).toString(16)), i = 0) : 55296 <= _ && _ <= 56319 ? i = _ : n.push(_.toString(16));
779
+ for (; r < E.length; ) _ = E.charCodeAt(r++), i ? (n.push((65536 + (i - 55296 << 10) + (_ - 56320)).toString(16)), i = 0) : 55296 <= _ && _ <= 56319 ? i = _ : n.push(_.toString(16));
781
780
  return n.join("-");
782
- }((E = e).indexOf(_a) < 0 ? E.replace(na, "") : E);
783
- var E;
781
+ }((a = e).indexOf(_a) < 0 ? a.replace(na, "") : a);
782
+ var a;
784
783
  return `https://cdn.jsdelivr.net/gh/twitter/twemoji@14.0.2/assets/svg/${t}.svg`;
785
784
  }
786
785
  class Aa {
787
- constructor({ mode: t, allowedHostnames: E, allowedPhoneNrs: a, allowedMatches: n, forbiddenMatches: _, suppressLinks: i, suppressEmailAddresses: r, suppressPhoneNumbers: s, replacement: O }) {
788
- y.oneOf(t, ["all", "otherOnly", "off"]), this.mode = t, this.suppressLinks = i !== !1, this.suppressEmailAddresses = r !== !1, this.suppressPhoneNumbers = s !== !1, this.allowedHostnames = E || [], this.allowedPhoneNrs = (a || []).filter((T) => T).map((T) => T.replace(/[^0-9]/g, "")), this.allowedMatches = (n || []).filter(Fe).map((T) => Ee(T)), this.forbiddenMatches = (_ || []).filter(Fe).map((T) => Ee(T)), y(() => this.allowedMatches.every((T) => T.flags.includes("g")), "All regexes in `suppressContactInfo.allowedMatches` must be global. Check `allowedMatches`!"), y(() => this.forbiddenMatches.every((T) => T.flags.includes("g")), "All regexes in `suppressContactInfo.forbiddenMatches` must be global. Check `forbiddenMatches`!"), O = O == null ? void 0 : O.trim(), this.replacement = O && O.length > 0 ? O : void 0;
786
+ constructor({ mode: t, allowedHostnames: a, allowedPhoneNrs: E, allowedMatches: n, forbiddenMatches: _, suppressLinks: i, suppressEmailAddresses: r, suppressPhoneNumbers: s, replacement: O }) {
787
+ y.oneOf(t, ["all", "otherOnly", "off"]), this.mode = t, this.suppressLinks = i !== !1, this.suppressEmailAddresses = r !== !1, this.suppressPhoneNumbers = s !== !1, this.allowedHostnames = a || [], this.allowedPhoneNrs = (E || []).filter((o) => o).map((o) => o.replace(/[^0-9]/g, "")), this.allowedMatches = (n || []).filter(Fe).map((o) => te(o)), this.forbiddenMatches = (_ || []).filter(Fe).map((o) => te(o)), y(() => this.allowedMatches.every((o) => o.flags.includes("g")), "All regexes in `suppressContactInfo.allowedMatches` must be global. Check `allowedMatches`!"), y(() => this.forbiddenMatches.every((o) => o.flags.includes("g")), "All regexes in `suppressContactInfo.forbiddenMatches` must be global. Check `forbiddenMatches`!"), O = O == null ? void 0 : O.trim(), this.replacement = O && O.length > 0 ? O : void 0;
789
788
  }
790
789
  shouldSuppress({ isContentBySender: t }) {
791
790
  return this.mode === "all" || this.mode === "otherOnly" && !t;
@@ -796,137 +795,137 @@ class ra extends Je {
796
795
  super(...arguments), this.conversationListSubscription = null, this.extCurrentConversationId$ = C(null), this.conversationsArray$ = C([]), this.conversationsMap$ = C({});
797
796
  }
798
797
  listenForConversations(t) {
799
- const E = t.subscribeConversations((a) => {
800
- te(() => {
801
- this.conversationsArray$.set(a);
798
+ const a = t.subscribeConversations((E) => {
799
+ Ne(() => {
800
+ this.conversationsArray$.set(E);
802
801
  const n = {};
803
- for (const _ of a) n[_.id] = _;
802
+ for (const _ of E) n[_.id] = _;
804
803
  this.conversationsMap$.set(n);
805
804
  });
806
805
  });
807
- return this.conversationListSubscription = E, () => {
808
- E.unsubscribe(), this.conversationListSubscription = null;
806
+ return this.conversationListSubscription = a, () => {
807
+ a.unsubscribe(), this.conversationListSubscription = null;
809
808
  };
810
809
  }
811
810
  }
812
811
  function sa({ id: e, text: t }) {
813
812
  var _;
814
- const E = V(), a = Y(() => {
813
+ const a = V(), E = Y(() => {
815
814
  var s;
816
- if (E instanceof ra) return;
817
- const i = E.state$.extCurrentConversationId.get(), r = i && E.state$.participants.child(i).get();
815
+ if (a instanceof ra) return;
816
+ const i = a.state$.extCurrentConversationId.get(), r = i && a.state$.participants.child(i).get();
818
817
  return (s = r == null ? void 0 : r.find((O) => O.user.id === e)) == null ? void 0 : s.user;
819
- }), n = Y(E.extUserId$);
820
- return L("span", { className: "t-mention", "t-is-current-user": n === e ? "" : void 0, children: `@${(_ = a == null ? void 0 : a.name) != null ? _ : t}` });
818
+ }), n = Y(a.extUserId$);
819
+ return R("span", { className: "t-mention", "t-is-current-user": n === e ? "" : void 0, children: `@${(_ = E == null ? void 0 : E.name) != null ? _ : t}` });
821
820
  }
822
821
  function Oa(e, t = {}) {
823
- return K(e, function(E) {
824
- var n, _, i, r, s, O, T, S, I, o, N, R, D;
825
- let a = "";
826
- return E.t && (a = `(${E.t("CONTACT_INFORMATION_HIDDEN")})`), { formattedLinks: (n = E.formattedLinks) != null ? n : "plaintext", markup: (_ = E.markup) != null ? _ : !1, useFallbackMentions: (i = E.useFallbackMentions) != null ? i : !1, sameTabLinkRules: (r = E.sameTabLinkRules) != null ? r : [], enableEmojiImageFallback: (s = E.enableEmojiImageFallback) != null ? s : !1, highlight: (O = E.highlight) != null ? O : [], contactInfo: (T = E.contactInfo) != null ? T : !1, suppression: (S = E.suppression) != null ? S : new Aa({ mode: "off" }), contactInfoHiddenText: (N = (o = E.contactInfoHiddenText) != null ? o : (I = E.suppression) == null ? void 0 : I.replacement) != null ? N : a, customEmojiUrls: (R = E.customEmojiUrls) != null ? R : {}, enableActions: (D = E.enableActions) != null ? D : !0 };
822
+ return K(e, function(a) {
823
+ var n, _, i, r, s, O, o, T, L, I, S, N, c;
824
+ let E = "";
825
+ return a.t && (E = `(${a.t("CONTACT_INFORMATION_HIDDEN")})`), { formattedLinks: (n = a.formattedLinks) != null ? n : "plaintext", markup: (_ = a.markup) != null ? _ : !1, useFallbackMentions: (i = a.useFallbackMentions) != null ? i : !1, sameTabLinkRules: (r = a.sameTabLinkRules) != null ? r : [], enableEmojiImageFallback: (s = a.enableEmojiImageFallback) != null ? s : !1, highlight: (O = a.highlight) != null ? O : [], contactInfo: (o = a.contactInfo) != null ? o : !1, suppression: (T = a.suppression) != null ? T : new Aa({ mode: "off" }), contactInfoHiddenText: (S = (I = a.contactInfoHiddenText) != null ? I : (L = a.suppression) == null ? void 0 : L.replacement) != null ? S : E, customEmojiUrls: (N = a.customEmojiUrls) != null ? N : {}, enableActions: (c = a.enableActions) != null ? c : !0 };
827
826
  }(t));
828
827
  }
829
828
  function K(e, t) {
830
- const E = e.flatMap((a) => {
831
- if (typeof a == "string") return se(a, t.highlight);
832
- switch (a.type) {
829
+ const a = e.flatMap((E) => {
830
+ if (typeof E == "string") return re(E, t.highlight);
831
+ switch (E.type) {
833
832
  case "bold":
834
833
  case "italic":
835
834
  case "strikethrough":
836
835
  case "blockquote":
837
836
  case "bulletpoint":
838
837
  case "bulletPoint":
839
- return oa(a, t);
838
+ return oa(E, t);
840
839
  case "bulletlist":
841
840
  case "bulletList":
842
- return [j("ul", null, ...K(a.children, t))];
841
+ return [j("ul", null, ...K(E.children, t))];
843
842
  case "autolink":
844
843
  case "autoLink":
845
844
  case "link":
846
- return Sa(a, t);
845
+ return Sa(E, t);
847
846
  case "codeblock":
848
847
  case "codeBlock":
849
- return [L("code", { "data-language": a.language, children: se(a.text, t.highlight) })];
848
+ return [R("code", { "data-language": E.language, children: re(E.text, t.highlight) })];
850
849
  case "codespan":
851
850
  case "codeSpan":
852
- return L("code", { children: se((n = a.text, n.replace(/^\s*\n/m, "").replace(/\n\s*$/m, "")), t.highlight) });
851
+ return R("code", { children: re((n = E.text, n.replace(/^\s*\n/m, "").replace(/\n\s*$/m, "")), t.highlight) });
853
852
  case "mention":
854
- return y.falsy(t.useFallbackMentions), L(sa, { id: a.id, text: a.text }, a.id);
853
+ return y.falsy(t.useFallbackMentions), R(sa, { id: E.id, text: E.text }, E.id);
855
854
  case "suppressed":
856
- return [L("i", { children: t.contactInfoHiddenText })];
855
+ return [R("i", { children: t.contactInfoHiddenText })];
857
856
  case "emoji":
858
- return t.enableEmojiImageFallback ? [L(Ta, { unicode: a.text })] : [a.text];
857
+ return t.enableEmojiImageFallback ? [R(Ta, { unicode: E.text })] : [E.text];
859
858
  case "actionlink":
860
859
  case "actionLink":
861
860
  case "actionbutton":
862
861
  case "actionButton":
863
- return Ia(a, t);
862
+ return Ia(E, t);
864
863
  case "customemoji":
865
864
  case "customEmoji":
866
- return a.text;
865
+ return E.text;
867
866
  default:
868
- y.never(a);
867
+ y.never(E);
869
868
  }
870
869
  var n;
871
870
  });
872
- return E.every((a) => typeof a == "string") ? [E.join("")] : E;
871
+ return a.every((E) => typeof E == "string") ? [a.join("")] : a;
873
872
  }
874
- function se(e, t) {
875
- return t.length === 0 ? [e] : function(E, a, n) {
873
+ function re(e, t) {
874
+ return t.length === 0 ? [e] : function(a, E, n) {
876
875
  let _ = 0;
877
876
  const i = [];
878
- for (const r of a) r.offset < _ || (r.offset > _ && i.push(E.substring(_, r.offset)), i.push(...n(r)), _ = r.offset + r.matchedText.length);
879
- return _ < E.length && i.push(E.substring(_)), i;
880
- }(e, le(e, function(E) {
881
- const a = E.map((_) => _.trim()).filter((_) => _);
882
- if (a.length === 0) return Ea;
883
- const n = a.map(aa).join("|");
877
+ for (const r of E) r.offset < _ || (r.offset > _ && i.push(a.substring(_, r.offset)), i.push(...n(r)), _ = r.offset + r.matchedText.length);
878
+ return _ < a.length && i.push(a.substring(_)), i;
879
+ }(e, le(e, function(a) {
880
+ const E = a.map((_) => _.trim()).filter((_) => _);
881
+ if (E.length === 0) return Ea;
882
+ const n = E.map(aa).join("|");
884
883
  return new RegExp(n, "gi");
885
- }(t)).map((E) => ({ offset: E.index, matchedText: E[0] })), ({ matchedText: E }) => [L("span", { className: "highlighted-text", children: E })]);
884
+ }(t)).map((a) => ({ offset: a.index, matchedText: a[0] })), ({ matchedText: a }) => [R("span", { className: "highlighted-text", children: a })]);
886
885
  }
887
886
  const oa = (e, t) => {
888
- const E = { bold: "strong", italic: "em", strikethrough: "del", blockquote: "blockquote", bulletpoint: "li", bulletPoint: "li" }[e.type];
889
- return [j(E, null, ...K(e.children, t))];
887
+ const a = { bold: "strong", italic: "em", strikethrough: "del", blockquote: "blockquote", bulletpoint: "li", bulletPoint: "li" }[e.type];
888
+ return [j(a, null, ...K(e.children, t))];
890
889
  };
891
890
  function Ta({ unicode: e }) {
892
- const [t, E] = h(() => e !== ":arslan:");
893
- if (m(() => {
894
- t && !xe(e) && E(!1);
895
- }, []), t) return L("span", { className: "t-emoji", children: e });
896
- const a = ia(e);
897
- return L("img", { className: "t-emoji", src: a, alt: e });
891
+ const [t, a] = g(() => e !== ":arslan:");
892
+ if (h(() => {
893
+ t && !xe(e) && a(!1);
894
+ }, []), t) return R("span", { className: "t-emoji", children: e });
895
+ const E = ia(e);
896
+ return R("img", { className: "t-emoji", src: E, alt: e });
898
897
  }
899
898
  const Sa = (e, t) => {
900
- const E = "children" in e ? e.children : [e.text];
899
+ const a = "children" in e ? e.children : [e.text];
901
900
  switch (t.formattedLinks) {
902
901
  case "link": {
903
- const a = function(n, _) {
902
+ const E = function(n, _) {
904
903
  for (const i of n) if (At.test(i)) {
905
- if (Ee(i).test(_)) return "_top";
904
+ if (te(i).test(_)) return "_top";
906
905
  } else if (ta(i, _)) return "_top";
907
906
  return "_blank";
908
907
  }(t.sameTabLinkRules, e.url);
909
- return [j("a", { target: a, href: e.url, rel: "noreferrer" }, ...K(E, t))];
908
+ return [j("a", { target: E, href: e.url, rel: "noreferrer" }, ...K(a, t))];
910
909
  }
911
910
  case "plaintext":
912
911
  case !1:
913
- return "children" in e && e.children.every((a) => typeof a == "string") ? [e.children.join("")] : [j(It, null, ...K(E, t))];
912
+ return "children" in e && e.children.every((E) => typeof E == "string") ? [e.children.join("")] : [j(It, null, ...K(a, t))];
914
913
  default:
915
914
  y.never(t.formattedLinks);
916
915
  }
917
916
  }, Ia = (e, t) => t.enableActions ? [j("button", { "data-type": e.type, "data-action": e.action, "data-params": JSON.stringify(e.params), disabled: !0 }, ...K(e.children, t))] : [null];
918
- function Ja({ block: e, nonInteractive: t, className: E = "" }) {
919
- const a = !t, n = Oa(e.children, { enableEmojiImageFallback: !0, formattedLinks: a ? "link" : "plaintext", enableActions: a });
920
- return j("span", { className: `t-text ${E}` }, ...n);
917
+ function Ja({ block: e, nonInteractive: t, className: a = "" }) {
918
+ const E = !t, n = Oa(e.children, { enableEmojiImageFallback: !0, formattedLinks: E ? "link" : "plaintext", enableActions: E });
919
+ return j("span", { className: `t-text ${a}` }, ...n);
921
920
  }
922
921
  function Za(e) {
923
- const t = q(), E = V(), { className: a = "", ...n } = e, _ = Y(() => E.state$.messages.child(E.state$.extCurrentConversationId.get()).lookup.child(e.message.id).content.child(0).url.get());
924
- return L("div", { className: `t-message-content ${a}`, children: e.message.content.map((i) => {
922
+ const t = q(), a = V(), { className: E = "", ...n } = e, _ = Y(() => a.state$.messages.child(a.state$.extCurrentConversationId.get()).lookup.child(e.message.id).content.child(0).url.get());
923
+ return R("div", { className: `t-message-content ${E}`, children: e.message.content.map((i) => {
925
924
  var r;
926
- return L(Na, { block: i, theme: t, downloadUrl: _, ...n }, e.message.createdAt + ((r = e.message.editedAt) != null ? r : 0));
925
+ return R(Na, { block: i, theme: t, downloadUrl: _, ...n }, e.message.createdAt + ((r = e.message.editedAt) != null ? r : 0));
927
926
  }) });
928
927
  }
929
- function Na({ common: e, block: t, message: E, theme: a, downloadUrl: n }) {
928
+ function Na({ common: e, block: t, message: a, theme: E, downloadUrl: n }) {
930
929
  const _ = function(i, r) {
931
930
  switch (r.type) {
932
931
  case "text":
@@ -949,35 +948,35 @@ function Na({ common: e, block: t, message: E, theme: a, downloadUrl: n }) {
949
948
  default:
950
949
  U.never(r);
951
950
  }
952
- }(a, t);
953
- return L(_, { block: t, common: e, message: E, downloadUrl: n });
951
+ }(E, t);
952
+ return R(_, { block: t, common: e, message: a, downloadUrl: n });
954
953
  }
955
- function De(e, t, E = !0) {
956
- const a = v((_) => {
954
+ function De(e, t, a = !0) {
955
+ const E = v((_) => {
957
956
  _.keyCode === 27 && e();
958
957
  }, [e]), n = v((_) => {
959
958
  _.target instanceof HTMLElement && _.target.closest(t) === null && e();
960
959
  }, [t, e]);
961
- m(() => {
962
- if (E) return window.addEventListener("keydown", a, !0), document.addEventListener("mousedown", n, !0), () => {
963
- window.removeEventListener("keydown", a, !0), document.removeEventListener("mousedown", n, !0);
960
+ h(() => {
961
+ if (a) return window.addEventListener("keydown", E, !0), document.addEventListener("mousedown", n, !0), () => {
962
+ window.removeEventListener("keydown", E, !0), document.removeEventListener("mousedown", n, !0);
964
963
  };
965
- }, [a, n, E]);
964
+ }, [E, n, a]);
966
965
  }
967
966
  function rt(e) {
968
- const [t, E] = h();
969
- return m(() => {
970
- let a = !0;
967
+ const [t, a] = g();
968
+ return h(() => {
969
+ let E = !0;
971
970
  return e().then((n) => {
972
- a && E({ value: n });
971
+ E && a({ value: n });
973
972
  }), () => {
974
- a = !1;
973
+ E = !1;
975
974
  };
976
975
  }, [e]), t;
977
976
  }
978
977
  function Ra() {
979
978
  const e = V(), t = Y(e.t$);
980
- return L(Oe, { type: "spinner", "aria-label": t.LOADING, className: "t-loading-icon" });
979
+ return R(se, { type: "spinner", "aria-label": t.LOADING, className: "t-loading-icon" });
981
980
  }
982
981
  const La = "https://cdn.jsdelivr.net/npm/emoji-picker-element@1.26.3/+esm", st = /* @__PURE__ */ function(e) {
983
982
  let t;
@@ -986,7 +985,7 @@ const La = "https://cdn.jsdelivr.net/npm/emoji-picker-element@1.26.3/+esm", st =
986
985
  if (typeof window == "undefined" || window.document === void 0) return new Promise(() => {
987
986
  });
988
987
  try {
989
- const e = await import(La);
988
+ const e = await import(/*webpackIgnore: true*/ /* @vite-ignore */La);
990
989
  return await new e.Database().ready(), e;
991
990
  } catch (e) {
992
991
  return jt.error("Failed to load emoji picker:", e), new Promise(() => {
@@ -994,19 +993,19 @@ const La = "https://cdn.jsdelivr.net/npm/emoji-picker-element@1.26.3/+esm", st =
994
993
  }
995
994
  });
996
995
  function la(e) {
997
- const { onClose: t, onEmojiSelected: E } = Ut(), a = H(null), n = rt(st);
998
- return m(() => {
996
+ const { onClose: t, onEmojiSelected: a } = Ut(), E = H(null), n = rt(st);
997
+ return h(() => {
999
998
  if (!n) return;
1000
- U.defined(a.current);
1001
- const _ = a.current, i = _.shadowRoot;
1002
- (function(O, T) {
1003
- const S = document.createElement("style");
1004
- S.textContent = T, O.appendChild(S);
999
+ U.defined(E.current);
1000
+ const _ = E.current, i = _.shadowRoot;
1001
+ (function(O, o) {
1002
+ const T = document.createElement("style");
1003
+ T.textContent = o, O.appendChild(T);
1005
1004
  })(i, ".search-row{margin-right:var(--emoji-padding)}.emoji-menu{grid-template-columns:repeat(auto-fill,var(--total-emoji-size));padding:var(--emoji-padding)}.emoji,button.emoji{border-radius:8px}.favorites{border-top-width:1px}input.search:focus{border-color:var(--input-focused-border-color);outline:0}.picker{container-type:size}@container (height < 300px){.favorites{display:none}}#skintone-button{margin:0 -3px 0 4px}.custom-emoji{padding:0}#emo-🏻,#emo-🏼,#emo-🏽,#emo-🏾,#emo-🏿{display:none}[data-has-mouse] .emoji:hover{background-color:var(--button-hover-background)}");
1006
1005
  const r = (O) => {
1007
- var S;
1008
- const T = (S = O.detail.unicode) != null ? S : O.detail.name;
1009
- E(T);
1006
+ var T;
1007
+ const o = (T = O.detail.unicode) != null ? T : O.detail.name;
1008
+ a(o);
1010
1009
  };
1011
1010
  function s(O) {
1012
1011
  O.pointerType === "mouse" && (i.querySelector("section").dataset.hasMouse = "true");
@@ -1014,23 +1013,23 @@ function la(e) {
1014
1013
  return _.addEventListener("emoji-click", r), _.addEventListener("pointermove", s, { once: !0 }), () => {
1015
1014
  _.removeEventListener("emoji-click", r), _.removeEventListener("pointermove", s);
1016
1015
  };
1017
- }, [n, E]), m(() => {
1016
+ }, [n, a]), h(() => {
1018
1017
  var _;
1019
- n && a.current && ((_ = a.current.shadowRoot.getElementById("search")) == null || _.focus());
1020
- }, [n]), De(() => t(), ".t-emoji-picker"), L("div", n ? { className: "t-emoji-picker", children: L("emoji-picker", { ref: a, class: e.colorScheme }) } : { className: "t-emoji-picker", "t-loading": "", children: L(Ra, {}) });
1018
+ n && E.current && ((_ = E.current.shadowRoot.getElementById("search")) == null || _.focus());
1019
+ }, [n]), De(() => t(), ".t-emoji-picker"), R("div", n ? { className: "t-emoji-picker", children: R("emoji-picker", { ref: E, class: e.colorScheme }) } : { className: "t-emoji-picker", "t-loading": "", children: R(Ra, {}) });
1021
1020
  }
1022
1021
  function Qa(e) {
1023
- const { messageId: t, colorScheme: E, ...a } = e, { closePopover: n } = kt(), _ = Re();
1024
- return L("div", { ...a, children: L(Bt.Provider, { value: { onClose: n, onEmojiSelected: (i) => {
1022
+ const { messageId: t, colorScheme: a, ...E } = e, { closePopover: n } = kt(), _ = Re();
1023
+ return R("div", { ...E, children: R(Bt.Provider, { value: { onClose: n, onEmojiSelected: (i) => {
1025
1024
  _.addReaction(t, i), n();
1026
- } }, children: L(la, { colorScheme: E }) }) });
1025
+ } }, children: R(la, { colorScheme: a }) }) });
1027
1026
  }
1028
1027
  const Da = { ltr: ["ArrowLeft", "ArrowRight"], rtl: ["ArrowRight", "ArrowLeft"], ttb: ["ArrowUp", "ArrowDown"] };
1029
- function Ot(e, { focused: t, setFocused: E, itemCount: a, dir: n, onConfirm: _, onSpace: i }) {
1030
- if (a === 0) return !1;
1031
- const r = (T) => {
1032
- var S, I, o;
1033
- S = 0, I = T, o = a - 1, T = Math.max(S, Math.min(I, o)), E(T);
1028
+ function Ot(e, { focused: t, setFocused: a, itemCount: E, dir: n, onConfirm: _, onSpace: i }) {
1029
+ if (E === 0) return !1;
1030
+ const r = (o) => {
1031
+ var T, L, I;
1032
+ T = 0, L = o, I = E - 1, o = Math.max(T, Math.min(L, I)), a(o);
1034
1033
  }, [s, O] = Da[n];
1035
1034
  switch (e) {
1036
1035
  case s:
@@ -1045,149 +1044,149 @@ function Ot(e, { focused: t, setFocused: E, itemCount: a, dir: n, onConfirm: _,
1045
1044
  }
1046
1045
  return !1;
1047
1046
  }
1048
- function ot({ focused: e, setFocused: t, buttonId: E }) {
1049
- Ne(() => {
1047
+ function ot({ focused: e, setFocused: t, buttonId: a }) {
1048
+ Ie(() => {
1050
1049
  var _;
1051
- const n = E(e);
1050
+ const n = a(e);
1052
1051
  n && ((_ = document.getElementById(n)) == null || _.scrollIntoView({ block: "nearest" }));
1053
- }, [e, E]);
1054
- const a = v((n) => {
1052
+ }, [e, a]);
1053
+ const E = v((n) => {
1055
1054
  const _ = n.currentTarget.dataset.index;
1056
1055
  t(+_);
1057
1056
  }, [t]);
1058
- return { containerProps: F(() => ({ role: "menu", "aria-activedescendant": E(e) }), [e, E]), itemProps: v((n) => ({ onMouseMove: a, id: E(n), "data-index": n }), [a, E]) };
1057
+ return { containerProps: F(() => ({ role: "menu", "aria-activedescendant": a(e) }), [e, a]), itemProps: v((n) => ({ onMouseMove: E, id: a(n), "data-index": n }), [E, a]) };
1059
1058
  }
1060
1059
  function en(e) {
1061
- const [t, E] = h([]), [a, n] = h([]), [_, i] = h(0), [r, s] = h(0), O = rt(st), T = F(() => O && new O.value.Database({}), [O]), S = Le(), I = Y(S.state$.suggestEmojiQuery);
1062
- m(() => {
1063
- T && (I ? async function() {
1064
- const c = await T.getPreferredSkinTone();
1065
- s(c);
1066
- let u = await T.getEmojiBySearchQuery(I);
1067
- if (u = u.filter((P) => P.url || function(g) {
1068
- return g.version <= qe && !ca.includes(g.unicode);
1069
- }(P)), function(P, g) {
1070
- g.sort((l, X) => {
1060
+ const [t, a] = g([]), [E, n] = g([]), [_, i] = g(0), [r, s] = g(0), O = rt(st), o = F(() => O && new O.value.Database({}), [O]), T = Le(), L = Y(T.state$.suggestEmojiQuery);
1061
+ h(() => {
1062
+ o && (L ? async function() {
1063
+ const D = await o.getPreferredSkinTone();
1064
+ s(D);
1065
+ let l = await o.getEmojiBySearchQuery(L);
1066
+ if (l = l.filter((p) => p.url || function(m) {
1067
+ return m.version <= qe && !ca.includes(m.unicode);
1068
+ }(p)), function(p, m) {
1069
+ m.sort((u, X) => {
1071
1070
  var z, w;
1072
- const f = (z = l.shortcodes) == null ? void 0 : z.find((G) => G.startsWith(P)), b = (w = X.shortcodes) == null ? void 0 : w.find((G) => G.startsWith(P));
1071
+ const f = (z = u.shortcodes) == null ? void 0 : z.find((G) => G.startsWith(p)), b = (w = X.shortcodes) == null ? void 0 : w.find((G) => G.startsWith(p));
1073
1072
  return f && !b ? -1 : !f && b ? 1 : f && b ? f.length - b.length : 0;
1074
1073
  });
1075
- }(I.substring(1), u), i(0), E(u), u.length > 0 && n(u), I.endsWith(":")) {
1076
- const P = I.slice(1, -1), g = u.find((l) => {
1074
+ }(L.substring(1), l), i(0), a(l), l.length > 0 && n(l), L.endsWith(":")) {
1075
+ const p = L.slice(1, -1), m = l.find((u) => {
1077
1076
  var X;
1078
- return (X = l.shortcodes) == null ? void 0 : X.includes(P);
1077
+ return (X = u.shortcodes) == null ? void 0 : X.includes(p);
1079
1078
  });
1080
- g && S.selectEmoji(W(g, c));
1079
+ m && T.selectEmoji(W(m, D));
1081
1080
  }
1082
- }() : E([]));
1083
- }, [I, S, T]);
1084
- const o = v((c) => {
1085
- const u = t[c];
1086
- return u && "emoji-button-" + W(u, r);
1087
- }, [t, r]), { containerProps: N, itemProps: R } = ot({ focused: _, setFocused: i, buttonId: o }), D = t.length > 0;
1088
- De(() => S.closeSuggester(), ".t-emoji-suggest-bar", D), m(() => {
1089
- if (D) return S.listenKeydown("emoji", (c) => Ot(c, { dir: "ltr", focused: _, setFocused: i, itemCount: t.length, onConfirm() {
1090
- const u = t[_];
1091
- U.defined(u), S.selectEmoji(W(u, r));
1081
+ }() : a([]));
1082
+ }, [L, T, o]);
1083
+ const I = v((D) => {
1084
+ const l = t[D];
1085
+ return l && "emoji-button-" + W(l, r);
1086
+ }, [t, r]), { containerProps: S, itemProps: N } = ot({ focused: _, setFocused: i, buttonId: I }), c = t.length > 0;
1087
+ De(() => T.closeSuggester(), ".t-emoji-suggest-bar", c), h(() => {
1088
+ if (c) return T.listenKeydown("emoji", (D) => Ot(D, { dir: "ltr", focused: _, setFocused: i, itemCount: t.length, onConfirm() {
1089
+ const l = t[_];
1090
+ U.defined(l), T.selectEmoji(W(l, r));
1092
1091
  } })), () => {
1093
- S.listenKeydown("emoji", void 0);
1092
+ T.listenKeydown("emoji", void 0);
1094
1093
  };
1095
- S.listenKeydown("emoji", void 0);
1096
- }, [S, t, _, D, r]);
1094
+ T.listenKeydown("emoji", void 0);
1095
+ }, [T, t, _, c, r]);
1097
1096
  const d = H(null);
1098
- return L(ft, { in: D, timeout: 100, classNames: "slide", mountOnEnter: !0, unmountOnExit: !0, nodeRef: d, children: L("div", { className: "t-emoji-suggest-bar", ref: d, ...N, children: a.map((c, u) => L(ua, { emoji: c, skinTone: r, focused: u === _, onSelect: (P) => S.selectEmoji(P), ...R(u) }, W(c, r))) }) });
1097
+ return R(ft, { in: c, timeout: 100, classNames: "slide", mountOnEnter: !0, unmountOnExit: !0, nodeRef: d, children: R("div", { className: "t-emoji-suggest-bar", ref: d, ...S, children: E.map((D, l) => R(ua, { emoji: D, skinTone: r, focused: l === _, onSelect: (p) => T.selectEmoji(p), ...N(l) }, W(D, r))) }) });
1099
1098
  }
1100
1099
  function W(e, t) {
1101
- return Ie(e) ? Tt(e, t) : e.name;
1100
+ return Se(e) ? Tt(e, t) : e.name;
1102
1101
  }
1103
- function Ie(e) {
1102
+ function Se(e) {
1104
1103
  return !!e.unicode;
1105
1104
  }
1106
1105
  function ua(e) {
1107
1106
  var O;
1108
- const { emoji: t, focused: E, skinTone: a, onSelect: n, ..._ } = e, i = ((O = t.shortcodes) != null ? O : []).join(", "), r = Ie(t) ? [t.unicode, i].join(", ") : i, s = Ie(t) ? Tt(t, a) : null;
1109
- return L("button", { "t-focused": E ? "" : void 0, title: i, "aria-label": r, onClick: () => n(W(t, a)), ..._, children: s });
1107
+ const { emoji: t, focused: a, skinTone: E, onSelect: n, ..._ } = e, i = ((O = t.shortcodes) != null ? O : []).join(", "), r = Se(t) ? [t.unicode, i].join(", ") : i, s = Se(t) ? Tt(t, E) : null;
1108
+ return R("button", { "t-focused": a ? "" : void 0, title: i, "aria-label": r, onClick: () => n(W(t, E)), ..._, children: s });
1110
1109
  }
1111
1110
  function Tt(e, t) {
1112
- var a, n;
1113
- const E = (a = e.skins) == null ? void 0 : a.find((_) => _.tone === t);
1114
- return (n = E == null ? void 0 : E.unicode) != null ? n : e.unicode;
1111
+ var E, n;
1112
+ const a = (E = e.skins) == null ? void 0 : E.find((_) => _.tone === t);
1113
+ return (n = a == null ? void 0 : a.unicode) != null ? n : e.unicode;
1115
1114
  }
1116
1115
  const ca = ["🏻", "🏼", "🏽", "🏾", "🏿"];
1117
1116
  function da(e) {
1118
- const { anchorSelector: t, children: E, ...a } = e, n = F(() => document.querySelector(t), [t]), { refs: _, floatingStyles: i } = bt({ placement: "top-start" });
1119
- return Ne(() => {
1117
+ const { anchorSelector: t, children: a, ...E } = e, n = F(() => document.querySelector(t), [t]), { refs: _, floatingStyles: i } = bt({ placement: "top-start" });
1118
+ return Ie(() => {
1120
1119
  n && _.setReference(n);
1121
- }, [_, n]), L("div", { ref: _.setFloating, style: { ...i, zIndex: 1e3 }, ...a, children: E });
1120
+ }, [_, n]), R("div", { ref: _.setFloating, style: { ...i, zIndex: 1e3 }, ...E, children: a });
1122
1121
  }
1123
1122
  function tn(e) {
1124
- const t = V(), E = Y(() => t.mentionableUsers$.get()), [a, n] = h(0), _ = Le(), i = Y(_.state$.suggestMentionQuery), r = F(() => Object.fromEntries(E.map((o) => {
1125
- return [o.id, (N = o.name, [...N.matchAll(/^|\s+/g)].map((R) => R.index + R[0].length).map((R) => N.substring(R)))];
1126
- var N;
1127
- })), [E]), s = F(() => {
1123
+ const t = V(), a = Y(() => t.mentionableUsers$.get()), [E, n] = g(0), _ = Le(), i = Y(_.state$.suggestMentionQuery), r = F(() => Object.fromEntries(a.map((I) => {
1124
+ return [I.id, (S = I.name, [...S.matchAll(/^|\s+/g)].map((N) => N.index + N[0].length).map((N) => S.substring(N)))];
1125
+ var S;
1126
+ })), [a]), s = F(() => {
1128
1127
  if (!i) return [];
1129
- const o = Ve(i);
1130
- return o === "" ? E : E.filter((N) => r[N.id].some((R) => function(D, d) {
1131
- return Me(D.substring(0, d.length), d);
1132
- }(R, o)));
1133
- }, [i, E, r]), O = H(void 0);
1134
- m(() => {
1128
+ const I = Ve(i);
1129
+ return I === "" ? a : a.filter((S) => r[S.id].some((N) => function(c, d) {
1130
+ return Me(c.substring(0, d.length), d);
1131
+ }(N, I)));
1132
+ }, [i, a, r]), O = H(void 0);
1133
+ h(() => {
1135
1134
  if (O.current) {
1136
- const o = s.findIndex((N) => N.id === O.current);
1137
- n(o === -1 ? 0 : o);
1135
+ const I = s.findIndex((S) => S.id === O.current);
1136
+ n(I === -1 ? 0 : I);
1138
1137
  }
1139
- }, [s]), m(() => {
1140
- var o;
1141
- O.current = (o = s[a]) == null ? void 0 : o.id;
1142
- }, [a, s]);
1143
- const T = v((o) => {
1144
- var R;
1145
- const N = (R = s[o]) == null ? void 0 : R.id;
1146
- return N && "mention-button-" + N;
1147
- }, [s]), { containerProps: S, itemProps: I } = ot({ focused: a, setFocused: n, buttonId: T });
1148
- return m(() => {
1149
- if (s.length !== 0) return _.listenKeydown("mention", (o) => Ot(o, { dir: "ttb", focused: a, setFocused: n, itemCount: s.length, onSpace() {
1138
+ }, [s]), h(() => {
1139
+ var I;
1140
+ O.current = (I = s[E]) == null ? void 0 : I.id;
1141
+ }, [E, s]);
1142
+ const o = v((I) => {
1143
+ var N;
1144
+ const S = (N = s[I]) == null ? void 0 : N.id;
1145
+ return S && "mention-button-" + S;
1146
+ }, [s]), { containerProps: T, itemProps: L } = ot({ focused: E, setFocused: n, buttonId: o });
1147
+ return h(() => {
1148
+ if (s.length !== 0) return _.listenKeydown("mention", (I) => Ot(I, { dir: "ttb", focused: E, setFocused: n, itemCount: s.length, onSpace() {
1150
1149
  if (i) {
1151
- const N = s[a];
1152
- if (Me(N.name, Ve(i))) return _.selectMention(N), !0;
1150
+ const S = s[E];
1151
+ if (Me(S.name, Ve(i))) return _.selectMention(S), !0;
1153
1152
  }
1154
1153
  return !1;
1155
1154
  }, onConfirm() {
1156
- const N = s[a];
1157
- _.selectMention(N);
1155
+ const S = s[E];
1156
+ _.selectMention(S);
1158
1157
  } })), () => {
1159
1158
  _.listenKeydown("mention", void 0);
1160
1159
  };
1161
- }, [_, a, s, i]), De(() => _.closeSuggester(), ".t-mention-suggest-list", s.length > 0), s.length === 0 ? null : L(da, { className: "t-mention-suggest-list", ...S, anchorSelector: ".ProseMirror-suggestion", children: s.map((o, N) => L(Ca, { user: o, isFocused: N === a, onSelect: () => _.selectMention(o), ...I(N) }, o.id)) });
1160
+ }, [_, E, s, i]), De(() => _.closeSuggester(), ".t-mention-suggest-list", s.length > 0), s.length === 0 ? null : R(da, { className: "t-mention-suggest-list", ...T, anchorSelector: ".ProseMirror-suggestion", children: s.map((I, S) => R(Ca, { user: I, isFocused: S === E, onSelect: () => _.selectMention(I), ...L(S) }, I.id)) });
1162
1161
  }
1163
1162
  const Ca = Q.memo(function(e) {
1164
- const { user: t, isFocused: E, onSelect: a, ...n } = e;
1165
- return L("button", { className: E ? "focused" : "", onClick: () => a(t.id), ...n, children: t.name });
1163
+ const { user: t, isFocused: a, onSelect: E, ...n } = e;
1164
+ return R("button", { className: a ? "focused" : "", onClick: () => E(t.id), ...n, children: t.name });
1166
1165
  });
1167
1166
  function Ve(e) {
1168
1167
  return U(e[0] === "@"), e.substring(1);
1169
1168
  }
1170
1169
  function ma(e) {
1171
- const { popoverComponent: t, popoverProps: E, children: a, type: n = "popover", ..._ } = e, [i, r] = h(void 0), [s, O] = h(!1);
1172
- let T, S, I;
1173
- return n === "menu" ? (T = ee.Root, S = ee.Trigger, I = ee.Content) : (T = _e.Root, S = _e.Trigger, I = _e.Content), L(vt.Provider, { value: { closePopover: () => O(!1) }, children: x(T, { modal: !0, open: s, onOpenChange: O, children: [L(S, { asChild: !0, children: L("button", { ..._, ref: (o) => ((N) => {
1174
- var D;
1175
- const R = (D = N == null ? void 0 : N.closest("[t-menu-boundary]")) != null ? D : void 0;
1176
- r(R);
1177
- })(o), children: a }) }), L(I, { hideWhenDetached: !0, collisionBoundary: i, style: { zIndex: 1e3 }, onWheel: (o) => o.stopPropagation(), onTouchMove: (o) => o.stopPropagation(), children: L(t, { ...E }) })] }) });
1170
+ const { popoverComponent: t, popoverProps: a, children: E, type: n = "popover", ..._ } = e, [i, r] = g(void 0), [s, O] = g(!1);
1171
+ let o, T, L;
1172
+ return n === "menu" ? (o = ee.Root, T = ee.Trigger, L = ee.Content) : (o = ne.Root, T = ne.Trigger, L = ne.Content), R(vt.Provider, { value: { closePopover: () => O(!1) }, children: x(o, { modal: !1, open: s, onOpenChange: O, children: [R(T, { asChild: !0, children: R("button", { ..._, ref: (I) => ((S) => {
1173
+ var c;
1174
+ const N = (c = S == null ? void 0 : S.closest("[t-menu-boundary]")) != null ? c : void 0;
1175
+ r(N);
1176
+ })(I), children: E }) }), R(L, { hideWhenDetached: !0, collisionBoundary: i, style: { zIndex: 1e3 }, onWheel: (I) => I.stopPropagation(), onTouchMove: (I) => I.stopPropagation(), children: R(t, { ...a }) })] }) });
1178
1177
  }
1179
1178
  function ha(e) {
1180
- return L(ee.Item, { ...e });
1179
+ return R(ee.Item, { ...e });
1181
1180
  }
1182
1181
  function En(e) {
1183
1182
  return Ke(e);
1184
1183
  }
1185
1184
  function an(e) {
1186
1185
  var t;
1187
- return (t = e.photoUrl) != null ? t : function(E, a) {
1186
+ return (t = e.photoUrl) != null ? t : function(a, E) {
1188
1187
  const n = `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100">
1189
- <rect x="0" y="0" width="100" height="100" fill="${Ke(E)}"/>
1190
- <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>
1188
+ <rect x="0" y="0" width="100" height="100" fill="${Ke(a)}"/>
1189
+ <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">${E}</text>
1191
1190
  </svg>`.replace(/\s+/g, " ");
1192
1191
  return "data:image/svg+xml;base64," + Nt.encode(n);
1193
1192
  }(e.id, Gt(e.name));
@@ -1196,16 +1195,16 @@ function nn(e) {
1196
1195
  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";
1197
1196
  }
1198
1197
  function _n({ latitude: e, longitude: t }) {
1199
- const E = e + "," + t;
1200
- return { imageUrl: `https://maps.googleapis.com/maps/api/staticmap?center=${E}&zoom=15&size=300x200&scale=2&maptype=roadmap&markers=${E}&key=${Vt}`, linkUrl: `https://maps.google.com/maps?q=${E}&z=15` };
1198
+ const a = e + "," + t;
1199
+ return { imageUrl: `https://maps.googleapis.com/maps/api/staticmap?center=${a}&zoom=15&size=300x200&scale=2&maptype=roadmap&markers=${a}&key=${Vt}`, linkUrl: `https://maps.google.com/maps?q=${a}&z=15` };
1201
1200
  }
1202
1201
  function An(e, t) {
1203
- const [E, a] = h({ long: "", short: "" });
1204
- return Ne(() => {
1202
+ const [a, E] = g({ long: "", short: "" });
1203
+ return Ie(() => {
1205
1204
  let n, _ = !0;
1206
1205
  const i = () => {
1207
1206
  const s = Date.now(), O = Ha(s, e > s ? s - 2e3 : e, t);
1208
- return a(O), O;
1207
+ return E(O), O;
1209
1208
  }, r = () => {
1210
1209
  const s = i();
1211
1210
  _ && s.changeTimeout && (n = window.setTimeout(r, s.changeTimeout));
@@ -1213,66 +1212,66 @@ function An(e, t) {
1213
1212
  return i(), n = window.setTimeout(r, 100), () => {
1214
1213
  _ = !1, clearTimeout(n);
1215
1214
  };
1216
- }, [t, e]), E;
1215
+ }, [t, e]), a;
1217
1216
  }
1218
1217
  function rn(e) {
1219
- const t = new URL(e.url), E = decodeURIComponent(t.pathname).split("/");
1220
- return E[E.length - 1];
1218
+ const t = new URL(e.url), a = decodeURIComponent(t.pathname).split("/");
1219
+ return a[a.length - 1];
1221
1220
  }
1222
- function ga(e) {
1221
+ function pa(e) {
1223
1222
  e = Math.floor(e);
1224
1223
  const t = Math.floor(e / 3600);
1225
1224
  e %= 3600;
1226
- const E = Math.floor(e / 60);
1225
+ const a = Math.floor(e / 60);
1227
1226
  e %= 60;
1228
- const a = (_) => _.toString().padStart(2, "0");
1229
- let n = `${a(E)}:${a(e)}`;
1230
- return t > 0 && (n = `${a(t)}:${n}`), n;
1227
+ const E = (_) => _.toString().padStart(2, "0");
1228
+ let n = `${E(a)}:${E(e)}`;
1229
+ return t > 0 && (n = `${E(t)}:${n}`), n;
1231
1230
  }
1232
- const pa = 864e5;
1231
+ const ga = 864e5;
1233
1232
  function Pa(e, t) {
1234
- return Math.floor((t - e) / pa);
1233
+ return Math.floor((t - e) / ga);
1235
1234
  }
1236
1235
  function sn(e, t) {
1237
- const E = Date.now(), a = Pa(e, E);
1238
- if (a < 0 || a === 0) return t.TODAY;
1239
- if (a === 1) return t.YESTERDAY;
1236
+ const a = Date.now(), E = Pa(e, a);
1237
+ if (E < 0 || E === 0) return t.TODAY;
1238
+ if (E === 1) return t.YESTERDAY;
1240
1239
  const n = { weekday: "long" }, _ = new Date(e);
1241
- if (a < 7) return _.toLocaleDateString(t.locale, n);
1242
- const i = new Date(E);
1240
+ if (E < 7) return _.toLocaleDateString(t.locale, n);
1241
+ const i = new Date(a);
1243
1242
  var r, s;
1244
1243
  return r = i.setFullYear(i.getFullYear() - 1), s = e, Math.floor((s - r) / 31536e6) === 0 ? _.toLocaleDateString(t.locale, { ...n, month: "long", day: "numeric" }) : _.toLocaleDateString(t.locale, { ...n, year: "numeric", month: "long", day: "numeric" });
1245
1244
  }
1246
1245
  const Xe = 6e4, Ge = 36e5, ye = 864e5, Ma = 6048e5;
1247
- function Ha(e, t, E) {
1248
- const a = e - t;
1246
+ function Ha(e, t, a) {
1247
+ const E = e - t;
1249
1248
  let n, _, i;
1250
1249
  const r = new Date(t), s = { month: "short", day: "numeric" };
1251
- if (a < Xe) return { changeTimeout: 5e3, short: E.JUST_NOW, long: E.JUST_NOW };
1252
- if (a < Ge) n = Xe, _ = "MINUTES", i = E.MINUTES;
1253
- else if (a < ye) n = Ge, _ = "HOURS", i = E.HOURS;
1250
+ if (E < Xe) return { changeTimeout: 5e3, short: a.JUST_NOW, long: a.JUST_NOW };
1251
+ if (E < Ge) n = Xe, _ = "MINUTES", i = a.MINUTES;
1252
+ else if (E < ye) n = Ge, _ = "HOURS", i = a.HOURS;
1254
1253
  else {
1255
- if (!(a < Ma)) {
1254
+ if (!(E < Ma)) {
1256
1255
  if (r.getFullYear() === new Date(e).getFullYear()) {
1257
- const T = r.toLocaleDateString(E.locale, s);
1258
- return { changeTimeout: void 0, short: T, long: T };
1256
+ const o = r.toLocaleDateString(a.locale, s);
1257
+ return { changeTimeout: void 0, short: o, long: o };
1259
1258
  }
1260
1259
  {
1261
- const T = r.toLocaleDateString(E.locale, { ...s, year: "numeric" });
1262
- return { changeTimeout: void 0, short: T, long: T };
1260
+ const o = r.toLocaleDateString(a.locale, { ...s, year: "numeric" });
1261
+ return { changeTimeout: void 0, short: o, long: o };
1263
1262
  }
1264
1263
  }
1265
- n = ye, _ = "DAYS", i = E.DAYS;
1264
+ n = ye, _ = "DAYS", i = a.DAYS;
1266
1265
  }
1267
- const O = Math.floor(a / n);
1268
- return { changeTimeout: n, short: O + i, long: Ua(O, _.toLowerCase(), E.locale) };
1266
+ const O = Math.floor(E / n);
1267
+ return { changeTimeout: n, short: O + i, long: Ua(O, _.toLowerCase(), a.locale) };
1269
1268
  }
1270
- function Ua(e, t, E) {
1271
- return new Intl.RelativeTimeFormat(E).format(-e, t);
1269
+ function Ua(e, t, a) {
1270
+ return new Intl.RelativeTimeFormat(a).format(-e, t);
1272
1271
  }
1273
1272
  function On(e, ...t) {
1274
- const E = St.bind(Q.createElement)(e, ...t);
1275
- return Array.isArray(E) ? Q.createElement(Q.Fragment, {}, ...E) : E;
1273
+ const a = St.bind(Q.createElement)(e, ...t);
1274
+ return Array.isArray(a) ? Q.createElement(Q.Fragment, {}, ...a) : a;
1276
1275
  }
1277
1276
  export {
1278
1277
  xa as AudioPlayer,
@@ -1286,7 +1285,7 @@ export {
1286
1285
  Qa as ReactionPicker,
1287
1286
  Ja as Text,
1288
1287
  Pa as daysBetween,
1289
- ga as formatDuration,
1288
+ pa as formatDuration,
1290
1289
  nn as formatFilesize,
1291
1290
  rn as getFilename,
1292
1291
  _n as getGoogleMapsUrls,