mirror of
https://github.com/ArcaneChat/android.git
synced 2026-07-03 14:05:24 +02:00
Compare commits
275 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 314ecf1639 | |||
| df6ac480c6 | |||
| 8974a62a0c | |||
| d2c8e2e63a | |||
| 11600184be | |||
| ee78397614 | |||
| b33311b9fb | |||
| b90f6e296a | |||
| 5789390451 | |||
| 1a84cd05a5 | |||
| 3578a9bef1 | |||
| 52280bf744 | |||
| 26645da56d | |||
| 828ff3d8ca | |||
| 7954e94d45 | |||
| c1e47f4a9c | |||
| d3193221f6 | |||
| e7b4accea0 | |||
| 67baedc0dc | |||
| 74c02932c3 | |||
| 2968d033f2 | |||
| 43d48fa510 | |||
| 337f353220 | |||
| 218295c4f3 | |||
| bf86d4f1b7 | |||
| d383bcc451 | |||
| 2e1a40b606 | |||
| 10c538ac8e | |||
| 35852604ea | |||
| 0c8ecaf8df | |||
| cbe70a93db | |||
| 7768ef3ff9 | |||
| d337230a4b | |||
| de76377f3b | |||
| f223b22ff8 | |||
| 9850e6fff7 | |||
| 6ab94814ca | |||
| e0db504b18 | |||
| fe44eec6c8 | |||
| 7bc595a889 | |||
| 5133461eb7 | |||
| b4b12862fd | |||
| 1340166a91 | |||
| 1663502d35 | |||
| 9a67f5b32a | |||
| 773913409f | |||
| e6988e3f61 | |||
| 0047259457 | |||
| 3e9c977b3f | |||
| 3a49e30d93 | |||
| 11addb6522 | |||
| 6353bb94f4 | |||
| 5df2ba4325 | |||
| 2f79310db6 | |||
| 129278443d | |||
| 0e27692c32 | |||
| 92be6947db | |||
| 884ba32ce9 | |||
| fe2ac243c7 | |||
| 4b978c0124 | |||
| 8bf799ec2a | |||
| f92225528c | |||
| 796b723be7 | |||
| 544ab41aa4 | |||
| cca9dfb04a | |||
| faa94acbcb | |||
| e7517c23ad | |||
| 370afbf2ce | |||
| bcee64317d | |||
| 6fe4d57b48 | |||
| 906db9155a | |||
| 9b7b35acb1 | |||
| 5d25ed7715 | |||
| 5691ab9e84 | |||
| 64aa0fb49c | |||
| d3fe672ec0 | |||
| 4e199c0080 | |||
| 8fd8927293 | |||
| 320f0ba27d | |||
| c7d903f64a | |||
| f394b22e45 | |||
| e7ced91670 | |||
| 35836ad18f | |||
| 2e99f6ee93 | |||
| 5c551cb2a8 | |||
| 6490a641da | |||
| 06164d240d | |||
| b729e93b8a | |||
| d7345f75e2 | |||
| 695e1e06dd | |||
| ccedf31b96 | |||
| 31f89cec02 | |||
| 42561266ba | |||
| 17a182625d | |||
| 625d0ed66c | |||
| f7f1f29531 | |||
| 134fbc7188 | |||
| 5d26387aa3 | |||
| 4a3070bb54 | |||
| 8377f23c58 | |||
| ec4c96dd92 | |||
| 7a44182c3f | |||
| 5e88059283 | |||
| 96e635f0bd | |||
| 8aa7dfabe6 | |||
| cd344daf5a | |||
| 4658adc2cd | |||
| 62ad0e942f | |||
| 7e0fc59687 | |||
| 4ec02a59de | |||
| bcad4a7302 | |||
| 55eab9dd0b | |||
| 6f6cd80516 | |||
| c88a1b53b0 | |||
| 669d8f4cba | |||
| c083195acf | |||
| 7c6d47bfae | |||
| ef4f79b4a3 | |||
| 491bbfade0 | |||
| dce7d56fb2 | |||
| 1787d8665c | |||
| 2134f97956 | |||
| bf138aa2e7 | |||
| cbd4e2b520 | |||
| 713623c11d | |||
| 66339d77bf | |||
| 8b5b2d2f95 | |||
| 19c158d1c4 | |||
| be6f30da24 | |||
| c38c5a5d36 | |||
| 9d9630041e | |||
| ff0e004e20 | |||
| a8f17d618b | |||
| ca8767e0b0 | |||
| 04d8437b89 | |||
| f08d5a64b0 | |||
| d467285036 | |||
| 205a7fd10e | |||
| ddd4cacd1d | |||
| 4ca4d81345 | |||
| ba34971d2b | |||
| deed7a569c | |||
| 24d1ca9015 | |||
| e6325578ca | |||
| 669a1a769d | |||
| ab7b2f4b1b | |||
| 07b55b739e | |||
| 084707eb67 | |||
| 00d411dd5a | |||
| 1816a50dee | |||
| 6c6c04ba53 | |||
| 145432a57d | |||
| 20acd38ab4 | |||
| bf7095d0ee | |||
| a6b168f4eb | |||
| 883536a3a5 | |||
| 3013af2a7a | |||
| 7b52bb6c85 | |||
| 1439bc0a86 | |||
| 9a5415eb66 | |||
| 5da3748a6a | |||
| 2308feea8c | |||
| a3b0ee1ef9 | |||
| 4fa5f1f5c6 | |||
| f4701b92e2 | |||
| 6649165b56 | |||
| 1c9b5977a8 | |||
| 49471999b9 | |||
| 86a8fbf463 | |||
| 238ec5b299 | |||
| 4c810c2b50 | |||
| f4d5547da7 | |||
| 52850c25b0 | |||
| 5117e103bb | |||
| 056f9bd4fb | |||
| 877989b5c1 | |||
| eef8609a66 | |||
| b43685bcdf | |||
| 794062b9ed | |||
| 876721fae5 | |||
| 0fdac57c68 | |||
| b3375f4f19 | |||
| b607ca21ff | |||
| d6efa3c7e5 | |||
| e461e2f7f1 | |||
| 684f8834fa | |||
| b440a31820 | |||
| 568a3f383f | |||
| 6c212a5d3d | |||
| b6e43a6994 | |||
| d1f85e6dc4 | |||
| 74ef8dc1c6 | |||
| 1da2d35af4 | |||
| bb3f4a2e06 | |||
| 8e4c5d6b63 | |||
| 1b46edaddf | |||
| aa0c72356f | |||
| ee8fd429f4 | |||
| bc022f5196 | |||
| d4dcdcf3bd | |||
| 74b2369ca9 | |||
| 9eafdbd817 | |||
| 0a21d1d1b4 | |||
| b0cb6c73ba | |||
| b6367416e5 | |||
| 0b582dd287 | |||
| d5cf919bcb | |||
| 490f1efe36 | |||
| c125d4fa24 | |||
| 389098699a | |||
| df696e5fab | |||
| e8801d1b64 | |||
| 8bfc44c8ca | |||
| 36e963e717 | |||
| 9e8fcf8ed7 | |||
| 6412d25420 | |||
| a470366f03 | |||
| 1434ce6f57 | |||
| 654ba5b460 | |||
| e3835f70f7 | |||
| bbb803f91c | |||
| 6a4c73c821 | |||
| 853ce3c7a3 | |||
| d2ab4817b1 | |||
| 9ff1cafd5e | |||
| bf6b678e2b | |||
| 6c1f787a38 | |||
| b059741161 | |||
| fdd5cc5d4b | |||
| 77465b5802 | |||
| d17567029d | |||
| 4610a64732 | |||
| 0358e8ffcb | |||
| 406c263d82 | |||
| 6ed070e437 | |||
| 1e4cfa124e | |||
| c42ba0f599 | |||
| 8798275170 | |||
| ac6495ff20 | |||
| 8ae47e97cf | |||
| 6a1ff0bace | |||
| 047cd9a121 | |||
| 555547b6cc | |||
| 5fe355fe90 | |||
| 6af3b0d985 | |||
| 92d6147644 | |||
| 72fb9992a1 | |||
| e8413019ff | |||
| 289118e671 | |||
| 286a84b1d4 | |||
| 8c8c003f2b | |||
| a06e36993d | |||
| ce054d93a8 | |||
| cabc159cd8 | |||
| c78cbbe145 | |||
| a297c71a90 | |||
| 247de63362 | |||
| 20f7c7c616 | |||
| 6364903a28 | |||
| 48bb77cfae | |||
| 53bfe52797 | |||
| a8bc01e6c1 | |||
| 3fbccf3408 | |||
| 86656f1155 | |||
| 89473b8067 | |||
| 887f5881f0 | |||
| aee757e71c | |||
| 30d5eeeb45 | |||
| d2c2f2cf07 | |||
| f83d5a0dbb | |||
| c30ddf9c77 | |||
| e14b878aef | |||
| 9e3ebda12a | |||
| 4bb42b9995 | |||
| 59b158fe09 |
@@ -0,0 +1,22 @@
|
||||
version: 2
|
||||
mergeable:
|
||||
- when: pull_request.*
|
||||
name: "Changelog check"
|
||||
validate:
|
||||
- do: or
|
||||
validate:
|
||||
- do: description
|
||||
must_include:
|
||||
regex: '#skip-changelog'
|
||||
- do: and
|
||||
validate:
|
||||
- do: dependent
|
||||
changed:
|
||||
file: '**/*.java'
|
||||
required: ['CHANGELOG.md']
|
||||
fail:
|
||||
- do: checks
|
||||
status: 'action_required'
|
||||
payload:
|
||||
title: CHANGELOG.md might need an update
|
||||
summary: "Please update CHANGELOG.md or add #skip-changelog to the description"
|
||||
@@ -64,7 +64,7 @@ jobs:
|
||||
uses: softprops/action-gh-release@v1
|
||||
with:
|
||||
token: "${{ secrets.GITHUB_TOKEN }}"
|
||||
body: '[<img src="store/get-it-on-gplay.png" alt="Get it on Google Play" height="48">](https://play.google.com/store/apps/details?id=com.github.arcanechat) [<img src="store/get-it-on-fdroid.png" alt="Get it on F-Droid" height="48">](https://f-droid.org/packages/chat.delta.lite) [<img src="store/get-it-on-IzzyOnDroid.png" alt="Get it on IzzyOnDroid" height="48">](https://apt.izzysoft.de/fdroid/index/apk/chat.delta.lite) [<img src="store/get-it-on-github.png" alt="Get it on GitHub" height="48">](https://github.com/ArcaneChat/android/releases/latest/download/ArcaneChat-gplay.apk)'
|
||||
body: '[<img src="store/get-it-on-gplay.png" alt="Get it on Google Play" height="48">](https://play.google.com/store/apps/details?id=com.github.arcanechat) [<img src="store/get-it-on-fdroid.png" alt="Get it on F-Droid" height="48">](https://f-droid.org/packages/chat.delta.lite) [<img src="store/get-it-on-github.png" alt="Get it on GitHub" height="48">](https://github.com/ArcaneChat/android/releases/latest/download/ArcaneChat-gplay.apk)'
|
||||
prerelease: ${{ contains(github.event.ref, '-beta') }}
|
||||
fail_on_unmatched_files: true
|
||||
files: build/outputs/apk/foss/release/*.apk
|
||||
|
||||
@@ -1,13 +1,39 @@
|
||||
# ArcaneChat Android Changelog
|
||||
# Delta Chat Android Changelog
|
||||
|
||||
## v1.54.2
|
||||
2025-02
|
||||
## v1.56.0
|
||||
2025-03
|
||||
|
||||
* allow to edit messages
|
||||
* allow to delete messages for everyone
|
||||
* add mute option "8 hours"
|
||||
* add menu option to easily save/unsave selected message
|
||||
* improve deletion confirmation for "Device Messages"
|
||||
* remove dangerous encryption options
|
||||
* always paste as plain text in message draft area
|
||||
* some small bug fixes and updated translations
|
||||
* update to core 1.157.2
|
||||
|
||||
## v1.54.4
|
||||
2025-03
|
||||
|
||||
* allow better avatar (profile picture) quality
|
||||
* remove notifications from chat that was deleted from other device
|
||||
* when a chat is deleted, also delete its messages from server
|
||||
* avoid freezing when opening the app for the first time after install
|
||||
* avoid crash when adding chat shortcut to home screen
|
||||
* some small bug fixes and updated translations
|
||||
* update to core 1.156.3
|
||||
|
||||
## v1.54.3
|
||||
2025-03
|
||||
|
||||
* allow to add any chat to the home screen
|
||||
* update "forward message" icon and organize the messages actions bar
|
||||
* do not allow non-members to change ephemeral timer settings of groups
|
||||
* properly display padlock when the message is not sent over the network
|
||||
* sync message deletion to other devices
|
||||
* sync chat deletion across devices
|
||||
* Show sender in "Saved Messages"
|
||||
* allow scanning multiple QR-invitation codes without needing to wait for completion to scan the next one
|
||||
* when reactions are seen in one device, remove notification from your other devices
|
||||
* don't disturb with notification when someone leave a group
|
||||
@@ -16,7 +42,7 @@
|
||||
* prepare the app for receiving message deletion requests
|
||||
* do some small bug fixes
|
||||
* update translations
|
||||
* update to core 1.156.1
|
||||
* update to core 1.156.2
|
||||
|
||||
## v1.54.0
|
||||
2025-02
|
||||
@@ -4,7 +4,6 @@ A [Delta Chat](https://delta.chat/) client for Android. Learn more at: https://a
|
||||
|
||||
[<img src="store/get-it-on-gplay.png" alt="Get it on Google Play" height="48">](https://play.google.com/store/apps/details?id=com.github.arcanechat)
|
||||
[<img src="store/get-it-on-fdroid.png" alt="Get it on F-Droid" height="48">](https://f-droid.org/packages/chat.delta.lite)
|
||||
[<img src="store/get-it-on-IzzyOnDroid.png" alt="Get it on IzzyOnDroid" height="48">](https://apt.izzysoft.de/fdroid/index/apk/chat.delta.lite)
|
||||
[<img src="store/get-it-on-github.png" alt="Get it on GitHub" height="48">](https://github.com/ArcaneChat/android/releases/latest/download/ArcaneChat-gplay.apk)
|
||||
|
||||
|
||||
|
||||
+1
-1
@@ -25,7 +25,7 @@ the "update-core-and-stuff-DATE" PR can be merged without review
|
||||
the following steps are done in a PR called `prep-VERSION` (no leading "v"):
|
||||
|
||||
3. a) update `CHANGELOG.md`
|
||||
from <https://github.com/deltachat/deltachat-core-rust/blob/main/CHANGELOG.md>
|
||||
from <https://github.com/chatmail/core/blob/main/CHANGELOG.md>
|
||||
and <https://github.com/deltachat/deltachat-android/pulls?q=is%3Apr+is%3Aclosed+sort%3Aupdated-desc>.
|
||||
do not just copy and avoid technical terms.
|
||||
the changelog is for the end user and shall show impacts form that angle.
|
||||
|
||||
+2
-2
@@ -33,8 +33,8 @@ android {
|
||||
useLibrary 'org.apache.http.legacy'
|
||||
|
||||
defaultConfig {
|
||||
versionCode 30000713
|
||||
versionName "1.54.3"
|
||||
versionCode 30000716
|
||||
versionName "1.56.0"
|
||||
|
||||
applicationId "chat.delta.lite"
|
||||
multiDexEnabled true
|
||||
|
||||
@@ -1,16 +1,16 @@
|
||||
ArcaneChat is a decentralized and secure messenger app that is compatible with the existing e-mail infrastructure.
|
||||
ArcaneChat is a decentralized and secure instant messenger that is easy to use for friends and family.
|
||||
|
||||
Some features at a glance:
|
||||
• Anonymous. Instant onboarding without a phone number, e-mail or other private data.
|
||||
|
||||
💬 Reliable instant messaging with multi-profile and multi-device support.
|
||||
• Flexible. Supports multiple chat profiles and is easy to setup on multiple devices.
|
||||
|
||||
⚡️ Sign-up easily using secure fast chatmail servers. You don’t need a phone number or any private data.
|
||||
• Extensible. Use mini-apps in chats like shopping lists, calendars or games.
|
||||
|
||||
📧 Alternatively, use your existing classic e-mail address to read your inbox as chats.
|
||||
• Reliable. Works under bad and adverserial network conditions.
|
||||
|
||||
🎮 Interactive mini-apps in chats for gaming and collaboration.
|
||||
• Secure. Audited End-to-End encryption safe against network and server attacks.
|
||||
|
||||
🔒 Audited end-to-end encryption safe against network and server attacks.
|
||||
• Sovereign. Can be run with your own e-mail address or server.
|
||||
|
||||
ArcaneChat is a Delta Chat client and was created with a focus on usability, good user experience, and saving data plan. Also the app usually experiments with new features that eventually might get added to the official Delta Chat client.
|
||||
|
||||
@@ -24,7 +24,7 @@ ArcaneChat is a Delta Chat client and was created with a focus on usability, goo
|
||||
<li>It is possible to disable profiles to completely disconnect them saving data/bandwidth</li>
|
||||
<li>You can easily see the connection status of all your profiles in the profile switcher</li>
|
||||
<li>A videochat instance is set by default</li>
|
||||
<li>Location streaming feature enabled by default and extra option to share location for 12 hours</li>
|
||||
<li>Extra option to share location for 12 hours</li>
|
||||
<li>Clicking on a message with a POI location, will open the POI on the map</li>
|
||||
<li>Last-seen status of contacts is shown in your contact list, like in WhatsApp, Telegram, etc.</li>
|
||||
<li>Videos are played in loop, useful for short GIF videos</li>
|
||||
|
||||
@@ -19,15 +19,18 @@
|
||||
cmdline-tools-latest
|
||||
platform-tools
|
||||
platforms-android-34
|
||||
ndk-27-0-11902837
|
||||
ndk-27-2-12479018
|
||||
]);
|
||||
rust-version = pkgs.lib.removeSuffix "\n"
|
||||
(builtins.readFile ./scripts/rust-toolchain);
|
||||
in {
|
||||
in
|
||||
{
|
||||
formatter = pkgs.nixpkgs-fmt;
|
||||
|
||||
devShells.default = pkgs.mkShell {
|
||||
ANDROID_SDK_ROOT = "${android-sdk}/share/android-sdk";
|
||||
ANDROID_NDK_ROOT =
|
||||
"${android-sdk}/share/android-sdk/ndk/27.0.11902837";
|
||||
"${android-sdk}/share/android-sdk/ndk/27.2.12479018";
|
||||
buildInputs = [
|
||||
android-sdk
|
||||
pkgs.openjdk17
|
||||
|
||||
+1
-1
Submodule jni/deltachat-core-rust updated: 6a03ae1341...ae0439885b
@@ -0,0 +1 @@
|
||||
Schreibe Nachrichten mit E-Mails. Retro, Offen. Privatsphäre im Design.
|
||||
@@ -0,0 +1,12 @@
|
||||
Delta Chat é um aplicativo de mensagens que é completamente compatível com a infraestrutura de email já existente.
|
||||
Assim, com o Delta Chat você tem a facilidade de muitos aplicativos de mensagens com o alcance de email. Além disso, você é independente de outras companhias e sercviços -- já que suas informações e dados não estão relacionadas com o Delta Chat, você não vai nem adicionar novas permissões aqui.
|
||||
Resumo de alguns recursos:
|
||||
* Seguro com criptografia de ponta a ponta, com suporte ao novo padrão <a href="https://autocrypt.org">Autocrypt</a>
|
||||
* Rápido usando Push-IMAP
|
||||
* Maior base de usuários -- destinatários que não estiverem usando Delta Chat podem ser alcançados também
|
||||
* Compatívle -- não apenas consigo mesmo
|
||||
* Interface de usuário elegante e simples
|
||||
* Sistema distribuído
|
||||
* Sem spam -- apenas mensages de usuários conhecidos são mostradas por padrão
|
||||
* Confiável -- pode até ser usado para mensagens comerciais
|
||||
* Completamente OpenSource e baseado em padrões
|
||||
@@ -17,6 +17,7 @@ public class DcContext {
|
||||
public final static int DC_EVENT_MSG_READ = 2015;
|
||||
public final static int DC_EVENT_CHAT_MODIFIED = 2020;
|
||||
public final static int DC_EVENT_CHAT_EPHEMERAL_TIMER_MODIFIED = 2021;
|
||||
public final static int DC_EVENT_CHAT_DELETED = 2023;
|
||||
public final static int DC_EVENT_CONTACTS_CHANGED = 2030;
|
||||
public final static int DC_EVENT_LOCATION_CHANGED = 2035;
|
||||
public final static int DC_EVENT_CONFIGURE_PROGRESS = 2041;
|
||||
|
||||
@@ -151,7 +151,6 @@ public class DcMsg {
|
||||
public native String getWebxdcHref ();
|
||||
public native boolean isForwarded ();
|
||||
public native boolean isInfo ();
|
||||
public native boolean isSetupMessage ();
|
||||
public native boolean hasHtml ();
|
||||
public native String getSetupCodeBegin ();
|
||||
public native String getVideochatUrl ();
|
||||
|
||||
@@ -17,6 +17,7 @@ public class Rpc {
|
||||
private final Map<Integer, SettableFuture<JsonElement>> requestFutures = new ConcurrentHashMap<>();
|
||||
private final DcJsonrpcInstance dcJsonrpcInstance;
|
||||
private int requestId = 0;
|
||||
private boolean started = false;
|
||||
private final Gson gson = new GsonBuilder().serializeNulls().create();
|
||||
|
||||
public Rpc(DcJsonrpcInstance dcJsonrpcInstance) {
|
||||
@@ -46,6 +47,7 @@ public class Rpc {
|
||||
}
|
||||
|
||||
public void start() {
|
||||
started = true;
|
||||
new Thread(() -> {
|
||||
while (true) {
|
||||
try {
|
||||
@@ -57,7 +59,9 @@ public class Rpc {
|
||||
}, "jsonrpcThread").start();
|
||||
}
|
||||
|
||||
public SettableFuture<JsonElement> call(String method, Object... params) {
|
||||
public SettableFuture<JsonElement> call(String method, Object... params) throws RpcException {
|
||||
if (!started) throw new RpcException("RPC not started yet.");
|
||||
|
||||
int id;
|
||||
synchronized (this) {
|
||||
id = ++requestId;
|
||||
|
||||
@@ -110,6 +110,7 @@ public class ApplicationContext extends MultiDexApplication {
|
||||
|
||||
dcAccounts = new DcAccounts(new File(getFilesDir(), "accounts").getAbsolutePath());
|
||||
rpc = new Rpc(dcAccounts.getJsonrpcInstance());
|
||||
rpc.start();
|
||||
AccountManager.getInstance().migrateToDcAccounts(this);
|
||||
int[] allAccounts = dcAccounts.getAll();
|
||||
for (int accountId : allAccounts) {
|
||||
@@ -148,8 +149,6 @@ public class ApplicationContext extends MultiDexApplication {
|
||||
Log.i("DeltaChat", "shutting down event handler");
|
||||
}, "eventThread").start();
|
||||
|
||||
rpc.start();
|
||||
|
||||
// migrating global notifications pref. to per-account config, added 10/July/24
|
||||
final String NOTIFICATION_PREF = "pref_key_enable_notifications";
|
||||
boolean isMuted = !Prefs.getBooleanPreference(this, NOTIFICATION_PREF, true);
|
||||
|
||||
@@ -333,18 +333,22 @@ public abstract class BaseConversationListFragment extends Fragment implements A
|
||||
intent.putExtra(ShareActivity.EXTRA_CHAT_ID, chat.getId());
|
||||
|
||||
Recipient recipient = new Recipient(activity, chat);
|
||||
Bitmap avatar = DirectShareUtil.getIconForShortcut(activity, recipient);
|
||||
ShortcutInfoCompat shortcutInfoCompat = new ShortcutInfoCompat.Builder(activity, "chat-" + dcContext.getAccountId() + "-" + chat.getId())
|
||||
Util.runOnAnyBackgroundThread(() -> {
|
||||
Bitmap avatar = DirectShareUtil.getIconForShortcut(activity, recipient);
|
||||
ShortcutInfoCompat shortcutInfoCompat = new ShortcutInfoCompat.Builder(activity, "chat-" + dcContext.getAccountId() + "-" + chat.getId())
|
||||
.setShortLabel(chat.getName())
|
||||
.setIcon(IconCompat.createWithAdaptiveBitmap(avatar))
|
||||
.setIntent(intent)
|
||||
.build();
|
||||
if (!ShortcutManagerCompat.requestPinShortcut(activity, shortcutInfoCompat, null)) {
|
||||
Toast.makeText(activity, "ErrAddToHomescreen: requestPinShortcut() failed", Toast.LENGTH_LONG).show();
|
||||
} else if (actionMode != null) {
|
||||
actionMode.finish();
|
||||
actionMode = null;
|
||||
}
|
||||
Util.runOnMain(() -> {
|
||||
if (!ShortcutManagerCompat.requestPinShortcut(activity, shortcutInfoCompat, null)) {
|
||||
Toast.makeText(activity, "ErrAddToHomescreen: requestPinShortcut() failed", Toast.LENGTH_LONG).show();
|
||||
} else if (actionMode != null) {
|
||||
actionMode.finish();
|
||||
actionMode = null;
|
||||
}
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
private void updateActionModeItems(Menu menu) {
|
||||
|
||||
@@ -496,6 +496,13 @@ public class ConversationActivity extends PassphraseRequiredActionBarActivity
|
||||
Log.e(TAG, "cannot set up in-chat-search: ", e);
|
||||
}
|
||||
|
||||
if (!dcChat.canSend() || isEditing) {
|
||||
MenuItem attachItem = menu.findItem(R.id.menu_add_attachment);
|
||||
if (attachItem!=null) {
|
||||
attachItem.setVisible(false);
|
||||
}
|
||||
}
|
||||
|
||||
super.onPrepareOptionsMenu(menu);
|
||||
return true;
|
||||
}
|
||||
@@ -504,7 +511,10 @@ public class ConversationActivity extends PassphraseRequiredActionBarActivity
|
||||
public boolean onOptionsItemSelected(MenuItem item) {
|
||||
super.onOptionsItemSelected(item);
|
||||
int itemId = item.getItemId();
|
||||
if (itemId == R.id.menu_leave) {
|
||||
if (itemId == R.id.menu_add_attachment) {
|
||||
handleAddAttachment();
|
||||
return true;
|
||||
} else if (itemId == R.id.menu_leave) {
|
||||
handleLeaveGroup();
|
||||
return true;
|
||||
} else if (itemId == R.id.menu_archive_chat) {
|
||||
@@ -1012,9 +1022,7 @@ public class ConversationActivity extends PassphraseRequiredActionBarActivity
|
||||
|
||||
final SettableFuture<Integer> future = new SettableFuture<>();
|
||||
|
||||
DcMsg msg = null;
|
||||
Optional<QuoteModel> quote = inputPanel.getQuote();
|
||||
Integer recompress = 0;
|
||||
boolean editing = isEditing;
|
||||
|
||||
// for a quick ui feedback, we clear the related controls immediately on sending messages.
|
||||
@@ -1024,122 +1032,114 @@ public class ConversationActivity extends PassphraseRequiredActionBarActivity
|
||||
inputPanel.clearQuote();
|
||||
}
|
||||
|
||||
if (editing) {
|
||||
int msgId = quote.get().getQuotedMsg().getId();
|
||||
Util.runOnAnyBackgroundThread(() -> {
|
||||
Util.runOnAnyBackgroundThread(() -> {
|
||||
DcMsg msg = null;
|
||||
int recompress = 0;
|
||||
|
||||
if (editing) {
|
||||
int msgId = quote.get().getQuotedMsg().getId();
|
||||
if (action == ACTION_SEND_OUT) {
|
||||
dcContext.sendEditRequest(msgId, body);
|
||||
} else {
|
||||
dcContext.setDraft(chatId, null);
|
||||
}
|
||||
});
|
||||
return future;
|
||||
}
|
||||
|
||||
if(slideDeck!=null) {
|
||||
|
||||
if (action==ACTION_SEND_OUT) {
|
||||
attachmentManager.clear(glideRequests, false);
|
||||
future.set(chatId);
|
||||
return;
|
||||
}
|
||||
|
||||
try {
|
||||
if (slideDeck.getWebxdctDraftId() != 0) {
|
||||
msg = dcContext.getDraft(chatId);
|
||||
} else {
|
||||
List<Attachment> attachments = slideDeck.asAttachments();
|
||||
for (Attachment attachment : attachments) {
|
||||
String contentType = attachment.getContentType();
|
||||
if (MediaUtil.isImageType(contentType) && slideDeck.getDocumentSlide() == null) {
|
||||
msg = new DcMsg(dcContext,
|
||||
MediaUtil.isGif(contentType) ? DcMsg.DC_MSG_GIF : DcMsg.DC_MSG_IMAGE);
|
||||
msg.setDimension(attachment.getWidth(), attachment.getHeight());
|
||||
} else if (MediaUtil.isAudioType(contentType)) {
|
||||
msg = new DcMsg(dcContext,
|
||||
attachment.isVoiceNote() ? DcMsg.DC_MSG_VOICE : DcMsg.DC_MSG_AUDIO);
|
||||
} else if (MediaUtil.isVideoType(contentType) && slideDeck.getDocumentSlide() == null) {
|
||||
msg = new DcMsg(dcContext, DcMsg.DC_MSG_VIDEO);
|
||||
recompress = DcMsg.DC_MSG_VIDEO;
|
||||
} else {
|
||||
msg = new DcMsg(dcContext, DcMsg.DC_MSG_FILE);
|
||||
if(slideDeck!=null) {
|
||||
if (action==ACTION_SEND_OUT) {
|
||||
Util.runOnMain(() -> attachmentManager.clear(glideRequests, false));
|
||||
}
|
||||
|
||||
try {
|
||||
if (slideDeck.getWebxdctDraftId() != 0) {
|
||||
msg = dcContext.getDraft(chatId);
|
||||
} else {
|
||||
List<Attachment> attachments = slideDeck.asAttachments();
|
||||
for (Attachment attachment : attachments) {
|
||||
String contentType = attachment.getContentType();
|
||||
if (MediaUtil.isImageType(contentType) && slideDeck.getDocumentSlide() == null) {
|
||||
msg = new DcMsg(dcContext,
|
||||
MediaUtil.isGif(contentType) ? DcMsg.DC_MSG_GIF : DcMsg.DC_MSG_IMAGE);
|
||||
msg.setDimension(attachment.getWidth(), attachment.getHeight());
|
||||
} else if (MediaUtil.isAudioType(contentType)) {
|
||||
msg = new DcMsg(dcContext,
|
||||
attachment.isVoiceNote() ? DcMsg.DC_MSG_VOICE : DcMsg.DC_MSG_AUDIO);
|
||||
} else if (MediaUtil.isVideoType(contentType) && slideDeck.getDocumentSlide() == null) {
|
||||
msg = new DcMsg(dcContext, DcMsg.DC_MSG_VIDEO);
|
||||
recompress = DcMsg.DC_MSG_VIDEO;
|
||||
} else {
|
||||
msg = new DcMsg(dcContext, DcMsg.DC_MSG_FILE);
|
||||
}
|
||||
String path = attachment.getRealPath(this);
|
||||
msg.setFileAndDeduplicate(path, attachment.getFileName(), null);
|
||||
}
|
||||
String path = attachment.getRealPath(this);
|
||||
msg.setFileAndDeduplicate(path, attachment.getFileName(), null);
|
||||
}
|
||||
if (msg != null) {
|
||||
msg.setText(body);
|
||||
}
|
||||
}
|
||||
catch(Exception e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
else if (!body.isEmpty()){
|
||||
msg = new DcMsg(dcContext, DcMsg.DC_MSG_TEXT);
|
||||
msg.setText(body);
|
||||
}
|
||||
catch(Exception e) {
|
||||
e.printStackTrace();
|
||||
|
||||
if (quote.isPresent()) {
|
||||
if (msg == null) msg = new DcMsg(dcContext, DcMsg.DC_MSG_TEXT);
|
||||
msg.setQuote(quote.get().getQuotedMsg());
|
||||
}
|
||||
}
|
||||
else if (!body.isEmpty()){
|
||||
msg = new DcMsg(dcContext, DcMsg.DC_MSG_TEXT);
|
||||
msg.setText(body);
|
||||
}
|
||||
|
||||
if (quote.isPresent()) {
|
||||
if (msg == null) msg = new DcMsg(dcContext, DcMsg.DC_MSG_TEXT);
|
||||
msg.setQuote(quote.get().getQuotedMsg());
|
||||
}
|
||||
if (action==ACTION_SEND_OUT) {
|
||||
|
||||
// msg may still be null to clear drafts
|
||||
new AsyncTask<Object, Void, Void>() {
|
||||
@Override
|
||||
protected Void doInBackground(Object... param) {
|
||||
DcMsg msg = (DcMsg)param[0];
|
||||
Integer recompress = (Integer)param[1];
|
||||
if (action==ACTION_SEND_OUT) {
|
||||
// for WEBXDC, drafts are just sent out as is.
|
||||
// for preparations and other cases, cleanup draft soon.
|
||||
if (msg == null || msg.getType() != DcMsg.DC_MSG_WEBXDC) {
|
||||
dcContext.setDraft(dcChat.getId(), null);
|
||||
}
|
||||
|
||||
// for WEBXDC, drafts are just sent out as is.
|
||||
// for preparations and other cases, cleanup draft soon.
|
||||
if (msg == null || msg.getType() != DcMsg.DC_MSG_WEBXDC) {
|
||||
dcContext.setDraft(dcChat.getId(), null);
|
||||
}
|
||||
|
||||
if(msg!=null)
|
||||
{
|
||||
boolean doSend = true;
|
||||
if (recompress==DcMsg.DC_MSG_VIDEO) {
|
||||
Util.runOnMain(() -> {
|
||||
progressDialog = ProgressDialog.show(
|
||||
ConversationActivity.this,
|
||||
"",
|
||||
getString(R.string.one_moment),
|
||||
true,
|
||||
false
|
||||
);
|
||||
});
|
||||
doSend = VideoRecoder.prepareVideo(ConversationActivity.this, dcChat.getId(), msg);
|
||||
Util.runOnMain(() -> {
|
||||
try {
|
||||
progressDialog.dismiss();
|
||||
} catch (final IllegalArgumentException e) {
|
||||
// The activity is finishing/destroyed, do nothing.
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
if (doSend) {
|
||||
if (dcContext.sendMsg(dcChat.getId(), msg) == 0) {
|
||||
Util.runOnMain(()-> Toast.makeText(ConversationActivity.this, dcContext.getLastError(), Toast.LENGTH_LONG).show());
|
||||
return null;
|
||||
if(msg!=null) {
|
||||
boolean doSend = true;
|
||||
if (recompress==DcMsg.DC_MSG_VIDEO) {
|
||||
Util.runOnMain(() -> {
|
||||
if (isFinishing()) return;
|
||||
progressDialog = ProgressDialog.show(
|
||||
ConversationActivity.this,
|
||||
"",
|
||||
getString(R.string.one_moment),
|
||||
true,
|
||||
false
|
||||
);
|
||||
});
|
||||
doSend = VideoRecoder.prepareVideo(ConversationActivity.this, dcChat.getId(), msg);
|
||||
Util.runOnMain(() -> {
|
||||
try {
|
||||
if (progressDialog != null) progressDialog.dismiss();
|
||||
} catch (final IllegalArgumentException e) {
|
||||
// The activity is finishing/destroyed, do nothing.
|
||||
}
|
||||
}
|
||||
|
||||
Util.runOnMain(()-> sendComplete(dcChat.getId()));
|
||||
});
|
||||
}
|
||||
}
|
||||
else {
|
||||
dcContext.setDraft(dcChat.getId(), msg);
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void onPostExecute(Void result) {
|
||||
future.set(chatId);
|
||||
if (doSend) {
|
||||
if (dcContext.sendMsg(dcChat.getId(), msg) == 0) {
|
||||
Util.runOnMain(()-> Toast.makeText(ConversationActivity.this, dcContext.getLastError(), Toast.LENGTH_LONG).show());
|
||||
future.set(chatId);
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
Util.runOnMain(() -> sendComplete(dcChat.getId()));
|
||||
}
|
||||
} else {
|
||||
dcContext.setDraft(dcChat.getId(), msg);
|
||||
}
|
||||
}.executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR, msg, recompress);
|
||||
future.set(chatId);
|
||||
});
|
||||
|
||||
return future;
|
||||
}
|
||||
@@ -1359,8 +1359,12 @@ public class ConversationActivity extends PassphraseRequiredActionBarActivity
|
||||
Toast.LENGTH_SHORT).show();
|
||||
}
|
||||
else {
|
||||
processComposeControls(ACTION_SEND_OUT);
|
||||
DcHelper.getNotificationCenter(ConversationActivity.this).maybePlaySendSound(dcChat);
|
||||
processComposeControls(ACTION_SEND_OUT).addListener(new AssertedSuccessListener<Integer>() {
|
||||
@Override
|
||||
public void onSuccess(Integer chatId) {
|
||||
DcHelper.getNotificationCenter(ConversationActivity.this).maybePlaySendSound(dcChat);
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -294,7 +294,7 @@ public class ConversationAdapter <V extends View & BindableConversationItem>
|
||||
else if (type==DcMsg.DC_MSG_AUDIO || type==DcMsg.DC_MSG_VOICE) {
|
||||
return dcMsg.isOutgoing()? MESSAGE_TYPE_AUDIO_OUTGOING : MESSAGE_TYPE_AUDIO_INCOMING;
|
||||
}
|
||||
else if (type==DcMsg.DC_MSG_FILE && !dcMsg.isSetupMessage()) {
|
||||
else if (type==DcMsg.DC_MSG_FILE) {
|
||||
return dcMsg.isOutgoing()? MESSAGE_TYPE_DOCUMENT_OUTGOING : MESSAGE_TYPE_DOCUMENT_INCOMING;
|
||||
}
|
||||
else if (type==DcMsg.DC_MSG_IMAGE || type==DcMsg.DC_MSG_GIF || type==DcMsg.DC_MSG_VIDEO) {
|
||||
|
||||
@@ -25,9 +25,7 @@ import android.content.Context;
|
||||
import android.content.Intent;
|
||||
import android.content.res.Configuration;
|
||||
import android.os.Bundle;
|
||||
import android.text.Editable;
|
||||
import android.text.TextUtils;
|
||||
import android.text.TextWatcher;
|
||||
import android.util.Log;
|
||||
import android.view.LayoutInflater;
|
||||
import android.view.Menu;
|
||||
@@ -38,12 +36,10 @@ import android.view.ViewGroup;
|
||||
import android.view.Window;
|
||||
import android.view.animation.Animation;
|
||||
import android.view.animation.AnimationUtils;
|
||||
import android.widget.EditText;
|
||||
import android.widget.TextView;
|
||||
import android.widget.Toast;
|
||||
|
||||
import androidx.annotation.NonNull;
|
||||
import androidx.appcompat.app.AlertDialog;
|
||||
import androidx.appcompat.app.AppCompatActivity;
|
||||
import androidx.appcompat.view.ActionMode;
|
||||
import androidx.recyclerview.widget.LinearLayoutManager;
|
||||
@@ -321,25 +317,36 @@ public class ConversationFragment extends MessageSelectorFragment
|
||||
return;
|
||||
}
|
||||
|
||||
menu.findItem(R.id.menu_toggle_save).setVisible(false);
|
||||
|
||||
if (messageRecords.size() > 1) {
|
||||
menu.findItem(R.id.menu_context_details).setVisible(false);
|
||||
menu.findItem(R.id.menu_context_share).setVisible(false);
|
||||
//menu.findItem(R.id.menu_context_reply).setVisible(false);
|
||||
menu.findItem(R.id.menu_context_reply).setVisible(false);
|
||||
menu.findItem(R.id.menu_context_edit).setVisible(false);
|
||||
menu.findItem(R.id.menu_context_reply_privately).setVisible(false);
|
||||
menu.findItem(R.id.menu_add_to_home_screen).setVisible(false);
|
||||
//menu.findItem(R.id.menu_toggle_save).setVisible(false);
|
||||
} else {
|
||||
DcMsg messageRecord = messageRecords.iterator().next();
|
||||
DcChat chat = getListAdapter().getChat();
|
||||
menu.findItem(R.id.menu_context_details).setVisible(true);
|
||||
menu.findItem(R.id.menu_context_share).setVisible(messageRecord.hasFile());
|
||||
boolean canReply = canReplyToMsg(messageRecord);
|
||||
//menu.findItem(R.id.menu_context_reply).setVisible(chat.canSend() && canReply);
|
||||
menu.findItem(R.id.menu_context_reply).setVisible(chat.canSend() && canReply);
|
||||
boolean canEdit = canEditMsg(messageRecord);
|
||||
menu.findItem(R.id.menu_context_edit).setVisible(chat.canSend() && canEdit);
|
||||
boolean showReplyPrivately = !dcContext.isCommunity() && chat.isMultiUser() && !messageRecord.isOutgoing() && canReply;
|
||||
menu.findItem(R.id.menu_context_reply_privately).setVisible(showReplyPrivately);
|
||||
menu.findItem(R.id.menu_add_to_home_screen).setVisible(messageRecord.getType() == DcMsg.DC_MSG_WEBXDC);
|
||||
|
||||
/*
|
||||
boolean saved = messageRecord.getSavedMsgId() != 0;
|
||||
MenuItem toggleSave = menu.findItem(R.id.menu_toggle_save);
|
||||
toggleSave.setVisible(messageRecord.canSave() && !chat.isSelfTalk());
|
||||
toggleSave.setIcon(saved? R.drawable.baseline_bookmark_remove_24 : R.drawable.baseline_bookmark_border_24);
|
||||
toggleSave.setTitle(saved? R.string.unsave : R.string.save);
|
||||
*/
|
||||
}
|
||||
|
||||
// if one of the selected items cannot be saved, disable saving.
|
||||
@@ -511,6 +518,15 @@ public class ConversationFragment extends MessageSelectorFragment
|
||||
}
|
||||
}
|
||||
|
||||
private void handleToggleSave(final Set<DcMsg> messageRecords) {
|
||||
DcMsg msg = getSelectedMessageRecord(messageRecords);
|
||||
if (msg.getSavedMsgId() != 0) {
|
||||
dcContext.deleteMsgs(new int[]{msg.getSavedMsgId()});
|
||||
} else {
|
||||
dcContext.saveMsgs(new int[]{msg.getId()});
|
||||
}
|
||||
}
|
||||
|
||||
private void reloadList() {
|
||||
reloadList(false);
|
||||
}
|
||||
@@ -725,80 +741,6 @@ public class ConversationFragment extends MessageSelectorFragment
|
||||
Util.runOnAnyBackgroundThread(() -> dcContext.markseenMsgs(ids));
|
||||
}
|
||||
|
||||
|
||||
void querySetupCode(final DcMsg dcMsg, String[] preload)
|
||||
{
|
||||
if( !dcMsg.isSetupMessage()) {
|
||||
return;
|
||||
}
|
||||
|
||||
View gl = View.inflate(getActivity(), R.layout.setup_code_grid, null);
|
||||
final EditText[] editTexts = {
|
||||
gl.findViewById(R.id.setupCode0), gl.findViewById(R.id.setupCode1), gl.findViewById(R.id.setupCode2),
|
||||
gl.findViewById(R.id.setupCode3), gl.findViewById(R.id.setupCode4), gl.findViewById(R.id.setupCode5),
|
||||
gl.findViewById(R.id.setupCode6), gl.findViewById(R.id.setupCode7), gl.findViewById(R.id.setupCode8)
|
||||
};
|
||||
AlertDialog.Builder builder1 = new AlertDialog.Builder(getActivity());
|
||||
builder1.setView(gl);
|
||||
editTexts[0].setText(dcMsg.getSetupCodeBegin());
|
||||
editTexts[0].setSelection(editTexts[0].getText().length());
|
||||
|
||||
for( int i = 0; i < 9; i++ ) {
|
||||
if( preload != null && i < preload.length ) {
|
||||
editTexts[i].setText(preload[i]);
|
||||
editTexts[i].setSelection(editTexts[i].getText().length());
|
||||
}
|
||||
editTexts[i].addTextChangedListener(new TextWatcher() {
|
||||
@Override
|
||||
public void beforeTextChanged(CharSequence s, int start, int count, int after) {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onTextChanged(CharSequence s, int start, int before, int count) {
|
||||
if( s.length()==4 ) {
|
||||
for ( int i = 0; i < 8; i++ ) {
|
||||
if( editTexts[i].hasFocus() && editTexts[i+1].getText().length()<4 ) {
|
||||
editTexts[i+1].requestFocus();
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void afterTextChanged(Editable s) {
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
builder1.setTitle(getActivity().getString(R.string.autocrypt_continue_transfer_title));
|
||||
builder1.setMessage(getActivity().getString(R.string.autocrypt_continue_transfer_please_enter_code));
|
||||
builder1.setNegativeButton(android.R.string.cancel, null);
|
||||
builder1.setCancelable(false); // prevent the dialog from being dismissed accidentally (when the dialog is closed, the setup code is gone forever and the user has to create a new setup message)
|
||||
builder1.setPositiveButton(android.R.string.ok, (dialog, which) -> {
|
||||
String setup_code = "";
|
||||
final String[] preload1 = new String[9];
|
||||
for ( int i = 0; i < 9; i++ ) {
|
||||
preload1[i] = editTexts[i].getText().toString();
|
||||
setup_code += preload1[i];
|
||||
}
|
||||
boolean success = dcContext.continueKeyTransfer(dcMsg.getId(), setup_code);
|
||||
|
||||
AlertDialog.Builder builder2 = new AlertDialog.Builder(getActivity());
|
||||
builder2.setTitle(getActivity().getString(R.string.autocrypt_continue_transfer_title));
|
||||
builder2.setMessage(getActivity().getString(success? R.string.autocrypt_continue_transfer_succeeded : R.string.autocrypt_bad_setup_code));
|
||||
if( success ) {
|
||||
builder2.setPositiveButton(android.R.string.ok, null);
|
||||
}
|
||||
else {
|
||||
builder2.setNegativeButton(android.R.string.cancel, null);
|
||||
builder2.setPositiveButton(R.string.autocrypt_continue_transfer_retry, (dialog1, which1) -> querySetupCode(dcMsg, preload1));
|
||||
}
|
||||
builder2.show();
|
||||
});
|
||||
builder1.show();
|
||||
}
|
||||
|
||||
private class ConversationFragmentItemClickListener implements ItemClickListener {
|
||||
|
||||
@Override
|
||||
@@ -818,9 +760,6 @@ public class ConversationFragment extends MessageSelectorFragment
|
||||
actionMode.setTitleOptionalHint(false); // the title represents important information, also indicating implicitly, more items can be selected
|
||||
}
|
||||
}
|
||||
else if(messageRecord.isSetupMessage()) {
|
||||
querySetupCode(messageRecord,null);
|
||||
}
|
||||
else if (messageRecord.getType()==DcMsg.DC_MSG_VIDEOCHAT_INVITATION) {
|
||||
new VideochatUtil().join(getActivity(), messageRecord.getId());
|
||||
}
|
||||
@@ -995,10 +934,10 @@ public class ConversationFragment extends MessageSelectorFragment
|
||||
} else if (itemId == R.id.menu_context_save_attachment) {
|
||||
handleSaveAttachment(getListAdapter().getSelectedItems());
|
||||
return true;
|
||||
// } else if (itemId == R.id.menu_context_reply) {
|
||||
// handleReplyMessage(getSelectedMessageRecord(getListAdapter().getSelectedItems()));
|
||||
// actionMode.finish();
|
||||
// return true;
|
||||
} else if (itemId == R.id.menu_context_reply) {
|
||||
handleReplyMessage(getSelectedMessageRecord(getListAdapter().getSelectedItems()));
|
||||
actionMode.finish();
|
||||
return true;
|
||||
} else if (itemId == R.id.menu_context_edit) {
|
||||
handleEditMessage(getSelectedMessageRecord(getListAdapter().getSelectedItems()));
|
||||
actionMode.finish();
|
||||
@@ -1009,9 +948,12 @@ public class ConversationFragment extends MessageSelectorFragment
|
||||
} else if (itemId == R.id.menu_resend) {
|
||||
handleResendMessage(getListAdapter().getSelectedItems());
|
||||
return true;
|
||||
} else if (itemId == R.id.menu_toggle_save) {
|
||||
handleToggleSave(getListAdapter().getSelectedItems());
|
||||
actionMode.finish();
|
||||
return true;
|
||||
}
|
||||
|
||||
return false;
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -391,7 +391,7 @@ public class ConversationItem extends BaseConversationItem
|
||||
}
|
||||
|
||||
private boolean hasDocument(DcMsg dcMsg) {
|
||||
return dcMsg.getType()==DcMsg.DC_MSG_FILE && !dcMsg.isSetupMessage();
|
||||
return dcMsg.getType()==DcMsg.DC_MSG_FILE;
|
||||
}
|
||||
|
||||
private void setBodyText(DcMsg messageRecord) {
|
||||
@@ -400,11 +400,7 @@ public class ConversationItem extends BaseConversationItem
|
||||
|
||||
String text = messageRecord.getText();
|
||||
|
||||
if (messageRecord.isSetupMessage()) {
|
||||
bodyText.setText(context.getString(R.string.autocrypt_asm_click_body));
|
||||
bodyText.setVisibility(View.VISIBLE);
|
||||
}
|
||||
else if (text.isEmpty()) {
|
||||
if (text.isEmpty()) {
|
||||
bodyText.setVisibility(View.GONE);
|
||||
}
|
||||
else {
|
||||
|
||||
@@ -112,7 +112,7 @@ public class ConversationListActivity extends PassphraseRequiredActionBarActivit
|
||||
// it is not needed to keep all past update messages, however, when deleted, also the strings should be deleted.
|
||||
try {
|
||||
DcContext dcContext = DcHelper.getContext(this);
|
||||
final String deviceMsgLabel = "update_1_50_0_android";
|
||||
final String deviceMsgLabel = "update_1_56_0_android";
|
||||
if (!dcContext.wasDeviceMsgEverAdded(deviceMsgLabel)) {
|
||||
DcMsg msg = null;
|
||||
if (!getIntent().getBooleanExtra(FROM_WELCOME, false)) {
|
||||
@@ -123,7 +123,8 @@ public class ConversationListActivity extends PassphraseRequiredActionBarActivit
|
||||
// Util.copy(inputStream, new FileOutputStream(outputFile));
|
||||
// msg.setFile(outputFile, "image/jpeg");
|
||||
|
||||
msg.setText(getString(R.string.update_1_50_android, "https://lemmy.ml/c/ArcaneChat"));
|
||||
// full changelog link: "https://lemmy.ml/c/ArcaneChat"
|
||||
msg.setText(getString(R.string.update_1_56_android, "https://arcanechat.me/#contribute"));
|
||||
}
|
||||
dcContext.addDeviceMsg(deviceMsgLabel, msg);
|
||||
|
||||
|
||||
@@ -80,6 +80,7 @@ public class ConversationListFragment extends BaseConversationListFragment
|
||||
DcEventCenter eventCenter = DcHelper.getEventCenter(requireActivity());
|
||||
eventCenter.addMultiAccountObserver(DcContext.DC_EVENT_INCOMING_MSG, this);
|
||||
eventCenter.addMultiAccountObserver(DcContext.DC_EVENT_MSGS_NOTICED, this);
|
||||
eventCenter.addMultiAccountObserver(DcContext.DC_EVENT_CHAT_DELETED, this);
|
||||
eventCenter.addObserver(DcContext.DC_EVENT_CHAT_MODIFIED, this);
|
||||
eventCenter.addObserver(DcContext.DC_EVENT_CONTACTS_CHANGED, this);
|
||||
eventCenter.addObserver(DcContext.DC_EVENT_MSGS_CHANGED, this);
|
||||
@@ -321,7 +322,10 @@ public class ConversationListFragment extends BaseConversationListFragment
|
||||
|
||||
@Override
|
||||
public void handleEvent(@NonNull DcEvent event) {
|
||||
if (event.getAccountId() != DcHelper.getContext(requireActivity()).getAccountId()) {
|
||||
final int accId = event.getAccountId();
|
||||
if (event.getId() == DcContext.DC_EVENT_CHAT_DELETED) {
|
||||
DcHelper.getNotificationCenter(requireActivity()).removeNotifications(accId, event.getData1Int());
|
||||
} else if (accId != DcHelper.getContext(requireActivity()).getAccountId()) {
|
||||
Activity activity = getActivity();
|
||||
if (activity instanceof ConversationListActivity) {
|
||||
((ConversationListActivity) activity).refreshUnreadIndicator();
|
||||
|
||||
@@ -344,7 +344,9 @@ public class MediaPreviewActivity extends PassphraseRequiredActionBarActivity
|
||||
DcMsg dcMsg = dcContext.getMsg(mediaItem.msgId);
|
||||
DcChat dcChat = dcContext.getChat(dcMsg.getChatId());
|
||||
|
||||
String text = getResources().getQuantityString(R.plurals.ask_delete_messages, 1, 1);
|
||||
String text = getResources().getQuantityString(
|
||||
dcChat.isDeviceTalk() ? R.plurals.ask_delete_messages_simple : R.plurals.ask_delete_messages,
|
||||
1, 1);
|
||||
int positiveBtnLabel = dcChat.isSelfTalk() ? R.string.delete : R.string.delete_for_me;
|
||||
final int[] messageIds = new int[]{mediaItem.msgId};
|
||||
|
||||
|
||||
@@ -66,7 +66,7 @@ public abstract class MessageSelectorFragment
|
||||
if (dcChat.canSend() && !dcChat.isSelfTalk()) {
|
||||
for(int msgId : messageIds) {
|
||||
DcMsg msg = dcContext.getMsg(msgId);
|
||||
if (!msg.isOutgoing()) {
|
||||
if (!msg.isOutgoing() || msg.isInfo()) {
|
||||
canDeleteForAll = false;
|
||||
break;
|
||||
}
|
||||
@@ -75,7 +75,9 @@ public abstract class MessageSelectorFragment
|
||||
canDeleteForAll = false;
|
||||
}
|
||||
|
||||
String text = requireActivity().getResources().getQuantityString(R.plurals.ask_delete_messages, messageIds.length, messageIds.length);
|
||||
String text = getActivity().getResources().getQuantityString(
|
||||
dcChat.isDeviceTalk() ? R.plurals.ask_delete_messages_simple : R.plurals.ask_delete_messages,
|
||||
messageIds.length, messageIds.length);
|
||||
int positiveBtnLabel = dcChat.isSelfTalk() ? R.string.delete : R.string.delete_for_me;
|
||||
|
||||
AlertDialog.Builder builder = new AlertDialog.Builder(requireActivity())
|
||||
|
||||
@@ -19,7 +19,7 @@ public class MuteDialog {
|
||||
// See https://c.delta.chat/classdc__context__t.html#a6460395925d49d2053bc95224bf5ce37.
|
||||
switch (which) {
|
||||
case 0: muteUntil = TimeUnit.HOURS.toSeconds(1); break;
|
||||
case 1: muteUntil = TimeUnit.HOURS.toSeconds(2); break;
|
||||
case 1: muteUntil = TimeUnit.HOURS.toSeconds(8); break;
|
||||
case 2: muteUntil = TimeUnit.DAYS.toSeconds(1); break;
|
||||
case 3: muteUntil = TimeUnit.DAYS.toSeconds(7); break;
|
||||
case 4: muteUntil = -1; break; // mute forever
|
||||
|
||||
@@ -319,12 +319,15 @@ public class ProfileSettingsFragment extends Fragment
|
||||
super.onActivityResult(requestCode, resultCode, data);
|
||||
if (requestCode==REQUEST_CODE_PICK_CONTACT && resultCode==Activity.RESULT_OK && data!=null) {
|
||||
List<String> selected = data.getStringArrayListExtra("contacts");
|
||||
for (String addr : selected) {
|
||||
if (addr!=null) {
|
||||
int toAddId = dcContext.createContact(null, addr);
|
||||
dcContext.addContactToChat(chatId, toAddId);
|
||||
if(selected == null) return;
|
||||
Util.runOnAnyBackgroundThread(() -> {
|
||||
for (String addr : selected) {
|
||||
if (addr!=null) {
|
||||
int toAddId = dcContext.createContact(null, addr);
|
||||
dcContext.addContactToChat(chatId, toAddId);
|
||||
}
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,13 +1,16 @@
|
||||
package org.thoughtcrime.securesms.components;
|
||||
|
||||
import android.content.ClipData;
|
||||
import android.content.ClipboardManager;
|
||||
import android.content.Context;
|
||||
import android.content.res.Configuration;
|
||||
import android.os.Build;
|
||||
import android.os.Bundle;
|
||||
import androidx.annotation.NonNull;
|
||||
import androidx.annotation.Nullable;
|
||||
import androidx.annotation.RequiresApi;
|
||||
import androidx.appcompat.widget.AppCompatEditText;
|
||||
import androidx.core.view.ContentInfoCompat;
|
||||
import androidx.core.view.ViewCompat;
|
||||
import androidx.core.view.inputmethod.EditorInfoCompat;
|
||||
import androidx.core.view.inputmethod.InputConnectionCompat;
|
||||
import androidx.core.view.inputmethod.InputContentInfoCompat;
|
||||
@@ -50,6 +53,28 @@ public class ComposeText extends AppCompatEditText {
|
||||
initialize();
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean onTextContextMenuItem(int id) {
|
||||
if (id == android.R.id.paste) {
|
||||
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
|
||||
id = android.R.id.pasteAsPlainText;
|
||||
} else if (ViewCompat.getOnReceiveContentMimeTypes(this) != null) {
|
||||
// older device, manually paste as plain text
|
||||
ClipboardManager cm = (ClipboardManager) getContext().getSystemService(
|
||||
Context.CLIPBOARD_SERVICE);
|
||||
ClipData clip = (cm == null) ? null : cm.getPrimaryClip();
|
||||
if (clip != null && clip.getItemCount() > 0) {
|
||||
ContentInfoCompat payload = new ContentInfoCompat.Builder(clip, ContentInfoCompat.SOURCE_CLIPBOARD)
|
||||
.setFlags(ContentInfoCompat.FLAG_CONVERT_TO_PLAIN_TEXT)
|
||||
.build();
|
||||
ViewCompat.performReceiveContent(this, payload);
|
||||
}
|
||||
return true;
|
||||
}
|
||||
}
|
||||
return super.onTextContextMenuItem(id);
|
||||
}
|
||||
|
||||
public String getTextTrimmed(){
|
||||
return getText().toString().trim();
|
||||
}
|
||||
|
||||
@@ -65,7 +65,6 @@ public class DcHelper {
|
||||
public static final String CONFIG_DISPLAY_NAME = "displayname";
|
||||
public static final String CONFIG_SELF_STATUS = "selfstatus";
|
||||
public static final String CONFIG_SELF_AVATAR = "selfavatar";
|
||||
public static final String CONFIG_E2EE_ENABLED = "e2ee_enabled";
|
||||
public static final String CONFIG_FORCE_ENCRYPTION = "ui.force_encryption";
|
||||
public static final String CONFIG_SENTBOX_WATCH = "sentbox_watch";
|
||||
public static final String CONFIG_MVBOX_MOVE = "mvbox_move";
|
||||
|
||||
+21
-102
@@ -10,13 +10,11 @@ import static org.thoughtcrime.securesms.connect.DcHelper.CONFIG_SHOW_EMAILS;
|
||||
import static org.thoughtcrime.securesms.connect.DcHelper.CONFIG_WEBXDC_REALTIME_ENABLED;
|
||||
import static org.thoughtcrime.securesms.connect.DcHelper.getRpc;
|
||||
|
||||
import android.Manifest;
|
||||
import android.app.Activity;
|
||||
import android.content.Context;
|
||||
import android.content.Intent;
|
||||
import android.content.pm.PackageManager;
|
||||
import android.net.Uri;
|
||||
import android.os.Build;
|
||||
import android.os.Bundle;
|
||||
import android.util.Log;
|
||||
import android.view.View;
|
||||
@@ -30,7 +28,6 @@ import androidx.preference.CheckBoxPreference;
|
||||
import androidx.preference.ListPreference;
|
||||
import androidx.preference.Preference;
|
||||
|
||||
import com.b44t.messenger.DcContext;
|
||||
import com.b44t.messenger.rpc.RpcException;
|
||||
|
||||
import org.thoughtcrime.securesms.ApplicationPreferencesActivity;
|
||||
@@ -40,12 +37,9 @@ import org.thoughtcrime.securesms.R;
|
||||
import org.thoughtcrime.securesms.RegistrationActivity;
|
||||
import org.thoughtcrime.securesms.connect.DcEventCenter;
|
||||
import org.thoughtcrime.securesms.connect.DcHelper;
|
||||
import org.thoughtcrime.securesms.mms.AttachmentManager;
|
||||
import org.thoughtcrime.securesms.permissions.Permissions;
|
||||
import org.thoughtcrime.securesms.proxy.ProxySettingsActivity;
|
||||
import org.thoughtcrime.securesms.util.Prefs;
|
||||
import org.thoughtcrime.securesms.util.ScreenLockUtil;
|
||||
import org.thoughtcrime.securesms.util.StorageUtil;
|
||||
import org.thoughtcrime.securesms.util.StreamUtil;
|
||||
import org.thoughtcrime.securesms.util.Util;
|
||||
|
||||
@@ -61,10 +55,9 @@ public class AdvancedPreferenceFragment extends ListSummaryPreferenceFragment
|
||||
implements DcEventCenter.DcEventDelegate
|
||||
{
|
||||
private static final String TAG = AdvancedPreferenceFragment.class.getSimpleName();
|
||||
public static final int PICK_SELF_KEYS = 29923;
|
||||
|
||||
private ListPreference showEmails;
|
||||
CheckBoxPreference preferE2eeCheckbox;
|
||||
CheckBoxPreference forceE2eeCheckbox;
|
||||
CheckBoxPreference bccSelfCheckbox;
|
||||
CheckBoxPreference mvboxMoveCheckbox;
|
||||
CheckBoxPreference onlyFetchMvboxCheckbox;
|
||||
@@ -88,9 +81,9 @@ public class AdvancedPreferenceFragment extends ListSummaryPreferenceFragment
|
||||
sendAsm.setOnPreferenceClickListener(new SendAsmListener());
|
||||
}
|
||||
|
||||
preferE2eeCheckbox = (CheckBoxPreference) this.findPreference("pref_prefer_e2ee");
|
||||
if (preferE2eeCheckbox != null) {
|
||||
preferE2eeCheckbox.setOnPreferenceChangeListener(new PreferE2eeListener());
|
||||
forceE2eeCheckbox = (CheckBoxPreference) this.findPreference("pref_prefer_e2ee");
|
||||
if (forceE2eeCheckbox != null) {
|
||||
forceE2eeCheckbox.setOnPreferenceChangeListener(new PreferE2eeListener());
|
||||
}
|
||||
|
||||
bccSelfCheckbox = (CheckBoxPreference) this.findPreference("pref_bcc_self");
|
||||
@@ -141,11 +134,6 @@ public class AdvancedPreferenceFragment extends ListSummaryPreferenceFragment
|
||||
});
|
||||
}
|
||||
|
||||
Preference manageKeys = this.findPreference("pref_manage_keys");
|
||||
if (manageKeys != null) {
|
||||
manageKeys.setOnPreferenceClickListener(new ManageKeysListener());
|
||||
}
|
||||
|
||||
Preference submitDebugLog = this.findPreference("pref_view_log");
|
||||
if (submitDebugLog != null) {
|
||||
submitDebugLog.setOnPreferenceClickListener(new ViewLogListener());
|
||||
@@ -209,8 +197,7 @@ public class AdvancedPreferenceFragment extends ListSummaryPreferenceFragment
|
||||
}
|
||||
|
||||
if (dcContext.isChatmail()) {
|
||||
this.findPreference("pref_manage_keys").setVisible(false);
|
||||
this.findPreference("pref_send_autocrypt_setup_message").setVisible(false);
|
||||
sendAsm.setVisible(false);
|
||||
bccSelfCheckbox.setVisible(false);
|
||||
mvboxMoveCheckbox.setVisible(false);
|
||||
onlyFetchMvboxCheckbox.setVisible(false);
|
||||
@@ -231,7 +218,7 @@ public class AdvancedPreferenceFragment extends ListSummaryPreferenceFragment
|
||||
showEmails.setValue(value);
|
||||
updateListSummary(showEmails, value);
|
||||
|
||||
preferE2eeCheckbox.setChecked(0!=dcContext.getConfigInt(CONFIG_FORCE_ENCRYPTION, 1));
|
||||
forceE2eeCheckbox.setChecked(0!=dcContext.getConfigInt(CONFIG_FORCE_ENCRYPTION, 1));
|
||||
bccSelfCheckbox.setChecked(0!=dcContext.getConfigInt(CONFIG_BCC_SELF));
|
||||
mvboxMoveCheckbox.setChecked(0!=dcContext.getConfigInt(CONFIG_MVBOX_MOVE));
|
||||
onlyFetchMvboxCheckbox.setChecked(0!=dcContext.getConfigInt(CONFIG_ONLY_FETCH_MVBOX));
|
||||
@@ -241,24 +228,7 @@ public class AdvancedPreferenceFragment extends ListSummaryPreferenceFragment
|
||||
@Override
|
||||
public void onActivityResult(int requestCode, int resultCode, Intent data) {
|
||||
super.onActivityResult(requestCode, resultCode, data);
|
||||
if (resultCode != RESULT_OK) return;
|
||||
if (requestCode == REQUEST_CODE_CONFIRM_CREDENTIALS_KEYS) {
|
||||
manageKeys();
|
||||
} else if (requestCode == PICK_SELF_KEYS) {
|
||||
Uri uri = (data != null ? data.getData() : null);
|
||||
if (uri == null) {
|
||||
Log.e(TAG, " Can't import null URI");
|
||||
return;
|
||||
}
|
||||
try {
|
||||
String name = AttachmentManager.getFileName(getContext(), uri);
|
||||
if (name == null || name.isEmpty()) name = "FILE";
|
||||
File file = copyToCacheDir(uri);
|
||||
showImportKeysDialog(file.getAbsolutePath(), name);
|
||||
} catch (IOException e) {
|
||||
Log.e(TAG, "Error calling copyToCacheDir()", e);
|
||||
}
|
||||
} else if (requestCode == REQUEST_CODE_CONFIRM_CREDENTIALS_ACCOUNT) {
|
||||
if (resultCode == RESULT_OK && requestCode == REQUEST_CODE_CONFIRM_CREDENTIALS_ACCOUNT) {
|
||||
openRegistrationActivity();
|
||||
}
|
||||
}
|
||||
@@ -401,72 +371,21 @@ public class AdvancedPreferenceFragment extends ListSummaryPreferenceFragment
|
||||
private class PreferE2eeListener implements Preference.OnPreferenceChangeListener {
|
||||
@Override
|
||||
public boolean onPreferenceChange(@NonNull final Preference preference, Object newValue) {
|
||||
boolean enabled = (Boolean) newValue;
|
||||
dcContext.setConfigInt(CONFIG_FORCE_ENCRYPTION, enabled? 1 : 0);
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
/***********************************************************************************************
|
||||
* Key Import/Export
|
||||
**********************************************************************************************/
|
||||
protected void showImportKeysDialog(String imexPath, String pathAsDisplayedToUser) {
|
||||
new AlertDialog.Builder(requireActivity())
|
||||
.setTitle(R.string.pref_managekeys_import_secret_keys)
|
||||
.setMessage(requireActivity().getString(R.string.pref_managekeys_import_explain, pathAsDisplayedToUser))
|
||||
.setNegativeButton(android.R.string.cancel, null)
|
||||
.setPositiveButton(android.R.string.ok, (dialogInterface2, i2) -> startImexOne(DcContext.DC_IMEX_IMPORT_SELF_KEYS, imexPath, pathAsDisplayedToUser))
|
||||
.show();
|
||||
}
|
||||
|
||||
private class ManageKeysListener implements Preference.OnPreferenceClickListener {
|
||||
@Override
|
||||
public boolean onPreferenceClick(@NonNull Preference preference) {
|
||||
boolean result = ScreenLockUtil.applyScreenLock(requireActivity(), getString(R.string.pref_manage_keys), getString(R.string.enter_system_secret_to_continue), REQUEST_CODE_CONFIRM_CREDENTIALS_KEYS);
|
||||
if (!result) {
|
||||
manageKeys();
|
||||
final boolean enabled = (Boolean) newValue;
|
||||
if (enabled) {
|
||||
dcContext.setConfigInt(CONFIG_FORCE_ENCRYPTION, 1);
|
||||
return true;
|
||||
} else {
|
||||
new AlertDialog.Builder(requireContext())
|
||||
.setMessage(R.string.disable_force_e2ee_warning)
|
||||
.setPositiveButton(R.string.ok, (dialogInterface, i) -> {
|
||||
dcContext.setConfigInt(CONFIG_FORCE_ENCRYPTION, 0);
|
||||
((CheckBoxPreference)preference).setChecked(false);
|
||||
})
|
||||
.setNegativeButton(R.string.cancel, null)
|
||||
.show();
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
private void manageKeys() {
|
||||
Activity activity = requireActivity();
|
||||
Permissions.with(activity)
|
||||
.request(Manifest.permission.WRITE_EXTERNAL_STORAGE, Manifest.permission.READ_EXTERNAL_STORAGE)
|
||||
.alwaysGrantOnSdk30()
|
||||
.ifNecessary()
|
||||
.withPermanentDenialDialog(getString(R.string.perm_explain_access_to_storage_denied))
|
||||
.onAllGranted(() -> {
|
||||
new AlertDialog.Builder(activity)
|
||||
.setTitle(R.string.pref_managekeys_menu_title)
|
||||
.setItems(new CharSequence[]{
|
||||
activity.getString(R.string.pref_managekeys_export_secret_keys),
|
||||
activity.getString(R.string.pref_managekeys_import_secret_keys)
|
||||
},
|
||||
(dialogInterface, i) -> {
|
||||
if (i==0) {
|
||||
new AlertDialog.Builder(activity)
|
||||
.setTitle(R.string.pref_managekeys_export_secret_keys)
|
||||
.setMessage(activity.getString(R.string.pref_managekeys_export_explain, DcHelper.getImexDir().getAbsolutePath()))
|
||||
.setNegativeButton(android.R.string.cancel, null)
|
||||
.setPositiveButton(android.R.string.ok, (dialogInterface2, i2) -> startImexOne(DcContext.DC_IMEX_EXPORT_SELF_KEYS))
|
||||
.show();
|
||||
}
|
||||
else {
|
||||
if (Build.VERSION.SDK_INT >= 30) {
|
||||
AttachmentManager.selectMediaType(activity, "*/*", null, PICK_SELF_KEYS, StorageUtil.getDownloadUri());
|
||||
} else {
|
||||
String path = DcHelper.getImexDir().getAbsolutePath();
|
||||
showImportKeysDialog(path, path);
|
||||
}
|
||||
}
|
||||
}
|
||||
)
|
||||
.setNegativeButton(R.string.cancel, null)
|
||||
.setNeutralButton(R.string.learn_more, (d, w) -> DcHelper.openHelp(activity, "#importkey"))
|
||||
.show();
|
||||
})
|
||||
.execute();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,5 @@
|
||||
<vector xmlns:android="http://schemas.android.com/apk/res/android" android:height="24dp" android:tint="#FFFFFF" android:viewportHeight="24" android:viewportWidth="24" android:width="24dp">
|
||||
|
||||
<path android:fillColor="@android:color/white" android:pathData="M17,3L7,3c-1.1,0 -1.99,0.9 -1.99,2L5,21l7,-3 7,3L19,5c0,-1.1 -0.9,-2 -2,-2zM17,18l-5,-2.18L7,18L7,5h10v13z"/>
|
||||
|
||||
</vector>
|
||||
@@ -0,0 +1,3 @@
|
||||
<vector xmlns:android="http://schemas.android.com/apk/res/android" android:height="24dp" android:tint="#FFFFFF" android:viewportHeight="24" android:viewportWidth="24" android:width="24dp">
|
||||
<path android:fillColor="@android:color/white" android:pathData="M21,7h-6V5h6V7zM19,10.9c-0.32,0.07 -0.66,0.1 -1,0.1c-2.76,0 -5,-2.24 -5,-5c0,-1.13 0.37,-2.16 1,-3L7,3C5.9,3 5,3.9 5,5v16l7,-3l7,3V10.9z"/>
|
||||
</vector>
|
||||
@@ -1,15 +1,17 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<FrameLayout android:layout_width="match_parent"
|
||||
<ScrollView
|
||||
xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
android:fillViewport="true" >
|
||||
|
||||
<LinearLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:layout_marginLeft="16dp"
|
||||
android:layout_marginRight="16dp"
|
||||
android:layout_marginBottom="16dp"
|
||||
android:layout_marginTop="20dp"
|
||||
android:layout_height="wrap_content"
|
||||
android:paddingStart="16dp"
|
||||
android:paddingEnd="16dp"
|
||||
android:paddingBottom="16dp"
|
||||
android:paddingTop="20dp"
|
||||
android:orientation="vertical">
|
||||
|
||||
<LinearLayout android:layout_width="match_parent"
|
||||
@@ -71,8 +73,8 @@
|
||||
android:id="@+id/or_divider"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:paddingTop="30dp"
|
||||
android:paddingBottom="30dp"
|
||||
android:paddingTop="25dp"
|
||||
android:paddingBottom="25dp"
|
||||
android:gravity="center"
|
||||
android:orientation="horizontal">
|
||||
|
||||
@@ -133,4 +135,4 @@
|
||||
|
||||
</LinearLayout>
|
||||
|
||||
</FrameLayout>
|
||||
</ScrollView>
|
||||
|
||||
@@ -41,6 +41,9 @@
|
||||
|
||||
<item android:title="@string/menu_more_options">
|
||||
<menu>
|
||||
<item android:title="@string/menu_add_attachment"
|
||||
android:id="@+id/menu_add_attachment" />
|
||||
|
||||
<item android:id="@+id/menu_leave"
|
||||
android:visible="false"
|
||||
android:title="@string/menu_leave_group"/>
|
||||
|
||||
@@ -1,5 +1,10 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<menu xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto">
|
||||
<item android:title="@string/save"
|
||||
android:id="@+id/menu_toggle_save"
|
||||
android:icon="@drawable/baseline_bookmark_border_24"
|
||||
app:showAsAction="ifRoom" />
|
||||
|
||||
<item android:title="@string/edit_message"
|
||||
android:id="@+id/menu_context_edit"
|
||||
android:icon="@drawable/ic_create_white_24dp"
|
||||
@@ -39,9 +44,9 @@
|
||||
android:id="@+id/menu_context_details"
|
||||
app:showAsAction="never" />
|
||||
|
||||
<!-- <item android:title="@string/notify_reply_button" -->
|
||||
<!-- android:id="@+id/menu_context_reply" -->
|
||||
<!-- app:showAsAction="never" /> -->
|
||||
<item android:title="@string/notify_reply_button"
|
||||
android:id="@+id/menu_context_reply"
|
||||
app:showAsAction="never" />
|
||||
|
||||
<item android:title="@string/reply_privately"
|
||||
android:id="@+id/menu_context_reply_privately"
|
||||
|
||||
@@ -118,6 +118,7 @@
|
||||
<string name="menu_zoom_in">تقريب</string>
|
||||
<string name="menu_zoom_out">تصغير</string>
|
||||
<string name="mute_for_one_hour">أكتم لمدة ساعة</string>
|
||||
<!-- deprecated -->
|
||||
<string name="mute_for_two_hours">أكتم لمدة ساعتين</string>
|
||||
<string name="mute_for_one_day">أكتم لمدة يوم</string>
|
||||
<string name="mute_for_seven_days">أكتم لمدة أسبوع</string>
|
||||
|
||||
@@ -159,6 +159,7 @@
|
||||
<string name="title_share_location">Qrup üzvlərinə yerləşdiyin yerini göndər</string>
|
||||
<string name="edit_contact">Kontakta dəyişiklik</string>
|
||||
<string name="mute_for_one_hour">1 saatlıq söndür</string>
|
||||
<!-- deprecated -->
|
||||
<string name="mute_for_two_hours">2 saatlıq söndür</string>
|
||||
<string name="mute_for_one_day">1 günlük söndür</string>
|
||||
<string name="mute_for_seven_days">7 günlük söndür</string>
|
||||
@@ -172,10 +173,6 @@
|
||||
|
||||
<!-- get confirmations -->
|
||||
<string name="ask_leave_group">Bu qrupu tərk etmək istədiyinizə əminsiniz?</string>
|
||||
<plurals name="ask_delete_chat">
|
||||
<item quantity="one">%d çat silmək? Artıq chat siyahısında göstərilməyəcək, mesajlar serverdə qalacaq.</item>
|
||||
<item quantity="other">%d çat silmək? Artıq chat siyahısında göstərilməyəcək, mesajlar serverdə qalacaq.</item>
|
||||
</plurals>
|
||||
<string name="ask_forward">Mesajları yönləndirin %1$sə-?</string>
|
||||
<string name="ask_export_attachment">Faylı ixrac etmək? Faylların ixracı cihazınızdakı hər hansı digər tətbiqlərə daxil olmağa imkan verəcəkdir. \n\n Razısan?</string>
|
||||
<string name="ask_block_contact">Bu kontaktı bloklamaq? Bu kontaktdan artıq mesaj qəbul etməyəcəksiniz.</string>
|
||||
|
||||
@@ -294,6 +294,7 @@
|
||||
<string name="donate">Дарение</string>
|
||||
|
||||
<string name="mute_for_one_hour">Спиране на звука за 1 час</string>
|
||||
<!-- deprecated -->
|
||||
<string name="mute_for_two_hours">Спиране на звука за 2 часа</string>
|
||||
<string name="mute_for_one_day">Спиране на звука за 1 ден</string>
|
||||
<string name="mute_for_seven_days">Спиране на звука за 7 дни</string>
|
||||
@@ -329,12 +330,7 @@
|
||||
|
||||
<!-- get confirmations -->
|
||||
<string name="ask_leave_group">Сигурни ли сте, че искате да напуснете тази група?</string>
|
||||
<plurals name="ask_delete_chat">
|
||||
<item quantity="one">Да бъде ли изтрит %d чат? Той повече няма да се показва в списъка с чатове, неговите съобщения ще останат на сървъра.</item>
|
||||
<item quantity="other">Да бъдат ли изтрити%d чата? Те повече няма да се показват в списъка с чатове; техните съобщения ще останат на сървъра.</item>
|
||||
</plurals>
|
||||
<string name="ask_delete_named_chat">Сигурни ли сте, че искате да изтриете %1$s?</string>
|
||||
<!-- deprecated, use ask_delete_messages -->
|
||||
<!-- Used for the deletion of Device messages -->
|
||||
<plurals name="ask_delete_messages_simple">
|
||||
<item quantity="one">Да бъде ли изтрито %d съобщение?</item>
|
||||
<item quantity="other">Да бъдат ли изтрити %d съобщения?</item>
|
||||
|
||||
@@ -228,6 +228,7 @@
|
||||
<string name="pin">دیسنیڌن</string>
|
||||
<string name="source_code">کود بونچک</string>
|
||||
<string name="mute_for_one_hour">بؽ دونگ کردن سی 1 ساعت</string>
|
||||
<!-- deprecated -->
|
||||
<string name="mute_for_two_hours">بؽ دونگ کردن سی 2 ساعت</string>
|
||||
<string name="mute_for_one_day">بؽ دونگ کردن سی 1 رۊ</string>
|
||||
<string name="mute_for_seven_days">بؽ دونگ کردن سی 7 رۊ</string>
|
||||
@@ -243,7 +244,7 @@
|
||||
|
||||
<string name="videochat">گوفت ۉ لوفت ویدیویی</string>
|
||||
<string name="videochat_invitation">موکش و گوفت ۉ لوفت ویدیویی</string>
|
||||
<!-- deprecated, use ask_delete_messages -->
|
||||
<!-- Used for the deletion of Device messages -->
|
||||
<plurals name="ask_delete_messages_simple">
|
||||
<item quantity="one">êxuy %d payom pāk bu?</item>
|
||||
<item quantity="other">اخۊی %d پیوم پاک بۊ؟</item>
|
||||
|
||||
@@ -28,6 +28,8 @@
|
||||
<string name="join">Uneix-te</string>
|
||||
<string name="rejoin">Torna a unir-te</string>
|
||||
<string name="delete">Esborra</string>
|
||||
<string name="delete_for_me">Esborra per a Mi</string>
|
||||
<string name="delete_for_everyone">Esborra per a Tothom</string>
|
||||
<string name="info">Info</string>
|
||||
<string name="update">Actualitza</string>
|
||||
<string name="emoji">Emojis</string>
|
||||
@@ -305,6 +307,7 @@
|
||||
<string name="menu_learn_spelling">Aprèn l\'ortografia</string>
|
||||
<string name="menu_chat_audit_log">Registre de l\'auditoria de xat</string>
|
||||
<string name="jump_to_message">Ves al missatge</string>
|
||||
<string name="jump_to_original_message">Vés al Missatge Original</string>
|
||||
<string name="copy_json">Copia el JSON</string>
|
||||
<string name="replace_draft">Substitueix l\'esborrany</string>
|
||||
<string name="title_share_location">Comparteix la ubicació amb tots els membres del grup</string>
|
||||
@@ -329,6 +332,7 @@
|
||||
<string name="donate">Feu un donatiu</string>
|
||||
|
||||
<string name="mute_for_one_hour">Silencia 1 hora</string>
|
||||
<!-- deprecated -->
|
||||
<string name="mute_for_two_hours">Silencia 2 hores</string>
|
||||
<string name="mute_for_one_day">Silencia 1 dia</string>
|
||||
<string name="mute_for_seven_days">Silencia 7 dies</string>
|
||||
@@ -365,11 +369,16 @@
|
||||
<!-- get confirmations -->
|
||||
<string name="ask_leave_group">Segur que voleu deixar aquest grup?</string>
|
||||
<plurals name="ask_delete_chat">
|
||||
<item quantity="one">Esborra %d xat? Ja no es mostrarà al llistat de xats, i els seus missatges no romandran al servidor.</item>
|
||||
<item quantity="other">Voleu esborrar %d xats? Ja no es mostraran al llistat de xats però els missatges es conservaran al servidor.</item>
|
||||
<item quantity="one">¿Esborrar %d xat de tots els teus dispositius?</item>
|
||||
<item quantity="other">¿Esborrar %d xats de tots els teus dispositius?</item>
|
||||
</plurals>
|
||||
<string name="ask_delete_named_chat">Voleu esborrar el xat «%1$s»? Ja no es mostrarà més en el llistat de xats i els missatges romandran al servidor.</string>
|
||||
<!-- deprecated, use ask_delete_messages -->
|
||||
<string name="ask_delete_named_chat">¿Esborrar xat \"%1$s\" de tots els teus dispositius?</string>
|
||||
<string name="ask_delete_message">¿Esborra aquest missatge de tots els teus dispositius?</string>
|
||||
<plurals name="ask_delete_messages">
|
||||
<item quantity="one">¿Esborra %d missatge de tots els teus dispositius?</item>
|
||||
<item quantity="other">¿Esborra %d missatges de tots els teus dispositius?</item>
|
||||
</plurals>
|
||||
<!-- Used for the deletion of Device messages -->
|
||||
<plurals name="ask_delete_messages_simple">
|
||||
<item quantity="one">Vols esborrar %d missatge?</item>
|
||||
<item quantity="other">Voleu esborrar %d missatges?</item>
|
||||
@@ -546,6 +555,7 @@
|
||||
<string name="multidevice_receiver_title">Afegeix com a segon dispositiu</string>
|
||||
<string name="multidevice_open_settings_on_other_device">En el primer dispositiu, aneu a «Configuració / Afegeix un segon dispositiu» i escanegeu el codi que es mostra allà.</string>
|
||||
<string name="multidevice_receiver_scanning_ask">Voleu copiar el perfil de l\'altre dispositiu en aquest?</string>
|
||||
<string name="multidevice_receiver_needs_update">El perfil que vols importar prové d\'una versió més recent de Delta Chat.\n\nPer continuar configurant el segon dispositiu, actualitza aquest dispositiu a l\'última versió de Delta Chat.</string>
|
||||
<string name="multidevice_abort">Voleu cancel·lar la configuració d\'un segon dispositiu?</string>
|
||||
<string name="multidevice_abort_will_invalidate_copied_qr">Això invalidarà el codi QR copiat al porta-retalls.</string>
|
||||
<string name="multidevice_experimental_hint">(experimental, es requereix la versió 1.36)</string>
|
||||
@@ -659,9 +669,7 @@
|
||||
<string name="accept_invalid_certificates">Accepta certificats no vàlids</string>
|
||||
<string name="switch_account">Canvia el perfil</string>
|
||||
<string name="add_account">Afegeix un compte</string>
|
||||
<string name="profile_tag">Etiqueta privada</string>
|
||||
<string name="profile_tag_hint">p.ex. treball, família</string>
|
||||
<string name="profile_tag_explain">Etiqueteu allò que és visible només per a vós. Això us ajuda a diferenciar els vostres perfils.</string>
|
||||
<!-- Menu entry to sort an item to the beginning of a list. Only "To Top" may do as well in some translations, if that helps to stay shorter. -->
|
||||
<string name="move_to_top">Desplaçat a l\'inici</string>
|
||||
<string name="delete_account">Esborra el perfil</string>
|
||||
|
||||
@@ -205,6 +205,7 @@
|
||||
<string name="ConversationFragment_quoted_message_not_found">پەیامە ڕەسەنەکە نەدۆزرایەوە</string>
|
||||
<string name="reply_privately">وەڵامدانەوەی نهێنی</string>
|
||||
<string name="mute_for_one_hour">بێدەنگ کردن بۆ ماوەی 1 کاتژمێر</string>
|
||||
<!-- deprecated -->
|
||||
<string name="mute_for_two_hours">بێدەنگ کردن بۆ ماوەی 2 کاتژمێر</string>
|
||||
<string name="mute_for_one_day">بێدەنگ کردن بۆ ماوەی 1 ڕۆژ</string>
|
||||
<string name="mute_for_seven_days">بێدەنگ کردن بۆ ماوەی 7 ڕۆژ</string>
|
||||
@@ -237,11 +238,6 @@
|
||||
|
||||
<!-- get confirmations -->
|
||||
<string name="ask_leave_group">دڵنیای دەتەوێت ئەم کۆڕە بەجێ بێڵیت؟</string>
|
||||
<plurals name="ask_delete_chat">
|
||||
<item quantity="one">%d وتووێژ دەسڕیتەوە؟ ئیدی لە نیو لیستەی وتووێژەکاندا دیار نامێنن، بەڵام پەیامەکانیان لەسەر سێرڤەر دەمێنێتەوە.</item>
|
||||
<item quantity="other">%d وتووێژ دەسڕیتەوە؟ ئیدی لە نێو لیستەی وتووێژەکاندا دیار نامێنن، بەڵام پەیامەکانیان لەسەر سێرڤەر دەمێنێتەوە.</item>
|
||||
</plurals>
|
||||
<string name="ask_delete_named_chat">دڵنیای دەتەوێت \"%1$s\" بسڕیتەوە؟</string>
|
||||
<string name="ask_forward">ئەو پەیامانە دەنێریت بۆ %1$s؟</string>
|
||||
<string name="ask_forward_multiple">ئەو پەیامانە دەنێریت بۆ نێو %1$dوتووێژ؟</string>
|
||||
<string name="ask_export_attachment">پێوەلکاوەکە هەناردە دەکەیت؟ هەناردەکردنی پێوەلکاوەکان وادەکات نەرمامێرەکانی دیکەی سەر مۆبایلەکەت بتوانن دەستیان بەو بەڵگە هەناردەکراوە بگات.\n\n بەردەوام دەبیت؟</string>
|
||||
|
||||
+821
-429
File diff suppressed because it is too large
Load Diff
@@ -224,6 +224,7 @@
|
||||
<string name="ConversationFragment_quoted_message_not_found">Oprindelig besked ikke fundet</string>
|
||||
<string name="reply_privately">Svar privat</string>
|
||||
<string name="mute_for_one_hour">Dæmp i 1 time</string>
|
||||
<!-- deprecated -->
|
||||
<string name="mute_for_two_hours">Dæmp i 2 timer</string>
|
||||
<string name="mute_for_one_day">Dæmp i 1 dag</string>
|
||||
<string name="mute_for_seven_days">Dæmp i 7 dage</string>
|
||||
@@ -256,12 +257,7 @@
|
||||
|
||||
<!-- get confirmations -->
|
||||
<string name="ask_leave_group">Forlad denne gruppe?</string>
|
||||
<plurals name="ask_delete_chat">
|
||||
<item quantity="one">Slette %d samtale? Den vil ikke længere blive vist i samtale listen, dens beskeder vil forblive på serveren.</item>
|
||||
<item quantity="other">Slet %d samtaler? De vil ikke længere blive vist i samtale listen, deres beskeder vil forblive på serveren.</item>
|
||||
</plurals>
|
||||
<string name="ask_delete_named_chat">Er du sikker på at du vil slette \"%1$s\"?</string>
|
||||
<!-- deprecated, use ask_delete_messages -->
|
||||
<!-- Used for the deletion of Device messages -->
|
||||
<plurals name="ask_delete_messages_simple">
|
||||
<item quantity="one">Slet %d besked?</item>
|
||||
<item quantity="other">Slet %d beskeder?</item>
|
||||
|
||||
@@ -332,7 +332,9 @@
|
||||
<string name="donate">Spenden</string>
|
||||
|
||||
<string name="mute_for_one_hour">Stumm für 1 Stunde</string>
|
||||
<!-- deprecated -->
|
||||
<string name="mute_for_two_hours">Stumm für 2 Stunden</string>
|
||||
<string name="mute_for_eight_hours">Stumm für 8 Stunden</string>
|
||||
<string name="mute_for_one_day">Stumm für 1 Tag</string>
|
||||
<string name="mute_for_seven_days">Stumm für 7 Tage</string>
|
||||
<string name="mute_forever">Stumm für immer</string>
|
||||
@@ -369,16 +371,16 @@
|
||||
<!-- get confirmations -->
|
||||
<string name="ask_leave_group">Diese Gruppe verlassen?</string>
|
||||
<plurals name="ask_delete_chat">
|
||||
<item quantity="one">%d Chat löschen? Gelöschte Chats werden nicht länger in der Chat-Liste angezeigt, die Nachrichten verbleiben auf dem Server.</item>
|
||||
<item quantity="other">%d Chats löschen?</item>
|
||||
<item quantity="one">%d Chat von allen Geräten löschen?</item>
|
||||
<item quantity="other">%d Chats von allen Geräten löschen?</item>
|
||||
</plurals>
|
||||
<string name="ask_delete_named_chat">Chat \"%1$s\" löschen?</string>
|
||||
<string name="ask_delete_named_chat">Chat \"%1$s\" von allen Geräten löschen?</string>
|
||||
<string name="ask_delete_message">Diese Nachricht von allen Geräten löschen?</string>
|
||||
<plurals name="ask_delete_messages">
|
||||
<item quantity="one">%d Nachricht von allen Geräten löschen?</item>
|
||||
<item quantity="other">%d Nachrichten von allen Geräten löschen?</item>
|
||||
</plurals>
|
||||
<!-- deprecated, use ask_delete_messages -->
|
||||
<!-- Used for the deletion of Device messages -->
|
||||
<plurals name="ask_delete_messages_simple">
|
||||
<item quantity="one">%d Nachricht löschen?</item>
|
||||
<item quantity="other">%d Nachrichten löschen?</item>
|
||||
@@ -669,9 +671,10 @@
|
||||
<string name="accept_invalid_certificates">Ungültige Zertifikate akzeptieren</string>
|
||||
<string name="switch_account">Profil wechseln</string>
|
||||
<string name="add_account">Profil hinzufügen</string>
|
||||
<string name="profile_tag">Private Bezeichnung</string>
|
||||
<!-- for translations, you can also think of "Profile Tag" or "Profile Description" as the source string -->
|
||||
<string name="profile_tag">Profilbeschreibung</string>
|
||||
<string name="profile_tag_hint">z.B. Familie, Arbeit, Freunde</string>
|
||||
<string name="profile_tag_explain">Die Bezeichnung ist nur für Sie sichtbar um zwischen Profilen zu unterscheiden.</string>
|
||||
<string name="profile_tag_explain">Die Beschreibung ist nur für Sie sichtbar um zwischen Profilen zu unterscheiden.</string>
|
||||
<!-- Menu entry to sort an item to the beginning of a list. Only "To Top" may do as well in some translations, if that helps to stay shorter. -->
|
||||
<string name="move_to_top">Nach oben</string>
|
||||
<string name="delete_account">Profil löschen</string>
|
||||
|
||||
@@ -264,6 +264,7 @@
|
||||
<!-- Menu item beside an app/chat that adds an icon to the system's home screen. If the user taps that icon, the app/chat is opened directly. -->
|
||||
<string name="add_to_home_screen">Προσθήκη στην κεντρική οθόνη</string>
|
||||
<string name="mute_for_one_hour">Σίγαση για 1 ώρα</string>
|
||||
<!-- deprecated -->
|
||||
<string name="mute_for_two_hours">Σίγαση για 2 ώρες</string>
|
||||
<string name="mute_for_one_day">Σίγαση για 1 ημέρα</string>
|
||||
<string name="mute_for_seven_days">Σίγαση για 7 ημέρες</string>
|
||||
@@ -299,12 +300,7 @@
|
||||
|
||||
<!-- get confirmations -->
|
||||
<string name="ask_leave_group">Είστε σίγουρος/-η ότι θέλετε να βγείτε από αυτή την ομάδα;</string>
|
||||
<plurals name="ask_delete_chat">
|
||||
<item quantity="one">Διαγραφή %d συνομιλίας; Δεν θα εμφανίζετε πλέον στη λίστα συνομιλιών, αλλά τα μηνύματά της θα παραμείνουν στον διακομιστή.</item>
|
||||
<item quantity="other">Διαγραφή %d συνομιλιών; Δεν θα εμφανίζονται πλέον στη λίστα συνομιλιών, αλλά τα μηνύματά τους θα παραμείνουν στον διακομιστή.</item>
|
||||
</plurals>
|
||||
<string name="ask_delete_named_chat">Είστε σίγουρος ότι θέλετε να διαγράψετε \"%1$s\";</string>
|
||||
<!-- deprecated, use ask_delete_messages -->
|
||||
<!-- Used for the deletion of Device messages -->
|
||||
<plurals name="ask_delete_messages_simple">
|
||||
<item quantity="one">Διαγραφή %d μηνύματος;</item>
|
||||
<item quantity="other">Διαγραφή %d μηνυμάτων;</item>
|
||||
|
||||
@@ -267,6 +267,7 @@
|
||||
<!-- Opposite of "Pin chat", removing the sticky-state from a chat. -->
|
||||
<string name="unpin">Depingli</string>
|
||||
<string name="mute_for_one_hour">Silentigi por 1 horo</string>
|
||||
<!-- deprecated -->
|
||||
<string name="mute_for_two_hours">Silentigi por 2 horoj</string>
|
||||
<string name="mute_for_one_day">Silentigi por 1 tago</string>
|
||||
<string name="mute_for_seven_days">Silentigi por 7 tagoj</string>
|
||||
@@ -282,11 +283,6 @@
|
||||
|
||||
<!-- get confirmations -->
|
||||
<string name="ask_leave_group">Ĉu vi estas certa, ke vi volas forlasi tiun ĉi grupon?</string>
|
||||
<plurals name="ask_delete_chat">
|
||||
<item quantity="one">Ĉu forigi %d babilon? Ĝi ne plu troveblos en la babilaro, tamen ĝiaj mesaĝoj plurestos en la servilo.</item>
|
||||
<item quantity="other">Ĉu forigi %d babilojn? Ili ne plu troveblos en la babilaro, tamen iliaj mesaĝoj plurestos en la servilo.</item>
|
||||
</plurals>
|
||||
<string name="ask_delete_named_chat">Ĉu vi certas, ke vi deziras forigi \"%1$s\"?</string>
|
||||
<string name="ask_forward">Plusendi mesaĝojn al %1$s?</string>
|
||||
<!-- deprecated -->
|
||||
<string name="cannot_delete_contacts_in_use">Ne eblas forigi kontaktojn kun aktualaj babiloj.</string>
|
||||
|
||||
@@ -1,14 +1,26 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<resources xmlns:tools="http://schemas.android.com/tools" tools:ignore="MissingTranslation">
|
||||
<!-- custom strings -->
|
||||
<string name="community">Comunidad</string>
|
||||
<string name="description">Descripción</string>
|
||||
<string name="ask_join_community">¿Quieres unirte a la comunidad \"%1$s\"?</string>
|
||||
<string name="community_set_name_explain">Establece un nombre que otros puedan reconocer.</string>
|
||||
<string name="or_separator">o</string>
|
||||
<string name="online">en línea</string>
|
||||
<string name="pink">Rosa</string>
|
||||
<string name="gray">Gris</string>
|
||||
<string name="share_location_for_12_hours">Por 12 horas</string>
|
||||
<string name="super_group">Súper Grupo</string>
|
||||
<string name="channel">Canal</string>
|
||||
<string name="public_bots">🤖 Bots Públicos</string>
|
||||
<string name="force_e2ee">Forzar el cifrado de extremo a extremo</string>
|
||||
<string name="disable_force_e2ee_warning">⚠️ Si desactivas esta opción, no estarás protegido contra el envío accidental de mensajes no cifrados. Desactiva esta opción únicamente si quieres enviar correos electrónicos no cifrados con tu cuenta de correo electrónico clásica.</string>
|
||||
<!-- End of custom strings -->
|
||||
|
||||
<!-- common strings without special context -->
|
||||
<string name="app_name">Delta Chat</string>
|
||||
<string name="ok">OK</string>
|
||||
<string name="cancel">Cancelar</string>
|
||||
<string name="or_separator">o</string>
|
||||
<string name="clear_search">Borrar búsqueda</string>
|
||||
<!-- a noun, used on a button, short for "show link" -->
|
||||
<string name="link">Enlace</string>
|
||||
@@ -33,6 +45,8 @@
|
||||
<string name="join">Unirse</string>
|
||||
<string name="rejoin">Volver a unirse</string>
|
||||
<string name="delete">Eliminar</string>
|
||||
<string name="delete_for_me">Eliminar solo para mí</string>
|
||||
<string name="delete_for_everyone">Eliminar para todos</string>
|
||||
<string name="info">Información</string>
|
||||
<string name="update">Actualización</string>
|
||||
<string name="emoji">Emoji</string>
|
||||
@@ -46,6 +60,8 @@
|
||||
<string name="later">Luego</string>
|
||||
<!-- "Resend" means "Sending the selected message(s) again to the same chat". The string is used in a menu and should be as short as possible. Resending may be needed after failures or to repost old messages to new members. -->
|
||||
<string name="resend">Volver a enviar</string>
|
||||
<string name="edited">Editado</string>
|
||||
<string name="edit_message">Editar mensaje</string>
|
||||
<!-- Verb "to archive", as in "put a chat in the archive", not a noun "The Archive". -->
|
||||
<string name="archive">Archivar</string>
|
||||
<!-- Verb "to unarchive", as in "remove a chat from the archive", opposite of the previous string -->
|
||||
@@ -112,7 +128,6 @@
|
||||
<!-- Refers to the time a contact was last seen. Shown below contact name in the profile. The placeholder will be replaced by a relative point in time as "3 minutes ago" (see https://momentjs.com for more examples and languages)-->
|
||||
<string name="last_seen_relative">últ. vez: %1$s</string>
|
||||
<string name="last_seen_unknown">últ. vez: Desconocido</string>
|
||||
<string name="online">en línea</string>
|
||||
<!-- Shown beside messages that are "N minutes old". Prefer short strings, or well-known abbreviations. -->
|
||||
<plurals name="n_minutes">
|
||||
<item quantity="one">%d min</item>
|
||||
@@ -219,8 +234,6 @@
|
||||
<string name="purple">Púrpura</string>
|
||||
<string name="magenta">Magenta</string>
|
||||
<string name="white">Blanco</string>
|
||||
<string name="pink">Rosa</string>
|
||||
<string name="gray">Gris</string>
|
||||
|
||||
<string name="zoom">Zoom</string>
|
||||
<string name="extra_small">Muy pequeño</string>
|
||||
@@ -238,6 +251,8 @@
|
||||
<string name="new_classic_contact_explain">Los contactos añadidos manualmente se pueden utilizar para enviar mensajes a contactos que usan clientes de correo electrónico clásico y no se garantiza que estén cifrados de extremo a extremo.</string>
|
||||
<string name="menu_new_chat">Nuevo chat</string>
|
||||
<string name="menu_new_group">Nuevo grupo</string>
|
||||
<!-- "Chat" is a verb here, "Message to" would also fit. the string might be used in the "New Chat" screen above the contact list -->
|
||||
<string name="chat_with">Chatear con...</string>
|
||||
<string name="clone_chat">Clonar chat</string>
|
||||
<!-- consider keeping the term "broadcast" as in WhatsApp or Telegram -->
|
||||
<string name="broadcast_list">Difusión</string>
|
||||
@@ -318,6 +333,7 @@
|
||||
<string name="menu_learn_spelling">Aprender ortografía</string>
|
||||
<string name="menu_chat_audit_log">Registro de auditoría de chat</string>
|
||||
<string name="jump_to_message">Saltar al mensaje</string>
|
||||
<string name="jump_to_original_message">Saltar al mensaje original</string>
|
||||
<string name="copy_json">Copiar JSON</string>
|
||||
<string name="replace_draft">Reemplazar borrador</string>
|
||||
<string name="title_share_location">Compartir ubicación con todos los miembros del grupo</string>
|
||||
@@ -342,6 +358,7 @@
|
||||
<string name="donate">Donar</string>
|
||||
|
||||
<string name="mute_for_one_hour">Silenciar por 1 hora</string>
|
||||
<!-- deprecated -->
|
||||
<string name="mute_for_two_hours">Silenciar por 2 horas</string>
|
||||
<string name="mute_for_one_day">Silenciar por 1 día</string>
|
||||
<string name="mute_for_seven_days">Silenciar por 7 días</string>
|
||||
@@ -352,7 +369,6 @@
|
||||
<string name="share_location_for_one_hour">Por 1 hora</string>
|
||||
<string name="share_location_for_two_hours">Por 2 horas</string>
|
||||
<string name="share_location_for_six_hours">Por 6 horas</string>
|
||||
<string name="share_location_for_12_hours">Por 12 horas</string>
|
||||
|
||||
<plurals name="ask_send_following_n_files_to">
|
||||
<item quantity="one">¿Enviar el archivo a %s?</item>
|
||||
@@ -380,12 +396,18 @@
|
||||
<!-- get confirmations -->
|
||||
<string name="ask_leave_group">¿Seguro que deseas abandonar este grupo? </string>
|
||||
<plurals name="ask_delete_chat">
|
||||
<item quantity="one">¿Eliminar %d chat? No volverá a ser mostrado en la lista de chats, pero sus mensajes permanecerán en el servidor.</item>
|
||||
<item quantity="many">¿Eliminar %d chats? No volverán a ser mostrados en la lista de chats, pero sus mensajes permanecerán en el servidor.</item>
|
||||
<item quantity="other">¿Eliminar %d chats? No volverán a ser mostrados en la lista de chats, pero sus mensajes permanecerán en el servidor.</item>
|
||||
<item quantity="one">¿Eliminar %d chat de todos tus dispositivos?</item>
|
||||
<item quantity="many">¿Eliminar %d chats de todos tus dispositivos?</item>
|
||||
<item quantity="other">¿Eliminar %d chats de todos tus dispositivos?</item>
|
||||
</plurals>
|
||||
<string name="ask_delete_named_chat">¿Estás seguro de que deseas eliminar \"%1$s\"?</string>
|
||||
<!-- deprecated, use ask_delete_messages -->
|
||||
<string name="ask_delete_named_chat">¿Eliminar chat \"%1$s\" de todos tus dispositivos?</string>
|
||||
<string name="ask_delete_message">¿Eliminar este mensaje de todos tus dispositivos?</string>
|
||||
<plurals name="ask_delete_messages">
|
||||
<item quantity="one">¿Eliminar %d mensaje de todos tus dispositivos?</item>
|
||||
<item quantity="many">¿Eliminar %d mensajes de todos tus dispositivos?</item>
|
||||
<item quantity="other">¿Eliminar %d mensajes de todos tus dispositivos?</item>
|
||||
</plurals>
|
||||
<!-- Used for the deletion of Device messages -->
|
||||
<plurals name="ask_delete_messages_simple">
|
||||
<item quantity="one">¿Eliminar %d mensaje?</item>
|
||||
<item quantity="many">¿Eliminar %d mensajes?</item>
|
||||
@@ -468,13 +490,8 @@
|
||||
|
||||
<!-- mailing lists -->
|
||||
<string name="mailing_list">Lista de correo</string>
|
||||
<string name="super_group">Súper Grupo</string>
|
||||
<string name="channel">Canal</string>
|
||||
<string name="mailing_list_profile_info">Los cambios en el nombre y la imagen de la lista de correo solo se aplican a este dispositivo.</string>
|
||||
|
||||
<!-- extra services -->
|
||||
<string name="public_bots">🤖 Bots Públicos</string>
|
||||
|
||||
<!-- webxdc -->
|
||||
<!-- "Start..." button for an app -->
|
||||
<string name="start_app">Iniciar…</string>
|
||||
@@ -525,12 +542,12 @@
|
||||
<string name="group_create_button">Crear grupo</string>
|
||||
<string name="group_please_enter_group_name">Por favor introduzca un nombre para el grupo.</string>
|
||||
<string name="group_add_members">Añadir miembros</string>
|
||||
<string name="group_add_member">Añadir miembro</string>
|
||||
<string name="group_remove_member">Eliminar miembro</string>
|
||||
<string name="group_self_not_in_group">Debes ser un miembro del grupo para realizar esta acción.</string>
|
||||
<string name="profile_encryption">Cifrado</string>
|
||||
<string name="profile_shared_chats">Chats compartidos</string>
|
||||
<string name="related_chats">Chats similares</string>
|
||||
<!-- Separator between the list of actual members and past members -->
|
||||
<string name="past_members">Miembros anteriores</string>
|
||||
<string name="tab_contact">Contacto</string>
|
||||
<string name="tab_group">Grupo</string>
|
||||
<string name="tab_gallery">Galería</string>
|
||||
@@ -544,6 +561,7 @@
|
||||
<string name="tab_audio_empty_hint">Los archivos de audio y los mensajes de voz compartidos en este chat se mostrarán aquí.</string>
|
||||
<string name="tab_webxdc_empty_hint">Apps compartidas en este chat se mostrarán aquí</string>
|
||||
<string name="tab_all_media_empty_hint">La multimedia compartida en cualquier chat aparecerá aquí</string>
|
||||
<string name="all_files_empty_hint">Documentos y otros archivos compartidos en cualquier chat se mostrarán aquí.</string>
|
||||
<string name="all_apps_empty_hint">Aplicaciones privadas recibidas o enviadas en cualquier chat aparecerán aquí.</string>
|
||||
<string name="media_preview">Vista previa de multimedia</string>
|
||||
<!-- option to show images in the gallery with the correct width/height aspect (instead of square); other gallery apps may be a source of inspiration for translation :) -->
|
||||
@@ -570,6 +588,7 @@
|
||||
<string name="multidevice_receiver_title">Añadir desde otro dispositivo</string>
|
||||
<string name="multidevice_open_settings_on_other_device">En el primer dispositivo, ve a \"Ajustes / Añadir otro dispositivo\" y escanea el código mostrado allí</string>
|
||||
<string name="multidevice_receiver_scanning_ask">¿Copiar la cuenta del otro dispositivo a este dispositivo?</string>
|
||||
<string name="multidevice_receiver_needs_update">El perfil que quieres importar es de una versión de Delta Chat más reciente.\n\nPara continuar configurando el segundo dispositivo, actualice este dispositivo a la última versión de Delta Chat.</string>
|
||||
<string name="multidevice_abort">¿Cancelar la configuración del nuevo dispositivo?</string>
|
||||
<string name="multidevice_abort_will_invalidate_copied_qr">Esto invalidará el código QR copiado al portapapeles </string>
|
||||
<string name="multidevice_experimental_hint">(experimental, requiere versión 1.36)</string>
|
||||
@@ -683,7 +702,8 @@
|
||||
<string name="accept_invalid_certificates">Aceptar certificados no válidos</string>
|
||||
<string name="switch_account">Cambiar cuenta</string>
|
||||
<string name="add_account">Agregar cuenta</string>
|
||||
<string name="profile_tag">Etiqueta privada</string>
|
||||
<!-- for translations, you can also think of "Profile Tag" or "Profile Description" as the source string -->
|
||||
<string name="profile_tag">Etiqueta de perfil</string>
|
||||
<string name="profile_tag_hint">ej. Trabajo, Familia</string>
|
||||
<string name="profile_tag_explain">Etiqueta que es visible sólo para ti; útil para diferenciar tus perfiles.</string>
|
||||
<!-- Menu entry to sort an item to the beginning of a list. Only "To Top" may do as well in some translations, if that helps to stay shorter. -->
|
||||
@@ -1212,6 +1232,8 @@
|
||||
<string name="perm_enable_bg_already_done">Ya has permitido que Delta Chat reciba mensajes en segundo plano.\n\nSi los mensajes aún no llegan en segundo plano, compruebe también la configuración de su sistema.</string>
|
||||
|
||||
<!-- device messages for updates -->
|
||||
<string name="update_1_56_android">🔮 ¿Qué hay de nuevo?\n\n★ añadida opción para silenciar chats durante 8 horas\n\n★ solucionado problema con el candado que no aparecía en algunos los mensajes\n\n★ pegar siempre como texto sin formato en el área de borradores de mensajes\n\n★ permitir desplazarse en la pantalla de registro en pantallas pequeñas\n\n★ eliminadas opciones de cifrado peligrosas de la configuración avanzada\n\n\n💜 Muestra tu amor y apoyo al desarrollo de Delta Chat: %1$s</string>
|
||||
|
||||
<string name="update_1_50_android">¿Qué hay de nuevo?\n\n❤️🔥 Nuevo selector de emojis con más emojis\n\n🎮 Aplicaciones de chat mejoradas: recibe notificaciones y abre aplicaciones en contexto, por ejemplo, abre una entrada de calendario agregada directamente\n\n👍 Recibe notificaciones sobre las reacciones a tus mensajes\n\n... 🛠️ CORRECCIONES y AÚN MÁS en %1$s</string>
|
||||
<string name="update_switch_profile_placement">ℹ️ Se movió la opción \"Cambiar perfil\": toca tu imagen de perfil en la esquina superior de la pantalla principal para agregar o cambiar perfiles 💡</string>
|
||||
</resources>
|
||||
|
||||
@@ -177,6 +177,7 @@
|
||||
<!-- Opposite of "Pin chat", removing the sticky-state from a chat. -->
|
||||
<string name="unpin">Desfinkatu</string>
|
||||
<string name="mute_for_one_hour">Mututu ordubete</string>
|
||||
<!-- deprecated -->
|
||||
<string name="mute_for_two_hours">Mututu 2 ordu</string>
|
||||
<string name="mute_for_one_day">Mututu egun bat</string>
|
||||
<string name="mute_for_seven_days">Mututu 7 egun</string>
|
||||
@@ -192,10 +193,6 @@
|
||||
|
||||
<!-- get confirmations -->
|
||||
<string name="ask_leave_group">Ziur talde honetatik atera nahi duzula?</string>
|
||||
<plurals name="ask_delete_chat">
|
||||
<item quantity="one">Ezabatu txat %d? Ez da gehiago agertuko txaten zerrendan, mezuak zerbitzarian mantenduko dira.</item>
|
||||
<item quantity="other">Ezabatu %d txat? Ez dira gehiago agertuko txaten zerrendan, mezuak zerbitzarian mantenduko dira.</item>
|
||||
</plurals>
|
||||
<string name="ask_forward">Birbidali mezuak %1$s erabiltzaileari?</string>
|
||||
<string name="ask_export_attachment">Esportatu eranskina? Eranskinak esportatzeak zure beste gailuko beste aplikazioek atzitzea ahalbidetuko du.\n\nJarraitu?</string>
|
||||
<string name="ask_block_contact">Blokeatu kontaktu hau? Ez dituzu kontaktu honen mezu gehiago jasoko.</string>
|
||||
|
||||
@@ -316,6 +316,7 @@
|
||||
<string name="donate">حمایت مالی</string>
|
||||
|
||||
<string name="mute_for_one_hour">ساکت کردن به مدت۱ ساعت</string>
|
||||
<!-- deprecated -->
|
||||
<string name="mute_for_two_hours">ساکت کردن به مدت ۲ ساعت</string>
|
||||
<string name="mute_for_one_day">ساکت کردن به مدت ۱ روز</string>
|
||||
<string name="mute_for_seven_days">ساکت کردن به مدت۷ روز</string>
|
||||
@@ -354,12 +355,7 @@ https://meet.jit.si/$ROOM
|
||||
|
||||
<!-- get confirmations -->
|
||||
<string name="ask_leave_group">مطمئن هستید میخواهید این گروه را ترک کنید؟</string>
|
||||
<plurals name="ask_delete_chat">
|
||||
<item quantity="one">پاک کردن %d گپ؟ دیگر در لیست گپها نشان داده نخواهد شد ولی پیامها در سرور باقی میمانند. </item>
|
||||
<item quantity="other">پاک کردن %d گپ؟ دیگر در فهرست گپها نشان داده نخواهند شد؛ ولی پیامها در کارساز باقی میمانند. </item>
|
||||
</plurals>
|
||||
<string name="ask_delete_named_chat">اطمینان دارید میخواهید «%1$s» را پاک کنید؟</string>
|
||||
<!-- deprecated, use ask_delete_messages -->
|
||||
<!-- Used for the deletion of Device messages -->
|
||||
<plurals name="ask_delete_messages_simple">
|
||||
<item quantity="one">میخواهید %dپیام پاک شود؟</item>
|
||||
<item quantity="other">میخواهید %d پیام پاک شود؟</item>
|
||||
@@ -647,9 +643,7 @@ https://meet.jit.si/$ROOM
|
||||
<string name="accept_invalid_certificates">پذیرش گواهینامههای نامعتبر</string>
|
||||
<string name="switch_account">تغییر حساب کاربری</string>
|
||||
<string name="add_account">افزودن حساب کاربری</string>
|
||||
<string name="profile_tag">پرچسب شخصی</string>
|
||||
<string name="profile_tag_hint">مثل «کار» یا «خانواده»</string>
|
||||
<string name="profile_tag_explain">این برچسب تنها به شما نمایش داده میشود تا برای تشخیص دادن نمایهها از یک دیگر کمک کند.</string>
|
||||
<string name="delete_account">حذف حساب کاربری</string>
|
||||
<string name="delete_account_ask">آیا از حذف حساب کاربری اطمینان دارید؟</string>
|
||||
<string name="delete_account_explain_with_name">همه اطلاعات حساب مربوط به «%s» روی این دستگاه پاک میشود. این شامل تنظیمهای رمزگذاری سراسری، مخاطبین، گفتگوها، پیامها و رسانهها میشود. این عمل قابل بازگردانی نیست.</string>
|
||||
|
||||
@@ -294,6 +294,7 @@
|
||||
<string name="donate">Lahjoita</string>
|
||||
|
||||
<string name="mute_for_one_hour">Mykistä 1 tunniksi</string>
|
||||
<!-- deprecated -->
|
||||
<string name="mute_for_two_hours">Mykistä 2 tunniksi</string>
|
||||
<string name="mute_for_one_day">Mykistä 1 päiväksi</string>
|
||||
<string name="mute_for_seven_days">Mykistä 7 päiväksi</string>
|
||||
@@ -329,12 +330,7 @@
|
||||
|
||||
<!-- get confirmations -->
|
||||
<string name="ask_leave_group">Haluatko varmasti poistua tästä ryhmästä?</string>
|
||||
<plurals name="ask_delete_chat">
|
||||
<item quantity="one">Poista %d keskustelu? Se ei enää näy keskustelulistauksessa, mutta sen viestit jäävät palvelimelle.</item>
|
||||
<item quantity="other">Poista %d keskustelua? Ne eivät enää näy keskustelulistauksessa, mutta niiden viestit jäävät palvelimelle.</item>
|
||||
</plurals>
|
||||
<string name="ask_delete_named_chat">Haluatko varmasti poistaa \"%1$s\"?</string>
|
||||
<!-- deprecated, use ask_delete_messages -->
|
||||
<!-- Used for the deletion of Device messages -->
|
||||
<plurals name="ask_delete_messages_simple">
|
||||
<item quantity="one">Poista %d viesti?</item>
|
||||
<item quantity="other">Poista %d viestiä?</item>
|
||||
|
||||
@@ -337,6 +337,7 @@
|
||||
<string name="donate">Faire un don</string>
|
||||
|
||||
<string name="mute_for_one_hour">Désactiver pour 1 heure</string>
|
||||
<!-- deprecated -->
|
||||
<string name="mute_for_two_hours">Désactiver pour 2 heures</string>
|
||||
<string name="mute_for_one_day">Désactiver pour 1 jour</string>
|
||||
<string name="mute_for_seven_days">Désactiver pour 7 jours</string>
|
||||
@@ -374,18 +375,12 @@
|
||||
|
||||
<!-- get confirmations -->
|
||||
<string name="ask_leave_group">Voulez-vous vraiment quitter ce groupe ?</string>
|
||||
<plurals name="ask_delete_chat">
|
||||
<item quantity="one">Supprimer %d discussion ? Elle n\'apparaîtra plus dans la liste des discussions, mais les messages échangés resteront sur le serveur.</item>
|
||||
<item quantity="many">Supprimer %d discussions ? Elles n\'apparaîtront plus dans la liste des discussions, mais les messages qu\'elles contiennent resteront sur le serveur.</item>
|
||||
<item quantity="other">Supprimer %d discussions ? Elles n\'apparaîtront plus dans la liste des discussions, mais les messages qu\'elles contiennent resteront sur le serveur.</item>
|
||||
</plurals>
|
||||
<string name="ask_delete_named_chat">Voulez-vous vraiment supprimer « %1$s » ?</string>
|
||||
<plurals name="ask_delete_messages">
|
||||
<item quantity="one">Effacer %d message ici et sur le serveur ?</item>
|
||||
<item quantity="many">Effacer %d messages ici et sur le serveur ?</item>
|
||||
<item quantity="other">Effacer %d messages ici et sur le serveur ?</item>
|
||||
</plurals>
|
||||
<!-- deprecated, use ask_delete_messages -->
|
||||
<!-- Used for the deletion of Device messages -->
|
||||
<plurals name="ask_delete_messages_simple">
|
||||
<item quantity="one">Supprimer %d message ?</item>
|
||||
<item quantity="many">Supprimer %d messages ?</item>
|
||||
@@ -611,7 +606,7 @@
|
||||
<!-- Instant onboarding title (there is not more to do than to set name and avatar) -->
|
||||
<string name="instant_onboarding_title">Votre compte</string>
|
||||
<!-- The placeholder will be replaced by the default onboarding server -->
|
||||
<string name="instant_onboarding_agree_default2">Politique de confidentialité pour %1$s</string>
|
||||
<string name="instant_onboarding_agree_default2">Conditions générales et politique de confidentialité pour %1$s</string>
|
||||
<!-- The placeholder will be replaced by instance name, the whole text will link to the instance page -->
|
||||
<string name="instant_onboarding_agree_instance">À propos des profils sur %1$s</string>
|
||||
<!-- Confirmation button on the instant onboarding screen -->
|
||||
@@ -678,9 +673,7 @@
|
||||
<string name="accept_invalid_certificates">Accepter les certificats non valides</string>
|
||||
<string name="switch_account">Changer de compte</string>
|
||||
<string name="add_account">Ajouter un compte</string>
|
||||
<string name="profile_tag">Tag privé</string>
|
||||
<string name="profile_tag_hint">Travail ou famille par exemple</string>
|
||||
<string name="profile_tag_explain">Tag seulement visible par vous pour vous aider à différencier les profils.</string>
|
||||
<!-- Menu entry to sort an item to the beginning of a list. Only "To Top" may do as well in some translations, if that helps to stay shorter. -->
|
||||
<string name="move_to_top">Remonter l\'élément</string>
|
||||
<string name="delete_account">Supprimer le compte</string>
|
||||
|
||||
@@ -270,6 +270,7 @@
|
||||
<!-- Menu item beside an app/chat that adds an icon to the system's home screen. If the user taps that icon, the app/chat is opened directly. -->
|
||||
<string name="add_to_home_screen">Engadir á pantalla de Inicio</string>
|
||||
<string name="mute_for_one_hour">Acalar durante 1 h.</string>
|
||||
<!-- deprecated -->
|
||||
<string name="mute_for_two_hours">Acalar durante 2 h.</string>
|
||||
<string name="mute_for_one_day">Acalar durante 1 día</string>
|
||||
<string name="mute_for_seven_days">Acalar durante 7 días</string>
|
||||
@@ -305,12 +306,7 @@
|
||||
|
||||
<!-- get confirmations -->
|
||||
<string name="ask_leave_group">Seguro que desexa abandonar o grupo?</string>
|
||||
<plurals name="ask_delete_chat">
|
||||
<item quantity="one">Eliminar %d conversa? Non se mostrará na lista de conversas, as súas mensaxes permanecerán no servidor.</item>
|
||||
<item quantity="other">Eliminar %d conversas? Non se mostrarán máis na listas de conversas, as mensaxes permanecerán no servidor.</item>
|
||||
</plurals>
|
||||
<string name="ask_delete_named_chat">Tes a certeza de querer eliminar \"%1$s\"?</string>
|
||||
<!-- deprecated, use ask_delete_messages -->
|
||||
<!-- Used for the deletion of Device messages -->
|
||||
<plurals name="ask_delete_messages_simple">
|
||||
<item quantity="one">Borrar %d mensaxe?</item>
|
||||
<item quantity="other">Borrar %d mensaxes?</item>
|
||||
|
||||
@@ -133,6 +133,7 @@
|
||||
<string name="menu_settings">Postavke</string>
|
||||
<string name="menu_advanced">Napredno</string>
|
||||
<string name="mute_for_one_hour">Utišaj na 1 sat</string>
|
||||
<!-- deprecated -->
|
||||
<string name="mute_for_two_hours">Utišaj na 2 sata</string>
|
||||
<string name="mute_for_one_day">Utišaj na 1 dan</string>
|
||||
<string name="mute_for_seven_days">Utišaj na 7 dana</string>
|
||||
|
||||
@@ -28,7 +28,9 @@
|
||||
<string name="join">Csatlakozás</string>
|
||||
<string name="rejoin">Újracsatlakozás</string>
|
||||
<string name="delete">Törlés</string>
|
||||
<string name="info">Infó</string>
|
||||
<string name="delete_for_me">Törlés számomra</string>
|
||||
<string name="delete_for_everyone">Törlés mindenki számára</string>
|
||||
<string name="info">Információk</string>
|
||||
<string name="update">Frissítés</string>
|
||||
<string name="emoji">Emodzsi</string>
|
||||
<string name="attachment">Csatolmány</string>
|
||||
@@ -60,9 +62,9 @@
|
||||
<string name="show_full_message">Teljes üzenet megjelenítése…</string>
|
||||
<!-- Stay short here, say ~16 characters. The source string could also be "All Read", maybe that hint can make translations easier :) -->
|
||||
<string name="mark_all_as_read">Összes megjelölése olvasottként</string>
|
||||
<string name="mark_as_read">Olvasottnak jelölés</string>
|
||||
<string name="mark_as_read">Megjelölés olvasottként</string>
|
||||
<!-- Shortest text for "Mark as being read". In english, this could be "Read" (past tense of "to read"), in german, this could be "Gelesen". -->
|
||||
<string name="mark_as_read_short">Olvasottnak jelölés</string>
|
||||
<string name="mark_as_read_short">Megjelölés olvasottként</string>
|
||||
<!-- Placeholder text when something is loading -->
|
||||
<string name="loading">Betöltés…</string>
|
||||
<string name="hide">Elrejtés</string>
|
||||
@@ -186,8 +188,8 @@
|
||||
<string name="webxdc_app">Alkalmazás</string>
|
||||
<!-- plural of "App"; used to present "Webxdc App" (https://webxdc.org) in a user friendly way. Please stay close to the original term and keep it short (it is used in menus with few screen space). -->
|
||||
<string name="webxdc_apps">Alkalmazások</string>
|
||||
<string name="webxdc_store_url">Alkalmazás-választó-webcím</string>
|
||||
<string name="webxdc_store_url_explain">Ha be van állítva, akkor a webcím lesz használva mint alkalmazás-választó az alapértelmezett helyett</string>
|
||||
<string name="webxdc_store_url">Alkalmazásválasztó webcíme</string>
|
||||
<string name="webxdc_store_url_explain">Ha be van állítva, akkor a webcím lesz használva mint alkalmazásválasztó az alapértelmezett helyett</string>
|
||||
<string name="home">Főoldal</string>
|
||||
<string name="games">Játékok</string>
|
||||
<string name="tools">Eszközök</string>
|
||||
@@ -305,12 +307,13 @@
|
||||
<string name="menu_learn_spelling">Helyesírás tanulása</string>
|
||||
<string name="menu_chat_audit_log">Csevegésellenőrzési-naplófájl</string>
|
||||
<string name="jump_to_message">Ugrás az üzenetre</string>
|
||||
<string name="jump_to_original_message">Ugrás az eredeti üzenetre</string>
|
||||
<string name="copy_json">JSON másolása</string>
|
||||
<string name="replace_draft">Piszkozat cseréje</string>
|
||||
<string name="title_share_location">Helyszín megosztása a csoport összes tagjával</string>
|
||||
<string name="device_talk">Eszközüzenetek</string>
|
||||
<string name="device_talk_subtitle">Helyileg előállított üzenetek</string>
|
||||
<string name="device_talk_explain">Az üzenetek ebben a csevegésben az Ön készülékén kerülnek előállításra, hogy tájoékoztassák Önt az alkalmazás frissítéseiről és a használat közben felmerülő problémákról.</string>
|
||||
<string name="device_talk_subtitle">Helyben előállított üzenetek</string>
|
||||
<string name="device_talk_explain">Az üzenetek ebben a csevegésben az Ön készülékén kerülnek előállításra, hogy tájékoztassák Önt az alkalmazás frissítéseiről és a használat közben felmerülő problémákról.</string>
|
||||
<string name="device_talk_welcome_message2">Lépjen kapcsolatba a partnereivel!\n\n🙌 Koppintson a „QR-kódra” mind a két eszköz főképernyőjén. Válassza a „QR-kód beolvasása” lehetőséget az egyik eszközön, és irányítsa a másik eszközre\n\n🌍 Ha nem ugyanabban a szobában tartózkodnak a partnerével, akkor olvassa be a QR-kódját egy videohíváson keresztül, vagy ossza meg a meghívó-hivatkozást a „QR-kód bolvasása”-ból.\n\nMajd: Élvezze az üzenetküldés-élményt a valaha létezett legnagyobb decentralizált hálózaton keresztül, ami az e-mail és - más népszerű alkalmazásokkal ellentétben - központi kiszolgáló vagy nyomon követés nélkül, illetve anélkül, hogy önt, partnereit, kollégáit vagy családját nagy szervezeteknek adná el.</string>
|
||||
<string name="edit_contact">Névjegy szerkesztése</string>
|
||||
<!-- Verb "to pin", making something sticky, not a noun or abbreviation for "pin number". -->
|
||||
@@ -329,6 +332,7 @@
|
||||
<string name="donate">Adományozás</string>
|
||||
|
||||
<string name="mute_for_one_hour">Némítás 1 órára</string>
|
||||
<!-- deprecated -->
|
||||
<string name="mute_for_two_hours">Némítás 2 órára</string>
|
||||
<string name="mute_for_one_day">Némítás 1 napra</string>
|
||||
<string name="mute_for_seven_days">Némítás 7 napra</string>
|
||||
@@ -365,11 +369,16 @@
|
||||
<!-- get confirmations -->
|
||||
<string name="ask_leave_group">Biztosan ki akar lépni a csoportból?</string>
|
||||
<plurals name="ask_delete_chat">
|
||||
<item quantity="one">Biztosan töröl %d csevegést? Többé nem jelenik meg a csevegőlistában; az üzenetek viszont a szerveren maradnak.</item>
|
||||
<item quantity="other">Biztosan töröl %d csevegést? Többé nem jelennek meg a csevegőlistában; az üzeneteik viszont a kiszolgálón maradnak.</item>
|
||||
<item quantity="one">Töröl %d csevegést az összes eszközén?</item>
|
||||
<item quantity="other">Töröl %d csevegést az összes eszközén?</item>
|
||||
</plurals>
|
||||
<string name="ask_delete_named_chat">Biztosan törli a következőt: „%1$s”? Többé nem fog megjelenni a csevegőlistában; üzenetei a kiszolgálón maradnak.</string>
|
||||
<!-- deprecated, use ask_delete_messages -->
|
||||
<string name="ask_delete_named_chat">Törli a(z) „%1$s” nevű csevegést az összes eszközén?</string>
|
||||
<string name="ask_delete_message">Törli ezt az üzenetet az összes eszközén?</string>
|
||||
<plurals name="ask_delete_messages">
|
||||
<item quantity="one">Töröl %d üzenetet az összes eszközén?</item>
|
||||
<item quantity="other">Töröl %d üzenetet az összes eszközén?</item>
|
||||
</plurals>
|
||||
<!-- Used for the deletion of Device messages -->
|
||||
<plurals name="ask_delete_messages_simple">
|
||||
<item quantity="one">%d üzenet törlése?</item>
|
||||
<item quantity="other">%d üzenet törlése?</item>
|
||||
@@ -505,7 +514,7 @@
|
||||
<string name="profile_shared_chats">Megosztott csevegések</string>
|
||||
<string name="related_chats">Kapcsolódó csevegések</string>
|
||||
<!-- Separator between the list of actual members and past members -->
|
||||
<string name="past_members">Volt tagok</string>
|
||||
<string name="past_members">Már nem tagok</string>
|
||||
<string name="tab_contact">Névjegy</string>
|
||||
<string name="tab_group">Csoport</string>
|
||||
<string name="tab_gallery">Galéria</string>
|
||||
@@ -546,6 +555,7 @@
|
||||
<string name="multidevice_receiver_title">Hozzáadás második eszközként</string>
|
||||
<string name="multidevice_open_settings_on_other_device">Az első eszközön lépjen a „Beállítások / Második eszköz hozzáadása” menüpontra, és olvassa be az ott megjelenő QR-kódot.</string>
|
||||
<string name="multidevice_receiver_scanning_ask">Átmásolja a profilt a másik eszközről erre az eszközre?</string>
|
||||
<string name="multidevice_receiver_needs_update">Az importálni kívánt profil egy újabb Delta Chat verzióból származik.\n\nA második eszköz beállításának folytatásához frissítse ezt az eszközt a Delta Chat legújabb verziójára.</string>
|
||||
<string name="multidevice_abort">A második eszköz beállításának megszakítása?</string>
|
||||
<string name="multidevice_abort_will_invalidate_copied_qr">Ez érvényteleníti a vágólapra másolt QR-kódot.</string>
|
||||
<string name="multidevice_experimental_hint">(kísérleti, 1.36-os verzió szükséges)</string>
|
||||
@@ -659,11 +669,12 @@
|
||||
<string name="accept_invalid_certificates">Érvénytelen tanúsítványok elfogadása</string>
|
||||
<string name="switch_account">Profilváltás</string>
|
||||
<string name="add_account">Profil hozzáadása</string>
|
||||
<string name="profile_tag">Privát címke</string>
|
||||
<!-- for translations, you can also think of "Profile Tag" or "Profile Description" as the source string -->
|
||||
<string name="profile_tag">Profil címke</string>
|
||||
<string name="profile_tag_hint">Például: „Munka”, „Család”</string>
|
||||
<string name="profile_tag_explain">A címke csak az Ön számára jelenik meg; segít megkülönböztetni a profiljait.</string>
|
||||
<string name="profile_tag_explain">Állítson be egy olyan címkét, amely csak az Ön számára látható; segít megkülönböztetni a profiljait.</string>
|
||||
<!-- Menu entry to sort an item to the beginning of a list. Only "To Top" may do as well in some translations, if that helps to stay shorter. -->
|
||||
<string name="move_to_top">Felülre helyezés</string>
|
||||
<string name="move_to_top">Feljebb mozgatás</string>
|
||||
<string name="delete_account">Profil törlése</string>
|
||||
<string name="delete_account_ask">Biztosan törölni szeretné a profiladatait?</string>
|
||||
<string name="delete_account_explain_with_name">A(z) „%s” nevű profilhoz tartozó mindet adat ezen az eszközön törölve lesz, beleértve a végpontok közötti titkosítás beállításait, a névjegyeket, a csevegéseket, az üzeneteket és a médiát. Ez a művelet nem vonható vissza. </string>
|
||||
@@ -877,7 +888,7 @@
|
||||
|
||||
<!-- system messages -->
|
||||
<string name="systemmsg_cannot_decrypt">Ez az üzenet nem dekódolható.\n\n• Már az is segíthet, ha egyszerűen válaszol erre az üzenetre, és megkéri a feladóját, hogy küldje el újra az üzenetet.\n\n• Ha most telepítette újra a Delta Chatet, akkor a legjobb, ha most újraindítja a Delta Chatet, és kiválasztja a „Második eszközként való hozzáadás” lehetőséget, vagy importál egy biztonsági mentést.</string>
|
||||
<string name="systemmsg_unknown_sender_for_chat">Az üzenet küldője ismeretlen ebben a csevegésben. További részletekért nézze meg az \'Infót\'.</string>
|
||||
<string name="systemmsg_unknown_sender_for_chat">Az üzenet feladója ismeretlen ebben a csevegésben. További részletekért tekintse meg az „Információkat”.</string>
|
||||
<string name="systemmsg_subject_for_new_contact">Üzenet tőle: %1$s</string>
|
||||
<string name="systemmsg_failed_sending_to">Nem sikerült elküldeni az üzenetet „%1$s” számára.</string>
|
||||
<!-- %1$s will be replaced by the old group name, %2$s will be replaced by the new group name -->
|
||||
|
||||
@@ -257,6 +257,7 @@
|
||||
<string name="ConversationFragment_quoted_message_not_found">Pesan orisinil tidak ditemukan</string>
|
||||
<string name="reply_privately">Balas secara privat</string>
|
||||
<string name="mute_for_one_hour">Diamkan untuk 1 jam</string>
|
||||
<!-- deprecated -->
|
||||
<string name="mute_for_two_hours">Diamkan untuk 2 jam</string>
|
||||
<string name="mute_for_one_day">Diamkan untuk 1 hari</string>
|
||||
<string name="mute_for_seven_days">Diamkan untuk 7 hari</string>
|
||||
@@ -287,11 +288,7 @@
|
||||
|
||||
<!-- get confirmations -->
|
||||
<string name="ask_leave_group">Apakah anda yakin untuk keluar dari grup ini?</string>
|
||||
<plurals name="ask_delete_chat">
|
||||
<item quantity="other">Hapus %d obrolan? Obrolan ini akan menghilang dari daftar tetapi pesan-pesannya akan tetap tersimpan di server.</item>
|
||||
</plurals>
|
||||
<string name="ask_delete_named_chat">Apakah anda yakin ingin menghapus \"%1$s\"?</string>
|
||||
<!-- deprecated, use ask_delete_messages -->
|
||||
<!-- Used for the deletion of Device messages -->
|
||||
<plurals name="ask_delete_messages_simple">
|
||||
<item quantity="other">Menghapus pesan %d?</item>
|
||||
</plurals>
|
||||
|
||||
@@ -316,6 +316,7 @@
|
||||
<string name="menu_learn_spelling">Impara l\'Ortografia</string>
|
||||
<string name="menu_chat_audit_log">Registro Controllo Chat</string>
|
||||
<string name="jump_to_message">Vai al Messaggio</string>
|
||||
<string name="jump_to_original_message">Vai al Messaggio Originale</string>
|
||||
<string name="copy_json">Copia JSON</string>
|
||||
<string name="replace_draft">Sostituisci Bozza</string>
|
||||
<string name="title_share_location">Condividi posizione con tutti i membri del guppo</string>
|
||||
@@ -340,6 +341,7 @@
|
||||
<string name="donate">Dona</string>
|
||||
|
||||
<string name="mute_for_one_hour">Silenzia per 1 ora</string>
|
||||
<!-- deprecated -->
|
||||
<string name="mute_for_two_hours">Silenzia per 2 ore</string>
|
||||
<string name="mute_for_one_day">Silenzia per 1 giorno</string>
|
||||
<string name="mute_for_seven_days">Silenzia per 7 giorni</string>
|
||||
@@ -378,17 +380,18 @@
|
||||
<!-- get confirmations -->
|
||||
<string name="ask_leave_group">Sei sicuro di voler abbandonare questo gruppo?</string>
|
||||
<plurals name="ask_delete_chat">
|
||||
<item quantity="one">Eliminare %d chat? Essa non verrà più mostrata nella lista delle chat; i suoi messaggi rimarranno sul server.</item>
|
||||
<item quantity="many">Eliminare %d chats? Esse non verranno più mostrate nella lista delle chat; i loro messaggi rimarranno sul server.</item>
|
||||
<item quantity="other">Eliminare %d chats?</item>
|
||||
<item quantity="one">Eliminare %d chat su tutti i tuoi dispositivi?</item>
|
||||
<item quantity="many">Eliminare %d chats su tutti i tuoi dispositivi?</item>
|
||||
<item quantity="other">Eliminare %d chats su tutti i tuoi dispositivi?</item>
|
||||
</plurals>
|
||||
<string name="ask_delete_named_chat">Elimina chat \"%1$s\"?</string>
|
||||
<string name="ask_delete_named_chat">Eliminare la chat \"%1$s\" su tutti i tuoi dispositivi?</string>
|
||||
<string name="ask_delete_message">Vuoi eliminare questo messaggio da tutti i tuoi dispositivi?</string>
|
||||
<plurals name="ask_delete_messages">
|
||||
<item quantity="one">Cancella %d messaggio su tutti i tuoi dispositivi?</item>
|
||||
<item quantity="many">Cancella %d messaggi su tutti i tuoi dispositivi?</item>
|
||||
<item quantity="other">Cancella %d messaggi su tutti i tuoi dispositivi?</item>
|
||||
</plurals>
|
||||
<!-- deprecated, use ask_delete_messages -->
|
||||
<!-- Used for the deletion of Device messages -->
|
||||
<plurals name="ask_delete_messages_simple">
|
||||
<item quantity="one">Eliminare %d messaggio?</item>
|
||||
<item quantity="many">Eliminare %d messaggi?</item>
|
||||
@@ -569,6 +572,7 @@
|
||||
<string name="multidevice_receiver_title">Aggiungi come Secondo Dispositivo</string>
|
||||
<string name="multidevice_open_settings_on_other_device">Sul primo dispositivo, andare su \"Impostazioni/Aggiungi Secondo Dispositivo\" e scansionare il codice mostrato qui</string>
|
||||
<string name="multidevice_receiver_scanning_ask">Copiare il profilo dall\'altro dispositivo su questo dispositivo?</string>
|
||||
<string name="multidevice_receiver_needs_update">Il profilo che vuoi importare proviene da una versione più recente di Delta Chat.\n\nPer continuare a configurare il secondo dispositivo, aggiorna questo dispositivo all\'ultima versione di Delta Chat.</string>
|
||||
<string name="multidevice_abort">Interrompere l\'impostazione del secondo dispositivo?</string>
|
||||
<string name="multidevice_abort_will_invalidate_copied_qr">Questo invaliderà il codice QR copiato negli appunti.</string>
|
||||
<string name="multidevice_experimental_hint">(sperimentale, è richiesta la versione 1.36)</string>
|
||||
@@ -614,7 +618,7 @@
|
||||
<!-- Instant onboarding title (there is not more to do than to set name and avatar) -->
|
||||
<string name="instant_onboarding_title">Il Tuo Profilo</string>
|
||||
<!-- The placeholder will be replaced by the default onboarding server -->
|
||||
<string name="instant_onboarding_agree_default2">Informativa sulla Riservatezza per %1$s</string>
|
||||
<string name="instant_onboarding_agree_default2">Termini & Informativa sulla Riservatezza per %1$s</string>
|
||||
<!-- The placeholder will be replaced by instance name, the whole text will link to the instance page -->
|
||||
<string name="instant_onboarding_agree_instance">Informazioni profili su %1$s</string>
|
||||
<!-- Confirmation button on the instant onboarding screen -->
|
||||
@@ -682,9 +686,10 @@
|
||||
<string name="accept_invalid_certificates">Accetta certificati non validi</string>
|
||||
<string name="switch_account">Cambia Profilo</string>
|
||||
<string name="add_account">Aggiungi Profilo</string>
|
||||
<string name="profile_tag">Etichetta Privata</string>
|
||||
<!-- for translations, you can also think of "Profile Tag" or "Profile Description" as the source string -->
|
||||
<string name="profile_tag">Etichetta Profilo</string>
|
||||
<string name="profile_tag_hint">es. Lavoro, Famiglia</string>
|
||||
<string name="profile_tag_explain">Etichetta che è visibile solo a te; ti aiuta a distinguere i tuoi profili.</string>
|
||||
<string name="profile_tag_explain">Imposta un\'etichetta visibile solo a te, utile per distinguere i tuoi profili.</string>
|
||||
<!-- Menu entry to sort an item to the beginning of a list. Only "To Top" may do as well in some translations, if that helps to stay shorter. -->
|
||||
<string name="move_to_top">Sposta in Alto</string>
|
||||
<string name="delete_account">Elimina Profilo</string>
|
||||
|
||||
@@ -221,6 +221,7 @@
|
||||
<string name="ConversationFragment_quoted_message_not_found">メッセージが見つかりません</string>
|
||||
<string name="reply_privately">個別に返信する</string>
|
||||
<string name="mute_for_one_hour">1時間停止する</string>
|
||||
<!-- deprecated -->
|
||||
<string name="mute_for_two_hours">2時間停止する</string>
|
||||
<string name="mute_for_one_day">24時間停止する</string>
|
||||
<string name="mute_for_seven_days">7日間停止する</string>
|
||||
@@ -252,10 +253,6 @@
|
||||
|
||||
<!-- get confirmations -->
|
||||
<string name="ask_leave_group">本当に退室しますか</string>
|
||||
<plurals name="ask_delete_chat">
|
||||
<item quantity="other">%d個のチャットを削除しますか?チャットリストには表示されなくなりますが、メッセージはサーバーに残ります。</item>
|
||||
</plurals>
|
||||
<string name="ask_delete_named_chat">%1$sを削除してよろしいですか?</string>
|
||||
<string name="ask_forward">%1$sにメッセージを転送しますか?</string>
|
||||
<string name="ask_forward_multiple">%1$dチャットにメッセージを転送しますか?</string>
|
||||
<string name="ask_export_attachment">添付ファイルをエクスポートしますか?添付ファイルをエクスポートすると、他のアプリからもアクセスできるようになります。\n\nよろしいですか?</string>
|
||||
|
||||
@@ -238,6 +238,7 @@
|
||||
<string name="ConversationFragment_quoted_message_not_found">រកមិនឃើញសារដើម</string>
|
||||
<string name="reply_privately">ឆ្លើយតបដោយឯកជន</string>
|
||||
<string name="mute_for_one_hour">ធ្វើឲ្យមិនឃើញមិនលឺរយៈពេល១ម៉ោង</string>
|
||||
<!-- deprecated -->
|
||||
<string name="mute_for_two_hours">ធ្វើឲ្យមិនឃើញមិនលឺរយៈពេល២ម៉ោង</string>
|
||||
<string name="mute_for_one_day">ធ្វើឲ្យមិនឃើញមិនលឺរយៈពេល១ថ្ងៃ</string>
|
||||
<string name="mute_for_seven_days">ធ្វើឲ្យមិនឃើញមិនលឺរយៈពេល៧ថ្ងៃ</string>
|
||||
@@ -269,11 +270,7 @@
|
||||
|
||||
<!-- get confirmations -->
|
||||
<string name="ask_leave_group">តើអ្នកប្រាកដហើយថាចង់ចាកចេញពីក្រុមនេះ?</string>
|
||||
<plurals name="ask_delete_chat">
|
||||
<item quantity="other">លុបសារសន្ទនាទាំង %d នេះ? ពួកគេនឹងមិនត្រូវបានបង្ហាញនៅក្នុងបញ្ជីសន្ទនាទៀតទេ។ សាររបស់ពួកគេនឹងនៅមានលើម៉ាសុីនមេ</item>
|
||||
</plurals>
|
||||
<string name="ask_delete_named_chat">តើអ្នកប្រាកដហើយថាចង់លុប \"%1$s\"?</string>
|
||||
<!-- deprecated, use ask_delete_messages -->
|
||||
<!-- Used for the deletion of Device messages -->
|
||||
<plurals name="ask_delete_messages_simple">
|
||||
<item quantity="other">លុបសារ %d</item>
|
||||
</plurals>
|
||||
|
||||
@@ -256,6 +256,7 @@
|
||||
<!-- Menu item beside an app/chat that adds an icon to the system's home screen. If the user taps that icon, the app/chat is opened directly. -->
|
||||
<string name="add_to_home_screen">홈 스크린에 추가</string>
|
||||
<string name="mute_for_one_hour">1시간 동안 알림 끄기</string>
|
||||
<!-- deprecated -->
|
||||
<string name="mute_for_two_hours">2시간 동안 알림 끄기</string>
|
||||
<string name="mute_for_one_day">1일 동안 알림 끄기</string>
|
||||
<string name="mute_for_seven_days">7일 동안 알림 끄기</string>
|
||||
@@ -289,11 +290,7 @@
|
||||
|
||||
<!-- get confirmations -->
|
||||
<string name="ask_leave_group">이 그룹에서 나가시겠습니까?</string>
|
||||
<plurals name="ask_delete_chat">
|
||||
<item quantity="other">채팅 %d을/를 삭제하시겠습니까? 대화 상대의 메시지는 더 이상 대화 목록에 표시되지 않고 서버에 남아 있습니다.</item>
|
||||
</plurals>
|
||||
<string name="ask_delete_named_chat">메시지 \"%1$s\"을 지우려는 것이 확실한가요?</string>
|
||||
<!-- deprecated, use ask_delete_messages -->
|
||||
<!-- Used for the deletion of Device messages -->
|
||||
<plurals name="ask_delete_messages_simple">
|
||||
<item quantity="other">%d개의 메시지를 삭제하시겠습니까?</item>
|
||||
</plurals>
|
||||
|
||||
@@ -279,6 +279,7 @@
|
||||
<string name="donate">Paaukoti</string>
|
||||
|
||||
<string name="mute_for_one_hour">Išjungti 1 valandai</string>
|
||||
<!-- deprecated -->
|
||||
<string name="mute_for_two_hours">Išjungti 2 valandoms</string>
|
||||
<string name="mute_for_one_day">Išjungti 1 dienai</string>
|
||||
<string name="mute_for_seven_days">Išjungti 7 dienoms</string>
|
||||
@@ -308,14 +309,7 @@
|
||||
|
||||
<!-- get confirmations -->
|
||||
<string name="ask_leave_group">Ar tikrai norite išeiti iš šios grupės?</string>
|
||||
<plurals name="ask_delete_chat">
|
||||
<item quantity="one">Ištrinti %d pokalbį? Jis daugiau nebebus rodomas pokalbių sąraše, jo žinutės liks serveryje.</item>
|
||||
<item quantity="few">Ištrinti %d pokalbius? Jie daugiau nebebus rodomi pokalbių sąraše, jų žinutės liks serveryje.</item>
|
||||
<item quantity="many">Ištrinti %d pokalbių? Jie daugiau nebebus rodomi pokalbių sąraše, jų žinutės liks serveryje.</item>
|
||||
<item quantity="other">Ištrinti %d pokalbį? Jis daugiau nebebus rodomas pokalbių sąraše, jo žinutės liks serveryje.</item>
|
||||
</plurals>
|
||||
<string name="ask_delete_named_chat">Ar tikrai norite ištrinti „%1$s“?</string>
|
||||
<!-- deprecated, use ask_delete_messages -->
|
||||
<!-- Used for the deletion of Device messages -->
|
||||
<plurals name="ask_delete_messages_simple">
|
||||
<item quantity="one">Ištrinti %d žinutę?</item>
|
||||
<item quantity="few">Ištrinti %d žinutes?</item>
|
||||
@@ -512,7 +506,6 @@
|
||||
<string name="accept_invalid_certificates">Priimti negaliojančius liudijimus</string>
|
||||
<string name="switch_account">Perjungti paskyrą</string>
|
||||
<string name="add_account">Pridėti paskyrą</string>
|
||||
<string name="profile_tag">Privati žymė</string>
|
||||
<string name="delete_account">Ištrinti paskyrą</string>
|
||||
<string name="delete_account_ask">Ar tikrai norite ištrinti savo paskyros duomenis?</string>
|
||||
<string name="delete_account_explain_with_name">Visi „%s“ paskyros duomenys šiame įrenginyje bus ištrinti, įskaitant jūsų ištisinio šifravimo sąranką, adresatus, pokalbius, žinutes ir mediją. Šį veiksmą nebeįmanoma bus atšaukti.</string>
|
||||
|
||||
@@ -183,6 +183,7 @@
|
||||
<!-- Opposite of "Pin chat", removing the sticky-state from a chat. -->
|
||||
<string name="unpin">Løsn</string>
|
||||
<string name="mute_for_one_hour">Demp i 1 time</string>
|
||||
<!-- deprecated -->
|
||||
<string name="mute_for_two_hours">Demp i 2 timer</string>
|
||||
<string name="mute_for_one_day">Demp i 1 dag</string>
|
||||
<string name="mute_for_seven_days">Demp i 7 dager</string>
|
||||
@@ -211,10 +212,6 @@
|
||||
|
||||
<!-- get confirmations -->
|
||||
<string name="ask_leave_group">Er du sikker på at du vil forlate denne gruppen?</string>
|
||||
<plurals name="ask_delete_chat">
|
||||
<item quantity="one">Slett %d chat? Den vil ikke lenger vises</item>
|
||||
<item quantity="other">Slett %d chatter? De vil ikke lenger vises i chattelisten, meldingene vil fortsatt være lagret tjeneren.</item>
|
||||
</plurals>
|
||||
<string name="ask_forward">Videresend meldinger til %1$s?</string>
|
||||
<string name="ask_forward_multiple">Videresend meldinger til %1$d chatter?</string>
|
||||
<string name="ask_export_attachment">Eksporter vedlegg? Eksport av vedlegg vil gi andre apper på din enhet tilgang til dem\n\nFortsett?</string>
|
||||
|
||||
@@ -307,6 +307,7 @@
|
||||
<string name="menu_learn_spelling">Spelling leren</string>
|
||||
<string name="menu_chat_audit_log">Gesprekslogboek</string>
|
||||
<string name="jump_to_message">Ga naar bericht</string>
|
||||
<string name="jump_to_original_message">Ga naar oorspronkelijk bericht</string>
|
||||
<string name="copy_json">Json-gegevens kopiëren</string>
|
||||
<string name="replace_draft">Concept vervangen</string>
|
||||
<string name="title_share_location">Locatie delen met alle groepsleden</string>
|
||||
@@ -331,7 +332,9 @@
|
||||
<string name="donate">Doneren</string>
|
||||
|
||||
<string name="mute_for_one_hour">1 uur lang uitschakelen</string>
|
||||
<!-- deprecated -->
|
||||
<string name="mute_for_two_hours">2 uur lang uitschakelen</string>
|
||||
<string name="mute_for_eight_hours">8 uur lang uitschakelen</string>
|
||||
<string name="mute_for_one_day">1 dag lang uitschakelen</string>
|
||||
<string name="mute_for_seven_days">7 dagen lang uitschakelen</string>
|
||||
<string name="mute_forever">Permanent uitschakelen</string>
|
||||
@@ -367,16 +370,16 @@
|
||||
<!-- get confirmations -->
|
||||
<string name="ask_leave_group">Weet je zeker dat je deze groep wilt verlaten?</string>
|
||||
<plurals name="ask_delete_chat">
|
||||
<item quantity="one">Wil je %d gesprek verwijderen?</item>
|
||||
<item quantity="other">Wil je %d gesprekken verwijderen?</item>
|
||||
<item quantity="one">Wil je %d gesprek verwijderen van al je apparaten?</item>
|
||||
<item quantity="other">Wil je %d gesprekken verwijderen van al je apparaten?</item>
|
||||
</plurals>
|
||||
<string name="ask_delete_named_chat">Weet je zeker dat je ‘%1$s’ wilt verwijderen?</string>
|
||||
<string name="ask_delete_named_chat">Wil je ‘%1$s’ verwijderen van al je apparaten?</string>
|
||||
<string name="ask_delete_message">Wil je dit bericht verwijderen van al je apparaten?</string>
|
||||
<plurals name="ask_delete_messages">
|
||||
<item quantity="one">Wil je %d bericht verwijderen van al je apparaten?</item>
|
||||
<item quantity="other">Wil je alle %d berichten verwijderen van al je apparaten?</item>
|
||||
<item quantity="other">Wil je %d berichten verwijderen van al je apparaten?</item>
|
||||
</plurals>
|
||||
<!-- deprecated, use ask_delete_messages -->
|
||||
<!-- Used for the deletion of Device messages -->
|
||||
<plurals name="ask_delete_messages_simple">
|
||||
<item quantity="one">Wil je %d bericht verwijderen?</item>
|
||||
<item quantity="other">Wil je %d berichten verwijderen?</item>
|
||||
@@ -667,9 +670,10 @@
|
||||
<string name="accept_invalid_certificates">Ongeldige certificaten accepteren</string>
|
||||
<string name="switch_account">Ander account kiezen</string>
|
||||
<string name="add_account">Account toevoegen</string>
|
||||
<string name="profile_tag">Privélabel</string>
|
||||
<!-- for translations, you can also think of "Profile Tag" or "Profile Description" as the source string -->
|
||||
<string name="profile_tag">Profielbeschrijving</string>
|
||||
<string name="profile_tag_hint">bijv. werk, familie</string>
|
||||
<string name="profile_tag_explain">Een label dat alleen jij kan zien, om profielen van elkaar te onderscheiden.</string>
|
||||
<string name="profile_tag_explain">Een beschrijving die alleen jij kan zien, om profielen van elkaar te onderscheiden.</string>
|
||||
<!-- Menu entry to sort an item to the beginning of a list. Only "To Top" may do as well in some translations, if that helps to stay shorter. -->
|
||||
<string name="move_to_top">Bovenaan tonen</string>
|
||||
<string name="delete_account">Account verwijderen</string>
|
||||
|
||||
@@ -325,6 +325,7 @@
|
||||
<string name="menu_learn_spelling">Naucz się pisowni</string>
|
||||
<string name="menu_chat_audit_log">Dziennik audytu czatu</string>
|
||||
<string name="jump_to_message">Przejdź do wiadomości</string>
|
||||
<string name="jump_to_original_message">Przejdź do oryginalnej wiadomości</string>
|
||||
<string name="copy_json">Kopiuj JSON</string>
|
||||
<string name="replace_draft">Zastąp szkic</string>
|
||||
<string name="title_share_location">Udostępnij lokalizację dla wszystki czlonków grup</string>
|
||||
@@ -349,6 +350,7 @@
|
||||
<string name="donate">Wspomóż</string>
|
||||
|
||||
<string name="mute_for_one_hour">Wyłącz na 1 godzinę</string>
|
||||
<!-- deprecated -->
|
||||
<string name="mute_for_two_hours">Wyłącz na 2 godziny</string>
|
||||
<string name="mute_for_one_day">Wyłącz na 1 dzień</string>
|
||||
<string name="mute_for_seven_days">Wyłącz na 7 dni</string>
|
||||
@@ -387,19 +389,20 @@
|
||||
<!-- get confirmations -->
|
||||
<string name="ask_leave_group">Czy na pewno chcesz opuścić tę grupę?</string>
|
||||
<plurals name="ask_delete_chat">
|
||||
<item quantity="one">Usunąć %d czat? Nie będzie już wyświetlany na liście czatów, wiadomość pozostanie na serwerze.</item>
|
||||
<item quantity="few">Usunąć %d czatów? Nie będą już wyświetlane na liście czatów, ich wiadomości pozostaną na serwerze.</item>
|
||||
<item quantity="many">Usunąć %d czaty? Nie będą już wyświetlane na liście czatów, ich wiadomości pozostaną na serwerze.</item>
|
||||
<item quantity="other">Usunąć %d czatów? Nie będą już wyświetlane na liście czatów, ich wiadomości pozostaną na serwerze.</item>
|
||||
<item quantity="one">Usunąć %d czat ze wszystkich urządzeń?</item>
|
||||
<item quantity="few">Usunąć %d czaty ze wszystkich urządzeń?</item>
|
||||
<item quantity="many">Usunąć %d czatów ze wszystkich urządzeń?</item>
|
||||
<item quantity="other">Usunąć %d czatu ze wszystkich urządzeń?</item>
|
||||
</plurals>
|
||||
<string name="ask_delete_named_chat">Usunąć czat „%1$s”? Nie będzie on już wyświetlany na liście czatów. Jego wiadomości pozostaną na serwerze.</string>
|
||||
<string name="ask_delete_named_chat">Usunąć czat „%1$s” ze wszystkich urządzeń?</string>
|
||||
<string name="ask_delete_message">Usunąć tę wiadomość ze wszystkich urządzeń?</string>
|
||||
<plurals name="ask_delete_messages">
|
||||
<item quantity="one">Usunąć %d wiadomość ze wszystkich urządzeń?</item>
|
||||
<item quantity="few">Usunąć %d wiadomości ze wszystkich urządzeń?</item>
|
||||
<item quantity="many">Usunąć %d wiadomości ze wszystkich urządzeń?</item>
|
||||
<item quantity="other">Usunąć %d wiadomości ze wszystkich urządzeń?</item>
|
||||
</plurals>
|
||||
<!-- deprecated, use ask_delete_messages -->
|
||||
<!-- Used for the deletion of Device messages -->
|
||||
<plurals name="ask_delete_messages_simple">
|
||||
<item quantity="one">Usunąć %d wiadomość?</item>
|
||||
<item quantity="few">Usunąć %d wiadomości?</item>
|
||||
@@ -584,6 +587,7 @@
|
||||
<string name="multidevice_receiver_title">Dodaj jako kolejne urządzenie</string>
|
||||
<string name="multidevice_open_settings_on_other_device">Na pierwszym urządzeniu przejdź do „Ustawienia » Dodaj kolejne urządzenie” i zeskanuj wyświetlony tam kod</string>
|
||||
<string name="multidevice_receiver_scanning_ask">Skopiować konto z innego urządzenia na to urządzenie?</string>
|
||||
<string name="multidevice_receiver_needs_update">Profil, który chcesz zaimportować, pochodzi z nowszej wersji aplikacji Delta Chat.\n\nAby kontynuować konfigurowanie drugiego urządzenia, zaktualizuj to urządzenie do najnowszej wersji aplikacji Delta Chat.</string>
|
||||
<string name="multidevice_abort">Przerwać konfigurowanie kolejnego urządzenia?</string>
|
||||
<string name="multidevice_abort_will_invalidate_copied_qr">Spowoduje to unieważnienie kodu QR skopiowanego do schowka.</string>
|
||||
<string name="multidevice_experimental_hint">(eksperymentalna, wymagana wersja 1.36)</string>
|
||||
@@ -697,9 +701,10 @@
|
||||
<string name="accept_invalid_certificates">Zaakceptuj nieprawidłowe certyfikaty</string>
|
||||
<string name="switch_account">Przełącz konto</string>
|
||||
<string name="add_account">Dodaj konto</string>
|
||||
<string name="profile_tag">Prywatna etykieta</string>
|
||||
<!-- for translations, you can also think of "Profile Tag" or "Profile Description" as the source string -->
|
||||
<string name="profile_tag">Etykieta profilu</string>
|
||||
<string name="profile_tag_hint">np. Praca, Rodzina</string>
|
||||
<string name="profile_tag_explain">Etykieta jest widoczna tylko dla ciebie; pomaga odróżnić twoje profile.</string>
|
||||
<string name="profile_tag_explain">Ustaw etykietę widoczną tylko dla ciebie; pomoże ci to odróżnić twoje profile.</string>
|
||||
<!-- Menu entry to sort an item to the beginning of a list. Only "To Top" may do as well in some translations, if that helps to stay shorter. -->
|
||||
<string name="move_to_top">Przenieś na górę</string>
|
||||
<string name="delete_account">Usuń konto</string>
|
||||
|
||||
@@ -290,6 +290,7 @@
|
||||
<!-- Menu item beside an app/chat that adds an icon to the system's home screen. If the user taps that icon, the app/chat is opened directly. -->
|
||||
<string name="add_to_home_screen">Adicionar à Tela Inicial</string>
|
||||
<string name="mute_for_one_hour">Silenciar por 1 hora</string>
|
||||
<!-- deprecated -->
|
||||
<string name="mute_for_two_hours">Silenciar por 2 horas</string>
|
||||
<string name="mute_for_one_day">Silenciar por 1 dia</string>
|
||||
<string name="mute_for_seven_days">Silenciar por 7 dias</string>
|
||||
@@ -326,13 +327,7 @@
|
||||
|
||||
<!-- get confirmations -->
|
||||
<string name="ask_leave_group">Quer mesmo sair do grupo?</string>
|
||||
<plurals name="ask_delete_chat">
|
||||
<item quantity="one">Delete %d chat? It will no longer be shown in the chat list, its messages will remain on the server.</item>
|
||||
<item quantity="many">Apagar %d conversas? Elas não mais serão exibidas na lista, mas ficarão no servidor.</item>
|
||||
<item quantity="other">Apagar %d conversas? Elas não mais serão exibidas na lista, mas ficarão no servidor.</item>
|
||||
</plurals>
|
||||
<string name="ask_delete_named_chat">Você tem certeza que quer apagar \"%1$s\"?</string>
|
||||
<!-- deprecated, use ask_delete_messages -->
|
||||
<!-- Used for the deletion of Device messages -->
|
||||
<plurals name="ask_delete_messages_simple">
|
||||
<item quantity="one">Apagar %d mensagem?</item>
|
||||
<item quantity="many">Apagar %d mensagens?</item>
|
||||
|
||||
@@ -132,6 +132,7 @@
|
||||
<string name="menu_advanced">Avançado</string>
|
||||
<string name="menu_view_profile">Ver perfil</string>
|
||||
<string name="mute_for_one_hour">Calado por 1 hora</string>
|
||||
<!-- deprecated -->
|
||||
<string name="mute_for_two_hours">Calado por 2 horas</string>
|
||||
<string name="mute_for_one_day">Calado por 1 dia</string>
|
||||
<string name="mute_for_seven_days">Calado por 7 dias</string>
|
||||
@@ -143,11 +144,6 @@
|
||||
|
||||
<!-- get confirmations -->
|
||||
<string name="ask_leave_group">Tem certeza que deseja deixar este grupo?</string>
|
||||
<plurals name="ask_delete_chat">
|
||||
<item quantity="one">Apagar %d conversas? Elas não serão mais mostrados na lista, mas permanecerão no servidor.</item>
|
||||
<item quantity="many">Apagar %d conversas? Elas não serão mais mostrados na lista, mas permanecerão no servidor.</item>
|
||||
<item quantity="other">Apagar %d conversas? Elas não serão mais mostrados na lista, mas permanecerão no servidor.</item>
|
||||
</plurals>
|
||||
<string name="ask_forward">Reencaminhar mensages para %1$s?</string>
|
||||
<string name="ask_export_attachment">Exportar anexo? A exportação de anexos permitirá o seu acesso a qualquer outra aplicação no seu dispositivo.\n\nContinuar?</string>
|
||||
<string name="ask_block_contact">Bloquear este contacto? Não receberá mais mensagens deste contacto.</string>
|
||||
@@ -407,4 +403,6 @@
|
||||
<string name="menu.view.developer.open.current.log.file">Abrir o aqrquio do log actual</string>
|
||||
<!-- disabling "Reliable service" will hide a the maybe annoying permanent-notification with the drawback that new-message-notifications get potentially unreliable -->
|
||||
<string name="perm_enable_bg_reminder_title">Toque aqui para receber mensagens mesmo que o Delta Chat esteja em segundo plano.</string>
|
||||
|
||||
<string name="instant_onboarding_agree_default2">Termos e Política de privacidade para %1$s</string>
|
||||
</resources>
|
||||
|
||||
@@ -280,6 +280,7 @@
|
||||
<!-- Menu item beside an app/chat that adds an icon to the system's home screen. If the user taps that icon, the app/chat is opened directly. -->
|
||||
<string name="add_to_home_screen">Adăugați la ecranul principal</string>
|
||||
<string name="mute_for_one_hour">Silențios timp de 1 oră</string>
|
||||
<!-- deprecated -->
|
||||
<string name="mute_for_two_hours">Silențios timp de 2 ore</string>
|
||||
<string name="mute_for_one_day">Silențios pentru 1 zi</string>
|
||||
<string name="mute_for_seven_days">Silențios timp de 7 zile</string>
|
||||
@@ -316,13 +317,7 @@
|
||||
|
||||
<!-- get confirmations -->
|
||||
<string name="ask_leave_group">Ești sigur că vrei să părăsești acest grup?</string>
|
||||
<plurals name="ask_delete_chat">
|
||||
<item quantity="one">Ștergeți %d chat-ul? Acestea nu vor mai fi afișate în lista de chat; mesajele lor vor rămâne pe server.</item>
|
||||
<item quantity="few">Ștergeți %d chat-uri? Acestea nu vor mai fi afișate în lista de chat; mesajele lor vor rămâne pe server.</item>
|
||||
<item quantity="other">Ștergeți %d de chat-urilAcestea nu vor mai fi afișate în lista de chat; mesajele lor vor rămâne pe server.</item>
|
||||
</plurals>
|
||||
<string name="ask_delete_named_chat">Sunteți sigur că vreți să ștergeți \"%1$s\"?</string>
|
||||
<!-- deprecated, use ask_delete_messages -->
|
||||
<!-- Used for the deletion of Device messages -->
|
||||
<plurals name="ask_delete_messages_simple">
|
||||
<item quantity="one">Ștergeți %d mesaj?</item>
|
||||
<item quantity="few">Ștergeți %d mesaje?</item>
|
||||
|
||||
@@ -325,6 +325,7 @@
|
||||
<string name="menu_learn_spelling">Запоминать правописание</string>
|
||||
<string name="menu_chat_audit_log">Журнал аудита чата</string>
|
||||
<string name="jump_to_message">Перейти к сообщению</string>
|
||||
<string name="jump_to_original_message">Перейти к исходному сообщению</string>
|
||||
<string name="copy_json">Копировать JSON</string>
|
||||
<string name="replace_draft">Заменить черновик</string>
|
||||
<string name="title_share_location">Делиться местоположением со всеми участниками группы</string>
|
||||
@@ -349,7 +350,9 @@
|
||||
<string name="donate">Пожертвовать</string>
|
||||
|
||||
<string name="mute_for_one_hour">На 1 час</string>
|
||||
<!-- deprecated -->
|
||||
<string name="mute_for_two_hours">На 2 часа</string>
|
||||
<string name="mute_for_eight_hours">На 8 часов</string>
|
||||
<string name="mute_for_one_day">На 1 день</string>
|
||||
<string name="mute_for_seven_days">На 7 дней</string>
|
||||
<string name="mute_forever">Постоянно</string>
|
||||
@@ -387,12 +390,12 @@
|
||||
<!-- get confirmations -->
|
||||
<string name="ask_leave_group">Вы уверены, что хотите покинуть эту группу?</string>
|
||||
<plurals name="ask_delete_chat">
|
||||
<item quantity="one">Удалить %d чат?</item>
|
||||
<item quantity="few">Удалить %d чата?</item>
|
||||
<item quantity="many">Удалить %d чатов?</item>
|
||||
<item quantity="other">Удалить %d чатов?</item>
|
||||
<item quantity="one">Удалить %d чат на всех ваших устройствах?</item>
|
||||
<item quantity="few">Удалить %d чата на всех ваших устройствах?</item>
|
||||
<item quantity="many">Удалить %d чатов на всех ваших устройствах?</item>
|
||||
<item quantity="other">Удалить %d чатов на всех ваших устройствах?</item>
|
||||
</plurals>
|
||||
<string name="ask_delete_named_chat">Удалить чат \"%1$s\"?</string>
|
||||
<string name="ask_delete_named_chat">Удалить чат \"%1$s\" на всех ваших устройствах?</string>
|
||||
<string name="ask_delete_message">Удалить это сообщение на всех ваших устройствах?</string>
|
||||
<plurals name="ask_delete_messages">
|
||||
<item quantity="one">Удалить %d сообщение на всех ваших устройствах?</item>
|
||||
@@ -400,7 +403,7 @@
|
||||
<item quantity="many">Удалить %d сообщений на всех ваших устройствах?</item>
|
||||
<item quantity="other">Удалить %d сообщений на всех ваших устройствах?</item>
|
||||
</plurals>
|
||||
<!-- deprecated, use ask_delete_messages -->
|
||||
<!-- Used for the deletion of Device messages -->
|
||||
<plurals name="ask_delete_messages_simple">
|
||||
<item quantity="one">Удалить %d сообщение?</item>
|
||||
<item quantity="few">Удалить %d сообщения?</item>
|
||||
@@ -699,9 +702,10 @@
|
||||
<string name="accept_invalid_certificates">Принимать недействительные сертификаты</string>
|
||||
<string name="switch_account">Сменить профиль</string>
|
||||
<string name="add_account">Добавить профиль</string>
|
||||
<string name="profile_tag">Личный тег</string>
|
||||
<!-- for translations, you can also think of "Profile Tag" or "Profile Description" as the source string -->
|
||||
<string name="profile_tag">Метка профиля</string>
|
||||
<string name="profile_tag_hint">Например: Работа, Семья</string>
|
||||
<string name="profile_tag_explain">Тег, видимый только вам, помогает различать ваши профили.</string>
|
||||
<string name="profile_tag_explain">Установите метку, видимую только вам, которая поможет различать ваши профили.</string>
|
||||
<!-- Menu entry to sort an item to the beginning of a list. Only "To Top" may do as well in some translations, if that helps to stay shorter. -->
|
||||
<string name="move_to_top">Переместить вверх</string>
|
||||
<string name="delete_account">Удалить профиль</string>
|
||||
|
||||
@@ -191,6 +191,7 @@
|
||||
<!-- Opposite of "Pin chat", removing the sticky-state from a chat. -->
|
||||
<string name="unpin">Isbloca</string>
|
||||
<string name="mute_for_one_hour">A sa muda pro 1 ora</string>
|
||||
<!-- deprecated -->
|
||||
<string name="mute_for_two_hours">A sa muda pro 2 oras</string>
|
||||
<string name="mute_for_one_day">A sa muda pro 1 die</string>
|
||||
<string name="mute_for_seven_days">A sa muda pro 7 dies</string>
|
||||
@@ -219,11 +220,6 @@
|
||||
|
||||
<!-- get confirmations -->
|
||||
<string name="ask_leave_group">Ses seguru de chèrrere lassare custu grupu?</string>
|
||||
<plurals name="ask_delete_chat">
|
||||
<item quantity="one">Cheres iscantzellare %d tzarrada? No at a èssere prus ammustrada in sa lista de sas tzarradas, ma sos messàgios ant a abarrare in su servidore.</item>
|
||||
<item quantity="other">Cheres iscantzellare %d tzarradas? No ant a èssere prus ammustradas in sa lista de sas tzarradas, ma sos messàgios ant a abarrare in su servidore.</item>
|
||||
</plurals>
|
||||
<string name="ask_delete_named_chat">Ses seguru de chèrrere iscantzellare \"%1$s\"?</string>
|
||||
<string name="ask_forward">Inoltrare su messàgiu a %1$s?</string>
|
||||
<string name="ask_forward_multiple">Inoltrare messàgios a %1$d tzarradas?</string>
|
||||
<string name="ask_export_attachment">Esportare sos allegados? S\'esportatzione de sos allegados at a permìtere a cale si siat àtera aplicatzione in su dispositivu tuo de b\'atzèdere.\n\nSighire?</string>
|
||||
|
||||
@@ -280,6 +280,7 @@
|
||||
<!-- Menu item beside an app/chat that adds an icon to the system's home screen. If the user taps that icon, the app/chat is opened directly. -->
|
||||
<string name="add_to_home_screen">Pridať na domovskú obrazovku</string>
|
||||
<string name="mute_for_one_hour">Stíšiť na 1 hodinu</string>
|
||||
<!-- deprecated -->
|
||||
<string name="mute_for_two_hours">Stíšiť na 2 hodiny</string>
|
||||
<string name="mute_for_one_day">Stíšiť na 1 deň</string>
|
||||
<string name="mute_for_seven_days">Stíšiť na 7 dní</string>
|
||||
@@ -317,14 +318,7 @@
|
||||
|
||||
<!-- get confirmations -->
|
||||
<string name="ask_leave_group">Naozaj chcete opustiť túto skupinu?</string>
|
||||
<plurals name="ask_delete_chat">
|
||||
<item quantity="one">Odstrániť %d chat? Už sa nebude zobrazovať v zozname chatu, jeho správy zostanú na serveri.</item>
|
||||
<item quantity="few">Odstrániť %d chaty? Už sa nebudú zobrazovať v zozname chatu, ich správy zostanú na serveri.</item>
|
||||
<item quantity="many">Odstrániť %d chaty? Už sa nebudú zobrazovať v zozname chatu, ich správy zostanú na serveri.</item>
|
||||
<item quantity="other">Odstrániť %d konverzácií? Už sa nebudú zobrazovať v zozname konverzácií, ich správy zostanú na serveri.</item>
|
||||
</plurals>
|
||||
<string name="ask_delete_named_chat">Naozaj chcete položku odstrániť \"%1$s\" ?</string>
|
||||
<!-- deprecated, use ask_delete_messages -->
|
||||
<!-- Used for the deletion of Device messages -->
|
||||
<plurals name="ask_delete_messages_simple">
|
||||
<item quantity="one">Odstrániť %d správu?</item>
|
||||
<item quantity="few">Odstrániť %d správy?</item>
|
||||
|
||||
@@ -303,6 +303,7 @@
|
||||
<string name="menu_learn_spelling">Mëso Drejtshkrim</string>
|
||||
<string name="menu_chat_audit_log">Regjistër Auditimi Fjalosjeje</string>
|
||||
<string name="jump_to_message">Hidhu te Mesazh</string>
|
||||
<string name="jump_to_original_message">Hidhu te Mesazhi Origjinal</string>
|
||||
<string name="copy_json">Kopjo JSON</string>
|
||||
<string name="replace_draft">Zëvendëso Skicë</string>
|
||||
<string name="title_share_location">Tregojua vendndodhjen krejt anëtarëve të grupit</string>
|
||||
@@ -327,7 +328,9 @@
|
||||
<string name="donate">Dhuroni</string>
|
||||
|
||||
<string name="mute_for_one_hour">Heshtoji për 1 orë</string>
|
||||
<!-- deprecated -->
|
||||
<string name="mute_for_two_hours">Heshtoji për 2 orë</string>
|
||||
<string name="mute_for_eight_hours">Heshtoje për 8 orë</string>
|
||||
<string name="mute_for_one_day">Heshtoji për 1 ditë</string>
|
||||
<string name="mute_for_seven_days">Heshtoji për 7 ditë</string>
|
||||
<string name="mute_forever">Heshtoje përgjithmonë</string>
|
||||
@@ -363,15 +366,16 @@
|
||||
<!-- get confirmations -->
|
||||
<string name="ask_leave_group">Jeni i sigurt se doni ta braktisni këtë grup?</string>
|
||||
<plurals name="ask_delete_chat">
|
||||
<item quantity="one">Të fshihet %d fjalosje? S’do të duket më te lista e bisedave; mesazhet e saj do të mbeten te shërbyesi.</item>
|
||||
<item quantity="other">Të fshihen %d fjalosje? S\’do të duken më te lista e fjalosjeve; mesazhet e tyre do të mbeten te shërbyesi.</item>
|
||||
<item quantity="one">Të fshihet %d fjalosje në krejt pajisjet tuaja?</item>
|
||||
<item quantity="other">Të fshihen %d fjalosje në krejt pajisjet tuaja?</item>
|
||||
</plurals>
|
||||
<string name="ask_delete_named_chat">Jeni i sigurt se doni të fshihet “%1$s”?</string>
|
||||
<string name="ask_delete_named_chat">Të fshihet fjalosja “%1$s” në krejt pajisjet tuaja?</string>
|
||||
<string name="ask_delete_message">Të fshihet ky mesazh në krejt pajisjet tuaja?</string>
|
||||
<plurals name="ask_delete_messages">
|
||||
<item quantity="one">Të fshihet %d mesazh në krejt pajisjet tuaja?</item>
|
||||
<item quantity="other">Të fshihen %d mesazhe në krejt pajisjet tuaja?</item>
|
||||
</plurals>
|
||||
<!-- deprecated, use ask_delete_messages -->
|
||||
<!-- Used for the deletion of Device messages -->
|
||||
<plurals name="ask_delete_messages_simple">
|
||||
<item quantity="one">Të fshihet %d mesazh?</item>
|
||||
<item quantity="other">Të fshihen %d mesazhe?</item>
|
||||
@@ -661,9 +665,10 @@
|
||||
<string name="accept_invalid_certificates">Prano dëshmi të pavlefshme</string>
|
||||
<string name="switch_account">Ndërroni Llogari</string>
|
||||
<string name="add_account">Shtoni Llogari</string>
|
||||
<string name="profile_tag">Etiketë Private</string>
|
||||
<!-- for translations, you can also think of "Profile Tag" or "Profile Description" as the source string -->
|
||||
<string name="profile_tag">Etiketë Profili</string>
|
||||
<string name="profile_tag_hint">p.sh., Pune, Familjeje</string>
|
||||
<string name="profile_tag_explain">Ajo etiketë është e dukshme vetëm për ju; për t’ju ndihmuar ju të bëni dallimin mes profileve tuaja.</string>
|
||||
<string name="profile_tag_explain">Caktoni një etiketë që është e dukshme vetëm për ju, për të ndihmuar veten të bëni dallimin mes profileve tuaja.</string>
|
||||
<!-- Menu entry to sort an item to the beginning of a list. Only "To Top" may do as well in some translations, if that helps to stay shorter. -->
|
||||
<string name="move_to_top">Shpjere Në Krye</string>
|
||||
<string name="delete_account">Fshije Llogarinë</string>
|
||||
|
||||
@@ -283,6 +283,7 @@
|
||||
<!-- Menu item beside an app/chat that adds an icon to the system's home screen. If the user taps that icon, the app/chat is opened directly. -->
|
||||
<string name="add_to_home_screen">Додај на главни екран</string>
|
||||
<string name="mute_for_one_hour">Утишај на 1 сат</string>
|
||||
<!-- deprecated -->
|
||||
<string name="mute_for_two_hours">Утишај на 2 сата</string>
|
||||
<string name="mute_for_one_day">Утишај на 1 дан</string>
|
||||
<string name="mute_for_seven_days">Утишај на 7 дана</string>
|
||||
@@ -319,13 +320,7 @@
|
||||
|
||||
<!-- get confirmations -->
|
||||
<string name="ask_leave_group">Да ли заиста желите да напустите ову групу?</string>
|
||||
<plurals name="ask_delete_chat">
|
||||
<item quantity="one">Избриши %d ћаскање? Више неће бити приказано на листи ћаскања; али поруке ће остати на серверу.</item>
|
||||
<item quantity="few">Избриши %d ћаскањa? Они више неће бити приказани на листи ћаскања; али поруке ће остати на серверу.</item>
|
||||
<item quantity="other">Избриши %d ћаскањa? Они више неће бити приказани на листи ћаскања; али поруке ће остати на серверу.</item>
|
||||
</plurals>
|
||||
<string name="ask_delete_named_chat">Јесте ли сигурни да желите да избришете „%1$s“?</string>
|
||||
<!-- deprecated, use ask_delete_messages -->
|
||||
<!-- Used for the deletion of Device messages -->
|
||||
<plurals name="ask_delete_messages_simple">
|
||||
<item quantity="one">Да ли желите да избришите %d поруку?</item>
|
||||
<item quantity="few">Да ли желите да избришите %d поруке?</item>
|
||||
|
||||
@@ -300,6 +300,7 @@
|
||||
<string name="donate">Donera</string>
|
||||
|
||||
<string name="mute_for_one_hour">Tysta 1 timma</string>
|
||||
<!-- deprecated -->
|
||||
<string name="mute_for_two_hours">Tysta 2 timmar</string>
|
||||
<string name="mute_for_one_day">Tysta 1 dag</string>
|
||||
<string name="mute_for_seven_days">Tysta 7 dagar</string>
|
||||
@@ -335,12 +336,7 @@
|
||||
|
||||
<!-- get confirmations -->
|
||||
<string name="ask_leave_group">Är du säker på att du vill lämna den här gruppen?</string>
|
||||
<plurals name="ask_delete_chat">
|
||||
<item quantity="one">Radera %d chatt? Det kommer inte längre synas i chattlistan, meddelanden kommer att finnas kvar på servern.</item>
|
||||
<item quantity="other">Radera %d chattar? De kommer inte att visas i chattlistan, deras meddelanden kommer finnas kvar på servern.</item>
|
||||
</plurals>
|
||||
<string name="ask_delete_named_chat">Är du säker på att du vill ta bort \"%1$s\"?</string>
|
||||
<!-- deprecated, use ask_delete_messages -->
|
||||
<!-- Used for the deletion of Device messages -->
|
||||
<plurals name="ask_delete_messages_simple">
|
||||
<item quantity="one">Vill du ta bort %d meddelande?</item>
|
||||
<item quantity="other">Vill du ta bort %d meddelanden?</item>
|
||||
|
||||
@@ -133,6 +133,7 @@
|
||||
<string name="menu_advanced">மேம்பட்ட அமைப்புகள்</string>
|
||||
<string name="menu_view_profile">சுயவிவரத்தை காண்பி</string>
|
||||
<string name="mute_for_one_hour">1 மணி இதற்காக ஊமையாக்கு</string>
|
||||
<!-- deprecated -->
|
||||
<string name="mute_for_two_hours">2 மணிகள் இதற்காக ஊமையாக்கு</string>
|
||||
<string name="mute_for_one_day">1 நாள் இதற்காக ஊமையாக்கு</string>
|
||||
<string name="mute_for_seven_days">7 நாட்கள் இதற்காக ஊமையாக்கு</string>
|
||||
|
||||
@@ -117,6 +117,7 @@
|
||||
<string name="menu_zoom_in">పెద్దదిగా చూపు</string>
|
||||
<string name="menu_zoom_out">పెద్దది చెయ్యి</string>
|
||||
<string name="mute_for_one_hour">1 గంట నిశబ్దంగా ఉంచు</string>
|
||||
<!-- deprecated -->
|
||||
<string name="mute_for_two_hours">2 గంటలు నిశబ్దంగా ఉంచు</string>
|
||||
<string name="mute_for_one_day">1 రోజు నిశబ్దంగా ఉంచు</string>
|
||||
<string name="mute_for_seven_days">7 రోజులు నిశబ్దంగా ఉంచు</string>
|
||||
|
||||
@@ -307,6 +307,7 @@
|
||||
<string name="menu_learn_spelling">Yazımı Öğrenin</string>
|
||||
<string name="menu_chat_audit_log">Sohbet Denetim Günlüğü</string>
|
||||
<string name="jump_to_message">İletiye Atla</string>
|
||||
<string name="jump_to_original_message">Özgün İletiye Atla</string>
|
||||
<string name="copy_json">JSON kopyala</string>
|
||||
<string name="replace_draft">Taslağı Değiştir</string>
|
||||
<string name="title_share_location">Tüm öbek üyeleriyle konum paylaş</string>
|
||||
@@ -331,6 +332,7 @@
|
||||
<string name="donate">Bağış</string>
|
||||
|
||||
<string name="mute_for_one_hour">1 saatliğine sessize al</string>
|
||||
<!-- deprecated -->
|
||||
<string name="mute_for_two_hours">2 saatliğine sessize al</string>
|
||||
<string name="mute_for_one_day">1 günlüğüne sessize al</string>
|
||||
<string name="mute_for_seven_days">7 günlüğüne sessize al</string>
|
||||
@@ -367,16 +369,16 @@
|
||||
<!-- get confirmations -->
|
||||
<string name="ask_leave_group">Bu öbekten ayrılmak istediğinizden emin misiniz?</string>
|
||||
<plurals name="ask_delete_chat">
|
||||
<item quantity="one">%d sohbet silinsin mi?</item>
|
||||
<item quantity="other">%d sohbet silinsin mi?</item>
|
||||
<item quantity="one">Tüm aygıtlarınızdaki %d sohbet silinsin mi?</item>
|
||||
<item quantity="other">Tüm aygıtlarınızdaki %d sohbet silinsin mi?</item>
|
||||
</plurals>
|
||||
<string name="ask_delete_named_chat">“%1$s” sohbeti silinsin mi?</string>
|
||||
<string name="ask_delete_named_chat">Tüm aygıtlarınızdaki “%1$s” sohbeti silinsin mi?</string>
|
||||
<string name="ask_delete_message">Tüm aygıtlarınızdaki bu ileti silinsin mi?</string>
|
||||
<plurals name="ask_delete_messages">
|
||||
<item quantity="one">Tüm aygıtlarınızdaki %d ileti silinsin mi?</item>
|
||||
<item quantity="other">Tüm aygıtlarınızdaki %d ileti silinsin mi?</item>
|
||||
</plurals>
|
||||
<!-- deprecated, use ask_delete_messages -->
|
||||
<!-- Used for the deletion of Device messages -->
|
||||
<plurals name="ask_delete_messages_simple">
|
||||
<item quantity="one">%d ileti silinsin mi?</item>
|
||||
<item quantity="other">%d ileti silinsin mi?</item>
|
||||
@@ -667,9 +669,10 @@
|
||||
<string name="accept_invalid_certificates">Geçersiz sertifikaları kabul et</string>
|
||||
<string name="switch_account">Profili Değiştir</string>
|
||||
<string name="add_account">Profil Ekle</string>
|
||||
<string name="profile_tag">Özel Etiket</string>
|
||||
<!-- for translations, you can also think of "Profile Tag" or "Profile Description" as the source string -->
|
||||
<string name="profile_tag">Profil Etiketi</string>
|
||||
<string name="profile_tag_hint">ör. İş, Aile</string>
|
||||
<string name="profile_tag_explain">Yalnızca sizin için görünür etiket; profilleriniz arasında farklılığa yardımcı olur.</string>
|
||||
<string name="profile_tag_explain">Yalnızca sizin için görünebilir bir etiket ayarlayın; profilleriniz arasındaki farkı anlamanıza yardımcı olur.</string>
|
||||
<!-- Menu entry to sort an item to the beginning of a list. Only "To Top" may do as well in some translations, if that helps to stay shorter. -->
|
||||
<string name="move_to_top">En Üste Taşı</string>
|
||||
<string name="delete_account">Profili Sil</string>
|
||||
|
||||
@@ -347,6 +347,7 @@
|
||||
<string name="donate">Пожертвувати</string>
|
||||
|
||||
<string name="mute_for_one_hour">Відключити сповіщення на 1 годину</string>
|
||||
<!-- deprecated -->
|
||||
<string name="mute_for_two_hours">Відключити сповіщення на 2 години</string>
|
||||
<string name="mute_for_one_day">Відключити сповіщення на 1 день</string>
|
||||
<string name="mute_for_seven_days">Відключити сповіщення на 7 днів</string>
|
||||
@@ -384,14 +385,7 @@
|
||||
|
||||
<!-- get confirmations -->
|
||||
<string name="ask_leave_group">Ви впевнені, що хочете залишити цю групу?</string>
|
||||
<plurals name="ask_delete_chat">
|
||||
<item quantity="one">Видалити %d чат? Він більше не буде відображатися у списку чатів, його повідомлення залишаться на сервері.</item>
|
||||
<item quantity="few">Видалити %d чати? Вони більше не будуть відображатися у списку чатів, їх повідомлення залишаться на сервері.</item>
|
||||
<item quantity="many">Видалити %d чатів? Вони більше не будуть відображатися у списку чатів, їх повідомлення залишаться на сервері.</item>
|
||||
<item quantity="other">Видалити %d чатів? Вони більше не будуть відображатися у списку чатів, їх повідомлення залишаться на сервері.</item>
|
||||
</plurals>
|
||||
<string name="ask_delete_named_chat">Видалити чат \"%1$s\"? Він більше не буде відображатися у списку чату, але його повідомлення залишаться на сервері.</string>
|
||||
<!-- deprecated, use ask_delete_messages -->
|
||||
<!-- Used for the deletion of Device messages -->
|
||||
<plurals name="ask_delete_messages_simple">
|
||||
<item quantity="one">Видалити %d повідомлення?</item>
|
||||
<item quantity="few">Видалити %d повідомлення?</item>
|
||||
@@ -689,9 +683,7 @@
|
||||
<string name="accept_invalid_certificates">Приймати недійсні сертифікати</string>
|
||||
<string name="switch_account">Перемкнути обліковий запис</string>
|
||||
<string name="add_account">Додати обліковий запис</string>
|
||||
<string name="profile_tag">Особистий тег</string>
|
||||
<string name="profile_tag_hint">наприклад \"Робота\", \"Сім\'я\"</string>
|
||||
<string name="profile_tag_explain">Тег, видимий тільки для вас; допомагає розрізняти ваші профілі.</string>
|
||||
<!-- Menu entry to sort an item to the beginning of a list. Only "To Top" may do as well in some translations, if that helps to stay shorter. -->
|
||||
<string name="move_to_top">Перемістити на початок</string>
|
||||
<string name="delete_account">Видалити обліковий запис</string>
|
||||
|
||||
@@ -283,6 +283,7 @@
|
||||
<string name="donate">Quyên tặng</string>
|
||||
|
||||
<string name="mute_for_one_hour">Tắt tiếng trong 1 giờ</string>
|
||||
<!-- deprecated -->
|
||||
<string name="mute_for_two_hours">Tắt tiếng trong 2 giờ</string>
|
||||
<string name="mute_for_one_day">Tắt tiếng trong 1 ngày</string>
|
||||
<string name="mute_for_seven_days">Tắt tiếng trong 7 ngày</string>
|
||||
@@ -317,11 +318,7 @@
|
||||
|
||||
<!-- get confirmations -->
|
||||
<string name="ask_leave_group">Bạn có chắc chắn muốn rời khỏi nhóm này không?</string>
|
||||
<plurals name="ask_delete_chat">
|
||||
<item quantity="other">Xóa cuộc trò chuyện %d? Nó sẽ không còn được hiển thị trong danh sách trò chuyện nữa; tin nhắn của nó sẽ vẫn còn trên máy chủ.</item>
|
||||
</plurals>
|
||||
<string name="ask_delete_named_chat">Bạn có chắc chắn muốn xóa \"%1$s\" không?</string>
|
||||
<!-- deprecated, use ask_delete_messages -->
|
||||
<!-- Used for the deletion of Device messages -->
|
||||
<plurals name="ask_delete_messages_simple">
|
||||
<item quantity="other">Xóa %d tin nhắn?</item>
|
||||
</plurals>
|
||||
|
||||
@@ -46,9 +46,9 @@
|
||||
<string name="edited">已编辑</string>
|
||||
<string name="edit_message">编辑消息</string>
|
||||
<!-- Verb "to archive", as in "put a chat in the archive", not a noun "The Archive". -->
|
||||
<string name="archive">存档</string>
|
||||
<string name="archive">归档</string>
|
||||
<!-- Verb "to unarchive", as in "remove a chat from the archive", opposite of the previous string -->
|
||||
<string name="unarchive">取消存档</string>
|
||||
<string name="unarchive">取消归档</string>
|
||||
<string name="mute">静音</string>
|
||||
<string name="muted">已静音</string>
|
||||
<string name="ephemeral_messages">消息定时销毁</string>
|
||||
@@ -150,9 +150,9 @@
|
||||
<string name="gif">Gif</string>
|
||||
<!-- "Stickers" as known from other messengers; in some languages, the English "Sticker" is fine. -->
|
||||
<string name="sticker">贴纸</string>
|
||||
<string name="add_to_sticker_collection">添加到表情集</string>
|
||||
<string name="add_stickers_instructions">要添加表情包,轻按“打开表情包文件夹”为你的表情包新建一个子文件夹,并把图片和表情符号拖动至此</string>
|
||||
<string name="open_sticker_folder">打开表情包文件夹</string>
|
||||
<string name="add_to_sticker_collection">添加到贴纸收藏集</string>
|
||||
<string name="add_stickers_instructions">要添加贴纸,请点击“打开贴纸文件夹”,为贴纸包创建一个子文件夹,然后将图片和贴纸文件拖动到那里</string>
|
||||
<string name="open_sticker_folder">打开贴纸文件夹</string>
|
||||
<string name="images">图像</string>
|
||||
<string name="audio">音频</string>
|
||||
<string name="voice_message">语音消息</string>
|
||||
@@ -232,8 +232,8 @@
|
||||
<string name="menu_edit_group">编辑群组</string>
|
||||
<string name="menu_group_name_and_image">群组名称和图像</string>
|
||||
<string name="menu_show_global_map">显示所有位置</string>
|
||||
<string name="menu_archive_chat">存档聊天</string>
|
||||
<string name="menu_unarchive_chat">取消存档聊天</string>
|
||||
<string name="menu_archive_chat">归档聊天</string>
|
||||
<string name="menu_unarchive_chat">取消归档聊天</string>
|
||||
<string name="menu_add_attachment">添加附件</string>
|
||||
<string name="menu_leave_group">离开群组</string>
|
||||
<string name="menu_delete_chat">删除聊天</string>
|
||||
@@ -298,6 +298,7 @@
|
||||
<string name="menu_learn_spelling">学习拼写</string>
|
||||
<string name="menu_chat_audit_log">聊天审计日志</string>
|
||||
<string name="jump_to_message">跳转到消息</string>
|
||||
<string name="jump_to_original_message">跳转到原始消息</string>
|
||||
<string name="copy_json">复制 JSON</string>
|
||||
<string name="replace_draft">替换草稿</string>
|
||||
<string name="title_share_location">与所有群组成员共享位置</string>
|
||||
@@ -322,7 +323,9 @@
|
||||
<string name="donate">捐赠</string>
|
||||
|
||||
<string name="mute_for_one_hour">静音 1 小时</string>
|
||||
<!-- deprecated -->
|
||||
<string name="mute_for_two_hours">静音 2 小时</string>
|
||||
<string name="mute_for_eight_hours">静音 8 小时</string>
|
||||
<string name="mute_for_one_day">静音 1 天</string>
|
||||
<string name="mute_for_seven_days">静音 7 天</string>
|
||||
<string name="mute_forever">永久静音</string>
|
||||
@@ -357,14 +360,14 @@
|
||||
<!-- get confirmations -->
|
||||
<string name="ask_leave_group">您确定要离开此群组吗?</string>
|
||||
<plurals name="ask_delete_chat">
|
||||
<item quantity="other">删除 %d 个聊天?被删除的聊天不会再显示在聊天列表中;聊天消息仍将保留于服务器。</item>
|
||||
<item quantity="other">是否删除所有设备上的 %d 个聊天?</item>
|
||||
</plurals>
|
||||
<string name="ask_delete_named_chat">删除聊天“%1$s”?它将不再显示在聊天列表中,其消息将保留在服务器上。</string>
|
||||
<string name="ask_delete_message">在所有设备上删除此消息吗?</string>
|
||||
<string name="ask_delete_named_chat">是否删除所有设备上的聊天“%1$s”?</string>
|
||||
<string name="ask_delete_message">是否在所有设备上删除此消息?</string>
|
||||
<plurals name="ask_delete_messages">
|
||||
<item quantity="other">是否删除所有设备上的 %d 条消息?</item>
|
||||
</plurals>
|
||||
<!-- deprecated, use ask_delete_messages -->
|
||||
<!-- Used for the deletion of Device messages -->
|
||||
<plurals name="ask_delete_messages_simple">
|
||||
<item quantity="other">删除 %d 条消息吗?</item>
|
||||
</plurals>
|
||||
@@ -396,12 +399,12 @@
|
||||
|
||||
<!-- chatlist and chat view -->
|
||||
<plurals name="chat_archived">
|
||||
<item quantity="other">%d 个聊天已存档</item>
|
||||
<item quantity="other">已归档 %d 个聊天</item>
|
||||
</plurals>
|
||||
<plurals name="chat_unarchived">
|
||||
<item quantity="other">%d 个聊天已取消存档</item>
|
||||
<item quantity="other">已取消归档 %d 个聊天</item>
|
||||
</plurals>
|
||||
<string name="chat_archived_chats_title">已存档聊天</string>
|
||||
<string name="chat_archived_chats_title">已归档聊天</string>
|
||||
<string name="chat_please_enter_message">请输入消息。</string>
|
||||
<string name="chat_camera_unavailable">相机不可用。</string>
|
||||
<string name="chat_unable_to_record_audio">无法录制音频。</string>
|
||||
@@ -415,14 +418,14 @@
|
||||
<string name="chat_record_slide_to_cancel">滑动来取消</string>
|
||||
<string name="chat_record_explain">按住来录制语音消息,松开来发送</string>
|
||||
<string name="chat_no_chats_yet_title">收件箱为空。\n按“+”来开始新聊天。</string>
|
||||
<string name="chat_all_archived">所有聊天已存档。\n按“+”来开始新聊天。</string>
|
||||
<string name="chat_all_archived">所有聊天已归档。\n按“+”来开始新聊天。</string>
|
||||
<string name="chat_share_with_title">分享给</string>
|
||||
<string name="chat_input_placeholder">输入消息…</string>
|
||||
<string name="chat_archived_label">已存档</string>
|
||||
<string name="chat_archived_label">已归档</string>
|
||||
<string name="chat_request_label">请求</string>
|
||||
<string name="chat_no_messages">没有消息。</string>
|
||||
<string name="chat_self_talk_subtitle">发给自己的消息</string>
|
||||
<string name="archive_empty_hint">已存档的聊天将显示在此处。</string>
|
||||
<string name="archive_empty_hint">已归档的聊天将显示在此处。</string>
|
||||
<string name="saved_messages">保存的消息</string>
|
||||
<string name="saved_messages_explain">• 转发消息于此以便于访问\n\n• 做笔记或语音备忘录\n\n• 附加媒体以保存它们</string>
|
||||
<!-- Should match "Saved" from "Saved messages" -->
|
||||
@@ -489,7 +492,7 @@
|
||||
<string name="remove_group_image">移除群组图像</string>
|
||||
<string name="change_group_image">更改群组图像</string>
|
||||
<string name="group_create_button">创建群组</string>
|
||||
<string name="group_please_enter_group_name">请为群组输入一个名称。</string>
|
||||
<string name="group_please_enter_group_name">请输入群组名称。</string>
|
||||
<string name="group_add_members">添加成员</string>
|
||||
<string name="group_self_not_in_group">为了执行此操作,您必须是群组成员。</string>
|
||||
<string name="profile_encryption">加密</string>
|
||||
@@ -565,7 +568,7 @@
|
||||
<!-- Shown in the setting if the app is "Connected" -->
|
||||
<string name="connectivity_connected">已连接</string>
|
||||
<string name="sending">发送中…</string>
|
||||
<string name="last_msg_sent_successfully">上一条消息发送成功。</string>
|
||||
<string name="last_msg_sent_successfully">最后一条消息已成功发送。</string>
|
||||
<string name="not_supported_by_provider">不被您的邮件提供商支持。</string>
|
||||
<!-- Subtitle in quota context of "Connetivity" view. Should be be plural always, no number is prefixed. -->
|
||||
<string name="messages">消息</string>
|
||||
@@ -644,16 +647,17 @@
|
||||
<string name="login_error_required_fields">请输入有效的电子邮件地址和密码</string>
|
||||
<string name="import_backup_title">从备份恢复</string>
|
||||
<string name="import_backup_ask">在“%1$s”找到备份。\n\n您要导入并使用其中的全部数据与设置吗?</string>
|
||||
<string name="import_backup_no_backup_found">没有找到备份。\n\n将备份复制到“%1$s”然后再试一次。或者按“开始发送消息”来进行常规设置流程。</string>
|
||||
<string name="import_backup_no_backup_found">未找到备份。\n\n将备份复制到“%1$s”,然后重试。或者按“开始发送消息”来进行常规设置流程。</string>
|
||||
<!-- Translators: %1$s will be replaced by the e-mail address -->
|
||||
<string name="login_error_cannot_login">无法作为“%1$s”登录。请检查电子邮件地址和密码是否正确。</string>
|
||||
<!-- TLS certificate checks -->
|
||||
<string name="accept_invalid_certificates">接受无效的证书</string>
|
||||
<string name="switch_account">切换账号</string>
|
||||
<string name="add_account">添加账号</string>
|
||||
<string name="profile_tag">私密标签</string>
|
||||
<!-- for translations, you can also think of "Profile Tag" or "Profile Description" as the source string -->
|
||||
<string name="profile_tag">账号标签</string>
|
||||
<string name="profile_tag_hint">如工作、家庭</string>
|
||||
<string name="profile_tag_explain">仅对你可见的标签;帮助你区分不同的配置文件</string>
|
||||
<string name="profile_tag_explain">设置仅对您可见的标签,帮助区分您的账号。</string>
|
||||
<!-- Menu entry to sort an item to the beginning of a list. Only "To Top" may do as well in some translations, if that helps to stay shorter. -->
|
||||
<string name="move_to_top">移到顶部</string>
|
||||
<string name="delete_account">删除账号</string>
|
||||
@@ -986,8 +990,8 @@
|
||||
<string name="qrshow_join_contact_no_connection_toast">没有互联网连接,无法进行二维码设置。</string>
|
||||
<string name="qraccount_ask_create_and_login">在“%1$s”创建新的电子邮件地址并登录?</string>
|
||||
<string name="qraccount_ask_create_and_login_another">在“%1$s”创建新账号并登录?\n\n不会删除您现有的账号。使用“切换账号”在账号之间切换。</string>
|
||||
<string name="set_name_and_avatar_explain">设置一个你的联系人认得出的名字。你还可以设置头像图片</string>
|
||||
<string name="please_enter_name">请输入名字</string>
|
||||
<string name="set_name_and_avatar_explain">设置联系人可以识别的名称,您还可以设置个人资料图片。</string>
|
||||
<string name="please_enter_name">请输入名称。</string>
|
||||
<string name="qraccount_qr_code_cannot_be_used">扫描的二维码不能用于创建新账号。</string>
|
||||
<!-- the placeholder will be replaced by the e-mail address of the profile -->
|
||||
<string name="qrlogin_ask_login">登录 \"%1$s\"吗?</string>
|
||||
@@ -1071,11 +1075,11 @@
|
||||
<string name="global_menu_help_desktop">帮助</string>
|
||||
<string name="delta_chat_homepage">Delta Chat 主页</string>
|
||||
<string name="contribute">贡献</string>
|
||||
<string name="global_menu_help_report_desktop">报告一个问题</string>
|
||||
<string name="global_menu_help_report_desktop">报告问题</string>
|
||||
<string name="global_menu_help_about_desktop">关于 Delta Chat</string>
|
||||
<string name="global_menu_file_open_desktop">打开 Delta Chat</string>
|
||||
<string name="global_menu_minimize_to_tray">最小化</string>
|
||||
<string name="no_chat_selected_suggestion_desktop">选择一个聊天或创建新聊天</string>
|
||||
<string name="no_chat_selected_suggestion_desktop">选择聊天或创建新聊天</string>
|
||||
<string name="write_message_desktop">输入消息…</string>
|
||||
<string name="encryption_info_title_desktop">加密信息</string>
|
||||
<string name="delete_message_desktop">删除消息</string>
|
||||
|
||||
@@ -28,6 +28,8 @@
|
||||
<string name="join">加入</string>
|
||||
<string name="rejoin">重新加入</string>
|
||||
<string name="delete">刪除</string>
|
||||
<string name="delete_for_me">為我刪除</string>
|
||||
<string name="delete_for_everyone">為所有人刪除</string>
|
||||
<string name="info">資訊</string>
|
||||
<string name="update">更新</string>
|
||||
<string name="emoji">表情符號</string>
|
||||
@@ -37,14 +39,18 @@
|
||||
<string name="close_window">關閉視窗</string>
|
||||
<string name="forward">轉發</string>
|
||||
<string name="create">建立</string>
|
||||
<string name="reset">重置</string>
|
||||
<string name="later">稍後</string>
|
||||
<!-- "Resend" means "Sending the selected message(s) again to the same chat". The string is used in a menu and should be as short as possible. Resending may be needed after failures or to repost old messages to new members. -->
|
||||
<string name="resend">重新傳送</string>
|
||||
<string name="edited">已編輯</string>
|
||||
<string name="edit_message">編輯訊息</string>
|
||||
<!-- Verb "to archive", as in "put a chat in the archive", not a noun "The Archive". -->
|
||||
<string name="archive">封存</string>
|
||||
<!-- Verb "to unarchive", as in "remove a chat from the archive", opposite of the previous string -->
|
||||
<string name="unarchive">取消封存</string>
|
||||
<string name="mute">靜音</string>
|
||||
<string name="muted">勿擾</string>
|
||||
<string name="ephemeral_messages">自動銷毀訊息</string>
|
||||
<string name="ephemeral_messages_hint">這些設定將會套用在所有使用 Delta Chat 的聊天成員上。但他們依然可以複製、儲存和轉發訊息,或使用其他的電子郵件客戶端。</string>
|
||||
<string name="save">儲存</string>
|
||||
@@ -173,6 +179,16 @@
|
||||
<string name="webxdc_app">小程式</string>
|
||||
<!-- plural of "App"; used to present "Webxdc App" (https://webxdc.org) in a user friendly way. Please stay close to the original term and keep it short (it is used in menus with few screen space). -->
|
||||
<string name="webxdc_apps">小程式</string>
|
||||
<string name="webxdc_store_url">應用選取器連結</string>
|
||||
<string name="webxdc_store_url_explain">如果設定,該連接將用作應用選擇器而不是預設連結</string>
|
||||
<string name="home">主頁</string>
|
||||
<string name="games">游戲</string>
|
||||
<string name="tools">工具</string>
|
||||
<string name="app_size">尺寸大小</string>
|
||||
<string name="app_date_published">已發佈</string>
|
||||
<string name="add_to_chat">添加到聊天</string>
|
||||
<!-- short for "Browse through the App Picker/Store/Catalogue"; could also be translated as "Discover" or "Search" -->
|
||||
<string name="browse">瀏覽</string>
|
||||
<string name="unknown">未知</string>
|
||||
|
||||
<string name="green">綠色</string>
|
||||
@@ -200,6 +216,8 @@
|
||||
<string name="new_classic_contact_explain">手動添加的聯絡人可用於向傳統電子郵件發送文本,並且不能保證端到端加密。</string>
|
||||
<string name="menu_new_chat">新增聊天</string>
|
||||
<string name="menu_new_group">新增群組</string>
|
||||
<!-- "Chat" is a verb here, "Message to" would also fit. the string might be used in the "New Chat" screen above the contact list -->
|
||||
<string name="chat_with">與……聊天</string>
|
||||
<string name="clone_chat">克隆聊天</string>
|
||||
<!-- consider keeping the term "broadcast" as in WhatsApp or Telegram -->
|
||||
<string name="broadcast_list">廣播列表</string>
|
||||
@@ -280,6 +298,7 @@
|
||||
<string name="menu_learn_spelling">學習拼寫</string>
|
||||
<string name="menu_chat_audit_log">對話審查紀錄</string>
|
||||
<string name="jump_to_message">移動至訊息</string>
|
||||
<string name="jump_to_original_message">跳轉到原始訊息</string>
|
||||
<string name="copy_json">複製 JSON 內容</string>
|
||||
<string name="replace_draft">取代草稿</string>
|
||||
<string name="title_share_location">分享所在地給所有群組成員</string>
|
||||
@@ -304,6 +323,7 @@
|
||||
<string name="donate">捐贈</string>
|
||||
|
||||
<string name="mute_for_one_hour">靜音1小時</string>
|
||||
<!-- deprecated -->
|
||||
<string name="mute_for_two_hours">靜音2小時</string>
|
||||
<string name="mute_for_one_day">靜音1天</string>
|
||||
<string name="mute_for_seven_days">靜音7天</string>
|
||||
@@ -339,10 +359,14 @@
|
||||
<!-- get confirmations -->
|
||||
<string name="ask_leave_group">確定要離開本群組?</string>
|
||||
<plurals name="ask_delete_chat">
|
||||
<item quantity="other">確定刪除%d個對話嗎?將會從對話紀錄中刪除,然而伺服器中仍會保留對話。</item>
|
||||
<item quantity="other">刪除您所有裝置上的%d個聊天記錄?</item>
|
||||
</plurals>
|
||||
<string name="ask_delete_named_chat">你確定你要刪除「%1$s」?</string>
|
||||
<!-- deprecated, use ask_delete_messages -->
|
||||
<string name="ask_delete_named_chat">刪除您所有設備上的“%1$s”聊天 ?</string>
|
||||
<string name="ask_delete_message">在您的所有裝置上刪除此訊息?</string>
|
||||
<plurals name="ask_delete_messages">
|
||||
<item quantity="other">是否刪除所有裝置上的%d條訊息?</item>
|
||||
</plurals>
|
||||
<!-- Used for the deletion of Device messages -->
|
||||
<plurals name="ask_delete_messages_simple">
|
||||
<item quantity="other">刪除%d則訊息?</item>
|
||||
</plurals>
|
||||
@@ -473,6 +497,8 @@
|
||||
<string name="profile_encryption">加密</string>
|
||||
<string name="profile_shared_chats">共享的對話</string>
|
||||
<string name="related_chats">相關對話</string>
|
||||
<!-- Separator between the list of actual members and past members -->
|
||||
<string name="past_members">以前成員</string>
|
||||
<string name="tab_contact">聯絡人</string>
|
||||
<string name="tab_group">群組</string>
|
||||
<string name="tab_gallery">相簿</string>
|
||||
@@ -486,6 +512,7 @@
|
||||
<string name="tab_audio_empty_hint">在此聊天中分享的音訊檔和語音消息將顯示在此處。</string>
|
||||
<string name="tab_webxdc_empty_hint">在此聊天中分享的應用程式將在此處顯示。</string>
|
||||
<string name="tab_all_media_empty_hint">在任何聊天中分享的媒體都會顯示在此處。</string>
|
||||
<string name="all_files_empty_hint">在任何聊天中共用的檔案和其他檔案都會顯示在此處。</string>
|
||||
<string name="all_apps_empty_hint">在任何聊天中接收或發送的應用程式都會顯示在此處。</string>
|
||||
<string name="media_preview">媒體預覽</string>
|
||||
<!-- option to show images in the gallery with the correct width/height aspect (instead of square); other gallery apps may be a source of inspiration for translation :) -->
|
||||
@@ -512,6 +539,7 @@
|
||||
<string name="multidevice_receiver_title">新增為第二個裝置</string>
|
||||
<string name="multidevice_open_settings_on_other_device">在第一台裝置上,轉到「設定/新增第二台裝置」並掃描那裡顯示的QR碼</string>
|
||||
<string name="multidevice_receiver_scanning_ask">將賬戶檔從其他裝置複製到此裝置?</string>
|
||||
<string name="multidevice_receiver_needs_update">您要導入的配置檔來自較新的 Delta Chat 版本。\n\n要繼續設定第二台裝置,請將此裝置更新到最新版本的 Delta Chat。</string>
|
||||
<string name="multidevice_abort">中止設定第二個裝置?</string>
|
||||
<string name="multidevice_abort_will_invalidate_copied_qr">這將使複製到剪貼板的 QR 碼失效。</string>
|
||||
<string name="multidevice_experimental_hint">(實驗性,需要版本 1.36)</string>
|
||||
@@ -625,9 +653,12 @@
|
||||
<string name="accept_invalid_certificates">接受無效證書</string>
|
||||
<string name="switch_account">切換個人檔案</string>
|
||||
<string name="add_account">新增個人檔案</string>
|
||||
<string name="profile_tag">私有標籤</string>
|
||||
<!-- for translations, you can also think of "Profile Tag" or "Profile Description" as the source string -->
|
||||
<string name="profile_tag">賬戶標籤</string>
|
||||
<string name="profile_tag_hint">例如工作、 家庭</string>
|
||||
<string name="profile_tag_explain">僅對您可見的標籤;幫助您區分您的個人資料。</string>
|
||||
<string name="profile_tag_explain">設置僅對您可見的標籤;幫助您區分您的賬戶。</string>
|
||||
<!-- Menu entry to sort an item to the beginning of a list. Only "To Top" may do as well in some translations, if that helps to stay shorter. -->
|
||||
<string name="move_to_top">移至頁首</string>
|
||||
<string name="delete_account">刪除個人檔案</string>
|
||||
<string name="delete_account_ask">您確定要刪除您的賬戶數據嗎?</string>
|
||||
<string name="delete_account_explain_with_name">此裝置上 「%s」 的所有賬戶資料都將被刪除,包括您的端到端加密設置、聯絡人、聊天、消息和媒體。此操作無法復原。</string>
|
||||
@@ -673,6 +704,8 @@
|
||||
<string name="pref_screen_security_explain">要求系統在本通訊軟體中及應用程式列表中禁止擷圖</string>
|
||||
<string name="pref_screen_security_please_restart_hint">請重新啟動本 app 以啟用螢幕安全設定。</string>
|
||||
<string name="pref_notifications">通知設定</string>
|
||||
<string name="pref_mention_notifications">提到</string>
|
||||
<string name="pref_mention_notifications_explain">在勿擾的群組中,通知傳送給您的訊息,例如回復或回應</string>
|
||||
<string name="pref_notifications_show">顯示通知</string>
|
||||
<string name="pref_notifications_priority">通知優先權</string>
|
||||
<string name="pref_notifications_explain">為新訊息啟用系統通知</string>
|
||||
@@ -690,6 +723,7 @@
|
||||
<string name="pref_appearance">外觀</string>
|
||||
<string name="pref_theme">佈景主題</string>
|
||||
<string name="pref_language">語言</string>
|
||||
<string name="pref_use_system_ui_font">使用系統字體</string>
|
||||
<string name="pref_incognito_keyboard">保密鍵盤</string>
|
||||
<!-- Translators: Must indicate that there is no guarantee as the system may not honor our request. -->
|
||||
<string name="pref_incognito_keyboard_explain">要求系統關閉鍵盤的個人化學習設定</string>
|
||||
@@ -1038,6 +1072,8 @@
|
||||
<string name="global_menu_view_developer_desktop">開發者</string>
|
||||
<string name="global_menu_view_developer_tools_desktop">開發者工具</string>
|
||||
<string name="global_menu_help_desktop">幫助</string>
|
||||
<string name="delta_chat_homepage">Delta Chat 主頁</string>
|
||||
<string name="contribute">貢獻</string>
|
||||
<string name="global_menu_help_report_desktop">報告問題</string>
|
||||
<string name="global_menu_help_about_desktop">關於 Delta Chat</string>
|
||||
<string name="global_menu_file_open_desktop">開啟 Delta Chat</string>
|
||||
@@ -1050,6 +1086,8 @@
|
||||
<string name="timestamp_format_m_desktop">MMM D</string>
|
||||
<string name="remove_desktop">移除</string>
|
||||
<string name="save_desktop">儲存</string>
|
||||
<!-- Opposite of "Save". Undo a "Save" action. Similar to "Unmute", "Unpin". Could also be worded as "Save no longer" or so. -->
|
||||
<string name="unsave">取消保存</string>
|
||||
<string name="name_desktop">名稱</string>
|
||||
<string name="select_group_image_desktop">選擇群組圖片</string>
|
||||
<string name="export_backup_desktop">匯出備份</string>
|
||||
@@ -1109,6 +1147,18 @@
|
||||
<string name="notifications_avg_minutes">平均每%1$d分鐘一次</string>
|
||||
<string name="notifications_avg_hours">平均每%1$d小時一次</string>
|
||||
<string name="last_check_at">在%1$s檢查</string>
|
||||
<string name="system_settings">系統設定</string>
|
||||
<!-- shown below the button "System Settings" on the notification screen. this is a hint about what can be edited on System Settings' Notification page - eg. the notification type (banner, lock screen, notification centre), sound, badges and so on. no need to be exhaustive here, it is only to give the user an idea. -->
|
||||
<string name="system_settings_notify_explain_ios">編輯類型、徽章、預覽等</string>
|
||||
<!-- iOS shortcut widget -->
|
||||
<!-- use the same translation for "Shortcuts" as the system is using, often the term "Shortcut" stays untranslated; check eg. how the "Shortcuts" system app is called in your locale -->
|
||||
<string name="shortcuts_widget_title">捷徑</string>
|
||||
<!-- use the same translation for "Widget" as the system is using; often the term "Widget" stays untranslated -->
|
||||
<string name="shortcuts_widget_description">使用 Delta Chat 的“添加到小工具”添加項目</string>
|
||||
<!-- use the same translation for "Widget" as the system is using; often the term "Widget" stays untranslated -->
|
||||
<string name="remove_from_widget">從小工具中移除</string>
|
||||
<!-- use the same translation for "Widget" as the system is using; often the term "Widget" stays untranslated -->
|
||||
<string name="add_to_widget">添加到小工具</string>
|
||||
<!-- iOS permissions, copy from "deltachat-ios/Info.plist", which is used on missing translations in "deltachat-ios/LANG.lproj/InfoPlist.strings" -->
|
||||
<string name="InfoPlist_NSCameraUsageDescription">Delta Chat 使用您的相機拍攝和傳送照片和影片,以及掃描QR碼。</string>
|
||||
<string name="InfoPlist_NSContactsUsageDescription">Delta Chat 使用您的聯絡人來顯示您可以寫入的電子郵件位址清單。Delta Chat 沒有伺服器,您的聯絡人不會發送到任何地方。</string>
|
||||
@@ -1117,6 +1167,9 @@
|
||||
<string name="InfoPlist_NSMicrophoneUsageDescription">Delta Chat 使用您的麥克風錄製和發送音訊和帶聲音的視頻。</string>
|
||||
<string name="InfoPlist_NSPhotoLibraryUsageDescription">Delta Chat 將讓您從圖庫中選擇要傳送的照片。</string>
|
||||
<string name="InfoPlist_NSPhotoLibraryAddUsageDescription">Delta Chat 希望將圖像保存到您的照片庫。</string>
|
||||
<string name="InfoPlist_NSFaceIDUsageDescription">Delta Chat 可以使用 Face ID 保護您的本地賬戶、備份創建和第二台裝置設定。</string>
|
||||
|
||||
|
||||
<!-- android specific strings, developers: please take care to remove strings that are no longer used! -->
|
||||
<string name="pref_instant_delivery">即時傳送</string>
|
||||
<string name="pref_background_notifications">使用背景連接</string>
|
||||
@@ -1129,5 +1182,7 @@
|
||||
<string name="perm_enable_bg_reminder_title">點擊此處可在 Delta Chat 處於後台時接收訊息。</string>
|
||||
<string name="perm_enable_bg_already_done">您已經允許 Delta Chat 在後台接收訊息。\n\n如果消息仍未在後台到達,請同時檢查您的系統設定。</string>
|
||||
|
||||
<!-- device messages for updates -->
|
||||
<string name="update_1_50_android">新功能\n\n❤️ 🔥 新的表情符號選擇器,包含更多表情符號\n\n🎮 增強的聊天應用程式:在上下文中獲取通知並打開支援應用程式,即直接打開添加的日曆條目\n\n👍獲取有關對您的消訊息的回應的通知\n\n...🛠️ 修復以及更多在%1$s</string>
|
||||
<string name="update_switch_profile_placement">ℹ️「切換賬戶」選項已移動:點擊主螢幕右上角的賬戶大頭貼以添加或切換賬戶 💡</string>
|
||||
</resources>
|
||||
|
||||
@@ -72,7 +72,7 @@
|
||||
|
||||
<string-array name="mute_durations">
|
||||
<item>@string/mute_for_one_hour</item>
|
||||
<item>@string/mute_for_two_hours</item>
|
||||
<item>@string/mute_for_eight_hours</item>
|
||||
<item>@string/mute_for_one_day</item>
|
||||
<item>@string/mute_for_seven_days</item>
|
||||
<item>@string/mute_forever</item>
|
||||
|
||||
@@ -1,16 +1,29 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<resources xmlns:tools="http://schemas.android.com/tools" tools:ignore="MissingTranslation">
|
||||
<!-- custom strings -->
|
||||
<string name="community">Community</string>
|
||||
<string name="description">Description</string>
|
||||
<string name="ask_join_community">Do you want to join the Community \"%1$s\"?</string>
|
||||
<string name="community_set_name_explain">Set a name that other will recognize.</string>
|
||||
<string name="could_not_open_file">Could not open file</string>
|
||||
<string name="menu_export_image">Export Image</string>
|
||||
<!-- the word "or" to separate blocks in the user interface that are mutually exclusive -->
|
||||
<string name="or_separator">or</string>
|
||||
<string name="online">online</string>
|
||||
<string name="pink">Pink</string>
|
||||
<string name="gray">Gray</string>
|
||||
<string name="super_group">Super Group</string>
|
||||
<string name="channel">Channel</string>
|
||||
<string name="public_bots">🤖 Public Bots</string>
|
||||
<string name="share_location_for_12_hours">For 12 hours</string>
|
||||
<string name="force_e2ee">Force End-To-End Encryption</string>
|
||||
<string name="disable_force_e2ee_warning">⚠️ If you disable this option, you will not be protected against sending unencrypted messages by accident. Only disable this if you want to send unencrypted e-mails with your classic e-mail account.</string>
|
||||
<!-- End of custom strings -->
|
||||
|
||||
<!-- common strings without special context -->
|
||||
<string name="app_name">ArcaneChat</string>
|
||||
<string name="ok">OK</string>
|
||||
<string name="cancel">Cancel</string>
|
||||
<!-- the word "or" to separate blocks in the user interface that are mutually exclusive -->
|
||||
<string name="or_separator">or</string>
|
||||
<string name="clear_search">Clear Search</string>
|
||||
<!-- a noun, used on a button, short for "show link" -->
|
||||
<string name="link">Link</string>
|
||||
@@ -118,7 +131,6 @@
|
||||
<!-- Refers to the time a contact was last seen. Shown below contact name in the profile. The placeholder will be replaced by a relative point in time as "3 minutes ago" (see https://momentjs.com for more examples and languages)-->
|
||||
<string name="last_seen_relative">last seen %1$s</string>
|
||||
<string name="last_seen_unknown">last seen: Unknown</string>
|
||||
<string name="online">online</string>
|
||||
<!-- Shown beside messages that are "N minutes old". Prefer short strings, or well-known abbreviations. -->
|
||||
<plurals name="n_minutes">
|
||||
<item quantity="one">%d min</item>
|
||||
@@ -216,8 +228,6 @@
|
||||
<string name="purple">Purple</string>
|
||||
<string name="magenta">Magenta</string>
|
||||
<string name="white">White</string>
|
||||
<string name="pink">Pink</string>
|
||||
<string name="gray">Gray</string>
|
||||
|
||||
<string name="zoom">Zoom</string>
|
||||
<string name="extra_small">Extra small</string>
|
||||
@@ -282,7 +292,6 @@
|
||||
<string name="menu_unmute">Unmute</string>
|
||||
<string name="menu_export_attachment">Export Attachment</string>
|
||||
<string name="menu_export_attachments">Export Attachments</string>
|
||||
<string name="menu_export_image">Export Image</string>
|
||||
<string name="menu_all_media">All Media</string>
|
||||
<!-- Command to jump to the original message corresponding to a gallery image or document -->
|
||||
<string name="show_in_chat">Show in Chat</string>
|
||||
@@ -343,7 +352,9 @@
|
||||
<string name="donate">Donate</string>
|
||||
|
||||
<string name="mute_for_one_hour">Mute for 1 hour</string>
|
||||
<!-- deprecated -->
|
||||
<string name="mute_for_two_hours">Mute for 2 hours</string>
|
||||
<string name="mute_for_eight_hours">Mute for 8 hours</string>
|
||||
<string name="mute_for_one_day">Mute for 1 day</string>
|
||||
<string name="mute_for_seven_days">Mute for 7 days</string>
|
||||
<string name="mute_forever">Mute forever</string>
|
||||
@@ -353,7 +364,6 @@
|
||||
<string name="share_location_for_one_hour">For 1 hour</string>
|
||||
<string name="share_location_for_two_hours">For 2 hours</string>
|
||||
<string name="share_location_for_six_hours">For 6 hours</string>
|
||||
<string name="share_location_for_12_hours">For 12 hours</string>
|
||||
|
||||
<plurals name="ask_send_following_n_files_to">
|
||||
<item quantity="one">Send the following file to %s?</item>
|
||||
@@ -380,16 +390,16 @@
|
||||
<!-- get confirmations -->
|
||||
<string name="ask_leave_group">Are you sure you want to leave this group?</string>
|
||||
<plurals name="ask_delete_chat">
|
||||
<item quantity="one">Delete %d chat?</item>
|
||||
<item quantity="other">Delete %d chats?</item>
|
||||
<item quantity="one">Delete %d chat on all your devices?</item>
|
||||
<item quantity="other">Delete %d chats on all your devices?</item>
|
||||
</plurals>
|
||||
<string name="ask_delete_named_chat">Delete chat \"%1$s\"?</string>
|
||||
<string name="ask_delete_named_chat">Delete chat \"%1$s\" on all your devices?</string>
|
||||
<string name="ask_delete_message">Delete this message on all your devices?</string>
|
||||
<plurals name="ask_delete_messages">
|
||||
<item quantity="one">Delete %d message on all your devices?</item>
|
||||
<item quantity="other">Delete %d messages on all your devices?</item>
|
||||
</plurals>
|
||||
<!-- deprecated, use ask_delete_messages -->
|
||||
<!-- Used for the deletion of Device messages -->
|
||||
<plurals name="ask_delete_messages_simple">
|
||||
<item quantity="one">Delete %d message?</item>
|
||||
<item quantity="other">Delete %d messages?</item>
|
||||
@@ -468,13 +478,8 @@
|
||||
|
||||
<!-- mailing lists -->
|
||||
<string name="mailing_list">Mailing List</string>
|
||||
<string name="super_group">Super Group</string>
|
||||
<string name="channel">Channel</string>
|
||||
<string name="mailing_list_profile_info">Changes to mailing list name and image apply on this device only.</string>
|
||||
|
||||
<!-- extra services -->
|
||||
<string name="public_bots">🤖 Public Bots</string>
|
||||
|
||||
<!-- webxdc -->
|
||||
<!-- "Start..." button for an app -->
|
||||
<string name="start_app">Start…</string>
|
||||
@@ -525,8 +530,6 @@
|
||||
<string name="group_create_button">Create Group</string>
|
||||
<string name="group_please_enter_group_name">Please enter a name for the group.</string>
|
||||
<string name="group_add_members">Add Members</string>
|
||||
<string name="group_add_member">Add Member</string>
|
||||
<string name="group_remove_member">Remove Member</string>
|
||||
<string name="group_self_not_in_group">You must be a member of the group to perform this action.</string>
|
||||
<string name="profile_encryption">Encryption</string>
|
||||
<string name="profile_shared_chats">Shared Chats</string>
|
||||
@@ -687,9 +690,10 @@
|
||||
<string name="accept_invalid_certificates">Accept invalid certificates</string>
|
||||
<string name="switch_account">Switch Profile</string>
|
||||
<string name="add_account">Add Profile</string>
|
||||
<string name="profile_tag">Private Tag</string>
|
||||
<!-- for translations, you can also think of "Profile Tag" or "Profile Description" as the source string -->
|
||||
<string name="profile_tag">Profile Label</string>
|
||||
<string name="profile_tag_hint">eg. Work, Family</string>
|
||||
<string name="profile_tag_explain">Tag that is visible only for you; helping you to differ between your profiles.</string>
|
||||
<string name="profile_tag_explain">Set a label that is visible only for you; helping you to differ between your profiles.</string>
|
||||
<!-- Menu entry to sort an item to the beginning of a list. Only "To Top" may do as well in some translations, if that helps to stay shorter. -->
|
||||
<string name="move_to_top">Move to Top</string>
|
||||
<string name="delete_account">Delete Profile</string>
|
||||
@@ -762,8 +766,6 @@
|
||||
<string name="pref_incognito_keyboard_explain">Request keyboard to disable personalized learning</string>
|
||||
<string name="pref_read_receipts">Read Receipts</string>
|
||||
<string name="pref_read_receipts_explain">If read receipts are disabled, you won\'t be able to see read receipts from others.</string>
|
||||
<string name="pref_subject">Subject</string>
|
||||
<string name="pref_subject_explain">If subject is disabled, your messages will be sent without a subject.</string>
|
||||
<string name="pref_server">Server</string>
|
||||
<string name="pref_encryption">Encryption</string>
|
||||
<string name="pref_manage_keys">Manage Keys</string>
|
||||
@@ -897,6 +899,7 @@
|
||||
<string name="autocrypt_prefer_e2ee">Prefer End-To-End Encryption</string>
|
||||
<string name="autocrypt_asm_subject">Autocrypt Setup Message</string>
|
||||
<string name="autocrypt_asm_general_body">This is the Autocrypt Setup Message used to transfer your end-to-end setup between clients.\n\nTo decrypt and use your setup, open the message in an Autocrypt-compliant client and enter the setup code presented on the generating device.</string>
|
||||
<!-- deprecated -->
|
||||
<string name="autocrypt_asm_click_body">This is the Autocrypt Setup Message used to transfer your end-to-end setup between clients.\n\nTo decrypt and use your setup, tap or click on this message.</string>
|
||||
<string name="autocrypt_continue_transfer_title">Autocrypt Setup Message</string>
|
||||
<string name="autocrypt_continue_transfer_please_enter_code">Please enter the setup code displayed on the other device.</string>
|
||||
@@ -1218,6 +1221,8 @@
|
||||
<string name="perm_enable_bg_already_done">You already allowed Delta Chat to receive messages in the background.\n\nIf messages still do not arrive in background, please also check your system settings.</string>
|
||||
|
||||
<!-- device messages for updates -->
|
||||
<string name="update_1_56_android">🔮 What\'s new?\n\n★ add option to mute chats for 8 hours\n\n★ fix problem with padlock not appearing in messages\n\n★ always paste as plain text in message draft area\n\n★ allow to scroll in registration screen in small screens\n\n★ remove dangerous encryption options from Advanced settings\n\n\n💜 Show your love and support Delta Chat development: %1$s</string>
|
||||
|
||||
<string name="update_1_50_android">What\'s new?\n\n❤️🔥 New emojis picker with more emoji\n\n🎮 Enhanced in-chat apps: Get notifications and open supporting apps in context, i.e. open an added calendar entry directly\n\n👍 Get notified about reactions to your messages\n\n... 🛠️ FIXES and EVEN MORE at %1$s</string>
|
||||
<string name="update_switch_profile_placement">ℹ️ \"Switch Profile\" option moved: Tap your profile image in the upper corner of the main screen to add or switch profiles 💡</string>
|
||||
</resources>
|
||||
|
||||
@@ -45,11 +45,7 @@
|
||||
<org.thoughtcrime.securesms.components.SwitchPreferenceCompat
|
||||
android:defaultValue="true"
|
||||
android:key="pref_prefer_e2ee"
|
||||
android:title="@string/autocrypt_prefer_e2ee"/>
|
||||
|
||||
|
||||
<Preference android:key="pref_manage_keys"
|
||||
android:title="@string/pref_manage_keys"/>
|
||||
android:title="@string/force_e2ee"/>
|
||||
|
||||
<Preference android:key="pref_send_autocrypt_setup_message"
|
||||
android:title="@string/autocrypt_send_asm_title"/>
|
||||
|
||||
Binary file not shown.
|
Before Width: | Height: | Size: 20 KiB |
Reference in New Issue
Block a user