Compare commits

..

4 Commits

Author SHA1 Message Date
adbenitez 98d711e0ca tweak createForExternal 2025-12-22 18:23:08 +01:00
copilot-swe-agent[bot] 99c848b1b7 Add clarifying comment about fallback logic
Co-authored-by: adbenitez <24558636+adbenitez@users.noreply.github.com>
2025-12-22 16:58:38 +00:00
copilot-swe-agent[bot] fe26af88b4 Fix quick-camera button crash on devices with external SD cards
Co-authored-by: adbenitez <24558636+adbenitez@users.noreply.github.com>
2025-12-22 16:55:15 +00:00
copilot-swe-agent[bot] 6af6ff80ba Initial plan 2025-12-22 16:51:35 +00:00
95 changed files with 1992 additions and 3200 deletions
+1 -5
View File
@@ -59,8 +59,6 @@ jobs:
rm build/outputs/apk/foss/release/*universal*
./gradlew assembleGplayRelease
mv build/outputs/apk/gplay/release/*universal* build/outputs/apk/foss/release/ArcaneChat-gplay.apk
mv build/outputs/mapping/fossRelease/mapping.txt build/outputs/mapping/fossRelease/mapping-foss.txt
mv build/outputs/mapping/gplayRelease/mapping.txt build/outputs/mapping/fossRelease/mapping-gplay.txt
- name: Release on GitHub
uses: softprops/action-gh-release@v1
@@ -69,9 +67,7 @@ jobs:
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
build/outputs/mapping/fossRelease/mapping-*.txt
files: build/outputs/apk/foss/release/*.apk
- name: Release on ZapStore
run: |
-15
View File
@@ -1,20 +1,5 @@
# Delta Chat Android Changelog
## Unreleased
* Don't notify notification-to-all from in-chat apps if the chat is muted
* Allow to see inbox quota for all relays in connectivity screen
* Update to core 2.36.0
## v2.35.0
2026-01
* Protect profile deletion and relays management with system lock/pin
* Fix: Remove address from profile switcher
* Fix: Avoid crash if the system doesn't allow to start foreground service
* Remove deprecated "real-time apps" switch
* Update to core 2.35.0
## v2.34.0
2025-12
+2 -2
View File
@@ -33,8 +33,8 @@ android {
useLibrary 'org.apache.http.legacy'
defaultConfig {
versionCode 30000736
versionName "2.36.0"
versionCode 30000735
versionName "2.34.0"
applicationId "chat.delta.lite"
multiDexEnabled true
Binary file not shown.

Before

Width:  |  Height:  |  Size: 135 KiB

After

Width:  |  Height:  |  Size: 137 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 283 KiB

After

Width:  |  Height:  |  Size: 287 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 250 KiB

After

Width:  |  Height:  |  Size: 256 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 446 KiB

After

Width:  |  Height:  |  Size: 447 KiB

@@ -91,19 +91,7 @@ public class FcmReceiveService extends FirebaseMessagingService {
@Override
public void onMessageReceived(@NonNull RemoteMessage remoteMessage) {
Log.i(TAG, "FCM push notification received");
// Note: The system can downgrade the high priority messages to normal priority
// if the app is not using the high priority messages for surfacing time sensitive
// content to the user. If the message's priority is downgraded, your app cannot
// start a foreground service and attempting to start one results in a
// ForegroundServiceStartNotAllowedException.
// So, it's recommended to check the result of RemoteMessage.getPriority() and
// confirm it's PRIORITY_HIGH() before attempting to start a foreground service.
// source: https://developer.android.com/develop/background-work/services/fgs/restrictions-bg-start
if (remoteMessage.getPriority() == RemoteMessage.PRIORITY_HIGH) {
FetchForegroundService.start(this);
} else {
FetchForegroundService.fetchSynchronously();
}
FetchForegroundService.start(this);
}
@Override
+16 -4
View File
@@ -208,7 +208,16 @@
<activity android:name=".NewConversationActivity"
android:theme="@style/TextSecure.LightNoActionBar"
android:windowSoftInputMode="stateHidden"
android:configChanges="touchscreen|keyboard|keyboardHidden|orientation|screenLayout|screenSize">
android:configChanges="touchscreen|keyboard|keyboardHidden|orientation|screenLayout|screenSize"
android:exported="true">
<intent-filter>
<data android:scheme="mailto"/>
<action android:name="android.intent.action.VIEW"/>
<category android:name="android.intent.category.DEFAULT"/>
<category android:name="android.intent.category.BROWSABLE"/>
</intent-filter>
</activity>
<activity android:name=".ContactMultiSelectionActivity"
@@ -227,7 +236,8 @@
<activity android:name=".relay.EditRelayActivity"
android:launchMode="singleTask"
android:windowSoftInputMode="stateUnchanged"
android:configChanges="touchscreen|keyboard|keyboardHidden|orientation|screenLayout|screenSize">
android:configChanges="touchscreen|keyboard|keyboardHidden|orientation|screenLayout|screenSize"
android:exported="true">
</activity>
<activity android:name=".relay.RelayListActivity"
@@ -355,13 +365,15 @@
<activity android:name=".calls.CallActivity"
android:label=""
android:theme="@style/TextSecure.LightTheme"
android:configChanges="touchscreen|keyboard|keyboardHidden|orientation|screenLayout|screenSize|uiMode">
android:configChanges="touchscreen|keyboard|keyboardHidden|orientation|screenLayout|screenSize|uiMode"
android:exported="true">
</activity>
<activity android:name=".WebxdcActivity"
android:label=""
android:theme="@style/TextSecure.LightTheme"
android:configChanges="touchscreen|keyboard|keyboardHidden|orientation|screenLayout|screenSize|uiMode">
android:configChanges="touchscreen|keyboard|keyboardHidden|orientation|screenLayout|screenSize|uiMode"
android:exported="true">
</activity>
<activity android:name=".WebxdcStoreActivity"
+65 -95
View File
@@ -15,7 +15,7 @@
<li><a href="#what-do-the-ticks-shown-beside-outgoing-messages-mean">What do the ticks shown beside outgoing messages mean?</a></li>
<li><a href="#edit">Correct typos and delete messages after sending</a></li>
<li><a href="#ephemeralmsgs">How do disappearing messages work?</a></li>
<li><a href="#delold">What happens if I turn on “Delete Messages from Device”?</a></li>
<li><a href="#delold">What happens if I turn on “Delete old messages from device”?</a></li>
<li><a href="#remove-account">How can I delete my chat profile?</a></li>
</ul>
</li>
@@ -26,7 +26,6 @@
<li><a href="#kdyź-se-nedopatřením-odstraníš">Kdyź se nedopatřením odstraníš.</a></li>
<li><a href="#nechci-již-přijímat-zprávy-ze-skupiny">Nechci již přijímat zprávy ze skupiny.</a></li>
<li><a href="#cloning-a-group">Cloning a group</a></li>
<li><a href="#how-many-members-can-participate-in-a-single-group">How many members can participate in a single group?</a></li>
</ul>
</li>
<li><a href="#webxdc">In-chat apps</a>
@@ -55,7 +54,7 @@
</li>
<li><a href="#advanced">Advanced</a>
<ul>
<li><a href="#experiments">Experimental Features</a></li>
<li><a href="#experimental-features">Experimental Features</a></li>
<li><a href="#relays">What are Relays?</a></li>
<li><a href="#can-i-use-a-classic-email-address-with-delta-chat">Can I use a classic email address with Delta Chat?</a></li>
<li><a href="#classic-email">How can I configure a chat profile with a classic email address as relay?</a></li>
@@ -77,7 +76,6 @@
<li><a href="#tls">Are messages marked with the mail icon exposed on the Internet?</a></li>
<li><a href="#message-metadata">How does Delta Chat protect metadata in messages?</a></li>
<li><a href="#device-seizure">How to protect metadata and contacts when a device is seized?</a></li>
<li><a href="#who-sees-my-ip-address">Who sees my IP Address?</a></li>
<li><a href="#sealedsender">Does Delta Chat support “Sealed Sender”?</a></li>
<li><a href="#pfs">Does Delta Chat support Perfect Forward Secrecy?</a></li>
<li><a href="#pqc">Does Delta Chat support Post-Quantum-Cryptography?</a></li>
@@ -187,8 +185,7 @@ If you add each other to <a href="#groups">groups</a>, end-to-end encryption wil
<p>As being a private messenger,
only friends and family you <a href="#howtoe2ee">share your QR code or invite link with</a> can write to you.</p>
<p>Your friends may share your contact with other friends,
this appears as <b style="border: 1px solid currentColor; padding: 0 3px; font-size:90%">Request</b></p>
<p>Your friends may share your contact with other friends, this appears as a <strong>request</strong>.</p>
<ul>
<li>
@@ -226,10 +223,15 @@ and can tap it to start chatting with the first contact.</p>
</h3>
<p>Yes. Images, videos, files, voice messages etc. can be sent using the <img style="vertical-align:middle; width:1.0em; margin:1px" src="../paperclip.png" alt="Paperclip" /> <strong>Attachment-</strong>
<ul>
<li>
<p>Yes. Images, videos, files, voice messages etc. can be sent using the <img style="vertical-align:middle; width:1.0em; margin:1px" src="../paperclip.png" alt="Paperclip" /> <strong>Attachment-</strong>
or <img style="vertical-align:middle; width:0.8em; margin:1px" src="../mic.png" alt="Microphone" /> <strong>Voice Message</strong> buttons</p>
<p>For performance, images are optimized and sent at a smaller size by default, but you can send it as a “file” to preserve the original.</p>
</li>
<li>
<p>For performance, images are optimized and sent at a smaller size by default, but you can send it as a “file” to preserve the original.</p>
</li>
</ul>
<h3 id="multiple-accounts">
@@ -260,11 +262,14 @@ or to <strong>Switch Profiles</strong>.</p>
</h3>
<p>Profilový obrázek lze zvolit v nastavení. Když napíšeš svému kontaktu,
nebo přidáš nový vyfocením QR kódu, tyto kontakty automaticky uvidí tvůj profilový obrázek.</p>
<ul>
<li>Z důvodu soukromí nikdo nevidí tvůj profilový obrázek dokud jim nenapíšeš.</li>
<li>
<p>Profilový obrázek lze zvolit v nastavení. Když napíšeš svému kontaktu,
nebo přidáš nový vyfocením QR kódu, tyto kontakty automaticky uvidí tvůj profilový obrázek.</p>
</li>
<li>
<p>Z důvodu soukromí nikdo nevidí tvůj profilový obrázek dokud jim nenapíšeš.</p>
</li>
</ul>
<h3 id="signature">
@@ -299,8 +304,7 @@ they will see it when they view your contact details.</p>
</li>
<li>
<p><strong>Archive chats</strong> if you do not want to see them in your chat list any longer.
They remain accessible above the chat list or via search
and are marked by <b style="border: 1px solid currentColor; padding: 0 3px; font-size:90%">Archived</b></p>
Archived chats remain accessible above the chat list or via search.</p>
</li>
<li>
<p>When an archived chat gets a new message, unless muted, it will <strong>pop out of the archive</strong> and back into your chat list.
@@ -335,7 +339,7 @@ By tapping <img style="vertical-align:middle; width:1.2em; margin:1px" src="../g
you can go back to the original message in the original chat</p>
</li>
<li>
<p>Finally, you can also use “Saved Messages” to take <strong>personal notes</strong> - open the chat, type something, add a photo or a voice message etc.</p>
<p>Finally, you can also use “Save Messages” to take <strong>personal notes</strong> - open the chat, type something, add a photo or a voice message etc.</p>
</li>
<li>
<p>As “Saved Message” are synced, they can become very handy for transferring data between devices</p>
@@ -372,18 +376,22 @@ and others will as well not always see that you are “online”.</p>
<ul>
<li>
<p><strong>One tick</strong> <img style="vertical-align:middle; width:1.5em; margin:1px" src="../tick1.png" alt="" />
means that the message was sent successfully to the <a href="#relays">relay</a>.</p>
means that the message was sent successfully to your provider.</p>
</li>
<li>
<p><strong>Two ticks</strong> <img style="vertical-align:middle; width:1.5em; margin:1px" src="../tick2.png" alt="" />
indicate your contact has read the message.</p>
mean that at least one recipients device
reported back to having received the message.</p>
</li>
<li>
<p>Recipients may have disabled read-receipts,
so even if you see only one tick, the message may have been read.</p>
</li>
<li>
<p>The other way round, two ticks do not automatically mean
that a human has read or understood the message ;)</p>
</li>
</ul>
<p>In <a href="#groups">groups</a> the second tick means that at least one member has reported back having read the message.</p>
<p>You will only get the second tick if both you and one of the recipients who read the message
has <strong>Settings → Chats → Read Receipts</strong> enabled.</p>
<h3 id="edit">
@@ -448,18 +456,19 @@ the (anyway encrypted) messages may take longer to get deleted from their server
<h3 id="delold">
What happens if I turn on “Delete Messages from Device”? <a href="#delold" class="anchor"></a>
What happens if I turn on “Delete old messages from device”? <a href="#delold" class="anchor"></a>
</h3>
<p>If you want to save storage on your device, you can choose to delete old
messages automatically.</p>
<p>To turn it on, go to <strong>Settings → Chats → Delete Message from Device</strong>.
You can set a timeframe between “after an hour” and “after a year”;
<ul>
<li>If you want to save storage on your device, you can choose to delete old
messages automatically.</li>
<li>To turn it on, go to “delete old messages from device” in the “Chats &amp; Media”
settings. You can set a timeframe between “after an hour” and “after a year”;
this way, <em>all</em> messages will be deleted from your device as soon as they are
older than that.</p>
older than that.</li>
</ul>
<h3 id="remove-account">
@@ -507,15 +516,9 @@ and <a href="#edit">delete their own messages</a> from all members devices.</
</h3>
<ul>
<li>
<p>Z menu v pravém horním rohu, nebo stiskem příslušného tlačítka na Androidu / iOS vyber <strong>Nový hovor</strong> a pak <strong>Nová skupina</strong>.</p>
</li>
<li>
<p>Na další obrazovce, vyber <strong>členy skupiny</strong> a zadej <strong>Název skupiny</strong>. Také můžeš vybrat  <strong>obrázek skupiny</strong>.</p>
</li>
<li>
<p>Jakmile do skupiny pošleš <strong>první zprávu</strong>, všichni členové budou vyrozuměni o nové skupině a mohou do ní také psát (dokud nepošleš první zprávu členové skupiny o ní nebudou vědět).</p>
</li>
<li>Z menu v pravém horním rohu, nebo stiskem příslušného tlačítka na Androidu / iOS vyber <strong>Nový hovor</strong> a pak <strong>Nová skupina</strong>.</li>
<li>Na další obrazovce, vyber <strong>členy skupiny</strong> a zadej <strong>Název skupiny</strong>. Také můžeš vybrat <strong>obrázek skupiny</strong>.</li>
<li>Jakmile do skupiny pošleš <strong>první zprávu</strong>, všichni členové budou vyrozuměni o nové skupině a mohou do ní také psát (dokud nepošleš první zprávu členové skupiny o ní nebudou vědět).</li>
</ul>
<h3 id="addmembers">
@@ -526,10 +529,11 @@ and <a href="#edit">delete their own messages</a> from all members devices.</
</h3>
<p>All group members have the <strong>same rights</strong>.
For this reason, everyone can delete any member or add new ones.</p>
<ul>
<li>
<p>All group members have the <strong>same rights</strong>.
For this reason, everyone can delete any member or add new ones.</p>
</li>
<li>
<p>To <strong>add or delete members</strong>, tap the group name in the chat and select the member to add or remove.</p>
</li>
@@ -557,8 +561,10 @@ However, since groups are <a href="#groups">meant for trusted people</a>, avoid
</h3>
<p>Když nejsi členem skupiny nelze se znovu připojit. Nicméně, není to velká potíž -
požádej běžnou zprávou jiného člena skupiny o znovupřipojení.</p>
<ul>
<li>Když nejsi členem skupiny nelze se znovu připojit. Nicméně, není to velká potíž -
požádej běžnou zprávou jiného člena skupiny o znovupřipojení.</li>
</ul>
<h3 id="nechci-již-přijímat-zprávy-ze-skupiny">
@@ -569,12 +575,15 @@ požádej běžnou zprávou jiného člena skupiny o znovupřipojení.</p>
</h3>
<ul>
<li>Buď se odeber ze seznamu členů a nebo vymaž celý skupinový hovor.
K opětovnému připojení v budoucnu požádej nějakého člena skupiny o znovupřidání.</li>
</ul>
<p>Jiná možnost je “Umlčení” skupiny, což znamená nadále přijímat a také posílat zprávy,
<li>
<p>Buď se odeber ze seznamu členů a nebo vymaž celý skupinový hovor.
K opětovnému připojení v budoucnu požádej nějakého člena skupiny o znovupřidání.</p>
</li>
<li>
<p>Jiná možnost je “Umlčení” skupiny, což znamená nadále přijímat a také posílat zprávy,
ale nebudeš dostávat upozrnění na nově příchozí zprávy.</p>
</li>
</ul>
<h3 id="cloning-a-group">
@@ -600,21 +609,6 @@ or right-click the group in the chat list (Desktop).</p>
<p>The new group is <strong>fully independent</strong> from the original,
which continues to work as before.</p>
<h3 id="how-many-members-can-participate-in-a-single-group">
How many members can participate in a single group? <a href="#how-many-members-can-participate-in-a-single-group" class="anchor"></a>
</h3>
<p>There is no strict technical limit,
but more than 150 is not recommended.</p>
<p>As groups get larger, they can become socially unstable and may need a hierarchy -
where Delta Chat is a private messenger for chatting with <a href="#groups">equal rights</a>.
See <a href="https://en.wikipedia.org/wiki/Dunbar%27s_number">Dunbars number</a> for more insights.</p>
<h2 id="webxdc">
@@ -903,7 +897,7 @@ One device is not needed for the other to work.</p>
<p>Double-check both devices are in the <strong>same Wi-Fi or network</strong></p>
</li>
<li>
<p>On <strong>Windows</strong>, go to Control Panel / Network and Internet
<p>On <strong>Windows</strong>, go to <strong>Control Panel / Network and Internet</strong>
and make sure, <strong>Private Network</strong> is selected as “Network profile type”
(after transfer, you can change back to the original value)</p>
</li>
@@ -997,10 +991,10 @@ Všechny softwarové balíčky jsou na <a href="https://get.delta.chat">get.delt
</h2>
<h3 id="experiments">
<h3 id="experimental-features">
Experimental Features <a href="#experiments" class="anchor"></a>
Experimental Features <a href="#experimental-features" class="anchor"></a>
</h3>
@@ -1036,7 +1030,7 @@ you can configure relays at At <strong>Settings → Advanced → Relays</strong>
<li>
<p>You can <strong>add</strong> a relay by scanning its QR code;
<a href="https://chatmail.at/relays">https://chatmail.at/relays</a> shows some known ones.
If you have multiple relays, you will receive messages on all of them.</p>
If you have multiple relays, your will receive messages on all of them.</p>
</li>
<li>
<p>The <strong>default</strong> defines the one where your chat partners send future messages to.</p>
@@ -1159,7 +1153,9 @@ weekly statistics will be automatically sent to a bot.</p>
</h3>
<p>Dobrý začátek je <a href="https://github.com/chatmail/core/blob/main/standards.md#standards-used-in-delta-chat">Standards used in Delta Chat</a>.</p>
<ul>
<li>Dobrý začátek je <a href="https://github.com/chatmail/core/blob/main/standards.md#standards-used-in-delta-chat">Standards used in Delta Chat</a>.</li>
</ul>
<h2 id="e2ee">
@@ -1398,32 +1394,6 @@ with the knowledge that all their data, along with all metadata, will be deleted
Moreover, if a device is seized then chat contacts using short-lived profiles
can not be identified easily.</p>
<h3 id="who-sees-my-ip-address">
Who sees my IP Address? <a href="#who-sees-my-ip-address" class="anchor"></a>
</h3>
<p>The used <a href="#relays">relay</a> needs to know your IP Address,
as well as sometimes your contacts devices if you have a <a href="#experiments">call</a>
or use <a href="#webxdc">apps</a> together.</p>
<p>IP Addresses are needed for connectivity and efficiency.
They are neither persisted nor exposed.
Note that the IP Address
is not like a detailed address you give to a delivery service,
but much more coarse, often defining region or country only.</p>
<p>As this is just how the internet and other messengers work by default,
we do not offer options here or ask upfront questions.</p>
<p>If you see your IP Address as a security or privacy risk,
we recommend to use a VPN, in combination with system lockdown mode.
Hunting down options in all apps on your system will leave gaps.
For example, tapping a link exposes IP Addresses to unknown parties and is the by far larger risk here.</p>
<h3 id="sealedsender">
+95 -117
View File
@@ -15,7 +15,7 @@
<li><a href="#was-bedeuten-die-häkchen-neben-den-ausgehenden-nachrichten">Was bedeuten die Häkchen neben den ausgehenden Nachrichten?</a></li>
<li><a href="#edit">Schreibfehler korrigieren und Nachrichten nach dem Senden löschen</a></li>
<li><a href="#ephemeralmsgs">Wie funktionieren “Verschwindende Nachrichten”?</a></li>
<li><a href="#delold">Was passiert, wenn ich “Nachrichten vom Gerät löschen” aktiviere?</a></li>
<li><a href="#delold">Was passiert, wenn ich “Alte Nachrichten vom Gerät löschen” aktiviere?</a></li>
<li><a href="#remove-account">Wie kann ich mein Chat-Profil löschen?</a></li>
</ul>
</li>
@@ -26,7 +26,6 @@
<li><a href="#ich-habe-mich-selbst-versehentlich-gelöscht">Ich habe mich selbst versehentlich gelöscht.</a></li>
<li><a href="#ich-möchte-keine-nachrichten-einer-gruppe-mehr-empfangen">Ich möchte keine Nachrichten einer Gruppe mehr empfangen.</a></li>
<li><a href="#eine-gruppe-klonen">Eine Gruppe klonen</a></li>
<li><a href="#wie-viele-mitglieder-können-in-einer-einzelnen-gruppe-sein">Wie viele Mitglieder können in einer einzelnen Gruppe sein?</a></li>
</ul>
</li>
<li><a href="#webxdc">In-Chat-Apps</a>
@@ -55,7 +54,7 @@
</li>
<li><a href="#erweitert">Erweitert</a>
<ul>
<li><a href="#experiments">Experimentelle Features</a></li>
<li><a href="#experimentelle-features">Experimentelle Features</a></li>
<li><a href="#relays">Was sind Relays?</a></li>
<li><a href="#kann-ich-eine-klassische-e-mail-adresse-mit-delta-chat-verwenden">Kann ich eine klassische E-Mail-Adresse mit Delta Chat verwenden?</a></li>
<li><a href="#classic-email">Wie kann ich ein Chat-Profil mit einer klassischen E-Mail-Adresse als Relay konfigurieren?</a></li>
@@ -77,7 +76,6 @@
<li><a href="#tls">Sind mit dem Mail-Symbol markierte Nachrichten im Internet sichtbar?</a></li>
<li><a href="#message-metadata">Wie schützt Delta Chat Metadaten in Nachrichten?</a></li>
<li><a href="#device-seizure">Wie schützt man Metadaten und Kontakte, wenn ein Gerät beschlagnahmt wird?</a></li>
<li><a href="#wer-sieht-meine-ip-adresse">Wer sieht meine IP-Adresse?</a></li>
<li><a href="#sealedsender">Unterstützt Delta Chat „Sealed Sender“?</a></li>
<li><a href="#pfs">Unterstützt Delta Chat “Perfect Forward Secrecy”?</a></li>
<li><a href="#pqc">Unterstützt Delta Chat Post-Quantum-Verschlüsselung?</a></li>
@@ -179,7 +177,7 @@ wird eine Ende-zu-Ende-Verschlüsselung zwischen allen Mitgliedern eingerichtet.
<p>Da Delta Chat ein privater Messenger ist, können dir zunächst nur Freunde und Familienmitglieder, denen du deinen <a href="#howtoe2ee">QR-Code oder Einladungslink</a> schickst, schreiben.</p>
<p>Deine Freunde können deine Kontaktdaten dann mit anderen Freunden teilen. Dies wird als <b style="border: 1px solid currentColor; padding: 0 3px; font-size:90%">Anfrage</b> angezeigt.</p>
<p>Deine Freunde können deine Kontaktdaten dann mit anderen Freunden teilen. Dies wird als <strong>Anfrage</strong> angezeigt.</p>
<ul>
<li>
@@ -217,10 +215,15 @@ kann darauf tippen, um mit dem ersten Kontakt zu chatten.</p>
</h3>
<p>Ja. Bilder, Videos, Dateien, Sprachnachrichten und mehr können über die <img style="vertical-align:middle; width:1.0em; margin:1px" src="../paperclip.png" alt="Paperclip" /> <strong>Anhang-</strong>
bzw. <img style="vertical-align:middle; width:0.8em; margin:1px" src="../mic.png" alt="Microphone" /> <strong>Sprachnachricht</strong>-Buttons hinzugefügt werden</p>
<p>Um die Leistung zu verbessern, werden die Bilder standardmäßig optimiert und in einer kleineren Größe gesendet, aber du kannst sie auch als “Datei” senden, um das Original zu erhalten.</p>
<ul>
<li>
<p>Ja. Bilder, Videos, Dateien, Sprachnachrichten und mehr können über die <img style="vertical-align:middle; width:1.0em; margin:1px" src="../paperclip.png" alt="Paperclip" /> <strong>Anhang-</strong>
bzw. <img style="vertical-align:middle; width:0.8em; margin:1px" src="../mic.png" alt="Microphone" /> <strong>Sprachnachricht</strong>-Buttons hinzugefügt werden</p>
</li>
<li>
<p>Um die Leistung zu verbessern, werden die Bilder standardmäßig optimiert und in einer kleineren Größe gesendet, aber du kannst sie auch als “Datei” senden, um das Original zu erhalten.</p>
</li>
</ul>
<h3 id="multiple-accounts">
@@ -251,9 +254,14 @@ oder <strong>Profile zu wechseln</strong>.</p>
</h3>
<p>Du kannst ein Profilbild in den Einstellungen hinzufügen. Wenn du deinen Kontakten eine Nachricht sendest oder sie über einen QR-Code hinzufügst, sehen diese automatisch dein Profilbild.</p>
<p>Aus Datenschutzgründen sieht niemand dein Profilbild, dem du nicht zuvor eine Nachricht gesendet hast.</p>
<ul>
<li>
<p>Du kannst ein Profilbild in den Einstellungen hinzufügen. Wenn du deinen Kontakten eine Nachricht sendest oder sie über einen QR-Code hinzufügst, sehen diese automatisch dein Profilbild.</p>
</li>
<li>
<p>Aus Datenschutzgründen sieht niemand dein Profilbild, dem du nicht zuvor eine Nachricht gesendet hast.</p>
</li>
</ul>
<h3 id="signature">
@@ -285,7 +293,7 @@ Sobald du eine Nachricht an einen Kontakt sendest, kann dieser deine Signatur in
<p><strong>Stummgeschaltete Chats</strong> erhalten keine Benachrichtigungen, bleiben ansonsten aber an ihrem Platz. Du kannst auch stummgeschaltete Chats anheften.</p>
</li>
<li>
<p><strong>Archiviere Chats</strong>, wenn du diese nicht mehr in deiner Chatliste sehen möchtest; sie bleiben oberhalb der Chatliste oder über die Suche zugänglich und werden als <b style="border: 1px solid currentColor; padding: 0 3px; font-size:90%">Archiviert</b> gekennzeichnet</p>
<p><strong>Archiviere Chats</strong>, wenn du diese nicht mehr in deiner Chatliste sehen möchtest. Archivierte Chats bleiben oberhalb der Chatliste oder über die Suche zugänglich.</p>
</li>
<li>
<p>Wenn ein archivierter Chat eine neue Nachricht erhält, wird er, sofern er nicht stummgeschaltet ist, <strong>wieder in die normale Chatliste verschoben</strong>. <strong>Stummgeschaltete Chats bleiben archiviert</strong>, bis du sie manuell aus dem Archiv entfernst.</p>
@@ -351,16 +359,18 @@ sei es durch den <a href="#edit">Absender</a>, durch <a href="#delold">Automatis
<ul>
<li>
<p><strong>Ein Häkchen</strong> <img style="vertical-align:middle; width:1.5em; margin:1px" src="../tick1.png" alt="" /> bedeutet, dass die Nachricht erfolgreich versandt wurde und das <a href="#relays">Relay</a> erreicht hat.</p>
<p><strong>Ein Häkchen</strong> <img style="vertical-align:middle; width:1.5em; margin:1px" src="../tick1.png" alt="" /> bedeutet, dass die Nachricht erfolgreich versandt wurde.</p>
</li>
<li>
<p><strong>Zwei Häkchen</strong> <img style="vertical-align:middle; width:1.5em; margin:1px" src="../tick2.png" alt="" /> bedeuten, dass der Empfänger die Nachricht gelesen hat.</p>
<p><strong>Zwei Häkchen</strong> <img style="vertical-align:middle; width:1.5em; margin:1px" src="../tick2.png" alt="" /> bedeuten, dass mindestens ein Gerät des Empfängers zurückgemeldet hat, die Nachricht empfangen zu haben.</p>
</li>
<li>
<p>Lesebestätigungen können deaktiviert werden. D.h. auch wenn du nur ein Häkchen siehst, kann die Nachricht gelesen worden sein.</p>
</li>
<li>
<p>Umgekehrt bedeuten zwei Häkchen nicht automatisch, dass ein Mensch die Nachricht gelesen oder verstanden hat ;)</p>
</li>
</ul>
<p>In <a href="#groups">Gruppen</a> bedeutet das zweite Häkchen, dass die Nachricht von mindestens einem Mitglied gelesen wurde.</p>
<p>Du erhälst nur dann das zweite Häkchen, wenn sowohl du als auch einer der Empfänger, die die Nachricht gelesen haben, <strong>Einstellungen → Chats → Lesebestätigungen</strong> aktiviert haben.</p>
<h3 id="edit">
@@ -420,14 +430,15 @@ oder auf andere Weise Nachrichten vor dem Löschen speichern, kopieren oder weit
<h3 id="delold">
Was passiert, wenn ich “Nachrichten vom Gerät löschen” aktiviere? <a href="#delold" class="anchor"></a>
Was passiert, wenn ich “Alte Nachrichten vom Gerät löschen” aktiviere? <a href="#delold" class="anchor"></a>
</h3>
<p>Wenn du Speicherplatz auf deinem Gerät sparen möchtest, kannst du alte Nachrichten automatisch löschen lassen.</p>
<p>Hierzu, öffne <strong>Einstellungen → Chats → Nachrichten vom Gerät löschen</strong>. Du kannst einen Zeitraum zwischen “1 Stunde” und “1 Jahr” festlegen; auf diese Weise werden alleNachrichten von deinem Gerät gelöscht, sobald sie älter als angegeben sind.</p>
<ul>
<li>Wenn du Speicherplatz auf deinem Gerät sparen möchtest, kannst du alte Nachrichten automatisch löschen lassen.</li>
<li>Hierzu, öffne die “Chats und Medien”-Einstellungen und dort “Alte Nachrichten vom Gerät löschen. Du kannst einen Zeitraum zwischen “1 Stunde” und “1 Jahr” festlegen; auf diese Weise werden <em>alle</em> Nachrichten von deinem Gerät gelöscht, sobald sie älter als angegeben sind.</li>
</ul>
<h3 id="remove-account">
@@ -474,15 +485,9 @@ und seine <a href="#edit">eigenen Nachrichten von Geräten der Mitglieder lösch
</h3>
<ul>
<li>
<p>Wähle <strong>Neuer Chat</strong> und dann <strong>Neue Gruppe</strong> aus dem Menü oben rechts oder über das entsprechende Symbol unter Android/iOS.</p>
</li>
<li>
<p>Wähle auf dem folgenden Bildschirm die <strong>Gruppenmitglieder</strong> aus und klicke auf das Häkchen in der oberen rechten Ecke. Danach kannst du einen <strong>Gruppennamen</strong> und auch einen <strong>Gruppenbild</strong>  festlegen.</p>
</li>
<li>
<p>Sobald du die <strong>erste Nachricht</strong> in die Gruppe schreibst, werden alle Mitglieder über die neue Gruppe informiert und können in der Gruppe antworten (solange du keine Nachricht in die Gruppe schreibst, ist die Gruppe für die Gruppenmitglieder nicht sichtbar).</p>
</li>
<li>Wähle <strong>Neuer Chat</strong> und dann <strong>Neue Gruppe</strong> aus dem Menü oben rechts oder über das entsprechende Symbol unter Android/iOS.</li>
<li>Wähle auf dem folgenden Bildschirm die <strong>Gruppenmitglieder</strong> aus und klicke auf das Häkchen in der oberen rechten Ecke. Danach kannst du einen <strong>Gruppennamen</strong> und auch einen <strong>Gruppenbild</strong> festlegen.</li>
<li>Sobald du die <strong>erste Nachricht</strong> in die Gruppe schreibst, werden alle Mitglieder über die neue Gruppe informiert und können in der Gruppe antworten (solange du keine Nachricht in die Gruppe schreibst, ist die Gruppe für die Gruppenmitglieder nicht sichtbar).</li>
</ul>
<h3 id="addmembers">
@@ -493,9 +498,10 @@ und seine <a href="#edit">eigenen Nachrichten von Geräten der Mitglieder lösch
</h3>
<p>Alle Gruppenmitglieder haben <strong>dieselben Rechte</strong>. Jeder kann daher jeden löschen oder weitere Mitglieder hinzufügen.</p>
<ul>
<li>
<p>Alle Gruppenmitglieder haben <strong>dieselben Rechte</strong>. Jeder kann daher jeden löschen oder weitere Mitglieder hinzufügen.</p>
</li>
<li>
<p>Um <strong>Mitglieder hinzuzufügen oder zu entfernen</strong>, tippe im Chat auf den Gruppennamen und wähle das Mitglied aus, das du hinzufügen oder entfernen möchtest.</p>
</li>
@@ -517,8 +523,10 @@ und seine <a href="#edit">eigenen Nachrichten von Geräten der Mitglieder lösch
</h3>
<p>Da du kein Gruppenmitglied mehr bist, kannst du sich selbst nicht mehr hinzufügen.
Kein Problem, bitte einfach ein anderes Gruppenmitglied in einem normalen Chat, dich hinzuzufügen.</p>
<ul>
<li>Da du kein Gruppenmitglied mehr bist, kannst du sich selbst nicht mehr hinzufügen.
Kein Problem, bitte einfach ein anderes Gruppenmitglied in einem normalen Chat, dich hinzuzufügen.</li>
</ul>
<h3 id="ich-möchte-keine-nachrichten-einer-gruppe-mehr-empfangen">
@@ -529,11 +537,14 @@ Kein Problem, bitte einfach ein anderes Gruppenmitglied in einem normalen Chat,
</h3>
<ul>
<li>Lösche dich entweder aus der Mitgliederliste oder lösche den gesamten Chat.
Wenn du der Gruppe später erneut beitreten möchtest, bitten ein anderes Gruppenmitglied, dich hinzuzufügen.</li>
<li>
<p>Lösche dich entweder aus der Mitgliederliste oder lösche den gesamten Chat.
Wenn du der Gruppe später erneut beitreten möchtest, bitten ein anderes Gruppenmitglied, dich hinzuzufügen.</p>
</li>
<li>
<p>Alternativ kannst du eine Gruppe auch “stummschalten” - dies bedeutet, dass du weiterhin alle Nachrichten erhälst und neue schreiben kannst, aber nicht mehr über neue Nachrichten informiert wirst.</p>
</li>
</ul>
<p>Alternativ kannst du eine Gruppe auch “stummschalten” - dies bedeutet, dass du weiterhin alle Nachrichten erhälst und neue schreiben kannst, aber nicht mehr über neue Nachrichten informiert wirst.</p>
<h3 id="eine-gruppe-klonen">
@@ -559,19 +570,6 @@ oder klicken mit der rechten Maustaste auf die Gruppe in der Chat-Liste (Desktop
<p>Die neue Gruppe ist <strong>völlig unabhängig</strong> von der ursprünglichen,
die weiterhin wie bisher funktioniert.</p>
<h3 id="wie-viele-mitglieder-können-in-einer-einzelnen-gruppe-sein">
Wie viele Mitglieder können in einer einzelnen Gruppe sein? <a href="#wie-viele-mitglieder-können-in-einer-einzelnen-gruppe-sein" class="anchor"></a>
</h3>
<p>Es gibt keine technische Begrenzung,
aber mehr als 150 sind nicht empfohlen.</p>
<p>Wenn Gruppen größer werden, können sie sozial instabil werden und benötigen möglicherweise eine Hierarchie - und Delta Chat ist ein privater Messenger für Chats mit <a href="#groups">gleichen Rechten</a>. Vgl. <a href="https://de.wikipedia.org/wiki/Dunbar-Zahl">Dunbar-Zahl</a>.</p>
<h2 id="webxdc">
@@ -843,7 +841,7 @@ Einschließlich dem Chatmail-Server, <a href="https://delta.chat/chatmail#selfho
<p>Vergewissere dich, dass beide Geräte mit dem <strong>gleichen Wi-Fi, WLAN oder Netzwerk</strong> verbunden sind.</p>
</li>
<li>
<p>Unter <strong>Windows</strong>, Systemsteuerung / Netzwerk und Internet öffnen
<p>Unter <strong>Windows</strong>, <strong>Systemsteuerung / Netzwerk und Internet</strong> öffnen
und sicherstellen, dass <strong>Privates Netzwerk</strong> als “Netzwerkprofiltyp” ausgewählt ist.
(nach der Übertragung kann wieder der ursprüngliche Wert verwendet werden)</p>
</li>
@@ -922,10 +920,10 @@ Wenn du iOS verwendest und auf Schwierigkeiten stößt, hilft dir vielleicht <a
</h2>
<h3 id="experiments">
<h3 id="experimentelle-features">
Experimentelle Features <a href="#experiments" class="anchor"></a>
Experimentelle Features <a href="#experimentelle-features" class="anchor"></a>
</h3>
@@ -983,23 +981,24 @@ Im Zweifelsfall entferne das Relay später.</p>
</h3>
<p>Ja, aber nur, wenn die E-Mail-Adresse ausschließlich von <a href="https://chatmail.at/clients">Chatmail-Clients</a> verwendet wird.</p>
<p>Yes, but only if the email address is used exclusively by <a href="https://chatmail.at/clients">chatmail clients</a>.</p>
<p>Die gemeinsame Nutzung einer E-Mail-Adresse mit Nicht-Chatmail-Apps oder webbasierten Mailprogrammen wird aus folgenden Gründen nicht unterstützt:</p>
<p>It is not supported to share usage of an email address with non-chatmail apps or web-based mailers,
for the following reasons:</p>
<ul>
<li>
<p>Nicht-Chatmail-Apps bieten ihren Nutzern größtenteils keine automatische End-to-End-Verschlüsselung,
während Chatmail-Apps und Relays durchgängig End-to-End-Verschlüsselung und Sicherheitsstandards durchsetzen.</p>
<p>Non-chatmail apps are largely not accomplishing automatic end-to-end email encryption for their users,
while chatmail apps and relays pervasively enforce end-to-end encryption and security standards.</p>
</li>
<li>
<p>Nicht-Chatmail-Anwendungen nutzen E-Mail-Server als langfristiges Nachrichtenarchiv,
während Chatmail-Clients E-Mail-Server für die kurzlebige Weiterleitung von Nachrichten verwenden.</p>
<p>Non-chatmail apps use email servers as a long-term message archive
while chatmail clients use email servers for ephemeral instant message relay.</p>
</li>
<li>
<p>Die Unterstützung der gesamten Bandbreite klassischer E-Mail-Konfigurationen
würde einen erheblichen Entwicklungs- und Wartungsaufwand erfordern
und Chatmail-basiertes Messaging weniger robust, zuverlässig und schnell machen.</p>
<p>Supporting the full variety of classic email setups
would require considerable development and maintenance efforts,
and complicate making chatmail-based messaging more resilient, reliable and fast.</p>
</li>
</ul>
@@ -1011,15 +1010,17 @@ und Chatmail-basiertes Messaging weniger robust, zuverlässig und schnell machen
</h3>
<p>Zunächst einmal, <strong>verwenden bitte nicht dieselbe klassische E-Mail-Adresse auch in anderen klassischen E-Mail-Anwendungen</strong>,
es sei denn, du bist sind bereit, dich mit verschlüsselten Nachrichten im Posteingang,
doppelten Benachrichtigungen, versehentlich gelöschten E-Mails oder ähnlichen Ärgernissen auseinanderzusetzen.</p>
<p>First off, <strong>please do not use the same classic email address also from non-chatmail classic email apps</strong>
unless you are prepared to deal with encrypted messages in the inbox,
double notifications, accidentally deleted emails or similar annoyances.</p>
<p>Sie können eine E-Mail-Adresse unter <strong>Neues Profil → Anderen Server verwenden → Klassische E-Mail als Relay</strong> konfigurieren.
Beachten Sie, dass klassische E-Mail-Anbieter in der Regel keine <a href="#instant-delivery">Push-Benachrichtigungen</a> unterstützen
und andere Einschränkungen haben, siehe <a href="https://providers.delta.chat">Provider-Overview</a>.
Chatmail verwendet den Standard-INBOX für die Weiterleitung; stellen Sie sicher, dass dies auch bei der Einrichtung Ihres Anbieters der Fall ist.
Ein Chat-Profil mit klassischer E-Mail-Adresse, ermöglicht das Senden und Empfangen unverschlüsselter Nachrichten; diese sind mit dem E-Mail-Symbol <img style="vertical-align:middle; width:1.2em; margin:1px" src="../email-icon.png" alt="email" /> gekennzeichnet.</p>
<p>You can configure a email address for chatting at <strong>New ProfileUse Other Server → Use Classic Mail as Relay</strong>.
Note that classic email providers will generally not support <a href="#instant-delivery">Push Notifications</a>
and have other limitations, see <a href="https://providers.delta.chat">Provider Overview</a>.
Chatmail uses the default INBOX for relay; ensure the provider setup does too.
A chat profile using a classic email address allows to to send and receive unencrypted messages.
These messages, and the chats they appear in, are marked with an email icon
<img style="vertical-align:middle; width:1.2em; margin:1px" src="../email-icon.png" alt="email" />.</p>
<h3 id="ich-möchte-meinen-eigenen-server-für-delta-chat-verwalten-gibt-es-empfehlungen">
@@ -1029,13 +1030,13 @@ Ein Chat-Profil mit klassischer E-Mail-Adresse, ermöglicht das Senden und Empfa
</h3>
<p>Jede gut funktionierende E-Mail-Server-Konfiguration ist geeignet,
es sei denn, die Geräte Ihrer Benutzer erfordern Google/Apple <a href="#instant-delivery">Push-Benachrichtigungen</a>, um ordnungsgemäß zu funktionieren.</p>
<p>Any well behaving email server setup will do fine
except if your users devices require Google/Apple <a href="#instant-delivery">Push Notifications</a> to work properly.</p>
<p>Wir empfehlen generell, <a href="https://chatmail.at/doc/relay/getting_started.html">ein Chatmail-Relay einzurichten</a>.
<a href="https://chatmail.at">Chatmail</a> ist ein Community-basiertes Projekt, das sowohl die Einrichtung von Relays
als auch <a href="https://github.com/chatmail/core">Entwicklungen in Rust</a>
für die <a href="https://chatmail.at/clients">Chatmail-Clients</a> umfasst, von denen Delta Chat der bekannteste ist.</p>
<p>We generally recommend to <a href="https://chatmail.at/doc/relay/getting_started.html">set up a chatmail relay</a>.
<a href="https://chatmail.at">Chatmail</a> is a community-driven project that encompasses both the setup of relays
and <a href="https://github.com/chatmail/core">core Rust developments</a>
that power <a href="https://chatmail.at/clients">chatmail clients</a> of which Delta Chat is the most well known.</p>
<h3 id="statssending">
@@ -1079,7 +1080,9 @@ weekly statistics will be automatically sent to a bot.</p>
</h3>
<p>Siehe hierzu <a href="https://github.com/chatmail/core/blob/main/standards.md#standards-used-in-delta-chat">in Delta Chat genutzte Standards</a>.</p>
<ul>
<li>Siehe hierzu <a href="https://github.com/chatmail/core/blob/main/standards.md#standards-used-in-delta-chat">in Delta Chat genutzte Standards</a>.</li>
</ul>
<h2 id="e2ee">
@@ -1146,15 +1149,16 @@ Seit der Veröffentlichung von Delta Chat Version 2 (Juli 2025) gibt es keine Sc
</h3>
<p>Ein Kontaktprofile kann ein grünes Häkchen
<p>A contact profile might show a green checkmark
<img style="vertical-align:middle; width:1.5em; margin:1px" src="../green-checkmark.png" alt="green checkmark" />
und “Eingeführt von” enthalten.
Jeder so markierte Kontakt hat entweder einen direkten <a href="#howtoe2ee">QR-Scan</a> mit Ihnen durchgeführt
oder wurde von einem anderen Kontakt mit grünem Häkchen eingeführt.
Das Einführen geschieht automatisch, wenn Sie Mitglieder zu Gruppen hinzufügen.
Wer einen Kontakt mit grünem Häkchen zu einer Gruppe hinzufügt, wird zum Einführenden.
In einem Kontaktprofil können Sie wiederholt auf den Text “Eingeführt von” tippen
bis Sie zu demjenigen gelangen, mit dem Sie einen direkten <a href="#howtoe2ee">QR-Scan</a> gemacht haben.</p>
and an “Introduced by” line.
Every green-checkmarked contact either did a direct <a href="#howtoe2ee">QR-scan</a> with you
or was introduced by a another green-checkmarked contact.
Introductions happen automatically when adding members to groups.
Whoever adds a green-checkmarked contact to a group with only green-checkmarked members
becomes an introducer.
In a contact profile you can tap on the “Introduced by …” text repeatedly
until you get to the one with whom you directly did a <a href="#howtoe2ee">QR-scan</a>.</p>
<p>Für eine ausführlichere Diskussion der “Garantierten Ende-zu-Ende-Verschlüsselung”,
siehe <a href="https://securejoin.delta.chat/en/latest/new.html">Secure-Join-Protokolle</a>
@@ -1309,32 +1313,6 @@ with the knowledge that all their data, along with all metadata, will be deleted
Moreover, if a device is seized then chat contacts using short-lived profiles
can not be identified easily.</p>
<h3 id="wer-sieht-meine-ip-adresse">
Wer sieht meine IP-Adresse? <a href="#wer-sieht-meine-ip-adresse" class="anchor"></a>
</h3>
<p>Das verwendete <a href="#relays">Rekay</a> muss Ihre IP-Adresse kennen,
sowie manchmal auch die Geräte Ihrer Kontakte, wenn Sie einen <a href="#experiments">Anruf</a> tätigen
oder gemeinsam <a href="#webxdc">Apps</a> verwenden.</p>
<p>IP-Adressen sind für Verbindungen und für Effizienz erforderlich.
Sie werden weder gespeichert noch offengelegt.
Beachten Sie, dass die IP-Adresse
nicht mit einer Adresse, die Sie einem Lieferdienst geben, vergleichbar ist -
sondern viel gröber ist und oft nur die Region oder das Land angibt.</p>
<p>Da dies die Standardfunktion des Internets und anderer Messenger ist,
bieten wir hier keine Optionen an und stellen auch keine Fragen im Voraus.</p>
<p>Wenn Sie Ihre IP-Adresse als Sicherheits- oder Datenschutzrisiko betrachten,
empfehlen wir Ihnen, ein VPN in Kombination mit dem System-Lockdown-Modus zu verwenden.
Alle einzelnen Apps auf Ihrem System nach IP-Optionen abzusuchen wird nicht zufriedenstellen sein;
beispielsweise legt das Antippen eines Links IP-Adressen gegenüber unbekannten Parteien offen und stellt hier das weitaus größere Risiko dar.</p>
<h3 id="sealedsender">
@@ -1343,7 +1321,7 @@ beispielsweise legt das Antippen eines Links IP-Adressen gegenüber unbekannten
</h3>
<p>Nein, noch nicht.</p>
<p>Nein, noch nichts.</p>
<p>Der Signal-Messenger führte 2018 <a href="https://signal.org/blog/sealed-sender/">“Sealed Sender”</a> ein
um seine Serverinfrastruktur darüber im Unklaren zu lassen, wer eine Nachricht an eine Gruppe von Empfängern sendet.
@@ -1364,7 +1342,7 @@ but an implementation has not been agreed as a priority yet.</p>
</h3>
<p>Nein, noch nicht.</p>
<p>Nein, noch nichts.</p>
<p>Delta Chat today doesnt support Perfect Forward Secrecy (PFS).
This means that if your private decryption key is leaked,
@@ -1390,7 +1368,7 @@ which would make it available in all <a href="https://chatmail.at/clients">chatm
</h3>
<p>Nein, noch nicht.</p>
<p>Nein, noch nichts.</p>
<p>Delta Chat verwendet die Rust OpenPGP-Bibliothek <a href="https://github.com/rpgp/rpgp">rPGP</a>
die den neuesten <a href="https://datatracker.ietf.org/doc/draft-ietf-openpgp-pqc/">IETF Post-Quantum-Cryptography OpenPGP Entwurf</a> unterstützt.
+66 -94
View File
@@ -15,7 +15,7 @@
<li><a href="#what-do-the-ticks-shown-beside-outgoing-messages-mean">What do the ticks shown beside outgoing messages mean?</a></li>
<li><a href="#edit">Correct typos and delete messages after sending</a></li>
<li><a href="#ephemeralmsgs">How do disappearing messages work?</a></li>
<li><a href="#delold">What happens if I turn on “Delete Messages from Device”?</a></li>
<li><a href="#delold">What happens if I turn on “Delete old messages from device”?</a></li>
<li><a href="#remove-account">How can I delete my chat profile?</a></li>
</ul>
</li>
@@ -26,7 +26,6 @@
<li><a href="#i-have-deleted-myself-by-accident">I have deleted myself by accident.</a></li>
<li><a href="#i-do-not-want-to-receive-the-messages-of-a-group-any-longer">I do not want to receive the messages of a group any longer.</a></li>
<li><a href="#cloning-a-group">Cloning a group</a></li>
<li><a href="#how-many-members-can-participate-in-a-single-group">How many members can participate in a single group?</a></li>
</ul>
</li>
<li><a href="#webxdc">In-chat apps</a>
@@ -55,7 +54,7 @@
</li>
<li><a href="#advanced">Advanced</a>
<ul>
<li><a href="#experiments">Experimental Features</a></li>
<li><a href="#experimental-features">Experimental Features</a></li>
<li><a href="#relays">What are Relays?</a></li>
<li><a href="#can-i-use-a-classic-email-address-with-delta-chat">Can I use a classic email address with Delta Chat?</a></li>
<li><a href="#classic-email">How can I configure a chat profile with a classic email address as relay?</a></li>
@@ -77,7 +76,6 @@
<li><a href="#tls">Are messages marked with the mail icon exposed on the Internet?</a></li>
<li><a href="#message-metadata">How does Delta Chat protect metadata in messages?</a></li>
<li><a href="#device-seizure">How to protect metadata and contacts when a device is seized?</a></li>
<li><a href="#who-sees-my-ip-address">Who sees my IP Address?</a></li>
<li><a href="#sealedsender">Does Delta Chat support “Sealed Sender”?</a></li>
<li><a href="#pfs">Does Delta Chat support Perfect Forward Secrecy?</a></li>
<li><a href="#pqc">Does Delta Chat support Post-Quantum-Cryptography?</a></li>
@@ -187,8 +185,7 @@ If you add each other to <a href="#groups">groups</a>, end-to-end encryption wil
<p>As being a private messenger,
only friends and family you <a href="#howtoe2ee">share your QR code or invite link with</a> can write to you.</p>
<p>Your friends may share your contact with other friends,
this appears as <b style="border: 1px solid currentColor; padding: 0 3px; font-size:90%">Request</b></p>
<p>Your friends may share your contact with other friends, this appears as a <strong>request</strong>.</p>
<ul>
<li>
@@ -226,10 +223,15 @@ and can tap it to start chatting with the first contact.</p>
</h3>
<p>Yes. Images, videos, files, voice messages etc. can be sent using the <img style="vertical-align:middle; width:1.0em; margin:1px" src="../paperclip.png" alt="Paperclip" /> <strong>Attachment-</strong>
<ul>
<li>
<p>Yes. Images, videos, files, voice messages etc. can be sent using the <img style="vertical-align:middle; width:1.0em; margin:1px" src="../paperclip.png" alt="Paperclip" /> <strong>Attachment-</strong>
or <img style="vertical-align:middle; width:0.8em; margin:1px" src="../mic.png" alt="Microphone" /> <strong>Voice Message</strong> buttons</p>
<p>For performance, images are optimized and sent at a smaller size by default, but you can send it as a “file” to preserve the original.</p>
</li>
<li>
<p>For performance, images are optimized and sent at a smaller size by default, but you can send it as a “file” to preserve the original.</p>
</li>
</ul>
<h3 id="multiple-accounts">
@@ -260,11 +262,16 @@ or to <strong>Switch Profiles</strong>.</p>
</h3>
<p>You can add a profile picture in your settings. If you write to your contacts
<ul>
<li>
<p>You can add a profile picture in your settings. If you write to your contacts
or add them via QR code, they automatically see it as your profile picture.</p>
<p>For privacy reasons, no one sees your profile picture until you write a
</li>
<li>
<p>For privacy reasons, no one sees your profile picture until you write a
message to them.</p>
</li>
</ul>
<h3 id="signature">
@@ -298,8 +305,7 @@ they will see it when they view your contact details.</p>
</li>
<li>
<p><strong>Archive chats</strong> if you do not want to see them in your chat list any longer.
They remain accessible above the chat list or via search
and are marked by <b style="border: 1px solid currentColor; padding: 0 3px; font-size:90%">Archived</b></p>
Archived chats remain accessible above the chat list or via search.</p>
</li>
<li>
<p>When an archived chat gets a new message, unless muted, it will <strong>pop out of the archive</strong> and back into your chat list.
@@ -334,7 +340,7 @@ By tapping <img style="vertical-align:middle; width:1.2em; margin:1px" src="../g
you can go back to the original message in the original chat</p>
</li>
<li>
<p>Finally, you can also use “Saved Messages” to take <strong>personal notes</strong> - open the chat, type something, add a photo or a voice message etc.</p>
<p>Finally, you can also use “Save Messages” to take <strong>personal notes</strong> - open the chat, type something, add a photo or a voice message etc.</p>
</li>
<li>
<p>As “Saved Message” are synced, they can become very handy for transferring data between devices</p>
@@ -371,18 +377,22 @@ and others will as well not always see that you are “online”.</p>
<ul>
<li>
<p><strong>One tick</strong> <img style="vertical-align:middle; width:1.5em; margin:1px" src="../tick1.png" alt="" />
means that the message was sent successfully to the <a href="#relays">relay</a>.</p>
means that the message was sent successfully to your provider.</p>
</li>
<li>
<p><strong>Two ticks</strong> <img style="vertical-align:middle; width:1.5em; margin:1px" src="../tick2.png" alt="" />
indicate your contact has read the message.</p>
mean that at least one recipients device
reported back to having received the message.</p>
</li>
<li>
<p>Recipients may have disabled read-receipts,
so even if you see only one tick, the message may have been read.</p>
</li>
<li>
<p>The other way round, two ticks do not automatically mean
that a human has read or understood the message ;)</p>
</li>
</ul>
<p>In <a href="#groups">groups</a> the second tick means that at least one member has reported back having read the message.</p>
<p>You will only get the second tick if both you and one of the recipients who read the message
has <strong>Settings → Chats → Read Receipts</strong> enabled.</p>
<h3 id="edit">
@@ -447,18 +457,19 @@ the (anyway encrypted) messages may take longer to get deleted from their server
<h3 id="delold">
What happens if I turn on “Delete Messages from Device”? <a href="#delold" class="anchor"></a>
What happens if I turn on “Delete old messages from device”? <a href="#delold" class="anchor"></a>
</h3>
<p>If you want to save storage on your device, you can choose to delete old
messages automatically.</p>
<p>To turn it on, go to <strong>Settings → Chats → Delete Message from Device</strong>.
You can set a timeframe between “after an hour” and “after a year”;
<ul>
<li>If you want to save storage on your device, you can choose to delete old
messages automatically.</li>
<li>To turn it on, go to “delete old messages from device” in the “Chats &amp; Media”
settings. You can set a timeframe between “after an hour” and “after a year”;
this way, <em>all</em> messages will be deleted from your device as soon as they are
older than that.</p>
older than that.</li>
</ul>
<h3 id="remove-account">
@@ -506,15 +517,9 @@ and <a href="#edit">delete their own messages</a> from all members devices.</
</h3>
<ul>
<li>
<p>Select <strong>New chat</strong> and then <strong>New group</strong> from the menu in the upper right corner or hit the corresponding button on Android/iOS.</p>
</li>
<li>
<p>On the following screen, select the <strong>group members</strong> and define a <strong>group name</strong>. You can also select a <strong>group avatar</strong>.</p>
</li>
<li>
<p>As soon as you write the <strong>first message</strong> in the group, all members are informed about the new group and can answer in the group (as long as you do not write a message in the group the group is invisible to the members).</p>
</li>
<li>Select <strong>New chat</strong> and then <strong>New group</strong> from the menu in the upper right corner or hit the corresponding button on Android/iOS.</li>
<li>On the following screen, select the <strong>group members</strong> and define a <strong>group name</strong>. You can also select a <strong>group avatar</strong>.</li>
<li>As soon as you write the <strong>first message</strong> in the group, all members are informed about the new group and can answer in the group (as long as you do not write a message in the group the group is invisible to the members).</li>
</ul>
<h3 id="addmembers">
@@ -525,10 +530,11 @@ and <a href="#edit">delete their own messages</a> from all members devices.</
</h3>
<p>All group members have the <strong>same rights</strong>.
For this reason, everyone can delete any member or add new ones.</p>
<ul>
<li>
<p>All group members have the <strong>same rights</strong>.
For this reason, everyone can delete any member or add new ones.</p>
</li>
<li>
<p>To <strong>add or delete members</strong>, tap the group name in the chat and select the member to add or remove.</p>
</li>
@@ -556,8 +562,10 @@ However, since groups are <a href="#groups">meant for trusted people</a>, avoid
</h3>
<p>As youre no longer a group member, you cannot add yourself again.
However, no problem, just ask any other group member in a normal chat to re-add you.</p>
<ul>
<li>As youre no longer a group member, you cannot add yourself again.
However, no problem, just ask any other group member in a normal chat to re-add you.</li>
</ul>
<h3 id="i-do-not-want-to-receive-the-messages-of-a-group-any-longer">
@@ -568,12 +576,15 @@ However, no problem, just ask any other group member in a normal chat to re-add
</h3>
<ul>
<li>Either delete yourself from the member list or delete the whole chat.
If you want to join the group again later on, ask another group member to add you again.</li>
</ul>
<p>As an alternative, you can also “Mute” a group - doing so means you get all messages and
<li>
<p>Either delete yourself from the member list or delete the whole chat.
If you want to join the group again later on, ask another group member to add you again.</p>
</li>
<li>
<p>As an alternative, you can also “Mute” a group - doing so means you get all messages and
can still write, but are no longer notified of any new messages.</p>
</li>
</ul>
<h3 id="cloning-a-group">
@@ -599,21 +610,6 @@ or right-click the group in the chat list (Desktop).</p>
<p>The new group is <strong>fully independent</strong> from the original,
which continues to work as before.</p>
<h3 id="how-many-members-can-participate-in-a-single-group">
How many members can participate in a single group? <a href="#how-many-members-can-participate-in-a-single-group" class="anchor"></a>
</h3>
<p>There is no strict technical limit,
but more than 150 is not recommended.</p>
<p>As groups get larger, they can become socially unstable and may need a hierarchy -
where Delta Chat is a private messenger for chatting with <a href="#groups">equal rights</a>.
See <a href="https://en.wikipedia.org/wiki/Dunbar%27s_number">Dunbars number</a> for more insights.</p>
<h2 id="webxdc">
@@ -902,7 +898,7 @@ One device is not needed for the other to work.</p>
<p>Double-check both devices are in the <strong>same Wi-Fi or network</strong></p>
</li>
<li>
<p>On <strong>Windows</strong>, go to Control Panel / Network and Internet
<p>On <strong>Windows</strong>, go to <strong>Control Panel / Network and Internet</strong>
and make sure, <strong>Private Network</strong> is selected as “Network profile type”
(after transfer, you can change back to the original value)</p>
</li>
@@ -997,10 +993,10 @@ or the AppImage for Linux. You can find them on
</h2>
<h3 id="experiments">
<h3 id="experimental-features">
Experimental Features <a href="#experiments" class="anchor"></a>
Experimental Features <a href="#experimental-features" class="anchor"></a>
</h3>
@@ -1036,7 +1032,7 @@ you can configure relays at At <strong>Settings → Advanced → Relays</strong>
<li>
<p>You can <strong>add</strong> a relay by scanning its QR code;
<a href="https://chatmail.at/relays">https://chatmail.at/relays</a> shows some known ones.
If you have multiple relays, you will receive messages on all of them.</p>
If you have multiple relays, your will receive messages on all of them.</p>
</li>
<li>
<p>The <strong>default</strong> defines the one where your chat partners send future messages to.</p>
@@ -1159,7 +1155,9 @@ weekly statistics will be automatically sent to a bot.</p>
</h3>
<p>See <a href="https://github.com/chatmail/core/blob/main/standards.md#standards-used-in-delta-chat">Standards used in Delta Chat</a>.</p>
<ul>
<li>See <a href="https://github.com/chatmail/core/blob/main/standards.md#standards-used-in-delta-chat">Standards used in Delta Chat</a>.</li>
</ul>
<h2 id="e2ee">
@@ -1398,32 +1396,6 @@ with the knowledge that all their data, along with all metadata, will be deleted
Moreover, if a device is seized then chat contacts using short-lived profiles
can not be identified easily.</p>
<h3 id="who-sees-my-ip-address">
Who sees my IP Address? <a href="#who-sees-my-ip-address" class="anchor"></a>
</h3>
<p>The used <a href="#relays">relay</a> needs to know your IP Address,
as well as sometimes your contacts devices if you have a <a href="#experiments">call</a>
or use <a href="#webxdc">apps</a> together.</p>
<p>IP Addresses are needed for connectivity and efficiency.
They are neither persisted nor exposed.
Note that the IP Address
is not like a detailed address you give to a delivery service,
but much more coarse, often defining region or country only.</p>
<p>As this is just how the internet and other messengers work by default,
we do not offer options here or ask upfront questions.</p>
<p>If you see your IP Address as a security or privacy risk,
we recommend to use a VPN, in combination with system lockdown mode.
Hunting down options in all apps on your system will leave gaps.
For example, tapping a link exposes IP Addresses to unknown parties and is the by far larger risk here.</p>
<h3 id="sealedsender">
+64 -90
View File
@@ -26,7 +26,6 @@
<li><a href="#me-he-eliminado-por-accidente">Me he eliminado por accidente.</a></li>
<li><a href="#no-quiero-recibir-más-los-mensajes-de-un-grupo">No quiero recibir más los mensajes de un grupo.</a></li>
<li><a href="#cloning-a-group">Cloning a group</a></li>
<li><a href="#how-many-members-can-participate-in-a-single-group">How many members can participate in a single group?</a></li>
</ul>
</li>
<li><a href="#webxdc">In-chat apps</a>
@@ -55,7 +54,7 @@
</li>
<li><a href="#advanced">Advanced</a>
<ul>
<li><a href="#experiments">Experimental Features</a></li>
<li><a href="#experimental-features">Experimental Features</a></li>
<li><a href="#relays">What are Relays?</a></li>
<li><a href="#can-i-use-a-classic-email-address-with-delta-chat">Can I use a classic email address with Delta Chat?</a></li>
<li><a href="#classic-email">How can I configure a chat profile with a classic email address as relay?</a></li>
@@ -77,7 +76,6 @@
<li><a href="#tls">Are messages marked with the mail icon exposed on the Internet?</a></li>
<li><a href="#message-metadata">¿Cómo Delta Chat protege los metadatos en los mensajes?</a></li>
<li><a href="#device-seizure">¿Cómo proteger los metadatos y los contactos cuando se incauta un dispositivo?</a></li>
<li><a href="#who-sees-my-ip-address">Who sees my IP Address?</a></li>
<li><a href="#sealedsender">Does Delta Chat support “Sealed Sender”?</a></li>
<li><a href="#pfs">¿Soporta Delta Chat Perfect Forward Secrecy?</a></li>
<li><a href="#pqc">Does Delta Chat support Post-Quantum-Cryptography?</a></li>
@@ -187,8 +185,7 @@ If you add each other to <a href="#groups">groups</a>, end-to-end encryption wil
<p>As being a private messenger,
only friends and family you <a href="#howtoe2ee">share your QR code or invite link with</a> can write to you.</p>
<p>Your friends may share your contact with other friends,
this appears as <b style="border: 1px solid currentColor; padding: 0 3px; font-size:90%">Request</b></p>
<p>Your friends may share your contact with other friends, this appears as a <strong>request</strong>.</p>
<ul>
<li>
@@ -224,10 +221,15 @@ and can tap it to start chatting with the first contact.</p>
</h3>
<p>Yes. Images, videos, files, voice messages etc. can be sent using the <img style="vertical-align:middle; width:1.0em; margin:1px" src="../paperclip.png" alt="Paperclip" /> <strong>Attachment-</strong>
<ul>
<li>
<p>Yes. Images, videos, files, voice messages etc. can be sent using the <img style="vertical-align:middle; width:1.0em; margin:1px" src="../paperclip.png" alt="Paperclip" /> <strong>Attachment-</strong>
or <img style="vertical-align:middle; width:0.8em; margin:1px" src="../mic.png" alt="Microphone" /> <strong>Voice Message</strong> buttons</p>
<p>Para mejorar el rendimiento, las imágenes se optimizan y se envían en un tamaño más pequeño de forma predeterminada, pero puedes enviarla como un “archivo” para conservar la original.</p>
</li>
<li>
<p>Para mejorar el rendimiento, las imágenes se optimizan y se envían en un tamaño más pequeño de forma predeterminada, pero puedes enviarla como un “archivo” para conservar la original.</p>
</li>
</ul>
<h3 id="multiple-accounts">
@@ -258,10 +260,15 @@ o para <strong>Cambiar perfiles</strong>.</p>
</h3>
<p>Puede agregar una foto de perfil en su configuración. Si escribe a sus contactos
<ul>
<li>
<p>Puede agregar una foto de perfil en su configuración. Si escribe a sus contactos
o los agrega a través de un código QR, ellos lo verán automáticamente como su foto de perfil.</p>
<p>Por cuestiones de privacidad, nadie verá su foto de perfil hasta que les escriba un mensaje.</p>
</li>
<li>
<p>Por cuestiones de privacidad, nadie verá su foto de perfil hasta que les escriba un mensaje.</p>
</li>
</ul>
<h3 id="signature">
@@ -294,7 +301,8 @@ they will see it when they view your contact details.</p>
<p><strong>Chats muteados</strong> si no quieres recibir notificaciones de ellos. Chats muteados se mantienen en su lugar e inclusive puedes fijarlos.</p>
</li>
<li>
<p><strong>Archivar chats</strong> si no deseas verlos en tu lista de chats. Los chats archivados siguen siendo accesibles arriba de la lista de chats o a través de la búsqueda.</p>
<p><strong>Archivar chats</strong> si no deseas verlos en tu lista de chats.
Los chats archivados siguen siendo accesibles arriba de la lista de chats o a través de la búsqueda.</p>
</li>
<li>
<p>Cuando un chat archivado recibe un nuevo mensaje, a menos que esté silenciado, <strong>saldrá del archivo</strong> y volverá a aparecer en tu lista de chats.
@@ -367,18 +375,22 @@ and others will as well not always see that you are “online”.</p>
<ul>
<li>
<p><strong>One tick</strong> <img style="vertical-align:middle; width:1.5em; margin:1px" src="../tick1.png" alt="" />
means that the message was sent successfully to the <a href="#relays">relay</a>.</p>
means that the message was sent successfully to your provider.</p>
</li>
<li>
<p><strong>Two ticks</strong> <img style="vertical-align:middle; width:1.5em; margin:1px" src="../tick2.png" alt="" />
indicate your contact has read the message.</p>
mean that at least one recipients device
reported back to having received the message.</p>
</li>
<li>
<p>Recipients may have disabled read-receipts,
so even if you see only one tick, the message may have been read.</p>
</li>
<li>
<p>The other way round, two ticks do not automatically mean
that a human has read or understood the message ;)</p>
</li>
</ul>
<p>In <a href="#groups">groups</a> the second tick means that at least one member has reported back having read the message.</p>
<p>You will only get the second tick if both you and one of the recipients who read the message
has <strong>Settings → Chats → Read Receipts</strong> enabled.</p>
<h3 id="edit">
@@ -448,13 +460,14 @@ the (anyway encrypted) messages may take longer to get deleted from their server
</h3>
<p>If you want to save storage on your device, you can choose to delete old
messages automatically.</p>
<p>To turn it on, go to <strong>Settings → Chats → Delete Message from Device</strong>.
You can set a timeframe between “after an hour” and “after a year”;
<ul>
<li>If you want to save storage on your device, you can choose to delete old
messages automatically.</li>
<li>To turn it on, go to “delete old messages from device” in the “Chats &amp; Media”
settings. You can set a timeframe between “after an hour” and “after a year”;
this way, <em>all</em> messages will be deleted from your device as soon as they are
older than that.</p>
older than that.</li>
</ul>
<h3 id="remove-account">
@@ -502,15 +515,9 @@ and <a href="#edit">delete their own messages</a> from all members devices.</
</h3>
<ul>
<li>
<p>Selecciona <strong>Nuevo chat</strong> y luego <strong>Nuevo grupo</strong> del menu en el sector superior derecho o toca en el botón correspondiente en Android/iOS.</p>
</li>
<li>
<p>En la siguiente pantalla selecciona a los <strong>miembros del grupo</strong> y define un <strong>nombre de grupo</strong>. Tambien puedes seleccionar un <strong>avatar de grupo</strong>.</p>
</li>
<li>
<p>Tan pronto escribas el <strong>primer mensaje</strong> en el grupo, todos los miembros serán informados sobre el nuevo grupo y podrán responder en él (mientras no escribas un mensaje será invisible para los miembros).</p>
</li>
<li>Selecciona <strong>Nuevo chat</strong> y luego <strong>Nuevo grupo</strong> del menu en el sector superior derecho o toca en el botón correspondiente en Android/iOS.</li>
<li>En la siguiente pantalla selecciona a los <strong>miembros del grupo</strong> y define un <strong>nombre de grupo</strong>. Tambien puedes seleccionar un <strong>avatar de grupo</strong>.</li>
<li>Tan pronto escribas el <strong>primer mensaje</strong> en el grupo, todos los miembros serán informados sobre el nuevo grupo y podrán responder en él (mientras no escribas un mensaje será invisible para los miembros).</li>
</ul>
<h3 id="addmembers">
@@ -521,10 +528,11 @@ and <a href="#edit">delete their own messages</a> from all members devices.</
</h3>
<p>All group members have the <strong>same rights</strong>.
For this reason, everyone can delete any member or add new ones.</p>
<ul>
<li>
<p>All group members have the <strong>same rights</strong>.
For this reason, everyone can delete any member or add new ones.</p>
</li>
<li>
<p>To <strong>add or delete members</strong>, tap the group name in the chat and select the member to add or remove.</p>
</li>
@@ -552,8 +560,10 @@ However, since groups are <a href="#groups">meant for trusted people</a>, avoid
</h3>
<p>Como ya no eres miembro del grupo, no puedes volver a agregarte.
Sin embargo, no hay problema, solo pídale a cualquier otro miembro del grupo en un chat normal que lo vuelva a agregar.</p>
<ul>
<li>Como ya no eres miembro del grupo, no puedes volver a agregarte.
Sin embargo, no hay problema, solo pídale a cualquier otro miembro del grupo en un chat normal que lo vuelva a agregar.</li>
</ul>
<h3 id="no-quiero-recibir-más-los-mensajes-de-un-grupo">
@@ -564,12 +574,15 @@ Sin embargo, no hay problema, solo pídale a cualquier otro miembro del grupo en
</h3>
<ul>
<li>Elimínate de la lista de miembros o elimina todo el chat.
Si desea unirse al grupo nuevamente más tarde, pídale a otro miembro del grupo que lo agregue nuevamente.</li>
</ul>
<p>Como alternativa, también puede “silenciar” a un grupo, lo que significa que recibirá todos los mensajes y
<li>
<p>Elimínate de la lista de miembros o elimina todo el chat.
Si desea unirse al grupo nuevamente más tarde, pídale a otro miembro del grupo que lo agregue nuevamente.</p>
</li>
<li>
<p>Como alternativa, también puede “silenciar” a un grupo, lo que significa que recibirá todos los mensajes y
aún puede escribir, pero ya no se le notifican nuevos mensajes.</p>
</li>
</ul>
<h3 id="cloning-a-group">
@@ -595,21 +608,6 @@ or right-click the group in the chat list (Desktop).</p>
<p>The new group is <strong>fully independent</strong> from the original,
which continues to work as before.</p>
<h3 id="how-many-members-can-participate-in-a-single-group">
How many members can participate in a single group? <a href="#how-many-members-can-participate-in-a-single-group" class="anchor"></a>
</h3>
<p>There is no strict technical limit,
but more than 150 is not recommended.</p>
<p>As groups get larger, they can become socially unstable and may need a hierarchy -
where Delta Chat is a private messenger for chatting with <a href="#groups">equal rights</a>.
See <a href="https://en.wikipedia.org/wiki/Dunbar%27s_number">Dunbars number</a> for more insights.</p>
<h2 id="webxdc">
@@ -898,7 +896,7 @@ No es necesario un dispositivo para que el otro funcione.</p>
<p>Vuelve a verificar que ambos dispositivos estén en la <strong>misma Wi-Fi o red</strong></p>
</li>
<li>
<p>On <strong>Windows</strong>, go to Control Panel / Network and Internet
<p>On <strong>Windows</strong>, go to <strong>Control Panel / Network and Internet</strong>
and make sure, <strong>Private Network</strong> is selected as “Network profile type”
(after transfer, you can change back to the original value)</p>
</li>
@@ -993,10 +991,10 @@ o el AppImage para Linux. Puedes encontrarlos en
</h2>
<h3 id="experiments">
<h3 id="experimental-features">
Experimental Features <a href="#experiments" class="anchor"></a>
Experimental Features <a href="#experimental-features" class="anchor"></a>
</h3>
@@ -1032,7 +1030,7 @@ you can configure relays at At <strong>Settings → Advanced → Relays</strong>
<li>
<p>You can <strong>add</strong> a relay by scanning its QR code;
<a href="https://chatmail.at/relays">https://chatmail.at/relays</a> shows some known ones.
If you have multiple relays, you will receive messages on all of them.</p>
If you have multiple relays, your will receive messages on all of them.</p>
</li>
<li>
<p>The <strong>default</strong> defines the one where your chat partners send future messages to.</p>
@@ -1155,7 +1153,9 @@ weekly statistics will be automatically sent to a bot.</p>
</h3>
<p>Visita la página <a href="https://github.com/chatmail/core/blob/main/standards.md#standards-used-in-delta-chat">Estándares usados en Delta Chat</a>.</p>
<ul>
<li>Visita la página <a href="https://github.com/chatmail/core/blob/main/standards.md#standards-used-in-delta-chat">Estándares usados en Delta Chat</a>.</li>
</ul>
<h2 id="e2ee">
@@ -1391,32 +1391,6 @@ with the knowledge that all their data, along with all metadata, will be deleted
Moreover, if a device is seized then chat contacts using short-lived profiles
can not be identified easily.</p>
<h3 id="who-sees-my-ip-address">
Who sees my IP Address? <a href="#who-sees-my-ip-address" class="anchor"></a>
</h3>
<p>The used <a href="#relays">relay</a> needs to know your IP Address,
as well as sometimes your contacts devices if you have a <a href="#experiments">call</a>
or use <a href="#webxdc">apps</a> together.</p>
<p>IP Addresses are needed for connectivity and efficiency.
They are neither persisted nor exposed.
Note that the IP Address
is not like a detailed address you give to a delivery service,
but much more coarse, often defining region or country only.</p>
<p>As this is just how the internet and other messengers work by default,
we do not offer options here or ask upfront questions.</p>
<p>If you see your IP Address as a security or privacy risk,
we recommend to use a VPN, in combination with system lockdown mode.
Hunting down options in all apps on your system will leave gaps.
For example, tapping a link exposes IP Addresses to unknown parties and is the by far larger risk here.</p>
<h3 id="sealedsender">
+56 -85
View File
@@ -26,7 +26,6 @@
<li><a href="#jai-quitté-un-groupe-par-accident">Jai quitté un groupe par accident.</a></li>
<li><a href="#je-ne-souhaite-plus-recevoir-les-messages-dun-groupe">Je ne souhaite plus recevoir les messages dun groupe.</a></li>
<li><a href="#cloning-a-group">Cloning a group</a></li>
<li><a href="#how-many-members-can-participate-in-a-single-group">How many members can participate in a single group?</a></li>
</ul>
</li>
<li><a href="#webxdc">In-chat apps</a>
@@ -55,7 +54,7 @@
</li>
<li><a href="#advanced">Advanced</a>
<ul>
<li><a href="#experiments">Experimental Features</a></li>
<li><a href="#experimental-features">Experimental Features</a></li>
<li><a href="#relays">What are Relays?</a></li>
<li><a href="#can-i-use-a-classic-email-address-with-delta-chat">Can I use a classic email address with Delta Chat?</a></li>
<li><a href="#classic-email">How can I configure a chat profile with a classic email address as relay?</a></li>
@@ -77,7 +76,6 @@
<li><a href="#tls">Are messages marked with the mail icon exposed on the Internet?</a></li>
<li><a href="#message-metadata">How does Delta Chat protect metadata in messages?</a></li>
<li><a href="#device-seizure">How to protect metadata and contacts when a device is seized?</a></li>
<li><a href="#who-sees-my-ip-address">Who sees my IP Address?</a></li>
<li><a href="#sealedsender">Does Delta Chat support “Sealed Sender”?</a></li>
<li><a href="#pfs">Does Delta Chat support Perfect Forward Secrecy?</a></li>
<li><a href="#pqc">Does Delta Chat support Post-Quantum-Cryptography?</a></li>
@@ -187,8 +185,7 @@ If you add each other to <a href="#groups">groups</a>, end-to-end encryption wil
<p>As being a private messenger,
only friends and family you <a href="#howtoe2ee">share your QR code or invite link with</a> can write to you.</p>
<p>Your friends may share your contact with other friends,
this appears as <b style="border: 1px solid currentColor; padding: 0 3px; font-size:90%">Request</b></p>
<p>Your friends may share your contact with other friends, this appears as a <strong>request</strong>.</p>
<ul>
<li>
@@ -226,10 +223,15 @@ and can tap it to start chatting with the first contact.</p>
</h3>
<p>Oui. Images, videos, files, voice messages etc. can be sent using the <img style="vertical-align:middle; width:1.0em; margin:1px" src="../paperclip.png" alt="Paperclip" /> <strong>Attachment-</strong>
<ul>
<li>
<p>Oui. Images, videos, files, voice messages etc. can be sent using the <img style="vertical-align:middle; width:1.0em; margin:1px" src="../paperclip.png" alt="Paperclip" /> <strong>Attachment-</strong>
or <img style="vertical-align:middle; width:0.8em; margin:1px" src="../mic.png" alt="Microphone" /> <strong>Voice Message</strong> buttons</p>
<p>Pour améliorer les performances, les images sont redimensionnées et envoyées en taille réduite par défaut ; mais vous pouvez les envoyer en tant que “fichier” pour en conserver la taille originale.</p>
</li>
<li>
<p>Pour améliorer les performances, les images sont redimensionnées et envoyées en taille réduite par défaut ; mais vous pouvez les envoyer en tant que “fichier” pour en conserver la taille originale.</p>
</li>
</ul>
<h3 id="multiple-accounts">
@@ -262,7 +264,9 @@ or to <strong>Switch Profiles</strong>.</p>
<p>Dans les paramètres vous pouvez ajouter une photo de profil. Si vous écrivez à vos contacts ou que vous les ajoutez via le QR code, ils la verront automatiquement comme votre photo de profil.</p>
<p>Pour des raisons de confidentialité, personne ne peut voir votre photo de profil sans que vous ayez dabord entamé une discussion.</p>
<ul>
<li>Pour des raisons de confidentialité, personne ne peut voir votre photo de profil sans que vous ayez dabord entamé une discussion.</li>
</ul>
<h3 id="signature">
@@ -295,7 +299,8 @@ they will see it when they view your contact details.</p>
<p>Utilisez la <strong>sourdine</strong> pour les discussions dont vous ne voulez pas recevoir les notifications. Les discussions en sourdine figurent toujours dans votre liste et peuvent aussi être les épinglées.</p>
</li>
<li>
<p><strong>Archivez les discussions</strong> si vous ne voulez plus les voir apparaître dans votre liste de discussions. Les discussions archivées restent accessibles au-dessus de la liste de discussions ou via la recherche.</p>
<p><strong>Archivez les discussions</strong> si vous ne voulez plus les voir apparaître dans votre liste de discussions.
Les discussions archivées restent accessibles au-dessus de la liste de discussions ou via la recherche.</p>
</li>
<li>
<p>Lorsquun nouveau message est envoyé sur une discussion que vous avez archivée, et que vous navez pas mise en sourdine, la discussion <strong>sort des archives</strong> et reprend sa place dans votre liste de discussions.
@@ -331,7 +336,7 @@ By tapping <img style="vertical-align:middle; width:1.2em; margin:1px" src="../g
you can go back to the original message in the original chat</p>
</li>
<li>
<p>Finally, you can also use “Saved Messages” to take <strong>personal notes</strong> - open the chat, type something, add a photo or a voice message etc.</p>
<p>Finally, you can also use “Save Messages” to take <strong>personal notes</strong> - open the chat, type something, add a photo or a voice message etc.</p>
</li>
<li>
<p>As “Saved Message” are synced, they can become very handy for transferring data between devices</p>
@@ -368,18 +373,22 @@ and others will as well not always see that you are “online”.</p>
<ul>
<li>
<p><strong>One tick</strong> <img style="vertical-align:middle; width:1.5em; margin:1px" src="../tick1.png" alt="" />
means that the message was sent successfully to the <a href="#relays">relay</a>.</p>
means that the message was sent successfully to your provider.</p>
</li>
<li>
<p><strong>Two ticks</strong> <img style="vertical-align:middle; width:1.5em; margin:1px" src="../tick2.png" alt="" />
indicate your contact has read the message.</p>
mean that at least one recipients device
reported back to having received the message.</p>
</li>
<li>
<p>Recipients may have disabled read-receipts,
so even if you see only one tick, the message may have been read.</p>
</li>
<li>
<p>The other way round, two ticks do not automatically mean
that a human has read or understood the message ;)</p>
</li>
</ul>
<p>In <a href="#groups">groups</a> the second tick means that at least one member has reported back having read the message.</p>
<p>You will only get the second tick if both you and one of the recipients who read the message
has <strong>Settings → Chats → Read Receipts</strong> enabled.</p>
<h3 id="edit">
@@ -449,9 +458,10 @@ the (anyway encrypted) messages may take longer to get deleted from their server
</h3>
<p>Vous pouvez choisir de supprimer automatiquement les anciens messages pour libérer de lespace de stockage sur votre appareil.</p>
<p>Pour activer cette option, ouvrez les paramètres des “Discussions et fichiers multimédias” et cliquez sur “Supprimer les anciens messages de lappareil”. Vous pouvez définir le délai après lequel <em>tous</em> les messages seront supprimés de votre appareil, parmi plusieurs choix allant de “Immédiatement” à “Après 1 année”.</p>
<ul>
<li>Vous pouvez choisir de supprimer automatiquement les anciens messages pour libérer de lespace de stockage sur votre appareil.</li>
<li>Pour activer cette option, ouvrez les paramètres des “Discussions et fichiers multimédias” et cliquez sur “Supprimer les anciens messages de lappareil”. Vous pouvez définir le délai après lequel <em>tous</em> les messages seront supprimés de votre appareil, parmi plusieurs choix allant de “Immédiatement” à “Après 1 année”.</li>
</ul>
<h3 id="remove-account">
@@ -499,15 +509,9 @@ and <a href="#edit">delete their own messages</a> from all members devices.</
</h3>
<ul>
<li>
<p>Sélectionnez <strong>Nouvelle discussion</strong> puis <strong>Nouveau groupe</strong> dans le menu à trois points situé en haut à droite de la fenêtre ou son équivalent sous Android et iOS.</p>
</li>
<li>
<p>Sur l’écran suivant, sélectionnez <strong>Ajouter des participants</strong> et choisissez un <strong>Nom du groupe</strong>. Vous pouvez aussi choisir une <strong>image de groupe</strong>.</p>
</li>
<li>
<p>Lorsque vous enverrez le <strong>premier message</strong> dans le groupe, tous les membres en seront informés et pourront répondre. Le groupe est invisible aux autres membres si vous n’écrivez pas de premier message.</p>
</li>
<li>Sélectionnez <strong>Nouvelle discussion</strong> puis <strong>Nouveau groupe</strong> dans le menu à trois points situé en haut à droite de la fenêtre ou son équivalent sous Android et iOS.</li>
<li>Sur l’écran suivant, sélectionnez <strong>Ajouter des participants</strong> et choisissez un <strong>Nom du groupe</strong>. Vous pouvez aussi choisir une <strong>image de groupe</strong>.</li>
<li>Lorsque vous enverrez le <strong>premier message</strong> dans le groupe, tous les membres en seront informés et pourront répondre. Le groupe est invisible aux autres membres si vous n’écrivez pas de premier message.</li>
</ul>
<h3 id="addmembers">
@@ -518,10 +522,11 @@ and <a href="#edit">delete their own messages</a> from all members devices.</
</h3>
<p>All group members have the <strong>same rights</strong>.
For this reason, everyone can delete any member or add new ones.</p>
<ul>
<li>
<p>All group members have the <strong>same rights</strong>.
For this reason, everyone can delete any member or add new ones.</p>
</li>
<li>
<p>To <strong>add or delete members</strong>, tap the group name in the chat and select the member to add or remove.</p>
</li>
@@ -549,8 +554,10 @@ However, since groups are <a href="#groups">meant for trusted people</a>, avoid
</h3>
<p>Comme vous n’êtes plus membre du groupe, vous ne pouvez pas vous y ajouter vous-même.
Contactez nimporte quel autre membre de ce groupe dans une discussion directe pour lui demander de vous y ré-inviter.</p>
<ul>
<li>Comme vous n’êtes plus membre du groupe, vous ne pouvez pas vous y ajouter vous-même.
Contactez nimporte quel autre membre de ce groupe dans une discussion directe pour lui demander de vous y ré-inviter.</li>
</ul>
<h3 id="je-ne-souhaite-plus-recevoir-les-messages-dun-groupe">
@@ -561,11 +568,14 @@ Contactez nimporte quel autre membre de ce groupe dans une discussion directe
</h3>
<ul>
<li>Supprimez-vous de la liste des membres ou supprimez la discussion entière.
Si souhaitez rejoindre le groupe plus tard, demandez à un autre membre du groupe de vous ré-inviter.</li>
<li>
<p>Supprimez-vous de la liste des membres ou supprimez la discussion entière.
Si souhaitez rejoindre le groupe plus tard, demandez à un autre membre du groupe de vous ré-inviter.</p>
</li>
<li>
<p>Vous pouvez également mettre un groupe en “Sourdine” : vous recevrez tous les messages et pourrez toujours écrire, mais naurez plus les notifications des nouveaux messages.</p>
</li>
</ul>
<p>Vous pouvez également mettre un groupe en “Sourdine” : vous recevrez tous les messages et pourrez toujours écrire, mais naurez plus les notifications des nouveaux messages.</p>
<h3 id="cloning-a-group">
@@ -591,21 +601,6 @@ or right-click the group in the chat list (Desktop).</p>
<p>The new group is <strong>fully independent</strong> from the original,
which continues to work as before.</p>
<h3 id="how-many-members-can-participate-in-a-single-group">
How many members can participate in a single group? <a href="#how-many-members-can-participate-in-a-single-group" class="anchor"></a>
</h3>
<p>There is no strict technical limit,
but more than 150 is not recommended.</p>
<p>As groups get larger, they can become socially unstable and may need a hierarchy -
where Delta Chat is a private messenger for chatting with <a href="#groups">equal rights</a>.
See <a href="https://en.wikipedia.org/wiki/Dunbar%27s_number">Dunbars number</a> for more insights.</p>
<h2 id="webxdc">
@@ -892,7 +887,7 @@ Lun na pas besoin de lautre pour pouvoir fonctionner.</p>
<p>Vérifier à nouveau que les deux appareils sont sur <strong>le même réseau ou le même Wi-Fi</strong>.</p>
</li>
<li>
<p>On <strong>Windows</strong>, go to Control Panel / Network and Internet
<p>On <strong>Windows</strong>, go to <strong>Control Panel / Network and Internet</strong>
and make sure, <strong>Private Network</strong> is selected as “Network profile type”
(after transfer, you can change back to the original value)</p>
</li>
@@ -983,10 +978,10 @@ end-to-end encrypted messages with your communication partners.</p>
</h2>
<h3 id="experiments">
<h3 id="experimental-features">
Experimental Features <a href="#experiments" class="anchor"></a>
Experimental Features <a href="#experimental-features" class="anchor"></a>
</h3>
@@ -1022,7 +1017,7 @@ you can configure relays at At <strong>Settings → Advanced → Relays</strong>
<li>
<p>You can <strong>add</strong> a relay by scanning its QR code;
<a href="https://chatmail.at/relays">https://chatmail.at/relays</a> shows some known ones.
If you have multiple relays, you will receive messages on all of them.</p>
If you have multiple relays, your will receive messages on all of them.</p>
</li>
<li>
<p>The <strong>default</strong> defines the one where your chat partners send future messages to.</p>
@@ -1145,7 +1140,9 @@ weekly statistics will be automatically sent to a bot.</p>
</h3>
<p>Consultez les <a href="https://github.com/chatmail/core/blob/main/standards.md#standards-used-in-delta-chat">standards utilisés dans Delta Chat</a>.</p>
<ul>
<li>Consultez les <a href="https://github.com/chatmail/core/blob/main/standards.md#standards-used-in-delta-chat">standards utilisés dans Delta Chat</a>.</li>
</ul>
<h2 id="e2ee">
@@ -1384,32 +1381,6 @@ with the knowledge that all their data, along with all metadata, will be deleted
Moreover, if a device is seized then chat contacts using short-lived profiles
can not be identified easily.</p>
<h3 id="who-sees-my-ip-address">
Who sees my IP Address? <a href="#who-sees-my-ip-address" class="anchor"></a>
</h3>
<p>The used <a href="#relays">relay</a> needs to know your IP Address,
as well as sometimes your contacts devices if you have a <a href="#experiments">call</a>
or use <a href="#webxdc">apps</a> together.</p>
<p>IP Addresses are needed for connectivity and efficiency.
They are neither persisted nor exposed.
Note that the IP Address
is not like a detailed address you give to a delivery service,
but much more coarse, often defining region or country only.</p>
<p>As this is just how the internet and other messengers work by default,
we do not offer options here or ask upfront questions.</p>
<p>If you see your IP Address as a security or privacy risk,
we recommend to use a VPN, in combination with system lockdown mode.
Hunting down options in all apps on your system will leave gaps.
For example, tapping a link exposes IP Addresses to unknown parties and is the by far larger risk here.</p>
<h3 id="sealedsender">
+67 -95
View File
@@ -15,7 +15,7 @@
<li><a href="#what-do-the-ticks-shown-beside-outgoing-messages-mean">What do the ticks shown beside outgoing messages mean?</a></li>
<li><a href="#edit">Correct typos and delete messages after sending</a></li>
<li><a href="#ephemeralmsgs">How do disappearing messages work?</a></li>
<li><a href="#delold">What happens if I turn on “Delete Messages from Device”?</a></li>
<li><a href="#delold">What happens if I turn on “Delete old messages from device”?</a></li>
<li><a href="#remove-account">How can I delete my chat profile?</a></li>
</ul>
</li>
@@ -26,7 +26,6 @@
<li><a href="#i-have-deleted-myself-by-accident">I have deleted myself by accident.</a></li>
<li><a href="#i-do-not-want-to-receive-the-messages-of-a-group-any-longer">I do not want to receive the messages of a group any longer.</a></li>
<li><a href="#cloning-a-group">Cloning a group</a></li>
<li><a href="#how-many-members-can-participate-in-a-single-group">How many members can participate in a single group?</a></li>
</ul>
</li>
<li><a href="#webxdc">In-chat apps</a>
@@ -55,7 +54,7 @@
</li>
<li><a href="#advanced">Advanced</a>
<ul>
<li><a href="#experiments">Experimental Features</a></li>
<li><a href="#experimental-features">Experimental Features</a></li>
<li><a href="#relays">What are Relays?</a></li>
<li><a href="#can-i-use-a-classic-email-address-with-delta-chat">Can I use a classic email address with Delta Chat?</a></li>
<li><a href="#classic-email">How can I configure a chat profile with a classic email address as relay?</a></li>
@@ -77,7 +76,6 @@
<li><a href="#tls">Are messages marked with the mail icon exposed on the Internet?</a></li>
<li><a href="#message-metadata">How does Delta Chat protect metadata in messages?</a></li>
<li><a href="#device-seizure">How to protect metadata and contacts when a device is seized?</a></li>
<li><a href="#who-sees-my-ip-address">Who sees my IP Address?</a></li>
<li><a href="#sealedsender">Does Delta Chat support “Sealed Sender”?</a></li>
<li><a href="#pfs">Does Delta Chat support Perfect Forward Secrecy?</a></li>
<li><a href="#pqc">Does Delta Chat support Post-Quantum-Cryptography?</a></li>
@@ -187,8 +185,7 @@ If you add each other to <a href="#groups">groups</a>, end-to-end encryption wil
<p>As being a private messenger,
only friends and family you <a href="#howtoe2ee">share your QR code or invite link with</a> can write to you.</p>
<p>Your friends may share your contact with other friends,
this appears as <b style="border: 1px solid currentColor; padding: 0 3px; font-size:90%">Request</b></p>
<p>Your friends may share your contact with other friends, this appears as a <strong>request</strong>.</p>
<ul>
<li>
@@ -226,10 +223,15 @@ and can tap it to start chatting with the first contact.</p>
</h3>
<p>Yes. Images, videos, files, voice messages etc. can be sent using the <img style="vertical-align:middle; width:1.0em; margin:1px" src="../paperclip.png" alt="Paperclip" /> <strong>Attachment-</strong>
<ul>
<li>
<p>Yes. Images, videos, files, voice messages etc. can be sent using the <img style="vertical-align:middle; width:1.0em; margin:1px" src="../paperclip.png" alt="Paperclip" /> <strong>Attachment-</strong>
or <img style="vertical-align:middle; width:0.8em; margin:1px" src="../mic.png" alt="Microphone" /> <strong>Voice Message</strong> buttons</p>
<p>For performance, images are optimized and sent at a smaller size by default, but you can send it as a “file” to preserve the original.</p>
</li>
<li>
<p>For performance, images are optimized and sent at a smaller size by default, but you can send it as a “file” to preserve the original.</p>
</li>
</ul>
<h3 id="multiple-accounts">
@@ -260,11 +262,16 @@ or to <strong>Switch Profiles</strong>.</p>
</h3>
<p>Anda dapat menambahkan gambar profil di pengaturan Anda. Jika Anda menulis ke kontak Anda
atau menambahkannya melalui kode QR, mereka secara otomatis melihatnya sebagai gambar profil Anda.</p>
<p>Untuk alasan kerahasiaan, tidak ada satupun yang dapat melihat Foto Profil anda hingga anda menulis
<ul>
<li>
<p>Anda dapat menambahkan gambar profil di pengaturan Anda. Jika Anda menulis ke kontak Anda
atau menambahkannya melalui kode QR, mereka secara otomatis melihatnya sebagai gambar profil Anda.</p>
</li>
<li>
<p>Untuk alasan kerahasiaan, tidak ada satupun yang dapat melihat Foto Profil anda hingga anda menulis
sebuah pesan kepada mereka.</p>
</li>
</ul>
<h3 id="signature">
@@ -298,8 +305,7 @@ they will see it when they view your contact details.</p>
</li>
<li>
<p><strong>Archive chats</strong> if you do not want to see them in your chat list any longer.
They remain accessible above the chat list or via search
and are marked by <b style="border: 1px solid currentColor; padding: 0 3px; font-size:90%">Archived</b></p>
Archived chats remain accessible above the chat list or via search.</p>
</li>
<li>
<p>When an archived chat gets a new message, unless muted, it will <strong>pop out of the archive</strong> and back into your chat list.
@@ -334,7 +340,7 @@ By tapping <img style="vertical-align:middle; width:1.2em; margin:1px" src="../g
you can go back to the original message in the original chat</p>
</li>
<li>
<p>Finally, you can also use “Saved Messages” to take <strong>personal notes</strong> - open the chat, type something, add a photo or a voice message etc.</p>
<p>Finally, you can also use “Save Messages” to take <strong>personal notes</strong> - open the chat, type something, add a photo or a voice message etc.</p>
</li>
<li>
<p>As “Saved Message” are synced, they can become very handy for transferring data between devices</p>
@@ -371,18 +377,22 @@ and others will as well not always see that you are “online”.</p>
<ul>
<li>
<p><strong>One tick</strong> <img style="vertical-align:middle; width:1.5em; margin:1px" src="../tick1.png" alt="" />
means that the message was sent successfully to the <a href="#relays">relay</a>.</p>
means that the message was sent successfully to your provider.</p>
</li>
<li>
<p><strong>Two ticks</strong> <img style="vertical-align:middle; width:1.5em; margin:1px" src="../tick2.png" alt="" />
indicate your contact has read the message.</p>
mean that at least one recipients device
reported back to having received the message.</p>
</li>
<li>
<p>Recipients may have disabled read-receipts,
so even if you see only one tick, the message may have been read.</p>
</li>
<li>
<p>The other way round, two ticks do not automatically mean
that a human has read or understood the message ;)</p>
</li>
</ul>
<p>In <a href="#groups">groups</a> the second tick means that at least one member has reported back having read the message.</p>
<p>You will only get the second tick if both you and one of the recipients who read the message
has <strong>Settings → Chats → Read Receipts</strong> enabled.</p>
<h3 id="edit">
@@ -447,18 +457,19 @@ the (anyway encrypted) messages may take longer to get deleted from their server
<h3 id="delold">
What happens if I turn on “Delete Messages from Device”? <a href="#delold" class="anchor"></a>
What happens if I turn on “Delete old messages from device”? <a href="#delold" class="anchor"></a>
</h3>
<p>If you want to save storage on your device, you can choose to delete old
messages automatically.</p>
<p>To turn it on, go to <strong>Settings → Chats → Delete Message from Device</strong>.
You can set a timeframe between “after an hour” and “after a year”;
<ul>
<li>If you want to save storage on your device, you can choose to delete old
messages automatically.</li>
<li>To turn it on, go to “delete old messages from device” in the “Chats &amp; Media”
settings. You can set a timeframe between “after an hour” and “after a year”;
this way, <em>all</em> messages will be deleted from your device as soon as they are
older than that.</p>
older than that.</li>
</ul>
<h3 id="remove-account">
@@ -506,15 +517,9 @@ and <a href="#edit">delete their own messages</a> from all members devices.</
</h3>
<ul>
<li>
<p>Select <strong>New chat</strong> and then <strong>New group</strong> from the menu in the upper right corner or hit the corresponding button on Android/iOS.</p>
</li>
<li>
<p>On the following screen, select the <strong>group members</strong> and define a <strong>group name</strong>. You can also select a <strong>group avatar</strong>.</p>
</li>
<li>
<p>As soon as you write the <strong>first message</strong> in the group, all members are informed about the new group and can answer in the group (as long as you do not write a message in the group the group is invisible to the members).</p>
</li>
<li>Select <strong>New chat</strong> and then <strong>New group</strong> from the menu in the upper right corner or hit the corresponding button on Android/iOS.</li>
<li>On the following screen, select the <strong>group members</strong> and define a <strong>group name</strong>. You can also select a <strong>group avatar</strong>.</li>
<li>As soon as you write the <strong>first message</strong> in the group, all members are informed about the new group and can answer in the group (as long as you do not write a message in the group the group is invisible to the members).</li>
</ul>
<h3 id="addmembers">
@@ -525,10 +530,11 @@ and <a href="#edit">delete their own messages</a> from all members devices.</
</h3>
<p>All group members have the <strong>same rights</strong>.
For this reason, everyone can delete any member or add new ones.</p>
<ul>
<li>
<p>All group members have the <strong>same rights</strong>.
For this reason, everyone can delete any member or add new ones.</p>
</li>
<li>
<p>To <strong>add or delete members</strong>, tap the group name in the chat and select the member to add or remove.</p>
</li>
@@ -556,8 +562,10 @@ However, since groups are <a href="#groups">meant for trusted people</a>, avoid
</h3>
<p>As youre no longer a group member, you cannot add yourself again.
However, no problem, just ask any other group member in a normal chat to re-add you.</p>
<ul>
<li>As youre no longer a group member, you cannot add yourself again.
However, no problem, just ask any other group member in a normal chat to re-add you.</li>
</ul>
<h3 id="i-do-not-want-to-receive-the-messages-of-a-group-any-longer">
@@ -568,12 +576,15 @@ However, no problem, just ask any other group member in a normal chat to re-add
</h3>
<ul>
<li>Either delete yourself from the member list or delete the whole chat.
If you want to join the group again later on, ask another group member to add you again.</li>
</ul>
<p>As an alternative, you can also “Mute” a group - doing so means you get all messages and
<li>
<p>Either delete yourself from the member list or delete the whole chat.
If you want to join the group again later on, ask another group member to add you again.</p>
</li>
<li>
<p>As an alternative, you can also “Mute” a group - doing so means you get all messages and
can still write, but are no longer notified of any new messages.</p>
</li>
</ul>
<h3 id="cloning-a-group">
@@ -599,21 +610,6 @@ or right-click the group in the chat list (Desktop).</p>
<p>The new group is <strong>fully independent</strong> from the original,
which continues to work as before.</p>
<h3 id="how-many-members-can-participate-in-a-single-group">
How many members can participate in a single group? <a href="#how-many-members-can-participate-in-a-single-group" class="anchor"></a>
</h3>
<p>There is no strict technical limit,
but more than 150 is not recommended.</p>
<p>As groups get larger, they can become socially unstable and may need a hierarchy -
where Delta Chat is a private messenger for chatting with <a href="#groups">equal rights</a>.
See <a href="https://en.wikipedia.org/wiki/Dunbar%27s_number">Dunbars number</a> for more insights.</p>
<h2 id="webxdc">
@@ -902,7 +898,7 @@ One device is not needed for the other to work.</p>
<p>Double-check both devices are in the <strong>same Wi-Fi or network</strong></p>
</li>
<li>
<p>On <strong>Windows</strong>, go to Control Panel / Network and Internet
<p>On <strong>Windows</strong>, go to <strong>Control Panel / Network and Internet</strong>
and make sure, <strong>Private Network</strong> is selected as “Network profile type”
(after transfer, you can change back to the original value)</p>
</li>
@@ -997,10 +993,10 @@ or the AppImage for Linux. You can find them on
</h2>
<h3 id="experiments">
<h3 id="experimental-features">
Experimental Features <a href="#experiments" class="anchor"></a>
Experimental Features <a href="#experimental-features" class="anchor"></a>
</h3>
@@ -1036,7 +1032,7 @@ you can configure relays at At <strong>Settings → Advanced → Relays</strong>
<li>
<p>You can <strong>add</strong> a relay by scanning its QR code;
<a href="https://chatmail.at/relays">https://chatmail.at/relays</a> shows some known ones.
If you have multiple relays, you will receive messages on all of them.</p>
If you have multiple relays, your will receive messages on all of them.</p>
</li>
<li>
<p>The <strong>default</strong> defines the one where your chat partners send future messages to.</p>
@@ -1159,7 +1155,9 @@ weekly statistics will be automatically sent to a bot.</p>
</h3>
<p>See <a href="https://github.com/chatmail/core/blob/main/standards.md#standards-used-in-delta-chat">Standards used in Delta Chat</a>.</p>
<ul>
<li>See <a href="https://github.com/chatmail/core/blob/main/standards.md#standards-used-in-delta-chat">Standards used in Delta Chat</a>.</li>
</ul>
<h2 id="e2ee">
@@ -1398,32 +1396,6 @@ with the knowledge that all their data, along with all metadata, will be deleted
Moreover, if a device is seized then chat contacts using short-lived profiles
can not be identified easily.</p>
<h3 id="who-sees-my-ip-address">
Who sees my IP Address? <a href="#who-sees-my-ip-address" class="anchor"></a>
</h3>
<p>The used <a href="#relays">relay</a> needs to know your IP Address,
as well as sometimes your contacts devices if you have a <a href="#experiments">call</a>
or use <a href="#webxdc">apps</a> together.</p>
<p>IP Addresses are needed for connectivity and efficiency.
They are neither persisted nor exposed.
Note that the IP Address
is not like a detailed address you give to a delivery service,
but much more coarse, often defining region or country only.</p>
<p>As this is just how the internet and other messengers work by default,
we do not offer options here or ask upfront questions.</p>
<p>If you see your IP Address as a security or privacy risk,
we recommend to use a VPN, in combination with system lockdown mode.
Hunting down options in all apps on your system will leave gaps.
For example, tapping a link exposes IP Addresses to unknown parties and is the by far larger risk here.</p>
<h3 id="sealedsender">
+66 -87
View File
@@ -26,7 +26,6 @@
<li><a href="#mi-sono-cancellato-per-sbaglio">Mi sono cancellato per sbaglio.</a></li>
<li><a href="#non-desidero-più-ricevere-i-messaggi-di-un-gruppo">Non desidero più ricevere i messaggi di un gruppo.</a></li>
<li><a href="#clonazione-di-un-gruppo">Clonazione di un gruppo</a></li>
<li><a href="#quanti-membri-possono-partecipare-a-un-singolo-gruppo">Quanti membri possono partecipare a un singolo gruppo?</a></li>
</ul>
</li>
<li><a href="#webxdc">Apps in chat</a>
@@ -55,7 +54,7 @@
</li>
<li><a href="#avanzato">Avanzato</a>
<ul>
<li><a href="#experiments">Funzionalità Sperimentali</a></li>
<li><a href="#funzionalità-sperimentali">Funzionalità Sperimentali</a></li>
<li><a href="#relays">Cosa sono i ripetitori?</a></li>
<li><a href="#posso-usare-un-indirizzo-email-classico-con-delta-chat">Posso usare un indirizzo email classico con Delta Chat?</a></li>
<li><a href="#classic-email">Come posso configurare un profilo chat con un indirizzo email classico come inoltro?</a></li>
@@ -77,7 +76,6 @@
<li><a href="#tls">I messaggi contrassegnati dallicona della posta sono esposti su Internet?</a></li>
<li><a href="#message-metadata">In che modo Delta Chat protegge i metadati nei messaggi?</a></li>
<li><a href="#device-seizure">Come proteggere i metadati e contatti quando un dispositivo viene sequestrato?</a></li>
<li><a href="#chi-vede-il-mio-indirizzo-ip">Chi vede il mio Indirizzo IP?</a></li>
<li><a href="#sealedsender">Delta Chat supporta “Mittente Sigillato”?</a></li>
<li><a href="#pfs">Delta Chat supporta Perfect Forward Secrecy?</a></li>
<li><a href="#pqc">Delta Chat supporta la Crittografia Post-Quantistica?</a></li>
@@ -187,7 +185,7 @@ Se vi aggiungete a vicenda a <a href="#groups">gruppi</a>, la crittografia end-t
<p>Essendo un messenger privato,
solo gli amici e i familiari con cui <a href="#howtoe2ee">condividi il tuo codice QR o il link di invito</a> possono scriverti.</p>
<p>I tuoi amici potrebbero condividere i tuoi contatti con altri amici; ciò apparirà come una <b style="border: 1px solid currentColor; padding: 0 3px; font-size:90%">Richiesta</b></p>
<p>I tuoi amici potrebbero condividere i tuoi contatti con altri amici; ciò apparirà come una <strong>richiesta</strong>.</p>
<ul>
<li>
@@ -225,10 +223,15 @@ e potrà toccarla per iniziare a chattare con il primo contatto.</p>
</h3>
<p>Sì. Immagini, video, files, messaggi vocali ecc. possono essere inviati utilizzando <img style="vertical-align:middle; width:1.0em; margin:1px" src="../paperclip.png" alt="Paperclip" /> <strong>Allegato-</strong>
<ul>
<li>
<p>Sì. Immagini, video, files, messaggi vocali ecc. possono essere inviati utilizzando <img style="vertical-align:middle; width:1.0em; margin:1px" src="../paperclip.png" alt="Paperclip" /> <strong>Allegato-</strong>
o <img style="vertical-align:middle; width:0.8em; margin:1px" src="../mic.png" alt="Microphone" /> pulsanti <strong>Messaggio Vocale</strong></p>
<p>Per le prestazioni, le immagini sono ottimizzate e inviate in dimensioni inferiori per impostazione predefinita, ma è possibile inviarle come “file” per preservare loriginale.</p>
</li>
<li>
<p>Per le prestazioni, le immagini sono ottimizzate e inviate in dimensioni inferiori per impostazione predefinita, ma è possibile inviarle come “file” per preservare loriginale.</p>
</li>
</ul>
<h3 id="multiple-accounts">
@@ -259,11 +262,16 @@ o <strong>Cambiare Profili</strong>.</p>
</h3>
<p>Puoi aggiungere unimmagine del profilo nelle tue impostazioni. Se scrivi ai tuoi contatti
<ul>
<li>
<p>Puoi aggiungere unimmagine del profilo nelle tue impostazioni. Se scrivi ai tuoi contatti
o li aggiungi tramite codice QR, la vedranno automaticamente come immagine del tuo profilo.</p>
<p>Per motivi di privacy, nessuno vede la tua immagine del profilo finché non scrivi un
</li>
<li>
<p>Per motivi di privacy, nessuno vede la tua immagine del profilo finché non scrivi un
messaggio a loro.</p>
</li>
</ul>
<h3 id="signature">
@@ -296,7 +304,8 @@ lo vedrà quando visualizzerà i tuoi dati di contatto.</p>
<p><strong>Silenzia chat</strong> se non vuoi ricevere notifiche da queste. Le chat silenziate restano al loro posto e puoi anche fissare una chat silenziata.</p>
</li>
<li>
<p><strong>Archivia chats</strong> se non vuoi più vederle nel tuo elenco chat. Le chat archiviate rimangono accessibili sopra lelenco delle chat o tramite la ricerca.</p>
<p><strong>Archivia chats</strong> se non vuoi più vederle nel tuo elenco chat.
Le chat archiviate rimangono accessibili sopra lelenco delle chat o tramite la ricerca.</p>
</li>
<li>
<p>Quando una chat archiviata riceve un nuovo messaggio, a meno che non sia silenziata, <strong>salterà fuori dallarchivio</strong> e tornerà nellelenco delle chat.
@@ -368,19 +377,23 @@ e anche gli altri non sempre vedranno che sei “online”.</p>
<ul>
<li>
<p><strong>Una spunta</strong> <img style="vertical-align:middle; width:1.5em; margin:1px" src="../tick1.png" alt="" />
significa che il messaggio è stato inviato correttamente al <a href="#relays">ripetitore</a>.</p>
<p><strong>Un segno di spunta</strong> <img style="vertical-align:middle; width:1.5em; margin:1px" src="../tick1.png" alt="" />
significa che il messaggio è stato inviato correttamente al tuo fornitore.</p>
</li>
<li>
<p><strong>Due spunte</strong> <img style="vertical-align:middle; width:1.5em; margin:1px" src="../tick2.png" alt="" />
indica che il tuo contatto ha letto il messaggio.</p>
<p><strong>Due spunte</strong> <img style="vertical-align:middle; width:1.5em; margin:1px" src="../tick2.png" alt="" />
significa che almeno il dispositivo di un destinatario
ha segnalato di aver ricevuto il messaggio.</p>
</li>
<li>
<p>I destinatari potrebbero aver disattivato le conferme di lettura,
quindi anche se vedi solo un segno di spunta, il messaggio potrebbe essere stato letto.</p>
</li>
<li>
<p>Al contrario, due spunte non significano automaticamente
che un essere umano abbia letto o compreso il messaggio ;)</p>
</li>
</ul>
<p>In <a href="#groups">gruppi</a> il secondo segno di spunta significa che almeno un membro ha segnalato di aver letto il messaggio.</p>
<p>Riceverai la seconda spunta solo se sia tu che uno dei destinatari che hanno letto il messaggio
avete abilitato <strong>Impostazioni → Chat → Conferme di Lettura</strong>.</p>
<h3 id="edit">
@@ -449,9 +462,14 @@ i messaggi (comunque crittografati) potrebbero richiedere più tempo per essere
</h3>
<p>Se si desidera risparmiare spazio sul dispositivo, è possibile scegliere di eliminare i vecchi messaggi automaticamente.</p>
<p>Per attivarla, andare su “Elimina Messaggi dal Dispositivo” nelle impostazioni di “Chat e Media”. È possibile impostare un intervallo di tempo compreso tra “Dopo 1 ora” e “Dopo 1 anno”; in questo modo, <em>tutti</em> i messaggi saranno eliminati dal dispositivo non appena saranno più vecchi di quel periodo.</p>
<ul>
<li>Se si desidera risparmiare spazio sul dispositivo, è possibile scegliere di eliminare i vecchi
messaggi automaticamente.</li>
<li>Per attivarla, andare su “Elimina Messaggi dal Dispositivo” nelle impostazioni di “Chat e Media”.
È possibile impostare un intervallo di tempo compreso tra “Dopo 1 ora” e “Dopo 1 anno”;
in questo modo, <em>tutti</em> i messaggi saranno eliminati dal dispositivo non appena saranno
più vecchi di quel periodo.</li>
</ul>
<h3 id="remove-account">
@@ -499,15 +517,9 @@ ed <a href="#edit">eliminare i propri messaggi</a> dai dispositivi di tutti i me
</h3>
<ul>
<li>
<p>Seleziona <strong>Nuova chat</strong> e poi <strong>Nuovo gruppo</strong> dal menu nellangolo in alto a destra o premi il pulsante corrispondente su Android/iOS.</p>
</li>
<li>
<p>Nella schermata successiva, seleziona i <strong>membri del gruppo</strong> e definisci un <strong>nome del gruppo</strong>. Puoi anche selezionare un <strong>avatar di gruppo</strong>.</p>
</li>
<li>
<p>Non appena scrivi il <strong>primo messaggio</strong> nel gruppo, tutti i membri vengono informati del nuovo gruppo e possono rispondere nel gruppo (finché non scrivi un messaggio nel gruppo il gruppo è invisibile ai membri).</p>
</li>
<li>Seleziona <strong>Nuova chat</strong> e poi <strong>Nuovo gruppo</strong> dal menu nellangolo in alto a destra o premi il pulsante corrispondente su Android/iOS.</li>
<li>Nella schermata successiva, seleziona i <strong>membri del gruppo</strong> e definisci un <strong>nome del gruppo</strong>. Puoi anche selezionare un <strong>avatar di gruppo</strong>.</li>
<li>Non appena scrivi il <strong>primo messaggio</strong> nel gruppo, tutti i membri vengono informati del nuovo gruppo e possono rispondere nel gruppo (finché non scrivi un messaggio nel gruppo il gruppo è invisibile ai membri).</li>
</ul>
<h3 id="addmembers">
@@ -518,10 +530,11 @@ ed <a href="#edit">eliminare i propri messaggi</a> dai dispositivi di tutti i me
</h3>
<p>Tutti i membri del gruppo hanno gli <strong>stessi diritti</strong>.
Per questo motivo, tutti possono eliminare qualsiasi membro o aggiungerne di nuovi.</p>
<ul>
<li>
<p>Tutti i membri del gruppo hanno gli <strong>stessi diritti</strong>.
Per questo motivo, tutti possono eliminare qualsiasi membro o aggiungerne di nuovi.</p>
</li>
<li>
<p>Per <strong>aggiungere o eliminare membri</strong>, tocca il nome del gruppo nella chat e seleziona il membro da aggiungere o rimuovere.</p>
</li>
@@ -549,8 +562,10 @@ Tuttavia, poiché i gruppi sono <a href="#groups">destinati a persone fidate</a>
</h3>
<p>Poiché non sei più un membro del gruppo, non puoi aggiungerti di nuovo.
Tuttavia, nessun problema, chiedi a qualsiasi altro membro del gruppo in una normale chat di aggiungerti nuovamente.</p>
<ul>
<li>Poiché non sei più un membro del gruppo, non puoi aggiungerti di nuovo.
Tuttavia, nessun problema, chiedi a qualsiasi altro membro del gruppo in una normale chat di aggiungerti nuovamente.</li>
</ul>
<h3 id="non-desidero-più-ricevere-i-messaggi-di-un-gruppo">
@@ -561,12 +576,15 @@ Tuttavia, nessun problema, chiedi a qualsiasi altro membro del gruppo in una nor
</h3>
<ul>
<li>Elimina te stesso dallelenco dei membri o elimina lintera chat.
Se vuoi unirti di nuovo al gruppo in un secondo momento, chiedi a un altro membro del gruppo di aggiungerti di nuovo.</li>
</ul>
<p>In alternativa, puoi anche “Silenziare” un gruppo - così facendo riceverai tutti i messaggi e
<li>
<p>Elimina te stesso dallelenco dei membri o elimina lintera chat.
Se vuoi unirti di nuovo al gruppo in un secondo momento, chiedi a un altro membro del gruppo di aggiungerti di nuovo.</p>
</li>
<li>
<p>In alternativa, puoi anche “Silenziare” un gruppo - così facendo riceverai tutti i messaggi e
puoi ancora scrivere, ma non viene più notificato alcun nuovo messaggio.</p>
</li>
</ul>
<h3 id="clonazione-di-un-gruppo">
@@ -592,21 +610,6 @@ oppure fai clic con il pulsante destro del mouse sul gruppo nellelenco delle
<p>Il nuovo gruppo è <strong>completamente indipendente</strong> dalloriginale,
che continua a funzionare come prima.</p>
<h3 id="quanti-membri-possono-partecipare-a-un-singolo-gruppo">
Quanti membri possono partecipare a un singolo gruppo? <a href="#quanti-membri-possono-partecipare-a-un-singolo-gruppo" class="anchor"></a>
</h3>
<p>Non esiste un limite tecnico preciso,
ma non è consigliabile superare i 150.</p>
<p>Man mano che i gruppi diventano più grandi, possono diventare socialmente instabili e potrebbero aver bisogno di una gerarchia,
dove Delta Chat è un servizio di messaggistica privato per chattare con <a href="#groups">uguali diritti</a>.
Vedi <a href="https://en.wikipedia.org/wiki/Dunbar%27s_number">numero di Dunbar</a> per ulteriori approfondimenti.</p>
<h2 id="webxdc">
@@ -894,7 +897,7 @@ Un dispositivo non è necessario perché laltro funzioni.</p>
<p>Verificare che entrambi i dispositivi siano nella <strong>stessa rete o Wi-Fi</strong>.</p>
</li>
<li>
<p>Su <strong>Windows</strong>, vai su Pannello di controllo / Rete e Internet
<p>Su <strong>Windows</strong>, vai su <strong>Pannello di controllo / Rete e Internet</strong>
e assicurati che <strong>Rete Privata</strong> sia selezionata come “Tipo di profilo di rete”
(dopo il trasferimento è possibile ripristinare il valore originale)</p>
</li>
@@ -984,10 +987,10 @@ o lAppImage per Linux. Le trovi su
</h2>
<h3 id="experiments">
<h3 id="funzionalità-sperimentali">
Funzionalità Sperimentali <a href="#experiments" class="anchor"></a>
Funzionalità Sperimentali <a href="#funzionalità-sperimentali" class="anchor"></a>
</h3>
@@ -1144,7 +1147,9 @@ statistiche settimanali verranno inviate automaticamente a un bot.</p>
</h3>
<p>Vedi <a href="https://github.com/chatmail/core/blob/main/standards.md#standards-used-in-delta-chat">Standard usati in Delta Chat</a>.</p>
<ul>
<li>Vedi <a href="https://github.com/chatmail/core/blob/main/standards.md#standards-used-in-delta-chat">Standard usati in Delta Chat</a>.</li>
</ul>
<h2 id="e2ee">
@@ -1381,32 +1386,6 @@ con la consapevolezza che tutti i loro dati, insieme a tutti i metadati, verrann
Inoltre, se un dispositivo viene sequestrato, i contatti di chat che utilizzano profili di breve durata
non possono essere identificati facilmente.</p>
<h3 id="chi-vede-il-mio-indirizzo-ip">
Chi vede il mio Indirizzo IP? <a href="#chi-vede-il-mio-indirizzo-ip" class="anchor"></a>
</h3>
<p>Il <a href="#relays">ripetitore</a> utilizzato deve conoscere il tuo indirizzo IP,
e talvolta anche i dispositivi dei tuoi contatti se avete una <a href="#experiments">chiamata</a>
o utilizzate <a href="#webxdc">apps</a> insieme.</p>
<p>Gli indirizzi IP sono necessari per la connettività e lefficienza.
Non sono né persistenti né esposti.
Si noti che lindirizzo IP
non è come un indirizzo dettagliato che si fornisce a un servizio di consegna,
ma molto più generico, che spesso definisce solo la regione o il paese.</p>
<p>Poiché questo è il modo in cui Internet e altri servizi di messaggistica funzionano di default,
non offriamo opzioni né poniamo domande in anticipo.</p>
<p>Se ritieni che il tuo indirizzo IP rappresenti un rischio per la sicurezza o la privacy,
ti consigliamo di utilizzare una VPN, in combinazione con la modalità di blocco del sistema.
Esplorare le opzioni in tutte le app del tuo sistema lascerà delle lacune.
Ad esempio, cliccare su un link espone gli indirizzi IP a sconosciuti e rappresenta il rischio di gran lunga maggiore.</p>
<h3 id="sealedsender">
+66 -90
View File
@@ -26,7 +26,6 @@
<li><a href="#ik-heb-mezelf-per-ongeluk-verwijderd">Ik heb mezelf per ongeluk verwijderd</a></li>
<li><a href="#ik-wil-geen-groepsberichten-meer-ontvangen">Ik wil geen groepsberichten meer ontvangen</a></li>
<li><a href="#cloning-a-group">Cloning a group</a></li>
<li><a href="#how-many-members-can-participate-in-a-single-group">How many members can participate in a single group?</a></li>
</ul>
</li>
<li><a href="#webxdc">In-chat apps</a>
@@ -55,7 +54,7 @@
</li>
<li><a href="#advanced">Advanced</a>
<ul>
<li><a href="#experiments">Experimental Features</a></li>
<li><a href="#experimental-features">Experimental Features</a></li>
<li><a href="#relays">What are Relays?</a></li>
<li><a href="#can-i-use-a-classic-email-address-with-delta-chat">Can I use a classic email address with Delta Chat?</a></li>
<li><a href="#classic-email">How can I configure a chat profile with a classic email address as relay?</a></li>
@@ -77,7 +76,6 @@
<li><a href="#tls">Are messages marked with the mail icon exposed on the Internet?</a></li>
<li><a href="#message-metadata">How does Delta Chat protect metadata in messages?</a></li>
<li><a href="#device-seizure">How to protect metadata and contacts when a device is seized?</a></li>
<li><a href="#who-sees-my-ip-address">Who sees my IP Address?</a></li>
<li><a href="#sealedsender">Does Delta Chat support “Sealed Sender”?</a></li>
<li><a href="#pfs">Does Delta Chat support Perfect Forward Secrecy?</a></li>
<li><a href="#pqc">Does Delta Chat support Post-Quantum-Cryptography?</a></li>
@@ -187,8 +185,7 @@ If you add each other to <a href="#groups">groups</a>, end-to-end encryption wil
<p>As being a private messenger,
only friends and family you <a href="#howtoe2ee">share your QR code or invite link with</a> can write to you.</p>
<p>Your friends may share your contact with other friends,
this appears as <b style="border: 1px solid currentColor; padding: 0 3px; font-size:90%">Request</b></p>
<p>Your friends may share your contact with other friends, this appears as a <strong>request</strong>.</p>
<ul>
<li>
@@ -226,10 +223,15 @@ and can tap it to start chatting with the first contact.</p>
</h3>
<p>Yes. Images, videos, files, voice messages etc. can be sent using the <img style="vertical-align:middle; width:1.0em; margin:1px" src="../paperclip.png" alt="Paperclip" /> <strong>Attachment-</strong>
<ul>
<li>
<p>Yes. Images, videos, files, voice messages etc. can be sent using the <img style="vertical-align:middle; width:1.0em; margin:1px" src="../paperclip.png" alt="Paperclip" /> <strong>Attachment-</strong>
or <img style="vertical-align:middle; width:0.8em; margin:1px" src="../mic.png" alt="Microphone" /> <strong>Voice Message</strong> buttons</p>
<p>Om de prestaties te verhogen, worden afbeeldingen standaard geoptimaliseerd en verkleind verstuurd, maar je kunt ze als een bestand verzenden om het origineel te sturen.</p>
</li>
<li>
<p>Om de prestaties te verhogen, worden afbeeldingen standaard geoptimaliseerd en verkleind verstuurd, maar je kunt ze als een bestand verzenden om het origineel te sturen.</p>
</li>
</ul>
<h3 id="multiple-accounts">
@@ -260,11 +262,16 @@ or to <strong>Switch Profiles</strong>.</p>
</h3>
<p>In de instellingen kun je een profielfoto toevoegen. Als je een bericht stuurt aan
je contactpersonen of ze toevoegt middels hun QR-code, dan krijgen ze je profielfoto te zien.</p>
<p>Omwille van je privacy, krijgen anderen je profielfoto pas te zien
als je ze een bericht stuurt.</p>
<ul>
<li>
<p>In de instellingen kun je een profielfoto toevoegen. Als je een bericht stuurt aan
je contactpersonen of ze toevoegt middels hun QR-code, dan krijgen ze je profielfoto te zien.</p>
</li>
<li>
<p>Omwille van je privacy, krijgen anderen je profielfoto pas te zien
als je ze een bericht stuurt.</p>
</li>
</ul>
<h3 id="signature">
@@ -297,7 +304,8 @@ they will see it when they view your contact details.</p>
<p>Stel gesprekken in op <strong>Negeren</strong> als je geen meldingen meer wilt ontvangen. Wel blijven genegeerde gesprekken op de lijst staan en kun je ze te allen tijde vastmaken.</p>
</li>
<li>
<p><strong>Archiveer gesprekken</strong> als je ze niet meer op de gesprekslijst wilt zien. Gearchiveerde gesprekken zijn te allen tijde te bekijken boven de lijst of via een zoekopdracht.</p>
<p><strong>Archiveer gesprekken</strong> als je ze niet meer op de gesprekslijst wilt zien.
Gearchiveerde gesprekken zijn te allen tijde te bekijken boven de lijst of via een zoekopdracht.</p>
</li>
<li>
<p>Als er een nieuw bericht in een gearchiveerd gesprek wordt ontvangen, dan wordt het gesprek in kwestie <strong>ge-dearchiveerd</strong> en dus weer op de gesprekslijst geplaatst.
@@ -333,7 +341,7 @@ By tapping <img style="vertical-align:middle; width:1.2em; margin:1px" src="../g
you can go back to the original message in the original chat</p>
</li>
<li>
<p>Finally, you can also use “Saved Messages” to take <strong>personal notes</strong> - open the chat, type something, add a photo or a voice message etc.</p>
<p>Finally, you can also use “Save Messages” to take <strong>personal notes</strong> - open the chat, type something, add a photo or a voice message etc.</p>
</li>
<li>
<p>As “Saved Message” are synced, they can become very handy for transferring data between devices</p>
@@ -370,18 +378,22 @@ and others will as well not always see that you are “online”.</p>
<ul>
<li>
<p><strong>One tick</strong> <img style="vertical-align:middle; width:1.5em; margin:1px" src="../tick1.png" alt="" />
means that the message was sent successfully to the <a href="#relays">relay</a>.</p>
means that the message was sent successfully to your provider.</p>
</li>
<li>
<p><strong>Two ticks</strong> <img style="vertical-align:middle; width:1.5em; margin:1px" src="../tick2.png" alt="" />
indicate your contact has read the message.</p>
mean that at least one recipients device
reported back to having received the message.</p>
</li>
<li>
<p>Recipients may have disabled read-receipts,
so even if you see only one tick, the message may have been read.</p>
</li>
<li>
<p>The other way round, two ticks do not automatically mean
that a human has read or understood the message ;)</p>
</li>
</ul>
<p>In <a href="#groups">groups</a> the second tick means that at least one member has reported back having read the message.</p>
<p>You will only get the second tick if both you and one of the recipients who read the message
has <strong>Settings → Chats → Read Receipts</strong> enabled.</p>
<h3 id="edit">
@@ -451,9 +463,12 @@ the (anyway encrypted) messages may take longer to get deleted from their server
</h3>
<p>Als je ruimte wilt besparen op je apparaat, dan kun je er voor kiezen om oude berichten automatisch te verwijderen.</p>
<p>Inschakelen kan via de sectie Gesprekken en media in de instellingen. Je kunt een periode tussen na één uur en na één jaar kiezen. <em>Alle</em> berichten die ouder zijn, worden verwijderd.</p>
<ul>
<li>Als je ruimte wilt besparen op je apparaat, dan kun je er voor kiezen om oude
berichten automatisch te verwijderen.</li>
<li>Inschakelen kan via de sectie Gesprekken en media in de instellingen. Je kunt een periode tussen
na één uur en na één jaar kiezen. *Alle berichten die ouder zijn, worden verwijderd.</li>
</ul>
<h3 id="remove-account">
@@ -501,15 +516,9 @@ and <a href="#edit">delete their own messages</a> from all members devices.</
</h3>
<ul>
<li>
<p>Open het menu met de drie puntjes rechtsboven in het gespreksoverzicht, kies <strong>Nieuw gesprek</strong> en daarna <strong>Nieuwe groep</strong>.</p>
</li>
<li>
<p>Kies dan de <strong>groepsleden</strong> en druk op het vinkje rechtsboven. Daarna kun je een <strong>groepsnaam</strong> opgeven.</p>
</li>
<li>
<p>Zodra je het <strong>eerste groepsbericht</strong> hebt verstuurd, worden alle deelnemers op de hoogte gebracht en kunnen zij antwoorden versturen (de groep blijft onzichtbaar voor anderen zolang jij geen bericht verstuurt).</p>
</li>
<li>Open het menu met de drie puntjes rechtsboven in het gespreksoverzicht, kies <strong>Nieuw gesprek</strong> en daarna <strong>Nieuwe groep</strong>.</li>
<li>Kies dan de <strong>groepsleden</strong> en druk op het vinkje rechtsboven. Daarna kun je een <strong>groepsnaam</strong> opgeven.</li>
<li>Zodra je het <strong>eerste groepsbericht</strong> hebt verstuurd, worden alle deelnemers op de hoogte gebracht en kunnen zij antwoorden versturen (de groep blijft onzichtbaar voor anderen zolang jij geen bericht verstuurt).</li>
</ul>
<h3 id="addmembers">
@@ -520,10 +529,11 @@ and <a href="#edit">delete their own messages</a> from all members devices.</
</h3>
<p>All group members have the <strong>same rights</strong>.
For this reason, everyone can delete any member or add new ones.</p>
<ul>
<li>
<p>All group members have the <strong>same rights</strong>.
For this reason, everyone can delete any member or add new ones.</p>
</li>
<li>
<p>To <strong>add or delete members</strong>, tap the group name in the chat and select the member to add or remove.</p>
</li>
@@ -551,8 +561,10 @@ However, since groups are <a href="#groups">meant for trusted people</a>, avoid
</h3>
<p>Je neemt geen deel meer aan de groep en kunt jezelf dus niet meer toevoegen.
Vraag iemand via een één-op-ééngesprek of hij/zij je weer wilt toevoegen.</p>
<ul>
<li>Je neemt geen deel meer aan de groep en kunt jezelf dus niet meer toevoegen.
Vraag iemand via een één-op-ééngesprek of hij/zij je weer wilt toevoegen.</li>
</ul>
<h3 id="ik-wil-geen-groepsberichten-meer-ontvangen">
@@ -563,12 +575,15 @@ However, since groups are <a href="#groups">meant for trusted people</a>, avoid
</h3>
<ul>
<li>Verwijder jezelf van de groepslijst of verwijder het hele groepsgesprek.
Als je later weer wilt deelnemen, vraag dan iemand anders of hij/zij je weer wilt toevoegen.</li>
<li>
<p>Verwijder jezelf van de groepslijst of verwijder het hele groepsgesprek.
Als je later weer wilt deelnemen, vraag dan iemand anders of hij/zij je weer wilt toevoegen.</p>
</li>
<li>
<p>Wat ook kan doen is groepsmeldingen uitschakelen. Zo blijf je in de groep, maar ontvang je
geen meldingen meer als er nieuwe berichten zijn.</p>
</li>
</ul>
<p>Wat ook kan doen is groepsmeldingen uitschakelen. Zo blijf je in de groep, maar ontvang je
geen meldingen meer als er nieuwe berichten zijn.</p>
<h3 id="cloning-a-group">
@@ -594,21 +609,6 @@ or right-click the group in the chat list (Desktop).</p>
<p>The new group is <strong>fully independent</strong> from the original,
which continues to work as before.</p>
<h3 id="how-many-members-can-participate-in-a-single-group">
How many members can participate in a single group? <a href="#how-many-members-can-participate-in-a-single-group" class="anchor"></a>
</h3>
<p>There is no strict technical limit,
but more than 150 is not recommended.</p>
<p>As groups get larger, they can become socially unstable and may need a hierarchy -
where Delta Chat is a private messenger for chatting with <a href="#groups">equal rights</a>.
See <a href="https://en.wikipedia.org/wiki/Dunbar%27s_number">Dunbars number</a> for more insights.</p>
<h2 id="webxdc">
@@ -896,7 +896,7 @@ op beide apparaten</strong>. Hierdoor hoef je niet het ene apparaat bij de hand
<p>Controleer of beide apparaten verbonden zijn met <strong>hetzelfde (wifi)netwerk</strong></p>
</li>
<li>
<p>On <strong>Windows</strong>, go to Control Panel / Network and Internet
<p>On <strong>Windows</strong>, go to <strong>Control Panel / Network and Internet</strong>
and make sure, <strong>Private Network</strong> is selected as “Network profile type”
(after transfer, you can change back to the original value)</p>
</li>
@@ -991,10 +991,10 @@ of de AppImage van de Linux-client. Deze kun je downloaden op
</h2>
<h3 id="experiments">
<h3 id="experimental-features">
Experimental Features <a href="#experiments" class="anchor"></a>
Experimental Features <a href="#experimental-features" class="anchor"></a>
</h3>
@@ -1030,7 +1030,7 @@ you can configure relays at At <strong>Settings → Advanced → Relays</strong>
<li>
<p>You can <strong>add</strong> a relay by scanning its QR code;
<a href="https://chatmail.at/relays">https://chatmail.at/relays</a> shows some known ones.
If you have multiple relays, you will receive messages on all of them.</p>
If you have multiple relays, your will receive messages on all of them.</p>
</li>
<li>
<p>The <strong>default</strong> defines the one where your chat partners send future messages to.</p>
@@ -1153,7 +1153,9 @@ weekly statistics will be automatically sent to a bot.</p>
</h3>
<p>Bekijk de pagina <a href="https://github.com/chatmail/core/blob/main/standards.md#standards-used-in-delta-chat">Door Delta Chat gebruikte standaarden</a>.</p>
<ul>
<li>Bekijk de pagina <a href="https://github.com/chatmail/core/blob/main/standards.md#standards-used-in-delta-chat">Door Delta Chat gebruikte standaarden</a>.</li>
</ul>
<h2 id="e2ee">
@@ -1392,32 +1394,6 @@ with the knowledge that all their data, along with all metadata, will be deleted
Moreover, if a device is seized then chat contacts using short-lived profiles
can not be identified easily.</p>
<h3 id="who-sees-my-ip-address">
Who sees my IP Address? <a href="#who-sees-my-ip-address" class="anchor"></a>
</h3>
<p>The used <a href="#relays">relay</a> needs to know your IP Address,
as well as sometimes your contacts devices if you have a <a href="#experiments">call</a>
or use <a href="#webxdc">apps</a> together.</p>
<p>IP Addresses are needed for connectivity and efficiency.
They are neither persisted nor exposed.
Note that the IP Address
is not like a detailed address you give to a delivery service,
but much more coarse, often defining region or country only.</p>
<p>As this is just how the internet and other messengers work by default,
we do not offer options here or ask upfront questions.</p>
<p>If you see your IP Address as a security or privacy risk,
we recommend to use a VPN, in combination with system lockdown mode.
Hunting down options in all apps on your system will leave gaps.
For example, tapping a link exposes IP Addresses to unknown parties and is the by far larger risk here.</p>
<h3 id="sealedsender">
+59 -86
View File
@@ -26,7 +26,6 @@
<li><a href="#usunąłem-się-przez-przypadek">Usunąłem się przez przypadek.</a></li>
<li><a href="#nie-chcę-już-otrzymywać-wiadomości-od-grupy">Nie chcę już otrzymywać wiadomości od grupy.</a></li>
<li><a href="#cloning-a-group">Cloning a group</a></li>
<li><a href="#how-many-members-can-participate-in-a-single-group">How many members can participate in a single group?</a></li>
</ul>
</li>
<li><a href="#webxdc">In-chat apps</a>
@@ -55,7 +54,7 @@
</li>
<li><a href="#zaawansowane">Zaawansowane</a>
<ul>
<li><a href="#experiments">Experimental Features</a></li>
<li><a href="#experimental-features">Experimental Features</a></li>
<li><a href="#relays">What are Relays?</a></li>
<li><a href="#can-i-use-a-classic-email-address-with-delta-chat">Can I use a classic email address with Delta Chat?</a></li>
<li><a href="#classic-email">How can I configure a chat profile with a classic email address as relay?</a></li>
@@ -77,7 +76,6 @@
<li><a href="#tls">Czy wiadomości oznaczone ikoną poczty są widoczne w internecie?</a></li>
<li><a href="#message-metadata">W jaki sposób Delta Chat chroni metadane w wiadomościach?</a></li>
<li><a href="#device-seizure">Jak chronić metadane i kontakty w przypadku przejęcia urządzenia?</a></li>
<li><a href="#who-sees-my-ip-address">Who sees my IP Address?</a></li>
<li><a href="#sealedsender">Czy Delta Chat obsługuje funkcję „Sealed Sender”?</a></li>
<li><a href="#pfs">Czy Delta Chat obsługuje funkcję Perfect Forward Secrecy?</a></li>
<li><a href="#pqc">Czy Delta Chat obsługuje kryptografię postkwantową?</a></li>
@@ -187,8 +185,7 @@ If you add each other to <a href="#groups">groups</a>, end-to-end encryption wil
<p>As being a private messenger,
only friends and family you <a href="#howtoe2ee">share your QR code or invite link with</a> can write to you.</p>
<p>Your friends may share your contact with other friends,
this appears as <b style="border: 1px solid currentColor; padding: 0 3px; font-size:90%">Request</b></p>
<p>Your friends may share your contact with other friends, this appears as a <strong>request</strong>.</p>
<ul>
<li>
@@ -224,10 +221,15 @@ and can tap it to start chatting with the first contact.</p>
</h3>
<p>Tak. Images, videos, files, voice messages etc. can be sent using the <img style="vertical-align:middle; width:1.0em; margin:1px" src="../paperclip.png" alt="Paperclip" /> <strong>Attachment-</strong>
<ul>
<li>
<p>Tak. Images, videos, files, voice messages etc. can be sent using the <img style="vertical-align:middle; width:1.0em; margin:1px" src="../paperclip.png" alt="Paperclip" /> <strong>Attachment-</strong>
or <img style="vertical-align:middle; width:0.8em; margin:1px" src="../mic.png" alt="Microphone" /> <strong>Voice Message</strong> buttons</p>
<p>Ze względu na wydajność obrazy są domyślnie optymalizowane i wysyłane w mniejszym rozmiarze, ale można je wysłać jako „plik”, aby zachować oryginał.</p>
</li>
<li>
<p>Ze względu na wydajność obrazy są domyślnie optymalizowane i wysyłane w mniejszym rozmiarze, ale można je wysłać jako „plik”, aby zachować oryginał.</p>
</li>
</ul>
<h3 id="multiple-accounts">
@@ -257,9 +259,14 @@ and uses the server only to relay messages.</p>
</h3>
<p>Możesz dodać zdjęcie profilowe w swoich ustawieniach. Jeśli napiszesz do swoich kontaktów lub dodasz je za pomocą kodu QR, automatycznie zobaczą je jako Twoje zdjęcie profilowe.</p>
<p>Ze względów prywatności nikt nie widzi Twojego zdjęcia profilowego, dopóki nie napiszesz do niego wiadomości.</p>
<ul>
<li>
<p>Możesz dodać zdjęcie profilowe w swoich ustawieniach. Jeśli napiszesz do swoich kontaktów lub dodasz je za pomocą kodu QR, automatycznie zobaczą je jako Twoje zdjęcie profilowe.</p>
</li>
<li>
<p>Ze względów prywatności nikt nie widzi Twojego zdjęcia profilowego, dopóki nie napiszesz do niego wiadomości.</p>
</li>
</ul>
<h3 id="signature">
@@ -359,18 +366,22 @@ and others will as well not always see that you are “online”.</p>
<ul>
<li>
<p><strong>One tick</strong> <img style="vertical-align:middle; width:1.5em; margin:1px" src="../tick1.png" alt="" />
means that the message was sent successfully to the <a href="#relays">relay</a>.</p>
means that the message was sent successfully to your provider.</p>
</li>
<li>
<p><strong>Two ticks</strong> <img style="vertical-align:middle; width:1.5em; margin:1px" src="../tick2.png" alt="" />
indicate your contact has read the message.</p>
mean that at least one recipients device
reported back to having received the message.</p>
</li>
<li>
<p>Recipients may have disabled read-receipts,
so even if you see only one tick, the message may have been read.</p>
</li>
<li>
<p>The other way round, two ticks do not automatically mean
that a human has read or understood the message ;)</p>
</li>
</ul>
<p>In <a href="#groups">groups</a> the second tick means that at least one member has reported back having read the message.</p>
<p>You will only get the second tick if both you and one of the recipients who read the message
has <strong>Settings → Chats → Read Receipts</strong> enabled.</p>
<h3 id="edit">
@@ -427,9 +438,10 @@ the (anyway encrypted) messages may take longer to get deleted from their server
</h3>
<p>Jeśli chcesz zaoszczędzić miejsce na urządzeniu, możesz wybrać opcję automatycznego usuwania starych wiadomości.</p>
<p>Aby ją włączyć, przejdź do „Usuń wiadomości z urządzenia” w ustawieniach w sekcji „Czaty i media”. Możesz ustawić przedział czasowy pomiędzy „po 1 godzinie” a „po 1 roku”; w ten sposób <em>wszystkie</em> wiadomości zostaną usunięte z urządzenia, gdy tylko staną się starsze.</p>
<ul>
<li>Jeśli chcesz zaoszczędzić miejsce na urządzeniu, możesz wybrać opcję automatycznego usuwania starych wiadomości.</li>
<li>Aby ją włączyć, przejdź do „Usuń wiadomości z urządzenia” w ustawieniach w sekcji „Czaty i media”. Możesz ustawić przedział czasowy pomiędzy „po 1 godzinie” a „po 1 roku”; w ten sposób <em>wszystkie</em> wiadomości zostaną usunięte z urządzenia, gdy tylko staną się starsze.</li>
</ul>
<h3 id="remove-account">
@@ -477,15 +489,9 @@ and <a href="#edit">delete their own messages</a> from all members devices.</
</h3>
<ul>
<li>
<p>Wybierz <strong>Nowy czat</strong>, a następnie <strong>Nowa grupa</strong> z menu w prawym górnym rogu lub naciśnij odpowiedni przycisk na Androidzie / iOS.</p>
</li>
<li>
<p>Na następnym ekranie wybierz <strong>członków grupy</strong> i zdefiniuj <strong>nazwę grupy</strong>. Możesz też wybrać awatar <strong>grupy</strong>.</p>
</li>
<li>
<p>Zaraz po napisaniu pierwszej wiadomości w grupie wszyscy członkowie zostaną poinformowani o nowej grupie i mogą odpowiedzieć w grupie (jeżeli nie napiszesz wiadomości w grupie, grupa jest niewidoczna dla członków).</p>
</li>
<li>Wybierz <strong>Nowy czat</strong>, a następnie <strong>Nowa grupa</strong> z menu w prawym górnym rogu lub naciśnij odpowiedni przycisk na Androidzie / iOS.</li>
<li>Na następnym ekranie wybierz <strong>członków grupy</strong> i zdefiniuj <strong>nazwę grupy</strong>. Możesz też wybrać awatar <strong>grupy</strong>.</li>
<li>Zaraz po napisaniu pierwszej wiadomości w grupie wszyscy członkowie zostaną poinformowani o nowej grupie i mogą odpowiedzieć w grupie (jeżeli nie napiszesz wiadomości w grupie, grupa jest niewidoczna dla członków).</li>
</ul>
<h3 id="addmembers">
@@ -496,10 +502,11 @@ and <a href="#edit">delete their own messages</a> from all members devices.</
</h3>
<p>All group members have the <strong>same rights</strong>.
For this reason, everyone can delete any member or add new ones.</p>
<ul>
<li>
<p>All group members have the <strong>same rights</strong>.
For this reason, everyone can delete any member or add new ones.</p>
</li>
<li>
<p>To <strong>add or delete members</strong>, tap the group name in the chat and select the member to add or remove.</p>
</li>
@@ -527,8 +534,10 @@ However, since groups are <a href="#groups">meant for trusted people</a>, avoid
</h3>
<p>Ponieważ nie jesteś członkiem grupy, nie możesz dodać siebie ponownie.
Jednak nie ma problemu, po prostu poproś dowolnego członka grupy na normalnym czacie, aby dodał cię ponownie.</p>
<ul>
<li>Ponieważ nie jesteś członkiem grupy, nie możesz dodać siebie ponownie.
Jednak nie ma problemu, po prostu poproś dowolnego członka grupy na normalnym czacie, aby dodał cię ponownie.</li>
</ul>
<h3 id="nie-chcę-już-otrzymywać-wiadomości-od-grupy">
@@ -539,12 +548,15 @@ However, since groups are <a href="#groups">meant for trusted people</a>, avoid
</h3>
<ul>
<li>Usuń siebie z listy członków lub usuń cały czat.
Jeśli później będziesz chciał ponownie dołączyć do grupy, poproś innego członka grupy, aby dodał cię do grupy.</li>
<li>
<p>Usuń siebie z listy członków lub usuń cy czat.
Jeśli później będziesz chciał ponownie dołączyć do grupy, poproś innego członka grupy, aby dodał cię do grupy.</p>
</li>
<li>
<p>Alternatywnie możesz też „Wyłączyć powiadomienia” dla grupy dzięki temu otrzymasz wszystkie wiadomości i
nadal będziesz mógł pisać, ale nie będziesz już powiadamiany o żadnych nowych wiadomościach.</p>
</li>
</ul>
<p>Alternatywnie możesz też „Wyłączyć powiadomienia” dla grupy dzięki temu otrzymasz wszystkie wiadomości i
nadal będziesz mógł pisać, ale nie będziesz już powiadamiany o żadnych nowych wiadomościach.</p>
<h3 id="cloning-a-group">
@@ -570,21 +582,6 @@ or right-click the group in the chat list (Desktop).</p>
<p>The new group is <strong>fully independent</strong> from the original,
which continues to work as before.</p>
<h3 id="how-many-members-can-participate-in-a-single-group">
How many members can participate in a single group? <a href="#how-many-members-can-participate-in-a-single-group" class="anchor"></a>
</h3>
<p>There is no strict technical limit,
but more than 150 is not recommended.</p>
<p>As groups get larger, they can become socially unstable and may need a hierarchy -
where Delta Chat is a private messenger for chatting with <a href="#groups">equal rights</a>.
See <a href="https://en.wikipedia.org/wiki/Dunbar%27s_number">Dunbars number</a> for more insights.</p>
<h2 id="webxdc">
@@ -837,7 +834,7 @@ Welcome to the power of the interoperable chatmail relay network :)</p>
<p>Sprawdź dokładnie, czy oba urządzenia są w tym <strong>samym Wi-Fi lub tej samej sieci</strong></p>
</li>
<li>
<p>Na <strong>Windowsie</strong>, przejdź do Panel sterowania / Sieć i internet i upewnij się, że <strong>Sieć prywatna</strong> jest wybrana jako “Typ profilu sieci”
<p>Na <strong>Windowsie</strong>, przejdź do <strong>Panel sterowania / Sieć i internet</strong> i upewnij się, że <strong>Sieć prywatna</strong> jest wybrana jako “Typ profilu sieci”
(po przeniesieniu możesz wrócić do pierwotnej wartości)</p>
</li>
<li>
@@ -914,10 +911,10 @@ Jeśli korzystasz z iOS i napotykasz trudności, może <a href="https://support.
</h2>
<h3 id="experiments">
<h3 id="experimental-features">
Experimental Features <a href="#experiments" class="anchor"></a>
Experimental Features <a href="#experimental-features" class="anchor"></a>
</h3>
@@ -953,7 +950,7 @@ you can configure relays at At <strong>Settings → Advanced → Relays</strong>
<li>
<p>You can <strong>add</strong> a relay by scanning its QR code;
<a href="https://chatmail.at/relays">https://chatmail.at/relays</a> shows some known ones.
If you have multiple relays, you will receive messages on all of them.</p>
If you have multiple relays, your will receive messages on all of them.</p>
</li>
<li>
<p>The <strong>default</strong> defines the one where your chat partners send future messages to.</p>
@@ -1076,7 +1073,9 @@ weekly statistics will be automatically sent to a bot.</p>
</h3>
<p>Zobacz <a href="https://github.com/chatmail/core/blob/main/standards.md#standards-used-in-delta-chat">Standardy używane w Delta Chat</a>.</p>
<ul>
<li>Zobacz <a href="https://github.com/chatmail/core/blob/main/standards.md#standards-used-in-delta-chat">Standardy używane w Delta Chat</a>.</li>
</ul>
<h2 id="e2ee">
@@ -1263,32 +1262,6 @@ with the knowledge that all their data, along with all metadata, will be deleted
Moreover, if a device is seized then chat contacts using short-lived profiles
can not be identified easily.</p>
<h3 id="who-sees-my-ip-address">
Who sees my IP Address? <a href="#who-sees-my-ip-address" class="anchor"></a>
</h3>
<p>The used <a href="#relays">relay</a> needs to know your IP Address,
as well as sometimes your contacts devices if you have a <a href="#experiments">call</a>
or use <a href="#webxdc">apps</a> together.</p>
<p>IP Addresses are needed for connectivity and efficiency.
They are neither persisted nor exposed.
Note that the IP Address
is not like a detailed address you give to a delivery service,
but much more coarse, often defining region or country only.</p>
<p>As this is just how the internet and other messengers work by default,
we do not offer options here or ask upfront questions.</p>
<p>If you see your IP Address as a security or privacy risk,
we recommend to use a VPN, in combination with system lockdown mode.
Hunting down options in all apps on your system will leave gaps.
For example, tapping a link exposes IP Addresses to unknown parties and is the by far larger risk here.</p>
<h3 id="sealedsender">
+64 -92
View File
@@ -15,7 +15,7 @@
<li><a href="#o-que-significam-os-carrapatos-mostrados-ao-lado-das-mensagens-de-saída">O que significam os carrapatos mostrados ao lado das mensagens de saída?</a></li>
<li><a href="#edit">Correct typos and delete messages after sending</a></li>
<li><a href="#ephemeralmsgs">How do disappearing messages work?</a></li>
<li><a href="#delold">What happens if I turn on “Delete Messages from Device”?</a></li>
<li><a href="#delold">What happens if I turn on “Delete old messages from device”?</a></li>
<li><a href="#remove-account">How can I delete my chat profile?</a></li>
</ul>
</li>
@@ -26,7 +26,6 @@
<li><a href="#deletei-minha-própria-conta-por-acidente">Deletei minha própria conta por acidente.</a></li>
<li><a href="#não-quero-mais-receber-as-mensagens-de-um-grupo">Não quero mais receber as mensagens de um grupo.</a></li>
<li><a href="#cloning-a-group">Cloning a group</a></li>
<li><a href="#how-many-members-can-participate-in-a-single-group">How many members can participate in a single group?</a></li>
</ul>
</li>
<li><a href="#webxdc">In-chat apps</a>
@@ -55,7 +54,7 @@
</li>
<li><a href="#advanced">Advanced</a>
<ul>
<li><a href="#experiments">Experimental Features</a></li>
<li><a href="#experimental-features">Experimental Features</a></li>
<li><a href="#relays">What are Relays?</a></li>
<li><a href="#can-i-use-a-classic-email-address-with-delta-chat">Can I use a classic email address with Delta Chat?</a></li>
<li><a href="#classic-email">How can I configure a chat profile with a classic email address as relay?</a></li>
@@ -77,7 +76,6 @@
<li><a href="#tls">Are messages marked with the mail icon exposed on the Internet?</a></li>
<li><a href="#message-metadata">How does Delta Chat protect metadata in messages?</a></li>
<li><a href="#device-seizure">How to protect metadata and contacts when a device is seized?</a></li>
<li><a href="#who-sees-my-ip-address">Who sees my IP Address?</a></li>
<li><a href="#sealedsender">Does Delta Chat support “Sealed Sender”?</a></li>
<li><a href="#pfs">Does Delta Chat support Perfect Forward Secrecy?</a></li>
<li><a href="#pqc">Does Delta Chat support Post-Quantum-Cryptography?</a></li>
@@ -187,8 +185,7 @@ If you add each other to <a href="#groups">groups</a>, end-to-end encryption wil
<p>As being a private messenger,
only friends and family you <a href="#howtoe2ee">share your QR code or invite link with</a> can write to you.</p>
<p>Your friends may share your contact with other friends,
this appears as <b style="border: 1px solid currentColor; padding: 0 3px; font-size:90%">Request</b></p>
<p>Your friends may share your contact with other friends, this appears as a <strong>request</strong>.</p>
<ul>
<li>
@@ -226,10 +223,15 @@ and can tap it to start chatting with the first contact.</p>
</h3>
<p>Sim. Images, videos, files, voice messages etc. can be sent using the <img style="vertical-align:middle; width:1.0em; margin:1px" src="../paperclip.png" alt="Paperclip" /> <strong>Attachment-</strong>
<ul>
<li>
<p>Sim. Images, videos, files, voice messages etc. can be sent using the <img style="vertical-align:middle; width:1.0em; margin:1px" src="../paperclip.png" alt="Paperclip" /> <strong>Attachment-</strong>
or <img style="vertical-align:middle; width:0.8em; margin:1px" src="../mic.png" alt="Microphone" /> <strong>Voice Message</strong> buttons</p>
<p>For performance, images are optimized and sent at a smaller size by default, but you can send it as a “file” to preserve the original.</p>
</li>
<li>
<p>For performance, images are optimized and sent at a smaller size by default, but you can send it as a “file” to preserve the original.</p>
</li>
</ul>
<h3 id="multiple-accounts">
@@ -260,9 +262,14 @@ or to <strong>Switch Profiles</strong>.</p>
</h3>
<p>Você pode adicionar uma imagem de perfil nas suas configurações. Se você escrever aos seus contatos ou adicioná-los via código QR, eles automaticamente verão a imagem do seu perfil.</p>
<p>Por motivos de privacidade, ninguém pode ver a imagem do seu ṕerfil até que você escreva para as pessoas.</p>
<ul>
<li>
<p>Você pode adicionar uma imagem de perfil nas suas configurações. Se você escrever aos seus contatos ou adicioná-los via código QR, eles automaticamente verão a imagem do seu perfil.</p>
</li>
<li>
<p>Por motivos de privacidade, ninguém pode ver a imagem do seu ṕerfil até que você escreva para as pessoas.</p>
</li>
</ul>
<h3 id="signature">
@@ -296,8 +303,7 @@ they will see it when they view your contact details.</p>
</li>
<li>
<p><strong>Archive chats</strong> if you do not want to see them in your chat list any longer.
They remain accessible above the chat list or via search
and are marked by <b style="border: 1px solid currentColor; padding: 0 3px; font-size:90%">Archived</b></p>
Archived chats remain accessible above the chat list or via search.</p>
</li>
<li>
<p>When an archived chat gets a new message, unless muted, it will <strong>pop out of the archive</strong> and back into your chat list.
@@ -332,7 +338,7 @@ By tapping <img style="vertical-align:middle; width:1.2em; margin:1px" src="../g
you can go back to the original message in the original chat</p>
</li>
<li>
<p>Finally, you can also use “Saved Messages” to take <strong>personal notes</strong> - open the chat, type something, add a photo or a voice message etc.</p>
<p>Finally, you can also use “Save Messages” to take <strong>personal notes</strong> - open the chat, type something, add a photo or a voice message etc.</p>
</li>
<li>
<p>As “Saved Message” are synced, they can become very handy for transferring data between devices</p>
@@ -369,18 +375,22 @@ and others will as well not always see that you are “online”.</p>
<ul>
<li>
<p><strong>One tick</strong> <img style="vertical-align:middle; width:1.5em; margin:1px" src="../tick1.png" alt="" />
means that the message was sent successfully to the <a href="#relays">relay</a>.</p>
means that the message was sent successfully to your provider.</p>
</li>
<li>
<p><strong>Two ticks</strong> <img style="vertical-align:middle; width:1.5em; margin:1px" src="../tick2.png" alt="" />
indicate your contact has read the message.</p>
mean that at least one recipients device
reported back to having received the message.</p>
</li>
<li>
<p>Recipients may have disabled read-receipts,
so even if you see only one tick, the message may have been read.</p>
</li>
<li>
<p>The other way round, two ticks do not automatically mean
that a human has read or understood the message ;)</p>
</li>
</ul>
<p>In <a href="#groups">groups</a> the second tick means that at least one member has reported back having read the message.</p>
<p>You will only get the second tick if both you and one of the recipients who read the message
has <strong>Settings → Chats → Read Receipts</strong> enabled.</p>
<h3 id="edit">
@@ -445,18 +455,19 @@ the (anyway encrypted) messages may take longer to get deleted from their server
<h3 id="delold">
What happens if I turn on “Delete Messages from Device”? <a href="#delold" class="anchor"></a>
What happens if I turn on “Delete old messages from device”? <a href="#delold" class="anchor"></a>
</h3>
<p>If you want to save storage on your device, you can choose to delete old
messages automatically.</p>
<p>To turn it on, go to <strong>Settings → Chats → Delete Message from Device</strong>.
You can set a timeframe between “after an hour” and “after a year”;
<ul>
<li>If you want to save storage on your device, you can choose to delete old
messages automatically.</li>
<li>To turn it on, go to “delete old messages from device” in the “Chats &amp; Media”
settings. You can set a timeframe between “after an hour” and “after a year”;
this way, <em>all</em> messages will be deleted from your device as soon as they are
older than that.</p>
older than that.</li>
</ul>
<h3 id="remove-account">
@@ -504,15 +515,9 @@ and <a href="#edit">delete their own messages</a> from all members devices.</
</h3>
<ul>
<li>
<p>Selecione <strong>Nova Conversa</strong> e em seguida <strong>Novo Grupo</strong> no menu que fica na parte de cima da tela, no canto direito, ou clique no botão correspondente no ANdroid/iOS.</p>
</li>
<li>
<p>Na tela seguinte, selecione <strong>os membros do grupo</strong> e defina o <strong>nome do grupo</strong>. Você também pode selecionar o <strong>avatar do grupo</strong> (uma imagem).</p>
</li>
<li>
<p>Logo após você escrever a <strong>primeira mensagem</strong>, todas as pessoas do grupo serão informadas sobre o novo grupo e poderão responder no grupo (a não que você escreva uma mensagem ali, o grupo estará invisível para os membros).</p>
</li>
<li>Selecione <strong>Nova Conversa</strong> e em seguida <strong>Novo Grupo</strong> no menu que fica na parte de cima da tela, no canto direito, ou clique no botão correspondente no ANdroid/iOS.</li>
<li>Na tela seguinte, selecione <strong>os membros do grupo</strong> e defina o <strong>nome do grupo</strong>. Você também pode selecionar o <strong>avatar do grupo</strong> (uma imagem).</li>
<li>Logo após você escrever a <strong>primeira mensagem</strong>, todas as pessoas do grupo serão informadas sobre o novo grupo e poderão responder no grupo (a não que você escreva uma mensagem ali, o grupo estará invisível para os membros).</li>
</ul>
<h3 id="addmembers">
@@ -523,10 +528,11 @@ and <a href="#edit">delete their own messages</a> from all members devices.</
</h3>
<p>All group members have the <strong>same rights</strong>.
For this reason, everyone can delete any member or add new ones.</p>
<ul>
<li>
<p>All group members have the <strong>same rights</strong>.
For this reason, everyone can delete any member or add new ones.</p>
</li>
<li>
<p>To <strong>add or delete members</strong>, tap the group name in the chat and select the member to add or remove.</p>
</li>
@@ -554,7 +560,9 @@ However, since groups are <a href="#groups">meant for trusted people</a>, avoid
</h3>
<p>Já que você não é mais um membro do grupo, não tem como se adicionar novamente. Entretanto, não tem problema, é só pedir para outra pessoa do grupo, através de um chat normal, adicionar você.</p>
<ul>
<li>Já que você não é mais um membro do grupo, não tem como se adicionar novamente. Entretanto, não tem problema, é só pedir para outra pessoa do grupo, através de um chat normal, adicionar você.</li>
</ul>
<h3 id="não-quero-mais-receber-as-mensagens-de-um-grupo">
@@ -565,11 +573,14 @@ However, since groups are <a href="#groups">meant for trusted people</a>, avoid
</h3>
<ul>
<li>Ou você se exclui do grupo ou apaga a conversa inteira do grupo.
Se você quiser entrar mais tarde no grupo novamente, peça a outra pessoa do grupo para adicioná-la novamente.</li>
<li>
<p>Ou você se exclui do grupo ou apaga a conversa inteira do grupo.
Se você quiser entrar mais tarde no grupo novamente, peça a outra pessoa do grupo para adicioná-la novamente.</p>
</li>
<li>
<p>Uma alternativa é “silenciar” um grupo. Fazendo isso, você receberá todas as mensagens e ainda poderá escrever, mas não será receberá mais notificações d enovas mensagens.</p>
</li>
</ul>
<p>Uma alternativa é “silenciar” um grupo. Fazendo isso, você receberá todas as mensagens e ainda poderá escrever, mas não será receberá mais notificações d enovas mensagens.</p>
<h3 id="cloning-a-group">
@@ -595,21 +606,6 @@ or right-click the group in the chat list (Desktop).</p>
<p>The new group is <strong>fully independent</strong> from the original,
which continues to work as before.</p>
<h3 id="how-many-members-can-participate-in-a-single-group">
How many members can participate in a single group? <a href="#how-many-members-can-participate-in-a-single-group" class="anchor"></a>
</h3>
<p>There is no strict technical limit,
but more than 150 is not recommended.</p>
<p>As groups get larger, they can become socially unstable and may need a hierarchy -
where Delta Chat is a private messenger for chatting with <a href="#groups">equal rights</a>.
See <a href="https://en.wikipedia.org/wiki/Dunbar%27s_number">Dunbars number</a> for more insights.</p>
<h2 id="webxdc">
@@ -898,7 +894,7 @@ One device is not needed for the other to work.</p>
<p>Double-check both devices are in the <strong>same Wi-Fi or network</strong></p>
</li>
<li>
<p>On <strong>Windows</strong>, go to Control Panel / Network and Internet
<p>On <strong>Windows</strong>, go to <strong>Control Panel / Network and Internet</strong>
and make sure, <strong>Private Network</strong> is selected as “Network profile type”
(after transfer, you can change back to the original value)</p>
</li>
@@ -993,10 +989,10 @@ ou o AppImage para Linux. Você pode encontrá-los em
</h2>
<h3 id="experiments">
<h3 id="experimental-features">
Experimental Features <a href="#experiments" class="anchor"></a>
Experimental Features <a href="#experimental-features" class="anchor"></a>
</h3>
@@ -1032,7 +1028,7 @@ you can configure relays at At <strong>Settings → Advanced → Relays</strong>
<li>
<p>You can <strong>add</strong> a relay by scanning its QR code;
<a href="https://chatmail.at/relays">https://chatmail.at/relays</a> shows some known ones.
If you have multiple relays, you will receive messages on all of them.</p>
If you have multiple relays, your will receive messages on all of them.</p>
</li>
<li>
<p>The <strong>default</strong> defines the one where your chat partners send future messages to.</p>
@@ -1155,7 +1151,9 @@ weekly statistics will be automatically sent to a bot.</p>
</h3>
<p>Veja <a href="https://github.com/chatmail/core/blob/main/standards.md#standards-used-in-delta-chat">As normas usadas no Delta Chat</a>.</p>
<ul>
<li>Veja <a href="https://github.com/chatmail/core/blob/main/standards.md#standards-used-in-delta-chat">As normas usadas no Delta Chat</a>.</li>
</ul>
<h2 id="e2ee">
@@ -1394,32 +1392,6 @@ with the knowledge that all their data, along with all metadata, will be deleted
Moreover, if a device is seized then chat contacts using short-lived profiles
can not be identified easily.</p>
<h3 id="who-sees-my-ip-address">
Who sees my IP Address? <a href="#who-sees-my-ip-address" class="anchor"></a>
</h3>
<p>The used <a href="#relays">relay</a> needs to know your IP Address,
as well as sometimes your contacts devices if you have a <a href="#experiments">call</a>
or use <a href="#webxdc">apps</a> together.</p>
<p>IP Addresses are needed for connectivity and efficiency.
They are neither persisted nor exposed.
Note that the IP Address
is not like a detailed address you give to a delivery service,
but much more coarse, often defining region or country only.</p>
<p>As this is just how the internet and other messengers work by default,
we do not offer options here or ask upfront questions.</p>
<p>If you see your IP Address as a security or privacy risk,
we recommend to use a VPN, in combination with system lockdown mode.
Hunting down options in all apps on your system will leave gaps.
For example, tapping a link exposes IP Addresses to unknown parties and is the by far larger risk here.</p>
<h3 id="sealedsender">
+69 -101
View File
@@ -15,7 +15,7 @@
<li><a href="#что-означают-галочки-рядом-с-исходящими-сообщениями">Что означают галочки рядом с исходящими сообщениями?</a></li>
<li><a href="#edit">Исправление опечаток и удаление сообщений после отправки</a></li>
<li><a href="#ephemeralmsgs">Как работают исчезающие сообщения?</a></li>
<li><a href="#delold">Что произойдет, если я включу функцию “Удалять сообщения с устройства”?</a></li>
<li><a href="#delold">Что произойдет, если я включу функцию “Удалять старые сообщения с устройства”?</a></li>
<li><a href="#remove-account">Как удалить свой профиль в чате?</a></li>
</ul>
</li>
@@ -26,7 +26,6 @@
<li><a href="#я-случайно-удалил-самого-себя">Я случайно удалил самого себя.</a></li>
<li><a href="#я-больше-не-хочу-получать-сообщения-группы">Я больше не хочу получать сообщения группы.</a></li>
<li><a href="#клонирование-группы">Клонирование группы</a></li>
<li><a href="#сколько-участников-может-быть-в-одной-группе">Сколько участников может быть в одной группе?</a></li>
</ul>
</li>
<li><a href="#webxdc">Встроенные приложения чата</a>
@@ -55,7 +54,7 @@
</li>
<li><a href="#расширенные">Расширенные</a>
<ul>
<li><a href="#experiments">Экспериментальные функции</a></li>
<li><a href="#экспериментальные-функции">Экспериментальные функции</a></li>
<li><a href="#relays">Что такое релеи chatmail?</a></li>
<li><a href="#могу-ли-я-использовать-обычный-адрес-электронной-почты-с-delta-chat">Могу ли я использовать обычный адрес электронной почты с Delta Chat?</a></li>
<li><a href="#classic-email">Как настроить профиль чата с использованием классического адреса электронной почты в качестве релея?</a></li>
@@ -77,7 +76,6 @@
<li><a href="#tls">Видны ли в Интернете сообщения, отмеченные значком почты?</a></li>
<li><a href="#message-metadata">Как Delta Chat защищает метаданные в сообщениях?</a></li>
<li><a href="#device-seizure">Как защитить метаданные и контакты при изъятии устройства?</a></li>
<li><a href="#кто-видит-мой-ip-адрес">Кто видит мой IP-адрес?</a></li>
<li><a href="#sealedsender">Поддерживает ли Delta Chat функцию “Sealed Sender” (Засекреченный отправитель)?</a></li>
<li><a href="#pfs">Поддерживает ли Delta Chat свойство Perfect forward secrecy, PFS (Совершенную прямую секретность)?</a></li>
<li><a href="#pqc">Поддерживает ли Delta Chat Post-Quantum-Cryptography (Постквантовую криптографию)?</a></li>
@@ -187,8 +185,7 @@
<p>Поскольку это приватный мессенджер,
писать вам могут только друзья и члены семьи, с которыми вы <a href="#howtoe2ee">поделились QR-кодом или ссылкой-приглашением.</a></p>
<p>Ваши друзья могут поделиться вашим контактом с другими друзьями,
это отображается как <b style="border: 1px solid currentColor; padding: 0 3px; font-size:90%">Запрос</b></p>
<p>Ваши друзья могут поделиться вашим контактом с другими друзьями, это отображается как <strong>запрос</strong>.</p>
<p>— Нужно <strong>принять</strong> запрос, прежде чем ответить.</p>
@@ -222,10 +219,15 @@
</h3>
<p>Да. Изображения, видео, файлы, голосовые сообщения и т.д. можно отправлять с помощью кнопок <img style="vertical-align:middle; width:1.0em; margin:1px" src="../paperclip.png" alt="Paperclip" /> <strong>Вложение</strong>
<ul>
<li>
<p>Да. Изображения, видео, файлы, голосовые сообщения и т.д. можно отправлять с помощью кнопок <img style="vertical-align:middle; width:1.0em; margin:1px" src="../paperclip.png" alt="Paperclip" /> <strong>Вложение</strong>
или <img style="vertical-align:middle; width:0.8em; margin:1px" src="../mic.png" alt="Microphone" /> <strong>Голосовое сообщение</strong>.</p>
<p>Для повышения производительности, изображения оптимизируются и отправляются по умолчанию в уменьшенном размере, но вы можете отправить их как “файл”, чтобы сохранить оригинал.</p>
</li>
<li>
<p>Для лучшей производительности изображения по умолчанию оптимизируются и отправляются в меньшем размере, но вы можете отправить их как “файл”, чтобы сохранить оригинал.</p>
</li>
</ul>
<h3 id="multiple-accounts">
@@ -256,11 +258,16 @@
</h3>
<p>Вы можете добавить изображение профиля в настройках. Если вы пишете своим контактам
<ul>
<li>
<p>Вы можете добавить изображение профиля в настройках. Если вы пишете своим контактам
или добавляете их с помощью QR-кода, они автоматически видят его как изображение вашего профиля.</p>
<p>По соображениям конфиденциальности, никто не увидит изображение вашего профиля, пока вы не напишете
им сообщение.</p>
</li>
<li>
<p>По соображениям конфиденциальности, никто не увидит изображение вашего профиля,
пока вы не напишете им сообщение.</p>
</li>
</ul>
<h3 id="signature">
@@ -294,8 +301,7 @@
</li>
<li>
<p><strong>Отправить в архив</strong> необходимо, если вы не хотите больше видеть их в списке чатов.
Архивные чаты остаются доступными над списком чатов или через поиск
и будут отмечены как <b style="border: 1px solid currentColor; padding: 0 3px; font-size:90%">Архивировано</b></p>
Архивные чаты остаются доступными над списком чатов или через поиск.</p>
</li>
<li>
<p>Когда в чат, находящийся в архиве, приходит новое сообщение, если не включена опция <strong>Отключить уведомления</strong>, он <strong>Возвращается из архива</strong> в ваш список чатов.
@@ -330,7 +336,7 @@
вы можете вернуться к этому сообщению в исходном чате</p>
</li>
<li>
<p>Наконец, вы можете использовать “Сохраненные сообщения”, для создания <strong>личных заметок</strong> - откройте чат, напечатайте что-нибудь, добавьте фото или голосовое сообщение и т.д.</p>
<p>Наконец, вы также можете использовать “Сохраненные сообщения” для создания <strong>личных заметок</strong> - откройте чат, введите что-то, добавьте фото или голосовое сообщение и т.д.</p>
</li>
<li>
<p>Поскольку “Сохраненные сообщения” синхронизируются, они могут стать удобным способом передачи данных между устройствами</p>
@@ -366,18 +372,22 @@
<ul>
<li>
<p><strong>Одна галочка</strong> <img style="vertical-align:middle; width:1.5em; margin:1px" src="../tick1.png" alt="" />
означает, что сообщение успешно отправлено на <a href="#relays">релей</a>.</p>
означает, что сообщение было успешно отправлено вашему провайдеру.</p>
</li>
<li>
<p><strong>Две галочки</strong> <img style="vertical-align:middle; width:1.5em; margin:1px" src="../tick2.png" alt="" />
указывают на то, что ваш контакт прочитал сообщение.</p>
означают, что по крайней мере одно устройство получателя
сообщило об успешном получении сообщения.</p>
</li>
<li>
<p>Получатели могли отключить подтверждения прочтения,
поэтому даже если вы видите только одну галочку, сообщение могло быть прочитано.</p>
</li>
<li>
<p>И наоборот, две галочки не обязательно означают
что человек прочитал или понял сообщение ;)</p>
</li>
</ul>
<p>В <a href="#groups">группах</a> вторая галочка означает, что хотя бы один из участников подтвердил прочтение сообщения.</p>
<p>Вторая галочка появится только в том случае, если у вас и хотя бы одного из получателей, прочитавшего сообщение,
включена опция <strong>Настройки → Чаты → Уведомление о прочтении</strong>.</p>
<h3 id="edit">
@@ -442,18 +452,18 @@
<h3 id="delold">
Что произойдет, если я включу функцию “Удалять сообщения с устройства”? <a href="#delold" class="anchor"></a>
Что произойдет, если я включу функцию “Удалять старые сообщения с устройства”? <a href="#delold" class="anchor"></a>
</h3>
<p>Если вы хотите сэкономить место на устройстве, можно выбрать функцию автоматического удаления старых
сообщений.</p>
<p>Чтобы включить эту функцию, перейдите в <strong>Настройки → Чаты → Удалять сообщения с устройства</strong>.
Вы можете установить временные рамки от “через 1 час” до “через 1 год”;
Таким образом, <em>все</em> сообщения будут удаляться с вашего устройства, как только они станут
старше выбранного срока.</p>
<ul>
<li>Если вы хотите сэкономить место на устройстве, вы можете выбрать
автоматическое удаление старых сообщений.</li>
<li>Чтобы включить эту функцию, перейдите в Удалять сообщения с устройства” в настройках “Чаты и медиафайлы”
Вы можете установить период от “Через 1 час” до “Через 1 год”;
Таким образом, <em>все</em> сообщения будут удалены с устройства, как только они станут старше выбранного срока.</li>
</ul>
<h3 id="remove-account">
@@ -501,15 +511,9 @@
</h3>
<ul>
<li>
<p>Выберите <strong>Новый чат</strong>, а затем <strong>Новая группа</strong> из меню в правом верхнем углу или нажмите соответствующую кнопку на Android/iOS.</p>
</li>
<li>
<p>На следующем экране выберите <strong>участников группы</strong> и придумайте <strong>название группы</strong>. Вы также можете выбрать <strong>аватар группы</strong>.</p>
</li>
<li>
<p>Как только вы напишете <strong>первое сообщение</strong> в группе, все участники будут проинформированы о новой группе и смогут ответить. (Пока вы не напишете сообщение в группе, группа будет невидима для участников).</p>
</li>
<li>Выберите <strong>Новый чат</strong>, а затем <strong>Новая группа</strong> из меню в правом верхнем углу или нажмите соответствующую кнопку на Android/iOS.</li>
<li>На следующем экране выберите <strong>участников</strong> и придумайте <strong>название группы</strong>. Вы также можете выбрать <strong>изображение группы</strong>.</li>
<li>Как только вы напишете <strong>первое сообщение</strong> в группе, все участники будут проинформированы о новой группе и смогут ответить. (Пока вы не напишете сообщение в группе, группа будет невидима для участников).</li>
</ul>
<h3 id="addmembers">
@@ -520,10 +524,11 @@
</h3>
<p>Все участники группы имеют <strong>одинаковые права</strong>.
Поэтому каждый может удалить любого участника или добавить нового.</p>
<ul>
<li>
<p>У всех участников группы <strong>одинаковые права</strong>.
Поэтому каждый может удалить любого участника или добавить новых.</p>
</li>
<li>
<p>Чтобы <strong>добавлять или удалять участников</strong>, коснитесь названия группы в чате и выберите участника, которого нужно добавить или удалить.</p>
</li>
@@ -551,8 +556,10 @@
</h3>
<p>Поскольку вы больше не являетесь участником группы, вы не можете добавить себя снова.
Однако, это не проблема, просто попросите любого другого участника группы в обычном чате добавить вас снова.</p>
<ul>
<li>Поскольку вы больше не являетесь участником группы, вы не можете добавлять себя снова.
Однако, это не проблема, просто попросите любого другого участника группы в обычном чате добавить вас снова.</li>
</ul>
<h3 id="я-больше-не-хочу-получать-сообщения-группы">
@@ -563,12 +570,14 @@
</h3>
<ul>
<li>Либо удалите себя из списка участников, либо удалите весь чат.
Если позже вы снова захотите присоединиться к группе, попросите другого участника группы добавить вас.</li>
<li>
<p>Либо удалите себя из списка участников, либо удалите весь чат.
Если позже вы снова захотите присоединиться к группе, попросите другого участника группы добавить вас.</p>
</li>
<li>
<p>Или, вместо этого, вы можете “отключить уведомления” для группы — это означает, что вы будете получать все сообщения и сможете их писать, но больше не будете получать уведомления о новых сообщениях.</p>
</li>
</ul>
<p>Или, вместо этого, вы можете “отключить уведомления” для группы - в этом случае вы будете получать все сообщения и
можете их писать, но больше не будете получать уведомления о новых сообщениях.</p>
<h3 id="клонирование-группы">
@@ -594,21 +603,6 @@
<p>Новая группа <strong>полностью независима</strong> от исходной,
которая продолжает работать как прежде.</p>
<h3 id="сколько-участников-может-быть-в-одной-группе">
Сколько участников может быть в одной группе? <a href="#сколько-участников-может-быть-в-одной-группе" class="anchor"></a>
</h3>
<p>Строгого технического ограничения нет,
но не рекомендуется создавать группы больше 150 участников.</p>
<p>По мере увеличения размера групп они могут стать социально нестабильными и потребовать иерархии,
в то время как Delta Chat - это приватный мессенджер для общения на <a href="#groups">равных правах</a>.
Смотрите <a href="https://en.wikipedia.org/wiki/Dunbar%27s_number">число Данбара</a> для более глубокого понимания.</p>
<h2 id="webxdc">
@@ -896,9 +890,9 @@ Push-уведомления автоматически активируются
<p>Перепроверьте, что оба устройства находятся <strong>в одной Wi-Fi или локальной сети</strong>.</p>
</li>
<li>
<p>В <strong>Windows</strong> перейдите в Панель управления / Сеть и Интернет
<p>В <strong>Windows</strong> перейдите в <strong>Панель управления / Сеть и Интернет</strong>
и убедитесь, что в качестве “Типа сетевого профиля” выбрана <strong>Частная сеть</strong>.
(после передачи можно вернуть исходное значение)</p>
(после передачи, вы можете изменить обратно на исходное значение)</p>
</li>
<li>
<p>На <strong>iOS</strong>, убедитесь, что предоставлен доступ “Настройки системы / Приложения / Delta Chat / <strong>Локальная сеть</strong></p>
@@ -991,10 +985,10 @@ PIN-код разблокировки экрана, графический кл
</h2>
<h3 id="experiments">
<h3 id="экспериментальные-функции">
Экспериментальные функции <a href="#experiments" class="anchor"></a>
Экспериментальные функции <a href="#экспериментальные-функции" class="anchor"></a>
</h3>
@@ -1152,7 +1146,9 @@ Chatmail использует INBOX по умолчанию для ретран
</h3>
<p>Смотрите <a href="https://github.com/chatmail/core/blob/main/standards.md#standards-used-in-delta-chat">Стандарты, используемые в Delta Chat</a>.</p>
<ul>
<li>Смотрите <a href="https://github.com/chatmail/core/blob/main/standards.md#standards-used-in-delta-chat">Стандарты, используемые в Delta Chat</a>.</li>
</ul>
<h2 id="e2ee">
@@ -1391,34 +1387,6 @@ Delta Chat вместо этого использует реализацию Ope
Кроме того, если устройство изъято, контакты, использующие временные профили,
не могут быть легко идентифицированы.</p>
<h3 id="кто-видит-мой-ip-адрес">
Кто видит мой IP-адрес? <a href="#кто-видит-мой-ip-адрес" class="anchor"></a>
</h3>
<p>Используемый <a href="#relays">релей</a> должен знать ваш IP-адрес,
а также иногда устройства ваших контактов, если вы проводите совместные <a href="#experiments">звонки</a>
или используете <a href="#webxdc">приложения</a>.</p>
<p>IP-адреса необходимы для обеспечения соединения и эффективности.
Они не сохраняются и не передаются третьим лицам.
Обратите внимание, что IP-адрес</p>
<ul>
<li>это не подробный адрес, который вы указываете службе доставки,
а скорее приблизительный, обычно определяющий регион или страну.</li>
</ul>
<p>Поскольку именно так по умолчанию работает интернет и другие мессенджеры,
мы не предлагаем здесь никаких настроек и не задаём предварительных вопросов</p>
<p>Если вы считаете свой IP-адрес угрозой безопасности или конфиденциальности,
мы рекомендуем использовать VPN в сочетании с режимом блокировки системы.
Поиск настроек во всех приложениях на вашем устройстве оставит уязвимости.
Например, нажатие на ссылку раскрывает IP-адрес неизвестным лицам и представляет собой гораздо больший риск в данном случае.</p>
<h3 id="sealedsender">
@@ -1427,7 +1395,7 @@ Delta Chat вместо этого использует реализацию Ope
</h3>
<p>Нет, еще нет.</p>
<p>Нет, пока нет.</p>
<p>Мессенджер Signal внедрил функцию <a href="https://signal.org/blog/sealed-sender/">“Sealed Sender” (Засекреченный отправитель) в 2018 году</a>,
чтобы их серверная инфраструктура не имела информации о том, кто отправляет сообщение группе получателей.
@@ -1448,7 +1416,7 @@ Delta Chat вместо этого использует реализацию Ope
</h3>
<p>Нет, еще нет.</p>
<p>Нет, пока нет.</p>
<p>На данный момент, Delta Chat не поддерживает Perfect Forward Secrecy (PFS) (Совершенную прямую секретность).
Это означает, что если ваш приватный ключ дешифрования будет скомпрометирован,
@@ -1474,7 +1442,7 @@ Delta Chat вместо этого использует реализацию Ope
</h3>
<p>Нет, еще нет.</p>
<p>Нет, пока нет.</p>
<p>Delta Chat использует библиотеку OpenPGP на Rust <a href="https://github.com/rpgp/rpgp">rPGP</a>,
которая поддерживает последний <a href="https://datatracker.ietf.org/doc/draft-ietf-openpgp-pqc/">черновик IETF Post-Quantum-Cryptography OpenPGP</a>.
+66 -94
View File
@@ -15,7 +15,7 @@
<li><a href="#čo-znamenajú-zaškrtnutia-zobrazené-vedľa-odchádzajúcich-správ">Čo znamenajú zaškrtnutia zobrazené vedľa odchádzajúcich správ?</a></li>
<li><a href="#edit">Correct typos and delete messages after sending</a></li>
<li><a href="#ephemeralmsgs">How do disappearing messages work?</a></li>
<li><a href="#delold">What happens if I turn on “Delete Messages from Device”?</a></li>
<li><a href="#delold">What happens if I turn on “Delete old messages from device”?</a></li>
<li><a href="#remove-account">How can I delete my chat profile?</a></li>
</ul>
</li>
@@ -26,7 +26,6 @@
<li><a href="#omylom-som-sa-vymazal">Omylom som sa vymazal.</a></li>
<li><a href="#už-viac-nechcem-dostávať-správy-od-skupiny">Už viac nechcem dostávať správy od skupiny.</a></li>
<li><a href="#cloning-a-group">Cloning a group</a></li>
<li><a href="#how-many-members-can-participate-in-a-single-group">How many members can participate in a single group?</a></li>
</ul>
</li>
<li><a href="#webxdc">In-chat apps</a>
@@ -55,7 +54,7 @@
</li>
<li><a href="#advanced">Advanced</a>
<ul>
<li><a href="#experiments">Experimental Features</a></li>
<li><a href="#experimental-features">Experimental Features</a></li>
<li><a href="#relays">What are Relays?</a></li>
<li><a href="#can-i-use-a-classic-email-address-with-delta-chat">Can I use a classic email address with Delta Chat?</a></li>
<li><a href="#classic-email">How can I configure a chat profile with a classic email address as relay?</a></li>
@@ -77,7 +76,6 @@
<li><a href="#tls">Are messages marked with the mail icon exposed on the Internet?</a></li>
<li><a href="#message-metadata">How does Delta Chat protect metadata in messages?</a></li>
<li><a href="#device-seizure">How to protect metadata and contacts when a device is seized?</a></li>
<li><a href="#who-sees-my-ip-address">Who sees my IP Address?</a></li>
<li><a href="#sealedsender">Does Delta Chat support “Sealed Sender”?</a></li>
<li><a href="#pfs">Does Delta Chat support Perfect Forward Secrecy?</a></li>
<li><a href="#pqc">Does Delta Chat support Post-Quantum-Cryptography?</a></li>
@@ -187,8 +185,7 @@ If you add each other to <a href="#groups">groups</a>, end-to-end encryption wil
<p>As being a private messenger,
only friends and family you <a href="#howtoe2ee">share your QR code or invite link with</a> can write to you.</p>
<p>Your friends may share your contact with other friends,
this appears as <b style="border: 1px solid currentColor; padding: 0 3px; font-size:90%">Request</b></p>
<p>Your friends may share your contact with other friends, this appears as a <strong>request</strong>.</p>
<ul>
<li>
@@ -226,10 +223,15 @@ and can tap it to start chatting with the first contact.</p>
</h3>
<p>Yes. Images, videos, files, voice messages etc. can be sent using the <img style="vertical-align:middle; width:1.0em; margin:1px" src="../paperclip.png" alt="Paperclip" /> <strong>Attachment-</strong>
<ul>
<li>
<p>Yes. Images, videos, files, voice messages etc. can be sent using the <img style="vertical-align:middle; width:1.0em; margin:1px" src="../paperclip.png" alt="Paperclip" /> <strong>Attachment-</strong>
or <img style="vertical-align:middle; width:0.8em; margin:1px" src="../mic.png" alt="Microphone" /> <strong>Voice Message</strong> buttons</p>
<p>For performance, images are optimized and sent at a smaller size by default, but you can send it as a “file” to preserve the original.</p>
</li>
<li>
<p>For performance, images are optimized and sent at a smaller size by default, but you can send it as a “file” to preserve the original.</p>
</li>
</ul>
<h3 id="multiple-accounts">
@@ -260,11 +262,16 @@ or to <strong>Switch Profiles</strong>.</p>
</h3>
<p>V nastaveniach si môžete pridať profilový obrázok. Ak napíšete svojim kontaktom
<ul>
<li>
<p>V nastaveniach si môžete pridať profilový obrázok. Ak napíšete svojim kontaktom
alebo si ich pridáte pomocou QR kódu, automaticky to vidia ako váš profilový obrázok.</p>
<p>Z dôvodu ochrany osobných údajov nikto nevidí váš profilový obrázok, kým im nenapíšete
</li>
<li>
<p>Z dôvodu ochrany osobných údajov nikto nevidí váš profilový obrázok, kým im nenapíšete
správu.</p>
</li>
</ul>
<h3 id="signature">
@@ -298,8 +305,7 @@ they will see it when they view your contact details.</p>
</li>
<li>
<p><strong>Archive chats</strong> if you do not want to see them in your chat list any longer.
They remain accessible above the chat list or via search
and are marked by <b style="border: 1px solid currentColor; padding: 0 3px; font-size:90%">Archived</b></p>
Archived chats remain accessible above the chat list or via search.</p>
</li>
<li>
<p>When an archived chat gets a new message, unless muted, it will <strong>pop out of the archive</strong> and back into your chat list.
@@ -334,7 +340,7 @@ By tapping <img style="vertical-align:middle; width:1.2em; margin:1px" src="../g
you can go back to the original message in the original chat</p>
</li>
<li>
<p>Finally, you can also use “Saved Messages” to take <strong>personal notes</strong> - open the chat, type something, add a photo or a voice message etc.</p>
<p>Finally, you can also use “Save Messages” to take <strong>personal notes</strong> - open the chat, type something, add a photo or a voice message etc.</p>
</li>
<li>
<p>As “Saved Message” are synced, they can become very handy for transferring data between devices</p>
@@ -371,18 +377,22 @@ and others will as well not always see that you are “online”.</p>
<ul>
<li>
<p><strong>One tick</strong> <img style="vertical-align:middle; width:1.5em; margin:1px" src="../tick1.png" alt="" />
means that the message was sent successfully to the <a href="#relays">relay</a>.</p>
means that the message was sent successfully to your provider.</p>
</li>
<li>
<p><strong>Two ticks</strong> <img style="vertical-align:middle; width:1.5em; margin:1px" src="../tick2.png" alt="" />
indicate your contact has read the message.</p>
mean that at least one recipients device
reported back to having received the message.</p>
</li>
<li>
<p>Recipients may have disabled read-receipts,
so even if you see only one tick, the message may have been read.</p>
</li>
<li>
<p>The other way round, two ticks do not automatically mean
that a human has read or understood the message ;)</p>
</li>
</ul>
<p>In <a href="#groups">groups</a> the second tick means that at least one member has reported back having read the message.</p>
<p>You will only get the second tick if both you and one of the recipients who read the message
has <strong>Settings → Chats → Read Receipts</strong> enabled.</p>
<h3 id="edit">
@@ -447,18 +457,19 @@ the (anyway encrypted) messages may take longer to get deleted from their server
<h3 id="delold">
What happens if I turn on “Delete Messages from Device”? <a href="#delold" class="anchor"></a>
What happens if I turn on “Delete old messages from device”? <a href="#delold" class="anchor"></a>
</h3>
<p>If you want to save storage on your device, you can choose to delete old
messages automatically.</p>
<p>To turn it on, go to <strong>Settings → Chats → Delete Message from Device</strong>.
You can set a timeframe between “after an hour” and “after a year”;
<ul>
<li>If you want to save storage on your device, you can choose to delete old
messages automatically.</li>
<li>To turn it on, go to “delete old messages from device” in the “Chats &amp; Media”
settings. You can set a timeframe between “after an hour” and “after a year”;
this way, <em>all</em> messages will be deleted from your device as soon as they are
older than that.</p>
older than that.</li>
</ul>
<h3 id="remove-account">
@@ -506,15 +517,9 @@ and <a href="#edit">delete their own messages</a> from all members devices.</
</h3>
<ul>
<li>
<p>Vyberte <strong>Nový chat</strong> a potom <strong>Nová skupina</strong> z ponuky v pravom hornom rohu alebo stlačte príslušné tlačidlo v systéme Android/iOS.</p>
</li>
<li>
<p>Na nasledujúcej obrazovke vyberte <strong>členov skupiny</strong> a definujte <strong>názov skupiny</strong>. Môžete si tiež vybrať <strong>avatara skupiny</strong>.</p>
</li>
<li>
<p>Hneď ako napíšete <strong>prvú správu</strong> v skupine, všetci členovia sú informovaní o novej skupine a môžu odpovedať v skupine (pokiaľ nenapíšete správu v skupine, skupina je pre skupinu neviditeľná členovia).</p>
</li>
<li>Vyberte <strong>Nový chat</strong> a potom <strong>Nová skupina</strong> z ponuky v pravom hornom rohu alebo stlačte príslušné tlačidlo v systéme Android/iOS.</li>
<li>Na nasledujúcej obrazovke vyberte <strong>členov skupiny</strong> a definujte <strong>názov skupiny</strong>. Môžete si tiež vybrať <strong>avatara skupiny</strong>.</li>
<li>Hneď ako napíšete <strong>prvú správu</strong> v skupine, všetci členovia sú informovaní o novej skupine a môžu odpovedať v skupine (pokiaľ nenapíšete správu v skupine, skupina je pre skupinu neviditeľná členovia).</li>
</ul>
<h3 id="addmembers">
@@ -525,10 +530,11 @@ and <a href="#edit">delete their own messages</a> from all members devices.</
</h3>
<p>All group members have the <strong>same rights</strong>.
For this reason, everyone can delete any member or add new ones.</p>
<ul>
<li>
<p>All group members have the <strong>same rights</strong>.
For this reason, everyone can delete any member or add new ones.</p>
</li>
<li>
<p>To <strong>add or delete members</strong>, tap the group name in the chat and select the member to add or remove.</p>
</li>
@@ -556,8 +562,10 @@ However, since groups are <a href="#groups">meant for trusted people</a>, avoid
</h3>
<p>Keďže už nie ste členom skupiny, nemôžete sa znova pridať.
Žiadny problém, jednoducho požiadajte ktoréhokoľvek iného člena skupiny v bežnom chate, aby vás znova pridal.</p>
<ul>
<li>Keďže už nie ste členom skupiny, nemôžete sa znova pridať.
Žiadny problém, jednoducho požiadajte ktoréhokoľvek iného člena skupiny v bežnom chate, aby vás znova pridal.</li>
</ul>
<h3 id="už-viac-nechcem-dostávať-správy-od-skupiny">
@@ -568,12 +576,15 @@ However, since groups are <a href="#groups">meant for trusted people</a>, avoid
</h3>
<ul>
<li>Vymažte sa zo zoznamu členov alebo odstráňte celý chat.
Ak sa chcete neskôr znova pripojiť k skupine, požiadajte iného člena skupiny, aby vás znova pridal.</li>
</ul>
<p>Ako alternatívu môžete tiež “Stlmiť” skupinu - znamená to, že budete dostávať všetky správy a
<li>
<p>Vymažte sa zo zoznamu členov alebo odstráňte celý chat.
Ak sa chcete neskôr znova pripojiť k skupine, požiadajte iného člena skupiny, aby vás znova pridal.</p>
</li>
<li>
<p>Ako alternatívu môžete tiež “Stlmiť” skupinu - znamená to, že budete dostávať všetky správy a
môžete stále písať, ale už nebudete upozorňovaní na žiadne nové správy.</p>
</li>
</ul>
<h3 id="cloning-a-group">
@@ -599,21 +610,6 @@ or right-click the group in the chat list (Desktop).</p>
<p>The new group is <strong>fully independent</strong> from the original,
which continues to work as before.</p>
<h3 id="how-many-members-can-participate-in-a-single-group">
How many members can participate in a single group? <a href="#how-many-members-can-participate-in-a-single-group" class="anchor"></a>
</h3>
<p>There is no strict technical limit,
but more than 150 is not recommended.</p>
<p>As groups get larger, they can become socially unstable and may need a hierarchy -
where Delta Chat is a private messenger for chatting with <a href="#groups">equal rights</a>.
See <a href="https://en.wikipedia.org/wiki/Dunbar%27s_number">Dunbars number</a> for more insights.</p>
<h2 id="webxdc">
@@ -902,7 +898,7 @@ One device is not needed for the other to work.</p>
<p>Double-check both devices are in the <strong>same Wi-Fi or network</strong></p>
</li>
<li>
<p>On <strong>Windows</strong>, go to Control Panel / Network and Internet
<p>On <strong>Windows</strong>, go to <strong>Control Panel / Network and Internet</strong>
and make sure, <strong>Private Network</strong> is selected as “Network profile type”
(after transfer, you can change back to the original value)</p>
</li>
@@ -997,10 +993,10 @@ alebo AppImage pre Linux. Nájdete ich na
</h2>
<h3 id="experiments">
<h3 id="experimental-features">
Experimental Features <a href="#experiments" class="anchor"></a>
Experimental Features <a href="#experimental-features" class="anchor"></a>
</h3>
@@ -1036,7 +1032,7 @@ you can configure relays at At <strong>Settings → Advanced → Relays</strong>
<li>
<p>You can <strong>add</strong> a relay by scanning its QR code;
<a href="https://chatmail.at/relays">https://chatmail.at/relays</a> shows some known ones.
If you have multiple relays, you will receive messages on all of them.</p>
If you have multiple relays, your will receive messages on all of them.</p>
</li>
<li>
<p>The <strong>default</strong> defines the one where your chat partners send future messages to.</p>
@@ -1159,7 +1155,9 @@ weekly statistics will be automatically sent to a bot.</p>
</h3>
<p>Pozrite si <a href="https://github.com/chatmail/core/blob/main/standards.md#standards-used-in-delta-chat">Štandardy používané v Delta Chate</a>.</p>
<ul>
<li>Pozrite si <a href="https://github.com/chatmail/core/blob/main/standards.md#standards-used-in-delta-chat">Štandardy používané v Delta Chate</a>.</li>
</ul>
<h2 id="e2ee">
@@ -1398,32 +1396,6 @@ with the knowledge that all their data, along with all metadata, will be deleted
Moreover, if a device is seized then chat contacts using short-lived profiles
can not be identified easily.</p>
<h3 id="who-sees-my-ip-address">
Who sees my IP Address? <a href="#who-sees-my-ip-address" class="anchor"></a>
</h3>
<p>The used <a href="#relays">relay</a> needs to know your IP Address,
as well as sometimes your contacts devices if you have a <a href="#experiments">call</a>
or use <a href="#webxdc">apps</a> together.</p>
<p>IP Addresses are needed for connectivity and efficiency.
They are neither persisted nor exposed.
Note that the IP Address
is not like a detailed address you give to a delivery service,
but much more coarse, often defining region or country only.</p>
<p>As this is just how the internet and other messengers work by default,
we do not offer options here or ask upfront questions.</p>
<p>If you see your IP Address as a security or privacy risk,
we recommend to use a VPN, in combination with system lockdown mode.
Hunting down options in all apps on your system will leave gaps.
For example, tapping a link exposes IP Addresses to unknown parties and is the by far larger risk here.</p>
<h3 id="sealedsender">
+66 -92
View File
@@ -26,7 +26,6 @@
<li><a href="#fshiva-veten-padashje">Fshiva veten padashje.</a></li>
<li><a href="#sdua-ti-marr-më-mesazhet-e-një-grupi">Sdua ti marr më mesazhet e një grupi.</a></li>
<li><a href="#cloning-a-group">Cloning a group</a></li>
<li><a href="#how-many-members-can-participate-in-a-single-group">How many members can participate in a single group?</a></li>
</ul>
</li>
<li><a href="#webxdc">In-chat apps</a>
@@ -55,7 +54,7 @@
</li>
<li><a href="#advanced">Advanced</a>
<ul>
<li><a href="#experiments">Experimental Features</a></li>
<li><a href="#experimental-features">Experimental Features</a></li>
<li><a href="#relays">What are Relays?</a></li>
<li><a href="#can-i-use-a-classic-email-address-with-delta-chat">Can I use a classic email address with Delta Chat?</a></li>
<li><a href="#classic-email">How can I configure a chat profile with a classic email address as relay?</a></li>
@@ -77,7 +76,6 @@
<li><a href="#tls">Are messages marked with the mail icon exposed on the Internet?</a></li>
<li><a href="#message-metadata">Si i mbron Delta Chat-i tejtëdhënat në mesazhe?</a></li>
<li><a href="#device-seizure">Si të mbrohen tejtëdhënat dhe kontaktet, kur shtien në dorë një pajisje?</a></li>
<li><a href="#who-sees-my-ip-address">Who sees my IP Address?</a></li>
<li><a href="#sealedsender">Does Delta Chat support “Sealed Sender”?</a></li>
<li><a href="#pfs">Does Delta Chat support Perfect Forward Secrecy?</a></li>
<li><a href="#pqc">Does Delta Chat support Post-Quantum-Cryptography?</a></li>
@@ -187,8 +185,7 @@ If you add each other to <a href="#groups">groups</a>, end-to-end encryption wil
<p>As being a private messenger,
only friends and family you <a href="#howtoe2ee">share your QR code or invite link with</a> can write to you.</p>
<p>Your friends may share your contact with other friends,
this appears as <b style="border: 1px solid currentColor; padding: 0 3px; font-size:90%">Request</b></p>
<p>Your friends may share your contact with other friends, this appears as a <strong>request</strong>.</p>
<ul>
<li>
@@ -226,10 +223,15 @@ and can tap it to start chatting with the first contact.</p>
</h3>
<p>Po Images, videos, files, voice messages etc. can be sent using the <img style="vertical-align:middle; width:1.0em; margin:1px" src="../paperclip.png" alt="Paperclip" /> <strong>Attachment-</strong>
<ul>
<li>
<p>Po Images, videos, files, voice messages etc. can be sent using the <img style="vertical-align:middle; width:1.0em; margin:1px" src="../paperclip.png" alt="Paperclip" /> <strong>Attachment-</strong>
or <img style="vertical-align:middle; width:0.8em; margin:1px" src="../mic.png" alt="Microphone" /> <strong>Voice Message</strong> buttons</p>
<p>Si parazgjedhje, për funksionim më të mirë, figurat optimizohen dhe dërgohen në madhësi më të vogël, por mund ta dërgoni si një “kartelë”, që të ruhet origjinali.</p>
</li>
<li>
<p>Si parazgjedhje, për funksionim më të mirë, figurat optimizohen dhe dërgohen në madhësi më të vogël, por mund ta dërgoni si një “kartelë”, që të ruhet origjinali.</p>
</li>
</ul>
<h3 id="multiple-accounts">
@@ -260,11 +262,16 @@ or to <strong>Switch Profiles</strong>.</p>
</h3>
<p>Mund të shtoni një foto profili te rregullimet tuaja. Nëse u shkruani kontakteve
tuaja ose i shtoni përmes kodi QR, e shohin automatikisht si foton e profilit tuaj.</p>
<p>Për arsye privatësie, askush se sheh foton tuaj të profilit, deri sa
tu shkruani një mesazh.</p>
<ul>
<li>
<p>Mund të shtoni një foto profili te rregullimet tuaja. Nëse u shkruani kontakteve
tuaja ose i shtoni përmes kodi QR, e shohin automatikisht si foton e profilit tuaj.</p>
</li>
<li>
<p>Për arsye privatësie, askush se sheh foton tuaj të profilit, deri sa
tu shkruani një mesazh.</p>
</li>
</ul>
<h3 id="signature">
@@ -297,7 +304,8 @@ they will see it when they view your contact details.</p>
<p><strong>Heshtoni fjalosje</strong>, nëse sdoni të merrni njoftime mbi to. Fjalosjet e heshtuara qëndrojnë në vend dhe mundeni edhe të fiksoni një fjalosje të heshtuar.</p>
</li>
<li>
<p><strong>Arkivoni fjalosje</strong>, nëse sdoni ti shihni më në listën tuaj të fjalosjeve. Fjalosjet e arkivuara mbesin të përdorshme mbi listën e fjalosjeve, ose përmes kërkimit.</p>
<p><strong>Arkivoni fjalosje</strong>, nëse sdoni ti shihni më në listën tuaj të fjalosjeve.
Fjalosjet e arkivuara mbesin të përdorshme mbi listën e fjalosjeve, ose përmes kërkimit.</p>
</li>
<li>
<p>Kur te një fjalosje e arkivuar vjen një mesazh i ri, do të <strong>hapet jashtë arkivit</strong> dhe kalojë te lista juaj e fjalosjeve, veç në mos qoftë e heshtuar.
@@ -333,7 +341,7 @@ By tapping <img style="vertical-align:middle; width:1.2em; margin:1px" src="../g
you can go back to the original message in the original chat</p>
</li>
<li>
<p>Finally, you can also use “Saved Messages” to take <strong>personal notes</strong> - open the chat, type something, add a photo or a voice message etc.</p>
<p>Finally, you can also use “Save Messages” to take <strong>personal notes</strong> - open the chat, type something, add a photo or a voice message etc.</p>
</li>
<li>
<p>As “Saved Message” are synced, they can become very handy for transferring data between devices</p>
@@ -370,18 +378,22 @@ and others will as well not always see that you are “online”.</p>
<ul>
<li>
<p><strong>One tick</strong> <img style="vertical-align:middle; width:1.5em; margin:1px" src="../tick1.png" alt="" />
means that the message was sent successfully to the <a href="#relays">relay</a>.</p>
means that the message was sent successfully to your provider.</p>
</li>
<li>
<p><strong>Two ticks</strong> <img style="vertical-align:middle; width:1.5em; margin:1px" src="../tick2.png" alt="" />
indicate your contact has read the message.</p>
mean that at least one recipients device
reported back to having received the message.</p>
</li>
<li>
<p>Recipients may have disabled read-receipts,
so even if you see only one tick, the message may have been read.</p>
</li>
<li>
<p>The other way round, two ticks do not automatically mean
that a human has read or understood the message ;)</p>
</li>
</ul>
<p>In <a href="#groups">groups</a> the second tick means that at least one member has reported back having read the message.</p>
<p>You will only get the second tick if both you and one of the recipients who read the message
has <strong>Settings → Chats → Read Receipts</strong> enabled.</p>
<h3 id="edit">
@@ -451,13 +463,14 @@ the (anyway encrypted) messages may take longer to get deleted from their server
</h3>
<p>Nëse doni të kurseni hapësirë në pajisjen tuaj, mund të zgjidhni të fshihen
automatikisht mesazhe të vjetër.</p>
<p>Për ta aktivizuar, kaloni te “fshi prej pajisjeje mesazhe të vjetër”, te rregullimet
<ul>
<li>Nëse doni të kurseni hapësirë në pajisjen tuaj, mund të zgjidhni të fshihen
automatikisht mesazhe të vjetër.</li>
<li>Për ta aktivizuar, kaloni te “fshi prej pajisjeje mesazhe të vjetër”, te rregullimet
“Fjalosje &amp; Media”. Mund të caktoni një periudhë nga “pas një ore” e deri
“pas një viti”; në këtë mënyrë, <em>krejt</em> mesazhet do të fshihen nga pajisja juaj
sapo të jenë më të vjetër se aq.</p>
sapo të jenë më të vjetër se aq.</li>
</ul>
<h3 id="remove-account">
@@ -505,15 +518,9 @@ and <a href="#edit">delete their own messages</a> from all members devices.</
</h3>
<ul>
<li>
<p>Prej menusë në cepin e sipërm djathtas, përzgjidhni <strong>Fjalosje e re</strong> dhe mandej <strong>Grup i ri</strong>, ose shtypni butonin përgjegjës në Android/iOS.</p>
</li>
<li>
<p>Te skena vijuese, përzgjidhni <strong>anëtarë grupi</strong> dhe përcaktoni një <strong>emër grupi</strong>. Mund të përzgjidhni edhe një <strong>avatar grupi</strong>.</p>
</li>
<li>
<p>Sapo të shkruani <strong>mesazhin e parë</strong> te grupi, krejt anëtarët marrin vesh për grupin e ri dhe mund të përgjigjen në të (për sa kohë që te grupi sshkruani një mesazh i cili është i padukshëm për anëtarët).</p>
</li>
<li>Prej menusë në cepin e sipërm djathtas, përzgjidhni <strong>Fjalosje e re</strong> dhe mandej <strong>Grup i ri</strong>, ose shtypni butonin përgjegjës në Android/iOS.</li>
<li>Te skena vijuese, përzgjidhni <strong>anëtarë grupi</strong> dhe përcaktoni një <strong>emër grupi</strong>. Mund të përzgjidhni edhe një <strong>avatar grupi</strong>.</li>
<li>Sapo të shkruani <strong>mesazhin e parë</strong> te grupi, krejt anëtarët marrin vesh për grupin e ri dhe mund të përgjigjen në të (për sa kohë që te grupi sshkruani një mesazh i cili është i padukshëm për anëtarët).</li>
</ul>
<h3 id="addmembers">
@@ -524,10 +531,11 @@ and <a href="#edit">delete their own messages</a> from all members devices.</
</h3>
<p>All group members have the <strong>same rights</strong>.
For this reason, everyone can delete any member or add new ones.</p>
<ul>
<li>
<p>All group members have the <strong>same rights</strong>.
For this reason, everyone can delete any member or add new ones.</p>
</li>
<li>
<p>To <strong>add or delete members</strong>, tap the group name in the chat and select the member to add or remove.</p>
</li>
@@ -555,8 +563,10 @@ However, since groups are <a href="#groups">meant for trusted people</a>, avoid
</h3>
<p>Ngaqë sjeni më anëtar i grupit, smund të shtoni veten sërish.
Megjithatë, ska problem, thjesht kërkojini një anëtari tjetër të grupit në një fjalosje të zakonshme tju shtojë sërish.</p>
<ul>
<li>Ngaqë sjeni më anëtar i grupit, smund të shtoni veten sërish.
Megjithatë, ska problem, thjesht kërkojini një anëtari tjetër të grupit në një fjalosje të zakonshme tju shtojë sërish.</li>
</ul>
<h3 id="sdua-ti-marr-më-mesazhet-e-një-grupi">
@@ -567,13 +577,16 @@ However, since groups are <a href="#groups">meant for trusted people</a>, avoid
</h3>
<ul>
<li>Ose fshini veten si anëtar i listës, ose fshini krejt bisedën.
Nëse më vonë doni të ribëheni pjesë e grupit, kërkojini një anëtari tjetër të grupit tju shtojë sërish.</li>
</ul>
<p>Ndryshe, mundeni edhe ta “Heshtoni” një grup - duke bërë këtë, do të merrni
<li>
<p>Ose fshini veten si anëtar i listës, ose fshini krejt bisedën.
Nëse më vonë doni të ribëheni pjesë e grupit, kërkojini një anëtari tjetër të grupit tju shtojë sërish.</p>
</li>
<li>
<p>Ndryshe, mundeni edhe ta “Heshtoni” një grup - duke bërë këtë, do të merrni
krejt mesazhet dhe prapë mund të shkruani, por nuk njoftoheni më,
për çfarëdo mesazhesh të rinj.</p>
</li>
</ul>
<h3 id="cloning-a-group">
@@ -599,21 +612,6 @@ or right-click the group in the chat list (Desktop).</p>
<p>The new group is <strong>fully independent</strong> from the original,
which continues to work as before.</p>
<h3 id="how-many-members-can-participate-in-a-single-group">
How many members can participate in a single group? <a href="#how-many-members-can-participate-in-a-single-group" class="anchor"></a>
</h3>
<p>There is no strict technical limit,
but more than 150 is not recommended.</p>
<p>As groups get larger, they can become socially unstable and may need a hierarchy -
where Delta Chat is a private messenger for chatting with <a href="#groups">equal rights</a>.
See <a href="https://en.wikipedia.org/wiki/Dunbar%27s_number">Dunbars number</a> for more insights.</p>
<h2 id="webxdc">
@@ -902,7 +900,7 @@ Njëra pajisja ska nevojë për tjetrën që të funksionojë.</p>
<p>Kontrolloni sërish që të dyja pajisjet të gjenden në <strong>të njëjtin rrjet Wi-Fi ose klasik</strong></p>
</li>
<li>
<p>On <strong>Windows</strong>, go to Control Panel / Network and Internet
<p>On <strong>Windows</strong>, go to <strong>Control Panel / Network and Internet</strong>
and make sure, <strong>Private Network</strong> is selected as “Network profile type”
(after transfer, you can change back to the original value)</p>
</li>
@@ -999,10 +997,10 @@ Windows Desktop, ose AppImage për Linux. Mund ti gjeni te
</h2>
<h3 id="experiments">
<h3 id="experimental-features">
Experimental Features <a href="#experiments" class="anchor"></a>
Experimental Features <a href="#experimental-features" class="anchor"></a>
</h3>
@@ -1038,7 +1036,7 @@ you can configure relays at At <strong>Settings → Advanced → Relays</strong>
<li>
<p>You can <strong>add</strong> a relay by scanning its QR code;
<a href="https://chatmail.at/relays">https://chatmail.at/relays</a> shows some known ones.
If you have multiple relays, you will receive messages on all of them.</p>
If you have multiple relays, your will receive messages on all of them.</p>
</li>
<li>
<p>The <strong>default</strong> defines the one where your chat partners send future messages to.</p>
@@ -1161,7 +1159,9 @@ weekly statistics will be automatically sent to a bot.</p>
</h3>
<p>Shihni <a href="https://github.com/chatmail/core/blob/main/standards.md#standards-used-in-delta-chat">Standarde të përdorur në Delta Chat</a>.</p>
<ul>
<li>Shihni <a href="https://github.com/chatmail/core/blob/main/standards.md#standards-used-in-delta-chat">Standarde të përdorur në Delta Chat</a>.</li>
</ul>
<h2 id="e2ee">
@@ -1400,32 +1400,6 @@ with the knowledge that all their data, along with all metadata, will be deleted
Moreover, if a device is seized then chat contacts using short-lived profiles
can not be identified easily.</p>
<h3 id="who-sees-my-ip-address">
Who sees my IP Address? <a href="#who-sees-my-ip-address" class="anchor"></a>
</h3>
<p>The used <a href="#relays">relay</a> needs to know your IP Address,
as well as sometimes your contacts devices if you have a <a href="#experiments">call</a>
or use <a href="#webxdc">apps</a> together.</p>
<p>IP Addresses are needed for connectivity and efficiency.
They are neither persisted nor exposed.
Note that the IP Address
is not like a detailed address you give to a delivery service,
but much more coarse, often defining region or country only.</p>
<p>As this is just how the internet and other messengers work by default,
we do not offer options here or ask upfront questions.</p>
<p>If you see your IP Address as a security or privacy risk,
we recommend to use a VPN, in combination with system lockdown mode.
Hunting down options in all apps on your system will leave gaps.
For example, tapping a link exposes IP Addresses to unknown parties and is the by far larger risk here.</p>
<h3 id="sealedsender">
+59 -85
View File
@@ -25,7 +25,6 @@
<li><a href="#я-випадково-себе-видалив">Я випадково себе видалив</a></li>
<li><a href="#я-більше-не-хочу-отримувати-повідомлення-групи">Я більше не хочу отримувати повідомлення групи.</a></li>
<li><a href="#клонування-групи">Клонування групи</a></li>
<li><a href="#how-many-members-can-participate-in-a-single-group">How many members can participate in a single group?</a></li>
</ul>
</li>
<li><a href="#webxdc">In-chat apps</a>
@@ -54,7 +53,7 @@
</li>
<li><a href="#advanced">Advanced</a>
<ul>
<li><a href="#experiments">Експериментальні функції</a></li>
<li><a href="#експериментальні-функції">Експериментальні функції</a></li>
<li><a href="#relays">What are Relays?</a></li>
<li><a href="#can-i-use-a-classic-email-address-with-delta-chat">Can I use a classic email address with Delta Chat?</a></li>
<li><a href="#classic-email">How can I configure a chat profile with a classic email address as relay?</a></li>
@@ -76,7 +75,6 @@
<li><a href="#чи-повідомлення-позначені-значком-пошти-доступні-в-інтернетіtls">Чи повідомлення, позначені значком пошти, доступні в Інтернеті?{#tls}</a></li>
<li><a href="#message-metadata">Як Delta Chat захищає метадані у повідомленнях?</a></li>
<li><a href="#device-seizure">Як захистити метадані та контакти якщо пристрій вилучено?</a></li>
<li><a href="#who-sees-my-ip-address">Who sees my IP Address?</a></li>
<li><a href="#sealedsender">Чи підтримує Delta Chat функцію “Запечатаний відправник”?</a></li>
<li><a href="#pfs">Чи підтримує Delta Chat цілковиту пряму секретність (Perfect Forward Secrecy)?</a></li>
<li><a href="#pqc">Чи підтримує Delta Chat пост-квантову криптографію?</a></li>
@@ -182,8 +180,7 @@ the ability to chat is delayed until connectivity is restored.</p>
<p>As being a private messenger,
only friends and family you <a href="#howtoe2ee">share your QR code or invite link with</a> can write to you.</p>
<p>Your friends may share your contact with other friends,
this appears as <b style="border: 1px solid currentColor; padding: 0 3px; font-size:90%">Request</b></p>
<p>Your friends may share your contact with other friends, this appears as a <strong>request</strong>.</p>
<ul>
<li>
@@ -219,10 +216,15 @@ and can tap it to start chatting with the first contact.</p>
</h3>
<p>Так. Images, videos, files, voice messages etc. can be sent using the <img style="vertical-align:middle; width:1.0em; margin:1px" src="../paperclip.png" alt="Paperclip" /> <strong>Attachment-</strong>
<ul>
<li>
<p>Так. Images, videos, files, voice messages etc. can be sent using the <img style="vertical-align:middle; width:1.0em; margin:1px" src="../paperclip.png" alt="Paperclip" /> <strong>Attachment-</strong>
or <img style="vertical-align:middle; width:0.8em; margin:1px" src="../mic.png" alt="Microphone" /> <strong>Voice Message</strong> buttons</p>
<p>З міркувань продуктивності, зображення оптимізовані та надсилаються в меншому розмірі за замовчуванням, але ви можете надіслати їх як «файл», щоб зберегти оригінал.</p>
</li>
<li>
<p>З міркувань продуктивності, зображення оптимізовані та надсилаються в меншому розмірі за замовчуванням, але ви можете надіслати їх як «файл», щоб зберегти оригінал.</p>
</li>
</ul>
<h3 id="multiple-accounts">
@@ -252,9 +254,14 @@ and uses the server only to relay messages.</p>
</h3>
<p>Ви можете додати зображення профілю в ваших налаштуваннях. Якщо ви пишете комусь із ваших контактів чи додаєте їх через QR код, вони автоматично побачать ваше зображення профілю.</p>
<p>Із міркувань приватності, ніхто не бачить ваше зображення профілю доки ви їм не напишете.</p>
<ul>
<li>
<p>Ви можете додати зображення профілю в ваших налаштуваннях. Якщо ви пишете комусь із ваших контактів чи додаєте їх через QR код, вони автоматично побачать ваше зображення профілю.</p>
</li>
<li>
<p>Із міркувань приватності, ніхто не бачить ваше зображення профілю доки ви їм не напишете.</p>
</li>
</ul>
<h3 id="signature">
@@ -287,7 +294,8 @@ they will see it when they view your contact details.</p>
<p><strong>Приглушіть чати</strong> якщо ви не хочете отримувати сповіщення для них. Приглушені чати залишаються на місці і ви також можете закріпити приглушений чат.</p>
</li>
<li>
<p><strong>Архівуйте чати</strong>, якщо ви більше не хочете бачити їх у своєму списку чатів. Заархівовані чати залишаються доступними над списком чатів або через пошук.</p>
<p><strong>Архівуйте чати</strong>, якщо ви більше не хочете бачити їх у своєму списку чатів.
Заархівовані чати залишаються доступними над списком чатів або через пошук.</p>
</li>
<li>
<p>Коли архівний чат отримує нове повідомлення, якщо не приглушений, він <strong>вискочить з архіву</strong> і повернеться у ваш список чатів.
@@ -354,18 +362,22 @@ and others will as well not always see that you are “online”.</p>
<ul>
<li>
<p><strong>One tick</strong> <img style="vertical-align:middle; width:1.5em; margin:1px" src="../tick1.png" alt="" />
means that the message was sent successfully to the <a href="#relays">relay</a>.</p>
means that the message was sent successfully to your provider.</p>
</li>
<li>
<p><strong>Two ticks</strong> <img style="vertical-align:middle; width:1.5em; margin:1px" src="../tick2.png" alt="" />
indicate your contact has read the message.</p>
mean that at least one recipients device
reported back to having received the message.</p>
</li>
<li>
<p>Recipients may have disabled read-receipts,
so even if you see only one tick, the message may have been read.</p>
</li>
<li>
<p>The other way round, two ticks do not automatically mean
that a human has read or understood the message ;)</p>
</li>
</ul>
<p>In <a href="#groups">groups</a> the second tick means that at least one member has reported back having read the message.</p>
<p>You will only get the second tick if both you and one of the recipients who read the message
has <strong>Settings → Chats → Read Receipts</strong> enabled.</p>
<h3 id="edit">
@@ -426,10 +438,11 @@ the (anyway encrypted) messages may take longer to get deleted from their server
</h3>
<p>Якщо ви хочете заощадити пам’ять на своєму пристрої, ви можете видалити старе повідомлення автоматично.</p>
<p>Щоб увімкнути його, перейдіть до «видалити старі повідомлення з пристрою» в налаштуваннях «Чатів та медіа» . Ви можете встановити часові рамки від «через годину» до «через рік»;
Таким чином, <em>усі</em> повідомлення будуть видалені з вашого пристрою, як тільки вони будуть старішими за це.</p>
<ul>
<li>Якщо ви хочете заощадити пам’ять на своєму пристрої, ви можете видалити старе повідомлення автоматично.</li>
<li>Щоб увімкнути його, перейдіть до «видалити старі повідомлення з пристрою» в налаштуваннях «Чатів та медіа» . Ви можете встановити часові рамки від «через годину» до «через рік»;
Таким чином, <em>усі</em> повідомлення будуть видалені з вашого пристрою, як тільки вони будуть старішими за це.</li>
</ul>
<p>Як я можу видалити свій профіль у Delta Chat? {#remove-account}</p>
@@ -471,15 +484,9 @@ and <a href="#edit">delete their own messages</a> from all members devices.</
</h3>
<ul>
<li>
<p>Оберіть <strong>Новий чат</strong>, потім <strong>Нова групи</strong> у меню в верхньому правому кутку або натисніть відповідну кнопку у Android/iOS.</p>
</li>
<li>
<p>На наступному екрані виберіть <strong>учасники групи</strong> та встановіть <strong>назву групи</strong>. Ви також можете обрати <strong>аватар групи</strong>.</p>
</li>
<li>
<p>Як тільки ви напишете <strong>перше повідомлення</strong> у групу, усі учасники будуть проінформовані про нову групу і зможуть відповісти у нову групу (доки ви не напишете повідомлення у групі, група залишатиметься невидимою для учасників).</p>
</li>
<li>Оберіть <strong>Новий чат</strong>, потім <strong>Нова групи</strong> у меню в верхньому правому кутку або натисніть відповідну кнопку у Android/iOS.</li>
<li>На наступному екрані виберіть <strong>учасники групи</strong> та встановіть <strong>назву групи</strong>. Ви також можете обрати <strong>аватар групи</strong>.</li>
<li>Як тільки ви напишете <strong>перше повідомлення</strong> у групу, усі учасники будуть проінформовані про нову групу і зможуть відповісти у нову групу (доки ви не напишете повідомлення у групі, група залишатиметься невидимою для учасників).</li>
</ul>
<h3 id="addmembers">
@@ -490,10 +497,11 @@ and <a href="#edit">delete their own messages</a> from all members devices.</
</h3>
<p>All group members have the <strong>same rights</strong>.
For this reason, everyone can delete any member or add new ones.</p>
<ul>
<li>
<p>Усі учасники групи мають <strong>однакові права</strong>.
Тому кожен може видалити будь-якого учасника або додати нових.</p>
</li>
<li>
<p>To <strong>add or delete members</strong>, tap the group name in the chat and select the member to add or remove.</p>
</li>
@@ -521,7 +529,9 @@ However, since groups are <a href="#groups">meant for trusted people</a>, avoid
</h3>
<p>Оскільки ви більше не учасник групи, ви не зможете додати себе знову. Однак, це не проблема, просто попросіть будь-якого іншого учасника групи в звичайному чаті додати вас знову.</p>
<ul>
<li>Оскільки ви більше не учасник групи, ви не зможете додати себе знову. Однак, це не проблема, просто попросіть будь-якого іншого учасника групи в звичайному чаті додати вас знову.</li>
</ul>
<h3 id="я-більше-не-хочу-отримувати-повідомлення-групи">
@@ -532,10 +542,13 @@ However, since groups are <a href="#groups">meant for trusted people</a>, avoid
</h3>
<ul>
<li>Або видаліть себе із списку учасників групи, або видаліть весь чат. Якщо ви хочете повернутись до чату пізніше, попросіть іншого учасника групи додати вас знову.</li>
<li>
<p>Або видаліть себе із списку учасників групи, або видаліть весь чат. Якщо ви хочете повернутись до чату пізніше, попросіть іншого учасника групи додати вас знову.</p>
</li>
<li>
<p>Ви також можете “Заглушити” групу - це означає, що ви будете отримувати усі повідомлення та можете писати у групу, але ви більше не будете отримувати сповіщення про нові повідомлення.</p>
</li>
</ul>
<p>Ви також можете “Заглушити” групу - це означає, що ви будете отримувати усі повідомлення та можете писати у групу, але ви більше не будете отримувати сповіщення про нові повідомлення.</p>
<h3 id="клонування-групи">
@@ -561,21 +574,6 @@ or right-click the group in the chat list (Desktop).</p>
<p>Нова група є <strong>цілком незалежною</strong> від оригінальної,
котра продовжує працювати як раніше.</p>
<h3 id="how-many-members-can-participate-in-a-single-group">
How many members can participate in a single group? <a href="#how-many-members-can-participate-in-a-single-group" class="anchor"></a>
</h3>
<p>There is no strict technical limit,
but more than 150 is not recommended.</p>
<p>As groups get larger, they can become socially unstable and may need a hierarchy -
where Delta Chat is a private messenger for chatting with <a href="#groups">equal rights</a>.
See <a href="https://en.wikipedia.org/wiki/Dunbar%27s_number">Dunbars number</a> for more insights.</p>
<h2 id="webxdc">
@@ -833,7 +831,7 @@ Welcome to the power of the interoperable chatmail relay network :)</p>
<p>Ще раз упевніться, що обидва пристрої підключені до <strong>одного Wi-Fi або мережі</strong></p>
</li>
<li>
<p>У <strong>Windows</strong> перейдіть до Панель керування / Мережа та Інтернет і переконайтеся, що <strong>Приватна мережа</strong> вибрано як “Тип мережевого профілю” (після перенесення ви можете повернути початкове значення)</p>
<p>У <strong>Windows</strong> перейдіть до <strong>Панель керування / Мережа та Інтернет</strong> і переконайтеся, що <strong>Приватна мережа</strong> вибрано як “Тип мережевого профілю” (після перенесення ви можете повернути початкове значення)</p>
</li>
<li>
<p>На <strong>iOS</strong> переконайтеся, що доступ до “Системні налаштування / Програми / Delta Chat / <strong>Локальна мережа</strong>” дозволено</p>
@@ -906,10 +904,10 @@ Welcome to the power of the interoperable chatmail relay network :)</p>
</h2>
<h3 id="experiments">
<h3 id="експериментальні-функції">
Експериментальні функції <a href="#experiments" class="anchor"></a>
Експериментальні функції <a href="#експериментальні-функції" class="anchor"></a>
</h3>
@@ -945,7 +943,7 @@ you can configure relays at At <strong>Settings → Advanced → Relays</strong>
<li>
<p>You can <strong>add</strong> a relay by scanning its QR code;
<a href="https://chatmail.at/relays">https://chatmail.at/relays</a> shows some known ones.
If you have multiple relays, you will receive messages on all of them.</p>
If you have multiple relays, your will receive messages on all of them.</p>
</li>
<li>
<p>The <strong>default</strong> defines the one where your chat partners send future messages to.</p>
@@ -1068,7 +1066,9 @@ to send anonymous usage statistics.</p>
</h3>
<p>Дивіться <a href="https://github.com/chatmail/core/blob/main/standards.md#standards-used-in-delta-chat">Стандарти, що використовуються у Delta Chat</a>.</p>
<ul>
<li>Дивіться <a href="https://github.com/chatmail/core/blob/main/standards.md#standards-used-in-delta-chat">Стандарти, що використовуються у Delta Chat</a>.</li>
</ul>
<h2 id="e2ee">
@@ -1246,32 +1246,6 @@ with the knowledge that all their data, along with all metadata, will be deleted
Moreover, if a device is seized then chat contacts using short-lived profiles
can not be identified easily.</p>
<h3 id="who-sees-my-ip-address">
Who sees my IP Address? <a href="#who-sees-my-ip-address" class="anchor"></a>
</h3>
<p>The used <a href="#relays">relay</a> needs to know your IP Address,
as well as sometimes your contacts devices if you have a <a href="#experiments">call</a>
or use <a href="#webxdc">apps</a> together.</p>
<p>IP Addresses are needed for connectivity and efficiency.
They are neither persisted nor exposed.
Note that the IP Address
is not like a detailed address you give to a delivery service,
but much more coarse, often defining region or country only.</p>
<p>As this is just how the internet and other messengers work by default,
we do not offer options here or ask upfront questions.</p>
<p>If you see your IP Address as a security or privacy risk,
we recommend to use a VPN, in combination with system lockdown mode.
Hunting down options in all apps on your system will leave gaps.
For example, tapping a link exposes IP Addresses to unknown parties and is the by far larger risk here.</p>
<h3 id="sealedsender">
+56 -83
View File
@@ -26,7 +26,6 @@
<li><a href="#我不小心删除了我自己">我不小心删除了我自己。</a></li>
<li><a href="#我不想再收到某个群组中的消息了">我不想再收到某个群组中的消息了。</a></li>
<li><a href="#cloning-a-group">Cloning a group</a></li>
<li><a href="#how-many-members-can-participate-in-a-single-group">How many members can participate in a single group?</a></li>
</ul>
</li>
<li><a href="#webxdc">In-chat apps</a>
@@ -55,7 +54,7 @@
</li>
<li><a href="#advanced">Advanced</a>
<ul>
<li><a href="#experiments">Experimental Features</a></li>
<li><a href="#experimental-features">Experimental Features</a></li>
<li><a href="#relays">What are Relays?</a></li>
<li><a href="#can-i-use-a-classic-email-address-with-delta-chat">Can I use a classic email address with Delta Chat?</a></li>
<li><a href="#classic-email">How can I configure a chat profile with a classic email address as relay?</a></li>
@@ -77,7 +76,6 @@
<li><a href="#tls">Are messages marked with the mail icon exposed on the Internet?</a></li>
<li><a href="#message-metadata">Delta Chat 如何保护消息中的元数据?</a></li>
<li><a href="#device-seizure">当设备被查封时,如何保护元数据和联系人?</a></li>
<li><a href="#who-sees-my-ip-address">Who sees my IP Address?</a></li>
<li><a href="#sealedsender">Does Delta Chat support “Sealed Sender”?</a></li>
<li><a href="#pfs">Delta Chat 是否支持完美前向保密?</a></li>
<li><a href="#pqc">Does Delta Chat support Post-Quantum-Cryptography?</a></li>
@@ -187,8 +185,7 @@ If you add each other to <a href="#groups">groups</a>, end-to-end encryption wil
<p>As being a private messenger,
only friends and family you <a href="#howtoe2ee">share your QR code or invite link with</a> can write to you.</p>
<p>Your friends may share your contact with other friends,
this appears as <b style="border: 1px solid currentColor; padding: 0 3px; font-size:90%">Request</b></p>
<p>Your friends may share your contact with other friends, this appears as a <strong>request</strong>.</p>
<ul>
<li>
@@ -226,10 +223,15 @@ and can tap it to start chatting with the first contact.</p>
</h3>
<p>是的。 Images, videos, files, voice messages etc. can be sent using the <img style="vertical-align:middle; width:1.0em; margin:1px" src="../paperclip.png" alt="Paperclip" /> <strong>Attachment-</strong>
<ul>
<li>
<p>是的。 Images, videos, files, voice messages etc. can be sent using the <img style="vertical-align:middle; width:1.0em; margin:1px" src="../paperclip.png" alt="Paperclip" /> <strong>Attachment-</strong>
or <img style="vertical-align:middle; width:0.8em; margin:1px" src="../mic.png" alt="Microphone" /> <strong>Voice Message</strong> buttons</p>
<p>为了提高性能,默认情况下会对图像进行优化并以较小的尺寸发送,但您也可以将其作为 “文件 “发送,以保留原始图像。</p>
</li>
<li>
<p>为了提高性能,默认情况下会对图像进行优化并以较小的尺寸发送,但您也可以将其作为 “文件 “发送,以保留原始图像。</p>
</li>
</ul>
<h3 id="multiple-accounts">
@@ -260,9 +262,14 @@ and uses the server only to relay messages.</p>
</h3>
<p>您可以在设置中添加个人资料图片。如果您给您的联系人发消息或者通过二维码添加他们,他们会自动看到您的个人资料图片。</p>
<p>出于隐私原因,在您向他们发送消息之前,没有人会看到您的个人资料片。</p>
<ul>
<li>
<p>您可以在设置中添加个人资料图片。如果您给您的联系人发消息或者通过二维码添加他们,他们会自动看到您的个人资料片。</p>
</li>
<li>
<p>出于隐私原因,在您向他们发送消息之前,没有人会看到您的个人资料照片。</p>
</li>
</ul>
<h3 id="signature">
@@ -368,18 +375,22 @@ and others will as well not always see that you are “online”.</p>
<ul>
<li>
<p><strong>One tick</strong> <img style="vertical-align:middle; width:1.5em; margin:1px" src="../tick1.png" alt="" />
means that the message was sent successfully to the <a href="#relays">relay</a>.</p>
means that the message was sent successfully to your provider.</p>
</li>
<li>
<p><strong>Two ticks</strong> <img style="vertical-align:middle; width:1.5em; margin:1px" src="../tick2.png" alt="" />
indicate your contact has read the message.</p>
mean that at least one recipients device
reported back to having received the message.</p>
</li>
<li>
<p>Recipients may have disabled read-receipts,
so even if you see only one tick, the message may have been read.</p>
</li>
<li>
<p>The other way round, two ticks do not automatically mean
that a human has read or understood the message ;)</p>
</li>
</ul>
<p>In <a href="#groups">groups</a> the second tick means that at least one member has reported back having read the message.</p>
<p>You will only get the second tick if both you and one of the recipients who read the message
has <strong>Settings → Chats → Read Receipts</strong> enabled.</p>
<h3 id="edit">
@@ -445,9 +456,10 @@ the (anyway encrypted) messages may take longer to get deleted from their server
</h3>
<p>若要节省设备上的存储空间,可以开启自动删除旧消息</p>
<p>找到“聊天与媒体”设置中的“从设备删除旧消息”,在从“一小时后”到“一年后”的一系列选项中选择一个。这样,设备上 <em>所有</em> 比所选择时间长度老的消息将被删除</p>
<ul>
<li>若要节省设备上的存储空间,可以开启自动删除旧消息。</li>
<li>找到“聊天与媒体”设置中的“从设备删除旧消息”,在从“一小时后”到“一年后”的一系列选项中选择一个。这样,设备上 <em>所有</em> 比所选择时间长度老的消息将被删除</li>
</ul>
<h3 id="remove-account">
@@ -495,15 +507,9 @@ and <a href="#edit">delete their own messages</a> from all members devices.</
</h3>
<ul>
<li>
<p>从右上角的菜单中选择<strong>新建聊天</strong>,然后选择<strong>新建群组</strong>或在 Android/iOS 上点击相应的按钮</p>
</li>
<li>
<p>在随后的屏幕上,选择<strong>群组成员</strong>并起一个<strong>群组名称</strong>。您也可以选择一个<strong>群组头像</strong></p>
</li>
<li>
<p>当您在群组中发送<strong>第一条消息</strong>时,所有成员都会被告知新群组的信息并可以在该群组中应答(只要您不在群组中发送第一条消息,那么群组对成员就是不可见的)。</p>
</li>
<li>从右上角的菜单中选择<strong>新建聊天</strong>,然后选择<strong>新建群组</strong>或在 Android/iOS 上点击相应的按钮。</li>
<li>在随后的屏幕上,选择<strong>群组成员</strong>并起一个<strong>群组名称</strong>。您也可以选择一个<strong>群组头像</strong></li>
<li>当您在群组中发送<strong>第一条消息</strong>时,所有成员都会被告知新群组的信息并可以在该群组中应答(只要您不在群组中发送第一条消息,那么群组对成员就是不可见的)。</li>
</ul>
<h3 id="addmembers">
@@ -514,10 +520,11 @@ and <a href="#edit">delete their own messages</a> from all members devices.</
</h3>
<p>All group members have the <strong>same rights</strong>.
For this reason, everyone can delete any member or add new ones.</p>
<ul>
<li>
<p>All group members have the <strong>same rights</strong>.
For this reason, everyone can delete any member or add new ones.</p>
</li>
<li>
<p>To <strong>add or delete members</strong>, tap the group name in the chat and select the member to add or remove.</p>
</li>
@@ -545,7 +552,9 @@ However, since groups are <a href="#groups">meant for trusted people</a>, avoid
</h3>
<p>由于您不再是群组成员,您无法将自己加入到群组中。但是,问题不大,只需在普通聊天中请求其他群组成员将您重新加入即可。</p>
<ul>
<li>由于您不再是群组成员,您无法将自己加入到群组中。但是,问题不大,只需在普通聊天中请求其他群组成员将您重新加入即可。</li>
</ul>
<h3 id="我不想再收到某个群组中的消息了">
@@ -556,10 +565,13 @@ However, since groups are <a href="#groups">meant for trusted people</a>, avoid
</h3>
<ul>
<li>从成员列表中删除自己,或者删除整个聊天。如果您之后想再加入该群组,请让其他群组成员添加您。</li>
<li>
<p>从成员列表中删除自己,或者删除整个聊天。如果您之后想再加入该群组,请让其他群组成员添加您。</p>
</li>
<li>
<p>另外,您也可以“静音”群组——这样做意味着您会收到所有消息并且仍可以编写消息,但不会再收到任何新消息的通知。</p>
</li>
</ul>
<p>另外,您也可以“静音”群组——这样做意味着您会收到所有消息并且仍可以编写消息,但不会再收到任何新消息的通知。</p>
<h3 id="cloning-a-group">
@@ -585,21 +597,6 @@ or right-click the group in the chat list (Desktop).</p>
<p>The new group is <strong>fully independent</strong> from the original,
which continues to work as before.</p>
<h3 id="how-many-members-can-participate-in-a-single-group">
How many members can participate in a single group? <a href="#how-many-members-can-participate-in-a-single-group" class="anchor"></a>
</h3>
<p>There is no strict technical limit,
but more than 150 is not recommended.</p>
<p>As groups get larger, they can become socially unstable and may need a hierarchy -
where Delta Chat is a private messenger for chatting with <a href="#groups">equal rights</a>.
See <a href="https://en.wikipedia.org/wiki/Dunbar%27s_number">Dunbars number</a> for more insights.</p>
<h2 id="webxdc">
@@ -885,7 +882,7 @@ Welcome to the power of the interoperable chatmail relay network :)</p>
<p>仔细检查两台设备是否在<strong>同一个 Wi-Fi 或网络中</strong></p>
</li>
<li>
<p><strong>Windows</strong> 上,转到控制面板 / 网络和 Internet
<p><strong>Windows</strong> 上,转到<strong>控制面板 / 网络和 Internet</strong>
并确保<strong>专用网络</strong>被选为“网络配置文件类型”
(传输后,你可以更改回原始值)</p>
</li>
@@ -970,10 +967,10 @@ Welcome to the power of the interoperable chatmail relay network :)</p>
</h2>
<h3 id="experiments">
<h3 id="experimental-features">
Experimental Features <a href="#experiments" class="anchor"></a>
Experimental Features <a href="#experimental-features" class="anchor"></a>
</h3>
@@ -1009,7 +1006,7 @@ you can configure relays at At <strong>Settings → Advanced → Relays</strong>
<li>
<p>You can <strong>add</strong> a relay by scanning its QR code;
<a href="https://chatmail.at/relays">https://chatmail.at/relays</a> shows some known ones.
If you have multiple relays, you will receive messages on all of them.</p>
If you have multiple relays, your will receive messages on all of them.</p>
</li>
<li>
<p>The <strong>default</strong> defines the one where your chat partners send future messages to.</p>
@@ -1132,7 +1129,9 @@ weekly statistics will be automatically sent to a bot.</p>
</h3>
<p>请参阅 <a href="https://github.com/chatmail/core/blob/main/standards.md#standards-used-in-delta-chat">Delta Chat 中使用的标准</a></p>
<ul>
<li>请参阅 <a href="https://github.com/chatmail/core/blob/main/standards.md#standards-used-in-delta-chat">Delta Chat 中使用的标准</a></li>
</ul>
<h2 id="e2ee">
@@ -1368,32 +1367,6 @@ with the knowledge that all their data, along with all metadata, will be deleted
Moreover, if a device is seized then chat contacts using short-lived profiles
can not be identified easily.</p>
<h3 id="who-sees-my-ip-address">
Who sees my IP Address? <a href="#who-sees-my-ip-address" class="anchor"></a>
</h3>
<p>The used <a href="#relays">relay</a> needs to know your IP Address,
as well as sometimes your contacts devices if you have a <a href="#experiments">call</a>
or use <a href="#webxdc">apps</a> together.</p>
<p>IP Addresses are needed for connectivity and efficiency.
They are neither persisted nor exposed.
Note that the IP Address
is not like a detailed address you give to a delivery service,
but much more coarse, often defining region or country only.</p>
<p>As this is just how the internet and other messengers work by default,
we do not offer options here or ask upfront questions.</p>
<p>If you see your IP Address as a security or privacy risk,
we recommend to use a VPN, in combination with system lockdown mode.
Hunting down options in all apps on your system will leave gaps.
For example, tapping a link exposes IP Addresses to unknown parties and is the by far larger risk here.</p>
<h3 id="sealedsender">
@@ -35,7 +35,6 @@ public class DcContext {
public final static int DC_EVENT_INCOMING_CALL_ACCEPTED = 2560;
public final static int DC_EVENT_OUTGOING_CALL_ACCEPTED = 2570;
public final static int DC_EVENT_CALL_ENDED = 2580;
public final static int DC_EVENT_TRANSPORTS_MODIFIED = 2600;
public final static int DC_IMEX_EXPORT_SELF_KEYS = 1;
public final static int DC_IMEX_IMPORT_SELF_KEYS = 2;
@@ -64,9 +64,9 @@ public class ApplicationContext extends MultiDexApplication {
private Rpc rpc;
private DcContext dcContext;
private DcLocationManager dcLocationManager;
private DcEventCenter eventCenter;
private NotificationCenter notificationCenter;
public DcLocationManager dcLocationManager;
public DcEventCenter eventCenter;
public NotificationCenter notificationCenter;
private JobManager jobManager;
private int debugOnAvailableCount;
@@ -129,33 +129,6 @@ public class ApplicationContext extends MultiDexApplication {
}
}
/**
* Get DcLocationManager instance, waiting for initialization if necessary.
* This method is thread-safe and will block until initialization is complete.
*/
public DcLocationManager getLocationManager() {
ensureInitialized();
return dcLocationManager;
}
/**
* Get DcEventCenter instance, waiting for initialization if necessary.
* This method is thread-safe and will block until initialization is complete.
*/
public DcEventCenter getEventCenter() {
ensureInitialized();
return eventCenter;
}
/**
* Get NotificationCenter instance, waiting for initialization if necessary.
* This method is thread-safe and will block until initialization is complete.
*/
public NotificationCenter getNotificationCenter() {
ensureInitialized();
return notificationCenter;
}
@Override
public void onCreate() {
super.onCreate();
@@ -217,11 +190,7 @@ public class ApplicationContext extends MultiDexApplication {
}
}
// 2025-12-16: The setting was removed.
// Revert it to the default if it was changed in the past.
ac.setConfigInt("webxdc_realtime_enabled", 1);
// 2025-11-12: this is needed until core starts ignoring "delete_server_after" for chatmail
// 2025.11.12: this is needed until core starts ignoring "delete_server_after" for chatmail
if (ac.isChatmail()) {
ac.setConfig("delete_server_after", null); // reset
}
@@ -236,13 +205,14 @@ public class ApplicationContext extends MultiDexApplication {
dcContext = dcAccounts.getSelectedAccount();
notificationCenter = new NotificationCenter(this);
eventCenter = new DcEventCenter(this);
dcLocationManager = new DcLocationManager(this, dcContext);
// Mark as initialized before starting threads that depend on it
isInitialized = true;
initLock.notifyAll();
Log.i(TAG, "DcAccounts initialization complete");
dcLocationManager = new DcLocationManager(this); // depends on dcContext
new Thread(() -> {
Log.i(TAG, "Starting event loop");
DcEventEmitter emitter = dcAccounts.getEventEmitter();
@@ -76,7 +76,6 @@ import org.thoughtcrime.securesms.search.SearchFragment;
import org.thoughtcrime.securesms.util.DynamicNoActionBarTheme;
import org.thoughtcrime.securesms.util.DynamicTheme;
import org.thoughtcrime.securesms.util.Prefs;
import org.thoughtcrime.securesms.util.ScreenLockUtil;
import org.thoughtcrime.securesms.util.ShareUtil;
import org.thoughtcrime.securesms.util.SaveAttachmentTask;
import org.thoughtcrime.securesms.util.SendRelayedMessageUtil;
@@ -98,7 +97,6 @@ public class ConversationListActivity extends PassphraseRequiredActionBarActivit
public static final String CLEAR_NOTIFICATIONS = "clear_notifications";
public static final String ACCOUNT_ID_EXTRA = "account_id";
public static final String FROM_WELCOME = "from_welcome";
private static final int REQUEST_CODE_CONFIRM_CREDENTIALS_DELETE_PROFILE = ScreenLockUtil.REQUEST_CODE_CONFIRM_CREDENTIALS+1;
private ConversationListFragment conversationListFragment;
public TextView title;
@@ -110,11 +108,6 @@ public class ConversationListActivity extends PassphraseRequiredActionBarActivit
private ViewGroup fragmentContainer;
private ViewGroup selfAvatarContainer;
/** used to store temporarily scanned QR to pass it back to QrCodeHandler when ScreenLockUtil is used */
private String qrData = null;
/** used to store temporarily profile ID to delete after authorization is granted via ScreenLockUtil */
private int deleteProfileId = 0;
@Override
protected void onPreCreate() {
dynamicTheme = new DynamicNoActionBarTheme();
@@ -504,7 +497,7 @@ public class ConversationListActivity extends PassphraseRequiredActionBarActivit
if (uri.getScheme().equalsIgnoreCase(OPENPGP4FPR) || Util.isInviteURL(uri)) {
QrCodeHandler qrCodeHandler = new QrCodeHandler(this);
qrCodeHandler.handleOnlySecureJoinQr(uri.toString(), SecurejoinSource.ExternalLink, null);
qrCodeHandler.handleQrData(uri.toString(), SecurejoinSource.ExternalLink, null);
}
}
}
@@ -579,55 +572,14 @@ public class ConversationListActivity extends PassphraseRequiredActionBarActivit
startActivity(Intent.createChooser(intent, getString(R.string.chat_share_with_title)));
}
public void onDeleteProfile(int profileId) {
deleteProfileId = profileId;
boolean result = ScreenLockUtil.applyScreenLock(this, getString(R.string.delete_account), getString(R.string.enter_system_secret_to_continue), REQUEST_CODE_CONFIRM_CREDENTIALS_DELETE_PROFILE);
if (!result) {
deleteProfile(profileId);
}
}
private void deleteProfile(int profileId) {
DcAccounts accounts = DcHelper.getAccounts(this);
boolean selected = profileId == accounts.getSelectedAccount().getAccountId();
DcHelper.getNotificationCenter(this).removeAllNotifications(profileId);
accounts.removeAccount(profileId);
if (selected) {
DcContext selAcc = accounts.getSelectedAccount();
AccountManager.getInstance().switchAccountAndStartActivity(this, selAcc.isOk()? selAcc.getAccountId() : 0);
} else {
AccountManager.getInstance().showSwitchAccountMenu(this);
}
// title update needed to show "Delta Chat" in case there is only one profile left
refreshTitle();
}
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (resultCode != RESULT_OK) return;
QrCodeHandler qrCodeHandler = new QrCodeHandler(this);
switch (requestCode) {
case IntentIntegrator.REQUEST_CODE:
IntentResult scanResult = IntentIntegrator.parseActivityResult(resultCode, data);
qrData = scanResult.getContents();
qrCodeHandler.handleQrData(qrData, SecurejoinSource.Scan, SecurejoinUiPath.QrIcon);
break;
case ScreenLockUtil.REQUEST_CODE_CONFIRM_CREDENTIALS:
// QrCodeHandler requested user authorization before adding a relay
// and it was granted, so proceed to add the relay
if (qrData != null) {
qrCodeHandler.addRelay(qrData);
qrData = null;
}
break;
case REQUEST_CODE_CONFIRM_CREDENTIALS_DELETE_PROFILE:
if (deleteProfileId != 0) {
deleteProfile(deleteProfileId);
deleteProfileId = 0;
}
IntentResult scanResult = IntentIntegrator.parseActivityResult(requestCode, resultCode, data);
QrCodeHandler qrCodeHandler = new QrCodeHandler(this);
qrCodeHandler.onScanPerformed(scanResult, SecurejoinUiPath.QrIcon);
break;
default:
break;
@@ -149,7 +149,7 @@ public class GroupCreateActivity extends PassphraseRequiredActionBarActivity
initializeAvatarView();
SelectedContactsAdapter adapter = new SelectedContactsAdapter(this, GlideApp.with(this), broadcast);
SelectedContactsAdapter adapter = new SelectedContactsAdapter(this, GlideApp.with(this), broadcast, unencrypted);
adapter.setItemClickListener(this);
lv.setAdapter(adapter);
@@ -210,8 +210,10 @@ public class InstantOnboardingActivity extends BaseActionBarActivity implements
case IntentIntegrator.REQUEST_CODE:
String qrRaw = data.getStringExtra(RegistrationQrActivity.QRDATA_EXTRA);
if (qrRaw == null) {
IntentResult scanResult = IntentIntegrator.parseActivityResult(resultCode, data);
qrRaw = scanResult.getContents();
IntentResult scanResult = IntentIntegrator.parseActivityResult(requestCode, resultCode, data);
if (scanResult != null && scanResult.getFormatName() != null) {
qrRaw = scanResult.getContents();
}
}
if (qrRaw != null) {
setProviderFromQr(qrRaw);
@@ -39,7 +39,6 @@ import org.thoughtcrime.securesms.qr.QrActivity;
import org.thoughtcrime.securesms.qr.QrCodeHandler;
import org.thoughtcrime.securesms.util.MailtoUtil;
import chat.delta.rpc.types.SecurejoinSource;
import chat.delta.rpc.types.SecurejoinUiPath;
/**
@@ -141,13 +140,11 @@ public class NewConversationActivity extends ContactSelectionActivity {
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (resultCode != RESULT_OK) return;
switch (requestCode) {
case IntentIntegrator.REQUEST_CODE:
IntentResult scanResult = IntentIntegrator.parseActivityResult(resultCode, data);
IntentResult scanResult = IntentIntegrator.parseActivityResult(requestCode, resultCode, data);
QrCodeHandler qrCodeHandler = new QrCodeHandler(this);
qrCodeHandler.handleOnlySecureJoinQr(scanResult.getContents(), SecurejoinSource.Scan, SecurejoinUiPath.NewContact);
qrCodeHandler.onScanPerformed(scanResult, SecurejoinUiPath.NewContact);
break;
default:
break;
@@ -163,7 +163,11 @@ public class ProfileAdapter extends RecyclerView.Adapter
String addr = null;
if (contactId == DcContact.DC_CONTACT_ID_ADD_MEMBER) {
name = context.getString(R.string.group_add_members);
if (isOutBroadcast) {
name = context.getString(R.string.add_recipients);
} else {
name = context.getString(R.string.group_add_members);
}
}
else if (contactId == DcContact.DC_CONTACT_ID_QR_INVITE) {
name = context.getString(R.string.qrshow_title);
@@ -304,7 +304,7 @@ public class WebViewActivity extends PassphraseRequiredActionBarActivity
// invite-links should be handled directly
String schema = url.split(":")[0].toLowerCase();
if (schema.equals("openpgp4fpr") || url.startsWith("https://" + Util.INVITE_DOMAIN + "/")) {
new QrCodeHandler(this).handleOnlySecureJoinQr(url, SecurejoinSource.InternalLink, null);
new QrCodeHandler(this).handleQrData(url, SecurejoinSource.InternalLink, null);
return true; // abort internal loading
}
@@ -22,6 +22,7 @@ import androidx.appcompat.app.AlertDialog;
import com.b44t.messenger.DcContext;
import com.b44t.messenger.DcEvent;
import com.b44t.messenger.DcLot;
import com.google.zxing.integration.android.IntentIntegrator;
import com.google.zxing.integration.android.IntentResult;
@@ -32,7 +33,6 @@ import org.thoughtcrime.securesms.mms.AttachmentManager;
import org.thoughtcrime.securesms.mms.PartAuthority;
import org.thoughtcrime.securesms.permissions.Permissions;
import org.thoughtcrime.securesms.qr.BackupTransferActivity;
import org.thoughtcrime.securesms.qr.QrCodeHandler;
import org.thoughtcrime.securesms.qr.RegistrationQrActivity;
import org.thoughtcrime.securesms.service.GenericForegroundService;
import org.thoughtcrime.securesms.service.NotificationController;
@@ -320,14 +320,39 @@ public class WelcomeActivity extends BaseActionBarActivity implements DcEventCen
if (requestCode==IntentIntegrator.REQUEST_CODE) {
String qrRaw = data.getStringExtra(RegistrationQrActivity.QRDATA_EXTRA);
if (qrRaw == null) {
IntentResult scanResult = IntentIntegrator.parseActivityResult(resultCode, data);
IntentResult scanResult = IntentIntegrator.parseActivityResult(requestCode, resultCode, data);
if (scanResult == null || scanResult.getFormatName() == null) {
return; // aborted
}
qrRaw = scanResult.getContents();
}
if (!new QrCodeHandler(this).handleBackupQr(qrRaw)) {
new AlertDialog.Builder(this)
.setMessage(R.string.qraccount_qr_code_cannot_be_used)
.setPositiveButton(R.string.ok, null)
.show();
DcLot qrParsed = dcContext.checkQr(qrRaw);
switch (qrParsed.getState()) {
case DcContext.DC_QR_BACKUP2:
final String finalQrRaw = qrRaw;
new AlertDialog.Builder(this)
.setTitle(R.string.multidevice_receiver_title)
.setMessage(R.string.multidevice_receiver_scanning_ask)
.setPositiveButton(R.string.perm_continue, (dialog, which) -> startBackupTransfer(finalQrRaw))
.setNegativeButton(R.string.cancel, null)
.setCancelable(false)
.show();
break;
case DcContext.DC_QR_BACKUP_TOO_NEW:
new AlertDialog.Builder(this)
.setTitle(R.string.multidevice_receiver_title)
.setMessage(R.string.multidevice_receiver_needs_update)
.setPositiveButton(R.string.ok, null)
.show();
break;
default:
new AlertDialog.Builder(this)
.setMessage(R.string.qraccount_qr_code_cannot_be_used)
.setPositiveButton(R.string.ok, null)
.show();
break;
}
} else if (requestCode == PICK_BACKUP) {
Uri uri = (data != null ? data.getData() : null);
@@ -47,15 +47,9 @@ import chat.delta.rpc.RpcException;
public class AccountSelectionListFragment extends DialogFragment implements DcEventCenter.DcEventDelegate
{
private static final String TAG = AccountSelectionListFragment.class.getSimpleName();
private final ConversationListActivity activity;
private RecyclerView recyclerView;
private AccountSelectionListAdapter adapter;
public AccountSelectionListFragment(ConversationListActivity activity) {
super();
this.activity = activity;
}
@NonNull
@Override
public Dialog onCreateDialog(Bundle savedInstanceState) {
@@ -138,7 +132,7 @@ public class AccountSelectionListFragment extends DialogFragment implements DcEv
private void onContextItemSelected(MenuItem item, int accountId) {
int itemId = item.getItemId();
if (itemId == R.id.delete) {
onDeleteProfile(accountId);
onDeleteAccount(accountId);
} else if (itemId == R.id.menu_mute_notifications) {
onToggleMute(accountId);
} else if (itemId == R.id.menu_set_tag) {
@@ -173,6 +167,8 @@ public class AccountSelectionListFragment extends DialogFragment implements DcEv
}
private void onSetTag(int accountId) {
Activity activity = getActivity();
if (activity == null) return;
AccountSelectionListFragment.this.dismiss();
DcContext dcContext = DcHelper.getAccounts(activity).getAccount(accountId);
@@ -194,8 +190,10 @@ public class AccountSelectionListFragment extends DialogFragment implements DcEv
.show();
}
private void onDeleteProfile(int accountId) {
private void onDeleteAccount(int accountId) {
Activity activity = getActivity();
AccountSelectionListFragment.this.dismiss();
if (activity == null) return;
DcAccounts accounts = DcHelper.getAccounts(activity);
Rpc rpc = DcHelper.getRpc(activity);
@@ -231,7 +229,22 @@ public class AccountSelectionListFragment extends DialogFragment implements DcEv
.setTitle(R.string.delete_account)
.setView(dialogView)
.setNegativeButton(R.string.cancel, (d, which) -> AccountManager.getInstance().showSwitchAccountMenu(activity))
.setPositiveButton(R.string.delete, (d2, w2) -> activity.onDeleteProfile(accountId))
.setPositiveButton(R.string.delete, (d2, which2) -> {
boolean selected = accountId == accounts.getSelectedAccount().getAccountId();
DcHelper.getNotificationCenter(activity).removeAllNotifications(accountId);
accounts.removeAccount(accountId);
if (selected) {
DcContext selAcc = accounts.getSelectedAccount();
AccountManager.getInstance().switchAccountAndStartActivity(activity, selAcc.isOk()? selAcc.getAccountId() : 0);
} else {
AccountManager.getInstance().showSwitchAccountMenu(activity);
}
// title update needed to show "Delta Chat" in case there is only one profile left
if (activity instanceof ConversationListActivity) {
((ConversationListActivity)activity).refreshTitle();
}
})
.show();
Util.redPositiveButton(dialog);
}
@@ -87,6 +87,10 @@ public class AccountSelectionListItem extends LinearLayout {
}
addrOrTag = dcContext.getConfig(CONFIG_PRIVATE_TAG);
if ("".equals(addrOrTag) && !dcContext.isChatmail()) {
addrOrTag = self.getAddr();
}
unreadCount = dcContext.getFreshMsgs().length;
enableSwitch.setChecked(dcContext.isEnabled());
@@ -202,8 +202,7 @@ public class InputPanel extends ConstraintLayout
public void setSubjectVisible(boolean visible) {
subjectText.setVisibility(visible ? View.VISIBLE : View.GONE);
// don't make it visible if visible is false to avoid showing it while recording audio and an event triggers setSubjectVisible(false)
if (visible) emojiToggle.setVisibility(View.GONE);
emojiToggle.setVisibility(!visible ? View.VISIBLE : View.GONE);
}
public String getSubject() {
@@ -147,8 +147,8 @@ public class AccountManager {
// ui
public void showSwitchAccountMenu(ConversationListActivity activity) {
AccountSelectionListFragment dialog = new AccountSelectionListFragment(activity);
public void showSwitchAccountMenu(Activity activity) {
AccountSelectionListFragment dialog = new AccountSelectionListFragment();
dialog.show(((FragmentActivity) activity).getSupportFragmentManager(), null);
}
@@ -60,6 +60,7 @@ public class DcHelper {
public static final String CONFIG_MEDIA_QUALITY = "media_quality";
public static final String CONFIG_PROXY_ENABLED = "proxy_enabled";
public static final String CONFIG_PROXY_URL = "proxy_url";
public static final String CONFIG_WEBXDC_REALTIME_ENABLED = "webxdc_realtime_enabled";
public static final String CONFIG_PRIVATE_TAG = "private_tag";
public static final String CONFIG_STATS_SENDING = "stats_sending";
public static final String CONFIG_STATS_ID = "stats_id";
@@ -77,11 +78,11 @@ public class DcHelper {
}
public static DcEventCenter getEventCenter(@NonNull Context context) {
return ApplicationContext.getInstance(context).getEventCenter();
return ApplicationContext.getInstance(context).eventCenter;
}
public static NotificationCenter getNotificationCenter(@NonNull Context context) {
return ApplicationContext.getInstance(context).getNotificationCenter();
return ApplicationContext.getInstance(context).notificationCenter;
}
public static boolean isConfigured(Context context) {
@@ -22,7 +22,6 @@ import org.thoughtcrime.securesms.connect.DcHelper;
import org.thoughtcrime.securesms.qr.QrCodeHandler;
import org.thoughtcrime.securesms.util.ViewUtil;
import chat.delta.rpc.types.SecurejoinSource;
import chat.delta.rpc.types.SecurejoinUiPath;
public class NewContactActivity extends PassphraseRequiredActionBarActivity
@@ -105,10 +104,10 @@ public class NewContactActivity extends PassphraseRequiredActionBarActivity
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (resultCode == RESULT_OK && requestCode == IntentIntegrator.REQUEST_CODE) {
IntentResult scanResult = IntentIntegrator.parseActivityResult(resultCode, data);
if (requestCode == IntentIntegrator.REQUEST_CODE) {
IntentResult scanResult = IntentIntegrator.parseActivityResult(requestCode, resultCode, data);
QrCodeHandler qrCodeHandler = new QrCodeHandler(this);
qrCodeHandler.handleOnlySecureJoinQr(scanResult.getContents(), SecurejoinSource.Scan, SecurejoinUiPath.NewContact);
qrCodeHandler.onScanPerformed(scanResult, SecurejoinUiPath.NewContact);
}
}
}
@@ -16,8 +16,6 @@ import java.util.Observer;
import static android.content.Context.BIND_AUTO_CREATE;
import com.b44t.messenger.DcContext;
public class DcLocationManager implements Observer {
private static final String TAG = DcLocationManager.class.getSimpleName();
@@ -42,10 +40,10 @@ public class DcLocationManager implements Observer {
}
};
public DcLocationManager(Context context, DcContext dcContext) {
public DcLocationManager(Context context) {
this.context = context.getApplicationContext();
DcLocation.getInstance().addObserver(this);
if (dcContext.isSendingLocationsToChat(0)) {
if (DcHelper.getContext(context).isSendingLocationsToChat(0)) {
startLocationEngine();
}
}
@@ -473,7 +473,7 @@ public class AttachmentManager {
public static void selectLocation(Activity activity, int chatId) {
ApplicationContext applicationContext = ApplicationContext.getInstance(activity);
DcLocationManager dcLocationManager = applicationContext.getLocationManager();
DcLocationManager dcLocationManager = applicationContext.dcLocationManager;
if (DcHelper.getContext(applicationContext).isSendingLocationsToChat(chatId)) {
dcLocationManager.stopSharingLocation(chatId);
@@ -7,6 +7,7 @@ import static org.thoughtcrime.securesms.connect.DcHelper.CONFIG_MVBOX_MOVE;
import static org.thoughtcrime.securesms.connect.DcHelper.CONFIG_ONLY_FETCH_MVBOX;
import static org.thoughtcrime.securesms.connect.DcHelper.CONFIG_STATS_SENDING;
import static org.thoughtcrime.securesms.connect.DcHelper.CONFIG_SHOW_EMAILS;
import static org.thoughtcrime.securesms.connect.DcHelper.CONFIG_WEBXDC_REALTIME_ENABLED;
import android.content.Context;
import android.content.Intent;
@@ -16,6 +17,7 @@ import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.widget.EditText;
import android.widget.TextView;
import android.widget.Toast;
import androidx.annotation.NonNull;
@@ -32,8 +34,8 @@ import org.thoughtcrime.securesms.relay.RelayListActivity;
import org.thoughtcrime.securesms.StatsSending;
import org.thoughtcrime.securesms.connect.DcEventCenter;
import org.thoughtcrime.securesms.proxy.ProxySettingsActivity;
import org.thoughtcrime.securesms.util.IntentUtils;
import org.thoughtcrime.securesms.util.Prefs;
import org.thoughtcrime.securesms.util.ScreenLockUtil;
import org.thoughtcrime.securesms.util.StreamUtil;
import org.thoughtcrime.securesms.util.Util;
@@ -55,6 +57,7 @@ public class AdvancedPreferenceFragment extends ListSummaryPreferenceFragment
CheckBoxPreference multiDeviceCheckbox;
CheckBoxPreference mvboxMoveCheckbox;
CheckBoxPreference onlyFetchMvboxCheckbox;
CheckBoxPreference webxdcRealtimeCheckbox;
@Override
public void onCreate(Bundle paramBundle) {
@@ -120,6 +123,15 @@ public class AdvancedPreferenceFragment extends ListSummaryPreferenceFragment
}));
}
webxdcRealtimeCheckbox = (CheckBoxPreference) this.findPreference("pref_webxdc_realtime_enabled");
if (webxdcRealtimeCheckbox != null) {
webxdcRealtimeCheckbox.setOnPreferenceChangeListener((preference, newValue) -> {
boolean enabled = (Boolean) newValue;
dcContext.setConfigInt(CONFIG_WEBXDC_REALTIME_ENABLED, enabled? 1 : 0);
return true;
});
}
Preference submitDebugLog = this.findPreference("pref_view_log");
if (submitDebugLog != null) {
submitDebugLog.setOnPreferenceClickListener(new ViewLogListener());
@@ -158,10 +170,7 @@ public class AdvancedPreferenceFragment extends ListSummaryPreferenceFragment
Preference relayListBtn = this.findPreference("pref_relay_list_button");
if (relayListBtn != null) {
relayListBtn.setOnPreferenceClickListener(((preference) -> {
boolean result = ScreenLockUtil.applyScreenLock(requireActivity(), getString(R.string.transports), getString(R.string.enter_system_secret_to_continue), REQUEST_CODE_CONFIRM_CREDENTIALS_ACCOUNT);
if (!result) {
openRelayListActivity();
}
openRelayListActivity();
return true;
}));
}
@@ -189,6 +198,7 @@ public class AdvancedPreferenceFragment extends ListSummaryPreferenceFragment
multiDeviceCheckbox.setChecked(0!=dcContext.getConfigInt(CONFIG_BCC_SELF));
mvboxMoveCheckbox.setChecked(0!=dcContext.getConfigInt(CONFIG_MVBOX_MOVE));
onlyFetchMvboxCheckbox.setChecked(0!=dcContext.getConfigInt(CONFIG_ONLY_FETCH_MVBOX));
webxdcRealtimeCheckbox.setChecked(0!=dcContext.getConfigInt(CONFIG_WEBXDC_REALTIME_ENABLED));
}
@Override
@@ -122,8 +122,26 @@ public class PersistentBlobProvider {
}
public Uri createForExternal(@NonNull Context context, @NonNull String mimeType) throws IOException, IllegalStateException, NullPointerException {
File target = new File(getExternalDir(context), System.currentTimeMillis() + "." + getExtensionFromMimeType(mimeType));
return FileProviderUtil.getUriFor(context, target);
String filename = System.currentTimeMillis() + "." + getExtensionFromMimeType(mimeType);
// Try external cache first
try {
File externalDir = getExternalDir(context);
File target = new File(externalDir, filename);
return FileProviderUtil.getUriFor(context, target);
} catch (IllegalArgumentException e) {
// FileProvider doesn't support the external cache path (e.g., on removable SD card).
// Note: getExternalDir() already falls back to internal cache when external cache is null,
// but when external cache exists on a removable SD card, FileProvider may reject it.
// In that case, we explicitly use internal cache which FileProvider always supports.
Log.w(TAG, "FileProvider doesn't support external cache path, falling back to internal cache", e);
File internalDir = context.getCacheDir();
if (internalDir == null) {
throw new IOException("no cache directory available");
}
File target = new File(internalDir, filename);
return FileProviderUtil.getUriFor(context, target);
}
}
public boolean delete(@NonNull Context context, @NonNull Uri uri) {
@@ -2,6 +2,7 @@ package org.thoughtcrime.securesms.qr;
import android.Manifest;
import android.app.Activity;
import android.content.ComponentName;
import android.content.Intent;
import android.content.pm.PackageManager;
import android.graphics.Bitmap;
@@ -26,10 +27,11 @@ import com.google.zxing.MultiFormatReader;
import com.google.zxing.NotFoundException;
import com.google.zxing.RGBLuminanceSource;
import com.google.zxing.Result;
import com.google.zxing.client.android.Intents;
import com.google.zxing.common.HybridBinarizer;
import org.thoughtcrime.securesms.BaseActionBarActivity;
import org.thoughtcrime.securesms.ConversationListActivity;
import org.thoughtcrime.securesms.NewConversationActivity;
import org.thoughtcrime.securesms.R;
import org.thoughtcrime.securesms.connect.DcHelper;
import org.thoughtcrime.securesms.contacts.NewContactActivity;
@@ -42,6 +44,9 @@ import org.thoughtcrime.securesms.util.ViewUtil;
import java.io.FileNotFoundException;
import java.io.InputStream;
import chat.delta.rpc.types.SecurejoinSource;
import chat.delta.rpc.types.SecurejoinUiPath;
public class QrActivity extends BaseActionBarActivity implements View.OnClickListener {
private final static String TAG = QrActivity.class.getSimpleName();
@@ -149,7 +154,8 @@ public class QrActivity extends BaseActionBarActivity implements View.OnClickLis
} else if (itemId == R.id.load_from_image) {
AttachmentManager.selectImage(this, REQUEST_CODE_IMAGE);
} else if (itemId == R.id.paste) {
setQrResult(Util.getTextFromClipboard(this));
QrCodeHandler qrCodeHandler = new QrCodeHandler(this);
qrCodeHandler.handleQrData(Util.getTextFromClipboard(this), SecurejoinSource.Clipboard, getUiPath());
}
return false;
@@ -197,10 +203,10 @@ public class QrActivity extends BaseActionBarActivity implements View.OnClickLis
RGBLuminanceSource source = new RGBLuminanceSource(width, height, pixels);
BinaryBitmap bBitmap = new BinaryBitmap(new HybridBinarizer(source));
MultiFormatReader reader = new MultiFormatReader();
try {
Result result = reader.decode(bBitmap);
setQrResult(result.getText());
QrCodeHandler qrCodeHandler = new QrCodeHandler(this);
qrCodeHandler.handleQrData(result.getText(), SecurejoinSource.ImageLoaded, getUiPath());
} catch (NotFoundException e) {
Log.e(TAG, "decode exception", e);
Toast.makeText(this, getString(R.string.qrscan_failed), Toast.LENGTH_LONG).show();
@@ -213,11 +219,19 @@ public class QrActivity extends BaseActionBarActivity implements View.OnClickLis
}
}
private void setQrResult(String qrData) {
Intent intent = new Intent();
intent.putExtra(Intents.Scan.RESULT, qrData);
setResult(RESULT_OK, intent);
finish();
private SecurejoinUiPath getUiPath() {
SecurejoinUiPath uiPath = null;
ComponentName caller = this.getCallingActivity();
if (caller != null) {
if (caller.getClassName().equals(NewConversationActivity.class.getName())) {
uiPath = SecurejoinUiPath.NewContact;
} else if (caller.getClassName().equals(ConversationListActivity.class.getName())
// RoutingActivity is an alias for ConversationListActivity
|| caller.getClassName().endsWith(".RoutingActivity")) {
uiPath = SecurejoinUiPath.QrIcon;
}
}
return uiPath;
}
@Override
@@ -19,7 +19,6 @@ import org.thoughtcrime.securesms.connect.AccountManager;
import org.thoughtcrime.securesms.connect.DcHelper;
import org.thoughtcrime.securesms.relay.RelayListActivity;
import org.thoughtcrime.securesms.util.IntentUtils;
import org.thoughtcrime.securesms.util.ScreenLockUtil;
import org.thoughtcrime.securesms.util.Util;
import org.thoughtcrime.securesms.util.views.ProgressDialog;
@@ -54,182 +53,118 @@ public class QrCodeHandler {
accId = dcContext.getAccountId();
}
/** Process only QR about getting in contact or joining chats */
public void handleOnlySecureJoinQr(String rawString, SecurejoinSource source, SecurejoinUiPath uiPath) {
final DcLot qrParsed = dcContext.checkQr(rawString);
if (!handleSecureJoinQr(qrParsed, rawString, source, uiPath)) {
handleDefault(new AlertDialog.Builder(activity), rawString, qrParsed);
public void onScanPerformed(IntentResult scanResult, SecurejoinUiPath uipath) {
if (scanResult == null || scanResult.getFormatName() == null) {
return; // aborted
}
handleQrData(scanResult.getContents(), SecurejoinSource.Scan, uipath);
}
}
private boolean handleSecureJoinQr(DcLot qrParsed, String rawString, SecurejoinSource source, SecurejoinUiPath uiPath) {
AlertDialog.Builder builder = new AlertDialog.Builder(activity);
String name = dcContext.getContact(qrParsed.getId()).getDisplayName();
switch (qrParsed.getState()) {
case DcContext.DC_QR_ASK_VERIFYCONTACT:
case DcContext.DC_QR_ASK_VERIFYGROUP:
case DcContext.DC_QR_ASK_JOIN_BROADCAST:
showVerifyContactOrGroup(builder, rawString, qrParsed, name, source, uiPath);
break;
case DcContext.DC_QR_WITHDRAW_VERIFYCONTACT:
case DcContext.DC_QR_WITHDRAW_VERIFYGROUP:
case DcContext.DC_QR_WITHDRAW_JOINBROADCAST:
String message = qrParsed.getState() == DcContext.DC_QR_WITHDRAW_VERIFYCONTACT ? activity.getString(R.string.withdraw_verifycontact_explain)
: qrParsed.getState() == DcContext.DC_QR_WITHDRAW_VERIFYCONTACT ? activity.getString(R.string.withdraw_verifygroup_explain, qrParsed.getText1())
: activity.getString(R.string.withdraw_joinbroadcast_explain, qrParsed.getText1());
builder.setTitle(R.string.qrshow_title);
builder.setMessage(message);
builder.setNeutralButton(R.string.reset, (dialog, which) -> {
dcContext.setConfigFromQr(rawString);
});
builder.setPositiveButton(R.string.ok, null);
Util.redButton(builder.show(), AlertDialog.BUTTON_NEUTRAL);
return true;
case DcContext.DC_QR_REVIVE_VERIFYCONTACT:
case DcContext.DC_QR_REVIVE_VERIFYGROUP:
case DcContext.DC_QR_REVIVE_JOINBROADCAST:
builder.setTitle(R.string.qrshow_title);
builder.setMessage(activity.getString(R.string.revive_verifycontact_explain));
builder.setNeutralButton(R.string.revive_qr_code, (dialog, which) -> {
dcContext.setConfigFromQr(rawString);
});
builder.setPositiveButton(R.string.ok, null);
break;
case DcContext.DC_QR_FPR_WITHOUT_ADDR:
showVerifyFingerprintWithoutAddress(builder, qrParsed);
break;
case DcContext.DC_QR_FPR_MISMATCH:
showFingerPrintError(builder, name);
break;
case DcContext.DC_QR_FPR_OK:
case DcContext.DC_QR_ADDR:
showFingerprintOrQrSuccess(builder, qrParsed, name);
break;
default:
return false;
}
builder.create().show();
return true;
}
/** Process only QR about adding relays/profiles (DCACCOUNT: / DCLOGIN:) */
public void handleOnlyAddRelayQr(String rawString) {
final DcLot qrParsed = dcContext.checkQr(rawString);
if (!handleAddRelayQr(qrParsed, rawString)) {
handleDefault(new AlertDialog.Builder(activity), rawString, qrParsed);
}
}
private boolean handleAddRelayQr(DcLot qrParsed, String rawString) {
switch (qrParsed.getState()) {
case DcContext.DC_QR_ACCOUNT:
case DcContext.DC_QR_LOGIN:
public void handleQrData(String rawString, SecurejoinSource source, SecurejoinUiPath uiPath) {
AlertDialog.Builder builder = new AlertDialog.Builder(activity);
builder.setTitle(R.string.confirm_add_transport);
builder.setMessage(qrParsed.getText1());
builder.setPositiveButton(R.string.ok, (d, w) -> {
if (activity instanceof RelayListActivity) {
// no need to protect with lock, RelayListActivity is already protected
addRelay(rawString);
} else {
boolean result = ScreenLockUtil.applyScreenLock(activity, activity.getString(R.string.add_transport), activity.getString(R.string.enter_system_secret_to_continue), ScreenLockUtil.REQUEST_CODE_CONFIRM_CREDENTIALS);
if (!result) {
addRelay(rawString);
}
}
});
builder.setNegativeButton(R.string.cancel, null);
builder.setCancelable(false);
final DcLot qrParsed = dcContext.checkQr(rawString);
String name = dcContext.getContact(qrParsed.getId()).getDisplayName();
switch (qrParsed.getState()) {
case DcContext.DC_QR_ASK_VERIFYCONTACT:
case DcContext.DC_QR_ASK_VERIFYGROUP:
case DcContext.DC_QR_ASK_JOIN_BROADCAST:
showVerifyContactOrGroup(activity, builder, rawString, qrParsed, name, source, uiPath);
break;
case DcContext.DC_QR_FPR_WITHOUT_ADDR:
showVerifyFingerprintWithoutAddress(builder, qrParsed);
break;
case DcContext.DC_QR_FPR_MISMATCH:
showFingerPrintError(builder, name);
break;
case DcContext.DC_QR_FPR_OK:
case DcContext.DC_QR_ADDR:
showFingerprintOrQrSuccess(builder, qrParsed, name);
break;
case DcContext.DC_QR_URL:
showQrUrl(builder, qrParsed);
break;
case DcContext.DC_QR_ACCOUNT:
case DcContext.DC_QR_LOGIN:
final String scope = qrParsed.getText1();
setAddTransportDialog(activity, builder, rawString, scope);
builder.setNegativeButton(R.string.cancel, null);
builder.setCancelable(false);
break;
case DcContext.DC_QR_BACKUP2:
builder.setTitle(R.string.multidevice_receiver_title);
builder.setMessage(activity.getString(R.string.multidevice_receiver_scanning_ask) + "\n\n" + activity.getString(R.string.multidevice_same_network_hint));
builder.setPositiveButton(R.string.perm_continue, (dialog, which) -> {
AccountManager.getInstance().addAccountFromSecondDevice(activity, rawString);
});
builder.setNegativeButton(R.string.cancel, null);
builder.setCancelable(false);
AlertDialog alertDialog = builder.create();
alertDialog.show();
BackupTransferActivity.appendSSID(activity, alertDialog.findViewById(android.R.id.message));
return;
case DcContext.DC_QR_BACKUP_TOO_NEW:
builder.setTitle(R.string.multidevice_receiver_title);
builder.setMessage(activity.getString(R.string.multidevice_receiver_needs_update));
builder.setNegativeButton(R.string.ok, null);
break;
case DcContext.DC_QR_PROXY:
builder.setTitle(R.string.proxy_use_proxy);
builder.setMessage(activity.getString(R.string.proxy_use_proxy_confirm, qrParsed.getText1()));
builder.setPositiveButton(R.string.proxy_use_proxy, (dlg, btn) -> {
dcContext.setConfigFromQr(rawString);
dcContext.restartIo();
showDoneToast(activity);
});
if (rawString.toLowerCase().startsWith("http")) {
builder.setNeutralButton(R.string.open, (d, b) -> IntentUtils.showInBrowser(activity, rawString));
}
builder.setNegativeButton(R.string.cancel, null);
builder.setCancelable(false);
break;
case DcContext.DC_QR_WITHDRAW_VERIFYCONTACT:
case DcContext.DC_QR_WITHDRAW_VERIFYGROUP:
case DcContext.DC_QR_WITHDRAW_JOINBROADCAST:
String message = qrParsed.getState() == DcContext.DC_QR_WITHDRAW_VERIFYCONTACT ? activity.getString(R.string.withdraw_verifycontact_explain)
: qrParsed.getState() == DcContext.DC_QR_WITHDRAW_VERIFYCONTACT ? activity.getString(R.string.withdraw_verifygroup_explain, qrParsed.getText1())
: activity.getString(R.string.withdraw_joinbroadcast_explain, qrParsed.getText1());
builder.setTitle(R.string.qrshow_title);
builder.setMessage(message);
builder.setNeutralButton(R.string.reset, (dialog, which) -> {
dcContext.setConfigFromQr(rawString);
});
builder.setPositiveButton(R.string.ok, null);
AlertDialog withdrawDialog = builder.show();
Util.redButton(withdrawDialog, AlertDialog.BUTTON_NEUTRAL);
return;
case DcContext.DC_QR_REVIVE_VERIFYCONTACT:
case DcContext.DC_QR_REVIVE_VERIFYGROUP:
case DcContext.DC_QR_REVIVE_JOINBROADCAST:
builder.setTitle(R.string.qrshow_title);
builder.setMessage(activity.getString(R.string.revive_verifycontact_explain));
builder.setNeutralButton(R.string.revive_qr_code, (dialog, which) -> {
dcContext.setConfigFromQr(rawString);
});
builder.setPositiveButton(R.string.ok, null);
break;
default:
handleDefault(builder, rawString, qrParsed);
break;
}
builder.create().show();
return true;
default:
return false;
}
}
/** Process a proxy QR, returns true if a dialog was shown, false if the QR is not a proxy QR */
public boolean handleProxyQr(String rawString) {
return handleProxyQr(dcContext.checkQr(rawString), rawString);
}
private boolean handleProxyQr(DcLot qrParsed, String rawString) {
if (qrParsed.getState() == DcContext.DC_QR_PROXY) {
AlertDialog.Builder builder = new AlertDialog.Builder(activity);
builder.setTitle(R.string.proxy_use_proxy);
builder.setMessage(activity.getString(R.string.proxy_use_proxy_confirm, qrParsed.getText1()));
builder.setPositiveButton(R.string.proxy_use_proxy, (dlg, btn) -> {
dcContext.setConfigFromQr(rawString);
dcContext.restartIo();
showDoneToast();
});
if (rawString.toLowerCase().startsWith("http")) {
builder.setNeutralButton(R.string.open, (d, b) -> IntentUtils.showInBrowser(activity, rawString));
}
builder.setNegativeButton(R.string.cancel, null);
builder.setCancelable(false);
builder.create().show();
return true;
}
return false;
}
/** Process a backup QR, returns true if a dialog was shown, false if the QR is not a backup QR */
public boolean handleBackupQr(String rawString) {
return handleBackupQr(dcContext.checkQr(rawString), rawString);
}
private boolean handleBackupQr(DcLot qrParsed, String rawString) {
switch (qrParsed.getState()) {
case DcContext.DC_QR_BACKUP2:
AlertDialog.Builder builder = new AlertDialog.Builder(activity);
builder.setTitle(R.string.multidevice_receiver_title);
builder.setMessage(activity.getString(R.string.multidevice_receiver_scanning_ask) + "\n\n" + activity.getString(R.string.multidevice_same_network_hint));
builder.setPositiveButton(R.string.perm_continue, (dialog, which) -> {
AccountManager.getInstance().addAccountFromSecondDevice(activity, rawString);
});
builder.setNegativeButton(R.string.cancel, null);
builder.setCancelable(false);
AlertDialog alertDialog = builder.create();
alertDialog.show();
BackupTransferActivity.appendSSID(activity, alertDialog.findViewById(android.R.id.message));
return true;
case DcContext.DC_QR_BACKUP_TOO_NEW:
new AlertDialog.Builder(activity)
.setTitle(R.string.multidevice_receiver_title)
.setMessage(activity.getString(R.string.multidevice_receiver_needs_update))
.setNegativeButton(R.string.ok, null)
.create().show();
return true;
default:
return false;
}
}
/** Handle any kind of QR showing an AlertDialog adapted to the QR type. */
public void handleQrData(String rawString, SecurejoinSource source, SecurejoinUiPath uiPath) {
final DcLot qrParsed = dcContext.checkQr(rawString);
if (handleSecureJoinQr(qrParsed, rawString, source, uiPath)
|| handleAddRelayQr(qrParsed, rawString)
|| handleProxyQr(qrParsed, rawString)
|| handleBackupQr(qrParsed, rawString)) return;
AlertDialog.Builder builder = new AlertDialog.Builder(activity);
if (qrParsed.getState() == DcContext.DC_QR_URL) {
showQrUrl(builder, qrParsed);
} else {
handleDefault(builder, rawString, qrParsed);
}
builder.create().show();
}
private void handleDefault(AlertDialog.Builder builder, String qrRawString, DcLot qrParsed) {
String msg;
@@ -252,7 +187,7 @@ public class QrCodeHandler {
builder.setPositiveButton(android.R.string.ok, null);
builder.setNeutralButton(R.string.menu_copy_to_clipboard, (dialog, which) -> {
Util.writeTextToClipboard(activity, scannedText);
showDoneToast();
showDoneToast(activity);
});
}
@@ -264,11 +199,11 @@ public class QrCodeHandler {
builder.setNegativeButton(android.R.string.cancel, null);
builder.setNeutralButton(R.string.menu_copy_to_clipboard, (dialog, which) -> {
Util.writeTextToClipboard(activity, url);
showDoneToast();
showDoneToast(activity);
});
}
private void showDoneToast() {
private void showDoneToast(Activity activity) {
Toast.makeText(activity, activity.getString(R.string.done), Toast.LENGTH_SHORT).show();
}
@@ -297,11 +232,12 @@ public class QrCodeHandler {
builder.setPositiveButton(android.R.string.ok, null);
builder.setNeutralButton(R.string.menu_copy_to_clipboard, (dialog, which) -> {
Util.writeTextToClipboard(activity, qrParsed.getText1());
showDoneToast();
showDoneToast(activity);
});
}
private void showVerifyContactOrGroup(AlertDialog.Builder builder,
private void showVerifyContactOrGroup(Activity activity,
AlertDialog.Builder builder,
String qrRawString,
DcLot qrParsed,
String name,
@@ -339,47 +275,51 @@ public class QrCodeHandler {
builder.setNegativeButton(android.R.string.cancel, null);
}
public void addRelay(String qrData) {
ProgressDialog progressDialog = new ProgressDialog(activity);
progressDialog.setMessage(activity.getResources().getString(R.string.one_moment));
progressDialog.setCanceledOnTouchOutside(false);
progressDialog.setCancelable(false);
String cancel = activity.getResources().getString(android.R.string.cancel);
progressDialog.setButton(DialogInterface.BUTTON_NEGATIVE, cancel, (d, w) -> {
dcContext.stopOngoingProcess();
});
progressDialog.show();
private void setAddTransportDialog(Activity activity, AlertDialog.Builder builder, String qrData, String transportName) {
builder.setTitle(R.string.confirm_add_transport);
builder.setMessage(transportName);
builder.setPositiveButton(R.string.ok, (d, w) -> {
ProgressDialog progressDialog = new ProgressDialog(activity);
progressDialog.setMessage(activity.getResources().getString(R.string.one_moment));
progressDialog.setCanceledOnTouchOutside(false);
progressDialog.setCancelable(false);
String cancel = activity.getResources().getString(android.R.string.cancel);
progressDialog.setButton(DialogInterface.BUTTON_NEGATIVE, cancel, (d2, w2) -> {
dcContext.stopOngoingProcess();
});
progressDialog.show();
Util.runOnAnyBackgroundThread(() -> {
String error = null;
try {
rpc.addTransportFromQr(accId, qrData);
} catch (RpcException e) {
Log.w(TAG, e);
error = e.getMessage();
}
final String finalError = error;
Util.runOnMain(() -> {
if (!progressDialog.isShowing()) return; // canceled dialog, nothing to do
if (finalError != null) {
new AlertDialog.Builder(activity)
.setTitle(R.string.error)
.setMessage(finalError)
.setPositiveButton(R.string.ok, null)
.show();
} else {
showDoneToast();
if (!(activity instanceof RelayListActivity)) {
activity.startActivity(new Intent(activity, RelayListActivity.class));
}
}
try {
progressDialog.dismiss();
} catch (IllegalArgumentException e) {
// see https://stackoverflow.com/a/5102572/4557005
Log.w(TAG, e);
}
Util.runOnAnyBackgroundThread(() -> {
String error = null;
try {
rpc.addTransportFromQr(accId, qrData);
} catch (RpcException e) {
Log.w(TAG, e);
error = e.getMessage();
}
final String finalError = error;
Util.runOnMain(() -> {
if (!progressDialog.isShowing()) return; // canceled dialog, nothing to do
if (finalError != null) {
new AlertDialog.Builder(activity)
.setTitle(R.string.error)
.setMessage(finalError)
.setPositiveButton(R.string.ok, null)
.show();
} else {
showDoneToast(activity);
if (!(activity instanceof RelayListActivity)) {
activity.startActivity(new Intent(activity, RelayListActivity.class));
}
}
try {
progressDialog.dismiss();
} catch (IllegalArgumentException e) {
// see https://stackoverflow.com/a/5102572/4557005
Log.w(TAG, e);
}
});
});
});
});
}
}
@@ -24,7 +24,6 @@ import org.thoughtcrime.securesms.connect.DcEventCenter;
import org.thoughtcrime.securesms.connect.DcHelper;
import org.thoughtcrime.securesms.qr.QrActivity;
import org.thoughtcrime.securesms.qr.QrCodeHandler;
import org.thoughtcrime.securesms.util.ScreenLockUtil;
import org.thoughtcrime.securesms.util.Util;
import org.thoughtcrime.securesms.util.ViewUtil;
@@ -33,6 +32,8 @@ import java.util.List;
import chat.delta.rpc.Rpc;
import chat.delta.rpc.RpcException;
import chat.delta.rpc.types.EnteredLoginParam;
import chat.delta.rpc.types.SecurejoinSource;
import chat.delta.rpc.types.SecurejoinUiPath;
public class RelayListActivity extends BaseActionBarActivity
implements RelayListAdapter.OnRelayClickListener, DcEventCenter.DcEventDelegate {
@@ -44,9 +45,6 @@ public class RelayListActivity extends BaseActionBarActivity
private Rpc rpc;
private int accId;
/** QR provided via Intent extras needs to be saved to pass it to QrCodeHandler when authorization finishes */
private String qrData = null;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
@@ -69,15 +67,6 @@ public class RelayListActivity extends BaseActionBarActivity
// Apply insets to prevent fab from being covered by system bars
ViewUtil.applyWindowInsetsAsMargin(fabAdd);
qrData = getIntent().getStringExtra(EXTRA_QR_DATA);
if (qrData != null) {
// when the activity is opened with a QR data, we need to ask for authorization first
boolean result = ScreenLockUtil.applyScreenLock(this, getString(R.string.add_transport), getString(R.string.enter_system_secret_to_continue), ScreenLockUtil.REQUEST_CODE_CONFIRM_CREDENTIALS);
if (!result) {
new QrCodeHandler(this).handleOnlyAddRelayQr(qrData);
}
}
fabAdd.setOnClickListener(v -> {
new IntentIntegrator(this).setCaptureActivity(QrActivity.class).addExtra(QrActivity.EXTRA_SCAN_RELAY, true).initiateScan();
});
@@ -97,7 +86,12 @@ public class RelayListActivity extends BaseActionBarActivity
DcEventCenter eventCenter = DcHelper.getEventCenter(this);
eventCenter.addObserver(DcContext.DC_EVENT_CONFIGURE_PROGRESS, this);
eventCenter.addObserver(DcContext.DC_EVENT_TRANSPORTS_MODIFIED, this);
String qrdata = getIntent().getStringExtra(EXTRA_QR_DATA);
if (qrdata != null) {
QrCodeHandler qrCodeHandler = new QrCodeHandler(this);
qrCodeHandler.handleQrData(qrdata, SecurejoinSource.Unknown, SecurejoinUiPath.Unknown);
}
}
@Override
@@ -178,31 +172,17 @@ public class RelayListActivity extends BaseActionBarActivity
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (resultCode != RESULT_OK) {
// if user canceled unlocking, then finish
if (requestCode == ScreenLockUtil.REQUEST_CODE_CONFIRM_CREDENTIALS) finish();
return;
}
QrCodeHandler qrCodeHandler = new QrCodeHandler(this);
if (requestCode == IntentIntegrator.REQUEST_CODE) {
IntentResult scanResult = IntentIntegrator.parseActivityResult(resultCode, data);
qrCodeHandler.handleOnlyAddRelayQr(scanResult.getContents());
} else if (requestCode == ScreenLockUtil.REQUEST_CODE_CONFIRM_CREDENTIALS) {
// user authorized, then proceed to handle the QR data
if (qrData != null) {
qrCodeHandler.handleOnlyAddRelayQr(qrData);
qrData = null;
}
IntentResult scanResult = IntentIntegrator.parseActivityResult(requestCode, resultCode, data);
QrCodeHandler qrCodeHandler = new QrCodeHandler(this);
qrCodeHandler.onScanPerformed(scanResult, SecurejoinUiPath.Unknown);
}
}
@Override
public void handleEvent(@NonNull DcEvent event) {
int eventId = event.getId();
if (eventId == DcContext.DC_EVENT_CONFIGURE_PROGRESS) {
if (event.getData1Int() == 1000) loadRelays();
} else if (eventId == DcContext.DC_EVENT_TRANSPORTS_MODIFIED) {
if (eventId == DcContext.DC_EVENT_CONFIGURE_PROGRESS && event.getData1Int() == 1000) {
loadRelays();
}
}
@@ -14,11 +14,12 @@ import androidx.core.content.ContextCompat;
import org.thoughtcrime.securesms.ApplicationContext;
import org.thoughtcrime.securesms.R;
import org.thoughtcrime.securesms.connect.ForegroundDetector;
import org.thoughtcrime.securesms.notifications.FcmReceiveService;
import org.thoughtcrime.securesms.notifications.NotificationCenter;
import org.thoughtcrime.securesms.util.Util;
public final class FetchForegroundService extends Service {
private static final String TAG = FetchForegroundService.class.getSimpleName();
private static final String TAG = FcmReceiveService.class.getSimpleName();
private static final Object SERVICE_LOCK = new Object();
private static final Object STOP_NOTIFIER = new Object();
private static volatile boolean fetchingSynchronously = false;
@@ -40,7 +41,24 @@ public final class FetchForegroundService extends Service {
}
} catch (Exception e) {
Log.w(TAG, "Failed to start foreground service: " + e + ", fetching in background.");
fetchSynchronously();
// According to the documentation https://firebase.google.com/docs/cloud-messaging/android/receive,
// we need to handle the message within 20s, and the time window may be even shorter than 20s,
// so, use 10s to be safe.
fetchingSynchronously = true;
if (ApplicationContext.getDcAccounts().backgroundFetch(10)) {
// The background fetch was successful, but we need to wait until all events were processed.
// After all events were processed, we will get DC_EVENT_ACCOUNTS_BACKGROUND_FETCH_DONE,
// and stop() will be called.
synchronized (STOP_NOTIFIER) {
while (fetchingSynchronously) {
try {
// The `wait()` needs to be enclosed in a while loop because there may be
// "spurious wake-ups", i.e. `wait()` may return even though `notifyAll()` wasn't called.
STOP_NOTIFIER.wait();
} catch (InterruptedException ex) {}
}
}
}
}
}
@@ -70,39 +88,14 @@ public final class FetchForegroundService extends Service {
.setSmallIcon(R.drawable.notification_permanent)
.build();
try {
startForeground(NotificationCenter.ID_FETCH, notification);
startForeground(NotificationCenter.ID_FETCH, notification);
Util.runOnAnyBackgroundThread(() -> {
Log.i(TAG, "Starting fetch");
if (!ApplicationContext.getDcAccounts().backgroundFetch(300)) { // as startForeground() was called, there is time
FetchForegroundService.stop(this);
} // else we stop FetchForegroundService on DC_EVENT_ACCOUNTS_BACKGROUND_FETCH_DONE
});
} catch (Exception e) {
Log.e(TAG, "Error calling startForeground()", e);
}
}
public static void fetchSynchronously() {
// According to the documentation https://firebase.google.com/docs/cloud-messaging/android/receive,
// we need to handle the message within 20s, and the time window may be even shorter than 20s,
// so, use 10s to be safe.
fetchingSynchronously = true;
if (ApplicationContext.getDcAccounts().backgroundFetch(10)) {
// The background fetch was successful, but we need to wait until all events were processed.
// After all events were processed, we will get DC_EVENT_ACCOUNTS_BACKGROUND_FETCH_DONE,
// and stop() will be called.
synchronized (STOP_NOTIFIER) {
while (fetchingSynchronously) {
try {
// The `wait()` needs to be enclosed in a while loop because there may be
// "spurious wake-ups", i.e. `wait()` may return even though `notifyAll()` wasn't called.
STOP_NOTIFIER.wait();
} catch (InterruptedException ex) {}
}
}
}
Util.runOnAnyBackgroundThread(() -> {
Log.i(TAG, "Starting fetch");
if (!ApplicationContext.getDcAccounts().backgroundFetch(300)) { // as startForeground() was called, there is time
FetchForegroundService.stop(this);
} // else we stop FetchForegroundService on DC_EVENT_ACCOUNTS_BACKGROUND_FETCH_DONE
});
}
@Override
@@ -82,11 +82,15 @@ public class LongClickCopySpan extends ClickableSpan {
}
} else if (Util.isInviteURL(url)) {
QrCodeHandler qrCodeHandler = new QrCodeHandler((Activity) widget.getContext());
qrCodeHandler.handleOnlySecureJoinQr(url, SecurejoinSource.InternalLink, null);
qrCodeHandler.handleQrData(url, SecurejoinSource.InternalLink, null);
} else {
Activity activity = (Activity) widget.getContext();
if (!new QrCodeHandler(activity).handleProxyQr(url)) {
IntentUtils.showInBrowser(activity, url);
DcContext dcContext = DcHelper.getContext(activity);
if (dcContext.checkQr(url).getState() == DcContext.DC_QR_PROXY) {
QrCodeHandler qrCodeHandler = new QrCodeHandler(activity);
qrCodeHandler.handleQrData(url, null, null);
} else {
IntentUtils.showInBrowser(widget.getContext(), url);
}
}
}
@@ -37,16 +37,18 @@ public class SelectedContactsAdapter extends BaseAdapter {
@Nullable private ItemClickListener itemClickListener;
@NonNull private final List<Integer> contacts = new LinkedList<>();
private final boolean isBroadcast;
private final boolean isUnencrypted;
@NonNull private final DcContext dcContext;
@NonNull private final GlideRequests glideRequests;
public SelectedContactsAdapter(@NonNull Context context,
@NonNull GlideRequests glideRequests,
boolean isBroadcast)
boolean isBroadcast, boolean isUnencrypted)
{
this.context = context;
this.glideRequests = glideRequests;
this.isBroadcast = isBroadcast;
this.isUnencrypted = isUnencrypted;
this.dcContext = DcHelper.getContext(context);
}
@@ -113,7 +115,7 @@ public class SelectedContactsAdapter extends BaseAdapter {
Recipient recipient = null;
if(contactId == DcContact.DC_CONTACT_ID_ADD_MEMBER) {
name.setText(context.getString(R.string.group_add_members));
name.setText(context.getString(isBroadcast || isUnencrypted? R.string.add_recipients : R.string.group_add_members));
name.setTypeface(null, Typeface.BOLD);
phone.setVisibility(View.GONE);
} else {
+4
View File
@@ -28,6 +28,10 @@
<string name="media">الوسائط</string>
<string name="main_menu">القائمة الرئيسية</string>
<string name="start_chat">ابدأ الدردشة</string>
<!-- deprecated, UI must not offer an option to show the password -->
<string name="show_password">اظهر الكلمة السرية</string>
<!-- deprecated, UI must not offer an option to show the password -->
<string name="hide_password">أخفِ الكلمة السرية</string>
<string name="not_now">ليس الآن</string>
<string name="never">أبدا</string>
<string name="one_moment">لحظة…</string>
+16 -1
View File
@@ -65,6 +65,10 @@
<string name="always_load_remote_images">Винаги да се зареждат отдалечените изображения</string>
<string name="once">Веднъж</string>
<string name="show_warning">Показване на предупреждение</string>
<!-- deprecated, UI must not offer an option to show the password -->
<string name="show_password">Показване на паролата</string>
<!-- deprecated, UI must not offer an option to show the password -->
<string name="hide_password">Скриване на паролата</string>
<string name="not_now">Не сега</string>
<string name="never">Никога</string>
<string name="one_moment">Един момент...</string>
@@ -300,6 +304,11 @@
</plurals>
<string name="file_saved_to">Файлът е записан в \"%1$s\"</string>
<!-- deprecated, use ask_delete_messages -->
<plurals name="ask_delete_messages_simple">
<item quantity="one">Да бъде ли изтрито %d съобщение?</item>
<item quantity="other">Да бъдат ли изтрити %d съобщения?</item>
</plurals>
<string name="ask_forward">Да бъдат ли препратени съобщенията на %1$s?</string>
<string name="ask_forward_multiple">Да бъдат ли препратени съобщенията към %1$d чата?</string>
<string name="ask_export_attachment">Експортирането на прикачените файлове ще даде възможност други приложения на Вашето устройство да имат достъп до тях.\n\nИскате ли да продължите?</string>
@@ -364,6 +373,8 @@
<!-- mailing lists -->
<string name="mailing_list">Пощенски списък</string>
<!-- deprecated -->
<string name="mailing_list_profile_info">Промените по имена и изображения на пощенски списъци са приложими само за това устройство.</string>
<!-- webxdc -->
<!-- "Start..." button for an app -->
@@ -455,7 +466,7 @@
<string name="incoming_messages">Входящи съобщения</string>
<!-- Headline for the "Outbox" eg. in the "Connectivity" view -->
<string name="outgoing_messages">Изходящи съобщения</string>
<!-- deprecated -->
<!-- Headline in the "Connectivity" view. Placeholder will be replaced by a domain -->
<string name="storage_on_domain">Съхранение върху %1$s</string>
<string name="connectivity">Свързаност</string>
<!-- Shown in the title bar if the app is "Not connected"; prefer short strings. -->
@@ -798,11 +809,15 @@
<string name="qrshow_join_contact_hint">Сканирайте, за да чатите с %1$s</string>
<string name="qrshow_join_contact_no_connection_toast">Няма връзка към Интернет, не може да бъде извършена настройка чрез QR код.</string>
<string name="qraccount_ask_create_and_login">Да бъде ли създаден нов адрес за електронна поща на \"%1$s\" и да бъде ли осъществено влизане там?</string>
<!-- deprecated, use confirm_add_transport when scanning such a QR code from the main scanner -->
<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="qraccount_qr_code_cannot_be_used">Не може да бъде създаден нов акаунт със сканирания QR код.</string>
<!-- the placeholder will be replaced by the address of the profile -->
<string name="qrlogin_ask_login">Желаете ли да влезете в \"%1$s\"?</string>
<!-- deprecated, use confirm_add_transport when scanning such a QR code from the main scanner -->
<string name="qrlogin_ask_login_another">Желаете ли да влезете в \"%1$s\"?\n\nСъщестуващият Ви акаунт няма да бъде изтрит. Превключвайте между акаунтите си чрез \"Превключване към друг акаунт\".</string>
<!-- first placeholder will be replaced by name of the inviter, second placeholder will be replaced by the name of the inviter. -->
<string name="secure_join_started">%1$s Ви покани да се присъедините към тази група.\n\nИзчаква се устройството на %2$s да отговори…</string>
<!-- placeholder will be replaced by the name of the inviter. -->
+12 -4
View File
@@ -79,6 +79,10 @@
<string name="always_load_remote_images">شؽواتا دیر ز دسرس هی بوگوئشن</string>
<string name="once">هیم ی کرت</string>
<string name="show_warning">نشووݩ داڌن هوشدار</string>
<!-- deprecated, UI must not offer an option to show the password -->
<string name="show_password">نشووݩ داڌن رزم</string>
<!-- deprecated, UI must not offer an option to show the password -->
<string name="hide_password">بؽڌار کردن رزم</string>
<string name="not_now">سکو ن</string>
<string name="never">هیچ</string>
<string name="one_moment">ی دمووݩ...</string>
@@ -322,6 +326,11 @@
<item quantity="one">اخۊی %d پیوم پاک بۊ؟</item>
<item quantity="other">اخۊی %d پیوم پاک بۊ؟</item>
</plurals>
<!-- deprecated, use ask_delete_messages -->
<plurals name="ask_delete_messages_simple">
<item quantity="one">اخۊی %d پیوم پاک بۊ؟</item>
<item quantity="other">اخۊی %d پیوم پاک بۊ؟</item>
</plurals>
<string name="ask_start_chat_with">گوفت وو لوفت وا %1$s؟</string>
<!-- %1$s is replaced by a comma-separated list of names -->
<string name="ask_remove_members">پاک کردن %1$s ز جرگه؟</string>
@@ -336,13 +345,13 @@
<item quantity="other">%d پیوم نۊ</item>
</plurals>
<string name="chat_record_slide_to_cancel">سی رڌ کردن بکشس.</string>
<string name="chat_share_with_title">یک رسۊوی وا...</string>
<string name="chat_share_with_title">یک رسۊوی وا</string>
<string name="chat_input_placeholder">پیوم</string>
<string name="chat_request_label">درخاست</string>
<string name="chat_no_messages">پیومؽ نؽ.</string>
<string name="chat_self_talk_subtitle">پیومایی ک سی خوم فشنام.</string>
<!-- Action to add a message to "Saved Messages". The longer form (instead of "Save" only) is needed esp. on desktop to make clear this is not about saving a file to disk -->
<string name="save_message">زفت کردن پیوم</string>
<string name="save_message">زفت کردن</string>
<string name="saved_messages">پیوما زفت بیڌه</string>
<!-- Should match "Saved" from "Saved messages" -->
<string name="saved">زفت وابی</string>
@@ -350,7 +359,6 @@
<string name="retry_send">ز نۊ سی فشناڌن پیوم تقلا کوݩ</string>
<!-- mailing lists -->
<string name="mailing_list">نومگه پوستی</string>
<!-- title shown above a list of chats where one should be selected (eg. when sharing files from a webxdc). the placeholder will be replaced by a file name -->
<string name="send_file_to">فشناڌن \"%1$s\" و...</string>
<!-- title shown above a list contacts where one should be selected (eg. when a webxdc attempts to send a message to a chat) -->
@@ -374,7 +382,7 @@
<string name="media_preview">نشووݩ داڌن وارسگر</string>
<string name="send_message">فشناڌن پیوم</string>
<!-- deprecated -->
<!-- Headline in the "Connectivity" view. Placeholder will be replaced by a domain -->
<string name="storage_on_domain">زفت کردن من %1$s</string>
<!-- Shown in the title bar if the app is "Connecting"; prefer short strings. The ellipsis is a single character (…), not three (...) -->
<string name="connectivity_connecting">هونی منپیز ابۊ...</string>
+16 -1
View File
@@ -81,6 +81,10 @@
<string name="always_load_remote_images">Carrega sempre les imatges remotes</string>
<string name="once">Una vegada</string>
<string name="show_warning">Mostra l\'advertiment</string>
<!-- deprecated, UI must not offer an option to show the password -->
<string name="show_password">Mostra la contrasenya</string>
<!-- deprecated, UI must not offer an option to show the password -->
<string name="hide_password">Amaga la contrasenya</string>
<string name="not_now">Ara no</string>
<string name="never">Mai</string>
<string name="one_moment">Espereu...</string>
@@ -405,6 +409,11 @@
<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>
<!-- deprecated, use ask_delete_messages -->
<plurals name="ask_delete_messages_simple">
<item quantity="one">Vols esborrar %d missatge?</item>
<item quantity="other">Voleu esborrar %d missatges?</item>
</plurals>
<string name="ask_forward">Reenvia missatges a %1$s?</string>
<string name="ask_forward_multiple">Voleu reenviar els missatges a %1$d xats?</string>
<string name="ask_export_attachment">En exportar els adjunts permetreu que altres aplicacions del dispositiu hi puguin accedir.\n\nVoleu continuar?</string>
@@ -474,6 +483,8 @@
<!-- mailing lists -->
<string name="mailing_list">Llista de correu</string>
<!-- deprecated -->
<string name="mailing_list_profile_info">Els canvis al nom i la imatge de la llista de correu només s\'aplicaran en aquest dispositiu.</string>
<!-- webxdc -->
<!-- "Start..." button for an app -->
@@ -576,7 +587,7 @@
<string name="incoming_messages">Missatges entrants</string>
<!-- Headline for the "Outbox" eg. in the "Connectivity" view -->
<string name="outgoing_messages">Missatges sortints</string>
<!-- deprecated -->
<!-- Headline in the "Connectivity" view. Placeholder will be replaced by a domain -->
<string name="storage_on_domain">Emmagatzematge a %1$s.</string>
<string name="connectivity">Connectivitat</string>
<!-- Shown in the title bar if the app is "Not connected"; prefer short strings. -->
@@ -958,11 +969,15 @@
<string name="qrshow_join_contact_hint">Escanegeu això per establir contacte amb %1$s</string>
<string name="qrshow_join_contact_no_connection_toast">No hi ha connexió a internet, no es pot fer la configuració amb codi QR.</string>
<string name="qraccount_ask_create_and_login">Voleu crear un perfil nou a «%1$s» i iniciar sessió allà?</string>
<!-- deprecated, use confirm_add_transport when scanning such a QR code from the main scanner -->
<string name="qraccount_ask_create_and_login_another">Voleu crear un perfil nou a «%1$s» i iniciar-hi sessió?\n\nEl vostre perfil existent no s\'esborrarà. Useu l\'element «Canvia el perfil» per a canviar entre els vostres perfils.</string>
<string name="set_name_and_avatar_explain">Indiqueu un nom que els vostres contactes puguin reconèixer. També podeu establir una imatge de perfil.</string>
<string name="please_enter_name">Introduïu un nom</string>
<string name="qraccount_qr_code_cannot_be_used">El codi QR escanejat no es pot usar per a configurar un perfil nou.</string>
<!-- the placeholder will be replaced by the address of the profile -->
<string name="qrlogin_ask_login">Voleu iniciar sessió a «%1$s»?</string>
<!-- deprecated, use confirm_add_transport when scanning such a QR code from the main scanner -->
<string name="qrlogin_ask_login_another">Voleu iniciar «%1$s»?\n\nNo s\'esborrarà el perfil existent. Useu l\'element «Canvia el perfil» per a canviar entre els vostres perfils.</string>
<!-- first placeholder will be replaced by name of the inviter, second placeholder will be replaced by the name of the inviter. -->
<string name="secure_join_started">%1$s us ha convidat a unir-vos a aquest grup.\n\nS\'està esperant el dispositiu de %2$s per a respondre...</string>
<!-- placeholder will be replaced by the name of the inviter. -->
+4 -1
View File
@@ -43,6 +43,10 @@
<string name="show_full_message">هەموو پەیامەکە پیشان بدە...</string>
<string name="always">هەمیشە</string>
<string name="once">یەکجار</string>
<!-- deprecated, UI must not offer an option to show the password -->
<string name="show_password">تێپەڕوشەکە پیشان بدە</string>
<!-- deprecated, UI must not offer an option to show the password -->
<string name="hide_password">تێپەڕوشەکە بشارەوە</string>
<string name="not_now">ئێستا نا</string>
<string name="never">قەت</string>
<string name="done">ئەنجام بوو</string>
@@ -275,7 +279,6 @@
<string name="attachment_failed_to_load">پێوەلکاوەکە دانەگیرا</string>
<!-- mailing lists -->
<string name="mailing_list">لیستەی ئیمەیلەکان</string>
<!-- map -->
<string name="filter_map_on_time">شوێنەکان لە نێو چوارچێوەی کاتدا پیشان بدرێت؟</string>
<string name="show_location_traces">پیشاندانی شوێنپێ</string>
+19 -1
View File
@@ -81,6 +81,10 @@
<string name="always_load_remote_images">Vždy načítat vzdálené obrázky</string>
<string name="once">Jednou</string>
<string name="show_warning">Zobrazovat varování</string>
<!-- deprecated, UI must not offer an option to show the password -->
<string name="show_password">Zobrazit heslo</string>
<!-- deprecated, UI must not offer an option to show the password -->
<string name="hide_password">Skrýt heslo</string>
<string name="not_now">Teď ne</string>
<string name="never">Nikdy</string>
<string name="one_moment">Okamžik...</string>
@@ -433,6 +437,13 @@
<item quantity="many">Smazat %d zpráv ze všech Vašich zařízení?</item>
<item quantity="other">Smazat %d zpráv ze všech vašich zařízení?</item>
</plurals>
<!-- deprecated, use ask_delete_messages -->
<plurals name="ask_delete_messages_simple">
<item quantity="one">Smazat %d zprávu?</item>
<item quantity="few">Smazat %d zprávy?</item>
<item quantity="many">Smazat %d zpráv?</item>
<item quantity="other">Smazat %d zpráv?</item>
</plurals>
<string name="ask_forward">Přejete si přeposlat zprávy do chatu %1$s?</string>
<string name="ask_forward_multiple">Přejete si přeposlat zprávy do %1$d chatů?</string>
<string name="ask_export_attachment">Uložením příloh je zpřístupníte ostatním aplikacím na tomto zařízení.\n\nPřejete si pokračovat?</string>
@@ -508,6 +519,8 @@
<!-- mailing lists -->
<string name="mailing_list">E-mailový seznam</string>
<!-- deprecated -->
<string name="mailing_list_profile_info">Změny názvu a obrázku e-mailového seznamu se projeví pouze na tomto zařízení.</string>
<!-- webxdc -->
<!-- "Start..." button for an app -->
@@ -610,7 +623,7 @@
<string name="incoming_messages">Příchozí zprávy</string>
<!-- Headline for the "Outbox" eg. in the "Connectivity" view -->
<string name="outgoing_messages">Odchozí zprávy</string>
<!-- deprecated -->
<!-- Headline in the "Connectivity" view. Placeholder will be replaced by a domain -->
<string name="storage_on_domain">Úložiště na %1$s</string>
<string name="connectivity">Připojení</string>
<!-- Shown in the title bar if the app is "Not connected"; prefer short strings. -->
@@ -849,6 +862,7 @@
<string name="send_stats_to_devs">Odeslat statistiky vývojářům Delta Chatu</string>
<string name="stats_msg_body">Příloha obsahuje anonymní statistiky používání, které nám pomáhají zlepšovat službu Delta Chat. Děkujeme vám!</string>
<!-- Emoji picker and categories -->
<string name="emoji_search_results">Výsledky hledání</string>
<string name="emoji_not_found">Emoji nenalezeno</string>
@@ -1017,11 +1031,15 @@
<string name="qrshow_join_contact_hint">Naskenujte k navázání spojení s uživatelem %1$s</string>
<string name="qrshow_join_contact_no_connection_toast">Žádné připojení k Internetu. Zprovoznění QR kódem nelze provést.</string>
<string name="qraccount_ask_create_and_login">Přejete si vytvořit nový profil na \"%1$s\" a připojit se k němu?</string>
<!-- deprecated, use confirm_add_transport when scanning such a QR code from the main scanner -->
<string name="qraccount_ask_create_and_login_another">Přejete si vytvořit nový profil na \"%1$s\" a přihlásit se k němu?\n\nVáš stávající profil nebude smazán. K přepínání mezi profily můžete využít volbu \"Přepnout profil\".</string>
<string name="set_name_and_avatar_explain">Nastavte si jméno, podle kterého vás ostatní poznají. Můžete si také nastavit profilový obrázek.</string>
<string name="please_enter_name">Prosím, zadejte jméno.</string>
<string name="qraccount_qr_code_cannot_be_used">Tento QR kód neumožňuje nastavení nového účtu.</string>
<!-- the placeholder will be replaced by the address of the profile -->
<string name="qrlogin_ask_login">Přejete si přihlásit k \"%1$s\"?</string>
<!-- deprecated, use confirm_add_transport when scanning such a QR code from the main scanner -->
<string name="qrlogin_ask_login_another">Přejete si přihlásit k \"%1$s\"?\n\nVáš stávající profil nebude smazán. K přepínání mezi profily můžete využít volbu \"Přepnout profil\".</string>
<!-- first placeholder will be replaced by name of the inviter, second placeholder will be replaced by the name of the inviter. -->
<string name="secure_join_started">Uživatel %1$s vás pozval do této skupiny.\n\nČekání na odpověď od zařízení uživatele %2$s...</string>
<!-- first placeholder will be replaced by name of the inviter, second placeholder will be replaced by the name of the inviter. -->
+11
View File
@@ -50,6 +50,10 @@
<string name="load_remote_content">Hent billeder</string>
<string name="always">Altid</string>
<string name="once">En gang</string>
<!-- deprecated, UI must not offer an option to show the password -->
<string name="show_password">Vis adgangskode</string>
<!-- deprecated, UI must not offer an option to show the password -->
<string name="hide_password">Vis ikke adgangskode</string>
<string name="not_now">Ikke nu</string>
<string name="never">Aldrig</string>
<string name="one_moment">Et øjeblik…</string>
@@ -242,6 +246,11 @@
<item quantity="one">Slet %d besked?</item>
<item quantity="other">Slet %d beskeder?</item>
</plurals>
<!-- deprecated, use ask_delete_messages -->
<plurals name="ask_delete_messages_simple">
<item quantity="one">Slet %d besked?</item>
<item quantity="other">Slet %d beskeder?</item>
</plurals>
<string name="ask_forward">Videresend beskeder til %1$s?</string>
<string name="ask_forward_multiple">Videresend beskeder til %1$d samtaler? </string>
<string name="ask_export_attachment">Eksportér vedhæftninger? Eksport af vedhæftninger vil tillade alle programmer på din enhed adgang til dem.\n\nFortsæt?</string>
@@ -586,6 +595,8 @@
<string name="qrshow_join_contact_hint">Skan dette for at indstille kontakt med %1$s</string>
<string name="qrshow_join_contact_no_connection_toast">Ingen internet forbindelse, kan ikke udføre QR kode opsætning.</string>
<string name="qraccount_ask_create_and_login">Opret ny e-mail adresse på \"%1$s\" og log ind der?</string>
<!-- deprecated, use confirm_add_transport when scanning such a QR code from the main scanner -->
<string name="qraccount_ask_create_and_login_another">Opret ny e-mail adresse på \"%1$s\" og log ind der?\n\nDin eksisterende konto bliver ikke slettet. Brug \"Skift konto\" for at skifte imellem dine konti.</string>
<string name="qraccount_qr_code_cannot_be_used">Den skannede QR-kode kan ikke bruges til at opsætte en ny konto.</string>
<string name="contact_verified">%1$s bekræftet.</string>
<!-- notifications -->
+23 -13
View File
@@ -81,6 +81,10 @@
<string name="always_load_remote_images">Bilder immer nachladen</string>
<string name="once">Einmal</string>
<string name="show_warning">Warnung anzeigen</string>
<!-- deprecated, UI must not offer an option to show the password -->
<string name="show_password">Passwort anzeigen</string>
<!-- deprecated, UI must not offer an option to show the password -->
<string name="hide_password">Passwort verstecken</string>
<string name="not_now">Nicht jetzt</string>
<string name="never">Nie</string>
<string name="one_moment">Einen Moment …</string>
@@ -406,6 +410,11 @@
<item quantity="one">%d Nachricht löschen?</item>
<item quantity="other">%d Nachrichten löschen?</item>
</plurals>
<!-- deprecated, use ask_delete_messages -->
<plurals name="ask_delete_messages_simple">
<item quantity="one">%d Nachricht löschen?</item>
<item quantity="other">%d Nachrichten löschen?</item>
</plurals>
<string name="ask_forward">Nachricht weiterleiten an %1$s?</string>
<string name="ask_forward_multiple">Nachrichten an %1$d Chats weiterleiten?</string>
<string name="ask_export_attachment">Das Exportieren von Anhängen ermöglicht es allen anderen Anwendungen auf deinem Gerät, auf diese zuzugreifen.\n\nFortfahren? </string>
@@ -475,6 +484,8 @@
<!-- mailing lists -->
<string name="mailing_list">Mailingliste</string>
<!-- deprecated -->
<string name="mailing_list_profile_info">Änderungen an Name und Bild der Mailingliste gelten nur für dieses Gerät.</string>
<!-- webxdc -->
<!-- "Start..." button for an app -->
@@ -560,7 +571,7 @@
<!-- Shown inside a "QR code card" with very limited space; please formulate the text as short as possible therefore. The placeholder will be replaced by the profile name eg. "Scan to set up second device for Alice" -->
<string name="multidevice_qr_subtitle">Scannen, um ein zweites Gerät für %1$s hinzuzufügen</string>
<string name="multidevice_receiver_title">Als Zweitgerät hinzufügen</string>
<string name="multidevice_open_settings_on_other_device">Auf dem ersten Gerät, öffne Delta Chat, dann \"Einstellungen / Zweitgerät hinzufügen\" und scanne den dort angezeigten Code</string>
<string name="multidevice_open_settings_on_other_device">Auf dem ersten Gerät, gehe zu \"Einstellungen / Zweitgerät hinzufügen\" und scanne den dort angezeigten Code</string>
<string name="multidevice_receiver_scanning_ask">Das Profil vom anderen Gerät auf dieses Gerät kopieren?</string>
<string name="multidevice_receiver_needs_update">Das Profil, das du importieren möchtest, stammt aus einer neueren Delta-Chat-Version.\n\nUm Fortzufahren, aktualisiere dieses Gerät bitte auf die neueste Version von Delta Chat.</string>
<string name="multidevice_abort">Einrichtung des Zweitgeräts beenden?</string>
@@ -577,7 +588,7 @@
<string name="incoming_messages">Eingehende Nachrichten</string>
<!-- Headline for the "Outbox" eg. in the "Connectivity" view -->
<string name="outgoing_messages">Ausgehende Nachrichten</string>
<!-- deprecated -->
<!-- Headline in the "Connectivity" view. Placeholder will be replaced by a domain -->
<string name="storage_on_domain">Speicher auf %1$s</string>
<string name="connectivity">Verbindungsstatus</string>
<!-- Shown in the title bar if the app is "Not connected"; prefer short strings. -->
@@ -697,7 +708,7 @@
<!-- share and forward messages -->
<!-- Translators: shown above a chat/contact list when selecting recipients to forward messages -->
<string name="forward_to">Weiterleiten an</string>
<string name="forward_to">Weiterleiten an ...</string>
<!-- first placeholder is replaced by the number of files (always 2 or more); second placeholder is replaced by a chat name -->
<string name="ask_send_files_to_chat">%1$d Dateien an \"%2$s\" senden?</string>
<string name="ask_send_files_to_selected_chats">%1$d Datei(en) an %2$d Chats senden?</string>
@@ -814,14 +825,9 @@
<string name="disable_imap_idle">IMAP IDLE deaktivieren</string>
<string name="disable_imap_idle_explain">IMAP IDLE ausschalten, selbst wenn vom Server unterstützt. Die Aktivierung dieser Option verzögert den Abruf von Nachrichten; nur zu Testzwecken aktivieren</string>
<string name="send_stats_to_devs">Statistik an Delta Chat Entwickler senden</string>
<string name="stats_device_message">Möchtest du helfen, Delta Chat zu verbessern, indem du wöchentlich anonyme Nutzungsstatistiken sendest?\n\n👉 Hier tippen … 👈</string>
<string name="stats_confirmation_dialog">Möchtest du helfen, Delta Chat zu verbessern, indem du wöchentlich anonyme Nutzungsstatistiken sendest?</string>
<string name="stats_thanks">Danke! Du kannst das Senden der Statistik jederzeit unter \"Einstellungen / Erweitert\" ausschalten.\n\nHast du zusätzlich 5 Minuten Zeit, um an einer wissenschaftlichen Studie zur Sicherheit von Delta Chat teilzunehmen?</string>
<string name="stats_disable_dialog">Das Senden von Statistiken ist bereits eingeschaltet.\n\nMöchtest du es ausschalten?</string>
<string name="disable">Ausschalten</string>
<string name="stats_keep_sending">Weiter senden</string>
<string name="stats_msg_body">Der Anhang enthält anonyme Statistiken, die uns helfen, Delta Chat zu verbessern. Vielen Dank!</string>
<!-- Emoji picker and categories -->
<string name="emoji_search_results">Suchergebnisse</string>
<string name="emoji_not_found">Keine Emoji gefunden</string>
@@ -990,18 +996,22 @@
<string name="qrshow_join_contact_hint">Scannen für Chat mit %1$s</string>
<string name="qrshow_join_contact_no_connection_toast">Keine Verbindung zum Internet, Austausch des QR-Codes nicht möglich.</string>
<string name="qraccount_ask_create_and_login">Profil auf \"%1$s\" erzeugen und dort anmelden?</string>
<!-- deprecated, use confirm_add_transport when scanning such a QR code from the main scanner -->
<string name="qraccount_ask_create_and_login_another">Profil auf \"%1$s\" erzeugen und dort anmelden?\n\nDein bisheriges Profil wird dabei nicht gelöscht. Du kannst mit der Option \"Profil wechseln\" jederzeit zwischen den Konten hin- und herschalten.</string>
<string name="set_name_and_avatar_explain">Lege einen Namen fest, unter dem deine Kontakte dich kennen. Du kannst auch ein Profilbild festlegen.</string>
<string name="please_enter_name">Bitte gib einen Namen an.</string>
<string name="qraccount_qr_code_cannot_be_used">Der eingescannte QR-Code kann nicht dazu verwendet werden, eine neues Profil zu erstellen.</string>
<!-- the placeholder will be replaced by the address of the profile -->
<string name="qrlogin_ask_login">Bei \"%1$s\" anmelden?</string>
<!-- deprecated, use confirm_add_transport when scanning such a QR code from the main scanner -->
<string name="qrlogin_ask_login_another">Bei \"%1$s\" anmelden?\n\nDein bisheriges Profil wird dabei nicht gelöscht. Du kannst mit der Option \"Profil wechseln\" jederzeit zwischen den Profilen hin- und herschalten.</string>
<!-- first placeholder will be replaced by name of the inviter, second placeholder will be replaced by the name of the inviter. -->
<string name="secure_join_started">%1$s hat dich zu dieser Gruppe eingeladen.\n\nWarte auf die Antwort des Gerätes von %2$s</string>
<string name="secure_join_started">%1$s hat dich zu dieser Gruppe eingeladen.\n\nWarte auf die Antwort des Gerätes von %2$s...</string>
<!-- first placeholder will be replaced by name of the inviter, second placeholder will be replaced by the name of the inviter. -->
<string name="secure_join_channel_started">%1$s hat dich zu diesem Kanal eingeladen.\n\nWarte auf die Antwort des Gerätes von %2$s</string>
<string name="secure_join_channel_started">%1$s hat dich zu diesem Kanal eingeladen.\n\nWarte auf die Antwort des Gerätes von %2$s...</string>
<!-- placeholder will be replaced by the name of the inviter. -->
<string name="secure_join_replies">%1$s antwortet. Warte, zur Gruppe hinzugefügt zu werden</string>
<string name="secure_join_wait">Verbindungsaufbau, bitte warten</string>
<string name="secure_join_replies">%1$s antwortet. Warte, zur Gruppe hinzugefügt zu werden...</string>
<string name="secure_join_wait">Verbindungsaufbau, bitte warten...</string>
<string name="contact_verified">%1$s eingeführt.</string>
<!-- Shown in contact profile. The placeholder will be replaced by the name of the contact that introduced the contact. -->
<string name="verified_by">Eingeführt von %1$s</string>
+16 -1
View File
@@ -56,6 +56,10 @@
<string name="load_remote_content_ask">Εικόνες μπορούν να σας εντοπίσουν.\n\nΑυτή η ρύθμιση μπορεί να φορτώσει γραμματοσειρές και αλλά περιεχόμενα. Αν απενεργοποιηθεί, ενδέχεται να εμφανιστούν ενσωματωμένες ή προσωρινές εικόνες.\n\nΦόρτωση εικόνων;</string>
<string name="always">Πάντα</string>
<string name="once">Μία φορά</string>
<!-- deprecated, UI must not offer an option to show the password -->
<string name="show_password">Εμφάνιση Κωδικού</string>
<!-- deprecated, UI must not offer an option to show the password -->
<string name="hide_password">Απόκριψη Κωδικού</string>
<string name="not_now">Όχι τώρα</string>
<string name="never">Ποτέ</string>
<string name="one_moment">Μια στιγμή...</string>
@@ -277,6 +281,11 @@
<item quantity="one">Διαγραφή %d μηνύματος;</item>
<item quantity="other">Διαγραφή %d μηνυμάτων;</item>
</plurals>
<!-- deprecated, use ask_delete_messages -->
<plurals name="ask_delete_messages_simple">
<item quantity="one">Διαγραφή %d μηνύματος;</item>
<item quantity="other">Διαγραφή %d μηνυμάτων;</item>
</plurals>
<string name="ask_forward">Κοινοποίηση μηνύματος στο %1$s;</string>
<string name="ask_forward_multiple">Κοινοποίηση μηνύματος σε %1$d συνομιλίες;</string>
<string name="ask_export_attachment">Η εξαγωγή συνημμένων θα επιτρέψει σε άλλες εφαρμογές της συσκευής σας να έχουν πρόσβαση σε αυτά.\n\nΣυνέχεια;</string>
@@ -341,6 +350,8 @@
<!-- mailing lists -->
<string name="mailing_list">Λίστα Αλληλογραφίας</string>
<!-- deprecated -->
<string name="mailing_list_profile_info">Οι αλλαγές στο όνομα και την εικόνα της λίστας αλληλογραφίας ισχύουν μόνο σε αυτήν τη συσκευή.</string>
<!-- webxdc -->
<!-- "Start..." button for an app -->
@@ -399,7 +410,7 @@
<string name="incoming_messages">Εισερχόμενα Μηνύματα</string>
<!-- Headline for the "Outbox" eg. in the "Connectivity" view -->
<string name="outgoing_messages">Εξερχόμενα Μηνύματα</string>
<!-- deprecated -->
<!-- Headline in the "Connectivity" view. Placeholder will be replaced by a domain -->
<string name="storage_on_domain">Αποθήκευση στο %1$s</string>
<string name="connectivity">Συνδεσιμότητα</string>
<!-- Shown in the title bar if the app is "Not connected"; prefer short strings. -->
@@ -689,9 +700,13 @@
<string name="qrshow_join_contact_hint">Σάρωση για συνομιλία με %1$s</string>
<string name="qrshow_join_contact_no_connection_toast">Δεν υπάρχει σύνδεση στο διαδίκτυο, δεν είναι δυνατή η ρύθμιση κωδικού QR.</string>
<string name="qraccount_ask_create_and_login">Δημιουργήστε νέα διεύθυνση e-mail στο \"%1$s\" και συνδεθείτε εκεί;</string>
<!-- deprecated, use confirm_add_transport when scanning such a QR code from the main scanner -->
<string name="qraccount_ask_create_and_login_another">Δημιουργήστε νέα διεύθυνση e-mail στο \"%1$s\" και συνδεθείτε εκεί;\n\nΟ υπάρχων λογαριασμός σας δεν θα διαγραφεί. Χρησιμοποιήστε τη λειτουργία \"Εναλλαγή λογαριασμού\" για εναλλαγή μεταξύ των λογαριασμών σας.</string>
<string name="qraccount_qr_code_cannot_be_used">Ο σαρωμένος κωδικός QR δεν μπορεί να χρησιμοποιηθεί για τη δημιουργία νέου λογαριασμού.</string>
<!-- the placeholder will be replaced by the address of the profile -->
<string name="qrlogin_ask_login">Σύνδεση στο \"%1$s\";</string>
<!-- deprecated, use confirm_add_transport when scanning such a QR code from the main scanner -->
<string name="qrlogin_ask_login_another">Σύνδεση στο \"%1$s\";\n\nΟ υπάρχων λογαριασμός σας δεν θα διαγραφεί. Χρησιμοποιήστε τη λειτουργία \"Εναλλαγή λογαριασμού\" για εναλλαγή μεταξύ των λογαριασμών σας.</string>
<!-- first placeholder will be replaced by name of the inviter, second placeholder will be replaced by the name of the inviter. -->
<string name="secure_join_started">%1$s σας προσκάλεσε να συμμετάσχετε σε αυτήν την ομάδα.\n\nΑναμονή για απάντηση από τη συσκευή του %2$s…</string>
<!-- placeholder will be replaced by the name of the inviter. -->
+4
View File
@@ -75,6 +75,10 @@
<string name="always_load_remote_images">Ĉiam ŝargu forajn bildojn</string>
<string name="once">Unufoje</string>
<string name="show_warning">Afiŝu averton</string>
<!-- deprecated, UI must not offer an option to show the password -->
<string name="show_password">Montri pasvorton</string>
<!-- deprecated, UI must not offer an option to show the password -->
<string name="hide_password">Kaŝi pasvorton</string>
<string name="not_now">Ne nun</string>
<string name="never">Neniam</string>
<string name="one_moment">Unu momenton…</string>
+17 -1
View File
@@ -81,6 +81,10 @@
<string name="always_load_remote_images">Cargar siempre imágenes remotas</string>
<string name="once">Una vez</string>
<string name="show_warning">Mostrar advertencia</string>
<!-- deprecated, UI must not offer an option to show the password -->
<string name="show_password">Mostrar contraseña</string>
<!-- deprecated, UI must not offer an option to show the password -->
<string name="hide_password">Ocultar contraseña</string>
<string name="not_now">Ahora no</string>
<string name="never">Nunca</string>
<string name="one_moment">Un momento…</string>
@@ -419,6 +423,12 @@
<item quantity="many">¿Eliminar %d mensajes de todos tus dispositivos?</item>
<item quantity="other">¿Eliminar %d mensajes de todos tus dispositivos?</item>
</plurals>
<!-- deprecated, use ask_delete_messages -->
<plurals name="ask_delete_messages_simple">
<item quantity="one">¿Eliminar %d mensaje?</item>
<item quantity="many">¿Eliminar %d mensajes?</item>
<item quantity="other">¿Eliminar %d mensajes?</item>
</plurals>
<string name="ask_forward">¿Reenviar mensajes a %1$s?</string>
<string name="ask_forward_multiple">¿Reenviar mensajes a %1$d chats?</string>
<string name="ask_export_attachment">Los adjuntos exportados serán accesibles desde cualquier otra aplicación en su dispositivo. ¿Continuar?</string>
@@ -491,6 +501,8 @@
<!-- mailing lists -->
<string name="mailing_list">Lista de correo</string>
<!-- deprecated -->
<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>
<!-- webxdc -->
<!-- "Start..." button for an app -->
@@ -593,7 +605,7 @@
<string name="incoming_messages">Mensajes entrantes</string>
<!-- Headline for the "Outbox" eg. in the "Connectivity" view -->
<string name="outgoing_messages">Mensajes salientes</string>
<!-- deprecated -->
<!-- Headline in the "Connectivity" view. Placeholder will be replaced by a domain -->
<string name="storage_on_domain">Almacenamiento en %1$s</string>
<string name="connectivity">Conectividad</string>
<!-- Shown in the title bar if the app is "Not connected"; prefer short strings. -->
@@ -998,11 +1010,15 @@ Desactiva este ajuste solo si has eliminado este perfil de todos tus demás disp
<string name="qrshow_join_contact_hint">Escanea esto para configurar un contacto con %1$s</string>
<string name="qrshow_join_contact_no_connection_toast">No hay conexión a Internet, no se puede configurar con código QR.</string>
<string name="qraccount_ask_create_and_login">¿Crear una nueva dirección de correo en \"%1$s\" e ingresar allí?</string>
<!-- deprecated, use confirm_add_transport when scanning such a QR code from the main scanner -->
<string name="qraccount_ask_create_and_login_another">¿Crear una nueva dirección de correo en \"%1$s\" e ingresar ahí?\n\nTu cuenta existente no será eliminada. Usar el ítem \"Cambiar cuenta\" para cambiar entre tus cuentas.</string>
<string name="set_name_and_avatar_explain">Establece un nombre que tus contactos puedan reconocer. También puedes establecer una foto de perfil.</string>
<string name="please_enter_name">Por favor, introduce un nombre.</string>
<string name="qraccount_qr_code_cannot_be_used">El código QR escaneado no puede ser usado para configurar una nueva cuenta.</string>
<!-- the placeholder will be replaced by the address of the profile -->
<string name="qrlogin_ask_login">¿Iniciar sesión en \"%1$s\"?</string>
<!-- deprecated, use confirm_add_transport when scanning such a QR code from the main scanner -->
<string name="qrlogin_ask_login_another">¿Iniciar sesión en \"%1$s\"?\n\nTu cuenta existente no será eliminada. Usa la opción \"Cambiar cuenta\" para cambiar entre tus cuentas.</string>
<!-- first placeholder will be replaced by name of the inviter, second placeholder will be replaced by the name of the inviter. -->
<string name="secure_join_started">%1$s te invitó a unirte a este grupo.\n\nEsperando que el dispositivo de %2$s responda…</string>
<!-- placeholder will be replaced by the name of the inviter. -->
+17 -6
View File
@@ -81,6 +81,10 @@
<string name="always_load_remote_images">Alati laadi kaugseadmes asuvaid pilte</string>
<string name="once">Vaid see kord</string>
<string name="show_warning">Näita hoiatust</string>
<!-- deprecated, UI must not offer an option to show the password -->
<string name="show_password">Näita salasõna</string>
<!-- deprecated, UI must not offer an option to show the password -->
<string name="hide_password">Peida salasõna</string>
<string name="not_now">Mitte praegu</string>
<string name="never">Mitte kunagi</string>
<string name="one_moment">Üks hetk…</string>
@@ -405,6 +409,11 @@
<item quantity="one">Kas kustutad %d sõnumi kõikidest oma seadmetest?</item>
<item quantity="other">Kas kustutad %d sõnumit kõikidest oma seadmetest?</item>
</plurals>
<!-- deprecated, use ask_delete_messages -->
<plurals name="ask_delete_messages_simple">
<item quantity="one">Kas soovid kustutada %d sõnumi?</item>
<item quantity="other">Kas soovid kustutada %d sõnumit?</item>
</plurals>
<string name="ask_forward">Kas edastad sõnumi kasutajale %1$s?</string>
<string name="ask_forward_multiple">Kas edastad sõnumid %1$d vestlusesse?</string>
<string name="ask_export_attachment">Kui ekspordid manused, siis sinu nutiseadme muud rakendused saavad neile ligi.\n\nKas soovid jätkata?</string>
@@ -474,6 +483,8 @@
<!-- mailing lists -->
<string name="mailing_list">Postiloend</string>
<!-- deprecated -->
<string name="mailing_list_profile_info">Postiloendi nime ja tunnuspildi muudatused kehtivad vaid selles seadmes.</string>
<!-- webxdc -->
<!-- "Start..." button for an app -->
@@ -489,7 +500,6 @@
<!-- map -->
<string name="filter_map_on_time">Näita asukohti ajavahemike kaupa</string>
<string name="show_location_traces">Näita asukohti kaardil</string>
<string name="add_poi">Saada huvipunkti teave</string>
@@ -576,7 +586,7 @@
<string name="incoming_messages">Saabuvad sõnumid</string>
<!-- Headline for the "Outbox" eg. in the "Connectivity" view -->
<string name="outgoing_messages">Väljuvad sõnumid</string>
<!-- deprecated -->
<!-- Headline in the "Connectivity" view. Placeholder will be replaced by a domain -->
<string name="storage_on_domain">Andmeruum domeenis %1$s</string>
<string name="connectivity">Ühenduvus</string>
<!-- Shown in the title bar if the app is "Not connected"; prefer short strings. -->
@@ -613,7 +623,6 @@
<string name="instant_onboarding_create">Nõustun ja alustan profiili loomist</string>
<!-- Secondary, link-like button to open a page with other possible instances -->
<string name="instant_onboarding_show_more_instances">Kasuta muud serverid</string>
<string name="instant_onboarding_other_server">Edastusserverite loend</string>
<!-- Hint about what happens when "Create Profile" button in pressed; the placeholder will be replaced by the group name -->
<string name="instant_onboarding_group_info">„%1$s“ grupiga liitumiseks loo profiil.</string>
<!-- Hint about what happens when "Create Profile" button in pressed; the placeholder will be replaced by contact name -->
@@ -813,11 +822,9 @@
<string name="disable_imap_idle">Lülita IMAP IDLE välja</string>
<string name="disable_imap_idle_explain">Ära kasuta IMAP IDLE meetodit, seda isegi siis, kui server seda toetab. Sisselülitamisel tekib sõnumite laadimisel viivitusi. Kasuta seda vaid testimiseks.</string>
<string name="send_stats_to_devs">Saada statistikat Delta Chati kasutajatele</string>
<string name="stats_disable_dialog">Statistika saatmine on juba kasutusel\n\nKas sa tahaksid ta välja lülitada?</string>
<string name="disable">Lülita välja</string>
<string name="stats_keep_sending">Jätka saatmist</string>
<string name="stats_msg_body">Selles manuses leidub anonüümne statistika rakenduse kasutuse kohta ja see aitab meil Delta Chatti paremaks muuta. Suur tänu!</string>
<!-- Emoji picker and categories -->
<string name="emoji_search_results">Otsingutulemused</string>
<string name="emoji_not_found">Ühtegi emojit ei leidu</string>
@@ -986,11 +993,15 @@
<string name="qrshow_join_contact_hint">Skaneeri vestlemaks kasutajaga „%1$s“</string>
<string name="qrshow_join_contact_no_connection_toast">Internetiühendus puudub ja QR-koodil põhinevat seadistamist kasutada ei saa.</string>
<string name="qraccount_ask_create_and_login">Kas lood uue profiili nimega „%1$s“ ja logid sinna sisse?</string>
<!-- deprecated, use confirm_add_transport when scanning such a QR code from the main scanner -->
<string name="qraccount_ask_create_and_login_another">Kas soovid lisada uue profiili „%1$s“ serverisse ja sellega sisse logida?\n\nSinu olemasolev profiil jääb alles. Profiile saad vahetada käsuga „Vaheta profiili“.</string>
<string name="set_name_and_avatar_explain">Vali nimi, mida sinu kontaktid ära tunnevad. Saad ka lisada profiili tunnuspildi.</string>
<string name="please_enter_name">Palun sisesta nimi.</string>
<string name="qraccount_qr_code_cannot_be_used">Selle skaneeritud QR-koodi abil ei saa uut profiili kasutusele võtta.</string>
<!-- the placeholder will be replaced by the address of the profile -->
<string name="qrlogin_ask_login">Kas logid sisse „%1$s“ profiili?</string>
<!-- deprecated, use confirm_add_transport when scanning such a QR code from the main scanner -->
<string name="qrlogin_ask_login_another">Kas soovid sisse logid oma kontoga „%1$s“ serveris?\n\nSinu olemasolev profiil jääb alles. Profiile saad vahetada käsuga „Vaheta profiili“.</string>
<!-- first placeholder will be replaced by name of the inviter, second placeholder will be replaced by the name of the inviter. -->
<string name="secure_join_started">%1$s kutsus sind liituma selle grupiga.\n\nOotan vastust kasutaja %2$s seadmest…</string>
<!-- first placeholder will be replaced by name of the inviter, second placeholder will be replaced by the name of the inviter. -->
+4
View File
@@ -78,6 +78,10 @@
<string name="always_load_remote_images">Kargatu urrutiko irudiak beti</string>
<string name="once">Behin</string>
<string name="show_warning">Erakutsi abisua</string>
<!-- deprecated, UI must not offer an option to show the password -->
<string name="show_password">Erakutsi pasahitza</string>
<!-- deprecated, UI must not offer an option to show the password -->
<string name="hide_password">Ezkutatu pasahitza</string>
<string name="not_now">Orain ez</string>
<string name="never">Inoiz ez</string>
<string name="one_moment">Unetxo bat...</string>
+41 -74
View File
@@ -81,6 +81,10 @@
<string name="always_load_remote_images">تصاویر دوردست همیشه بار شوند</string>
<string name="once">همین یک بار</string>
<string name="show_warning">نمایش هشدار</string>
<!-- deprecated, UI must not offer an option to show the password -->
<string name="show_password">نمایش رمزعبور</string>
<!-- deprecated, UI must not offer an option to show the password -->
<string name="hide_password">مخفی کردن رمز عبور</string>
<string name="not_now">اکنون نه</string>
<string name="never">هرگز</string>
<string name="one_moment">یک لحظه...</string>
@@ -116,16 +120,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">آخرین بار دیده‌شده در %1$s</string>
<string name="last_seen_unknown">آخرین زمان مشاهده: نامشخص</string>
<!-- Shown in call duration. Avoid abbreviations, prefer full words ex. "N seconds". -->
<plurals name="n_seconds_ext">
<item quantity="one">%d ثانیه</item>
<item quantity="other">%dثانیه</item>
</plurals>
<!-- Shown in call duration. Avoid abbreviations, prefer full words ex. "N minutes". -->
<plurals name="n_minutes_ext">
<item quantity="one">%d دقیقه</item>
<item quantity="other">%d دقیقه</item>
</plurals>
<!-- Shown beside messages that are "N minutes old". Prefer short strings, or well-known abbreviations. -->
<plurals name="n_minutes">
<item quantity="one">%d دقیقه</item>
@@ -159,7 +153,7 @@
</plurals>
<plurals name="n_recipients">
<item quantity="one">%d گیرنده</item>
<item quantity="other">%d دنبال‌کننده </item>
<item quantity="other">%d گیرنده </item>
</plurals>
<!-- Short form for "N Items Selected" -->
<plurals name="n_selected">
@@ -241,7 +235,8 @@
<!-- menu labels (or icon, buttons...) -->
<string name="menu_new_contact">مخاطب جدید</string>
<string name="menu_new_classic_contact">اضافه کردن مخاطب به صورت دستی</string>
<string name="new_classic_contact_explain">مخاطبینی که دستی اضافه شده‌اند می توانند برای ارسال پیام به حساب رایانامه معمولی استفاده شوند و رمزگذاری سراسری برای آن‌ها تضمین نمی‌شود.</string>
<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 -->
@@ -254,10 +249,9 @@
<!-- consider keeping the term "channel" as in WhatsApp or Telegram -->
<string name="new_channel">کانال جدید</string>
<!-- deprecated -->
<string name="add_recipients">افزودن دنبال‌کننده</string>
<string name="add_recipients">افزودن گیرنده</string>
<!-- consider keeping the term "channel" as in WhatsApp or Telegram -->
<string name="channel_name">نام کانال</string>
<string name="email">رایانامه</string>
<!-- "New" as in "Create New Email"; shown together with "New Group" and "New Channel" -->
<string name="new_email">رایانامه جدید</string>
<!-- the "Subject" of an email, use the term common in classic email apps -->
@@ -315,7 +309,7 @@
<string name="menu_scroll_to_top">رفن تا بالا</string>
<string name="menu_help">کمک</string>
<!-- use the same term for "Apps" as elsewhere -->
<string name="what_is_webxdc">مینی برنامه‌ها چیستند؟</string>
<string name="what_is_webxdc">Webxdc چیست؟</string>
<string name="privacy_policy">خط مشی رازداری</string>
<string name="menu_select_all">انتخاب همه</string>
<string name="select_chat">انتخاب چت</string>
@@ -378,32 +372,23 @@
</plurals>
<string name="file_saved_to">پرونده در «%1$s» ذخیره شد.</string>
<!-- the action "to call someone", used as a tooltip for the "phone" icon. not: "the call" -->
<string name="start_call">تماس</string>
<!-- the action "to answer" or to "accept" or to "pick up" a call. not: "the answer" -->
<string name="answer_call">جواب دادن</string>
<!-- the action "to decline" a call, not: "the decline" -->
<string name="end_call">رد کردن</string>
<string name="outgoing_call">تماس خروجی</string>
<string name="incoming_call">تماس ورودی</string>
<string name="declined_call">تماس رد شده</string>
<string name="canceled_call">تماس لغو شده</string>
<string name="missed_call">تماس از دست رفته</string>
<!-- the first placeholder will be replaced by a date, the second placeholder by duration, example: "Thu, 08:12 pm, 2 minutes" -->
<string name="call_date_and_duration">%1$s، %2$s</string>
<!-- get confirmations -->
<!-- confirmation for leaving groups or channels. If a subject is needed, "Are you sure you want to leave the chat?" would work as well -->
<string name="ask_leave_group">آیا مطمئنید می‌خواهید بروید؟</string>
<plurals name="ask_delete_chat">
<item quantity="one">آیا می‌خواهید از روی همهٔ دستگاه‌هایتان %d گپ را حذف کنید؟</item>
<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="one">آیا می‌خواهید از روی تمام دستگاه‌هایتان %d پیام را حذف کنید؟</item>
<item quantity="other">حذف %dپیام؟</item>
<item quantity="other">آیا می‌خواهید از روی تمام دستگاه‌هایتان %d پیام را حذف کنید؟</item>
</plurals>
<!-- deprecated, use ask_delete_messages -->
<plurals name="ask_delete_messages_simple">
<item quantity="one">می‌خواهید %dپیام پاک شود؟</item>
<item quantity="other">می‌خواهید %d پیام پاک شود؟</item>
</plurals>
<string name="ask_forward">پیام‌ها به %1$s هدایت شوند؟</string>
<string name="ask_forward_multiple">انتقال پیام‌ها به %1$d گپ؟</string>
@@ -412,8 +397,8 @@
شما دیگر پیامی به صورت مستقیم از این مخاطب دریافت نخواهید کرد. همچنین گروه‌های ایجاد شده توسط این مخاطب نمایش داده نخواهند شد.\n\n
با این وجود، گروه‌هایی که این مخاطب در آن حضور دارند نمایش داده خواهد شد.</string>
<string name="ask_unblock_contact">رفع مسدودیت این مخاطب؟</string>
<string name="ask_delete_contacts">مخاطب‌ها حذف شوند؟\n\nمخاطب‌هایی که گپ فعال دارند را نمی‌توان به صورت دائمی حذف کرد. </string>
<string name="ask_delete_contact">حذف مخاطب %1$s؟ \n\nمخاطب‌ها با گپ فعال و مخاطب‌هایی که در دفتر تلفن سامانه هستند را نمی‌توان به صورت دائمی حذف کرد. </string>
<string name="ask_delete_contacts">مخاطبین حذف شوند؟\n\nمخاطبینی که گپ فعال دارند و مخاطبینی که در دفتر تلفن سامانه هستند را نمی‌توان به صورت دائمی حذف کرد. </string>
<string name="ask_delete_contact">حذف مخاطب %1$s؟ \n\nمخاطبین با گپ فعال و مخاطبینی که در دفتر تلفن سامانه هستند را نمی‌توان به صورت دائمی حذف کرد. </string>
<string name="ask_start_chat_with">گپ زدن با %1$s؟</string>
<!-- %1$s is replaced by a comma-separated list of names -->
<string name="ask_remove_members">حذف %1$s از گروه؟</string>
@@ -453,7 +438,7 @@
<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_share_with_title">اشتراک گذاری با...</string>
<string name="chat_share_with_title">اشتراک گذاری با</string>
<string name="chat_input_placeholder">پیام</string>
<string name="chat_archived_label">بایگانی شد</string>
<string name="chat_request_label">درخواست</string>
@@ -462,7 +447,7 @@
<string name="chat_self_talk_subtitle">پیام‌هایی که برای خودم ارسال کرده‌ام. </string>
<string name="archive_empty_hint">اگر گپ‌ها را بایگانی کنید در اینجا نمایش داده می‌شوند. </string>
<!-- Action to add a message to "Saved Messages". The longer form (instead of "Save" only) is needed esp. on desktop to make clear this is not about saving a file to disk -->
<string name="save_message">ذخیره پیام</string>
<string name="save_message">ذخیره</string>
<string name="saved_messages">پیام‌های ذخیره شده. </string>
<string name="saved_messages_explain">برای دسترسی راحت‌تر پیام‌ها را به اینجا هدایت کنید\n\n• می‌توانید یادداشت متنی یا صوتی تهیه کنید\n\n• برای ذخیره رسانه‌ آن را ضمیمه کنید. </string>
<!-- Should match "Saved" from "Saved messages" -->
@@ -476,6 +461,8 @@
<!-- mailing lists -->
<string name="mailing_list">فهرست پستی</string>
<!-- deprecated -->
<string name="mailing_list_profile_info">تغییرات انجام شده روی نام و تصویر فهست پستی فقط در این دستگاه اعمال شود.</string>
<!-- webxdc -->
<!-- "Start..." button for an app -->
@@ -579,7 +566,7 @@
<string name="incoming_messages">پیام‌های ورودی</string>
<!-- Headline for the "Outbox" eg. in the "Connectivity" view -->
<string name="outgoing_messages">پیام‌های خروجی</string>
<!-- deprecated -->
<!-- Headline in the "Connectivity" view. Placeholder will be replaced by a domain -->
<string name="storage_on_domain">ذخیره کردن در %1$s</string>
<string name="connectivity">اتصال‌ها</string>
<!-- Shown in the title bar if the app is "Not connected"; prefer short strings. -->
@@ -605,7 +592,7 @@
<!-- Secondary button on the welcome screen, allows to "Add as Second Device", "Restore from Backup" -->
<string name="onboarding_alternative_logins">از قبل یک حساب کاربری دارم</string>
<!-- This is a button and a title, allowing to use existing, classic email, setting ports, passwords and so on -->
<string name="manual_account_setup_option">استفاده از رایانامه معمولی به عنوان رله</string>
<string name="manual_account_setup_option">ساخت حساب کاربری با حساب رایانامه معمولی</string>
<!-- Instant onboarding title (there is not more to do than to set name and avatar) -->
<string name="instant_onboarding_title">نمایه شما</string>
<!-- The placeholder will be replaced by the default onboarding server -->
@@ -660,7 +647,7 @@
<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>
<!-- %1$s will be replaced by the failing address -->
<string name="login_error_cannot_login">نمی‌توانیم به عنوان «%1$s» وارد شویم. لطفاً درستی نشانی رایانامه و گذرواژه را بررسی کنید. </string>
<!-- TLS certificate checks -->
@@ -754,7 +741,6 @@
<string name="pref_backup">نسخه پشتیبان</string>
<string name="pref_backup_explain">تهیهٔ پشتیبان از گپ‌ها در ذخیره‌گاه خارجی</string>
<string name="pref_backup_export_explain">تهیهٔ پشتیبان به شما کمک می‌کند روی این دستگاه یا دستگاه دیگر نرم‌افزار را دوباره نصب کنید.\n\nپشتیبان حاوی تمام پیام‌ها، مخاطبین، گپ‌ها و برپاسازی اتوکریپت سرتاسر شما خواهد بود. پروندهٔ پشتیبانی را در یک جای امن نگه دارید و در اسرع وقت آن را پاک کنید.</string>
<string name="pref_backup_export_this">برون‌ریزی این نمایه</string>
<!-- the placeholder will be replaced by the number of profiles to export; the number is always larger than 1 -->
<string name="pref_backup_export_all">برون‌ریزی همه%1$d حساب ها</string>
<string name="pref_backup_export_start_button">شروع تهیه نسخه پشتیبان</string>
@@ -764,8 +750,6 @@
<string name="pref_background_btn_default">استفاده از تصویر پیش‌فرض</string>
<string name="pref_background_btn_gallery">انتخاب از گالری</string>
<string name="pref_imap_folder_warn_disable_defaults">اگر این گزینه را غیر فعال می‌کنید از اینکه سرور شما و حساب‌هایتان هم بر این اساس تنظیم شده باشند.\n\n در غیر این صورت ممکن است هیچ چیز کار نکند. </string>
<!-- No need to be literal here, you can also use "Use Multiple Devices", "Support Multiple Devices" or other fitting terms. However, it should fit to the wording or your language at https://delta.chat/help -->
<string name="pref_multidevice">حالت چند دستگاهی</string>
<string name="pref_auto_folder_moves">انتقال خودکار به پوشه دلتاچت</string>
<string name="pref_only_fetch_mvbox_title">فقط پوشه دلتاچت را بررسی کن</string>
<string name="pref_show_emails">نمایش رایانامه‌های معمولی</string>
@@ -828,7 +812,7 @@
<!-- %1$d will be replaced by the number of messages, you can assume plural/lots here. %2$s will be replaced by a timespan option. -->
<string name="autodel_server_ask">آیا می‌خواهید %1$d پیام را اکنون و تمام پیام‌های آیندهٔ «%2$s» را پاک کنید؟/n/n⚠️ این شامل رایانامه‌ها، رسانه و «پیام‌های ذخیره شده» در همه پوشه‌های کارساز(سرور) می‌شود/n/n⚠️ اگر می‌خواهید داده‌ها در کارساز باقی بمانند از این قابلیت استفاده نکنید/n/n⚠️ اگر به‌جز دلتاچت از دیگر نرم‌افزارهای رایانامه هم استفاده می‌کنید این قابلیت را به کار نگیرید.</string>
<!-- shown below enabled autodel_server-option, should be a summary of autodel_server_ask and remind about the impact -->
<string name="autodel_server_enabled_hint">این شامل رایانامه‌ها، رسانه‌ها و «پیام‌های ذخیره شده» در تمام پوشه‌های کارساز(سرور) می‌شود. اگر می‌خواهید داده‌ها را در کارساز نگه دارید از این قابلیت استفاده نکنید. اگر از دیگر نرم‌افزارهای رایانامه به‌جز دلتاچت استفاده می‌کنید هم از این قابلیت استفاده نکنید.</string>
<string name="autodel_server_enabled_hint">این شامل رایانامه‌ها، رسانه‌ها و «پیام‌های ذخیره شده» در تمام پوشه‌های کارساز(سرور) می‌شود. اگر می‌خواهید داده‌ها را در کارساز نگه دارید از این قابلیت استفاده نکنید. اگر از دیگر نرم‌افزارهای رایانامه به‌جز دلتاچت استفاده می‌کنید از این قابلیت استفاده نکنید.</string>
<string name="autodel_confirm">متوجه هستم، همه پیام‌ها حذف شوند</string>
<!-- "At once" in the meaning of "Immediately", without any intervening time. -->
<string name="autodel_at_once">یک بار بعد از بارگیری</string>
@@ -860,12 +844,7 @@
<!-- %1$s will be replaced by name of the contact removed from the group, %2$s will be replaced by name of the contact who did the action -->
<string name="remove_member_by_other">عضو گروه، %1$s، توسط %2$s حذف شد. </string>
<!-- %1$s will be replaced by name of the contact removed from the group; this string is used when it's unclear who did the action -->
<string name="member_x_removed">%1$sاز گروه حذف شد. </string>
<!-- "left" in the meaning of "exited". -->
<string name="group_left_by_you">شما گروه را ترک کردید</string>
<!-- "left" in the meaning of "exited". -->
<string name="channel_left_by_you">شما کانال را ترک کردید</string>
<string name="you_joined_the_channel">شما به کانال ملحق شدید</string>
<string name="member_x_removed">عضویت %1$sحذف شد. </string>
<!-- "left" in the meaning of "exited"; %1$s will be replaced by name of the contact leaving the group -->
<string name="group_left_by_other">ترک گروه توسط %1$s.</string>
<string name="group_image_deleted_by_you">شما تصویر گروه را حذف کردید.</string>
@@ -894,9 +873,6 @@
<string name="ephemeral_timer_1_week_by_you">زمان‌سنج ناپدید شدن پیام‌ها را روی 1 هفته تنظیم کرده‌اید.</string>
<!-- %1$s will be replaced by name of the contact -->
<string name="ephemeral_timer_1_week_by_other">زمان‌سنج ناپدید شدن پیام‌ها توسط %1$s روی 1 هفته تنظیم شد.</string>
<string name="ephemeral_timer_1_year_by_you">شما تایمر پیام‌های محو شونده را روی ۱ سال تنظیم کردید</string>
<!-- %1$s will be replaced by name of the contact -->
<string name="ephemeral_timer_1_year_by_other">تایمر پیام‌های محو شونده توسط %1$s بر روی ۱ سال تنظیم شده‌اند.</string>
<!-- %1$s will be replaced by the number of minutes (always >1) the timer is set to -->
<string name="ephemeral_timer_minutes_by_you">زمان‌سنج ناپدید شدن پیام‌ها را روی %1$s دقیقه تنظیم کردید.</string>
<!-- %1$s will be replaced by the number of minutes (always >1) the timer is set to, %2$s will be replaced by name of the contact -->
@@ -913,16 +889,17 @@
<string name="ephemeral_timer_weeks_by_you">زمان‌سنج ناپدید شدن پیام‌ها را روی %1$s هفته تنظیم کردید.</string>
<!-- %1$s will be replaced by the number of weeks (always >1) the timer is set to, %2$s will be replaced by name of the contact -->
<string name="ephemeral_timer_weeks_by_other">زمان‌سنج ناپدید شدن پیام‌ها توسط %2$s روی %1$s هفته تنظیم شد.</string>
<string name="chat_unencrypted_explanation">پیام‌ها در این گپ از رایانامه معمولی استفاده می‌کنند و به صورت سراسری رمزنگاری نشده‌اند.</string>
<string name="chat_protection_enabled_tap_to_learn_more">رمزنگاری سراسری پیام‌ها از این به بعد تضمین می شود. برای اطلاعات بیشتر ضربه بزنید.</string>
<string name="chat_protection_enabled_explanation">رمزنگاری سراسری پیام‌های این گفتگو تضمین می‌شود. رمزنگاری سراسری باعث می‌شود پیام‌هایتان بین شما و مخاطبین شما محرمانه بماند. حتی ارائه‌دهنده‌ها و رله‌ها هم نمی‌توانند آن‌ها را بخوانند.</string>
<string name="chat_protection_enabled_tap_to_learn_more">رمزنگاری سرتاسر پیام ها از این به بعد تضمین می شود. برای اطلاعات بیشتر ضربه بزنید.</string>
<string name="chat_protection_enabled_explanation">رمزنگاری سراسری پیام‌های این گفتگو اکنون تضمین میشود. رمزنگاری سراسری باعث می‌شود پیام‌هایتان بین شما و مخاطبین شما محرمانه بماند. حتی ارائه‌دهندهٔ رایانامه شما هم نمی‌تواند آن‌ها را بخواند.</string>
<string name="invalid_unencrypted_tap_to_learn_more">⚠️ %1$s به رمزنگاری سراسری نیاز دارد که هنوز برای این گپ پیکره‌بندی نشده است. برای یادگیری بیش‌تر این‌جا بزنید.</string>
<string name="invalid_unencrypted_explanation">برای برقراری رمزنگاری سراسری، می‌توانید به صورت حضوری با مخاطب‌های خود دیدار کنید و کد کیوآر آن‌ها را برای معرفی اسکن کنید.</string>
<string name="learn_more">بیشتر بدانید</string>
<string name="devicemsg_self_deleted">شما گپ «پیام‌های ذخیره شده» را پاک کردید.\n\nℹ️ برای استفادهٔ دوباره از «پیام‌های ذخیره شده» کافی است یک گپ جدید با خودتان درست کنید. </string>
<!-- %1$s will be replaced by the amount of storage already used, sth. as '500 MB'. If you want to use a percentage sign, type in two of them, eg. %1$s %% -->
<string name="devicemsg_storage_exceeding"> ⚠️ میزان فضای در دسترس کارساز رایانامه شما در حال تمام شدن است. %1$s از %% استفاده شده است. اگر فضا کاملا پر شده باشد دیگر امکان دریافت پیام را نخواهید داشت. 👈 لطفا پیام‌های قدیمی در رایانامه خود را از طریق نسخهٔ وب رایانامه پاک کنید. همچنین می‌توانید گزینه پاک کردن پیام‌های قدیمی در دلتاچت را فعال نمایید. هروقت خواستید می‌توانید فضای در دسترس را از «تنظیم‌ها / اتصال‌ها» بررسی کنید. </string>
<string name="devicemsg_storage_exceeding">هشدار⚠️، میزان فضای در دسترس کارساز رایانامه شما در حال تمام شدن است. %1$s از %% استفاده شده است.
اگر فضا کاملا پر شده باشد دیگر امکان دریافت پیام را نخواهید داشت.
👈 لطفا پیام‌های قدیمی در رایانامه خود را از طریق نسخه وب رایانامه پاک کنید. همچنین می‌توانید گزینه پاک کردن پیام‌های قدیمی در دلتاچت را فعال نمایید. هروقت خواستید می‌توانید فضای در دسترس را از تنظیم‌ها/اتصال‌ها بررسی کنید. </string>
<!-- %1%s will be replaced by date and time in some human-readable format -->
<string name="devicemsg_bad_time">هشدار⚠️ به نظر می‌رسد زمان و تاریخ دستگاه شما دقیق نیست(%1$s).
ساعت دستگاه خود را تنظیم کنید ⏰🔧 تا پیام‌ها به درستی دریافت شوند. </string>
@@ -941,7 +918,6 @@
<string name="qrscan_hint_desktop">کد کیو‌آر را زیر دوربین بگیرید</string>
<string name="qrscan_failed">امکان رمزگشایی کد کیوآر وجود ندارد</string>
<string name="qrscan_ask_join_group">آیا می خواهید به گروه\"%1$s\" ملحق شوید؟</string>
<string name="qrscan_ask_join_channel">آیا می‌خواهید عضو کانال «%1$s» شوید؟</string>
<string name="qrscan_fingerprint_mismatch">اثرانگشت اسکن شده با انچه که برای %1$sمشاهده شده بود انطباق ندارد. </string>
<string name="qrscan_no_addr_found">این کیوآر حاوی یک شناساگر است. ولی آدرس رایانامه‌ای در آن نیست. \n\n برای یک تأییدیه به روش‌های دیگر لطفا ابتدا یک ارتباط رمزگذاری شده با دریافت کننده برقرار کنید. </string>
<string name="qrscan_contains_text">کیوآر کد اسکن شده:\n\n %1$s</string>
@@ -964,22 +940,26 @@
<string name="qrshow_join_contact_hint">برای ارتباط با %1$s این را اسکن کنید.</string>
<string name="qrshow_join_contact_no_connection_toast">اتصال اینترنت نیست. نمیتوان نصب کد کیوآر را انجام داد. </string>
<string name="qraccount_ask_create_and_login">ایجاد رایانامهٔ جدید روی «%1$s» و ورود به آنجا؟</string>
<!-- deprecated, use confirm_add_transport when scanning such a QR code from the main scanner -->
<string name="qraccount_ask_create_and_login_another">نشانی جدید رایانامه روی «%1$s» ایجاد شده و به آن وارد شود؟
حساب فعلی شما پاک نمی‌شود. از بخش «تغییر حساب کاربری» برای جابجایی بین حساب‌ها استفاده کنید</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 address of the profile -->
<string name="qrlogin_ask_login">آیا به \"%1$s\" وارد شوید؟</string>
<!-- deprecated, use confirm_add_transport when scanning such a QR code from the main scanner -->
<string name="qrlogin_ask_login_another">آیا به «%1$s» وارد شوید؟\n\nحساب موجود شما حذف نخواهد شد. برای جابه‌جایی میان حساب‌هایتان از «تغییر حساب» استفاده کنید.</string>
<!-- first placeholder will be replaced by name of the inviter, second placeholder will be replaced by the name of the inviter. -->
<string name="secure_join_started">کاربر %1$s شما را دعوت کرده است تا عضو این گروه شوید.
در انتظار دستگاه %2$s برای پاسخگویی...</string>
<!-- placeholder will be replaced by the name of the inviter. -->
<string name="secure_join_replies">کاربر %1$s پاسخ داد، در انتظار اضافه شدن به گروه...</string>
<string name="secure_join_wait">در حال برقراری ارتباط، لطفا صبر کنید...</string>
<string name="secure_join_wait">در حال برقراری رمزگذاری سراسری تضمین‌شده، لطفا صبر کنید...</string>
<string name="contact_verified">%1$s تأیید شد.</string>
<!-- Shown in contact profile. The placeholder will be replaced by the name of the contact that introduced the contact. -->
<string name="verified_by">احراز هویت شده توسط %1$s</string>
<string name="verified_by_you">تأیید شده توسط من</string>
<string name="verified_by_unknown">معرفی شده</string>
<!-- deprecated -->
<string name="verified_contact_required_explain">برای تضمین رمزنگاری سراسری شما تنها می‌توانید مخاطب‌هایی که یک تیک سبز دارند به این گروه اضافه کنید.\n\nمی‌توانید با مخاطب‌هایتان حضوری ملاقات کنید و برای معرفی، کد QR آن‌ها را اسکن کنید.</string>
<string name="mailto_dialog_header_select_chat">گپ را برای ارسال پیام انتخاب کنید</string>
@@ -997,7 +977,6 @@
<string name="notify_name_only">فقط نام</string>
<string name="notify_no_name_or_message">بدون نام یا پیام</string>
<string name="notifications_disabled">اعلان‌ها غیرفعال شد</string>
<string name="unreliable_bg_notifications">فعال‌سازی «اتصال پس‌زمینه اجباری» برای این‌که همیشه اعلان‌ها برسند</string>
<string name="new_messages">پیام‌های جدید</string>
<!-- Body text for a generic "New messages" notification. Shown if we do not have more information about a new messages. Note, that the string is also referenced at https://github.com/deltachat/notifiers -->
<string name="new_messages_body">شما پیام‌های جدیدی دارید</string>
@@ -1072,8 +1051,6 @@ GNU GPL ورژن ۳
<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>
@@ -1128,17 +1105,9 @@ GNU GPL ورژن ۳
<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">استفاده از «اضافه کردن ابزارک» دلتاچت برای اضافه کردن گزینه‌ها</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">دلتاچت برای گرفتن و ارسال عکس و فیلم و برای اسکن کردن کیوآر کد از دوربین شما استفاده می‌کند. </string>
<string name="InfoPlist_NSLocationAlwaysAndWhenInUseUsageDescription">دلتاچت برای هم‌رسانی مکان شما در زمانی که آن به کار انداخته‌اید، به مجوز نیاز دارد. </string>
@@ -1160,6 +1129,4 @@ GNU GPL ورژن ۳
<string name="perm_enable_bg_reminder_title">برای دریافت پیام‌ها به صورت پس زمینه در دلتاچت این جا را ضربه بزنید. </string>
<string name="perm_enable_bg_already_done">قبلا اجازه دسترسی به فعالیت در پس زمینه را به دلتاچت داده‌اید. \n\n اگر پیام‌ها هنوز هم در شرایط پس زمینه نمی‌آمد لطفا تنظیم‌های سیستم را نیز بررسی نمایید. </string>
<!-- device messages for updates -->
<string name="update_2_0">چه خبر هست؟\n\n💯 رمزنگاری سراسری اکنون قابل اعتماد و دائمی هست. قفل‌ها 🔒 دیگر نیستند!\n\n✉️ رایانامه معمولی بدون رمزنگاری سراسری هم‌اکنون با یک نشان حرفی نشان‌گذاری شده‌اند!\n\n🔲 دکمهٔ جدید برای دسترسی سریع به مینی برنامه‌های استفاده شده در چت\n\nلطفا برای مستقل ماندن ما و ادامه دادن بهبود‌ها کمک مالی کنید: %1$sدر صورتی که ساکن ایران هستید، رمزارز نیز می‌توانید بفرستید.</string>
</resources>
</resources>
+16 -1
View File
@@ -65,6 +65,10 @@
<string name="always_load_remote_images">Lataa aina kuvat verkosta</string>
<string name="once">Kerran</string>
<string name="show_warning">Näytä varoitus</string>
<!-- deprecated, UI must not offer an option to show the password -->
<string name="show_password">Näytä salasana</string>
<!-- deprecated, UI must not offer an option to show the password -->
<string name="hide_password">Piilota salasana</string>
<string name="not_now">Ei nyt</string>
<string name="never">Ei koskaan</string>
<string name="one_moment">Hetki...</string>
@@ -304,6 +308,11 @@
<item quantity="one">Poista %d viesti?</item>
<item quantity="other">Poista %d viestiä?</item>
</plurals>
<!-- deprecated, use ask_delete_messages -->
<plurals name="ask_delete_messages_simple">
<item quantity="one">Poista %d viesti?</item>
<item quantity="other">Poista %d viestiä?</item>
</plurals>
<string name="ask_forward">Välitä viestit yhteystiedolle %1$s?</string>
<string name="ask_forward_multiple">Välitä viestit %1$d keskustelulle?</string>
<string name="ask_export_attachment">Liitteiden vieminen antaa muille laitteen sovelluksille mahdollisuuden lukea niitä.\n\nJatka?</string>
@@ -368,6 +377,8 @@
<!-- mailing lists -->
<string name="mailing_list">Sähköpostilista</string>
<!-- deprecated -->
<string name="mailing_list_profile_info">Muutokset sähköpostilistan nimeen ja kuvaan tallentuvat vain tähän laitteeseen.</string>
<!-- webxdc -->
<!-- "Start..." button for an app -->
@@ -459,7 +470,7 @@
<string name="incoming_messages">Saapuvat viestit</string>
<!-- Headline for the "Outbox" eg. in the "Connectivity" view -->
<string name="outgoing_messages">Lähtevät viestit</string>
<!-- deprecated -->
<!-- Headline in the "Connectivity" view. Placeholder will be replaced by a domain -->
<string name="storage_on_domain">Tallennustila palvelimella %1$s</string>
<string name="connectivity">Yhteys</string>
<!-- Shown in the title bar if the app is "Not connected"; prefer short strings. -->
@@ -804,11 +815,15 @@
<string name="qrshow_join_contact_hint">Skannaa aloittaaksesi keskustelun käyttäjän %1$s kanssa</string>
<string name="qrshow_join_contact_no_connection_toast">Ei internetyhteyttä, QR-koodin luominen ei onnistu.</string>
<string name="qraccount_ask_create_and_login">Luo uusi sähköpostiosoite palvelimella \"%1$s\" ja kirjaudu sisään?</string>
<!-- deprecated, use confirm_add_transport when scanning such a QR code from the main scanner -->
<string name="qraccount_ask_create_and_login_another">Luo uusi sähköpostiosoite palvelimella \"%1$s\" ja kirjaudu sisään?\n\nNykyistä tiliäsi ei poisteta. Käytä valintaa \"Vaihda tiliä\" vaihtaaksesi tilien välillä.</string>
<string name="set_name_and_avatar_explain">Aseta nimi jonka yhteystietosi tunnistavat. Voit myös asettaa profiilikuvan.</string>
<string name="please_enter_name">Syötä nimi.</string>
<string name="qraccount_qr_code_cannot_be_used">Uutta tiliä ei voida luoda skannatulla QR-koodilla.</string>
<!-- the placeholder will be replaced by the address of the profile -->
<string name="qrlogin_ask_login">Haluatko kirjautua osoitteella \"%1$s\"?</string>
<!-- deprecated, use confirm_add_transport when scanning such a QR code from the main scanner -->
<string name="qrlogin_ask_login_another">Haluatko kirjautua osoitteella \"%1$s\"?\n\nNykyistä tiliäsi ei poisteta. Käytä \"Vaihda tiliä\" -kohtaa vaihtaaksesi tiliesi välillä.</string>
<!-- first placeholder will be replaced by name of the inviter, second placeholder will be replaced by the name of the inviter. -->
<string name="secure_join_started">%1$s kutsui sinut tähän ryhmään.\n\nOdotetaan vastausta yhteystiedon %2$s laitteelta...</string>
<!-- placeholder will be replaced by the name of the inviter. -->
+18 -27
View File
@@ -81,6 +81,10 @@
<string name="always_load_remote_images">Toujours charger les images distantes</string>
<string name="once">Une fois</string>
<string name="show_warning">Montrer l\'avertissement</string>
<!-- deprecated, UI must not offer an option to show the password -->
<string name="show_password">Afficher le mot de passe</string>
<!-- deprecated, UI must not offer an option to show the password -->
<string name="hide_password">Masquer le mot de passe</string>
<string name="not_now">Pas maintenant</string>
<string name="never">Jamais</string>
<string name="one_moment">Un instant …</string>
@@ -116,18 +120,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">Dernière activité %1$s</string>
<string name="last_seen_unknown">Vu·e pour la dernière fois : inconnu</string>
<!-- Shown in call duration. Avoid abbreviations, prefer full words ex. "N seconds". -->
<plurals name="n_seconds_ext">
<item quantity="one">%d seconde</item>
<item quantity="many">%d secondes</item>
<item quantity="other">%d secondes</item>
</plurals>
<!-- Shown in call duration. Avoid abbreviations, prefer full words ex. "N minutes". -->
<plurals name="n_minutes_ext">
<item quantity="one">%d minute</item>
<item quantity="many">%d minutes</item>
<item quantity="other">%d minutes</item>
</plurals>
<!-- 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>
@@ -177,7 +169,6 @@
<item quantity="many">%d Sélectionnés</item>
<item quantity="other">%d Sélectionnés</item>
</plurals>
<string name="selected_colon">Sélectionné:</string>
<string name="self">Moi</string>
<string name="draft">Brouillon</string>
<string name="image">Image</string>
@@ -210,7 +201,6 @@
<string name="images_and_videos">Images et vidéos</string>
<string name="file">Fichier</string>
<string name="files">Fichiers</string>
<string name="files_attach_hint">Envoyer les fichiers au format original et les images en non compressé</string>
<!-- "Files" here means the "Files Selector App" or "Files Manager App" -->
<string name="choose_from_files">Choisir depuis vos fichiers</string>
<string name="choose_from_gallery">Choisir depuis la gallerie</string>
@@ -399,11 +389,6 @@
<!-- get confirmations -->
<!-- confirmation for leaving groups or channels. If a subject is needed, "Are you sure you want to leave the chat?" would work as well -->
<string name="ask_leave_group">Êtes-vous sûr de vouloir quitter la discussion ?</string>
<plurals name="ask_delete_chat">
<item quantity="one">Supprimer %d discussion ?</item>
<item quantity="many">Supprimer %d discussions ?</item>
<item quantity="other">Supprimer %d discussions ?</item>
</plurals>
<string name="ask_delete_named_chat">Supprimer la conversation \"%1$s\" de tous vos appareils ?</string>
<string name="ask_delete_message">Supprimer ce message de tous vos appareils ?</string>
<plurals name="ask_delete_messages">
@@ -411,6 +396,12 @@
<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 -->
<plurals name="ask_delete_messages_simple">
<item quantity="one">Supprimer %d message ?</item>
<item quantity="many">Supprimer %d messages ?</item>
<item quantity="other">Supprimer %d messages ?</item>
</plurals>
<string name="ask_forward">Faire suivre les messages à %1$s ?</string>
<string name="ask_forward_multiple">Faire suivre les messages à %1$d discussions ?</string>
<string name="ask_export_attachment">Exporter une pièce jointe ? L\'exportation des pièces jointes permettra à toute autre application sur votre appareil d\'y accéder. Continuer ?</string>
@@ -482,6 +473,8 @@
<!-- mailing lists -->
<string name="mailing_list">Liste de diffusion</string>
<!-- deprecated -->
<string name="mailing_list_profile_info">Les changements du nom et de l\'avatar de la liste de diffusion s\'appliquent uniquement sur cet appareil.</string>
<!-- webxdc -->
<!-- "Start..." button for an app -->
@@ -584,7 +577,7 @@
<string name="incoming_messages">Messages entrants</string>
<!-- Headline for the "Outbox" eg. in the "Connectivity" view -->
<string name="outgoing_messages">Messages sortants</string>
<!-- deprecated -->
<!-- Headline in the "Connectivity" view. Placeholder will be replaced by a domain -->
<string name="storage_on_domain">Espace de stockage sur %1$s</string>
<string name="connectivity">Connectivité</string>
<!-- Shown in the title bar if the app is "Not connected"; prefer short strings. -->
@@ -704,7 +697,6 @@
<!-- first placeholder is replaced by the number of files (always 2 or more); second placeholder is replaced by a chat name -->
<string name="ask_send_files_to_chat">Envoyer %1$d fichiers à « %2$s » ?</string>
<string name="ask_send_files_to_selected_chats">Envoyer %1$d fichier(s) à %2$d discussions ?</string>
<string name="videos_sent_without_recoding">(Les vidéos sont envoyés au format original, en conséquence volumineux. Pour envoyer des fichiers de plus petite taille, joignez-les séparément.)</string>
<string name="share_text_multiple_chats">Envoyer ce texte à %1$d discussions ?\n\n« %2$s »</string>
<string name="share_abort">Partage annulé en raison de permissions manquantes.</string>
@@ -780,10 +772,6 @@
<string name="pref_background_btn_default">Utilisez l\'image par défaut</string>
<string name="pref_background_btn_gallery">Sélectionner depuis la galerie</string>
<string name="pref_imap_folder_warn_disable_defaults">Si vous désactivez cette option, assurez-vous que votre serveur et vos autres clients sont configurés en conséquence.\n\nSinon des choses pourraient ne pas fonctionner du tout.</string>
<!-- No need to be literal here, you can also use "Use Multiple Devices", "Support Multiple Devices" or other fitting terms. However, it should fit to the wording or your language at https://delta.chat/help -->
<string name="pref_multidevice">Mode multi-appareils</string>
<string name="pref_multidevice_explain">Synchronise vos messages avec vos autres appareils. Activé automatiquement lors de l\'ajout d\'un second appareil</string>
<string name="pref_multidevice_change_warn">Le mode multi-appareils doit être activé quand vous utilisez le mêmeprofil/compte sur plusieurs appareils. Désactivez cette option seulement si vousavez supprimé le profil de vos autres appareils.\n\nDésactiver le mode alors que vous utilisez le compte sur de multiples appareils causera le manquement de messages et autres problèmes.</string>
<string name="pref_auto_folder_moves">Déplacer automatiquement vers le dossier DeltaChat</string>
<string name="pref_only_fetch_mvbox_title">Ne consulter que le dossier DeltaChat</string>
<string name="pref_show_emails">Voir les courriels classiques</string>
@@ -791,7 +779,6 @@
<string name="pref_show_emails_accepted_contacts">Pour les contacts acceptés</string>
<string name="pref_show_emails_all">Tout</string>
<string name="pref_experimental_features">Fonctionnalités expérimentales</string>
<string name="pref_experimental_features_explain">Ces fonctionnalités peuvent être instable et être changées ou supprimées dans le futur</string>
<string name="pref_on_demand_location_streaming">Envoi de la géolocalisation à la demande</string>
<string name="pref_background_default">Image par défaut</string>
<string name="pref_background_default_color">Couleur par défaut</string>
@@ -819,6 +806,7 @@
<string name="send_stats_to_devs">Envoyer les statistiques aux développeurs Delta Chat</string>
<string name="stats_msg_body">La pièce jointe contient des statistiques d\'usage anonymisés, qui nous aide à améliorer Delta Chat. Merci !</string>
<!-- Emoji picker and categories -->
<string name="emoji_search_results">Résultats de la recherche</string>
<string name="emoji_not_found">Pas d\'emoji trouvé</string>
@@ -981,17 +969,20 @@
<string name="qrshow_join_group_title">QR code d\'invitation</string>
<!-- This text is shown inside the "QR code card" with very limited space; please formulate the text as short as possible therefore. The placeholder will be replaced by the group name, eg. "Scan to join group \"Testing group\"" -->
<string name="qrshow_join_group_hint">Scannez ceci pour rejoindre le groupe \"%1$s\".</string>
<string name="qrshow_join_channel_hint">Scanner pour rejoindre le canal \"%1$s\"</string>
<string name="qrshow_join_contact_title">QR code d\'invitation</string>
<!-- This text is shown inside the "QR code card" with very limited space; please formulate the text as short as possible therefore. The placeholder will be replaced by the profile name eg. "Scan to chat with Alice" -->
<string name="qrshow_join_contact_hint">Scanner pour discuter avec %1$s</string>
<string name="qrshow_join_contact_no_connection_toast">Pas de connexion Internet, ne peut pas effectuer la configuration du QR code.</string>
<string name="qraccount_ask_create_and_login">Créer une nouvelle adresse de courriel sur « %1$s » et se connecter ici ?</string>
<!-- deprecated, use confirm_add_transport when scanning such a QR code from the main scanner -->
<string name="qraccount_ask_create_and_login_another">Créer une nouvelle adresse de courriel sur « %1$s » et s\'y connecter ?\n\nVotre compte existant ne sera pas supprimé. Utilisez l\'élément de menu « Changer de compte » pour passer d\'un compte à l\'autre.</string>
<string name="set_name_and_avatar_explain">Choisissez un nom que vos contacts reconnaîtrons. Vous pouvez également définir une image pour votre profile.</string>
<string name="please_enter_name">Veuillez saisir un nom.</string>
<string name="qraccount_qr_code_cannot_be_used">Le code QR scanné ne peut pas être utilisé pour ouvrir un nouveau compte.</string>
<!-- the placeholder will be replaced by the address of the profile -->
<string name="qrlogin_ask_login">Se connecter au compte « %1$s » ?</string>
<!-- deprecated, use confirm_add_transport when scanning such a QR code from the main scanner -->
<string name="qrlogin_ask_login_another">Se connecter à « %1$s » ?\n\nVotre compte existant ne sera pas supprimé. Utiliser l\'élément de menu « Changer de compte » pour passer d\'un compte à l\'autre.</string>
<!-- first placeholder will be replaced by name of the inviter, second placeholder will be replaced by the name of the inviter. -->
<string name="secure_join_started">%1$s vous a invité à rejoindre ce groupe.\n\nEn attente de la réponse de lappareil de %2$s…</string>
<!-- first placeholder will be replaced by name of the inviter, second placeholder will be replaced by the name of the inviter. -->
+14 -1
View File
@@ -81,6 +81,10 @@
<string name="always_load_remote_images">Descargar sempre imaxes remotas</string>
<string name="once">Unha vez</string>
<string name="show_warning">Mostrar aviso</string>
<!-- deprecated, UI must not offer an option to show the password -->
<string name="show_password">Mostrar contrasinal</string>
<!-- deprecated, UI must not offer an option to show the password -->
<string name="hide_password">Agochar contrasinal</string>
<string name="not_now">Agora non</string>
<string name="never">Nunca</string>
<string name="one_moment">Un momento…</string>
@@ -372,6 +376,11 @@
<item quantity="one">Eliminar %d mensaxe en todos os teus dispositivos?</item>
<item quantity="other">Eliminar %d mensaxes en todos os teus dispositivos?</item>
</plurals>
<!-- deprecated, use ask_delete_messages -->
<plurals name="ask_delete_messages_simple">
<item quantity="one">Borrar %d mensaxe?</item>
<item quantity="other">Borrar %d mensaxes?</item>
</plurals>
<string name="ask_forward">Reenviar mensaxes a %1$s?</string>
<string name="ask_forward_multiple">¿Reenviar mensaxes a %1$d conversas?</string>
<string name="ask_export_attachment">Exportar anexo? Ao exportar anexos outras aplicacións no dispositivo terán acceso a eles.\n\nGardar?</string>
@@ -440,6 +449,8 @@
<!-- mailing lists -->
<string name="mailing_list">Lista de correo</string>
<!-- deprecated -->
<string name="mailing_list_profile_info">Cambios no nome da lista de correo e imaxe só se aplican neste dispositivo.</string>
<!-- webxdc -->
<!-- "Start..." button for an app -->
@@ -542,7 +553,7 @@
<string name="incoming_messages">Mensaxes entrantes</string>
<!-- Headline for the "Outbox" eg. in the "Connectivity" view -->
<string name="outgoing_messages">Mensaxes saíntes</string>
<!-- deprecated -->
<!-- Headline in the "Connectivity" view. Placeholder will be replaced by a domain -->
<string name="storage_on_domain">Almacenar en %1$s</string>
<string name="connectivity">Conectividade</string>
<!-- Shown in the title bar if the app is "Not connected"; prefer short strings. -->
@@ -893,6 +904,8 @@
<string name="qrshow_join_contact_hint">Escanea esto para conectar con %1$s-</string>
<string name="qrshow_join_contact_no_connection_toast">Sen conexión a internet, non se pode facer o axuste por código QR</string>
<string name="qraccount_ask_create_and_login">Crear un novo enderezo de correo en \"%1$s\" e acceder ali?</string>
<!-- deprecated, use confirm_add_transport when scanning such a QR code from the main scanner -->
<string name="qraccount_ask_create_and_login_another">Crear un novo enderezo de email en \"%1$s\" e acceder?\n\nNon se eliminará a conta actual. Usa \"Cambiar de conta\" para cambiar entre as túas contas.</string>
<string name="set_name_and_avatar_explain">Define un nome recoñecíbel polos teus contactos. Tamén podes definir unha imaxe de perfil.</string>
<string name="please_enter_name">Por favor introduce un nome.</string>
<string name="qraccount_qr_code_cannot_be_used">O código QR escaneado non se pode utilizar para crear unha nova conta.</string>
+4
View File
@@ -30,6 +30,10 @@
<string name="save">Spremi</string>
<string name="media">Medij</string>
<string name="main_menu">Glavni izbornik</string>
<!-- deprecated, UI must not offer an option to show the password -->
<string name="show_password">Prikaži lozinku</string>
<!-- deprecated, UI must not offer an option to show the password -->
<string name="hide_password">Sakrij lozinku</string>
<string name="not_now">Ne sada</string>
<string name="never">Nikada</string>
<string name="one_moment">Samo trenutak...</string>
+16 -1
View File
@@ -81,6 +81,10 @@
<string name="always_load_remote_images">Mindig töltse be a távoli képeket</string>
<string name="once">Azonnal</string>
<string name="show_warning">Figyelmeztetés megjelenítése</string>
<!-- deprecated, UI must not offer an option to show the password -->
<string name="show_password">Jelszó megjelenítése</string>
<!-- deprecated, UI must not offer an option to show the password -->
<string name="hide_password">Jelszó elrejtése</string>
<string name="not_now">Most nem</string>
<string name="never">Soha</string>
<string name="one_moment">Egy pillanat…</string>
@@ -405,6 +409,11 @@
<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>
<!-- deprecated, use ask_delete_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>
</plurals>
<string name="ask_forward">Továbbítja az üzenetet „%1$s” számára?</string>
<string name="ask_forward_multiple">Továbbítja az üzenetet a következő csevegésbe: %1$d?</string>
<string name="ask_export_attachment">A mellékletek exportálása lehetővé teszi, hogy más alkalmazások is hozzáférjenek azokhoz az eszközön.\n\nFolytatja?</string>
@@ -474,6 +483,8 @@
<!-- mailing lists -->
<string name="mailing_list">Levelezőlista</string>
<!-- deprecated -->
<string name="mailing_list_profile_info">A levelezőlista nevének és képének módosítása csak ezen az eszközön érvényes.</string>
<!-- webxdc -->
<!-- "Start..." button for an app -->
@@ -576,7 +587,7 @@
<string name="incoming_messages">Beérkező üzenetek</string>
<!-- Headline for the "Outbox" eg. in the "Connectivity" view -->
<string name="outgoing_messages">Kimenő üzenetek</string>
<!-- deprecated -->
<!-- Headline in the "Connectivity" view. Placeholder will be replaced by a domain -->
<string name="storage_on_domain">Tárhely mérete itt: %1$s</string>
<string name="connectivity">Tárhely</string>
<!-- Shown in the title bar if the app is "Not connected"; prefer short strings. -->
@@ -961,11 +972,15 @@
<string name="qrshow_join_contact_hint">QR-kód beolvasása a csevegéshez vele: „%1$s”</string>
<string name="qrshow_join_contact_no_connection_toast">Nincs internetkapcsolat, nem lehet elvégezni a QR-kód beállítását.</string>
<string name="qraccount_ask_create_and_login">Új profil létrehozása a(z) „%1$s” oldalon és bejelentkezés ott?</string>
<!-- deprecated, use confirm_add_transport when scanning such a QR code from the main scanner -->
<string name="qraccount_ask_create_and_login_another">Új profil létrehozása a(z) „%1$s” oldalon, és bejelentkezés ott?\n\nA meglévő profilja nem törlődik. A „Profilváltás” elemmel válthat a profiljai között.</string>
<string name="set_name_and_avatar_explain">Adjon meg egy olyan nevet, amelyet a partnerei felismernek. Beállíthat egy profilképet is.</string>
<string name="please_enter_name">Adjon meg egy nevet.</string>
<string name="qraccount_qr_code_cannot_be_used">A beolvasott QR-kód nem használható új profil beállítására.</string>
<!-- the placeholder will be replaced by the address of the profile -->
<string name="qrlogin_ask_login">Bejelentkezés ide: „%1$s”?</string>
<!-- deprecated, use confirm_add_transport when scanning such a QR code from the main scanner -->
<string name="qrlogin_ask_login_another">Bejelentkezés ide: „%1$s”?\n\nA meglévő profilját nem töröljük. A „Profilváltás” elemmel válthat a profiljai között.</string>
<!-- first placeholder will be replaced by name of the inviter, second placeholder will be replaced by the name of the inviter. -->
<string name="secure_join_started">%1$s meghívta önt, hogy csatlakozzon ehhez a csoporthoz.\n\n%2$s eszközére várakozás a válaszhoz…</string>
<!-- placeholder will be replaced by the name of the inviter. -->
+10
View File
@@ -60,6 +60,10 @@
<string name="always">Selalu</string>
<string name="once">Sekali</string>
<string name="show_warning">Tampilkan Peringatan</string>
<!-- deprecated, UI must not offer an option to show the password -->
<string name="show_password">Tunjukkan kata kunci</string>
<!-- deprecated, UI must not offer an option to show the password -->
<string name="hide_password">Sembunyikan kata kunci</string>
<string name="not_now">Tidak sekarang</string>
<string name="never">Tidak pernah</string>
<string name="one_moment">Sebentar...</string>
@@ -272,6 +276,10 @@
<plurals name="ask_delete_messages">
<item quantity="other">Menghapus pesan %d?</item>
</plurals>
<!-- deprecated, use ask_delete_messages -->
<plurals name="ask_delete_messages_simple">
<item quantity="other">Menghapus pesan %d?</item>
</plurals>
<string name="ask_forward">Teruskan pesan ke %1$s?</string>
<string name="ask_export_attachment">Ekspor lampiran? Mengekspor lampiran akan membuat aplikasi lain di perangkat anda terakses.\n\nLanjut?</string>
<string name="ask_block_contact">Blokir kontak ini? Anda tak akan lagi menerima pesan dari kontak ini.</string>
@@ -525,6 +533,8 @@
<string name="qrshow_join_contact_hint">Pindai ini untuk mengatur kontak dengan%1$s.</string>
<string name="qrshow_join_contact_no_connection_toast">Tidak ada koneksi internet, tidak bisa menjalankan kode pengaturan QR.</string>
<string name="qraccount_ask_create_and_login">Buat alamat email baru di \"%1$s\" dan login di sana?</string>
<!-- deprecated, use confirm_add_transport when scanning such a QR code from the main scanner -->
<string name="qraccount_ask_create_and_login_another">Buat alamat email baru di\"%1$s\" dan masuk ke sana?\n\nAkun yang sudah ada tidak akan di hapus. Gunakankan item \"Ganti akun\" untuk mengganti akun anda</string>
<string name="qraccount_qr_code_cannot_be_used">Kode QR yang dipindai tidak dapat digunakan untuk mengatur akun baru.</string>
<string name="contact_verified">%1$sdiverifikasi.</string>
<!-- notifications -->
+18 -7
View File
@@ -81,6 +81,10 @@
<string name="always_load_remote_images">Carica Sempre Immagini Remote</string>
<string name="once">Una Volta</string>
<string name="show_warning">Mostra Avviso</string>
<!-- deprecated, UI must not offer an option to show the password -->
<string name="show_password">Mostra Password</string>
<!-- deprecated, UI must not offer an option to show the password -->
<string name="hide_password">Nascondi Password</string>
<string name="not_now">Non ora</string>
<string name="never">Mai</string>
<string name="one_moment">Un momento…</string>
@@ -420,6 +424,12 @@
<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 -->
<plurals name="ask_delete_messages_simple">
<item quantity="one">Eliminare %d messaggio?</item>
<item quantity="many">Eliminare %d messaggi?</item>
<item quantity="other">Eliminare %d messaggi?</item>
</plurals>
<string name="ask_forward">Inoltrare messaggi a %1$s?</string>
<string name="ask_forward_multiple">Inoltra messaggi a %1$d chat?</string>
<string name="ask_export_attachment">Esportare allegati permetterà ad ogni altra app sul tuo dispositivo di accedervi.\n\nContinuare?</string>
@@ -492,6 +502,8 @@
<!-- mailing lists -->
<string name="mailing_list">Elenco di Distribuzione</string>
<!-- deprecated -->
<string name="mailing_list_profile_info">Le modifiche al nome e all\'immagine dell\'elenco di distribuzione si applicano solo a questo dispositivo.</string>
<!-- webxdc -->
<!-- "Start..." button for an app -->
@@ -594,7 +606,7 @@
<string name="incoming_messages">Messaggi in Arrivo</string>
<!-- Headline for the "Outbox" eg. in the "Connectivity" view -->
<string name="outgoing_messages">Messaggi in Uscita</string>
<!-- deprecated -->
<!-- Headline in the "Connectivity" view. Placeholder will be replaced by a domain -->
<string name="storage_on_domain">Spazio su %1$s</string>
<string name="connectivity">Connettività</string>
<!-- Shown in the title bar if the app is "Not connected"; prefer short strings. -->
@@ -831,14 +843,9 @@
<string name="disable_imap_idle">Disabilita IMAP IDLE</string>
<string name="disable_imap_idle_explain">Non utilizzare l\'estensione IMAP IDLE anche se il server la supporta. L\'abilitazione di questa opzione ritarderà il recupero del messaggio, abilitarla solo a scopo di test.</string>
<string name="send_stats_to_devs">Invia statistiche agli sviluppatori di Delta Chat</string>
<string name="stats_device_message">Vuoi contribuire a migliorare Delta Chat e sostenere la ricerca inviando statistiche di utilizzo anonime settimanali?\n\n👉 Tocca qui… 👈</string>
<string name="stats_confirmation_dialog">Vuoi contribuire a migliorare Delta Chat e sostenere la ricerca inviando statistiche di utilizzo anonime settimanali?</string>
<string name="stats_thanks">Grazie! Puoi sempre disattivare l\'invio da \"Impostazioni -> Avanzate\".\n\nHai anche 5 minuti per partecipare a uno studio scientifico sulla sicurezza di Delta Chat?</string>
<string name="stats_disable_dialog">L\'invio delle statistiche è già abilitato.\n\nVuoi disattivarlo?</string>
<string name="disable">Disabilita</string>
<string name="stats_keep_sending">Continua a inviare</string>
<string name="stats_msg_body">L\'allegato contiene statistiche di utilizzo anonime, che ci aiutano a migliorare Delta Chat. Grazie!</string>
<!-- Emoji picker and categories -->
<string name="emoji_search_results">Risultati Ricerca</string>
<string name="emoji_not_found">Nessuna emoji trovata</string>
@@ -1007,11 +1014,15 @@
<string name="qrshow_join_contact_hint">Scansionalo per chattare con %1$s</string>
<string name="qrshow_join_contact_no_connection_toast">Nessuna connessione internet, impossibile effettuare l\'impostazione tramite codice QR.</string>
<string name="qraccount_ask_create_and_login">Creo un nuovo profilo su \"%1$s\" e accedo qui?</string>
<!-- deprecated, use confirm_add_transport when scanning such a QR code from the main scanner -->
<string name="qraccount_ask_create_and_login_another">Crea un nuovo profilo su \"%1$s\" e accedi qui?\n\nIl tuo profilo esistente non verrà eliminato. Utilizza la voce \"Cambia Profilo\" per passare da un profilo all\'altro.</string>
<string name="set_name_and_avatar_explain">Imposta un nome che i tuoi contatti riconosceranno. Puoi anche impostare un\'immagine del profilo.</string>
<string name="please_enter_name">Per piacere inserisci un nome.</string>
<string name="qraccount_qr_code_cannot_be_used">Il codice QR scansionato non può essere utilizzato per creare un nuovo profilo.</string>
<!-- the placeholder will be replaced by the address of the profile -->
<string name="qrlogin_ask_login">Accedere a \"%1$s\"?</string>
<!-- deprecated, use confirm_add_transport when scanning such a QR code from the main scanner -->
<string name="qrlogin_ask_login_another">Accedere a \"%1$s\"?\n\nIl tuo profilo esistente non verrà cancellato. Usa la voce \"Cambia Profilo\" per passare da un profilo all\'altro.</string>
<!-- first placeholder will be replaced by name of the inviter, second placeholder will be replaced by the name of the inviter. -->
<string name="secure_join_started">%1$s ti ha invitato ad unirti a questo gruppo.\n\nIn attesa che il dispositivo di %2$s risponda…</string>
<!-- first placeholder will be replaced by name of the inviter, second placeholder will be replaced by the name of the inviter. -->
+4 -1
View File
@@ -53,6 +53,10 @@
<string name="load_remote_content_ask">リモート画像で追跡ができる。\n\nこの設定はフォントや他のコンテツを読み込むことも許可する。無効にしても埋め込まれた画像やキャッシュされた画像を表示されます。\n\nリモート画像を読み込む?</string>
<string name="always">常に</string>
<string name="once">一回のみ</string>
<!-- deprecated, UI must not offer an option to show the password -->
<string name="show_password">パスワードを表示する</string>
<!-- deprecated, UI must not offer an option to show the password -->
<string name="hide_password">パスワードを非表示する</string>
<string name="not_now">今はしない</string>
<string name="never">しない</string>
<string name="one_moment">お待ち下さい…</string>
@@ -290,7 +294,6 @@
<!-- mailing lists -->
<string name="mailing_list">メーリングリスト</string>
<string name="show_location_traces">トレースを表示する</string>
<string name="add_poi">指定位置を送る</string>
File diff suppressed because it is too large Load Diff
+15 -1
View File
@@ -56,6 +56,10 @@
<string name="load_remote_content_ask">원격 이미지는 당신을 추적하기 위해 사용될 수 있습니다.\n\n이 설정은 폰트와 다른 콘텐츠를 불러오는 것도 허용합니다. 만약 비활성화되어도, 내장 또는 캐시된 이미지를 볼 수 있습니다.\n\n원격 이미지를 불러올까요?</string>
<string name="always">항상</string>
<string name="once">한 번만</string>
<!-- deprecated, UI must not offer an option to show the password -->
<string name="show_password">비밀번호 보이기</string>
<!-- deprecated, UI must not offer an option to show the password -->
<string name="hide_password">비밀번호 숨기기</string>
<string name="not_now">나중에</string>
<string name="never">절대</string>
<string name="one_moment">잠시만 기다려 주세요…</string>
@@ -267,6 +271,10 @@
<plurals name="ask_delete_messages">
<item quantity="other">%d개의 메시지를 삭제하시겠습니까?</item>
</plurals>
<!-- deprecated, use ask_delete_messages -->
<plurals name="ask_delete_messages_simple">
<item quantity="other">%d개의 메시지를 삭제하시겠습니까?</item>
</plurals>
<string name="ask_forward">%1$s님에게 메시지를 전달할까요?</string>
<string name="ask_forward_multiple">%1$d 채팅으로 메시지를 전달하시겠습니까?</string>
<string name="ask_export_attachment">첨부 파일을 내보내면 단말기의 다른 앱에서 해당 첨부 파일에 액세스할 수 있습니다.\n\n계속하시겠습니까?</string>
@@ -325,6 +333,8 @@
<string name="attachment_failed_to_load">첨부 파일을 불러오지 못했습니다.</string>
<!-- mailing lists -->
<string name="mailing_list">메일 목록</string>
<!-- deprecated -->
<string name="mailing_list_profile_info">메일링 목록 이름 및 이미지의 변경 사항은 이 장치에만 적용됩니다.</string>
<!-- webxdc -->
<!-- "Start..." button for an app -->
@@ -382,7 +392,7 @@
<string name="incoming_messages">수신 메시지</string>
<!-- Headline for the "Outbox" eg. in the "Connectivity" view -->
<string name="outgoing_messages">발신 메시지</string>
<!-- deprecated -->
<!-- Headline in the "Connectivity" view. Placeholder will be replaced by a domain -->
<string name="storage_on_domain">%1$s에 저장됨</string>
<string name="connectivity">연결</string>
<!-- Shown in the title bar if the app is "Not connected"; prefer short strings. -->
@@ -657,9 +667,13 @@
<string name="qrshow_join_contact_hint">%1$s과 채팅을 하려면 스캔하시오</string>
<string name="qrshow_join_contact_no_connection_toast">인터넷에 연결되어 있지 않아 QR 코드 설정을 수행할 수 없습니다.</string>
<string name="qraccount_ask_create_and_login">\"%1$s\"에서 새 이메일 주소를 만들고 로그인하시겠습니까?</string>
<!-- deprecated, use confirm_add_transport when scanning such a QR code from the main scanner -->
<string name="qraccount_ask_create_and_login_another">\"%1$s\"에서 새 이메일 주소를 만들고 로그인하시겠습니까?\n\n기존 계정은 삭제되지 않습니다. 계정 전환 항목을 사용하여 계정 간을 전환합니다.</string>
<string name="qraccount_qr_code_cannot_be_used">스캔한 QR 코드를 사용하여 새 계정을 설정할 수 없습니다.</string>
<!-- the placeholder will be replaced by the address of the profile -->
<string name="qrlogin_ask_login">\"%1$s\"에 로그인하시겠습니까?</string>
<!-- deprecated, use confirm_add_transport when scanning such a QR code from the main scanner -->
<string name="qrlogin_ask_login_another">\"%1$s\"에 로그인하시겠습니까?\n\n기존 계정은 삭제되지 않습니다. 계정 전환 항목을 사용하여 계정 간을 전환합니다.</string>
<!-- first placeholder will be replaced by name of the inviter, second placeholder will be replaced by the name of the inviter. -->
<string name="secure_join_started">%1$s이 그룹에 가입하도록 초대했습니다.\n\n%2$s의 장치가 응답하기를 기다리는 중입니다...</string>
<!-- placeholder will be replaced by the name of the inviter. -->
+11
View File
@@ -64,6 +64,10 @@
<string name="always_load_remote_images">Visada įkelti nuotolinius paveikslus</string>
<string name="once">Vieną kartą</string>
<string name="show_warning">Rodyti įspėjimą</string>
<!-- deprecated, UI must not offer an option to show the password -->
<string name="show_password">Rodyti slaptažodį</string>
<!-- deprecated, UI must not offer an option to show the password -->
<string name="hide_password">Slėpti slaptažodį</string>
<string name="not_now">Ne dabar</string>
<string name="never">Niekada</string>
<string name="one_moment">Minutėlę…</string>
@@ -315,6 +319,13 @@
<item quantity="many">Ištrinti %d žinučių visuose jūsų įrenginiuose?</item>
<item quantity="other">Ištrinti %d žinutę visuose jūsų įrenginiuose?</item>
</plurals>
<!-- deprecated, use ask_delete_messages -->
<plurals name="ask_delete_messages_simple">
<item quantity="one">Ištrinti %d žinutę?</item>
<item quantity="few">Ištrinti %d žinutes?</item>
<item quantity="many">Ištrinti %d žinučių?</item>
<item quantity="other">Ištrinti %d žinutę?</item>
</plurals>
<string name="ask_forward">Persiųsti žinutes %1$s?</string>
<string name="ask_export_attachment">Eksportuoti priedą? Priedų eksportavimas leis bet kurioms kitoms programėlėms jūsų įrenginyje turėti prieigą prie šių priedų.\n\nTęsti?</string>
<string name="ask_block_contact">Užblokuoti šį adresatą? Jūs daugiau nebegausite žinučių nuo šio adresato.</string>
+11
View File
@@ -81,6 +81,10 @@
<string name="always_load_remote_images">Last alltid eksterne bilder</string>
<string name="once">Én gang</string>
<string name="show_warning">Vis advarsel</string>
<!-- deprecated, UI must not offer an option to show the password -->
<string name="show_password">Vis passord</string>
<!-- deprecated, UI must not offer an option to show the password -->
<string name="hide_password">Skjul passord</string>
<string name="not_now">Ikke nå</string>
<string name="never">Aldri</string>
<string name="one_moment">Et øyeblikk…</string>
@@ -405,6 +409,11 @@
<item quantity="one">Slett %d melding fra alle dine enheter?</item>
<item quantity="other">Slett %d meldinger fra alle dine enheter?</item>
</plurals>
<!-- deprecated, use ask_delete_messages -->
<plurals name="ask_delete_messages_simple">
<item quantity="one">Slett %d melding?</item>
<item quantity="other">Slett %d meldinger?</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>
@@ -474,6 +483,8 @@
<!-- mailing lists -->
<string name="mailing_list">E-postliste</string>
<!-- deprecated -->
<string name="mailing_list_profile_info">Endringer av e-postlistens navn og bilde gjelder bare for denne enheten.</string>
<!-- webxdc -->
<!-- "Start..." button for an app -->
+17 -7
View File
@@ -81,6 +81,10 @@
<string name="always_load_remote_images">Externe afbeeldingen altijd laden</string>
<string name="once">Eenmalig</string>
<string name="show_warning">Waarschuwing tonen</string>
<!-- deprecated, UI must not offer an option to show the password -->
<string name="show_password">Wachtwoord tonen</string>
<!-- deprecated, UI must not offer an option to show the password -->
<string name="hide_password">Wachtwoord verbergen</string>
<string name="not_now">Niet nu</string>
<string name="never">Nooit</string>
<string name="one_moment">Even geduld…</string>
@@ -405,6 +409,11 @@
<item quantity="one">Wil je %d bericht verwijderen?</item>
<item quantity="other">Wil je %d berichten verwijderen?</item>
</plurals>
<!-- deprecated, use ask_delete_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>
</plurals>
<string name="ask_forward">Wil je de berichten doorsturen aan %1$s?</string>
<string name="ask_forward_multiple">Wil je de berichten doorsturen naar %1$d gesprekken?</string>
<string name="ask_export_attachment">Als je de bijlage exporteert, geef je andere apps op je apparaat toegang om hem uit te lezen.\n\nWil je doorgaan?</string>
@@ -474,6 +483,8 @@
<!-- mailing lists -->
<string name="mailing_list">Mailinglijst</string>
<!-- deprecated -->
<string name="mailing_list_profile_info">Wijzigingen aan de mailinglijstnaam en -afbeelding worden alleen op dit apparaat getoond.</string>
<!-- webxdc -->
<!-- "Start..." button for an app -->
@@ -576,7 +587,7 @@
<string name="incoming_messages">Inkomende berichten</string>
<!-- Headline for the "Outbox" eg. in the "Connectivity" view -->
<string name="outgoing_messages">Uitgaande berichten</string>
<!-- deprecated -->
<!-- Headline in the "Connectivity" view. Placeholder will be replaced by a domain -->
<string name="storage_on_domain">Opslag op %1$s</string>
<string name="connectivity">Verbindingen</string>
<!-- Shown in the title bar if the app is "Not connected"; prefer short strings. -->
@@ -813,14 +824,9 @@
<string name="disable_imap_idle">IMAP IDLE uitschakelen</string>
<string name="disable_imap_idle_explain">Maak geen gebruik van IMAP IDLE, zelfs niet als de server het ondersteunt. Schakel deze optie in om het ophalen van berichten te vertragen. Let op: gebruik deze optie alleen voor testdoeleinden.</string>
<string name="send_stats_to_devs">Statistieken delen met Delta Chat-ontwikkelaars</string>
<string name="stats_device_message">Wil je helpen Delta Chat te verbeteren en voor onderzoeksdoeleinden iedere week volledig anonieme, automatische gebruiksstatistieken in te sturen?\n\n👉 Druk dan hier… 👈</string>
<string name="stats_confirmation_dialog">Wil je helpen Delta Chat te verbeteren en voor onderzoeksdoeleinden iedere week volledig anonieme, automatische gebruiksstatistieken in te sturen?</string>
<string name="stats_thanks">Hartelijk dank! Je kunt deze instelling te allen tijde aanpassen via Instellingen → Geavanceerd.\n\nHeb je nog 5 minuutjes om deel te nemen aan een wetenschappelijk onderzoek aangaande beveiliging van Delta Chat?</string>
<string name="stats_disable_dialog">Het insturen van statistieken is al ingeschakeld.\n\nWil je dit uitschakelen?</string>
<string name="disable">Uitschakelen</string>
<string name="stats_keep_sending">Niet uitschakelen</string>
<string name="stats_msg_body">De bijlage bevat anonieme gebruiksstatistieken die ons helpen Delta Chat te verbeteren. Bij voorbaat dank!</string>
<!-- Emoji picker and categories -->
<string name="emoji_search_results">Zoekresultaten</string>
<string name="emoji_not_found">Geen emoji gevonden</string>
@@ -989,11 +995,15 @@
<string name="qrshow_join_contact_hint">Scan dit om een gesprek te beginnen met %1$s</string>
<string name="qrshow_join_contact_no_connection_toast">Geen internetverbinding; kan QR-codes niet instellen.</string>
<string name="qraccount_ask_create_and_login">Wil je een nieuw e-mailadres aanmaken op %1$s en daarmee inloggen?</string>
<!-- deprecated, use confirm_add_transport when scanning such a QR code from the main scanner -->
<string name="qraccount_ask_create_and_login_another">Wil je een nieuw e-mailadres aanmaken op %1$s en daarmee inloggen?\n\nJe reeds aanwezige account wordt niet verwijderd. Druk op de knop Ander account kiezen om tussen accounts te schakelen.</string>
<string name="set_name_and_avatar_explain">Kies een naam die herkenbaar is voor je contactpersonen en, desgewenst, een profielfoto.</string>
<string name="please_enter_name">Voer een naam in.</string>
<string name="qraccount_qr_code_cannot_be_used">De gescande QR-code kan niet worden gebruikt om een nieuw account in te stellen.</string>
<!-- the placeholder will be replaced by the address of the profile -->
<string name="qrlogin_ask_login">Inloggen als %1$s?</string>
<!-- deprecated, use confirm_add_transport when scanning such a QR code from the main scanner -->
<string name="qrlogin_ask_login_another">Wil je inloggen als %1$s?\n\nJe reeds aanwezige account wordt niet verwijderd. Druk op de knop Ander account kiezen om tussen accounts te schakelen.</string>
<!-- first placeholder will be replaced by name of the inviter, second placeholder will be replaced by the name of the inviter. -->
<string name="secure_join_started">%1$s heeft je uitgenodigd voor deze groep.\n\nEr wordt gewacht op antwoord van het apparaat van %2$s…</string>
<!-- first placeholder will be replaced by name of the inviter, second placeholder will be replaced by the name of the inviter. -->
+18 -1
View File
@@ -81,6 +81,10 @@
<string name="always_load_remote_images">Zawsze wczytuj zdalne obrazy</string>
<string name="once">Jeden raz</string>
<string name="show_warning">Pokaż ostrzeżenie</string>
<!-- deprecated, UI must not offer an option to show the password -->
<string name="show_password">Pokaż hasło</string>
<!-- deprecated, UI must not offer an option to show the password -->
<string name="hide_password">Ukryj hasło</string>
<string name="not_now">Nie teraz</string>
<string name="never">Nigdy</string>
<string name="one_moment">Jedną chwilę…</string>
@@ -433,6 +437,13 @@
<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 -->
<plurals name="ask_delete_messages_simple">
<item quantity="one">Usunąć %d wiadomość?</item>
<item quantity="few">Usunąć %d wiadomości?</item>
<item quantity="many">Usunąć %d wiadomości?</item>
<item quantity="other">Usunąć %d wiadomości?</item>
</plurals>
<string name="ask_forward">Przekazać wiadomości do użytkownika %1$s?</string>
<string name="ask_forward_multiple">Przekazać wiadomości do %1$d czatów?</string>
<string name="ask_export_attachment">Eksportować załącznik? Eksportowanie załączników umożliwi dostęp do nich wszystkim aplikacjom na urządzeniu.\n\nKontynuować?</string>
@@ -508,6 +519,8 @@
<!-- mailing lists -->
<string name="mailing_list">Lista mailingowa</string>
<!-- deprecated -->
<string name="mailing_list_profile_info">Zmiany nazwy i obrazu listy adresowej dotyczą tylko tego urządzenia.</string>
<!-- webxdc -->
<!-- "Start..." button for an app -->
@@ -610,7 +623,7 @@
<string name="incoming_messages">Wiadomości przychodzące</string>
<!-- Headline for the "Outbox" eg. in the "Connectivity" view -->
<string name="outgoing_messages">Wiadomości wychodzące</string>
<!-- deprecated -->
<!-- Headline in the "Connectivity" view. Placeholder will be replaced by a domain -->
<string name="storage_on_domain">Zajętość skrzynki %1$s</string>
<string name="connectivity">Łączność</string>
<!-- Shown in the title bar if the app is "Not connected"; prefer short strings. -->
@@ -1014,11 +1027,15 @@
<string name="qrshow_join_contact_hint">Zeskanuj go w celu skonfigurowania kontaktu z %1$s</string>
<string name="qrshow_join_contact_no_connection_toast">Brak połączenia z Internetem, nie można przeprowadzić konfiguracji kodu QR.</string>
<string name="qraccount_ask_create_and_login">Utworzyć nowy adres e-mail „%1$s” i się zalogować?</string>
<!-- deprecated, use confirm_add_transport when scanning such a QR code from the main scanner -->
<string name="qraccount_ask_create_and_login_another">Utworzyć nowy adres e-mail „%1$s” i się zalogować?\n\nTwoje istniejące konto nie zostanie usunięte. Użyj opcji „Przełącz konto”, aby przełączać się między kontami.</string>
<string name="set_name_and_avatar_explain">Ustaw nazwę, którą rozpoznają twoje kontakty. Możesz także ustawić zdjęcie profilowe.</string>
<string name="please_enter_name">Wpisz nazwę.</string>
<string name="qraccount_qr_code_cannot_be_used">Zeskanowanego kodu QR nie można użyć do założenia nowego konta.</string>
<!-- the placeholder will be replaced by the address of the profile -->
<string name="qrlogin_ask_login">Zalogować się do „%1$s”?</string>
<!-- deprecated, use confirm_add_transport when scanning such a QR code from the main scanner -->
<string name="qrlogin_ask_login_another">Zalogować się do „%1$s”?\n\nTwoje istniejące konto nie zostanie usunięte. Użyj opcji „Przełącz konto”, aby przełączyć się między swoimi kontami.</string>
<!-- first placeholder will be replaced by name of the inviter, second placeholder will be replaced by the name of the inviter. -->
<string name="secure_join_started">Użytkownik %1$s zaprosił cię do dołączenia do tej grupy.\n\nCzekam na odpowiedź urządzenia %2$s…</string>
<!-- first placeholder will be replaced by name of the inviter, second placeholder will be replaced by the name of the inviter. -->
+17 -1
View File
@@ -68,6 +68,10 @@
<string name="always_load_remote_images">Sempre Carregar Imagens Remotas</string>
<string name="once">Uma vez</string>
<string name="show_warning">Mostrar Aviso</string>
<!-- deprecated, UI must not offer an option to show the password -->
<string name="show_password">Mostrar senha</string>
<!-- deprecated, UI must not offer an option to show the password -->
<string name="hide_password">Ocultar senha</string>
<string name="not_now">Mais tarde</string>
<string name="never">Nunca</string>
<string name="one_moment">Um momento...</string>
@@ -305,6 +309,12 @@
<item quantity="many">Apagar %d mensagens?</item>
<item quantity="other">Apagar %d mensagens?</item>
</plurals>
<!-- deprecated, use ask_delete_messages -->
<plurals name="ask_delete_messages_simple">
<item quantity="one">Apagar %d mensagem?</item>
<item quantity="many">Apagar %d mensagens?</item>
<item quantity="other">Apagar %d mensagens?</item>
</plurals>
<string name="ask_forward">Encaminhar mensagens para %1$s?</string>
<string name="ask_forward_multiple">Encaminhar mensagens para 1%1$d conversas?</string>
<string name="ask_export_attachment">Exportar o anexo? Anexos exportados poderão ser acessados por outros aplicativos.\n\nContinuar?</string>
@@ -372,6 +382,8 @@
<!-- mailing lists -->
<string name="mailing_list">Lista de e-mail</string>
<!-- deprecated -->
<string name="mailing_list_profile_info">Alterações ao nome e imagem da lista de e-mails só se aplicam a este dispositivo.</string>
<!-- webxdc -->
<!-- "Start..." button for an app -->
@@ -457,7 +469,7 @@
<string name="incoming_messages">Mensagens Recebidas</string>
<!-- Headline for the "Outbox" eg. in the "Connectivity" view -->
<string name="outgoing_messages">Mensagens Enviadas</string>
<!-- deprecated -->
<!-- Headline in the "Connectivity" view. Placeholder will be replaced by a domain -->
<string name="storage_on_domain">Armazenamento em %1$s</string>
<string name="connectivity">Conectividade</string>
<!-- Shown in the title bar if the app is "Not connected"; prefer short strings. -->
@@ -749,9 +761,13 @@
<string name="qrshow_join_contact_hint">Escanear para estabelecer contato com %1$s</string>
<string name="qrshow_join_contact_no_connection_toast">Sem conexão à rede não é possível realizar configuração por código QR.</string>
<string name="qraccount_ask_create_and_login">Criar novo endereço de e-mail em \"%1$s\" e entrar nele?</string>
<!-- deprecated, use confirm_add_transport when scanning such a QR code from the main scanner -->
<string name="qraccount_ask_create_and_login_another">Criar novo endereço de e-mail em \"%1$s\" e entrar nele?\n\n nSua conta existente não será excluída. Use o item \"Trocar conta\" para alternar entre suas contas.</string>
<string name="qraccount_qr_code_cannot_be_used">O código QR lido não pode ser usado para configurar uma nova conta.</string>
<!-- the placeholder will be replaced by the address of the profile -->
<string name="qrlogin_ask_login">Conectar-se em \"%1$s\"?</string>
<!-- deprecated, use confirm_add_transport when scanning such a QR code from the main scanner -->
<string name="qrlogin_ask_login_another">Conectar-se em \"%1$s\"?\n\nSua conta existente não será excluída. Use a opção \"Mudar conta\" para alternar entre suas contas.</string>
<!-- first placeholder will be replaced by name of the inviter, second placeholder will be replaced by the name of the inviter. -->
<string name="secure_join_started">%1$ste convidou para entrar neste grupo.\n\nEsperando o dispositivo de %2$s responder...</string>
<!-- placeholder will be replaced by the name of the inviter. -->
+10
View File
@@ -64,6 +64,10 @@
<string name="hide">Ocultar</string>
<string name="activate">Activar</string>
<string name="always">Sempre</string>
<!-- deprecated, UI must not offer an option to show the password -->
<string name="show_password">Mostrar palavra-passe</string>
<!-- deprecated, UI must not offer an option to show the password -->
<string name="hide_password">Ocultar palavra-passe</string>
<string name="not_now">Agora não</string>
<string name="never">Nunca</string>
<string name="one_moment">Um momento...</string>
@@ -240,6 +244,12 @@
<item quantity="many">Apagar %d mensagens?</item>
<item quantity="other">Apagar %d mensagens?</item>
</plurals>
<!-- deprecated, use ask_delete_messages -->
<plurals name="ask_delete_messages_simple">
<item quantity="one">Apagar %d mensagem?</item>
<item quantity="many">Apagar %d mensagens?</item>
<item quantity="other">Apagar %d mensagens?</item>
</plurals>
<string name="ask_forward">Reencaminhar mensages para %1$s?</string>
<string name="ask_forward_multiple">Reencaminhar mensagens para %1$d conversas?</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>
+13 -1
View File
@@ -62,6 +62,10 @@
<string name="always_load_remote_images">Încărcați întotdeauna imagini la distanță</string>
<string name="once">Odată ce</string>
<string name="show_warning">Afișați avertismentul</string>
<!-- deprecated, UI must not offer an option to show the password -->
<string name="show_password">Afișați parola</string>
<!-- deprecated, UI must not offer an option to show the password -->
<string name="hide_password">Ascundeți parola</string>
<string name="not_now">Nu acum</string>
<string name="never">Niciodata</string>
<string name="one_moment">Un moment...</string>
@@ -295,6 +299,12 @@
<item quantity="few">Ștergeți %d mesaje?</item>
<item quantity="other">Ștergeți %d de mesaje?</item>
</plurals>
<!-- deprecated, use ask_delete_messages -->
<plurals name="ask_delete_messages_simple">
<item quantity="one">Ștergeți %d mesaj?</item>
<item quantity="few">Ștergeți %d mesaje?</item>
<item quantity="other">Ștergeți %d de mesaje?</item>
</plurals>
<string name="ask_forward">Transmiteți mesajele către %1$s?</string>
<string name="ask_forward_multiple">Transmiteți mesajele către %1$d chat-uri?</string>
<string name="ask_export_attachment">Exportul atașamentelor va permite altor aplicații de pe dispozitivul dumneavoastră să le acceseze them.\n\nContinue?</string>
@@ -362,6 +372,8 @@
<!-- mailing lists -->
<string name="mailing_list">Lista de corespondență</string>
<!-- deprecated -->
<string name="mailing_list_profile_info">Modificările aduse numelui și imaginii listei de corespondență se aplică numai pe acest dispozitiv.</string>
<!-- webxdc -->
<!-- "Start..." button for an app -->
@@ -442,7 +454,7 @@
<string name="incoming_messages">Mesaje primite</string>
<!-- Headline for the "Outbox" eg. in the "Connectivity" view -->
<string name="outgoing_messages">Mesaje de ieșire</string>
<!-- deprecated -->
<!-- Headline in the "Connectivity" view. Placeholder will be replaced by a domain -->
<string name="storage_on_domain">Depozitarea pe %1$s</string>
<string name="connectivity">Conectivitate</string>
<!-- Shown in the title bar if the app is "Not connected"; prefer short strings. -->
+21 -9
View File
@@ -81,6 +81,10 @@
<string name="always_load_remote_images">Всегда загружать изображения из внешних источников</string>
<string name="once">Только сейчас</string>
<string name="show_warning">Показать предупреждение</string>
<!-- deprecated, UI must not offer an option to show the password -->
<string name="show_password">Показать пароль</string>
<!-- deprecated, UI must not offer an option to show the password -->
<string name="hide_password">Скрыть пароль</string>
<string name="not_now">Не сейчас</string>
<string name="never">Никогда</string>
<string name="one_moment">Один момент…</string>
@@ -433,6 +437,13 @@
<item quantity="many">Удалить %d сообщений?</item>
<item quantity="other">Удалить %d сообщений?</item>
</plurals>
<!-- deprecated, use ask_delete_messages -->
<plurals name="ask_delete_messages_simple">
<item quantity="one">Удалить %d сообщение?</item>
<item quantity="few">Удалить %d сообщения?</item>
<item quantity="many">Удалить %d сообщений?</item>
<item quantity="other">Удалить %d сообщений?</item>
</plurals>
<string name="ask_forward">Переслать сообщения для %1$s?</string>
<string name="ask_forward_multiple">Переслать сообщения в %1$d чата(ов)?</string>
<string name="ask_export_attachment">Экспорт вложений позволит любому приложению на вашем устройстве получить к ним доступ.\n\nПродолжить?</string>
@@ -508,6 +519,8 @@
<!-- mailing lists -->
<string name="mailing_list">Список рассылки</string>
<!-- deprecated -->
<string name="mailing_list_profile_info">Изменения названия и изображения списка рассылки применяются только к этому устройству.</string>
<!-- webxdc -->
<!-- "Start..." button for an app -->
@@ -593,7 +606,7 @@
<!-- Shown inside a "QR code card" with very limited space; please formulate the text as short as possible therefore. The placeholder will be replaced by the profile name eg. "Scan to set up second device for Alice" -->
<string name="multidevice_qr_subtitle">Отсканируйте, чтобы настроить второе устройство для %1$s</string>
<string name="multidevice_receiver_title">Добавить как второе устройство</string>
<string name="multidevice_open_settings_on_other_device">На первом устройстве запустите Delta Chat, откройте \"Настройки / Добавить второе устройство\" и отсканируйте показанный там код</string>
<string name="multidevice_open_settings_on_other_device">На первом устройстве, откройте \"Настройки / Добавить второе устройство\" и отсканируйте код, показанный там</string>
<string name="multidevice_receiver_scanning_ask">Скопировать профиль с другого устройства на это устройство?</string>
<string name="multidevice_receiver_needs_update">Профиль, который вы хотите импортировать, создан в более новой версии Delta Chat. Чтобы продолжить настройку второго устройства, пожалуйста, обновите это устройство до последней версии Delta Chat.</string>
<string name="multidevice_abort">Прервать настройку второго устройства?</string>
@@ -610,7 +623,7 @@
<string name="incoming_messages">Входящие сообщения</string>
<!-- Headline for the "Outbox" eg. in the "Connectivity" view -->
<string name="outgoing_messages">Исходящие сообщения</string>
<!-- deprecated -->
<!-- Headline in the "Connectivity" view. Placeholder will be replaced by a domain -->
<string name="storage_on_domain">Хранилище на %1$s</string>
<string name="connectivity">Соединение</string>
<!-- Shown in the title bar if the app is "Not connected"; prefer short strings. -->
@@ -847,13 +860,8 @@
<string name="disable_imap_idle">Отключить IMAP IDLE</string>
<string name="disable_imap_idle_explain">Не используйте расширение IMAP IDLE даже если сервер поддерживает его. Включение этой опции замедлит получение сообщений, включайте только для тестирования.</string>
<string name="send_stats_to_devs">Отправить статистику разработчикам Delta Chat</string>
<string name="stats_device_message">Хотите помочь улучшить Delta Chat и поддержать исследования, отправляя еженедельную анонимную статистику использования?\n\n👉 Нажмите здесь...👈</string>
<string name="stats_confirmation_dialog">Хотите помочь улучшить Delta Chat и поддержать исследования, отправляя еженедельную анонимную статистику использования?</string>
<string name="stats_thanks">Спасибо! Вы всегда можете отключить отправку в разделе \"Настройки -> Дополнительно\"\n\nУ вас есть 5 минут, чтобы принять участие в научном исследовании по безопасности Delta Chat?</string>
<string name="stats_disable_dialog">Отправка статистики уже включена.\n\nВы хотите отключить её?</string>
<string name="disable">Отключить</string>
<string name="stats_keep_sending">Продолжить отправку</string>
<string name="stats_msg_body">Вложение содержит анонимную статистику использования, которая поможет нам улучшить Delta Chat. Более подробную информацию смотрите на https://delta.chat/help#statssending. Спасибо!</string>
<string name="stats_msg_body">Вложение содержит анонимную статистику использования, которая поможет нам улучшить Delta Chat. Спасибо!</string>
<!-- Emoji picker and categories -->
<string name="emoji_search_results">Результаты поиска</string>
@@ -1023,11 +1031,15 @@
<string name="qrshow_join_contact_hint">Отсканируйте, чтобы начать чат с %1$s</string>
<string name="qrshow_join_contact_no_connection_toast">Нет соединения с интернетом, невозможно выполнить настройку QR-кода.</string>
<string name="qraccount_ask_create_and_login">Создать новый профиль на \"%1$s\" и авторизоваться?</string>
<!-- deprecated, use confirm_add_transport when scanning such a QR code from the main scanner -->
<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="qraccount_qr_code_cannot_be_used">Отсканированный QR-код не может быть использован для создания нового профиля.</string>
<!-- the placeholder will be replaced by the address of the profile -->
<string name="qrlogin_ask_login">Авторизоваться в \"%1$s\"?</string>
<!-- deprecated, use confirm_add_transport when scanning such a QR code from the main scanner -->
<string name="qrlogin_ask_login_another">Авторизоваться в \"%1$s\"?\n\nВаш существующий профиль не будет удалён. Используйте меню \"Сменить профиль\", чтобы переключаться между профилями.</string>
<!-- first placeholder will be replaced by name of the inviter, second placeholder will be replaced by the name of the inviter. -->
<string name="secure_join_started">%1$s приглашает вас в группу.\n\nОжидаем ответ от %2$s…</string>
<!-- first placeholder will be replaced by name of the inviter, second placeholder will be replaced by the name of the inviter. -->
+4
View File
@@ -40,6 +40,10 @@
<string name="profile">Profilu</string>
<string name="main_menu">Menù printzipale</string>
<string name="start_chat">Faghe incumintzare una tzarrada</string>
<!-- deprecated, UI must not offer an option to show the password -->
<string name="show_password">Ammustra sa crae de intrada</string>
<!-- deprecated, UI must not offer an option to show the password -->
<string name="hide_password">Cua sa crae de intrada</string>
<string name="not_now">Como nono</string>
<string name="never">Mai</string>
<string name="one_moment">Unu momentu...</string>
+22 -1
View File
@@ -78,6 +78,10 @@
<string name="always">Vždy</string>
<string name="once">Raz</string>
<string name="show_warning">Zobraziť varovanie</string>
<!-- deprecated, UI must not offer an option to show the password -->
<string name="show_password">Ukáž heslo</string>
<!-- deprecated, UI must not offer an option to show the password -->
<string name="hide_password">Skryť heslo</string>
<string name="not_now">Teraz nie</string>
<string name="never">Nikdy</string>
<string name="one_moment">Moment...</string>
@@ -384,6 +388,13 @@
<item quantity="many">Odstrániť %d správ zo všetkých vašich zariadení?</item>
<item quantity="other">Odstrániť %d správ zo všetkých vašich zariadení?</item>
</plurals>
<!-- deprecated, use ask_delete_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>
<item quantity="many">Odstrániť %d správy?</item>
<item quantity="other">Odstrániť %d správy?</item>
</plurals>
<string name="ask_forward">Preposielať správy na %1$s?</string>
<string name="ask_forward_multiple">Preposielať správy do %1$d konverzácií?</string>
<string name="ask_export_attachment">Exportovať prílohu? Exportovanie príloh umožní prístup k nim všetkým ďalším aplikáciám na vašom zariadení.\n\nChcete pokračovať?</string>
@@ -456,6 +467,8 @@
<!-- mailing lists -->
<string name="mailing_list">Zoznam adries</string>
<!-- deprecated -->
<string name="mailing_list_profile_info">Zmeny v zozname adries a obrázku sa vzťahujú iba na toto zariadenie.</string>
<!-- webxdc -->
<!-- "Start..." button for an app -->
@@ -546,7 +559,7 @@ Ak chcete pokračovať, aktualizujte toto zariadenie na najnovšiu verziu Delta
<string name="incoming_messages">Prichádzajúce Správy</string>
<!-- Headline for the "Outbox" eg. in the "Connectivity" view -->
<string name="outgoing_messages">Odchádzajúce Správy</string>
<!-- deprecated -->
<!-- Headline in the "Connectivity" view. Placeholder will be replaced by a domain -->
<string name="storage_on_domain">Dáta o %1$s</string>
<string name="connectivity">Pripojenie</string>
<!-- Shown in the title bar if the app is "Not connected"; prefer short strings. -->
@@ -890,10 +903,18 @@ Ak chcete pokračovať, aktualizujte toto zariadenie na najnovšiu verziu Delta
<string name="qrshow_join_contact_hint">Naskenujte a vytvorte kontakt s %1$s .</string>
<string name="qrshow_join_contact_no_connection_toast">Nie je pripojenie na internet, nedá sa nastaviť kód QR.</string>
<string name="qraccount_ask_create_and_login">Vytvoriť nový účet na „%1$s“ a prihlásiť sa?</string>
<!-- deprecated, use confirm_add_transport when scanning such a QR code from the main scanner -->
<string name="qraccount_ask_create_and_login_another">Vytvoriť nový účet na „%1$s“ a prihlásiť sa?
Váš existujúci účet nebude odstránený. Medzi účtami môžete prepínať pomocou „Prepnúť účet“.</string>
<string name="please_enter_name">Prosím, zadajte meno.</string>
<string name="qraccount_qr_code_cannot_be_used">Naskenovaný QR kód nie je možné použiť na založenie nového účtu.</string>
<!-- the placeholder will be replaced by the address of the profile -->
<string name="qrlogin_ask_login">Prihlásiť sa na \"%1$s\"?</string>
<!-- deprecated, use confirm_add_transport when scanning such a QR code from the main scanner -->
<string name="qrlogin_ask_login_another">Prihlásiť sa do „%1$s“?
Váš existujúci účet nebude odstránený. Medzi účtami môžete prepínať pomocou „Prepnúť účet“.</string>
<!-- first placeholder will be replaced by name of the inviter, second placeholder will be replaced by the name of the inviter. -->
<string name="secure_join_started">%1$s vás pozval, aby ste sa pripojili k tejto skupine.\n\nČaká sa na odpoveď zo zariadenia používateľa %2$s...</string>
<!-- placeholder will be replaced by the name of the inviter. -->
+17 -7
View File
@@ -80,6 +80,10 @@
<string name="always_load_remote_images">Ngarko Përherë Figura të Largëta</string>
<string name="once">Vetëm një herë</string>
<string name="show_warning">Shfaq Sinjalizim</string>
<!-- deprecated, UI must not offer an option to show the password -->
<string name="show_password">Shfaqe Fjalëkalimin</string>
<!-- deprecated, UI must not offer an option to show the password -->
<string name="hide_password">Fshihe Fjalëkalimin</string>
<string name="not_now">Jo tani</string>
<string name="never">Kurrë</string>
<string name="one_moment">Një çast…</string>
@@ -401,6 +405,11 @@
<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 -->
<plurals name="ask_delete_messages_simple">
<item quantity="one">Të fshihet %d mesazh?</item>
<item quantity="other">Të fshihen %d mesazhe?</item>
</plurals>
<string name="ask_forward">Të përcillen mesazhet te %1$s?</string>
<string name="ask_forward_multiple">Të përcillen mesazhet te %1$d fjalosje?</string>
<string name="ask_export_attachment">Eksportimi i bashkëngjitjeve do t\u lejojë aplikacioneve të tjerë në pajisjen tuaj t\i përdorin ato.\n\nTë vazhdohet?</string>
@@ -470,6 +479,8 @@
<!-- mailing lists -->
<string name="mailing_list">Listë Postimesh</string>
<!-- deprecated -->
<string name="mailing_list_profile_info">Ndryshime në emër dhe figurë liste postimesh aplikohen vetëm në këtë pajisje.</string>
<!-- webxdc -->
<!-- "Start..." button for an app -->
@@ -571,7 +582,7 @@
<string name="incoming_messages">Mesazhe të Marrë</string>
<!-- Headline for the "Outbox" eg. in the "Connectivity" view -->
<string name="outgoing_messages">Mesazhe të Dërguar</string>
<!-- deprecated -->
<!-- Headline in the "Connectivity" view. Placeholder will be replaced by a domain -->
<string name="storage_on_domain">Depozitim në %1$s</string>
<string name="connectivity">Aftësi lidhjeje</string>
<!-- Shown in the title bar if the app is "Not connected"; prefer short strings. -->
@@ -807,14 +818,9 @@
<string name="disable_imap_idle">Çaktivizo IMAP IDLE</string>
<string name="disable_imap_idle_explain">Mos e përdor zgjerimin IMAP IDLE, edhe kur shërbyesi e mbulon. Aktivizimi i kësaj mundësie do të vonojë marrjen e mesazheve, aktivizojeni vetëm për testime.</string>
<string name="send_stats_to_devs">Dërgojuni zhvilluesve të Delta Chat-it statistika</string>
<string name="stats_device_message">Doni të ndihmoni të përmirësohet Delta Chat-i dhe të mbështetni kërkimin duke dërguar statistika javore anonime përdorimi?\n\n👉 Prekni këtu… 👈</string>
<string name="stats_confirmation_dialog">Doni të ndihmoni të përmirësohet Delta Chat-i dhe të mbështetni kërkimin duke dërguar statistika javore anonime përdorimi?</string>
<string name="stats_thanks">Faleminderit! Mundeni përherë të çaktivizoni dërgimin, që nga Rregullime -> Të mëtejshme.\n\nA keni dhe 5 minuta që të merrni pjesë në një studim shkencor rreth sigurisë së Delta Chat-it?</string>
<string name="stats_disable_dialog">Dërgimi i statistikave është tashmë i aktivizuar.\n\nDoni të çaktivizohet?</string>
<string name="disable">Çaktivizoje</string>
<string name="stats_keep_sending">Vazhdo ti dërgosh</string>
<string name="stats_msg_body">Bashkëngjitja përmban statistika anonime përdorimi, që na ndihmojnë të përmirësojmë Delta Chat-in. Faleminderit!</string>
<!-- Emoji picker and categories -->
<string name="emoji_search_results">Përfundime Kërkimi</string>
<string name="emoji_not_found">Su gjetën emoji</string>
@@ -983,11 +989,15 @@
<string name="qrshow_join_contact_hint">Që të bisedoni me %1$s, skanojeni</string>
<string name="qrshow_join_contact_no_connection_toast">S\ka lidhje në internet, s\bëhet dot ujdisja e kodit QR.</string>
<string name="qraccount_ask_create_and_login">Të krijohet profil i ri te “%1$s” dhe të bëhet hyrja atje?</string>
<!-- deprecated, use confirm_add_transport when scanning such a QR code from the main scanner -->
<string name="qraccount_ask_create_and_login_another">Të krijohet profil i ri në “%1$s” dhe të bëhet hyrja atje?\n\nProfili juaj ekzistues sdo të fshihet. Që të kaloni nga një profil në tjetrin, përdorni zërin “Ndërroni Profil”.</string>
<string name="set_name_and_avatar_explain">Caktoni një emër, që kontaktet tuaj do ta njohin. Mundeni edhe të caktoni një emër profili.</string>
<string name="please_enter_name">Ju lutemi, jepni një emër.</string>
<string name="qraccount_qr_code_cannot_be_used">Kodi QR i skanuar smund të përdoret për të ujdisur një profil të ri.</string>
<!-- the placeholder will be replaced by the address of the profile -->
<string name="qrlogin_ask_login">Të hyhet si “%1$s”?</string>
<!-- deprecated, use confirm_add_transport when scanning such a QR code from the main scanner -->
<string name="qrlogin_ask_login_another">Të hyhet si “%1$s”?\n\nProfili juaj ekzistues sdo të fshihet. Që të kaloni nga një profil i juaji në një tjetër, përdorni zërin “Ndërroni Profil”.</string>
<!-- first placeholder will be replaced by name of the inviter, second placeholder will be replaced by the name of the inviter. -->
<string name="secure_join_started">%1$s ju ftoi të bëheni pjesë e këtij grupi.\n\nPo pritet për pajisjen e %2$s që të përgjigjet…</string>
<!-- first placeholder will be replaced by name of the inviter, second placeholder will be replaced by the name of the inviter. -->
+17 -1
View File
@@ -71,6 +71,10 @@
<string name="always_load_remote_images">Увек учитај слике са сервера</string>
<string name="once">Само једном</string>
<string name="show_warning">Прикажи упозорење</string>
<!-- deprecated, UI must not offer an option to show the password -->
<string name="show_password">Прикажи лозинку</string>
<!-- deprecated, UI must not offer an option to show the password -->
<string name="hide_password">Сакри лозинку</string>
<string name="not_now">Не сада</string>
<string name="never">Никад</string>
<string name="one_moment">Тренутак...</string>
@@ -324,6 +328,12 @@
<item quantity="few">Да ли желите да избришите %d поруке?</item>
<item quantity="other">Да ли желите да избришите %d поруке?</item>
</plurals>
<!-- deprecated, use ask_delete_messages -->
<plurals name="ask_delete_messages_simple">
<item quantity="one">Да ли желите да избришите %d поруку?</item>
<item quantity="few">Да ли желите да избришите %d поруке?</item>
<item quantity="other">Да ли желите да избришите %d поруке?</item>
</plurals>
<string name="ask_forward">Да ли желите да проследите поруке %1$s?</string>
<string name="ask_forward_multiple">Да ли желите да проследим поруке за %1$dћаскања?</string>
<string name="ask_export_attachment">Извоз прилога ће омогућити другим апликацијама на вашем уређају да им приступе.\n\nДа ли желите ли да наставите?</string>
@@ -393,6 +403,8 @@
<!-- mailing lists -->
<string name="mailing_list">Списак имејл адреса</string>
<!-- deprecated -->
<string name="mailing_list_profile_info">Промене имена и слике са листе за слање примењују се само на овом уређају.</string>
<!-- webxdc -->
<!-- "Start..." button for an app -->
@@ -453,7 +465,7 @@
<string name="incoming_messages">Долазеће поруке</string>
<!-- Headline for the "Outbox" eg. in the "Connectivity" view -->
<string name="outgoing_messages">Одлазеће поруке</string>
<!-- deprecated -->
<!-- Headline in the "Connectivity" view. Placeholder will be replaced by a domain -->
<string name="storage_on_domain">Складиштење на %1$s</string>
<string name="connectivity">Повезаност</string>
<!-- Shown in the title bar if the app is "Not connected"; prefer short strings. -->
@@ -745,9 +757,13 @@
<string name="qrshow_join_contact_hint">Очитај да ћаскате са %1$s</string>
<string name="qrshow_join_contact_no_connection_toast">Нисте повезани на интернет, није могуће подесити бар-кôд.</string>
<string name="qraccount_ask_create_and_login">Направите нову е-адресу на „%1$s“ и приступите јој тамо?</string>
<!-- deprecated, use confirm_add_transport when scanning such a QR code from the main scanner -->
<string name="qraccount_ask_create_and_login_another">Направите нову е-адресу на „%1$s“ и приступите јој тамо?\n\nВаш постојећи налог неће бити избрисан. Користите „Промени налог“ да пређете са једног налога на други.</string>
<string name="qraccount_qr_code_cannot_be_used">Очитани бар-кôд не може бити коришћен да подеси нови налог.</string>
<!-- the placeholder will be replaced by the address of the profile -->
<string name="qrlogin_ask_login">Пријави се у „%1$s“?</string>
<!-- deprecated, use confirm_add_transport when scanning such a QR code from the main scanner -->
<string name="qrlogin_ask_login_another">Пријави се у „%1$s“? Ваш постојећи налог неће бити избрисан. Користите „Промени налог“ опцију да прелазите са једног на други налог.</string>
<!-- first placeholder will be replaced by name of the inviter, second placeholder will be replaced by the name of the inviter. -->
<string name="secure_join_started">%1$sвас је позвао да се придружите групи.\n\nЧекамо да уређај од %2$sодговори...</string>
<!-- placeholder will be replaced by the name of the inviter. -->
+16 -1
View File
@@ -66,6 +66,10 @@
<string name="always_load_remote_images">Läs alltid in fjärrbilder</string>
<string name="once">en gång</string>
<string name="show_warning">Visa varning</string>
<!-- deprecated, UI must not offer an option to show the password -->
<string name="show_password">Visa lösenord</string>
<!-- deprecated, UI must not offer an option to show the password -->
<string name="hide_password">Dölj lösenord</string>
<string name="not_now">Inte nu</string>
<string name="never">Aldrig</string>
<string name="one_moment">Ett ögonblick...</string>
@@ -310,6 +314,11 @@
<item quantity="one">Vill du ta bort %d meddelande?</item>
<item quantity="other">Vill du ta bort %d meddelanden?</item>
</plurals>
<!-- deprecated, use ask_delete_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>
</plurals>
<string name="ask_forward">Vidarebefordra meddelanden till %1$s?</string>
<string name="ask_forward_multiple">Vill du vidarebefordra meddelanden till %1$d chattar?</string>
<string name="ask_export_attachment">Exportera bilagor? Exporterade bilagor tillåter andra appar på din enhet att komma åt dem.\n\nVill du fortsätta?</string>
@@ -374,6 +383,8 @@
<!-- mailing lists -->
<string name="mailing_list">Mejllista</string>
<!-- deprecated -->
<string name="mailing_list_profile_info">Ändringar av namn och på e-postlistan bild, gäller endast för den här enheten.</string>
<!-- webxdc -->
<!-- "Start..." button for an app -->
@@ -465,7 +476,7 @@
<string name="incoming_messages">Inkommande meddelanden</string>
<!-- Headline for the "Outbox" eg. in the "Connectivity" view -->
<string name="outgoing_messages">Utgående meddelanden</string>
<!-- deprecated -->
<!-- Headline in the "Connectivity" view. Placeholder will be replaced by a domain -->
<string name="storage_on_domain">Lagring på %1$s</string>
<string name="connectivity">Anslutning</string>
<!-- Shown in the title bar if the app is "Not connected"; prefer short strings. -->
@@ -812,11 +823,15 @@
<string name="qrshow_join_contact_hint">Skanna det här för att få kontakt med %1$s.</string>
<string name="qrshow_join_contact_no_connection_toast">Ingen internetanslutning, kan inte utföra QR-kod-inställning.</string>
<string name="qraccount_ask_create_and_login">Skapa ny e-postadress på \"%1$s\" och logga in där?</string>
<!-- deprecated, use confirm_add_transport when scanning such a QR code from the main scanner -->
<string name="qraccount_ask_create_and_login_another">Vill du skapa en ny e-postadress på \"%1$s\" och logga in där?\n\nDitt befintliga konto kommer inte att tas bort. Använd \"Byt konto\" för att växla mellan dina konton.</string>
<string name="set_name_and_avatar_explain">Ange ett namn som dina kontakter kommer att känna igen. Du kan också ange en profilbild.</string>
<string name="please_enter_name">Ange ett namn.</string>
<string name="qraccount_qr_code_cannot_be_used">Den skannade QR-koden kan inte användas för att konfigurera ett nytt konto.</string>
<!-- the placeholder will be replaced by the address of the profile -->
<string name="qrlogin_ask_login">Vill du logga in på \"%1$s\"?</string>
<!-- deprecated, use confirm_add_transport when scanning such a QR code from the main scanner -->
<string name="qrlogin_ask_login_another">Vill du logga in på \"%1$s\"?\n\nDin befintliga profil kommer inte att raderas. Använd alternativet \"Byt profil\" för att växla mellan dina profiler.</string>
<!-- first placeholder will be replaced by name of the inviter, second placeholder will be replaced by the name of the inviter. -->
<string name="secure_join_started">%1$s bjöd in dig att gå med i den här gruppen.\n\nVäntar på att enheten hos %2$s ska svara...</string>
<!-- placeholder will be replaced by the name of the inviter. -->
+23 -13
View File
@@ -81,6 +81,10 @@
<string name="always_load_remote_images">Her Zaman Uzak Görselleri Yükle</string>
<string name="once">Bir kez</string>
<string name="show_warning">Uyarı Göster</string>
<!-- deprecated, UI must not offer an option to show the password -->
<string name="show_password">Parolayı Göster</string>
<!-- deprecated, UI must not offer an option to show the password -->
<string name="hide_password">Parolayı Gizle</string>
<string name="not_now">Şimdi değil</string>
<string name="never">Hiçbir zaman</string>
<string name="one_moment">Bir dakika…</string>
@@ -396,12 +400,17 @@
<!-- confirmation for leaving groups or channels. If a subject is needed, "Are you sure you want to leave the chat?" would work as well -->
<string name="ask_leave_group">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_message">Bu ileti 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 -->
<plurals name="ask_delete_messages_simple">
<item quantity="one">%d ileti silinsin mi?</item>
<item quantity="other">%d ileti silinsin mi?</item>
</plurals>
@@ -474,6 +483,8 @@
<!-- mailing lists -->
<string name="mailing_list">Posta Listesi</string>
<!-- deprecated -->
<string name="mailing_list_profile_info">Posta listesi adındaki ve görselindeki değişiklikler yalnızca bu aygıtta uygulanır.</string>
<!-- webxdc -->
<!-- "Start..." button for an app -->
@@ -576,7 +587,7 @@
<string name="incoming_messages">Gelen İletiler</string>
<!-- Headline for the "Outbox" eg. in the "Connectivity" view -->
<string name="outgoing_messages">Giden İletiler</string>
<!-- deprecated -->
<!-- Headline in the "Connectivity" view. Placeholder will be replaced by a domain -->
<string name="storage_on_domain">%1$s Üzerinde Depolama</string>
<string name="connectivity">Bağlanabilirlik</string>
<!-- Shown in the title bar if the app is "Not connected"; prefer short strings. -->
@@ -813,13 +824,8 @@
<string name="disable_imap_idle">IMAP IDLE\'ı Etkisizleştir</string>
<string name="disable_imap_idle_explain">Sunucu desteklese bile IMAP IDLE uzantısını kullanmayın. Bu seçeneği etkinleştirmek ileti getirmeyi geciktirecek; yalnızca sınama için etkinleştirin.</string>
<string name="send_stats_to_devs">Delta Chat\'in geliştiricilerine istatistikleri gönder</string>
<string name="stats_device_message">Haftalık belirsiz kullanım istatistiklerini göndererek Delta Chat\'i geliştirmeye yardımcı olmak ve araştırmaları desteklemek istiyor musunuz?\n\n👉 Buraya dokunun… 👈</string>
<string name="stats_confirmation_dialog">Haftalık belirsiz kullanım istatistiklerini göndererek Delta Chat\'i geliştirmeye yardımcı olmak ve araştırmaları desteklemek istiyor musunuz?</string>
<string name="stats_thanks">Teşekkür ederiz! Gönderimi “Ayarlar -> Gelişmiş”ten her zaman etkisizleştirebilirsiniz.\n\nEk olarak Delta Chat\'in güvenliği üzerine yapılacak bilimsel bir araştırmaya katılmak için 5 dakikanız var mı?</string>
<string name="stats_disable_dialog">İstatistiklerin gönderimi zaten etkinleştirildi.\n\nOnu etkisizleştirmek istiyor musunuz?</string>
<string name="disable">Etkisizleştir</string>
<string name="stats_keep_sending">Gönderimde tut</string>
<string name="stats_msg_body">İlişik, Delta Chat\'i geliştirmemize yardımcı olan belirsiz kullanım istatistikleri içerir. Daha fazla bilgi için https://delta.chat/help#statssending adresine bakın. Teşekkür ederiz!</string>
<string name="stats_msg_body">İlişik, Delta Chat\'i geliştirmemize yardımcı olan belirsiz kullanım istatistikleri içerir. Teşekkür ederiz!</string>
<!-- Emoji picker and categories -->
<string name="emoji_search_results">Arama Sonuçları</string>
@@ -948,7 +954,7 @@
<string name="devicemsg_self_deleted">“Kaydedilen İletiler” sohbetini sildiniz.\n\n️ “Kaydedilen İletiler” özelliğini yeniden kullanmak için kendinizle yeni bir sohbet oluşturun.</string>
<!-- %1$s will be replaced by the amount of storage already used, sth. as '500 MB'. If you want to use a percentage sign, type in two of them, eg. %1$s %% -->
<string name="devicemsg_storage_exceeding">⚠️ Sağlayıcınızın depolaması dolmak üzere: %1$s%% zaten kullanımda.\n\nDepolama tam dolduğunda iletileri alamayabilirsiniz.\n\n👉 Lütfen sağlayıcınızın web arabiriminden eski verileri silip silemeyeceğinizi denetleyin ve “Ayarlar / Sohbetler / Eski İletileri Sil”i etkinleştirmeyi düşünün. Herhangi bir zamanda şu anki depolama kullanımınızı “Ayarlar / Bağlanabilirlik”ten denetleyebilirsiniz.</string>
<string name="devicemsg_storage_exceeding">⚠️ Sağlayıcınızın depolaması dolmak üzere: %1$s%% zaten kullanımda.\n\nDepolama tam dolduğunda iletileri alamayabilirsiniz.\n\n👉 Lütfen sağlayıcınızın web arabiriminden eski verileri silip silemeyeceğinizi denetleyin ve “Ayarlar / Sohbetler ve Ortamlar / Eski İletileri Sil”i etkinleştirmeyi düşünün. Herhangi bir zamanda şu anki depolama kullanımınızı “Ayarlar / Bağlanabilirlik”ten denetleyebilirsiniz.</string>
<!-- %1%s will be replaced by date and time in some human-readable format -->
<string name="devicemsg_bad_time">⚠️ Aygıtınızdaki tarih ya da saat yanlış görünüyor (%1$s).\n\nİletilerinizin doğru şekilde alınmasını sağlamak için saatinizi ⏰🔧 ayarlayın.</string>
<string name="devicemsg_update_reminder">⚠️ Delta Chat sürümünüz eski olabilir.\n\nBu, sorunlara neden olabilir; çünkü sohbet ortaklarınız daha yeni sürümleri kullanıyor - ve en yeni özellikleri kaybediyorsunuz 😳\nGüncelleştirmeler için lütfen https://get.delta.chat ya da uygulama mağazanızı denetleyin.</string>
@@ -989,11 +995,15 @@
<string name="qrshow_join_contact_hint">%1$s ile sohbet etmek için bunu tarayın</string>
<string name="qrshow_join_contact_no_connection_toast">Internet bağlantısı yok; QR kodu ayarlaması gerçekleştirilemiyor.</string>
<string name="qraccount_ask_create_and_login">“%1$s” üzerinde yeni profil oluşturulsun ve orada giriş yapılsın mı?</string>
<!-- deprecated, use confirm_add_transport when scanning such a QR code from the main scanner -->
<string name="qraccount_ask_create_and_login_another">“%1$s” üzerinde yeni profil oluşturulsun ve orada giriş yapılsın mı?\n\nVarolan profiliniz silinmeyecek. Profilleriniz arasında geçiş yapmak için “Profili Değiştir” öğesini kullanın.</string>
<string name="set_name_and_avatar_explain">Kişilerinizin tanıyacağı bir ad ayarlayın. Bir profil görseli de ayarlayabilirsiniz.</string>
<string name="please_enter_name">Lütfen bir ad girin.</string>
<string name="qraccount_qr_code_cannot_be_used">Taranan QR kodu, yeni bir profil ayarlamak için kullanılamıyor.</string>
<!-- the placeholder will be replaced by the address of the profile -->
<string name="qrlogin_ask_login">“%1$s” adresine giriş yapılsın mı?</string>
<!-- deprecated, use confirm_add_transport when scanning such a QR code from the main scanner -->
<string name="qrlogin_ask_login_another">“%1$s” adresine giriş yapılsın mı?\n\nVarolan profiliniz silinmeyecek. Profilleriniz arasında geçiş yapmak için “Profili Değiştir” öğesini kullanın.</string>
<!-- first placeholder will be replaced by name of the inviter, second placeholder will be replaced by the name of the inviter. -->
<string name="secure_join_started">%1$s sizi bu gruba katılmaya çağırdı.\n\n%2$s kişisinin aygıtının yanıt vermesi bekleniyor…</string>
<!-- first placeholder will be replaced by name of the inviter, second placeholder will be replaced by the name of the inviter. -->
+19 -1
View File
@@ -81,6 +81,10 @@
<string name="always_load_remote_images">Завжди завантажувати віддалені зображення</string>
<string name="once">Один раз</string>
<string name="show_warning">Показати попередження</string>
<!-- deprecated, UI must not offer an option to show the password -->
<string name="show_password">Показати пароль</string>
<!-- deprecated, UI must not offer an option to show the password -->
<string name="hide_password">Приховати пароль</string>
<string name="not_now">Не зараз</string>
<string name="never">Ніколи</string>
<string name="one_moment">Зачекайте, будь ласка...</string>
@@ -433,6 +437,13 @@
<item quantity="many">¿Видалити %d повідомлень на всіх Ваших пристроях?</item>
<item quantity="other">¿Видалити %d повідомлень на всіх Ваших пристроях?</item>
</plurals>
<!-- deprecated, use ask_delete_messages -->
<plurals name="ask_delete_messages_simple">
<item quantity="one">Видалити %d повідомлення?</item>
<item quantity="few">Видалити %d повідомлення?</item>
<item quantity="many">Видалити %d повідомлень?</item>
<item quantity="other">Видалити %d повідомлень?</item>
</plurals>
<string name="ask_forward">Переслати повідомлення %1$s?</string>
<string name="ask_forward_multiple">Переслати повідомлення в %1$d?</string>
<string name="ask_export_attachment">Якщо експортувати вкладені файли, інші програми на вашому пристрої отримають до них доступ.\n\nПродовжити?</string>
@@ -508,6 +519,8 @@
<!-- mailing lists -->
<string name="mailing_list">Список адресатів</string>
<!-- deprecated -->
<string name="mailing_list_profile_info">Зміни в назві списку розсилки та зображенні стосуються лише цього пристрою.</string>
<!-- webxdc -->
<!-- "Start..." button for an app -->
@@ -610,7 +623,7 @@
<string name="incoming_messages">Вхідні повідомлення</string>
<!-- Headline for the "Outbox" eg. in the "Connectivity" view -->
<string name="outgoing_messages">Вихідні повідомлення</string>
<!-- deprecated -->
<!-- Headline in the "Connectivity" view. Placeholder will be replaced by a domain -->
<string name="storage_on_domain">Сховище на %1$s</string>
<string name="connectivity">Підключення</string>
<!-- Shown in the title bar if the app is "Not connected"; prefer short strings. -->
@@ -849,6 +862,7 @@
<string name="send_stats_to_devs">Надсилати статистику розробникам Delta Chat</string>
<string name="stats_msg_body">У вкладенні міститься анонімна статистика використання, яка допоможе нам покращити Delta Chat. Дякуємо!</string>
<!-- Emoji picker and categories -->
<string name="emoji_search_results">Результати пошуку</string>
<string name="emoji_not_found">Емодзі не знайдено</string>
@@ -1017,11 +1031,15 @@
<string name="qrshow_join_contact_hint">Відскануйте код, щоб спілкуватись з %1$s</string>
<string name="qrshow_join_contact_no_connection_toast">Відсутнє інтернет з\'єднання, не вдалося налаштувати QR-код.</string>
<string name="qraccount_ask_create_and_login">Створити новий профіль на \"%1$s\" і увійти в нього?</string>
<!-- deprecated, use confirm_add_transport when scanning such a QR code from the main scanner -->
<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="qraccount_qr_code_cannot_be_used">Вісканований QR-код не може бути використаний для створення нового профілю.</string>
<!-- the placeholder will be replaced by the address of the profile -->
<string name="qrlogin_ask_login">Увійти до \"%1$s\"?</string>
<!-- deprecated, use confirm_add_transport when scanning such a QR code from the main scanner -->
<string name="qrlogin_ask_login_another">Увійти до \"%1$s\"?\n\nВаш профіль, що вже існує, не буде видалено. Використовуйте \"Перемкнути профіль\" для переключання між профілями.</string>
<!-- first placeholder will be replaced by name of the inviter, second placeholder will be replaced by the name of the inviter. -->
<string name="secure_join_started">%1$s запросив (-ла) Вас приєднатися до цієї групи.\n\nОчікуємо на відповідь від пристрою %2$s…</string>
<!-- first placeholder will be replaced by name of the inviter, second placeholder will be replaced by the name of the inviter. -->
+15 -1
View File
@@ -65,6 +65,10 @@
<string name="always_load_remote_images">Luôn tải hình ảnh từ xa</string>
<string name="once">Một lần</string>
<string name="show_warning">Hiển thị cảnh báo</string>
<!-- deprecated, UI must not offer an option to show the password -->
<string name="show_password">Hiển thị mật khẩu</string>
<!-- deprecated, UI must not offer an option to show the password -->
<string name="hide_password">Ẩn mật khẩu</string>
<string name="not_now">Không phải bây giờ</string>
<string name="never">Không bao giờ</string>
<string name="one_moment">Một lát…</string>
@@ -291,6 +295,10 @@
<plurals name="ask_delete_messages">
<item quantity="other">Xóa %d tin nhắn?</item>
</plurals>
<!-- deprecated, use ask_delete_messages -->
<plurals name="ask_delete_messages_simple">
<item quantity="other">Xóa %d tin nhắn?</item>
</plurals>
<string name="ask_forward">Chuyển tiếp tin nhắn tới %1$s?</string>
<string name="ask_forward_multiple">Chuyển tiếp tin nhắn tới %1$d cuộc trò chuyện?</string>
<string name="ask_export_attachment">Xuất tệp đính kèm sẽ cho phép các ứng dụng khác trên thiết bị của bạn truy cập chúng.\n\nTiếp tục?</string>
@@ -352,6 +360,8 @@
<!-- mailing lists -->
<string name="mailing_list">Danh sách gửi thư</string>
<!-- deprecated -->
<string name="mailing_list_profile_info">Những thay đổi về tên và hình ảnh danh sách gửi thư chỉ áp dụng trên thiết bị này.</string>
<!-- webxdc -->
<!-- "Start..." button for an app -->
@@ -443,7 +453,7 @@
<string name="incoming_messages">Tin nhắn đến</string>
<!-- Headline for the "Outbox" eg. in the "Connectivity" view -->
<string name="outgoing_messages">Tin nhắn đi</string>
<!-- deprecated -->
<!-- Headline in the "Connectivity" view. Placeholder will be replaced by a domain -->
<string name="storage_on_domain">Lưu trữ trên %1$s</string>
<string name="connectivity">Kết nối</string>
<!-- Shown in the title bar if the app is "Not connected"; prefer short strings. -->
@@ -745,9 +755,13 @@
<string name="qrshow_join_contact_hint">Quét để trò chuyện với %1$s</string>
<string name="qrshow_join_contact_no_connection_toast">Không có kết nối internet, không thể thực hiện thiết lập mã QR.</string>
<string name="qraccount_ask_create_and_login">Tạo địa chỉ email mới trên \"%1$s\" và đăng nhập vào đó?</string>
<!-- deprecated, use confirm_add_transport when scanning such a QR code from the main scanner -->
<string name="qraccount_ask_create_and_login_another">Tạo địa chỉ email mới trên \"%1$s\" và đăng nhập vào đó?\n\nTài khoản hiện tại của bạn sẽ không bị xóa. Sử dụng mục \"Chuyển tài khoản\" để chuyển đổi giữa các tài khoản của bạn.</string>
<string name="qraccount_qr_code_cannot_be_used">Mã QR được quét không thể được sử dụng để thiết lập tài khoản mới.</string>
<!-- the placeholder will be replaced by the address of the profile -->
<string name="qrlogin_ask_login">Đăng nhập vào \"%1$s\"?</string>
<!-- deprecated, use confirm_add_transport when scanning such a QR code from the main scanner -->
<string name="qrlogin_ask_login_another">Đăng nhập vào \"%1$s\"?\n\nTài khoản hiện tại của bạn sẽ không bị xóa. Sử dụng mục \"Chuyển tài khoản\" để chuyển đổi giữa các tài khoản của bạn.</string>
<!-- first placeholder will be replaced by name of the inviter, second placeholder will be replaced by the name of the inviter. -->
<string name="secure_join_started">%1$s đã mời bạn tham gia nhóm này.\n\nĐang chờ thiết bị của %2$s trả lời…</string>
<!-- placeholder will be replaced by the name of the inviter. -->
+19 -10
View File
@@ -81,6 +81,10 @@
<string name="always_load_remote_images">始终加载远程图像</string>
<string name="once">仅一次</string>
<string name="show_warning">显示警告</string>
<!-- deprecated, UI must not offer an option to show the password -->
<string name="show_password">显示密码</string>
<!-- deprecated, UI must not offer an option to show the password -->
<string name="hide_password">隐藏密码</string>
<string name="not_now">现在不</string>
<string name="never">从不</string>
<string name="one_moment">稍等片刻…</string>
@@ -391,6 +395,10 @@
<plurals name="ask_delete_messages">
<item quantity="other">删除 %d 条消息?</item>
</plurals>
<!-- deprecated, use ask_delete_messages -->
<plurals name="ask_delete_messages_simple">
<item quantity="other">删除 %d 条消息吗?</item>
</plurals>
<string name="ask_forward">将消息转发给 %1$s</string>
<string name="ask_forward_multiple">转发消息到 %1$d 个聊天?</string>
<string name="ask_export_attachment">导出附件将允许您设备上的其他应用程序访问这些附件。\n\n是否继续?</string>
@@ -457,6 +465,8 @@
<!-- mailing lists -->
<string name="mailing_list">邮件列表</string>
<!-- deprecated -->
<string name="mailing_list_profile_info">邮件列表名称和图像的更改仅适用于此设备。 </string>
<!-- webxdc -->
<!-- "Start..." button for an app -->
@@ -542,7 +552,7 @@
<!-- Shown inside a "QR code card" with very limited space; please formulate the text as short as possible therefore. The placeholder will be replaced by the profile name eg. "Scan to set up second device for Alice" -->
<string name="multidevice_qr_subtitle">扫描此处为 %1$s 设置第二台设备</string>
<string name="multidevice_receiver_title">添加为第二台设备</string>
<string name="multidevice_open_settings_on_other_device">在第一台设备上,启动 Delta Chat转到“设置/添加第二台设备”,然后扫描显示的二维码</string>
<string name="multidevice_open_settings_on_other_device">在第一台设备上,转到“设置/添加第二台设备”扫描显示的二维码</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>
@@ -559,7 +569,7 @@
<string name="incoming_messages">消息接收</string>
<!-- Headline for the "Outbox" eg. in the "Connectivity" view -->
<string name="outgoing_messages">消息发送</string>
<!-- deprecated -->
<!-- Headline in the "Connectivity" view. Placeholder will be replaced by a domain -->
<string name="storage_on_domain">%1$s 上的存储空间</string>
<string name="connectivity">连接</string>
<!-- Shown in the title bar if the app is "Not connected"; prefer short strings. -->
@@ -761,7 +771,7 @@
<string name="pref_imap_folder_warn_disable_defaults">若要更改此选项,请您务必调整服务器以及其他客户端的相应设置。\n\n否则软件可能无法正常工作。</string>
<!-- No need to be literal here, you can also use "Use Multiple Devices", "Support Multiple Devices" or other fitting terms. However, it should fit to the wording or your language at https://delta.chat/help -->
<string name="pref_multidevice">多设备模式</string>
<string name="pref_multidevice_explain">将您的消息与其他设备同步。添加第二设备时自动启用</string>
<string name="pref_multidevice_explain">将您的消息与其他设备同步。添加第二设备时自动启用</string>
<string name="pref_multidevice_change_warn">在多个设备上使用同一账号时,必须启用多设备模式。仅当您已从所有其他设备中移除此账号后,才能禁用此设置。\n\n在多个设备上使用该账号时禁用多设备模式会导致错过消息和其他问题。</string>
<string name="pref_auto_folder_moves">自动移动至 DeltaChat 文件夹</string>
<string name="pref_only_fetch_mvbox_title">只从 DeltaChat 文件夹获取</string>
@@ -796,13 +806,8 @@
<string name="disable_imap_idle">禁用 IMAP IDLE</string>
<string name="disable_imap_idle_explain">即便服务器支持,也不要使用 IMAP IDLE 扩展。启用后会造成消息获取延迟,请仅出于测试目的启用该功能。</string>
<string name="send_stats_to_devs">发送统计数据给 Delta Chat 开发者</string>
<string name="stats_device_message">您是否愿意通过每周发送匿名使用统计数据来帮助改进 Delta Chat 并支持相关研究?\n\n👉 点击此处… 👈</string>
<string name="stats_confirmation_dialog">您是否愿意通过每周发送匿名使用统计数据来帮助改进 Delta Chat 并支持相关研究?</string>
<string name="stats_thanks">谢谢!您随时可以在“设置 -> 高级”中禁用发送功能。\n\n您是否愿意抽出 5 分钟时间参与一项关于 Delta Chat 安全性的科学研究?</string>
<string name="stats_disable_dialog">统计数据发送功能已启用。\n\n是否要禁用此功能?</string>
<string name="disable">禁用</string>
<string name="stats_keep_sending">继续发送</string>
<string name="stats_msg_body">附件包含匿名使用统计数据,这有助于我们改进 Delta Chat。如需了解详情,请访问 https://delta.chat/help#statssending 。谢谢!</string>
<string name="stats_msg_body">附件包含匿名使用统计数据,这些数据将帮助我们改进 Delta Chat。谢谢!</string>
<!-- Emoji picker and categories -->
<string name="emoji_search_results">搜索结果</string>
@@ -972,11 +977,15 @@
<string name="qrshow_join_contact_hint">扫描即可与 %1$s 聊天</string>
<string name="qrshow_join_contact_no_connection_toast">没有互联网连接,无法进行二维码设置。</string>
<string name="qraccount_ask_create_and_login">在“%1$s”创建新的电子邮件地址并登录?</string>
<!-- deprecated, use confirm_add_transport when scanning such a QR code from the main scanner -->
<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="qraccount_qr_code_cannot_be_used">扫描的二维码不能用于创建新账号。</string>
<!-- the placeholder will be replaced by the address of the profile -->
<string name="qrlogin_ask_login">登录 \"%1$s\"吗?</string>
<!-- deprecated, use confirm_add_transport when scanning such a QR code from the main scanner -->
<string name="qrlogin_ask_login_another">是否登录“%1$s”?\n\n不会删除您现有的账号。使用“切换账号”在账号之间切换。</string>
<!-- first placeholder will be replaced by name of the inviter, second placeholder will be replaced by the name of the inviter. -->
<string name="secure_join_started">%1$s 邀请你加入此群组。\n\n等待 %2$s 的设备回复…</string>
<!-- first placeholder will be replaced by name of the inviter, second placeholder will be replaced by the name of the inviter. -->
+15 -1
View File
@@ -81,6 +81,10 @@
<string name="always_load_remote_images">總是載入遠端圖片</string>
<string name="once">僅一次</string>
<string name="show_warning">顯示警告</string>
<!-- deprecated, UI must not offer an option to show the password -->
<string name="show_password">顯示密碼</string>
<!-- deprecated, UI must not offer an option to show the password -->
<string name="hide_password">隱藏密碼</string>
<string name="not_now">現在不要</string>
<string name="never">永遠不要</string>
<string name="one_moment">請稍候⋯</string>
@@ -350,6 +354,10 @@
<plurals name="ask_delete_messages">
<item quantity="other">是否刪除所有裝置上的%d條訊息?</item>
</plurals>
<!-- deprecated, use ask_delete_messages -->
<plurals name="ask_delete_messages_simple">
<item quantity="other">刪除%d則訊息?</item>
</plurals>
<string name="ask_forward">轉發訊息給%1$s</string>
<string name="ask_forward_multiple">轉發訊息到%1$d個聊天?</string>
<string name="ask_export_attachment">要匯出附件嗎?匯出的附件可以用裝置上的其它應用程式打開。\n\n要繼續嗎?</string>
@@ -412,6 +420,8 @@
<!-- mailing lists -->
<string name="mailing_list">郵寄列表</string>
<!-- deprecated -->
<string name="mailing_list_profile_info">郵寄列表名稱和圖片的變更僅適用於此裝置。</string>
<!-- webxdc -->
<!-- "Start..." button for an app -->
@@ -514,7 +524,7 @@
<string name="incoming_messages">傳入訊息</string>
<!-- Headline for the "Outbox" eg. in the "Connectivity" view -->
<string name="outgoing_messages">傳出訊息</string>
<!-- deprecated -->
<!-- Headline in the "Connectivity" view. Placeholder will be replaced by a domain -->
<string name="storage_on_domain">%1$s上的存儲空間</string>
<string name="connectivity">連接狀態</string>
<!-- Shown in the title bar if the app is "Not connected"; prefer short strings. -->
@@ -887,11 +897,15 @@
<string name="qrshow_join_contact_hint">掃描 QRCode 以新增 %1$s</string>
<string name="qrshow_join_contact_no_connection_toast">沒有互聯網連接,無法執行QR碼設置。</string>
<string name="qraccount_ask_create_and_login">在 「%1$s」 上建立賬戶並登入?</string>
<!-- deprecated, use confirm_add_transport when scanning such a QR code from the main scanner -->
<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="qraccount_qr_code_cannot_be_used">掃描的 QR 碼不能用於建立新賬戶。</string>
<!-- the placeholder will be replaced by the address of the profile -->
<string name="qrlogin_ask_login">登入「%1$s」?</string>
<!-- deprecated, use confirm_add_transport when scanning such a QR code from the main scanner -->
<string name="qrlogin_ask_login_another">登入「%1$s」?\n\n您現有的賬戶不會被刪除。使用「切換賬戶」項在您的賬戶之間切換。</string>
<!-- first placeholder will be replaced by name of the inviter, second placeholder will be replaced by the name of the inviter. -->
<string name="secure_join_started">%1$s邀請您加入此群組。\n\n正在等待%2$s裝置的回覆...</string>
<!-- placeholder will be replaced by the name of the inviter. -->
+17 -2
View File
@@ -81,6 +81,10 @@
<string name="always_load_remote_images">Always Load Remote Images</string>
<string name="once">Once</string>
<string name="show_warning">Show Warning</string>
<!-- deprecated, UI must not offer an option to show the password -->
<string name="show_password">Show Password</string>
<!-- deprecated, UI must not offer an option to show the password -->
<string name="hide_password">Hide Password</string>
<string name="not_now">Not now</string>
<string name="never">Never</string>
<string name="one_moment">One moment…</string>
@@ -405,6 +409,11 @@
<item quantity="one">Delete %d message?</item>
<item quantity="other">Delete %d messages?</item>
</plurals>
<!-- deprecated, use ask_delete_messages -->
<plurals name="ask_delete_messages_simple">
<item quantity="one">Delete %d message?</item>
<item quantity="other">Delete %d messages?</item>
</plurals>
<string name="ask_forward">Forward messages to %1$s?</string>
<string name="ask_forward_multiple">Forward messages to %1$d chats?</string>
<string name="ask_export_attachment">Exporting attachments will allow other apps on your device to access them.\n\nContinue?</string>
@@ -474,6 +483,8 @@
<!-- mailing lists -->
<string name="mailing_list">Mailing List</string>
<!-- deprecated -->
<string name="mailing_list_profile_info">Changes to mailing list name and image apply on this device only.</string>
<!-- webxdc -->
<!-- "Start..." button for an app -->
@@ -559,7 +570,7 @@
<!-- Shown inside a "QR code card" with very limited space; please formulate the text as short as possible therefore. The placeholder will be replaced by the profile name eg. "Scan to set up second device for Alice" -->
<string name="multidevice_qr_subtitle">Scan to set up second device for %1$s</string>
<string name="multidevice_receiver_title">Add as Second Device</string>
<string name="multidevice_open_settings_on_other_device">On the first device, start Delta Chat, go to “Settings / Add Second Device“ and scan the code shown there</string>
<string name="multidevice_open_settings_on_other_device">On the first device, go to “Settings / Add Second Device“ and scan the code shown there</string>
<string name="multidevice_receiver_scanning_ask">Copy the profile from the other device to this device?</string>
<string name="multidevice_receiver_needs_update">The profile you want to import is from a newer Delta Chat version.\n\nTo continue setting up second device, please update this device to the latest version of Delta Chat.</string>
<string name="multidevice_abort">Abort setting up second device?</string>
@@ -576,7 +587,7 @@
<string name="incoming_messages">Incoming Messages</string>
<!-- Headline for the "Outbox" eg. in the "Connectivity" view -->
<string name="outgoing_messages">Outgoing Messages</string>
<!-- deprecated -->
<!-- Headline in the "Connectivity" view. Placeholder will be replaced by a domain -->
<string name="storage_on_domain">Storage on %1$s</string>
<string name="connectivity">Connectivity</string>
<!-- Shown in the title bar if the app is "Not connected"; prefer short strings. -->
@@ -989,11 +1000,15 @@
<string name="qrshow_join_contact_hint">Scan to chat with %1$s</string>
<string name="qrshow_join_contact_no_connection_toast">No internet connection, can\'t perform QR code setup.</string>
<string name="qraccount_ask_create_and_login">Create new profile on \"%1$s\" and log in there?</string>
<!-- deprecated, use confirm_add_transport when scanning such a QR code from the main scanner -->
<string name="qraccount_ask_create_and_login_another">Create new profile on \"%1$s\" and log in there?\n\nYour existing profile will not be deleted. Use the \"Switch Profile\" item to switch between your profiles.</string>
<string name="set_name_and_avatar_explain">Set a name that your contacts will recognize. You can also set a profile image.</string>
<string name="please_enter_name">Please enter a name.</string>
<string name="qraccount_qr_code_cannot_be_used">The scanned QR code cannot be used to set up a new profile.</string>
<!-- the placeholder will be replaced by the address of the profile -->
<string name="qrlogin_ask_login">Log into \"%1$s\"?</string>
<!-- deprecated, use confirm_add_transport when scanning such a QR code from the main scanner -->
<string name="qrlogin_ask_login_another">Log into \"%1$s\"?\n\nYour existing profile will not be deleted. Use the \"Switch Profile\" item to switch between your profiles.</string>
<!-- first placeholder will be replaced by name of the inviter, second placeholder will be replaced by the name of the inviter. -->
<string name="secure_join_started">%1$s invited you to join this group.\n\nWaiting for the device of %2$s to reply…</string>
<!-- first placeholder will be replaced by name of the inviter, second placeholder will be replaced by the name of the inviter. -->
+2 -4
View File
@@ -1,13 +1,11 @@
<?xml version="1.0" encoding="utf-8"?>
<paths>
<cache-path name="cache" path="." />
<external-cache-path name="external_cache" path="." />
<external-files-path name="external_files" path="." />
<!-- this is needed for access to the cache dir in SD card -->
<root-path name="external_root" path="/storage/" />
<external-path name="external_pictures" path="Pictures"/>
<external-path name="external_video" path="Movies"/>
<external-path name="external_audio" path="Music"/>
<external-path name="external_download" path="Download"/>
</paths>
</paths>
@@ -36,6 +36,12 @@
android:key="pref_stats_sending"
android:title="@string/send_stats_to_devs" />
<org.thoughtcrime.securesms.components.SwitchPreferenceCompat
android:defaultValue="true"
android:key="pref_webxdc_realtime_enabled"
android:summary="@string/enable_realtime_explain"
android:title="@string/enable_realtime"/>
</PreferenceCategory>
<PreferenceCategory android:key="pref_category_legacy" android:title="Legacy">