From 5fb6727d781d6a2097ce4e071b0f30bb4fd2be35 Mon Sep 17 00:00:00 2001 From: iphydf Date: Sat, 31 Oct 2026 21:00:15 +0000 Subject: [PATCH] cleanup: A few more translations. Not amazing, but partially using translators, partially using my language knowledge. Should overall be ok. The translation in the other direction roughly meets us where the English came from. --- lib/l10n/app_bg.arb | 910 +++++++++++++++++++++++++++++++- lib/l10n/app_ca.arb | 1040 ++++++++++++++++++++++++++++++++++++ lib/l10n/app_de.arb | 918 +++++++++++++++++++++++++++++++- lib/l10n/app_es.arb | 916 +++++++++++++++++++++++++++++++- lib/l10n/app_fr.arb | 918 +++++++++++++++++++++++++++++++- lib/l10n/app_hu.arb | 912 +++++++++++++++++++++++++++++++- lib/l10n/app_lv.arb | 912 +++++++++++++++++++++++++++++++- lib/l10n/app_pt.arb | 926 ++++++++++++++++++++++++++++++++- lib/l10n/app_pt_BR.arb | 920 +++++++++++++++++++++++++++++++- lib/l10n/app_ru.arb | 1069 ++++++++++++++++++++++++++++++++++++++ lib/l10n/app_ta.arb | 918 +++++++++++++++++++++++++++++++- lib/l10n/app_uk.arb | 1069 ++++++++++++++++++++++++++++++++++++++ lib/l10n/app_vec.arb | 932 ++++++++++++++++++++++++++++++++- lib/l10n/app_zh.arb | 1068 ++++++++++++++++++++++++++++++++++++- lib/l10n/app_zh_Hans.arb | 1069 +++++++++++++++++++++++++++++++++++++- 15 files changed, 14434 insertions(+), 63 deletions(-) create mode 100644 lib/l10n/app_ru.arb create mode 100644 lib/l10n/app_uk.arb diff --git a/lib/l10n/app_bg.arb b/lib/l10n/app_bg.arb index 6a010338..fae8e108 100644 --- a/lib/l10n/app_bg.arb +++ b/lib/l10n/app_bg.arb @@ -1,5 +1,5 @@ { - "profileDeleted": "Профилът „{name}“ е премахнат", + "profileDeleted": "Профилът \"{name}\" е премахнат", "@profileDeleted": { "description": "The text when a profile has been deleted", "placeholders": { @@ -139,7 +139,7 @@ } } }, - "deleteProfileMessage": "Желаете ли профила „{name}“ да бъде премахнат? Действието е необратимо. То ще премахне всички контакти и съобщения. Уверете се, че имате резервно копие.", + "deleteProfileMessage": "Желаете ли профила \"{name}\" да бъде премахнат? Действието е необратимо. То ще премахне всички контакти и съобщения. Уверете се, че имате резервно копие.", "@deleteProfileMessage": { "description": "The message to confirm the deletion of a profile", "placeholders": { @@ -158,5 +158,911 @@ "example": "Hello" } } + }, + "copyToxId": "Копиране на Tox ID", + "@copyToxId": { + "description": "The tooltip for copying your own Tox ID" + }, + "toxIdCopied": "Tox ID е копиран", + "@toxIdCopied": { + "description": "The message shown after copying your own Tox ID" + }, + "toxIdChecksumError": "Невалиден Tox ID, проверете го за грешки", + "@toxIdChecksumError": { + "description": "The error message when the Tox ID's checksum doesn't match, e.g. because of a typo" + }, + "logoutMessage": "{name} няма да получава съобщения, докато не влезете отново в него.", + "@logoutMessage": { + "description": "Asks whether to sign the current account out", + "placeholders": { + "name": { + "type": "String", + "example": "Alice" + } + } + }, + "acceptFriendRequest": "Приемане на заявката за приятелство", + "@acceptFriendRequest": { + "description": "The tooltip for accepting an incoming friend request" + }, + "rejectFriendRequest": "Отхвърляне на заявката за приятелство", + "@rejectFriendRequest": { + "description": "The tooltip for rejecting an incoming friend request" + }, + "online": "На линия", + "@online": { + "description": "A contact's connection state, for screen readers" + }, + "offline": "Извън линия", + "@offline": { + "description": "A contact's connection state, for screen readers" + }, + "deleteContact": "Премахване на контакт", + "@deleteContact": { + "description": "The title of the dialog for deleting a contact" + }, + "deleteContactMessage": "Да се премахне ли \"{name}\" от контактите Ви?", + "@deleteContactMessage": { + "description": "The message to confirm the deletion of a contact", + "placeholders": { + "name": { + "type": "String", + "example": "Alice" + } + } + }, + "contactDeleted": "Контактът \"{name}\" е премахнат", + "@contactDeleted": { + "description": "The text when a contact has been deleted", + "placeholders": { + "name": { + "type": "String", + "example": "Alice" + } + } + }, + "import": "Импортиране", + "@import": { + "description": "The button that confirms importing a profile" + }, + "password": "Парола", + "@password": { + "description": "The label for a password: an encrypted profile's, or a group's" + }, + "wrongPassword": "Грешна парола", + "@wrongPassword": { + "description": "The error when an encrypted profile's password is wrong" + }, + "profileImported": "Профилът \"{name}\" е импортиран", + "@profileImported": { + "description": "The text when a profile has been imported", + "placeholders": { + "name": { + "type": "String", + "example": "Alice" + } + } + }, + "profileAlreadyImported": "Този профил вече е в bTox", + "@profileAlreadyImported": { + "description": "The error when importing a profile that bTox already has" + }, + "exportData": "Експортиране на данните", + "@exportData": { + "description": "Settings entry that saves all accounts and messages to a file" + }, + "exportDataHint": "Всички акаунти и съобщения, шифровани с парола", + "@exportDataHint": { + "description": "Explanation below the export data setting" + }, + "importData": "Импортиране на данни", + "@importData": { + "description": "The setting, button and dialog title for importing a bTox export or a .tox profile file" + }, + "importDataHint": "Експорт от bTox или профил на Tox от друг клиент", + "@importDataHint": { + "description": "Explanation below the import data setting" + }, + "export": "Експортиране", + "@export": { + "description": "Button that exports data" + }, + "accountsRestored": "{count, plural, =0{Резервното копие няма нови акаунти} =1{1 акаунт е възстановен} other{{count} акаунта са възстановени}}", + "@accountsRestored": { + "description": "Shown after importing accounts from a bTox backup", + "placeholders": { + "count": { + "type": "int" + } + } + }, + "notAToxProfile": "Това не е профил на Tox", + "@notAToxProfile": { + "description": "The error when the chosen file isn't a Tox profile" + }, + "stayOnline": "Оставане на линия при затваряне", + "@stayOnline": { + "description": "The setting to keep running in the background after closing the app" + }, + "stayOnlineHint": "Поддържа на линия всички акаунти, в които сте влезли", + "@stayOnlineHint": { + "description": "Explains that stay online applies to every signed-in account" + }, + "accounts": "Акаунти", + "@accounts": { + "description": "The menu item for signing in and managing accounts" + }, + "appSettings": "Приложение", + "@appSettings": { + "description": "The heading of the settings for the whole app" + }, + "accountSettings": "Акаунт: {name}", + "@accountSettings": { + "description": "The heading of the settings for one account", + "placeholders": { + "name": { + "type": "String", + "example": "Alice" + } + } + }, + "autoAcceptFiles": "Автоматично приемане на файлове до", + "@autoAcceptFiles": { + "description": "The setting for the largest incoming file accepted without asking" + }, + "never": "Никога", + "@never": { + "description": "Auto-accepting no files at all" + }, + "acceptFile": "Приемане", + "@acceptFile": { + "description": "The button to receive an offered file" + }, + "declineFile": "Отхвърляне", + "@declineFile": { + "description": "The button to refuse an offered file" + }, + "downloadFile": "Изтегляне", + "@downloadFile": { + "description": "The button to fetch a file the account's home device holds" + }, + "fileCancelled": "Отменено", + "@fileCancelled": { + "description": "A file transfer that was declined or stopped" + }, + "filePaused": "На пауза, докато подателят не се появи на линия", + "@filePaused": { + "description": "An incoming file that stopped part way, which goes on when the sender sends it again" + }, + "udpEnabled": "Използване на UDP", + "@udpEnabled": { + "description": "The setting for Tox's UDP transport" + }, + "udpEnabledHint": "Когато е изключено, връзката е само през TCP релета", + "@udpEnabledHint": { + "description": "Explains turning off UDP" + }, + "ipv6Enabled": "Използване на IPv6", + "@ipv6Enabled": { + "description": "The setting for connecting over IPv6" + }, + "localDiscoveryEnabled": "Локално откриване", + "@localDiscoveryEnabled": { + "description": "The setting for finding friends on the local network" + }, + "localDiscoveryEnabledHint": "Директно намиране на приятели в същата мрежа", + "@localDiscoveryEnabledHint": { + "description": "Explains local discovery" + }, + "offWithProxy": "Изключено при използване на прокси, което пренася само TCP", + "@offWithProxy": { + "description": "Why UDP and local discovery are off when a proxy is set" + }, + "proxy": "Прокси", + "@proxy": { + "description": "The proxy setting and dialog title" + }, + "proxyNone": "Без", + "@proxyNone": { + "description": "No proxy" + }, + "proxyHost": "Хост", + "@proxyHost": { + "description": "The label for the proxy host field" + }, + "proxyPort": "Порт", + "@proxyPort": { + "description": "The label for the proxy port field" + }, + "invalidProxyHost": "Въведете хост", + "@invalidProxyHost": { + "description": "The error when the proxy host is empty" + }, + "invalidProxyPort": "Въведете порт от 1 до 65535", + "@invalidProxyPort": { + "description": "The error when the proxy port is out of range" + }, + "save": "Запазване", + "@save": { + "description": "The text for the save button" + }, + "attachCamera": "Камера", + "@attachCamera": { + "description": "Button to take a photo to send" + }, + "attachGallery": "Галерия", + "@attachGallery": { + "description": "Button to choose images to send" + }, + "attachFile": "Файл", + "@attachFile": { + "description": "Button to choose files to send" + }, + "attachLocation": "Местоположение", + "@attachLocation": { + "description": "Button to send the current location" + }, + "linkAccount": "Свързване на акаунт", + "@linkAccount": { + "description": "Action to use an account that runs on another device" + }, + "pairingLink": "Връзка за сдвояване", + "@pairingLink": { + "description": "Label of the field for another device's pairing link" + }, + "pairingLinkHelp": "Поставете връзката за сдвояване от устройството, на което работи акаунтът.", + "@pairingLinkHelp": { + "description": "Explains where the pairing link comes from" + }, + "invalidPairingLink": "Това не е връзка за сдвояване", + "@invalidPairingLink": { + "description": "Error when the pasted text isn't a pairing link" + }, + "link": "Свързване", + "@link": { + "description": "Button that links an account" + }, + "linkedAccount": "Свързан акаунт", + "@linkedAccount": { + "description": "Name of a linked account until its name has synced" + }, + "linkedAccountName": "{name} (свързан)", + "@linkedAccountName": { + "description": "A linked account where accounts are listed to choose from", + "placeholders": { + "name": { + "type": "String" + } + } + }, + "sendFailed": "Съобщението не можа да бъде изпратено", + "@sendFailed": { + "description": "Error when a message couldn't be saved for sending" + }, + "saveFailed": "Не можа да бъде запазено", + "@saveFailed": { + "description": "Error when something the user did couldn't be saved" + }, + "importFailed": "Файлът не можа да бъде импортиран", + "@importFailed": { + "description": "Error when a profile or backup file couldn't be imported" + }, + "linkFailed": "Акаунтът не можа да бъде свързан", + "@linkFailed": { + "description": "Error when a linked account couldn't be added" + }, + "chats": "Чатове", + "@chats": { + "description": "The tab of the main page listing chats" + }, + "calls": "Обаждания", + "@calls": { + "description": "The tab of the main page listing calls" + }, + "voiceCall": "Гласово обаждане", + "@voiceCall": { + "description": "A call button's tooltip, and a call still going on in a chat" + }, + "videoCall": "Видеообаждане", + "@videoCall": { + "description": "A video call button's tooltip, and a video call still going on in a chat" + }, + "outgoingVideoCall": "Изходящо видеообаждане", + "@outgoingVideoCall": { + "description": "A video call we made, in a chat" + }, + "incomingVideoCall": "Входящо видеообаждане", + "@incomingVideoCall": { + "description": "A video call the friend made, in a chat and while it rings" + }, + "missedVideoCall": "Пропуснато видеообаждане", + "@missedVideoCall": { + "description": "A video call that rang here and wasn't answered" + }, + "callCamera": "Камера", + "@callCamera": { + "description": "The button that turns the camera on or off in a call" + }, + "flipCamera": "Смяна на камерата", + "@flipCamera": { + "description": "The button that switches between the front and back camera in a call" + }, + "cameraNeeded": "bTox няма достъп до камерата, затова обаждането продължава без нея", + "@cameraNeeded": { + "description": "Shown when bTox may not use the camera for a video call, which goes on without video" + }, + "outgoingCall": "Изходящо гласово обаждане", + "@outgoingCall": { + "description": "A call we made, in a chat" + }, + "incomingCall": "Входящо гласово обаждане", + "@incomingCall": { + "description": "A call the friend made, in a chat and while it rings" + }, + "missedCall": "Пропуснато гласово обаждане", + "@missedCall": { + "description": "A call that rang here and wasn't answered" + }, + "callWithDuration": "{call} · {duration}", + "@callWithDuration": { + "description": "A call in a chat, with how long it was", + "placeholders": { + "call": { + "type": "String" + }, + "duration": { + "type": "String" + } + } + }, + "incomingCalls": "Входящи обаждания", + "@incomingCalls": { + "description": "The notification channel that rings" + }, + "missedCalls": "Пропуснати обаждания", + "@missedCalls": { + "description": "The notification channel for missed calls" + }, + "callOngoing": "Обаждане в ход", + "@callOngoing": { + "description": "The notification while a call goes on" + }, + "calling": "Обаждане…", + "@calling": { + "description": "Our call, while it rings at the friend's" + }, + "connecting": "Свързване…", + "@connecting": { + "description": "A call answered here, until it's connected" + }, + "answerCall": "Отговор", + "@answerCall": { + "description": "The button that answers a call" + }, + "declineCall": "Отхвърляне", + "@declineCall": { + "description": "The button that declines a call" + }, + "hangUp": "Затваряне", + "@hangUp": { + "description": "The button that ends a call" + }, + "muteCall": "Заглушаване", + "@muteCall": { + "description": "The button that mutes the microphone in a call" + }, + "callSpeaker": "Високоговорител", + "@callSpeaker": { + "description": "The button that puts a call on the loudspeaker" + }, + "callEarpiece": "Телефон", + "@callEarpiece": { + "description": "Where a call's audio can go: the phone's earpiece" + }, + "callWired": "Слушалки", + "@callWired": { + "description": "Where a call's audio can go: wired headphones" + }, + "callBluetooth": "Bluetooth", + "@callBluetooth": { + "description": "Where a call's audio can go: a Bluetooth headset" + }, + "hideCall": "Скриване на обаждането", + "@hideCall": { + "description": "The button that shows the chats during a call" + }, + "returnToCall": "Връщане към обаждането", + "@returnToCall": { + "description": "The banner over the chats during a call" + }, + "microphoneNeeded": "Обажданията изискват микрофона", + "@microphoneNeeded": { + "description": "Shown when bTox may not use the microphone" + }, + "ringOverLockScreen": "Обажданията не могат да звънят върху заключения екран", + "@ringOverLockScreen": { + "description": "Shown on the Calls tab while Android doesn't let bTox show incoming calls full screen" + }, + "allowRingOverLockScreen": "Разрешаване", + "@allowRingOverLockScreen": { + "description": "The button that opens the setting letting calls ring full screen" + }, + "relayBotNames": "Имена от ретранслиращ бот", + "@relayBotNames": { + "description": "The action, and its page, that shows the names a bot relays from another chat in a group chat" + }, + "stopRelayBotNames": "Спиране на показването на имена от ретранслиращия бот", + "@stopRelayBotNames": { + "description": "The action that shows a relay bot's messages as its own again" + }, + "showNames": "Показване на имената", + "@showNames": { + "description": "The button that starts showing the names a relay bot relays" + }, + "noCalls": "Няма скорошни обаждания", + "@noCalls": { + "description": "Shown on the Calls tab when there are no calls" + }, + "callsNotAvailable": "Обажданията минават през устройството, с което е свързан този акаунт, а то не може да ги приеме сега", + "@callsNotAvailable": { + "description": "Shown on the Calls tab of a linked account while its home device is offline, or doesn't connect calls to its devices" + }, + "notImplemented": "Все още не е налично", + "@notImplemented": { + "description": "Shown for a menu item that doesn't work yet" + }, + "openLinkFailed": "Няма приложение, което да отвори тази връзка", + "@openLinkFailed": { + "description": "Shown when tapping a link in a message opens nothing" + }, + "reply": "Отговор", + "@reply": { + "description": "Message menu item to reply to the message" + }, + "forward": "Препращане", + "@forward": { + "description": "Message menu item to forward the message" + }, + "chatDetails": "Подробности за чата", + "@chatDetails": { + "description": "The tooltip of a chat's title, which opens who the chat is with" + }, + "chatMembers": "{count, plural, =1{1 участник} other{{count} участници}}", + "@chatMembers": { + "description": "The heading of the people in a group or conference, counting yourself", + "placeholders": { + "count": { + "type": "int" + } + } + }, + "you": "Вие", + "@you": { + "description": "Yourself, among the people in a chat" + }, + "muteChat": "Заглушаване на известията", + "@muteChat": { + "description": "The action, and its dialog, that stops a chat's notifications for a while" + }, + "unmuteChat": "Включване на известията", + "@unmuteChat": { + "description": "The action that lets a muted chat notify again" + }, + "muteForAnHour": "За 1 час", + "@muteForAnHour": { + "description": "How long to mute a chat for" + }, + "muteForEightHours": "За 8 часа", + "@muteForEightHours": { + "description": "How long to mute a chat for" + }, + "muteForAWeek": "За 1 седмица", + "@muteForAWeek": { + "description": "How long to mute a chat for" + }, + "muteAlways": "Винаги", + "@muteAlways": { + "description": "Mutes a chat until it's unmuted" + }, + "notifyMentions": "Известявай ме все пак при споменаване", + "@notifyMentions": { + "description": "In the dialog muting a group chat: messages naming you still notify" + }, + "mutedUntil": "Заглушен до {time}", + "@mutedUntil": { + "description": "How long a chat stays muted", + "placeholders": { + "time": { + "type": "String", + "example": "Thu 17:00" + } + } + }, + "mutedAlways": "Заглушен", + "@mutedAlways": { + "description": "A chat muted until it's unmuted" + }, + "sendPicturesAsQoi": "Изпращане на снимките като QOI", + "@sendPicturesAsQoi": { + "description": "A friend chat's setting: camera and gallery pictures sent as QOI" + }, + "sendPicturesAsQoiHint": "Без загуби, но по-големи, а и не всяко приложение показва QOI", + "@sendPicturesAsQoiHint": { + "description": "Under the setting to send pictures as QOI" + }, + "seenThrough": "Видени чрез {bot}", + "@seenThrough": { + "description": "Heading of the names a relay bot has relayed in the chat's history, under the bot among the people in a chat, though they may not be there now", + "placeholders": { + "bot": { + "type": "String", + "example": "EPiG-BrDG" + } + } + }, + "showMoreSeen": "{count, plural, =1{Показване на още 1} other{Показване на още {count}}}", + "@showMoreSeen": { + "description": "Shows the names a relay bot relayed longer ago", + "placeholders": { + "count": { + "type": "int" + } + } + }, + "roleFounder": "Основател", + "@roleFounder": { + "description": "The role of whoever created a group" + }, + "roleModerator": "Модератор", + "@roleModerator": { + "description": "The role of someone who can moderate a group" + }, + "roleObserver": "Наблюдател", + "@roleObserver": { + "description": "The role of someone who can only read a group" + }, + "statusAway": "Отсъства", + "@statusAway": { + "description": "Someone's status when they're away" + }, + "statusBusy": "Зает", + "@statusBusy": { + "description": "Someone's status when they're busy" + }, + "membersWhileOnline": "Участниците се показват, докато основното устройство на акаунта е на линия", + "@membersWhileOnline": { + "description": "In place of a linked account's chat members, while its home device can't say who they are" + }, + "publicKey": "Публичен ключ", + "@publicKey": { + "description": "The heading of a friend's public key, which Tox knows them by" + }, + "publicKeyCopied": "Публичният ключ е копиран", + "@publicKeyCopied": { + "description": "The message shown after copying a friend's public key" + }, + "copy": "Копиране", + "@copy": { + "description": "Message menu item to copy the message's text" + }, + "select": "Избиране", + "@select": { + "description": "Message menu item to select messages" + }, + "forwardTo": "Препращане до", + "@forwardTo": { + "description": "The title of the page that picks a chat to forward messages to" + }, + "messagesForwarded": "{count, plural, =1{Съобщението е препратено} other{{count} съобщения са препратени}}", + "@messagesForwarded": { + "description": "The message shown after forwarding messages", + "placeholders": { + "count": { + "type": "int" + } + } + }, + "messageInfo": "Подробности за съобщението", + "@messageInfo": { + "description": "The title of the page a message's Info opens" + }, + "messageSent": "Изпратено", + "@messageSent": { + "description": "On a message's details, when ours was sent" + }, + "messageSending": "Изпраща се", + "@messageSending": { + "description": "On a message's details, in place of messageSent while ours waits to go" + }, + "messageDelivered": "Доставено", + "@messageDelivered": { + "description": "On a message's details, when ours arrived" + }, + "messageReceived": "Получено", + "@messageReceived": { + "description": "On a message's details, when someone else's came" + }, + "messageFrom": "От", + "@messageFrom": { + "description": "On a message's details, the heading of who sent someone else's" + }, + "messagesSelected": "Избрани: {count}", + "@messagesSelected": { + "description": "The chat's title while messages are selected", + "placeholders": { + "count": { + "type": "int" + } + } + }, + "messagesCopied": "{count, plural, =1{Съобщението е копирано} other{{count} съобщения са копирани}}", + "@messagesCopied": { + "description": "The message shown after copying messages' text", + "placeholders": { + "count": { + "type": "int" + } + } + }, + "info": "Информация", + "@info": { + "description": "Message menu item to show the message's details" + }, + "today": "Днес", + "@today": { + "description": "Above the messages of today in a chat" + }, + "yesterday": "Вчера", + "@yesterday": { + "description": "Above the messages of yesterday in a chat" + }, + "loadFailed": "Нещо се обърка", + "@loadFailed": { + "description": "Shown in place of a page that couldn't be loaded" + }, + "locationMessage": "Местоположение", + "@locationMessage": { + "description": "A shared location, as the chat list shows it" + }, + "emoji": "Емоджи", + "@emoji": { + "description": "The button in the message box that opens the emoji picker" + }, + "send": "Изпращане", + "@send": { + "description": "The button that sends what is written in the message box" + }, + "attach": "Прикачване", + "@attach": { + "description": "The button in the message box that opens what can be attached" + }, + "cancelReply": "Отказ от отговора", + "@cancelReply": { + "description": "The button that stops replying to a message" + }, + "removeAttachment": "Премахване", + "@removeAttachment": { + "description": "The button on an attachment waiting to be sent that takes it away" + }, + "attachFailed": "Не можа да бъде прикачено", + "@attachFailed": { + "description": "Shown when a picture or file couldn't be picked or copied to send" + }, + "dayAndTime": "{day} {time}", + "@dayAndTime": { + "description": "A day and a time on it, as in 'muted until Fri 14:00'", + "placeholders": { + "day": { + "type": "String", + "example": "Fri" + }, + "time": { + "type": "String", + "example": "14:00" + } + } + }, + "draftLabel": "Чернова:", + "@draftLabel": { + "description": "Before what is being written in a chat, as the chat list shows it" + }, + "messageV3": "ID на съобщенията от TRIfA", + "@messageV3": { + "description": "Setting to read the ID TRIfA adds to its messages" + }, + "messageV3Hint": "Скрива ID, което TRIfA добавя към съобщенията, и показва само веднъж съобщение, което изпраща повторно", + "@messageV3Hint": { + "description": "What reading TRIfA's message IDs does" + }, + "titleWithAccount": "bTox ({name})", + "@titleWithAccount": { + "description": "The title of the chat list, with the account it shows", + "placeholders": { + "name": { + "type": "String", + "example": "Alice" + } + } + }, + "deleteChatToo": "Премахване завинаги и на съобщенията и файловете Ви в чата", + "@deleteChatToo": { + "description": "Option when deleting a contact to delete the chat with them too" + }, + "profileDeleteFailed": "Профилът \"{name}\" не можа да бъде премахнат", + "@profileDeleteFailed": { + "description": "Error when a profile couldn't be deleted", + "placeholders": { + "name": { + "type": "String", + "example": "Alice" + } + } + }, + "mergeChat": "Обединяване с друг чат", + "@mergeChat": { + "description": "Action on a group chat to show it together with another that a bot relays messages between" + }, + "unmergeChat": "Показване на чатовете поотделно", + "@unmergeChat": { + "description": "Action on merged chats to show them as separate chats again" + }, + "mergeChatTitle": "Обединяване на чатове", + "@mergeChatTitle": { + "description": "Title of the page that merges two chats" + }, + "mergeWith": "Обединяване с", + "@mergeWith": { + "description": "Heading of the chats one can merge with" + }, + "relayBotIn": "Бот в {chat}", + "@relayBotIn": { + "description": "Heading of the members of a chat to pick the bot from that relays messages to the other chat", + "placeholders": { + "chat": { + "type": "String", + "example": "Tox" + } + } + }, + "relayedMessages": "Ретранслирани {relayed} от {count} съобщения", + "@relayedMessages": { + "description": "How many of a chat member's messages look like a bot relayed them", + "placeholders": { + "relayed": { + "type": "int" + }, + "count": { + "type": "int" + } + } + }, + "noChatsToMerge": "Няма други групови чатове", + "@noChatsToMerge": { + "description": "Shown when there are no chats to merge with" + }, + "merge": "Обединяване", + "@merge": { + "description": "Button that merges the chats" + }, + "exported": "Данните са експортирани", + "@exported": { + "description": "Shown when the backup was saved" + }, + "exportFailed": "Данните не можаха да бъдат експортирани", + "@exportFailed": { + "description": "Error when the backup couldn't be made or saved" + }, + "locationOff": "Включете местоположението, за да споделите къде сте", + "@locationOff": { + "description": "Shown when sharing a location while location is off on the device" + }, + "locationDenied": "bTox се нуждае от разрешение за достъп до местоположението Ви", + "@locationDenied": { + "description": "Shown when sharing a location without the permission" + }, + "locationFailed": "Местоположението Ви не можа да бъде определено", + "@locationFailed": { + "description": "Error when the location couldn't be found" + }, + "openSettings": "Настройки", + "@openSettings": { + "description": "Button opening the device's settings to fix a problem" + }, + "ownToxIdError": "Това е Вашият собствен Tox ID", + "@ownToxIdError": { + "description": "Error when adding your own Tox ID as a contact" + }, + "addContactFailed": "Контактът не можа да бъде добавен", + "@addContactFailed": { + "description": "Error when a contact couldn't be saved" + }, + "chatClosed": "Вече не можете да изпращате съобщения в този чат", + "@chatClosed": { + "description": "Shown in place of the message input for a deleted contact or a group left" + }, + "friendRequest": "Заявка за приятелство", + "@friendRequest": { + "description": "Title of the notification for a friend request" + }, + "inviteNotification": "Покана за чат", + "@inviteNotification": { + "description": "Title of the notification for an invite to a group or conference" + }, + "groupInvite": "{friend} Ви покани в {chat}", + "@groupInvite": { + "description": "An invite to a group, above the chats and in its notification", + "placeholders": { + "friend": { + "type": "String" + }, + "chat": { + "type": "String" + } + } + }, + "conferenceInvite": "{friend} Ви покани в конференция", + "@conferenceInvite": { + "description": "An invite to a conference, whose invite has no name, above the chats and in its notification", + "placeholders": { + "friend": { + "type": "String" + } + } + }, + "joinInvite": "Присъединяване", + "@joinInvite": { + "description": "The button that joins the chat of an invite" + }, + "declineInvite": "Отхвърляне", + "@declineInvite": { + "description": "The button that declines an invite to a chat" + }, + "joiningInvite": "Присъединяване…", + "@joiningInvite": { + "description": "Under an invite answered to join, until the account's home device joined" + }, + "inviteNeedsPassword": "Нужна е паролата на групата. Поискайте нова покана.", + "@inviteNeedsPassword": { + "description": "Under an invite to a group that turned the account away for a missing or wrong password, which spent the invite" + }, + "inviteSpent": "Присъединяването не бе успешно. Поискайте нова покана.", + "@inviteSpent": { + "description": "Under an invite whose chat turned the account away for another reason, which spent the invite" + }, + "inviteFailed": "Присъединяването не бе успешно", + "@inviteFailed": { + "description": "Under an invite whose chat the account's home device couldn't join, which can be tried again" + }, + "groupPasswordHelper": "Оставете празно, ако групата няма парола", + "@groupPasswordHelper": { + "description": "Under the password field when joining a group from an invite" + }, + "retryInvite": "Нов опит", + "@retryInvite": { + "description": "The button that tries joining the chat of an invite again" + }, + "chatInAccount": "{chat} · {account}", + "@chatInAccount": { + "description": "Title of a chat's notification while several accounts are signed in: the chat, then the account it's in", + "placeholders": { + "chat": { + "type": "String" + }, + "account": { + "type": "String" + } + } + }, + "newestMessages": "Най-новите съобщения", + "@newestMessages": { + "description": "Tooltip of the button that scrolls a chat to its newest messages" + }, + "noChats": "Все още няма чатове", + "@noChats": { + "description": "Shown on the Chats tab when there are no chats" + }, + "noChatsHint": "Добавете контакт с бутона +, за да започнете чат", + "@noChatsHint": { + "description": "How to start a first chat, under noChats" } } diff --git a/lib/l10n/app_ca.arb b/lib/l10n/app_ca.arb index 257acac5..adc6b890 100644 --- a/lib/l10n/app_ca.arb +++ b/lib/l10n/app_ca.arb @@ -24,5 +24,1045 @@ "example": "Hello" } } + }, + "toxId": "ID de Tox", + "@toxId": { + "description": "The text for the Tox ID field" + }, + "copyToxId": "Copia l'ID de Tox", + "@copyToxId": { + "description": "The tooltip for copying your own Tox ID" + }, + "toxIdCopied": "S'ha copiat l'ID de Tox", + "@toxIdCopied": { + "description": "The message shown after copying your own Tox ID" + }, + "defaultAddContactMessage": "Ei, sóc {nick}, vine a xatejar amb mi a bTox!", + "@defaultAddContactMessage": { + "description": "The default message to send when adding a contact", + "placeholders": { + "nick": { + "type": "String", + "example": "Alice" + } + } + }, + "addContactMessageLengthError": "Màxim {max} caràcters ({length} és massa llarg)", + "@addContactMessageLengthError": { + "description": "The error message when the friend request message is too long", + "placeholders": { + "max": { + "type": "int", + "example": "256" + }, + "length": { + "type": "int", + "example": "300" + } + } + }, + "add": "Afegeix", + "@add": { + "description": "The text for the button to add a contact" + }, + "toxIdLengthError": "Ha de tenir {length} caràcters hexadecimals", + "@toxIdLengthError": { + "description": "The error message when the Tox ID is not the right length or format", + "placeholders": { + "length": { + "type": "int", + "example": "76" + } + } + }, + "toxIdChecksumError": "No és un ID de Tox vàlid, comprova si hi ha errors", + "@toxIdChecksumError": { + "description": "The error message when the Tox ID's checksum doesn't match, e.g. because of a typo" + }, + "messageEmptyError": "El missatge no pot estar buit", + "@messageEmptyError": { + "description": "The error message when the message is empty" + }, + "menuProfile": "Perfil", + "@menuProfile": { + "description": "The text for the profile menu item" + }, + "menuSettings": "Configuració", + "@menuSettings": { + "description": "The text for the settings menu item" + }, + "nickLengthError": "El sobrenom ha de tenir entre 1 i {max} caràcters", + "@nickLengthError": { + "description": "The error message when the nickname is too short or too long", + "placeholders": { + "max": { + "type": "int", + "example": "32" + } + } + }, + "statusMessageLengthError": "El missatge d'estat no pot superar els {max} caràcters", + "@statusMessageLengthError": { + "description": "The error message when the status message is longer than the supported maximum", + "placeholders": { + "max": { + "type": "int", + "example": "128" + } + } + }, + "profileTextFieldNick": "Sobrenom", + "@profileTextFieldNick": { + "description": "The text for the nickname field" + }, + "profileTextFieldUserStatusMessage": "Missatge d'estat", + "@profileTextFieldUserStatusMessage": { + "description": "The text for the status message field" + }, + "applyChanges": "Aplica els canvis", + "@applyChanges": { + "description": "The text for the button to apply changes" + }, + "applied": "Aplicat", + "@applied": { + "description": "The text when changes have been applied" + }, + "newProfile": "Perfil nou", + "@newProfile": { + "description": "The title text for the create profile dialog" + }, + "create": "Crea", + "@create": { + "description": "The text for the button create a new profile" + }, + "logout": "Tanca la sessió", + "@logout": { + "description": "The text for the logout menu item" + }, + "logoutMessage": "{name} deixarà de rebre missatges fins que hi tornis a iniciar la sessió.", + "@logoutMessage": { + "description": "Asks whether to sign the current account out", + "placeholders": { + "name": { + "type": "String", + "example": "Alice" + } + } + }, + "deleteProfile": "Suprimeix el perfil", + "@deleteProfile": { + "description": "The text for the delete profile menu item" + }, + "deleteProfileMessage": "Segur que vols suprimir el teu perfil \"{name}\"? Aquesta acció no es pot desfer. Se suprimiran tots els teus contactes i missatges. Assegura't que tens una còpia de seguretat.", + "@deleteProfileMessage": { + "description": "The message to confirm the deletion of a profile", + "placeholders": { + "name": { + "type": "String", + "example": "Alice" + } + } + }, + "cancel": "Cancel·la", + "@cancel": { + "description": "The text for the cancel button" + }, + "delete": "Suprimeix", + "@delete": { + "description": "The text for the delete button" + }, + "acceptFriendRequest": "Accepta la sol·licitud d'amistat", + "@acceptFriendRequest": { + "description": "The tooltip for accepting an incoming friend request" + }, + "rejectFriendRequest": "Rebutja la sol·licitud d'amistat", + "@rejectFriendRequest": { + "description": "The tooltip for rejecting an incoming friend request" + }, + "online": "En línia", + "@online": { + "description": "A contact's connection state, for screen readers" + }, + "offline": "Fora de línia", + "@offline": { + "description": "A contact's connection state, for screen readers" + }, + "deleteContact": "Suprimeix el contacte", + "@deleteContact": { + "description": "The title of the dialog for deleting a contact" + }, + "deleteContactMessage": "Vols suprimir \"{name}\" dels teus contactes?", + "@deleteContactMessage": { + "description": "The message to confirm the deletion of a contact", + "placeholders": { + "name": { + "type": "String", + "example": "Alice" + } + } + }, + "contactDeleted": "S'ha suprimit el contacte \"{name}\"", + "@contactDeleted": { + "description": "The text when a contact has been deleted", + "placeholders": { + "name": { + "type": "String", + "example": "Alice" + } + } + }, + "import": "Importa", + "@import": { + "description": "The button that confirms importing a profile" + }, + "password": "Contrasenya", + "@password": { + "description": "The label for a password: an encrypted profile's, or a group's" + }, + "wrongPassword": "Contrasenya incorrecta", + "@wrongPassword": { + "description": "The error when an encrypted profile's password is wrong" + }, + "profileImported": "S'ha importat el perfil \"{name}\"", + "@profileImported": { + "description": "The text when a profile has been imported", + "placeholders": { + "name": { + "type": "String", + "example": "Alice" + } + } + }, + "profileAlreadyImported": "Aquest perfil ja és a bTox", + "@profileAlreadyImported": { + "description": "The error when importing a profile that bTox already has" + }, + "exportData": "Exporta les dades", + "@exportData": { + "description": "Settings entry that saves all accounts and messages to a file" + }, + "exportDataHint": "Tots els comptes i missatges, xifrats amb una contrasenya", + "@exportDataHint": { + "description": "Explanation below the export data setting" + }, + "importData": "Importa dades", + "@importData": { + "description": "The setting, button and dialog title for importing a bTox export or a .tox profile file" + }, + "importDataHint": "Una exportació de bTox o un perfil de Tox d'un altre client", + "@importDataHint": { + "description": "Explanation below the import data setting" + }, + "export": "Exporta", + "@export": { + "description": "Button that exports data" + }, + "accountsRestored": "{count, plural, =0{La còpia de seguretat no té cap compte nou} =1{S'ha restaurat 1 compte} other{S'han restaurat {count} comptes}}", + "@accountsRestored": { + "description": "Shown after importing accounts from a bTox backup", + "placeholders": { + "count": { + "type": "int" + } + } + }, + "notAToxProfile": "No és un perfil de Tox", + "@notAToxProfile": { + "description": "The error when the chosen file isn't a Tox profile" + }, + "stayOnline": "Mantén-te en línia en tancar", + "@stayOnline": { + "description": "The setting to keep running in the background after closing the app" + }, + "stayOnlineHint": "Manté en línia tots els comptes amb la sessió iniciada", + "@stayOnlineHint": { + "description": "Explains that stay online applies to every signed-in account" + }, + "accounts": "Comptes", + "@accounts": { + "description": "The menu item for signing in and managing accounts" + }, + "appSettings": "Aplicació", + "@appSettings": { + "description": "The heading of the settings for the whole app" + }, + "accountSettings": "Compte: {name}", + "@accountSettings": { + "description": "The heading of the settings for one account", + "placeholders": { + "name": { + "type": "String", + "example": "Alice" + } + } + }, + "autoAcceptFiles": "Accepta fitxers automàticament fins a", + "@autoAcceptFiles": { + "description": "The setting for the largest incoming file accepted without asking" + }, + "never": "Mai", + "@never": { + "description": "Auto-accepting no files at all" + }, + "acceptFile": "Accepta", + "@acceptFile": { + "description": "The button to receive an offered file" + }, + "declineFile": "Rebutja", + "@declineFile": { + "description": "The button to refuse an offered file" + }, + "downloadFile": "Baixa", + "@downloadFile": { + "description": "The button to fetch a file the account's home device holds" + }, + "fileCancelled": "Cancel·lat", + "@fileCancelled": { + "description": "A file transfer that was declined or stopped" + }, + "filePaused": "En pausa fins que torni a estar en línia", + "@filePaused": { + "description": "An incoming file that stopped part way, which goes on when the sender sends it again" + }, + "udpEnabled": "Utilitza UDP", + "@udpEnabled": { + "description": "The setting for Tox's UDP transport" + }, + "udpEnabledHint": "Si està desactivat, només es connecta a través de repetidors TCP", + "@udpEnabledHint": { + "description": "Explains turning off UDP" + }, + "ipv6Enabled": "Utilitza IPv6", + "@ipv6Enabled": { + "description": "The setting for connecting over IPv6" + }, + "localDiscoveryEnabled": "Descobriment local", + "@localDiscoveryEnabled": { + "description": "The setting for finding friends on the local network" + }, + "localDiscoveryEnabledHint": "Troba directament amics a la mateixa xarxa", + "@localDiscoveryEnabledHint": { + "description": "Explains local discovery" + }, + "offWithProxy": "Desactivat mentre s'utilitzi un servidor intermediari, que només transporta TCP", + "@offWithProxy": { + "description": "Why UDP and local discovery are off when a proxy is set" + }, + "proxy": "Servidor intermediari", + "@proxy": { + "description": "The proxy setting and dialog title" + }, + "proxyNone": "Cap", + "@proxyNone": { + "description": "No proxy" + }, + "proxyHost": "Amfitrió", + "@proxyHost": { + "description": "The label for the proxy host field" + }, + "proxyPort": "Port", + "@proxyPort": { + "description": "The label for the proxy port field" + }, + "invalidProxyHost": "Introdueix un amfitrió", + "@invalidProxyHost": { + "description": "The error when the proxy host is empty" + }, + "invalidProxyPort": "Introdueix un port de l'1 al 65535", + "@invalidProxyPort": { + "description": "The error when the proxy port is out of range" + }, + "save": "Desa", + "@save": { + "description": "The text for the save button" + }, + "profileDeleted": "S'ha suprimit el perfil \"{name}\"", + "@profileDeleted": { + "description": "The text when a profile has been deleted", + "placeholders": { + "name": { + "type": "String", + "example": "Alice" + } + } + }, + "attachCamera": "Càmera", + "@attachCamera": { + "description": "Button to take a photo to send" + }, + "attachGallery": "Galeria", + "@attachGallery": { + "description": "Button to choose images to send" + }, + "attachFile": "Fitxer", + "@attachFile": { + "description": "Button to choose files to send" + }, + "attachLocation": "Ubicació", + "@attachLocation": { + "description": "Button to send the current location" + }, + "linkAccount": "Vincula un compte", + "@linkAccount": { + "description": "Action to use an account that runs on another device" + }, + "pairingLink": "Enllaç de vinculació", + "@pairingLink": { + "description": "Label of the field for another device's pairing link" + }, + "pairingLinkHelp": "Enganxa l'enllaç de vinculació del dispositiu on s'executa el compte.", + "@pairingLinkHelp": { + "description": "Explains where the pairing link comes from" + }, + "invalidPairingLink": "Això no és un enllaç de vinculació", + "@invalidPairingLink": { + "description": "Error when the pasted text isn't a pairing link" + }, + "link": "Vincula", + "@link": { + "description": "Button that links an account" + }, + "linkedAccount": "Compte vinculat", + "@linkedAccount": { + "description": "Name of a linked account until its name has synced" + }, + "linkedAccountName": "{name} (vinculat)", + "@linkedAccountName": { + "description": "A linked account where accounts are listed to choose from", + "placeholders": { + "name": { + "type": "String" + } + } + }, + "sendFailed": "No s'ha pogut enviar el missatge", + "@sendFailed": { + "description": "Error when a message couldn't be saved for sending" + }, + "saveFailed": "No s'ha pogut desar", + "@saveFailed": { + "description": "Error when something the user did couldn't be saved" + }, + "importFailed": "No s'ha pogut importar aquest fitxer", + "@importFailed": { + "description": "Error when a profile or backup file couldn't be imported" + }, + "linkFailed": "No s'ha pogut vincular el compte", + "@linkFailed": { + "description": "Error when a linked account couldn't be added" + }, + "chats": "Xats", + "@chats": { + "description": "The tab of the main page listing chats" + }, + "calls": "Trucades", + "@calls": { + "description": "The tab of the main page listing calls" + }, + "voiceCall": "Trucada de veu", + "@voiceCall": { + "description": "A call button's tooltip, and a call still going on in a chat" + }, + "videoCall": "Videotrucada", + "@videoCall": { + "description": "A video call button's tooltip, and a video call still going on in a chat" + }, + "outgoingVideoCall": "Videotrucada sortint", + "@outgoingVideoCall": { + "description": "A video call we made, in a chat" + }, + "incomingVideoCall": "Videotrucada entrant", + "@incomingVideoCall": { + "description": "A video call the friend made, in a chat and while it rings" + }, + "missedVideoCall": "Videotrucada perduda", + "@missedVideoCall": { + "description": "A video call that rang here and wasn't answered" + }, + "callCamera": "Càmera", + "@callCamera": { + "description": "The button that turns the camera on or off in a call" + }, + "flipCamera": "Canvia de càmera", + "@flipCamera": { + "description": "The button that switches between the front and back camera in a call" + }, + "cameraNeeded": "bTox no pot utilitzar la càmera, així que la trucada continua sense", + "@cameraNeeded": { + "description": "Shown when bTox may not use the camera for a video call, which goes on without video" + }, + "outgoingCall": "Trucada de veu sortint", + "@outgoingCall": { + "description": "A call we made, in a chat" + }, + "incomingCall": "Trucada de veu entrant", + "@incomingCall": { + "description": "A call the friend made, in a chat and while it rings" + }, + "missedCall": "Trucada de veu perduda", + "@missedCall": { + "description": "A call that rang here and wasn't answered" + }, + "callWithDuration": "{call} · {duration}", + "@callWithDuration": { + "description": "A call in a chat, with how long it was", + "placeholders": { + "call": { + "type": "String" + }, + "duration": { + "type": "String" + } + } + }, + "incomingCalls": "Trucades entrants", + "@incomingCalls": { + "description": "The notification channel that rings" + }, + "missedCalls": "Trucades perdudes", + "@missedCalls": { + "description": "The notification channel for missed calls" + }, + "callOngoing": "Trucada en curs", + "@callOngoing": { + "description": "The notification while a call goes on" + }, + "calling": "S'està trucant…", + "@calling": { + "description": "Our call, while it rings at the friend's" + }, + "connecting": "S'està connectant…", + "@connecting": { + "description": "A call answered here, until it's connected" + }, + "answerCall": "Respon", + "@answerCall": { + "description": "The button that answers a call" + }, + "declineCall": "Rebutja", + "@declineCall": { + "description": "The button that declines a call" + }, + "hangUp": "Penja", + "@hangUp": { + "description": "The button that ends a call" + }, + "muteCall": "Silencia", + "@muteCall": { + "description": "The button that mutes the microphone in a call" + }, + "callSpeaker": "Altaveu", + "@callSpeaker": { + "description": "The button that puts a call on the loudspeaker" + }, + "callEarpiece": "Telèfon", + "@callEarpiece": { + "description": "Where a call's audio can go: the phone's earpiece" + }, + "callWired": "Auriculars", + "@callWired": { + "description": "Where a call's audio can go: wired headphones" + }, + "callBluetooth": "Bluetooth", + "@callBluetooth": { + "description": "Where a call's audio can go: a Bluetooth headset" + }, + "hideCall": "Amaga la trucada", + "@hideCall": { + "description": "The button that shows the chats during a call" + }, + "returnToCall": "Torna a la trucada", + "@returnToCall": { + "description": "The banner over the chats during a call" + }, + "microphoneNeeded": "Les trucades necessiten el micròfon", + "@microphoneNeeded": { + "description": "Shown when bTox may not use the microphone" + }, + "ringOverLockScreen": "Les trucades no poden sonar sobre la pantalla de bloqueig", + "@ringOverLockScreen": { + "description": "Shown on the Calls tab while Android doesn't let bTox show incoming calls full screen" + }, + "allowRingOverLockScreen": "Permet", + "@allowRingOverLockScreen": { + "description": "The button that opens the setting letting calls ring full screen" + }, + "relayBotNames": "Noms d'un bot de retransmissió", + "@relayBotNames": { + "description": "The action, and its page, that shows the names a bot relays from another chat in a group chat" + }, + "stopRelayBotNames": "Deixa de mostrar els noms del bot de retransmissió", + "@stopRelayBotNames": { + "description": "The action that shows a relay bot's messages as its own again" + }, + "showNames": "Mostra els noms", + "@showNames": { + "description": "The button that starts showing the names a relay bot relays" + }, + "noCalls": "No hi ha trucades recents", + "@noCalls": { + "description": "Shown on the Calls tab when there are no calls" + }, + "callsNotAvailable": "Les trucades passen pel dispositiu al qual està vinculat aquest compte, que ara no les pot atendre", + "@callsNotAvailable": { + "description": "Shown on the Calls tab of a linked account while its home device is offline, or doesn't connect calls to its devices" + }, + "notImplemented": "Encara no està disponible", + "@notImplemented": { + "description": "Shown for a menu item that doesn't work yet" + }, + "openLinkFailed": "Cap aplicació pot obrir aquest enllaç", + "@openLinkFailed": { + "description": "Shown when tapping a link in a message opens nothing" + }, + "reply": "Respon", + "@reply": { + "description": "Message menu item to reply to the message" + }, + "forward": "Reenvia", + "@forward": { + "description": "Message menu item to forward the message" + }, + "chatDetails": "Detalls del xat", + "@chatDetails": { + "description": "The tooltip of a chat's title, which opens who the chat is with" + }, + "chatMembers": "{count, plural, =1{1 membre} other{{count} membres}}", + "@chatMembers": { + "description": "The heading of the people in a group or conference, counting yourself", + "placeholders": { + "count": { + "type": "int" + } + } + }, + "you": "Tu", + "@you": { + "description": "Yourself, among the people in a chat" + }, + "muteChat": "Silencia les notificacions", + "@muteChat": { + "description": "The action, and its dialog, that stops a chat's notifications for a while" + }, + "unmuteChat": "Activa les notificacions", + "@unmuteChat": { + "description": "The action that lets a muted chat notify again" + }, + "muteForAnHour": "Durant 1 hora", + "@muteForAnHour": { + "description": "How long to mute a chat for" + }, + "muteForEightHours": "Durant 8 hores", + "@muteForEightHours": { + "description": "How long to mute a chat for" + }, + "muteForAWeek": "Durant 1 setmana", + "@muteForAWeek": { + "description": "How long to mute a chat for" + }, + "muteAlways": "Sempre", + "@muteAlways": { + "description": "Mutes a chat until it's unmuted" + }, + "notifyMentions": "Notifica'm igualment les mencions", + "@notifyMentions": { + "description": "In the dialog muting a group chat: messages naming you still notify" + }, + "mutedUntil": "Silenciat fins a {time}", + "@mutedUntil": { + "description": "How long a chat stays muted", + "placeholders": { + "time": { + "type": "String", + "example": "Thu 17:00" + } + } + }, + "mutedAlways": "Silenciat", + "@mutedAlways": { + "description": "A chat muted until it's unmuted" + }, + "sendPicturesAsQoi": "Envia les imatges com a QOI", + "@sendPicturesAsQoi": { + "description": "A friend chat's setting: camera and gallery pictures sent as QOI" + }, + "sendPicturesAsQoiHint": "Sense pèrdua, però més grans, i no totes les aplicacions mostren QOI", + "@sendPicturesAsQoiHint": { + "description": "Under the setting to send pictures as QOI" + }, + "seenThrough": "Vist a través de {bot}", + "@seenThrough": { + "description": "Heading of the names a relay bot has relayed in the chat's history, under the bot among the people in a chat, though they may not be there now", + "placeholders": { + "bot": { + "type": "String", + "example": "EPiG-BrDG" + } + } + }, + "showMoreSeen": "{count, plural, =1{Mostra'n 1 més} other{Mostra'n {count} més}}", + "@showMoreSeen": { + "description": "Shows the names a relay bot relayed longer ago", + "placeholders": { + "count": { + "type": "int" + } + } + }, + "roleFounder": "Fundador", + "@roleFounder": { + "description": "The role of whoever created a group" + }, + "roleModerator": "Moderador", + "@roleModerator": { + "description": "The role of someone who can moderate a group" + }, + "roleObserver": "Observador", + "@roleObserver": { + "description": "The role of someone who can only read a group" + }, + "statusAway": "Absent", + "@statusAway": { + "description": "Someone's status when they're away" + }, + "statusBusy": "Ocupat", + "@statusBusy": { + "description": "Someone's status when they're busy" + }, + "membersWhileOnline": "Qui hi ha es mostra mentre el dispositiu principal del compte està en línia", + "@membersWhileOnline": { + "description": "In place of a linked account's chat members, while its home device can't say who they are" + }, + "publicKey": "Clau pública", + "@publicKey": { + "description": "The heading of a friend's public key, which Tox knows them by" + }, + "publicKeyCopied": "S'ha copiat la clau pública", + "@publicKeyCopied": { + "description": "The message shown after copying a friend's public key" + }, + "copy": "Copia", + "@copy": { + "description": "Message menu item to copy the message's text" + }, + "select": "Selecciona", + "@select": { + "description": "Message menu item to select messages" + }, + "forwardTo": "Reenvia a", + "@forwardTo": { + "description": "The title of the page that picks a chat to forward messages to" + }, + "messagesForwarded": "{count, plural, =1{S'ha reenviat el missatge} other{S'han reenviat {count} missatges}}", + "@messagesForwarded": { + "description": "The message shown after forwarding messages", + "placeholders": { + "count": { + "type": "int" + } + } + }, + "messageInfo": "Detalls del missatge", + "@messageInfo": { + "description": "The title of the page a message's Info opens" + }, + "messageSent": "Enviat", + "@messageSent": { + "description": "On a message's details, when ours was sent" + }, + "messageSending": "S'està enviant", + "@messageSending": { + "description": "On a message's details, in place of messageSent while ours waits to go" + }, + "messageDelivered": "Lliurat", + "@messageDelivered": { + "description": "On a message's details, when ours arrived" + }, + "messageReceived": "Rebut", + "@messageReceived": { + "description": "On a message's details, when someone else's came" + }, + "messageFrom": "De", + "@messageFrom": { + "description": "On a message's details, the heading of who sent someone else's" + }, + "messagesSelected": "{count, plural, one{{count} seleccionat} other{{count} seleccionats}}", + "@messagesSelected": { + "description": "The chat's title while messages are selected", + "placeholders": { + "count": { + "type": "int" + } + } + }, + "messagesCopied": "{count, plural, =1{S'ha copiat el missatge} other{S'han copiat {count} missatges}}", + "@messagesCopied": { + "description": "The message shown after copying messages' text", + "placeholders": { + "count": { + "type": "int" + } + } + }, + "info": "Informació", + "@info": { + "description": "Message menu item to show the message's details" + }, + "today": "Avui", + "@today": { + "description": "Above the messages of today in a chat" + }, + "yesterday": "Ahir", + "@yesterday": { + "description": "Above the messages of yesterday in a chat" + }, + "loadFailed": "Alguna cosa ha anat malament", + "@loadFailed": { + "description": "Shown in place of a page that couldn't be loaded" + }, + "locationMessage": "Ubicació", + "@locationMessage": { + "description": "A shared location, as the chat list shows it" + }, + "emoji": "Emoji", + "@emoji": { + "description": "The button in the message box that opens the emoji picker" + }, + "send": "Envia", + "@send": { + "description": "The button that sends what is written in the message box" + }, + "attach": "Adjunta", + "@attach": { + "description": "The button in the message box that opens what can be attached" + }, + "cancelReply": "Cancel·la la resposta", + "@cancelReply": { + "description": "The button that stops replying to a message" + }, + "removeAttachment": "Elimina", + "@removeAttachment": { + "description": "The button on an attachment waiting to be sent that takes it away" + }, + "attachFailed": "No s'ha pogut adjuntar", + "@attachFailed": { + "description": "Shown when a picture or file couldn't be picked or copied to send" + }, + "dayAndTime": "{day} {time}", + "@dayAndTime": { + "description": "A day and a time on it, as in 'muted until Fri 14:00'", + "placeholders": { + "day": { + "type": "String", + "example": "Fri" + }, + "time": { + "type": "String", + "example": "14:00" + } + } + }, + "draftLabel": "Esborrany:", + "@draftLabel": { + "description": "Before what is being written in a chat, as the chat list shows it" + }, + "messageV3": "ID de missatge de TRIfA", + "@messageV3": { + "description": "Setting to read the ID TRIfA adds to its messages" + }, + "messageV3Hint": "Amaga l'ID que TRIfA afegeix als missatges i mostra només un cop un missatge que torna a enviar", + "@messageV3Hint": { + "description": "What reading TRIfA's message IDs does" + }, + "titleWithAccount": "bTox ({name})", + "@titleWithAccount": { + "description": "The title of the chat list, with the account it shows", + "placeholders": { + "name": { + "type": "String", + "example": "Alice" + } + } + }, + "deleteChatToo": "Suprimeix també definitivament els teus missatges i fitxers amb aquesta persona", + "@deleteChatToo": { + "description": "Option when deleting a contact to delete the chat with them too" + }, + "profileDeleteFailed": "No s'ha pogut suprimir el perfil \"{name}\"", + "@profileDeleteFailed": { + "description": "Error when a profile couldn't be deleted", + "placeholders": { + "name": { + "type": "String", + "example": "Alice" + } + } + }, + "mergeChat": "Combina amb un altre xat", + "@mergeChat": { + "description": "Action on a group chat to show it together with another that a bot relays messages between" + }, + "unmergeChat": "Mostra els xats per separat", + "@unmergeChat": { + "description": "Action on merged chats to show them as separate chats again" + }, + "mergeChatTitle": "Combina xats", + "@mergeChatTitle": { + "description": "Title of the page that merges two chats" + }, + "mergeWith": "Combina amb", + "@mergeWith": { + "description": "Heading of the chats one can merge with" + }, + "relayBotIn": "Bot a {chat}", + "@relayBotIn": { + "description": "Heading of the members of a chat to pick the bot from that relays messages to the other chat", + "placeholders": { + "chat": { + "type": "String", + "example": "Tox" + } + } + }, + "relayedMessages": "{relayed} de {count} missatges retransmesos", + "@relayedMessages": { + "description": "How many of a chat member's messages look like a bot relayed them", + "placeholders": { + "relayed": { + "type": "int" + }, + "count": { + "type": "int" + } + } + }, + "noChatsToMerge": "No hi ha altres xats de grup", + "@noChatsToMerge": { + "description": "Shown when there are no chats to merge with" + }, + "merge": "Combina", + "@merge": { + "description": "Button that merges the chats" + }, + "exported": "S'han exportat les dades", + "@exported": { + "description": "Shown when the backup was saved" + }, + "exportFailed": "No s'han pogut exportar les dades", + "@exportFailed": { + "description": "Error when the backup couldn't be made or saved" + }, + "locationOff": "Activa la ubicació per compartir on ets", + "@locationOff": { + "description": "Shown when sharing a location while location is off on the device" + }, + "locationDenied": "bTox necessita permís per utilitzar la teva ubicació", + "@locationDenied": { + "description": "Shown when sharing a location without the permission" + }, + "locationFailed": "No s'ha pogut trobar on ets", + "@locationFailed": { + "description": "Error when the location couldn't be found" + }, + "openSettings": "Configuració", + "@openSettings": { + "description": "Button opening the device's settings to fix a problem" + }, + "ownToxIdError": "Aquest és el teu propi ID de Tox", + "@ownToxIdError": { + "description": "Error when adding your own Tox ID as a contact" + }, + "addContactFailed": "No s'ha pogut afegir el contacte", + "@addContactFailed": { + "description": "Error when a contact couldn't be saved" + }, + "chatClosed": "Ja no pots enviar missatges a aquest xat", + "@chatClosed": { + "description": "Shown in place of the message input for a deleted contact or a group left" + }, + "friendRequest": "Sol·licitud d'amistat", + "@friendRequest": { + "description": "Title of the notification for a friend request" + }, + "inviteNotification": "Invitació a un xat", + "@inviteNotification": { + "description": "Title of the notification for an invite to a group or conference" + }, + "groupInvite": "{friend} t'ha convidat a {chat}", + "@groupInvite": { + "description": "An invite to a group, above the chats and in its notification", + "placeholders": { + "friend": { + "type": "String" + }, + "chat": { + "type": "String" + } + } + }, + "conferenceInvite": "{friend} t'ha convidat a una conferència", + "@conferenceInvite": { + "description": "An invite to a conference, whose invite has no name, above the chats and in its notification", + "placeholders": { + "friend": { + "type": "String" + } + } + }, + "joinInvite": "Uneix-t'hi", + "@joinInvite": { + "description": "The button that joins the chat of an invite" + }, + "declineInvite": "Rebutja", + "@declineInvite": { + "description": "The button that declines an invite to a chat" + }, + "joiningInvite": "S'està unint…", + "@joiningInvite": { + "description": "Under an invite answered to join, until the account's home device joined" + }, + "inviteNeedsPassword": "Cal la contrasenya del grup. Demana una invitació nova.", + "@inviteNeedsPassword": { + "description": "Under an invite to a group that turned the account away for a missing or wrong password, which spent the invite" + }, + "inviteSpent": "No t'hi has pogut unir. Demana una invitació nova.", + "@inviteSpent": { + "description": "Under an invite whose chat turned the account away for another reason, which spent the invite" + }, + "inviteFailed": "No t'hi has pogut unir", + "@inviteFailed": { + "description": "Under an invite whose chat the account's home device couldn't join, which can be tried again" + }, + "groupPasswordHelper": "Deixa-ho buit si el grup no en té", + "@groupPasswordHelper": { + "description": "Under the password field when joining a group from an invite" + }, + "retryInvite": "Torna-ho a provar", + "@retryInvite": { + "description": "The button that tries joining the chat of an invite again" + }, + "chatInAccount": "{chat} · {account}", + "@chatInAccount": { + "description": "Title of a chat's notification while several accounts are signed in: the chat, then the account it's in", + "placeholders": { + "chat": { + "type": "String" + }, + "account": { + "type": "String" + } + } + }, + "newestMessages": "Missatges més recents", + "@newestMessages": { + "description": "Tooltip of the button that scrolls a chat to its newest messages" + }, + "noChats": "Encara no hi ha xats", + "@noChats": { + "description": "Shown on the Chats tab when there are no chats" + }, + "noChatsHint": "Afegeix un contacte amb el botó + per començar a xatejar", + "@noChatsHint": { + "description": "How to start a first chat, under noChats" } } diff --git a/lib/l10n/app_de.arb b/lib/l10n/app_de.arb index c6391c14..bd40cdb6 100644 --- a/lib/l10n/app_de.arb +++ b/lib/l10n/app_de.arb @@ -30,7 +30,7 @@ "@profileTextFieldUserStatusMessage": { "description": "The text for the status message field" }, - "defaultContactName": "Eine Person", + "defaultContactName": "Unbekannt", "@defaultContactName": { "description": "The default name for a contact when the name is not yet known" }, @@ -52,7 +52,7 @@ } } }, - "addContactMessageLengthError": "Maximum {max} Zeichen ({length} ist zu lang)", + "addContactMessageLengthError": "Maximal {max} Zeichen ({length} ist zu lang)", "@addContactMessageLengthError": { "description": "The error message when the friend request message is too long", "placeholders": { @@ -66,7 +66,7 @@ } } }, - "toxIdLengthError": "Muss {length} hexadezimale Zeichen sein", + "toxIdLengthError": "Muss aus {length} Hexadezimalzeichen bestehen", "@toxIdLengthError": { "description": "The error message when the Tox ID is not the right length or format", "placeholders": { @@ -102,7 +102,7 @@ "@applyChanges": { "description": "The text for the button to apply changes" }, - "applied": "Angewendet", + "applied": "Übernommen", "@applied": { "description": "The text when changes have been applied" }, @@ -130,7 +130,7 @@ "@delete": { "description": "The text for the delete button" }, - "profileDeleted": "Profil „{name}“ gelöscht", + "profileDeleted": "Profil \"{name}\" gelöscht", "@profileDeleted": { "description": "The text when a profile has been deleted", "placeholders": { @@ -140,7 +140,7 @@ } } }, - "deleteProfileMessage": "Möchten Sie Ihr Profil „{name}“ wirklich löschen? Diese Aktion kann nicht rückgängig gemacht werden. Dabei werden alle Ihre Kontakte und Nachrichten gelöscht. Stellen Sie sicher, dass Sie ein Backup haben.", + "deleteProfileMessage": "Möchtest du dein Profil \"{name}\" wirklich löschen? Diese Aktion kann nicht rückgängig gemacht werden. Dabei werden alle deine Kontakte und Nachrichten gelöscht. Stelle sicher, dass du ein Backup hast.", "@deleteProfileMessage": { "description": "The message to confirm the deletion of a profile", "placeholders": { @@ -159,5 +159,911 @@ "example": "Hello" } } + }, + "copyToxId": "Tox-ID kopieren", + "@copyToxId": { + "description": "The tooltip for copying your own Tox ID" + }, + "toxIdCopied": "Tox-ID kopiert", + "@toxIdCopied": { + "description": "The message shown after copying your own Tox ID" + }, + "toxIdChecksumError": "Keine gültige Tox-ID, bitte auf Tippfehler prüfen", + "@toxIdChecksumError": { + "description": "The error message when the Tox ID's checksum doesn't match, e.g. because of a typo" + }, + "logoutMessage": "{name} empfängt keine Nachrichten mehr, bis du dich wieder damit anmeldest.", + "@logoutMessage": { + "description": "Asks whether to sign the current account out", + "placeholders": { + "name": { + "type": "String", + "example": "Alice" + } + } + }, + "acceptFriendRequest": "Kontaktanfrage annehmen", + "@acceptFriendRequest": { + "description": "The tooltip for accepting an incoming friend request" + }, + "rejectFriendRequest": "Kontaktanfrage ablehnen", + "@rejectFriendRequest": { + "description": "The tooltip for rejecting an incoming friend request" + }, + "online": "Online", + "@online": { + "description": "A contact's connection state, for screen readers" + }, + "offline": "Offline", + "@offline": { + "description": "A contact's connection state, for screen readers" + }, + "deleteContact": "Kontakt löschen", + "@deleteContact": { + "description": "The title of the dialog for deleting a contact" + }, + "deleteContactMessage": "\"{name}\" aus deinen Kontakten löschen?", + "@deleteContactMessage": { + "description": "The message to confirm the deletion of a contact", + "placeholders": { + "name": { + "type": "String", + "example": "Alice" + } + } + }, + "contactDeleted": "Kontakt \"{name}\" gelöscht", + "@contactDeleted": { + "description": "The text when a contact has been deleted", + "placeholders": { + "name": { + "type": "String", + "example": "Alice" + } + } + }, + "import": "Importieren", + "@import": { + "description": "The button that confirms importing a profile" + }, + "password": "Passwort", + "@password": { + "description": "The label for a password: an encrypted profile's, or a group's" + }, + "wrongPassword": "Falsches Passwort", + "@wrongPassword": { + "description": "The error when an encrypted profile's password is wrong" + }, + "profileImported": "Profil \"{name}\" importiert", + "@profileImported": { + "description": "The text when a profile has been imported", + "placeholders": { + "name": { + "type": "String", + "example": "Alice" + } + } + }, + "profileAlreadyImported": "Dieses Profil ist bereits in bTox", + "@profileAlreadyImported": { + "description": "The error when importing a profile that bTox already has" + }, + "exportData": "Daten exportieren", + "@exportData": { + "description": "Settings entry that saves all accounts and messages to a file" + }, + "exportDataHint": "Alle Konten und Nachrichten, mit einem Passwort verschlüsselt", + "@exportDataHint": { + "description": "Explanation below the export data setting" + }, + "importData": "Daten importieren", + "@importData": { + "description": "The setting, button and dialog title for importing a bTox export or a .tox profile file" + }, + "importDataHint": "Ein bTox-Export oder ein Tox-Profil aus einem anderen Client", + "@importDataHint": { + "description": "Explanation below the import data setting" + }, + "export": "Exportieren", + "@export": { + "description": "Button that exports data" + }, + "accountsRestored": "{count, plural, =0{Das Backup enthält keine neuen Konten} =1{1 Konto wiederhergestellt} other{{count} Konten wiederhergestellt}}", + "@accountsRestored": { + "description": "Shown after importing accounts from a bTox backup", + "placeholders": { + "count": { + "type": "int" + } + } + }, + "notAToxProfile": "Kein Tox-Profil", + "@notAToxProfile": { + "description": "The error when the chosen file isn't a Tox profile" + }, + "stayOnline": "Nach dem Schließen online bleiben", + "@stayOnline": { + "description": "The setting to keep running in the background after closing the app" + }, + "stayOnlineHint": "Hält alle angemeldeten Konten online", + "@stayOnlineHint": { + "description": "Explains that stay online applies to every signed-in account" + }, + "accounts": "Konten", + "@accounts": { + "description": "The menu item for signing in and managing accounts" + }, + "appSettings": "App", + "@appSettings": { + "description": "The heading of the settings for the whole app" + }, + "accountSettings": "Konto: {name}", + "@accountSettings": { + "description": "The heading of the settings for one account", + "placeholders": { + "name": { + "type": "String", + "example": "Alice" + } + } + }, + "autoAcceptFiles": "Dateien automatisch annehmen bis", + "@autoAcceptFiles": { + "description": "The setting for the largest incoming file accepted without asking" + }, + "never": "Nie", + "@never": { + "description": "Auto-accepting no files at all" + }, + "acceptFile": "Annehmen", + "@acceptFile": { + "description": "The button to receive an offered file" + }, + "declineFile": "Ablehnen", + "@declineFile": { + "description": "The button to refuse an offered file" + }, + "downloadFile": "Herunterladen", + "@downloadFile": { + "description": "The button to fetch a file the account's home device holds" + }, + "fileCancelled": "Abgebrochen", + "@fileCancelled": { + "description": "A file transfer that was declined or stopped" + }, + "filePaused": "Pausiert, bis die Person wieder online ist", + "@filePaused": { + "description": "An incoming file that stopped part way, which goes on when the sender sends it again" + }, + "udpEnabled": "UDP verwenden", + "@udpEnabled": { + "description": "The setting for Tox's UDP transport" + }, + "udpEnabledHint": "Wenn aus, nur über TCP-Relays verbinden", + "@udpEnabledHint": { + "description": "Explains turning off UDP" + }, + "ipv6Enabled": "IPv6 verwenden", + "@ipv6Enabled": { + "description": "The setting for connecting over IPv6" + }, + "localDiscoveryEnabled": "Lokale Erkennung", + "@localDiscoveryEnabled": { + "description": "The setting for finding friends on the local network" + }, + "localDiscoveryEnabledHint": "Kontakte im selben Netzwerk direkt finden", + "@localDiscoveryEnabledHint": { + "description": "Explains local discovery" + }, + "offWithProxy": "Aus, solange ein Proxy verwendet wird, der nur TCP überträgt", + "@offWithProxy": { + "description": "Why UDP and local discovery are off when a proxy is set" + }, + "proxy": "Proxy", + "@proxy": { + "description": "The proxy setting and dialog title" + }, + "proxyNone": "Keiner", + "@proxyNone": { + "description": "No proxy" + }, + "proxyHost": "Host", + "@proxyHost": { + "description": "The label for the proxy host field" + }, + "proxyPort": "Port", + "@proxyPort": { + "description": "The label for the proxy port field" + }, + "invalidProxyHost": "Gib einen Host ein", + "@invalidProxyHost": { + "description": "The error when the proxy host is empty" + }, + "invalidProxyPort": "Gib einen Port von 1 bis 65535 ein", + "@invalidProxyPort": { + "description": "The error when the proxy port is out of range" + }, + "save": "Speichern", + "@save": { + "description": "The text for the save button" + }, + "attachCamera": "Kamera", + "@attachCamera": { + "description": "Button to take a photo to send" + }, + "attachGallery": "Galerie", + "@attachGallery": { + "description": "Button to choose images to send" + }, + "attachFile": "Datei", + "@attachFile": { + "description": "Button to choose files to send" + }, + "attachLocation": "Standort", + "@attachLocation": { + "description": "Button to send the current location" + }, + "linkAccount": "Konto verknüpfen", + "@linkAccount": { + "description": "Action to use an account that runs on another device" + }, + "pairingLink": "Kopplungslink", + "@pairingLink": { + "description": "Label of the field for another device's pairing link" + }, + "pairingLinkHelp": "Füge den Kopplungslink des Geräts ein, auf dem das Konto läuft.", + "@pairingLinkHelp": { + "description": "Explains where the pairing link comes from" + }, + "invalidPairingLink": "Das ist kein Kopplungslink", + "@invalidPairingLink": { + "description": "Error when the pasted text isn't a pairing link" + }, + "link": "Verknüpfen", + "@link": { + "description": "Button that links an account" + }, + "linkedAccount": "Verknüpftes Konto", + "@linkedAccount": { + "description": "Name of a linked account until its name has synced" + }, + "linkedAccountName": "{name} (verknüpft)", + "@linkedAccountName": { + "description": "A linked account where accounts are listed to choose from", + "placeholders": { + "name": { + "type": "String" + } + } + }, + "sendFailed": "Die Nachricht konnte nicht gesendet werden", + "@sendFailed": { + "description": "Error when a message couldn't be saved for sending" + }, + "saveFailed": "Konnte nicht gespeichert werden", + "@saveFailed": { + "description": "Error when something the user did couldn't be saved" + }, + "importFailed": "Diese Datei konnte nicht importiert werden", + "@importFailed": { + "description": "Error when a profile or backup file couldn't be imported" + }, + "linkFailed": "Das Konto konnte nicht verknüpft werden", + "@linkFailed": { + "description": "Error when a linked account couldn't be added" + }, + "chats": "Chats", + "@chats": { + "description": "The tab of the main page listing chats" + }, + "calls": "Anrufe", + "@calls": { + "description": "The tab of the main page listing calls" + }, + "voiceCall": "Sprachanruf", + "@voiceCall": { + "description": "A call button's tooltip, and a call still going on in a chat" + }, + "videoCall": "Videoanruf", + "@videoCall": { + "description": "A video call button's tooltip, and a video call still going on in a chat" + }, + "outgoingVideoCall": "Ausgehender Videoanruf", + "@outgoingVideoCall": { + "description": "A video call we made, in a chat" + }, + "incomingVideoCall": "Eingehender Videoanruf", + "@incomingVideoCall": { + "description": "A video call the friend made, in a chat and while it rings" + }, + "missedVideoCall": "Verpasster Videoanruf", + "@missedVideoCall": { + "description": "A video call that rang here and wasn't answered" + }, + "callCamera": "Kamera", + "@callCamera": { + "description": "The button that turns the camera on or off in a call" + }, + "flipCamera": "Kamera wechseln", + "@flipCamera": { + "description": "The button that switches between the front and back camera in a call" + }, + "cameraNeeded": "bTox darf die Kamera nicht verwenden, der Anruf läuft ohne sie weiter", + "@cameraNeeded": { + "description": "Shown when bTox may not use the camera for a video call, which goes on without video" + }, + "outgoingCall": "Ausgehender Sprachanruf", + "@outgoingCall": { + "description": "A call we made, in a chat" + }, + "incomingCall": "Eingehender Sprachanruf", + "@incomingCall": { + "description": "A call the friend made, in a chat and while it rings" + }, + "missedCall": "Verpasster Sprachanruf", + "@missedCall": { + "description": "A call that rang here and wasn't answered" + }, + "callWithDuration": "{call} · {duration}", + "@callWithDuration": { + "description": "A call in a chat, with how long it was", + "placeholders": { + "call": { + "type": "String" + }, + "duration": { + "type": "String" + } + } + }, + "incomingCalls": "Eingehende Anrufe", + "@incomingCalls": { + "description": "The notification channel that rings" + }, + "missedCalls": "Verpasste Anrufe", + "@missedCalls": { + "description": "The notification channel for missed calls" + }, + "callOngoing": "Anruf läuft", + "@callOngoing": { + "description": "The notification while a call goes on" + }, + "calling": "Wird angerufen…", + "@calling": { + "description": "Our call, while it rings at the friend's" + }, + "connecting": "Verbinden…", + "@connecting": { + "description": "A call answered here, until it's connected" + }, + "answerCall": "Annehmen", + "@answerCall": { + "description": "The button that answers a call" + }, + "declineCall": "Ablehnen", + "@declineCall": { + "description": "The button that declines a call" + }, + "hangUp": "Auflegen", + "@hangUp": { + "description": "The button that ends a call" + }, + "muteCall": "Stummschalten", + "@muteCall": { + "description": "The button that mutes the microphone in a call" + }, + "callSpeaker": "Lautsprecher", + "@callSpeaker": { + "description": "The button that puts a call on the loudspeaker" + }, + "callEarpiece": "Telefon", + "@callEarpiece": { + "description": "Where a call's audio can go: the phone's earpiece" + }, + "callWired": "Kopfhörer", + "@callWired": { + "description": "Where a call's audio can go: wired headphones" + }, + "callBluetooth": "Bluetooth", + "@callBluetooth": { + "description": "Where a call's audio can go: a Bluetooth headset" + }, + "hideCall": "Anruf ausblenden", + "@hideCall": { + "description": "The button that shows the chats during a call" + }, + "returnToCall": "Zurück zum Anruf", + "@returnToCall": { + "description": "The banner over the chats during a call" + }, + "microphoneNeeded": "Anrufe benötigen das Mikrofon", + "@microphoneNeeded": { + "description": "Shown when bTox may not use the microphone" + }, + "ringOverLockScreen": "Anrufe können nicht über dem Sperrbildschirm klingeln", + "@ringOverLockScreen": { + "description": "Shown on the Calls tab while Android doesn't let bTox show incoming calls full screen" + }, + "allowRingOverLockScreen": "Erlauben", + "@allowRingOverLockScreen": { + "description": "The button that opens the setting letting calls ring full screen" + }, + "relayBotNames": "Namen von einem Relay-Bot", + "@relayBotNames": { + "description": "The action, and its page, that shows the names a bot relays from another chat in a group chat" + }, + "stopRelayBotNames": "Namen vom Relay-Bot nicht mehr anzeigen", + "@stopRelayBotNames": { + "description": "The action that shows a relay bot's messages as its own again" + }, + "showNames": "Namen anzeigen", + "@showNames": { + "description": "The button that starts showing the names a relay bot relays" + }, + "noCalls": "Keine kürzlichen Anrufe", + "@noCalls": { + "description": "Shown on the Calls tab when there are no calls" + }, + "callsNotAvailable": "Anrufe laufen über das Gerät, mit dem dieses Konto verknüpft ist, und es kann sie gerade nicht annehmen", + "@callsNotAvailable": { + "description": "Shown on the Calls tab of a linked account while its home device is offline, or doesn't connect calls to its devices" + }, + "notImplemented": "Noch nicht verfügbar", + "@notImplemented": { + "description": "Shown for a menu item that doesn't work yet" + }, + "openLinkFailed": "Keine App kann diesen Link öffnen", + "@openLinkFailed": { + "description": "Shown when tapping a link in a message opens nothing" + }, + "reply": "Antworten", + "@reply": { + "description": "Message menu item to reply to the message" + }, + "forward": "Weiterleiten", + "@forward": { + "description": "Message menu item to forward the message" + }, + "chatDetails": "Chatdetails", + "@chatDetails": { + "description": "The tooltip of a chat's title, which opens who the chat is with" + }, + "chatMembers": "{count, plural, =1{1 Mitglied} other{{count} Mitglieder}}", + "@chatMembers": { + "description": "The heading of the people in a group or conference, counting yourself", + "placeholders": { + "count": { + "type": "int" + } + } + }, + "you": "Du", + "@you": { + "description": "Yourself, among the people in a chat" + }, + "muteChat": "Benachrichtigungen stummschalten", + "@muteChat": { + "description": "The action, and its dialog, that stops a chat's notifications for a while" + }, + "unmuteChat": "Stummschaltung aufheben", + "@unmuteChat": { + "description": "The action that lets a muted chat notify again" + }, + "muteForAnHour": "Für 1 Stunde", + "@muteForAnHour": { + "description": "How long to mute a chat for" + }, + "muteForEightHours": "Für 8 Stunden", + "@muteForEightHours": { + "description": "How long to mute a chat for" + }, + "muteForAWeek": "Für 1 Woche", + "@muteForAWeek": { + "description": "How long to mute a chat for" + }, + "muteAlways": "Immer", + "@muteAlways": { + "description": "Mutes a chat until it's unmuted" + }, + "notifyMentions": "Bei Erwähnungen trotzdem benachrichtigen", + "@notifyMentions": { + "description": "In the dialog muting a group chat: messages naming you still notify" + }, + "mutedUntil": "Stummgeschaltet bis {time}", + "@mutedUntil": { + "description": "How long a chat stays muted", + "placeholders": { + "time": { + "type": "String", + "example": "Thu 17:00" + } + } + }, + "mutedAlways": "Stummgeschaltet", + "@mutedAlways": { + "description": "A chat muted until it's unmuted" + }, + "sendPicturesAsQoi": "Bilder als QOI senden", + "@sendPicturesAsQoi": { + "description": "A friend chat's setting: camera and gallery pictures sent as QOI" + }, + "sendPicturesAsQoiHint": "Verlustfrei, aber größer, und nicht jede App zeigt QOI an", + "@sendPicturesAsQoiHint": { + "description": "Under the setting to send pictures as QOI" + }, + "seenThrough": "Gesehen über {bot}", + "@seenThrough": { + "description": "Heading of the names a relay bot has relayed in the chat's history, under the bot among the people in a chat, though they may not be there now", + "placeholders": { + "bot": { + "type": "String", + "example": "EPiG-BrDG" + } + } + }, + "showMoreSeen": "{count, plural, =1{1 weiteren anzeigen} other{{count} weitere anzeigen}}", + "@showMoreSeen": { + "description": "Shows the names a relay bot relayed longer ago", + "placeholders": { + "count": { + "type": "int" + } + } + }, + "roleFounder": "Gründer", + "@roleFounder": { + "description": "The role of whoever created a group" + }, + "roleModerator": "Moderator", + "@roleModerator": { + "description": "The role of someone who can moderate a group" + }, + "roleObserver": "Beobachter", + "@roleObserver": { + "description": "The role of someone who can only read a group" + }, + "statusAway": "Abwesend", + "@statusAway": { + "description": "Someone's status when they're away" + }, + "statusBusy": "Beschäftigt", + "@statusBusy": { + "description": "Someone's status when they're busy" + }, + "membersWhileOnline": "Wer hier ist, wird angezeigt, solange das Hauptgerät des Kontos online ist", + "@membersWhileOnline": { + "description": "In place of a linked account's chat members, while its home device can't say who they are" + }, + "publicKey": "Öffentlicher Schlüssel", + "@publicKey": { + "description": "The heading of a friend's public key, which Tox knows them by" + }, + "publicKeyCopied": "Öffentlicher Schlüssel kopiert", + "@publicKeyCopied": { + "description": "The message shown after copying a friend's public key" + }, + "copy": "Kopieren", + "@copy": { + "description": "Message menu item to copy the message's text" + }, + "select": "Auswählen", + "@select": { + "description": "Message menu item to select messages" + }, + "forwardTo": "Weiterleiten an", + "@forwardTo": { + "description": "The title of the page that picks a chat to forward messages to" + }, + "messagesForwarded": "{count, plural, =1{Nachricht weitergeleitet} other{{count} Nachrichten weitergeleitet}}", + "@messagesForwarded": { + "description": "The message shown after forwarding messages", + "placeholders": { + "count": { + "type": "int" + } + } + }, + "messageInfo": "Nachrichtendetails", + "@messageInfo": { + "description": "The title of the page a message's Info opens" + }, + "messageSent": "Gesendet", + "@messageSent": { + "description": "On a message's details, when ours was sent" + }, + "messageSending": "Wird gesendet", + "@messageSending": { + "description": "On a message's details, in place of messageSent while ours waits to go" + }, + "messageDelivered": "Zugestellt", + "@messageDelivered": { + "description": "On a message's details, when ours arrived" + }, + "messageReceived": "Empfangen", + "@messageReceived": { + "description": "On a message's details, when someone else's came" + }, + "messageFrom": "Von", + "@messageFrom": { + "description": "On a message's details, the heading of who sent someone else's" + }, + "messagesSelected": "{count} ausgewählt", + "@messagesSelected": { + "description": "The chat's title while messages are selected", + "placeholders": { + "count": { + "type": "int" + } + } + }, + "messagesCopied": "{count, plural, =1{Nachricht kopiert} other{{count} Nachrichten kopiert}}", + "@messagesCopied": { + "description": "The message shown after copying messages' text", + "placeholders": { + "count": { + "type": "int" + } + } + }, + "info": "Info", + "@info": { + "description": "Message menu item to show the message's details" + }, + "today": "Heute", + "@today": { + "description": "Above the messages of today in a chat" + }, + "yesterday": "Gestern", + "@yesterday": { + "description": "Above the messages of yesterday in a chat" + }, + "loadFailed": "Etwas ist schiefgelaufen", + "@loadFailed": { + "description": "Shown in place of a page that couldn't be loaded" + }, + "locationMessage": "Standort", + "@locationMessage": { + "description": "A shared location, as the chat list shows it" + }, + "emoji": "Emoji", + "@emoji": { + "description": "The button in the message box that opens the emoji picker" + }, + "send": "Senden", + "@send": { + "description": "The button that sends what is written in the message box" + }, + "attach": "Anhängen", + "@attach": { + "description": "The button in the message box that opens what can be attached" + }, + "cancelReply": "Antwort abbrechen", + "@cancelReply": { + "description": "The button that stops replying to a message" + }, + "removeAttachment": "Entfernen", + "@removeAttachment": { + "description": "The button on an attachment waiting to be sent that takes it away" + }, + "attachFailed": "Konnte nicht angehängt werden", + "@attachFailed": { + "description": "Shown when a picture or file couldn't be picked or copied to send" + }, + "dayAndTime": "{day} {time}", + "@dayAndTime": { + "description": "A day and a time on it, as in 'muted until Fri 14:00'", + "placeholders": { + "day": { + "type": "String", + "example": "Fri" + }, + "time": { + "type": "String", + "example": "14:00" + } + } + }, + "draftLabel": "Entwurf:", + "@draftLabel": { + "description": "Before what is being written in a chat, as the chat list shows it" + }, + "messageV3": "TRIfA-Nachrichten-IDs", + "@messageV3": { + "description": "Setting to read the ID TRIfA adds to its messages" + }, + "messageV3Hint": "Blendet die ID aus, die TRIfA an Nachrichten anhängt, und zeigt erneut gesendete Nachrichten nur einmal an", + "@messageV3Hint": { + "description": "What reading TRIfA's message IDs does" + }, + "titleWithAccount": "bTox ({name})", + "@titleWithAccount": { + "description": "The title of the chat list, with the account it shows", + "placeholders": { + "name": { + "type": "String", + "example": "Alice" + } + } + }, + "deleteChatToo": "Auch deine Nachrichten und Dateien mit dieser Person endgültig löschen", + "@deleteChatToo": { + "description": "Option when deleting a contact to delete the chat with them too" + }, + "profileDeleteFailed": "Profil \"{name}\" konnte nicht gelöscht werden", + "@profileDeleteFailed": { + "description": "Error when a profile couldn't be deleted", + "placeholders": { + "name": { + "type": "String", + "example": "Alice" + } + } + }, + "mergeChat": "Mit anderem Chat zusammenführen", + "@mergeChat": { + "description": "Action on a group chat to show it together with another that a bot relays messages between" + }, + "unmergeChat": "Chats getrennt anzeigen", + "@unmergeChat": { + "description": "Action on merged chats to show them as separate chats again" + }, + "mergeChatTitle": "Chats zusammenführen", + "@mergeChatTitle": { + "description": "Title of the page that merges two chats" + }, + "mergeWith": "Zusammenführen mit", + "@mergeWith": { + "description": "Heading of the chats one can merge with" + }, + "relayBotIn": "Bot in {chat}", + "@relayBotIn": { + "description": "Heading of the members of a chat to pick the bot from that relays messages to the other chat", + "placeholders": { + "chat": { + "type": "String", + "example": "Tox" + } + } + }, + "relayedMessages": "{relayed} von {count} Nachrichten übermittelt", + "@relayedMessages": { + "description": "How many of a chat member's messages look like a bot relayed them", + "placeholders": { + "relayed": { + "type": "int" + }, + "count": { + "type": "int" + } + } + }, + "noChatsToMerge": "Keine anderen Gruppenchats", + "@noChatsToMerge": { + "description": "Shown when there are no chats to merge with" + }, + "merge": "Zusammenführen", + "@merge": { + "description": "Button that merges the chats" + }, + "exported": "Daten exportiert", + "@exported": { + "description": "Shown when the backup was saved" + }, + "exportFailed": "Die Daten konnten nicht exportiert werden", + "@exportFailed": { + "description": "Error when the backup couldn't be made or saved" + }, + "locationOff": "Schalte den Standort ein, um ihn zu teilen", + "@locationOff": { + "description": "Shown when sharing a location while location is off on the device" + }, + "locationDenied": "bTox benötigt die Berechtigung, deinen Standort zu verwenden", + "@locationDenied": { + "description": "Shown when sharing a location without the permission" + }, + "locationFailed": "Dein Standort konnte nicht ermittelt werden", + "@locationFailed": { + "description": "Error when the location couldn't be found" + }, + "openSettings": "Einstellungen", + "@openSettings": { + "description": "Button opening the device's settings to fix a problem" + }, + "ownToxIdError": "Das ist deine eigene Tox-ID", + "@ownToxIdError": { + "description": "Error when adding your own Tox ID as a contact" + }, + "addContactFailed": "Der Kontakt konnte nicht hinzugefügt werden", + "@addContactFailed": { + "description": "Error when a contact couldn't be saved" + }, + "chatClosed": "Du kannst in diesem Chat keine Nachrichten mehr senden", + "@chatClosed": { + "description": "Shown in place of the message input for a deleted contact or a group left" + }, + "friendRequest": "Kontaktanfrage", + "@friendRequest": { + "description": "Title of the notification for a friend request" + }, + "inviteNotification": "Einladung zu einem Chat", + "@inviteNotification": { + "description": "Title of the notification for an invite to a group or conference" + }, + "groupInvite": "{friend} hat dich zu {chat} eingeladen", + "@groupInvite": { + "description": "An invite to a group, above the chats and in its notification", + "placeholders": { + "friend": { + "type": "String" + }, + "chat": { + "type": "String" + } + } + }, + "conferenceInvite": "{friend} hat dich zu einer Konferenz eingeladen", + "@conferenceInvite": { + "description": "An invite to a conference, whose invite has no name, above the chats and in its notification", + "placeholders": { + "friend": { + "type": "String" + } + } + }, + "joinInvite": "Beitreten", + "@joinInvite": { + "description": "The button that joins the chat of an invite" + }, + "declineInvite": "Ablehnen", + "@declineInvite": { + "description": "The button that declines an invite to a chat" + }, + "joiningInvite": "Beitritt läuft…", + "@joiningInvite": { + "description": "Under an invite answered to join, until the account's home device joined" + }, + "inviteNeedsPassword": "Benötigt das Gruppenpasswort. Bitte um eine neue Einladung.", + "@inviteNeedsPassword": { + "description": "Under an invite to a group that turned the account away for a missing or wrong password, which spent the invite" + }, + "inviteSpent": "Beitritt fehlgeschlagen. Bitte um eine neue Einladung.", + "@inviteSpent": { + "description": "Under an invite whose chat turned the account away for another reason, which spent the invite" + }, + "inviteFailed": "Beitritt fehlgeschlagen", + "@inviteFailed": { + "description": "Under an invite whose chat the account's home device couldn't join, which can be tried again" + }, + "groupPasswordHelper": "Leer lassen, wenn die Gruppe keins hat", + "@groupPasswordHelper": { + "description": "Under the password field when joining a group from an invite" + }, + "retryInvite": "Erneut versuchen", + "@retryInvite": { + "description": "The button that tries joining the chat of an invite again" + }, + "chatInAccount": "{chat} · {account}", + "@chatInAccount": { + "description": "Title of a chat's notification while several accounts are signed in: the chat, then the account it's in", + "placeholders": { + "chat": { + "type": "String" + }, + "account": { + "type": "String" + } + } + }, + "newestMessages": "Neueste Nachrichten", + "@newestMessages": { + "description": "Tooltip of the button that scrolls a chat to its newest messages" + }, + "noChats": "Noch keine Chats", + "@noChats": { + "description": "Shown on the Chats tab when there are no chats" + }, + "noChatsHint": "Füge mit der +-Schaltfläche einen Kontakt hinzu, um zu chatten", + "@noChatsHint": { + "description": "How to start a first chat, under noChats" } } diff --git a/lib/l10n/app_es.arb b/lib/l10n/app_es.arb index 72639e61..079acbd4 100644 --- a/lib/l10n/app_es.arb +++ b/lib/l10n/app_es.arb @@ -3,7 +3,7 @@ "@defaultContactName": { "description": "The default name for a contact when the name is not yet known" }, - "addContact": "Agregar contacto", + "addContact": "Añadir contacto", "@addContact": { "description": "The text for the button to add a contact" }, @@ -29,7 +29,7 @@ "@toxId": { "description": "The text for the Tox ID field" }, - "defaultAddContactMessage": "Hola, yo soy {nick}, ven a charlar conmigo en bTox!", + "defaultAddContactMessage": "Hola, soy {nick}, ¡ven a charlar conmigo en bTox!", "@defaultAddContactMessage": { "description": "The default message to send when adding a contact", "placeholders": { @@ -57,7 +57,7 @@ "@add": { "description": "The text for the button to add a contact" }, - "toxIdLengthError": "Debe ser {length} caracteres hexadecimales", + "toxIdLengthError": "Debe tener {length} caracteres hexadecimales", "@toxIdLengthError": { "description": "The error message when the Tox ID is not the right length or format", "placeholders": { @@ -79,7 +79,7 @@ "@menuSettings": { "description": "The text for the settings menu item" }, - "nickLengthError": "El apodo debe ser entre 1 y {max} caracteres", + "nickLengthError": "El apodo debe tener entre 1 y {max} caracteres", "@nickLengthError": { "description": "The error message when the nickname is too short or too long", "placeholders": { @@ -107,7 +107,7 @@ "@profileTextFieldUserStatusMessage": { "description": "The text for the status message field" }, - "applyChanges": "Aplica cambios", + "applyChanges": "Aplicar cambios", "@applyChanges": { "description": "The text for the button to apply changes" }, @@ -158,5 +158,911 @@ "example": "Alice" } } + }, + "copyToxId": "Copiar ID Tox", + "@copyToxId": { + "description": "The tooltip for copying your own Tox ID" + }, + "toxIdCopied": "ID Tox copiado", + "@toxIdCopied": { + "description": "The message shown after copying your own Tox ID" + }, + "toxIdChecksumError": "No es un ID Tox válido, revisa que no tenga errores", + "@toxIdChecksumError": { + "description": "The error message when the Tox ID's checksum doesn't match, e.g. because of a typo" + }, + "logoutMessage": "{name} dejará de recibir mensajes hasta que vuelvas a iniciar sesión.", + "@logoutMessage": { + "description": "Asks whether to sign the current account out", + "placeholders": { + "name": { + "type": "String", + "example": "Alice" + } + } + }, + "acceptFriendRequest": "Aceptar solicitud de amistad", + "@acceptFriendRequest": { + "description": "The tooltip for accepting an incoming friend request" + }, + "rejectFriendRequest": "Rechazar solicitud de amistad", + "@rejectFriendRequest": { + "description": "The tooltip for rejecting an incoming friend request" + }, + "online": "En línea", + "@online": { + "description": "A contact's connection state, for screen readers" + }, + "offline": "Desconectado", + "@offline": { + "description": "A contact's connection state, for screen readers" + }, + "deleteContact": "Borrar contacto", + "@deleteContact": { + "description": "The title of the dialog for deleting a contact" + }, + "deleteContactMessage": "¿Borrar a \"{name}\" de tus contactos?", + "@deleteContactMessage": { + "description": "The message to confirm the deletion of a contact", + "placeholders": { + "name": { + "type": "String", + "example": "Alice" + } + } + }, + "contactDeleted": "Contacto \"{name}\" borrado", + "@contactDeleted": { + "description": "The text when a contact has been deleted", + "placeholders": { + "name": { + "type": "String", + "example": "Alice" + } + } + }, + "import": "Importar", + "@import": { + "description": "The button that confirms importing a profile" + }, + "password": "Contraseña", + "@password": { + "description": "The label for a password: an encrypted profile's, or a group's" + }, + "wrongPassword": "Contraseña incorrecta", + "@wrongPassword": { + "description": "The error when an encrypted profile's password is wrong" + }, + "profileImported": "Perfil \"{name}\" importado", + "@profileImported": { + "description": "The text when a profile has been imported", + "placeholders": { + "name": { + "type": "String", + "example": "Alice" + } + } + }, + "profileAlreadyImported": "Este perfil ya está en bTox", + "@profileAlreadyImported": { + "description": "The error when importing a profile that bTox already has" + }, + "exportData": "Exportar datos", + "@exportData": { + "description": "Settings entry that saves all accounts and messages to a file" + }, + "exportDataHint": "Todas las cuentas y mensajes, cifrados con una contraseña", + "@exportDataHint": { + "description": "Explanation below the export data setting" + }, + "importData": "Importar datos", + "@importData": { + "description": "The setting, button and dialog title for importing a bTox export or a .tox profile file" + }, + "importDataHint": "Una exportación de bTox o un perfil Tox de otro cliente", + "@importDataHint": { + "description": "Explanation below the import data setting" + }, + "export": "Exportar", + "@export": { + "description": "Button that exports data" + }, + "accountsRestored": "{count, plural, =0{La copia no tiene cuentas nuevas} =1{1 cuenta restaurada} other{{count} cuentas restauradas}}", + "@accountsRestored": { + "description": "Shown after importing accounts from a bTox backup", + "placeholders": { + "count": { + "type": "int" + } + } + }, + "notAToxProfile": "No es un perfil Tox", + "@notAToxProfile": { + "description": "The error when the chosen file isn't a Tox profile" + }, + "stayOnline": "Seguir en línea al cerrar", + "@stayOnline": { + "description": "The setting to keep running in the background after closing the app" + }, + "stayOnlineHint": "Mantiene en línea todas las cuentas con sesión iniciada", + "@stayOnlineHint": { + "description": "Explains that stay online applies to every signed-in account" + }, + "accounts": "Cuentas", + "@accounts": { + "description": "The menu item for signing in and managing accounts" + }, + "appSettings": "Aplicación", + "@appSettings": { + "description": "The heading of the settings for the whole app" + }, + "accountSettings": "Cuenta: {name}", + "@accountSettings": { + "description": "The heading of the settings for one account", + "placeholders": { + "name": { + "type": "String", + "example": "Alice" + } + } + }, + "autoAcceptFiles": "Aceptar archivos automáticamente hasta", + "@autoAcceptFiles": { + "description": "The setting for the largest incoming file accepted without asking" + }, + "never": "Nunca", + "@never": { + "description": "Auto-accepting no files at all" + }, + "acceptFile": "Aceptar", + "@acceptFile": { + "description": "The button to receive an offered file" + }, + "declineFile": "Rechazar", + "@declineFile": { + "description": "The button to refuse an offered file" + }, + "downloadFile": "Descargar", + "@downloadFile": { + "description": "The button to fetch a file the account's home device holds" + }, + "fileCancelled": "Cancelado", + "@fileCancelled": { + "description": "A file transfer that was declined or stopped" + }, + "filePaused": "En pausa hasta que vuelva a estar en línea", + "@filePaused": { + "description": "An incoming file that stopped part way, which goes on when the sender sends it again" + }, + "udpEnabled": "Usar UDP", + "@udpEnabled": { + "description": "The setting for Tox's UDP transport" + }, + "udpEnabledHint": "Si está desactivado, conecta solo mediante relés TCP", + "@udpEnabledHint": { + "description": "Explains turning off UDP" + }, + "ipv6Enabled": "Usar IPv6", + "@ipv6Enabled": { + "description": "The setting for connecting over IPv6" + }, + "localDiscoveryEnabled": "Descubrimiento local", + "@localDiscoveryEnabled": { + "description": "The setting for finding friends on the local network" + }, + "localDiscoveryEnabledHint": "Encuentra amigos directamente en la misma red", + "@localDiscoveryEnabledHint": { + "description": "Explains local discovery" + }, + "offWithProxy": "Desactivado con un proxy, que solo transmite TCP", + "@offWithProxy": { + "description": "Why UDP and local discovery are off when a proxy is set" + }, + "proxy": "Proxy", + "@proxy": { + "description": "The proxy setting and dialog title" + }, + "proxyNone": "Ninguno", + "@proxyNone": { + "description": "No proxy" + }, + "proxyHost": "Host", + "@proxyHost": { + "description": "The label for the proxy host field" + }, + "proxyPort": "Puerto", + "@proxyPort": { + "description": "The label for the proxy port field" + }, + "invalidProxyHost": "Introduce un host", + "@invalidProxyHost": { + "description": "The error when the proxy host is empty" + }, + "invalidProxyPort": "Introduce un puerto del 1 al 65535", + "@invalidProxyPort": { + "description": "The error when the proxy port is out of range" + }, + "save": "Guardar", + "@save": { + "description": "The text for the save button" + }, + "attachCamera": "Cámara", + "@attachCamera": { + "description": "Button to take a photo to send" + }, + "attachGallery": "Galería", + "@attachGallery": { + "description": "Button to choose images to send" + }, + "attachFile": "Archivo", + "@attachFile": { + "description": "Button to choose files to send" + }, + "attachLocation": "Ubicación", + "@attachLocation": { + "description": "Button to send the current location" + }, + "linkAccount": "Vincular una cuenta", + "@linkAccount": { + "description": "Action to use an account that runs on another device" + }, + "pairingLink": "Enlace de vinculación", + "@pairingLink": { + "description": "Label of the field for another device's pairing link" + }, + "pairingLinkHelp": "Pega el enlace de vinculación del dispositivo en el que funciona la cuenta.", + "@pairingLinkHelp": { + "description": "Explains where the pairing link comes from" + }, + "invalidPairingLink": "Esto no es un enlace de vinculación", + "@invalidPairingLink": { + "description": "Error when the pasted text isn't a pairing link" + }, + "link": "Vincular", + "@link": { + "description": "Button that links an account" + }, + "linkedAccount": "Cuenta vinculada", + "@linkedAccount": { + "description": "Name of a linked account until its name has synced" + }, + "linkedAccountName": "{name} (vinculada)", + "@linkedAccountName": { + "description": "A linked account where accounts are listed to choose from", + "placeholders": { + "name": { + "type": "String" + } + } + }, + "sendFailed": "No se pudo enviar el mensaje", + "@sendFailed": { + "description": "Error when a message couldn't be saved for sending" + }, + "saveFailed": "No se pudo guardar", + "@saveFailed": { + "description": "Error when something the user did couldn't be saved" + }, + "importFailed": "No se pudo importar este archivo", + "@importFailed": { + "description": "Error when a profile or backup file couldn't be imported" + }, + "linkFailed": "No se pudo vincular la cuenta", + "@linkFailed": { + "description": "Error when a linked account couldn't be added" + }, + "chats": "Chats", + "@chats": { + "description": "The tab of the main page listing chats" + }, + "calls": "Llamadas", + "@calls": { + "description": "The tab of the main page listing calls" + }, + "voiceCall": "Llamada de voz", + "@voiceCall": { + "description": "A call button's tooltip, and a call still going on in a chat" + }, + "videoCall": "Videollamada", + "@videoCall": { + "description": "A video call button's tooltip, and a video call still going on in a chat" + }, + "outgoingVideoCall": "Videollamada saliente", + "@outgoingVideoCall": { + "description": "A video call we made, in a chat" + }, + "incomingVideoCall": "Videollamada entrante", + "@incomingVideoCall": { + "description": "A video call the friend made, in a chat and while it rings" + }, + "missedVideoCall": "Videollamada perdida", + "@missedVideoCall": { + "description": "A video call that rang here and wasn't answered" + }, + "callCamera": "Cámara", + "@callCamera": { + "description": "The button that turns the camera on or off in a call" + }, + "flipCamera": "Cambiar cámara", + "@flipCamera": { + "description": "The button that switches between the front and back camera in a call" + }, + "cameraNeeded": "bTox no puede usar la cámara, así que la llamada sigue sin vídeo", + "@cameraNeeded": { + "description": "Shown when bTox may not use the camera for a video call, which goes on without video" + }, + "outgoingCall": "Llamada de voz saliente", + "@outgoingCall": { + "description": "A call we made, in a chat" + }, + "incomingCall": "Llamada de voz entrante", + "@incomingCall": { + "description": "A call the friend made, in a chat and while it rings" + }, + "missedCall": "Llamada de voz perdida", + "@missedCall": { + "description": "A call that rang here and wasn't answered" + }, + "callWithDuration": "{call} · {duration}", + "@callWithDuration": { + "description": "A call in a chat, with how long it was", + "placeholders": { + "call": { + "type": "String" + }, + "duration": { + "type": "String" + } + } + }, + "incomingCalls": "Llamadas entrantes", + "@incomingCalls": { + "description": "The notification channel that rings" + }, + "missedCalls": "Llamadas perdidas", + "@missedCalls": { + "description": "The notification channel for missed calls" + }, + "callOngoing": "Llamada en curso", + "@callOngoing": { + "description": "The notification while a call goes on" + }, + "calling": "Llamando…", + "@calling": { + "description": "Our call, while it rings at the friend's" + }, + "connecting": "Conectando…", + "@connecting": { + "description": "A call answered here, until it's connected" + }, + "answerCall": "Contestar", + "@answerCall": { + "description": "The button that answers a call" + }, + "declineCall": "Rechazar", + "@declineCall": { + "description": "The button that declines a call" + }, + "hangUp": "Colgar", + "@hangUp": { + "description": "The button that ends a call" + }, + "muteCall": "Silenciar", + "@muteCall": { + "description": "The button that mutes the microphone in a call" + }, + "callSpeaker": "Altavoz", + "@callSpeaker": { + "description": "The button that puts a call on the loudspeaker" + }, + "callEarpiece": "Teléfono", + "@callEarpiece": { + "description": "Where a call's audio can go: the phone's earpiece" + }, + "callWired": "Auriculares", + "@callWired": { + "description": "Where a call's audio can go: wired headphones" + }, + "callBluetooth": "Bluetooth", + "@callBluetooth": { + "description": "Where a call's audio can go: a Bluetooth headset" + }, + "hideCall": "Ocultar la llamada", + "@hideCall": { + "description": "The button that shows the chats during a call" + }, + "returnToCall": "Volver a la llamada", + "@returnToCall": { + "description": "The banner over the chats during a call" + }, + "microphoneNeeded": "Las llamadas necesitan el micrófono", + "@microphoneNeeded": { + "description": "Shown when bTox may not use the microphone" + }, + "ringOverLockScreen": "Las llamadas no pueden sonar sobre la pantalla de bloqueo", + "@ringOverLockScreen": { + "description": "Shown on the Calls tab while Android doesn't let bTox show incoming calls full screen" + }, + "allowRingOverLockScreen": "Permitir", + "@allowRingOverLockScreen": { + "description": "The button that opens the setting letting calls ring full screen" + }, + "relayBotNames": "Nombres de un bot retransmisor", + "@relayBotNames": { + "description": "The action, and its page, that shows the names a bot relays from another chat in a group chat" + }, + "stopRelayBotNames": "Dejar de mostrar los nombres del bot retransmisor", + "@stopRelayBotNames": { + "description": "The action that shows a relay bot's messages as its own again" + }, + "showNames": "Mostrar nombres", + "@showNames": { + "description": "The button that starts showing the names a relay bot relays" + }, + "noCalls": "No hay llamadas recientes", + "@noCalls": { + "description": "Shown on the Calls tab when there are no calls" + }, + "callsNotAvailable": "Las llamadas pasan por el dispositivo al que está vinculada esta cuenta, que ahora no puede atenderlas", + "@callsNotAvailable": { + "description": "Shown on the Calls tab of a linked account while its home device is offline, or doesn't connect calls to its devices" + }, + "notImplemented": "Aún no disponible", + "@notImplemented": { + "description": "Shown for a menu item that doesn't work yet" + }, + "openLinkFailed": "Ninguna app puede abrir este enlace", + "@openLinkFailed": { + "description": "Shown when tapping a link in a message opens nothing" + }, + "reply": "Responder", + "@reply": { + "description": "Message menu item to reply to the message" + }, + "forward": "Reenviar", + "@forward": { + "description": "Message menu item to forward the message" + }, + "chatDetails": "Detalles del chat", + "@chatDetails": { + "description": "The tooltip of a chat's title, which opens who the chat is with" + }, + "chatMembers": "{count, plural, =1{1 miembro} other{{count} miembros}}", + "@chatMembers": { + "description": "The heading of the people in a group or conference, counting yourself", + "placeholders": { + "count": { + "type": "int" + } + } + }, + "you": "Tú", + "@you": { + "description": "Yourself, among the people in a chat" + }, + "muteChat": "Silenciar notificaciones", + "@muteChat": { + "description": "The action, and its dialog, that stops a chat's notifications for a while" + }, + "unmuteChat": "Activar notificaciones", + "@unmuteChat": { + "description": "The action that lets a muted chat notify again" + }, + "muteForAnHour": "Durante 1 hora", + "@muteForAnHour": { + "description": "How long to mute a chat for" + }, + "muteForEightHours": "Durante 8 horas", + "@muteForEightHours": { + "description": "How long to mute a chat for" + }, + "muteForAWeek": "Durante 1 semana", + "@muteForAWeek": { + "description": "How long to mute a chat for" + }, + "muteAlways": "Siempre", + "@muteAlways": { + "description": "Mutes a chat until it's unmuted" + }, + "notifyMentions": "Notificarme igualmente las menciones", + "@notifyMentions": { + "description": "In the dialog muting a group chat: messages naming you still notify" + }, + "mutedUntil": "Silenciado hasta {time}", + "@mutedUntil": { + "description": "How long a chat stays muted", + "placeholders": { + "time": { + "type": "String", + "example": "Thu 17:00" + } + } + }, + "mutedAlways": "Silenciado", + "@mutedAlways": { + "description": "A chat muted until it's unmuted" + }, + "sendPicturesAsQoi": "Enviar imágenes como QOI", + "@sendPicturesAsQoi": { + "description": "A friend chat's setting: camera and gallery pictures sent as QOI" + }, + "sendPicturesAsQoiHint": "Sin pérdida, pero más pesadas, y no todas las apps muestran QOI", + "@sendPicturesAsQoiHint": { + "description": "Under the setting to send pictures as QOI" + }, + "seenThrough": "Vistos a través de {bot}", + "@seenThrough": { + "description": "Heading of the names a relay bot has relayed in the chat's history, under the bot among the people in a chat, though they may not be there now", + "placeholders": { + "bot": { + "type": "String", + "example": "EPiG-BrDG" + } + } + }, + "showMoreSeen": "{count, plural, =1{Mostrar 1 más} other{Mostrar {count} más}}", + "@showMoreSeen": { + "description": "Shows the names a relay bot relayed longer ago", + "placeholders": { + "count": { + "type": "int" + } + } + }, + "roleFounder": "Fundador", + "@roleFounder": { + "description": "The role of whoever created a group" + }, + "roleModerator": "Moderador", + "@roleModerator": { + "description": "The role of someone who can moderate a group" + }, + "roleObserver": "Observador", + "@roleObserver": { + "description": "The role of someone who can only read a group" + }, + "statusAway": "Ausente", + "@statusAway": { + "description": "Someone's status when they're away" + }, + "statusBusy": "Ocupado", + "@statusBusy": { + "description": "Someone's status when they're busy" + }, + "membersWhileOnline": "Los miembros se muestran mientras el dispositivo principal de la cuenta está en línea", + "@membersWhileOnline": { + "description": "In place of a linked account's chat members, while its home device can't say who they are" + }, + "publicKey": "Clave pública", + "@publicKey": { + "description": "The heading of a friend's public key, which Tox knows them by" + }, + "publicKeyCopied": "Clave pública copiada", + "@publicKeyCopied": { + "description": "The message shown after copying a friend's public key" + }, + "copy": "Copiar", + "@copy": { + "description": "Message menu item to copy the message's text" + }, + "select": "Seleccionar", + "@select": { + "description": "Message menu item to select messages" + }, + "forwardTo": "Reenviar a", + "@forwardTo": { + "description": "The title of the page that picks a chat to forward messages to" + }, + "messagesForwarded": "{count, plural, =1{Mensaje reenviado} other{{count} mensajes reenviados}}", + "@messagesForwarded": { + "description": "The message shown after forwarding messages", + "placeholders": { + "count": { + "type": "int" + } + } + }, + "messageInfo": "Detalles del mensaje", + "@messageInfo": { + "description": "The title of the page a message's Info opens" + }, + "messageSent": "Enviado", + "@messageSent": { + "description": "On a message's details, when ours was sent" + }, + "messageSending": "Enviando", + "@messageSending": { + "description": "On a message's details, in place of messageSent while ours waits to go" + }, + "messageDelivered": "Entregado", + "@messageDelivered": { + "description": "On a message's details, when ours arrived" + }, + "messageReceived": "Recibido", + "@messageReceived": { + "description": "On a message's details, when someone else's came" + }, + "messageFrom": "De", + "@messageFrom": { + "description": "On a message's details, the heading of who sent someone else's" + }, + "messagesSelected": "{count, plural, =1{1 seleccionado} other{{count} seleccionados}}", + "@messagesSelected": { + "description": "The chat's title while messages are selected", + "placeholders": { + "count": { + "type": "int" + } + } + }, + "messagesCopied": "{count, plural, =1{Mensaje copiado} other{{count} mensajes copiados}}", + "@messagesCopied": { + "description": "The message shown after copying messages' text", + "placeholders": { + "count": { + "type": "int" + } + } + }, + "info": "Info", + "@info": { + "description": "Message menu item to show the message's details" + }, + "today": "Hoy", + "@today": { + "description": "Above the messages of today in a chat" + }, + "yesterday": "Ayer", + "@yesterday": { + "description": "Above the messages of yesterday in a chat" + }, + "loadFailed": "Algo salió mal", + "@loadFailed": { + "description": "Shown in place of a page that couldn't be loaded" + }, + "locationMessage": "Ubicación", + "@locationMessage": { + "description": "A shared location, as the chat list shows it" + }, + "emoji": "Emoji", + "@emoji": { + "description": "The button in the message box that opens the emoji picker" + }, + "send": "Enviar", + "@send": { + "description": "The button that sends what is written in the message box" + }, + "attach": "Adjuntar", + "@attach": { + "description": "The button in the message box that opens what can be attached" + }, + "cancelReply": "Cancelar respuesta", + "@cancelReply": { + "description": "The button that stops replying to a message" + }, + "removeAttachment": "Quitar", + "@removeAttachment": { + "description": "The button on an attachment waiting to be sent that takes it away" + }, + "attachFailed": "No se pudo adjuntar", + "@attachFailed": { + "description": "Shown when a picture or file couldn't be picked or copied to send" + }, + "dayAndTime": "{day} {time}", + "@dayAndTime": { + "description": "A day and a time on it, as in 'muted until Fri 14:00'", + "placeholders": { + "day": { + "type": "String", + "example": "Fri" + }, + "time": { + "type": "String", + "example": "14:00" + } + } + }, + "draftLabel": "Borrador:", + "@draftLabel": { + "description": "Before what is being written in a chat, as the chat list shows it" + }, + "messageV3": "ID de mensaje de TRIfA", + "@messageV3": { + "description": "Setting to read the ID TRIfA adds to its messages" + }, + "messageV3Hint": "Oculta el ID que TRIfA añade a los mensajes y muestra solo una vez un mensaje que reenvía", + "@messageV3Hint": { + "description": "What reading TRIfA's message IDs does" + }, + "titleWithAccount": "bTox ({name})", + "@titleWithAccount": { + "description": "The title of the chat list, with the account it shows", + "placeholders": { + "name": { + "type": "String", + "example": "Alice" + } + } + }, + "deleteChatToo": "Borrar también para siempre tus mensajes y archivos con este contacto", + "@deleteChatToo": { + "description": "Option when deleting a contact to delete the chat with them too" + }, + "profileDeleteFailed": "No se pudo borrar el perfil \"{name}\"", + "@profileDeleteFailed": { + "description": "Error when a profile couldn't be deleted", + "placeholders": { + "name": { + "type": "String", + "example": "Alice" + } + } + }, + "mergeChat": "Unir con otro chat", + "@mergeChat": { + "description": "Action on a group chat to show it together with another that a bot relays messages between" + }, + "unmergeChat": "Mostrar los chats por separado", + "@unmergeChat": { + "description": "Action on merged chats to show them as separate chats again" + }, + "mergeChatTitle": "Unir chats", + "@mergeChatTitle": { + "description": "Title of the page that merges two chats" + }, + "mergeWith": "Unir con", + "@mergeWith": { + "description": "Heading of the chats one can merge with" + }, + "relayBotIn": "Bot en {chat}", + "@relayBotIn": { + "description": "Heading of the members of a chat to pick the bot from that relays messages to the other chat", + "placeholders": { + "chat": { + "type": "String", + "example": "Tox" + } + } + }, + "relayedMessages": "{relayed} de {count} mensajes retransmitidos", + "@relayedMessages": { + "description": "How many of a chat member's messages look like a bot relayed them", + "placeholders": { + "relayed": { + "type": "int" + }, + "count": { + "type": "int" + } + } + }, + "noChatsToMerge": "No hay otros chats de grupo", + "@noChatsToMerge": { + "description": "Shown when there are no chats to merge with" + }, + "merge": "Unir", + "@merge": { + "description": "Button that merges the chats" + }, + "exported": "Datos exportados", + "@exported": { + "description": "Shown when the backup was saved" + }, + "exportFailed": "No se pudieron exportar los datos", + "@exportFailed": { + "description": "Error when the backup couldn't be made or saved" + }, + "locationOff": "Activa la ubicación para compartir dónde estás", + "@locationOff": { + "description": "Shown when sharing a location while location is off on the device" + }, + "locationDenied": "bTox necesita permiso para usar tu ubicación", + "@locationDenied": { + "description": "Shown when sharing a location without the permission" + }, + "locationFailed": "No se pudo encontrar tu ubicación", + "@locationFailed": { + "description": "Error when the location couldn't be found" + }, + "openSettings": "Ajustes", + "@openSettings": { + "description": "Button opening the device's settings to fix a problem" + }, + "ownToxIdError": "Este es tu propio ID Tox", + "@ownToxIdError": { + "description": "Error when adding your own Tox ID as a contact" + }, + "addContactFailed": "No se pudo añadir el contacto", + "@addContactFailed": { + "description": "Error when a contact couldn't be saved" + }, + "chatClosed": "Ya no puedes enviar mensajes a este chat", + "@chatClosed": { + "description": "Shown in place of the message input for a deleted contact or a group left" + }, + "friendRequest": "Solicitud de amistad", + "@friendRequest": { + "description": "Title of the notification for a friend request" + }, + "inviteNotification": "Invitación a un chat", + "@inviteNotification": { + "description": "Title of the notification for an invite to a group or conference" + }, + "groupInvite": "{friend} te invitó a {chat}", + "@groupInvite": { + "description": "An invite to a group, above the chats and in its notification", + "placeholders": { + "friend": { + "type": "String" + }, + "chat": { + "type": "String" + } + } + }, + "conferenceInvite": "{friend} te invitó a una conferencia", + "@conferenceInvite": { + "description": "An invite to a conference, whose invite has no name, above the chats and in its notification", + "placeholders": { + "friend": { + "type": "String" + } + } + }, + "joinInvite": "Unirse", + "@joinInvite": { + "description": "The button that joins the chat of an invite" + }, + "declineInvite": "Rechazar", + "@declineInvite": { + "description": "The button that declines an invite to a chat" + }, + "joiningInvite": "Uniéndote…", + "@joiningInvite": { + "description": "Under an invite answered to join, until the account's home device joined" + }, + "inviteNeedsPassword": "Hace falta la contraseña del grupo. Pide una nueva invitación.", + "@inviteNeedsPassword": { + "description": "Under an invite to a group that turned the account away for a missing or wrong password, which spent the invite" + }, + "inviteSpent": "No fue posible unirse. Pide una nueva invitación.", + "@inviteSpent": { + "description": "Under an invite whose chat turned the account away for another reason, which spent the invite" + }, + "inviteFailed": "No fue posible unirse", + "@inviteFailed": { + "description": "Under an invite whose chat the account's home device couldn't join, which can be tried again" + }, + "groupPasswordHelper": "Déjalo vacío si el grupo no tiene ninguna", + "@groupPasswordHelper": { + "description": "Under the password field when joining a group from an invite" + }, + "retryInvite": "Reintentar", + "@retryInvite": { + "description": "The button that tries joining the chat of an invite again" + }, + "chatInAccount": "{chat} · {account}", + "@chatInAccount": { + "description": "Title of a chat's notification while several accounts are signed in: the chat, then the account it's in", + "placeholders": { + "chat": { + "type": "String" + }, + "account": { + "type": "String" + } + } + }, + "newestMessages": "Mensajes más recientes", + "@newestMessages": { + "description": "Tooltip of the button that scrolls a chat to its newest messages" + }, + "noChats": "Aún no hay chats", + "@noChats": { + "description": "Shown on the Chats tab when there are no chats" + }, + "noChatsHint": "Añade un contacto con el botón + para empezar a chatear", + "@noChatsHint": { + "description": "How to start a first chat, under noChats" } } diff --git a/lib/l10n/app_fr.arb b/lib/l10n/app_fr.arb index c0039ef7..07eef96f 100644 --- a/lib/l10n/app_fr.arb +++ b/lib/l10n/app_fr.arb @@ -29,7 +29,7 @@ "@toxId": { "description": "The text for the Tox ID field" }, - "defaultAddContactMessage": "Salut, je suis {nick}, viens discuter avec moi sur bTox !", + "defaultAddContactMessage": "Salut, je suis {nick}, viens discuter avec moi sur bTox !", "@defaultAddContactMessage": { "description": "The default message to send when adding a contact", "placeholders": { @@ -43,7 +43,7 @@ "@add": { "description": "The text for the button to add a contact" }, - "toxIdLengthError": "Doit être {length} caractères hexadécimaux", + "toxIdLengthError": "Doit comporter {length} caractères hexadécimaux", "@toxIdLengthError": { "description": "The error message when the Tox ID is not the right length or format", "placeholders": { @@ -65,7 +65,7 @@ "@menuSettings": { "description": "The text for the settings menu item" }, - "applyChanges": "Appliquer changements", + "applyChanges": "Appliquer les modifications", "@applyChanges": { "description": "The text for the button to apply changes" }, @@ -81,11 +81,11 @@ "@create": { "description": "The text for the button create a new profile" }, - "deleteProfile": "Supprimer profil", + "deleteProfile": "Supprimer le profil", "@deleteProfile": { "description": "The text for the delete profile menu item" }, - "deleteProfileMessage": "Êtes-vous sûr(e) de vouloir supprimer votre profil \"{name}\" ? Cette action ne peut pas être annulée. Elle supprimera tous vos contacts et messages. Assurez-vous d’avoir une sauvegarde.", + "deleteProfileMessage": "Êtes-vous sûr(e) de vouloir supprimer votre profil \"{name}\" ? Cette action ne peut pas être annulée. Elle supprimera tous vos contacts et messages. Assurez-vous d’avoir une sauvegarde.", "@deleteProfileMessage": { "description": "The message to confirm the deletion of a profile", "placeholders": { @@ -117,7 +117,7 @@ "@profileTextFieldNick": { "description": "The text for the nickname field" }, - "nickLengthError": "Le pseudonyme doit être entre 1 et {max} caractères", + "nickLengthError": "Le pseudonyme doit comporter entre 1 et {max} caractères", "@nickLengthError": { "description": "The error message when the nickname is too short or too long", "placeholders": { @@ -158,5 +158,911 @@ "logout": "Déconnexion", "@logout": { "description": "The text for the logout menu item" + }, + "copyToxId": "Copier l’ID Tox", + "@copyToxId": { + "description": "The tooltip for copying your own Tox ID" + }, + "toxIdCopied": "ID Tox copié", + "@toxIdCopied": { + "description": "The message shown after copying your own Tox ID" + }, + "toxIdChecksumError": "ID Tox non valide, vérifiez qu’il ne contient pas de faute de frappe", + "@toxIdChecksumError": { + "description": "The error message when the Tox ID's checksum doesn't match, e.g. because of a typo" + }, + "logoutMessage": "{name} ne recevra plus de messages jusqu’à ce que vous vous y reconnectiez.", + "@logoutMessage": { + "description": "Asks whether to sign the current account out", + "placeholders": { + "name": { + "type": "String", + "example": "Alice" + } + } + }, + "acceptFriendRequest": "Accepter la demande d’ami", + "@acceptFriendRequest": { + "description": "The tooltip for accepting an incoming friend request" + }, + "rejectFriendRequest": "Refuser la demande d’ami", + "@rejectFriendRequest": { + "description": "The tooltip for rejecting an incoming friend request" + }, + "online": "En ligne", + "@online": { + "description": "A contact's connection state, for screen readers" + }, + "offline": "Hors ligne", + "@offline": { + "description": "A contact's connection state, for screen readers" + }, + "deleteContact": "Supprimer le contact", + "@deleteContact": { + "description": "The title of the dialog for deleting a contact" + }, + "deleteContactMessage": "Supprimer \"{name}\" de vos contacts ?", + "@deleteContactMessage": { + "description": "The message to confirm the deletion of a contact", + "placeholders": { + "name": { + "type": "String", + "example": "Alice" + } + } + }, + "contactDeleted": "Contact \"{name}\" supprimé", + "@contactDeleted": { + "description": "The text when a contact has been deleted", + "placeholders": { + "name": { + "type": "String", + "example": "Alice" + } + } + }, + "import": "Importer", + "@import": { + "description": "The button that confirms importing a profile" + }, + "password": "Mot de passe", + "@password": { + "description": "The label for a password: an encrypted profile's, or a group's" + }, + "wrongPassword": "Mot de passe incorrect", + "@wrongPassword": { + "description": "The error when an encrypted profile's password is wrong" + }, + "profileImported": "Profil \"{name}\" importé", + "@profileImported": { + "description": "The text when a profile has been imported", + "placeholders": { + "name": { + "type": "String", + "example": "Alice" + } + } + }, + "profileAlreadyImported": "Ce profil est déjà dans bTox", + "@profileAlreadyImported": { + "description": "The error when importing a profile that bTox already has" + }, + "exportData": "Exporter les données", + "@exportData": { + "description": "Settings entry that saves all accounts and messages to a file" + }, + "exportDataHint": "Tous les comptes et messages, chiffrés avec un mot de passe", + "@exportDataHint": { + "description": "Explanation below the export data setting" + }, + "importData": "Importer des données", + "@importData": { + "description": "The setting, button and dialog title for importing a bTox export or a .tox profile file" + }, + "importDataHint": "Un export bTox, ou un profil Tox d’un autre client", + "@importDataHint": { + "description": "Explanation below the import data setting" + }, + "export": "Exporter", + "@export": { + "description": "Button that exports data" + }, + "accountsRestored": "{count, plural, =0{La sauvegarde ne contient aucun nouveau compte} =1{1 compte restauré} other{{count} comptes restaurés}}", + "@accountsRestored": { + "description": "Shown after importing accounts from a bTox backup", + "placeholders": { + "count": { + "type": "int" + } + } + }, + "notAToxProfile": "Ce n’est pas un profil Tox", + "@notAToxProfile": { + "description": "The error when the chosen file isn't a Tox profile" + }, + "stayOnline": "Rester en ligne après fermeture", + "@stayOnline": { + "description": "The setting to keep running in the background after closing the app" + }, + "stayOnlineHint": "Garde en ligne tous les comptes connectés", + "@stayOnlineHint": { + "description": "Explains that stay online applies to every signed-in account" + }, + "accounts": "Comptes", + "@accounts": { + "description": "The menu item for signing in and managing accounts" + }, + "appSettings": "Application", + "@appSettings": { + "description": "The heading of the settings for the whole app" + }, + "accountSettings": "Compte : {name}", + "@accountSettings": { + "description": "The heading of the settings for one account", + "placeholders": { + "name": { + "type": "String", + "example": "Alice" + } + } + }, + "autoAcceptFiles": "Accepter automatiquement les fichiers jusqu’à", + "@autoAcceptFiles": { + "description": "The setting for the largest incoming file accepted without asking" + }, + "never": "Jamais", + "@never": { + "description": "Auto-accepting no files at all" + }, + "acceptFile": "Accepter", + "@acceptFile": { + "description": "The button to receive an offered file" + }, + "declineFile": "Refuser", + "@declineFile": { + "description": "The button to refuse an offered file" + }, + "downloadFile": "Télécharger", + "@downloadFile": { + "description": "The button to fetch a file the account's home device holds" + }, + "fileCancelled": "Annulé", + "@fileCancelled": { + "description": "A file transfer that was declined or stopped" + }, + "filePaused": "En pause jusqu’à son retour en ligne", + "@filePaused": { + "description": "An incoming file that stopped part way, which goes on when the sender sends it again" + }, + "udpEnabled": "Utiliser UDP", + "@udpEnabled": { + "description": "The setting for Tox's UDP transport" + }, + "udpEnabledHint": "Désactivé, connexion uniquement via des relais TCP", + "@udpEnabledHint": { + "description": "Explains turning off UDP" + }, + "ipv6Enabled": "Utiliser IPv6", + "@ipv6Enabled": { + "description": "The setting for connecting over IPv6" + }, + "localDiscoveryEnabled": "Découverte locale", + "@localDiscoveryEnabled": { + "description": "The setting for finding friends on the local network" + }, + "localDiscoveryEnabledHint": "Trouver directement les amis sur le même réseau", + "@localDiscoveryEnabledHint": { + "description": "Explains local discovery" + }, + "offWithProxy": "Désactivé avec un proxy, qui ne transmet que TCP", + "@offWithProxy": { + "description": "Why UDP and local discovery are off when a proxy is set" + }, + "proxy": "Proxy", + "@proxy": { + "description": "The proxy setting and dialog title" + }, + "proxyNone": "Aucun", + "@proxyNone": { + "description": "No proxy" + }, + "proxyHost": "Hôte", + "@proxyHost": { + "description": "The label for the proxy host field" + }, + "proxyPort": "Port", + "@proxyPort": { + "description": "The label for the proxy port field" + }, + "invalidProxyHost": "Saisissez un hôte", + "@invalidProxyHost": { + "description": "The error when the proxy host is empty" + }, + "invalidProxyPort": "Saisissez un port entre 1 et 65535", + "@invalidProxyPort": { + "description": "The error when the proxy port is out of range" + }, + "save": "Enregistrer", + "@save": { + "description": "The text for the save button" + }, + "attachCamera": "Appareil photo", + "@attachCamera": { + "description": "Button to take a photo to send" + }, + "attachGallery": "Galerie", + "@attachGallery": { + "description": "Button to choose images to send" + }, + "attachFile": "Fichier", + "@attachFile": { + "description": "Button to choose files to send" + }, + "attachLocation": "Position", + "@attachLocation": { + "description": "Button to send the current location" + }, + "linkAccount": "Associer un compte", + "@linkAccount": { + "description": "Action to use an account that runs on another device" + }, + "pairingLink": "Lien d’association", + "@pairingLink": { + "description": "Label of the field for another device's pairing link" + }, + "pairingLinkHelp": "Collez le lien d’association de l’appareil sur lequel le compte fonctionne.", + "@pairingLinkHelp": { + "description": "Explains where the pairing link comes from" + }, + "invalidPairingLink": "Ce n’est pas un lien d’association", + "@invalidPairingLink": { + "description": "Error when the pasted text isn't a pairing link" + }, + "link": "Associer", + "@link": { + "description": "Button that links an account" + }, + "linkedAccount": "Compte associé", + "@linkedAccount": { + "description": "Name of a linked account until its name has synced" + }, + "linkedAccountName": "{name} (associé)", + "@linkedAccountName": { + "description": "A linked account where accounts are listed to choose from", + "placeholders": { + "name": { + "type": "String" + } + } + }, + "sendFailed": "Impossible d’envoyer le message", + "@sendFailed": { + "description": "Error when a message couldn't be saved for sending" + }, + "saveFailed": "Impossible d’enregistrer", + "@saveFailed": { + "description": "Error when something the user did couldn't be saved" + }, + "importFailed": "Impossible d’importer ce fichier", + "@importFailed": { + "description": "Error when a profile or backup file couldn't be imported" + }, + "linkFailed": "Impossible d’associer le compte", + "@linkFailed": { + "description": "Error when a linked account couldn't be added" + }, + "chats": "Discussions", + "@chats": { + "description": "The tab of the main page listing chats" + }, + "calls": "Appels", + "@calls": { + "description": "The tab of the main page listing calls" + }, + "voiceCall": "Appel vocal", + "@voiceCall": { + "description": "A call button's tooltip, and a call still going on in a chat" + }, + "videoCall": "Appel vidéo", + "@videoCall": { + "description": "A video call button's tooltip, and a video call still going on in a chat" + }, + "outgoingVideoCall": "Appel vidéo sortant", + "@outgoingVideoCall": { + "description": "A video call we made, in a chat" + }, + "incomingVideoCall": "Appel vidéo entrant", + "@incomingVideoCall": { + "description": "A video call the friend made, in a chat and while it rings" + }, + "missedVideoCall": "Appel vidéo manqué", + "@missedVideoCall": { + "description": "A video call that rang here and wasn't answered" + }, + "callCamera": "Caméra", + "@callCamera": { + "description": "The button that turns the camera on or off in a call" + }, + "flipCamera": "Changer de caméra", + "@flipCamera": { + "description": "The button that switches between the front and back camera in a call" + }, + "cameraNeeded": "bTox n’a pas accès à la caméra, l’appel continue sans vidéo", + "@cameraNeeded": { + "description": "Shown when bTox may not use the camera for a video call, which goes on without video" + }, + "outgoingCall": "Appel vocal sortant", + "@outgoingCall": { + "description": "A call we made, in a chat" + }, + "incomingCall": "Appel vocal entrant", + "@incomingCall": { + "description": "A call the friend made, in a chat and while it rings" + }, + "missedCall": "Appel vocal manqué", + "@missedCall": { + "description": "A call that rang here and wasn't answered" + }, + "callWithDuration": "{call} · {duration}", + "@callWithDuration": { + "description": "A call in a chat, with how long it was", + "placeholders": { + "call": { + "type": "String" + }, + "duration": { + "type": "String" + } + } + }, + "incomingCalls": "Appels entrants", + "@incomingCalls": { + "description": "The notification channel that rings" + }, + "missedCalls": "Appels manqués", + "@missedCalls": { + "description": "The notification channel for missed calls" + }, + "callOngoing": "Appel en cours", + "@callOngoing": { + "description": "The notification while a call goes on" + }, + "calling": "Appel…", + "@calling": { + "description": "Our call, while it rings at the friend's" + }, + "connecting": "Connexion…", + "@connecting": { + "description": "A call answered here, until it's connected" + }, + "answerCall": "Répondre", + "@answerCall": { + "description": "The button that answers a call" + }, + "declineCall": "Refuser", + "@declineCall": { + "description": "The button that declines a call" + }, + "hangUp": "Raccrocher", + "@hangUp": { + "description": "The button that ends a call" + }, + "muteCall": "Couper le micro", + "@muteCall": { + "description": "The button that mutes the microphone in a call" + }, + "callSpeaker": "Haut-parleur", + "@callSpeaker": { + "description": "The button that puts a call on the loudspeaker" + }, + "callEarpiece": "Téléphone", + "@callEarpiece": { + "description": "Where a call's audio can go: the phone's earpiece" + }, + "callWired": "Écouteurs", + "@callWired": { + "description": "Where a call's audio can go: wired headphones" + }, + "callBluetooth": "Bluetooth", + "@callBluetooth": { + "description": "Where a call's audio can go: a Bluetooth headset" + }, + "hideCall": "Masquer l’appel", + "@hideCall": { + "description": "The button that shows the chats during a call" + }, + "returnToCall": "Revenir à l’appel", + "@returnToCall": { + "description": "The banner over the chats during a call" + }, + "microphoneNeeded": "Les appels nécessitent le micro", + "@microphoneNeeded": { + "description": "Shown when bTox may not use the microphone" + }, + "ringOverLockScreen": "Les appels ne peuvent pas sonner sur l’écran de verrouillage", + "@ringOverLockScreen": { + "description": "Shown on the Calls tab while Android doesn't let bTox show incoming calls full screen" + }, + "allowRingOverLockScreen": "Autoriser", + "@allowRingOverLockScreen": { + "description": "The button that opens the setting letting calls ring full screen" + }, + "relayBotNames": "Noms transmis par un bot relais", + "@relayBotNames": { + "description": "The action, and its page, that shows the names a bot relays from another chat in a group chat" + }, + "stopRelayBotNames": "Ne plus afficher les noms du bot relais", + "@stopRelayBotNames": { + "description": "The action that shows a relay bot's messages as its own again" + }, + "showNames": "Afficher les noms", + "@showNames": { + "description": "The button that starts showing the names a relay bot relays" + }, + "noCalls": "Aucun appel récent", + "@noCalls": { + "description": "Shown on the Calls tab when there are no calls" + }, + "callsNotAvailable": "Les appels passent par l’appareil auquel ce compte est associé, qui ne peut pas les prendre pour l’instant", + "@callsNotAvailable": { + "description": "Shown on the Calls tab of a linked account while its home device is offline, or doesn't connect calls to its devices" + }, + "notImplemented": "Pas encore disponible", + "@notImplemented": { + "description": "Shown for a menu item that doesn't work yet" + }, + "openLinkFailed": "Aucune application ne peut ouvrir ce lien", + "@openLinkFailed": { + "description": "Shown when tapping a link in a message opens nothing" + }, + "reply": "Répondre", + "@reply": { + "description": "Message menu item to reply to the message" + }, + "forward": "Transférer", + "@forward": { + "description": "Message menu item to forward the message" + }, + "chatDetails": "Détails de la discussion", + "@chatDetails": { + "description": "The tooltip of a chat's title, which opens who the chat is with" + }, + "chatMembers": "{count, plural, one{{count} membre} other{{count} membres}}", + "@chatMembers": { + "description": "The heading of the people in a group or conference, counting yourself", + "placeholders": { + "count": { + "type": "int" + } + } + }, + "you": "Vous", + "@you": { + "description": "Yourself, among the people in a chat" + }, + "muteChat": "Désactiver les notifications", + "@muteChat": { + "description": "The action, and its dialog, that stops a chat's notifications for a while" + }, + "unmuteChat": "Réactiver les notifications", + "@unmuteChat": { + "description": "The action that lets a muted chat notify again" + }, + "muteForAnHour": "Pendant 1 heure", + "@muteForAnHour": { + "description": "How long to mute a chat for" + }, + "muteForEightHours": "Pendant 8 heures", + "@muteForEightHours": { + "description": "How long to mute a chat for" + }, + "muteForAWeek": "Pendant 1 semaine", + "@muteForAWeek": { + "description": "How long to mute a chat for" + }, + "muteAlways": "Toujours", + "@muteAlways": { + "description": "Mutes a chat until it's unmuted" + }, + "notifyMentions": "Me notifier quand même des mentions", + "@notifyMentions": { + "description": "In the dialog muting a group chat: messages naming you still notify" + }, + "mutedUntil": "En sourdine jusqu’à {time}", + "@mutedUntil": { + "description": "How long a chat stays muted", + "placeholders": { + "time": { + "type": "String", + "example": "Thu 17:00" + } + } + }, + "mutedAlways": "En sourdine", + "@mutedAlways": { + "description": "A chat muted until it's unmuted" + }, + "sendPicturesAsQoi": "Envoyer les photos en QOI", + "@sendPicturesAsQoi": { + "description": "A friend chat's setting: camera and gallery pictures sent as QOI" + }, + "sendPicturesAsQoiHint": "Sans perte, mais plus lourd, et certaines applis n’affichent pas QOI", + "@sendPicturesAsQoiHint": { + "description": "Under the setting to send pictures as QOI" + }, + "seenThrough": "Vus via {bot}", + "@seenThrough": { + "description": "Heading of the names a relay bot has relayed in the chat's history, under the bot among the people in a chat, though they may not be there now", + "placeholders": { + "bot": { + "type": "String", + "example": "EPiG-BrDG" + } + } + }, + "showMoreSeen": "{count, plural, =1{Afficher 1 de plus} other{Afficher {count} de plus}}", + "@showMoreSeen": { + "description": "Shows the names a relay bot relayed longer ago", + "placeholders": { + "count": { + "type": "int" + } + } + }, + "roleFounder": "Fondateur", + "@roleFounder": { + "description": "The role of whoever created a group" + }, + "roleModerator": "Modérateur", + "@roleModerator": { + "description": "The role of someone who can moderate a group" + }, + "roleObserver": "Observateur", + "@roleObserver": { + "description": "The role of someone who can only read a group" + }, + "statusAway": "Absent", + "@statusAway": { + "description": "Someone's status when they're away" + }, + "statusBusy": "Occupé", + "@statusBusy": { + "description": "Someone's status when they're busy" + }, + "membersWhileOnline": "Les membres s’affichent quand l’appareil principal du compte est en ligne", + "@membersWhileOnline": { + "description": "In place of a linked account's chat members, while its home device can't say who they are" + }, + "publicKey": "Clé publique", + "@publicKey": { + "description": "The heading of a friend's public key, which Tox knows them by" + }, + "publicKeyCopied": "Clé publique copiée", + "@publicKeyCopied": { + "description": "The message shown after copying a friend's public key" + }, + "copy": "Copier", + "@copy": { + "description": "Message menu item to copy the message's text" + }, + "select": "Sélectionner", + "@select": { + "description": "Message menu item to select messages" + }, + "forwardTo": "Transférer à", + "@forwardTo": { + "description": "The title of the page that picks a chat to forward messages to" + }, + "messagesForwarded": "{count, plural, =1{Message transféré} other{{count} messages transférés}}", + "@messagesForwarded": { + "description": "The message shown after forwarding messages", + "placeholders": { + "count": { + "type": "int" + } + } + }, + "messageInfo": "Détails du message", + "@messageInfo": { + "description": "The title of the page a message's Info opens" + }, + "messageSent": "Envoyé", + "@messageSent": { + "description": "On a message's details, when ours was sent" + }, + "messageSending": "Envoi en cours", + "@messageSending": { + "description": "On a message's details, in place of messageSent while ours waits to go" + }, + "messageDelivered": "Distribué", + "@messageDelivered": { + "description": "On a message's details, when ours arrived" + }, + "messageReceived": "Reçu", + "@messageReceived": { + "description": "On a message's details, when someone else's came" + }, + "messageFrom": "De", + "@messageFrom": { + "description": "On a message's details, the heading of who sent someone else's" + }, + "messagesSelected": "{count, plural, one{{count} sélectionné} other{{count} sélectionnés}}", + "@messagesSelected": { + "description": "The chat's title while messages are selected", + "placeholders": { + "count": { + "type": "int" + } + } + }, + "messagesCopied": "{count, plural, =1{Message copié} other{{count} messages copiés}}", + "@messagesCopied": { + "description": "The message shown after copying messages' text", + "placeholders": { + "count": { + "type": "int" + } + } + }, + "info": "Infos", + "@info": { + "description": "Message menu item to show the message's details" + }, + "today": "Aujourd’hui", + "@today": { + "description": "Above the messages of today in a chat" + }, + "yesterday": "Hier", + "@yesterday": { + "description": "Above the messages of yesterday in a chat" + }, + "loadFailed": "Une erreur s’est produite", + "@loadFailed": { + "description": "Shown in place of a page that couldn't be loaded" + }, + "locationMessage": "Position", + "@locationMessage": { + "description": "A shared location, as the chat list shows it" + }, + "emoji": "Emoji", + "@emoji": { + "description": "The button in the message box that opens the emoji picker" + }, + "send": "Envoyer", + "@send": { + "description": "The button that sends what is written in the message box" + }, + "attach": "Joindre", + "@attach": { + "description": "The button in the message box that opens what can be attached" + }, + "cancelReply": "Annuler la réponse", + "@cancelReply": { + "description": "The button that stops replying to a message" + }, + "removeAttachment": "Retirer", + "@removeAttachment": { + "description": "The button on an attachment waiting to be sent that takes it away" + }, + "attachFailed": "Impossible de joindre cet élément", + "@attachFailed": { + "description": "Shown when a picture or file couldn't be picked or copied to send" + }, + "dayAndTime": "{day} {time}", + "@dayAndTime": { + "description": "A day and a time on it, as in 'muted until Fri 14:00'", + "placeholders": { + "day": { + "type": "String", + "example": "Fri" + }, + "time": { + "type": "String", + "example": "14:00" + } + } + }, + "draftLabel": "Brouillon :", + "@draftLabel": { + "description": "Before what is being written in a chat, as the chat list shows it" + }, + "messageV3": "ID de message TRIfA", + "@messageV3": { + "description": "Setting to read the ID TRIfA adds to its messages" + }, + "messageV3Hint": "Masque l’ID que TRIfA ajoute aux messages et n’affiche qu’une fois un message qu’il renvoie", + "@messageV3Hint": { + "description": "What reading TRIfA's message IDs does" + }, + "titleWithAccount": "bTox ({name})", + "@titleWithAccount": { + "description": "The title of the chat list, with the account it shows", + "placeholders": { + "name": { + "type": "String", + "example": "Alice" + } + } + }, + "deleteChatToo": "Supprimer aussi définitivement vos messages et fichiers avec ce contact", + "@deleteChatToo": { + "description": "Option when deleting a contact to delete the chat with them too" + }, + "profileDeleteFailed": "Impossible de supprimer le profil \"{name}\"", + "@profileDeleteFailed": { + "description": "Error when a profile couldn't be deleted", + "placeholders": { + "name": { + "type": "String", + "example": "Alice" + } + } + }, + "mergeChat": "Fusionner avec une autre discussion", + "@mergeChat": { + "description": "Action on a group chat to show it together with another that a bot relays messages between" + }, + "unmergeChat": "Séparer les discussions", + "@unmergeChat": { + "description": "Action on merged chats to show them as separate chats again" + }, + "mergeChatTitle": "Fusionner les discussions", + "@mergeChatTitle": { + "description": "Title of the page that merges two chats" + }, + "mergeWith": "Fusionner avec", + "@mergeWith": { + "description": "Heading of the chats one can merge with" + }, + "relayBotIn": "Bot dans {chat}", + "@relayBotIn": { + "description": "Heading of the members of a chat to pick the bot from that relays messages to the other chat", + "placeholders": { + "chat": { + "type": "String", + "example": "Tox" + } + } + }, + "relayedMessages": "{relayed} messages relayés sur {count}", + "@relayedMessages": { + "description": "How many of a chat member's messages look like a bot relayed them", + "placeholders": { + "relayed": { + "type": "int" + }, + "count": { + "type": "int" + } + } + }, + "noChatsToMerge": "Aucune autre discussion de groupe", + "@noChatsToMerge": { + "description": "Shown when there are no chats to merge with" + }, + "merge": "Fusionner", + "@merge": { + "description": "Button that merges the chats" + }, + "exported": "Données exportées", + "@exported": { + "description": "Shown when the backup was saved" + }, + "exportFailed": "Impossible d’exporter les données", + "@exportFailed": { + "description": "Error when the backup couldn't be made or saved" + }, + "locationOff": "Activez la localisation pour partager votre position", + "@locationOff": { + "description": "Shown when sharing a location while location is off on the device" + }, + "locationDenied": "bTox a besoin de l’autorisation d’accéder à votre position", + "@locationDenied": { + "description": "Shown when sharing a location without the permission" + }, + "locationFailed": "Impossible de déterminer votre position", + "@locationFailed": { + "description": "Error when the location couldn't be found" + }, + "openSettings": "Paramètres", + "@openSettings": { + "description": "Button opening the device's settings to fix a problem" + }, + "ownToxIdError": "C’est votre propre ID Tox", + "@ownToxIdError": { + "description": "Error when adding your own Tox ID as a contact" + }, + "addContactFailed": "Impossible d’ajouter le contact", + "@addContactFailed": { + "description": "Error when a contact couldn't be saved" + }, + "chatClosed": "Vous ne pouvez plus envoyer de messages dans cette discussion", + "@chatClosed": { + "description": "Shown in place of the message input for a deleted contact or a group left" + }, + "friendRequest": "Demande d’ami", + "@friendRequest": { + "description": "Title of the notification for a friend request" + }, + "inviteNotification": "Invitation à une discussion", + "@inviteNotification": { + "description": "Title of the notification for an invite to a group or conference" + }, + "groupInvite": "{friend} vous a invité dans {chat}", + "@groupInvite": { + "description": "An invite to a group, above the chats and in its notification", + "placeholders": { + "friend": { + "type": "String" + }, + "chat": { + "type": "String" + } + } + }, + "conferenceInvite": "{friend} vous a invité à une conférence", + "@conferenceInvite": { + "description": "An invite to a conference, whose invite has no name, above the chats and in its notification", + "placeholders": { + "friend": { + "type": "String" + } + } + }, + "joinInvite": "Rejoindre", + "@joinInvite": { + "description": "The button that joins the chat of an invite" + }, + "declineInvite": "Refuser", + "@declineInvite": { + "description": "The button that declines an invite to a chat" + }, + "joiningInvite": "Connexion à la discussion…", + "@joiningInvite": { + "description": "Under an invite answered to join, until the account's home device joined" + }, + "inviteNeedsPassword": "Le mot de passe du groupe est requis. Demandez une nouvelle invitation.", + "@inviteNeedsPassword": { + "description": "Under an invite to a group that turned the account away for a missing or wrong password, which spent the invite" + }, + "inviteSpent": "Impossible de rejoindre. Demandez une nouvelle invitation.", + "@inviteSpent": { + "description": "Under an invite whose chat turned the account away for another reason, which spent the invite" + }, + "inviteFailed": "Impossible de rejoindre", + "@inviteFailed": { + "description": "Under an invite whose chat the account's home device couldn't join, which can be tried again" + }, + "groupPasswordHelper": "Laissez vide si le groupe n’en a pas", + "@groupPasswordHelper": { + "description": "Under the password field when joining a group from an invite" + }, + "retryInvite": "Réessayer", + "@retryInvite": { + "description": "The button that tries joining the chat of an invite again" + }, + "chatInAccount": "{chat} · {account}", + "@chatInAccount": { + "description": "Title of a chat's notification while several accounts are signed in: the chat, then the account it's in", + "placeholders": { + "chat": { + "type": "String" + }, + "account": { + "type": "String" + } + } + }, + "newestMessages": "Messages les plus récents", + "@newestMessages": { + "description": "Tooltip of the button that scrolls a chat to its newest messages" + }, + "noChats": "Aucune discussion pour l’instant", + "@noChats": { + "description": "Shown on the Chats tab when there are no chats" + }, + "noChatsHint": "Ajoutez un contact avec le bouton + pour commencer à discuter", + "@noChatsHint": { + "description": "How to start a first chat, under noChats" } } diff --git a/lib/l10n/app_hu.arb b/lib/l10n/app_hu.arb index b0d63db3..476c6c22 100644 --- a/lib/l10n/app_hu.arb +++ b/lib/l10n/app_hu.arb @@ -29,7 +29,7 @@ "@toxId": { "description": "The text for the Tox ID field" }, - "defaultAddContactMessage": "Helló, {nick} vagyok, gyere, beszélgessünk a bTox-on!", + "defaultAddContactMessage": "Helló, {nick} vagyok, gyere, beszélgessünk a bToxon!", "@defaultAddContactMessage": { "description": "The default message to send when adding a contact", "placeholders": { @@ -131,7 +131,7 @@ "@deleteProfile": { "description": "The text for the delete profile menu item" }, - "deleteProfileMessage": "Biztosan törölni szeretné a(z) „{name}” profilját? Ezt a műveletet nem lehet visszavonni. Az összes partnere és üzenete törölve lesz. Győződjön meg arról, hogy van biztonsági mentése.", + "deleteProfileMessage": "Biztosan törölni szeretné a(z) \"{name}\" profilját? Ezt a műveletet nem lehet visszavonni. Az összes partnere és üzenete törölve lesz. Győződjön meg arról, hogy van biztonsági mentése.", "@deleteProfileMessage": { "description": "The message to confirm the deletion of a profile", "placeholders": { @@ -149,7 +149,7 @@ "@delete": { "description": "The text for the delete button" }, - "profileDeleted": "A(z) „{name}\" profil törölve", + "profileDeleted": "A(z) \"{name}\" profil törölve", "@profileDeleted": { "description": "The text when a profile has been deleted", "placeholders": { @@ -158,5 +158,911 @@ "example": "Alice" } } + }, + "copyToxId": "Tox-azonosító másolása", + "@copyToxId": { + "description": "The tooltip for copying your own Tox ID" + }, + "toxIdCopied": "Tox-azonosító kimásolva", + "@toxIdCopied": { + "description": "The message shown after copying your own Tox ID" + }, + "toxIdChecksumError": "Érvénytelen Tox-azonosító, ellenőrizze, nincs-e benne elírás", + "@toxIdChecksumError": { + "description": "The error message when the Tox ID's checksum doesn't match, e.g. because of a typo" + }, + "logoutMessage": "{name} nem kap üzeneteket, amíg újra be nem jelentkezik.", + "@logoutMessage": { + "description": "Asks whether to sign the current account out", + "placeholders": { + "name": { + "type": "String", + "example": "Alice" + } + } + }, + "acceptFriendRequest": "Ismerőskérés elfogadása", + "@acceptFriendRequest": { + "description": "The tooltip for accepting an incoming friend request" + }, + "rejectFriendRequest": "Ismerőskérés elutasítása", + "@rejectFriendRequest": { + "description": "The tooltip for rejecting an incoming friend request" + }, + "online": "Elérhető", + "@online": { + "description": "A contact's connection state, for screen readers" + }, + "offline": "Nem elérhető", + "@offline": { + "description": "A contact's connection state, for screen readers" + }, + "deleteContact": "Partner törlése", + "@deleteContact": { + "description": "The title of the dialog for deleting a contact" + }, + "deleteContactMessage": "Törli \"{name}\" partnert?", + "@deleteContactMessage": { + "description": "The message to confirm the deletion of a contact", + "placeholders": { + "name": { + "type": "String", + "example": "Alice" + } + } + }, + "contactDeleted": "\"{name}\" partner törölve", + "@contactDeleted": { + "description": "The text when a contact has been deleted", + "placeholders": { + "name": { + "type": "String", + "example": "Alice" + } + } + }, + "import": "Importálás", + "@import": { + "description": "The button that confirms importing a profile" + }, + "password": "Jelszó", + "@password": { + "description": "The label for a password: an encrypted profile's, or a group's" + }, + "wrongPassword": "Hibás jelszó", + "@wrongPassword": { + "description": "The error when an encrypted profile's password is wrong" + }, + "profileImported": "A(z) \"{name}\" profil importálva", + "@profileImported": { + "description": "The text when a profile has been imported", + "placeholders": { + "name": { + "type": "String", + "example": "Alice" + } + } + }, + "profileAlreadyImported": "Ez a profil már megvan a bToxban", + "@profileAlreadyImported": { + "description": "The error when importing a profile that bTox already has" + }, + "exportData": "Adatok exportálása", + "@exportData": { + "description": "Settings entry that saves all accounts and messages to a file" + }, + "exportDataHint": "Minden fiók és üzenet, jelszóval titkosítva", + "@exportDataHint": { + "description": "Explanation below the export data setting" + }, + "importData": "Adatok importálása", + "@importData": { + "description": "The setting, button and dialog title for importing a bTox export or a .tox profile file" + }, + "importDataHint": "bTox-exportfájl vagy egy másik kliens Tox-profilja", + "@importDataHint": { + "description": "Explanation below the import data setting" + }, + "export": "Exportálás", + "@export": { + "description": "Button that exports data" + }, + "accountsRestored": "{count, plural, =0{A mentésben nincs új fiók} =1{1 fiók visszaállítva} other{{count} fiók visszaállítva}}", + "@accountsRestored": { + "description": "Shown after importing accounts from a bTox backup", + "placeholders": { + "count": { + "type": "int" + } + } + }, + "notAToxProfile": "Ez nem Tox-profil", + "@notAToxProfile": { + "description": "The error when the chosen file isn't a Tox profile" + }, + "stayOnline": "Elérhető marad bezárás után", + "@stayOnline": { + "description": "The setting to keep running in the background after closing the app" + }, + "stayOnlineHint": "Minden bejelentkezett fiók elérhető marad", + "@stayOnlineHint": { + "description": "Explains that stay online applies to every signed-in account" + }, + "accounts": "Fiókok", + "@accounts": { + "description": "The menu item for signing in and managing accounts" + }, + "appSettings": "Alkalmazás", + "@appSettings": { + "description": "The heading of the settings for the whole app" + }, + "accountSettings": "Fiók: {name}", + "@accountSettings": { + "description": "The heading of the settings for one account", + "placeholders": { + "name": { + "type": "String", + "example": "Alice" + } + } + }, + "autoAcceptFiles": "Fájlok automatikus fogadása eddig a méretig", + "@autoAcceptFiles": { + "description": "The setting for the largest incoming file accepted without asking" + }, + "never": "Soha", + "@never": { + "description": "Auto-accepting no files at all" + }, + "acceptFile": "Fogadás", + "@acceptFile": { + "description": "The button to receive an offered file" + }, + "declineFile": "Elutasítás", + "@declineFile": { + "description": "The button to refuse an offered file" + }, + "downloadFile": "Letöltés", + "@downloadFile": { + "description": "The button to fetch a file the account's home device holds" + }, + "fileCancelled": "Megszakítva", + "@fileCancelled": { + "description": "A file transfer that was declined or stopped" + }, + "filePaused": "Szüneteltetve, amíg újra elérhető nem lesz", + "@filePaused": { + "description": "An incoming file that stopped part way, which goes on when the sender sends it again" + }, + "udpEnabled": "UDP használata", + "@udpEnabled": { + "description": "The setting for Tox's UDP transport" + }, + "udpEnabledHint": "Kikapcsolva csak TCP-továbbítókon át csatlakozik", + "@udpEnabledHint": { + "description": "Explains turning off UDP" + }, + "ipv6Enabled": "IPv6 használata", + "@ipv6Enabled": { + "description": "The setting for connecting over IPv6" + }, + "localDiscoveryEnabled": "Helyi felderítés", + "@localDiscoveryEnabled": { + "description": "The setting for finding friends on the local network" + }, + "localDiscoveryEnabledHint": "Ismerősök közvetlen keresése ugyanazon a hálózaton", + "@localDiscoveryEnabledHint": { + "description": "Explains local discovery" + }, + "offWithProxy": "Proxy használatakor kikapcsolva, mert az csak TCP-t továbbít", + "@offWithProxy": { + "description": "Why UDP and local discovery are off when a proxy is set" + }, + "proxy": "Proxy", + "@proxy": { + "description": "The proxy setting and dialog title" + }, + "proxyNone": "Nincs", + "@proxyNone": { + "description": "No proxy" + }, + "proxyHost": "Kiszolgáló", + "@proxyHost": { + "description": "The label for the proxy host field" + }, + "proxyPort": "Port", + "@proxyPort": { + "description": "The label for the proxy port field" + }, + "invalidProxyHost": "Adjon meg egy kiszolgálót", + "@invalidProxyHost": { + "description": "The error when the proxy host is empty" + }, + "invalidProxyPort": "Adjon meg egy portot 1 és 65535 között", + "@invalidProxyPort": { + "description": "The error when the proxy port is out of range" + }, + "save": "Mentés", + "@save": { + "description": "The text for the save button" + }, + "attachCamera": "Kamera", + "@attachCamera": { + "description": "Button to take a photo to send" + }, + "attachGallery": "Galéria", + "@attachGallery": { + "description": "Button to choose images to send" + }, + "attachFile": "Fájl", + "@attachFile": { + "description": "Button to choose files to send" + }, + "attachLocation": "Helyzet", + "@attachLocation": { + "description": "Button to send the current location" + }, + "linkAccount": "Fiók társítása", + "@linkAccount": { + "description": "Action to use an account that runs on another device" + }, + "pairingLink": "Párosítási link", + "@pairingLink": { + "description": "Label of the field for another device's pairing link" + }, + "pairingLinkHelp": "Illessze be a párosítási linket a fiókot futtató eszközről.", + "@pairingLinkHelp": { + "description": "Explains where the pairing link comes from" + }, + "invalidPairingLink": "Ez nem párosítási link", + "@invalidPairingLink": { + "description": "Error when the pasted text isn't a pairing link" + }, + "link": "Társítás", + "@link": { + "description": "Button that links an account" + }, + "linkedAccount": "Társított fiók", + "@linkedAccount": { + "description": "Name of a linked account until its name has synced" + }, + "linkedAccountName": "{name} (társított)", + "@linkedAccountName": { + "description": "A linked account where accounts are listed to choose from", + "placeholders": { + "name": { + "type": "String" + } + } + }, + "sendFailed": "Nem sikerült elküldeni az üzenetet", + "@sendFailed": { + "description": "Error when a message couldn't be saved for sending" + }, + "saveFailed": "Nem sikerült menteni", + "@saveFailed": { + "description": "Error when something the user did couldn't be saved" + }, + "importFailed": "Nem sikerült importálni ezt a fájlt", + "@importFailed": { + "description": "Error when a profile or backup file couldn't be imported" + }, + "linkFailed": "Nem sikerült társítani a fiókot", + "@linkFailed": { + "description": "Error when a linked account couldn't be added" + }, + "chats": "Csevegések", + "@chats": { + "description": "The tab of the main page listing chats" + }, + "calls": "Hívások", + "@calls": { + "description": "The tab of the main page listing calls" + }, + "voiceCall": "Hanghívás", + "@voiceCall": { + "description": "A call button's tooltip, and a call still going on in a chat" + }, + "videoCall": "Videóhívás", + "@videoCall": { + "description": "A video call button's tooltip, and a video call still going on in a chat" + }, + "outgoingVideoCall": "Kimenő videóhívás", + "@outgoingVideoCall": { + "description": "A video call we made, in a chat" + }, + "incomingVideoCall": "Bejövő videóhívás", + "@incomingVideoCall": { + "description": "A video call the friend made, in a chat and while it rings" + }, + "missedVideoCall": "Nem fogadott videóhívás", + "@missedVideoCall": { + "description": "A video call that rang here and wasn't answered" + }, + "callCamera": "Kamera", + "@callCamera": { + "description": "The button that turns the camera on or off in a call" + }, + "flipCamera": "Kameraváltás", + "@flipCamera": { + "description": "The button that switches between the front and back camera in a call" + }, + "cameraNeeded": "A bTox nem használhatja a kamerát, ezért a hívás kamera nélkül folytatódik", + "@cameraNeeded": { + "description": "Shown when bTox may not use the camera for a video call, which goes on without video" + }, + "outgoingCall": "Kimenő hanghívás", + "@outgoingCall": { + "description": "A call we made, in a chat" + }, + "incomingCall": "Bejövő hanghívás", + "@incomingCall": { + "description": "A call the friend made, in a chat and while it rings" + }, + "missedCall": "Nem fogadott hanghívás", + "@missedCall": { + "description": "A call that rang here and wasn't answered" + }, + "callWithDuration": "{call} · {duration}", + "@callWithDuration": { + "description": "A call in a chat, with how long it was", + "placeholders": { + "call": { + "type": "String" + }, + "duration": { + "type": "String" + } + } + }, + "incomingCalls": "Bejövő hívások", + "@incomingCalls": { + "description": "The notification channel that rings" + }, + "missedCalls": "Nem fogadott hívások", + "@missedCalls": { + "description": "The notification channel for missed calls" + }, + "callOngoing": "Hívás folyamatban", + "@callOngoing": { + "description": "The notification while a call goes on" + }, + "calling": "Hívás…", + "@calling": { + "description": "Our call, while it rings at the friend's" + }, + "connecting": "Kapcsolódás…", + "@connecting": { + "description": "A call answered here, until it's connected" + }, + "answerCall": "Fogadás", + "@answerCall": { + "description": "The button that answers a call" + }, + "declineCall": "Elutasítás", + "@declineCall": { + "description": "The button that declines a call" + }, + "hangUp": "Bontás", + "@hangUp": { + "description": "The button that ends a call" + }, + "muteCall": "Némítás", + "@muteCall": { + "description": "The button that mutes the microphone in a call" + }, + "callSpeaker": "Kihangosító", + "@callSpeaker": { + "description": "The button that puts a call on the loudspeaker" + }, + "callEarpiece": "Telefon", + "@callEarpiece": { + "description": "Where a call's audio can go: the phone's earpiece" + }, + "callWired": "Fejhallgató", + "@callWired": { + "description": "Where a call's audio can go: wired headphones" + }, + "callBluetooth": "Bluetooth", + "@callBluetooth": { + "description": "Where a call's audio can go: a Bluetooth headset" + }, + "hideCall": "Hívás elrejtése", + "@hideCall": { + "description": "The button that shows the chats during a call" + }, + "returnToCall": "Vissza a híváshoz", + "@returnToCall": { + "description": "The banner over the chats during a call" + }, + "microphoneNeeded": "A hívásokhoz mikrofon szükséges", + "@microphoneNeeded": { + "description": "Shown when bTox may not use the microphone" + }, + "ringOverLockScreen": "A hívások nem csöröghetnek a lezárási képernyőn", + "@ringOverLockScreen": { + "description": "Shown on the Calls tab while Android doesn't let bTox show incoming calls full screen" + }, + "allowRingOverLockScreen": "Engedélyezés", + "@allowRingOverLockScreen": { + "description": "The button that opens the setting letting calls ring full screen" + }, + "relayBotNames": "Továbbító bot által küldött nevek", + "@relayBotNames": { + "description": "The action, and its page, that shows the names a bot relays from another chat in a group chat" + }, + "stopRelayBotNames": "Ne jelenjenek meg a továbbító bot nevei", + "@stopRelayBotNames": { + "description": "The action that shows a relay bot's messages as its own again" + }, + "showNames": "Nevek megjelenítése", + "@showNames": { + "description": "The button that starts showing the names a relay bot relays" + }, + "noCalls": "Nincsenek legutóbbi hívások", + "@noCalls": { + "description": "Shown on the Calls tab when there are no calls" + }, + "callsNotAvailable": "A hívások azon az eszközön át mennek, amelyhez ez a fiók társítva van, és az most nem tudja fogadni őket", + "@callsNotAvailable": { + "description": "Shown on the Calls tab of a linked account while its home device is offline, or doesn't connect calls to its devices" + }, + "notImplemented": "Még nem érhető el", + "@notImplemented": { + "description": "Shown for a menu item that doesn't work yet" + }, + "openLinkFailed": "Egyik alkalmazás sem tudja megnyitni ezt a linket", + "@openLinkFailed": { + "description": "Shown when tapping a link in a message opens nothing" + }, + "reply": "Válasz", + "@reply": { + "description": "Message menu item to reply to the message" + }, + "forward": "Továbbítás", + "@forward": { + "description": "Message menu item to forward the message" + }, + "chatDetails": "Csevegés részletei", + "@chatDetails": { + "description": "The tooltip of a chat's title, which opens who the chat is with" + }, + "chatMembers": "{count, plural, =1{1 tag} other{{count} tag}}", + "@chatMembers": { + "description": "The heading of the people in a group or conference, counting yourself", + "placeholders": { + "count": { + "type": "int" + } + } + }, + "you": "Ön", + "@you": { + "description": "Yourself, among the people in a chat" + }, + "muteChat": "Értesítések némítása", + "@muteChat": { + "description": "The action, and its dialog, that stops a chat's notifications for a while" + }, + "unmuteChat": "Értesítések némításának feloldása", + "@unmuteChat": { + "description": "The action that lets a muted chat notify again" + }, + "muteForAnHour": "1 órára", + "@muteForAnHour": { + "description": "How long to mute a chat for" + }, + "muteForEightHours": "8 órára", + "@muteForEightHours": { + "description": "How long to mute a chat for" + }, + "muteForAWeek": "1 hétre", + "@muteForAWeek": { + "description": "How long to mute a chat for" + }, + "muteAlways": "Mindig", + "@muteAlways": { + "description": "Mutes a chat until it's unmuted" + }, + "notifyMentions": "Említéseknél továbbra is értesítsen", + "@notifyMentions": { + "description": "In the dialog muting a group chat: messages naming you still notify" + }, + "mutedUntil": "Némítva eddig: {time}", + "@mutedUntil": { + "description": "How long a chat stays muted", + "placeholders": { + "time": { + "type": "String", + "example": "Thu 17:00" + } + } + }, + "mutedAlways": "Némítva", + "@mutedAlways": { + "description": "A chat muted until it's unmuted" + }, + "sendPicturesAsQoi": "Képek küldése QOI formátumban", + "@sendPicturesAsQoi": { + "description": "A friend chat's setting: camera and gallery pictures sent as QOI" + }, + "sendPicturesAsQoiHint": "Veszteségmentes, de nagyobb, és nem minden alkalmazás jeleníti meg a QOI-t", + "@sendPicturesAsQoiHint": { + "description": "Under the setting to send pictures as QOI" + }, + "seenThrough": "{bot} közvetítésével", + "@seenThrough": { + "description": "Heading of the names a relay bot has relayed in the chat's history, under the bot among the people in a chat, though they may not be there now", + "placeholders": { + "bot": { + "type": "String", + "example": "EPiG-BrDG" + } + } + }, + "showMoreSeen": "{count, plural, =1{Még 1 megjelenítése} other{Még {count} megjelenítése}}", + "@showMoreSeen": { + "description": "Shows the names a relay bot relayed longer ago", + "placeholders": { + "count": { + "type": "int" + } + } + }, + "roleFounder": "Alapító", + "@roleFounder": { + "description": "The role of whoever created a group" + }, + "roleModerator": "Moderátor", + "@roleModerator": { + "description": "The role of someone who can moderate a group" + }, + "roleObserver": "Megfigyelő", + "@roleObserver": { + "description": "The role of someone who can only read a group" + }, + "statusAway": "Távol", + "@statusAway": { + "description": "Someone's status when they're away" + }, + "statusBusy": "Elfoglalt", + "@statusBusy": { + "description": "Someone's status when they're busy" + }, + "membersWhileOnline": "A jelenlévők akkor látszanak, amikor a fiók otthoni eszköze elérhető", + "@membersWhileOnline": { + "description": "In place of a linked account's chat members, while its home device can't say who they are" + }, + "publicKey": "Nyilvános kulcs", + "@publicKey": { + "description": "The heading of a friend's public key, which Tox knows them by" + }, + "publicKeyCopied": "Nyilvános kulcs kimásolva", + "@publicKeyCopied": { + "description": "The message shown after copying a friend's public key" + }, + "copy": "Másolás", + "@copy": { + "description": "Message menu item to copy the message's text" + }, + "select": "Kijelölés", + "@select": { + "description": "Message menu item to select messages" + }, + "forwardTo": "Továbbítás ide", + "@forwardTo": { + "description": "The title of the page that picks a chat to forward messages to" + }, + "messagesForwarded": "{count, plural, =1{Üzenet továbbítva} other{{count} üzenet továbbítva}}", + "@messagesForwarded": { + "description": "The message shown after forwarding messages", + "placeholders": { + "count": { + "type": "int" + } + } + }, + "messageInfo": "Üzenet részletei", + "@messageInfo": { + "description": "The title of the page a message's Info opens" + }, + "messageSent": "Elküldve", + "@messageSent": { + "description": "On a message's details, when ours was sent" + }, + "messageSending": "Küldés", + "@messageSending": { + "description": "On a message's details, in place of messageSent while ours waits to go" + }, + "messageDelivered": "Kézbesítve", + "@messageDelivered": { + "description": "On a message's details, when ours arrived" + }, + "messageReceived": "Fogadva", + "@messageReceived": { + "description": "On a message's details, when someone else's came" + }, + "messageFrom": "Feladó", + "@messageFrom": { + "description": "On a message's details, the heading of who sent someone else's" + }, + "messagesSelected": "{count} kijelölve", + "@messagesSelected": { + "description": "The chat's title while messages are selected", + "placeholders": { + "count": { + "type": "int" + } + } + }, + "messagesCopied": "{count, plural, =1{Üzenet kimásolva} other{{count} üzenet kimásolva}}", + "@messagesCopied": { + "description": "The message shown after copying messages' text", + "placeholders": { + "count": { + "type": "int" + } + } + }, + "info": "Infó", + "@info": { + "description": "Message menu item to show the message's details" + }, + "today": "Ma", + "@today": { + "description": "Above the messages of today in a chat" + }, + "yesterday": "Tegnap", + "@yesterday": { + "description": "Above the messages of yesterday in a chat" + }, + "loadFailed": "Hiba történt", + "@loadFailed": { + "description": "Shown in place of a page that couldn't be loaded" + }, + "locationMessage": "Helyzet", + "@locationMessage": { + "description": "A shared location, as the chat list shows it" + }, + "emoji": "Emoji", + "@emoji": { + "description": "The button in the message box that opens the emoji picker" + }, + "send": "Küldés", + "@send": { + "description": "The button that sends what is written in the message box" + }, + "attach": "Csatolás", + "@attach": { + "description": "The button in the message box that opens what can be attached" + }, + "cancelReply": "Válasz elvetése", + "@cancelReply": { + "description": "The button that stops replying to a message" + }, + "removeAttachment": "Eltávolítás", + "@removeAttachment": { + "description": "The button on an attachment waiting to be sent that takes it away" + }, + "attachFailed": "Nem sikerült csatolni", + "@attachFailed": { + "description": "Shown when a picture or file couldn't be picked or copied to send" + }, + "dayAndTime": "{day} {time}", + "@dayAndTime": { + "description": "A day and a time on it, as in 'muted until Fri 14:00'", + "placeholders": { + "day": { + "type": "String", + "example": "Fri" + }, + "time": { + "type": "String", + "example": "14:00" + } + } + }, + "draftLabel": "Piszkozat:", + "@draftLabel": { + "description": "Before what is being written in a chat, as the chat list shows it" + }, + "messageV3": "TRIfA-üzenetazonosítók", + "@messageV3": { + "description": "Setting to read the ID TRIfA adds to its messages" + }, + "messageV3Hint": "Elrejti a TRIfA által az üzenetekhez fűzött azonosítót, és az általa újraküldött üzenetet csak egyszer jeleníti meg", + "@messageV3Hint": { + "description": "What reading TRIfA's message IDs does" + }, + "titleWithAccount": "bTox ({name})", + "@titleWithAccount": { + "description": "The title of the chat list, with the account it shows", + "placeholders": { + "name": { + "type": "String", + "example": "Alice" + } + } + }, + "deleteChatToo": "A vele közös üzenetek és fájlok végleges törlése is", + "@deleteChatToo": { + "description": "Option when deleting a contact to delete the chat with them too" + }, + "profileDeleteFailed": "Nem sikerült törölni a(z) \"{name}\" profilt", + "@profileDeleteFailed": { + "description": "Error when a profile couldn't be deleted", + "placeholders": { + "name": { + "type": "String", + "example": "Alice" + } + } + }, + "mergeChat": "Egyesítés egy másik csevegéssel", + "@mergeChat": { + "description": "Action on a group chat to show it together with another that a bot relays messages between" + }, + "unmergeChat": "Csevegések külön megjelenítése", + "@unmergeChat": { + "description": "Action on merged chats to show them as separate chats again" + }, + "mergeChatTitle": "Csevegések egyesítése", + "@mergeChatTitle": { + "description": "Title of the page that merges two chats" + }, + "mergeWith": "Egyesítés ezzel", + "@mergeWith": { + "description": "Heading of the chats one can merge with" + }, + "relayBotIn": "Bot itt: {chat}", + "@relayBotIn": { + "description": "Heading of the members of a chat to pick the bot from that relays messages to the other chat", + "placeholders": { + "chat": { + "type": "String", + "example": "Tox" + } + } + }, + "relayedMessages": "{count} üzenetből {relayed} továbbítva", + "@relayedMessages": { + "description": "How many of a chat member's messages look like a bot relayed them", + "placeholders": { + "relayed": { + "type": "int" + }, + "count": { + "type": "int" + } + } + }, + "noChatsToMerge": "Nincs más csoportos csevegés", + "@noChatsToMerge": { + "description": "Shown when there are no chats to merge with" + }, + "merge": "Egyesítés", + "@merge": { + "description": "Button that merges the chats" + }, + "exported": "Adatok exportálva", + "@exported": { + "description": "Shown when the backup was saved" + }, + "exportFailed": "Nem sikerült exportálni az adatokat", + "@exportFailed": { + "description": "Error when the backup couldn't be made or saved" + }, + "locationOff": "Kapcsolja be a helymeghatározást a helyzete megosztásához", + "@locationOff": { + "description": "Shown when sharing a location while location is off on the device" + }, + "locationDenied": "A bToxnak engedélyre van szüksége a helyzete használatához", + "@locationDenied": { + "description": "Shown when sharing a location without the permission" + }, + "locationFailed": "Nem sikerült meghatározni a helyzetét", + "@locationFailed": { + "description": "Error when the location couldn't be found" + }, + "openSettings": "Beállítások", + "@openSettings": { + "description": "Button opening the device's settings to fix a problem" + }, + "ownToxIdError": "Ez a saját Tox-azonosítója", + "@ownToxIdError": { + "description": "Error when adding your own Tox ID as a contact" + }, + "addContactFailed": "Nem sikerült hozzáadni a partnert", + "@addContactFailed": { + "description": "Error when a contact couldn't be saved" + }, + "chatClosed": "Ebbe a csevegésbe már nem küldhet üzenetet", + "@chatClosed": { + "description": "Shown in place of the message input for a deleted contact or a group left" + }, + "friendRequest": "Ismerőskérés", + "@friendRequest": { + "description": "Title of the notification for a friend request" + }, + "inviteNotification": "Meghívás csevegésbe", + "@inviteNotification": { + "description": "Title of the notification for an invite to a group or conference" + }, + "groupInvite": "{friend} meghívta Önt ide: {chat}", + "@groupInvite": { + "description": "An invite to a group, above the chats and in its notification", + "placeholders": { + "friend": { + "type": "String" + }, + "chat": { + "type": "String" + } + } + }, + "conferenceInvite": "{friend} meghívta Önt egy konferenciába", + "@conferenceInvite": { + "description": "An invite to a conference, whose invite has no name, above the chats and in its notification", + "placeholders": { + "friend": { + "type": "String" + } + } + }, + "joinInvite": "Csatlakozás", + "@joinInvite": { + "description": "The button that joins the chat of an invite" + }, + "declineInvite": "Elutasítás", + "@declineInvite": { + "description": "The button that declines an invite to a chat" + }, + "joiningInvite": "Csatlakozás…", + "@joiningInvite": { + "description": "Under an invite answered to join, until the account's home device joined" + }, + "inviteNeedsPassword": "A csoport jelszava szükséges. Kérjen új meghívót.", + "@inviteNeedsPassword": { + "description": "Under an invite to a group that turned the account away for a missing or wrong password, which spent the invite" + }, + "inviteSpent": "Nem sikerült csatlakozni. Kérjen új meghívót.", + "@inviteSpent": { + "description": "Under an invite whose chat turned the account away for another reason, which spent the invite" + }, + "inviteFailed": "Nem sikerült csatlakozni", + "@inviteFailed": { + "description": "Under an invite whose chat the account's home device couldn't join, which can be tried again" + }, + "groupPasswordHelper": "Hagyja üresen, ha a csoportnak nincs jelszava", + "@groupPasswordHelper": { + "description": "Under the password field when joining a group from an invite" + }, + "retryInvite": "Újra", + "@retryInvite": { + "description": "The button that tries joining the chat of an invite again" + }, + "chatInAccount": "{chat} · {account}", + "@chatInAccount": { + "description": "Title of a chat's notification while several accounts are signed in: the chat, then the account it's in", + "placeholders": { + "chat": { + "type": "String" + }, + "account": { + "type": "String" + } + } + }, + "newestMessages": "Legújabb üzenetek", + "@newestMessages": { + "description": "Tooltip of the button that scrolls a chat to its newest messages" + }, + "noChats": "Még nincsenek csevegések", + "@noChats": { + "description": "Shown on the Chats tab when there are no chats" + }, + "noChatsHint": "Adjon hozzá egy partnert a + gombbal a csevegés indításához", + "@noChatsHint": { + "description": "How to start a first chat, under noChats" } } diff --git a/lib/l10n/app_lv.arb b/lib/l10n/app_lv.arb index 505ff3df..f1a78956 100644 --- a/lib/l10n/app_lv.arb +++ b/lib/l10n/app_lv.arb @@ -3,7 +3,7 @@ "@newProfile": { "description": "The title text for the create profile dialog" }, - "defaultContactName": "Nezināma persona", + "defaultContactName": "Nezināms", "@defaultContactName": { "description": "The default name for a contact when the name is not yet known" }, @@ -109,7 +109,7 @@ "@cancel": { "description": "The text for the cancel button" }, - "logout": "Atteikties", + "logout": "Izrakstīties", "@logout": { "description": "The text for the logout menu item" }, @@ -117,7 +117,7 @@ "@messageEmptyError": { "description": "The error message when the message is empty" }, - "defaultAddContactMessage": "Sveiki, es esmu {nick}, nāc tērzēt ar mani bTox!", + "defaultAddContactMessage": "Čau, es esmu {nick}, nāc tērzēt ar mani bTox lietotnē!", "@defaultAddContactMessage": { "description": "The default message to send when adding a contact", "placeholders": { @@ -158,5 +158,911 @@ "delete": "Dzēst", "@delete": { "description": "The text for the delete button" + }, + "copyToxId": "Kopēt Tox-ID", + "@copyToxId": { + "description": "The tooltip for copying your own Tox ID" + }, + "toxIdCopied": "Tox-ID nokopēts", + "@toxIdCopied": { + "description": "The message shown after copying your own Tox ID" + }, + "toxIdChecksumError": "Nederīgs Tox-ID, pārbaudiet, vai nav drukas kļūdu", + "@toxIdChecksumError": { + "description": "The error message when the Tox ID's checksum doesn't match, e.g. because of a typo" + }, + "logoutMessage": "{name} nesaņems ziņojumus, līdz jūs tajā atkal pierakstīsieties.", + "@logoutMessage": { + "description": "Asks whether to sign the current account out", + "placeholders": { + "name": { + "type": "String", + "example": "Alice" + } + } + }, + "acceptFriendRequest": "Pieņemt drauga pieprasījumu", + "@acceptFriendRequest": { + "description": "The tooltip for accepting an incoming friend request" + }, + "rejectFriendRequest": "Noraidīt drauga pieprasījumu", + "@rejectFriendRequest": { + "description": "The tooltip for rejecting an incoming friend request" + }, + "online": "Tiešsaistē", + "@online": { + "description": "A contact's connection state, for screen readers" + }, + "offline": "Bezsaistē", + "@offline": { + "description": "A contact's connection state, for screen readers" + }, + "deleteContact": "Dzēst kontaktpersonu", + "@deleteContact": { + "description": "The title of the dialog for deleting a contact" + }, + "deleteContactMessage": "Dzēst \"{name}\" no jūsu kontaktpersonām?", + "@deleteContactMessage": { + "description": "The message to confirm the deletion of a contact", + "placeholders": { + "name": { + "type": "String", + "example": "Alice" + } + } + }, + "contactDeleted": "Kontaktpersona \"{name}\" dzēsta", + "@contactDeleted": { + "description": "The text when a contact has been deleted", + "placeholders": { + "name": { + "type": "String", + "example": "Alice" + } + } + }, + "import": "Importēt", + "@import": { + "description": "The button that confirms importing a profile" + }, + "password": "Parole", + "@password": { + "description": "The label for a password: an encrypted profile's, or a group's" + }, + "wrongPassword": "Nepareiza parole", + "@wrongPassword": { + "description": "The error when an encrypted profile's password is wrong" + }, + "profileImported": "Profils \"{name}\" importēts", + "@profileImported": { + "description": "The text when a profile has been imported", + "placeholders": { + "name": { + "type": "String", + "example": "Alice" + } + } + }, + "profileAlreadyImported": "Šis profils jau ir bTox lietotnē", + "@profileAlreadyImported": { + "description": "The error when importing a profile that bTox already has" + }, + "exportData": "Eksportēt datus", + "@exportData": { + "description": "Settings entry that saves all accounts and messages to a file" + }, + "exportDataHint": "Visi konti un ziņojumi, šifrēti ar paroli", + "@exportDataHint": { + "description": "Explanation below the export data setting" + }, + "importData": "Importēt datus", + "@importData": { + "description": "The setting, button and dialog title for importing a bTox export or a .tox profile file" + }, + "importDataHint": "bTox eksports vai Tox profils no cita klienta", + "@importDataHint": { + "description": "Explanation below the import data setting" + }, + "export": "Eksportēt", + "@export": { + "description": "Button that exports data" + }, + "accountsRestored": "{count, plural, =0{Rezerves kopijā nav jaunu kontu} one{Atjaunots {count} konts} other{Atjaunoti {count} konti}}", + "@accountsRestored": { + "description": "Shown after importing accounts from a bTox backup", + "placeholders": { + "count": { + "type": "int" + } + } + }, + "notAToxProfile": "Tas nav Tox profils", + "@notAToxProfile": { + "description": "The error when the chosen file isn't a Tox profile" + }, + "stayOnline": "Palikt tiešsaistē pēc aizvēršanas", + "@stayOnline": { + "description": "The setting to keep running in the background after closing the app" + }, + "stayOnlineHint": "Uztur tiešsaistē visus pierakstītos kontus", + "@stayOnlineHint": { + "description": "Explains that stay online applies to every signed-in account" + }, + "accounts": "Konti", + "@accounts": { + "description": "The menu item for signing in and managing accounts" + }, + "appSettings": "Lietotne", + "@appSettings": { + "description": "The heading of the settings for the whole app" + }, + "accountSettings": "Konts: {name}", + "@accountSettings": { + "description": "The heading of the settings for one account", + "placeholders": { + "name": { + "type": "String", + "example": "Alice" + } + } + }, + "autoAcceptFiles": "Automātiski pieņemt failus līdz", + "@autoAcceptFiles": { + "description": "The setting for the largest incoming file accepted without asking" + }, + "never": "Nekad", + "@never": { + "description": "Auto-accepting no files at all" + }, + "acceptFile": "Pieņemt", + "@acceptFile": { + "description": "The button to receive an offered file" + }, + "declineFile": "Noraidīt", + "@declineFile": { + "description": "The button to refuse an offered file" + }, + "downloadFile": "Lejupielādēt", + "@downloadFile": { + "description": "The button to fetch a file the account's home device holds" + }, + "fileCancelled": "Atcelts", + "@fileCancelled": { + "description": "A file transfer that was declined or stopped" + }, + "filePaused": "Apturēts, līdz sūtītājs atkal būs tiešsaistē", + "@filePaused": { + "description": "An incoming file that stopped part way, which goes on when the sender sends it again" + }, + "udpEnabled": "Izmantot UDP", + "@udpEnabled": { + "description": "The setting for Tox's UDP transport" + }, + "udpEnabledHint": "Ja izslēgts, savienoties tikai caur TCP retranslatoriem", + "@udpEnabledHint": { + "description": "Explains turning off UDP" + }, + "ipv6Enabled": "Izmantot IPv6", + "@ipv6Enabled": { + "description": "The setting for connecting over IPv6" + }, + "localDiscoveryEnabled": "Lokālā atklāšana", + "@localDiscoveryEnabled": { + "description": "The setting for finding friends on the local network" + }, + "localDiscoveryEnabledHint": "Atrast draugus tieši tajā pašā tīklā", + "@localDiscoveryEnabledHint": { + "description": "Explains local discovery" + }, + "offWithProxy": "Izslēgts, kamēr tiek izmantots starpniekserveris, kas pārraida tikai TCP", + "@offWithProxy": { + "description": "Why UDP and local discovery are off when a proxy is set" + }, + "proxy": "Starpniekserveris", + "@proxy": { + "description": "The proxy setting and dialog title" + }, + "proxyNone": "Nav", + "@proxyNone": { + "description": "No proxy" + }, + "proxyHost": "Resursdators", + "@proxyHost": { + "description": "The label for the proxy host field" + }, + "proxyPort": "Ports", + "@proxyPort": { + "description": "The label for the proxy port field" + }, + "invalidProxyHost": "Ievadiet resursdatoru", + "@invalidProxyHost": { + "description": "The error when the proxy host is empty" + }, + "invalidProxyPort": "Ievadiet portu no 1 līdz 65535", + "@invalidProxyPort": { + "description": "The error when the proxy port is out of range" + }, + "save": "Saglabāt", + "@save": { + "description": "The text for the save button" + }, + "attachCamera": "Kamera", + "@attachCamera": { + "description": "Button to take a photo to send" + }, + "attachGallery": "Galerija", + "@attachGallery": { + "description": "Button to choose images to send" + }, + "attachFile": "Fails", + "@attachFile": { + "description": "Button to choose files to send" + }, + "attachLocation": "Atrašanās vieta", + "@attachLocation": { + "description": "Button to send the current location" + }, + "linkAccount": "Piesaistīt kontu", + "@linkAccount": { + "description": "Action to use an account that runs on another device" + }, + "pairingLink": "Savienošanas saite", + "@pairingLink": { + "description": "Label of the field for another device's pairing link" + }, + "pairingLinkHelp": "Ielīmējiet savienošanas saiti no ierīces, kurā darbojas konts.", + "@pairingLinkHelp": { + "description": "Explains where the pairing link comes from" + }, + "invalidPairingLink": "Šī nav savienošanas saite", + "@invalidPairingLink": { + "description": "Error when the pasted text isn't a pairing link" + }, + "link": "Piesaistīt", + "@link": { + "description": "Button that links an account" + }, + "linkedAccount": "Piesaistīts konts", + "@linkedAccount": { + "description": "Name of a linked account until its name has synced" + }, + "linkedAccountName": "{name} (piesaistīts)", + "@linkedAccountName": { + "description": "A linked account where accounts are listed to choose from", + "placeholders": { + "name": { + "type": "String" + } + } + }, + "sendFailed": "Neizdevās nosūtīt ziņojumu", + "@sendFailed": { + "description": "Error when a message couldn't be saved for sending" + }, + "saveFailed": "Neizdevās saglabāt", + "@saveFailed": { + "description": "Error when something the user did couldn't be saved" + }, + "importFailed": "Neizdevās importēt šo failu", + "@importFailed": { + "description": "Error when a profile or backup file couldn't be imported" + }, + "linkFailed": "Neizdevās piesaistīt kontu", + "@linkFailed": { + "description": "Error when a linked account couldn't be added" + }, + "chats": "Sarunas", + "@chats": { + "description": "The tab of the main page listing chats" + }, + "calls": "Zvani", + "@calls": { + "description": "The tab of the main page listing calls" + }, + "voiceCall": "Balss zvans", + "@voiceCall": { + "description": "A call button's tooltip, and a call still going on in a chat" + }, + "videoCall": "Videozvans", + "@videoCall": { + "description": "A video call button's tooltip, and a video call still going on in a chat" + }, + "outgoingVideoCall": "Izejošs videozvans", + "@outgoingVideoCall": { + "description": "A video call we made, in a chat" + }, + "incomingVideoCall": "Ienākošs videozvans", + "@incomingVideoCall": { + "description": "A video call the friend made, in a chat and while it rings" + }, + "missedVideoCall": "Neatbildēts videozvans", + "@missedVideoCall": { + "description": "A video call that rang here and wasn't answered" + }, + "callCamera": "Kamera", + "@callCamera": { + "description": "The button that turns the camera on or off in a call" + }, + "flipCamera": "Pārslēgt kameru", + "@flipCamera": { + "description": "The button that switches between the front and back camera in a call" + }, + "cameraNeeded": "bTox nedrīkst izmantot kameru, tāpēc zvans turpinās bez tās", + "@cameraNeeded": { + "description": "Shown when bTox may not use the camera for a video call, which goes on without video" + }, + "outgoingCall": "Izejošs balss zvans", + "@outgoingCall": { + "description": "A call we made, in a chat" + }, + "incomingCall": "Ienākošs balss zvans", + "@incomingCall": { + "description": "A call the friend made, in a chat and while it rings" + }, + "missedCall": "Neatbildēts balss zvans", + "@missedCall": { + "description": "A call that rang here and wasn't answered" + }, + "callWithDuration": "{call} · {duration}", + "@callWithDuration": { + "description": "A call in a chat, with how long it was", + "placeholders": { + "call": { + "type": "String" + }, + "duration": { + "type": "String" + } + } + }, + "incomingCalls": "Ienākošie zvani", + "@incomingCalls": { + "description": "The notification channel that rings" + }, + "missedCalls": "Neatbildētie zvani", + "@missedCalls": { + "description": "The notification channel for missed calls" + }, + "callOngoing": "Notiek zvans", + "@callOngoing": { + "description": "The notification while a call goes on" + }, + "calling": "Zvana…", + "@calling": { + "description": "Our call, while it rings at the friend's" + }, + "connecting": "Savienojas…", + "@connecting": { + "description": "A call answered here, until it's connected" + }, + "answerCall": "Atbildēt", + "@answerCall": { + "description": "The button that answers a call" + }, + "declineCall": "Noraidīt", + "@declineCall": { + "description": "The button that declines a call" + }, + "hangUp": "Beigt zvanu", + "@hangUp": { + "description": "The button that ends a call" + }, + "muteCall": "Apklusināt", + "@muteCall": { + "description": "The button that mutes the microphone in a call" + }, + "callSpeaker": "Skaļrunis", + "@callSpeaker": { + "description": "The button that puts a call on the loudspeaker" + }, + "callEarpiece": "Tālrunis", + "@callEarpiece": { + "description": "Where a call's audio can go: the phone's earpiece" + }, + "callWired": "Austiņas", + "@callWired": { + "description": "Where a call's audio can go: wired headphones" + }, + "callBluetooth": "Bluetooth", + "@callBluetooth": { + "description": "Where a call's audio can go: a Bluetooth headset" + }, + "hideCall": "Paslēpt zvanu", + "@hideCall": { + "description": "The button that shows the chats during a call" + }, + "returnToCall": "Atgriezties zvanā", + "@returnToCall": { + "description": "The banner over the chats during a call" + }, + "microphoneNeeded": "Zvaniem nepieciešams mikrofons", + "@microphoneNeeded": { + "description": "Shown when bTox may not use the microphone" + }, + "ringOverLockScreen": "Zvani nevar parādīties bloķēšanas ekrānā", + "@ringOverLockScreen": { + "description": "Shown on the Calls tab while Android doesn't let bTox show incoming calls full screen" + }, + "allowRingOverLockScreen": "Atļaut", + "@allowRingOverLockScreen": { + "description": "The button that opens the setting letting calls ring full screen" + }, + "relayBotNames": "Vārdi no retranslācijas bota", + "@relayBotNames": { + "description": "The action, and its page, that shows the names a bot relays from another chat in a group chat" + }, + "stopRelayBotNames": "Nerādīt vārdus no retranslācijas bota", + "@stopRelayBotNames": { + "description": "The action that shows a relay bot's messages as its own again" + }, + "showNames": "Rādīt vārdus", + "@showNames": { + "description": "The button that starts showing the names a relay bot relays" + }, + "noCalls": "Nav nesenu zvanu", + "@noCalls": { + "description": "Shown on the Calls tab when there are no calls" + }, + "callsNotAvailable": "Zvani notiek caur ierīci, kurai šis konts ir piesaistīts, un tā pašlaik tos nevar pieņemt", + "@callsNotAvailable": { + "description": "Shown on the Calls tab of a linked account while its home device is offline, or doesn't connect calls to its devices" + }, + "notImplemented": "Vēl nav pieejams", + "@notImplemented": { + "description": "Shown for a menu item that doesn't work yet" + }, + "openLinkFailed": "Neviena lietotne nevar atvērt šo saiti", + "@openLinkFailed": { + "description": "Shown when tapping a link in a message opens nothing" + }, + "reply": "Atbildēt", + "@reply": { + "description": "Message menu item to reply to the message" + }, + "forward": "Pārsūtīt", + "@forward": { + "description": "Message menu item to forward the message" + }, + "chatDetails": "Sarunas informācija", + "@chatDetails": { + "description": "The tooltip of a chat's title, which opens who the chat is with" + }, + "chatMembers": "{count, plural, one{{count} dalībnieks} other{{count} dalībnieki}}", + "@chatMembers": { + "description": "The heading of the people in a group or conference, counting yourself", + "placeholders": { + "count": { + "type": "int" + } + } + }, + "you": "Jūs", + "@you": { + "description": "Yourself, among the people in a chat" + }, + "muteChat": "Izslēgt paziņojumus", + "@muteChat": { + "description": "The action, and its dialog, that stops a chat's notifications for a while" + }, + "unmuteChat": "Ieslēgt paziņojumus", + "@unmuteChat": { + "description": "The action that lets a muted chat notify again" + }, + "muteForAnHour": "Uz 1 stundu", + "@muteForAnHour": { + "description": "How long to mute a chat for" + }, + "muteForEightHours": "Uz 8 stundām", + "@muteForEightHours": { + "description": "How long to mute a chat for" + }, + "muteForAWeek": "Uz 1 nedēļu", + "@muteForAWeek": { + "description": "How long to mute a chat for" + }, + "muteAlways": "Vienmēr", + "@muteAlways": { + "description": "Mutes a chat until it's unmuted" + }, + "notifyMentions": "Tomēr paziņot par pieminējumiem", + "@notifyMentions": { + "description": "In the dialog muting a group chat: messages naming you still notify" + }, + "mutedUntil": "Paziņojumi izslēgti līdz {time}", + "@mutedUntil": { + "description": "How long a chat stays muted", + "placeholders": { + "time": { + "type": "String", + "example": "Thu 17:00" + } + } + }, + "mutedAlways": "Paziņojumi izslēgti", + "@mutedAlways": { + "description": "A chat muted until it's unmuted" + }, + "sendPicturesAsQoi": "Sūtīt attēlus kā QOI", + "@sendPicturesAsQoi": { + "description": "A friend chat's setting: camera and gallery pictures sent as QOI" + }, + "sendPicturesAsQoiHint": "Bez kvalitātes zuduma, bet lielāki, un ne visas lietotnes rāda QOI", + "@sendPicturesAsQoiHint": { + "description": "Under the setting to send pictures as QOI" + }, + "seenThrough": "Redzēti caur {bot}", + "@seenThrough": { + "description": "Heading of the names a relay bot has relayed in the chat's history, under the bot among the people in a chat, though they may not be there now", + "placeholders": { + "bot": { + "type": "String", + "example": "EPiG-BrDG" + } + } + }, + "showMoreSeen": "{count, plural, =1{Rādīt vēl 1} other{Rādīt vēl {count}}}", + "@showMoreSeen": { + "description": "Shows the names a relay bot relayed longer ago", + "placeholders": { + "count": { + "type": "int" + } + } + }, + "roleFounder": "Dibinātājs", + "@roleFounder": { + "description": "The role of whoever created a group" + }, + "roleModerator": "Moderators", + "@roleModerator": { + "description": "The role of someone who can moderate a group" + }, + "roleObserver": "Novērotājs", + "@roleObserver": { + "description": "The role of someone who can only read a group" + }, + "statusAway": "Prom", + "@statusAway": { + "description": "Someone's status when they're away" + }, + "statusBusy": "Aizņemts", + "@statusBusy": { + "description": "Someone's status when they're busy" + }, + "membersWhileOnline": "Dalībnieki tiek rādīti, kamēr konta galvenā ierīce ir tiešsaistē", + "@membersWhileOnline": { + "description": "In place of a linked account's chat members, while its home device can't say who they are" + }, + "publicKey": "Publiskā atslēga", + "@publicKey": { + "description": "The heading of a friend's public key, which Tox knows them by" + }, + "publicKeyCopied": "Publiskā atslēga nokopēta", + "@publicKeyCopied": { + "description": "The message shown after copying a friend's public key" + }, + "copy": "Kopēt", + "@copy": { + "description": "Message menu item to copy the message's text" + }, + "select": "Atlasīt", + "@select": { + "description": "Message menu item to select messages" + }, + "forwardTo": "Pārsūtīt uz", + "@forwardTo": { + "description": "The title of the page that picks a chat to forward messages to" + }, + "messagesForwarded": "{count, plural, one{{count} ziņojums pārsūtīts} other{{count} ziņojumi pārsūtīti}}", + "@messagesForwarded": { + "description": "The message shown after forwarding messages", + "placeholders": { + "count": { + "type": "int" + } + } + }, + "messageInfo": "Ziņojuma informācija", + "@messageInfo": { + "description": "The title of the page a message's Info opens" + }, + "messageSent": "Nosūtīts", + "@messageSent": { + "description": "On a message's details, when ours was sent" + }, + "messageSending": "Tiek sūtīts", + "@messageSending": { + "description": "On a message's details, in place of messageSent while ours waits to go" + }, + "messageDelivered": "Piegādāts", + "@messageDelivered": { + "description": "On a message's details, when ours arrived" + }, + "messageReceived": "Saņemts", + "@messageReceived": { + "description": "On a message's details, when someone else's came" + }, + "messageFrom": "No", + "@messageFrom": { + "description": "On a message's details, the heading of who sent someone else's" + }, + "messagesSelected": "Atlasīti: {count}", + "@messagesSelected": { + "description": "The chat's title while messages are selected", + "placeholders": { + "count": { + "type": "int" + } + } + }, + "messagesCopied": "{count, plural, one{{count} ziņojums nokopēts} other{{count} ziņojumi nokopēti}}", + "@messagesCopied": { + "description": "The message shown after copying messages' text", + "placeholders": { + "count": { + "type": "int" + } + } + }, + "info": "Informācija", + "@info": { + "description": "Message menu item to show the message's details" + }, + "today": "Šodien", + "@today": { + "description": "Above the messages of today in a chat" + }, + "yesterday": "Vakar", + "@yesterday": { + "description": "Above the messages of yesterday in a chat" + }, + "loadFailed": "Kaut kas nogāja greizi", + "@loadFailed": { + "description": "Shown in place of a page that couldn't be loaded" + }, + "locationMessage": "Atrašanās vieta", + "@locationMessage": { + "description": "A shared location, as the chat list shows it" + }, + "emoji": "Emocijzīmes", + "@emoji": { + "description": "The button in the message box that opens the emoji picker" + }, + "send": "Sūtīt", + "@send": { + "description": "The button that sends what is written in the message box" + }, + "attach": "Pievienot", + "@attach": { + "description": "The button in the message box that opens what can be attached" + }, + "cancelReply": "Atcelt atbildi", + "@cancelReply": { + "description": "The button that stops replying to a message" + }, + "removeAttachment": "Noņemt", + "@removeAttachment": { + "description": "The button on an attachment waiting to be sent that takes it away" + }, + "attachFailed": "Neizdevās pievienot", + "@attachFailed": { + "description": "Shown when a picture or file couldn't be picked or copied to send" + }, + "dayAndTime": "{day} {time}", + "@dayAndTime": { + "description": "A day and a time on it, as in 'muted until Fri 14:00'", + "placeholders": { + "day": { + "type": "String", + "example": "Fri" + }, + "time": { + "type": "String", + "example": "14:00" + } + } + }, + "draftLabel": "Melnraksts:", + "@draftLabel": { + "description": "Before what is being written in a chat, as the chat list shows it" + }, + "messageV3": "TRIfA ziņojumu ID", + "@messageV3": { + "description": "Setting to read the ID TRIfA adds to its messages" + }, + "messageV3Hint": "Paslēpj ID, ko TRIfA pievieno ziņojumiem, un atkārtoti sūtītu ziņojumu rāda tikai vienreiz", + "@messageV3Hint": { + "description": "What reading TRIfA's message IDs does" + }, + "titleWithAccount": "bTox ({name})", + "@titleWithAccount": { + "description": "The title of the chat list, with the account it shows", + "placeholders": { + "name": { + "type": "String", + "example": "Alice" + } + } + }, + "deleteChatToo": "Neatgriezeniski dzēst arī jūsu ziņojumus un failus ar šo kontaktpersonu", + "@deleteChatToo": { + "description": "Option when deleting a contact to delete the chat with them too" + }, + "profileDeleteFailed": "Neizdevās dzēst profilu \"{name}\"", + "@profileDeleteFailed": { + "description": "Error when a profile couldn't be deleted", + "placeholders": { + "name": { + "type": "String", + "example": "Alice" + } + } + }, + "mergeChat": "Apvienot ar citu sarunu", + "@mergeChat": { + "description": "Action on a group chat to show it together with another that a bot relays messages between" + }, + "unmergeChat": "Rādīt sarunas atsevišķi", + "@unmergeChat": { + "description": "Action on merged chats to show them as separate chats again" + }, + "mergeChatTitle": "Apvienot sarunas", + "@mergeChatTitle": { + "description": "Title of the page that merges two chats" + }, + "mergeWith": "Apvienot ar", + "@mergeWith": { + "description": "Heading of the chats one can merge with" + }, + "relayBotIn": "Bots sarunā {chat}", + "@relayBotIn": { + "description": "Heading of the members of a chat to pick the bot from that relays messages to the other chat", + "placeholders": { + "chat": { + "type": "String", + "example": "Tox" + } + } + }, + "relayedMessages": "Retranslēti {relayed} no {count} ziņojumiem", + "@relayedMessages": { + "description": "How many of a chat member's messages look like a bot relayed them", + "placeholders": { + "relayed": { + "type": "int" + }, + "count": { + "type": "int" + } + } + }, + "noChatsToMerge": "Nav citu grupas sarunu", + "@noChatsToMerge": { + "description": "Shown when there are no chats to merge with" + }, + "merge": "Apvienot", + "@merge": { + "description": "Button that merges the chats" + }, + "exported": "Dati eksportēti", + "@exported": { + "description": "Shown when the backup was saved" + }, + "exportFailed": "Neizdevās eksportēt datus", + "@exportFailed": { + "description": "Error when the backup couldn't be made or saved" + }, + "locationOff": "Ieslēdziet atrašanās vietu, lai kopīgotu, kur atrodaties", + "@locationOff": { + "description": "Shown when sharing a location while location is off on the device" + }, + "locationDenied": "bTox nepieciešama atļauja izmantot jūsu atrašanās vietu", + "@locationDenied": { + "description": "Shown when sharing a location without the permission" + }, + "locationFailed": "Neizdevās noteikt jūsu atrašanās vietu", + "@locationFailed": { + "description": "Error when the location couldn't be found" + }, + "openSettings": "Iestatījumi", + "@openSettings": { + "description": "Button opening the device's settings to fix a problem" + }, + "ownToxIdError": "Šis ir jūsu paša Tox-ID", + "@ownToxIdError": { + "description": "Error when adding your own Tox ID as a contact" + }, + "addContactFailed": "Neizdevās pievienot kontaktpersonu", + "@addContactFailed": { + "description": "Error when a contact couldn't be saved" + }, + "chatClosed": "Jūs vairs nevarat sūtīt ziņojumus šajā sarunā", + "@chatClosed": { + "description": "Shown in place of the message input for a deleted contact or a group left" + }, + "friendRequest": "Drauga pieprasījums", + "@friendRequest": { + "description": "Title of the notification for a friend request" + }, + "inviteNotification": "Uzaicinājums uz sarunu", + "@inviteNotification": { + "description": "Title of the notification for an invite to a group or conference" + }, + "groupInvite": "{friend} uzaicināja jūs uz {chat}", + "@groupInvite": { + "description": "An invite to a group, above the chats and in its notification", + "placeholders": { + "friend": { + "type": "String" + }, + "chat": { + "type": "String" + } + } + }, + "conferenceInvite": "{friend} uzaicināja jūs uz konferenci", + "@conferenceInvite": { + "description": "An invite to a conference, whose invite has no name, above the chats and in its notification", + "placeholders": { + "friend": { + "type": "String" + } + } + }, + "joinInvite": "Pievienoties", + "@joinInvite": { + "description": "The button that joins the chat of an invite" + }, + "declineInvite": "Noraidīt", + "@declineInvite": { + "description": "The button that declines an invite to a chat" + }, + "joiningInvite": "Pievienojas…", + "@joiningInvite": { + "description": "Under an invite answered to join, until the account's home device joined" + }, + "inviteNeedsPassword": "Nepieciešama grupas parole. Palūdziet jaunu uzaicinājumu.", + "@inviteNeedsPassword": { + "description": "Under an invite to a group that turned the account away for a missing or wrong password, which spent the invite" + }, + "inviteSpent": "Neizdevās pievienoties. Palūdziet jaunu uzaicinājumu.", + "@inviteSpent": { + "description": "Under an invite whose chat turned the account away for another reason, which spent the invite" + }, + "inviteFailed": "Neizdevās pievienoties", + "@inviteFailed": { + "description": "Under an invite whose chat the account's home device couldn't join, which can be tried again" + }, + "groupPasswordHelper": "Atstājiet tukšu, ja grupai tādas nav", + "@groupPasswordHelper": { + "description": "Under the password field when joining a group from an invite" + }, + "retryInvite": "Mēģināt vēlreiz", + "@retryInvite": { + "description": "The button that tries joining the chat of an invite again" + }, + "chatInAccount": "{chat} · {account}", + "@chatInAccount": { + "description": "Title of a chat's notification while several accounts are signed in: the chat, then the account it's in", + "placeholders": { + "chat": { + "type": "String" + }, + "account": { + "type": "String" + } + } + }, + "newestMessages": "Jaunākie ziņojumi", + "@newestMessages": { + "description": "Tooltip of the button that scrolls a chat to its newest messages" + }, + "noChats": "Vēl nav sarunu", + "@noChats": { + "description": "Shown on the Chats tab when there are no chats" + }, + "noChatsHint": "Pievienojiet kontaktpersonu ar pogu +, lai sāktu sarunu", + "@noChatsHint": { + "description": "How to start a first chat, under noChats" } } diff --git a/lib/l10n/app_pt.arb b/lib/l10n/app_pt.arb index d3cb5f32..03dbf593 100644 --- a/lib/l10n/app_pt.arb +++ b/lib/l10n/app_pt.arb @@ -29,7 +29,7 @@ "@toxId": { "description": "The text for the Tox ID field" }, - "defaultAddContactMessage": "Oi, sou o {nick}, venha conversar comigo no bTox!", + "defaultAddContactMessage": "Olá, sou {nick}, venha conversar comigo no bTox!", "@defaultAddContactMessage": { "description": "The default message to send when adding a contact", "placeholders": { @@ -39,7 +39,7 @@ } } }, - "addContactMessageLengthError": "Máximo {max} caracteres ({length} é muito longo)", + "addContactMessageLengthError": "Máximo de {max} caracteres ({length} é demasiado longo)", "@addContactMessageLengthError": { "description": "The error message when the friend request message is too long", "placeholders": { @@ -57,7 +57,7 @@ "@add": { "description": "The text for the button to add a contact" }, - "toxIdLengthError": "Deve ser {length} caracteres hexadecimais", + "toxIdLengthError": "Deve ter {length} caracteres hexadecimais", "@toxIdLengthError": { "description": "The error message when the Tox ID is not the right length or format", "placeholders": { @@ -75,11 +75,11 @@ "@menuProfile": { "description": "The text for the profile menu item" }, - "menuSettings": "Configurações", + "menuSettings": "Definições", "@menuSettings": { "description": "The text for the settings menu item" }, - "nickLengthError": "O apelido deve estar entre 1 e {max} caracteres", + "nickLengthError": "A alcunha deve ter entre 1 e {max} caracteres", "@nickLengthError": { "description": "The error message when the nickname is too short or too long", "placeholders": { @@ -89,7 +89,7 @@ } } }, - "statusMessageLengthError": "Mensagem de estado não pode exceder {max} caracteres", + "statusMessageLengthError": "A mensagem de estado não pode exceder {max} caracteres", "@statusMessageLengthError": { "description": "The error message when the status message is longer than the supported maximum", "placeholders": { @@ -99,7 +99,7 @@ } } }, - "profileTextFieldNick": "Apelido", + "profileTextFieldNick": "Alcunha", "@profileTextFieldNick": { "description": "The text for the nickname field" }, @@ -107,7 +107,7 @@ "@profileTextFieldUserStatusMessage": { "description": "The text for the status message field" }, - "applyChanges": "Aplicar mudanças", + "applyChanges": "Aplicar alterações", "@applyChanges": { "description": "The text for the button to apply changes" }, @@ -123,7 +123,7 @@ "@create": { "description": "The text for the button create a new profile" }, - "logout": "Desconectar", + "logout": "Terminar sessão", "@logout": { "description": "The text for the logout menu item" }, @@ -131,7 +131,7 @@ "@deleteProfile": { "description": "The text for the delete profile menu item" }, - "deleteProfileMessage": "Tem certeza que deseja apagar o seu perfil \"{name}\"? Esta ação não pode ser desfeita. Isto irá apagar todos os seus contactos e mensagens. Certifique-se de ter um backup.", + "deleteProfileMessage": "Tem a certeza de que pretende apagar o seu perfil \"{name}\"? Esta ação não pode ser anulada. Todos os seus contactos e mensagens serão apagados. Certifique-se de que tem uma cópia de segurança.", "@deleteProfileMessage": { "description": "The message to confirm the deletion of a profile", "placeholders": { @@ -158,5 +158,911 @@ "example": "Alice" } } + }, + "copyToxId": "Copiar ID Tox", + "@copyToxId": { + "description": "The tooltip for copying your own Tox ID" + }, + "toxIdCopied": "ID Tox copiado", + "@toxIdCopied": { + "description": "The message shown after copying your own Tox ID" + }, + "toxIdChecksumError": "ID Tox inválido, verifique se há erros de escrita", + "@toxIdChecksumError": { + "description": "The error message when the Tox ID's checksum doesn't match, e.g. because of a typo" + }, + "logoutMessage": "A conta {name} deixa de receber mensagens até voltar a iniciar sessão nela.", + "@logoutMessage": { + "description": "Asks whether to sign the current account out", + "placeholders": { + "name": { + "type": "String", + "example": "Alice" + } + } + }, + "acceptFriendRequest": "Aceitar pedido de amizade", + "@acceptFriendRequest": { + "description": "The tooltip for accepting an incoming friend request" + }, + "rejectFriendRequest": "Recusar pedido de amizade", + "@rejectFriendRequest": { + "description": "The tooltip for rejecting an incoming friend request" + }, + "online": "Online", + "@online": { + "description": "A contact's connection state, for screen readers" + }, + "offline": "Offline", + "@offline": { + "description": "A contact's connection state, for screen readers" + }, + "deleteContact": "Apagar contacto", + "@deleteContact": { + "description": "The title of the dialog for deleting a contact" + }, + "deleteContactMessage": "Apagar \"{name}\" dos seus contactos?", + "@deleteContactMessage": { + "description": "The message to confirm the deletion of a contact", + "placeholders": { + "name": { + "type": "String", + "example": "Alice" + } + } + }, + "contactDeleted": "Contacto \"{name}\" apagado", + "@contactDeleted": { + "description": "The text when a contact has been deleted", + "placeholders": { + "name": { + "type": "String", + "example": "Alice" + } + } + }, + "import": "Importar", + "@import": { + "description": "The button that confirms importing a profile" + }, + "password": "Palavra-passe", + "@password": { + "description": "The label for a password: an encrypted profile's, or a group's" + }, + "wrongPassword": "Palavra-passe incorreta", + "@wrongPassword": { + "description": "The error when an encrypted profile's password is wrong" + }, + "profileImported": "Perfil \"{name}\" importado", + "@profileImported": { + "description": "The text when a profile has been imported", + "placeholders": { + "name": { + "type": "String", + "example": "Alice" + } + } + }, + "profileAlreadyImported": "Este perfil já está no bTox", + "@profileAlreadyImported": { + "description": "The error when importing a profile that bTox already has" + }, + "exportData": "Exportar dados", + "@exportData": { + "description": "Settings entry that saves all accounts and messages to a file" + }, + "exportDataHint": "Todas as contas e mensagens, cifradas com uma palavra-passe", + "@exportDataHint": { + "description": "Explanation below the export data setting" + }, + "importData": "Importar dados", + "@importData": { + "description": "The setting, button and dialog title for importing a bTox export or a .tox profile file" + }, + "importDataHint": "Uma exportação do bTox ou um perfil Tox de outro cliente", + "@importDataHint": { + "description": "Explanation below the import data setting" + }, + "export": "Exportar", + "@export": { + "description": "Button that exports data" + }, + "accountsRestored": "{count, plural, =0{A cópia de segurança não tem contas novas} =1{1 conta restaurada} other{{count} contas restauradas}}", + "@accountsRestored": { + "description": "Shown after importing accounts from a bTox backup", + "placeholders": { + "count": { + "type": "int" + } + } + }, + "notAToxProfile": "Não é um perfil Tox", + "@notAToxProfile": { + "description": "The error when the chosen file isn't a Tox profile" + }, + "stayOnline": "Continuar online ao fechar", + "@stayOnline": { + "description": "The setting to keep running in the background after closing the app" + }, + "stayOnlineHint": "Mantém online todas as contas com sessão iniciada", + "@stayOnlineHint": { + "description": "Explains that stay online applies to every signed-in account" + }, + "accounts": "Contas", + "@accounts": { + "description": "The menu item for signing in and managing accounts" + }, + "appSettings": "Aplicação", + "@appSettings": { + "description": "The heading of the settings for the whole app" + }, + "accountSettings": "Conta: {name}", + "@accountSettings": { + "description": "The heading of the settings for one account", + "placeholders": { + "name": { + "type": "String", + "example": "Alice" + } + } + }, + "autoAcceptFiles": "Aceitar ficheiros automaticamente até", + "@autoAcceptFiles": { + "description": "The setting for the largest incoming file accepted without asking" + }, + "never": "Nunca", + "@never": { + "description": "Auto-accepting no files at all" + }, + "acceptFile": "Aceitar", + "@acceptFile": { + "description": "The button to receive an offered file" + }, + "declineFile": "Recusar", + "@declineFile": { + "description": "The button to refuse an offered file" + }, + "downloadFile": "Transferir", + "@downloadFile": { + "description": "The button to fetch a file the account's home device holds" + }, + "fileCancelled": "Cancelado", + "@fileCancelled": { + "description": "A file transfer that was declined or stopped" + }, + "filePaused": "Em pausa até o contacto voltar a estar online", + "@filePaused": { + "description": "An incoming file that stopped part way, which goes on when the sender sends it again" + }, + "udpEnabled": "Usar UDP", + "@udpEnabled": { + "description": "The setting for Tox's UDP transport" + }, + "udpEnabledHint": "Se desativado, só liga através de relays TCP", + "@udpEnabledHint": { + "description": "Explains turning off UDP" + }, + "ipv6Enabled": "Usar IPv6", + "@ipv6Enabled": { + "description": "The setting for connecting over IPv6" + }, + "localDiscoveryEnabled": "Descoberta local", + "@localDiscoveryEnabled": { + "description": "The setting for finding friends on the local network" + }, + "localDiscoveryEnabledHint": "Encontrar amigos diretamente na mesma rede", + "@localDiscoveryEnabledHint": { + "description": "Explains local discovery" + }, + "offWithProxy": "Desativado ao usar um proxy, que só transporta TCP", + "@offWithProxy": { + "description": "Why UDP and local discovery are off when a proxy is set" + }, + "proxy": "Proxy", + "@proxy": { + "description": "The proxy setting and dialog title" + }, + "proxyNone": "Nenhum", + "@proxyNone": { + "description": "No proxy" + }, + "proxyHost": "Servidor", + "@proxyHost": { + "description": "The label for the proxy host field" + }, + "proxyPort": "Porta", + "@proxyPort": { + "description": "The label for the proxy port field" + }, + "invalidProxyHost": "Introduza um servidor", + "@invalidProxyHost": { + "description": "The error when the proxy host is empty" + }, + "invalidProxyPort": "Introduza uma porta de 1 a 65535", + "@invalidProxyPort": { + "description": "The error when the proxy port is out of range" + }, + "save": "Guardar", + "@save": { + "description": "The text for the save button" + }, + "attachCamera": "Câmara", + "@attachCamera": { + "description": "Button to take a photo to send" + }, + "attachGallery": "Galeria", + "@attachGallery": { + "description": "Button to choose images to send" + }, + "attachFile": "Ficheiro", + "@attachFile": { + "description": "Button to choose files to send" + }, + "attachLocation": "Localização", + "@attachLocation": { + "description": "Button to send the current location" + }, + "linkAccount": "Associar uma conta", + "@linkAccount": { + "description": "Action to use an account that runs on another device" + }, + "pairingLink": "Ligação de emparelhamento", + "@pairingLink": { + "description": "Label of the field for another device's pairing link" + }, + "pairingLinkHelp": "Cole a ligação de emparelhamento do dispositivo onde a conta é executada.", + "@pairingLinkHelp": { + "description": "Explains where the pairing link comes from" + }, + "invalidPairingLink": "Isto não é uma ligação de emparelhamento", + "@invalidPairingLink": { + "description": "Error when the pasted text isn't a pairing link" + }, + "link": "Associar", + "@link": { + "description": "Button that links an account" + }, + "linkedAccount": "Conta associada", + "@linkedAccount": { + "description": "Name of a linked account until its name has synced" + }, + "linkedAccountName": "{name} (associada)", + "@linkedAccountName": { + "description": "A linked account where accounts are listed to choose from", + "placeholders": { + "name": { + "type": "String" + } + } + }, + "sendFailed": "Não foi possível enviar a mensagem", + "@sendFailed": { + "description": "Error when a message couldn't be saved for sending" + }, + "saveFailed": "Não foi possível guardar", + "@saveFailed": { + "description": "Error when something the user did couldn't be saved" + }, + "importFailed": "Não foi possível importar este ficheiro", + "@importFailed": { + "description": "Error when a profile or backup file couldn't be imported" + }, + "linkFailed": "Não foi possível associar a conta", + "@linkFailed": { + "description": "Error when a linked account couldn't be added" + }, + "chats": "Conversas", + "@chats": { + "description": "The tab of the main page listing chats" + }, + "calls": "Chamadas", + "@calls": { + "description": "The tab of the main page listing calls" + }, + "voiceCall": "Chamada de voz", + "@voiceCall": { + "description": "A call button's tooltip, and a call still going on in a chat" + }, + "videoCall": "Videochamada", + "@videoCall": { + "description": "A video call button's tooltip, and a video call still going on in a chat" + }, + "outgoingVideoCall": "Videochamada efetuada", + "@outgoingVideoCall": { + "description": "A video call we made, in a chat" + }, + "incomingVideoCall": "Videochamada recebida", + "@incomingVideoCall": { + "description": "A video call the friend made, in a chat and while it rings" + }, + "missedVideoCall": "Videochamada perdida", + "@missedVideoCall": { + "description": "A video call that rang here and wasn't answered" + }, + "callCamera": "Câmara", + "@callCamera": { + "description": "The button that turns the camera on or off in a call" + }, + "flipCamera": "Trocar de câmara", + "@flipCamera": { + "description": "The button that switches between the front and back camera in a call" + }, + "cameraNeeded": "O bTox não tem permissão para usar a câmara, por isso a chamada continua sem ela", + "@cameraNeeded": { + "description": "Shown when bTox may not use the camera for a video call, which goes on without video" + }, + "outgoingCall": "Chamada de voz efetuada", + "@outgoingCall": { + "description": "A call we made, in a chat" + }, + "incomingCall": "Chamada de voz recebida", + "@incomingCall": { + "description": "A call the friend made, in a chat and while it rings" + }, + "missedCall": "Chamada de voz perdida", + "@missedCall": { + "description": "A call that rang here and wasn't answered" + }, + "callWithDuration": "{call} · {duration}", + "@callWithDuration": { + "description": "A call in a chat, with how long it was", + "placeholders": { + "call": { + "type": "String" + }, + "duration": { + "type": "String" + } + } + }, + "incomingCalls": "Chamadas recebidas", + "@incomingCalls": { + "description": "The notification channel that rings" + }, + "missedCalls": "Chamadas perdidas", + "@missedCalls": { + "description": "The notification channel for missed calls" + }, + "callOngoing": "Chamada em curso", + "@callOngoing": { + "description": "The notification while a call goes on" + }, + "calling": "A chamar…", + "@calling": { + "description": "Our call, while it rings at the friend's" + }, + "connecting": "A conectar…", + "@connecting": { + "description": "A call answered here, until it's connected" + }, + "answerCall": "Atender", + "@answerCall": { + "description": "The button that answers a call" + }, + "declineCall": "Recusar", + "@declineCall": { + "description": "The button that declines a call" + }, + "hangUp": "Desligar", + "@hangUp": { + "description": "The button that ends a call" + }, + "muteCall": "Silenciar", + "@muteCall": { + "description": "The button that mutes the microphone in a call" + }, + "callSpeaker": "Altifalante", + "@callSpeaker": { + "description": "The button that puts a call on the loudspeaker" + }, + "callEarpiece": "Telefone", + "@callEarpiece": { + "description": "Where a call's audio can go: the phone's earpiece" + }, + "callWired": "Auscultadores", + "@callWired": { + "description": "Where a call's audio can go: wired headphones" + }, + "callBluetooth": "Bluetooth", + "@callBluetooth": { + "description": "Where a call's audio can go: a Bluetooth headset" + }, + "hideCall": "Ocultar a chamada", + "@hideCall": { + "description": "The button that shows the chats during a call" + }, + "returnToCall": "Voltar à chamada", + "@returnToCall": { + "description": "The banner over the chats during a call" + }, + "microphoneNeeded": "As chamadas precisam do microfone", + "@microphoneNeeded": { + "description": "Shown when bTox may not use the microphone" + }, + "ringOverLockScreen": "As chamadas não podem tocar no ecrã de bloqueio", + "@ringOverLockScreen": { + "description": "Shown on the Calls tab while Android doesn't let bTox show incoming calls full screen" + }, + "allowRingOverLockScreen": "Permitir", + "@allowRingOverLockScreen": { + "description": "The button that opens the setting letting calls ring full screen" + }, + "relayBotNames": "Nomes de um bot de retransmissão", + "@relayBotNames": { + "description": "The action, and its page, that shows the names a bot relays from another chat in a group chat" + }, + "stopRelayBotNames": "Deixar de mostrar os nomes do bot de retransmissão", + "@stopRelayBotNames": { + "description": "The action that shows a relay bot's messages as its own again" + }, + "showNames": "Mostrar nomes", + "@showNames": { + "description": "The button that starts showing the names a relay bot relays" + }, + "noCalls": "Sem chamadas recentes", + "@noCalls": { + "description": "Shown on the Calls tab when there are no calls" + }, + "callsNotAvailable": "As chamadas passam pelo dispositivo ao qual esta conta está associada, que agora não as pode receber", + "@callsNotAvailable": { + "description": "Shown on the Calls tab of a linked account while its home device is offline, or doesn't connect calls to its devices" + }, + "notImplemented": "Ainda não disponível", + "@notImplemented": { + "description": "Shown for a menu item that doesn't work yet" + }, + "openLinkFailed": "Nenhuma aplicação consegue abrir esta ligação", + "@openLinkFailed": { + "description": "Shown when tapping a link in a message opens nothing" + }, + "reply": "Responder", + "@reply": { + "description": "Message menu item to reply to the message" + }, + "forward": "Reencaminhar", + "@forward": { + "description": "Message menu item to forward the message" + }, + "chatDetails": "Detalhes da conversa", + "@chatDetails": { + "description": "The tooltip of a chat's title, which opens who the chat is with" + }, + "chatMembers": "{count, plural, =1{1 membro} other{{count} membros}}", + "@chatMembers": { + "description": "The heading of the people in a group or conference, counting yourself", + "placeholders": { + "count": { + "type": "int" + } + } + }, + "you": "Você", + "@you": { + "description": "Yourself, among the people in a chat" + }, + "muteChat": "Silenciar notificações", + "@muteChat": { + "description": "The action, and its dialog, that stops a chat's notifications for a while" + }, + "unmuteChat": "Reativar notificações", + "@unmuteChat": { + "description": "The action that lets a muted chat notify again" + }, + "muteForAnHour": "Durante 1 hora", + "@muteForAnHour": { + "description": "How long to mute a chat for" + }, + "muteForEightHours": "Durante 8 horas", + "@muteForEightHours": { + "description": "How long to mute a chat for" + }, + "muteForAWeek": "Durante 1 semana", + "@muteForAWeek": { + "description": "How long to mute a chat for" + }, + "muteAlways": "Sempre", + "@muteAlways": { + "description": "Mutes a chat until it's unmuted" + }, + "notifyMentions": "Continuar a notificar menções", + "@notifyMentions": { + "description": "In the dialog muting a group chat: messages naming you still notify" + }, + "mutedUntil": "Silenciada até {time}", + "@mutedUntil": { + "description": "How long a chat stays muted", + "placeholders": { + "time": { + "type": "String", + "example": "Thu 17:00" + } + } + }, + "mutedAlways": "Silenciada", + "@mutedAlways": { + "description": "A chat muted until it's unmuted" + }, + "sendPicturesAsQoi": "Enviar imagens como QOI", + "@sendPicturesAsQoi": { + "description": "A friend chat's setting: camera and gallery pictures sent as QOI" + }, + "sendPicturesAsQoiHint": "Sem perdas, mas maiores, e nem todas as aplicações mostram QOI", + "@sendPicturesAsQoiHint": { + "description": "Under the setting to send pictures as QOI" + }, + "seenThrough": "Vistos através de {bot}", + "@seenThrough": { + "description": "Heading of the names a relay bot has relayed in the chat's history, under the bot among the people in a chat, though they may not be there now", + "placeholders": { + "bot": { + "type": "String", + "example": "EPiG-BrDG" + } + } + }, + "showMoreSeen": "{count, plural, =1{Mostrar mais 1} other{Mostrar mais {count}}}", + "@showMoreSeen": { + "description": "Shows the names a relay bot relayed longer ago", + "placeholders": { + "count": { + "type": "int" + } + } + }, + "roleFounder": "Fundador", + "@roleFounder": { + "description": "The role of whoever created a group" + }, + "roleModerator": "Moderador", + "@roleModerator": { + "description": "The role of someone who can moderate a group" + }, + "roleObserver": "Observador", + "@roleObserver": { + "description": "The role of someone who can only read a group" + }, + "statusAway": "Ausente", + "@statusAway": { + "description": "Someone's status when they're away" + }, + "statusBusy": "Ocupado", + "@statusBusy": { + "description": "Someone's status when they're busy" + }, + "membersWhileOnline": "Quem está aqui aparece quando o dispositivo principal da conta está online", + "@membersWhileOnline": { + "description": "In place of a linked account's chat members, while its home device can't say who they are" + }, + "publicKey": "Chave pública", + "@publicKey": { + "description": "The heading of a friend's public key, which Tox knows them by" + }, + "publicKeyCopied": "Chave pública copiada", + "@publicKeyCopied": { + "description": "The message shown after copying a friend's public key" + }, + "copy": "Copiar", + "@copy": { + "description": "Message menu item to copy the message's text" + }, + "select": "Selecionar", + "@select": { + "description": "Message menu item to select messages" + }, + "forwardTo": "Reencaminhar para", + "@forwardTo": { + "description": "The title of the page that picks a chat to forward messages to" + }, + "messagesForwarded": "{count, plural, =1{Mensagem reencaminhada} other{{count} mensagens reencaminhadas}}", + "@messagesForwarded": { + "description": "The message shown after forwarding messages", + "placeholders": { + "count": { + "type": "int" + } + } + }, + "messageInfo": "Detalhes da mensagem", + "@messageInfo": { + "description": "The title of the page a message's Info opens" + }, + "messageSent": "Enviada", + "@messageSent": { + "description": "On a message's details, when ours was sent" + }, + "messageSending": "A enviar", + "@messageSending": { + "description": "On a message's details, in place of messageSent while ours waits to go" + }, + "messageDelivered": "Entregue", + "@messageDelivered": { + "description": "On a message's details, when ours arrived" + }, + "messageReceived": "Recebida", + "@messageReceived": { + "description": "On a message's details, when someone else's came" + }, + "messageFrom": "De", + "@messageFrom": { + "description": "On a message's details, the heading of who sent someone else's" + }, + "messagesSelected": "{count, plural, =1{1 selecionada} other{{count} selecionadas}}", + "@messagesSelected": { + "description": "The chat's title while messages are selected", + "placeholders": { + "count": { + "type": "int" + } + } + }, + "messagesCopied": "{count, plural, =1{Mensagem copiada} other{{count} mensagens copiadas}}", + "@messagesCopied": { + "description": "The message shown after copying messages' text", + "placeholders": { + "count": { + "type": "int" + } + } + }, + "info": "Informação", + "@info": { + "description": "Message menu item to show the message's details" + }, + "today": "Hoje", + "@today": { + "description": "Above the messages of today in a chat" + }, + "yesterday": "Ontem", + "@yesterday": { + "description": "Above the messages of yesterday in a chat" + }, + "loadFailed": "Algo correu mal", + "@loadFailed": { + "description": "Shown in place of a page that couldn't be loaded" + }, + "locationMessage": "Localização", + "@locationMessage": { + "description": "A shared location, as the chat list shows it" + }, + "emoji": "Emoji", + "@emoji": { + "description": "The button in the message box that opens the emoji picker" + }, + "send": "Enviar", + "@send": { + "description": "The button that sends what is written in the message box" + }, + "attach": "Anexar", + "@attach": { + "description": "The button in the message box that opens what can be attached" + }, + "cancelReply": "Cancelar resposta", + "@cancelReply": { + "description": "The button that stops replying to a message" + }, + "removeAttachment": "Remover", + "@removeAttachment": { + "description": "The button on an attachment waiting to be sent that takes it away" + }, + "attachFailed": "Não foi possível anexar", + "@attachFailed": { + "description": "Shown when a picture or file couldn't be picked or copied to send" + }, + "dayAndTime": "{day} {time}", + "@dayAndTime": { + "description": "A day and a time on it, as in 'muted until Fri 14:00'", + "placeholders": { + "day": { + "type": "String", + "example": "Fri" + }, + "time": { + "type": "String", + "example": "14:00" + } + } + }, + "draftLabel": "Rascunho:", + "@draftLabel": { + "description": "Before what is being written in a chat, as the chat list shows it" + }, + "messageV3": "IDs de mensagem do TRIfA", + "@messageV3": { + "description": "Setting to read the ID TRIfA adds to its messages" + }, + "messageV3Hint": "Oculta o ID que o TRIfA adiciona às mensagens e mostra só uma vez uma mensagem que ele reenvia", + "@messageV3Hint": { + "description": "What reading TRIfA's message IDs does" + }, + "titleWithAccount": "bTox ({name})", + "@titleWithAccount": { + "description": "The title of the chat list, with the account it shows", + "placeholders": { + "name": { + "type": "String", + "example": "Alice" + } + } + }, + "deleteChatToo": "Apagar também as mensagens e ficheiros com este contacto, para sempre", + "@deleteChatToo": { + "description": "Option when deleting a contact to delete the chat with them too" + }, + "profileDeleteFailed": "Não foi possível apagar o perfil \"{name}\"", + "@profileDeleteFailed": { + "description": "Error when a profile couldn't be deleted", + "placeholders": { + "name": { + "type": "String", + "example": "Alice" + } + } + }, + "mergeChat": "Juntar com outra conversa", + "@mergeChat": { + "description": "Action on a group chat to show it together with another that a bot relays messages between" + }, + "unmergeChat": "Mostrar as conversas em separado", + "@unmergeChat": { + "description": "Action on merged chats to show them as separate chats again" + }, + "mergeChatTitle": "Juntar conversas", + "@mergeChatTitle": { + "description": "Title of the page that merges two chats" + }, + "mergeWith": "Juntar com", + "@mergeWith": { + "description": "Heading of the chats one can merge with" + }, + "relayBotIn": "Bot em {chat}", + "@relayBotIn": { + "description": "Heading of the members of a chat to pick the bot from that relays messages to the other chat", + "placeholders": { + "chat": { + "type": "String", + "example": "Tox" + } + } + }, + "relayedMessages": "{relayed} de {count} mensagens retransmitidas", + "@relayedMessages": { + "description": "How many of a chat member's messages look like a bot relayed them", + "placeholders": { + "relayed": { + "type": "int" + }, + "count": { + "type": "int" + } + } + }, + "noChatsToMerge": "Não há outras conversas de grupo", + "@noChatsToMerge": { + "description": "Shown when there are no chats to merge with" + }, + "merge": "Juntar", + "@merge": { + "description": "Button that merges the chats" + }, + "exported": "Dados exportados", + "@exported": { + "description": "Shown when the backup was saved" + }, + "exportFailed": "Não foi possível exportar os dados", + "@exportFailed": { + "description": "Error when the backup couldn't be made or saved" + }, + "locationOff": "Ative a localização para partilhar onde está", + "@locationOff": { + "description": "Shown when sharing a location while location is off on the device" + }, + "locationDenied": "O bTox precisa de permissão para usar a sua localização", + "@locationDenied": { + "description": "Shown when sharing a location without the permission" + }, + "locationFailed": "Não foi possível determinar onde está", + "@locationFailed": { + "description": "Error when the location couldn't be found" + }, + "openSettings": "Definições", + "@openSettings": { + "description": "Button opening the device's settings to fix a problem" + }, + "ownToxIdError": "Este é o seu próprio ID Tox", + "@ownToxIdError": { + "description": "Error when adding your own Tox ID as a contact" + }, + "addContactFailed": "Não foi possível adicionar o contacto", + "@addContactFailed": { + "description": "Error when a contact couldn't be saved" + }, + "chatClosed": "Já não pode enviar mensagens para esta conversa", + "@chatClosed": { + "description": "Shown in place of the message input for a deleted contact or a group left" + }, + "friendRequest": "Pedido de amizade", + "@friendRequest": { + "description": "Title of the notification for a friend request" + }, + "inviteNotification": "Convite para uma conversa", + "@inviteNotification": { + "description": "Title of the notification for an invite to a group or conference" + }, + "groupInvite": "{friend} enviou-lhe um convite para {chat}", + "@groupInvite": { + "description": "An invite to a group, above the chats and in its notification", + "placeholders": { + "friend": { + "type": "String" + }, + "chat": { + "type": "String" + } + } + }, + "conferenceInvite": "{friend} enviou-lhe um convite para uma conferência", + "@conferenceInvite": { + "description": "An invite to a conference, whose invite has no name, above the chats and in its notification", + "placeholders": { + "friend": { + "type": "String" + } + } + }, + "joinInvite": "Entrar", + "@joinInvite": { + "description": "The button that joins the chat of an invite" + }, + "declineInvite": "Recusar", + "@declineInvite": { + "description": "The button that declines an invite to a chat" + }, + "joiningInvite": "A entrar…", + "@joiningInvite": { + "description": "Under an invite answered to join, until the account's home device joined" + }, + "inviteNeedsPassword": "Requer a palavra-passe do grupo. Peça um novo convite.", + "@inviteNeedsPassword": { + "description": "Under an invite to a group that turned the account away for a missing or wrong password, which spent the invite" + }, + "inviteSpent": "Não foi possível entrar. Peça um novo convite.", + "@inviteSpent": { + "description": "Under an invite whose chat turned the account away for another reason, which spent the invite" + }, + "inviteFailed": "Não foi possível entrar", + "@inviteFailed": { + "description": "Under an invite whose chat the account's home device couldn't join, which can be tried again" + }, + "groupPasswordHelper": "Deixe em branco se o grupo não tiver palavra-passe", + "@groupPasswordHelper": { + "description": "Under the password field when joining a group from an invite" + }, + "retryInvite": "Tentar novamente", + "@retryInvite": { + "description": "The button that tries joining the chat of an invite again" + }, + "chatInAccount": "{chat} · {account}", + "@chatInAccount": { + "description": "Title of a chat's notification while several accounts are signed in: the chat, then the account it's in", + "placeholders": { + "chat": { + "type": "String" + }, + "account": { + "type": "String" + } + } + }, + "newestMessages": "Mensagens mais recentes", + "@newestMessages": { + "description": "Tooltip of the button that scrolls a chat to its newest messages" + }, + "noChats": "Ainda sem conversas", + "@noChats": { + "description": "Shown on the Chats tab when there are no chats" + }, + "noChatsHint": "Adicione um contacto com o botão + para começar a conversar", + "@noChatsHint": { + "description": "How to start a first chat, under noChats" } } diff --git a/lib/l10n/app_pt_BR.arb b/lib/l10n/app_pt_BR.arb index 494a5250..1b2f2a44 100644 --- a/lib/l10n/app_pt_BR.arb +++ b/lib/l10n/app_pt_BR.arb @@ -29,7 +29,7 @@ "@toxId": { "description": "The text for the Tox ID field" }, - "defaultAddContactMessage": "Oi, eu sou o {nick}, venha conversar comigo no bTox!", + "defaultAddContactMessage": "Oi, eu sou {nick}, venha conversar comigo no bTox!", "@defaultAddContactMessage": { "description": "The default message to send when adding a contact", "placeholders": { @@ -57,7 +57,7 @@ "@add": { "description": "The text for the button to add a contact" }, - "toxIdLengthError": "Deve ser {length} caracteres hexadecimais", + "toxIdLengthError": "Deve ter {length} caracteres hexadecimais", "@toxIdLengthError": { "description": "The error message when the Tox ID is not the right length or format", "placeholders": { @@ -79,7 +79,7 @@ "@menuSettings": { "description": "The text for the settings menu item" }, - "nickLengthError": "O apelido deve estar entre 1 e {max} caracteres", + "nickLengthError": "O apelido deve ter entre 1 e {max} caracteres", "@nickLengthError": { "description": "The error message when the nickname is too short or too long", "placeholders": { @@ -89,7 +89,7 @@ } } }, - "statusMessageLengthError": "Mensagem de estado não pode exceder {max} caracteres", + "statusMessageLengthError": "A mensagem de status não pode exceder {max} caracteres", "@statusMessageLengthError": { "description": "The error message when the status message is longer than the supported maximum", "placeholders": { @@ -103,7 +103,7 @@ "@profileTextFieldNick": { "description": "The text for the nickname field" }, - "profileTextFieldUserStatusMessage": "Mensagem de estado", + "profileTextFieldUserStatusMessage": "Mensagem de status", "@profileTextFieldUserStatusMessage": { "description": "The text for the status message field" }, @@ -131,7 +131,7 @@ "@deleteProfile": { "description": "The text for the delete profile menu item" }, - "deleteProfileMessage": "Tem certeza de que deseja excluir o seu perfil \"{name}\"? Esta ação não pode ser desfeita. Isto irá excluir todos os seus contatos e mensagens. Certifique-se de ter um backup.", + "deleteProfileMessage": "Tem certeza de que deseja apagar o seu perfil \"{name}\"? Esta ação não pode ser desfeita. Isto irá apagar todos os seus contatos e mensagens. Certifique-se de ter um backup.", "@deleteProfileMessage": { "description": "The message to confirm the deletion of a profile", "placeholders": { @@ -149,7 +149,7 @@ "@delete": { "description": "The text for the delete button" }, - "profileDeleted": "Perfil \"{name}\" excluído", + "profileDeleted": "Perfil \"{name}\" apagado", "@profileDeleted": { "description": "The text when a profile has been deleted", "placeholders": { @@ -158,5 +158,911 @@ "example": "Alice" } } + }, + "copyToxId": "Copiar ID Tox", + "@copyToxId": { + "description": "The tooltip for copying your own Tox ID" + }, + "toxIdCopied": "ID Tox copiado", + "@toxIdCopied": { + "description": "The message shown after copying your own Tox ID" + }, + "toxIdChecksumError": "ID Tox inválido, verifique se há erros de digitação", + "@toxIdChecksumError": { + "description": "The error message when the Tox ID's checksum doesn't match, e.g. because of a typo" + }, + "logoutMessage": "A conta {name} para de receber mensagens até você se conectar a ela de novo.", + "@logoutMessage": { + "description": "Asks whether to sign the current account out", + "placeholders": { + "name": { + "type": "String", + "example": "Alice" + } + } + }, + "acceptFriendRequest": "Aceitar pedido de amizade", + "@acceptFriendRequest": { + "description": "The tooltip for accepting an incoming friend request" + }, + "rejectFriendRequest": "Recusar pedido de amizade", + "@rejectFriendRequest": { + "description": "The tooltip for rejecting an incoming friend request" + }, + "online": "Online", + "@online": { + "description": "A contact's connection state, for screen readers" + }, + "offline": "Offline", + "@offline": { + "description": "A contact's connection state, for screen readers" + }, + "deleteContact": "Apagar contato", + "@deleteContact": { + "description": "The title of the dialog for deleting a contact" + }, + "deleteContactMessage": "Apagar \"{name}\" dos seus contatos?", + "@deleteContactMessage": { + "description": "The message to confirm the deletion of a contact", + "placeholders": { + "name": { + "type": "String", + "example": "Alice" + } + } + }, + "contactDeleted": "Contato \"{name}\" apagado", + "@contactDeleted": { + "description": "The text when a contact has been deleted", + "placeholders": { + "name": { + "type": "String", + "example": "Alice" + } + } + }, + "import": "Importar", + "@import": { + "description": "The button that confirms importing a profile" + }, + "password": "Senha", + "@password": { + "description": "The label for a password: an encrypted profile's, or a group's" + }, + "wrongPassword": "Senha incorreta", + "@wrongPassword": { + "description": "The error when an encrypted profile's password is wrong" + }, + "profileImported": "Perfil \"{name}\" importado", + "@profileImported": { + "description": "The text when a profile has been imported", + "placeholders": { + "name": { + "type": "String", + "example": "Alice" + } + } + }, + "profileAlreadyImported": "Este perfil já está no bTox", + "@profileAlreadyImported": { + "description": "The error when importing a profile that bTox already has" + }, + "exportData": "Exportar dados", + "@exportData": { + "description": "Settings entry that saves all accounts and messages to a file" + }, + "exportDataHint": "Todas as contas e mensagens, criptografadas com uma senha", + "@exportDataHint": { + "description": "Explanation below the export data setting" + }, + "importData": "Importar dados", + "@importData": { + "description": "The setting, button and dialog title for importing a bTox export or a .tox profile file" + }, + "importDataHint": "Uma exportação do bTox ou um perfil Tox de outro cliente", + "@importDataHint": { + "description": "Explanation below the import data setting" + }, + "export": "Exportar", + "@export": { + "description": "Button that exports data" + }, + "accountsRestored": "{count, plural, =0{O backup não tem contas novas} =1{1 conta restaurada} other{{count} contas restauradas}}", + "@accountsRestored": { + "description": "Shown after importing accounts from a bTox backup", + "placeholders": { + "count": { + "type": "int" + } + } + }, + "notAToxProfile": "Não é um perfil Tox", + "@notAToxProfile": { + "description": "The error when the chosen file isn't a Tox profile" + }, + "stayOnline": "Continuar online ao fechar", + "@stayOnline": { + "description": "The setting to keep running in the background after closing the app" + }, + "stayOnlineHint": "Mantém online todas as contas conectadas", + "@stayOnlineHint": { + "description": "Explains that stay online applies to every signed-in account" + }, + "accounts": "Contas", + "@accounts": { + "description": "The menu item for signing in and managing accounts" + }, + "appSettings": "Aplicativo", + "@appSettings": { + "description": "The heading of the settings for the whole app" + }, + "accountSettings": "Conta: {name}", + "@accountSettings": { + "description": "The heading of the settings for one account", + "placeholders": { + "name": { + "type": "String", + "example": "Alice" + } + } + }, + "autoAcceptFiles": "Aceitar arquivos automaticamente até", + "@autoAcceptFiles": { + "description": "The setting for the largest incoming file accepted without asking" + }, + "never": "Nunca", + "@never": { + "description": "Auto-accepting no files at all" + }, + "acceptFile": "Aceitar", + "@acceptFile": { + "description": "The button to receive an offered file" + }, + "declineFile": "Recusar", + "@declineFile": { + "description": "The button to refuse an offered file" + }, + "downloadFile": "Baixar", + "@downloadFile": { + "description": "The button to fetch a file the account's home device holds" + }, + "fileCancelled": "Cancelado", + "@fileCancelled": { + "description": "A file transfer that was declined or stopped" + }, + "filePaused": "Pausado até o contato ficar online de novo", + "@filePaused": { + "description": "An incoming file that stopped part way, which goes on when the sender sends it again" + }, + "udpEnabled": "Usar UDP", + "@udpEnabled": { + "description": "The setting for Tox's UDP transport" + }, + "udpEnabledHint": "Se desativado, conecta apenas por relays TCP", + "@udpEnabledHint": { + "description": "Explains turning off UDP" + }, + "ipv6Enabled": "Usar IPv6", + "@ipv6Enabled": { + "description": "The setting for connecting over IPv6" + }, + "localDiscoveryEnabled": "Descoberta local", + "@localDiscoveryEnabled": { + "description": "The setting for finding friends on the local network" + }, + "localDiscoveryEnabledHint": "Encontrar amigos diretamente na mesma rede", + "@localDiscoveryEnabledHint": { + "description": "Explains local discovery" + }, + "offWithProxy": "Desativado ao usar um proxy, que só funciona com TCP", + "@offWithProxy": { + "description": "Why UDP and local discovery are off when a proxy is set" + }, + "proxy": "Proxy", + "@proxy": { + "description": "The proxy setting and dialog title" + }, + "proxyNone": "Nenhum", + "@proxyNone": { + "description": "No proxy" + }, + "proxyHost": "Host", + "@proxyHost": { + "description": "The label for the proxy host field" + }, + "proxyPort": "Porta", + "@proxyPort": { + "description": "The label for the proxy port field" + }, + "invalidProxyHost": "Insira um host", + "@invalidProxyHost": { + "description": "The error when the proxy host is empty" + }, + "invalidProxyPort": "Insira uma porta de 1 a 65535", + "@invalidProxyPort": { + "description": "The error when the proxy port is out of range" + }, + "save": "Salvar", + "@save": { + "description": "The text for the save button" + }, + "attachCamera": "Câmera", + "@attachCamera": { + "description": "Button to take a photo to send" + }, + "attachGallery": "Galeria", + "@attachGallery": { + "description": "Button to choose images to send" + }, + "attachFile": "Arquivo", + "@attachFile": { + "description": "Button to choose files to send" + }, + "attachLocation": "Localização", + "@attachLocation": { + "description": "Button to send the current location" + }, + "linkAccount": "Vincular uma conta", + "@linkAccount": { + "description": "Action to use an account that runs on another device" + }, + "pairingLink": "Link de pareamento", + "@pairingLink": { + "description": "Label of the field for another device's pairing link" + }, + "pairingLinkHelp": "Cole o link de pareamento do dispositivo onde a conta é executada.", + "@pairingLinkHelp": { + "description": "Explains where the pairing link comes from" + }, + "invalidPairingLink": "Isto não é um link de pareamento", + "@invalidPairingLink": { + "description": "Error when the pasted text isn't a pairing link" + }, + "link": "Vincular", + "@link": { + "description": "Button that links an account" + }, + "linkedAccount": "Conta vinculada", + "@linkedAccount": { + "description": "Name of a linked account until its name has synced" + }, + "linkedAccountName": "{name} (vinculada)", + "@linkedAccountName": { + "description": "A linked account where accounts are listed to choose from", + "placeholders": { + "name": { + "type": "String" + } + } + }, + "sendFailed": "Não foi possível enviar a mensagem", + "@sendFailed": { + "description": "Error when a message couldn't be saved for sending" + }, + "saveFailed": "Não foi possível salvar", + "@saveFailed": { + "description": "Error when something the user did couldn't be saved" + }, + "importFailed": "Não foi possível importar este arquivo", + "@importFailed": { + "description": "Error when a profile or backup file couldn't be imported" + }, + "linkFailed": "Não foi possível vincular a conta", + "@linkFailed": { + "description": "Error when a linked account couldn't be added" + }, + "chats": "Conversas", + "@chats": { + "description": "The tab of the main page listing chats" + }, + "calls": "Chamadas", + "@calls": { + "description": "The tab of the main page listing calls" + }, + "voiceCall": "Chamada de voz", + "@voiceCall": { + "description": "A call button's tooltip, and a call still going on in a chat" + }, + "videoCall": "Videochamada", + "@videoCall": { + "description": "A video call button's tooltip, and a video call still going on in a chat" + }, + "outgoingVideoCall": "Videochamada realizada", + "@outgoingVideoCall": { + "description": "A video call we made, in a chat" + }, + "incomingVideoCall": "Videochamada recebida", + "@incomingVideoCall": { + "description": "A video call the friend made, in a chat and while it rings" + }, + "missedVideoCall": "Videochamada perdida", + "@missedVideoCall": { + "description": "A video call that rang here and wasn't answered" + }, + "callCamera": "Câmera", + "@callCamera": { + "description": "The button that turns the camera on or off in a call" + }, + "flipCamera": "Trocar de câmera", + "@flipCamera": { + "description": "The button that switches between the front and back camera in a call" + }, + "cameraNeeded": "O bTox não tem permissão para usar a câmera, então a chamada continua sem ela", + "@cameraNeeded": { + "description": "Shown when bTox may not use the camera for a video call, which goes on without video" + }, + "outgoingCall": "Chamada de voz realizada", + "@outgoingCall": { + "description": "A call we made, in a chat" + }, + "incomingCall": "Chamada de voz recebida", + "@incomingCall": { + "description": "A call the friend made, in a chat and while it rings" + }, + "missedCall": "Chamada de voz perdida", + "@missedCall": { + "description": "A call that rang here and wasn't answered" + }, + "callWithDuration": "{call} · {duration}", + "@callWithDuration": { + "description": "A call in a chat, with how long it was", + "placeholders": { + "call": { + "type": "String" + }, + "duration": { + "type": "String" + } + } + }, + "incomingCalls": "Chamadas recebidas", + "@incomingCalls": { + "description": "The notification channel that rings" + }, + "missedCalls": "Chamadas perdidas", + "@missedCalls": { + "description": "The notification channel for missed calls" + }, + "callOngoing": "Chamada em andamento", + "@callOngoing": { + "description": "The notification while a call goes on" + }, + "calling": "Chamando…", + "@calling": { + "description": "Our call, while it rings at the friend's" + }, + "connecting": "Conectando…", + "@connecting": { + "description": "A call answered here, until it's connected" + }, + "answerCall": "Atender", + "@answerCall": { + "description": "The button that answers a call" + }, + "declineCall": "Recusar", + "@declineCall": { + "description": "The button that declines a call" + }, + "hangUp": "Desligar", + "@hangUp": { + "description": "The button that ends a call" + }, + "muteCall": "Silenciar", + "@muteCall": { + "description": "The button that mutes the microphone in a call" + }, + "callSpeaker": "Alto-falante", + "@callSpeaker": { + "description": "The button that puts a call on the loudspeaker" + }, + "callEarpiece": "Telefone", + "@callEarpiece": { + "description": "Where a call's audio can go: the phone's earpiece" + }, + "callWired": "Fones de ouvido", + "@callWired": { + "description": "Where a call's audio can go: wired headphones" + }, + "callBluetooth": "Bluetooth", + "@callBluetooth": { + "description": "Where a call's audio can go: a Bluetooth headset" + }, + "hideCall": "Ocultar a chamada", + "@hideCall": { + "description": "The button that shows the chats during a call" + }, + "returnToCall": "Voltar à chamada", + "@returnToCall": { + "description": "The banner over the chats during a call" + }, + "microphoneNeeded": "As chamadas precisam do microfone", + "@microphoneNeeded": { + "description": "Shown when bTox may not use the microphone" + }, + "ringOverLockScreen": "As chamadas não podem tocar na tela de bloqueio", + "@ringOverLockScreen": { + "description": "Shown on the Calls tab while Android doesn't let bTox show incoming calls full screen" + }, + "allowRingOverLockScreen": "Permitir", + "@allowRingOverLockScreen": { + "description": "The button that opens the setting letting calls ring full screen" + }, + "relayBotNames": "Nomes de um bot de retransmissão", + "@relayBotNames": { + "description": "The action, and its page, that shows the names a bot relays from another chat in a group chat" + }, + "stopRelayBotNames": "Parar de mostrar os nomes do bot de retransmissão", + "@stopRelayBotNames": { + "description": "The action that shows a relay bot's messages as its own again" + }, + "showNames": "Mostrar nomes", + "@showNames": { + "description": "The button that starts showing the names a relay bot relays" + }, + "noCalls": "Nenhuma chamada recente", + "@noCalls": { + "description": "Shown on the Calls tab when there are no calls" + }, + "callsNotAvailable": "As chamadas passam pelo dispositivo ao qual esta conta está vinculada, que não pode recebê-las agora", + "@callsNotAvailable": { + "description": "Shown on the Calls tab of a linked account while its home device is offline, or doesn't connect calls to its devices" + }, + "notImplemented": "Ainda não disponível", + "@notImplemented": { + "description": "Shown for a menu item that doesn't work yet" + }, + "openLinkFailed": "Nenhum app consegue abrir este link", + "@openLinkFailed": { + "description": "Shown when tapping a link in a message opens nothing" + }, + "reply": "Responder", + "@reply": { + "description": "Message menu item to reply to the message" + }, + "forward": "Encaminhar", + "@forward": { + "description": "Message menu item to forward the message" + }, + "chatDetails": "Detalhes da conversa", + "@chatDetails": { + "description": "The tooltip of a chat's title, which opens who the chat is with" + }, + "chatMembers": "{count, plural, =1{1 membro} other{{count} membros}}", + "@chatMembers": { + "description": "The heading of the people in a group or conference, counting yourself", + "placeholders": { + "count": { + "type": "int" + } + } + }, + "you": "Você", + "@you": { + "description": "Yourself, among the people in a chat" + }, + "muteChat": "Silenciar notificações", + "@muteChat": { + "description": "The action, and its dialog, that stops a chat's notifications for a while" + }, + "unmuteChat": "Reativar notificações", + "@unmuteChat": { + "description": "The action that lets a muted chat notify again" + }, + "muteForAnHour": "Por 1 hora", + "@muteForAnHour": { + "description": "How long to mute a chat for" + }, + "muteForEightHours": "Por 8 horas", + "@muteForEightHours": { + "description": "How long to mute a chat for" + }, + "muteForAWeek": "Por 1 semana", + "@muteForAWeek": { + "description": "How long to mute a chat for" + }, + "muteAlways": "Sempre", + "@muteAlways": { + "description": "Mutes a chat until it's unmuted" + }, + "notifyMentions": "Continuar notificando menções", + "@notifyMentions": { + "description": "In the dialog muting a group chat: messages naming you still notify" + }, + "mutedUntil": "Silenciada até {time}", + "@mutedUntil": { + "description": "How long a chat stays muted", + "placeholders": { + "time": { + "type": "String", + "example": "Thu 17:00" + } + } + }, + "mutedAlways": "Silenciada", + "@mutedAlways": { + "description": "A chat muted until it's unmuted" + }, + "sendPicturesAsQoi": "Enviar imagens como QOI", + "@sendPicturesAsQoi": { + "description": "A friend chat's setting: camera and gallery pictures sent as QOI" + }, + "sendPicturesAsQoiHint": "Sem perdas, mas maiores, e nem todos os apps mostram QOI", + "@sendPicturesAsQoiHint": { + "description": "Under the setting to send pictures as QOI" + }, + "seenThrough": "Vistos através de {bot}", + "@seenThrough": { + "description": "Heading of the names a relay bot has relayed in the chat's history, under the bot among the people in a chat, though they may not be there now", + "placeholders": { + "bot": { + "type": "String", + "example": "EPiG-BrDG" + } + } + }, + "showMoreSeen": "{count, plural, =1{Mostrar mais 1} other{Mostrar mais {count}}}", + "@showMoreSeen": { + "description": "Shows the names a relay bot relayed longer ago", + "placeholders": { + "count": { + "type": "int" + } + } + }, + "roleFounder": "Fundador", + "@roleFounder": { + "description": "The role of whoever created a group" + }, + "roleModerator": "Moderador", + "@roleModerator": { + "description": "The role of someone who can moderate a group" + }, + "roleObserver": "Observador", + "@roleObserver": { + "description": "The role of someone who can only read a group" + }, + "statusAway": "Ausente", + "@statusAway": { + "description": "Someone's status when they're away" + }, + "statusBusy": "Ocupado", + "@statusBusy": { + "description": "Someone's status when they're busy" + }, + "membersWhileOnline": "Quem está aqui aparece enquanto o dispositivo principal da conta está online", + "@membersWhileOnline": { + "description": "In place of a linked account's chat members, while its home device can't say who they are" + }, + "publicKey": "Chave pública", + "@publicKey": { + "description": "The heading of a friend's public key, which Tox knows them by" + }, + "publicKeyCopied": "Chave pública copiada", + "@publicKeyCopied": { + "description": "The message shown after copying a friend's public key" + }, + "copy": "Copiar", + "@copy": { + "description": "Message menu item to copy the message's text" + }, + "select": "Selecionar", + "@select": { + "description": "Message menu item to select messages" + }, + "forwardTo": "Encaminhar para", + "@forwardTo": { + "description": "The title of the page that picks a chat to forward messages to" + }, + "messagesForwarded": "{count, plural, =1{Mensagem encaminhada} other{{count} mensagens encaminhadas}}", + "@messagesForwarded": { + "description": "The message shown after forwarding messages", + "placeholders": { + "count": { + "type": "int" + } + } + }, + "messageInfo": "Detalhes da mensagem", + "@messageInfo": { + "description": "The title of the page a message's Info opens" + }, + "messageSent": "Enviada", + "@messageSent": { + "description": "On a message's details, when ours was sent" + }, + "messageSending": "Enviando", + "@messageSending": { + "description": "On a message's details, in place of messageSent while ours waits to go" + }, + "messageDelivered": "Entregue", + "@messageDelivered": { + "description": "On a message's details, when ours arrived" + }, + "messageReceived": "Recebida", + "@messageReceived": { + "description": "On a message's details, when someone else's came" + }, + "messageFrom": "De", + "@messageFrom": { + "description": "On a message's details, the heading of who sent someone else's" + }, + "messagesSelected": "{count, plural, =1{1 selecionada} other{{count} selecionadas}}", + "@messagesSelected": { + "description": "The chat's title while messages are selected", + "placeholders": { + "count": { + "type": "int" + } + } + }, + "messagesCopied": "{count, plural, =1{Mensagem copiada} other{{count} mensagens copiadas}}", + "@messagesCopied": { + "description": "The message shown after copying messages' text", + "placeholders": { + "count": { + "type": "int" + } + } + }, + "info": "Informações", + "@info": { + "description": "Message menu item to show the message's details" + }, + "today": "Hoje", + "@today": { + "description": "Above the messages of today in a chat" + }, + "yesterday": "Ontem", + "@yesterday": { + "description": "Above the messages of yesterday in a chat" + }, + "loadFailed": "Algo deu errado", + "@loadFailed": { + "description": "Shown in place of a page that couldn't be loaded" + }, + "locationMessage": "Localização", + "@locationMessage": { + "description": "A shared location, as the chat list shows it" + }, + "emoji": "Emoji", + "@emoji": { + "description": "The button in the message box that opens the emoji picker" + }, + "send": "Enviar", + "@send": { + "description": "The button that sends what is written in the message box" + }, + "attach": "Anexar", + "@attach": { + "description": "The button in the message box that opens what can be attached" + }, + "cancelReply": "Cancelar resposta", + "@cancelReply": { + "description": "The button that stops replying to a message" + }, + "removeAttachment": "Remover", + "@removeAttachment": { + "description": "The button on an attachment waiting to be sent that takes it away" + }, + "attachFailed": "Não foi possível anexar", + "@attachFailed": { + "description": "Shown when a picture or file couldn't be picked or copied to send" + }, + "dayAndTime": "{day} {time}", + "@dayAndTime": { + "description": "A day and a time on it, as in 'muted until Fri 14:00'", + "placeholders": { + "day": { + "type": "String", + "example": "Fri" + }, + "time": { + "type": "String", + "example": "14:00" + } + } + }, + "draftLabel": "Rascunho:", + "@draftLabel": { + "description": "Before what is being written in a chat, as the chat list shows it" + }, + "messageV3": "IDs de mensagem do TRIfA", + "@messageV3": { + "description": "Setting to read the ID TRIfA adds to its messages" + }, + "messageV3Hint": "Oculta o ID que o TRIfA adiciona às mensagens e mostra só uma vez uma mensagem que ele reenvia", + "@messageV3Hint": { + "description": "What reading TRIfA's message IDs does" + }, + "titleWithAccount": "bTox ({name})", + "@titleWithAccount": { + "description": "The title of the chat list, with the account it shows", + "placeholders": { + "name": { + "type": "String", + "example": "Alice" + } + } + }, + "deleteChatToo": "Apagar também as mensagens e arquivos com este contato, para sempre", + "@deleteChatToo": { + "description": "Option when deleting a contact to delete the chat with them too" + }, + "profileDeleteFailed": "Não foi possível apagar o perfil \"{name}\"", + "@profileDeleteFailed": { + "description": "Error when a profile couldn't be deleted", + "placeholders": { + "name": { + "type": "String", + "example": "Alice" + } + } + }, + "mergeChat": "Mesclar com outra conversa", + "@mergeChat": { + "description": "Action on a group chat to show it together with another that a bot relays messages between" + }, + "unmergeChat": "Mostrar as conversas separadas", + "@unmergeChat": { + "description": "Action on merged chats to show them as separate chats again" + }, + "mergeChatTitle": "Mesclar conversas", + "@mergeChatTitle": { + "description": "Title of the page that merges two chats" + }, + "mergeWith": "Mesclar com", + "@mergeWith": { + "description": "Heading of the chats one can merge with" + }, + "relayBotIn": "Bot em {chat}", + "@relayBotIn": { + "description": "Heading of the members of a chat to pick the bot from that relays messages to the other chat", + "placeholders": { + "chat": { + "type": "String", + "example": "Tox" + } + } + }, + "relayedMessages": "{relayed} de {count} mensagens retransmitidas", + "@relayedMessages": { + "description": "How many of a chat member's messages look like a bot relayed them", + "placeholders": { + "relayed": { + "type": "int" + }, + "count": { + "type": "int" + } + } + }, + "noChatsToMerge": "Nenhuma outra conversa em grupo", + "@noChatsToMerge": { + "description": "Shown when there are no chats to merge with" + }, + "merge": "Mesclar", + "@merge": { + "description": "Button that merges the chats" + }, + "exported": "Dados exportados", + "@exported": { + "description": "Shown when the backup was saved" + }, + "exportFailed": "Não foi possível exportar os dados", + "@exportFailed": { + "description": "Error when the backup couldn't be made or saved" + }, + "locationOff": "Ative a localização para compartilhar onde você está", + "@locationOff": { + "description": "Shown when sharing a location while location is off on the device" + }, + "locationDenied": "O bTox precisa de permissão para usar sua localização", + "@locationDenied": { + "description": "Shown when sharing a location without the permission" + }, + "locationFailed": "Não foi possível determinar onde você está", + "@locationFailed": { + "description": "Error when the location couldn't be found" + }, + "openSettings": "Configurações", + "@openSettings": { + "description": "Button opening the device's settings to fix a problem" + }, + "ownToxIdError": "Este é o seu próprio ID Tox", + "@ownToxIdError": { + "description": "Error when adding your own Tox ID as a contact" + }, + "addContactFailed": "Não foi possível adicionar o contato", + "@addContactFailed": { + "description": "Error when a contact couldn't be saved" + }, + "chatClosed": "Você não pode mais enviar mensagens para esta conversa", + "@chatClosed": { + "description": "Shown in place of the message input for a deleted contact or a group left" + }, + "friendRequest": "Pedido de amizade", + "@friendRequest": { + "description": "Title of the notification for a friend request" + }, + "inviteNotification": "Convite para uma conversa", + "@inviteNotification": { + "description": "Title of the notification for an invite to a group or conference" + }, + "groupInvite": "{friend} convidou você para {chat}", + "@groupInvite": { + "description": "An invite to a group, above the chats and in its notification", + "placeholders": { + "friend": { + "type": "String" + }, + "chat": { + "type": "String" + } + } + }, + "conferenceInvite": "{friend} convidou você para uma conferência", + "@conferenceInvite": { + "description": "An invite to a conference, whose invite has no name, above the chats and in its notification", + "placeholders": { + "friend": { + "type": "String" + } + } + }, + "joinInvite": "Entrar", + "@joinInvite": { + "description": "The button that joins the chat of an invite" + }, + "declineInvite": "Recusar", + "@declineInvite": { + "description": "The button that declines an invite to a chat" + }, + "joiningInvite": "Entrando…", + "@joiningInvite": { + "description": "Under an invite answered to join, until the account's home device joined" + }, + "inviteNeedsPassword": "Requer a senha do grupo. Peça um novo convite.", + "@inviteNeedsPassword": { + "description": "Under an invite to a group that turned the account away for a missing or wrong password, which spent the invite" + }, + "inviteSpent": "Não foi possível entrar. Peça um novo convite.", + "@inviteSpent": { + "description": "Under an invite whose chat turned the account away for another reason, which spent the invite" + }, + "inviteFailed": "Não foi possível entrar", + "@inviteFailed": { + "description": "Under an invite whose chat the account's home device couldn't join, which can be tried again" + }, + "groupPasswordHelper": "Deixe em branco se o grupo não tiver senha", + "@groupPasswordHelper": { + "description": "Under the password field when joining a group from an invite" + }, + "retryInvite": "Tentar novamente", + "@retryInvite": { + "description": "The button that tries joining the chat of an invite again" + }, + "chatInAccount": "{chat} · {account}", + "@chatInAccount": { + "description": "Title of a chat's notification while several accounts are signed in: the chat, then the account it's in", + "placeholders": { + "chat": { + "type": "String" + }, + "account": { + "type": "String" + } + } + }, + "newestMessages": "Mensagens mais recentes", + "@newestMessages": { + "description": "Tooltip of the button that scrolls a chat to its newest messages" + }, + "noChats": "Nenhuma conversa ainda", + "@noChats": { + "description": "Shown on the Chats tab when there are no chats" + }, + "noChatsHint": "Adicione um contato com o botão + para começar a conversar", + "@noChatsHint": { + "description": "How to start a first chat, under noChats" } } diff --git a/lib/l10n/app_ru.arb b/lib/l10n/app_ru.arb new file mode 100644 index 00000000..ecbef344 --- /dev/null +++ b/lib/l10n/app_ru.arb @@ -0,0 +1,1069 @@ +{ + "@@locale": "ru", + "defaultContactName": "Неизвестный", + "@defaultContactName": { + "description": "The default name for a contact when the name is not yet known" + }, + "addContact": "Добавить контакт", + "@addContact": { + "description": "The text for the button to add a contact" + }, + "message": "Сообщение", + "@message": { + "description": "The text for the message field" + }, + "messageInput": "Сообщение Tox", + "@messageInput": { + "description": "The placeholder text for the message input field" + }, + "re": "Re: {message}", + "@re": { + "description": "The prefix for a reply message", + "placeholders": { + "message": { + "type": "String", + "example": "Hello" + } + } + }, + "toxId": "Tox ID", + "@toxId": { + "description": "The text for the Tox ID field" + }, + "copyToxId": "Копировать Tox ID", + "@copyToxId": { + "description": "The tooltip for copying your own Tox ID" + }, + "toxIdCopied": "Tox ID скопирован", + "@toxIdCopied": { + "description": "The message shown after copying your own Tox ID" + }, + "defaultAddContactMessage": "Привет, я {nick}, давай общаться в bTox!", + "@defaultAddContactMessage": { + "description": "The default message to send when adding a contact", + "placeholders": { + "nick": { + "type": "String", + "example": "Alice" + } + } + }, + "addContactMessageLengthError": "Максимум {max} символов ({length} — слишком много)", + "@addContactMessageLengthError": { + "description": "The error message when the friend request message is too long", + "placeholders": { + "max": { + "type": "int", + "example": "256" + }, + "length": { + "type": "int", + "example": "300" + } + } + }, + "add": "Добавить", + "@add": { + "description": "The text for the button to add a contact" + }, + "toxIdLengthError": "Должен содержать {length} шестнадцатеричных символов", + "@toxIdLengthError": { + "description": "The error message when the Tox ID is not the right length or format", + "placeholders": { + "length": { + "type": "int", + "example": "76" + } + } + }, + "toxIdChecksumError": "Недействительный Tox ID, проверьте, нет ли опечаток", + "@toxIdChecksumError": { + "description": "The error message when the Tox ID's checksum doesn't match, e.g. because of a typo" + }, + "messageEmptyError": "Сообщение не может быть пустым", + "@messageEmptyError": { + "description": "The error message when the message is empty" + }, + "menuProfile": "Профиль", + "@menuProfile": { + "description": "The text for the profile menu item" + }, + "menuSettings": "Настройки", + "@menuSettings": { + "description": "The text for the settings menu item" + }, + "nickLengthError": "Псевдоним должен содержать от 1 до {max} символов", + "@nickLengthError": { + "description": "The error message when the nickname is too short or too long", + "placeholders": { + "max": { + "type": "int", + "example": "32" + } + } + }, + "statusMessageLengthError": "Текст статуса не может быть длиннее {max} символов", + "@statusMessageLengthError": { + "description": "The error message when the status message is longer than the supported maximum", + "placeholders": { + "max": { + "type": "int", + "example": "128" + } + } + }, + "profileTextFieldNick": "Псевдоним", + "@profileTextFieldNick": { + "description": "The text for the nickname field" + }, + "profileTextFieldUserStatusMessage": "Текст статуса", + "@profileTextFieldUserStatusMessage": { + "description": "The text for the status message field" + }, + "applyChanges": "Применить изменения", + "@applyChanges": { + "description": "The text for the button to apply changes" + }, + "applied": "Применено", + "@applied": { + "description": "The text when changes have been applied" + }, + "newProfile": "Новый профиль", + "@newProfile": { + "description": "The title text for the create profile dialog" + }, + "create": "Создать", + "@create": { + "description": "The text for the button create a new profile" + }, + "logout": "Выйти", + "@logout": { + "description": "The text for the logout menu item" + }, + "logoutMessage": "{name} не будет получать сообщения, пока вы снова не войдёте в этот аккаунт.", + "@logoutMessage": { + "description": "Asks whether to sign the current account out", + "placeholders": { + "name": { + "type": "String", + "example": "Alice" + } + } + }, + "deleteProfile": "Удалить профиль", + "@deleteProfile": { + "description": "The text for the delete profile menu item" + }, + "deleteProfileMessage": "Вы уверены, что хотите удалить профиль \"{name}\"? Это действие нельзя отменить. Будут удалены все ваши контакты и сообщения. Убедитесь, что у вас есть резервная копия.", + "@deleteProfileMessage": { + "description": "The message to confirm the deletion of a profile", + "placeholders": { + "name": { + "type": "String", + "example": "Alice" + } + } + }, + "cancel": "Отмена", + "@cancel": { + "description": "The text for the cancel button" + }, + "delete": "Удалить", + "@delete": { + "description": "The text for the delete button" + }, + "acceptFriendRequest": "Принять запрос в друзья", + "@acceptFriendRequest": { + "description": "The tooltip for accepting an incoming friend request" + }, + "rejectFriendRequest": "Отклонить запрос в друзья", + "@rejectFriendRequest": { + "description": "The tooltip for rejecting an incoming friend request" + }, + "online": "В сети", + "@online": { + "description": "A contact's connection state, for screen readers" + }, + "offline": "Не в сети", + "@offline": { + "description": "A contact's connection state, for screen readers" + }, + "deleteContact": "Удалить контакт", + "@deleteContact": { + "description": "The title of the dialog for deleting a contact" + }, + "deleteContactMessage": "Удалить \"{name}\" из контактов?", + "@deleteContactMessage": { + "description": "The message to confirm the deletion of a contact", + "placeholders": { + "name": { + "type": "String", + "example": "Alice" + } + } + }, + "contactDeleted": "Контакт \"{name}\" удалён", + "@contactDeleted": { + "description": "The text when a contact has been deleted", + "placeholders": { + "name": { + "type": "String", + "example": "Alice" + } + } + }, + "import": "Импортировать", + "@import": { + "description": "The button that confirms importing a profile" + }, + "password": "Пароль", + "@password": { + "description": "The label for a password: an encrypted profile's, or a group's" + }, + "wrongPassword": "Неверный пароль", + "@wrongPassword": { + "description": "The error when an encrypted profile's password is wrong" + }, + "profileImported": "Профиль \"{name}\" импортирован", + "@profileImported": { + "description": "The text when a profile has been imported", + "placeholders": { + "name": { + "type": "String", + "example": "Alice" + } + } + }, + "profileAlreadyImported": "Этот профиль уже есть в bTox", + "@profileAlreadyImported": { + "description": "The error when importing a profile that bTox already has" + }, + "exportData": "Экспорт данных", + "@exportData": { + "description": "Settings entry that saves all accounts and messages to a file" + }, + "exportDataHint": "Все аккаунты и сообщения, зашифрованные паролем", + "@exportDataHint": { + "description": "Explanation below the export data setting" + }, + "importData": "Импорт данных", + "@importData": { + "description": "The setting, button and dialog title for importing a bTox export or a .tox profile file" + }, + "importDataHint": "Экспорт bTox или профиль Tox из другого клиента", + "@importDataHint": { + "description": "Explanation below the import data setting" + }, + "export": "Экспортировать", + "@export": { + "description": "Button that exports data" + }, + "accountsRestored": "{count, plural, =0{В резервной копии нет новых аккаунтов} one{Восстановлен {count} аккаунт} few{Восстановлено {count} аккаунта} many{Восстановлено {count} аккаунтов} other{Восстановлено {count} аккаунта}}", + "@accountsRestored": { + "description": "Shown after importing accounts from a bTox backup", + "placeholders": { + "count": { + "type": "int" + } + } + }, + "notAToxProfile": "Это не профиль Tox", + "@notAToxProfile": { + "description": "The error when the chosen file isn't a Tox profile" + }, + "stayOnline": "Оставаться в сети после закрытия", + "@stayOnline": { + "description": "The setting to keep running in the background after closing the app" + }, + "stayOnlineHint": "Все аккаунты, в которые выполнен вход, остаются в сети", + "@stayOnlineHint": { + "description": "Explains that stay online applies to every signed-in account" + }, + "accounts": "Аккаунты", + "@accounts": { + "description": "The menu item for signing in and managing accounts" + }, + "appSettings": "Приложение", + "@appSettings": { + "description": "The heading of the settings for the whole app" + }, + "accountSettings": "Аккаунт: {name}", + "@accountSettings": { + "description": "The heading of the settings for one account", + "placeholders": { + "name": { + "type": "String", + "example": "Alice" + } + } + }, + "autoAcceptFiles": "Автоматически принимать файлы до", + "@autoAcceptFiles": { + "description": "The setting for the largest incoming file accepted without asking" + }, + "never": "Никогда", + "@never": { + "description": "Auto-accepting no files at all" + }, + "acceptFile": "Принять", + "@acceptFile": { + "description": "The button to receive an offered file" + }, + "declineFile": "Отклонить", + "@declineFile": { + "description": "The button to refuse an offered file" + }, + "downloadFile": "Скачать", + "@downloadFile": { + "description": "The button to fetch a file the account's home device holds" + }, + "fileCancelled": "Отменено", + "@fileCancelled": { + "description": "A file transfer that was declined or stopped" + }, + "filePaused": "Приостановлено, пока собеседник не в сети", + "@filePaused": { + "description": "An incoming file that stopped part way, which goes on when the sender sends it again" + }, + "udpEnabled": "Использовать UDP", + "@udpEnabled": { + "description": "The setting for Tox's UDP transport" + }, + "udpEnabledHint": "Если выключено, подключаться только через TCP-ретрансляторы", + "@udpEnabledHint": { + "description": "Explains turning off UDP" + }, + "ipv6Enabled": "Использовать IPv6", + "@ipv6Enabled": { + "description": "The setting for connecting over IPv6" + }, + "localDiscoveryEnabled": "Обнаружение в локальной сети", + "@localDiscoveryEnabled": { + "description": "The setting for finding friends on the local network" + }, + "localDiscoveryEnabledHint": "Находить друзей в той же сети напрямую", + "@localDiscoveryEnabledHint": { + "description": "Explains local discovery" + }, + "offWithProxy": "Выключено при использовании прокси, который передаёт только TCP", + "@offWithProxy": { + "description": "Why UDP and local discovery are off when a proxy is set" + }, + "proxy": "Прокси", + "@proxy": { + "description": "The proxy setting and dialog title" + }, + "proxyNone": "Нет", + "@proxyNone": { + "description": "No proxy" + }, + "proxyHost": "Хост", + "@proxyHost": { + "description": "The label for the proxy host field" + }, + "proxyPort": "Порт", + "@proxyPort": { + "description": "The label for the proxy port field" + }, + "invalidProxyHost": "Введите хост", + "@invalidProxyHost": { + "description": "The error when the proxy host is empty" + }, + "invalidProxyPort": "Введите порт от 1 до 65535", + "@invalidProxyPort": { + "description": "The error when the proxy port is out of range" + }, + "save": "Сохранить", + "@save": { + "description": "The text for the save button" + }, + "profileDeleted": "Профиль \"{name}\" удалён", + "@profileDeleted": { + "description": "The text when a profile has been deleted", + "placeholders": { + "name": { + "type": "String", + "example": "Alice" + } + } + }, + "attachCamera": "Камера", + "@attachCamera": { + "description": "Button to take a photo to send" + }, + "attachGallery": "Галерея", + "@attachGallery": { + "description": "Button to choose images to send" + }, + "attachFile": "Файл", + "@attachFile": { + "description": "Button to choose files to send" + }, + "attachLocation": "Геопозиция", + "@attachLocation": { + "description": "Button to send the current location" + }, + "linkAccount": "Привязать аккаунт", + "@linkAccount": { + "description": "Action to use an account that runs on another device" + }, + "pairingLink": "Ссылка для привязки", + "@pairingLink": { + "description": "Label of the field for another device's pairing link" + }, + "pairingLinkHelp": "Вставьте ссылку для привязки с устройства, на котором работает аккаунт.", + "@pairingLinkHelp": { + "description": "Explains where the pairing link comes from" + }, + "invalidPairingLink": "Это не ссылка для привязки", + "@invalidPairingLink": { + "description": "Error when the pasted text isn't a pairing link" + }, + "link": "Привязать", + "@link": { + "description": "Button that links an account" + }, + "linkedAccount": "Привязанный аккаунт", + "@linkedAccount": { + "description": "Name of a linked account until its name has synced" + }, + "linkedAccountName": "{name} (привязанный)", + "@linkedAccountName": { + "description": "A linked account where accounts are listed to choose from", + "placeholders": { + "name": { + "type": "String" + } + } + }, + "sendFailed": "Не удалось отправить сообщение", + "@sendFailed": { + "description": "Error when a message couldn't be saved for sending" + }, + "saveFailed": "Не удалось сохранить", + "@saveFailed": { + "description": "Error when something the user did couldn't be saved" + }, + "importFailed": "Не удалось импортировать этот файл", + "@importFailed": { + "description": "Error when a profile or backup file couldn't be imported" + }, + "linkFailed": "Не удалось привязать аккаунт", + "@linkFailed": { + "description": "Error when a linked account couldn't be added" + }, + "chats": "Чаты", + "@chats": { + "description": "The tab of the main page listing chats" + }, + "calls": "Звонки", + "@calls": { + "description": "The tab of the main page listing calls" + }, + "voiceCall": "Голосовой звонок", + "@voiceCall": { + "description": "A call button's tooltip, and a call still going on in a chat" + }, + "videoCall": "Видеозвонок", + "@videoCall": { + "description": "A video call button's tooltip, and a video call still going on in a chat" + }, + "outgoingVideoCall": "Исходящий видеозвонок", + "@outgoingVideoCall": { + "description": "A video call we made, in a chat" + }, + "incomingVideoCall": "Входящий видеозвонок", + "@incomingVideoCall": { + "description": "A video call the friend made, in a chat and while it rings" + }, + "missedVideoCall": "Пропущенный видеозвонок", + "@missedVideoCall": { + "description": "A video call that rang here and wasn't answered" + }, + "callCamera": "Камера", + "@callCamera": { + "description": "The button that turns the camera on or off in a call" + }, + "flipCamera": "Сменить камеру", + "@flipCamera": { + "description": "The button that switches between the front and back camera in a call" + }, + "cameraNeeded": "У bTox нет доступа к камере, поэтому звонок продолжится без неё", + "@cameraNeeded": { + "description": "Shown when bTox may not use the camera for a video call, which goes on without video" + }, + "outgoingCall": "Исходящий голосовой звонок", + "@outgoingCall": { + "description": "A call we made, in a chat" + }, + "incomingCall": "Входящий голосовой звонок", + "@incomingCall": { + "description": "A call the friend made, in a chat and while it rings" + }, + "missedCall": "Пропущенный голосовой звонок", + "@missedCall": { + "description": "A call that rang here and wasn't answered" + }, + "callWithDuration": "{call} · {duration}", + "@callWithDuration": { + "description": "A call in a chat, with how long it was", + "placeholders": { + "call": { + "type": "String" + }, + "duration": { + "type": "String" + } + } + }, + "incomingCalls": "Входящие звонки", + "@incomingCalls": { + "description": "The notification channel that rings" + }, + "missedCalls": "Пропущенные звонки", + "@missedCalls": { + "description": "The notification channel for missed calls" + }, + "callOngoing": "Идёт звонок", + "@callOngoing": { + "description": "The notification while a call goes on" + }, + "calling": "Вызов…", + "@calling": { + "description": "Our call, while it rings at the friend's" + }, + "connecting": "Подключение…", + "@connecting": { + "description": "A call answered here, until it's connected" + }, + "answerCall": "Ответить", + "@answerCall": { + "description": "The button that answers a call" + }, + "declineCall": "Отклонить", + "@declineCall": { + "description": "The button that declines a call" + }, + "hangUp": "Завершить", + "@hangUp": { + "description": "The button that ends a call" + }, + "muteCall": "Выкл. звук", + "@muteCall": { + "description": "The button that mutes the microphone in a call" + }, + "callSpeaker": "Динамик", + "@callSpeaker": { + "description": "The button that puts a call on the loudspeaker" + }, + "callEarpiece": "Телефон", + "@callEarpiece": { + "description": "Where a call's audio can go: the phone's earpiece" + }, + "callWired": "Наушники", + "@callWired": { + "description": "Where a call's audio can go: wired headphones" + }, + "callBluetooth": "Bluetooth", + "@callBluetooth": { + "description": "Where a call's audio can go: a Bluetooth headset" + }, + "hideCall": "Свернуть звонок", + "@hideCall": { + "description": "The button that shows the chats during a call" + }, + "returnToCall": "Вернуться к звонку", + "@returnToCall": { + "description": "The banner over the chats during a call" + }, + "microphoneNeeded": "Для звонков нужен доступ к микрофону", + "@microphoneNeeded": { + "description": "Shown when bTox may not use the microphone" + }, + "ringOverLockScreen": "Звонки не могут появляться на экране блокировки", + "@ringOverLockScreen": { + "description": "Shown on the Calls tab while Android doesn't let bTox show incoming calls full screen" + }, + "allowRingOverLockScreen": "Разрешить", + "@allowRingOverLockScreen": { + "description": "The button that opens the setting letting calls ring full screen" + }, + "relayBotNames": "Имена от бота-ретранслятора", + "@relayBotNames": { + "description": "The action, and its page, that shows the names a bot relays from another chat in a group chat" + }, + "stopRelayBotNames": "Не показывать имена от бота-ретранслятора", + "@stopRelayBotNames": { + "description": "The action that shows a relay bot's messages as its own again" + }, + "showNames": "Показывать имена", + "@showNames": { + "description": "The button that starts showing the names a relay bot relays" + }, + "noCalls": "Нет недавних звонков", + "@noCalls": { + "description": "Shown on the Calls tab when there are no calls" + }, + "callsNotAvailable": "Звонки идут через устройство, к которому привязан этот аккаунт, а оно сейчас не может их принять", + "@callsNotAvailable": { + "description": "Shown on the Calls tab of a linked account while its home device is offline, or doesn't connect calls to its devices" + }, + "notImplemented": "Пока недоступно", + "@notImplemented": { + "description": "Shown for a menu item that doesn't work yet" + }, + "openLinkFailed": "Нет приложения, которое может открыть эту ссылку", + "@openLinkFailed": { + "description": "Shown when tapping a link in a message opens nothing" + }, + "reply": "Ответить", + "@reply": { + "description": "Message menu item to reply to the message" + }, + "forward": "Переслать", + "@forward": { + "description": "Message menu item to forward the message" + }, + "chatDetails": "Сведения о чате", + "@chatDetails": { + "description": "The tooltip of a chat's title, which opens who the chat is with" + }, + "chatMembers": "{count, plural, one{{count} участник} few{{count} участника} many{{count} участников} other{{count} участника}}", + "@chatMembers": { + "description": "The heading of the people in a group or conference, counting yourself", + "placeholders": { + "count": { + "type": "int" + } + } + }, + "you": "Вы", + "@you": { + "description": "Yourself, among the people in a chat" + }, + "muteChat": "Отключить уведомления", + "@muteChat": { + "description": "The action, and its dialog, that stops a chat's notifications for a while" + }, + "unmuteChat": "Включить уведомления", + "@unmuteChat": { + "description": "The action that lets a muted chat notify again" + }, + "muteForAnHour": "На 1 час", + "@muteForAnHour": { + "description": "How long to mute a chat for" + }, + "muteForEightHours": "На 8 часов", + "@muteForEightHours": { + "description": "How long to mute a chat for" + }, + "muteForAWeek": "На 1 неделю", + "@muteForAWeek": { + "description": "How long to mute a chat for" + }, + "muteAlways": "Всегда", + "@muteAlways": { + "description": "Mutes a chat until it's unmuted" + }, + "notifyMentions": "Всё равно уведомлять об упоминаниях", + "@notifyMentions": { + "description": "In the dialog muting a group chat: messages naming you still notify" + }, + "mutedUntil": "Без звука до {time}", + "@mutedUntil": { + "description": "How long a chat stays muted", + "placeholders": { + "time": { + "type": "String", + "example": "Thu 17:00" + } + } + }, + "mutedAlways": "Без звука", + "@mutedAlways": { + "description": "A chat muted until it's unmuted" + }, + "sendPicturesAsQoi": "Отправлять изображения в QOI", + "@sendPicturesAsQoi": { + "description": "A friend chat's setting: camera and gallery pictures sent as QOI" + }, + "sendPicturesAsQoiHint": "Без потерь, но файлы больше, и не все приложения показывают QOI", + "@sendPicturesAsQoiHint": { + "description": "Under the setting to send pictures as QOI" + }, + "seenThrough": "Замечены через {bot}", + "@seenThrough": { + "description": "Heading of the names a relay bot has relayed in the chat's history, under the bot among the people in a chat, though they may not be there now", + "placeholders": { + "bot": { + "type": "String", + "example": "EPiG-BrDG" + } + } + }, + "showMoreSeen": "Показать ещё {count}", + "@showMoreSeen": { + "description": "Shows the names a relay bot relayed longer ago", + "placeholders": { + "count": { + "type": "int" + } + } + }, + "roleFounder": "Основатель", + "@roleFounder": { + "description": "The role of whoever created a group" + }, + "roleModerator": "Модератор", + "@roleModerator": { + "description": "The role of someone who can moderate a group" + }, + "roleObserver": "Наблюдатель", + "@roleObserver": { + "description": "The role of someone who can only read a group" + }, + "statusAway": "Нет на месте", + "@statusAway": { + "description": "Someone's status when they're away" + }, + "statusBusy": "Не беспокоить", + "@statusBusy": { + "description": "Someone's status when they're busy" + }, + "membersWhileOnline": "Участники видны, пока домашнее устройство аккаунта в сети", + "@membersWhileOnline": { + "description": "In place of a linked account's chat members, while its home device can't say who they are" + }, + "publicKey": "Открытый ключ", + "@publicKey": { + "description": "The heading of a friend's public key, which Tox knows them by" + }, + "publicKeyCopied": "Открытый ключ скопирован", + "@publicKeyCopied": { + "description": "The message shown after copying a friend's public key" + }, + "copy": "Копировать", + "@copy": { + "description": "Message menu item to copy the message's text" + }, + "select": "Выбрать", + "@select": { + "description": "Message menu item to select messages" + }, + "forwardTo": "Переслать в", + "@forwardTo": { + "description": "The title of the page that picks a chat to forward messages to" + }, + "messagesForwarded": "{count, plural, one{{count} сообщение переслано} few{{count} сообщения пересланы} many{{count} сообщений переслано} other{{count} сообщения переслано}}", + "@messagesForwarded": { + "description": "The message shown after forwarding messages", + "placeholders": { + "count": { + "type": "int" + } + } + }, + "messageInfo": "Сведения о сообщении", + "@messageInfo": { + "description": "The title of the page a message's Info opens" + }, + "messageSent": "Отправлено", + "@messageSent": { + "description": "On a message's details, when ours was sent" + }, + "messageSending": "Отправляется", + "@messageSending": { + "description": "On a message's details, in place of messageSent while ours waits to go" + }, + "messageDelivered": "Доставлено", + "@messageDelivered": { + "description": "On a message's details, when ours arrived" + }, + "messageReceived": "Получено", + "@messageReceived": { + "description": "On a message's details, when someone else's came" + }, + "messageFrom": "От", + "@messageFrom": { + "description": "On a message's details, the heading of who sent someone else's" + }, + "messagesSelected": "Выбрано: {count}", + "@messagesSelected": { + "description": "The chat's title while messages are selected", + "placeholders": { + "count": { + "type": "int" + } + } + }, + "messagesCopied": "{count, plural, one{{count} сообщение скопировано} few{{count} сообщения скопированы} many{{count} сообщений скопировано} other{{count} сообщения скопировано}}", + "@messagesCopied": { + "description": "The message shown after copying messages' text", + "placeholders": { + "count": { + "type": "int" + } + } + }, + "info": "Сведения", + "@info": { + "description": "Message menu item to show the message's details" + }, + "today": "Сегодня", + "@today": { + "description": "Above the messages of today in a chat" + }, + "yesterday": "Вчера", + "@yesterday": { + "description": "Above the messages of yesterday in a chat" + }, + "loadFailed": "Что-то пошло не так", + "@loadFailed": { + "description": "Shown in place of a page that couldn't be loaded" + }, + "locationMessage": "Геопозиция", + "@locationMessage": { + "description": "A shared location, as the chat list shows it" + }, + "emoji": "Эмодзи", + "@emoji": { + "description": "The button in the message box that opens the emoji picker" + }, + "send": "Отправить", + "@send": { + "description": "The button that sends what is written in the message box" + }, + "attach": "Прикрепить", + "@attach": { + "description": "The button in the message box that opens what can be attached" + }, + "cancelReply": "Отменить ответ", + "@cancelReply": { + "description": "The button that stops replying to a message" + }, + "removeAttachment": "Убрать", + "@removeAttachment": { + "description": "The button on an attachment waiting to be sent that takes it away" + }, + "attachFailed": "Не удалось прикрепить", + "@attachFailed": { + "description": "Shown when a picture or file couldn't be picked or copied to send" + }, + "dayAndTime": "{day} {time}", + "@dayAndTime": { + "description": "A day and a time on it, as in 'muted until Fri 14:00'", + "placeholders": { + "day": { + "type": "String", + "example": "Fri" + }, + "time": { + "type": "String", + "example": "14:00" + } + } + }, + "draftLabel": "Черновик:", + "@draftLabel": { + "description": "Before what is being written in a chat, as the chat list shows it" + }, + "messageV3": "ID сообщений TRIfA", + "@messageV3": { + "description": "Setting to read the ID TRIfA adds to its messages" + }, + "messageV3Hint": "Скрывает ID, который TRIfA добавляет к сообщениям, и показывает повторно отправленное им сообщение только один раз", + "@messageV3Hint": { + "description": "What reading TRIfA's message IDs does" + }, + "titleWithAccount": "bTox ({name})", + "@titleWithAccount": { + "description": "The title of the chat list, with the account it shows", + "placeholders": { + "name": { + "type": "String", + "example": "Alice" + } + } + }, + "deleteChatToo": "Также навсегда удалить переписку и файлы с этим контактом", + "@deleteChatToo": { + "description": "Option when deleting a contact to delete the chat with them too" + }, + "profileDeleteFailed": "Не удалось удалить профиль \"{name}\"", + "@profileDeleteFailed": { + "description": "Error when a profile couldn't be deleted", + "placeholders": { + "name": { + "type": "String", + "example": "Alice" + } + } + }, + "mergeChat": "Объединить с другим чатом", + "@mergeChat": { + "description": "Action on a group chat to show it together with another that a bot relays messages between" + }, + "unmergeChat": "Показывать чаты отдельно", + "@unmergeChat": { + "description": "Action on merged chats to show them as separate chats again" + }, + "mergeChatTitle": "Объединение чатов", + "@mergeChatTitle": { + "description": "Title of the page that merges two chats" + }, + "mergeWith": "Объединить с", + "@mergeWith": { + "description": "Heading of the chats one can merge with" + }, + "relayBotIn": "Бот в {chat}", + "@relayBotIn": { + "description": "Heading of the members of a chat to pick the bot from that relays messages to the other chat", + "placeholders": { + "chat": { + "type": "String", + "example": "Tox" + } + } + }, + "relayedMessages": "{count, plural, one{Ретранслировано {relayed} из {count} сообщения} few{Ретранслировано {relayed} из {count} сообщений} many{Ретранслировано {relayed} из {count} сообщений} other{Ретранслировано {relayed} из {count} сообщения}}", + "@relayedMessages": { + "description": "How many of a chat member's messages look like a bot relayed them", + "placeholders": { + "relayed": { + "type": "int" + }, + "count": { + "type": "int" + } + } + }, + "noChatsToMerge": "Нет других групповых чатов", + "@noChatsToMerge": { + "description": "Shown when there are no chats to merge with" + }, + "merge": "Объединить", + "@merge": { + "description": "Button that merges the chats" + }, + "exported": "Данные экспортированы", + "@exported": { + "description": "Shown when the backup was saved" + }, + "exportFailed": "Не удалось экспортировать данные", + "@exportFailed": { + "description": "Error when the backup couldn't be made or saved" + }, + "locationOff": "Включите геолокацию, чтобы поделиться местоположением", + "@locationOff": { + "description": "Shown when sharing a location while location is off on the device" + }, + "locationDenied": "bTox нужно разрешение на доступ к геопозиции", + "@locationDenied": { + "description": "Shown when sharing a location without the permission" + }, + "locationFailed": "Не удалось определить ваше местоположение", + "@locationFailed": { + "description": "Error when the location couldn't be found" + }, + "openSettings": "Настройки", + "@openSettings": { + "description": "Button opening the device's settings to fix a problem" + }, + "ownToxIdError": "Это ваш собственный Tox ID", + "@ownToxIdError": { + "description": "Error when adding your own Tox ID as a contact" + }, + "addContactFailed": "Не удалось добавить контакт", + "@addContactFailed": { + "description": "Error when a contact couldn't be saved" + }, + "chatClosed": "Вы больше не можете отправлять сообщения в этот чат", + "@chatClosed": { + "description": "Shown in place of the message input for a deleted contact or a group left" + }, + "friendRequest": "Запрос в друзья", + "@friendRequest": { + "description": "Title of the notification for a friend request" + }, + "inviteNotification": "Приглашение в чат", + "@inviteNotification": { + "description": "Title of the notification for an invite to a group or conference" + }, + "groupInvite": "Приглашение от {friend} в {chat}", + "@groupInvite": { + "description": "An invite to a group, above the chats and in its notification", + "placeholders": { + "friend": { + "type": "String" + }, + "chat": { + "type": "String" + } + } + }, + "conferenceInvite": "Приглашение от {friend} в конференцию", + "@conferenceInvite": { + "description": "An invite to a conference, whose invite has no name, above the chats and in its notification", + "placeholders": { + "friend": { + "type": "String" + } + } + }, + "joinInvite": "Присоединиться", + "@joinInvite": { + "description": "The button that joins the chat of an invite" + }, + "declineInvite": "Отклонить", + "@declineInvite": { + "description": "The button that declines an invite to a chat" + }, + "joiningInvite": "Присоединение…", + "@joiningInvite": { + "description": "Under an invite answered to join, until the account's home device joined" + }, + "inviteNeedsPassword": "Нужен пароль группы. Попросите новое приглашение.", + "@inviteNeedsPassword": { + "description": "Under an invite to a group that turned the account away for a missing or wrong password, which spent the invite" + }, + "inviteSpent": "Не удалось присоединиться. Попросите новое приглашение.", + "@inviteSpent": { + "description": "Under an invite whose chat turned the account away for another reason, which spent the invite" + }, + "inviteFailed": "Не удалось присоединиться", + "@inviteFailed": { + "description": "Under an invite whose chat the account's home device couldn't join, which can be tried again" + }, + "groupPasswordHelper": "Оставьте пустым, если у группы нет пароля", + "@groupPasswordHelper": { + "description": "Under the password field when joining a group from an invite" + }, + "retryInvite": "Повторить", + "@retryInvite": { + "description": "The button that tries joining the chat of an invite again" + }, + "chatInAccount": "{chat} · {account}", + "@chatInAccount": { + "description": "Title of a chat's notification while several accounts are signed in: the chat, then the account it's in", + "placeholders": { + "chat": { + "type": "String" + }, + "account": { + "type": "String" + } + } + }, + "newestMessages": "К последним сообщениям", + "@newestMessages": { + "description": "Tooltip of the button that scrolls a chat to its newest messages" + }, + "noChats": "Пока нет чатов", + "@noChats": { + "description": "Shown on the Chats tab when there are no chats" + }, + "noChatsHint": "Добавьте контакт кнопкой +, чтобы начать общение", + "@noChatsHint": { + "description": "How to start a first chat, under noChats" + } +} diff --git a/lib/l10n/app_ta.arb b/lib/l10n/app_ta.arb index 8c32727b..2ed8ac2e 100644 --- a/lib/l10n/app_ta.arb +++ b/lib/l10n/app_ta.arb @@ -11,15 +11,15 @@ "@message": { "description": "The text for the message field" }, - "messageInput": "டாக்சு செய்தி", + "messageInput": "Tox செய்தி", "@messageInput": { "description": "The placeholder text for the message input field" }, - "toxId": "நச்சு ஐடி", + "toxId": "Tox ஐடி", "@toxId": { "description": "The text for the Tox ID field" }, - "defaultAddContactMessage": "ஏய், நான் {nick}, BTOX இல் என்னுடன் அரட்டையடிக்க வாருங்கள்!", + "defaultAddContactMessage": "வணக்கம், நான் {nick}, bTox-இல் என்னுடன் அரட்டையடிக்க வாருங்கள்!", "@defaultAddContactMessage": { "description": "The default message to send when adding a contact", "placeholders": { @@ -43,7 +43,7 @@ } } }, - "add": "கூட்டு", + "add": "சேர்", "@add": { "description": "The text for the button to add a contact" }, @@ -99,7 +99,7 @@ "@create": { "description": "The text for the button create a new profile" }, - "logout": "வெளியேற்றம்", + "logout": "வெளியேறு", "@logout": { "description": "The text for the logout menu item" }, @@ -135,7 +135,7 @@ } } }, - "statusMessageLengthError": "நிலை செய்தி {max} எழுத்துக்களை விட அதிகமாக இருக்காது", + "statusMessageLengthError": "நிலை செய்தி {max} எழுத்துக்களை விட அதிகமாக இருக்கக்கூடாது", "@statusMessageLengthError": { "description": "The error message when the status message is longer than the supported maximum", "placeholders": { @@ -158,5 +158,911 @@ "example": "Hello" } } + }, + "copyToxId": "Tox ஐடியை நகலெடு", + "@copyToxId": { + "description": "The tooltip for copying your own Tox ID" + }, + "toxIdCopied": "Tox ஐடி நகலெடுக்கப்பட்டது", + "@toxIdCopied": { + "description": "The message shown after copying your own Tox ID" + }, + "toxIdChecksumError": "சரியான Tox ஐடி அல்ல, எழுத்துப் பிழைகள் உள்ளனவா எனச் சரிபார்க்கவும்", + "@toxIdChecksumError": { + "description": "The error message when the Tox ID's checksum doesn't match, e.g. because of a typo" + }, + "logoutMessage": "மீண்டும் உள்நுழையும் வரை {name} செய்திகளைப் பெறாது.", + "@logoutMessage": { + "description": "Asks whether to sign the current account out", + "placeholders": { + "name": { + "type": "String", + "example": "Alice" + } + } + }, + "acceptFriendRequest": "நண்பர் கோரிக்கையை ஏற்கவும்", + "@acceptFriendRequest": { + "description": "The tooltip for accepting an incoming friend request" + }, + "rejectFriendRequest": "நண்பர் கோரிக்கையை நிராகரிக்கவும்", + "@rejectFriendRequest": { + "description": "The tooltip for rejecting an incoming friend request" + }, + "online": "ஆன்லைன்", + "@online": { + "description": "A contact's connection state, for screen readers" + }, + "offline": "ஆஃப்லைன்", + "@offline": { + "description": "A contact's connection state, for screen readers" + }, + "deleteContact": "தொடர்பை நீக்கு", + "@deleteContact": { + "description": "The title of the dialog for deleting a contact" + }, + "deleteContactMessage": "\"{name}\" என்பவரை உங்கள் தொடர்புகளிலிருந்து நீக்கவா?", + "@deleteContactMessage": { + "description": "The message to confirm the deletion of a contact", + "placeholders": { + "name": { + "type": "String", + "example": "Alice" + } + } + }, + "contactDeleted": "தொடர்பு \"{name}\" நீக்கப்பட்டது", + "@contactDeleted": { + "description": "The text when a contact has been deleted", + "placeholders": { + "name": { + "type": "String", + "example": "Alice" + } + } + }, + "import": "இறக்குமதி செய்", + "@import": { + "description": "The button that confirms importing a profile" + }, + "password": "கடவுச்சொல்", + "@password": { + "description": "The label for a password: an encrypted profile's, or a group's" + }, + "wrongPassword": "தவறான கடவுச்சொல்", + "@wrongPassword": { + "description": "The error when an encrypted profile's password is wrong" + }, + "profileImported": "சுயவிவரம் \"{name}\" இறக்குமதி செய்யப்பட்டது", + "@profileImported": { + "description": "The text when a profile has been imported", + "placeholders": { + "name": { + "type": "String", + "example": "Alice" + } + } + }, + "profileAlreadyImported": "இந்தச் சுயவிவரம் ஏற்கெனவே bTox-இல் உள்ளது", + "@profileAlreadyImported": { + "description": "The error when importing a profile that bTox already has" + }, + "exportData": "தரவை ஏற்றுமதி செய்", + "@exportData": { + "description": "Settings entry that saves all accounts and messages to a file" + }, + "exportDataHint": "எல்லாக் கணக்குகளும் செய்திகளும், கடவுச்சொல்லால் மறையாக்கப்பட்டவை", + "@exportDataHint": { + "description": "Explanation below the export data setting" + }, + "importData": "தரவை இறக்குமதி செய்", + "@importData": { + "description": "The setting, button and dialog title for importing a bTox export or a .tox profile file" + }, + "importDataHint": "bTox ஏற்றுமதி, அல்லது வேறொரு கிளையண்டின் Tox சுயவிவரம்", + "@importDataHint": { + "description": "Explanation below the import data setting" + }, + "export": "ஏற்றுமதி செய்", + "@export": { + "description": "Button that exports data" + }, + "accountsRestored": "{count, plural, =0{காப்புப்பிரதியில் புதிய கணக்குகள் இல்லை} =1{1 கணக்கு மீட்டெடுக்கப்பட்டது} other{{count} கணக்குகள் மீட்டெடுக்கப்பட்டன}}", + "@accountsRestored": { + "description": "Shown after importing accounts from a bTox backup", + "placeholders": { + "count": { + "type": "int" + } + } + }, + "notAToxProfile": "இது Tox சுயவிவரம் அல்ல", + "@notAToxProfile": { + "description": "The error when the chosen file isn't a Tox profile" + }, + "stayOnline": "மூடிய பிறகும் ஆன்லைனில் இரு", + "@stayOnline": { + "description": "The setting to keep running in the background after closing the app" + }, + "stayOnlineHint": "உள்நுழைந்துள்ள எல்லாக் கணக்குகளையும் ஆன்லைனில் வைத்திருக்கும்", + "@stayOnlineHint": { + "description": "Explains that stay online applies to every signed-in account" + }, + "accounts": "கணக்குகள்", + "@accounts": { + "description": "The menu item for signing in and managing accounts" + }, + "appSettings": "செயலி", + "@appSettings": { + "description": "The heading of the settings for the whole app" + }, + "accountSettings": "கணக்கு: {name}", + "@accountSettings": { + "description": "The heading of the settings for one account", + "placeholders": { + "name": { + "type": "String", + "example": "Alice" + } + } + }, + "autoAcceptFiles": "இந்த அளவு வரையிலான கோப்புகளைத் தானாக ஏற்கவும்", + "@autoAcceptFiles": { + "description": "The setting for the largest incoming file accepted without asking" + }, + "never": "ஒருபோதும் இல்லை", + "@never": { + "description": "Auto-accepting no files at all" + }, + "acceptFile": "ஏற்கவும்", + "@acceptFile": { + "description": "The button to receive an offered file" + }, + "declineFile": "மறு", + "@declineFile": { + "description": "The button to refuse an offered file" + }, + "downloadFile": "பதிவிறக்கு", + "@downloadFile": { + "description": "The button to fetch a file the account's home device holds" + }, + "fileCancelled": "ரத்துசெய்யப்பட்டது", + "@fileCancelled": { + "description": "A file transfer that was declined or stopped" + }, + "filePaused": "அவர் மீண்டும் ஆன்லைனுக்கு வரும் வரை இடைநிறுத்தப்பட்டது", + "@filePaused": { + "description": "An incoming file that stopped part way, which goes on when the sender sends it again" + }, + "udpEnabled": "UDP-ஐப் பயன்படுத்து", + "@udpEnabled": { + "description": "The setting for Tox's UDP transport" + }, + "udpEnabledHint": "முடக்கினால், TCP ரிலேக்கள் வழியாக மட்டுமே இணையும்", + "@udpEnabledHint": { + "description": "Explains turning off UDP" + }, + "ipv6Enabled": "IPv6-ஐப் பயன்படுத்து", + "@ipv6Enabled": { + "description": "The setting for connecting over IPv6" + }, + "localDiscoveryEnabled": "உள்ளூர் கண்டறிதல்", + "@localDiscoveryEnabled": { + "description": "The setting for finding friends on the local network" + }, + "localDiscoveryEnabledHint": "அதே நெட்வொர்க்கில் உள்ள நண்பர்களை நேரடியாகக் கண்டறியும்", + "@localDiscoveryEnabledHint": { + "description": "Explains local discovery" + }, + "offWithProxy": "ப்ராக்ஸி பயன்படுத்தும்போது முடக்கப்படும், அது TCP-ஐ மட்டுமே கொண்டுசெல்லும்", + "@offWithProxy": { + "description": "Why UDP and local discovery are off when a proxy is set" + }, + "proxy": "ப்ராக்ஸி", + "@proxy": { + "description": "The proxy setting and dialog title" + }, + "proxyNone": "எதுவுமில்லை", + "@proxyNone": { + "description": "No proxy" + }, + "proxyHost": "ஹோஸ்ட்", + "@proxyHost": { + "description": "The label for the proxy host field" + }, + "proxyPort": "போர்ட்", + "@proxyPort": { + "description": "The label for the proxy port field" + }, + "invalidProxyHost": "ஒரு ஹோஸ்டை உள்ளிடவும்", + "@invalidProxyHost": { + "description": "The error when the proxy host is empty" + }, + "invalidProxyPort": "1 முதல் 65535 வரையிலான போர்ட்டை உள்ளிடவும்", + "@invalidProxyPort": { + "description": "The error when the proxy port is out of range" + }, + "save": "சேமி", + "@save": { + "description": "The text for the save button" + }, + "attachCamera": "கேமரா", + "@attachCamera": { + "description": "Button to take a photo to send" + }, + "attachGallery": "கேலரி", + "@attachGallery": { + "description": "Button to choose images to send" + }, + "attachFile": "கோப்பு", + "@attachFile": { + "description": "Button to choose files to send" + }, + "attachLocation": "இருப்பிடம்", + "@attachLocation": { + "description": "Button to send the current location" + }, + "linkAccount": "கணக்கை இணை", + "@linkAccount": { + "description": "Action to use an account that runs on another device" + }, + "pairingLink": "ஜோடியாக்கும் இணைப்பு", + "@pairingLink": { + "description": "Label of the field for another device's pairing link" + }, + "pairingLinkHelp": "கணக்கை இயக்கும் சாதனத்திலிருந்து ஜோடியாக்கும் இணைப்பை ஒட்டவும்.", + "@pairingLinkHelp": { + "description": "Explains where the pairing link comes from" + }, + "invalidPairingLink": "இது ஜோடியாக்கும் இணைப்பு அல்ல", + "@invalidPairingLink": { + "description": "Error when the pasted text isn't a pairing link" + }, + "link": "இணை", + "@link": { + "description": "Button that links an account" + }, + "linkedAccount": "இணைக்கப்பட்ட கணக்கு", + "@linkedAccount": { + "description": "Name of a linked account until its name has synced" + }, + "linkedAccountName": "{name} (இணைக்கப்பட்டது)", + "@linkedAccountName": { + "description": "A linked account where accounts are listed to choose from", + "placeholders": { + "name": { + "type": "String" + } + } + }, + "sendFailed": "செய்தியை அனுப்ப முடியவில்லை", + "@sendFailed": { + "description": "Error when a message couldn't be saved for sending" + }, + "saveFailed": "அதைச் சேமிக்க முடியவில்லை", + "@saveFailed": { + "description": "Error when something the user did couldn't be saved" + }, + "importFailed": "இந்தக் கோப்பை இறக்குமதி செய்ய முடியவில்லை", + "@importFailed": { + "description": "Error when a profile or backup file couldn't be imported" + }, + "linkFailed": "கணக்கை இணைக்க முடியவில்லை", + "@linkFailed": { + "description": "Error when a linked account couldn't be added" + }, + "chats": "அரட்டைகள்", + "@chats": { + "description": "The tab of the main page listing chats" + }, + "calls": "அழைப்புகள்", + "@calls": { + "description": "The tab of the main page listing calls" + }, + "voiceCall": "குரல் அழைப்பு", + "@voiceCall": { + "description": "A call button's tooltip, and a call still going on in a chat" + }, + "videoCall": "வீடியோ அழைப்பு", + "@videoCall": { + "description": "A video call button's tooltip, and a video call still going on in a chat" + }, + "outgoingVideoCall": "வெளிச்செல்லும் வீடியோ அழைப்பு", + "@outgoingVideoCall": { + "description": "A video call we made, in a chat" + }, + "incomingVideoCall": "உள்வரும் வீடியோ அழைப்பு", + "@incomingVideoCall": { + "description": "A video call the friend made, in a chat and while it rings" + }, + "missedVideoCall": "தவறிய வீடியோ அழைப்பு", + "@missedVideoCall": { + "description": "A video call that rang here and wasn't answered" + }, + "callCamera": "கேமரா", + "@callCamera": { + "description": "The button that turns the camera on or off in a call" + }, + "flipCamera": "கேமராவை மாற்று", + "@flipCamera": { + "description": "The button that switches between the front and back camera in a call" + }, + "cameraNeeded": "bTox கேமராவைப் பயன்படுத்த அனுமதி இல்லை, எனவே அழைப்பு கேமரா இல்லாமல் தொடரும்", + "@cameraNeeded": { + "description": "Shown when bTox may not use the camera for a video call, which goes on without video" + }, + "outgoingCall": "வெளிச்செல்லும் குரல் அழைப்பு", + "@outgoingCall": { + "description": "A call we made, in a chat" + }, + "incomingCall": "உள்வரும் குரல் அழைப்பு", + "@incomingCall": { + "description": "A call the friend made, in a chat and while it rings" + }, + "missedCall": "தவறிய குரல் அழைப்பு", + "@missedCall": { + "description": "A call that rang here and wasn't answered" + }, + "callWithDuration": "{call} · {duration}", + "@callWithDuration": { + "description": "A call in a chat, with how long it was", + "placeholders": { + "call": { + "type": "String" + }, + "duration": { + "type": "String" + } + } + }, + "incomingCalls": "உள்வரும் அழைப்புகள்", + "@incomingCalls": { + "description": "The notification channel that rings" + }, + "missedCalls": "தவறிய அழைப்புகள்", + "@missedCalls": { + "description": "The notification channel for missed calls" + }, + "callOngoing": "அழைப்பு நடைபெறுகிறது", + "@callOngoing": { + "description": "The notification while a call goes on" + }, + "calling": "அழைக்கிறது…", + "@calling": { + "description": "Our call, while it rings at the friend's" + }, + "connecting": "இணைக்கிறது…", + "@connecting": { + "description": "A call answered here, until it's connected" + }, + "answerCall": "பதிலளி", + "@answerCall": { + "description": "The button that answers a call" + }, + "declineCall": "மறு", + "@declineCall": { + "description": "The button that declines a call" + }, + "hangUp": "துண்டி", + "@hangUp": { + "description": "The button that ends a call" + }, + "muteCall": "ஒலியடக்கு", + "@muteCall": { + "description": "The button that mutes the microphone in a call" + }, + "callSpeaker": "ஸ்பீக்கர்", + "@callSpeaker": { + "description": "The button that puts a call on the loudspeaker" + }, + "callEarpiece": "ஃபோன்", + "@callEarpiece": { + "description": "Where a call's audio can go: the phone's earpiece" + }, + "callWired": "ஹெட்ஃபோன்கள்", + "@callWired": { + "description": "Where a call's audio can go: wired headphones" + }, + "callBluetooth": "Bluetooth", + "@callBluetooth": { + "description": "Where a call's audio can go: a Bluetooth headset" + }, + "hideCall": "அழைப்பை மறை", + "@hideCall": { + "description": "The button that shows the chats during a call" + }, + "returnToCall": "அழைப்புக்குத் திரும்பு", + "@returnToCall": { + "description": "The banner over the chats during a call" + }, + "microphoneNeeded": "அழைப்புகளுக்கு மைக்ரோஃபோன் தேவை", + "@microphoneNeeded": { + "description": "Shown when bTox may not use the microphone" + }, + "ringOverLockScreen": "பூட்டுத் திரையின் மேல் அழைப்புகள் ஒலிக்க முடியாது", + "@ringOverLockScreen": { + "description": "Shown on the Calls tab while Android doesn't let bTox show incoming calls full screen" + }, + "allowRingOverLockScreen": "அனுமதி", + "@allowRingOverLockScreen": { + "description": "The button that opens the setting letting calls ring full screen" + }, + "relayBotNames": "ரிலே பாட் வழியான பெயர்கள்", + "@relayBotNames": { + "description": "The action, and its page, that shows the names a bot relays from another chat in a group chat" + }, + "stopRelayBotNames": "ரிலே பாட் வழியான பெயர்களைக் காட்டுவதை நிறுத்து", + "@stopRelayBotNames": { + "description": "The action that shows a relay bot's messages as its own again" + }, + "showNames": "பெயர்களைக் காட்டு", + "@showNames": { + "description": "The button that starts showing the names a relay bot relays" + }, + "noCalls": "சமீபத்திய அழைப்புகள் இல்லை", + "@noCalls": { + "description": "Shown on the Calls tab when there are no calls" + }, + "callsNotAvailable": "அழைப்புகள் இந்தக் கணக்கு இணைக்கப்பட்டுள்ள சாதனம் வழியாகச் செல்கின்றன, அது இப்போது அவற்றை ஏற்க முடியாது", + "@callsNotAvailable": { + "description": "Shown on the Calls tab of a linked account while its home device is offline, or doesn't connect calls to its devices" + }, + "notImplemented": "இன்னும் கிடைக்கவில்லை", + "@notImplemented": { + "description": "Shown for a menu item that doesn't work yet" + }, + "openLinkFailed": "இந்த இணைப்பைத் திறக்க எந்தச் செயலியும் இல்லை", + "@openLinkFailed": { + "description": "Shown when tapping a link in a message opens nothing" + }, + "reply": "பதிலளி", + "@reply": { + "description": "Message menu item to reply to the message" + }, + "forward": "முன்னனுப்பு", + "@forward": { + "description": "Message menu item to forward the message" + }, + "chatDetails": "அரட்டை விவரங்கள்", + "@chatDetails": { + "description": "The tooltip of a chat's title, which opens who the chat is with" + }, + "chatMembers": "{count, plural, =1{1 உறுப்பினர்} other{{count} உறுப்பினர்கள்}}", + "@chatMembers": { + "description": "The heading of the people in a group or conference, counting yourself", + "placeholders": { + "count": { + "type": "int" + } + } + }, + "you": "நீங்கள்", + "@you": { + "description": "Yourself, among the people in a chat" + }, + "muteChat": "அறிவிப்புகளை ஒலியடக்கு", + "@muteChat": { + "description": "The action, and its dialog, that stops a chat's notifications for a while" + }, + "unmuteChat": "அறிவிப்புகளின் ஒலியடக்கத்தை நீக்கு", + "@unmuteChat": { + "description": "The action that lets a muted chat notify again" + }, + "muteForAnHour": "1 மணிநேரத்திற்கு", + "@muteForAnHour": { + "description": "How long to mute a chat for" + }, + "muteForEightHours": "8 மணிநேரத்திற்கு", + "@muteForEightHours": { + "description": "How long to mute a chat for" + }, + "muteForAWeek": "1 வாரத்திற்கு", + "@muteForAWeek": { + "description": "How long to mute a chat for" + }, + "muteAlways": "எப்போதும்", + "@muteAlways": { + "description": "Mutes a chat until it's unmuted" + }, + "notifyMentions": "குறிப்பிடப்பட்டால் இன்னும் அறிவி", + "@notifyMentions": { + "description": "In the dialog muting a group chat: messages naming you still notify" + }, + "mutedUntil": "{time} வரை ஒலியடக்கப்பட்டது", + "@mutedUntil": { + "description": "How long a chat stays muted", + "placeholders": { + "time": { + "type": "String", + "example": "Thu 17:00" + } + } + }, + "mutedAlways": "ஒலியடக்கப்பட்டது", + "@mutedAlways": { + "description": "A chat muted until it's unmuted" + }, + "sendPicturesAsQoi": "படங்களை QOI ஆக அனுப்பு", + "@sendPicturesAsQoi": { + "description": "A friend chat's setting: camera and gallery pictures sent as QOI" + }, + "sendPicturesAsQoiHint": "தரம் குறையாது, ஆனால் பெரியது, எல்லாச் செயலிகளும் QOI-ஐக் காட்டாது", + "@sendPicturesAsQoiHint": { + "description": "Under the setting to send pictures as QOI" + }, + "seenThrough": "{bot} வழியாகக் காணப்பட்டவர்கள்", + "@seenThrough": { + "description": "Heading of the names a relay bot has relayed in the chat's history, under the bot among the people in a chat, though they may not be there now", + "placeholders": { + "bot": { + "type": "String", + "example": "EPiG-BrDG" + } + } + }, + "showMoreSeen": "{count, plural, =1{மேலும் 1 காட்டு} other{மேலும் {count} காட்டு}}", + "@showMoreSeen": { + "description": "Shows the names a relay bot relayed longer ago", + "placeholders": { + "count": { + "type": "int" + } + } + }, + "roleFounder": "நிறுவனர்", + "@roleFounder": { + "description": "The role of whoever created a group" + }, + "roleModerator": "மட்டுறுத்துநர்", + "@roleModerator": { + "description": "The role of someone who can moderate a group" + }, + "roleObserver": "பார்வையாளர்", + "@roleObserver": { + "description": "The role of someone who can only read a group" + }, + "statusAway": "வெளியே", + "@statusAway": { + "description": "Someone's status when they're away" + }, + "statusBusy": "பிஸி", + "@statusBusy": { + "description": "Someone's status when they're busy" + }, + "membersWhileOnline": "கணக்கின் முதன்மைச் சாதனம் ஆன்லைனில் இருக்கும்போது இங்கு உள்ளவர்கள் தெரிவார்கள்", + "@membersWhileOnline": { + "description": "In place of a linked account's chat members, while its home device can't say who they are" + }, + "publicKey": "பொது விசை", + "@publicKey": { + "description": "The heading of a friend's public key, which Tox knows them by" + }, + "publicKeyCopied": "பொது விசை நகலெடுக்கப்பட்டது", + "@publicKeyCopied": { + "description": "The message shown after copying a friend's public key" + }, + "copy": "நகலெடு", + "@copy": { + "description": "Message menu item to copy the message's text" + }, + "select": "தேர்ந்தெடு", + "@select": { + "description": "Message menu item to select messages" + }, + "forwardTo": "இதற்கு முன்னனுப்பு", + "@forwardTo": { + "description": "The title of the page that picks a chat to forward messages to" + }, + "messagesForwarded": "{count, plural, =1{செய்தி முன்னனுப்பப்பட்டது} other{{count} செய்திகள் முன்னனுப்பப்பட்டன}}", + "@messagesForwarded": { + "description": "The message shown after forwarding messages", + "placeholders": { + "count": { + "type": "int" + } + } + }, + "messageInfo": "செய்தி விவரங்கள்", + "@messageInfo": { + "description": "The title of the page a message's Info opens" + }, + "messageSent": "அனுப்பப்பட்டது", + "@messageSent": { + "description": "On a message's details, when ours was sent" + }, + "messageSending": "அனுப்புகிறது", + "@messageSending": { + "description": "On a message's details, in place of messageSent while ours waits to go" + }, + "messageDelivered": "சென்றடைந்தது", + "@messageDelivered": { + "description": "On a message's details, when ours arrived" + }, + "messageReceived": "பெறப்பட்டது", + "@messageReceived": { + "description": "On a message's details, when someone else's came" + }, + "messageFrom": "அனுப்பியவர்", + "@messageFrom": { + "description": "On a message's details, the heading of who sent someone else's" + }, + "messagesSelected": "{count} தேர்ந்தெடுக்கப்பட்டன", + "@messagesSelected": { + "description": "The chat's title while messages are selected", + "placeholders": { + "count": { + "type": "int" + } + } + }, + "messagesCopied": "{count, plural, =1{செய்தி நகலெடுக்கப்பட்டது} other{{count} செய்திகள் நகலெடுக்கப்பட்டன}}", + "@messagesCopied": { + "description": "The message shown after copying messages' text", + "placeholders": { + "count": { + "type": "int" + } + } + }, + "info": "தகவல்", + "@info": { + "description": "Message menu item to show the message's details" + }, + "today": "இன்று", + "@today": { + "description": "Above the messages of today in a chat" + }, + "yesterday": "நேற்று", + "@yesterday": { + "description": "Above the messages of yesterday in a chat" + }, + "loadFailed": "ஏதோ தவறு நடந்துவிட்டது", + "@loadFailed": { + "description": "Shown in place of a page that couldn't be loaded" + }, + "locationMessage": "இருப்பிடம்", + "@locationMessage": { + "description": "A shared location, as the chat list shows it" + }, + "emoji": "எமோஜி", + "@emoji": { + "description": "The button in the message box that opens the emoji picker" + }, + "send": "அனுப்பு", + "@send": { + "description": "The button that sends what is written in the message box" + }, + "attach": "இணைப்பு சேர்", + "@attach": { + "description": "The button in the message box that opens what can be attached" + }, + "cancelReply": "பதிலை ரத்துசெய்", + "@cancelReply": { + "description": "The button that stops replying to a message" + }, + "removeAttachment": "அகற்று", + "@removeAttachment": { + "description": "The button on an attachment waiting to be sent that takes it away" + }, + "attachFailed": "அதை இணைக்க முடியவில்லை", + "@attachFailed": { + "description": "Shown when a picture or file couldn't be picked or copied to send" + }, + "dayAndTime": "{day} {time}", + "@dayAndTime": { + "description": "A day and a time on it, as in 'muted until Fri 14:00'", + "placeholders": { + "day": { + "type": "String", + "example": "Fri" + }, + "time": { + "type": "String", + "example": "14:00" + } + } + }, + "draftLabel": "வரைவு:", + "@draftLabel": { + "description": "Before what is being written in a chat, as the chat list shows it" + }, + "messageV3": "TRIfA செய்தி ஐடிகள்", + "@messageV3": { + "description": "Setting to read the ID TRIfA adds to its messages" + }, + "messageV3Hint": "TRIfA செய்திகளில் சேர்க்கும் ஐடியை மறைக்கும், அது மீண்டும் அனுப்பும் செய்தியை ஒருமுறை மட்டுமே காட்டும்", + "@messageV3Hint": { + "description": "What reading TRIfA's message IDs does" + }, + "titleWithAccount": "bTox ({name})", + "@titleWithAccount": { + "description": "The title of the chat list, with the account it shows", + "placeholders": { + "name": { + "type": "String", + "example": "Alice" + } + } + }, + "deleteChatToo": "அவருடனான உங்கள் செய்திகளையும் கோப்புகளையும் நிரந்தரமாக நீக்கு", + "@deleteChatToo": { + "description": "Option when deleting a contact to delete the chat with them too" + }, + "profileDeleteFailed": "சுயவிவரம் \"{name}\"-ஐ நீக்க முடியவில்லை", + "@profileDeleteFailed": { + "description": "Error when a profile couldn't be deleted", + "placeholders": { + "name": { + "type": "String", + "example": "Alice" + } + } + }, + "mergeChat": "வேறொரு அரட்டையுடன் இணை", + "@mergeChat": { + "description": "Action on a group chat to show it together with another that a bot relays messages between" + }, + "unmergeChat": "அரட்டைகளைத் தனித்தனியாகக் காட்டு", + "@unmergeChat": { + "description": "Action on merged chats to show them as separate chats again" + }, + "mergeChatTitle": "அரட்டைகளை இணை", + "@mergeChatTitle": { + "description": "Title of the page that merges two chats" + }, + "mergeWith": "இதனுடன் இணை", + "@mergeWith": { + "description": "Heading of the chats one can merge with" + }, + "relayBotIn": "{chat}-இல் உள்ள பாட்", + "@relayBotIn": { + "description": "Heading of the members of a chat to pick the bot from that relays messages to the other chat", + "placeholders": { + "chat": { + "type": "String", + "example": "Tox" + } + } + }, + "relayedMessages": "{count} செய்திகளில் {relayed} ரிலே செய்யப்பட்டன", + "@relayedMessages": { + "description": "How many of a chat member's messages look like a bot relayed them", + "placeholders": { + "relayed": { + "type": "int" + }, + "count": { + "type": "int" + } + } + }, + "noChatsToMerge": "வேறு குழு அரட்டைகள் இல்லை", + "@noChatsToMerge": { + "description": "Shown when there are no chats to merge with" + }, + "merge": "இணை", + "@merge": { + "description": "Button that merges the chats" + }, + "exported": "தரவு ஏற்றுமதி செய்யப்பட்டது", + "@exported": { + "description": "Shown when the backup was saved" + }, + "exportFailed": "தரவை ஏற்றுமதி செய்ய முடியவில்லை", + "@exportFailed": { + "description": "Error when the backup couldn't be made or saved" + }, + "locationOff": "நீங்கள் இருக்கும் இடத்தைப் பகிர இருப்பிடத்தை இயக்கவும்", + "@locationOff": { + "description": "Shown when sharing a location while location is off on the device" + }, + "locationDenied": "உங்கள் இருப்பிடத்தைப் பயன்படுத்த bTox-க்கு அனுமதி தேவை", + "@locationDenied": { + "description": "Shown when sharing a location without the permission" + }, + "locationFailed": "நீங்கள் இருக்கும் இடத்தைக் கண்டறிய முடியவில்லை", + "@locationFailed": { + "description": "Error when the location couldn't be found" + }, + "openSettings": "அமைப்புகள்", + "@openSettings": { + "description": "Button opening the device's settings to fix a problem" + }, + "ownToxIdError": "இது உங்கள் சொந்த Tox ஐடி", + "@ownToxIdError": { + "description": "Error when adding your own Tox ID as a contact" + }, + "addContactFailed": "தொடர்பைச் சேர்க்க முடியவில்லை", + "@addContactFailed": { + "description": "Error when a contact couldn't be saved" + }, + "chatClosed": "இந்த அரட்டைக்கு இனி செய்திகளை அனுப்ப முடியாது", + "@chatClosed": { + "description": "Shown in place of the message input for a deleted contact or a group left" + }, + "friendRequest": "நண்பர் கோரிக்கை", + "@friendRequest": { + "description": "Title of the notification for a friend request" + }, + "inviteNotification": "அரட்டைக்கான அழைப்பு", + "@inviteNotification": { + "description": "Title of the notification for an invite to a group or conference" + }, + "groupInvite": "{friend} உங்களை {chat}-க்கு அழைத்துள்ளார்", + "@groupInvite": { + "description": "An invite to a group, above the chats and in its notification", + "placeholders": { + "friend": { + "type": "String" + }, + "chat": { + "type": "String" + } + } + }, + "conferenceInvite": "{friend} உங்களை ஒரு மாநாட்டுக்கு அழைத்துள்ளார்", + "@conferenceInvite": { + "description": "An invite to a conference, whose invite has no name, above the chats and in its notification", + "placeholders": { + "friend": { + "type": "String" + } + } + }, + "joinInvite": "சேர்", + "@joinInvite": { + "description": "The button that joins the chat of an invite" + }, + "declineInvite": "மறு", + "@declineInvite": { + "description": "The button that declines an invite to a chat" + }, + "joiningInvite": "சேர்கிறது…", + "@joiningInvite": { + "description": "Under an invite answered to join, until the account's home device joined" + }, + "inviteNeedsPassword": "குழுவின் கடவுச்சொல் தேவை. புதிய அழைப்பைக் கேளுங்கள்.", + "@inviteNeedsPassword": { + "description": "Under an invite to a group that turned the account away for a missing or wrong password, which spent the invite" + }, + "inviteSpent": "சேர முடியவில்லை. புதிய அழைப்பைக் கேளுங்கள்.", + "@inviteSpent": { + "description": "Under an invite whose chat turned the account away for another reason, which spent the invite" + }, + "inviteFailed": "சேர முடியவில்லை", + "@inviteFailed": { + "description": "Under an invite whose chat the account's home device couldn't join, which can be tried again" + }, + "groupPasswordHelper": "குழுவுக்குக் கடவுச்சொல் இல்லையெனில் காலியாக விடவும்", + "@groupPasswordHelper": { + "description": "Under the password field when joining a group from an invite" + }, + "retryInvite": "மீண்டும் முயல்க", + "@retryInvite": { + "description": "The button that tries joining the chat of an invite again" + }, + "chatInAccount": "{chat} · {account}", + "@chatInAccount": { + "description": "Title of a chat's notification while several accounts are signed in: the chat, then the account it's in", + "placeholders": { + "chat": { + "type": "String" + }, + "account": { + "type": "String" + } + } + }, + "newestMessages": "புதிய செய்திகள்", + "@newestMessages": { + "description": "Tooltip of the button that scrolls a chat to its newest messages" + }, + "noChats": "இன்னும் அரட்டைகள் இல்லை", + "@noChats": { + "description": "Shown on the Chats tab when there are no chats" + }, + "noChatsHint": "அரட்டையைத் தொடங்க + பொத்தான் மூலம் ஒரு தொடர்பைச் சேர்க்கவும்", + "@noChatsHint": { + "description": "How to start a first chat, under noChats" } } diff --git a/lib/l10n/app_uk.arb b/lib/l10n/app_uk.arb new file mode 100644 index 00000000..e28d7824 --- /dev/null +++ b/lib/l10n/app_uk.arb @@ -0,0 +1,1069 @@ +{ + "@@locale": "uk", + "defaultContactName": "Невідомий", + "@defaultContactName": { + "description": "The default name for a contact when the name is not yet known" + }, + "addContact": "Додати контакт", + "@addContact": { + "description": "The text for the button to add a contact" + }, + "message": "Повідомлення", + "@message": { + "description": "The text for the message field" + }, + "messageInput": "Повідомлення Tox", + "@messageInput": { + "description": "The placeholder text for the message input field" + }, + "re": "Re: {message}", + "@re": { + "description": "The prefix for a reply message", + "placeholders": { + "message": { + "type": "String", + "example": "Hello" + } + } + }, + "toxId": "Tox ID", + "@toxId": { + "description": "The text for the Tox ID field" + }, + "copyToxId": "Копіювати Tox ID", + "@copyToxId": { + "description": "The tooltip for copying your own Tox ID" + }, + "toxIdCopied": "Tox ID скопійовано", + "@toxIdCopied": { + "description": "The message shown after copying your own Tox ID" + }, + "defaultAddContactMessage": "Привіт, я {nick}, спілкуймося в bTox!", + "@defaultAddContactMessage": { + "description": "The default message to send when adding a contact", + "placeholders": { + "nick": { + "type": "String", + "example": "Alice" + } + } + }, + "addContactMessageLengthError": "Максимум символів: {max} ({length} — забагато)", + "@addContactMessageLengthError": { + "description": "The error message when the friend request message is too long", + "placeholders": { + "max": { + "type": "int", + "example": "256" + }, + "length": { + "type": "int", + "example": "300" + } + } + }, + "add": "Додати", + "@add": { + "description": "The text for the button to add a contact" + }, + "toxIdLengthError": "Має містити {length} шістнадцяткових символів", + "@toxIdLengthError": { + "description": "The error message when the Tox ID is not the right length or format", + "placeholders": { + "length": { + "type": "int", + "example": "76" + } + } + }, + "toxIdChecksumError": "Недійсний Tox ID, перевірте, чи немає в ньому помилок", + "@toxIdChecksumError": { + "description": "The error message when the Tox ID's checksum doesn't match, e.g. because of a typo" + }, + "messageEmptyError": "Повідомлення не може бути порожнім", + "@messageEmptyError": { + "description": "The error message when the message is empty" + }, + "menuProfile": "Профіль", + "@menuProfile": { + "description": "The text for the profile menu item" + }, + "menuSettings": "Налаштування", + "@menuSettings": { + "description": "The text for the settings menu item" + }, + "nickLengthError": "Псевдонім має містити від 1 до {max} символів", + "@nickLengthError": { + "description": "The error message when the nickname is too short or too long", + "placeholders": { + "max": { + "type": "int", + "example": "32" + } + } + }, + "statusMessageLengthError": "Повідомлення статусу не може бути довшим за {max} символів", + "@statusMessageLengthError": { + "description": "The error message when the status message is longer than the supported maximum", + "placeholders": { + "max": { + "type": "int", + "example": "128" + } + } + }, + "profileTextFieldNick": "Псевдонім", + "@profileTextFieldNick": { + "description": "The text for the nickname field" + }, + "profileTextFieldUserStatusMessage": "Повідомлення статусу", + "@profileTextFieldUserStatusMessage": { + "description": "The text for the status message field" + }, + "applyChanges": "Застосувати зміни", + "@applyChanges": { + "description": "The text for the button to apply changes" + }, + "applied": "Застосовано", + "@applied": { + "description": "The text when changes have been applied" + }, + "newProfile": "Новий профіль", + "@newProfile": { + "description": "The title text for the create profile dialog" + }, + "create": "Створити", + "@create": { + "description": "The text for the button create a new profile" + }, + "logout": "Вийти", + "@logout": { + "description": "The text for the logout menu item" + }, + "logoutMessage": "Обліковий запис \"{name}\" не отримуватиме повідомлень, доки ви знову не ввійдете в нього.", + "@logoutMessage": { + "description": "Asks whether to sign the current account out", + "placeholders": { + "name": { + "type": "String", + "example": "Alice" + } + } + }, + "deleteProfile": "Видалити профіль", + "@deleteProfile": { + "description": "The text for the delete profile menu item" + }, + "deleteProfileMessage": "Ви справді хочете видалити свій профіль \"{name}\"? Цю дію неможливо скасувати. Буде видалено всі ваші контакти й повідомлення. Переконайтеся, що маєте резервну копію.", + "@deleteProfileMessage": { + "description": "The message to confirm the deletion of a profile", + "placeholders": { + "name": { + "type": "String", + "example": "Alice" + } + } + }, + "cancel": "Скасувати", + "@cancel": { + "description": "The text for the cancel button" + }, + "delete": "Видалити", + "@delete": { + "description": "The text for the delete button" + }, + "acceptFriendRequest": "Прийняти запит у друзі", + "@acceptFriendRequest": { + "description": "The tooltip for accepting an incoming friend request" + }, + "rejectFriendRequest": "Відхилити запит у друзі", + "@rejectFriendRequest": { + "description": "The tooltip for rejecting an incoming friend request" + }, + "online": "У мережі", + "@online": { + "description": "A contact's connection state, for screen readers" + }, + "offline": "Не в мережі", + "@offline": { + "description": "A contact's connection state, for screen readers" + }, + "deleteContact": "Видалити контакт", + "@deleteContact": { + "description": "The title of the dialog for deleting a contact" + }, + "deleteContactMessage": "Видалити \"{name}\" з ваших контактів?", + "@deleteContactMessage": { + "description": "The message to confirm the deletion of a contact", + "placeholders": { + "name": { + "type": "String", + "example": "Alice" + } + } + }, + "contactDeleted": "Контакт \"{name}\" видалено", + "@contactDeleted": { + "description": "The text when a contact has been deleted", + "placeholders": { + "name": { + "type": "String", + "example": "Alice" + } + } + }, + "import": "Імпортувати", + "@import": { + "description": "The button that confirms importing a profile" + }, + "password": "Пароль", + "@password": { + "description": "The label for a password: an encrypted profile's, or a group's" + }, + "wrongPassword": "Неправильний пароль", + "@wrongPassword": { + "description": "The error when an encrypted profile's password is wrong" + }, + "profileImported": "Профіль \"{name}\" імпортовано", + "@profileImported": { + "description": "The text when a profile has been imported", + "placeholders": { + "name": { + "type": "String", + "example": "Alice" + } + } + }, + "profileAlreadyImported": "Цей профіль уже є в bTox", + "@profileAlreadyImported": { + "description": "The error when importing a profile that bTox already has" + }, + "exportData": "Експортувати дані", + "@exportData": { + "description": "Settings entry that saves all accounts and messages to a file" + }, + "exportDataHint": "Усі облікові записи й повідомлення, зашифровані паролем", + "@exportDataHint": { + "description": "Explanation below the export data setting" + }, + "importData": "Імпортувати дані", + "@importData": { + "description": "The setting, button and dialog title for importing a bTox export or a .tox profile file" + }, + "importDataHint": "Експорт bTox або профіль Tox з іншого клієнта", + "@importDataHint": { + "description": "Explanation below the import data setting" + }, + "export": "Експортувати", + "@export": { + "description": "Button that exports data" + }, + "accountsRestored": "{count, plural, =0{У резервній копії немає нових облікових записів} one{Відновлено {count} обліковий запис} few{Відновлено {count} облікові записи} many{Відновлено {count} облікових записів} other{Відновлено {count} облікового запису}}", + "@accountsRestored": { + "description": "Shown after importing accounts from a bTox backup", + "placeholders": { + "count": { + "type": "int" + } + } + }, + "notAToxProfile": "Це не профіль Tox", + "@notAToxProfile": { + "description": "The error when the chosen file isn't a Tox profile" + }, + "stayOnline": "Залишатися в мережі після закриття", + "@stayOnline": { + "description": "The setting to keep running in the background after closing the app" + }, + "stayOnlineHint": "Усі облікові записи, у які виконано вхід, залишаються в мережі", + "@stayOnlineHint": { + "description": "Explains that stay online applies to every signed-in account" + }, + "accounts": "Облікові записи", + "@accounts": { + "description": "The menu item for signing in and managing accounts" + }, + "appSettings": "Застосунок", + "@appSettings": { + "description": "The heading of the settings for the whole app" + }, + "accountSettings": "Обліковий запис: {name}", + "@accountSettings": { + "description": "The heading of the settings for one account", + "placeholders": { + "name": { + "type": "String", + "example": "Alice" + } + } + }, + "autoAcceptFiles": "Автоматично приймати файли розміром до", + "@autoAcceptFiles": { + "description": "The setting for the largest incoming file accepted without asking" + }, + "never": "Ніколи", + "@never": { + "description": "Auto-accepting no files at all" + }, + "acceptFile": "Прийняти", + "@acceptFile": { + "description": "The button to receive an offered file" + }, + "declineFile": "Відхилити", + "@declineFile": { + "description": "The button to refuse an offered file" + }, + "downloadFile": "Завантажити", + "@downloadFile": { + "description": "The button to fetch a file the account's home device holds" + }, + "fileCancelled": "Скасовано", + "@fileCancelled": { + "description": "A file transfer that was declined or stopped" + }, + "filePaused": "Призупинено, доки відправник не повернеться в мережу", + "@filePaused": { + "description": "An incoming file that stopped part way, which goes on when the sender sends it again" + }, + "udpEnabled": "Використовувати UDP", + "@udpEnabled": { + "description": "The setting for Tox's UDP transport" + }, + "udpEnabledHint": "Якщо вимкнено, з’єднуватися лише через TCP-ретранслятори", + "@udpEnabledHint": { + "description": "Explains turning off UDP" + }, + "ipv6Enabled": "Використовувати IPv6", + "@ipv6Enabled": { + "description": "The setting for connecting over IPv6" + }, + "localDiscoveryEnabled": "Локальне виявлення", + "@localDiscoveryEnabled": { + "description": "The setting for finding friends on the local network" + }, + "localDiscoveryEnabledHint": "Знаходити контакти в тій самій мережі напряму", + "@localDiscoveryEnabledHint": { + "description": "Explains local discovery" + }, + "offWithProxy": "Вимкнено, поки використовується проксі, що передає лише TCP", + "@offWithProxy": { + "description": "Why UDP and local discovery are off when a proxy is set" + }, + "proxy": "Проксі", + "@proxy": { + "description": "The proxy setting and dialog title" + }, + "proxyNone": "Немає", + "@proxyNone": { + "description": "No proxy" + }, + "proxyHost": "Хост", + "@proxyHost": { + "description": "The label for the proxy host field" + }, + "proxyPort": "Порт", + "@proxyPort": { + "description": "The label for the proxy port field" + }, + "invalidProxyHost": "Введіть хост", + "@invalidProxyHost": { + "description": "The error when the proxy host is empty" + }, + "invalidProxyPort": "Введіть порт від 1 до 65535", + "@invalidProxyPort": { + "description": "The error when the proxy port is out of range" + }, + "save": "Зберегти", + "@save": { + "description": "The text for the save button" + }, + "profileDeleted": "Профіль \"{name}\" видалено", + "@profileDeleted": { + "description": "The text when a profile has been deleted", + "placeholders": { + "name": { + "type": "String", + "example": "Alice" + } + } + }, + "attachCamera": "Камера", + "@attachCamera": { + "description": "Button to take a photo to send" + }, + "attachGallery": "Галерея", + "@attachGallery": { + "description": "Button to choose images to send" + }, + "attachFile": "Файл", + "@attachFile": { + "description": "Button to choose files to send" + }, + "attachLocation": "Місцезнаходження", + "@attachLocation": { + "description": "Button to send the current location" + }, + "linkAccount": "Прив’язати обліковий запис", + "@linkAccount": { + "description": "Action to use an account that runs on another device" + }, + "pairingLink": "Посилання для прив’язки", + "@pairingLink": { + "description": "Label of the field for another device's pairing link" + }, + "pairingLinkHelp": "Вставте посилання для прив’язки з пристрою, на якому працює обліковий запис.", + "@pairingLinkHelp": { + "description": "Explains where the pairing link comes from" + }, + "invalidPairingLink": "Це не посилання для прив’язки", + "@invalidPairingLink": { + "description": "Error when the pasted text isn't a pairing link" + }, + "link": "Прив’язати", + "@link": { + "description": "Button that links an account" + }, + "linkedAccount": "Прив’язаний обліковий запис", + "@linkedAccount": { + "description": "Name of a linked account until its name has synced" + }, + "linkedAccountName": "{name} (прив’язаний)", + "@linkedAccountName": { + "description": "A linked account where accounts are listed to choose from", + "placeholders": { + "name": { + "type": "String" + } + } + }, + "sendFailed": "Не вдалося надіслати повідомлення", + "@sendFailed": { + "description": "Error when a message couldn't be saved for sending" + }, + "saveFailed": "Не вдалося зберегти", + "@saveFailed": { + "description": "Error when something the user did couldn't be saved" + }, + "importFailed": "Не вдалося імпортувати цей файл", + "@importFailed": { + "description": "Error when a profile or backup file couldn't be imported" + }, + "linkFailed": "Не вдалося прив’язати обліковий запис", + "@linkFailed": { + "description": "Error when a linked account couldn't be added" + }, + "chats": "Чати", + "@chats": { + "description": "The tab of the main page listing chats" + }, + "calls": "Виклики", + "@calls": { + "description": "The tab of the main page listing calls" + }, + "voiceCall": "Голосовий виклик", + "@voiceCall": { + "description": "A call button's tooltip, and a call still going on in a chat" + }, + "videoCall": "Відеовиклик", + "@videoCall": { + "description": "A video call button's tooltip, and a video call still going on in a chat" + }, + "outgoingVideoCall": "Вихідний відеовиклик", + "@outgoingVideoCall": { + "description": "A video call we made, in a chat" + }, + "incomingVideoCall": "Вхідний відеовиклик", + "@incomingVideoCall": { + "description": "A video call the friend made, in a chat and while it rings" + }, + "missedVideoCall": "Пропущений відеовиклик", + "@missedVideoCall": { + "description": "A video call that rang here and wasn't answered" + }, + "callCamera": "Камера", + "@callCamera": { + "description": "The button that turns the camera on or off in a call" + }, + "flipCamera": "Змінити камеру", + "@flipCamera": { + "description": "The button that switches between the front and back camera in a call" + }, + "cameraNeeded": "bTox не має доступу до камери, тож виклик триває без неї", + "@cameraNeeded": { + "description": "Shown when bTox may not use the camera for a video call, which goes on without video" + }, + "outgoingCall": "Вихідний голосовий виклик", + "@outgoingCall": { + "description": "A call we made, in a chat" + }, + "incomingCall": "Вхідний голосовий виклик", + "@incomingCall": { + "description": "A call the friend made, in a chat and while it rings" + }, + "missedCall": "Пропущений голосовий виклик", + "@missedCall": { + "description": "A call that rang here and wasn't answered" + }, + "callWithDuration": "{call} · {duration}", + "@callWithDuration": { + "description": "A call in a chat, with how long it was", + "placeholders": { + "call": { + "type": "String" + }, + "duration": { + "type": "String" + } + } + }, + "incomingCalls": "Вхідні виклики", + "@incomingCalls": { + "description": "The notification channel that rings" + }, + "missedCalls": "Пропущені виклики", + "@missedCalls": { + "description": "The notification channel for missed calls" + }, + "callOngoing": "Триває виклик", + "@callOngoing": { + "description": "The notification while a call goes on" + }, + "calling": "Виклик…", + "@calling": { + "description": "Our call, while it rings at the friend's" + }, + "connecting": "З’єднання…", + "@connecting": { + "description": "A call answered here, until it's connected" + }, + "answerCall": "Відповісти", + "@answerCall": { + "description": "The button that answers a call" + }, + "declineCall": "Відхилити", + "@declineCall": { + "description": "The button that declines a call" + }, + "hangUp": "Завершити", + "@hangUp": { + "description": "The button that ends a call" + }, + "muteCall": "Вимкнути мікрофон", + "@muteCall": { + "description": "The button that mutes the microphone in a call" + }, + "callSpeaker": "Динамік", + "@callSpeaker": { + "description": "The button that puts a call on the loudspeaker" + }, + "callEarpiece": "Телефон", + "@callEarpiece": { + "description": "Where a call's audio can go: the phone's earpiece" + }, + "callWired": "Навушники", + "@callWired": { + "description": "Where a call's audio can go: wired headphones" + }, + "callBluetooth": "Bluetooth", + "@callBluetooth": { + "description": "Where a call's audio can go: a Bluetooth headset" + }, + "hideCall": "Сховати виклик", + "@hideCall": { + "description": "The button that shows the chats during a call" + }, + "returnToCall": "Повернутися до виклику", + "@returnToCall": { + "description": "The banner over the chats during a call" + }, + "microphoneNeeded": "Для викликів потрібен мікрофон", + "@microphoneNeeded": { + "description": "Shown when bTox may not use the microphone" + }, + "ringOverLockScreen": "Виклики не можуть з’являтися поверх екрана блокування", + "@ringOverLockScreen": { + "description": "Shown on the Calls tab while Android doesn't let bTox show incoming calls full screen" + }, + "allowRingOverLockScreen": "Дозволити", + "@allowRingOverLockScreen": { + "description": "The button that opens the setting letting calls ring full screen" + }, + "relayBotNames": "Імена від бота-ретранслятора", + "@relayBotNames": { + "description": "The action, and its page, that shows the names a bot relays from another chat in a group chat" + }, + "stopRelayBotNames": "Не показувати імена від бота-ретранслятора", + "@stopRelayBotNames": { + "description": "The action that shows a relay bot's messages as its own again" + }, + "showNames": "Показати імена", + "@showNames": { + "description": "The button that starts showing the names a relay bot relays" + }, + "noCalls": "Немає недавніх викликів", + "@noCalls": { + "description": "Shown on the Calls tab when there are no calls" + }, + "callsNotAvailable": "Виклики проходять через пристрій, до якого прив’язано цей обліковий запис, а він зараз не може їх прийняти", + "@callsNotAvailable": { + "description": "Shown on the Calls tab of a linked account while its home device is offline, or doesn't connect calls to its devices" + }, + "notImplemented": "Ще недоступно", + "@notImplemented": { + "description": "Shown for a menu item that doesn't work yet" + }, + "openLinkFailed": "Немає застосунку, який може відкрити це посилання", + "@openLinkFailed": { + "description": "Shown when tapping a link in a message opens nothing" + }, + "reply": "Відповісти", + "@reply": { + "description": "Message menu item to reply to the message" + }, + "forward": "Переслати", + "@forward": { + "description": "Message menu item to forward the message" + }, + "chatDetails": "Відомості про чат", + "@chatDetails": { + "description": "The tooltip of a chat's title, which opens who the chat is with" + }, + "chatMembers": "{count, plural, one{{count} учасник} few{{count} учасники} many{{count} учасників} other{{count} учасника}}", + "@chatMembers": { + "description": "The heading of the people in a group or conference, counting yourself", + "placeholders": { + "count": { + "type": "int" + } + } + }, + "you": "Ви", + "@you": { + "description": "Yourself, among the people in a chat" + }, + "muteChat": "Вимкнути сповіщення", + "@muteChat": { + "description": "The action, and its dialog, that stops a chat's notifications for a while" + }, + "unmuteChat": "Увімкнути сповіщення", + "@unmuteChat": { + "description": "The action that lets a muted chat notify again" + }, + "muteForAnHour": "На 1 годину", + "@muteForAnHour": { + "description": "How long to mute a chat for" + }, + "muteForEightHours": "На 8 годин", + "@muteForEightHours": { + "description": "How long to mute a chat for" + }, + "muteForAWeek": "На 1 тиждень", + "@muteForAWeek": { + "description": "How long to mute a chat for" + }, + "muteAlways": "Завжди", + "@muteAlways": { + "description": "Mutes a chat until it's unmuted" + }, + "notifyMentions": "Усе одно сповіщати про згадки", + "@notifyMentions": { + "description": "In the dialog muting a group chat: messages naming you still notify" + }, + "mutedUntil": "Без звуку до {time}", + "@mutedUntil": { + "description": "How long a chat stays muted", + "placeholders": { + "time": { + "type": "String", + "example": "Thu 17:00" + } + } + }, + "mutedAlways": "Без звуку", + "@mutedAlways": { + "description": "A chat muted until it's unmuted" + }, + "sendPicturesAsQoi": "Надсилати зображення як QOI", + "@sendPicturesAsQoi": { + "description": "A friend chat's setting: camera and gallery pictures sent as QOI" + }, + "sendPicturesAsQoiHint": "Без втрат якості, але більший розмір, і не всі застосунки показують QOI", + "@sendPicturesAsQoiHint": { + "description": "Under the setting to send pictures as QOI" + }, + "seenThrough": "Помічено через {bot}", + "@seenThrough": { + "description": "Heading of the names a relay bot has relayed in the chat's history, under the bot among the people in a chat, though they may not be there now", + "placeholders": { + "bot": { + "type": "String", + "example": "EPiG-BrDG" + } + } + }, + "showMoreSeen": "Показати ще {count}", + "@showMoreSeen": { + "description": "Shows the names a relay bot relayed longer ago", + "placeholders": { + "count": { + "type": "int" + } + } + }, + "roleFounder": "Засновник", + "@roleFounder": { + "description": "The role of whoever created a group" + }, + "roleModerator": "Модератор", + "@roleModerator": { + "description": "The role of someone who can moderate a group" + }, + "roleObserver": "Спостерігач", + "@roleObserver": { + "description": "The role of someone who can only read a group" + }, + "statusAway": "Не на місці", + "@statusAway": { + "description": "Someone's status when they're away" + }, + "statusBusy": "Зайнято", + "@statusBusy": { + "description": "Someone's status when they're busy" + }, + "membersWhileOnline": "Учасників видно, коли основний пристрій облікового запису в мережі", + "@membersWhileOnline": { + "description": "In place of a linked account's chat members, while its home device can't say who they are" + }, + "publicKey": "Відкритий ключ", + "@publicKey": { + "description": "The heading of a friend's public key, which Tox knows them by" + }, + "publicKeyCopied": "Відкритий ключ скопійовано", + "@publicKeyCopied": { + "description": "The message shown after copying a friend's public key" + }, + "copy": "Копіювати", + "@copy": { + "description": "Message menu item to copy the message's text" + }, + "select": "Вибрати", + "@select": { + "description": "Message menu item to select messages" + }, + "forwardTo": "Переслати до", + "@forwardTo": { + "description": "The title of the page that picks a chat to forward messages to" + }, + "messagesForwarded": "{count, plural, one{Переслано {count} повідомлення} few{Переслано {count} повідомлення} many{Переслано {count} повідомлень} other{Переслано {count} повідомлення}}", + "@messagesForwarded": { + "description": "The message shown after forwarding messages", + "placeholders": { + "count": { + "type": "int" + } + } + }, + "messageInfo": "Відомості про повідомлення", + "@messageInfo": { + "description": "The title of the page a message's Info opens" + }, + "messageSent": "Надіслано", + "@messageSent": { + "description": "On a message's details, when ours was sent" + }, + "messageSending": "Надсилається", + "@messageSending": { + "description": "On a message's details, in place of messageSent while ours waits to go" + }, + "messageDelivered": "Доставлено", + "@messageDelivered": { + "description": "On a message's details, when ours arrived" + }, + "messageReceived": "Отримано", + "@messageReceived": { + "description": "On a message's details, when someone else's came" + }, + "messageFrom": "Від", + "@messageFrom": { + "description": "On a message's details, the heading of who sent someone else's" + }, + "messagesSelected": "Вибрано: {count}", + "@messagesSelected": { + "description": "The chat's title while messages are selected", + "placeholders": { + "count": { + "type": "int" + } + } + }, + "messagesCopied": "{count, plural, one{Скопійовано {count} повідомлення} few{Скопійовано {count} повідомлення} many{Скопійовано {count} повідомлень} other{Скопійовано {count} повідомлення}}", + "@messagesCopied": { + "description": "The message shown after copying messages' text", + "placeholders": { + "count": { + "type": "int" + } + } + }, + "info": "Інформація", + "@info": { + "description": "Message menu item to show the message's details" + }, + "today": "Сьогодні", + "@today": { + "description": "Above the messages of today in a chat" + }, + "yesterday": "Учора", + "@yesterday": { + "description": "Above the messages of yesterday in a chat" + }, + "loadFailed": "Щось пішло не так", + "@loadFailed": { + "description": "Shown in place of a page that couldn't be loaded" + }, + "locationMessage": "Місцезнаходження", + "@locationMessage": { + "description": "A shared location, as the chat list shows it" + }, + "emoji": "Емодзі", + "@emoji": { + "description": "The button in the message box that opens the emoji picker" + }, + "send": "Надіслати", + "@send": { + "description": "The button that sends what is written in the message box" + }, + "attach": "Прикріпити", + "@attach": { + "description": "The button in the message box that opens what can be attached" + }, + "cancelReply": "Скасувати відповідь", + "@cancelReply": { + "description": "The button that stops replying to a message" + }, + "removeAttachment": "Вилучити", + "@removeAttachment": { + "description": "The button on an attachment waiting to be sent that takes it away" + }, + "attachFailed": "Не вдалося прикріпити", + "@attachFailed": { + "description": "Shown when a picture or file couldn't be picked or copied to send" + }, + "dayAndTime": "{day} {time}", + "@dayAndTime": { + "description": "A day and a time on it, as in 'muted until Fri 14:00'", + "placeholders": { + "day": { + "type": "String", + "example": "Fri" + }, + "time": { + "type": "String", + "example": "14:00" + } + } + }, + "draftLabel": "Чернетка:", + "@draftLabel": { + "description": "Before what is being written in a chat, as the chat list shows it" + }, + "messageV3": "Ідентифікатори повідомлень TRIfA", + "@messageV3": { + "description": "Setting to read the ID TRIfA adds to its messages" + }, + "messageV3Hint": "Приховує ідентифікатор, який TRIfA додає до повідомлень, і показує повторно надіслане повідомлення лише раз", + "@messageV3Hint": { + "description": "What reading TRIfA's message IDs does" + }, + "titleWithAccount": "bTox ({name})", + "@titleWithAccount": { + "description": "The title of the chat list, with the account it shows", + "placeholders": { + "name": { + "type": "String", + "example": "Alice" + } + } + }, + "deleteChatToo": "Також назавжди видалити ваші повідомлення й файли з цим контактом", + "@deleteChatToo": { + "description": "Option when deleting a contact to delete the chat with them too" + }, + "profileDeleteFailed": "Не вдалося видалити профіль \"{name}\"", + "@profileDeleteFailed": { + "description": "Error when a profile couldn't be deleted", + "placeholders": { + "name": { + "type": "String", + "example": "Alice" + } + } + }, + "mergeChat": "Об’єднати з іншим чатом", + "@mergeChat": { + "description": "Action on a group chat to show it together with another that a bot relays messages between" + }, + "unmergeChat": "Показувати чати окремо", + "@unmergeChat": { + "description": "Action on merged chats to show them as separate chats again" + }, + "mergeChatTitle": "Об’єднання чатів", + "@mergeChatTitle": { + "description": "Title of the page that merges two chats" + }, + "mergeWith": "Об’єднати з", + "@mergeWith": { + "description": "Heading of the chats one can merge with" + }, + "relayBotIn": "Бот у чаті \"{chat}\"", + "@relayBotIn": { + "description": "Heading of the members of a chat to pick the bot from that relays messages to the other chat", + "placeholders": { + "chat": { + "type": "String", + "example": "Tox" + } + } + }, + "relayedMessages": "{count, plural, one{Ретрансльовано {relayed} з {count} повідомлення} few{Ретрансльовано {relayed} з {count} повідомлень} many{Ретрансльовано {relayed} з {count} повідомлень} other{Ретрансльовано {relayed} з {count} повідомлення}}", + "@relayedMessages": { + "description": "How many of a chat member's messages look like a bot relayed them", + "placeholders": { + "relayed": { + "type": "int" + }, + "count": { + "type": "int" + } + } + }, + "noChatsToMerge": "Немає інших групових чатів", + "@noChatsToMerge": { + "description": "Shown when there are no chats to merge with" + }, + "merge": "Об’єднати", + "@merge": { + "description": "Button that merges the chats" + }, + "exported": "Дані експортовано", + "@exported": { + "description": "Shown when the backup was saved" + }, + "exportFailed": "Не вдалося експортувати дані", + "@exportFailed": { + "description": "Error when the backup couldn't be made or saved" + }, + "locationOff": "Увімкніть геолокацію, щоб поділитися своїм місцезнаходженням", + "@locationOff": { + "description": "Shown when sharing a location while location is off on the device" + }, + "locationDenied": "bTox потребує дозволу на доступ до вашого місцезнаходження", + "@locationDenied": { + "description": "Shown when sharing a location without the permission" + }, + "locationFailed": "Не вдалося визначити ваше місцезнаходження", + "@locationFailed": { + "description": "Error when the location couldn't be found" + }, + "openSettings": "Налаштування", + "@openSettings": { + "description": "Button opening the device's settings to fix a problem" + }, + "ownToxIdError": "Це ваш власний Tox ID", + "@ownToxIdError": { + "description": "Error when adding your own Tox ID as a contact" + }, + "addContactFailed": "Не вдалося додати контакт", + "@addContactFailed": { + "description": "Error when a contact couldn't be saved" + }, + "chatClosed": "Ви більше не можете надсилати повідомлення в цей чат", + "@chatClosed": { + "description": "Shown in place of the message input for a deleted contact or a group left" + }, + "friendRequest": "Запит у друзі", + "@friendRequest": { + "description": "Title of the notification for a friend request" + }, + "inviteNotification": "Запрошення до чату", + "@inviteNotification": { + "description": "Title of the notification for an invite to a group or conference" + }, + "groupInvite": "{friend} запрошує вас до \"{chat}\"", + "@groupInvite": { + "description": "An invite to a group, above the chats and in its notification", + "placeholders": { + "friend": { + "type": "String" + }, + "chat": { + "type": "String" + } + } + }, + "conferenceInvite": "{friend} запрошує вас на конференцію", + "@conferenceInvite": { + "description": "An invite to a conference, whose invite has no name, above the chats and in its notification", + "placeholders": { + "friend": { + "type": "String" + } + } + }, + "joinInvite": "Приєднатися", + "@joinInvite": { + "description": "The button that joins the chat of an invite" + }, + "declineInvite": "Відхилити", + "@declineInvite": { + "description": "The button that declines an invite to a chat" + }, + "joiningInvite": "Приєднання…", + "@joiningInvite": { + "description": "Under an invite answered to join, until the account's home device joined" + }, + "inviteNeedsPassword": "Потрібен пароль групи. Попросіть нове запрошення.", + "@inviteNeedsPassword": { + "description": "Under an invite to a group that turned the account away for a missing or wrong password, which spent the invite" + }, + "inviteSpent": "Не вдалося приєднатися. Попросіть нове запрошення.", + "@inviteSpent": { + "description": "Under an invite whose chat turned the account away for another reason, which spent the invite" + }, + "inviteFailed": "Не вдалося приєднатися", + "@inviteFailed": { + "description": "Under an invite whose chat the account's home device couldn't join, which can be tried again" + }, + "groupPasswordHelper": "Залиште порожнім, якщо в групи немає пароля", + "@groupPasswordHelper": { + "description": "Under the password field when joining a group from an invite" + }, + "retryInvite": "Спробувати знову", + "@retryInvite": { + "description": "The button that tries joining the chat of an invite again" + }, + "chatInAccount": "{chat} · {account}", + "@chatInAccount": { + "description": "Title of a chat's notification while several accounts are signed in: the chat, then the account it's in", + "placeholders": { + "chat": { + "type": "String" + }, + "account": { + "type": "String" + } + } + }, + "newestMessages": "Найновіші повідомлення", + "@newestMessages": { + "description": "Tooltip of the button that scrolls a chat to its newest messages" + }, + "noChats": "Ще немає чатів", + "@noChats": { + "description": "Shown on the Chats tab when there are no chats" + }, + "noChatsHint": "Додайте контакт кнопкою +, щоб почати спілкування", + "@noChatsHint": { + "description": "How to start a first chat, under noChats" + } +} diff --git a/lib/l10n/app_vec.arb b/lib/l10n/app_vec.arb index f09fc279..4c185387 100644 --- a/lib/l10n/app_vec.arb +++ b/lib/l10n/app_vec.arb @@ -1,6 +1,6 @@ { "@@locale": "vec", - "defaultContactName": "Mìa conjonesto", + "defaultContactName": "Desconosesto", "@defaultContactName": { "description": "The default name for a contact when the name is not yet known" }, @@ -12,11 +12,11 @@ "@message": { "description": "The text for the message field" }, - "messageInput": "Tox mesajo", + "messageInput": "Mesajo Tox", "@messageInput": { "description": "The placeholder text for the message input field" }, - "re": "Re:{message}", + "re": "Re: {message}", "@re": { "description": "The prefix for a reply message", "placeholders": { @@ -40,7 +40,7 @@ } } }, - "addContactMessageLengthError": "Maximum {max} caractere({length} l'è stra grando)", + "addContactMessageLengthError": "Màsimo {max} caràtari ({length} xe massa)", "@addContactMessageLengthError": { "description": "The error message when the friend request message is too long", "placeholders": { @@ -58,7 +58,7 @@ "@add": { "description": "The text for the button to add a contact" }, - "toxIdLengthError": "Toca da èsar {length} hexadecimal caractere", + "toxIdLengthError": "Ła ga da èsar de {length} caràtari esadesimałi", "@toxIdLengthError": { "description": "The error message when the Tox ID is not the right length or format", "placeholders": { @@ -68,7 +68,7 @@ } } }, - "messageEmptyError": "El mesajo no pol mìa da èsar łevro", + "messageEmptyError": "El mesajo no pol mìa èsar vodo", "@messageEmptyError": { "description": "The error message when the message is empty" }, @@ -80,7 +80,7 @@ "@menuSettings": { "description": "The text for the settings menu item" }, - "nickLengthError": "Nickname el toca da gaver 1 e {max} caractere", + "nickLengthError": "El nickname el ga da gaver tra 1 e {max} caràtari", "@nickLengthError": { "description": "The error message when the nickname is too short or too long", "placeholders": { @@ -90,7 +90,7 @@ } } }, - "statusMessageLengthError": "El Status mesajo no pol èsar pì {max} caractere", + "statusMessageLengthError": "El mesajo de stato no pol pasar i {max} caràtari", "@statusMessageLengthError": { "description": "The error message when the status message is longer than the supported maximum", "placeholders": { @@ -104,15 +104,15 @@ "@profileTextFieldNick": { "description": "The text for the nickname field" }, - "profileTextFieldUserStatusMessage": "Status mesajo", + "profileTextFieldUserStatusMessage": "Mesajo de stato", "@profileTextFieldUserStatusMessage": { "description": "The text for the status message field" }, - "applyChanges": "Łaudar łe muanse", + "applyChanges": "Aplicar łe muanse", "@applyChanges": { "description": "The text for the button to apply changes" }, - "applied": "Łaudà", + "applied": "Aplicà", "@applied": { "description": "The text when changes have been applied" }, @@ -132,7 +132,7 @@ "@deleteProfile": { "description": "The text for the delete profile menu item" }, - "deleteProfileMessage": "Sito ti segur da butar via el to \"{name}\" profiło? 'Sto no pol èsar undone. Tuti i contati e i mesaji tui i sarà butar via. Vardè se te ghè un backup.", + "deleteProfileMessage": "Sito segur de voler butar via el to profiło \"{name}\"? No se pol pì tornar indrio. Tuti i to contati e mesaji i vegnarà butài via. Varda de gaver un backup.", "@deleteProfileMessage": { "description": "The message to confirm the deletion of a profile", "placeholders": { @@ -150,7 +150,7 @@ "@delete": { "description": "The text for the delete button" }, - "profileDeleted": "Profiło \"{name}\" el ga butà via", + "profileDeleted": "Profiło \"{name}\" butà via", "@profileDeleted": { "description": "The text when a profile has been deleted", "placeholders": { @@ -159,5 +159,911 @@ "example": "Alice" } } + }, + "copyToxId": "Copiar ła Tox ID", + "@copyToxId": { + "description": "The tooltip for copying your own Tox ID" + }, + "toxIdCopied": "Tox ID copiada", + "@toxIdCopied": { + "description": "The message shown after copying your own Tox ID" + }, + "toxIdChecksumError": "No ła xe mìa na Tox ID vàłida, controła se ghe xe erori", + "@toxIdChecksumError": { + "description": "The error message when the Tox ID's checksum doesn't match, e.g. because of a typo" + }, + "logoutMessage": "{name} no ricevarà pì mesaji fin che no te ghe fa de novo el login.", + "@logoutMessage": { + "description": "Asks whether to sign the current account out", + "placeholders": { + "name": { + "type": "String", + "example": "Alice" + } + } + }, + "acceptFriendRequest": "Acetar ła domanda de amicisia", + "@acceptFriendRequest": { + "description": "The tooltip for accepting an incoming friend request" + }, + "rejectFriendRequest": "Refudar ła domanda de amicisia", + "@rejectFriendRequest": { + "description": "The tooltip for rejecting an incoming friend request" + }, + "online": "In łinea", + "@online": { + "description": "A contact's connection state, for screen readers" + }, + "offline": "Fora łinea", + "@offline": { + "description": "A contact's connection state, for screen readers" + }, + "deleteContact": "Butar via el contato", + "@deleteContact": { + "description": "The title of the dialog for deleting a contact" + }, + "deleteContactMessage": "Butar via \"{name}\" dai to contati?", + "@deleteContactMessage": { + "description": "The message to confirm the deletion of a contact", + "placeholders": { + "name": { + "type": "String", + "example": "Alice" + } + } + }, + "contactDeleted": "Contato \"{name}\" butà via", + "@contactDeleted": { + "description": "The text when a contact has been deleted", + "placeholders": { + "name": { + "type": "String", + "example": "Alice" + } + } + }, + "import": "Inportar", + "@import": { + "description": "The button that confirms importing a profile" + }, + "password": "Password", + "@password": { + "description": "The label for a password: an encrypted profile's, or a group's" + }, + "wrongPassword": "Password sbajada", + "@wrongPassword": { + "description": "The error when an encrypted profile's password is wrong" + }, + "profileImported": "Profiło \"{name}\" inportà", + "@profileImported": { + "description": "The text when a profile has been imported", + "placeholders": { + "name": { + "type": "String", + "example": "Alice" + } + } + }, + "profileAlreadyImported": "'Sto profiło el xe zà in bTox", + "@profileAlreadyImported": { + "description": "The error when importing a profile that bTox already has" + }, + "exportData": "Esportar i dati", + "@exportData": { + "description": "Settings entry that saves all accounts and messages to a file" + }, + "exportDataHint": "Tuti i account e i mesaji, sifrài co na password", + "@exportDataHint": { + "description": "Explanation below the export data setting" + }, + "importData": "Inportar i dati", + "@importData": { + "description": "The setting, button and dialog title for importing a bTox export or a .tox profile file" + }, + "importDataHint": "N'esportasion de bTox, o un profiło Tox da n'altro client", + "@importDataHint": { + "description": "Explanation below the import data setting" + }, + "export": "Esportar", + "@export": { + "description": "Button that exports data" + }, + "accountsRestored": "{count, plural, =0{El backup no'l ga account novi} =1{1 account recuperà} other{{count} account recuperài}}", + "@accountsRestored": { + "description": "Shown after importing accounts from a bTox backup", + "placeholders": { + "count": { + "type": "int" + } + } + }, + "notAToxProfile": "No'l xe mìa un profiło Tox", + "@notAToxProfile": { + "description": "The error when the chosen file isn't a Tox profile" + }, + "stayOnline": "Restar in łinea co ła app xe sarada", + "@stayOnline": { + "description": "The setting to keep running in the background after closing the app" + }, + "stayOnlineHint": "Tien in łinea tuti i account conetùi", + "@stayOnlineHint": { + "description": "Explains that stay online applies to every signed-in account" + }, + "accounts": "Account", + "@accounts": { + "description": "The menu item for signing in and managing accounts" + }, + "appSettings": "App", + "@appSettings": { + "description": "The heading of the settings for the whole app" + }, + "accountSettings": "Account: {name}", + "@accountSettings": { + "description": "The heading of the settings for one account", + "placeholders": { + "name": { + "type": "String", + "example": "Alice" + } + } + }, + "autoAcceptFiles": "Acetar i file in automàtico fin a", + "@autoAcceptFiles": { + "description": "The setting for the largest incoming file accepted without asking" + }, + "never": "Mai", + "@never": { + "description": "Auto-accepting no files at all" + }, + "acceptFile": "Acetar", + "@acceptFile": { + "description": "The button to receive an offered file" + }, + "declineFile": "Refudar", + "@declineFile": { + "description": "The button to refuse an offered file" + }, + "downloadFile": "Scaricar", + "@downloadFile": { + "description": "The button to fetch a file the account's home device holds" + }, + "fileCancelled": "Anułà", + "@fileCancelled": { + "description": "A file transfer that was declined or stopped" + }, + "filePaused": "In pausa fin che no i torna in łinea", + "@filePaused": { + "description": "An incoming file that stopped part way, which goes on when the sender sends it again" + }, + "udpEnabled": "Doparar UDP", + "@udpEnabled": { + "description": "The setting for Tox's UDP transport" + }, + "udpEnabledHint": "Se destivà, conetarse soło traverso i relay TCP", + "@udpEnabledHint": { + "description": "Explains turning off UDP" + }, + "ipv6Enabled": "Doparar IPv6", + "@ipv6Enabled": { + "description": "The setting for connecting over IPv6" + }, + "localDiscoveryEnabled": "Scoperta łocałe", + "@localDiscoveryEnabled": { + "description": "The setting for finding friends on the local network" + }, + "localDiscoveryEnabledHint": "Catar diretamente i amighi so ła stesa rede", + "@localDiscoveryEnabledHint": { + "description": "Explains local discovery" + }, + "offWithProxy": "Destivà co se dopara un proxy, che'l porta soło TCP", + "@offWithProxy": { + "description": "Why UDP and local discovery are off when a proxy is set" + }, + "proxy": "Proxy", + "@proxy": { + "description": "The proxy setting and dialog title" + }, + "proxyNone": "Nisun", + "@proxyNone": { + "description": "No proxy" + }, + "proxyHost": "Host", + "@proxyHost": { + "description": "The label for the proxy host field" + }, + "proxyPort": "Porta", + "@proxyPort": { + "description": "The label for the proxy port field" + }, + "invalidProxyHost": "Meti un host", + "@invalidProxyHost": { + "description": "The error when the proxy host is empty" + }, + "invalidProxyPort": "Meti na porta da 1 a 65535", + "@invalidProxyPort": { + "description": "The error when the proxy port is out of range" + }, + "save": "Salvar", + "@save": { + "description": "The text for the save button" + }, + "attachCamera": "Fotocàmara", + "@attachCamera": { + "description": "Button to take a photo to send" + }, + "attachGallery": "Gałeria", + "@attachGallery": { + "description": "Button to choose images to send" + }, + "attachFile": "File", + "@attachFile": { + "description": "Button to choose files to send" + }, + "attachLocation": "Posision", + "@attachLocation": { + "description": "Button to send the current location" + }, + "linkAccount": "Cołegar un account", + "@linkAccount": { + "description": "Action to use an account that runs on another device" + }, + "pairingLink": "Link de abinamento", + "@pairingLink": { + "description": "Label of the field for another device's pairing link" + }, + "pairingLinkHelp": "Incoła el link de abinamento dal dispositivo che fa ndar l'account.", + "@pairingLinkHelp": { + "description": "Explains where the pairing link comes from" + }, + "invalidPairingLink": "'Sto chi no'l xe mìa un link de abinamento", + "@invalidPairingLink": { + "description": "Error when the pasted text isn't a pairing link" + }, + "link": "Cołegar", + "@link": { + "description": "Button that links an account" + }, + "linkedAccount": "Account cołegà", + "@linkedAccount": { + "description": "Name of a linked account until its name has synced" + }, + "linkedAccountName": "{name} (cołegà)", + "@linkedAccountName": { + "description": "A linked account where accounts are listed to choose from", + "placeholders": { + "name": { + "type": "String" + } + } + }, + "sendFailed": "No se ga podùo mandar el mesajo", + "@sendFailed": { + "description": "Error when a message couldn't be saved for sending" + }, + "saveFailed": "No se ga podùo salvarlo", + "@saveFailed": { + "description": "Error when something the user did couldn't be saved" + }, + "importFailed": "No se ga podùo inportar 'sto file", + "@importFailed": { + "description": "Error when a profile or backup file couldn't be imported" + }, + "linkFailed": "No se ga podùo cołegar l'account", + "@linkFailed": { + "description": "Error when a linked account couldn't be added" + }, + "chats": "Chat", + "@chats": { + "description": "The tab of the main page listing chats" + }, + "calls": "Ciamade", + "@calls": { + "description": "The tab of the main page listing calls" + }, + "voiceCall": "Ciamada vocałe", + "@voiceCall": { + "description": "A call button's tooltip, and a call still going on in a chat" + }, + "videoCall": "Videociamada", + "@videoCall": { + "description": "A video call button's tooltip, and a video call still going on in a chat" + }, + "outgoingVideoCall": "Videociamada in partensa", + "@outgoingVideoCall": { + "description": "A video call we made, in a chat" + }, + "incomingVideoCall": "Videociamada in arivo", + "@incomingVideoCall": { + "description": "A video call the friend made, in a chat and while it rings" + }, + "missedVideoCall": "Videociamada persa", + "@missedVideoCall": { + "description": "A video call that rang here and wasn't answered" + }, + "callCamera": "Fotocàmara", + "@callCamera": { + "description": "The button that turns the camera on or off in a call" + }, + "flipCamera": "Canbiar fotocàmara", + "@flipCamera": { + "description": "The button that switches between the front and back camera in a call" + }, + "cameraNeeded": "bTox no pol doparar ła fotocàmara, cusì ła ciamada ła va vanti sensa", + "@cameraNeeded": { + "description": "Shown when bTox may not use the camera for a video call, which goes on without video" + }, + "outgoingCall": "Ciamada vocałe in partensa", + "@outgoingCall": { + "description": "A call we made, in a chat" + }, + "incomingCall": "Ciamada vocałe in arivo", + "@incomingCall": { + "description": "A call the friend made, in a chat and while it rings" + }, + "missedCall": "Ciamada vocałe persa", + "@missedCall": { + "description": "A call that rang here and wasn't answered" + }, + "callWithDuration": "{call} · {duration}", + "@callWithDuration": { + "description": "A call in a chat, with how long it was", + "placeholders": { + "call": { + "type": "String" + }, + "duration": { + "type": "String" + } + } + }, + "incomingCalls": "Ciamade in arivo", + "@incomingCalls": { + "description": "The notification channel that rings" + }, + "missedCalls": "Ciamade perse", + "@missedCalls": { + "description": "The notification channel for missed calls" + }, + "callOngoing": "Ciamada in corso", + "@callOngoing": { + "description": "The notification while a call goes on" + }, + "calling": "Drio ciamar…", + "@calling": { + "description": "Our call, while it rings at the friend's" + }, + "connecting": "Drio conetarse…", + "@connecting": { + "description": "A call answered here, until it's connected" + }, + "answerCall": "Respóndar", + "@answerCall": { + "description": "The button that answers a call" + }, + "declineCall": "Refudar", + "@declineCall": { + "description": "The button that declines a call" + }, + "hangUp": "Tacar sù", + "@hangUp": { + "description": "The button that ends a call" + }, + "muteCall": "Muto", + "@muteCall": { + "description": "The button that mutes the microphone in a call" + }, + "callSpeaker": "Vivavose", + "@callSpeaker": { + "description": "The button that puts a call on the loudspeaker" + }, + "callEarpiece": "Tełéfono", + "@callEarpiece": { + "description": "Where a call's audio can go: the phone's earpiece" + }, + "callWired": "Cufie", + "@callWired": { + "description": "Where a call's audio can go: wired headphones" + }, + "callBluetooth": "Bluetooth", + "@callBluetooth": { + "description": "Where a call's audio can go: a Bluetooth headset" + }, + "hideCall": "Scóndar ła ciamada", + "@hideCall": { + "description": "The button that shows the chats during a call" + }, + "returnToCall": "Tornar a ła ciamada", + "@returnToCall": { + "description": "The banner over the chats during a call" + }, + "microphoneNeeded": "Łe ciamade łe ga bisogno del micròfono", + "@microphoneNeeded": { + "description": "Shown when bTox may not use the microphone" + }, + "ringOverLockScreen": "Łe ciamade no łe pol sonar so ła schermada de bloco", + "@ringOverLockScreen": { + "description": "Shown on the Calls tab while Android doesn't let bTox show incoming calls full screen" + }, + "allowRingOverLockScreen": "Parmétar", + "@allowRingOverLockScreen": { + "description": "The button that opens the setting letting calls ring full screen" + }, + "relayBotNames": "Nomi da un bot ponte", + "@relayBotNames": { + "description": "The action, and its page, that shows the names a bot relays from another chat in a group chat" + }, + "stopRelayBotNames": "No mostrar pì i nomi dal bot ponte", + "@stopRelayBotNames": { + "description": "The action that shows a relay bot's messages as its own again" + }, + "showNames": "Mostrar i nomi", + "@showNames": { + "description": "The button that starts showing the names a relay bot relays" + }, + "noCalls": "Gnente ciamade recenti", + "@noCalls": { + "description": "Shown on the Calls tab when there are no calls" + }, + "callsNotAvailable": "Łe ciamade łe pasa par el dispositivo a cui xe cołegà 'sto account, che deso no'l łe pol tor sù", + "@callsNotAvailable": { + "description": "Shown on the Calls tab of a linked account while its home device is offline, or doesn't connect calls to its devices" + }, + "notImplemented": "Gnancora disponìbiłe", + "@notImplemented": { + "description": "Shown for a menu item that doesn't work yet" + }, + "openLinkFailed": "Nisuna app ła pol vèrzar 'sto link", + "@openLinkFailed": { + "description": "Shown when tapping a link in a message opens nothing" + }, + "reply": "Respóndar", + "@reply": { + "description": "Message menu item to reply to the message" + }, + "forward": "Inoltrar", + "@forward": { + "description": "Message menu item to forward the message" + }, + "chatDetails": "Detaji de ła chat", + "@chatDetails": { + "description": "The tooltip of a chat's title, which opens who the chat is with" + }, + "chatMembers": "{count, plural, =1{1 menbro} other{{count} menbri}}", + "@chatMembers": { + "description": "The heading of the people in a group or conference, counting yourself", + "placeholders": { + "count": { + "type": "int" + } + } + }, + "you": "Ti", + "@you": { + "description": "Yourself, among the people in a chat" + }, + "muteChat": "Silensiar łe notìfiche", + "@muteChat": { + "description": "The action, and its dialog, that stops a chat's notifications for a while" + }, + "unmuteChat": "Riativar łe notìfiche", + "@unmuteChat": { + "description": "The action that lets a muted chat notify again" + }, + "muteForAnHour": "Par 1 ora", + "@muteForAnHour": { + "description": "How long to mute a chat for" + }, + "muteForEightHours": "Par 8 ore", + "@muteForEightHours": { + "description": "How long to mute a chat for" + }, + "muteForAWeek": "Par 1 setimana", + "@muteForAWeek": { + "description": "How long to mute a chat for" + }, + "muteAlways": "Senpre", + "@muteAlways": { + "description": "Mutes a chat until it's unmuted" + }, + "notifyMentions": "Notìficame ło steso łe mension", + "@notifyMentions": { + "description": "In the dialog muting a group chat: messages naming you still notify" + }, + "mutedUntil": "Silensià fin {time}", + "@mutedUntil": { + "description": "How long a chat stays muted", + "placeholders": { + "time": { + "type": "String", + "example": "Thu 17:00" + } + } + }, + "mutedAlways": "Silensià", + "@mutedAlways": { + "description": "A chat muted until it's unmuted" + }, + "sendPicturesAsQoi": "Mandar łe foto come QOI", + "@sendPicturesAsQoi": { + "description": "A friend chat's setting: camera and gallery pictures sent as QOI" + }, + "sendPicturesAsQoiHint": "Sensa perdite, ma pì grande, e mìa tute łe app łe mostra QOI", + "@sendPicturesAsQoiHint": { + "description": "Under the setting to send pictures as QOI" + }, + "seenThrough": "Visti traverso {bot}", + "@seenThrough": { + "description": "Heading of the names a relay bot has relayed in the chat's history, under the bot among the people in a chat, though they may not be there now", + "placeholders": { + "bot": { + "type": "String", + "example": "EPiG-BrDG" + } + } + }, + "showMoreSeen": "{count, plural, =1{Mostrar 1 altro} other{Mostrar altri {count}}}", + "@showMoreSeen": { + "description": "Shows the names a relay bot relayed longer ago", + "placeholders": { + "count": { + "type": "int" + } + } + }, + "roleFounder": "Fondador", + "@roleFounder": { + "description": "The role of whoever created a group" + }, + "roleModerator": "Moderador", + "@roleModerator": { + "description": "The role of someone who can moderate a group" + }, + "roleObserver": "Osarvador", + "@roleObserver": { + "description": "The role of someone who can only read a group" + }, + "statusAway": "Via", + "@statusAway": { + "description": "Someone's status when they're away" + }, + "statusBusy": "Ocupà", + "@statusBusy": { + "description": "Someone's status when they're busy" + }, + "membersWhileOnline": "Chi ghe xe se vede co el dispositivo de casa de l'account el xe in łinea", + "@membersWhileOnline": { + "description": "In place of a linked account's chat members, while its home device can't say who they are" + }, + "publicKey": "Ciave pùblica", + "@publicKey": { + "description": "The heading of a friend's public key, which Tox knows them by" + }, + "publicKeyCopied": "Ciave pùblica copiada", + "@publicKeyCopied": { + "description": "The message shown after copying a friend's public key" + }, + "copy": "Copiar", + "@copy": { + "description": "Message menu item to copy the message's text" + }, + "select": "Sełesionar", + "@select": { + "description": "Message menu item to select messages" + }, + "forwardTo": "Inoltrar a", + "@forwardTo": { + "description": "The title of the page that picks a chat to forward messages to" + }, + "messagesForwarded": "{count, plural, =1{Mesajo inoltrà} other{{count} mesaji inoltrài}}", + "@messagesForwarded": { + "description": "The message shown after forwarding messages", + "placeholders": { + "count": { + "type": "int" + } + } + }, + "messageInfo": "Detaji del mesajo", + "@messageInfo": { + "description": "The title of the page a message's Info opens" + }, + "messageSent": "Mandà", + "@messageSent": { + "description": "On a message's details, when ours was sent" + }, + "messageSending": "Drio mandar", + "@messageSending": { + "description": "On a message's details, in place of messageSent while ours waits to go" + }, + "messageDelivered": "Consegnà", + "@messageDelivered": { + "description": "On a message's details, when ours arrived" + }, + "messageReceived": "Ricevesto", + "@messageReceived": { + "description": "On a message's details, when someone else's came" + }, + "messageFrom": "Da", + "@messageFrom": { + "description": "On a message's details, the heading of who sent someone else's" + }, + "messagesSelected": "{count, plural, one{{count} sełesionà} other{{count} sełesionài}}", + "@messagesSelected": { + "description": "The chat's title while messages are selected", + "placeholders": { + "count": { + "type": "int" + } + } + }, + "messagesCopied": "{count, plural, =1{Mesajo copià} other{{count} mesaji copiài}}", + "@messagesCopied": { + "description": "The message shown after copying messages' text", + "placeholders": { + "count": { + "type": "int" + } + } + }, + "info": "Info", + "@info": { + "description": "Message menu item to show the message's details" + }, + "today": "Ancuò", + "@today": { + "description": "Above the messages of today in a chat" + }, + "yesterday": "Jeri", + "@yesterday": { + "description": "Above the messages of yesterday in a chat" + }, + "loadFailed": "Calcosa xe ndà storto", + "@loadFailed": { + "description": "Shown in place of a page that couldn't be loaded" + }, + "locationMessage": "Posision", + "@locationMessage": { + "description": "A shared location, as the chat list shows it" + }, + "emoji": "Emoji", + "@emoji": { + "description": "The button in the message box that opens the emoji picker" + }, + "send": "Mandar", + "@send": { + "description": "The button that sends what is written in the message box" + }, + "attach": "Ałegar", + "@attach": { + "description": "The button in the message box that opens what can be attached" + }, + "cancelReply": "Anułar ła risposta", + "@cancelReply": { + "description": "The button that stops replying to a message" + }, + "removeAttachment": "Cavar", + "@removeAttachment": { + "description": "The button on an attachment waiting to be sent that takes it away" + }, + "attachFailed": "No se ga podùo ałegarlo", + "@attachFailed": { + "description": "Shown when a picture or file couldn't be picked or copied to send" + }, + "dayAndTime": "{day} {time}", + "@dayAndTime": { + "description": "A day and a time on it, as in 'muted until Fri 14:00'", + "placeholders": { + "day": { + "type": "String", + "example": "Fri" + }, + "time": { + "type": "String", + "example": "14:00" + } + } + }, + "draftLabel": "Bosa:", + "@draftLabel": { + "description": "Before what is being written in a chat, as the chat list shows it" + }, + "messageV3": "ID dei mesaji TRIfA", + "@messageV3": { + "description": "Setting to read the ID TRIfA adds to its messages" + }, + "messageV3Hint": "Sconde l'ID che TRIfA el zonta ai mesaji, e el mostra na volta soła un mesajo che'l manda de novo", + "@messageV3Hint": { + "description": "What reading TRIfA's message IDs does" + }, + "titleWithAccount": "bTox ({name})", + "@titleWithAccount": { + "description": "The title of the chat list, with the account it shows", + "placeholders": { + "name": { + "type": "String", + "example": "Alice" + } + } + }, + "deleteChatToo": "Butar via anca i to mesaji e file co łori, par senpre", + "@deleteChatToo": { + "description": "Option when deleting a contact to delete the chat with them too" + }, + "profileDeleteFailed": "No se ga podùo butar via el profiło \"{name}\"", + "@profileDeleteFailed": { + "description": "Error when a profile couldn't be deleted", + "placeholders": { + "name": { + "type": "String", + "example": "Alice" + } + } + }, + "mergeChat": "Unir co n'altra chat", + "@mergeChat": { + "description": "Action on a group chat to show it together with another that a bot relays messages between" + }, + "unmergeChat": "Mostrar łe chat separade", + "@unmergeChat": { + "description": "Action on merged chats to show them as separate chats again" + }, + "mergeChatTitle": "Unir łe chat", + "@mergeChatTitle": { + "description": "Title of the page that merges two chats" + }, + "mergeWith": "Unir co", + "@mergeWith": { + "description": "Heading of the chats one can merge with" + }, + "relayBotIn": "Bot in {chat}", + "@relayBotIn": { + "description": "Heading of the members of a chat to pick the bot from that relays messages to the other chat", + "placeholders": { + "chat": { + "type": "String", + "example": "Tox" + } + } + }, + "relayedMessages": "{relayed} de {count} mesaji ritrasmesi", + "@relayedMessages": { + "description": "How many of a chat member's messages look like a bot relayed them", + "placeholders": { + "relayed": { + "type": "int" + }, + "count": { + "type": "int" + } + } + }, + "noChatsToMerge": "Gnente altre chat de grupo", + "@noChatsToMerge": { + "description": "Shown when there are no chats to merge with" + }, + "merge": "Unir", + "@merge": { + "description": "Button that merges the chats" + }, + "exported": "Dati esportài", + "@exported": { + "description": "Shown when the backup was saved" + }, + "exportFailed": "No se ga podùo esportar i dati", + "@exportFailed": { + "description": "Error when the backup couldn't be made or saved" + }, + "locationOff": "Ativa ła posision par condivìdar ndove che te si", + "@locationOff": { + "description": "Shown when sharing a location while location is off on the device" + }, + "locationDenied": "bTox el ga bisogno del parmeso par doparar ła to posision", + "@locationDenied": { + "description": "Shown when sharing a location without the permission" + }, + "locationFailed": "No se ga podùo catar ndove che te si", + "@locationFailed": { + "description": "Error when the location couldn't be found" + }, + "openSettings": "Asestasion", + "@openSettings": { + "description": "Button opening the device's settings to fix a problem" + }, + "ownToxIdError": "'Sta chi ła xe ła to Tox ID", + "@ownToxIdError": { + "description": "Error when adding your own Tox ID as a contact" + }, + "addContactFailed": "No se ga podùo zontar el contato", + "@addContactFailed": { + "description": "Error when a contact couldn't be saved" + }, + "chatClosed": "No te pol pì mandar mesaji a 'sta chat", + "@chatClosed": { + "description": "Shown in place of the message input for a deleted contact or a group left" + }, + "friendRequest": "Domanda de amicisia", + "@friendRequest": { + "description": "Title of the notification for a friend request" + }, + "inviteNotification": "Invido a na chat", + "@inviteNotification": { + "description": "Title of the notification for an invite to a group or conference" + }, + "groupInvite": "{friend} el te ga invidà in {chat}", + "@groupInvite": { + "description": "An invite to a group, above the chats and in its notification", + "placeholders": { + "friend": { + "type": "String" + }, + "chat": { + "type": "String" + } + } + }, + "conferenceInvite": "{friend} el te ga invidà a na conferensa", + "@conferenceInvite": { + "description": "An invite to a conference, whose invite has no name, above the chats and in its notification", + "placeholders": { + "friend": { + "type": "String" + } + } + }, + "joinInvite": "Entrar", + "@joinInvite": { + "description": "The button that joins the chat of an invite" + }, + "declineInvite": "Refudar", + "@declineInvite": { + "description": "The button that declines an invite to a chat" + }, + "joiningInvite": "Drio entrar…", + "@joiningInvite": { + "description": "Under an invite answered to join, until the account's home device joined" + }, + "inviteNeedsPassword": "Ghe vol ła password del grupo. Domanda un invido novo.", + "@inviteNeedsPassword": { + "description": "Under an invite to a group that turned the account away for a missing or wrong password, which spent the invite" + }, + "inviteSpent": "No se ga podùo entrar. Domanda un invido novo.", + "@inviteSpent": { + "description": "Under an invite whose chat turned the account away for another reason, which spent the invite" + }, + "inviteFailed": "No se ga podùo entrar", + "@inviteFailed": { + "description": "Under an invite whose chat the account's home device couldn't join, which can be tried again" + }, + "groupPasswordHelper": "Łasa vodo se el grupo no'l ghe ne ga", + "@groupPasswordHelper": { + "description": "Under the password field when joining a group from an invite" + }, + "retryInvite": "Proar de novo", + "@retryInvite": { + "description": "The button that tries joining the chat of an invite again" + }, + "chatInAccount": "{chat} · {account}", + "@chatInAccount": { + "description": "Title of a chat's notification while several accounts are signed in: the chat, then the account it's in", + "placeholders": { + "chat": { + "type": "String" + }, + "account": { + "type": "String" + } + } + }, + "newestMessages": "Mesaji pì novi", + "@newestMessages": { + "description": "Tooltip of the button that scrolls a chat to its newest messages" + }, + "noChats": "Gnancora gnente chat", + "@noChats": { + "description": "Shown on the Chats tab when there are no chats" + }, + "noChatsHint": "Zonta un contato col boton + par scuminsiar a ciacołar", + "@noChatsHint": { + "description": "How to start a first chat, under noChats" } } diff --git a/lib/l10n/app_zh.arb b/lib/l10n/app_zh.arb index 342bd033..83deaaa6 100644 --- a/lib/l10n/app_zh.arb +++ b/lib/l10n/app_zh.arb @@ -1,3 +1,1069 @@ { - "@@locale": "zh" + "@@locale": "zh", + "defaultContactName": "未知", + "@defaultContactName": { + "description": "The default name for a contact when the name is not yet known" + }, + "addContact": "添加联系人", + "@addContact": { + "description": "The text for the button to add a contact" + }, + "message": "消息", + "@message": { + "description": "The text for the message field" + }, + "messageInput": "Tox 消息", + "@messageInput": { + "description": "The placeholder text for the message input field" + }, + "re": "回复:{message}", + "@re": { + "description": "The prefix for a reply message", + "placeholders": { + "message": { + "type": "String", + "example": "Hello" + } + } + }, + "toxId": "Tox ID", + "@toxId": { + "description": "The text for the Tox ID field" + }, + "copyToxId": "复制 Tox ID", + "@copyToxId": { + "description": "The tooltip for copying your own Tox ID" + }, + "toxIdCopied": "已复制 Tox ID", + "@toxIdCopied": { + "description": "The message shown after copying your own Tox ID" + }, + "defaultAddContactMessage": "嗨,我是 {nick},来 bTox 上和我聊天吧!", + "@defaultAddContactMessage": { + "description": "The default message to send when adding a contact", + "placeholders": { + "nick": { + "type": "String", + "example": "Alice" + } + } + }, + "addContactMessageLengthError": "最多 {max} 个字符({length} 个太长了)", + "@addContactMessageLengthError": { + "description": "The error message when the friend request message is too long", + "placeholders": { + "max": { + "type": "int", + "example": "256" + }, + "length": { + "type": "int", + "example": "300" + } + } + }, + "add": "添加", + "@add": { + "description": "The text for the button to add a contact" + }, + "toxIdLengthError": "必须是 {length} 个十六进制字符", + "@toxIdLengthError": { + "description": "The error message when the Tox ID is not the right length or format", + "placeholders": { + "length": { + "type": "int", + "example": "76" + } + } + }, + "toxIdChecksumError": "不是有效的 Tox ID,请检查是否有输入错误", + "@toxIdChecksumError": { + "description": "The error message when the Tox ID's checksum doesn't match, e.g. because of a typo" + }, + "messageEmptyError": "消息不能为空", + "@messageEmptyError": { + "description": "The error message when the message is empty" + }, + "menuProfile": "个人资料", + "@menuProfile": { + "description": "The text for the profile menu item" + }, + "menuSettings": "设置", + "@menuSettings": { + "description": "The text for the settings menu item" + }, + "nickLengthError": "昵称必须为 1 到 {max} 个字符", + "@nickLengthError": { + "description": "The error message when the nickname is too short or too long", + "placeholders": { + "max": { + "type": "int", + "example": "32" + } + } + }, + "statusMessageLengthError": "状态消息不能超过 {max} 个字符", + "@statusMessageLengthError": { + "description": "The error message when the status message is longer than the supported maximum", + "placeholders": { + "max": { + "type": "int", + "example": "128" + } + } + }, + "profileTextFieldNick": "昵称", + "@profileTextFieldNick": { + "description": "The text for the nickname field" + }, + "profileTextFieldUserStatusMessage": "状态消息", + "@profileTextFieldUserStatusMessage": { + "description": "The text for the status message field" + }, + "applyChanges": "应用更改", + "@applyChanges": { + "description": "The text for the button to apply changes" + }, + "applied": "已应用", + "@applied": { + "description": "The text when changes have been applied" + }, + "newProfile": "新建个人资料", + "@newProfile": { + "description": "The title text for the create profile dialog" + }, + "create": "创建", + "@create": { + "description": "The text for the button create a new profile" + }, + "logout": "退出登录", + "@logout": { + "description": "The text for the logout menu item" + }, + "logoutMessage": "在你重新登录之前,{name} 将不再接收消息。", + "@logoutMessage": { + "description": "Asks whether to sign the current account out", + "placeholders": { + "name": { + "type": "String", + "example": "Alice" + } + } + }, + "deleteProfile": "删除个人资料", + "@deleteProfile": { + "description": "The text for the delete profile menu item" + }, + "deleteProfileMessage": "确定要删除你的个人资料“{name}”吗?此操作无法撤销,将删除你的所有联系人和消息。请确保你已备份。", + "@deleteProfileMessage": { + "description": "The message to confirm the deletion of a profile", + "placeholders": { + "name": { + "type": "String", + "example": "Alice" + } + } + }, + "cancel": "取消", + "@cancel": { + "description": "The text for the cancel button" + }, + "delete": "删除", + "@delete": { + "description": "The text for the delete button" + }, + "acceptFriendRequest": "接受好友请求", + "@acceptFriendRequest": { + "description": "The tooltip for accepting an incoming friend request" + }, + "rejectFriendRequest": "拒绝好友请求", + "@rejectFriendRequest": { + "description": "The tooltip for rejecting an incoming friend request" + }, + "online": "在线", + "@online": { + "description": "A contact's connection state, for screen readers" + }, + "offline": "离线", + "@offline": { + "description": "A contact's connection state, for screen readers" + }, + "deleteContact": "删除联系人", + "@deleteContact": { + "description": "The title of the dialog for deleting a contact" + }, + "deleteContactMessage": "要从联系人中删除“{name}”吗?", + "@deleteContactMessage": { + "description": "The message to confirm the deletion of a contact", + "placeholders": { + "name": { + "type": "String", + "example": "Alice" + } + } + }, + "contactDeleted": "已删除联系人“{name}”", + "@contactDeleted": { + "description": "The text when a contact has been deleted", + "placeholders": { + "name": { + "type": "String", + "example": "Alice" + } + } + }, + "import": "导入", + "@import": { + "description": "The button that confirms importing a profile" + }, + "password": "密码", + "@password": { + "description": "The label for a password: an encrypted profile's, or a group's" + }, + "wrongPassword": "密码错误", + "@wrongPassword": { + "description": "The error when an encrypted profile's password is wrong" + }, + "profileImported": "已导入个人资料“{name}”", + "@profileImported": { + "description": "The text when a profile has been imported", + "placeholders": { + "name": { + "type": "String", + "example": "Alice" + } + } + }, + "profileAlreadyImported": "此个人资料已在 bTox 中", + "@profileAlreadyImported": { + "description": "The error when importing a profile that bTox already has" + }, + "exportData": "导出数据", + "@exportData": { + "description": "Settings entry that saves all accounts and messages to a file" + }, + "exportDataHint": "所有账户和消息,使用密码加密", + "@exportDataHint": { + "description": "Explanation below the export data setting" + }, + "importData": "导入数据", + "@importData": { + "description": "The setting, button and dialog title for importing a bTox export or a .tox profile file" + }, + "importDataHint": "bTox 导出文件,或来自其他客户端的 Tox 个人资料", + "@importDataHint": { + "description": "Explanation below the import data setting" + }, + "export": "导出", + "@export": { + "description": "Button that exports data" + }, + "accountsRestored": "{count, plural, =0{备份中没有新账户} other{已恢复 {count} 个账户}}", + "@accountsRestored": { + "description": "Shown after importing accounts from a bTox backup", + "placeholders": { + "count": { + "type": "int" + } + } + }, + "notAToxProfile": "不是 Tox 个人资料", + "@notAToxProfile": { + "description": "The error when the chosen file isn't a Tox profile" + }, + "stayOnline": "关闭后保持在线", + "@stayOnline": { + "description": "The setting to keep running in the background after closing the app" + }, + "stayOnlineHint": "让所有已登录的账户保持在线", + "@stayOnlineHint": { + "description": "Explains that stay online applies to every signed-in account" + }, + "accounts": "账户", + "@accounts": { + "description": "The menu item for signing in and managing accounts" + }, + "appSettings": "应用", + "@appSettings": { + "description": "The heading of the settings for the whole app" + }, + "accountSettings": "账户:{name}", + "@accountSettings": { + "description": "The heading of the settings for one account", + "placeholders": { + "name": { + "type": "String", + "example": "Alice" + } + } + }, + "autoAcceptFiles": "自动接收文件的大小上限", + "@autoAcceptFiles": { + "description": "The setting for the largest incoming file accepted without asking" + }, + "never": "从不", + "@never": { + "description": "Auto-accepting no files at all" + }, + "acceptFile": "接收", + "@acceptFile": { + "description": "The button to receive an offered file" + }, + "declineFile": "拒绝", + "@declineFile": { + "description": "The button to refuse an offered file" + }, + "downloadFile": "下载", + "@downloadFile": { + "description": "The button to fetch a file the account's home device holds" + }, + "fileCancelled": "已取消", + "@fileCancelled": { + "description": "A file transfer that was declined or stopped" + }, + "filePaused": "已暂停,等待对方重新上线", + "@filePaused": { + "description": "An incoming file that stopped part way, which goes on when the sender sends it again" + }, + "udpEnabled": "使用 UDP", + "@udpEnabled": { + "description": "The setting for Tox's UDP transport" + }, + "udpEnabledHint": "关闭后仅通过 TCP 中继连接", + "@udpEnabledHint": { + "description": "Explains turning off UDP" + }, + "ipv6Enabled": "使用 IPv6", + "@ipv6Enabled": { + "description": "The setting for connecting over IPv6" + }, + "localDiscoveryEnabled": "本地发现", + "@localDiscoveryEnabled": { + "description": "The setting for finding friends on the local network" + }, + "localDiscoveryEnabledHint": "直接发现同一网络中的好友", + "@localDiscoveryEnabledHint": { + "description": "Explains local discovery" + }, + "offWithProxy": "使用代理时关闭,代理仅支持 TCP", + "@offWithProxy": { + "description": "Why UDP and local discovery are off when a proxy is set" + }, + "proxy": "代理", + "@proxy": { + "description": "The proxy setting and dialog title" + }, + "proxyNone": "无", + "@proxyNone": { + "description": "No proxy" + }, + "proxyHost": "主机", + "@proxyHost": { + "description": "The label for the proxy host field" + }, + "proxyPort": "端口", + "@proxyPort": { + "description": "The label for the proxy port field" + }, + "invalidProxyHost": "请输入主机", + "@invalidProxyHost": { + "description": "The error when the proxy host is empty" + }, + "invalidProxyPort": "请输入 1 到 65535 之间的端口", + "@invalidProxyPort": { + "description": "The error when the proxy port is out of range" + }, + "save": "保存", + "@save": { + "description": "The text for the save button" + }, + "profileDeleted": "已删除个人资料“{name}”", + "@profileDeleted": { + "description": "The text when a profile has been deleted", + "placeholders": { + "name": { + "type": "String", + "example": "Alice" + } + } + }, + "attachCamera": "相机", + "@attachCamera": { + "description": "Button to take a photo to send" + }, + "attachGallery": "相册", + "@attachGallery": { + "description": "Button to choose images to send" + }, + "attachFile": "文件", + "@attachFile": { + "description": "Button to choose files to send" + }, + "attachLocation": "位置", + "@attachLocation": { + "description": "Button to send the current location" + }, + "linkAccount": "关联账户", + "@linkAccount": { + "description": "Action to use an account that runs on another device" + }, + "pairingLink": "配对链接", + "@pairingLink": { + "description": "Label of the field for another device's pairing link" + }, + "pairingLinkHelp": "粘贴运行该账户的设备上的配对链接。", + "@pairingLinkHelp": { + "description": "Explains where the pairing link comes from" + }, + "invalidPairingLink": "这不是配对链接", + "@invalidPairingLink": { + "description": "Error when the pasted text isn't a pairing link" + }, + "link": "关联", + "@link": { + "description": "Button that links an account" + }, + "linkedAccount": "已关联账户", + "@linkedAccount": { + "description": "Name of a linked account until its name has synced" + }, + "linkedAccountName": "{name}(已关联)", + "@linkedAccountName": { + "description": "A linked account where accounts are listed to choose from", + "placeholders": { + "name": { + "type": "String" + } + } + }, + "sendFailed": "无法发送消息", + "@sendFailed": { + "description": "Error when a message couldn't be saved for sending" + }, + "saveFailed": "无法保存", + "@saveFailed": { + "description": "Error when something the user did couldn't be saved" + }, + "importFailed": "无法导入此文件", + "@importFailed": { + "description": "Error when a profile or backup file couldn't be imported" + }, + "linkFailed": "无法关联账户", + "@linkFailed": { + "description": "Error when a linked account couldn't be added" + }, + "chats": "聊天", + "@chats": { + "description": "The tab of the main page listing chats" + }, + "calls": "通话", + "@calls": { + "description": "The tab of the main page listing calls" + }, + "voiceCall": "语音通话", + "@voiceCall": { + "description": "A call button's tooltip, and a call still going on in a chat" + }, + "videoCall": "视频通话", + "@videoCall": { + "description": "A video call button's tooltip, and a video call still going on in a chat" + }, + "outgoingVideoCall": "呼出视频通话", + "@outgoingVideoCall": { + "description": "A video call we made, in a chat" + }, + "incomingVideoCall": "视频来电", + "@incomingVideoCall": { + "description": "A video call the friend made, in a chat and while it rings" + }, + "missedVideoCall": "未接视频通话", + "@missedVideoCall": { + "description": "A video call that rang here and wasn't answered" + }, + "callCamera": "相机", + "@callCamera": { + "description": "The button that turns the camera on or off in a call" + }, + "flipCamera": "切换相机", + "@flipCamera": { + "description": "The button that switches between the front and back camera in a call" + }, + "cameraNeeded": "bTox 无法使用相机,通话将在没有视频的情况下继续", + "@cameraNeeded": { + "description": "Shown when bTox may not use the camera for a video call, which goes on without video" + }, + "outgoingCall": "呼出语音通话", + "@outgoingCall": { + "description": "A call we made, in a chat" + }, + "incomingCall": "语音来电", + "@incomingCall": { + "description": "A call the friend made, in a chat and while it rings" + }, + "missedCall": "未接语音通话", + "@missedCall": { + "description": "A call that rang here and wasn't answered" + }, + "callWithDuration": "{call} · {duration}", + "@callWithDuration": { + "description": "A call in a chat, with how long it was", + "placeholders": { + "call": { + "type": "String" + }, + "duration": { + "type": "String" + } + } + }, + "incomingCalls": "来电", + "@incomingCalls": { + "description": "The notification channel that rings" + }, + "missedCalls": "未接来电", + "@missedCalls": { + "description": "The notification channel for missed calls" + }, + "callOngoing": "通话中", + "@callOngoing": { + "description": "The notification while a call goes on" + }, + "calling": "正在呼叫…", + "@calling": { + "description": "Our call, while it rings at the friend's" + }, + "connecting": "正在连接…", + "@connecting": { + "description": "A call answered here, until it's connected" + }, + "answerCall": "接听", + "@answerCall": { + "description": "The button that answers a call" + }, + "declineCall": "拒绝", + "@declineCall": { + "description": "The button that declines a call" + }, + "hangUp": "挂断", + "@hangUp": { + "description": "The button that ends a call" + }, + "muteCall": "静音", + "@muteCall": { + "description": "The button that mutes the microphone in a call" + }, + "callSpeaker": "扬声器", + "@callSpeaker": { + "description": "The button that puts a call on the loudspeaker" + }, + "callEarpiece": "听筒", + "@callEarpiece": { + "description": "Where a call's audio can go: the phone's earpiece" + }, + "callWired": "耳机", + "@callWired": { + "description": "Where a call's audio can go: wired headphones" + }, + "callBluetooth": "蓝牙", + "@callBluetooth": { + "description": "Where a call's audio can go: a Bluetooth headset" + }, + "hideCall": "隐藏通话", + "@hideCall": { + "description": "The button that shows the chats during a call" + }, + "returnToCall": "返回通话", + "@returnToCall": { + "description": "The banner over the chats during a call" + }, + "microphoneNeeded": "通话需要使用麦克风", + "@microphoneNeeded": { + "description": "Shown when bTox may not use the microphone" + }, + "ringOverLockScreen": "来电无法在锁屏上响铃", + "@ringOverLockScreen": { + "description": "Shown on the Calls tab while Android doesn't let bTox show incoming calls full screen" + }, + "allowRingOverLockScreen": "允许", + "@allowRingOverLockScreen": { + "description": "The button that opens the setting letting calls ring full screen" + }, + "relayBotNames": "来自中继机器人的名称", + "@relayBotNames": { + "description": "The action, and its page, that shows the names a bot relays from another chat in a group chat" + }, + "stopRelayBotNames": "不再显示来自中继机器人的名称", + "@stopRelayBotNames": { + "description": "The action that shows a relay bot's messages as its own again" + }, + "showNames": "显示名称", + "@showNames": { + "description": "The button that starts showing the names a relay bot relays" + }, + "noCalls": "没有最近通话", + "@noCalls": { + "description": "Shown on the Calls tab when there are no calls" + }, + "callsNotAvailable": "通话需经过此账户关联的设备,该设备目前无法接通", + "@callsNotAvailable": { + "description": "Shown on the Calls tab of a linked account while its home device is offline, or doesn't connect calls to its devices" + }, + "notImplemented": "暂不可用", + "@notImplemented": { + "description": "Shown for a menu item that doesn't work yet" + }, + "openLinkFailed": "没有应用可以打开此链接", + "@openLinkFailed": { + "description": "Shown when tapping a link in a message opens nothing" + }, + "reply": "回复", + "@reply": { + "description": "Message menu item to reply to the message" + }, + "forward": "转发", + "@forward": { + "description": "Message menu item to forward the message" + }, + "chatDetails": "聊天详情", + "@chatDetails": { + "description": "The tooltip of a chat's title, which opens who the chat is with" + }, + "chatMembers": "{count, plural, other{{count} 位成员}}", + "@chatMembers": { + "description": "The heading of the people in a group or conference, counting yourself", + "placeholders": { + "count": { + "type": "int" + } + } + }, + "you": "你", + "@you": { + "description": "Yourself, among the people in a chat" + }, + "muteChat": "通知静音", + "@muteChat": { + "description": "The action, and its dialog, that stops a chat's notifications for a while" + }, + "unmuteChat": "取消通知静音", + "@unmuteChat": { + "description": "The action that lets a muted chat notify again" + }, + "muteForAnHour": "1 小时", + "@muteForAnHour": { + "description": "How long to mute a chat for" + }, + "muteForEightHours": "8 小时", + "@muteForEightHours": { + "description": "How long to mute a chat for" + }, + "muteForAWeek": "1 周", + "@muteForAWeek": { + "description": "How long to mute a chat for" + }, + "muteAlways": "始终", + "@muteAlways": { + "description": "Mutes a chat until it's unmuted" + }, + "notifyMentions": "仍通知提及我的消息", + "@notifyMentions": { + "description": "In the dialog muting a group chat: messages naming you still notify" + }, + "mutedUntil": "静音至 {time}", + "@mutedUntil": { + "description": "How long a chat stays muted", + "placeholders": { + "time": { + "type": "String", + "example": "Thu 17:00" + } + } + }, + "mutedAlways": "已静音", + "@mutedAlways": { + "description": "A chat muted until it's unmuted" + }, + "sendPicturesAsQoi": "以 QOI 格式发送图片", + "@sendPicturesAsQoi": { + "description": "A friend chat's setting: camera and gallery pictures sent as QOI" + }, + "sendPicturesAsQoiHint": "无损,但文件更大,且并非所有应用都能显示 QOI", + "@sendPicturesAsQoiHint": { + "description": "Under the setting to send pictures as QOI" + }, + "seenThrough": "经 {bot} 中继", + "@seenThrough": { + "description": "Heading of the names a relay bot has relayed in the chat's history, under the bot among the people in a chat, though they may not be there now", + "placeholders": { + "bot": { + "type": "String", + "example": "EPiG-BrDG" + } + } + }, + "showMoreSeen": "{count, plural, other{再显示 {count} 个}}", + "@showMoreSeen": { + "description": "Shows the names a relay bot relayed longer ago", + "placeholders": { + "count": { + "type": "int" + } + } + }, + "roleFounder": "创建者", + "@roleFounder": { + "description": "The role of whoever created a group" + }, + "roleModerator": "管理员", + "@roleModerator": { + "description": "The role of someone who can moderate a group" + }, + "roleObserver": "观察者", + "@roleObserver": { + "description": "The role of someone who can only read a group" + }, + "statusAway": "离开", + "@statusAway": { + "description": "Someone's status when they're away" + }, + "statusBusy": "忙碌", + "@statusBusy": { + "description": "Someone's status when they're busy" + }, + "membersWhileOnline": "账户的主设备在线时才会显示成员", + "@membersWhileOnline": { + "description": "In place of a linked account's chat members, while its home device can't say who they are" + }, + "publicKey": "公钥", + "@publicKey": { + "description": "The heading of a friend's public key, which Tox knows them by" + }, + "publicKeyCopied": "已复制公钥", + "@publicKeyCopied": { + "description": "The message shown after copying a friend's public key" + }, + "copy": "复制", + "@copy": { + "description": "Message menu item to copy the message's text" + }, + "select": "选择", + "@select": { + "description": "Message menu item to select messages" + }, + "forwardTo": "转发给", + "@forwardTo": { + "description": "The title of the page that picks a chat to forward messages to" + }, + "messagesForwarded": "{count, plural, =1{已转发消息} other{已转发 {count} 条消息}}", + "@messagesForwarded": { + "description": "The message shown after forwarding messages", + "placeholders": { + "count": { + "type": "int" + } + } + }, + "messageInfo": "消息详情", + "@messageInfo": { + "description": "The title of the page a message's Info opens" + }, + "messageSent": "已发送", + "@messageSent": { + "description": "On a message's details, when ours was sent" + }, + "messageSending": "正在发送", + "@messageSending": { + "description": "On a message's details, in place of messageSent while ours waits to go" + }, + "messageDelivered": "已送达", + "@messageDelivered": { + "description": "On a message's details, when ours arrived" + }, + "messageReceived": "已接收", + "@messageReceived": { + "description": "On a message's details, when someone else's came" + }, + "messageFrom": "发送者", + "@messageFrom": { + "description": "On a message's details, the heading of who sent someone else's" + }, + "messagesSelected": "已选择 {count} 条", + "@messagesSelected": { + "description": "The chat's title while messages are selected", + "placeholders": { + "count": { + "type": "int" + } + } + }, + "messagesCopied": "{count, plural, =1{已复制消息} other{已复制 {count} 条消息}}", + "@messagesCopied": { + "description": "The message shown after copying messages' text", + "placeholders": { + "count": { + "type": "int" + } + } + }, + "info": "详情", + "@info": { + "description": "Message menu item to show the message's details" + }, + "today": "今天", + "@today": { + "description": "Above the messages of today in a chat" + }, + "yesterday": "昨天", + "@yesterday": { + "description": "Above the messages of yesterday in a chat" + }, + "loadFailed": "出了点问题", + "@loadFailed": { + "description": "Shown in place of a page that couldn't be loaded" + }, + "locationMessage": "位置", + "@locationMessage": { + "description": "A shared location, as the chat list shows it" + }, + "emoji": "表情", + "@emoji": { + "description": "The button in the message box that opens the emoji picker" + }, + "send": "发送", + "@send": { + "description": "The button that sends what is written in the message box" + }, + "attach": "附件", + "@attach": { + "description": "The button in the message box that opens what can be attached" + }, + "cancelReply": "取消回复", + "@cancelReply": { + "description": "The button that stops replying to a message" + }, + "removeAttachment": "移除", + "@removeAttachment": { + "description": "The button on an attachment waiting to be sent that takes it away" + }, + "attachFailed": "无法添加附件", + "@attachFailed": { + "description": "Shown when a picture or file couldn't be picked or copied to send" + }, + "dayAndTime": "{day} {time}", + "@dayAndTime": { + "description": "A day and a time on it, as in 'muted until Fri 14:00'", + "placeholders": { + "day": { + "type": "String", + "example": "Fri" + }, + "time": { + "type": "String", + "example": "14:00" + } + } + }, + "draftLabel": "草稿:", + "@draftLabel": { + "description": "Before what is being written in a chat, as the chat list shows it" + }, + "messageV3": "TRIfA 消息 ID", + "@messageV3": { + "description": "Setting to read the ID TRIfA adds to its messages" + }, + "messageV3Hint": "隐藏 TRIfA 添加到消息中的 ID,并且它重发的消息只显示一次", + "@messageV3Hint": { + "description": "What reading TRIfA's message IDs does" + }, + "titleWithAccount": "bTox({name})", + "@titleWithAccount": { + "description": "The title of the chat list, with the account it shows", + "placeholders": { + "name": { + "type": "String", + "example": "Alice" + } + } + }, + "deleteChatToo": "同时永久删除与对方的消息和文件", + "@deleteChatToo": { + "description": "Option when deleting a contact to delete the chat with them too" + }, + "profileDeleteFailed": "无法删除个人资料“{name}”", + "@profileDeleteFailed": { + "description": "Error when a profile couldn't be deleted", + "placeholders": { + "name": { + "type": "String", + "example": "Alice" + } + } + }, + "mergeChat": "与其他聊天合并", + "@mergeChat": { + "description": "Action on a group chat to show it together with another that a bot relays messages between" + }, + "unmergeChat": "分开显示聊天", + "@unmergeChat": { + "description": "Action on merged chats to show them as separate chats again" + }, + "mergeChatTitle": "合并聊天", + "@mergeChatTitle": { + "description": "Title of the page that merges two chats" + }, + "mergeWith": "合并到", + "@mergeWith": { + "description": "Heading of the chats one can merge with" + }, + "relayBotIn": "{chat} 中的机器人", + "@relayBotIn": { + "description": "Heading of the members of a chat to pick the bot from that relays messages to the other chat", + "placeholders": { + "chat": { + "type": "String", + "example": "Tox" + } + } + }, + "relayedMessages": "{count} 条消息中有 {relayed} 条经中继", + "@relayedMessages": { + "description": "How many of a chat member's messages look like a bot relayed them", + "placeholders": { + "relayed": { + "type": "int" + }, + "count": { + "type": "int" + } + } + }, + "noChatsToMerge": "没有其他群聊", + "@noChatsToMerge": { + "description": "Shown when there are no chats to merge with" + }, + "merge": "合并", + "@merge": { + "description": "Button that merges the chats" + }, + "exported": "数据已导出", + "@exported": { + "description": "Shown when the backup was saved" + }, + "exportFailed": "无法导出数据", + "@exportFailed": { + "description": "Error when the backup couldn't be made or saved" + }, + "locationOff": "请开启定位以分享你的位置", + "@locationOff": { + "description": "Shown when sharing a location while location is off on the device" + }, + "locationDenied": "bTox 需要位置权限", + "@locationDenied": { + "description": "Shown when sharing a location without the permission" + }, + "locationFailed": "无法获取你的位置", + "@locationFailed": { + "description": "Error when the location couldn't be found" + }, + "openSettings": "设置", + "@openSettings": { + "description": "Button opening the device's settings to fix a problem" + }, + "ownToxIdError": "这是你自己的 Tox ID", + "@ownToxIdError": { + "description": "Error when adding your own Tox ID as a contact" + }, + "addContactFailed": "无法添加联系人", + "@addContactFailed": { + "description": "Error when a contact couldn't be saved" + }, + "chatClosed": "你无法再向此聊天发送消息", + "@chatClosed": { + "description": "Shown in place of the message input for a deleted contact or a group left" + }, + "friendRequest": "好友请求", + "@friendRequest": { + "description": "Title of the notification for a friend request" + }, + "inviteNotification": "聊天邀请", + "@inviteNotification": { + "description": "Title of the notification for an invite to a group or conference" + }, + "groupInvite": "{friend} 邀请你加入 {chat}", + "@groupInvite": { + "description": "An invite to a group, above the chats and in its notification", + "placeholders": { + "friend": { + "type": "String" + }, + "chat": { + "type": "String" + } + } + }, + "conferenceInvite": "{friend} 邀请你加入会议", + "@conferenceInvite": { + "description": "An invite to a conference, whose invite has no name, above the chats and in its notification", + "placeholders": { + "friend": { + "type": "String" + } + } + }, + "joinInvite": "加入", + "@joinInvite": { + "description": "The button that joins the chat of an invite" + }, + "declineInvite": "拒绝", + "@declineInvite": { + "description": "The button that declines an invite to a chat" + }, + "joiningInvite": "正在加入…", + "@joiningInvite": { + "description": "Under an invite answered to join, until the account's home device joined" + }, + "inviteNeedsPassword": "需要群组密码。请重新索取邀请。", + "@inviteNeedsPassword": { + "description": "Under an invite to a group that turned the account away for a missing or wrong password, which spent the invite" + }, + "inviteSpent": "无法加入。请重新索取邀请。", + "@inviteSpent": { + "description": "Under an invite whose chat turned the account away for another reason, which spent the invite" + }, + "inviteFailed": "无法加入", + "@inviteFailed": { + "description": "Under an invite whose chat the account's home device couldn't join, which can be tried again" + }, + "groupPasswordHelper": "如果群组没有密码,请留空", + "@groupPasswordHelper": { + "description": "Under the password field when joining a group from an invite" + }, + "retryInvite": "重试", + "@retryInvite": { + "description": "The button that tries joining the chat of an invite again" + }, + "chatInAccount": "{chat} · {account}", + "@chatInAccount": { + "description": "Title of a chat's notification while several accounts are signed in: the chat, then the account it's in", + "placeholders": { + "chat": { + "type": "String" + }, + "account": { + "type": "String" + } + } + }, + "newestMessages": "最新消息", + "@newestMessages": { + "description": "Tooltip of the button that scrolls a chat to its newest messages" + }, + "noChats": "还没有聊天", + "@noChats": { + "description": "Shown on the Chats tab when there are no chats" + }, + "noChatsHint": "点击 + 按钮添加联系人,开始聊天", + "@noChatsHint": { + "description": "How to start a first chat, under noChats" + } } diff --git a/lib/l10n/app_zh_Hans.arb b/lib/l10n/app_zh_Hans.arb index 0967ef42..b928d81d 100644 --- a/lib/l10n/app_zh_Hans.arb +++ b/lib/l10n/app_zh_Hans.arb @@ -1 +1,1068 @@ -{} +{ + "defaultContactName": "未知", + "@defaultContactName": { + "description": "The default name for a contact when the name is not yet known" + }, + "addContact": "添加联系人", + "@addContact": { + "description": "The text for the button to add a contact" + }, + "message": "消息", + "@message": { + "description": "The text for the message field" + }, + "messageInput": "Tox 消息", + "@messageInput": { + "description": "The placeholder text for the message input field" + }, + "re": "回复:{message}", + "@re": { + "description": "The prefix for a reply message", + "placeholders": { + "message": { + "type": "String", + "example": "Hello" + } + } + }, + "toxId": "Tox ID", + "@toxId": { + "description": "The text for the Tox ID field" + }, + "copyToxId": "复制 Tox ID", + "@copyToxId": { + "description": "The tooltip for copying your own Tox ID" + }, + "toxIdCopied": "已复制 Tox ID", + "@toxIdCopied": { + "description": "The message shown after copying your own Tox ID" + }, + "defaultAddContactMessage": "嗨,我是 {nick},来 bTox 上和我聊天吧!", + "@defaultAddContactMessage": { + "description": "The default message to send when adding a contact", + "placeholders": { + "nick": { + "type": "String", + "example": "Alice" + } + } + }, + "addContactMessageLengthError": "最多 {max} 个字符({length} 个太长了)", + "@addContactMessageLengthError": { + "description": "The error message when the friend request message is too long", + "placeholders": { + "max": { + "type": "int", + "example": "256" + }, + "length": { + "type": "int", + "example": "300" + } + } + }, + "add": "添加", + "@add": { + "description": "The text for the button to add a contact" + }, + "toxIdLengthError": "必须是 {length} 个十六进制字符", + "@toxIdLengthError": { + "description": "The error message when the Tox ID is not the right length or format", + "placeholders": { + "length": { + "type": "int", + "example": "76" + } + } + }, + "toxIdChecksumError": "不是有效的 Tox ID,请检查是否有输入错误", + "@toxIdChecksumError": { + "description": "The error message when the Tox ID's checksum doesn't match, e.g. because of a typo" + }, + "messageEmptyError": "消息不能为空", + "@messageEmptyError": { + "description": "The error message when the message is empty" + }, + "menuProfile": "个人资料", + "@menuProfile": { + "description": "The text for the profile menu item" + }, + "menuSettings": "设置", + "@menuSettings": { + "description": "The text for the settings menu item" + }, + "nickLengthError": "昵称必须为 1 到 {max} 个字符", + "@nickLengthError": { + "description": "The error message when the nickname is too short or too long", + "placeholders": { + "max": { + "type": "int", + "example": "32" + } + } + }, + "statusMessageLengthError": "状态消息不能超过 {max} 个字符", + "@statusMessageLengthError": { + "description": "The error message when the status message is longer than the supported maximum", + "placeholders": { + "max": { + "type": "int", + "example": "128" + } + } + }, + "profileTextFieldNick": "昵称", + "@profileTextFieldNick": { + "description": "The text for the nickname field" + }, + "profileTextFieldUserStatusMessage": "状态消息", + "@profileTextFieldUserStatusMessage": { + "description": "The text for the status message field" + }, + "applyChanges": "应用更改", + "@applyChanges": { + "description": "The text for the button to apply changes" + }, + "applied": "已应用", + "@applied": { + "description": "The text when changes have been applied" + }, + "newProfile": "新建个人资料", + "@newProfile": { + "description": "The title text for the create profile dialog" + }, + "create": "创建", + "@create": { + "description": "The text for the button create a new profile" + }, + "logout": "退出登录", + "@logout": { + "description": "The text for the logout menu item" + }, + "logoutMessage": "在你重新登录之前,{name} 将不再接收消息。", + "@logoutMessage": { + "description": "Asks whether to sign the current account out", + "placeholders": { + "name": { + "type": "String", + "example": "Alice" + } + } + }, + "deleteProfile": "删除个人资料", + "@deleteProfile": { + "description": "The text for the delete profile menu item" + }, + "deleteProfileMessage": "确定要删除你的个人资料“{name}”吗?此操作无法撤销,将删除你的所有联系人和消息。请确保你已备份。", + "@deleteProfileMessage": { + "description": "The message to confirm the deletion of a profile", + "placeholders": { + "name": { + "type": "String", + "example": "Alice" + } + } + }, + "cancel": "取消", + "@cancel": { + "description": "The text for the cancel button" + }, + "delete": "删除", + "@delete": { + "description": "The text for the delete button" + }, + "acceptFriendRequest": "接受好友请求", + "@acceptFriendRequest": { + "description": "The tooltip for accepting an incoming friend request" + }, + "rejectFriendRequest": "拒绝好友请求", + "@rejectFriendRequest": { + "description": "The tooltip for rejecting an incoming friend request" + }, + "online": "在线", + "@online": { + "description": "A contact's connection state, for screen readers" + }, + "offline": "离线", + "@offline": { + "description": "A contact's connection state, for screen readers" + }, + "deleteContact": "删除联系人", + "@deleteContact": { + "description": "The title of the dialog for deleting a contact" + }, + "deleteContactMessage": "要从联系人中删除“{name}”吗?", + "@deleteContactMessage": { + "description": "The message to confirm the deletion of a contact", + "placeholders": { + "name": { + "type": "String", + "example": "Alice" + } + } + }, + "contactDeleted": "已删除联系人“{name}”", + "@contactDeleted": { + "description": "The text when a contact has been deleted", + "placeholders": { + "name": { + "type": "String", + "example": "Alice" + } + } + }, + "import": "导入", + "@import": { + "description": "The button that confirms importing a profile" + }, + "password": "密码", + "@password": { + "description": "The label for a password: an encrypted profile's, or a group's" + }, + "wrongPassword": "密码错误", + "@wrongPassword": { + "description": "The error when an encrypted profile's password is wrong" + }, + "profileImported": "已导入个人资料“{name}”", + "@profileImported": { + "description": "The text when a profile has been imported", + "placeholders": { + "name": { + "type": "String", + "example": "Alice" + } + } + }, + "profileAlreadyImported": "此个人资料已在 bTox 中", + "@profileAlreadyImported": { + "description": "The error when importing a profile that bTox already has" + }, + "exportData": "导出数据", + "@exportData": { + "description": "Settings entry that saves all accounts and messages to a file" + }, + "exportDataHint": "所有账户和消息,使用密码加密", + "@exportDataHint": { + "description": "Explanation below the export data setting" + }, + "importData": "导入数据", + "@importData": { + "description": "The setting, button and dialog title for importing a bTox export or a .tox profile file" + }, + "importDataHint": "bTox 导出文件,或来自其他客户端的 Tox 个人资料", + "@importDataHint": { + "description": "Explanation below the import data setting" + }, + "export": "导出", + "@export": { + "description": "Button that exports data" + }, + "accountsRestored": "{count, plural, =0{备份中没有新账户} other{已恢复 {count} 个账户}}", + "@accountsRestored": { + "description": "Shown after importing accounts from a bTox backup", + "placeholders": { + "count": { + "type": "int" + } + } + }, + "notAToxProfile": "不是 Tox 个人资料", + "@notAToxProfile": { + "description": "The error when the chosen file isn't a Tox profile" + }, + "stayOnline": "关闭后保持在线", + "@stayOnline": { + "description": "The setting to keep running in the background after closing the app" + }, + "stayOnlineHint": "让所有已登录的账户保持在线", + "@stayOnlineHint": { + "description": "Explains that stay online applies to every signed-in account" + }, + "accounts": "账户", + "@accounts": { + "description": "The menu item for signing in and managing accounts" + }, + "appSettings": "应用", + "@appSettings": { + "description": "The heading of the settings for the whole app" + }, + "accountSettings": "账户:{name}", + "@accountSettings": { + "description": "The heading of the settings for one account", + "placeholders": { + "name": { + "type": "String", + "example": "Alice" + } + } + }, + "autoAcceptFiles": "自动接收文件的大小上限", + "@autoAcceptFiles": { + "description": "The setting for the largest incoming file accepted without asking" + }, + "never": "从不", + "@never": { + "description": "Auto-accepting no files at all" + }, + "acceptFile": "接收", + "@acceptFile": { + "description": "The button to receive an offered file" + }, + "declineFile": "拒绝", + "@declineFile": { + "description": "The button to refuse an offered file" + }, + "downloadFile": "下载", + "@downloadFile": { + "description": "The button to fetch a file the account's home device holds" + }, + "fileCancelled": "已取消", + "@fileCancelled": { + "description": "A file transfer that was declined or stopped" + }, + "filePaused": "已暂停,等待对方重新上线", + "@filePaused": { + "description": "An incoming file that stopped part way, which goes on when the sender sends it again" + }, + "udpEnabled": "使用 UDP", + "@udpEnabled": { + "description": "The setting for Tox's UDP transport" + }, + "udpEnabledHint": "关闭后仅通过 TCP 中继连接", + "@udpEnabledHint": { + "description": "Explains turning off UDP" + }, + "ipv6Enabled": "使用 IPv6", + "@ipv6Enabled": { + "description": "The setting for connecting over IPv6" + }, + "localDiscoveryEnabled": "本地发现", + "@localDiscoveryEnabled": { + "description": "The setting for finding friends on the local network" + }, + "localDiscoveryEnabledHint": "直接发现同一网络中的好友", + "@localDiscoveryEnabledHint": { + "description": "Explains local discovery" + }, + "offWithProxy": "使用代理时关闭,代理仅支持 TCP", + "@offWithProxy": { + "description": "Why UDP and local discovery are off when a proxy is set" + }, + "proxy": "代理", + "@proxy": { + "description": "The proxy setting and dialog title" + }, + "proxyNone": "无", + "@proxyNone": { + "description": "No proxy" + }, + "proxyHost": "主机", + "@proxyHost": { + "description": "The label for the proxy host field" + }, + "proxyPort": "端口", + "@proxyPort": { + "description": "The label for the proxy port field" + }, + "invalidProxyHost": "请输入主机", + "@invalidProxyHost": { + "description": "The error when the proxy host is empty" + }, + "invalidProxyPort": "请输入 1 到 65535 之间的端口", + "@invalidProxyPort": { + "description": "The error when the proxy port is out of range" + }, + "save": "保存", + "@save": { + "description": "The text for the save button" + }, + "profileDeleted": "已删除个人资料“{name}”", + "@profileDeleted": { + "description": "The text when a profile has been deleted", + "placeholders": { + "name": { + "type": "String", + "example": "Alice" + } + } + }, + "attachCamera": "相机", + "@attachCamera": { + "description": "Button to take a photo to send" + }, + "attachGallery": "相册", + "@attachGallery": { + "description": "Button to choose images to send" + }, + "attachFile": "文件", + "@attachFile": { + "description": "Button to choose files to send" + }, + "attachLocation": "位置", + "@attachLocation": { + "description": "Button to send the current location" + }, + "linkAccount": "关联账户", + "@linkAccount": { + "description": "Action to use an account that runs on another device" + }, + "pairingLink": "配对链接", + "@pairingLink": { + "description": "Label of the field for another device's pairing link" + }, + "pairingLinkHelp": "粘贴运行该账户的设备上的配对链接。", + "@pairingLinkHelp": { + "description": "Explains where the pairing link comes from" + }, + "invalidPairingLink": "这不是配对链接", + "@invalidPairingLink": { + "description": "Error when the pasted text isn't a pairing link" + }, + "link": "关联", + "@link": { + "description": "Button that links an account" + }, + "linkedAccount": "已关联账户", + "@linkedAccount": { + "description": "Name of a linked account until its name has synced" + }, + "linkedAccountName": "{name}(已关联)", + "@linkedAccountName": { + "description": "A linked account where accounts are listed to choose from", + "placeholders": { + "name": { + "type": "String" + } + } + }, + "sendFailed": "无法发送消息", + "@sendFailed": { + "description": "Error when a message couldn't be saved for sending" + }, + "saveFailed": "无法保存", + "@saveFailed": { + "description": "Error when something the user did couldn't be saved" + }, + "importFailed": "无法导入此文件", + "@importFailed": { + "description": "Error when a profile or backup file couldn't be imported" + }, + "linkFailed": "无法关联账户", + "@linkFailed": { + "description": "Error when a linked account couldn't be added" + }, + "chats": "聊天", + "@chats": { + "description": "The tab of the main page listing chats" + }, + "calls": "通话", + "@calls": { + "description": "The tab of the main page listing calls" + }, + "voiceCall": "语音通话", + "@voiceCall": { + "description": "A call button's tooltip, and a call still going on in a chat" + }, + "videoCall": "视频通话", + "@videoCall": { + "description": "A video call button's tooltip, and a video call still going on in a chat" + }, + "outgoingVideoCall": "呼出视频通话", + "@outgoingVideoCall": { + "description": "A video call we made, in a chat" + }, + "incomingVideoCall": "视频来电", + "@incomingVideoCall": { + "description": "A video call the friend made, in a chat and while it rings" + }, + "missedVideoCall": "未接视频通话", + "@missedVideoCall": { + "description": "A video call that rang here and wasn't answered" + }, + "callCamera": "相机", + "@callCamera": { + "description": "The button that turns the camera on or off in a call" + }, + "flipCamera": "切换相机", + "@flipCamera": { + "description": "The button that switches between the front and back camera in a call" + }, + "cameraNeeded": "bTox 无法使用相机,通话将在没有视频的情况下继续", + "@cameraNeeded": { + "description": "Shown when bTox may not use the camera for a video call, which goes on without video" + }, + "outgoingCall": "呼出语音通话", + "@outgoingCall": { + "description": "A call we made, in a chat" + }, + "incomingCall": "语音来电", + "@incomingCall": { + "description": "A call the friend made, in a chat and while it rings" + }, + "missedCall": "未接语音通话", + "@missedCall": { + "description": "A call that rang here and wasn't answered" + }, + "callWithDuration": "{call} · {duration}", + "@callWithDuration": { + "description": "A call in a chat, with how long it was", + "placeholders": { + "call": { + "type": "String" + }, + "duration": { + "type": "String" + } + } + }, + "incomingCalls": "来电", + "@incomingCalls": { + "description": "The notification channel that rings" + }, + "missedCalls": "未接来电", + "@missedCalls": { + "description": "The notification channel for missed calls" + }, + "callOngoing": "通话中", + "@callOngoing": { + "description": "The notification while a call goes on" + }, + "calling": "正在呼叫…", + "@calling": { + "description": "Our call, while it rings at the friend's" + }, + "connecting": "正在连接…", + "@connecting": { + "description": "A call answered here, until it's connected" + }, + "answerCall": "接听", + "@answerCall": { + "description": "The button that answers a call" + }, + "declineCall": "拒绝", + "@declineCall": { + "description": "The button that declines a call" + }, + "hangUp": "挂断", + "@hangUp": { + "description": "The button that ends a call" + }, + "muteCall": "静音", + "@muteCall": { + "description": "The button that mutes the microphone in a call" + }, + "callSpeaker": "扬声器", + "@callSpeaker": { + "description": "The button that puts a call on the loudspeaker" + }, + "callEarpiece": "听筒", + "@callEarpiece": { + "description": "Where a call's audio can go: the phone's earpiece" + }, + "callWired": "耳机", + "@callWired": { + "description": "Where a call's audio can go: wired headphones" + }, + "callBluetooth": "蓝牙", + "@callBluetooth": { + "description": "Where a call's audio can go: a Bluetooth headset" + }, + "hideCall": "隐藏通话", + "@hideCall": { + "description": "The button that shows the chats during a call" + }, + "returnToCall": "返回通话", + "@returnToCall": { + "description": "The banner over the chats during a call" + }, + "microphoneNeeded": "通话需要使用麦克风", + "@microphoneNeeded": { + "description": "Shown when bTox may not use the microphone" + }, + "ringOverLockScreen": "来电无法在锁屏上响铃", + "@ringOverLockScreen": { + "description": "Shown on the Calls tab while Android doesn't let bTox show incoming calls full screen" + }, + "allowRingOverLockScreen": "允许", + "@allowRingOverLockScreen": { + "description": "The button that opens the setting letting calls ring full screen" + }, + "relayBotNames": "来自中继机器人的名称", + "@relayBotNames": { + "description": "The action, and its page, that shows the names a bot relays from another chat in a group chat" + }, + "stopRelayBotNames": "不再显示来自中继机器人的名称", + "@stopRelayBotNames": { + "description": "The action that shows a relay bot's messages as its own again" + }, + "showNames": "显示名称", + "@showNames": { + "description": "The button that starts showing the names a relay bot relays" + }, + "noCalls": "没有最近通话", + "@noCalls": { + "description": "Shown on the Calls tab when there are no calls" + }, + "callsNotAvailable": "通话需经过此账户关联的设备,该设备目前无法接通", + "@callsNotAvailable": { + "description": "Shown on the Calls tab of a linked account while its home device is offline, or doesn't connect calls to its devices" + }, + "notImplemented": "暂不可用", + "@notImplemented": { + "description": "Shown for a menu item that doesn't work yet" + }, + "openLinkFailed": "没有应用可以打开此链接", + "@openLinkFailed": { + "description": "Shown when tapping a link in a message opens nothing" + }, + "reply": "回复", + "@reply": { + "description": "Message menu item to reply to the message" + }, + "forward": "转发", + "@forward": { + "description": "Message menu item to forward the message" + }, + "chatDetails": "聊天详情", + "@chatDetails": { + "description": "The tooltip of a chat's title, which opens who the chat is with" + }, + "chatMembers": "{count, plural, other{{count} 位成员}}", + "@chatMembers": { + "description": "The heading of the people in a group or conference, counting yourself", + "placeholders": { + "count": { + "type": "int" + } + } + }, + "you": "你", + "@you": { + "description": "Yourself, among the people in a chat" + }, + "muteChat": "通知静音", + "@muteChat": { + "description": "The action, and its dialog, that stops a chat's notifications for a while" + }, + "unmuteChat": "取消通知静音", + "@unmuteChat": { + "description": "The action that lets a muted chat notify again" + }, + "muteForAnHour": "1 小时", + "@muteForAnHour": { + "description": "How long to mute a chat for" + }, + "muteForEightHours": "8 小时", + "@muteForEightHours": { + "description": "How long to mute a chat for" + }, + "muteForAWeek": "1 周", + "@muteForAWeek": { + "description": "How long to mute a chat for" + }, + "muteAlways": "始终", + "@muteAlways": { + "description": "Mutes a chat until it's unmuted" + }, + "notifyMentions": "仍通知提及我的消息", + "@notifyMentions": { + "description": "In the dialog muting a group chat: messages naming you still notify" + }, + "mutedUntil": "静音至 {time}", + "@mutedUntil": { + "description": "How long a chat stays muted", + "placeholders": { + "time": { + "type": "String", + "example": "Thu 17:00" + } + } + }, + "mutedAlways": "已静音", + "@mutedAlways": { + "description": "A chat muted until it's unmuted" + }, + "sendPicturesAsQoi": "以 QOI 格式发送图片", + "@sendPicturesAsQoi": { + "description": "A friend chat's setting: camera and gallery pictures sent as QOI" + }, + "sendPicturesAsQoiHint": "无损,但文件更大,且并非所有应用都能显示 QOI", + "@sendPicturesAsQoiHint": { + "description": "Under the setting to send pictures as QOI" + }, + "seenThrough": "经 {bot} 中继", + "@seenThrough": { + "description": "Heading of the names a relay bot has relayed in the chat's history, under the bot among the people in a chat, though they may not be there now", + "placeholders": { + "bot": { + "type": "String", + "example": "EPiG-BrDG" + } + } + }, + "showMoreSeen": "{count, plural, other{再显示 {count} 个}}", + "@showMoreSeen": { + "description": "Shows the names a relay bot relayed longer ago", + "placeholders": { + "count": { + "type": "int" + } + } + }, + "roleFounder": "创建者", + "@roleFounder": { + "description": "The role of whoever created a group" + }, + "roleModerator": "管理员", + "@roleModerator": { + "description": "The role of someone who can moderate a group" + }, + "roleObserver": "观察者", + "@roleObserver": { + "description": "The role of someone who can only read a group" + }, + "statusAway": "离开", + "@statusAway": { + "description": "Someone's status when they're away" + }, + "statusBusy": "忙碌", + "@statusBusy": { + "description": "Someone's status when they're busy" + }, + "membersWhileOnline": "账户的主设备在线时才会显示成员", + "@membersWhileOnline": { + "description": "In place of a linked account's chat members, while its home device can't say who they are" + }, + "publicKey": "公钥", + "@publicKey": { + "description": "The heading of a friend's public key, which Tox knows them by" + }, + "publicKeyCopied": "已复制公钥", + "@publicKeyCopied": { + "description": "The message shown after copying a friend's public key" + }, + "copy": "复制", + "@copy": { + "description": "Message menu item to copy the message's text" + }, + "select": "选择", + "@select": { + "description": "Message menu item to select messages" + }, + "forwardTo": "转发给", + "@forwardTo": { + "description": "The title of the page that picks a chat to forward messages to" + }, + "messagesForwarded": "{count, plural, =1{已转发消息} other{已转发 {count} 条消息}}", + "@messagesForwarded": { + "description": "The message shown after forwarding messages", + "placeholders": { + "count": { + "type": "int" + } + } + }, + "messageInfo": "消息详情", + "@messageInfo": { + "description": "The title of the page a message's Info opens" + }, + "messageSent": "已发送", + "@messageSent": { + "description": "On a message's details, when ours was sent" + }, + "messageSending": "正在发送", + "@messageSending": { + "description": "On a message's details, in place of messageSent while ours waits to go" + }, + "messageDelivered": "已送达", + "@messageDelivered": { + "description": "On a message's details, when ours arrived" + }, + "messageReceived": "已接收", + "@messageReceived": { + "description": "On a message's details, when someone else's came" + }, + "messageFrom": "发送者", + "@messageFrom": { + "description": "On a message's details, the heading of who sent someone else's" + }, + "messagesSelected": "已选择 {count} 条", + "@messagesSelected": { + "description": "The chat's title while messages are selected", + "placeholders": { + "count": { + "type": "int" + } + } + }, + "messagesCopied": "{count, plural, =1{已复制消息} other{已复制 {count} 条消息}}", + "@messagesCopied": { + "description": "The message shown after copying messages' text", + "placeholders": { + "count": { + "type": "int" + } + } + }, + "info": "详情", + "@info": { + "description": "Message menu item to show the message's details" + }, + "today": "今天", + "@today": { + "description": "Above the messages of today in a chat" + }, + "yesterday": "昨天", + "@yesterday": { + "description": "Above the messages of yesterday in a chat" + }, + "loadFailed": "出了点问题", + "@loadFailed": { + "description": "Shown in place of a page that couldn't be loaded" + }, + "locationMessage": "位置", + "@locationMessage": { + "description": "A shared location, as the chat list shows it" + }, + "emoji": "表情", + "@emoji": { + "description": "The button in the message box that opens the emoji picker" + }, + "send": "发送", + "@send": { + "description": "The button that sends what is written in the message box" + }, + "attach": "附件", + "@attach": { + "description": "The button in the message box that opens what can be attached" + }, + "cancelReply": "取消回复", + "@cancelReply": { + "description": "The button that stops replying to a message" + }, + "removeAttachment": "移除", + "@removeAttachment": { + "description": "The button on an attachment waiting to be sent that takes it away" + }, + "attachFailed": "无法添加附件", + "@attachFailed": { + "description": "Shown when a picture or file couldn't be picked or copied to send" + }, + "dayAndTime": "{day} {time}", + "@dayAndTime": { + "description": "A day and a time on it, as in 'muted until Fri 14:00'", + "placeholders": { + "day": { + "type": "String", + "example": "Fri" + }, + "time": { + "type": "String", + "example": "14:00" + } + } + }, + "draftLabel": "草稿:", + "@draftLabel": { + "description": "Before what is being written in a chat, as the chat list shows it" + }, + "messageV3": "TRIfA 消息 ID", + "@messageV3": { + "description": "Setting to read the ID TRIfA adds to its messages" + }, + "messageV3Hint": "隐藏 TRIfA 添加到消息中的 ID,并且它重发的消息只显示一次", + "@messageV3Hint": { + "description": "What reading TRIfA's message IDs does" + }, + "titleWithAccount": "bTox({name})", + "@titleWithAccount": { + "description": "The title of the chat list, with the account it shows", + "placeholders": { + "name": { + "type": "String", + "example": "Alice" + } + } + }, + "deleteChatToo": "同时永久删除与对方的消息和文件", + "@deleteChatToo": { + "description": "Option when deleting a contact to delete the chat with them too" + }, + "profileDeleteFailed": "无法删除个人资料“{name}”", + "@profileDeleteFailed": { + "description": "Error when a profile couldn't be deleted", + "placeholders": { + "name": { + "type": "String", + "example": "Alice" + } + } + }, + "mergeChat": "与其他聊天合并", + "@mergeChat": { + "description": "Action on a group chat to show it together with another that a bot relays messages between" + }, + "unmergeChat": "分开显示聊天", + "@unmergeChat": { + "description": "Action on merged chats to show them as separate chats again" + }, + "mergeChatTitle": "合并聊天", + "@mergeChatTitle": { + "description": "Title of the page that merges two chats" + }, + "mergeWith": "合并到", + "@mergeWith": { + "description": "Heading of the chats one can merge with" + }, + "relayBotIn": "{chat} 中的机器人", + "@relayBotIn": { + "description": "Heading of the members of a chat to pick the bot from that relays messages to the other chat", + "placeholders": { + "chat": { + "type": "String", + "example": "Tox" + } + } + }, + "relayedMessages": "{count} 条消息中有 {relayed} 条经中继", + "@relayedMessages": { + "description": "How many of a chat member's messages look like a bot relayed them", + "placeholders": { + "relayed": { + "type": "int" + }, + "count": { + "type": "int" + } + } + }, + "noChatsToMerge": "没有其他群聊", + "@noChatsToMerge": { + "description": "Shown when there are no chats to merge with" + }, + "merge": "合并", + "@merge": { + "description": "Button that merges the chats" + }, + "exported": "数据已导出", + "@exported": { + "description": "Shown when the backup was saved" + }, + "exportFailed": "无法导出数据", + "@exportFailed": { + "description": "Error when the backup couldn't be made or saved" + }, + "locationOff": "请开启定位以分享你的位置", + "@locationOff": { + "description": "Shown when sharing a location while location is off on the device" + }, + "locationDenied": "bTox 需要位置权限", + "@locationDenied": { + "description": "Shown when sharing a location without the permission" + }, + "locationFailed": "无法获取你的位置", + "@locationFailed": { + "description": "Error when the location couldn't be found" + }, + "openSettings": "设置", + "@openSettings": { + "description": "Button opening the device's settings to fix a problem" + }, + "ownToxIdError": "这是你自己的 Tox ID", + "@ownToxIdError": { + "description": "Error when adding your own Tox ID as a contact" + }, + "addContactFailed": "无法添加联系人", + "@addContactFailed": { + "description": "Error when a contact couldn't be saved" + }, + "chatClosed": "你无法再向此聊天发送消息", + "@chatClosed": { + "description": "Shown in place of the message input for a deleted contact or a group left" + }, + "friendRequest": "好友请求", + "@friendRequest": { + "description": "Title of the notification for a friend request" + }, + "inviteNotification": "聊天邀请", + "@inviteNotification": { + "description": "Title of the notification for an invite to a group or conference" + }, + "groupInvite": "{friend} 邀请你加入 {chat}", + "@groupInvite": { + "description": "An invite to a group, above the chats and in its notification", + "placeholders": { + "friend": { + "type": "String" + }, + "chat": { + "type": "String" + } + } + }, + "conferenceInvite": "{friend} 邀请你加入会议", + "@conferenceInvite": { + "description": "An invite to a conference, whose invite has no name, above the chats and in its notification", + "placeholders": { + "friend": { + "type": "String" + } + } + }, + "joinInvite": "加入", + "@joinInvite": { + "description": "The button that joins the chat of an invite" + }, + "declineInvite": "拒绝", + "@declineInvite": { + "description": "The button that declines an invite to a chat" + }, + "joiningInvite": "正在加入…", + "@joiningInvite": { + "description": "Under an invite answered to join, until the account's home device joined" + }, + "inviteNeedsPassword": "需要群组密码。请重新索取邀请。", + "@inviteNeedsPassword": { + "description": "Under an invite to a group that turned the account away for a missing or wrong password, which spent the invite" + }, + "inviteSpent": "无法加入。请重新索取邀请。", + "@inviteSpent": { + "description": "Under an invite whose chat turned the account away for another reason, which spent the invite" + }, + "inviteFailed": "无法加入", + "@inviteFailed": { + "description": "Under an invite whose chat the account's home device couldn't join, which can be tried again" + }, + "groupPasswordHelper": "如果群组没有密码,请留空", + "@groupPasswordHelper": { + "description": "Under the password field when joining a group from an invite" + }, + "retryInvite": "重试", + "@retryInvite": { + "description": "The button that tries joining the chat of an invite again" + }, + "chatInAccount": "{chat} · {account}", + "@chatInAccount": { + "description": "Title of a chat's notification while several accounts are signed in: the chat, then the account it's in", + "placeholders": { + "chat": { + "type": "String" + }, + "account": { + "type": "String" + } + } + }, + "newestMessages": "最新消息", + "@newestMessages": { + "description": "Tooltip of the button that scrolls a chat to its newest messages" + }, + "noChats": "还没有聊天", + "@noChats": { + "description": "Shown on the Chats tab when there are no chats" + }, + "noChatsHint": "点击 + 按钮添加联系人,开始聊天", + "@noChatsHint": { + "description": "How to start a first chat, under noChats" + } +}